declare namespace ej { 
export namespace barcodeGenerator { 

//node_modules/@syncfusion/ej2-barcode-generator/src/barcode/barcode-base.d.ts
/**
 * defines the common methods for the barcode
 */
export  abstract class BarcodeBase {
    abstract validateInput(char: string, characters: string): boolean | string;
    abstract drawImage(canvas: HTMLCanvasElement, options: BaseAttributes[], labelPosition: number, barcodeSize: Rect, endValue: number, textRender: string): void;
    abstract getDrawableSize(margin: MarginModel, widthValue: number, height: number): void;
    height: string | number;
    width: string | number;
    margin: MarginModel;
    displayText: DisplayTextModel;
    value: string;
    foreColor: string;
    type: BarcodeType;
    isSvgMode: boolean;
    alignment: Alignment;
    enableCheckSum: boolean;
    encodingValue: DataMatrixEncoding;
    size: DataMatrixSize;
}
//node_modules/@syncfusion/ej2-barcode-generator/src/barcode/barcode-model.d.ts
/**
 * Interface for a class BarcodeGenerator
 */
export interface BarcodeGeneratorModel extends base.ComponentModel{
    /**
     * Defines the width of the barcode model.
     * ```html
     * <div id='barcode'/>
     * ```
     * ```typescript
     * let barcode: Barcode = new Barcode({
     * width:'1000px', height:'500px' });
     * barcode.appendTo('#barcode');
     * ```
     *
     * @default '100%'
     */
    width?: string | number;
    /**
     * Defines the height of the barcode model.
     * ```html
     * <div id='barcode'/>
     * ```
     * ```typescript
     * let barcode: Barcode = new Barcode({
     * height:'1000px', height:'500px' });
     * barcode.appendTo('#barcode');
     * ```
     *
     * @default '100'
     *
     */
    height?: string | number;
    /**
     * Defines the barcode rendering mode.
     * * SVG - Renders the bar-code objects as SVG elements
     * * Canvas - Renders the bar-code in a canvas
     *
     * @default 'SVG'
     *
     */
    mode?: RenderingMode;
    /**
     * Defines the type of barcode to be rendered.
     *
     * @default 'Code128'
     *
     */
    type?: BarcodeType;
    /**
     * Defines the value of the barcode to be rendered.
     *
     * @default undefined
     *
     */
    value?: string;
    /**
     * Defines the checksum for the barcode.
     *
     * @default 'true'
     *
     */
    enableCheckSum?: boolean;
    /**
     * Defines the text properties for the barcode.
     *
     * @default ''
     *
     */
    displayText?: DisplayTextModel;
    /**
     * Defines the margin properties for the barcode.
     *
     * @default ''
     *
     */
    margin?: MarginModel;
    /**
     * Defines the background color of the barcode.
     *
     * @default 'white'
     *
     */
    backgroundColor?: string;
    /**
     * Defines the forecolor of the barcode.
     *
     * @default 'black'
     *
     */
    foreColor?: string;
    /**
     * Triggers if you enter any invalid character.
     * @event
     */
    invalid?: base.EmitType<Object>;
}
//node_modules/@syncfusion/ej2-barcode-generator/src/barcode/barcode.d.ts
/**
 * Represents the Barcode control
 * ```html
 * <div id='barcode'/>
 * ```
 * ```typescript
 * let barcode$: Barcode = new Barcode({
 * width:'1000px', height:'500px' });
 * barcode.appendTo('#barcode');
 * ```
 */
export  class BarcodeGenerator extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    /**
     * Defines the width of the barcode model.
     * ```html
     * <div id='barcode'/>
     * ```
     * ```typescript
     * let barcode$: Barcode = new Barcode({
     * width:'1000px', height:'500px' });
     * barcode.appendTo('#barcode');
     * ```
     *
     * @default '100%'
     */
    width: string | number;
    /**
     * Defines the height of the barcode model.
     * ```html
     * <div id='barcode'/>
     * ```
     * ```typescript
     * let barcode$: Barcode = new Barcode({
     * height:'1000px', height:'500px' });
     * barcode.appendTo('#barcode');
     * ```
     *
     * @default '100'
     *
     */
    height: string | number;
    /**
     * Defines the barcode rendering mode.
     * * SVG - Renders the bar-code objects as SVG elements
     * * Canvas - Renders the bar-code in a canvas
     *
     * @default 'SVG'
     *
     */
    mode: RenderingMode;
    /**
     * Defines the type of barcode to be rendered.
     *
     * @default 'Code128'
     *
     */
    type: BarcodeType;
    /**
     * Defines the value of the barcode to be rendered.
     *
     * @default undefined
     *
     */
    value: string;
    /**
     * Defines the checksum for the barcode.
     *
     * @default 'true'
     *
     */
    enableCheckSum: boolean;
    /**
     * Defines the text properties for the barcode.
     *
     * @default ''
     *
     */
    displayText: DisplayTextModel;
    /**
     * Defines the margin properties for the barcode.
     *
     * @default ''
     *
     */
    margin: MarginModel;
    /**
     * Defines the background color of the barcode.
     *
     * @default 'white'
     *
     */
    backgroundColor: string;
    /**
     * Defines the forecolor of the barcode.
     *
     * @default 'black'
     *
     */
    foreColor: string;
    /**
     * Triggers if you enter any invalid character.
     * @event
     */
    invalid: base.EmitType<Object>;
    /** @private */
    localeObj: base.L10n;
    /** @private */
    private defaultLocale;
    private barcodeCanvas;
    private barcodeRenderer;
    /**
     * Constructor for creating the widget
     *
     * @param {BarcodeGeneratorModel} options The barcode model.
     * @param {HTMLElement | string} element The barcode element.
     */
    constructor(options?: BarcodeGeneratorModel, element?: HTMLElement | string);
    private triggerEvent;
    onPropertyChanged(newProp: BarcodeGeneratorModel, oldProp: BarcodeGeneratorModel): void;
    private initialize;
    /**
     * Export the barcode as an image in the specified image type and downloads it in the browser.
     *
     * @returns {void} Export the barcode as an image in the specified image type and downloads it in the browser.
     *  @param {string} filename - Specifies the filename of the barcode image to be download.
     *  @param {BarcodeExportType} exportType - Defines the format of the barcode to be exported
     */
    exportImage(filename: string, exportType: BarcodeExportType): void;
    /**
     * Export the barcode as an image in the specified image type and returns it as base64 string.
     *
     * @returns {string} Export the barcode as an image in the specified image type and returns it as base64 string.
     *  @param {BarcodeExportType} exportType - Defines the format of the barcode to be exported
     */
    exportAsBase64Image(exportType: BarcodeExportType): Promise<string>;
    private renderElements;
    private refreshCanvasBarcode;
    private clearCanvas;
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @returns {string} Get the properties to be maintained in the persisted state.
     */
    getPersistData(): string;
    /**
     * @private
     * @param real
     */
    private getElementSize;
    protected preRender(): void;
    private initializePrivateVariables;
    /**
     * Method to set culture for chart
     */
    private setCulture;
    /**
     * Renders the barcode control with nodes and connectors
     *
     * @returns {void}
     */
    render(): void;
    /**
     * Returns the module name of the barcode
     *
     * @returns {string}  Returns the module name of the barcode
     */
    getModuleName(): string;
    /**
     *To provide the array of modules needed for control rendering
     *
     * @function destroy
     * @returns {base.ModuleDeclaration[]} To provide the array of modules needed for control rendering
     * @private
     */
    requiredModules(): base.ModuleDeclaration[];
    /**
     * It is used to destroy the Barcode component.
     *
     * @function destroy
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-barcode-generator/src/barcode/enum/enum.d.ts
/**
 * Enum
 */
/**
 * Defines the rendering mode of the barcode. They are
 * * SVG
 * * Canvas
 */
export  type RenderingMode = 
/** SVG - Renders the barcode objects as SVG elements */
'SVG' | 
/** Canvas - Renders the barcode in a canvas */
'Canvas';
/**
 * Defines the event of the barcode
 * * BarcodeEvent - Throws when an invalid input was given.
 */
export  enum BarcodeEvent {
    'invalid' = 0
}
/**
 * Defines the text alignment for the text to be rendered in the barcode. The text alignment types are
 * * Left
 * * Right
 * * Center
 */
export  type Alignment = 
/** Left - Align the text to the left side of the barcode element. */
'Left' | 
/** Left - Align the text to the right side of the barcode element. */
'Right' | 
/** Left - Align the text to the center side of the barcode element. */
'Center';
/**
 * Defines the text position for the text to be rendered in the barcode. The text positions are
 * * Bottom
 * * Top
 */
export  type TextPosition = 
/** Bottom - Text will be rendered in the bottom of the barcode element. */
'Bottom' | 
/** Top - Text will be rendered in the top of the barcode element. */
'Top';
/**
 * Defines the quite zone for the Qr Code.
 */
/** @private */
export  enum QuietZone {
    All = 2
}
/**
 * Defines the encoding type for the datamatrix code. They are
 * * Auto
 * * ASCII
 * * ASCIINumeric
 * * Base256
 */
export  type DataMatrixEncoding = 
/** Auto - Encoding type will be automatically assigned for the given input. */
'Auto' | 
/** ASCII - Accept only the ASCII values. */
'ASCII' | 
/** ASCIINumeric - Accept only the ASCII numeric values. */
'ASCIINumeric' | 
/** Base256 -Accept the base256 values */
'Base256';
/**
 * Defines the size for the datamatrix code. The defined size are
 * * Auto
 * * Size10x10
 * * Size12x12
 * * Size14x14
 * * Size16x16
 * * Size18x18
 * * Size20x20
 * * Size22x22
 * * Size24x24
 * * Size26x26
 * * Size32x32
 * * Size36x36
 * * Size40x40
 * * Size44x44
 * * Size48x48
 * * Size52x52
 * * Size64x64
 * * Size72x72
 * * Size80x80
 * * Size88x88
 * * Size96x96
 * * Size104x104
 * * Size120x120
 * * Size132x132
 * * Size144x144
 * * Size8x18
 * * Size8x32
 * * Size12x26
 * * Size12x36
 * * Size16x36
 * * Size16x48
 *
 * @aspNumberEnum
 * @IgnoreSingular
 */
export  enum DataMatrixSize {
    /**
     * modules will be generated automatically.
     */
    Auto = 0,
    /**
     * will generate 10*10 modules.
     */
    Size10x10 = 1,
    /**
     * will generate 12*12 modules.
     */
    Size12x12 = 2,
    /**
     * will generate 14*14 modules.
     */
    Size14x14 = 3,
    /**
     * will generate 16*16 modules.
     */
    Size16x16 = 4,
    /**
     * will generate 18*18 modules.
     */
    Size18x18 = 5,
    /**
     * will generate 20*20 modules.
     */
    Size20x20 = 6,
    /**
     * will generate 22*22 modules.
     */
    Size22x22 = 7,
    /**
     * will generate 24*24 modules.
     */
    Size24x24 = 8,
    /**
     * will generate 26*26 modules.
     */
    Size26x26 = 9,
    /**
     * will generate 32*32 modules.
     */
    Size32x32 = 10,
    /**
     * will generate 32*32 modules.
     */
    Size36x36 = 11,
    /**
     * will generate 40*40 modules.
     */
    Size40x40 = 12,
    /**
     * will generate 44*44 modules.
     */
    Size44x44 = 13,
    /**
     * will generate 48*48 modules.
     */
    Size48x48 = 14,
    /**
     * will generate 52*52 modules.
     */
    Size52x52 = 15,
    /**
     * will generate 64*64 modules.
     */
    Size64x64 = 16,
    /**
     * will generate 72*72 modules.
     */
    Size72x72 = 17,
    /**
     * will generate 80*80 modules.
     */
    Size80x80 = 18,
    /**
     * will generate 88*88 modules.
     */
    Size88x88 = 19,
    /**
     * will generate 96*96 modules.
     */
    Size96x96 = 20,
    /**
     * will generate 104*104 modules.
     */
    Size104x104 = 21,
    /**
     * will generate 120*120 modules.
     */
    Size120x120 = 22,
    /**
     * will generate 132*132 modules.
     */
    Size132x132 = 23,
    /**
     * will generate 144*144 modules.
     */
    Size144x144 = 24,
    /**
     * will generate 8*18 modules.
     */
    Size8x18 = 25,
    /**
     * will generate 8*32 modules.
     */
    Size8x32 = 26,
    /**
     * will generate 12*26 modules.
     */
    Size12x26 = 27,
    /**
     * will generate 12*36 modules.
     */
    Size12x36 = 28,
    /**
     * will generate 16*36 modules.
     */
    Size16x36 = 29,
    /**
     * will generate 16*48 modules.
     */
    Size16x48 = 30
}
/**
 * Defines the type of the barcode to be generated. The barcode types are
 * * Code39
 * * Code128
 * * Code128A
 * * Code128B
 * * Code128C
 * * Codabar
 * * Ean8
 * * Ean13
 * * UpcA
 * * UpcE
 * * Code11
 * * Code93
 * * Code93Extension
 * * Code39Extension
 * * Code32
 */
export  type BarcodeType = 
/** code39 - render the code39 barcode */
'Code39' | 
/** code128 - render the code128 barcode */
'Code128' | 
/** code128A - render the code128A barcode */
'Code128A' | 
/** code128B - render the code128B barcode */
'Code128B' | 
/** code128C - render the code128C barcode */
'Code128C' | 
/** Codabar - render the codabar barcode */
'Codabar' | 
/** Ean8 - render the Ean8 barcode */
'Ean8' | 
/** Ean8 - render the Ean8 barcode */
'Ean13' | 
/** UpcA - render the UpcA barcode */
'UpcA' | 
/** UpcE - render the UpcE barcode */
'UpcE' | 
/** Code11 - render the code11 barcode */
'Code11' | 
/** Code93 - render the code93 barcode */
'Code93' | 
/** Code93Extension - render the Code93Extension barcode */
'Code93Extension' | 
/** Code39EXTD - render the code39EXTD barcode */
'Code39Extension' | 
/** Code32 - render the Code32 barcode */
'Code32';
/**
 * Defines the Qrcode input mode. The QR input modes are
 * * NumericMode
 * * BinaryMode
 * * AlphaNumericMode
 */
export  type QRInputMode = 
/** NumericMode - Changes its mode to numericMode when the given input is numeric. */
'NumericMode' | 
/** BinaryMode - Changes its mode to BinaryMode when the given input is numeric or smaller case or both. */
'BinaryMode' | 
/** AlphaNumericMode - Changes its mode to AlphaNumericMode when the given is numeric or upper case or both. */
'AlphaNumericMode';
/**
 * Defines the Qrcode QRCodeVersion. They are
 * * Auto
 * * Version01
 * * Version02
 * * Version03
 * * Version04
 * * Version05
 * * Version06
 * * Version07
 * * Version08
 * * Version09
 * * Version10
 * * Version11
 * * Version12
 * * Version13
 * * Version14
 * * Version15
 * * Version16
 * * Version17
 * * Version18
 * * Version19
 * * Version20
 * * Version21
 * * Version22
 * * Version23
 * * Version24
 * * Version25
 * * Version26
 * * Version27
 * * Version28
 * * Version29
 * * Version30
 * * Version31
 * * Version32
 * * Version33
 * * Version34
 * * Version35
 * * Version36
 * * Version37
 * * Version38
 * * Version39
 * * Version40
 *
 * @aspNumberEnum
 * @IgnoreSingular
 */
export  enum QRCodeVersion {
    /**
     * Specifies the default version.
     */
    Auto = 0,
    /**
     * Specifies version 1 (21 x 21 modules).
     */
    Version01 = 1,
    /**
     * Specifies version 2 (25 x 25 modules).
     */
    Version02 = 2,
    /**
     * Specifies version 3 (29 x 29 modules).
     */
    Version03 = 3,
    /**
     * Specifies version 4 (33 x 33 modules).
     */
    Version04 = 4,
    /**
     * Specifies version 5 (37 x 37 modules).
     */
    Version05 = 5,
    /**
     * Specifies version 6 (41 x 41 modules).
     */
    Version06 = 6,
    /**
     * Specifies version 7 (45 x 45 modules).
     */
    Version07 = 7,
    /**
     * Specifies version 8 (49 x 49 modules).
     */
    Version08 = 8,
    /**
     * Specifies version 9 (53 x 53 modules).
     */
    Version09 = 9,
    /**
     * Specifies version 10 (57 x 57 modules).
     */
    Version10 = 10,
    /**
     * Specifies version 11 (61 x 61 modules).
     */
    Version11 = 11,
    /**
     * Specifies version 12 (65 x 65 modules).
     */
    Version12 = 12,
    /**
     * Specifies version 13 (69 x 69 modules).
     */
    Version13 = 13,
    /**
     * Specifies version 14 (73 x 73 modules).
     */
    Version14 = 14,
    /**
     * Specifies version 15 (77 x 77 modules).
     */
    Version15 = 15,
    /**
     * Specifies version 17 (85 x 85 modules).
     */
    Version16 = 16,
    /**
     * Specifies version 17 (85 x 85 modules).
     */
    Version17 = 17,
    /**
     * Specifies version 18 (89 x 89 modules).
     */
    Version18 = 18,
    /**
     * Specifies version 19 (93 x 93 modules).
     */
    Version19 = 19,
    /**
     * Specifies version 20 (97 x 97 modules).
     */
    Version20 = 20,
    /**
     * Specifies version 21 (101 x 101 modules).
     */
    Version21 = 21,
    /**
     * Specifies version 22 (105 x 105 modules).
     */
    Version22 = 22,
    /**
     * Specifies version 23 (109 x 109 modules).
     */
    Version23 = 23,
    /**
     * Specifies version 24 (113 x 113 modules).
     */
    Version24 = 24,
    /**
     * Specifies version 25 (117 x 117 modules).
     */
    Version25 = 25,
    /**
     * Specifies version 26 (121 x 121 modules).
     */
    Version26 = 26,
    /**
     * Specifies version 27 (125 x 125 modules).
     */
    Version27 = 27,
    /**
     * Specifies version 28 (129 x 129 modules).
     */
    Version28 = 28,
    /**
     * Specifies version 29 (133 x 133 modules).
     */
    Version29 = 29,
    /**
     * Specifies version 30 (137 x 137 modules).
     */
    Version30 = 30,
    /**
     * Specifies version 31 (141 x 141 modules).
     */
    Version31 = 31,
    /**
     * Specifies version 32 (145 x 145 modules).
     */
    Version32 = 32,
    /**
     * Specifies version 33 (149 x 149 modules).
     */
    Version33 = 33,
    /**
     * Specifies version 34 (153 x 153 modules).
     */
    Version34 = 34,
    /**
     * Specifies version 35 (157 x 157 modules).
     */
    Version35 = 35,
    /**
     * Specifies version 36 (161 x 161 modules).
     */
    Version36 = 36,
    /**
     * Specifies version 37 (165 x 165 modules).
     */
    Version37 = 37,
    /**
     * Specifies version 38 (169 x 169 modules).
     */
    Version38 = 38,
    /**
     * Specifies version 39 (173 x 173 modules).
     */
    Version39 = 39,
    /**
     * Specifies version 40 (177 x 177 modules).
     */
    Version40 = 40
}
/**
 * Indicated the recovery capacity of the qrcode. The default capacity levels are
 * * Low
 * * Medium
 * * Quartile
 * * High
 *
 * @aspNumberEnum
 * @IgnoreSingular
 */
export  enum ErrorCorrectionLevel {
    /**
     * The Recovery capacity is 7%(approx.)
     */
    Low = 7,
    /**
     * The Recovery capacity is 15%(approx.)
     */
    Medium = 15,
    /**
     * The Recovery capacity is 25%(approx.)
     */
    Quartile = 25,
    /**
     * The Recovery capacity is 30%(approx.)
     */
    High = 30
}
/**
 * Defines the format of the barcode to be exported
 * JPG - Barcode will be exported as JPG file.
 * PNG - Barcode will be exported as PNG file.
 *
 * @IgnoreSingular
 */
export  type BarcodeExportType = 
/** Barcode will be exported as JPG file. */
'JPG' | 
/** Barcode will be exported as PNG file */
'PNG';
//node_modules/@syncfusion/ej2-barcode-generator/src/barcode/index.d.ts
/**
 * Barcode component exported items
 */
//node_modules/@syncfusion/ej2-barcode-generator/src/barcode/one-dimension.d.ts
/**
 * onedimension class is used to render all type of one dimensional shapes
 */
export  abstract class OneDimension extends BarcodeBase {
    private getInstance;
    /**
     * Return the drawable size of the rectangle .
     *
     * @returns {Rect} Return the drawable size of the rectangle.
     *  @param {MarginModel} margin - Specifies the filename of the barcode image to be download.
     *  @param {number} w - Specifies the filename of the barcode image to be download.
     *  @param {number} h - Defines the format of the barcode to be exported
     * @private
     */
    getDrawableSize(margin: MarginModel, w: number, h: number): Rect;
    private getBaseAttributes;
    private getBarLineRatio;
    private multipleWidth;
    private barCodeType;
    private checkStartValueCondition;
    private checkEndValueCondition;
    private getDisplayText;
    private checkExtraHeight;
    private getWidthValue;
    /**
     * Returns the module name of the barcode
     *
     * @param {number[] | string[]} code - Returns the code as string or number collection.
     * @param {HTMLElement} canvas - Returns the canvas.
     * @param {string} isUpcE - Returns the UPCE values as string.
     * @returns {void}  Calculate the barcode attribute
     * @private
     */
    calculateBarCodeAttributes(code: number[] | string[], canvas: HTMLElement, isUpcE?: string): void;
    private canIncrementCheck;
    private verticalTextMargin;
    private getAlignmentPosition;
    /**
     *Will draw the image for the barcode .
     *
     * @param {HTMLCanvasElement} canvas  Barcode canvas element.
     * @param {BaseAttributes []} options Barcode attributes .
     * @function drawImage
     * @returns {void} Export the barcode as an image in the specified image type and downloads it in the browser.
     * @memberof Barcode
     * @private
     */
    drawImage(canvas: HTMLCanvasElement, options: BaseAttributes[]): void;
    private updateDisplayTextSize;
    private alignDisplayText;
    private updateOverlappedTextPosition;
    private drawText;
}
//node_modules/@syncfusion/ej2-barcode-generator/src/barcode/one-dimension/codabar.d.ts
/**
 * codabar used to calculate the barcode of type codabar
 */
export  class CodaBar extends OneDimension {
    /**
     * Validate the given input.
     *
     * @returns {string} Validate the given input.
     *  @param {string} char - provide the input values .
     * @private
     */
    validateInput(char: string): string;
    private getCodeValue;
    private appendStartStopCharacters;
    private getPatternCollection;
    /**
     * Draw the barcode SVG.\
     *
     * @returns {void} Draw the barcode SVG .
     *  @param {HTMLElement} canvas - Provide the canvas element .
     * @private
     */
    draw(canvas: HTMLElement): void;
}
//node_modules/@syncfusion/ej2-barcode-generator/src/barcode/one-dimension/code11.d.ts
/**
 * code39 used to calculate the barcode of type 39
 */
export  class Code11 extends OneDimension {
    /**
     * Validate the given input.
     *
     * @returns {string} Validate the given input.
     * @param {string} value - Provide the canvas element .
     * @private
     */
    validateInput(value: string): string;
    /**
     * Validate the given input.
     *
     * @returns {object} Validate the given input.
     * @private
     */
    private getCodeValue;
    private getPatternCollection;
    /**
     * Draw the barcode SVG.\
     *
     * @returns {void} Draw the barcode SVG .
     *  @param {HTMLElement} canvas - Provide the canvas element .
     * @private
     */
    draw(canvas: HTMLElement): void;
}
//node_modules/@syncfusion/ej2-barcode-generator/src/barcode/one-dimension/code128.d.ts
/**
 * code128 used to calculate the barcode of type 128
 */
export  class Code128 extends OneDimension {
    /**
     * Validate the given input.
     *
     * @returns {string} Validate the given input.
     *  @param {string} char - provide the input values .
     * @private
     */
    validateInput(char: string): string;
    private getCodeValue;
    private getBytes;
    private appendStartStopCharacters;
    private check128C;
    private check128A;
    private check128B;
    private clipAB;
    private code128Clip;
    private clipC;
    /**
     * Draw the barcode SVG.\
     *
     * @returns {void} Draw the barcode SVG .
     *  @param {HTMLElement} canvas - Provide the canvas element .
     * @private
     */
    draw(canvas: HTMLElement): void;
    /**
     * Draw the barcode SVG.\
     *
     * @returns {void} Draw the barcode SVG .
     *  @param {HTMLElement} canvas - Provide the canvas element .
     * @private
     */
    code128(canvas: HTMLElement): void;
    private encodeData;
    private swap;
    private encode;
    private correctIndex;
    private getCodes;
}
//node_modules/@syncfusion/ej2-barcode-generator/src/barcode/one-dimension/code128A.d.ts
/**
 * code128A used to calculate the barcode of type 1228A
 */
export  class Code128A extends Code128 {
    /**
     * Validate the given input.
     *
     * @returns {string} Validate the given input.
     * @param {string} char - provide the input values .
     * @private
     */
    validateInput(char: string): string;
    /**
     * Draw the barcode SVG.\
     *
     * @returns {void} Draw the barcode SVG .
     * @param {HTMLElement} canvas - Provide the canvas element .
     * @private
     */
    draw(canvas: HTMLElement): void;
}
//node_modules/@syncfusion/ej2-barcode-generator/src/barcode/one-dimension/code128B.d.ts
/**
 * code128B used to calculate the barcode of type 128
 */
export  class Code128B extends Code128 {
    /**
     * Validate the given input.
     *
     * @returns {string} Validate the given input.
     * @param {string} char - provide the input values .
     * @private
     */
    validateInput(char: string): string;
    /**
     * Draw the barcode SVG.\
     *
     * @returns {void} Draw the barcode SVG .
     * @param {HTMLElement} canvas - Provide the canvas element .
     * @private
     */
    draw(canvas: HTMLElement): void;
}
//node_modules/@syncfusion/ej2-barcode-generator/src/barcode/one-dimension/code128C.d.ts
/**
 * code128C used to calculate the barcode of type 128C barcode
 */
export  class Code128C extends Code128 {
    /**
     * Validate the given input.
     *
     * @returns {string} Validate the given input.
     * @param {string} char - provide the input values .
     * @private
     */
    validateInput(char: string): string;
    /**
     * Draw the barcode SVG.\
     *
     * @returns {void} Draw the barcode SVG .
     * @param {HTMLElement} canvas - Provide the canvas element .
     * @private
     */
    draw(canvas: HTMLElement): void;
}
//node_modules/@syncfusion/ej2-barcode-generator/src/barcode/one-dimension/code32.d.ts
/**
 * code39 used to calculate the barcode of type 39
 */
export  class Code32 extends OneDimension {
    /**
     * Validate the given input.
     *
     * @returns {string} Validate the given input.
     * @param {string} char - Provide the canvas element .
     * @private
     */
    validateInput(char: string): string;
    /**
     * Validate the given input.
     *
     * @returns {object} Validate the given input.
     * @private
     */
    private getCodeValue;
    private getPatternCollection;
    /**
     * Draw the barcode SVG.\
     *
     * @returns {void} Draw the barcode SVG .
     *  @param {HTMLElement} canvas - Provide the canvas element .
     * @private
     */
    draw(canvas: HTMLElement): void;
}
//node_modules/@syncfusion/ej2-barcode-generator/src/barcode/one-dimension/code39.d.ts
/**
 * code39 used to calculate the barcode of type 39
 */
export  class Code39 extends OneDimension {
    /**
     * get the code value.
     *
     * @returns {string[]} return the code value.
     * @private
     */
    private getCodeValue;
    /**
     * Provide the string value.
     *
     * @returns {string} Provide the string value.
     * @private
     */
    private getCharacter;
    /**
     *Check sum method for the code 39 bar code
     *
     * @param {string} char - Provide the canvas element .
     * @param {string} characters - Provide the canvas element .
     * @returns {number}Check sum method for the code 39 bar code
     * @private
     */
    private checkSum;
    /**
     * Validate the given input.
     *
     * @returns {string} Validate the given input.
     * @param {string} char - Provide the canvas element .
     * @private
     */
    validateInput(char: string): string;
    private getPatternCollection;
    private appendStartStopCharacters;
    /**
     * Draw the barcode SVG.\
     *
     * @returns {void} Draw the barcode SVG .
     *  @param {HTMLElement} canvas - Provide the canvas element .
     *  @param {HTMLElement} encodedCharacter - Provide the canvas element .
     * @private
     */
    drawCode39Extension(canvas: HTMLElement, encodedCharacter: string): void;
    /**
     * Draw the barcode SVG.\
     *
     * @returns {void} Draw the barcode SVG .
     *  @param {HTMLElement} canvas - Provide the canvas element .
     *  @param {HTMLElement} encodedCharacter - Provide the canvas element .
     * @private
     */
    draw(canvas: HTMLElement, encodedCharacter?: string): void;
}
//node_modules/@syncfusion/ej2-barcode-generator/src/barcode/one-dimension/code39Extension.d.ts
/**
 * code39 used to calculate the barcode of type 39
 */
export  class Code39Extension extends Code39 {
    private code39ExtensionValues;
    /**
     * Validate the given input.
     *
     * @returns {string} Validate the given input.
     * @param {string} char - Provide the canvas element .
     * @private
     */
    validateInput(char: string): string;
    private checkText;
    private code39Extension;
    /**
     * Draw the barcode SVG.\
     *
     * @returns {void} Draw the barcode SVG .
     *  @param {HTMLElement} canvas - Provide the canvas element .
     * @private
     */
    drawCode39(canvas: HTMLElement): void;
}
//node_modules/@syncfusion/ej2-barcode-generator/src/barcode/one-dimension/code93.d.ts
/**
 * code39 used to calculate the barcode of type 39
 */
export  class Code93 extends OneDimension {
    /**
     * Validate the given input.
     *
     * @returns {string} Validate the given input.
     * @param {string} value - Provide the canvas element .
     * @private
     */
    validateInput(value: string): string;
    private getCharacterWeight;
    /**
     * get the code value.
     *
     * @returns {string[]} return the code value.
     * @private
     */
    private getCodeValue;
    private getPatternCollection;
    private calculateCheckSum;
    /**
     * Draw the barcode SVG.\
     *
     * @returns {void} Draw the barcode SVG .
     *  @param {HTMLElement} canvas - Provide the canvas element .
     * @private
     */
    draw(canvas: HTMLElement): void;
}
//node_modules/@syncfusion/ej2-barcode-generator/src/barcode/one-dimension/code93Extension.d.ts
/**
 * code39 used to calculate the barcode of type 39
 */
export  class Code93Extension extends Code93 {
    /**
     * Validate the given input.
     *
     * @returns {string} Validate the given input.
     * @param {string} text - Provide the canvas element .
     * @private
     */
    validateInput(text: string): string;
    private getValue;
    private barcodeSymbols;
    private getBars;
    private GetExtendedText;
    /**
     * Draw the barcode SVG.\
     *
     * @returns {void} Draw the barcode SVG .
     *  @param {HTMLElement} canvas - Provide the canvas element .
     * @private
     */
    drawCode93(canvas: HTMLElement): void;
    private extendedText;
    private GetCheckSumSymbols;
    private CalculateCheckDigit;
    private getArrayValue;
    private encoding;
}
//node_modules/@syncfusion/ej2-barcode-generator/src/barcode/one-dimension/ean13.d.ts
/**
 * EAN13 class is  used to calculate the barcode of type EAN13 barcode
 */
export  class Ean13 extends OneDimension {
    /**
     * Validate the given input.
     *
     * @returns {string} Validate the given input.
     * @param {string} value - provide the input values .
     * @private
     */
    validateInput(value: string): string;
    private checksumValue;
    private checkSumData;
    private getStructure;
    private getBinaries;
    /**
     * Draw the barcode SVG.\
     *
     * @returns {void} Draw the barcode SVG .
     * @param {HTMLElement} canvas - Provide the canvas element .
     * @private
     */
    draw(canvas: HTMLElement): void;
    private leftValue;
}
//node_modules/@syncfusion/ej2-barcode-generator/src/barcode/one-dimension/ean8.d.ts
/**
 * EAN8 class is  used to calculate the barcode of type EAN8 barcode
 */
export  class Ean8 extends OneDimension {
    /**
     * Validate the given input.
     *
     * @returns {string} Validate the given input.
     * @param {string} value - provide the input values .
     * @private
     */
    validateInput(value: string): string;
    private getCodeValueRight;
    private checkSumData;
    /**
     * Draw the barcode SVG.\
     *
     * @returns {void} Draw the barcode SVG .
     * @param {HTMLElement} canvas - Provide the canvas element .
     * @private
     */
    draw(canvas: HTMLElement): void;
    private leftValue;
}
//node_modules/@syncfusion/ej2-barcode-generator/src/barcode/one-dimension/upcA.d.ts
/**
 * This class is  used to calculate the barcode of type Universal Product Code barcode
 */
export  class UpcA extends OneDimension {
    /**
     * Validate the given input.
     *
     * @returns {string} Validate the given input.
     * @param {string} value - provide the input values .
     * @private
     */
    validateInput(value: string): string;
    private checkSumData;
    private getBinaries;
    /**
     * Draw the barcode SVG.\
     *
     * @returns {void} Draw the barcode SVG .
     * @param {HTMLElement} canvas - Provide the canvas element .
     * @private
     */
    draw(canvas: HTMLElement): void;
    private leftValue;
}
//node_modules/@syncfusion/ej2-barcode-generator/src/barcode/one-dimension/upcE.d.ts
/**
 * This class is  used to calculate the barcode of type Universal Product Code barcode
 */
export  class UpcE extends OneDimension {
    /**
     * Validate the given input.
     *
     * @returns {string} Validate the given input.
     * @param {string} value - provide the input values .
     * @private
     */
    validateInput(value: string): string;
    private checkSum;
    private getStructure;
    private getValue;
    private getExpansion;
    private getUpcValue;
    private getBinaries;
    private encoding;
    /**
     * Draw the barcode SVG.\
     *
     * @returns {void} Draw the barcode SVG .
     * @param {HTMLElement} canvas - Provide the canvas element .
     * @private
     */
    draw(canvas: HTMLElement): void;
}
//node_modules/@syncfusion/ej2-barcode-generator/src/barcode/primitives/displaytext-model.d.ts
/**
 * Interface for a class DisplayText
 */
export interface DisplayTextModel {
    /**
     * Sets the textual description of the barcode.
     *
     * @default ''
     */
    text?: string;
    /**
     * Defines the visibility of the text.
     *
     * @default true
     */
    visibility?: boolean;
    /**
     * Defines the font style of the text
     *
     * @default 'monospace'
     */
    font?: string;
    /**
     * Defines the size of the text.
     *
     * @default 20
     */
    size?: number;
    /**
     * Sets the space to be left between the text and its barcode.
     *
     * @default ''
     */
    margin?: MarginModel;
    /**
     * Defines the horizontal alignment of the text.
     * * Left - Aligns the text at the left
     * * Right - Aligns the text at the Right
     * * Center - Aligns the text at the Center
     *
     * @default 'Center'
     */
    alignment?: Alignment;
    /**
     * Defines the position of the text.
     * * Bottom - Position the text at the Bottom
     * * Top - Position the text at the Top
     *
     * @default 'Bottom'
     */
    position?: TextPosition;
}
//node_modules/@syncfusion/ej2-barcode-generator/src/barcode/primitives/displaytext.d.ts
/**
 * Defines the space to be left between an object and its immediate parent
 */
export  class DisplayText extends base.ChildProperty<DisplayText> {
    /**
     * Sets the textual description of the barcode.
     *
     * @default ''
     */
    text: string;
    /**
     * Defines the visibility of the text.
     *
     * @default true
     */
    visibility: boolean;
    /**
     * Defines the font style of the text
     *
     * @default 'monospace'
     */
    font: string;
    /**
     * Defines the size of the text.
     *
     * @default 20
     */
    size: number;
    /**
     * Sets the space to be left between the text and its barcode.
     *
     * @default ''
     */
    margin: MarginModel;
    /**
     * Defines the horizontal alignment of the text.
     * * Left - Aligns the text at the left
     * * Right - Aligns the text at the Right
     * * Center - Aligns the text at the Center
     *
     * @default 'Center'
     */
    alignment: Alignment;
    /**
     * Defines the position of the text.
     * * Bottom - Position the text at the Bottom
     * * Top - Position the text at the Top
     *
     * @default 'Bottom'
     */
    position: TextPosition;
}
//node_modules/@syncfusion/ej2-barcode-generator/src/barcode/primitives/margin-model.d.ts
/**
 * Interface for a class Margin
 */
export interface MarginModel {
    /**
     * Sets the space to be left from the left side of the immediate parent of an element
     *
     * @default 10
     */
    left?: number;
    /**
     * Sets the space to be left from the right side of the immediate parent of an element
     *
     * @default 10
     */
    right?: number;
    /**
     * Sets the space to be left from the top side of the immediate parent of an element
     *
     * @default 10
     */
    top?: number;
    /**
     * Sets the space to be left from the bottom side of the immediate parent of an element
     *
     * @default 10
     */
    bottom?: number;
}
//node_modules/@syncfusion/ej2-barcode-generator/src/barcode/primitives/margin.d.ts
/**
 * Defines the space to be left between an object and its immediate parent
 */
export  class Margin extends base.ChildProperty<Margin> {
    /**
     * Sets the space to be left from the left side of the immediate parent of an element
     *
     * @default 10
     */
    left: number;
    /**
     * Sets the space to be left from the right side of the immediate parent of an element
     *
     * @default 10
     */
    right: number;
    /**
     * Sets the space to be left from the top side of the immediate parent of an element
     *
     * @default 10
     */
    top: number;
    /**
     * Sets the space to be left from the bottom side of the immediate parent of an element
     *
     * @default 10
     */
    bottom: number;
}
//node_modules/@syncfusion/ej2-barcode-generator/src/barcode/primitives/point-model.d.ts
/**
 * Interface for a class Point
 */
export interface PointModel {
    /**
     * Sets the x-coordinate of a position
     *
     * @default 0
     */
    x?: number;
    /**
     * Sets the y-coordinate of a position
     *
     * @default 0
     */
    y?: number;
}
//node_modules/@syncfusion/ej2-barcode-generator/src/barcode/primitives/point.d.ts
/**
 * Defines and processes coordinates
 */
export  class Point extends base.ChildProperty<Point> {
    /**
     * Sets the x-coordinate of a position
     *
     * @default 0
     */
    x: number;
    /**
     * Sets the y-coordinate of a position
     *
     * @default 0
     */
    y: number;
}
//node_modules/@syncfusion/ej2-barcode-generator/src/barcode/primitives/rect.d.ts
/**
 * Rect defines and processes rectangular regions
 */
export  class Rect {
    /**
     * Sets the x-coordinate of the starting point of a rectangular region
     *
     * @default 0
     */
    x: number;
    /**
     * Sets the y-coordinate of the starting point of a rectangular region
     *
     * @default 0
     */
    y: number;
    /**
     * Sets the width of a rectangular region
     *
     * @default 0
     */
    width: number;
    /**
     * Sets the height of a rectangular region
     *
     * @default 0
     */
    height: number;
    constructor(x?: number, y?: number, width?: number, height?: number);
}
//node_modules/@syncfusion/ej2-barcode-generator/src/barcode/primitives/size.d.ts
/**
 * Size defines and processes the size(width/height) of the objects
 */
export  class Size {
    /**
     * Sets the height of an object
     *
     * @default 0
     */
    height: number;
    /**
     * Sets the width of an object
     *
     * @default 0
     */
    width: number;
    constructor(width?: number, height?: number);
}
//node_modules/@syncfusion/ej2-barcode-generator/src/barcode/rendering/canvas-interface.d.ts
/** @private */
export interface BaseAttributes {
    x: number;
    y: number;
    width: number;
    height: number;
    color: string;
    string?: string;
    stringSize?: number;
    visibility?: boolean;
    fontStyle?: string;
    id?: string;
    strokeColor?: string;
}
/** @private */
export interface EncodingResult {
    checksum: number;
    result: string;
}
/** @private */
export interface PdfDataMatrixSymbolAttribute {
    SymbolRow: number;
    SymbolColumn: number;
    HorizontalDataRegion: number;
    VerticalDataRegion: number;
    DataCodewords: number;
    CorrectionCodewords: number;
    InterleavedBlock: number;
    InterleavedDataBlock: number;
}
/** @private */
export interface Code93ExtendedValues {
    value: string;
    checkDigit: number;
    bars: string;
}
/** @private */
export interface Code93ExtendedArrayAttribute {
    character: string;
    keyword?: string;
    value?: string;
}
/** @private */
export interface ValidateEvent {
    message: string;
}
/** @private */
export  class BarcodeSVGRenderer implements IBarcodeRenderer {
    /**
     * Draw the root element for the barcode.\
     *
     * @returns {HTMLElement} Draw the barcode SVG .
     * @param {Object} attribute - Provide the canvas element .
     * @private
     */
    renderRootElement(attribute: Object): HTMLElement;
    /**
     * Draw the rect for the barcode.\
     *
     * @returns {HTMLElement} Draw the barcode SVG .
     *  @param {Object} canvas - Provide the canvas element .
     *  @param {Object} attribute - Provide the canvas element .
     * @private
     */
    renderRect(canvas: Object, attribute: Object): HTMLElement;
    /**
     * Draw the horizontal line for the barcode.\
     *
     * @returns {HTMLElement} Draw the barcode SVG .
     *  @param {Object} canvas - Provide the canvas element .
     *  @param {Object} attribute - Provide the canvas element .
     * @private
     */
    renderLine(canvas: Object, attribute: Object): HTMLElement;
    /**
     * Draw the text for the barcode.\
     *
     * @returns {HTMLElement} Draw the barcode SVG .
     *  @param {Object} canvas - Provide the canvas element .
     *  @param {Object} attribute - Provide the canvas element .
     * @private
     */
    renderText(canvas: Object, attribute: Object): HTMLElement;
}
//node_modules/@syncfusion/ej2-barcode-generator/src/barcode/rendering/canvas-renderer.d.ts
/**
 * canvas renderer
 */
/** @private */
export  class BarcodeCanvasRenderer implements IBarcodeRenderer {
    /**
     * Get the context value for the canvas.\
     *
     * @returns {CanvasRenderingContext2D} Get the context value for the canvas .
     * @param {HTMLCanvasElement} canvas - Provide the canvas element .
     * @private
     */
    static getContext(canvas: HTMLCanvasElement): CanvasRenderingContext2D;
    /**
     * Draw the root element for the barcode.\
     *
     * @returns {HTMLElement} Draw the barcode SVG .
     * @param {Object} attribute - Provide the canvas element .
     * @param {string} backGroundColor - Provide the canvas element .
     * @param {number} width - Provide the canvas element .
     * @param {number} height - Provide the canvas element .
     * @private
     */
    renderRootElement(attribute: Object, backGroundColor: string, width: number, height: number): HTMLElement;
    /**
     * Draw the rect for the barcode.\
     *
     * @returns {HTMLElement} Draw the barcode SVG .
     *  @param {Object} canvas - Provide the canvas element .
     *  @param {Object} attribute - Provide the canvas element .
     * @private
     */
    renderRect(canvas: HTMLCanvasElement, attribute: BaseAttributes): HTMLElement;
    /**
     * Draw the text for the barcode.\
     *
     * @returns {HTMLElement} Draw the barcode SVG .
     *  @param {Object} canvas - Provide the canvas element .
     *  @param {Object} attribute - Provide the canvas element .
     * @private
     */
    renderText(canvas: HTMLCanvasElement, attribute: BaseAttributes): HTMLElement;
}
//node_modules/@syncfusion/ej2-barcode-generator/src/barcode/rendering/IRenderer.d.ts
/**
 * IRenderer interface
 */
/** @private */
export interface IBarcodeRenderer {
    renderRootElement(attribute: Object, backGroundColor: string, width: number, height: number): HTMLElement;
    renderRect(canvas: HTMLCanvasElement, attribute: Object, isText?: boolean): HTMLElement;
    renderText(canvas: HTMLCanvasElement, attribute: Object): HTMLElement;
}
//node_modules/@syncfusion/ej2-barcode-generator/src/barcode/rendering/renderer.d.ts
/**
 * Renderer
 */
/**
 * Renderer module is used to render basic barcode elements
 */
/** @private */
export  class BarcodeRenderer {
    /**   @private  */
    renderer: IBarcodeRenderer;
    isSvgMode: boolean;
    constructor(name: string, isSvgMode: boolean);
    /**
     * Draw the root element for the barcode.\
     *
     * @returns {HTMLElement} Draw the barcode SVG .
     * @param {Object} attribute - Provide the canvas element .
     * @param {string} backGroundColor - Provide the canvas element .
     * @param {number} width - Provide the canvas element .
     * @param {number} height - Provide the canvas element .
     * @private
     */
    renderRootElement(attribute: Object, backGroundColor: string, width: number, height: number): HTMLElement;
    /**
     * Draw the rect for the barcode.\
     *
     * @returns {HTMLElement} Draw the barcode SVG .
     *  @param {Object} canvas - Provide the canvas element .
     *  @param {Object} attribute - Provide the canvas element .
     * @private
     */
    renderRectElement(canvas: HTMLCanvasElement, attribute: Object): HTMLElement;
    /**
     * Draw the text for the barcode.\
     *
     * @returns {HTMLElement} Draw the barcode SVG .
     *  @param {Object} canvas - Provide the canvas element .
     *  @param {Object} attribute - Provide the canvas element .
     * @private
     */
    renderTextElement(canvas: HTMLCanvasElement, attribute: Object): HTMLElement;
}
//node_modules/@syncfusion/ej2-barcode-generator/src/barcode/rendering/svg-renderer.d.ts
/**
 * svg renderer
 */
/** @private */
export  class BarcodeSVGRenderering implements IBarcodeRenderer {
    /**
     * Draw the root element for the barcode.\
     *
     * @returns {HTMLElement} Draw the barcode SVG .
     * @param {Object} attribute - Provide the canvas element .
     * @param {string} backGroundColor - Provide the canvas element .
     * @private
     */
    renderRootElement(attribute: Object, backGroundColor: string): HTMLElement;
    /**
     * Draw the rect for the barcode.\
     *
     * @returns {HTMLElement} Draw the barcode SVG .
     *  @param {Object} svg - Provide the canvas element .
     *  @param {Object} attribute - Provide the canvas element .
     * @private
     */
    renderRect(svg: HTMLElement, attribute: BaseAttributes): HTMLElement;
    /**
     * Draw the text for the barcode.\
     *
     * @returns {HTMLElement} Draw the barcode SVG .
     *  @param {Object} svg - Provide the canvas element .
     *  @param {Object} attribute - Provide the canvas element .
     * @private
     */
    renderText(svg: HTMLElement, attribute: BaseAttributes): HTMLElement;
}
//node_modules/@syncfusion/ej2-barcode-generator/src/barcode/utility/barcode-util.d.ts
/**
 * Barcode util
 */
/**
 * Draw the root element for the barcode.\
 *
 * @returns {BarcodeRenderer} Draw the barcode SVG .
 * @param {QRCodeGeneratorModel} newProp - Provide the new property element .
 * @param {HTMLElement} barcodeCanvas - Provide the canvas element .
 * @param {RenderingMode} mode - Provide rendering mode .
 * @param {string} id - Provide id for the element .
 * @private
 */
export  function removeChildElements(newProp: QRCodeGeneratorModel | DataMatrixGeneratorModel, barcodeCanvas: HTMLElement, mode: RenderingMode, id: string): BarcodeRenderer;
/**
 * Get the attributes for the barcodes.\
 *
 * @returns {BaseAttributes} Get the attributes for the barcodes .
 * @param {QRCodeGeneratorModel} width - Provide the canvas element .
 * @param {number} height - Provide the height of the  element .
 * @param {number} offSetX - Provide the offset X for the  element .
 * @param {number} offsetY - Provide the offset X for the element .
 * @param {string} color - Provide the color for the element .
 * @param {string} strokeColor - Provide the stroke color for the element .
 * @private
 */
export  function getBaseAttributes(width: number, height: number, offSetX: number, offsetY: number, color: string, strokeColor?: string): BaseAttributes;
/**
 * Clear the canvas element.\
 *
 * @returns {void} Clear the canvas element .
 * @param {QRCodeGenerator} view - Provide the view .
 * @param {HTMLCanvasElement} barcodeCanvas - Provide the canvas element .
 * @private
 */
export  function clearCanvas(view: QRCodeGenerator | DataMatrixGenerator, barcodeCanvas: HTMLCanvasElement): void;
/**
 * Refresh the canvas barcode.\
 *
 * @returns {void} Refresh the canvas barcode .
 * @param {QRCodeGenerator} qrCodeGenerator - Provide the qr code element .
 * @param {HTMLCanvasElement} barcodeCanvas - Provide the canvas element .
 * @private
 */
export  function refreshCanvasBarcode(qrCodeGenerator: QRCodeGenerator | DataMatrixGenerator, barcodeCanvas: HTMLCanvasElement): void;
/**
 * Will download the barode .\
 *
 * @returns {void} Will download the barode as image .
 * @param {QRCodeGenerator} type - Provide the qr code element .
 * @param {HTMLCanvasElement} fileName - Provide the canvas element .
 * @param {HTMLCanvasElement} url - Provide the url string value .
 * @private
 */
export  function triggerDownload(type: string, fileName: string, url: string): void;
/**
 * Will export the barode .\
 *
 * @returns {string} Will download the barode as image .
 * @param {QRCodeGenerator} exportType - Provide the export type .
 * @param {HTMLCanvasElement} fileName - Provide the file name .
 * @param {HTMLCanvasElement} element - Provide the url string value .
 * @param {HTMLCanvasElement} isReturnBase64 - Provide the url string value .
 * @param {HTMLCanvasElement} code - Provide the url string value .
 * @private
 */
export  function exportAsImage(exportType: string, fileName: string, element: Element, isReturnBase64: boolean, code: BarcodeGenerator | QRCodeGenerator | DataMatrixGenerator): Promise<string>;
/**
 * Will export the barode as image.\
 *
 * @returns {string} Will download the barode as image .
 * @param {QRCodeGenerator} type - Provide the export type .
 * @param {HTMLCanvasElement} fileName - Provide the file name .
 * @param {HTMLCanvasElement} element - Provide the url string value .
 * @param {HTMLCanvasElement} isReturnBase64 - Provide the url string value .
 * @param {HTMLCanvasElement} code - Provide the url string value .
 * @private
 */
export  function imageExport(type: string, fileName: string, element: Element, isReturnBase64: boolean, code: BarcodeGenerator | QRCodeGenerator | DataMatrixGenerator): Promise<string>;
//node_modules/@syncfusion/ej2-barcode-generator/src/barcode/utility/dom-util.d.ts
/**
 * DOM util
 */
/**
 *will create the hrml element for the barcode .\
 *
 * @returns {HTMLElement} Will download the barode as image .
 * @param {string} elementType - Provide the element type as string .
 * @param {HTMLCanvasElement} attribute - Provide the object .
 * @private
 */
export  function createHtmlElement(elementType: string, attribute?: Object): HTMLElement;
/**
 *will get the child nodes .\
 *
 * @returns {HTMLElement} will provide the svg element  .
 * @param {string} node - Provide the element type as string .
 * @private
 */
export  function getChildNode(node: SVGElement): SVGElement[] | HTMLCollection;
/**
 *will return the size of the text .\
 *
 * @returns {Size} will provide the svg element  .
 * @param {BaseAttributes} textContent - Provide the base attribtues of the text .
 * @private
 */
export  function measureText(textContent: BaseAttributes): Size;
/**
 *Will assign the attributes .\
 *
 * @returns {void} Will assign the attrbutes  .
 * @param {HTMLElement} element - Provide the element .
 * @param {Object} attributes - Provide the  attribtues  .
 * @private
 */
export  function setAttribute(element: HTMLElement | SVGElement, attributes: Object): void;
/**
 *Will create the required SVG element .\
 *
 * @returns {HTMLElement | SVGElement} Will create the required SVG element  .
 * @param {string} elementType - Provide the element type.
 * @param {Object} attribute - Provide the  attribtues  .
 * @private
 */
export  function createSvgElement(elementType: string, attribute: Object): HTMLElement | SVGElement;
/**
 *Will create measure element .\
 *
 * @returns {void} Will create measure element  .
 * @private
 */
export  function createMeasureElements(): void;
//node_modules/@syncfusion/ej2-barcode-generator/src/datamatrix/datamatrix-model.d.ts
/**
 * Interface for a class DataMatrixGenerator
 */
export interface DataMatrixGeneratorModel extends base.ComponentModel{
    /**
     * Defines encoding type of the DataMatrix.
     *
     * @default 'Auto'
     */
    encoding?: DataMatrixEncoding;
    /**
     * Defines encoding type of the DataMatrix.
     *
     * @default 'Auto'
     */
    size?: DataMatrixSize;
    /**
     * Defines the DataMatrix rendering mode.
     * * SVG - Renders the bar-code objects as SVG elements
     * * Canvas - Renders the bar-code in a canvas
     *
     * @default 'SVG'
     */
    mode?: RenderingMode;
    /**
     * Defines the value of the DataMatrix to be rendered.
     *
     * @default undefined
     */
    value?: string;
    /**
     * Defines the height of the DataMatrix.
     *
     * @default '100%'
     */
    height?: string | number;
    /**
     * Defines the width of the DataMatrix.
     *
     * @default '100%'
     */
    width?: string | number;
    /**
     * Defines the text properties for the DataMatrix.
     *
     * @default ''
     */
    displayText?: DisplayTextModel;
    /**
     * Defines the margin properties for the DataMatrix.
     *
     * @default ''
     */
    margin?: MarginModel;
    /**
     * Defines the background color of the DataMatrix.
     *
     * @default 'white'
     */
    backgroundColor?: string;
    /**
     * Triggers if you enter any invalid character.
     * @event
     */
    invalid?: base.EmitType<Object>;
    /**
     * Defines the forecolor of the DataMatrix.
     *
     * @default 'black'
     */
    foreColor?: string;
    /**
     * Defines the xDimension of the DataMatrix.
     */
    xDimension?: number;
}
//node_modules/@syncfusion/ej2-barcode-generator/src/datamatrix/datamatrix-util.d.ts
/**
 * DataMatrix used to calculate the DataMatrix barcode
 */
export  class DataMatrix {
    /** @private */
    encodingValue: DataMatrixEncoding;
    /** @private */
    height: string | number;
    /** @private */
    width: string | number;
    /** @private */
    margin: MarginModel;
    /** @private */
    displayText: DisplayTextModel;
    /** @private */
    foreColor: string;
    /** @private */
    isSvgMode: boolean;
    /** @private */
    value: string;
    private barcodeRenderer;
    /** @private */
    size: DataMatrixSize;
    private mXDimension;
    private mDataMatrixArray;
    private actualColumns;
    private actualRows;
    /** @private */
    XDimension: number;
    private encodedCodeword;
    private mSymbolAttribute;
    private GetData;
    private fillZero;
    private DataMatrixNumericEncoder;
    private ComputeBase256Codeword;
    private DataMatrixBaseEncoder;
    private copy;
    private DataMatrixEncoder;
    private PrepareDataCodeword;
    private PdfDataMatrixSymbolAttribute;
    private getmSymbolAttributes;
    private PadCodewords;
    private EccProduct;
    /**
     *  Validate the given input to check whether the input is valid one or not.\
     *
     * @returns {boolean | string}  Validate the given input to check whether the input is valid one or not .
     * @param {HTMLElement} char - Provide the canvas element .
     * @param {HTMLElement} characters - Provide the canvas element .
     * @private
     */
    private validateInput;
    private ComputeErrorCorrection;
    private CreateLogArrays;
    private EccSum;
    private EccDoublify;
    private CreateRSPolynomial;
    private PrepareCodeword;
    private copyArray;
    private ecc200placementbit;
    private ecc200placementblock;
    private ecc200placementcornerD;
    private ecc200placementcornerA;
    private ecc200placementcornerB;
    private ecc200placementcornerC;
    private ecc200placement;
    private getActualRows;
    private getActualColumns;
    private AddQuiteZone;
    private drawImage;
    private CreateMatrix;
    private create1DMatrixArray;
    private create2DMartixArray;
    /**
     * Build the datamatrix.\
     *
     * @returns {number[] | string} Build the datamatrix .
     * @private
     */
    BuildDataMatrix(): number[] | string;
    private drawText;
    private getInstance;
    private drawDisplayText;
    private getDrawableSize;
    /**
     * Draw the barcode SVG.\
     *
     * @returns {void} Draw the barcode SVG .
     *  @param {HTMLElement} canvas - Provide the canvas element .
     * @private
     */
    draw(canvas: HTMLElement): void;
}
//node_modules/@syncfusion/ej2-barcode-generator/src/datamatrix/datamatrix.d.ts
/**
 * Represents the Datamatrix control
 * ```
 */
export  class DataMatrixGenerator extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    /**
     * Defines encoding type of the DataMatrix.
     *
     * @default 'Auto'
     */
    encoding: DataMatrixEncoding;
    /**
     * Defines encoding type of the DataMatrix.
     *
     * @default 'Auto'
     */
    size: DataMatrixSize;
    /**
     * Defines the DataMatrix rendering mode.
     * * SVG - Renders the bar-code objects as SVG elements
     * * Canvas - Renders the bar-code in a canvas
     *
     * @default 'SVG'
     */
    mode: RenderingMode;
    /**
     * Defines the value of the DataMatrix to be rendered.
     *
     * @default undefined
     */
    value: string;
    /**
     * Defines the height of the DataMatrix.
     *
     * @default '100%'
     */
    height: string | number;
    /**
     * Defines the width of the DataMatrix.
     *
     * @default '100%'
     */
    width: string | number;
    /**
     * Defines the text properties for the DataMatrix.
     *
     * @default ''
     */
    displayText: DisplayTextModel;
    /**
     * Defines the margin properties for the DataMatrix.
     *
     * @default ''
     */
    margin: MarginModel;
    /**
     * Defines the background color of the DataMatrix.
     *
     * @default 'white'
     */
    backgroundColor: string;
    /**
     * Triggers if you enter any invalid character.
     * @event
     */
    invalid: base.EmitType<Object>;
    /**
     * Defines the forecolor of the DataMatrix.
     *
     * @default 'black'
     */
    foreColor: string;
    /**
     * Defines the xDimension of the DataMatrix.
     */
    xDimension: number;
    /** @private */
    private barcodeRenderer;
    private barcodeCanvas;
    /** @private */
    localeObj: base.L10n;
    /** @private */
    private defaultLocale;
    /**
     * It is used to destroy the Barcode component.
     *
     * @function destroy
     * @returns {void}
     */
    destroy(): void;
    private initializePrivateVariables;
    /**
     * Constructor for creating the widget
     *
     * @param {DataMatrixGeneratorModel} options The barcode model.
     * @param {HTMLElement | string} element The barcode element.
     */
    constructor(options?: DataMatrixGeneratorModel, element?: HTMLElement | string);
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @returns {string} Get the properties to be maintained in the persisted state.
     */
    getPersistData(): string;
    /**
     * Returns the module name of the barcode
     *
     * @returns {string}  Returns the module name of the barcode
     */
    getModuleName(): string;
    private setCulture;
    private getElementSize;
    private initialize;
    private triggerEvent;
    protected preRender(): void;
    onPropertyChanged(newProp: DataMatrixGeneratorModel, oldProp: DataMatrixGeneratorModel): void;
    private checkdata;
    /**
     * Export the barcode as an image in the specified image type and downloads it in the browser.
     *
     * @returns {void} Export the barcode as an image in the specified image type and downloads it in the browser.
     *  @param {string} fileName - Specifies the filename of the barcode image to be download.
     *  @param {BarcodeExportType} exportType - Defines the format of the barcode to be exported
     */
    exportImage(fileName: string, exportType: BarcodeExportType): void;
    /**
     * Export the barcode as an image in the specified image type and returns it as base64 string.
     *
     * @returns {string} Export the barcode as an image in the specified image type and returns it as base64 string.
     *  @param {BarcodeExportType} barcodeExportType - Defines the format of the barcode to be exported
     */
    exportAsBase64Image(barcodeExportType: BarcodeExportType): Promise<string>;
    private renderElements;
    /**
     * Renders the barcode control
     *
     * @returns {void}
     */
    render(): void;
}
//node_modules/@syncfusion/ej2-barcode-generator/src/datamatrix/index.d.ts
/**
 * Datamatrix component exported items
 */
//node_modules/@syncfusion/ej2-barcode-generator/src/index.d.ts
/**
 * Barcode component exported items
 */
//node_modules/@syncfusion/ej2-barcode-generator/src/qrcode/index.d.ts
/**
 * Qrcode component exported items
 */
//node_modules/@syncfusion/ej2-barcode-generator/src/qrcode/qr-barcode-values.d.ts
/**
 * Qrcode used to calculate the Qrcode control
 */
export  class PdfQRBarcodeValues {
    /**
     * Holds the Version Information.
     */
    private mVersion;
    /**
     * Holds the Error Correction Level.
     */
    private mErrorCorrectionLevel;
    /**
     * Holds the Number of Data code word.
     */
    private mNumberOfDataCodeWord;
    /**
     * Holds the Number of Error correcting code words.
     */
    private mNumberOfErrorCorrectingCodeWords;
    /**
     * Holds the Number of Error correction Blocks.
     */
    private mNumberOfErrorCorrectionBlocks;
    /**
     * Holds the End value of the version.
     */
    private mEnd;
    /**
     * Holds the Data copacity of the version.
     */
    private mDataCapacity;
    /**
     * Holds the Format Information.
     */
    private mFormatInformation;
    /**
     * Holds the Version Information.
     */
    private mVersionInformation;
    /**
     * Holds all the values of Error correcting code words.
     */
    private numberOfErrorCorrectingCodeWords;
    /**
     * Hexadecimal values of CP437 characters
     */
    private cp437CharSet;
    /**
     * Hexadecimal values of ISO8859_2 characters
     */
    private iso88592CharSet;
    /**
     * Hexadecimal values of ISO8859_3 characters
     */
    private iso88593CharSet;
    /**
     * Hexadecimal values of ISO8859_4 characters
     */
    private iso88594CharSet;
    /**
     * Hexadecimal values of Windows1250 characters
     */
    private windows1250CharSet;
    /**
     * Hexadecimal values of Windows1251 characters
     */
    private windows1251CharSet;
    /**
     * Hexadecimal values of Windows1252 characters
     */
    private windows1252CharSet;
    /**
     * Hexadecimal values of Windows1256 characters
     */
    private windows1256CharSet;
    /**
     * Equivalent values of CP437 characters
     */
    private cp437ReplaceNumber;
    /**
     * Equivalent values of ISO8859_2 characters
     */
    private iso88592ReplaceNumber;
    /**
     * Equivalent values of ISO8859_3 characters
     */
    private iso88593ReplaceNumber;
    /**
     * Equivalent values of ISO8859_4 characters
     */
    private iso88594ReplaceNumber;
    /**
     * Equivalent values of Windows1250 characters
     */
    private windows1250ReplaceNumber;
    /**
     * Equivalent values of Windows1251 characters
     */
    private windows1251ReplaceNumber;
    /**
     * Equivalent values of Windows1252 characters
     */
    private windows1252ReplaceNumber;
    /**
     * Equivalent values of Windows1256 characters
     */
    private windows1256ReplaceNumber;
    /**
     * Holds all the end values.
     */
    /** @private */
    endValues: number[];
    /**
     * Holds all the Data capacity values.
     */
    /** @private */
    dataCapacityValues: number[];
    /**
     * Holds all  the Numeric Data capacity of the Error correction level Low.
     */
    /** @private */
    numericDataCapacityLow: number[];
    /**
     * Holds all  the Numeric Data capacity of the Error correction level Medium.
     */
    /** @private */
    numericDataCapacityMedium: number[];
    /**
     * Holds all  the Numeric Data capacity of the Error correction level Quartile.
     */
    /** @private */
    numericDataCapacityQuartile: number[];
    /**
     * Holds all  the Numeric Data capacity of the Error correction level High.
     */
    /** @private */
    numericDataCapacityHigh: number[];
    /**
     * Holds all  the Alpha numeric Data capacity of the Error correction level Low.
     */
    /** @private */
    alphanumericDataCapacityLow: number[];
    /**
     * Holds all  the Alpha numeric Data capacity of the Error correction level Medium.
     */
    /** @private */
    alphanumericDataCapacityMedium: number[];
    /**
     * Holds all  the Alpha numeric Data capacity of the Error correction level Quartile.
     */
    /** @private */
    alphanumericDataCapacityQuartile: number[];
    /**
     * Holds all  the Alpha numeric Data capacity of the Error correction level High.
     */
    /** @private */
    alphanumericDataCapacityHigh: number[];
    /**
     * Holds all  the Binary Data capacity of the Error correction level Low.
     */
    /** @private */
    binaryDataCapacityLow: number[];
    /**
     * Holds all  the Binary Data capacity of the Error correction level Medium.
     */
    /** @private */
    binaryDataCapacityMedium: number[];
    /**
     * Holds all  the Binary Data capacity of the Error correction level Quartile.
     */
    /** @private */
    binaryDataCapacityQuartile: number[];
    /**
     * Holds all  the Binary Data capacity of the Error correction level High.
     */
    /** @private */
    binaryDataCapacityHigh: number[];
    /**
     * Holds all  the Mixed Data capacity of the Error correction level Low.
     */
    private mixedDataCapacityLow;
    /**
     * Holds all  the Mixed Data capacity of the Error correction level Medium.
     */
    private mixedDataCapacityMedium;
    /**
     * Holds all  the Mixed Data capacity of the Error correction level Quartile.
     */
    private mixedDataCapacityQuartile;
    /**
     * Holds all  the Mixed Data capacity of the Error correction level High.
     */
    private mixedDataCapacityHigh;
    /**
     *   Get or public set the Number of Data code words.
     *
     * @returns { number} Get or public set the Number of Data code words.
     * @private
     */
    /**
    *   Get or public set the Number of Data code words.
    *
    * @param {number} value -  Get or public set the Number of Data code words.
    * @private
    */
    NumberOfDataCodeWord: number;
    /**
     *   Get or Private set the Number of Error correction Blocks.
     *
     * @returns { number} Get or Private set the Number of Error correction Blocks.
     * @private
     */
    /**
    *  Get or Private set the Number of Error correction code words.
    *
    *  @param {number} value - Get or Private set the Number of Error correction code words.
    * @private
    */
    NumberOfErrorCorrectingCodeWords: number;
    /**
     *   Get or Private set the Number of Error correction Blocks.
     *
     * @returns { number[]}Get or Private set the Number of Error correction Blocks.
     * @private
     */
    /**
    *  set or Private set the Number of Error correction Blocks.
    *
    *  @param {number[]} value - et or Private set the Number of Error correction Blocks.
    * @private
    */
    NumberOfErrorCorrectionBlocks: number[];
    /**
     * Set the End value of the Current Version.
     */
    private End;
    /**
     *   Get or Private set the Data capacity.
     *
     * @returns { number[]}Get or Private set the Data capacity.
     * @private
     */
    /**
    *  Get or Private set the Data capacity.
    *
    *  @param {string} value - Get or Private set the Data capacity.
    * @private
    */
    private DataCapacity;
    /**
     *   Get or Private set the Format Information.
     *
     * @returns { number[]} Get or Private set the Format Information.
     * @private
     */
    /**
    *   Get or Private set the Format Information.
    *
    *  @param {string} value - Get or Private set the Format Information.
    * @private
    */
    FormatInformation: number[];
    /**
     *   Get or Private set the Version Information.
     *
     * @returns { number[]} Validate the given input.
     * @private
     */
    /** @private */
    /**
    *   Get or Private set the Version Information.
    *
    *  @param {string} value - Get or Private set the Version Information.
    * @private
    */
    VersionInformation: number[];
    /**
     * Initializes the values
     *
     * @param version - version of the qr code
     * @param errorCorrectionLevel - defines the level of error correction.
     */
    constructor(version: QRCodeVersion, errorCorrectionLevel: ErrorCorrectionLevel);
    /**
     *   Gets the Alphanumeric values.
     *
     *  @param {string} value - Defines the format of the qrcode to be exported
     * @returns {number}  Gets the Alphanumeric values.
     * @private
     */
    getAlphaNumericValues(value: string): number;
    /**
     * Gets number of data code words.
     */
    private obtainNumberOfDataCodeWord;
    /**
     *  Get number of Error correction code words.
     *
     * @returns {number} Get number of Error correction code words.
     * @private
     */
    private obtainNumberOfErrorCorrectingCodeWords;
    /**
     * Gets number of Error correction Blocks.
     */
    private obtainNumberOfErrorCorrectionBlocks;
    /**
     *  Gets the End of the version.
     *
     * @returns {number} Gets the End of the version.
     * @private
     */
    private obtainEnd;
    /**
     * Gets Data capacity
     *
     * @returns {number} Gets Data capacity
     * @private
     */
    private obtainDataCapacity;
    /**
     * Gets format information
     *
     * @returns {number} Gets format information
     * @private
     */
    private obtainFormatInformation;
    /**
     * Gets version information .
     *
     * @returns {number}Gets version information.
     * @private
     */
    private obtainVersionInformation;
    /**
     * Gets Numeric Data capacity .
     *
     * @returns {number}Gets Numeric Data capacity.
     * @param {QRCodeVersion} version - Provide the version for the QR code
     * @param {ErrorCorrectionLevel} errorCorrectionLevel -provide the error correction level
     * @private
     */
    getNumericDataCapacity(version: QRCodeVersion, errorCorrectionLevel: ErrorCorrectionLevel): number;
    /**
     * Gets Alphanumeric data capacity. .
     *
     * @returns {number}Gets Alphanumeric data capacity..
     * @param {QRCodeVersion} version - Provide the version for the QR code
     * @param {ErrorCorrectionLevel} errorCorrectionLevel -provide the error correction level
     * @private
     */
    getAlphanumericDataCapacity(version: QRCodeVersion, errorCorrectionLevel: ErrorCorrectionLevel): number;
    /**
     * get the binary data capacity .
     *
     * @returns {number} get the binary data capacity.
     * @param {QRCodeVersion} version - Provide the version for the QR code
     * @param {ErrorCorrectionLevel} errorCorrectionLevel -provide the error correction level
     * @private
     */
    getBinaryDataCapacity(version: QRCodeVersion, errorCorrectionLevel: ErrorCorrectionLevel): number;
}
//node_modules/@syncfusion/ej2-barcode-generator/src/qrcode/qr-code-util.d.ts
/**
 * Qrcode used to calculate the Qrcode control
 */
export  class QRCode {
    private mVersion;
    private mInputMode;
    private validInput;
    /**
     * Total bits required in mixing mode.
     */
    private totalBits;
    /**
     * Holds the data of Function Pattern.
     */
    private mModuleValue;
    private mDataAllocationValues;
    private mQrBarcodeValues;
    /**
     * Set version for mixing mode.
     */
    private mixVersionERC;
    /**
     * Data to be currently encoded in Mixing Mode
     */
    private mixExecutablePart;
    /**
     * Count of mixing mode blocks.
     */
    private mixDataCount;
    /**
     * Holds the Number of Modules.
     */
    private mNoOfModules;
    /**
     * Check if User Mentioned Mode
     */
    private mIsUserMentionedMode;
    private chooseDefaultMode;
    /** @private */
    text: string;
    private mixRemainingPart;
    private isXdimension;
    private mXDimension;
    /**
     * Get or Private set the XDimension values.
     *
     * @returns {number}Get or Private set the XDimension values..
     * @private
     */
    /**
    *  Get or Private set the XDimension values.
    *
    * @param {number} value - Get or Private set the XDimension values.
    * @private
    */
    XDimension: number;
    private inputMode;
    /**
     *Get or Private set the version
     *
     * @returns {QRCodeVersion}Get or Private set the version
     * @private
     */
    /**
    *  Get or Private set the version
    *
    * @param {QRCodeVersion} value - Get or Private set the version
    * @private
    */
    version: QRCodeVersion;
    private mIsEci;
    /** @private */
    mIsUserMentionedErrorCorrectionLevel: boolean;
    private isSvgMode;
    private mEciAssignmentNumber;
    /** @private */
    mIsUserMentionedVersion: boolean;
    /** @private */
    mErrorCorrectionLevel: ErrorCorrectionLevel;
    private textList;
    private mode;
    private getBaseAttributes;
    private getInstance;
    private drawImage;
    /**
     * Draw the QR cpde in SVG.\
     *
     * @returns {boolean} Draw the barcode SVG .
     *  @param {HTMLElement} char - Provide the char to render .
     *  @param {HTMLElement} canvas - Provide the canvas element .
     *  @param {HTMLElement} height - Provide the height for the canvas element .
     *  @param {HTMLElement} width - Provide the width for the canvas element .
     *  @param {HTMLElement} margin - Provide the margin for thecanvas element .
     *  @param {HTMLElement} displayText - Provide display text for the canvas element .
     *  @param {HTMLElement} mode - Provide the mode to render .
     *  @param {HTMLElement} foreColor - Provide the color for the barcode to render.
     * @private
     */
    draw(char: string, canvas: HTMLElement, height: number, width: number, margin?: MarginModel, displayText?: DisplayTextModel, mode?: boolean, foreColor?: string): boolean;
    private drawText;
    private drawDisplayText;
    private generateValues;
    /**
     * Draw the PDP in the given location
     *
     * @returns {void} Draw the PDP in the given location.
     * @param {string} x - The x co-ordinate.
     * @param {string} y - The y co-ordinate.
     * @private
     */
    private drawPDP;
    /**
     * Draw the Timing Pattern
     *
     * @returns {void} Draw the PDP in the given location.
     * @private
     */
    private drawTimingPattern;
    private initialize;
    /**
     * Adds quietzone to the QR Barcode..\
     *
     * @returns {void}  Adds quietzone to the QR Barcode. .
     * @private
     */
    private addQuietZone;
    /**
     * Draw the Format Information.\
     *
     * @returns {void} Draw the Format Information .
     * @private
     */
    private drawFormatInformation;
    /**
     * Allocates the Encoded Data and then Mask
     *
     * @param Data - Encoded Data
     */
    private dataAllocationAndMasking;
    /**
     *  Allocates Format and Version Information.\
     *
     * @returns {void}  Allocates Format and Version Information.
     * @private
     */
    private allocateFormatAndVersionInformation;
    /**
     *Draw the Alignment Pattern in the given location.\
     *
     * @returns {void} Draw the Alignment Pattern in the given location .
     *  @param {HTMLElement} x - Provide the canvas element .
     *  @param {HTMLElement} y - Provide the canvas element .
     * @private
     */
    private drawAlignmentPattern;
    /**
     *Gets the Allignment pattern coordinates of the current version.\
     *
     * @returns {number[]}Gets the Allignment pattern coordinates of the current version. .
     * @private
     */
    private getAlignmentPatternCoOrdinates;
    /**
     * Encode the Input Data
     */
    private encodeData;
    /**
     *  Converts string value to Boolean\
     *
     * @returns {boolean[]}  Converts string value to Boolean .
     *  @param {HTMLElement} numberInString - Provide the canvas element .
     *  @param {number} noOfBits - Provide the canvas element .
     * @private
     */
    private stringToBoolArray;
    /**
     *  Converts Integer value to Boolean\
     *
     * @returns {boolean[]}  Converts Integer value to Boolean .
     * @param {HTMLElement} number -The Integer value .
     * @param {number} noOfBits - Number of Bits .
     * @private
     */
    private intToBoolArray;
    /**
     *  Splits the Code words\
     *
     * @returns {boolean[]}  Splits the Code words .
     * @param {HTMLElement} ds -The Encoded value Blocks .
     * @param {number} blk - Index of Block Number .
     * @param {number} count -  Length of the Block .
     * @private
     */
    private splitCodeWord;
    /**
     *  Creates the Blocks\
     *
     * @returns {boolean[]} Creates the Blocks .
     * @param {HTMLElement} encodeData -The Encoded value. .
     * @param {number} noOfBlocks -Number of Blocks .
     * @private
     */
    private createBlocks;
}
/** @private */
export  class ModuleValue {
    isBlack: boolean;
    isFilled: boolean;
    isPdp: boolean;
    constructor();
}
//node_modules/@syncfusion/ej2-barcode-generator/src/qrcode/qr-error-correction.d.ts
/**
 * Qrcode used to calculate the Qrcode control
 */
export  class ErrorCorrectionCodewords {
    /**
     * Holds the length
     */
    private mLength;
    /**
     * Holds the Error Correction Code Word
     */
    private eccw;
    /**
     * Holds the databits
     */
    private databits;
    /**
     * Holds the Data Code word
     */
    private mDataCodeWord;
    /**
     * Holds G(x)
     */
    private gx;
    /**
     * Holds all the values of Alpha
     */
    private alpha;
    /**
     * Holds the Decimal value
     */
    private decimalValue;
    /**
     * Holds the values of QR Barcode
     */
    private mQrBarcodeValues;
    /**
     * Sets and Gets the Data code word
     *
     * @param {string} value - Sets and Gets the Data code word
     * @private
     */
    DC: string[];
    /**
     * Sets and Gets the DataBits
     *
     * @param {string} value - Sets and Gets the DataBits
     * @private
     */
    DataBits: number;
    /**
     * Sets and Gets the Error Correction Code Words
     *
     * @param {string} value - Sets and Gets the Error Correction Code Words
     * @private
     */
    Eccw: number;
    /**
     * Initializes Error correction code word
     *
     * @param {QRCodeVersion} version - version of the qr code
     * @param {ErrorCorrectionLevel} correctionLevel - defines the level of error correction.
     */
    constructor(version: QRCodeVersion, correctionLevel: ErrorCorrectionLevel);
    /**
     *  Gets the Error correction code word
     *
     * @returns { number} Gets the Error correction code word
     * @private
     */
    getErcw(): string[];
    /**
     * Convert to decimal
     *
     * @returns {void}Convert to decimal.
     * @param {string[]} inString - Provide the version for the QR code
     * @private
     */
    private toDecimal;
    /**
     * Convert decimal to binary.
     *
     * @returns {string[]}Convert decimal to binary.
     * @param {number[]} decimalRepresentation - Provide the version for the QR code
     * @private
     */
    private toBinary;
    /**
     * Polynomial division.
     *
     * @returns {string[]}Polynomial division.
     * @private
     */
    private divide;
    private xORPolynoms;
    private multiplyGeneratorPolynomByLeadterm;
    private convertToDecNotation;
    private convertToAlphaNotation;
    private findLargestExponent;
    private getIntValFromAlphaExp;
    /**
     * Find the element in the alpha
     *
     * @returns {number}Find the element in the alpha.
     * @param {QRCodeVersion} element - Provide the element for the Qr code
     * @param {ErrorCorrectionLevel} alpha -provide the number
     * @private
     */
    private findElement;
    /**
     * Gets g(x) of the element
     */
    /**
     * Gets g(x) of the element
     *
     * @returns {number}Gets g(x) of the element .
     * @param {QRCodeVersion} element - Provide the element for the Qr code
     * @param {ErrorCorrectionLevel} alpha -provide the number
     * @private
     */
    private getElement;
}
//node_modules/@syncfusion/ej2-barcode-generator/src/qrcode/qrcode-model.d.ts
/**
 * Interface for a class QRCodeGenerator
 */
export interface QRCodeGeneratorModel extends base.ComponentModel{
    /**
     * Defines the height of the QR code model.
     *
     * @default '100%'
     */
    height?: string | number;
    /**
     * Defines the width of the QR code model.
     *
     * @default '100%'
     */
    width?: string | number;
    /**
     * Defines the QR code rendering mode.
     *
     * * SVG - Renders the bar-code objects as SVG elements
     * * Canvas - Renders the bar-code in a canvas
     *
     * @default 'SVG'
     */
    mode?: RenderingMode;
    /**
     * Defines the xDimension of the QR code model.
     *
     */
    xDimension?: number;
    /**
     * Defines the error correction level of the QR code.
     *
     * @aspDefaultValueIgnore
     * @aspNumberEnum
     * @default undefined
     */
    errorCorrectionLevel?: ErrorCorrectionLevel;
    /**
     * Defines the margin properties for the QR code.
     *
     * @default ''
     */
    margin?: MarginModel;
    /**
     * Defines the background color of the QR code.
     *
     * @default 'white'
     */
    backgroundColor?: string;
    /**
     * Triggers if you enter any invalid character.
     * @event
     */
    invalid?: base.EmitType<Object>;
    /**
     * Defines the forecolor of the QR code.
     *
     * @default 'black'
     */
    foreColor?: string;
    /**
     * Defines the text properties for the QR code.
     *
     * @default ''
     */
    displayText?: DisplayTextModel;
    /**
     * * Defines the version of the QR code.
     *
     * @aspDefaultValueIgnore
     * @aspNumberEnum
     * @default undefined
     */
    version?: QRCodeVersion;
    /**
     * Defines the type of barcode to be rendered.
     *
     * @default undefined
     */
    value?: string;
}
//node_modules/@syncfusion/ej2-barcode-generator/src/qrcode/qrcode.d.ts
/**
 * Represents the Qrcode control
 * ```
 */
export  class QRCodeGenerator extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    /**
     *  Constructor for creating the widget
     *
     * @param {QRCodeGeneratorModel} options - Provide the instance.
     * @param {HTMLElement} element - Provide the element .
     */
    constructor(options?: QRCodeGeneratorModel, element?: HTMLElement | string);
    /**
     * Defines the height of the QR code model.
     *
     * @default '100%'
     */
    height: string | number;
    /**
     * Defines the width of the QR code model.
     *
     * @default '100%'
     */
    width: string | number;
    /**
     * Defines the QR code rendering mode.
     *
     * * SVG - Renders the bar-code objects as SVG elements
     * * Canvas - Renders the bar-code in a canvas
     *
     * @default 'SVG'
     */
    mode: RenderingMode;
    /**
     * Defines the xDimension of the QR code model.
     *
     */
    xDimension: number;
    /**
     * Defines the error correction level of the QR code.
     *
     * @aspDefaultValueIgnore
     * @aspNumberEnum
     * @default undefined
     */
    errorCorrectionLevel: ErrorCorrectionLevel;
    /**
     * Defines the margin properties for the QR code.
     *
     * @default ''
     */
    margin: MarginModel;
    /**
     * Defines the background color of the QR code.
     *
     * @default 'white'
     */
    backgroundColor: string;
    /**
     * Triggers if you enter any invalid character.
     * @event
     */
    invalid: base.EmitType<Object>;
    /**
     * Defines the forecolor of the QR code.
     *
     * @default 'black'
     */
    foreColor: string;
    /**
     * Defines the text properties for the QR code.
     *
     * @default ''
     */
    displayText: DisplayTextModel;
    /**
     * * Defines the version of the QR code.
     *
     * @aspDefaultValueIgnore
     * @aspNumberEnum
     * @default undefined
     */
    version: QRCodeVersion;
    private widthChange;
    private heightChange;
    private isSvgMode;
    private barcodeRenderer;
    /**
     * Defines the type of barcode to be rendered.
     *
     * @default undefined
     */
    value: string;
    /** @private */
    localeObj: base.L10n;
    /** @private */
    private defaultLocale;
    private barcodeCanvas;
    /**
     * Renders the barcode control .
     *
     * @returns {void}
     */
    render(): void;
    private triggerEvent;
    private renderElements;
    private setCulture;
    private getElementSize;
    private initialize;
    protected preRender(): void;
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @returns {string} Get the properties to be maintained in the persisted state.
     */
    getPersistData(): string;
    /**
     * Returns the module name of the barcode
     *
     * @returns {string}  Returns the module name of the barcode
     */
    getModuleName(): string;
    /**
     * It is used to destroy the Barcode component.
     *
     * @function destroy
     * @returns {void}
     */
    destroy(): void;
    private initializePrivateVariables;
    /**
     * Export the barcode as an image in the specified image type and downloads it in the browser.
     *
     * @returns {void} Export the barcode as an image in the specified image type and downloads it in the browser.
     *  @param {string} filename - Specifies the filename of the barcode image to be download.
     *  @param {BarcodeExportType} barcodeExportType - Defines the format of the barcode to be exported
     */
    exportImage(filename: string, barcodeExportType: BarcodeExportType): void;
    /**
     * Export the barcode as an image in the specified image type and returns it as base64 string.
     *
     * @returns {string} Export the barcode as an image in the specified image type and returns it as base64 string.
     *  @param {BarcodeExportType} barcodeExportType - Defines the format of the barcode to be exported
     */
    exportAsBase64Image(barcodeExportType: BarcodeExportType): Promise<string>;
    onPropertyChanged(newProp: QRCodeGeneratorModel, oldProp: QRCodeGeneratorModel): void;
}
 }
export namespace base { 

//node_modules/@syncfusion/ej2-base/src/ajax.d.ts
/**
 * Ajax class provides ability to make asynchronous HTTP request to the server
 * ```typescript
 *   var ajax = new Ajax("index.html", "GET", true);
 *   ajax.send().then(
 *               function (value) {
 *                   console.log(value);
 *               },
 *               function (reason) {
 *                   console.log(reason);
 *               });
 * ```
 */
export  class Ajax {
    /**
     * Specifies the URL to which request to be sent.
     *
     * @default null
     */
    url: string;
    /**
     * Specifies which HTTP request method to be used. For ex., GET, POST
     *
     * @default GET
     */
    type: string;
    /**
     * Specifies the data to be sent.
     *
     * @default null
     */
    data: string | Object;
    /**
     * A boolean value indicating whether the request should be sent asynchronous or not.
     *
     * @default true
     */
    mode: boolean;
    /**
     * Specifies the callback for creating the XMLHttpRequest object.
     *
     * @default null
     */
    httpRequest: XMLHttpRequest;
    /**
     * A boolean value indicating whether to ignore the promise reject.
     *
     * @private
     * @default true
     */
    emitError: boolean;
    private options;
    onLoad: (this: XMLHttpRequest, ev: Event) => Object;
    onProgress: (this: XMLHttpRequest, ev: Event) => Object;
    onError: (this: XMLHttpRequest, ev: Event) => Object;
    onAbort: (this: XMLHttpRequest, ev: Event) => Object;
    onUploadProgress: (this: XMLHttpRequest, ev: Event) => Object;
    private contentType;
    private dataType;
    /**
     * Constructor for Ajax class
     *
     * @param  {string|Object} options ?
     * @param  {string} type ?
     * @param  {boolean} async ?
     * @returns defaultType any
     */
    constructor(options?: string | Object, type?: string, async?: boolean, contentType?: string);
    /**
     *
     * Send the request to server.
     *
     * @param {any} data - To send the user data
     * @return {Promise} ?
     */
    send(data?: string | Object): Promise<Ajax>;
    /**
     * Specifies the callback function to be triggered before sending request to sever.
     * This can be used to modify the XMLHttpRequest object before it is sent.
     *
     * @event beforeSend
     */
    beforeSend: Function;
    /**
     * Specifies callback function to be triggered after XmlHttpRequest is succeeded.
     * The callback will contain server response as the parameter.
     *
     * @event onSuccess
     */
    onSuccess: Function;
    /**
     * Triggers when XmlHttpRequest is failed.
     *
     * @event onFailure
     */
    onFailure: Function;
    private successHandler;
    private failureHandler;
    private stateChange;
    /**
     * To get the response header from XMLHttpRequest
     *
     * @param  {string} key Key to search in the response header
     * @returns {string} ?
     */
    getResponseHeader(key: string): string;
}
export interface HeaderOptions {
    readyState?: number;
    getResponseHeader?: Function;
    setRequestHeader?: Function;
    overrideMimeType?: Function;
}
/**
 * Specifies the ajax beforeSend event arguments
 *
 * @event BeforeSendEventArgs
 */
export interface BeforeSendEventArgs {
    /** To cancel the ajax request in beforeSend */
    cancel?: boolean;
    /** Returns the request sent from the client end */
    httpRequest?: XMLHttpRequest;
}
//node_modules/@syncfusion/ej2-base/src/animation-model.d.ts
/**
 * Interface for a class Animation
 */
export interface AnimationModel {
    /**
     * Specify the type of animation
     *
     * @default : 'FadeIn';
     */
    name?: Effect;
    /**
     * Specify the duration to animate
     *
     * @default : 400;
     */
    duration?: number;
    /**
     * Specify the animation timing function
     *
     * @default : 'ease';
     */
    timingFunction?: string;
    /**
     * Specify the delay to start animation
     *
     * @default : 0;
     */
    delay?: number;
    /**
     * Triggers when animation is in-progress
     *
     * @event progress
     */
    progress?: EmitType<AnimationOptions>;
    /**
     * Triggers when the animation is started
     *
     * @event begin
     */
    begin?: EmitType<AnimationOptions>;
    /**
     * Triggers when animation is completed
     *
     * @event end
     */
    end?: EmitType<AnimationOptions>;
    /**
     * Triggers when animation is failed due to any scripts
     *
     * @event fail
     */
    fail?: EmitType<AnimationOptions>;
}
//node_modules/@syncfusion/ej2-base/src/animation.d.ts
/**
 * Animation effect names
 */
export  type Effect = 'FadeIn' | 'FadeOut' | 'FadeZoomIn' | 'FadeZoomOut' | 'FlipLeftDownIn' | 'FlipLeftDownOut' | 'FlipLeftUpIn' | 'FlipLeftUpOut' | 'FlipRightDownIn' | 'FlipRightDownOut' | 'FlipRightUpIn' | 'FlipRightUpOut' | 'FlipXDownIn' | 'FlipXDownOut' | 'FlipXUpIn' | 'FlipXUpOut' | 'FlipYLeftIn' | 'FlipYLeftOut' | 'FlipYRightIn' | 'FlipYRightOut' | 'SlideBottomIn' | 'SlideBottomOut' | 'SlideDown' | 'SlideLeft' | 'SlideLeftIn' | 'SlideLeftOut' | 'SlideRight' | 'SlideRightIn' | 'SlideRightOut' | 'SlideTopIn' | 'SlideTopOut' | 'SlideUp' | 'ZoomIn' | 'ZoomOut';
/**
 * The Animation framework provide options to animate the html DOM elements
 * ```typescript
 *   let animeObject = new Animation({
 *      name: 'SlideLeftIn',
 *      duration: 1000
 *   });
 *   animeObject.animate('#anime1');
 *   animeObject.animate('#anime2', { duration: 500 });
 * ```
 */
export  class Animation extends Base<HTMLElement> implements INotifyPropertyChanged {
    /**
     * Specify the type of animation
     *
     * @default : 'FadeIn';
     */
    name: Effect;
    /**
     * Specify the duration to animate
     *
     * @default : 400;
     */
    duration: number;
    /**
     * Specify the animation timing function
     *
     * @default : 'ease';
     */
    timingFunction: string;
    /**
     * Specify the delay to start animation
     *
     * @default : 0;
     */
    delay: number;
    /**
     * Triggers when animation is in-progress
     *
     * @event progress
     */
    progress: EmitType<AnimationOptions>;
    /**
     * Triggers when the animation is started
     *
     * @event begin
     */
    begin: EmitType<AnimationOptions>;
    /**
     * Triggers when animation is completed
     *
     * @event end
     */
    end: EmitType<AnimationOptions>;
    /**
     * Triggers when animation is failed due to any scripts
     *
     * @event fail
     */
    fail: EmitType<AnimationOptions>;
    /**
     * @private
     */
    easing: {
        [key: string]: string;
    };
    constructor(options: AnimationModel);
    /**
     * Applies animation to the current element.
     *
     * @param {string | HTMLElement} element - Element which needs to be animated.
     * @param {AnimationModel} options - Overriding default animation settings.
     * @returns {void} ?
     */
    animate(element: string | HTMLElement, options?: AnimationModel): void;
    /**
     * Stop the animation effect on animated element.
     *
     * @param {HTMLElement} element - Element which needs to be stop the animation.
     * @param {AnimationOptions} model - Handling the animation model at stop function.
     * @return {void}
     */
    static stop(element: HTMLElement, model?: AnimationOptions): void;
    /**
     * Set delay to animation element
     *
     * @param {AnimationModel} model ?
     * @returns {void}
     */
    private static delayAnimation;
    /**
     * Triggers animation
     *
     * @param {AnimationModel} model ?
     * @returns {void}
     */
    private static applyAnimation;
    /**
     * Returns Animation Model
     *
     * @param {AnimationModel} options ?
     * @returns {AnimationModel} ?
     */
    private getModel;
    /**
     * @private
     * @param {AnimationModel} newProp ?
     * @param {AnimationModel} oldProp ?
     * @returns {void} ?
     */
    onPropertyChanged(newProp: AnimationModel, oldProp: AnimationModel): void;
    /**
     * Returns module name as animation
     *
     * @private
     * @returns {void} ?
     */
    getModuleName(): string;
    /**
     *
     * @private
     * @returns {void} ?
     */
    destroy(): void;
}
/**
 * Animation event argument for progress event handler
 */
export interface AnimationOptions extends AnimationModel {
    /**
     * Get current time-stamp in progress EventHandler
     */
    timeStamp?: number;
    /**
     * Get current animation element in progress EventHandler
     */
    element?: HTMLElement;
}
/**
 * Ripple provides material theme's wave effect when an element is clicked
 * ```html
 * <div id='ripple'></div>
 * <script>
 *   rippleEffect(document.getElementById('ripple'));
 * </script>
 * ```
 *
 * @private
 * @param {HTMLElement} element - Target element
 * @param {RippleOptions} rippleOptions - Ripple options .
 * @param {Function} done .
 * @returns {void} .
 */
export  function rippleEffect(element: HTMLElement, rippleOptions?: RippleOptions, done?: Function): () => void;
/**
 * Ripple method arguments to handle ripple effect
 *
 * @private
 */
export interface RippleOptions {
    /**
     * Get selector child elements for ripple effect
     */
    selector?: string;
    /**
     * Get ignore elements to prevent ripple effect
     */
    ignore?: string;
    /**
     * Override the enableRipple method
     */
    rippleFlag?: boolean;
    /**
     * Set ripple effect from center position
     */
    isCenterRipple?: boolean;
    /**
     * Set ripple duration
     */
    duration?: number;
}
export  let isRippleEnabled: boolean;
/**
 * Animation Module provides support to enable ripple effect functionality to Essential JS 2 components.
 *
 * @param {boolean} isRipple Specifies the boolean value to enable or disable ripple effect.
 * @returns {boolean} ?
 */
export  function enableRipple(isRipple: boolean): boolean;
/**
 * Defines the Modes of Global animation.
 * @private
 */
export  let animationMode: string;
/**
 * Method for set the Global animation modes for Syncfusion Blazor components.
 */
export  function setGlobalAnimation(value: string): void;
//node_modules/@syncfusion/ej2-base/src/base.d.ts
export interface DomElements extends HTMLElement {
    ej2_instances: Object[];
}
export interface AngularEventEmitter {
    subscribe?: (generatorOrNext?: any, error?: any, complete?: any) => any;
}
export  type EmitType<T> = AngularEventEmitter & ((arg?: any, ...rest: any[]) => void);
export interface BlazorDotnetObject {
    dispose(): void;
    invokeMethod(methodName: string): void;
    invokeMethodAsync(methodName: string, ...args: any[]): void;
}
/**
 * Base library module is common module for Framework modules like touch,keyboard and etc.,
 *
 * @private
 */
export  abstract class Base<ElementType extends HTMLElement> {
    element: ElementType;
    isDestroyed: boolean;
    protected isRendered: boolean;
    protected isComplexArraySetter: boolean;
    isServerRendered: boolean;
    allowServerDataBinding: boolean;
    protected isProtectedOnChange: boolean;
    protected properties: {
        [key: string]: Object;
    };
    protected changedProperties: {
        [key: string]: Object;
    };
    protected oldProperties: {
        [key: string]: Object;
    };
    protected bulkChanges: {
        [key: string]: Object;
    };
    protected refreshing: boolean;
    ignoreCollectionWatch: boolean;
    protected finalUpdate: Function;
    protected modelObserver: Observer;
    protected childChangedProperties: {
        [key: string]: Object;
    };
    protected abstract getModuleName(): string;
    protected abstract onPropertyChanged(newProperties: Object, oldProperties?: Object): void;
    /** Property base section */
    /**
     * Function used to set bunch of property at a time.
     *
     * @private
     * @param  {Object} prop - JSON object which holds components properties.
     * @param  {boolean} muteOnChange ? - Specifies to true when we set properties.
     * @returns {void} ?
     */
    setProperties(prop: Object, muteOnChange?: boolean): void;
    /**
     * Calls for child element data bind
     *
     * @param {Object} obj ?
     * @param {Object} parent ?
     * @returns {void} ?
     */
    private static callChildDataBind;
    protected clearChanges(): void;
    /**
     * Bind property changes immediately to components
     *
     * @returns {void} ?
     */
    dataBind(): void;
    serverDataBind(newChanges?: {
        [key: string]: any;
    }): void;
    protected saveChanges(key: string, newValue: string, oldValue: string): void;
    /** Event Base Section */
    /**
     * Adds the handler to the given event listener.
     *
     * @param {string} eventName - A String that specifies the name of the event
     * @param {Function} handler - Specifies the call to run when the event occurs.
     * @returns {void} ?
     */
    addEventListener(eventName: string, handler: Function): void;
    /**
     * Removes the handler from the given event listener.
     *
     * @param {string} eventName - A String that specifies the name of the event to remove
     * @param {Function} handler - Specifies the function to remove
     * @returns {void} ?
     */
    removeEventListener(eventName: string, handler: Function): void;
    /**
     * Triggers the handlers in the specified event.
     *
     * @private
     * @param {string} eventName - Specifies the event to trigger for the specified component properties.
     * Can be a custom event, or any of the standard events.
     * @param {Event} eventProp - Additional parameters to pass on to the event properties
     * @param {Function} successHandler - this function will invoke after event successfully triggered
     * @param {Function} errorHandler - this function will invoke after event if it failured to call.
     * @returns {void} ?
     */
    trigger(eventName: string, eventProp?: Object, successHandler?: Function, errorHandler?: Function): void | object;
    /**
     * Base constructor accept options and element
     *
     * @param {Object} options ?
     * @param {string} element ?
     */
    constructor(options: Object, element: ElementType | string);
    /**
     * To maintain instance in base class
     *
     * @returns {void} ?
     */
    protected addInstance(): void;
    /**
     * To remove the instance from the element
     *
     * @returns {void} ?
     */
    protected destroy(): void;
}
/**
 * Global function to get the component instance from the rendered element.
 *
 * @param {HTMLElement} elem Specifies the HTMLElement or element id string.
 * @param {string} comp Specifies the component module name or Component.
 * @returns {any} ?
 */
export  function getComponent<T>(elem: HTMLElement | string, comp: string | any | T): T;
/**
 * Function to remove the child instances.
 *
 * @param {HTMLElement} element ?
 * @return {void}
 * @private
 */
export  function removeChildInstance(element: HTMLElement): void;
//node_modules/@syncfusion/ej2-base/src/browser.d.ts
/**
 * Get configuration details for Browser
 *
 * @private
 */
export  class Browser {
    private static uA;
    private static extractBrowserDetail;
    /**
     * To get events from the browser
     *
     * @param {string} event - type of event triggered.
     * @returns {boolean}
     */
    private static getEvent;
    /**
     * To get the Touch start event from browser
     *
     * @returns {string}
     */
    private static getTouchStartEvent;
    /**
     * To get the Touch end event from browser
     *
     * @returns {string}
     */
    private static getTouchEndEvent;
    /**
     * To get the Touch move event from browser
     *
     * @returns {string}
     */
    private static getTouchMoveEvent;
    /**
     * To cancel the touch event from browser
     *
     * @returns {string}
     */
    private static getTouchCancelEvent;
    /**
     * To get the value based on provided key and regX
     *
     * @param {string} key ?
     * @param {RegExp} regX ?
     * @returns {Object} ?
     */
    private static getValue;
    /**
     * Property specifies the userAgent of the browser. Default userAgent value is based on the browser.
     * Also we can set our own userAgent.
     *
     * @param {string} uA ?
     */
    static userAgent: string;
    /**
     * Property is to get the browser information like Name, Version and Language
     *
     * @returns {BrowserInfo} ?
     */
    static readonly info: BrowserInfo;
    /**
     * Property is to get whether the userAgent is based IE.
     *
     * @returns {boolean} ?
     */
    static readonly isIE: boolean;
    /**
     * Property is to get whether the browser has touch support.
     *
     * @returns {boolean} ?
     */
    static readonly isTouch: boolean;
    /**
     * Property is to get whether the browser has Pointer support.
     *
     * @returns {boolean} ?
     */
    static readonly isPointer: boolean;
    /**
     * Property is to get whether the browser has MSPointer support.
     *
     * @returns {boolean} ?
     */
    static readonly isMSPointer: boolean;
    /**
     * Property is to get whether the userAgent is device based.
     *
     * @returns {boolean} ?
     */
    static readonly isDevice: boolean;
    /**
     * Property is to get whether the userAgent is IOS.
     *
     * @returns {boolean} ?
     */
    static readonly isIos: boolean;
    /**
     * Property is to get whether the userAgent is Ios7.
     *
     * @returns {boolean} ?
     */
    static readonly isIos7: boolean;
    /**
     * Property is to get whether the userAgent is Android.
     *
     * @returns {boolean} ?
     */
    static readonly isAndroid: boolean;
    /**
     * Property is to identify whether application ran in web view.
     *
     * @returns {boolean} ?
     */
    static readonly isWebView: boolean;
    /**
     * Property is to get whether the userAgent is Windows.
     *
     * @returns {boolean} ?
     */
    static readonly isWindows: boolean;
    /**
     * Property is to get the touch start event. It returns event name based on browser.
     *
     * @returns {string} ?
     */
    static readonly touchStartEvent: string;
    /**
     * Property is to get the touch move event. It returns event name based on browser.
     *
     * @returns {string} ?
     */
    static readonly touchMoveEvent: string;
    /**
     * Property is to get the touch end event. It returns event name based on browser.
     *
     * @returns {string} ?
     */
    static readonly touchEndEvent: string;
    /**
     * Property is to cancel the touch end event.
     *
     * @returns {string} ?
     */
    static readonly touchCancelEvent: string;
}
export interface BrowserDetails {
    isAndroid?: boolean;
    isDevice?: boolean;
    isIE?: boolean;
    isIos?: boolean;
    isIos7?: boolean;
    isMSPointer?: boolean;
    isPointer?: boolean;
    isTouch?: boolean;
    isWebView?: boolean;
    isWindows?: boolean;
    info?: BrowserInfo;
    touchStartEvent?: string;
    touchMoveEvent?: string;
    touchEndEvent?: string;
    touchCancelEvent?: string;
}
export interface BrowserInfo {
    name?: string;
    version?: string;
    culture?: {
        name?: string;
        language?: string;
    };
}
//node_modules/@syncfusion/ej2-base/src/child-property.d.ts
/**
 * To detect the changes for inner properties.
 *
 * @private
 */
export  class ChildProperty<T> {
    private parentObj;
    private controlParent;
    private propName;
    private isParentArray;
    protected isComplexArraySetter: boolean;
    protected properties: {
        [key: string]: Object;
    };
    protected changedProperties: {
        [key: string]: Object;
    };
    protected childChangedProperties: {
        [key: string]: Object;
    };
    protected oldProperties: {
        [key: string]: Object;
    };
    protected finalUpdate: Function;
    private callChildDataBind;
    constructor(parent: T, propName: string, defaultValue: Object, isArray?: boolean);
    /**
     * Updates the property changes
     *
     * @param {boolean} val ?
     * @param {string} propName ?
     * @returns {void} ?
     */
    private updateChange;
    /**
     * Updates time out duration
     *
     * @returns {void} ?
     */
    private updateTimeOut;
    /**
     * Clears changed properties
     *
     * @returns {void} ?
     */
    private clearChanges;
    /**
     * Set property changes
     *
     * @param {Object} prop ?
     * @param {boolean} muteOnChange ?
     * @returns {void} ?
     */
    protected setProperties(prop: Object, muteOnChange: boolean): void;
    /**
     * Binds data
     *
     * @returns {void} ?
     */
    protected dataBind(): void;
    /**
     * Saves changes to newer values
     *
     * @param {string} key ?
     * @param {Object} newValue ?
     * @param {Object} oldValue ?
     * @param {boolean} restrictServerDataBind ?
     * @returns {void} ?
     */
    protected saveChanges(key: string, newValue: Object, oldValue: Object, restrictServerDataBind?: boolean): void;
    protected serverDataBind(key: string, value: Object, isSaveChanges?: boolean, action?: string): void;
    protected getParentKey(isSaveChanges?: boolean): string;
}
//node_modules/@syncfusion/ej2-base/src/component-model.d.ts
/**
 * Interface for a class Component
 */
export interface ComponentModel {
    /**
     * Enable or disable persisting component's state between page reloads.
     *
     * @default false
     */
    enablePersistence?: boolean;
    /**
     * Enable or disable rendering component in right to left direction.
     *
     * @default false
     */
    enableRtl?: boolean;
    /**
     * Overrides the global culture and localization value for this component. Default global culture is 'en-US'.
     *
     * @default ''
     */
    locale?: string;
}
//node_modules/@syncfusion/ej2-base/src/component.d.ts
export  let versionBasedStatePersistence: boolean;
/**
 * To enable or disable version based statePersistence functionality for all components globally.
 *
 * @param {boolean} status - Optional argument Specifies the status value to enable or disable versionBasedStatePersistence option.
 * @returns {void}
 */
export  function enableVersionBasedPersistence(status: boolean): void;
/**
 * Base class for all Essential JavaScript components
 */
export  abstract class Component<ElementType extends HTMLElement> extends Base<ElementType> {
    element: ElementType;
    root: any;
    private randomId;
    ej2StatePersistenceVersion: string;
    /**
     * Enable or disable persisting component's state between page reloads.
     *
     * @default false
     */
    enablePersistence: boolean;
    /**
     * Enable or disable rendering component in right to left direction.
     *
     * @default false
     */
    enableRtl: boolean;
    /**
     * Overrides the global culture and localization value for this component. Default global culture is 'en-US'.
     *
     * @default ''
     */
    locale: string;
    /**
     * string template option for Blazor template rendering
     *
     * @private
     */
    isStringTemplate: boolean;
    currentContext: {
        calls?: Function;
        args?: any;
    };
    protected needsID: boolean;
    protected isReactHybrid: boolean;
    protected moduleLoader: ModuleLoader;
    protected localObserver: Observer;
    protected abstract render(): void;
    protected abstract preRender(): void;
    protected abstract getPersistData(): string;
    protected injectedModules: Function[];
    protected mount: Function;
    protected requiredModules(): ModuleDeclaration[];
    /**
     * Destroys the sub modules while destroying the widget
     *
     * @returns {void} ?
     */
    protected destroy(): void;
    /**
     * Applies all the pending property changes and render the component again.
     *
     * @returns {void} ?
     */
    refresh(): void;
    private accessMount;
    /**
     * Returns the route element of the component
     *
     * @returns {HTMLElement} ?
     */
    getRootElement(): HTMLElement;
    /**
     * Returns the persistence data for component
     *
     * @returns {any} ?
     */
    getLocalData(): any;
    /**
     * Appends the control within the given HTML element
     *
     * @param {string | HTMLElement} selector - Target element where control needs to be appended
     * @returns {void} ?
     */
    appendTo(selector?: string | HTMLElement): void;
    /**
     * It is used to process the post rendering functionalities to a component.
     *
     * @param {Node} wrapperElement ?
     * @returns {void} ?
     */
    protected renderComplete(wrapperElement?: Node): void;
    /**
     * When invoked, applies the pending property changes immediately to the component.
     *
     * @returns {void} ?
     */
    dataBind(): void;
    /**
     * Attach one or more  event handler to the current component context.
     * It is used for internal handling event internally within the component only.
     *
     * @param {BoundOptions[]| string} event - It is  optional type either to  Set the collection of event list or the eventName.
     * @param {Function} handler - optional parameter Specifies the handler to run when the event occurs
     * @param {Object} context - optional parameter Specifies the context to be bind in the handler.
     * @returns {void} ?
     * @private
     */
    on(event: BoundOptions[] | string, handler?: Function, context?: Object): void;
    /**
     * To remove one or more event handler that has been attached with the on() method.
     *
     * @param {BoundOptions[]| string} event - It is  optional type either to  Set the collection of event list or the eventName.
     * @param {Function} handler - optional parameter Specifies the function to run when the event occurs
     * @returns {void} ?
     * @private
     */
    off(event: BoundOptions[] | string, handler?: Function): void;
    /**
     * To notify the handlers in the specified event.
     *
     * @param {string} property - Specifies the event to be notify.
     * @param {Object} argument - Additional parameters to pass while calling the handler.
     * @returns {void} ?
     * @private
     */
    notify(property: string, argument: Object): void;
    /**
     * Get injected modules
     *
     * @returns {Function} ?
     * @private
     */
    getInjectedModules(): Function[];
    /**
     * Dynamically injects the required modules to the component.
     *
     * @param {Function} moduleList ?
     * @returns {void} ?
     */
    static Inject(...moduleList: Function[]): void;
    /**
     * Initialize the constructor for component base
     *
     * @param {Object} options ?
     * @param {string} selector ?
     */
    constructor(options?: Object, selector?: string | ElementType);
    /**
     * This is a instance method to create an element.
     *
     * @param {string} tagName ?
     * @param {ElementProperties} prop ?
     * @param {boolean} isVDOM ?
     * @returns {any} ?
     * @private
     */
    createElement(tagName: string, prop?: ElementProperties, isVDOM?: boolean): any;
    /**
     *
     * @param {Function} handler - handler to be triggered after state Updated.
     * @param {any} argument - Arguments to be passed to caller.
     * @returns {void} .
     * @private
     */
    triggerStateChange(handler?: Function, argument?: any): void;
    private injectModules;
    private detectFunction;
    private mergePersistData;
    private setPersistData;
    protected renderReactTemplates(): void;
    protected clearTemplate(templateName?: string[], index?: any): void;
    private getUniqueID;
    private pageID;
    private isHistoryChanged;
    protected addOnPersist(options: string[]): string;
    protected getActualProperties<T>(obj: T): T;
    protected ignoreOnPersist(options: string[]): string;
    protected iterateJsonProperties(obj: {
        [key: string]: Object;
    }, ignoreList: string[]): Object;
}
//node_modules/@syncfusion/ej2-base/src/dom.d.ts
export interface ElementProperties {
    id?: string;
    className?: string;
    innerHTML?: string;
    styles?: string;
    attrs?: {
        [key: string]: string;
    };
}
/**
 * Function to create Html element.
 *
 * @param {string} tagName - Name of the tag, id and class names.
 * @param {ElementProperties} properties - Object to set properties in the element.
 * @param {ElementProperties} properties.id - To set the id to the created element.
 * @param {ElementProperties} properties.className - To add classes to the element.
 * @param {ElementProperties} properties.innerHTML - To set the innerHTML to element.
 * @param {ElementProperties} properties.styles - To set the some custom styles to element.
 * @param {ElementProperties} properties.attrs - To set the attributes to element.
 * @returns {any} ?
 * @private
 */
export  function createElement(tagName: string, properties?: ElementProperties): HTMLElement;
/**
 * The function used to add the classes to array of elements
 *
 * @param  {Element[]|NodeList} elements - An array of elements that need to add a list of classes
 * @param  {string|string[]} classes - String or array of string that need to add an individual element as a class
 * @returns {any} .
 * @private
 */
export  function addClass(elements: Element[] | NodeList, classes: string | string[]): Element[] | NodeList;
/**
 * The function used to add the classes to array of elements
 *
 * @param  {Element[]|NodeList} elements - An array of elements that need to remove a list of classes
 * @param  {string|string[]} classes - String or array of string that need to add an individual element as a class
 * @returns {any} .
 * @private
 */
export  function removeClass(elements: Element[] | NodeList, classes: string | string[]): Element[] | NodeList;
/**
 * The function used to check element is visible or not.
 *
 * @param  {Element|Node} element - An element the need to check visibility
 * @returns {boolean} ?
 * @private
 */
export  function isVisible(element: Element | Node): boolean;
/**
 * The function used to insert an array of elements into a first of the element.
 *
 * @param  {Element[]|NodeList} fromElements - An array of elements that need to prepend.
 * @param  {Element} toElement - An element that is going to prepend.
 * @param {boolean} isEval - ?
 * @returns {Element[] | NodeList} ?
 * @private
 */
export  function prepend(fromElements: Element[] | NodeList, toElement: Element, isEval?: boolean): Element[] | NodeList;
/**
 * The function used to insert an array of elements into last of the element.
 *
 * @param  {Element[]|NodeList} fromElements - An array of elements that need to append.
 * @param  {Element} toElement - An element that is going to prepend.
 * @param {boolean} isEval - ?
 * @returns {Element[] | NodeList} ?
 * @private
 */
export  function append(fromElements: Element[] | NodeList, toElement: Element, isEval?: boolean): Element[] | NodeList;
/**
 * The function used to remove the element from parentnode
 *
 * @param  {Element|Node|HTMLElement} element - An element that is going to detach from the Dom
 * @returns {any} ?
 * @private
 */
export  function detach(element: Element | Node | HTMLElement): any;
/**
 * The function used to remove the element from Dom also clear the bounded events
 *
 * @param  {Element|Node|HTMLElement} element - An element remove from the Dom
 * @returns {void} ?
 * @private
 */
export  function remove(element: Element | Node | HTMLElement): void;
/**
 * The function helps to set multiple attributes to an element
 *
 * @param  {Element|Node} element - An element that need to set attributes.
 * @param  {string} attributes - JSON Object that is going to as attributes.
 * @returns {Element} ?
 * @private
 */
export  function attributes(element: Element | Node | any, attributes: {
    [key: string]: string;
}): Element;
/**
 * The function selects the element from giving context.
 *
 * @param  {string} selector - Selector string need fetch element
 * @param  {Document|Element} context - It is an optional type, That specifies a Dom context.
 * @param {boolean} needsVDOM ?
 * @returns {any} ?
 * @private
 */
export  function select(selector: string, context?: Document | Element, needsVDOM?: boolean): any;
/**
 * The function selects an array of element from the given context.
 *
 * @param  {string} selector - Selector string need fetch element
 * @param  {Document|Element} context - It is an optional type, That specifies a Dom context.
 * @param {boolean} needsVDOM ?
 * @returns {HTMLElement[]} ?
 * @private
 */
export  function selectAll(selector: string, context?: Document | Element, needsVDOM?: boolean): HTMLElement[];
/**
 * Returns single closest parent element based on class selector.
 *
 * @param  {Element} element - An element that need to find the closest element.
 * @param  {string} selector - A classSelector of closest element.
 * @returns {Element} ?
 * @private
 */
export  function closest(element: Element | Node, selector: string): Element;
/**
 * Returns all sibling elements of the given element.
 *
 * @param  {Element|Node} element - An element that need to get siblings.
 * @returns {Element[]} ?
 * @private
 */
export  function siblings(element: Element | Node): Element[];
/**
 * set the value if not exist. Otherwise set the existing value
 *
 * @param  {HTMLElement} element - An element to which we need to set value.
 * @param  {string} property - Property need to get or set.
 * @param  {string} value - value need to set.
 * @returns {string} ?
 * @private
 */
export  function getAttributeOrDefault(element: HTMLElement, property: string, value: string): string;
/**
 * Set the style attributes to Html element.
 *
 * @param {HTMLElement} element - Element which we want to set attributes
 * @param {any} attrs - Set the given attributes to element
 * @returns {void} ?
 * @private
 */
export  function setStyleAttribute(element: HTMLElement, attrs: {
    [key: string]: Object;
}): void;
/**
 * Method for add and remove classes to a dom element.
 *
 * @param {Element} element - Element for add and remove classes
 * @param {string[]} addClasses - List of classes need to be add to the element
 * @param {string[]} removeClasses - List of classes need to be remove from the element
 * @returns {void} ?
 * @private
 */
export  function classList(element: Element, addClasses: string[], removeClasses: string[]): void;
/**
 * Method to check whether the element matches the given selector.
 *
 * @param {Element} element - Element to compare with the selector.
 * @param {string} selector - String selector which element will satisfy.
 * @returns {void} ?
 * @private
 */
export  function matches(element: Element, selector: string): boolean;
/**
 * Method to get the html text from DOM.
 *
 * @param {HTMLElement} ele - Element to compare with the selector.
 * @param {string} innerHTML - String selector which element will satisfy.
 * @returns {void} ?
 * @private
 */
export  function includeInnerHTML(ele: HTMLElement, innerHTML: string): void;
/**
 * Method to get the containsclass.
 *
 * @param {HTMLElement} ele - Element to compare with the selector.
 * @param {string} className - String selector which element will satisfy.
 * @returns {any} ?
 * @private
 */
export  function containsClass(ele: HTMLElement, className: string): any;
/**
 * Method to check whether the element matches the given selector.
 *
 * @param {Object} element - Element to compare with the selector.
 * @param {boolean} deep ?
 * @returns {any} ?
 * @private
 */
export  function cloneNode(element: Object, deep?: boolean): any;
//node_modules/@syncfusion/ej2-base/src/draggable-model.d.ts
/**
 * Interface for a class Position
 */
export interface PositionModel {
    /**
     * Specifies the left position of cursor in draggable.
     */
    left?: number;
    /**
     * Specifies the left position of cursor in draggable.
     */
    top?: number;
}
/**
 * Interface for a class Draggable
 */
export interface DraggableModel {
    /**
     * Defines the distance between the cursor and the draggable element.
     */
    cursorAt?: PositionModel;
    /**
     * If `clone` set to true, drag operations are performed in duplicate element of the draggable element. 
     * @default true
     */
    clone?: boolean;
    /**
     * Defines the parent  element in which draggable element movement will be restricted.
     */
    dragArea?: HTMLElement | string;
    /**
     * Defines the dragArea is scrollable or not.
     */
    isDragScroll?: boolean;
    /**
     * Defines wheather need to replace drag element by currentstateTarget.
     * @private
     */
    isReplaceDragEle?: boolean;
    /**
     * Defines wheather need to add prevent select class to body or not.
     * @private
     */
    isPreventSelect?: boolean;
    /**
     * Specifies the callback function for drag event.
     * @event
     */
    drag?: Function;
    /**
     * Specifies the callback function for dragStart event.
     * @event
     */
    dragStart?: Function;
    /**
     * Specifies the callback function for dragStop event.
     * @event
     */
    dragStop?: Function;
    /**
     * Defines the minimum distance draggable element to be moved to trigger the drag operation.
     * @default 1
     */
    distance?: number;
    /**
     * Defines the child element selector which will act as drag handle.
     */
    handle?: string;
    /**
     * Defines the child element selector which will prevent dragging of element.
     */
    abort?: string | string[];
    /**
     * Defines the callback function for customizing the cloned  element.
     */
    helper?: Function;
    /**
     * Defines the scope value to group sets of draggable and droppable items. 
     * A draggable with the same scope value will be accepted by the droppable.
     */
    scope?: string;
    /**
     * Specifies the dragTarget by which the clone element is positioned if not given current context element will be considered.
     * @private
     */
    dragTarget?: string;
    /**
     * Defines the axis to limit the draggable element drag path.The possible axis path values are   
     * * `x` - Allows drag movement in horizontal direction only. 
     * * `y` - Allows drag movement in vertical direction only.
     */
    axis?: DragDirection;
    /**
     * Defines the function to change the position value.
     * @private
     */
    queryPositionInfo?: Function;
    /**
     * Defines whether the drag clone element will be split form the cursor pointer.
     * @private
     */
    enableTailMode?: boolean;
    /**
     * Defines whether to skip the previous drag movement comparison.
     * @private
     */
    skipDistanceCheck?: boolean;
    /**
     * @private
     */
    preventDefault?: boolean;
    /**
     * Defines whether to enable autoscroll on drag movement of draggable element.
     * enableAutoScroll
     * @private
     */
    enableAutoScroll?: boolean;
    /**
     * Defines whether to enable taphold  on mobile devices.
     * enableAutoScroll
     * @private
     */
    enableTapHold?: boolean;
    /**
     * Specifies the time delay for tap hold.
     * @default 750
     *  @private
     */
    tapHoldThreshold?: number;
    /**
     * @private
     */
    enableScrollHandler?: boolean;
}
//node_modules/@syncfusion/ej2-base/src/draggable.d.ts
/**
 * Specifies the Direction in which drag movement happen.
 */
export  type DragDirection = 'x' | 'y';
/**
 * Specifies the position coordinates
 */
export  class Position extends ChildProperty<Position> {
    /**
     * Specifies the left position of cursor in draggable.
     */
    left: number;
    /**
     * Specifies the left position of cursor in draggable.
     */
    top: number;
}
interface PageInfo {
    x: number;
    y: number;
}
/**
 * Coordinates for element position
 * @private
 */
export interface Coordinates {
    /**
     * Defines the x Coordinate of page.
     */
    pageX: number;
    /**
     * Defines the y Coordinate of page.
     */
    pageY: number;
    /**
     * Defines the x Coordinate of client.
     */
    clientX: number;
    /**
     * Defines the y Coordinate of client.
     */
    clientY: number;
}
/**
 * Interface to specify the drag data in the droppable.
 */
export interface DropInfo {
    /**
     * Specifies the current draggable element
     */
    draggable?: HTMLElement;
    /**
     * Specifies the current helper element.
     */
    helper?: HTMLElement;
    /**
     * Specifies the drag target element
     */
    draggedElement?: HTMLElement;
}
export interface DropObject {
    target: HTMLElement;
    instance: DropOption;
}
/**
 * Used to access values
 * @private
 */
export interface DragPosition {
    left?: string;
    top?: string;
}
/**
 * Used for accessing the interface.
 * @private
 */
export interface Instance extends HTMLElement {
    /**
     * Specifies current instance collection in element
     */
    ej2_instances: {
        [key: string]: Object;
    }[];
}
/**
 * Droppable function to be invoked from draggable
 * @private
 */
export interface DropOption {
    /**
     * Used to triggers over function while draggable element is over the droppable element.
     */
    intOver: Function;
    /**
     * Used to triggers out function while draggable element is out of the droppable element.
     */
    intOut: Function;
    /**
     * Used to triggers  out function while draggable element is dropped on the droppable element.
     */
    intDrop: Function;
    /**
     * Specifies the information about the drag element.
     */
    dragData: DropInfo;
    /**
     * Specifies the status of the drag of drag stop calling.
     */
    dragStopCalled: boolean;
}
/**
 * Drag Event arguments
 */
export interface DragEventArgs {
    /**
     * Specifies the actual event.
     */
    event?: MouseEvent & TouchEvent;
    /**
     * Specifies the current drag element.
     */
    element?: HTMLElement;
    /**
     * Specifies the current target element.
     */
    target?: HTMLElement;
}
/**
 * Used for accessing the BlazorEventArgs.
 * @private
 */
export interface BlazorDragEventArgs {
    /**
     * bind draggable element for Blazor Components
     */
    bindEvents: Function;
    /**
     * Draggable element to which draggable events are to be binded in Blazor.
     */
    dragElement: HTMLElement;
}
/**
 * Draggable Module provides support to enable draggable functionality in Dom Elements.
 * ```html
 * <div id='drag'>Draggable</div>
 * <script>
 * var ele = document.getElementById('drag');
 * var drag:Draggable = new Draggable(ele,{
 *     clone:false,
 *     drag: function(e) {
 *      //drag handler code.
 *      },
 *     handle:'.class'
 * });
 * </script>
 * ```
 */
export  class Draggable extends Base<HTMLElement> implements INotifyPropertyChanged {
    /**
     * Defines the distance between the cursor and the draggable element.
     */
    cursorAt: PositionModel;
    /**
     * If `clone` set to true, drag operations are performed in duplicate element of the draggable element.
     * @default true
     */
    clone: boolean;
    /**
     * Defines the parent  element in which draggable element movement will be restricted.
     */
    dragArea: HTMLElement | string;
    /**
     * Defines the dragArea is scrollable or not.
     */
    isDragScroll: boolean;
    /**
     * Defines wheather need to replace drag element by currentstateTarget.
     * @private
     */
    isReplaceDragEle: boolean;
    /**
     * Defines wheather need to add prevent select class to body or not.
     * @private
     */
    isPreventSelect: boolean;
    /**
     * Specifies the callback function for drag event.
     * @event
     */
    drag: Function;
    /**
     * Specifies the callback function for dragStart event.
     * @event
     */
    dragStart: Function;
    /**
     * Specifies the callback function for dragStop event.
     * @event
     */
    dragStop: Function;
    /**
     * Defines the minimum distance draggable element to be moved to trigger the drag operation.
     * @default 1
     */
    distance: number;
    /**
     * Defines the child element selector which will act as drag handle.
     */
    handle: string;
    /**
     * Defines the child element selector which will prevent dragging of element.
     */
    abort: string | string[];
    /**
     * Defines the callback function for customizing the cloned  element.
     */
    helper: Function;
    /**
     * Defines the scope value to group sets of draggable and droppable items.
     * A draggable with the same scope value will be accepted by the droppable.
     */
    scope: string;
    /**
     * Specifies the dragTarget by which the clone element is positioned if not given current context element will be considered.
     * @private
     */
    dragTarget: string;
    /**
     * Defines the axis to limit the draggable element drag path.The possible axis path values are
     * * `x` - Allows drag movement in horizontal direction only.
     * * `y` - Allows drag movement in vertical direction only.
     */
    axis: DragDirection;
    /**
     * Defines the function to change the position value.
     * @private
     */
    queryPositionInfo: Function;
    /**
     * Defines whether the drag clone element will be split form the cursor pointer.
     * @private
     */
    enableTailMode: boolean;
    /**
     * Defines whether to skip the previous drag movement comparison.
     * @private
     */
    skipDistanceCheck: boolean;
    /**
     * @private
     */
    preventDefault: boolean;
    /**
     * Defines whether to enable autoscroll on drag movement of draggable element.
     * enableAutoScroll
     * @private
     */
    enableAutoScroll: boolean;
    /**
     * Defines whether to enable taphold  on mobile devices.
     * enableAutoScroll
     * @private
     */
    enableTapHold: boolean;
    /**
     * Specifies the time delay for tap hold.
     * @default 750
     *  @private
     */
    tapHoldThreshold: number;
    /**
    * @private
    */
    enableScrollHandler: boolean;
    private target;
    /**
     * @private
     */
    initialPosition: PageInfo;
    private relativeXPosition;
    private relativeYPosition;
    private margin;
    private offset;
    private position;
    private dragLimit;
    private borderWidth;
    private padding;
    private left;
    private top;
    private width;
    private height;
    private pageX;
    private diffX;
    private prevLeft;
    private prevTop;
    private dragProcessStarted;
    private eleTop;
    private tapHoldTimer;
    private dragElePosition;
    currentStateTarget: any;
    private externalInitialize;
    private diffY;
    private pageY;
    private helperElement;
    private hoverObject;
    private parentClientRect;
    private parentScrollX;
    private parentScrollY;
    private tempScrollHeight;
    private tempScrollWidth;
    droppables: {
        [key: string]: DropInfo;
    };
    constructor(element: HTMLElement, options?: DraggableModel);
    protected bind(): void;
    private static getDefaultPosition;
    private toggleEvents;
    private mobileInitialize;
    private removeTapholdTimer;
    private getScrollableParent;
    private getScrollableValues;
    private initialize;
    private intDragStart;
    private bindDragEvents;
    private elementInViewport;
    private getProcessedPositionValue;
    private calculateParentPosition;
    private intDrag;
    private getScrollParent;
    private getScrollPosition;
    private getPathElements;
    private triggerOutFunction;
    private getDragPosition;
    private getDocumentWidthHeight;
    private intDragStop;
    /**
     * @private
     */
    intDestroy(evt: MouseEvent & TouchEvent): void;
    onPropertyChanged(newProp: DraggableModel, oldProp: DraggableModel): void;
    getModuleName(): string;
    private isDragStarted;
    private setDragArea;
    private getProperTargetElement;
    private currentStateCheck;
    private getMousePosition;
    private getCoordinates;
    private getHelperElement;
    private setGlobalDroppables;
    private checkTargetElement;
    private getDropInstance;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-base/src/droppable-model.d.ts
/**
 * Interface for a class Droppable
 */
export interface DroppableModel {
    /**
     * Defines the selector for draggable element to be accepted by the droppable.
     */
    accept?: string;
    /**
     * Defines the scope value to group sets of draggable and droppable items.
     * A draggable with the same scope value will only be accepted by the droppable.
     */
    scope?: string;
    /**
     * Specifies the callback function, which will be triggered while drag element is dropped in droppable.
     *
     * @event drop
     */
    drop?: (args: DropEventArgs) => void;
    /**
     * Specifies the callback function, which will be triggered while drag element is moved over droppable element.
     *
     * @event over
     */
    over?: Function;
    /**
     * Specifies the callback function, which will be triggered while drag element is moved out of droppable element.
     *
     * @event bind
     */
    out?: Function;
}
//node_modules/@syncfusion/ej2-base/src/droppable.d.ts
/**
 * Droppable arguments in drop callback.
 *
 * @private
 */
export interface DropData {
    /**
     * Specifies that current element can be dropped.
     */
    canDrop: boolean;
    /**
     * Specifies target to drop.
     */
    target: HTMLElement;
}
export interface DropEvents extends MouseEvent, TouchEvent {
    dropTarget?: HTMLElement;
}
/**
 * Interface for drop event args
 */
export interface DropEventArgs {
    /**
     * Specifies the original mouse or touch  event arguments.
     */
    event?: MouseEvent & TouchEvent;
    /**
     * Specifies the target element.
     */
    target?: HTMLElement;
    /**
     *  Specifies the dropped element.
     */
    droppedElement?: HTMLElement;
    /**
     * Specifies the dragData
     */
    dragData?: DropInfo;
}
/**
 * Droppable Module provides support to enable droppable functionality in Dom Elements.
 * ```html
 * <div id='drop'>Droppable</div>
 * <script>
 * let ele:HTMLElement = document.getElementById('drop');
 * var drag:Droppable = new Droppable(ele,{
 *     accept:'.drop',
 *     drop: function(e) {
 *      //drop handler code.
 *     }
 * });
 * </script>
 * ```
 */
export  class Droppable extends Base<HTMLElement> implements INotifyPropertyChanged {
    /**
     * Defines the selector for draggable element to be accepted by the droppable.
     */
    accept: string;
    /**
     * Defines the scope value to group sets of draggable and droppable items.
     * A draggable with the same scope value will only be accepted by the droppable.
     */
    scope: string;
    /**
     * Specifies the callback function, which will be triggered while drag element is dropped in droppable.
     *
     * @event drop
     */
    drop: (args: DropEventArgs) => void;
    /**
     * Specifies the callback function, which will be triggered while drag element is moved over droppable element.
     *
     * @event over
     */
    over: Function;
    /**
     * Specifies the callback function, which will be triggered while drag element is moved out of droppable element.
     *
     * @event bind
     */
    out: Function;
    private mouseOver;
    dragData: {
        [key: string]: DropInfo;
    };
    constructor(element: HTMLElement, options?: DroppableModel);
    protected bind(): void;
    private wireEvents;
    onPropertyChanged(newProp: DroppableModel, oldProp: DroppableModel): void;
    getModuleName(): string;
    private dragStopCalled;
    intOver(event: MouseEvent & TouchEvent, element?: Element): void;
    intOut(event: MouseEvent & TouchEvent, element?: Element): void;
    private intDrop;
    private isDropArea;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-base/src/event-handler.d.ts
/**
 * EventHandler class provides option to add, remove, clear and trigger events to a HTML DOM element
 * ```html
 * <div id="Eventdiv">  </div>
 * <script>
 *   let node: HTMLElement = document.querySelector("#Eventdiv");
 *   EventHandler.addEventListener(node, "click", function(){
 *       // click handler function code
 *   });
 *   EventHandler.addEventListener(node, "onmouseover", function(){
 *       // mouseover handler function code
 *   });
 *   EventHandler.removeEventListener(node, "click", function(){
 *       // click handler function code
 *   });
 *   eventObj.clearEvents();
 * </script>
 * ```
 */
export  class EventHandler {
    private static addOrGetEventData;
    /**
     * Add an event to the specified DOM element.
     *
     * @param {any} element - Target HTML DOM element
     * @param {string} eventName - A string that specifies the name of the event
     * @param {Function} listener - Specifies the function to run when the event occurs
     * @param {Object} bindTo - A object that binds 'this' variable in the event handler
     * @param {number} intDebounce - Specifies at what interval given event listener should be triggered.
     * @returns {Function} ?
     */
    static add(element: Element | HTMLElement | Document, eventName: string, listener: Function, bindTo?: Object, intDebounce?: number): Function;
    /**
     * Remove an event listener that has been attached before.
     *
     * @param {any} element - Specifies the target html element to remove the event
     * @param {string} eventName - A string that specifies the name of the event to remove
     * @param {Function} listener - Specifies the function to remove
     * @returns {void} ?
     */
    static remove(element: Element | HTMLElement | Document, eventName: string, listener: Function): void;
    /**
     * Clear all the event listeners that has been previously attached to the element.
     *
     * @param {any} element - Specifies the target html element to clear the events
     * @returns {void} ?
     */
    static clearEvents(element: Element): void;
    /**
     * Trigger particular event of the element.
     *
     * @param {any} element - Specifies the target html element to trigger the events
     * @param {string} eventName - Specifies the event to trigger for the specified element.
     * Can be a custom event, or any of the standard events.
     * @param {any} eventProp - Additional parameters to pass on to the event properties
     * @returns {void} ?
     */
    static trigger(element: HTMLElement, eventName: string, eventProp?: Object): void;
}
/**
 * Common Event argument for all base Essential JavaScript 2 Events.
 *
 * @private
 */
export interface BaseEventArgs {
    /**
     * Specifies name of the event.
     */
    name?: string;
}
//node_modules/@syncfusion/ej2-base/src/hijri-parser.d.ts
/***
 * Hijri parser
 */
export  namespace HijriParser {
    /**
     *
     * @param {Date} gDate ?
     * @returns {Object} ?
     */
    function getHijriDate(gDate: Date): Object;
    /**
     *
     * @param {number} year ?
     * @param {number} month ?
     * @param {number} day ?
     * @returns {Date} ?
     */
    function toGregorian(year: number, month: number, day: number): Date;
}
//node_modules/@syncfusion/ej2-base/src/index.d.ts
/**
 * Base modules
 */
//node_modules/@syncfusion/ej2-base/src/internationalization.d.ts
/**
 * Specifies the observer used for external change detection.
 */
export  const onIntlChange: Observer;
/**
 * Specifies the default rtl status for EJ2 components.
 */
export  let rightToLeft: boolean;
/**
 * Interface for dateFormatOptions
 *
 */
export interface DateFormatOptions {
    /**
     * Specifies the skeleton for date formatting.
     */
    skeleton?: string;
    /**
     * Specifies the type of date formatting either date, dateTime or time.
     */
    type?: string;
    /**
     * Specifies custom date formatting to be used.
     */
    format?: string;
    /**
     * Specifies the calendar mode other than gregorian
     */
    calendar?: string;
    /**
     * Enable server side date formating.
     */
    isServerRendered?: boolean;
}
/**
 * Interface for numberFormatOptions
 *
 */
export interface NumberFormatOptions {
    /**
     * Specifies minimum fraction digits in formatted value.
     */
    minimumFractionDigits?: number;
    /**
     * Specifies maximum fraction digits in formatted value.
     */
    maximumFractionDigits?: number;
    /**
     * Specifies minimum significant digits in formatted value.
     */
    minimumSignificantDigits?: number;
    /**
     * Specifies maximum significant digits in formatted value.
     */
    maximumSignificantDigits?: number;
    /**
     * Specifies whether to use grouping or not in formatted value,
     */
    useGrouping?: boolean;
    /**
     * Specifies the skeleton for perform formatting.
     */
    skeleton?: string;
    /**
     * Specifies the currency code to be used for formatting.
     */
    currency?: string;
    /**
     * Specifies minimum integer digits in formatted value.
     */
    minimumIntegerDigits?: number;
    /**
     * Specifies custom number format for formatting.
     */
    format?: string;
    /**
     *  Species which currency symbol to consider.
     */
    altSymbol?: string;
}
/**
 * Specifies the CLDR data loaded for internationalization functionalities.
 *
 * @private
 */
export  const cldrData: Object;
/**
 * Specifies the default culture value to be considered.
 *
 * @private
 */
export  let defaultCulture: string;
/**
 * Specifies default currency code to be considered
 *
 * @private
 */
export  let defaultCurrencyCode: string;
/**
 * Internationalization class provides support to parse and format the number and date object to the desired format.
 * ```typescript
 * // To set the culture globally
 * setCulture('en-GB');
 *
 * // To set currency code globally
 * setCurrencyCode('EUR');
 *
 * //Load cldr data
 * loadCldr(gregorainData);
 * loadCldr(timeZoneData);
 * loadCldr(numbersData);
 * loadCldr(numberSystemData);
 *
 * // To use formatter in component side
 * let Intl:Internationalization = new Internationalization();
 *
 * // Date formatting
 * let dateFormatter: Function = Intl.getDateFormat({skeleton:'long',type:'dateTime'});
 * dateFormatter(new Date('11/2/2016'));
 * dateFormatter(new Date('25/2/2030'));
 * Intl.formatDate(new Date(),{skeleton:'E'});
 *
 * //Number formatting
 * let numberFormatter: Function = Intl.getNumberFormat({skeleton:'C5'})
 * numberFormatter(24563334);
 * Intl.formatNumber(123123,{skeleton:'p2'});
 *
 * // Date parser
 * let dateParser: Function = Intl.getDateParser({skeleton:'short',type:'time'});
 * dateParser('10:30 PM');
 * Intl.parseDate('10',{skeleton:'H'});
 * ```
 */
export  class Internationalization {
    culture: string;
    constructor(cultureName?: string);
    /**
     * Returns the format function for given options.
     *
     * @param {DateFormatOptions} options - Specifies the format options in which the format function will return.
     * @returns {Function} ?
     */
    getDateFormat(options?: DateFormatOptions): Function;
    /**
     * Returns the format function for given options.
     *
     * @param {NumberFormatOptions} options - Specifies the format options in which the format function will return.
     * @returns {Function} ?
     */
    getNumberFormat(options?: NumberFormatOptions): Function;
    /**
     * Returns the parser function for given options.
     *
     * @param {DateFormatOptions} options - Specifies the format options in which the parser function will return.
     * @returns {Function} ?
     */
    getDateParser(options?: DateFormatOptions): Function;
    /**
     * Returns the parser function for given options.
     *
     * @param {NumberFormatOptions} options - Specifies the format options in which the parser function will return.
     * @returns {Function} ?
     */
    getNumberParser(options?: NumberFormatOptions): Function;
    /**
     * Returns the formatted string based on format options.
     *
     * @param {number} value - Specifies the number to format.
     * @param {NumberFormatOptions} option - Specifies the format options in which the number will be formatted.
     * @returns {string} ?
     */
    formatNumber(value: number, option?: NumberFormatOptions): string;
    /**
     * Returns the formatted date string based on format options.
     *
     * @param {Date} value - Specifies the number to format.
     * @param {DateFormatOptions} option - Specifies the format options in which the number will be formatted.
     * @returns {string} ?
     */
    formatDate(value: Date, option?: DateFormatOptions): string;
    /**
     * Returns the date object for given date string and options.
     *
     * @param {string} value - Specifies the string to parse.
     * @param {DateFormatOptions} option - Specifies the parse options in which the date string will be parsed.
     * @returns {Date} ?
     */
    parseDate(value: string, option?: DateFormatOptions): Date;
    /**
     * Returns the number object from the given string value and options.
     *
     * @param {string} value - Specifies the string to parse.
     * @param {NumberFormatOptions} option - Specifies the parse options in which the  string number  will be parsed.
     * @returns {number} ?
     */
    parseNumber(value: string, option?: NumberFormatOptions): number;
    /**
     * Returns Native Date Time Pattern
     *
     * @param {DateFormatOptions} option - Specifies the parse options for resultant date time pattern.
     * @param {boolean} isExcelFormat - Specifies format value to be converted to excel pattern.
     * @returns {string} ?
     * @private
     */
    getDatePattern(option: DateFormatOptions, isExcelFormat?: boolean): string;
    /**
     * Returns Native Number Pattern
     *
     * @param {NumberFormatOptions} option - Specifies the parse options for resultant number pattern.
     * @param {boolean} isExcel ?
     * @returns {string} ?
     * @private
     */
    getNumberPattern(option: NumberFormatOptions, isExcel?: boolean): string;
    /**
     * Returns the First Day of the Week
     *
     * @returns {number} ?
     */
    getFirstDayOfWeek(): number;
    /**
     * Returns the culture
     *
     * @returns {string} ?
     */
    private getCulture;
}
/**
 * Set the default culture to all EJ2 components
 *
 * @param {string} cultureName - Specifies the culture name to be set as default culture.
 * @returns {void} ?
 */
export  function setCulture(cultureName: string): void;
/**
 * Set the default currency code to all EJ2 components
 *
 * @param {string} currencyCode Specifies the culture name to be set as default culture.
 * @returns {void} ?
 */
export  function setCurrencyCode(currencyCode: string): void;
/**
 * Load the CLDR data into context
 *
 * @param {Object[]} data Specifies the CLDR data's to be used for formatting and parser.
 * @returns {void} ?
 */
export  function loadCldr(...data: Object[]): void;
/**
 * To enable or disable RTL functionality for all components globally.
 *
 * @param {boolean} status - Optional argument Specifies the status value to enable or disable rtl option.
 * @returns {void} ?
 */
export  function enableRtl(status?: boolean): void;
/**
 * To get the numeric CLDR object for given culture
 *
 * @param {string} locale - Specifies the locale for which numericObject to be returned.
 * @param {string} type ?
 * @returns {Object} ?
 * @ignore
 * @private
 */
export  function getNumericObject(locale: string, type?: string): Object;
/**
 * To get the numeric CLDR  number base object for given culture
 *
 * @param {string} locale - Specifies the locale for which numericObject to be returned.
 * @param {string} currency - Specifies the currency for which numericObject to be returned.
 * @returns {string} ?
 * @ignore
 * @private
 */
export  function getNumberDependable(locale: string, currency: string): string;
/**
 * To get the default date CLDR object.
 *
 * @param {string} mode ?
 * @returns {Object} ?
 * @ignore
 * @private
 */
export  function getDefaultDateObject(mode?: string): Object;
//node_modules/@syncfusion/ej2-base.IntlBase/src/intl/date-formatter.d.ts
export  const basicPatterns: string[];
/**
 * Interface for Date Format Options Modules.
 *
 * @private
 */
export interface FormatOptions {
    month?: Object;
    weekday?: Object;
    pattern?: string;
    designator?: Object;
    timeZone?: base.IntlBase.TimeZoneOptions;
    era?: Object;
    hour12?: boolean;
    numMapper?: NumberMapper;
    dateSeperator?: string;
    isIslamic?: boolean;
    weekOfYear?: string;
}
export  const datePartMatcher: {
    [key: string]: Object;
};
/**
 * Date Format is a framework provides support for date formatting.
 *
 * @private
 */
export  class DateFormat {
    /**
     * Returns the formatter function for given skeleton.
     *
     * @param {string} culture -  Specifies the culture name to be which formatting.
     * @param {DateFormatOptions} option - Specific the format in which date  will format.
     * @param {Object} cldr - Specifies the global cldr data collection.
     * @returns {Function} ?
     */
    static dateFormat(culture: string, option: DateFormatOptions, cldr: Object): Function;
    /**
     * Returns formatted date string based on options passed.
     *
     * @param {Date} value ?
     * @param {FormatOptions} options ?
     * @returns {string} ?
     */
    private static intDateFormatter;
    private static getCurrentDateValue;
    /**
     * Returns two digit numbers for given value and length
     *
     * @param {number} val ?
     * @param {number} len ?
     * @returns {string} ?
     */
    private static checkTwodigitNumber;
    /**
     * Returns the value of the Time Zone.
     *
     * @param {number} tVal ?
     * @param {string} pattern ?
     * @returns {string} ?
     * @private
     */
    static getTimeZoneValue(tVal: number, pattern: string): string;
}
//node_modules/@syncfusion/ej2-base/src/intl/date-parser.d.ts
/**
 * Date Parser.
 *
 * @private
 */
export  class DateParser {
    /**
     * Returns the parser function for given skeleton.
     *
     * @param {string} culture -  Specifies the culture name to be which formatting.
     * @param {DateFormatOptions} option - Specific the format in which string date  will be parsed.
     * @param {Object} cldr - Specifies the global cldr data collection.
     * @returns {Function} ?
     */
    static dateParser(culture: string, option: DateFormatOptions, cldr: Object): Function;
    /**
     * Returns date object for provided date options
     *
     * @param {DateParts} options ?
     * @param {Date} value ?
     * @returns {Date} ?
     */
    private static getDateObject;
    /**
     * Returns date parsing options for provided value along with parse and numeric options
     *
     * @param {string} value ?
     * @param {ParseOptions} parseOptions ?
     * @param {NumericOptions} num ?
     * @returns {DateParts} ?
     */
    private static internalDateParse;
    /**
     * Returns parsed number for provided Numeric string and Numeric Options
     *
     * @param {string} value ?
     * @param {NumericOptions} option ?
     * @returns {number} ?
     */
    private static internalNumberParser;
    /**
     * Returns parsed time zone RegExp for provided hour format and time zone
     *
     * @param {string} hourFormat ?
     * @param {base.TimeZoneOptions} tZone ?
     * @param {string} nRegex ?
     * @returns {string} ?
     */
    private static parseTimeZoneRegx;
    /**
     * Returns zone based value.
     *
     * @param {boolean} flag ?
     * @param {string} val1 ?
     * @param {string} val2 ?
     * @param {NumericOptions} num ?
     * @returns {number} ?
     */
    private static getZoneValue;
}
//node_modules/@syncfusion/ej2-base/src/intl/index.d.ts
/**
 * Internationalization
 */
//node_modules/@syncfusion/ej2-base/src/intl/intl-base.d.ts
export  const blazorCultureFormats: Object;
/**
 * Date base common constants and function for date parser and formatter.
 */
export  namespace IntlBase {
    const negativeDataRegex: RegExp;
    const customRegex: RegExp;
    const latnParseRegex: RegExp;
    const defaultCurrency: string;
    const dateConverterMapper: RegExp;
    const islamicRegex: RegExp;
    interface NumericSkeleton {
        type?: string;
        isAccount?: boolean;
        fractionDigits?: number;
    }
    interface GenericFormatOptions {
        nData?: NegativeData;
        pData?: NegativeData;
        zeroData?: NegativeData;
    }
    interface GroupSize {
        primary?: number;
        secondary?: number;
    }
    interface NegativeData extends FormatParts {
        nlead?: string;
        nend?: string;
        groupPattern?: string;
        minimumFraction?: number;
        maximumFraction?: number;
    }
    const formatRegex: RegExp;
    const currencyFormatRegex: RegExp;
    const curWithoutNumberRegex: RegExp;
    const dateParseRegex: RegExp;
    const basicPatterns: string[];
    interface Dependables {
        parserObject?: Object;
        dateObject?: Object;
        numericObject?: Object;
    }
    interface TimeZoneOptions {
        hourFormat?: string;
        gmtFormat?: string;
        gmtZeroFormat?: string;
    }
    const defaultObject: Object;
    const blazorDefaultObject: Object;
    const monthIndex: Object;
    /**
     *
     */
    const month: string;
    const days: string;
    /**
     * Default numerber Object
     */
    const patternMatcher: {
        [key: string]: Object;
    };
    /**
     * Returns the resultant pattern based on the skeleton, dateObject and the type provided
     *
     * @private
     * @param {string} skeleton ?
     * @param {Object} dateObject ?
     * @param {string} type ?
     * @param {boolean} isIslamic ?
     * @param {string} blazorCulture ?
     * @returns {string} ?
     */
    function getResultantPattern(skeleton: string, dateObject: Object, type: string, isIslamic?: boolean, blazorCulture?: string): string;
    interface DateObject {
        year?: number;
        month?: number;
        date?: number;
    }
    /**
     * Returns the dependable object for provided cldr data and culture
     *
     * @private
     * @param {Object} cldr ?
     * @param {string} culture ?
     * @param {string} mode ?
     * @param {boolean} isNumber ?
     * @returns {any} ?
     */
    function getDependables(cldr: Object, culture: string, mode: string, isNumber?: boolean): Dependables;
    /**
     * Returns the symbol pattern for provided parameters
     *
     * @private
     * @param {string} type ?
     * @param {string} numSystem ?
     * @param {Object} obj ?
     * @param {boolean} isAccount ?
     * @returns {string} ?
     */
    function getSymbolPattern(type: string, numSystem: string, obj: Object, isAccount: boolean): string;
    /**
     *
     * @param {string} format ?
     * @returns {string} ?
     */
    function ConvertDateToWeekFormat(format: string): string;
    /**
     *
     * @param {DateFormatOptions} formatOptions ?
     * @param {string} culture ?
     * @returns {DateFormatOptions} ?
     */
    function compareBlazorDateFormats(formatOptions: DateFormatOptions, culture?: string): DateFormatOptions;
    /**
     * Returns proper numeric skeleton
     *
     * @private
     * @param {string} skeleton ?
     * @returns {any} ?
     */
    function getProperNumericSkeleton(skeleton: string): NumericSkeleton;
    /**
     * Returns format data for number formatting like minimum fraction, maximum fraction, etc..,
     *
     * @private
     * @param {string} pattern ?
     * @param {boolean} needFraction ?
     * @param {string} cSymbol ?
     * @param {boolean} fractionOnly ?
     * @returns {any} ?
     */
    function getFormatData(pattern: string, needFraction: boolean, cSymbol: string, fractionOnly?: boolean): NegativeData;
    /**
     * Changes currency symbol
     *
     * @private
     * @param {string} val ?
     * @param {string} sym ?
     * @returns {string} ?
     */
    function changeCurrencySymbol(val: string, sym: string): string;
    /**
     * Returns currency symbol based on currency code ?
     *
     * @private
     * @param {Object} numericObject ?
     * @param {string} currencyCode ?
     * @param {string} altSymbol ?
     * @returns {string} ?
     */
    function getCurrencySymbol(numericObject: Object, currencyCode: string, altSymbol?: string): string;
    /**
     * Returns formatting options for custom number format
     *
     * @private
     * @param {string} format ?
     * @param {CommonOptions} dOptions ?
     * @param {any} obj ?
     * @returns {any} ?
     */
    function customFormat(format: string, dOptions: CommonOptions, obj: Dependables): GenericFormatOptions;
    /**
     * Returns custom formatting options
     *
     * @private
     * @param {string} format ?
     * @param {CommonOptions} dOptions ?
     * @param {Object} numObject ?
     * @returns {any} ?
     */
    function customNumberFormat(format: string, dOptions?: CommonOptions, numObject?: Object): NegativeData;
    /**
     * Returns formatting options for currency or percent type
     *
     * @private
     * @param {string[]} parts ?
     * @param {string} actual ?
     * @param {string} symbol ?
     * @returns {any} ?
     */
    function isCurrencyPercent(parts: string[], actual: string, symbol: string): NegativeData;
    /**
     * Returns culture based date separator
     *
     * @private
     * @param {Object} dateObj ?
     * @returns {string} ?
     */
    function getDateSeparator(dateObj: Object): string;
    /**
     * Returns Native Date Time pattern
     *
     * @private
     * @param {string} culture ?
     * @param {DateFormatOptions} options ?
     * @param {Object} cldr ?
     * @param {boolean} isExcelFormat ?
     * @returns {string} ?
     */
    function getActualDateTimeFormat(culture: string, options: DateFormatOptions, cldr?: Object, isExcelFormat?: boolean): string;
    /**
     * Returns Native Number pattern
     *
     * @private
     * @param {string} culture ?
     * @param {NumberFormatOptions} options ?
     * @param {Object} cldr ?
     * @param {boolean} isExcel ?
     * @returns {string} ?
     */
    function getActualNumberFormat(culture: string, options: NumberFormatOptions, cldr?: Object, isExcel?: boolean): string;
    /**
     *
     * @param {string} pattern ?
     * @param {number} minDigits ?
     * @param {number} maxDigits ?
     * @returns {string} ?
     */
    function fractionDigitsPattern(pattern: string, minDigits: number, maxDigits?: number): string;
    /**
     *
     * @param {string} pattern ?
     * @param {number} digits ?
     * @returns {string} ?
     */
    function minimumIntegerPattern(pattern: string, digits: number): string;
    /**
     *
     * @param {string} pattern ?
     * @returns {string} ?
     */
    function groupingPattern(pattern: string): string;
    /**
     *
     * @param {string} culture ?
     * @param {Object} cldr ?
     * @returns {number} ?
     */
    function getWeekData(culture: string, cldr?: Object): number;
    /**
     * @private
     * @param {any} pData ?
     * @param {string} aCurrency ?
     * @param {string} rCurrency ?
     * @returns {void} ?
     */
    function replaceBlazorCurrency(pData: NegativeData[], aCurrency: string, rCurrency: string): void;
    /**
     * @private
     * @param {Date} date ?
     * @returns {number} ?
     */
    function getWeekOfYear(date: Date): number;
}
//node_modules/@syncfusion/ej2-base.IntlBase/src/intl/number-formatter.d.ts
/**
 * Interface for default formatting options
 *
 * @private
 */
export interface FormatParts extends base.IntlBase.NumericSkeleton, NumberFormatOptions {
    groupOne?: boolean;
    isPercent?: boolean;
    isCurrency?: boolean;
    isNegative?: boolean;
    groupData?: GroupDetails;
    groupSeparator?: string;
}
/**
 * Interface for common formatting options
 */
export interface CommonOptions {
    numberMapper?: NumberMapper;
    currencySymbol?: string;
    percentSymbol?: string;
    minusSymbol?: string;
}
/**
 * Interface for grouping process
 */
export interface GroupDetails {
    primary?: number;
    secondary?: number;
}
/**
 * Module for number formatting.
 *
 * @private
 */
export  class NumberFormat {
    /**
     * Returns the formatter function for given skeleton.
     *
     * @param {string} culture -  Specifies the culture name to be which formatting.
     * @param {NumberFormatOptions} option - Specific the format in which number  will format.
     * @param {Object} cldr - Specifies the global cldr data collection.
     * @returns {Function} ?
     */
    static numberFormatter(culture: string, option: NumberFormatOptions, cldr: Object): Function;
    /**
     * Returns grouping details for the pattern provided
     *
     * @param {string} pattern ?
     * @returns {GroupDetails} ?
     */
    static getGroupingDetails(pattern: string): GroupDetails;
    /**
     * Returns if the provided integer range is valid.
     *
     * @param {number} val1 ?
     * @param {number} val2 ?
     * @param {boolean} checkbothExist ?
     * @param {boolean} isFraction ?
     * @returns {boolean} ?
     */
    private static checkValueRange;
    /**
     * Check if the provided fraction range is valid
     *
     * @param {number} val ?
     * @param {string} text ?
     * @param {boolean} isFraction ?
     * @returns {void} ?
     */
    private static checkRange;
    /**
     * Returns formatted numeric string for provided formatting options
     *
     * @param {number} value ?
     * @param {base.IntlBase.GenericFormatOptions} fOptions ?
     * @param {CommonOptions} dOptions ?
     * @returns {string} ?
     */
    private static intNumberFormatter;
    /**
     * Returns significant digits processed numeric string
     *
     * @param {number} value ?
     * @param {number} min ?
     * @param {number} max ?
     * @returns {string} ?
     */
    private static processSignificantDigits;
    /**
     * Returns grouped numeric string
     *
     * @param {string} val ?
     * @param {number} level1 ?
     * @param {string} sep ?
     * @param {string} decimalSymbol ?
     * @param {number} level2 ?
     * @returns {string} ?
     */
    private static groupNumbers;
    /**
     * Returns fraction processed numeric string
     *
     * @param {number} value ?
     * @param {number} min ?
     * @param {number} max ?
     * @returns {string} ?
     */
    private static processFraction;
    /**
     * Returns integer processed numeric string
     *
     * @param {string} value ?
     * @param {number} min ?
     * @returns {string} ?
     */
    private static processMinimumIntegers;
}
//node_modules/@syncfusion/ej2-base.IntlBase/src/intl/number-parser.d.ts
/**
 * interface for Numeric Formatting Parts
 */
export interface NumericParts {
    symbolRegex?: RegExp;
    nData?: base.IntlBase.NegativeData;
    pData?: base.IntlBase.NegativeData;
    infinity?: string;
    type?: string;
    fractionDigits?: number;
    isAccount?: boolean;
    custom?: boolean;
    maximumFractionDigits?: number;
}
/**
 * Module for Number Parser.
 *
 * @private
 */
export  class NumberParser {
    /**
     * Returns the parser function for given skeleton.
     *
     * @param {string} culture -  Specifies the culture name to be which formatting.
     * @param {NumberFormatOptions} option - Specific the format in which number  will parsed.
     * @param {Object} cldr - Specifies the global cldr data collection.
     * @returns {Function} ?
     */
    static numberParser(culture: string, option: NumberFormatOptions, cldr: Object): Function;
    /**
     * Returns parsed number for the provided formatting options
     *
     * @param {string} value ?
     * @param {NumericParts} options ?
     * @param {NumericOptions} numOptions ?
     * @returns {number} ?
     */
    private static getParsedNumber;
    private static convertMaxFracDigits;
}
//node_modules/@syncfusion/ej2-base/src/intl/parser-base.d.ts
/**
 * Parser
 */
/**
 * Interface for numeric Options
 */
export interface NumericOptions {
    numericPair?: Object;
    numericRegex?: string;
    numberParseRegex?: RegExp;
    symbolNumberSystem?: Object;
    symbolMatch?: Object;
    numberSystem?: string;
}
/**
 * Interface for numeric object
 */
export interface NumericObject {
    obj?: Object;
    nSystem?: string;
}
/**
 * Interface for number mapper
 */
export interface NumberMapper {
    mapper?: Object;
    timeSeparator?: string;
    numberSymbols?: Object;
    numberSystem?: string;
}
/**
 * Interface for parser base
 *
 * @private
 */
export  class ParserBase {
    static nPair: string;
    static nRegex: string;
    static numberingSystems: Object;
    /**
     * Returns the cldr object for the culture specifies
     *
     * @param {Object} obj - Specifies the object from which culture object to be acquired.
     * @param {string} cName - Specifies the culture name.
     * @returns {Object} ?
     */
    static getMainObject(obj: Object, cName: string): Object;
    /**
     * Returns the numbering system object from given cldr data.
     *
     * @param {Object} obj - Specifies the object from which number system is acquired.
     * @returns {Object} ?
     */
    static getNumberingSystem(obj: Object): Object;
    /**
     * Returns the reverse of given object keys or keys specified.
     *
     * @param {Object} prop - Specifies the object to be reversed.
     * @param {number[]} keys - Optional parameter specifies the custom keyList for reversal.
     * @returns {Object} ?
     */
    static reverseObject(prop: Object, keys?: number[]): Object;
    /**
     * Returns the symbol regex by skipping the escape sequence.
     *
     * @param {string[]} props - Specifies the array values to be skipped.
     * @returns {RegExp} ?
     */
    static getSymbolRegex(props: string[]): RegExp;
    /**
     *
     * @param {Object} prop ?
     * @returns {Object} ?
     */
    private static getSymbolMatch;
    /**
     * Returns regex string for provided value
     *
     * @param {string} val ?
     * @returns {string} ?
     */
    private static constructRegex;
    /**
     * Returns the replaced value of matching regex and obj mapper.
     *
     * @param {string} value - Specifies the  values to be replaced.
     * @param {RegExp} regex - Specifies the  regex to search.
     * @param {Object} obj - Specifies the  object matcher to be replace value parts.
     * @returns {string} ?
     */
    static convertValueParts(value: string, regex: RegExp, obj: Object): string;
    /**
     * Returns default numbering system object for formatting from cldr data
     *
     * @param {Object} obj ?
     * @returns {NumericObject} ?
     */
    static getDefaultNumberingSystem(obj: Object): NumericObject;
    /**
     * Returns the replaced value of matching regex and obj mapper.
     *
     * @param {Object} curObj ?
     * @param {Object} numberSystem ?
     * @param {boolean} needSymbols ?
     * @param {boolean} blazorMode ?
     * @returns {Object} ?
     */
    static getCurrentNumericOptions(curObj: Object, numberSystem: Object, needSymbols?: boolean, blazorMode?: boolean): Object;
    /**
     * Returns number mapper object for the provided cldr data
     *
     * @param {Object} curObj ?
     * @param {Object} numberSystem ?
     * @param {boolean} isNumber ?
     * @returns {NumberMapper} ?
     */
    static getNumberMapper(curObj: Object, numberSystem: Object, isNumber?: boolean): NumberMapper;
}
/**
 *
 * @param {string} currencyCode ?
 * @returns {string} ?
 */
export  function getBlazorCurrencySymbol(currencyCode: string): string;
//node_modules/@syncfusion/ej2-base/src/keyboard-model.d.ts
/**
 * Interface for a class KeyboardEvents
 */
export interface KeyboardEventsModel {
    /**
     * Specifies key combination and it respective action name.
     *
     * @default null
     */
    keyConfigs?: { [key: string]: string };
    /**
     * Specifies on which event keyboardEvents class should listen for key press. For ex., `keyup`, `keydown` or `keypress`
     *
     * @default keyup
     */
    eventName?: string;
    /**
     * Specifies the listener when keyboard actions is performed.
     *
     * @event keyAction
     */
    keyAction?: EmitType<KeyboardEventArgs>;
}
//node_modules/@syncfusion/ej2-base/src/keyboard.d.ts
/**
 * KeyboardEvents
 */
export interface KeyboardEventArgs extends KeyboardEvent {
    /**
     * action of the KeyboardEvent
     */
    action: string;
}
/**
 * KeyboardEvents class enables you to bind key action desired key combinations for ex., Ctrl+A, Delete, Alt+Space etc.
 * ```html
 * <div id='testEle'>  </div>;
 * <script>
 *   let node$: HTMLElement = document.querySelector('#testEle');
 *   let kbInstance = new KeyboardEvents({
 *       element: node,
 *       keyConfigs:{ selectAll : 'ctrl+a' },
 *       keyAction: function (e:KeyboardEvent, action:string) {
 *           // handler function code
 *       }
 *   });
 * </script>
 * ```
 */
export  class KeyboardEvents extends Base<HTMLElement> implements INotifyPropertyChanged {
    /**
     * Specifies key combination and it respective action name.
     *
     * @default null
     */
    keyConfigs: {
        [key: string]: string;
    };
    /**
     * Specifies on which event keyboardEvents class should listen for key press. For ex., `keyup`, `keydown` or `keypress`
     *
     * @default keyup
     */
    eventName: string;
    /**
     * Specifies the listener when keyboard actions is performed.
     *
     * @event keyAction
     */
    keyAction: EmitType<KeyboardEventArgs>;
    /**
     * Initializes the KeyboardEvents
     *
     * @param {HTMLElement} element ?
     * @param {KeyboardEventsModel} options ?
     */
    constructor(element: HTMLElement, options?: KeyboardEventsModel);
    /**
     * Unwire bound events and destroy the instance.
     *
     * @returns {void} ?
     */
    destroy(): void;
    /**
     * Function can be used to specify certain action if a property is changed
     *
     * @param {KeyboardEventsModel} newProp ?
     * @param {KeyboardEventsModel} oldProp ?
     * @returns {void} ?
     * @private
     */
    onPropertyChanged(newProp: KeyboardEventsModel, oldProp?: KeyboardEventsModel): void;
    protected bind(): void;
    /**
     * To get the module name, returns 'keyboard'.
     *
     * @returns {string} ?
     * @private
     */
    getModuleName(): string;
    /**
     * Wiring event handlers to events
     *
     * @returns {void} ?
     * @private
     */
    private wireEvents;
    /**
     * Unwiring event handlers to events
     *
     * @returns {void} ?
     * @private
     */
    private unwireEvents;
    /**
     * To handle a key press event returns null
     *
     * @param {KeyboardEventArgs} e ?
     * @returns {void} ?
     */
    private keyPressHandler;
    private static configCache;
    /**
     * To get the key configuration data
     *
     * @param {string} config - configuration data
     * @returns {KeyData} ?
     */
    private static getKeyConfigData;
    private static getKeyCode;
}
//node_modules/@syncfusion/ej2-base/src/l10n.d.ts
/**
 * L10n modules provides localized text for different culture.
 * ```typescript
 * //load global locale object common for all components.
 * L10n.load({
 *    'fr-BE': {
 *       'button': {
 *            'check': 'vérifié'
 *        }
 *    }
 * });
 * //set globale default locale culture.
 * tsBaseLibrary.setCulture('fr-BE');
 * let instance: L10n = new L10n('button', {
 *    check: 'checked'
 * });
 * //Get locale text for current property.
 * instance.getConstant('check');
 * //Change locale culture in a component.
 * instance.setLocale('en-US');
 * ```
 */
export  class L10n {
    private static locale;
    private controlName;
    private localeStrings;
    private currentLocale;
    /**
     * Constructor
     *
     * @param {string} controlName ?
     * @param {Object} localeStrings ?
     * @param {string} locale ?
     */
    constructor(controlName: string, localeStrings: Object, locale?: string);
    /**
     * Sets the locale text
     *
     * @param {string} locale ?
     * @returns {void} ?
     */
    setLocale(locale: string): void;
    /**
     * Sets the global locale for all components.
     *
     * @param {Object} localeObject - specifies the localeObject to be set as global locale.
     * @returns {void} ?
     */
    static load(localeObject: Object): void;
    /**
     * Returns current locale text for the property based on the culture name and control name.
     *
     * @param {string} prop - specifies the property for which localize text to be returned.
     * @returns {string} ?
     */
    getConstant(prop: string): string;
    /**
     * Returns the control constant object for current object and the locale specified.
     *
     * @param {Object} curObject ?
     * @param {string} locale ?
     * @returns {Object} ?
     */
    private intGetControlConstant;
}
//node_modules/@syncfusion/ej2-base/src/module-loader.d.ts
/**
 * Interface for module declaration.
 */
export interface ModuleDeclaration {
    /**
     * Specifies the args for module declaration.
     */
    args: Object[];
    /**
     * Specifies the member for module declaration.
     */
    member: string;
    /**
     * Specifies whether it is a property or not.
     */
    isProperty?: boolean;
}
export interface IParent {
    [key: string]: any;
}
export  class ModuleLoader {
    private parent;
    private loadedModules;
    constructor(parent: IParent);
    /**
     * Inject required modules in component library
     *
     * @returns {void} ?
     * @param {ModuleDeclaration[]} requiredModules - Array of modules to be required
     * @param {Function[]} moduleList - Array of modules to be injected from sample side
     */
    inject(requiredModules: ModuleDeclaration[], moduleList: Function[]): void;
    /**
     * To remove the created object while destroying the control
     *
     * @returns {void}
     */
    clean(): void;
    /**
     * Removes all unused modules
     *
     * @param {ModuleDeclaration[]} moduleList ?
     * @returns {void} ?
     */
    private clearUnusedModule;
    /**
     * To get the name of the member.
     *
     * @param {string} name ?
     * @returns {string} ?
     */
    private getMemberName;
    /**
     * Returns boolean based on whether the module specified is loaded or not
     *
     * @param {string} modName ?
     * @returns {boolean} ?
     */
    private isModuleLoaded;
}
//node_modules/@syncfusion/ej2-base/src/notify-property-change.d.ts
/**
 * Method used to create property. General syntax below.
 *
 * @param {Object} defaultValue - Specifies the default value of property.
 * @returns {PropertyDecorator} ?
 * ```
 * @Property('TypeScript')
 * propertyName: Type;
 * ```
 * @private
 */
export  function Property<T>(defaultValue?: T | Object): PropertyDecorator;
/**
 * Method used to create complex property. General syntax below.
 *
 * @param  {any} defaultValue - Specifies the default value of property.
 * @param  {Function} type - Specifies the class type of complex object.
 * @returns {PropertyDecorator} ?
 * ```
 * @Complex<Type>({},Type)
 * propertyName: Type;
 * ```
 * @private
 */
export  function Complex<T>(defaultValue: T, type: Function): PropertyDecorator;
/**
 * Method used to create complex Factory property. General syntax below.
 *
 * @param  {Function} type - Specifies the class factory type of complex object.
 * @returns {PropertyDecorator} ?
 * ```
 * @ComplexFactory(defaultType, factoryFunction)
 * propertyName: Type1 | Type2;
 * ```
 * @private
 */
export  function ComplexFactory(type: Function): PropertyDecorator;
/**
 * Method used to create complex array property. General syntax below.
 *
 * @param  {any} defaultValue - Specifies the default value of property.
 * @param  {Function} type - Specifies the class type of complex object.
 * @returns {PropertyDecorator} ?
 * ```
 * @Collection([], Type);
 * propertyName: Type;
 * ```
 * @private
 */
export  function Collection<T>(defaultValue: T[], type: Function): PropertyDecorator;
/**
 * Method used to create complex factory array property. General syntax below.
 *
 * @param  {Function} type - Specifies the class type of complex object.
 * @returns {PropertyCollectionInfo} ?
 * ```
 * @Collection([], Type);
 * propertyName: Type;
 * ```
 * @private
 */
export  function CollectionFactory(type: Function): PropertyDecorator;
/**
 * Method used to create event property. General syntax below.
 *
 * @returns {PropertyDecorator} ?
 * ```
 * @Event(()=>{return true;
})
 * ```
 * @private
 */
export  function Event(): PropertyDecorator;
/**
 * NotifyPropertyChanges is triggers the call back when the property has been changed.
 *
 * @param {Function} classConstructor ?
 * @returns {void} ?
 * ```
 *  @NotifyPropertyChanges
 * class DemoClass implements INotifyPropertyChanged {
 *
 *     @Property()
 *     property1: string;
 *
 *     dataBind: () => void;
 *
 *     constructor() { }
 *
 *     onPropertyChanged(newProp: any, oldProp: any) {
 *         // Called when property changed
 *     }
 * }
 * ```
 * @private
 */
export  function NotifyPropertyChanges(classConstructor: Function): void;
/**
 * Interface to notify the changed properties
 */
export interface INotifyPropertyChanged {
    onPropertyChanged(newProperties: Object, oldProperties?: Object): void;
}
/**
 * Method used to create builder for the components
 *
 * @param {any} component -specifies the target component for which builder to be created.
 * @returns {Object} ?
 * @private
 */
export  function CreateBuilder<T>(component: T): Object;
//node_modules/@syncfusion/ej2-base/src/observer.d.ts
/**
 * Observer is used to perform event handling based the object.
 * ```
 * //Creating observer instance.
 * let observer:Observer = Observer(this);
 * let handler: Function = (a:number, b: number): number => {return a + b;
 }
 * //add handler to event.
 * observe.on('eventname', handler);
 * //remove handler from event.
 * observe.off('eventname', handler);
 * //notify the handlers in event.
 * observe.notify('eventname');
 * ```
 *
 */
export interface BoundOptions {
    handler?: Function;
    context?: Object;
    event?: string;
    id?: string;
}
export  class Observer {
    private context;
    private ranArray;
    private boundedEvents;
    constructor(context?: Object);
    /**
     * To attach handler for given property in current context.
     *
     * @param {string} property - specifies the name of the event.
     * @param {Function} handler - Specifies the handler function to be called while event notified.
     * @param {Object} context - Specifies the context binded to the handler.
     * @param {string} id - specifies the random generated id.
     * @returns {void}
     */
    on(property: string, handler: Function, context?: Object, id?: string): void;
    /**
     * To remove handlers from a event attached using on() function.
     *
     * @param {string} property - specifies the name of the event.
     * @param {Function} handler - Optional argument specifies the handler function to be called while event notified.
     * @param {string} id - specifies the random generated id.
     * @returns {void} ?
     */
    off(property: string, handler?: Function, id?: string): void;
    /**
     * To notify the handlers in the specified event.
     *
     * @param {string} property - Specifies the event to be notify.
     * @param {Object} argument - Additional parameters to pass while calling the handler.
     * @param {Function} successHandler - this function will invoke after event successfully triggered
     * @param {Function} errorHandler - this function will invoke after event if it was failure to call.
     * @returns {void} ?
     */
    notify(property: string, argument?: Object, successHandler?: Function, errorHandler?: Function): void | Object;
    private blazorCallback;
    dateReviver(key: any, value: any): void | object;
    isJson(value: string): boolean;
    /**
     * To destroy handlers in the event
     *
     * @returns {void} ?
     */
    destroy(): void;
    /**
     * Returns if the property exists.
     *
     * @param {string} prop ?
     * @returns {boolean} ?
     */
    private notExist;
    /**
     * Returns if the handler is present.
     *
     * @param {BoundOptions[]} boundedEvents ?
     * @param {Function} handler ?
     * @returns {boolean} ?
     */
    private isHandlerPresent;
}
//node_modules/@syncfusion/ej2-base/src/sanitize-helper.d.ts
interface BeforeSanitizeHtml {
    /** Illustrates whether the current action needs to be prevented or not. */
    cancel?: boolean;
    /** It is a callback function and executed it before our inbuilt action. It should return HTML as a string.
     *
     * @function
     * @param {string} value - Returns the value.
     * @returns {string}
     */
    /** Returns the selectors object which carrying both tags and attributes selectors to block list of cross-site scripting attack.
     *  Also possible to modify the block list in this event.
     */
    selectors?: SanitizeSelectors;
}
interface SanitizeSelectors {
    /** Returns the tags. */
    tags?: string[];
    /** Returns the attributes. */
    attributes?: SanitizeRemoveAttrs[];
}
interface SanitizeRemoveAttrs {
    /** Defines the attribute name to sanitize */
    attribute?: string;
    /** Defines the selector that sanitize the specified attributes within the selector */
    selector?: string;
}
export  class SanitizeHtmlHelper {
    static removeAttrs: SanitizeRemoveAttrs[];
    static removeTags: string[];
    static wrapElement: HTMLElement;
    static beforeSanitize(): BeforeSanitizeHtml;
    static sanitize(value: string): string;
    static serializeValue(item: BeforeSanitizeHtml, value: string): string;
    private static removeElement;
    private static removeXssTags;
    private static removeJsEvents;
    private static removeXssAttrs;
}
//node_modules/@syncfusion/ej2-base/src/template-engine.d.ts
export  const blazorTemplates: object;
/**
 *
 * @returns {string} ?
 */
export  function getRandomId(): string;
/**
 * Interface for Template Engine.
 */
export interface ITemplateEngine {
    compile: (templateString: string, helper?: Object, ignorePrefix?: boolean) => (data: Object | JSON) => string;
}
/**
 * Compile the template string into template function.
 *
 * @param {string} templateString - The template string which is going to convert.
 * @param {Object} helper - Helper functions as an object.
 * @param {boolean} ignorePrefix ?
 * @returns {NodeList} ?
 * @private
 */
export  function compile(templateString: string, helper?: Object, ignorePrefix?: boolean): (data: Object | JSON, component?: any, propName?: any) => NodeList;
/**
 *
 * @param {string} templateId ?
 * @param {string} templateName ?
 * @param {string} comp ?
 * @param {boolean} isEmpty ?
 * @param {Function} callBack ?
 * @returns {void} ?
 */
export  function updateBlazorTemplate(templateId?: string, templateName?: string, comp?: object, isEmpty?: boolean, callBack?: Function): void;
/**
 *
 * @param {string} templateId ?
 * @param {string} templateName ?
 * @param {number} index ?
 * @returns {void} ?
 */
export  function resetBlazorTemplate(templateId?: string, templateName?: string, index?: number): void;
/**
 * Set your custom template engine for template rendering.
 *
 * @param  {ITemplateEngine} classObj - Class object for custom template.
 * @returns {void} ?
 * @private
 */
export  function setTemplateEngine(classObj: ITemplateEngine): void;
/**
 * Get current template engine for template rendering
 *
 * @returns {string} ?
 * @private
 */
export  function getTemplateEngine(): (template: string, helper?: Object) => (data: Object | JSON) => string;
//node_modules/@syncfusion/ej2-base/src/template.d.ts
/**
 * Template Engine
 */
/**
 * The function to set regular expression for template expression string.
 *
 * @param {RegExp} value - Value expression.
 * @returns {RegExp} ?
 * @private
 */
export  function expression(value?: RegExp): RegExp;
/**
 * Compile the template string into template function.
 *
 * @param {string} template - The template string which is going to convert.
 * @param {Object} helper - Helper functions as an object.
 * @param {boolean} ignorePrefix ?
 * @returns {string} ?
 * @private
 */
export  function compile(template: string, helper?: Object, ignorePrefix?: boolean): () => string;
//node_modules/@syncfusion/ej2-base/src/touch-model.d.ts
/**
 * Interface for a class SwipeSettings
 */
export interface SwipeSettingsModel {
    /**
     * Property specifies minimum distance of swipe moved.
     */
    swipeThresholdDistance?: number;
}
/**
 * Interface for a class Touch
 */
export interface TouchModel {
    /**
     * Specifies the callback function for tap event.
     *
     * @event tap
     */
    tap?: EmitType<TapEventArgs>;
    /**
     * Specifies the callback function for tapHold event.
     *
     * @event tapHold
     */
    tapHold?: EmitType<TapEventArgs>;
    /**
     * Specifies the callback function for swipe event.
     *
     * @event swipe
     */
    swipe?: EmitType<SwipeEventArgs>;
    /**
     * Specifies the callback function for scroll event.
     *
     * @event scroll
     */
    scroll?: EmitType<ScrollEventArgs>;
    /**
     * Specifies the time delay for tap.
     *
     * @default 350
     */
    tapThreshold?: number;
    /**
     * Specifies the time delay for tap hold.
     *
     * @default 750
     */
    tapHoldThreshold?: number;
    /**
     * Customize the swipe event configuration.
     *
     * @default { swipeThresholdDistance: 50 }
     */
    swipeSettings?: SwipeSettingsModel;
}
//node_modules/@syncfusion/ej2-base/src/touch.d.ts
/**
 * SwipeSettings is a framework module that provides support to handle swipe event like swipe up, swipe right, etc..,
 */
export  class SwipeSettings extends ChildProperty<SwipeSettings> {
    /**
     * Property specifies minimum distance of swipe moved.
     */
    swipeThresholdDistance: number;
}
/**
 * Touch class provides support to handle the touch event like tap, double tap, tap hold, etc..,
 * ```typescript
 *    let node$: HTMLElement;
 * let touchObj: Touch = new Touch({
 *    element: node,
 *    tap: function (e) {
 *        // tap handler function code
 *    }
 *    tapHold: function (e) {
 *        // tap hold handler function code
 *    }
 *    scroll: function (e) {
 *        // scroll handler function code
 *    }
 *    swipe: function (e) {
 *        // swipe handler function code
 *    }
 * });
 * ```
 */
export  class Touch extends Base<HTMLElement> implements INotifyPropertyChanged {
    private isTouchMoved;
    private startPoint;
    private movedPoint;
    private endPoint;
    private startEventData;
    private lastTapTime;
    private lastMovedPoint;
    private scrollDirection;
    private hScrollLocked;
    private vScrollLocked;
    private defaultArgs;
    private distanceX;
    private distanceY;
    private movedDirection;
    private tStampStart;
    private touchAction;
    private timeOutTap;
    private modeClear;
    private timeOutTapHold;
    /**
     * Specifies the callback function for tap event.
     *
     * @event tap
     */
    tap: EmitType<TapEventArgs>;
    /**
     * Specifies the callback function for tapHold event.
     *
     * @event tapHold
     */
    tapHold: EmitType<TapEventArgs>;
    /**
     * Specifies the callback function for swipe event.
     *
     * @event swipe
     */
    swipe: EmitType<SwipeEventArgs>;
    /**
     * Specifies the callback function for scroll event.
     *
     * @event scroll
     */
    scroll: EmitType<ScrollEventArgs>;
    /**
     * Specifies the time delay for tap.
     *
     * @default 350
     */
    tapThreshold: number;
    /**
     * Specifies the time delay for tap hold.
     *
     * @default 750
     */
    tapHoldThreshold: number;
    /**
     * Customize the swipe event configuration.
     *
     * @default { swipeThresholdDistance: 50 }
     */
    swipeSettings: SwipeSettingsModel;
    private tapCount;
    constructor(element: HTMLElement, options?: TouchModel);
    /**
     *
     * @private
     * @param {TouchModel} newProp ?
     * @param {TouchModel} oldProp ?
     * @returns {void} ?
     */
    onPropertyChanged(newProp: TouchModel, oldProp: TouchModel): void;
    protected bind(): void;
    /**
     * To destroy the touch instance.
     *
     * @returns {void}
     */
    destroy(): void;
    private wireEvents;
    private unwireEvents;
    /**
     * Returns module name as touch
     *
     * @returns {string} ?
     * @private
     */
    getModuleName(): string;
    /**
     * Returns if the HTML element is Scrollable.
     *
     * @param {HTMLElement} element - HTML Element to check if Scrollable.
     * @returns {boolean} ?
     */
    private isScrollable;
    /**
     *
     * @param {MouseEventArgs | TouchEventArgs} evt ?
     * @returns {void} ?
     */
    private startEvent;
    /**
     *
     * @param {MouseEventArgs | TouchEventArgs} evt ?
     * @returns {void} ?
     */
    private moveEvent;
    /**
     *
     * @param {MouseEventArgs | TouchEventArgs} evt ?
     * @returns {void} ?
     */
    private cancelEvent;
    /**
     *
     * @param {MouseEventArgs | TouchEventArgs} evt ?
     * @returns {void} ?
     */
    private tapHoldEvent;
    /**
     *
     * @param {MouseEventArgs | TouchEventArgs} evt ?
     * @returns {void} ?
     */
    private endEvent;
    /**
     *
     * @param {MouseEventArgs | TouchEventArgs} evt ?
     * @returns {void} ?
     */
    private swipeFn;
    private modeclear;
    private calcPoints;
    private calcScrollPoints;
    private getVelocity;
    private checkSwipe;
    private updateChangeTouches;
}
/**
 * The argument type of `Tap` Event
 */
export interface TapEventArgs extends BaseEventArgs {
    /**
     * Original native event Object.
     */
    originalEvent: TouchEventArgs | MouseEventArgs;
    /**
     * Tap Count.
     */
    tapCount?: number;
}
/**
 * The argument type of `Scroll` Event
 */
export interface ScrollEventArgs extends BaseEventArgs {
    /**
     * Event argument for start event.
     */
    startEvents: TouchEventArgs | MouseEventArgs;
    /**
     * Original native event object for scroll.
     */
    originalEvent: TouchEventArgs | MouseEventArgs;
    /**
     * X position when scroll started.
     */
    startX: number;
    /**
     * Y position when scroll started.
     */
    startY: number;
    /**
     * The direction scroll.
     */
    scrollDirection: string;
    /**
     * The total traveled distance from X position
     */
    distanceX: number;
    /**
     * The total traveled distance from Y position
     */
    distanceY: number;
    /**
     * The velocity of scroll.
     */
    velocity: number;
}
/**
 * The argument type of `Swipe` Event
 */
export interface SwipeEventArgs extends BaseEventArgs {
    /**
     * Event argument for start event.
     */
    startEvents: TouchEventArgs | MouseEventArgs;
    /**
     * Original native event object  for swipe.
     */
    originalEvent: TouchEventArgs | MouseEventArgs;
    /**
     * X position when swipe started.
     */
    startX: number;
    /**
     * Y position when swipe started.
     */
    startY: number;
    /**
     * The direction swipe.
     */
    swipeDirection: string;
    /**
     * The total traveled distance from X position
     */
    distanceX: number;
    /**
     * The total traveled distance from Y position
     */
    distanceY: number;
    /**
     * The velocity of swipe.
     */
    velocity: number;
}
export interface TouchEventArgs extends MouseEvent {
    /**
     * A TouchList with touched points.
     */
    changedTouches: MouseEventArgs[] | TouchEventArgs[];
    /**
     * Cancel the default action.
     */
    preventDefault(): void;
    /**
     * The horizontal coordinate point of client area.
     */
    clientX: number;
    /**
     * The vertical coordinate point of client area.
     */
    clientY: number;
}
export interface MouseEventArgs extends MouseEvent {
    /**
     * A TouchList with touched points.
     */
    changedTouches: MouseEventArgs[] | TouchEventArgs[];
    /**
     * Cancel the default action.
     */
    preventDefault(): void;
    /**
     * The horizontal coordinate point of client area.
     */
    clientX: number;
    /**
     * The vertical coordinate point of client area.
     */
    clientY: number;
}
//node_modules/@syncfusion/ej2-base/src/util.d.ts
/**
 * Common utility methods
 */
export interface IKeyValue extends CSSStyleDeclaration {
    [key: string]: any;
}
/**
 * Function to check whether the platform is blazor or not.
 *
 * @returns {void} result
 * @private
 */
export  function disableBlazorMode(): void;
/**
 * Create Instance from constructor function with desired parameters.
 *
 * @param {Function} classFunction - Class function to which need to create instance
 * @param {any[]} params - Parameters need to passed while creating instance
 * @returns {any} ?
 * @private
 */
export  function createInstance(classFunction: Function, params: any[]): any;
/**
 * To run a callback function immediately after the browser has completed other operations.
 *
 * @param {Function} handler - callback function to be triggered.
 * @returns {Function} ?
 * @private
 */
export  function setImmediate(handler: Function): Function;
/**
 * To get nameSpace value from the desired object.
 *
 * @param {string} nameSpace - String value to the get the inner object
 * @param {any} obj - Object to get the inner object value.
 * @returns {any} ?
 * @private
 */
export  function getValue(nameSpace: string, obj: any): any;
/**
 * To set value for the nameSpace in desired object.
 *
 * @param {string} nameSpace - String value to the get the inner object
 * @param {any} value - Value that you need to set.
 * @param {any} obj - Object to get the inner object value.
 * @returns {any} ?
 * @private
 */
export  function setValue(nameSpace: string, value: any, obj: any): any;
/**
 * Delete an item from Object
 *
 * @param {any} obj - Object in which we need to delete an item.
 * @param {string} key - String value to the get the inner object
 * @returns {void} ?
 * @private
 */
export  function deleteObject(obj: any, key: string): void;
/**
 *@private
 */
export  const containerObject: any;
/**
 * Check weather the given argument is only object.
 *
 * @param {any} obj - Object which is need to check.
 * @returns {boolean} ?
 * @private
 */
export  function isObject(obj: any): boolean;
/**
 * To get enum value by giving the string.
 *
 * @param {any} enumObject - Enum object.
 * @param {string} enumValue - Enum value to be searched
 * @returns {any} ?
 * @private
 */
export  function getEnumValue(enumObject: any, enumValue: string | number): any;
/**
 * Merge the source object into destination object.
 *
 * @param {any} source - source object which is going to merge with destination object
 * @param {any} destination - object need to be merged
 * @returns {void} ?
 * @private
 */
export  function merge(source: Object, destination: Object): void;
/**
 * Extend the two object with newer one.
 *
 * @param {any} copied - Resultant object after merged
 * @param {Object} first - First object need to merge
 * @param {Object} second - Second object need to merge
 * @param {boolean} deep ?
 * @returns {Object} ?
 * @private
 */
export  function extend(copied: Object, first: Object, second?: Object, deep?: boolean): Object;
/**
 * To check whether the object is null or undefined.
 *
 * @param {Object} value - To check the object is null or undefined
 * @returns {boolean} ?
 * @private
 */
export  function isNullOrUndefined(value: Object): boolean;
/**
 * To check whether the object is undefined.
 *
 * @param {Object} value - To check the object is undefined
 * @returns {boolean} ?
 * @private
 */
export  function isUndefined(value: Object): boolean;
/**
 * To return the generated unique name
 *
 * @param {string} definedName - To concatenate the unique id to provided name
 * @returns {string} ?
 * @private
 */
export  function getUniqueID(definedName?: string): string;
/**
 * It limits the rate at which a function can fire. The function will fire only once every provided second instead of as quickly.
 *
 * @param {Function} eventFunction - Specifies the function to run when the event occurs
 * @param {number} delay - A number that specifies the milliseconds for function delay call option
 * @returns {Function} ?
 * @private
 */
export  function debounce(eventFunction: Function, delay: number): Function;
/**
 * To convert the object to string for query url
 *
 * @param  {Object} data ?
 * @returns {string} ?
 * @private
 */
export  function queryParams(data: any): string;
/**
 * To check whether the given array contains object.
 *
 * @param {any} value - Specifies the T type array to be checked.
 * @returns {boolean} ?
 * @private
 */
export  function isObjectArray<T>(value: T[]): boolean;
/**
 * To check whether the  child element is descendant to parent element or parent and child are same element.
 *
 * @param {Element} child - Specifies the child element to compare with parent.
 * @param {Element} parent - Specifies the parent element.
 * @returns {boolean} ?
 * @private
 */
export  function compareElementParent(child: Element, parent: Element): boolean;
/**
 * To throw custom error message.
 *
 * @param {string} message - Specifies the error message to be thrown.
 * @returns {void} ?
 * @private
 */
export  function throwError(message: string): void;
/**
 * This function is used to print given element
 *
 * @param {Element} element - Specifies the print content element.
 * @param {Window} printWindow - Specifies the print window.
 * @returns {Window} ?
 * @private
 */
export  function print(element: Element, printWindow?: Window): Window;
/**
 * Function to normalize the units applied to the element.
 *
 * @param {number|string} value ?
 * @returns {string} result
 * @private
 */
export  function formatUnit(value: number | string): string;
/**
 * Function to check whether the platform is blazor or not.
 *
 * @returns {void} result
 * @private
 */
export  function enableBlazorMode(): void;
/**
 * Function to check whether the platform is blazor or not.
 *
 * @returns {boolean} result
 * @private
 */
export  function isBlazor(): boolean;
/**
 * Function to convert xPath to DOM element in blazor platform
 *
 * @returns {HTMLElement} result
 * @param {HTMLElement | object} element ?
 * @private
 */
export  function getElement(element: object): HTMLElement;
/**
 * Function to fetch the Instances of a HTML element for the given component.
 *
 * @param {string | HTMLElement} element ?
 * @param {any} component ?
 * @returns {Object} ?
 * @private
 */
export  function getInstance(element: string | HTMLElement, component: any): Object;
/**
 * Function to add instances for the given element.
 *
 * @param {string | HTMLElement} element ?
 * @param {Object} instance ?
 * @returns {void} ?
 * @private
 */
export  function addInstance(element: string | HTMLElement, instance: Object): void;
/**
 * Function to generate the unique id.
 *
 * @returns {any} ?
 * @private
 */
export  function uniqueID(): any;
//node_modules/@syncfusion/ej2-base/src/validate-lic.d.ts
/**
 * To set license key.
 *
 * @param {string} key - license key
 */
export  function registerLicense(key: string): void;
export  const validateLicense: Function;
export  const getVersion: Function;
 }
export namespace build { 

}
export namespace buttons { 

//node_modules/@syncfusion/ej2-buttons/src/button/button-model.d.ts
/**
 * Interface for a class Button
 */
export interface ButtonModel extends base.ComponentModel{
    /**
     * Positions the icon before/after the text content in the Button.
     * The possible values are:
     * * Left: The icon will be positioned to the left of the text content.
     * * Right: The icon will be positioned to the right of the text content.
     *
     * @default "left"
     */
    iconPosition?: IconPosition;
    /**
     * Defines class/multiple classes separated by a space for the Button that is used to include an icon.
     * Buttons can also include font icon and sprite image.
     *
     * @default ""
     */
    iconCss?: string;
    /**
     * Specifies a value that indicates whether the Button is `disabled` or not.
     *
     * @default false.
     */
    disabled?: boolean;
    /**
     * Allows the appearance of the Button to be enhanced and visually appealing when set to `true`.
     *
     * @default false
     */
    isPrimary?: boolean;
    /**
     * Defines class/multiple classes separated by a space in the Button element. The Button types, styles, and
     * size can be defined by using
     * [`this`](http://ej2.syncfusion.com/documentation/button/howto.html?lang=typescript#create-a-block-button).
     * {% codeBlock src='button/cssClass/index.md' %}{% endcodeBlock %}
     *
     * @default ""
     */
    cssClass?: string;
    /**
     * Defines the text `content` of the Button element.
     * {% codeBlock src='button/content/index.md' %}{% endcodeBlock %}
     *
     * @default ""
     */
    content?: string;
    /**
     * Makes the Button toggle, when set to `true`. When you click it, the state changes from normal to active.
     *
     * @default false
     */
    isToggle?: boolean;
    /**
     * Overrides the global culture and localization value for this component. Default global culture is 'en-US'.
     *
     * @private
     */
    locale?: string;
    /**
     * Defines whether to allow the cross-scripting site or not.
     *
     * @default false
     */
    enableHtmlSanitizer?: boolean;
    /**
     * Triggers once the component rendering is completed.
     *
     * @event created
     */
    created?: base.EmitType<Event>;
}
//node_modules/@syncfusion/ej2-buttons/src/button/button.d.ts
/**
 * Defines the icon position of button.
 */
export  type IconPosition = 'Left' | 'Right' | 'Top' | 'Bottom';
export  const buttonObserver: base.Observer;
/**
 * The Button is a graphical user interface element that triggers an event on its click action. It can contain a text, an image, or both.
 * ```html
 * <button id="button">Button</button>
 * ```
 * ```typescript
 * <script>
 * var btnObj = new Button();
 * btnObj.appendTo("#button");
 * </script>
 * ```
 */
export  class Button extends base.Component<HTMLButtonElement> implements base.INotifyPropertyChanged {
    private removeRippleEffect;
    /**
     * Positions the icon before/after the text content in the Button.
     * The possible values are:
     * * Left: The icon will be positioned to the left of the text content.
     * * Right: The icon will be positioned to the right of the text content.
     *
     * @default "left"
     */
    iconPosition: IconPosition;
    /**
     * Defines class/multiple classes separated by a space for the Button that is used to include an icon.
     * Buttons can also include font icon and sprite image.
     *
     * @default ""
     */
    iconCss: string;
    /**
     * Specifies a value that indicates whether the Button is `disabled` or not.
     *
     * @default false.
     */
    disabled: boolean;
    /**
     * Allows the appearance of the Button to be enhanced and visually appealing when set to `true`.
     *
     * @default false
     */
    isPrimary: boolean;
    /**
     * Defines class/multiple classes separated by a space in the Button element. The Button types, styles, and
     * size can be defined by using
     * [`this`](http://ej2.syncfusion.com/documentation/button/howto.html?lang=typescript#create-a-block-button).
     * {% codeBlock src='button/cssClass/index.md' %}{% endcodeBlock %}
     *
     * @default ""
     */
    cssClass: string;
    /**
     * Defines the text `content` of the Button element.
     * {% codeBlock src='button/content/index.md' %}{% endcodeBlock %}
     *
     * @default ""
     */
    content: string;
    /**
     * Makes the Button toggle, when set to `true`. When you click it, the state changes from normal to active.
     *
     * @default false
     */
    isToggle: boolean;
    /**
     * Overrides the global culture and localization value for this component. Default global culture is 'en-US'.
     *
     * @private
     */
    locale: string;
    /**
     * Defines whether to allow the cross-scripting site or not.
     *
     * @default false
     */
    enableHtmlSanitizer: boolean;
    /**
     * Triggers once the component rendering is completed.
     *
     * @event created
     */
    created: base.EmitType<Event>;
    /**
     * Constructor for creating the widget
     *
     * @param  {ButtonModel} options - Specifies the button model
     * @param  {string|HTMLButtonElement} element - Specifies the target element
     */
    constructor(options?: ButtonModel, element?: string | HTMLButtonElement);
    protected preRender(): void;
    /**
     * Initialize the control rendering
     *
     * @returns {void}
     * @private
     */
    render(): void;
    private initialize;
    private controlStatus;
    private setIconCss;
    protected wireEvents(): void;
    protected unWireEvents(): void;
    private btnClickHandler;
    /**
     * Destroys the widget.
     *
     * @returns {void}
     */
    destroy(): void;
    /**
     * Get component name.
     *
     * @returns {string} - Module name
     * @private
     */
    getModuleName(): string;
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @returns {string} - Persist Data
     * @private
     */
    getPersistData(): string;
    /**
     * Dynamically injects the required modules to the component.
     *
     * @private
     * @returns {void}
     */
    static Inject(): void;
    /**
     * Called internally if any of the property value changed.
     *
     * @param  {ButtonModel} newProp - Specifies new properties
     * @param  {ButtonModel} oldProp - Specifies old properties
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: ButtonModel, oldProp: ButtonModel): void;
    /**
     * Click the button element
     * its native method
     *
     * @public
     * @returns {void}
     */
    click(): void;
    /**
     * Sets the focus to Button
     * its native method
     *
     * @public
     * @returns {void}
     */
    focusIn(): void;
}
//node_modules/@syncfusion/ej2-buttons/src/button/index.d.ts
/**
 * Button modules
 */
//node_modules/@syncfusion/ej2-buttons/src/check-box/check-box-model.d.ts
/**
 * Interface for a class CheckBox
 */
export interface CheckBoxModel extends base.ComponentModel{
    /**
     * Triggers when the CheckBox state has been changed by user interaction.
     *
     * @event change
     */
    change?: base.EmitType<ChangeEventArgs>;
    /**
     * Triggers once the component rendering is completed.
     *
     * @event created
     */
    created?: base.EmitType<Event>;
    /**
     * Specifies a value that indicates whether the CheckBox is `checked` or not.
     * When set to `true`, the CheckBox will be in `checked` state.
     *
     * @default false
     */
    checked?: boolean;
    /**
     * Defines class/multiple classes separated by a space in the CheckBox element.
     * You can add custom styles to the CheckBox by using this property.
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * Specifies a value that indicates whether the CheckBox is `disabled` or not.
     * When set to `true`, the CheckBox will be in `disabled` state.
     *
     * @default false
     */
    disabled?: boolean;
    /**
     * Specifies a value that indicates whether the CheckBox is in `indeterminate` state or not.
     * When set to `true`, the CheckBox will be in `indeterminate` state.
     *
     * @default false
     */
    indeterminate?: boolean;
    /**
     * Defines the caption for the CheckBox, that describes the purpose of the CheckBox.
     *
     * @default ''
     */
    label?: string;
    /**
     * Positions label `before`/`after` the CheckBox.
     * The possible values are:
     * * Before - The label is positioned to left of the CheckBox.
     * * After - The label is positioned to right of the CheckBox.
     *
     * @default 'After'
     */
    labelPosition?: LabelPosition;
    /**
     * Defines `name` attribute for the CheckBox.
     * It is used to reference form data (CheckBox value) after a form is submitted.
     *
     * @default ''
     */
    name?: string;
    /**
     * Defines `value` attribute for the CheckBox.
     * It is a form data passed to the server when submitting the form.
     *
     * @default ''
     */
    value?: string;
    /**
     * Defines whether to allow the cross-scripting site or not.
     *
     * @default false
     */
    enableHtmlSanitizer?: boolean;
    /**
     * You can add the additional html attributes such as disabled, value etc., to the element.
     * If you configured both property and equivalent html attribute then the component considers the property value.
     *
     * @default {}
     */
    htmlAttributes?: { [key: string]: string;
 };
}
//node_modules/@syncfusion/ej2-buttons/src/check-box/check-box.d.ts
/**
 * Defines the label position of CheckBox.
 */
export  type LabelPosition = 'After' | 'Before';
/**
 * The CheckBox is a graphical user interface element that allows you to select one or more options from the choices.
 * It contains checked, unchecked, and indeterminate states.
 * ```html
 * <input type="checkbox" id="checkbox"/>
 * <script>
 * var checkboxObj = new CheckBox({ label: "Default" });
 * checkboxObj.appendTo("#checkbox");
 * </script>
 * ```
 */
export  class CheckBox extends base.Component<HTMLInputElement> implements base.INotifyPropertyChanged {
    private tagName;
    private isFocused;
    private isMouseClick;
    private isVue;
    private formElement;
    private initialCheckedValue;
    private wrapper;
    private clickTriggered;
    private validCheck;
    /**
     * Triggers when the CheckBox state has been changed by user interaction.
     *
     * @event change
     */
    change: base.EmitType<ChangeEventArgs>;
    /**
     * Triggers once the component rendering is completed.
     *
     * @event created
     */
    created: base.EmitType<Event>;
    /**
     * Specifies a value that indicates whether the CheckBox is `checked` or not.
     * When set to `true`, the CheckBox will be in `checked` state.
     *
     * @default false
     */
    checked: boolean;
    /**
     * Defines class/multiple classes separated by a space in the CheckBox element.
     * You can add custom styles to the CheckBox by using this property.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * Specifies a value that indicates whether the CheckBox is `disabled` or not.
     * When set to `true`, the CheckBox will be in `disabled` state.
     *
     * @default false
     */
    disabled: boolean;
    /**
     * Specifies a value that indicates whether the CheckBox is in `indeterminate` state or not.
     * When set to `true`, the CheckBox will be in `indeterminate` state.
     *
     * @default false
     */
    indeterminate: boolean;
    /**
     * Defines the caption for the CheckBox, that describes the purpose of the CheckBox.
     *
     * @default ''
     */
    label: string;
    /**
     * Positions label `before`/`after` the CheckBox.
     * The possible values are:
     * * Before - The label is positioned to left of the CheckBox.
     * * After - The label is positioned to right of the CheckBox.
     *
     * @default 'After'
     */
    labelPosition: LabelPosition;
    /**
     * Defines `name` attribute for the CheckBox.
     * It is used to reference form data (CheckBox value) after a form is submitted.
     *
     * @default ''
     */
    name: string;
    /**
     * Defines `value` attribute for the CheckBox.
     * It is a form data passed to the server when submitting the form.
     *
     * @default ''
     */
    value: string;
    /**
     * Defines whether to allow the cross-scripting site or not.
     *
     * @default false
     */
    enableHtmlSanitizer: boolean;
    /**
     * You can add the additional html attributes such as disabled, value etc., to the element.
     * If you configured both property and equivalent html attribute then the component considers the property value.
     *
     * @default {}
     */
    htmlAttributes: {
        [key: string]: string;
    };
    /**
     * Constructor for creating the widget
     *
     * @private
     * @param {CheckBoxModel} options - Specifies checkbox model
     * @param {string | HTMLInputElement} element - Specifies target element
     */
    constructor(options?: CheckBoxModel, element?: string | HTMLInputElement);
    private changeState;
    private clickHandler;
    /**
     * Destroys the widget.
     *
     * @returns {void}
     */
    destroy(): void;
    private focusHandler;
    private focusOutHandler;
    /**
     * Gets the module name.
     *
     * @private
     * @returns {string} - Module Name
     */
    protected getModuleName(): string;
    /**
     * Gets the properties to be maintained in the persistence state.
     *
     * @private
     * @returns {string} - Persist Data
     */
    getPersistData(): string;
    private getWrapper;
    private initialize;
    private initWrapper;
    private keyUpHandler;
    private labelMouseDownHandler;
    private labelMouseUpHandler;
    /**
     * Called internally if any of the property value changes.
     *
     * @private
     * @param {CheckBoxModel} newProp - Specifies new Properties
     * @param {CheckBoxModel} oldProp - Specifies old Properties
     *
     * @returns {void}
     */
    onPropertyChanged(newProp: CheckBoxModel, oldProp: CheckBoxModel): void;
    /**
     * Initialize Angular, React and Unique ID support.
     *
     * @private
     * @returns {void}
     */
    protected preRender(): void;
    /**
     * Initialize the control rendering.
     *
     * @private
     * @returns {void}
     */
    protected render(): void;
    private setDisabled;
    private setText;
    private changeHandler;
    private formResetHandler;
    protected unWireEvents(): void;
    protected wireEvents(): void;
    private updateVueArrayModel;
    protected updateHtmlAttributeToWrapper(): void;
    /**
     * Click the CheckBox element
     * its native method
     *
     * @public
     * @returns {void}
     */
    click(): void;
    /**
     * Sets the focus to CheckBox
     * its native method
     *
     * @public
     * @returns {void}
     */
    focusIn(): void;
}
//node_modules/@syncfusion/ej2-buttons/src/check-box/index.d.ts
/**
 * CheckBox modules
 */
//node_modules/@syncfusion/ej2-buttons/src/chips/chip-list-model.d.ts
/**
 * Interface for a class ChipList
 */
export interface ChipListModel extends base.ComponentModel{
    /**
     * This chips property helps to render ChipList component.
     * {% codeBlock src='chips/chips/index.md' %}{% endcodeBlock %}
     *
     * @default []
     *
     */
    chips?: string[] | number[] | ChipModel[];
    /**
     * Specifies the text content for the chip.
     * {% codeBlock src='chips/text/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     */
    text?: string;
    /**
     * Specifies the customized text value for the avatar in the chip.
     * {% codeBlock src='chips/avatarText/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     */
    avatarText?: string;
    /**
     * Specifies the icon CSS class for the avatar in the chip.
     * {% codeBlock src='chips/avatarIconCss/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     */
    avatarIconCss?: string;
    /**
     * Specifies the leading icon CSS class for the chip.
     * {% codeBlock src='chips/leadingIconCss/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     */
    leadingIconCss?: string;
    /**
     * Specifies the trailing icon CSS class for the chip.
     * {% codeBlock src='chips/trailingIconCss/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     */
    trailingIconCss?: string;
    /**
     * Specifies the trailing icon url for the chip.
     *
     * @default ''
     */
    leadingIconUrl?: string;
    /**
     * Specifies the trailing icon url for the chip.
     *
     * @default ''
     */
    trailingIconUrl?: string;
    /**
     * Specifies the custom classes to be added to the chip element used to customize the ChipList component.
     * {% codeBlock src='chips/cssClass/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * Specifies a value that indicates whether the chip component is enabled or not.
     *
     * @default true
     */
    enabled?: boolean;
    /**
     * Sets or gets the selected chip items in the chip list.
     * {% codeBlock src='chips/selectedChips/index.md' %}{% endcodeBlock %}
     *
     * @default []
     */
    selectedChips?: string[] | number[] | number;
    /**
     * Defines the selection type of the chip. The available types are:
     *   1. Input chip
     *   2. Choice chip
     *   3. Filter chip
     *   4. Action chip
     *
     * @default 'None'
     */
    selection?: Selection;
    /**
     * Enables or disables the delete functionality of a chip.
     * {% codeBlock src='chips/enableDelete/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    enableDelete?: boolean;
    /**
     * Triggers when the component is created successfully.
     * {% codeBlock src='chips/created/index.md' %}{% endcodeBlock %}
     *
     * @event
     */
    created?: base.EmitType<Event>;
    /**
     * Triggers when a chip is clicked.
     * {% codeBlock src='chips/click/index.md' %}{% endcodeBlock %}
     *
     * @event
     */
    click?: base.EmitType<ClickEventArgs>;
    /**
     * Triggers before the click event of the chip is fired.
     * This event can be used to prevent the further process and restrict the click action over a chip.
     *
     * {% codeBlock src='chips/beforeClick/index.md' %}{% endcodeBlock %}
     *
     * @event
     */
    beforeClick?: base.EmitType<ClickEventArgs>;
    /**
     * Fires before removing the chip element.
     * {% codeBlock src='chips/delete/index.md' %}{% endcodeBlock %}
     *
     * @event
     */
    delete?: base.EmitType<DeleteEventArgs>;
    /**
     * Triggers when the chip item is removed.
     * {% codeBlock src='chips/deleted/index.md' %}{% endcodeBlock %}
     *
     * @event
     */
    deleted?: base.EmitType<ChipDeletedEventArgs>;
}
//node_modules/@syncfusion/ej2-buttons/src/chips/chip-list.d.ts
export  const classNames: ClassNames;
export  type selectionType = 'index' | 'value' | 'text';
export  type Selection = 'Single' | 'Multiple' | 'None';
export interface ClassNames {
    chipSet: string;
    chip: string;
    avatar: string;
    text: string;
    icon: string;
    delete: string;
    deleteIcon: string;
    multiSelection: string;
    singleSelection: string;
    active: string;
    chipWrapper: string;
    iconWrapper: string;
    focused: string;
    disabled: string;
    rtl: string;
}
export interface SelectedItems {
    /**
     * It denotes the selected items text.
     */
    texts: string[];
    /**
     * It denotes the selected items index.
     */
    Indexes: number[];
    /**
     * It denotes the selected items data.
     */
    data: string[] | number[] | ChipModel[];
    /**
     * It denotes the selected items element.
     */
    elements: HTMLElement[];
}
export interface SelectedItem {
    /**
     * It denotes the selected item text.
     */
    text: string;
    /**
     * It denotes the selected item index.
     */
    index: number;
    /**
     * It denotes the selected item data.
     */
    data: string | number | ChipModel;
    /**
     * It denotes the selected item element.
     */
    element: HTMLElement;
}
export interface ClickEventArgs {
    /**
     * It denotes the clicked item text.
     */
    text: string;
    /**
     * It denotes the clicked item index.
     */
    index?: number;
    /**
     * It denotes the clicked item data.
     */
    data: string | number | ChipModel;
    /**
     * It denotes the clicked item element.
     */
    element: HTMLElement;
    /**
     * It denotes whether the clicked item is selected or not.
     */
    selected?: boolean;
    /**
     * It denotes whether the item can be clicked or not.
     */
    cancel: boolean;
    /**
     * It denotes the event.
     */
    event: base.MouseEventArgs | base.KeyboardEventArgs;
}
export interface DeleteEventArgs {
    /**
     * It denotes the deleted item text.
     */
    text: string;
    /**
     * It denotes the deleted item index.
     */
    index: number;
    /**
     * It denotes the deleted item data.
     */
    data: string | number | ChipModel;
    /**
     * It denotes the deleted Item element.
     */
    element: HTMLElement;
    /**
     * It denotes whether the item can be deleted or not.
     */
    cancel: boolean;
    /**
     * It denotes the event.
     */
    event: base.MouseEventArgs | base.KeyboardEventArgs;
}
export interface ChipDeletedEventArgs {
    /**
     * Specifies the text value of the deleted chip item.
     */
    text: string;
    /**
     * Specifies the index value of the deleted chip item.
     */
    index: number;
    /**
     * Specifies the data of the deleted chip item.
     */
    data: string | number | ChipModel;
}
export interface ChipDataArgs {
    /**
     * It denotes the item text.
     */
    text: string;
    /**
     * It denotes the Item index.
     */
    index: number;
    /**
     * It denotes the item data.
     */
    data: string | number | ChipModel;
    /**
     * It denotes the item element.
     */
    element: HTMLElement;
}
/**
 * A chip component is a small block of essential information, mostly used on contacts or filter tags.
 * ```html
 * <div id="chip"></div>
 * ```
 * ```typescript
 * <script>
 * var chipObj = new ChipList();
 * chipObj.appendTo("#chip");
 * </script>
 * ```
 */
export  class ChipList extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    /**
     * This chips property helps to render ChipList component.
     * {% codeBlock src='chips/chips/index.md' %}{% endcodeBlock %}
     *
     * @default []
     *
     */
    chips: string[] | number[] | ChipModel[];
    /**
     * Specifies the text content for the chip.
     * {% codeBlock src='chips/text/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     */
    text: string;
    /**
     * Specifies the customized text value for the avatar in the chip.
     * {% codeBlock src='chips/avatarText/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     */
    avatarText: string;
    /**
     * Specifies the icon CSS class for the avatar in the chip.
     * {% codeBlock src='chips/avatarIconCss/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     */
    avatarIconCss: string;
    /**
     * Specifies the leading icon CSS class for the chip.
     * {% codeBlock src='chips/leadingIconCss/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     */
    leadingIconCss: string;
    /**
     * Specifies the trailing icon CSS class for the chip.
     * {% codeBlock src='chips/trailingIconCss/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     */
    trailingIconCss: string;
    /**
     * Specifies the trailing icon url for the chip.
     *
     * @default ''
     */
    leadingIconUrl: string;
    /**
     * Specifies the trailing icon url for the chip.
     *
     * @default ''
     */
    trailingIconUrl: string;
    /**
     * Specifies the custom classes to be added to the chip element used to customize the ChipList component.
     * {% codeBlock src='chips/cssClass/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     */
    cssClass: string;
    /**
     * Specifies a value that indicates whether the chip component is enabled or not.
     *
     * @default true
     */
    enabled: boolean;
    /**
     * Sets or gets the selected chip items in the chip list.
     * {% codeBlock src='chips/selectedChips/index.md' %}{% endcodeBlock %}
     *
     * @default []
     */
    selectedChips: string[] | number[] | number;
    /**
     * Defines the selection type of the chip. The available types are:
     *   1. Input chip
     *   2. Choice chip
     *   3. Filter chip
     *   4. Action chip
     *
     * @default 'None'
     */
    selection: Selection;
    /**
     * Enables or disables the delete functionality of a chip.
     * {% codeBlock src='chips/enableDelete/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    enableDelete: boolean;
    /**
     * Triggers when the component is created successfully.
     * {% codeBlock src='chips/created/index.md' %}{% endcodeBlock %}
     *
     * @event
     */
    created: base.EmitType<Event>;
    /**
     * Triggers when a chip is clicked.
     * {% codeBlock src='chips/click/index.md' %}{% endcodeBlock %}
     *
     * @event
     */
    click: base.EmitType<ClickEventArgs>;
    /**
     * Triggers before the click event of the chip is fired.
     * This event can be used to prevent the further process and restrict the click action over a chip.
     *
     * {% codeBlock src='chips/beforeClick/index.md' %}{% endcodeBlock %}
     *
     * @event
     */
    beforeClick: base.EmitType<ClickEventArgs>;
    /**
     * Fires before removing the chip element.
     * {% codeBlock src='chips/delete/index.md' %}{% endcodeBlock %}
     *
     * @event
     */
    delete: base.EmitType<DeleteEventArgs>;
    /**
     * Triggers when the chip item is removed.
     * {% codeBlock src='chips/deleted/index.md' %}{% endcodeBlock %}
     *
     * @event
     */
    deleted: base.EmitType<ChipDeletedEventArgs>;
    constructor(options?: ChipListModel, element?: string | HTMLElement);
    private rippleFunction;
    private type;
    private innerText;
    multiSelectedChip: number[];
    /**
     * Initialize the event handler
     *
     * @private
     */
    protected preRender(): void;
    /**
     * To find the chips length.
     *
     * @returns boolean
     * @private
     */
    protected chipType(): boolean;
    /**
     * To Initialize the control rendering.
     *
     * @returns void
     * @private
     */
    protected render(): void;
    private createChip;
    private setAttributes;
    private setRtl;
    private chipCreation;
    private getFieldValues;
    private elementCreation;
    /**
     * A function that finds chip based on given input.
     *
     * @param  {number | HTMLElement } fields - We can pass index number or element of chip.
     * {% codeBlock src='chips/find/index.md' %}{% endcodeBlock %}.
     */
    find(fields: number | HTMLElement): ChipDataArgs;
    /**
     * Allows adding the chip item(s) by passing a single or array of string, number, or ChipModel values.
     *
     * @param  {string[] | number[] | ChipModel[] | string | number | ChipModel} chipsData - We can pass array of string or
     *  array of number or array of chip model or string data or number data or chip model.
     * {% codeBlock src='chips/add/index.md' %}{% endcodeBlock %}
     * @deprecated
     */
    add(chipsData: string[] | number[] | ChipModel[] | string | number | ChipModel): void;
    /**
     * Allows selecting the chip item(s) by passing a single or array of string, number, or ChipModel values.
     *
     * @param  {number | number[] | HTMLElement | HTMLElement[]} fields - We can pass number or array of number
     *  or chip element or array of chip element.
     * {% codeBlock src='chips/select/index.md' %}{% endcodeBlock %}
     */
    select(fields: number | number[] | HTMLElement | HTMLElement[] | string[], selectionType?: selectionType): void;
    private multiSelection;
    private onSelect;
    /**
     * Allows removing the chip item(s) by passing a single or array of string, number, or ChipModel values.
     *
     * @param  {number | number[] | HTMLElement | HTMLElement[]} fields - We can pass number or array of number
     *  or chip element or array of chip element.
     * {% codeBlock src='chips/remove/index.md' %}{% endcodeBlock %}
     */
    remove(fields: number | number[] | HTMLElement | HTMLElement[]): void;
    /**
     * Returns the selected chip(s) data.
     * {% codeBlock src='chips/getSelectedChips/index.md' %}{% endcodeBlock %}
     */
    getSelectedChips(): SelectedItem | SelectedItems;
    private wireEvent;
    private keyHandler;
    private focusInHandler;
    private focusOutHandler;
    private clickHandler;
    private clickEventHandler;
    private selectionHandler;
    private updateSelectedChips;
    private deleteHandler;
    /**
     * Removes the component from the DOM and detaches all its related event handlers. Also, it removes the attributes and classes.
     * {% codeBlock src='chips/destroy/index.md' %}{% endcodeBlock %}
     */
    destroy(): void;
    private removeMultipleAttributes;
    getPersistData(): string;
    getModuleName(): string;
    /**
     * Called internally if any of the property value changed.
     *
     * @returns void
     * @private
     */
    onPropertyChanged(newProp: ChipList, oldProp: ChipList): void;
}
//node_modules/@syncfusion/ej2-buttons/src/chips/chip.d.ts
/**
 * Represents ChipList `Chip` model class.
 */
export  class Chip {
    /**
     * Specifies the text content for the chip.
     *
     * @default ''
     */
    text: string;
    /**
     * Specifies the customized text value for the avatar in the chip.
     *
     * @default ''
     */
    avatarText: string;
    /**
     * Specifies the icon CSS class for the avatar in the chip.
     *
     * @default ''
     */
    avatarIconCss: string;
    /**
     * Specifies the leading icon CSS class for the chip.
     *
     * @default ''
     */
    leadingIconCss: string;
    /**
     * Specifies the trailing icon CSS class for the chip.
     *
     * @default ''
     */
    trailingIconCss: string;
    /**
     * Specifies the custom classes to be added to the chip element used to customize the ChipList component.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * Specifies a value that indicates whether the chip component is enabled or not.
     *
     * @default true
     */
    enabled: boolean;
    /**
     * Defines the value of the chip.
     *
     * @default ''
     */
    value: string | number;
}
export interface ChipModel {
    /**
     * Specifies the text content for the chip.
     *
     * @default ''
     */
    text?: string;
    /**
     * Defines the value of the chip.
     *
     * @default ''
     */
    value?: string | number;
    /**
     * Specifies the customized text value for the avatar in the chip.
     *
     * @default ''
     */
    avatarText?: string;
    /**
     * Specifies the icon CSS class for the avatar in the chip.
     *
     * @default ''
     */
    avatarIconCss?: string;
    /**
     * Specifies the leading icon CSS class for the chip.
     *
     * @default ''
     */
    leadingIconCss?: string;
    /**
     * Specifies the trailing icon CSS class for the chip.
     *
     * @default ''
     */
    trailingIconCss?: string;
    /**
     * Specifies the custom classes to be added to the chip element used to customize the ChipList component.
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * Specifies a value that indicates whether the chip component is enabled or not.
     *
     * @default true
     */
    enabled?: boolean;
    /**
     * Specifies the leading icon url for the chip.
     *
     * @default ''
     */
    leadingIconUrl?: string;
    /**
     * Specifies the trailing icon url for the chip.
     *
     * @default ''
     */
    trailingIconUrl?: string;
}
//node_modules/@syncfusion/ej2-buttons/src/chips/index.d.ts
/**
 * Chip modules
 */
//node_modules/@syncfusion/ej2-buttons/src/common/common.d.ts
/**
 * Initialize wrapper element for angular.
 *
 * @private
 *
 * @param {CreateElementArgs} createElement - Specifies created element args
 * @param {string} tag - Specifies tag name
 * @param {string} type - Specifies type name
 * @param {HTMLInputElement} element - Specifies input element
 * @param {string} WRAPPER - Specifies wrapper element
 * @param {string} role - Specifies role
 * @returns {HTMLInputElement} - Input Element
 */
export  function wrapperInitialize(createElement: CreateElementArgs, tag: string, type: string, element: HTMLInputElement, WRAPPER: string, role: string): HTMLInputElement;
/**
 * Get the text node.
 *
 * @param {HTMLElement} element - Specifies html element
 * @private
 * @returns {Node} - Text node.
 */
export  function getTextNode(element: HTMLElement): Node;
/**
 * Destroy the button components.
 *
 * @private
 * @param {Switch | CheckBox} ejInst - Specifies eJ2 Instance
 * @param {Element} wrapper - Specifies wrapper element
 * @param {string} tagName - Specifies tag name
 * @returns {void}
 */
export  function destroy(ejInst: Switch | CheckBox, wrapper: Element, tagName: string): void;
/**
 * Initialize control pre rendering.
 *
 * @private
 * @param {Switch | CheckBox} proxy - Specifies proxy
 * @param {string} control - Specifies control
 * @param {string} wrapper - Specifies wrapper element
 * @param {HTMLInputElement} element - Specifies input element
 * @param {string} moduleName - Specifies module name
 * @returns {void}
 */
export  function preRender(proxy: Switch | CheckBox, control: string, wrapper: string, element: HTMLInputElement, moduleName: string): void;
/**
 * Creates CheckBox component UI with theming and ripple support.
 *
 * @private
 * @param {CreateElementArgs} createElement - Specifies Created Element args
 * @param {boolean} enableRipple - Specifies ripple effect
 * @param {CheckBoxUtilModel} options - Specifies Checkbox util Model
 * @returns {Element} - Checkbox Element
 */
export  function createCheckBox(createElement: CreateElementArgs, enableRipple?: boolean, options?: CheckBoxUtilModel): Element;
/**
 * Handles ripple mouse.
 *
 * @private
 * @param {MouseEvent} e - Specifies mouse event
 * @param {Element} rippleSpan - Specifies Ripple span element
 * @returns {void}
 */
export  function rippleMouseHandler(e: MouseEvent, rippleSpan: Element): void;
/**
 * Append hidden input to given element
 *
 * @private
 * @param {Switch | CheckBox} proxy - Specifies Proxy
 * @param {Element} wrap - Specifies Wrapper ELement
 * @returns {void}
 */
export  function setHiddenInput(proxy: Switch | CheckBox, wrap: Element): void;
export interface CheckBoxUtilModel {
    checked?: boolean;
    label?: string;
    enableRtl?: boolean;
    cssClass?: string;
    disableHtmlEncode?: boolean;
}
/**
 * Interface for change event arguments.
 */
export interface ChangeEventArgs extends base.BaseEventArgs {
    /** Returns the event parameters of the CheckBox or Switch.
     *
     * @blazorType MouseEventArgs
     */
    event?: Event;
    /** Returns the checked value of the CheckBox or Switch. */
    checked?: boolean;
}
export  type CreateElementArgs = (tag: string, prop?: {
    id?: string;
    className?: string;
    innerHTML?: string;
    styles?: string;
    attrs?: {
        [key: string]: string;
    };
}) => HTMLElement;
//node_modules/@syncfusion/ej2-buttons/src/common/index.d.ts
/**
 * Common modules
 */
//node_modules/@syncfusion/ej2-buttons/src/floating-action-button/floating-action-button-model.d.ts
/**
 * Interface for a class Fab
 */
export interface FabModel extends ButtonModel{
    /**
     * Defines the position of the FAB relative to target.
     * The possible values are:
     * * TopLeft: Positions the FAB at the target's top left corner.
     * * TopCenter: Positions the FAB at the target's top left corner.
     * * TopRight: Positions the FAB at the target's top left corner.
     * * MiddleLeft: Positions the FAB at the target's top left corner.
     * * MiddleCenter: Positions the FAB at the target's top left corner.
     * * MiddleRight: Positions the FAB at the target's top left corner.
     * * BottomLeft: Positions the FAB at the target's top left corner.
     * * BottomCenter: Places the FAB on the bottom-center position of the target.
     * * BottomRight: Positions the FAB at the target's bottom right corner.
     *  To refresh the position of FAB on target resize, use refreshPosition method. 
     *  The position will be refreshed automatically when browser resized.
     *
     * @isenumeration true
     * @default FabPosition.BottomRight
     * @asptype FabPosition
     */
    position?: string | FabPosition;
    /**
     * Defines the selector that points to an element in which the FAB will be positioned. 
     * By default, FAB is positioned based on viewport of browser.
     * The target element must have relative position, else FAB will get positioned based on the closest element which has relative position.
     *
     * @default ''
     */
    target?: string | HTMLElement;
    /**
     * Defines whether the fab is visible or hidden.
     *
     * @default true.
     */
    visible?: boolean;
    /**
     * Defines whether to apply primary style for FAB.
     *
     * @default true
     */
    isPrimary?: boolean;
}
//node_modules/@syncfusion/ej2-buttons/src/floating-action-button/floating-action-button.d.ts

/**
 * Defines the position of FAB (Floating Action Button) in target.
 */
export  enum FabPosition {
    /**
     * Positions the FAB at the target's top left corner.
     */
    TopLeft = 0,
    /**
     * Places the FAB on the top-center position of the target.
     */
    TopCenter = 1,
    /**
     * PPositions the FAB at the target's top right corner.
     */
    TopRight = 2,
    /**
     * Positions the FAB in the middle of target's left side.
     */
    MiddleLeft = 3,
    /**
     * Positions the FAB in the center of target.
     */
    MiddleCenter = 4,
    /**
     * Positions the FAB in the middle of target's right side.
     */
    MiddleRight = 5,
    /**
     * Positions the FAB at the target's bottom left corner.
     */
    BottomLeft = 6,
    /**
     * Places the FAB on the bottom-center position of the target.
     */
    BottomCenter = 7,
    /**
     * Positions the FAB at the target's bottom right corner.
     */
    BottomRight = 8
}
/**
 * The FAB Component (Floating Action Button) is an extension of Button Component that appears in front of all the contents of the page and performs the primary action.
 */
export  class Fab extends Button implements base.INotifyPropertyChanged {
    /**
     * Defines the position of the FAB relative to target.
     * The possible values are:
     * * TopLeft: Positions the FAB at the target's top left corner.
     * * TopCenter: Positions the FAB at the target's top left corner.
     * * TopRight: Positions the FAB at the target's top left corner.
     * * MiddleLeft: Positions the FAB at the target's top left corner.
     * * MiddleCenter: Positions the FAB at the target's top left corner.
     * * MiddleRight: Positions the FAB at the target's top left corner.
     * * BottomLeft: Positions the FAB at the target's top left corner.
     * * BottomCenter: Places the FAB on the bottom-center position of the target.
     * * BottomRight: Positions the FAB at the target's bottom right corner.
     *  To refresh the position of FAB on target resize, use refreshPosition method.
     *  The position will be refreshed automatically when browser resized.
     *
     * @isenumeration true
     * @default FabPosition.BottomRight
     * @asptype FabPosition
     */
    position: string | FabPosition;
    /**
     * Defines the selector that points to an element in which the FAB will be positioned.
     * By default, FAB is positioned based on viewport of browser.
     * The target element must have relative position, else FAB will get positioned based on the closest element which has relative position.
     *
     * @default ''
     */
    target: string | HTMLElement;
    /**
     * Defines whether the fab is visible or hidden.
     *
     * @default true.
     */
    visible: boolean;
    /**
     * Defines whether to apply primary style for FAB.
     *
     * @default true
     */
    isPrimary: boolean;
    private isFixed;
    private targetEle;
    /**
     * Constructor for creating the widget
     *
     * @param  {FabModel} options - Specifies the floating action button model
     * @param  {string|HTMLButtonElement} element - Specifies the target element
     */
    constructor(options?: FabModel, element?: string | HTMLButtonElement);
    /**
     * Initialize the control rendering
     *
     * @returns {void}
     * @private
     */
    render(): void;
    protected preRender(): void;
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @returns {string} - Persist data
     */
    getPersistData(): string;
    /**
     * Get component name.
     *
     * @returns {string} - Module name
     * @private
     */
    getModuleName(): string;
    private initializeFab;
    private checkTarget;
    private setVisibility;
    private getPosition;
    private setPosition;
    private setVerticalPosition;
    private setHorizontalPosition;
    private clearPosition;
    private clearHorizontalPosition;
    /**
     * Refreshes the FAB position. You can call this method to re-position FAB when target is resized.
     */
    refreshPosition(): void;
    private resizeHandler;
    /**
     * Destroys the FAB instance.
     *
     */
    destroy(): void;
    /**
     * Called internally if any of the property value changed.
     *
     * @param  {FabModel} newProp - Specifies new properties
     * @param  {FabModel} oldProp - Specifies old properties
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: FabModel, oldProp?: FabModel): void;
}
//node_modules/@syncfusion/ej2-buttons/src/floating-action-button/index.d.ts
/**
 * Floating Action Button modules
 */
//node_modules/@syncfusion/ej2-buttons/src/index.d.ts
/**
 * Button all modules
 */
//node_modules/@syncfusion/ej2-buttons/src/radio-button/index.d.ts
/**
 * RadioButton modules
 */
//node_modules/@syncfusion/ej2-buttons/src/radio-button/radio-button-model.d.ts
/**
 * Interface for a class RadioButton
 */
export interface RadioButtonModel extends base.ComponentModel{
    /**
     * base.Event trigger when the RadioButton state has been changed by user interaction.
     *
     * @event change
     */
    change?: base.EmitType<ChangeArgs>;
    /**
     * Triggers once the component rendering is completed.
     *
     * @event created
     */
    created?: base.EmitType<Event>;
    /**
     * Specifies a value that indicates whether the RadioButton is `checked` or not.
     * When set to `true`, the RadioButton will be in `checked` state.
     *
     * @default false
     */
    checked?: boolean;
    /**
     * Defines class/multiple classes separated by a space in the RadioButton element.
     * You can add custom styles to the RadioButton by using this property.
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * Specifies a value that indicates whether the RadioButton is `disabled` or not.
     * When set to `true`, the RadioButton will be in `disabled` state.
     *
     * @default false
     */
    disabled?: boolean;
    /**
     * Defines the caption for the RadioButton, that describes the purpose of the RadioButton.
     *
     * @default ''
     */
    label?: string;
    /**
     * Positions label `before`/`after` the RadioButton.
     * The possible values are:
     * * Before: The label is positioned to left of the RadioButton.
     * * After: The label is positioned to right of the RadioButton.
     *
     * @default 'After'
     */
    labelPosition?: RadioLabelPosition;
    /**
     * Defines `name` attribute for the RadioButton.
     * It is used to reference form data (RadioButton value) after a form is submitted.
     *
     * @default ''
     */
    name?: string;
    /**
     * Defines `value` attribute for the RadioButton.
     * It is a form data passed to the server when submitting the form.
     *
     * @default ''
     */
    value?: string;
    /**
     * Defines whether to allow the cross-scripting site or not.
     *
     * @default false
     */
    enableHtmlSanitizer?: boolean;
    /**
     * You can add the additional html base.attributes such as disabled, value etc., to the element.
     * If you configured both property and equivalent html attribute then the component considers the property value.
     *
     * @default {}
     */
    htmlAttributes?: { [key: string]: string;
 };
}
//node_modules/@syncfusion/ej2-buttons/src/radio-button/radio-button.d.ts
/**
 * Defines the label position of Radio Button.
 */
export  type RadioLabelPosition = 'After' | 'Before';
/**
 * The RadioButton is a graphical user interface element that allows you to select one option from the choices.
 * It contains checked and unchecked states.
 * ```html
 * <input type="radio" id="radio"/>
 * <script>
 * var radioObj = new RadioButton({ label: "Default" });
 * radioObj.appendTo("#radio");
 * </script>
 * ```
 */
export  class RadioButton extends base.Component<HTMLInputElement> implements base.INotifyPropertyChanged {
    private tagName;
    private isFocused;
    private formElement;
    private initialCheckedValue;
    private angularValue;
    private isVue;
    private wrapper;
    /**
     * Event trigger when the RadioButton state has been changed by user interaction.
     *
     * @event change
     */
    change: base.EmitType<ChangeArgs>;
    /**
     * Triggers once the component rendering is completed.
     *
     * @event created
     */
    created: base.EmitType<Event>;
    /**
     * Specifies a value that indicates whether the RadioButton is `checked` or not.
     * When set to `true`, the RadioButton will be in `checked` state.
     *
     * @default false
     */
    checked: boolean;
    /**
     * Defines class/multiple classes separated by a space in the RadioButton element.
     * You can add custom styles to the RadioButton by using this property.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * Specifies a value that indicates whether the RadioButton is `disabled` or not.
     * When set to `true`, the RadioButton will be in `disabled` state.
     *
     * @default false
     */
    disabled: boolean;
    /**
     * Defines the caption for the RadioButton, that describes the purpose of the RadioButton.
     *
     * @default ''
     */
    label: string;
    /**
     * Positions label `before`/`after` the RadioButton.
     * The possible values are:
     * * Before: The label is positioned to left of the RadioButton.
     * * After: The label is positioned to right of the RadioButton.
     *
     * @default 'After'
     */
    labelPosition: RadioLabelPosition;
    /**
     * Defines `name` attribute for the RadioButton.
     * It is used to reference form data (RadioButton value) after a form is submitted.
     *
     * @default ''
     */
    name: string;
    /**
     * Defines `value` attribute for the RadioButton.
     * It is a form data passed to the server when submitting the form.
     *
     * @default ''
     */
    value: string;
    /**
     * Defines whether to allow the cross-scripting site or not.
     *
     * @default false
     */
    enableHtmlSanitizer: boolean;
    /**
     * You can add the additional html attributes such as disabled, value etc., to the element.
     * If you configured both property and equivalent html attribute then the component considers the property value.
     *
     * @default {}
     */
    htmlAttributes: {
        [key: string]: string;
    };
    /**
     * Constructor for creating the widget
     *
     * @private
     * @param {RadioButtonModel} options - Specifies Radio button model
     * @param {string | HTMLInputElement} element - Specifies target element
     */
    constructor(options?: RadioButtonModel, element?: string | HTMLInputElement);
    private changeHandler;
    private updateChange;
    /**
     * Destroys the widget.
     *
     * @returns {void}
     */
    destroy(): void;
    private focusHandler;
    private focusOutHandler;
    protected getModuleName(): string;
    /**
     * To get the value of selected radio button in a group.
     *
     * @method getSelectedValue
     * @returns {string} - Selected Value
     */
    getSelectedValue(): string;
    private getRadioGroup;
    /**
     * Gets the properties to be maintained in the persistence state.
     *
     * @private
     * @returns {string} - Persist Data
     */
    getPersistData(): string;
    private getWrapper;
    private getLabel;
    private initialize;
    private initWrapper;
    private keyUpHandler;
    private labelRippleHandler;
    private formResetHandler;
    /**
     * Called internally if any of the property value changes.
     *
     * @private
     * @param {RadioButtonModel} newProp - Specifies New Properties
     * @param {RadioButtonModel} oldProp - Specifies Old Properties
     * @returns {void}
     */
    onPropertyChanged(newProp: RadioButtonModel, oldProp: RadioButtonModel): void;
    /**
     * Initialize checked Property, Angular and React and Unique ID support.
     *
     * @private
     * @returns {void}
     */
    protected preRender(): void;
    /**
     * Initialize the control rendering
     *
     * @private
     * @returns {void}
     */
    protected render(): void;
    private setDisabled;
    private setText;
    private updateHtmlAttribute;
    protected unWireEvents(): void;
    protected wireEvents(): void;
    /**
     * Click the RadioButton element
     * its native method
     *
     * @public
     * @returns {void}
     */
    click(): void;
    /**
     * Sets the focus to RadioButton
     * its native method
     *
     * @public
     * @returns {void}
     */
    focusIn(): void;
}
/**
 * Interface for Radio Button change event arguments.
 */
export interface ChangeArgs extends base.BaseEventArgs {
    /** Returns the value of the RadioButton. */
    value?: string;
    /** Returns the event parameters of the RadioButton. */
    event?: Event;
}
//node_modules/@syncfusion/ej2-buttons/src/speed-dial/index.d.ts
/**
 * SpeedDial modules
 */
//node_modules/@syncfusion/ej2-buttons/src/speed-dial/speed-dial-model.d.ts
/**
 * Interface for a class SpeedDialAnimationSettings
 */
export interface SpeedDialAnimationSettingsModel {
    /**
     * Defines  the type of animation effect used for opening and closing of the Speed Dial items. 
     * 
     * @isenumeration true
     * @default SpeedDialAnimationEffect.Fade
     * @asptype SpeedDialAnimationEffect
     */
    effect?: string | SpeedDialAnimationEffect;
    /**
     * Defines the duration in milliseconds that the animation takes to open or close the popup.
     * @default 400
     * @aspType int
     */
    duration?: number;
    /**
     * Defines the delay before starting the animation.
     * @default 0
     * @aspType int
     */
    delay?: number;
}
/**
 * Interface for a class RadialSettings
 */
export interface RadialSettingsModel {
    /**
     * Defines speed dial action items placement order.
     * The possible values are
     * * Clockwise
     * * AntiClockwise
     * * Auto
     *
     * @isenumeration true
     * @default RadialDirection.Auto
     * @asptype RadialDirection
     */
    direction?: string | RadialDirection;
    /**
     * Defines end angle of speed dial items placement. The accepted value range is 0 to 360.
     * When a value is outside the accepted value range, then the provided value is ignored, and the angle is calculated based on the position.
     *
     * @default -1
     * @aspType int
     */
    endAngle?: number;
    /**
     * Defines distance of speed dial items placement from the button of Speed Dial.
     *
     * @default '100px'
     * @aspType string
     */
    offset?: string | number;
    /**
     * Defines start angle of speed dial items placement. The accepted value range is 0 to 360.
     * When a value is outside the accepted value range, then the provided value is ignored, and the angle is calculated based on the position.
     *
     * @default -1
     * @aspType int
     */
    startAngle?: number;
}
/**
 * Interface for a class SpeedDialItem
 */
export interface SpeedDialItemModel {
    /**
     * Defines one or more CSS classes to include an icon or image in speed dial item. 
     *
     * @default ''
     */
    iconCss?: string;
    /**
     * Defines a unique value for the SpeedDialItem which can be used to identify the item in event args.
     *
     * @default ''
     */
    id?: string;
    /**
     * Defines the text content of SpeedDialItem.
     * Text won't be visible when mode is Radial.
     * Also, in Linear mode, text won't be displayed when direction is Left or Right.
     *
     * @default ''
     */
    text?: string;
    /**
     * Defines the title of SpeedDialItem to display tooltip.
     *
     * @default ''
     */
    title?: string;
    /**
     * Defines whether to enable or disable the SpeedDialItem.
     *
     * @default false
     */
    disabled?: boolean;
}
/**
 * Interface for a class SpeedDial
 */
export interface SpeedDialModel extends base.ComponentModel{
    /**
     * Provides options to customize the animation applied while opening and closing the popup of speed dial
     *
     * @default { effect: 'Fade', duration: 400, delay: 0 }
     */
    animation?: SpeedDialAnimationSettingsModel;
    /**
     * Defines the content for the button of SpeedDial. 
     *
     * @default ''
     */
    content?: string;
    /**
     * Defines one or more CSS classes to include an icon or image to denote the speed dial is opened and displaying menu items.
     *
     * @default ''
     */
    closeIconCss?: string;
    /**
     * Defines one or more CSS classes to customize the appearance of SpeedDial. 
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * Defines the speed dial item display direction when mode is linear .
     * The possible values are 
     * * Up
     * * Down
     * * Left
     * * Right
     * * Auto
     * 
     * @isenumeration true
     * @default LinearDirection.Auto
     * @asptype LinearDirection
     */
    direction?: string | LinearDirection;
    /**
     * Defines whether to enable or disable the SpeedDial.
     *
     * @default false.
     */
    disabled?: boolean;
    /**
     * Defines the position of icon in the button of speed dial. 
     * The possible values are:
     * * Left
     * * Right
     *
     * @default "left"
     */
    iconPosition?: IconPosition;
    /**
     * Defines the list of SpeedDial items.
     *
     * @default []
     */
    items?: SpeedDialItemModel[];
    /**
    * Defines the template content for the speed dial item.
    *
    * @default ''
    */
    itemTemplate?: string;
    /**
     * Defines the display mode of speed dial action items. 
     * The possible values are:
     * * Linear
     * * Radial
     *
     * @isenumeration true
     * @default SpeedDialMode.Linear
     * @asptype SpeedDialMode
     */
    mode?: string | SpeedDialMode;
    /**
     * Defines one or more CSS classes to include an icon or image for the button of SpeedDial when it's closed.  
     *
     * @default ''
     */
    openIconCss?: string;
    /**
     * Defines whether to open the popup when the button of SpeedDial is hovered. 
     * By default, SpeedDial opens popup on click action.
     *
     * @default false
     */
    opensOnHover?: boolean;
    /**
     * Defines the position of the button of Speed Dial relative to target. 
     * Defines the position of the FAB relative to target.
     * The possible values are:
     * * TopLeft: Positions the FAB at the target's top left corner.
     * * TopCenter: Positions the FAB at the target's top left corner.
     * * TopRight: Positions the FAB at the target's top left corner.
     * * MiddleLeft: Positions the FAB at the target's top left corner.
     * * MiddleCenter: Positions the FAB at the target's top left corner.
     * * MiddleRight: Positions the FAB at the target's top left corner.
     * * BottomLeft: Positions the FAB at the target's top left corner.
     * * BottomCenter: Places the FAB on the bottom-center position of the target.
     * * BottomRight: Positions the FAB at the target's bottom right corner.
     *  To refresh the position of FAB on target resize, use refreshPosition method. 
     *  The position will be refreshed automatically when browser resized.
     * 
     * @isenumeration true
     * @default FabPosition.BottomRight
     * @asptype FabPosition
     */
    position?: string | FabPosition;
    /**
     * Defines whether the speed dial popup can be displayed as modal or modal less. 
     * When enabled, the Speed dial creates an overlay that disables interaction with other elements other than speed dial items. 
     * If user clicks anywhere other than speed dial items then popup will get closed.
     *
     * @default false.
     */
    modal?: boolean;
    /**
     * Defines a template content for popup of SpeedDial.
     *
     * @default ''
     */
    popupTemplate?: string;
    /**
     * Provides the options to customize the speed dial action buttons when mode of speed dial is radial
     *
     * @default { startAngle: null, endAngle: null, direction: 'Auto' }
     */
    radialSettings?: RadialSettingsModel;
    /**
     * Defines the selector that points to the element in which the button of SpeedDial will be positioned. 
     * By default button is positioned based on viewport of browser.
     * The target element must have relative position, else Button will get positioned based on the base.closest element which has relative position.
     *
     * @default ''
     */
    target?: string | HTMLElement;
    /**
     * Defines whether the SpeedDial is visible or hidden. 
     *
     * @default true.
     */
    visible?: boolean;
    /**
     * base.Event callback that is raised before the speed dial popup is closed.  
     *
     * @event beforeClose
     */
    beforeClose?: base.EmitType<SpeedDialBeforeOpenCloseEventArgs>;
    /**
     * base.Event callback that is raised before rendering the speed dial item.  
     *
     * @event beforeItemRender
     */
    beforeItemRender?: base.EmitType<SpeedDialItemEventArgs>;
    /**
     * base.Event callback that is raised before the speed dial popup is opened.    
     *
     * @event beforeOpen
     */
    beforeOpen?: base.EmitType<SpeedDialBeforeOpenCloseEventArgs>;
    /**
     * base.Event callback that is raised after rendering the speed dial.
     *
     * @event created
     */
    created?: base.EmitType<Event>;
    /**
     * base.Event callback that is raised when a speed dial action item is clicked.  
     *
     * @event clicked
     */
    clicked?: base.EmitType<SpeedDialItemEventArgs>;
    /**
     * base.Event callback that is raised when the SpeedDial popup is closed.  
     *
     * @event onClose
     */
    onClose?: base.EmitType<SpeedDialOpenCloseEventArgs>;
    /**
     * base.Event callback that is raised when the SpeedDial popup is opened.  
     *
     * @event onOpen
     */
    onOpen?: base.EmitType<SpeedDialOpenCloseEventArgs>;
}
//node_modules/@syncfusion/ej2-buttons/src/speed-dial/speed-dial.d.ts
/**
 * Defines the display mode of speed dial action items in SpeedDial
 */
export  enum SpeedDialMode {
    /**
     * SpeedDial items are displayed in linear order like list.
     */
    Linear = 0,
    /**
     * SpeedDial items are displayed like radial menu in radial direction (circular direction).
     */
    Radial = 1
}
/**
 * Defines the speed dial action items display direction when mode is Linear.
 */
export  enum LinearDirection {
    /**
    * Speed dial action items are displayed vertically above the button of Speed Dial.
    */
    Up = 0,
    /**
    * Speed dial action items are displayed vertically below the button of Speed Dial.
    */
    Down = 1,
    /**
    * Speed dial action items are displayed horizontally on the button's right side.
    */
    Right = 2,
    /**
    * Speed dial action items are displayed horizontally on the button's left side.
    */
    Left = 3,
    /**
    * Speed dial action items are displayed vertically above or below the button of Speed Dial based on the position.
    * If Position is TopRight, TopLeft, TopCenter, the items are displayed vertically below the button else above the button.
    */
    Auto = 4
}
/**
 * Defines the speed dial action items  order, when mode is Radial.
 */
export  enum RadialDirection {
    /**
    * SpeedDial items are arranged in clockwise direction.
    */
    Clockwise = 0,
    /**
    * SpeedDial items are shown in anti-clockwise direction.
    */
    AntiClockwise = 1,
    /**
    * SpeedDial items are shown clockwise or anti-clockwise based on the position.
    */
    Auto = 2
}
/**
 * Defines the animation effect applied when open and close the speed dial items.
 */
export  enum SpeedDialAnimationEffect {
    /**
    * SpeedDial open/close actions occur with the Fade animation effect.
    */
    Fade = 0,
    /**
    * SpeedDial open/close actions occur with the FadeZoom animation effect.
    */
    FadeZoom = 1,
    /**
    * SpeedDial open/close actions occur with the FlipLeftDown animation effect.
    */
    FlipLeftDown = 2,
    /**
    * SpeedDial open/close actions occur with the FlipLeftUp animation effect.
    */
    FlipLeftUp = 3,
    /**
    * SpeedDial open/close actions occur with the FlipRightDown animation effect.
    */
    FlipRightDown = 4,
    /**
    * SpeedDial open/close actions occur with the FlipRightUp animation effect.
    */
    FlipRightUp = 5,
    /**
    * SpeedDial open/close actions occur with the FlipXDown animation effect.
    */
    FlipXDown = 6,
    /**
    * SpeedDial open/close actions occur with the FlipXUp animation effect.
    */
    FlipXUp = 7,
    /**
    * SpeedDial open/close actions occur with the FlipYLeft animation effect.
    */
    FlipYLeft = 8,
    /**
    * SpeedDial open/close actions occur with the FlipYRight animation effect.
    */
    FlipYRight = 9,
    /**
    * SpeedDial open/close actions occur with the SlideBottom animation effect.
    */
    SlideBottom = 10,
    /**
    * SpeedDial open/close actions occur with the SlideLeft animation effect.
    */
    SlideLeft = 11,
    /**
    * SpeedDial open/close actions occur with the SlideRight animation effect.
    */
    SlideRight = 12,
    /**
    * SpeedDial open/close actions occur with the SlideTop animation effect.
    */
    SlideTop = 13,
    /**
    * SpeedDial open/close actions occur with the Zoom animation effect.
    */
    Zoom = 14,
    /**
    * SpeedDial open/close actions occur without any animation effect.
    */
    None = 15
}
/**
 * Provides information about the beforeOpen and beforeClose event callback.
 */
export interface SpeedDialBeforeOpenCloseEventArgs extends base.BaseEventArgs {
    /**
     * Provides the popup element of the speed dial.
     */
    element: HTMLElement;
    /**
     * Provides the original event which triggered the open/close action of speed dial.
     */
    event: Event;
    /**
     * Defines whether the to cancel the open/close action of speed dial.
     */
    cancel: boolean;
}
/**
 * Provides information about the open  and close event callback.
 */
export interface SpeedDialOpenCloseEventArgs extends base.BaseEventArgs {
    /**
     * Provides the popup element of the speed dial.
     */
    element: HTMLElement;
}
/**
 * Provides information about the beforeItemRender  and clicked event callback.
 */
export interface SpeedDialItemEventArgs extends base.BaseEventArgs {
    /**
     * Provides speed dial item element.
     */
    element: HTMLElement;
    /**
     * Provides speed dial item.
     */
    item: SpeedDialItemModel;
    /**
     * Provides the original event.
     */
    event?: Event;
}
/**
 * AProvides options to customize the animation applied while opening and closing the popup of SpeedDial.
 */
export  class SpeedDialAnimationSettings extends base.ChildProperty<SpeedDialAnimationSettings> {
    /**
     * Defines  the type of animation effect used for opening and closing of the Speed Dial items.
     *
     * @isenumeration true
     * @default SpeedDialAnimationEffect.Fade
     * @asptype SpeedDialAnimationEffect
     */
    effect: string | SpeedDialAnimationEffect;
    /**
     * Defines the duration in milliseconds that the animation takes to open or close the popup.
     * @default 400
     * @aspType int
     */
    duration: number;
    /**
     * Defines the delay before starting the animation.
     * @default 0
     * @aspType int
     */
    delay: number;
}
/**
 * Provides the options to customize the speed dial action buttons when mode of SpeedDial is Radial.
 */
export  class RadialSettings extends base.ChildProperty<RadialSettings> {
    /**
     * Defines speed dial action items placement order.
     * The possible values are
     * * Clockwise
     * * AntiClockwise
     * * Auto
     *
     * @isenumeration true
     * @default RadialDirection.Auto
     * @asptype RadialDirection
     */
    direction: string | RadialDirection;
    /**
     * Defines end angle of speed dial items placement. The accepted value range is 0 to 360.
     * When a value is outside the accepted value range, then the provided value is ignored, and the angle is calculated based on the position.
     *
     * @default -1
     * @aspType int
     */
    endAngle: number;
    /**
     * Defines distance of speed dial items placement from the button of Speed Dial.
     *
     * @default '100px'
     * @aspType string
     */
    offset: string | number;
    /**
     * Defines start angle of speed dial items placement. The accepted value range is 0 to 360.
     * When a value is outside the accepted value range, then the provided value is ignored, and the angle is calculated based on the position.
     *
     * @default -1
     * @aspType int
     */
    startAngle: number;
}
/**
 * Defines the items of Floating Action Button.
 */
export  class SpeedDialItem extends base.ChildProperty<SpeedDialItem> {
    /**
     * Defines one or more CSS classes to include an icon or image in speed dial item.
     *
     * @default ''
     */
    iconCss: string;
    /**
     * Defines a unique value for the SpeedDialItem which can be used to identify the item in event args.
     *
     * @default ''
     */
    id: string;
    /**
     * Defines the text content of SpeedDialItem.
     * Text won't be visible when mode is Radial.
     * Also, in Linear mode, text won't be displayed when direction is Left or Right.
     *
     * @default ''
     */
    text: string;
    /**
     * Defines the title of SpeedDialItem to display tooltip.
     *
     * @default ''
     */
    title: string;
    /**
     * Defines whether to enable or disable the SpeedDialItem.
     *
     * @default false
     */
    disabled: boolean;
}
/**
 * The SpeedDial component that appears in front of all the contents of the page and displays list of action buttons on click which is an extended version of FAB.
 * The button of speed dial is positioned in relative to a view port of browser or the .
 * It can display a menu of related actions or a custom content popupTemplate>.
 *
 */
export  class SpeedDial extends base.Component<HTMLButtonElement> implements base.INotifyPropertyChanged {
    /**
     * Provides options to customize the animation applied while opening and closing the popup of speed dial
     *
     * @default { effect: 'Fade', duration: 400, delay: 0 }
     */
    animation: SpeedDialAnimationSettingsModel;
    /**
     * Defines the content for the button of SpeedDial.
     *
     * @default ''
     */
    content: string;
    /**
     * Defines one or more CSS classes to include an icon or image to denote the speed dial is opened and displaying menu items.
     *
     * @default ''
     */
    closeIconCss: string;
    /**
     * Defines one or more CSS classes to customize the appearance of SpeedDial.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * Defines the speed dial item display direction when mode is linear .
     * The possible values are
     * * Up
     * * Down
     * * Left
     * * Right
     * * Auto
     *
     * @isenumeration true
     * @default LinearDirection.Auto
     * @asptype LinearDirection
     */
    direction: string | LinearDirection;
    /**
     * Defines whether to enable or disable the SpeedDial.
     *
     * @default false.
     */
    disabled: boolean;
    /**
     * Defines the position of icon in the button of speed dial.
     * The possible values are:
     * * Left
     * * Right
     *
     * @default "left"
     */
    iconPosition: IconPosition;
    /**
     * Defines the list of SpeedDial items.
     *
     * @default []
     */
    items: SpeedDialItemModel[];
    /**
    * Defines the template content for the speed dial item.
    *
    * @default ''
    */
    itemTemplate: string;
    /**
     * Defines the display mode of speed dial action items.
     * The possible values are:
     * * Linear
     * * Radial
     *
     * @isenumeration true
     * @default SpeedDialMode.Linear
     * @asptype SpeedDialMode
     */
    mode: string | SpeedDialMode;
    /**
     * Defines one or more CSS classes to include an icon or image for the button of SpeedDial when it's closed.
     *
     * @default ''
     */
    openIconCss: string;
    /**
     * Defines whether to open the popup when the button of SpeedDial is hovered.
     * By default, SpeedDial opens popup on click action.
     *
     * @default false
     */
    opensOnHover: boolean;
    /**
     * Defines the position of the button of Speed Dial relative to target.
     * Defines the position of the FAB relative to target.
     * The possible values are:
     * * TopLeft: Positions the FAB at the target's top left corner.
     * * TopCenter: Positions the FAB at the target's top left corner.
     * * TopRight: Positions the FAB at the target's top left corner.
     * * MiddleLeft: Positions the FAB at the target's top left corner.
     * * MiddleCenter: Positions the FAB at the target's top left corner.
     * * MiddleRight: Positions the FAB at the target's top left corner.
     * * BottomLeft: Positions the FAB at the target's top left corner.
     * * BottomCenter: Places the FAB on the bottom-center position of the target.
     * * BottomRight: Positions the FAB at the target's bottom right corner.
     *  To refresh the position of FAB on target resize, use refreshPosition method.
     *  The position will be refreshed automatically when browser resized.
     *
     * @isenumeration true
     * @default FabPosition.BottomRight
     * @asptype FabPosition
     */
    position: string | FabPosition;
    /**
     * Defines whether the speed dial popup can be displayed as modal or modal less.
     * When enabled, the Speed dial creates an overlay that disables interaction with other elements other than speed dial items.
     * If user clicks anywhere other than speed dial items then popup will get closed.
     *
     * @default false.
     */
    modal: boolean;
    /**
     * Defines a template content for popup of SpeedDial.
     *
     * @default ''
     */
    popupTemplate: string;
    /**
     * Provides the options to customize the speed dial action buttons when mode of speed dial is radial
     *
     * @default { startAngle: null, endAngle: null, direction: 'Auto' }
     */
    radialSettings: RadialSettingsModel;
    /**
     * Defines the selector that points to the element in which the button of SpeedDial will be positioned.
     * By default button is positioned based on viewport of browser.
     * The target element must have relative position, else Button will get positioned based on the closest element which has relative position.
     *
     * @default ''
     */
    target: string | HTMLElement;
    /**
     * Defines whether the SpeedDial is visible or hidden.
     *
     * @default true.
     */
    visible: boolean;
    /**
     * Event callback that is raised before the speed dial popup is closed.
     *
     * @event beforeClose
     */
    beforeClose: base.EmitType<SpeedDialBeforeOpenCloseEventArgs>;
    /**
     * Event callback that is raised before rendering the speed dial item.
     *
     * @event beforeItemRender
     */
    beforeItemRender: base.EmitType<SpeedDialItemEventArgs>;
    /**
     * Event callback that is raised before the speed dial popup is opened.
     *
     * @event beforeOpen
     */
    beforeOpen: base.EmitType<SpeedDialBeforeOpenCloseEventArgs>;
    /**
     * Event callback that is raised after rendering the speed dial.
     *
     * @event created
     */
    created: base.EmitType<Event>;
    /**
     * Event callback that is raised when a speed dial action item is clicked.
     *
     * @event clicked
     */
    clicked: base.EmitType<SpeedDialItemEventArgs>;
    /**
     * Event callback that is raised when the SpeedDial popup is closed.
     *
     * @event onClose
     */
    onClose: base.EmitType<SpeedDialOpenCloseEventArgs>;
    /**
     * Event callback that is raised when the SpeedDial popup is opened.
     *
     * @event onOpen
     */
    onOpen: base.EmitType<SpeedDialOpenCloseEventArgs>;
    private fab;
    private targetEle;
    private isFixed;
    private isMenuOpen;
    private popupEle;
    private overlayEle;
    private actualLinDirection;
    private isClock;
    private isVertical;
    private isControl;
    private focusedIndex;
    private keyboardModule;
    private popupKeyboardModule;
    private removeRippleEffect;
    private keyConfigs;
    /**
    * Constructor for creating the widget
    *
    * @param  {SpeedDialModel} options - Specifies the floating action button model
    * @param  {string|HTMLButtonElement} element - Specifies the target element
    */
    constructor(options?: SpeedDialModel, element?: string | HTMLButtonElement);
    /**
     * Initialize the control rendering
     *
     * @returns {void}
     * @private
     */
    protected render(): void;
    protected preRender(): void;
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @returns {string} - Persist data
     */
    protected getPersistData(): string;
    /**
     * Get component name.
     *
     * @returns {string} - Module name
     * @private
     */
    protected getModuleName(): string;
    private initialize;
    private wireEvents;
    private wirePopupEvents;
    private wireFabClick;
    private wireFabHover;
    createPopup(): void;
    private createOverlay;
    private popupClick;
    private bodyClickHandler;
    private fabClick;
    private setPopupContent;
    private appendTemplate;
    private getTemplateString;
    private updatePopupTemplate;
    private createUl;
    private createItems;
    private setRTL;
    private checkTarget;
    private setVisibility;
    private popupMouseLeaveHandle;
    private mouseOverHandle;
    private mouseLeaveHandle;
    private popupKeyActionHandler;
    private keyActionHandler;
    private focusFirstElement;
    private focusLastElement;
    private focusLinearElement;
    private focusLeftRightElement;
    private focusUpDownElement;
    private focusPrevElement;
    private focusNextElement;
    private setFocus;
    private removeFocus;
    private getPosition;
    private updatePositionProperties;
    private setPositionProps;
    private validateDirection;
    private setMaxSize;
    private setLinearPosition;
    private setLinearHorizontalPosition;
    private setLeft;
    private setRight;
    private setPosition;
    private setHorizontalPosition;
    private setRadialPosition;
    private setRadialCorner;
    private getActualRange;
    private checkAngleRange;
    private checkAngle;
    private clearPosition;
    private clearHorizontalPosition;
    private clearOverflow;
    private hidePopupEle;
    private startHide;
    private endHide;
    private showPopupEle;
    private startShow;
    private endShow;
    private toggleOverlay;
    private removeOverlayEle;
    private updatePopupItems;
    private handleResize;
    private triggerItemClick;
    /**
     * Opens the SpeedDial popup to display to display the speed dial items or the popupTemplate.
     *
     * @private
     */
    show(): void;
    /**
     * Closes the SpeedDial popup.
     *
     */
    hide(): void;
    /**
     * Refreshes the button position of speed dial. You can call this method to re-position button when the target is resized.
     *
     */
    refreshPosition(): void;
    private resizeHandler;
    private clearItems;
    private unwireEvents;
    private unwireFabClick;
    private unwireFabHover;
    private unwirePopupEvents;
    destroy(): void;
    /**
     * Called internally if any of the property value changed.
     *
     * @param  {SpeedDialModel} newProp - Specifies new properties
     * @param  {SpeedDialModel} oldProp - Specifies old properties
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: SpeedDialModel, oldProp?: SpeedDialModel): void;
}
//node_modules/@syncfusion/ej2-buttons/src/switch/index.d.ts
/**
 * Switch modules
 */
//node_modules/@syncfusion/ej2-buttons/src/switch/switch-model.d.ts
/**
 * Interface for a class Switch
 */
export interface SwitchModel extends base.ComponentModel{
    /**
     * Triggers when Switch state has been changed by user interaction.
     *
     * @event change
     */
    change?: base.EmitType<ChangeEventArgs>;
    /**
     * Triggers once the component rendering is completed.
     *
     * @event created
     */
    created?: base.EmitType<Event>;
    /**
     * Specifies a value that indicates whether the Switch is `checked` or not.
     * When set to `true`, the Switch will be in `checked` state.
     *
     * @default false
     */
    checked?: boolean;
    /**
     * You can add custom styles to the Switch by using this property.
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * Specifies a value that indicates whether the Switch is `disabled` or not.
     * When set to `true`, the Switch will be in `disabled` state.
     *
     * @default false
     */
    disabled?: boolean;
    /**
     * Defines `name` attribute for the Switch.
     * It is used to reference form data (Switch value) after a form is submitted.
     *
     * @default ''
     */
    name?: string;
    /**
     * Specifies a text that indicates the Switch is in checked state.
     *
     * @default ''
     */
    onLabel?: string;
    /**
     * Specifies a text that indicates the Switch is in unchecked state.
     *
     * @default ''
     */
    offLabel?: string;
    /**
     * Defines `value` attribute for the Switch.
     * It is a form data passed to the server when submitting the form.
     *
     * @default ''
     */
    value?: string;
}
//node_modules/@syncfusion/ej2-buttons/src/switch/switch.d.ts
/**
 * The Switch is a graphical user interface element that allows you to toggle between checked and unchecked states.
 * ```html
 * <input type="checkbox" id="switch"/>
 * <script>
 * var switchObj = new Switch({});
 * switchObj.appendTo("#switch");
 * </script>
 * ```
 */
export  class Switch extends base.Component<HTMLInputElement> implements base.INotifyPropertyChanged {
    private tagName;
    private isFocused;
    private isDrag;
    private isWireEvents;
    private delegateMouseUpHandler;
    private delegateKeyUpHandler;
    private formElement;
    private initialSwitchCheckedValue;
    /**
     * Triggers when Switch state has been changed by user interaction.
     *
     * @event change
     */
    change: base.EmitType<ChangeEventArgs>;
    /**
     * Triggers once the component rendering is completed.
     *
     * @event created
     */
    created: base.EmitType<Event>;
    /**
     * Specifies a value that indicates whether the Switch is `checked` or not.
     * When set to `true`, the Switch will be in `checked` state.
     *
     * @default false
     */
    checked: boolean;
    /**
     * You can add custom styles to the Switch by using this property.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * Specifies a value that indicates whether the Switch is `disabled` or not.
     * When set to `true`, the Switch will be in `disabled` state.
     *
     * @default false
     */
    disabled: boolean;
    /**
     * Defines `name` attribute for the Switch.
     * It is used to reference form data (Switch value) after a form is submitted.
     *
     * @default ''
     */
    name: string;
    /**
     * Specifies a text that indicates the Switch is in checked state.
     *
     * @default ''
     */
    onLabel: string;
    /**
     * Specifies a text that indicates the Switch is in unchecked state.
     *
     * @default ''
     */
    offLabel: string;
    /**
     * Defines `value` attribute for the Switch.
     * It is a form data passed to the server when submitting the form.
     *
     * @default ''
     */
    value: string;
    /**
     * Constructor for creating the widget.
     *
     * @private
     *
     * @param {SwitchModel} options switch model
     * @param {string | HTMLInputElement} element target element
     *
     */
    constructor(options?: SwitchModel, element?: string | HTMLInputElement);
    private changeState;
    private clickHandler;
    /**
     * Destroys the Switch widget.
     *
     * @returns {void}
     */
    destroy(): void;
    private focusHandler;
    private focusOutHandler;
    /**
     * Gets the module name.
     *
     * @private
     * @returns {string} - Module Name
     */
    protected getModuleName(): string;
    /**
     * Gets the properties to be maintained in the persistence state.
     *
     * @private
     * @returns {string} - Persist data
     */
    getPersistData(): string;
    private getWrapper;
    private initialize;
    private initWrapper;
    /**
     * Called internally if any of the property value changes.
     *
     * @private
     * @param {SwitchModel} newProp - Specifies New Properties
     * @param {SwitchModel} oldProp - Specifies Old Properties
     * @returns {void}
     */
    onPropertyChanged(newProp: SwitchModel, oldProp: SwitchModel): void;
    /**
     * Initialize Angular, React and Unique ID support.
     *
     * @private
     * @returns {void}
     */
    protected preRender(): void;
    /**
     * Initialize control rendering.
     *
     * @private
     * @returns {void}
     */
    protected render(): void;
    private rippleHandler;
    private rippleTouchHandler;
    private setDisabled;
    private setLabel;
    private switchFocusHandler;
    private switchMouseUp;
    private formResetHandler;
    /**
     * Toggle the Switch component state into checked/unchecked.
     *
     * @returns {void}
     */
    toggle(): void;
    private wireEvents;
    private unWireEvents;
    /**
     * Click the switch element
     * its native method
     *
     * @public
     * @returns {void}
     */
    click(): void;
    /**
     * Sets the focus to Switch
     * its native method
     *
     * @public
     */
    focusIn(): void;
}
 }
export namespace calendars { 

//node_modules/@syncfusion/ej2-calendars/src/calendar/calendar-model.d.ts
/**
 * Interface for a class CalendarBase
 * @private
 */
export interface CalendarBaseModel extends base.ComponentModel{
    /**
     * Gets or sets the minimum date that can be selected in the Calendar.
     *
     * @default new Date(1900, 00, 01)
     * @deprecated
     */
    min?: Date;
    /**
     * Specifies the component to be disabled or not.
     *
     * @default true
     */
    enabled?: boolean;
    /**
     * Specifies the root CSS class of the Calendar that allows to
     * customize the appearance by overriding the styles.
     *
     * @default null
     */
    cssClass?: string;
    /**
     * Gets or sets the maximum date that can be selected in the Calendar.
     *
     * @default new Date(2099, 11, 31)
     * @deprecated
     */
    max?: Date;
    /**
     * Gets or sets the Calendar's first day of the week. By default, the first day of the week will be based on the current culture.
     *
     * @default 0
     * @aspType int
     * @deprecated
     * > For more details about firstDayOfWeek refer to
     * [`First day of week`](../../calendar/how-to/first-day-of-week#change-the-first-day-of-the-week) documentation.
     */
    firstDayOfWeek?: number;
    /**
     * Gets or sets the Calendar's Type like gregorian or islamic.
     *
     * @default Gregorian
     * @deprecated
     */
    calendarMode?: CalendarType;
    /**
     * Specifies the initial view of the Calendar when it is opened.
     * With the help of this property, initial view can be changed to year or decade view.
     *
     * @default Month
     * @deprecated
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * View<br/></td><td colSpan=1 rowSpan=1>
     * Description<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Month<br/></td><td colSpan=1 rowSpan=1>
     * Calendar view shows the days of the month.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Year<br/></td><td colSpan=1 rowSpan=1>
     * Calendar view shows the months of the year.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Decade<br/></td><td colSpan=1 rowSpan=1>
     * Calendar view shows the years of the decade.<br/></td></tr>
     * </table>
     *
     * > For more details about start refer to
     * [`calendarView`](../../calendar/calendar-views#view-restriction)documentation.
     */
    start?: CalendarView;
    /**
     * Sets the maximum level of view such as month, year, and decade in the Calendar.
     * Depth view should be smaller than the start view to restrict its view navigation.
     *
     * @default Month
     * @deprecated
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * view<br/></td><td colSpan=1 rowSpan=1>
     * Description<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Month<br/></td><td colSpan=1 rowSpan=1>
     * Calendar view shows up to the days of the month.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Year<br/></td><td colSpan=1 rowSpan=1>
     * Calendar view shows up to the months of the year.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Decade<br/></td><td colSpan=1 rowSpan=1>
     * Calendar view shows up to the years of the decade.<br/></td></tr>
     * </table>
     *
     * > For more details about depth refer to
     *  [`calendarView`](../../calendar/calendar-views#view-restriction)documentation.
     */
    depth?: CalendarView;
    /**
     * Determines whether the week number of the year is to be displayed in the calendar or not.
     *
     * @default false
     * @deprecated
     * > For more details about weekNumber refer to
     * [`Calendar with week number`](../../calendar/how-to/render-the-calendar-with-week-numbers)documentation.
     */
    weekNumber?: boolean;
    /**
     * Specifies the rule for defining the first week of the year.
     *
     * @default FirstDay
     */
    weekRule?: WeekRule;
    /**
     * Specifies whether the today button is to be displayed or not.
     *
     * @default true
     * @deprecated
     */
    showTodayButton?: boolean;
    /**
     * Specifies the format of the day that to be displayed in header. By default, the format is ‘short’.
     * Possible formats are:
     * * `Short` - Sets the short format of day name (like Su ) in day header.
     * * `Narrow` - Sets the single character of day name (like S ) in day header.
     * * `Abbreviated` - Sets the min format of day name (like Sun ) in day header.
     * * `Wide` - Sets the long format of day name (like Sunday ) in day header.
     *
     * @default Short
     * @deprecated
     */
    dayHeaderFormat?: DayHeaderFormats;
    /**
     * Enable or disable persisting component's state between page reloads. If enabled, following list of states will be persisted.
     * 1. value
     *
     * @default false
     * @deprecated
     */
    enablePersistence?: boolean;
    /**
     * Customizes the key actions in Calendar.
     * For example, when using German keyboard, the key actions can be customized using these shortcuts.
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Key action<br/></td><td colSpan=1 rowSpan=1>
     * Key<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * controlUp<br/></td><td colSpan=1 rowSpan=1>
     * ctrl+38<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * controlDown<br/></td><td colSpan=1 rowSpan=1>
     * ctrl+40<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * select<br/></td><td colSpan=1 rowSpan=1>
     * enter<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * home<br/></td><td colSpan=1 rowSpan=1>
     * home<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * end<br/></td><td colSpan=1 rowSpan=1>
     * end<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * pageUp<br/></td><td colSpan=1 rowSpan=1>
     * pageup<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * pageDown<br/></td><td colSpan=1 rowSpan=1>
     * pagedown<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * shiftPageUp<br/></td><td colSpan=1 rowSpan=1>
     * shift+pageup<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * shiftPageDown<br/></td><td colSpan=1 rowSpan=1>
     * shift+pagedown<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * controlHome<br/></td><td colSpan=1 rowSpan=1>
     * ctrl+home<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * controlEnd<br/></td><td colSpan=1 rowSpan=1>
     * ctrl+end<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * altUpArrow<br/></td><td colSpan=1 rowSpan=1>
     * alt+uparrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * spacebar<br/></td><td colSpan=1 rowSpan=1>
     * space<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * altRightArrow<br/></td><td colSpan=1 rowSpan=1>
     * alt+rightarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * altLeftArrow<br/></td><td colSpan=1 rowSpan=1>
     * alt+leftarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * moveDown<br/></td><td colSpan=1 rowSpan=1>
     * downarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * moveUp<br/></td><td colSpan=1 rowSpan=1>
     * uparrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * moveLeft<br/></td><td colSpan=1 rowSpan=1>
     * leftarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * moveRight<br/></td><td colSpan=1 rowSpan=1>
     * rightarrow<br/></td></tr>
     * </table>
     *
     * {% codeBlock src='calendar/keyConfigs/index.md' %}{% endcodeBlock %}
     *
     * @default null
     * @deprecated
     */
    keyConfigs?: { [key: string]: string };
    /**
     * By default, the date value will be processed based on system time zone.
     * If you want to process the initial date value using server time zone
     * then specify the time zone value to `serverTimezoneOffset` property.
     *
     * @default null
     * @deprecated
     */
    serverTimezoneOffset?: number;
    /**
     * Triggers when Calendar is created.
     *
     * @event created
     */
    created?: base.EmitType<Object>;
    /**
     * Triggers when Calendar is destroyed.
     *
     * @event destroyed
     */
    destroyed?: base.EmitType<Object>;
    /**
     * Triggers when the Calendar is navigated to another level or within the same level of view.
     *
     * @event navigated
     */
    navigated?: base.EmitType<NavigatedEventArgs>;
    /**
     * Triggers when each day cell of the Calendar is rendered.
     *
     * @event renderDayCell
     */
    renderDayCell?: base.EmitType<RenderDayCellEventArgs>;
}
/**
 * Interface for a class Calendar
 */
export interface CalendarModel extends CalendarBaseModel{
    /**
     * Gets or sets the selected date of the Calendar.
     *
     * @default null
     * @isGenericType true
     * @deprecated
     */
    value?: Date;
    /**
     * Gets or sets multiple selected dates of the calendar.
     * {% codeBlock src='calendar/values/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    values?: Date[];
    /**
     * Specifies the option to enable the multiple dates selection of the calendar.
     *
     * @default false
     */
    isMultiSelection?: boolean;
    /**
     * Triggers when the Calendar value is changed.
     *
     * @event change
     */
    change?: base.EmitType<ChangedEventArgs>;
}
//node_modules/@syncfusion/ej2-calendars/src/calendar/calendar.d.ts
/**
 * Specifies the view of the calendar.
 */
export  type CalendarView = 'Month' | 'Year' | 'Decade';
export  type CalendarType = 'Islamic' | 'Gregorian';
export  type DayHeaderFormats = 'Short' | 'Narrow' | 'Abbreviated' | 'Wide';
/**
 * Specifies the rule for defining the first week of the year.
 */
export  type WeekRule = 'FirstDay' | 'FirstFullWeek' | 'FirstFourDayWeek';
/**
 *
 * @private
 */
export  class CalendarBase extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    protected headerElement: HTMLElement;
    protected contentElement: HTMLElement;
    private calendarEleCopy;
    protected table: HTMLElement;
    protected tableHeadElement: HTMLElement;
    protected tableBodyElement: Element;
    protected nextIcon: HTMLElement;
    protected previousIcon: HTMLElement;
    protected headerTitleElement: HTMLElement;
    protected todayElement: HTMLElement;
    protected footer: HTMLElement;
    protected keyboardModule: base.KeyboardEvents;
    protected globalize: base.Internationalization;
    islamicModule: Islamic;
    protected currentDate: Date;
    protected navigatedArgs: NavigatedEventArgs;
    protected renderDayCellArgs: RenderDayCellEventArgs;
    protected effect: string;
    protected previousDate: Date;
    protected previousValues: number;
    protected navigateHandler: Function;
    protected navigatePreviousHandler: Function;
    protected navigateNextHandler: Function;
    protected l10: base.L10n;
    protected todayDisabled: boolean;
    protected nextIconClicked: boolean;
    protected previousIconClicked: boolean;
    protected tabIndex: string;
    protected todayDate: Date;
    protected islamicPreviousHeader: any;
    protected calendarElement: HTMLElement;
    protected isPopupClicked: boolean;
    protected isDateSelected: boolean;
    private serverModuleName;
    protected timezone: string;
    protected defaultKeyConfigs: {
        [key: string]: string;
    };
    protected previousDateTime: Date;
    protected isTodayClicked: boolean;
    protected todayButtonEvent: MouseEvent | KeyboardEvent;
    protected preventChange: boolean;
    protected isAngular: boolean;
    protected previousDates: boolean;
    /**
     * Gets or sets the minimum date that can be selected in the Calendar.
     *
     * @default new Date(1900, 00, 01)
     * @deprecated
     */
    min: Date;
    /**
     * Specifies the component to be disabled or not.
     *
     * @default true
     */
    enabled: boolean;
    /**
     * Specifies the root CSS class of the Calendar that allows to
     * customize the appearance by overriding the styles.
     *
     * @default null
     */
    cssClass: string;
    /**
     * Gets or sets the maximum date that can be selected in the Calendar.
     *
     * @default new Date(2099, 11, 31)
     * @deprecated
     */
    max: Date;
    /**
     * Gets or sets the Calendar's first day of the week. By default, the first day of the week will be based on the current culture.
     *
     * @default 0
     * @aspType int
     * @deprecated
     * > For more details about firstDayOfWeek refer to
     * [`First day of week`](../../calendar/how-to/first-day-of-week#change-the-first-day-of-the-week) documentation.
     */
    firstDayOfWeek: number;
    /**
     * Gets or sets the Calendar's Type like gregorian or islamic.
     *
     * @default Gregorian
     * @deprecated
     */
    calendarMode: CalendarType;
    /**
     * Specifies the initial view of the Calendar when it is opened.
     * With the help of this property, initial view can be changed to year or decade view.
     *
     * @default Month
     * @deprecated
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * View<br/></td><td colSpan=1 rowSpan=1>
     * Description<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Month<br/></td><td colSpan=1 rowSpan=1>
     * Calendar view shows the days of the month.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Year<br/></td><td colSpan=1 rowSpan=1>
     * Calendar view shows the months of the year.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Decade<br/></td><td colSpan=1 rowSpan=1>
     * Calendar view shows the years of the decade.<br/></td></tr>
     * </table>
     *
     * > For more details about start refer to
     * [`calendarView`](../../calendar/calendar-views#view-restriction)documentation.
     */
    start: CalendarView;
    /**
     * Sets the maximum level of view such as month, year, and decade in the Calendar.
     * Depth view should be smaller than the start view to restrict its view navigation.
     *
     * @default Month
     * @deprecated
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * view<br/></td><td colSpan=1 rowSpan=1>
     * Description<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Month<br/></td><td colSpan=1 rowSpan=1>
     * Calendar view shows up to the days of the month.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Year<br/></td><td colSpan=1 rowSpan=1>
     * Calendar view shows up to the months of the year.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Decade<br/></td><td colSpan=1 rowSpan=1>
     * Calendar view shows up to the years of the decade.<br/></td></tr>
     * </table>
     *
     * > For more details about depth refer to
     *  [`calendarView`](../../calendar/calendar-views#view-restriction)documentation.
     */
    depth: CalendarView;
    /**
     * Determines whether the week number of the year is to be displayed in the calendar or not.
     *
     * @default false
     * @deprecated
     * > For more details about weekNumber refer to
     * [`Calendar with week number`](../../calendar/how-to/render-the-calendar-with-week-numbers)documentation.
     */
    weekNumber: boolean;
    /**
     * Specifies the rule for defining the first week of the year.
     *
     * @default FirstDay
     */
    weekRule: WeekRule;
    /**
     * Specifies whether the today button is to be displayed or not.
     *
     * @default true
     * @deprecated
     */
    showTodayButton: boolean;
    /**
     * Specifies the format of the day that to be displayed in header. By default, the format is ‘short’.
     * Possible formats are:
     * * `Short` - Sets the short format of day name (like Su ) in day header.
     * * `Narrow` - Sets the single character of day name (like S ) in day header.
     * * `Abbreviated` - Sets the min format of day name (like Sun ) in day header.
     * * `Wide` - Sets the long format of day name (like Sunday ) in day header.
     *
     * @default Short
     * @deprecated
     */
    dayHeaderFormat: DayHeaderFormats;
    /**
     * Enable or disable persisting component's state between page reloads. If enabled, following list of states will be persisted.
     * 1. value
     *
     * @default false
     * @deprecated
     */
    enablePersistence: boolean;
    /**
     * Customizes the key actions in Calendar.
     * For example, when using German keyboard, the key actions can be customized using these shortcuts.
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Key action<br/></td><td colSpan=1 rowSpan=1>
     * Key<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * controlUp<br/></td><td colSpan=1 rowSpan=1>
     * ctrl+38<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * controlDown<br/></td><td colSpan=1 rowSpan=1>
     * ctrl+40<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * select<br/></td><td colSpan=1 rowSpan=1>
     * enter<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * home<br/></td><td colSpan=1 rowSpan=1>
     * home<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * end<br/></td><td colSpan=1 rowSpan=1>
     * end<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * pageUp<br/></td><td colSpan=1 rowSpan=1>
     * pageup<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * pageDown<br/></td><td colSpan=1 rowSpan=1>
     * pagedown<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * shiftPageUp<br/></td><td colSpan=1 rowSpan=1>
     * shift+pageup<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * shiftPageDown<br/></td><td colSpan=1 rowSpan=1>
     * shift+pagedown<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * controlHome<br/></td><td colSpan=1 rowSpan=1>
     * ctrl+home<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * controlEnd<br/></td><td colSpan=1 rowSpan=1>
     * ctrl+end<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * altUpArrow<br/></td><td colSpan=1 rowSpan=1>
     * alt+uparrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * spacebar<br/></td><td colSpan=1 rowSpan=1>
     * space<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * altRightArrow<br/></td><td colSpan=1 rowSpan=1>
     * alt+rightarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * altLeftArrow<br/></td><td colSpan=1 rowSpan=1>
     * alt+leftarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * moveDown<br/></td><td colSpan=1 rowSpan=1>
     * downarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * moveUp<br/></td><td colSpan=1 rowSpan=1>
     * uparrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * moveLeft<br/></td><td colSpan=1 rowSpan=1>
     * leftarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * moveRight<br/></td><td colSpan=1 rowSpan=1>
     * rightarrow<br/></td></tr>
     * </table>
     *
     * {% codeBlock src='calendar/keyConfigs/index.md' %}{% endcodeBlock %}
     *
     * @default null
     * @deprecated
     */
    keyConfigs: {
        [key: string]: string;
    };
    /**
     * By default, the date value will be processed based on system time zone.
     * If you want to process the initial date value using server time zone
     * then specify the time zone value to `serverTimezoneOffset` property.
     *
     * @default null
     * @deprecated
     */
    serverTimezoneOffset: number;
    /**
     * Triggers when Calendar is created.
     *
     * @event created
     */
    created: base.EmitType<Object>;
    /**
     * Triggers when Calendar is destroyed.
     *
     * @event destroyed
     */
    destroyed: base.EmitType<Object>;
    /**
     * Triggers when the Calendar is navigated to another level or within the same level of view.
     *
     * @event navigated
     */
    navigated: base.EmitType<NavigatedEventArgs>;
    /**
     * Triggers when each day cell of the Calendar is rendered.
     *
     * @event renderDayCell
     */
    renderDayCell: base.EmitType<RenderDayCellEventArgs>;
    /**
     * Initialized new instance of Calendar Class.
     * Constructor for creating the widget
     *
     * @param {CalendarBaseModel} options - Specifies the CalendarBase model.
     * @param {string | HTMLElement} element - Specifies the element to render as component.
     * @private
     */
    constructor(options?: CalendarBaseModel, element?: string | HTMLElement);
    /**
     * To Initialize the control rendering.
     *
     * @returns {void}
     * @private
     */
    protected render(): void;
    protected rangeValidation(min: Date, max: Date): void;
    protected getDefaultKeyConfig(): {
        [key: string]: string;
    };
    protected validateDate(value?: Date): void;
    protected setOverlayIndex(popupWrapper: HTMLElement, popupElement: HTMLElement, modal: HTMLElement, isDevice: boolean): void;
    protected minMaxUpdate(value?: Date): void;
    protected createHeader(): void;
    protected createContent(): void;
    protected getCultureValues(): string[];
    protected toCapitalize(text: string): string;
    protected createContentHeader(): void;
    protected createContentBody(): void;
    protected updateFooter(): void;
    protected createContentFooter(): void;
    protected wireEvents(id?: string, ref?: object, keyConfig?: {
        [key: string]: string;
    }, moduleName?: string): void;
    protected dateWireEvents(id?: string, ref?: object, keyConfig?: {
        [key: string]: string;
    }, moduleName?: string): void;
    protected todayButtonClick(e?: MouseEvent | KeyboardEvent, value?: Date, isCustomDate?: boolean): void;
    protected resetCalendar(): void;
    protected keyActionHandle(e: base.KeyboardEventArgs, value?: Date, multiSelection?: boolean): void;
    protected keyboardNavigate(number: number, currentView: number, e: KeyboardEvent, max: Date, min: Date): void;
    /**
     * Initialize the event handler
     *
     * @param {Date} value - Specifies value of date.
     * @returns {void}
     * @private
     */
    protected preRender(value?: Date): void;
    protected minMaxDate(localDate: Date): Date;
    protected renderMonths(e?: Event, value?: Date, isCustomDate?: boolean): void;
    protected renderDays(currentDate: Date, value?: Date, multiSelection?: boolean, values?: Date[], isTodayDate?: boolean, e?: Event): HTMLElement[];
    protected updateFocus(otherMonth: boolean, disabled: boolean, localDate: Date, tableElement: HTMLElement, currentDate: Date): void;
    protected renderYears(e?: Event, value?: Date): void;
    protected renderDecades(e?: Event, value?: Date): void;
    protected dayCell(localDate: Date): HTMLElement;
    protected firstDay(date: Date): Date;
    protected lastDay(date: Date, view: number): Date;
    protected checkDateValue(value: Date): Date;
    protected findLastDay(date: Date): Date;
    protected removeTableHeadElement(): void;
    protected renderTemplate(elements: HTMLElement[], count: number, classNm: string, e?: Event, value?: Date): void;
    protected clickHandler(e: MouseEvent, value: Date): void;
    protected clickEventEmitter(e: MouseEvent): void;
    protected contentClick(e?: MouseEvent, view?: number, element?: Element, value?: Date): void;
    protected switchView(view: number, e?: Event, multiSelection?: boolean, isCustomDate?: boolean): void;
    /**
     * To get component name
     *
     * @returns {string} Returns the component name.
     * @private
     */
    protected getModuleName(): string;
    /**
     *
     * @returns {void}
     * @deprecated
     */
    requiredModules(): base.ModuleDeclaration[];
    /**
     * Gets the properties to be maintained upon browser refresh.
     *
     * @returns {string}
     */
    getPersistData(): string;
    /**
     * Called internally if any of the property value changed.
     *
     * @param {CalendarBaseModel} newProp - Returns the dynamic property value of the component.
     * @param {CalendarBaseModel} oldProp - Returns the previous property value of the component.
     * @param {boolean} multiSelection - - Specifies whether multiple date selection is enabled or not.
     * @param {Date[]} values - Specifies the dates.
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: CalendarBaseModel, oldProp: CalendarBaseModel, multiSelection?: boolean, values?: Date[]): void;
    /**
     * values property updated with considered disabled dates of the calendar.
     *
     * @param {boolean} multiSelection - Specifies whether multiple date selection is enabled.
     * @param {Date[]} values - Specifies the dates to validate.
     * @returns {void}
     */
    protected validateValues(multiSelection?: boolean, values?: Date[]): void;
    protected setValueUpdate(): void;
    protected copyValues(values: Date[]): Date[];
    protected titleUpdate(date: Date, view: string): void;
    protected setActiveDescendant(): string;
    protected iconHandler(): void;
    /**
     * Destroys the widget.
     *
     * @returns {void}
     */
    destroy(): void;
    protected title(e?: Event): void;
    protected getViewNumber(stringVal: string): number;
    protected navigateTitle(e?: Event): void;
    protected previous(): void;
    protected navigatePrevious(e: MouseEvent | KeyboardEvent): void;
    protected next(): void;
    protected navigateNext(eve: MouseEvent | KeyboardEvent): void;
    /**
     * This method is used to navigate to the month/year/decade view of the Calendar.
     *
     * @param {string} view - Specifies the view of the Calendar.
     * @param {Date} date - Specifies the focused date in a view.
     * @param {boolean} isCustomDate - Specifies whether the calendar is rendered with custom today date or not.
     * @returns {void}
     */
    navigateTo(view: CalendarView, date: Date, isCustomDate?: boolean): void;
    /**
     * Gets the current view of the Calendar.
     *
     * @returns {string}
     */
    currentView(): string;
    protected getDateVal(date: Date, value: Date): boolean;
    protected getCultureObjects(ld: Object, c: string): Object;
    protected getWeek(d: Date): number;
    protected setStartDate(date: Date, time: number): void;
    protected addMonths(date: Date, i: number): void;
    protected addYears(date: Date, i: number): void;
    protected getIdValue(e: MouseEvent | TouchEvent | KeyboardEvent, element: Element): Date;
    protected adjustLongHeaderSize(): void;
    protected selectDate(e: MouseEvent | base.KeyboardEventArgs, date: Date, node: Element, multiSelection?: boolean, values?: Date[]): void;
    protected checkPresentDate(dates: Date, values: Date[]): boolean;
    protected setAriaActiveDescendant(): void;
    protected previousIconHandler(disabled: boolean): void;
    protected renderDayCellEvent(args: RenderDayCellEventArgs): void;
    protected navigatedEvent(eve: MouseEvent | KeyboardEvent): void;
    protected triggerNavigate(event: MouseEvent | KeyboardEvent): void;
    protected nextIconHandler(disabled: boolean): void;
    protected compare(startDate: Date, endDate: Date, modifier: number): number;
    protected isMinMaxRange(date: Date): boolean;
    protected isMonthYearRange(date: Date): boolean;
    protected compareYear(start: Date, end: Date): number;
    protected compareDecade(start: Date, end: Date): number;
    protected shiftArray(array: string[], i: number): string[];
    protected addDay(date: Date, i: number, e: KeyboardEvent, max: Date, min: Date): void;
    protected findNextTD(date: Date, column: number, max: Date, min: Date): boolean;
    protected getMaxDays(d: Date): number;
    protected setDateDecade(date: Date, year: number): void;
    protected setDateYear(date: Date, value: Date): void;
    protected compareMonth(start: Date, end: Date): number;
    protected checkValue(inValue: string | Date | number): string;
    protected checkView(): void;
    protected getDate(date: Date, timezone: string): Date;
}
/**
 * Represents the Calendar component that allows the user to select a date.
 * ```html
 * <div id="calendar"/>
 * ```
 * ```typescript
 * <script>
 *   var calendarObj = new Calendar({ value: new Date() });
 *   calendarObj.appendTo("#calendar");
 * </script>
 * ```
 */
export  class Calendar extends CalendarBase {
    protected changedArgs: ChangedEventArgs;
    protected changeHandler: Function;
    /**
     * Gets or sets the selected date of the Calendar.
     *
     * @default null
     * @isGenericType true
     * @deprecated
     */
    value: Date;
    /**
     * Gets or sets multiple selected dates of the calendar.
     * {% codeBlock src='calendar/values/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    values: Date[];
    /**
     * Specifies the option to enable the multiple dates selection of the calendar.
     *
     * @default false
     */
    isMultiSelection: boolean;
    /**
     * Triggers when the Calendar value is changed.
     *
     * @event change
     */
    change: base.EmitType<ChangedEventArgs>;
    /**
     * Initialized new instance of Calendar Class.
     * Constructor for creating the widget
     *
     * @param {CalendarModel} options - Specifies the Calendar model.
     * @param {string | HTMLElement} element - Specifies the element to render as component.
     * @private
     */
    constructor(options?: CalendarModel, element?: string | HTMLElement);
    /**
     * To Initialize the control rendering.
     *
     * @returns {void}
     * @private
     */
    protected render(): void;
    protected setEnable(enable: boolean): void;
    protected setClass(newCssClass: string, oldCssClass?: string): void;
    protected isDayLightSaving(): boolean;
    protected setTimeZone(offsetValue: number): void;
    protected formResetHandler(): void;
    protected validateDate(): void;
    protected minMaxUpdate(): void;
    protected generateTodayVal(value: Date): Date;
    protected todayButtonClick(e?: MouseEvent | KeyboardEvent): void;
    protected keyActionHandle(e: base.KeyboardEventArgs): void;
    /**
     * Initialize the event handler
     *
     * @returns {void}
     * @private
     */
    protected preRender(): void;
    /**
     * @returns {void}
     * @deprecated
     */
    createContent(): void;
    protected minMaxDate(localDate: Date): Date;
    protected renderMonths(e?: Event, value?: Date, isCustomDate?: boolean): void;
    protected renderDays(currentDate: Date, value?: Date, isMultiSelect?: boolean, values?: Date[], isCustomDate?: boolean, e?: Event): HTMLElement[];
    protected renderYears(e?: Event): void;
    protected renderDecades(e?: Event): void;
    protected renderTemplate(elements: HTMLElement[], count: number, classNm: string, e?: Event): void;
    protected clickHandler(e: MouseEvent): void;
    protected switchView(view: number, e?: Event, isMultiSelection?: boolean, isCustomDate?: boolean): void;
    /**
     * To get component name
     *
     * @returns {string} Return the component name.
     * @private
     */
    protected getModuleName(): string;
    /**
     * Gets the properties to be maintained upon browser refresh.
     *
     * @returns {string}
     */
    getPersistData(): string;
    /**
     * Called internally if any of the property value changed.
     *
     * @param {CalendarModel} newProp - Returns the dynamic property value of the component.
     * @param {CalendarModel} oldProp - Returns the previous property value of the component.
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: CalendarModel, oldProp: CalendarModel): void;
    /**
     * Destroys the widget.
     *
     * @returns {void}
     */
    destroy(): void;
    /**
     * This method is used to navigate to the month/year/decade view of the Calendar.
     *
     * @param {string} view - Specifies the view of the Calendar.
     * @param {Date} date - Specifies the focused date in a view.
     * @param {boolean} isCustomDate - Specifies whether the calendar is rendered with custom today date or not.
     * @returns {void}
     * @deprecated
     */
    navigateTo(view: CalendarView, date: Date, isCustomDate?: boolean): void;
    /**
     * Gets the current view of the Calendar.
     *
     * @returns {string}
     * @deprecated
     */
    currentView(): string;
    /**
     * This method is used to add the single or multiple dates to the values property of the Calendar.
     *
     * @param {Date | Date[]} dates - Specifies the date or dates to be added to the values property of the Calendar.
     * @returns {void}
     * @deprecated
     */
    addDate(dates: Date | Date[]): void;
    /**
     * This method is used to remove the single or multiple dates from the values property of the Calendar.
     *
     * @param {Date | Date[]} dates - Specifies the date or dates which need to be removed from the values property of the Calendar.
     * @returns {void}
     * @deprecated
     */
    removeDate(dates: Date | Date[]): void;
    /**
     * To set custom today date in calendar
     *
     * @param {Date} date - Specifies date value to be set.
     * @private
     * @returns {void}
     */
    setTodayDate(date: Date): void;
    protected update(): void;
    protected selectDate(e: MouseEvent | base.KeyboardEventArgs, date: Date, element: Element): void;
    protected changeEvent(e: Event): void;
    protected triggerChange(e: MouseEvent | KeyboardEvent): void;
}
export interface NavigatedEventArgs extends base.BaseEventArgs {
    /** Defines the current view of the Calendar. */
    view?: string;
    /** Defines the focused date in a view. */
    date?: Date;
    /**
     * Specifies the original event arguments.
     */
    event?: KeyboardEvent | MouseEvent | Event;
}
export interface RenderDayCellEventArgs extends base.BaseEventArgs {
    /** Specifies whether to disable the current date or not. */
    isDisabled?: boolean;
    /** Specifies the day cell element. */
    element?: HTMLElement;
    /** Defines the current date of the Calendar. */
    date?: Date;
    /** Defines whether the current date is out of range (less than min or greater than max) or not. */
    isOutOfRange?: boolean;
}
export interface ChangedEventArgs extends base.BaseEventArgs {
    /** Defines the selected date of the Calendar.
     *
     * @isGenericType true
     */
    value?: Date;
    /** Defines the multiple selected date of the Calendar. */
    values?: Date[];
    /**
     * Specifies the original event arguments.
     */
    event?: KeyboardEvent | MouseEvent | Event;
    /** Defines the element. */
    element?: HTMLElement | HTMLInputElement;
    /**
     * If the event is triggered by interaction, it returns true. Otherwise, it returns false.
     */
    isInteracted?: boolean;
}
export interface IslamicObject {
    year: number;
    date: number;
    month: number;
}
/**
 * Defines the argument for the focus event.
 */
export interface FocusEventArgs {
    model?: Object;
}
/**
 * Defines the argument for the blur event.
 */
export interface BlurEventArgs {
    model?: Object;
}
export interface ClearedEventArgs {
    /**
     * Specifies the original event arguments.
     */
    event?: MouseEvent | Event;
}
//node_modules/@syncfusion/ej2-calendars/src/calendar/index.d.ts
/**
 * Calendar modules
 */
//node_modules/@syncfusion/ej2-calendars/src/calendar/islamic.d.ts
export  class Islamic {
    constructor(instance: Calendar);
    private calendarInstance;
    getModuleName(): string;
    islamicTitleUpdate(date: Date, view: string): void;
    islamicRenderDays(currentDate: Date, value?: Date, multiSelection?: boolean, values?: Date[]): HTMLElement[];
    islamicIconHandler(): void;
    islamicNext(): void;
    islamicPrevious(): void;
    islamicRenderYears(e?: Event, value?: Date): void;
    islamicRenderDecade(e?: Event, value?: Date): void;
    islamicDayCell(localDate: Date): HTMLElement;
    islamicRenderTemplate(elements: HTMLElement[], count: number, classNm: string, e?: Event, value?: Date): void;
    islamicCompareMonth(start: Date, end: Date): number;
    islamicCompare(startDate: Date, endDate: Date, modifier: number): number;
    getIslamicDate(date: Date): any;
    toGregorian(year: number, month: number, date: number): Date;
    hijriCompareYear(start: Date, end: Date): number;
    hijriCompareDecade(start: Date, end: Date): number;
    destroy(): void;
    protected islamicInValue(inValue: string | Date | number): string;
}
export interface IslamicDateArgs {
    year: number;
    date: number;
    month: number;
}
//node_modules/@syncfusion/ej2-calendars/src/common/index.d.ts
/**
 * MaskPlaceholder modules
 */
//node_modules/@syncfusion/ej2-calendars/src/common/maskplaceholder-model.d.ts
/**
 * Interface for a class MaskPlaceholder
 */
export interface MaskPlaceholderModel {
    /**
     * Specifies the mask placeholder value for day section.
     *
     * @default 'day'
     */
    day?: string;
    /**
     * Specifies the mask placeholder value for month section.
     *
     * @default 'month'
     */
    month?: string;
    /**
     * Specifies the mask placeholder value for year section.
     *
     * @default 'year'
     */
    year?: string;
    /**
     * Specifies the mask placeholder value for day of the week section.
     *
     * @default 'day of the week'
     */
    dayOfTheWeek?: string;
    /**
     * Specifies the mask placeholder value for hour section.
     *
     * @default 'hour'
     */
    hour?: string;
    /**
     * Specifies the mask placeholder value for minute section.
     *
     * @default 'minute'
     */
    minute?: string;
    /**
     * Specifies the mask placeholder value for second section.
     *
     * @default 'second'
     */
    second?: string;
}
//node_modules/@syncfusion/ej2-calendars/src/common/maskplaceholder.d.ts
export  class MaskPlaceholder extends base.ChildProperty<MaskPlaceholder> {
    /**
     * Specifies the mask placeholder value for day section.
     *
     * @default 'day'
     */
    day: string;
    /**
     * Specifies the mask placeholder value for month section.
     *
     * @default 'month'
     */
    month: string;
    /**
     * Specifies the mask placeholder value for year section.
     *
     * @default 'year'
     */
    year: string;
    /**
     * Specifies the mask placeholder value for day of the week section.
     *
     * @default 'day of the week'
     */
    dayOfTheWeek: string;
    /**
     * Specifies the mask placeholder value for hour section.
     *
     * @default 'hour'
     */
    hour: string;
    /**
     * Specifies the mask placeholder value for minute section.
     *
     * @default 'minute'
     */
    minute: string;
    /**
     * Specifies the mask placeholder value for second section.
     *
     * @default 'second'
     */
    second: string;
}
//node_modules/@syncfusion/ej2-calendars/src/datepicker/datepicker-model.d.ts
/**
 * Interface for a class DatePicker
 */
export interface DatePickerModel extends CalendarModel{
    /**
     * Specifies the width of the DatePicker component.
     *
     * @default null
     */
    width?: number | string;
    /**
     * Gets or sets the selected date of the Calendar.
     *
     * @default null
     * @isGenericType true
     * @deprecated
     */
    value?: Date;
    /**
     * Specifies the root CSS class of the DatePicker that allows to
     * customize the appearance by overriding the styles.
     *
     * @default null
     */
    cssClass?: string;
    /**
     * Specifies the component to act as strict. So that, it allows to enter only a valid date  value within a specified range or else it
     * will resets to previous value. By default, strictMode is in false.
     * it allows invalid or out-of-range date value with highlighted error class.
     *
     * @default false
     * > For more details refer to
     * [`Strict Mode`](../../datepicker/strict-mode/) documentation.
     */
    strictMode?: boolean;
    /**
     * Specifies the format of the value that to be displayed in component. By default, the format is based on the culture. You can set
     * the format to "format:'dd/MM/yyyy hh:mm'" or "format:{skeleton:'medium'}" either in string or object.
     * > To know more about the date format standards, refer to the base.Internationalization Date Format
     * [`base.Internationalization`](../../common/internationalization/#custom-formats) section.
     *
     * @default null
     * @aspType string
     */
    format?: string | FormatObject;
    /**
     * Specifies the component to be disabled or not.
     *
     * @default true
     */
    enabled?: boolean;
    /**
     * You can add the additional html base.attributes such as disabled, value etc., to the element.
     * If you configured both property and equivalent html attribute then the component considers the property value.
     * {% codeBlock src='datepicker/htmlAttributes/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     */
    htmlAttributes?: { [key: string]: string };
    /**
     * Gets or sets multiple selected dates of the calendar.
     *
     * @default null
     * @private
     */
    values?: Date[];
    /**
     * Specifies the option to enable the multiple dates selection of the calendar.
     *
     * @default false
     * @private
     */
    isMultiSelection?: boolean;
    /**
     * Specifies whether to show or hide the clear icon in textbox.
     *
     * @default true
     */
    showClearButton?: boolean;
    /**
     * > Support for `allowEdit` has been provided from
     * [`v16.2.46`](https://ej2.syncfusion.com/angular/documentation/release-notes/16.2.46/#datepicker).
     *
     * Specifies whether the input textbox is editable or not. Here the user can base.select the value from the
     * popup and cannot edit in the input textbox.
     *
     * @default true
     */
    allowEdit?: boolean;
    /**
     * Customizes the key actions in DatePicker.
     * For example, when using German keyboard, the key actions can be customized using these shortcuts.
     *
     *
     * inputs.Input Navigation
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Key action<br/></td><td colSpan=1 rowSpan=1>
     * Key<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * altUpArrow<br/></td><td colSpan=1 rowSpan=1>
     * alt+uparrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * altDownArrow<br/></td><td colSpan=1 rowSpan=1>
     * alt+downarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * escape<br/></td><td colSpan=1 rowSpan=1>
     * escape<br/></td></tr>
     * </table>
     *
     * Calendar Navigation
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Key action<br/></td><td colSpan=1 rowSpan=1>
     * Key<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * controlUp<br/></td><td colSpan=1 rowSpan=1>
     * ctrl+38<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * controlDown<br/></td><td colSpan=1 rowSpan=1>
     * ctrl+40<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * moveDown<br/></td><td colSpan=1 rowSpan=1>
     * downarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * moveUp<br/></td><td colSpan=1 rowSpan=1>
     * uparrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * moveLeft<br/></td><td colSpan=1 rowSpan=1>
     * leftarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * moveRight<br/></td><td colSpan=1 rowSpan=1>
     * rightarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * shiftPageUp<br/></td><td colSpan=1 rowSpan=1>
     * shift+pageup<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * shiftPageDown<br/></td><td colSpan=1 rowSpan=1>
     * shift+pagedown<br/></td></tr>
     * <tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * base.select<br/></td><td colSpan=1 rowSpan=1>
     * enter<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * home<br/></td><td colSpan=1 rowSpan=1>
     * home<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * end<br/></td><td colSpan=1 rowSpan=1>
     * end<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * pageUp<br/></td><td colSpan=1 rowSpan=1>
     * pageup<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * pageDown<br/></td><td colSpan=1 rowSpan=1>
     * pagedown<br/></td></tr>
     * <td colSpan=1 rowSpan=1>
     * controlHome<br/></td><td colSpan=1 rowSpan=1>
     * ctrl+home<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * controlEnd<br/></td><td colSpan=1 rowSpan=1>
     * ctrl+end<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * altUpArrow<br/></td><td colSpan=1 rowSpan=1>
     * alt+uparrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * spacebar<br/></td><td colSpan=1 rowSpan=1>
     * space<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * altRightArrow<br/></td><td colSpan=1 rowSpan=1>
     * alt+rightarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * altLeftArrow<br/></td><td colSpan=1 rowSpan=1>
     * alt+leftarrow<br/></td></tr>
     * </table>
     *
     * {% codeBlock src='datepicker/keyConfigs/index.md' %}{% endcodeBlock %}
     *
     * @default null
     * @deprecated
     */
    keyConfigs?: { [key: string]: string };
    /**
     * Enable or disable persisting component's state between page reloads. If enabled, following list of states will be persisted.
     * 1. value
     *
     * @default false
     * @deprecated
     */
    enablePersistence?: boolean;
    /**
     * specifies the z-index value of the datePicker popup element.
     *
     * @default 1000
     * @aspType int
     */
    zIndex?: number;
    /**
     * Specifies the component in readonly state. When the Component is readonly it does not allow user input.
     *
     * @default false
     */
    readonly?: boolean;
    /**
     * Specifies the placeholder text that displayed in textbox.
     *
     * @default null
     */
    placeholder?: string;
    /**
     * Specifies the placeholder text to be floated.
     * Possible values are:
     * Never: The label will never float in the input when the placeholder is available.
     * Always: The floating label will always float above the input.
     * Auto: The floating label will float above the input after focusing or entering a value in the input.
     *
     * @default Syncfusion.EJ2.Inputs.inputs.FloatLabelType.Never
     * @aspType Syncfusion.EJ2.Inputs.inputs.FloatLabelType
     * @isEnumeration true
     */
    floatLabelType?: inputs.FloatLabelType | string;
    /**
     * By default, the date value will be processed based on system time zone.
     * If you want to process the initial date value using server time zone
     * then specify the time zone value to `serverTimezoneOffset` property.
     *
     * @default null
     * @deprecated
     */
    serverTimezoneOffset?: number;
    /**
     * By default, the popup opens while clicking on the datepicker icon.
     * If you want to open the popup while focusing the date input then specify its value as true.
     *
     * @default false
     */
    openOnFocus?: boolean;
    /**
     * Specifies whether it is a masked datepicker or not.
     * By default the datepicker component render without masked input.
     * If you need masked datepicker input then specify it as true.
     * 
     * @default false
     */
    enableMask?: boolean;
    /**
     * Specifies the mask placeholder to be displayed on masked datepicker.
     * 
     * @default {day:'day' , month:'month', year: 'year', hour:'hour',minute:'minute',second:'second',dayOfTheWeek: 'day of the week'}
     */
    maskPlaceholder?: MaskPlaceholderModel;
    /**
     * Triggers when the popup is opened.
     *
     * @event open
     */
    open?: base.EmitType<PreventableEventArgs | PopupObjectArgs>;
    /**
     * Triggers when datepicker value is cleared using clear button.
     *
     * @event cleared
     */
    cleared?: base.EmitType<ClearedEventArgs>;
    /**
     * Triggers when the popup is closed.
     *
     * @event close
     */
    close?: base.EmitType<PreventableEventArgs | PopupObjectArgs>;
    /**
     * Triggers when the input loses the focus.
     *
     * @event blur
     */
    blur?: base.EmitType<BlurEventArgs>;
    /**
     *  Triggers when the input gets focus.
     *
     * @event focus
     */
    focus?: base.EmitType<FocusEventArgs>;
    /**
     * Triggers when the component is created.
     *
     * @event created
     */
    created?: base.EmitType<Object>;
    /**
     * Triggers when the component is destroyed.
     *
     * @event destroyed
     */
    destroyed?: base.EmitType<Object>;
}
//node_modules/@syncfusion/ej2-calendars/src/datepicker/datepicker.d.ts

export interface FormatObject {
    /**
     * Specifies the format in which the date format will process
     */
    skeleton?: string;
}
/**
 * Represents the DatePicker component that allows user to select
 * or enter a date value.
 * ```html
 * <input id='datepicker'/>
 * ```
 * ```typescript
 * <script>
 *   let datePickerObject:DatePicker = new DatePicker({ value: new Date() });
 *   datePickerObject.appendTo('#datepicker');
 * </script>
 * ```
 */
export  class DatePicker extends Calendar implements inputs.IInput {
    protected popupObj: popups.Popup;
    protected inputWrapper: inputs.InputObject;
    private modal;
    protected inputElement: HTMLInputElement;
    protected popupWrapper: HTMLElement;
    protected changedArgs: ChangedEventArgs;
    protected previousDate: Date;
    private keyboardModules;
    private calendarKeyboardModules;
    protected previousElementValue: string;
    protected ngTag: string;
    protected dateTimeFormat: string;
    protected inputElementCopy: HTMLElement;
    protected inputValueCopy: Date;
    protected l10n: base.L10n;
    protected preventArgs: PopupObjectArgs;
    private isDateIconClicked;
    protected isAltKeyPressed: boolean;
    private isInteracted;
    private index;
    private formElement;
    protected invalidValueString: string;
    private checkPreviousValue;
    protected formatString: string;
    protected tabIndex: string;
    protected maskedDateValue: string;
    private datepickerOptions;
    protected defaultKeyConfigs: {
        [key: string]: string;
    };
    protected mobilePopupWrapper: HTMLElement;
    protected isAngular: boolean;
    protected preventChange: boolean;
    protected isIconClicked: boolean;
    protected isDynamicValueChanged: boolean;
    protected moduleName: string;
    protected isFocused: boolean;
    /**
     * Specifies the width of the DatePicker component.
     *
     * @default null
     */
    width: number | string;
    /**
     * Gets or sets the selected date of the Calendar.
     *
     * @default null
     * @isGenericType true
     * @deprecated
     */
    value: Date;
    /**
     * Specifies the root CSS class of the DatePicker that allows to
     * customize the appearance by overriding the styles.
     *
     * @default null
     */
    cssClass: string;
    /**
     * Specifies the component to act as strict. So that, it allows to enter only a valid date  value within a specified range or else it
     * will resets to previous value. By default, strictMode is in false.
     * it allows invalid or out-of-range date value with highlighted error class.
     *
     * @default false
     * > For more details refer to
     * [`Strict Mode`](../../datepicker/strict-mode/) documentation.
     */
    strictMode: boolean;
    /**
     * Specifies the format of the value that to be displayed in component. By default, the format is based on the culture. You can set
     * the format to "format:'dd/MM/yyyy hh:mm'" or "format:{skeleton:'medium'}" either in string or object.
     * > To know more about the date format standards, refer to the Internationalization Date Format
     * [`Internationalization`](../../common/internationalization/#custom-formats) section.
     *
     * @default null
     * @aspType string
     */
    format: string | FormatObject;
    /**
     * Specifies the component to be disabled or not.
     *
     * @default true
     */
    enabled: boolean;
    /**
     * You can add the additional html attributes such as disabled, value etc., to the element.
     * If you configured both property and equivalent html attribute then the component considers the property value.
     * {% codeBlock src='datepicker/htmlAttributes/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     */
    htmlAttributes: {
        [key: string]: string;
    };
    /**
     * Gets or sets multiple selected dates of the calendar.
     *
     * @default null
     * @private
     */
    values: Date[];
    /**
     * Specifies the option to enable the multiple dates selection of the calendar.
     *
     * @default false
     * @private
     */
    isMultiSelection: boolean;
    /**
     * Specifies whether to show or hide the clear icon in textbox.
     *
     * @default true
     */
    showClearButton: boolean;
    /**
     * > Support for `allowEdit` has been provided from
     * [`v16.2.46`](https://ej2.syncfusion.com/angular/documentation/release-notes/16.2.46/#datepicker).
     *
     * Specifies whether the input textbox is editable or not. Here the user can select the value from the
     * popup and cannot edit in the input textbox.
     *
     * @default true
     */
    allowEdit: boolean;
    /**
     * Customizes the key actions in DatePicker.
     * For example, when using German keyboard, the key actions can be customized using these shortcuts.
     *
     *
     * Input Navigation
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Key action<br/></td><td colSpan=1 rowSpan=1>
     * Key<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * altUpArrow<br/></td><td colSpan=1 rowSpan=1>
     * alt+uparrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * altDownArrow<br/></td><td colSpan=1 rowSpan=1>
     * alt+downarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * escape<br/></td><td colSpan=1 rowSpan=1>
     * escape<br/></td></tr>
     * </table>
     *
     * Calendar Navigation
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Key action<br/></td><td colSpan=1 rowSpan=1>
     * Key<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * controlUp<br/></td><td colSpan=1 rowSpan=1>
     * ctrl+38<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * controlDown<br/></td><td colSpan=1 rowSpan=1>
     * ctrl+40<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * moveDown<br/></td><td colSpan=1 rowSpan=1>
     * downarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * moveUp<br/></td><td colSpan=1 rowSpan=1>
     * uparrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * moveLeft<br/></td><td colSpan=1 rowSpan=1>
     * leftarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * moveRight<br/></td><td colSpan=1 rowSpan=1>
     * rightarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * shiftPageUp<br/></td><td colSpan=1 rowSpan=1>
     * shift+pageup<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * shiftPageDown<br/></td><td colSpan=1 rowSpan=1>
     * shift+pagedown<br/></td></tr>
     * <tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * select<br/></td><td colSpan=1 rowSpan=1>
     * enter<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * home<br/></td><td colSpan=1 rowSpan=1>
     * home<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * end<br/></td><td colSpan=1 rowSpan=1>
     * end<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * pageUp<br/></td><td colSpan=1 rowSpan=1>
     * pageup<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * pageDown<br/></td><td colSpan=1 rowSpan=1>
     * pagedown<br/></td></tr>
     * <td colSpan=1 rowSpan=1>
     * controlHome<br/></td><td colSpan=1 rowSpan=1>
     * ctrl+home<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * controlEnd<br/></td><td colSpan=1 rowSpan=1>
     * ctrl+end<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * altUpArrow<br/></td><td colSpan=1 rowSpan=1>
     * alt+uparrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * spacebar<br/></td><td colSpan=1 rowSpan=1>
     * space<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * altRightArrow<br/></td><td colSpan=1 rowSpan=1>
     * alt+rightarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * altLeftArrow<br/></td><td colSpan=1 rowSpan=1>
     * alt+leftarrow<br/></td></tr>
     * </table>
     *
     * {% codeBlock src='datepicker/keyConfigs/index.md' %}{% endcodeBlock %}
     *
     * @default null
     * @deprecated
     */
    keyConfigs: {
        [key: string]: string;
    };
    /**
     * Enable or disable persisting component's state between page reloads. If enabled, following list of states will be persisted.
     * 1. value
     *
     * @default false
     * @deprecated
     */
    enablePersistence: boolean;
    /**
     * specifies the z-index value of the datePicker popup element.
     *
     * @default 1000
     * @aspType int
     */
    zIndex: number;
    /**
     * Specifies the component in readonly state. When the Component is readonly it does not allow user input.
     *
     * @default false
     */
    readonly: boolean;
    /**
     * Specifies the placeholder text that displayed in textbox.
     *
     * @default null
     */
    placeholder: string;
    /**
     * Specifies the placeholder text to be floated.
     * Possible values are:
     * Never: The label will never float in the input when the placeholder is available.
     * Always: The floating label will always float above the input.
     * Auto: The floating label will float above the input after focusing or entering a value in the input.
     *
     * @default Syncfusion.EJ2.Inputs.inputs.FloatLabelType.Never
     * @aspType Syncfusion.EJ2.Inputs.inputs.FloatLabelType
     * @isEnumeration true
     */
    floatLabelType: inputs.FloatLabelType | string;
    /**
     * By default, the date value will be processed based on system time zone.
     * If you want to process the initial date value using server time zone
     * then specify the time zone value to `serverTimezoneOffset` property.
     *
     * @default null
     * @deprecated
     */
    serverTimezoneOffset: number;
    /**
     * By default, the popup opens while clicking on the datepicker icon.
     * If you want to open the popup while focusing the date input then specify its value as true.
     *
     * @default false
     */
    openOnFocus: boolean;
    /**
     * Specifies whether it is a masked datepicker or not.
     * By default the datepicker component render without masked input.
     * If you need masked datepicker input then specify it as true.
     *
     * @default false
     */
    enableMask: boolean;
    /**
     * Specifies the mask placeholder to be displayed on masked datepicker.
     *
     * @default {day:'day' , month:'month', year: 'year', hour:'hour',minute:'minute',second:'second',dayOfTheWeek: 'day of the week'}
     */
    maskPlaceholder: MaskPlaceholderModel;
    /**
     * Triggers when the popup is opened.
     *
     * @event open
     */
    open: base.EmitType<PreventableEventArgs | PopupObjectArgs>;
    /**
     * Triggers when datepicker value is cleared using clear button.
     *
     * @event cleared
     */
    cleared: base.EmitType<ClearedEventArgs>;
    /**
     * Triggers when the popup is closed.
     *
     * @event close
     */
    close: base.EmitType<PreventableEventArgs | PopupObjectArgs>;
    /**
     * Triggers when the input loses the focus.
     *
     * @event blur
     */
    blur: base.EmitType<BlurEventArgs>;
    /**
     *  Triggers when the input gets focus.
     *
     * @event focus
     */
    focus: base.EmitType<FocusEventArgs>;
    /**
     * Triggers when the component is created.
     *
     * @event created
     */
    created: base.EmitType<Object>;
    /**
     * Triggers when the component is destroyed.
     *
     * @event destroyed
     */
    destroyed: base.EmitType<Object>;
    /**
     * Constructor for creating the widget.
     *
     * @param {DatePickerModel} options - Specifies the DatePicker model.
     * @param {string | HTMLInputElement} element - Specifies the element to render as component.
     * @private
     */
    constructor(options?: DatePickerModel, element?: string | HTMLInputElement);
    /**
     * To Initialize the control rendering.
     *
     * @returns {void}
     * @private
     */
    render(): void;
    protected setTimeZone(offsetValue: number): void;
    protected isDayLightSaving(): boolean;
    protected setAllowEdit(): void;
    protected updateIconState(): void;
    private initialize;
    private createInput;
    protected updateInput(isDynamic?: boolean): void;
    protected minMaxUpdates(): void;
    private checkStringValue;
    protected checkInvalidValue(value: Date): void;
    private bindInputEvent;
    protected bindEvents(): void;
    private keydownHandler;
    protected unBindEvents(): void;
    protected resetFormHandler(): void;
    protected restoreValue(): void;
    private inputChangeHandler;
    private bindClearEvent;
    protected resetHandler(e?: MouseEvent): void;
    private mouseUpHandler;
    private clear;
    private preventEventBubbling;
    private updateInputValue;
    private dateIconHandler;
    protected updateHtmlAttributeToWrapper(): void;
    protected updateHtmlAttributeToElement(): void;
    private updateCssClass;
    private calendarKeyActionHandle;
    private inputFocusHandler;
    private inputHandler;
    private inputBlurHandler;
    private documentHandler;
    protected inputKeyActionHandle(e: base.KeyboardEventArgs): void;
    protected defaultAction(e: base.KeyboardEventArgs): void;
    protected popupUpdate(): void;
    protected strictModeUpdate(): void;
    private createCalendar;
    private setAriaDisabled;
    private modelHeader;
    protected changeTrigger(event?: MouseEvent | KeyboardEvent): void;
    protected navigatedEvent(): void;
    protected changeEvent(event?: MouseEvent | KeyboardEvent | Event): void;
    requiredModules(): base.ModuleDeclaration[];
    protected selectCalendar(e?: MouseEvent | KeyboardEvent | Event): void;
    protected isCalendar(): boolean;
    protected setWidth(width: number | string): void;
    /**
     * Shows the Calendar.
     *
     * @returns {void}
     * @deprecated
     */
    show(type?: null | string, e?: MouseEvent | KeyboardEvent | base.KeyboardEventArgs): void;
    /**
     * Hide the Calendar.
     *
     * @returns {void}
     * @deprecated
     */
    hide(event?: MouseEvent | KeyboardEvent | Event): void;
    private closeEventCallback;
    /**
     * Sets the focus to widget for interaction.
     *
     * @returns {void}
     */
    focusIn(triggerEvent?: boolean): void;
    /**
     * Remove the focus from widget, if the widget is in focus state.
     *
     * @returns {void}
     */
    focusOut(): void;
    /**
     * Gets the current view of the DatePicker.
     *
     * @returns {string}
     * @deprecated
     */
    currentView(): string;
    /**
     * Navigates to specified month or year or decade view of the DatePicker.
     *
     * @param  {string} view - Specifies the view of the calendar.
     * @param  {Date} date - Specifies the focused date in a view.
     * @returns {void}
     * @deprecated
     */
    navigateTo(view: CalendarView, date: Date): void;
    /**
     * To destroy the widget.
     *
     * @returns {void}
     */
    destroy(): void;
    protected ensureInputAttribute(): void;
    /**
     * Initialize the event handler
     *
     * @returns {void}
     * @private
     */
    protected preRender(): void;
    protected getDefaultKeyConfig(): {
        [key: string]: string;
    };
    protected validationAttribute(target: HTMLElement, inputElement: Element): void;
    protected checkFormat(): void;
    private checkHtmlAttributes;
    /**
     * To get component name.
     *
     * @returns {string} Returns the component name.
     * @private
     */
    protected getModuleName(): string;
    private disabledDates;
    private setAriaAttributes;
    protected errorClass(): void;
    /**
     * Called internally if any of the property value changed.
     *
     * @param {DatePickerModel} newProp - Returns the dynamic property value of the component.
     * @param {DatePickerModel} oldProp - Returns the previous property value of the component.
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: DatePickerModel, oldProp: DatePickerModel): void;
}
export interface PopupObjectArgs {
    /** Prevents the default action */
    preventDefault?: Function;
    /**
     * Defines the DatePicker popup element.
     *
     * @deprecated
     */
    popup?: popups.Popup;
    /**
     * Illustrates whether the current action needs to be prevented or not.
     */
    cancel?: boolean;
    /**
     * Specifies the original event arguments.
     */
    event?: MouseEvent | KeyboardEvent | Event;
    /**
     * Specifies the node to which the popup element to be appended.
     */
    appendTo?: HTMLElement;
}
export interface PreventableEventArgs {
    /** Prevents the default action */
    preventDefault?: Function;
}
//node_modules/@syncfusion/ej2-calendars/src/datepicker/index.d.ts
/**
 * Datepicker modules
 */
//node_modules/@syncfusion/ej2-calendars/src/daterangepicker/daterangepicker-model.d.ts
/**
 * Interface for a class Presets
 */
export interface PresetsModel {
    /**
     * Defines the label string of the preset range.
     */
    label?: string;
    /**
     * Defines the start date of the preset range.
     */
    start?: Date;
    /**
     * Defines the end date of the preset range
     */
    end?: Date;
}
/**
 * Interface for a class DateRangePicker
 */
export interface DateRangePickerModel extends CalendarBaseModel{
    /**
     * Gets or sets the start and end date of the Calendar.
     * {% codeBlock src='daterangepicker/value/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    value?: Date[] | DateRange;
    /**
     * Enable or disable the persisting component's state between the page reloads. If enabled, following list of states will be persisted.
     * 1. startDate
     * 2. endDate
     * 3. value
     *
     * @default false
     */
    enablePersistence?: boolean;
    /**
     * Gets or sets the minimum date that can be selected in the calendar-popup.
     *
     * @default new Date(1900, 00, 01)
     */
    min?: Date;
    /**
     * Gets or sets the maximum date that can be selected in the calendar-popup.
     *
     * @default new Date(2099, 11, 31)
     */
    max?: Date;
    /**
     * Overrides the global culture and localization value for this component. Default global culture is 'en-US'.
     *
     * @default 'en-US'
     */
    locale?: string;
    /**
     * Gets or sets the Calendar's first day of the week. By default, the first day of the week will be based on the current culture.
     * > For more details about firstDayOfWeek refer to
     * [`First day of week`](../../daterangepicker/customization#first-day-of-week) documentation.
     *
     * @default null
     */
    firstDayOfWeek?: number;
    /**
     * Determines whether the week number of the Calendar is to be displayed or not.
     * The week number is displayed in every week row.
     * > For more details about weekNumber refer to
     * [`Calendar with week number`](../../calendar/how-to/render-the-calendar-with-week-numbers)documentation.
     *
     * @default false
     */
    weekNumber?: boolean;
    /**
     * Gets or sets the Calendar's Type like gregorian or islamic.
     *
     * @default Gregorian
     * @private
     */
    calendarMode?: CalendarType;
    /**
     * By default, the popup opens while clicking on the daterangepicker icon.
     * If you want to open the popup while focusing the daterange input then specify its value as true.
     *
     * @default false
     */
    openOnFocus?: boolean;
    /**
     * Triggers when Calendar is created.
     *
     * @event created
     */
    created?: base.EmitType<Object>;
    /**
     * Triggers when Calendar is destroyed.
     *
     * @event destroyed
     */
    destroyed?: base.EmitType<Object>;
    /**
     * Triggers when the Calendar value is changed.
     *
     * @event change
     */
    change?: base.EmitType<RangeEventArgs>;
    /**
     * Triggers when daterangepicker value is cleared using clear button.
     *
     * @event cleared
     */
    cleared?: base.EmitType<ClearedEventArgs>;
    /**
     * Triggers when the Calendar is navigated to another view or within the same level of view.
     *
     * @event navigated
     */
    navigated?: base.EmitType<NavigatedEventArgs>;
    /**
     * Triggers when each day cell of the Calendar is rendered.
     *
     * @event renderDayCell
     */
    renderDayCell?: base.EmitType<RenderDayCellEventArgs>;
    /**
     * Gets or sets the start date of the date range selection.
     *
     * @default null
     */
    startDate?: Date;
    /**
     * Gets or sets the end date of the date range selection.
     *
     * @default null
     */
    endDate?: Date;
    /**
     * Set the predefined ranges which let the user pick required range easily in a component.
     * > For more details refer to
     * [`Preset Ranges`](../../daterangepicker/customization#preset-ranges) documentation.
     * {% codeBlock src='daterangepicker/presets/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    presets?: PresetsModel[];
    /**
     * Specifies the width of the DateRangePicker component.
     *
     * @default ''
     */
    width?: number | string;
    /**
     * specifies the z-index value of the dateRangePicker popup element.
     *
     * @default 1000
     * @aspType int
     */
    zIndex?: number;
    /**
     * Specifies whether to show or hide the clear icon
     *
     * @default true
     */
    showClearButton?: boolean;
    /**
     * Specifies whether the today button is to be displayed or not.
     *
     * @default true
     * @hidden
     */
    showTodayButton?: boolean;
    /**
     * Specifies the initial view of the Calendar when it is opened.
     * With the help of this property, initial view can be changed to year or decade view.
     *
     * @default Month
     */
    start?: CalendarView;
    /**
     * Sets the maximum level of view (month, year, decade) in the Calendar.
     * Depth view should be smaller than the start view to restrict its view navigation.
     *
     * @default Month
     */
    depth?: CalendarView;
    /**
     *  Sets the root CSS class to the DateRangePicker which allows you to customize the appearance.
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * Sets or gets the string that used between the start and end date string.
     *
     * @default '-'
     */
    separator?: string;
    /**
     *  Specifies the minimum span of days that can be allowed in date range selection.
     * > For more details refer to
     * [`Range Span`](../../daterangepicker/range-restriction/#range-span) documentation.
     *
     * @default null
     * @aspType int
     */
    minDays?: number;
    /**
     *  Specifies the maximum span of days that can be allowed in a date range selection.
     * > For more details refer to
     * [`Range Span`](../../daterangepicker/range-restriction/#range-span) documentation.
     *
     * @default null
     * @aspType int
     */
    maxDays?: number;
    /**
     * Specifies the component to act as strict which allows entering only a valid date range in a DateRangePicker.
     * > For more details refer to
     * [`Strict Mode`](../../daterangepicker/range-restriction#strict-mode)documentation.
     *
     * @default false
     */
    strictMode?: boolean;
    /**
     * Customizes the key actions in DateRangePicker.
     * For example, when using German keyboard, the key actions can be customized using these shortcuts.
     *
     *
     * inputs.Input Navigation
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Key action<br/></td><td colSpan=1 rowSpan=1>
     * Key<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * altUpArrow<br/></td><td colSpan=1 rowSpan=1>
     * alt+uparrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * altDownArrow<br/></td><td colSpan=1 rowSpan=1>
     * alt+downarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * escape<br/></td><td colSpan=1 rowSpan=1>
     * escape<br/></td></tr>
     * </table>
     *
     * Calendar Navigation (Use the following list of keys to navigate the currently focused Calendar after the popup has opened).
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Key action<br/></td><td colSpan=1 rowSpan=1>
     * Key<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * controlUp<br/></td><td colSpan=1 rowSpan=1>
     * ctrl+38<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * controlDown<br/></td><td colSpan=1 rowSpan=1>
     * ctrl+40<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * moveDown<br/></td><td colSpan=1 rowSpan=1>
     * downarrow<br/></td></tr>
     * <td colSpan=1 rowSpan=1>
     * pageUp<br/></td><td colSpan=1 rowSpan=1>
     * pageup<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * pageDown<br/></td><td colSpan=1 rowSpan=1>
     * pagedown<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * shiftPageUp<br/></td><td colSpan=1 rowSpan=1>
     * shift+pageup<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * shiftPageDown<br/></td><td colSpan=1 rowSpan=1>
     * shift+pagedown<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * moveUp<br/></td><td colSpan=1 rowSpan=1>
     * uparrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * moveLeft<br/></td><td colSpan=1 rowSpan=1>
     * leftarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * moveRight<br/></td><td colSpan=1 rowSpan=1>
     * rightarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * base.select<br/></td><td colSpan=1 rowSpan=1>
     * enter<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * home<br/></td><td colSpan=1 rowSpan=1>
     * home<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * end<br/></td><td colSpan=1 rowSpan=1>
     * end<br/></td></tr>
     * <tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * controlHome<br/></td><td colSpan=1 rowSpan=1>
     * ctrl+home<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * controlEnd<br/></td><td colSpan=1 rowSpan=1>
     * ctrl+end<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * altUpArrow<br/></td><td colSpan=1 rowSpan=1>
     * alt+uparrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * spacebar<br/></td><td colSpan=1 rowSpan=1>
     * space<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * enter<br/></td><td colSpan=1 rowSpan=1>
     * enter<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * altRightArrow<br/></td><td colSpan=1 rowSpan=1>
     * alt+rightarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * altLeftArrow<br/></td><td colSpan=1 rowSpan=1>
     * alt+leftarrow<br/></td></tr>
     * </table>
     *
     * {% codeBlock src='daterangepicker/keyConfigs/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    keyConfigs?: { [key: string]: string };
    /**
     * Sets or gets the required date format to the start and end date string.
     * > For more details refer to
     * [`Format`](https://ej2.syncfusion.com/demos/#/material/daterangepicker/format.html)sample.
     *
     * @aspType string
     * {% codeBlock src='daterangepicker/format/index.md' %}{% endcodeBlock %}
     * @default null
     */
    format?: string | RangeFormatObject;
    /**
     * Specifies the component to be disabled which prevents the DateRangePicker from user interactions.
     *
     * @default true
     */
    enabled?: boolean;
    /**
     * Denies the editing the ranges in the DateRangePicker component.
     *
     * @default false
     */
    readonly?: boolean;
    /**
     * > Support for `allowEdit` has been provided from
     * [`v16.2.46`](https://ej2.syncfusion.com/angular/documentation/release-notes/16.2.46/#daterangepicker).
     *
     * Specifies whether the input textbox is editable or not. Here the user can base.select the value from the
     * popup and cannot edit in the input textbox.
     *
     * @default true
     */
    allowEdit?: boolean;
    /**
     * Specifies the placeholder text to be floated.
     * Possible values are:
     * Never: The label will never float in the input when the placeholder is available.
     * Always: The floating label will always float above the input.
     * Auto: The floating label will float above the input after focusing or entering a value in the input.
     *
     * @default Syncfusion.EJ2.Inputs.inputs.FloatLabelType.Never
     * @aspType Syncfusion.EJ2.Inputs.inputs.FloatLabelType
     * @isEnumeration true
     */
    floatLabelType?: inputs.FloatLabelType | string;
    /**
     * Specifies the placeholder text that need to be displayed in the DateRangePicker component.
     *
     * @default null
     */
    placeholder?: string;
    /**
     * You can add the additional html base.attributes such as disabled, value etc., to the element.
     * If you configured both property and equivalent html attribute then the component considers the property value.
     * {% codeBlock src='daterangepicker/htmlAttributes/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     */
    htmlAttributes?: { [key: string]: string };
    /**
     * Triggers when the DateRangePicker is opened.
     *
     * @event open
     */
    open?: base.EmitType<Object>;
    /**
     * Triggers when the DateRangePicker is closed.
     *
     * @event close
     */
    close?: base.EmitType<Object>;
    /**
     * Triggers on selecting the start and end date.
     *
     * @event base.select
     */
    select?: base.EmitType<Object>;
    /**
     *  Triggers when the control gets focus.
     *
     * @event focus
     */
    focus?: base.EmitType<FocusEventArgs>;
    /**
     * Triggers when the control loses the focus.
     *
     * @event blur
     */
    blur?: base.EmitType<BlurEventArgs>;
}
//node_modules/@syncfusion/ej2-calendars/src/daterangepicker/daterangepicker.d.ts

export  class Presets extends base.ChildProperty<Presets> {
    /**
     * Defines the label string of the preset range.
     */
    label: string;
    /**
     * Defines the start date of the preset range.
     */
    start: Date;
    /**
     * Defines the end date of the preset range
     */
    end: Date;
}
export interface DateRange {
    /** Defines the start date */
    start?: Date;
    /** Defines the end date */
    end?: Date;
}
export interface RangeEventArgs extends base.BaseEventArgs {
    /**
     * Defines the value
     */
    value?: Date[] | DateRange;
    /** Defines the value string in the input element */
    text?: string;
    /** Defines the start date  */
    startDate?: Date;
    /** Defines the end date  */
    endDate?: Date;
    /** Defines the day span between the range */
    daySpan?: number;
    /** Specifies the element. */
    element?: HTMLElement | HTMLInputElement;
    /**
     * Specifies the original event arguments.
     */
    event?: MouseEvent | KeyboardEvent | TouchEvent | Event;
    /**
     * If the event is triggered by interaction, it returns true. Otherwise, it returns false.
     */
    isInteracted?: boolean;
}
export interface RangePopupEventArgs {
    /** Defines the range string in the input element */
    date: string;
    /** Defines the DateRangePicker model */
    model: DateRangePickerModel;
    /**
     * Illustrates whether the current action needs to be prevented or not.
     */
    cancel?: boolean;
    /**
     * Defines the DateRangePicker popup object.
     *
     * @deprecated
     */
    popup?: popups.Popup;
    /**
     * Specifies the original event arguments.
     */
    event?: MouseEvent | KeyboardEvent | Event;
    /**
     * Specifies the node to which the popup element to be appended.
     */
    appendTo?: HTMLElement;
}
export interface RangeFormatObject {
    /**
     * Specifies the format in which the date format will process
     */
    skeleton?: string;
}
/**
 * Represents the DateRangePicker component that allows user to select the date range from the calendar
 * or entering the range through the input element.
 * ```html
 * <input id="daterangepicker"/>
 * ```
 * ```typescript
 * <script>
 *   var dateRangePickerObj = new DateRangePicker({ startDate: new Date("05/07/2017"), endDate: new Date("10/07/2017") });
 *   dateRangePickerObj.appendTo("#daterangepicker");
 * </script>
 * ```
 */
export  class DateRangePicker extends CalendarBase {
    private popupObj;
    private inputWrapper;
    private popupWrapper;
    private rightCalendar;
    private leftCalendar;
    private deviceCalendar;
    private leftCalCurrentDate;
    private initStartDate;
    private initEndDate;
    private startValue;
    private endValue;
    private modelValue;
    private rightCalCurrentDate;
    private leftCalPrevIcon;
    private leftCalNextIcon;
    private leftTitle;
    private rightTitle;
    private rightCalPrevIcon;
    private rightCalNextIcon;
    private inputKeyboardModule;
    protected leftKeyboardModule: base.KeyboardEvents;
    protected rightKeyboardModule: base.KeyboardEvents;
    private previousStartValue;
    private previousEndValue;
    private applyButton;
    private cancelButton;
    private startButton;
    private endButton;
    private cloneElement;
    private l10n;
    private isCustomRange;
    private isCustomWindow;
    private presetsItem;
    private liCollections;
    private activeIndex;
    private presetElement;
    private previousEleValue;
    private targetElement;
    private disabledDayCnt;
    private angularTag;
    private inputElement;
    private modal;
    private firstHiddenChild;
    private secondHiddenChild;
    private isKeyPopup;
    private dateDisabled;
    private navNextFunction;
    private navPrevFunction;
    private deviceNavNextFunction;
    private deviceNavPrevFunction;
    private isRangeIconClicked;
    private isMaxDaysClicked;
    private popupKeyboardModule;
    private presetKeyboardModule;
    private btnKeyboardModule;
    private virtualRenderCellArgs;
    private disabledDays;
    private isMobile;
    private keyInputConfigs;
    private defaultConstant;
    private preventBlur;
    private preventFocus;
    private valueType;
    private closeEventArgs;
    private openEventArgs;
    private controlDown;
    private startCopy;
    private endCopy;
    private formElement;
    private formatString;
    protected tabIndex: string;
    private invalidValueString;
    private dateRangeOptions;
    private mobileRangePopupWrap;
    protected isAngular: boolean;
    protected preventChange: boolean;
    protected isPropChanged: boolean;
    /**
     * Gets or sets the start and end date of the Calendar.
     * {% codeBlock src='daterangepicker/value/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    value: Date[] | DateRange;
    /**
     * Enable or disable the persisting component's state between the page reloads. If enabled, following list of states will be persisted.
     * 1. startDate
     * 2. endDate
     * 3. value
     *
     * @default false
     */
    enablePersistence: boolean;
    /**
     * Gets or sets the minimum date that can be selected in the calendar-popup.
     *
     * @default new Date(1900, 00, 01)
     */
    min: Date;
    /**
     * Gets or sets the maximum date that can be selected in the calendar-popup.
     *
     * @default new Date(2099, 11, 31)
     */
    max: Date;
    /**
     * Overrides the global culture and localization value for this component. Default global culture is 'en-US'.
     *
     * @default 'en-US'
     */
    locale: string;
    /**
     * Gets or sets the Calendar's first day of the week. By default, the first day of the week will be based on the current culture.
     * > For more details about firstDayOfWeek refer to
     * [`First day of week`](../../daterangepicker/customization#first-day-of-week) documentation.
     *
     * @default null
     */
    firstDayOfWeek: number;
    /**
     * Determines whether the week number of the Calendar is to be displayed or not.
     * The week number is displayed in every week row.
     * > For more details about weekNumber refer to
     * [`Calendar with week number`](../../calendar/how-to/render-the-calendar-with-week-numbers)documentation.
     *
     * @default false
     */
    weekNumber: boolean;
    /**
     * Gets or sets the Calendar's Type like gregorian or islamic.
     *
     * @default Gregorian
     * @private
     */
    calendarMode: CalendarType;
    /**
     * By default, the popup opens while clicking on the daterangepicker icon.
     * If you want to open the popup while focusing the daterange input then specify its value as true.
     *
     * @default false
     */
    openOnFocus: boolean;
    /**
     * Triggers when Calendar is created.
     *
     * @event created
     */
    created: base.EmitType<Object>;
    /**
     * Triggers when Calendar is destroyed.
     *
     * @event destroyed
     */
    destroyed: base.EmitType<Object>;
    /**
     * Triggers when the Calendar value is changed.
     *
     * @event change
     */
    change: base.EmitType<RangeEventArgs>;
    /**
     * Triggers when daterangepicker value is cleared using clear button.
     *
     * @event cleared
     */
    cleared: base.EmitType<ClearedEventArgs>;
    /**
     * Triggers when the Calendar is navigated to another view or within the same level of view.
     *
     * @event navigated
     */
    navigated: base.EmitType<NavigatedEventArgs>;
    /**
     * Triggers when each day cell of the Calendar is rendered.
     *
     * @event renderDayCell
     */
    renderDayCell: base.EmitType<RenderDayCellEventArgs>;
    /**
     * Gets or sets the start date of the date range selection.
     *
     * @default null
     */
    startDate: Date;
    /**
     * Gets or sets the end date of the date range selection.
     *
     * @default null
     */
    endDate: Date;
    /**
     * Set the$ predefined ranges which let the user pick required range easily in a component.
     * > For more details refer to
     * [`Preset Ranges`](../../daterangepicker/customization#preset-ranges) documentation.
     * {% codeBlock src='daterangepicker/presets/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    presets: PresetsModel[];
    /**
     * Specifies the width of the DateRangePicker component.
     *
     * @default ''
     */
    width: number | string;
    /**
     * specifies the z-index value of the dateRangePicker popup element.
     *
     * @default 1000
     * @aspType int
     */
    zIndex: number;
    /**
     * Specifies whether to show or hide the clear icon
     *
     * @default true
     */
    showClearButton: boolean;
    /**
     * Specifies whether the today button is to be displayed or not.
     *
     * @default true
     * @hidden
     */
    showTodayButton: boolean;
    /**
     * Specifies the initial view of the Calendar when it is opened.
     * With the help of this property, initial view can be changed to year or decade view.
     *
     * @default Month
     */
    start: CalendarView;
    /**
     * Sets the maximum level of view (month, year, decade) in the Calendar.
     * Depth view should be smaller than the start view to restrict its view navigation.
     *
     * @default Month
     */
    depth: CalendarView;
    /**
     *  Sets the root CSS class to the DateRangePicker which allows you to customize the appearance.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * Sets or gets the string that used between the start and end date string.
     *
     * @default '-'
     */
    separator: string;
    /**
     *  Specifies the minimum span of days that can be allowed in date range selection.
     * > For more details refer to
     * [`Range Span`](../../daterangepicker/range-restriction/#range-span) documentation.
     *
     * @default null
     * @aspType int
     */
    minDays: number;
    /**
     *  Specifies the maximum span of days that can be allowed in a date range selection.
     * > For more details refer to
     * [`Range Span`](../../daterangepicker/range-restriction/#range-span) documentation.
     *
     * @default null
     * @aspType int
     */
    maxDays: number;
    /**
     * Specifies the component to act as strict which allows entering only a valid date range in a DateRangePicker.
     * > For more details refer to
     * [`Strict Mode`](../../daterangepicker/range-restriction#strict-mode)documentation.
     *
     * @default false
     */
    strictMode: boolean;
    /**
     * Customizes the key actions in DateRangePicker.
     * For example, when using German keyboard, the key actions can be customized using these shortcuts.
     *
     *
     * Input Navigation
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Key action<br/></td><td colSpan=1 rowSpan=1>
     * Key<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * altUpArrow<br/></td><td colSpan=1 rowSpan=1>
     * alt+uparrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * altDownArrow<br/></td><td colSpan=1 rowSpan=1>
     * alt+downarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * escape<br/></td><td colSpan=1 rowSpan=1>
     * escape<br/></td></tr>
     * </table>
     *
     * Calendar Navigation (Use the following list of keys to navigate the currently focused Calendar after the popup has opened).
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Key action<br/></td><td colSpan=1 rowSpan=1>
     * Key<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * controlUp<br/></td><td colSpan=1 rowSpan=1>
     * ctrl+38<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * controlDown<br/></td><td colSpan=1 rowSpan=1>
     * ctrl+40<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * moveDown<br/></td><td colSpan=1 rowSpan=1>
     * downarrow<br/></td></tr>
     * <td colSpan=1 rowSpan=1>
     * pageUp<br/></td><td colSpan=1 rowSpan=1>
     * pageup<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * pageDown<br/></td><td colSpan=1 rowSpan=1>
     * pagedown<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * shiftPageUp<br/></td><td colSpan=1 rowSpan=1>
     * shift+pageup<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * shiftPageDown<br/></td><td colSpan=1 rowSpan=1>
     * shift+pagedown<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * moveUp<br/></td><td colSpan=1 rowSpan=1>
     * uparrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * moveLeft<br/></td><td colSpan=1 rowSpan=1>
     * leftarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * moveRight<br/></td><td colSpan=1 rowSpan=1>
     * rightarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * select<br/></td><td colSpan=1 rowSpan=1>
     * enter<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * home<br/></td><td colSpan=1 rowSpan=1>
     * home<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * end<br/></td><td colSpan=1 rowSpan=1>
     * end<br/></td></tr>
     * <tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * controlHome<br/></td><td colSpan=1 rowSpan=1>
     * ctrl+home<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * controlEnd<br/></td><td colSpan=1 rowSpan=1>
     * ctrl+end<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * altUpArrow<br/></td><td colSpan=1 rowSpan=1>
     * alt+uparrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * spacebar<br/></td><td colSpan=1 rowSpan=1>
     * space<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * enter<br/></td><td colSpan=1 rowSpan=1>
     * enter<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * altRightArrow<br/></td><td colSpan=1 rowSpan=1>
     * alt+rightarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * altLeftArrow<br/></td><td colSpan=1 rowSpan=1>
     * alt+leftarrow<br/></td></tr>
     * </table>
     *
     * {% codeBlock src='daterangepicker/keyConfigs/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    keyConfigs: {
        [key: string]: string;
    };
    /**
     * Sets or gets the required date format to the start and end date string.
     * > For more details refer to
     * [`Format`](https://ej2.syncfusion.com/demos/#/material/daterangepicker/format.html)sample.
     *
     * @aspType string
     * {% codeBlock src='daterangepicker/format/index.md' %}{% endcodeBlock %}
     * @default null
     */
    format: string | RangeFormatObject;
    /**
     * Specifies the component to be disabled which prevents the DateRangePicker from user interactions.
     *
     * @default true
     */
    enabled: boolean;
    /**
     * Denies the editing the ranges in the DateRangePicker component.
     *
     * @default false
     */
    readonly: boolean;
    /**
     * > Support for `allowEdit` has been provided from
     * [`v16.2.46`](https://ej2.syncfusion.com/angular/documentation/release-notes/16.2.46/#daterangepicker).
     *
     * Specifies whether the input textbox is editable or not. Here the user can select the value from the
     * popup and cannot edit in the input textbox.
     *
     * @default true
     */
    allowEdit: boolean;
    /**
     * Specifies the placeholder text to be floated.
     * Possible values are:
     * Never: The label will never float in the input when the placeholder is available.
     * Always: The floating label will always float above the input.
     * Auto: The floating label will float above the input after focusing or entering a value in the input.
     *
     * @default Syncfusion.EJ2.Inputs.inputs.FloatLabelType.Never
     * @aspType Syncfusion.EJ2.Inputs.inputs.FloatLabelType
     * @isEnumeration true
     */
    floatLabelType: inputs.FloatLabelType | string;
    /**
     * Specifies the placeholder text that need to be displayed in the DateRangePicker component.
     *
     * @default null
     */
    placeholder: string;
    /**
     * You can add the additional html attributes such as disabled, value etc., to the element.
     * If you configured both property and equivalent html attribute then the component considers the property value.
     * {% codeBlock src='daterangepicker/htmlAttributes/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     */
    htmlAttributes: {
        [key: string]: string;
    };
    /**
     * Triggers when the DateRangePicker is opened.
     *
     * @event open
     */
    open: base.EmitType<Object>;
    /**
     * Triggers when the DateRangePicker is closed.
     *
     * @event close
     */
    close: base.EmitType<Object>;
    /**
     * Triggers on selecting the start and end date.
     *
     * @event select
     */
    select: base.EmitType<Object>;
    /**
     *  Triggers when the control gets focus.
     *
     * @event focus
     */
    focus: base.EmitType<FocusEventArgs>;
    /**
     * Triggers when the control loses the focus.
     *
     * @event blur
     */
    blur: base.EmitType<BlurEventArgs>;
    /**
     * Constructor for creating the widget
     *
     * @param {DateRangePickerModel} options - Specifies the DateRangePicker model.
     * @param {string | HTMLInputElement} element - Specifies the element to render as component.
     * @private
     */
    constructor(options?: DateRangePickerModel, element?: string | HTMLInputElement);
    /**
     * To Initialize the control rendering.
     *
     * @returns {void}
     * @private
     */
    protected render(): void;
    /**
     * Initialize the event handler
     *
     * @returns {void}
     * @private
     */
    protected preRender(): void;
    private updateValue;
    private initProperty;
    protected checkFormat(): void;
    private initialize;
    private setDataAttribute;
    private setRangeAllowEdit;
    private updateClearIconState;
    protected validationAttribute(element: HTMLElement, input: Element): void;
    private updateHtmlAttributeToWrapper;
    private updateHtmlAttributeToElement;
    private updateCssClass;
    private processPresets;
    protected bindEvents(): void;
    private unBindEvents;
    private updateHiddenInput;
    private inputChangeHandler;
    private bindClearEvent;
    protected resetHandler(e: MouseEvent): void;
    private restoreValue;
    protected formResetHandler(e: MouseEvent): void;
    private clear;
    private rangeIconHandler;
    private checkHtmlAttributes;
    private createPopup;
    private renderControl;
    private clearCalendarEvents;
    private updateNavIcons;
    private calendarIconEvent;
    private bindCalendarEvents;
    private calendarIconRipple;
    private deviceCalendarEvent;
    private deviceNavNext;
    private deviceNavPrevious;
    private updateDeviceCalendar;
    private deviceHeaderClick;
    private inputFocusHandler;
    private inputBlurHandler;
    private clearRange;
    private errorClass;
    private keyCalendarUpdate;
    private navInCalendar;
    private firstCellToFocus;
    private keyInputHandler;
    private tabKeyValidation;
    private keyNavigation;
    private inputHandler;
    private bindCalendarCellEvents;
    private removeFocusedDate;
    private hoverSelection;
    private isSameStartEnd;
    private updateRange;
    private checkMinMaxDays;
    private rangeArgs;
    private otherMonthSelect;
    private selectRange;
    private selectableDates;
    private updateMinMaxDays;
    private removeTimeValueFromDate;
    private removeClassDisabled;
    private updateHeader;
    private removeSelection;
    private addSelectedAttributes;
    private removeSelectedAttributes;
    private updateCalendarElement;
    private navPrevMonth;
    private deviceNavigation;
    private updateControl;
    private navNextMonth;
    private isPopupOpen;
    protected createRangeHeader(): HTMLElement;
    private disableInput;
    private validateMinMax;
    private validateRangeStrict;
    private validateRange;
    private validateMinMaxDays;
    private renderCalendar;
    private isSameMonth;
    private isSameYear;
    private isSameDecade;
    private startMonthCurrentDate;
    private selectNextMonth;
    private selectNextYear;
    private selectNextDecade;
    private selectStartMonth;
    private createCalendar;
    private leftNavTitle;
    private calendarNavigation;
    private rightNavTitle;
    protected clickEventEmitter(e: MouseEvent): void;
    /**
     * Gets the current view of the Calendar.
     *
     * @returns {string}
     * @private
     * @hidden
     */
    currentView(): string;
    protected getCalendarView(view: string): CalendarView;
    protected navigatedEvent(e: MouseEvent): void;
    private createControl;
    private cancelFunction;
    private deviceHeaderUpdate;
    private applyFunction;
    private onMouseClick;
    private onMouseOver;
    private onMouseLeave;
    private setListSelection;
    private removeListSelection;
    private setValue;
    private applyPresetRange;
    private showPopup;
    private renderCustomPopup;
    private listRippleEffect;
    private createPresets;
    private wireListEvents;
    private unWireListEvents;
    private renderPopup;
    protected popupCloseHandler(e: base.KeyboardEventArgs): void;
    private calendarFocus;
    private presetHeight;
    private presetKeyActionHandler;
    private listMoveDown;
    private listMoveUp;
    private getHoverLI;
    private getActiveLI;
    private popupKeyBoardHandler;
    private setScrollPosition;
    private popupKeyActionHandle;
    private documentHandler;
    private createInput;
    private setEleWidth;
    private adjustLongHeaderWidth;
    private refreshControl;
    private updateInput;
    protected checkInvalidRange(value: string | DateRange | Date[]): void;
    private getstringvalue;
    private checkInvalidValue;
    private isDateDisabled;
    private disabledDateRender;
    private virtualRenderCellEvent;
    private disabledDates;
    private setModelValue;
    /**
     * To dispatch the event manually
     *
     * @param {HTMLElement} element - Specifies the element to dispatch the event.
     * @param {string} type - Specifies the name of the event.
     * @returns {void}
     */
    protected dispatchEvent(element: HTMLElement, type: string): void;
    private changeTrigger;
    /**
     * This method is used to navigate to the month/year/decade view of the Calendar.
     *
     * @param  {string} view - Specifies the view of the Calendar.
     * @param  {Date} date - Specifies the focused date in a view.
     * @returns {void}
     * @hidden
     */
    navigateTo(view: CalendarView, date: Date): void;
    private navigate;
    /**
     * Sets the focus to widget for interaction.
     *
     * @returns {void}
     */
    focusIn(): void;
    /**
     * Remove the focus from widget, if the widget is in focus state.
     *
     * @returns {void}
     */
    focusOut(): void;
    /**
     * To destroy the widget.
     *
     * @returns {void}
     */
    destroy(): void;
    protected ensureInputAttribute(): void;
    /**
     * To get component name
     *
     * @returns {string} Returns the component name.
     * @private
     */
    protected getModuleName(): string;
    /**
     * Return the properties that are maintained upon browser refresh.
     *
     * @returns {string}
     */
    getPersistData(): string;
    /**
     * Return the selected range and day span in the DateRangePicker.
     *
     * @returns {Object}
     */
    getSelectedRange(): Object;
    /**
     * To open the popups.Popup container in the DateRangePicker component.
     *
     * @param {HTMLElement} element - Specifies element.
     * @returns {void}
     */
    show(element?: HTMLElement, event?: MouseEvent | base.KeyboardEventArgs | Event): void;
    /**
     * To close the popups.Popup container in the DateRangePicker component.
     *
     * @returns {void}
     */
    hide(event?: base.KeyboardEventArgs | MouseEvent | Event): void;
    private setLocale;
    private refreshChange;
    private setDate;
    private enableInput;
    private clearModelvalue;
    private createHiddenInput;
    private setMinMaxDays;
    /**
     * Called internally if any of the property value changed.
     *
     * @param {DateRangePickerModel} newProp - Returns the dynamic property value of the component.
     * @param {DateRangePickerModel} oldProp - Returns the previous property value of the component.
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: DateRangePickerModel, oldProp: DateRangePickerModel): void;
}
//node_modules/@syncfusion/ej2-calendars/src/daterangepicker/index.d.ts
/**
 * DateRangePicker modules
 */
//node_modules/@syncfusion/ej2-calendars/src/datetimepicker/datetimepicker-model.d.ts
/**
 * Interface for a class DateTimePicker
 */
export interface DateTimePickerModel extends DatePickerModel{
    /**
     * Specifies the format of the time value that to be displayed in time popup list.
     *
     * @default null
     */
    timeFormat?: string;
    /**
     * Specifies the time interval between the two adjacent time values in the time popup list .
     *
     * @default 30
     */
    step?: number;
    /**
     * Specifies the scroll bar position if there is no value is selected in the timepicker popup list or
     * the given value is not present in the timepicker popup list.
     * {% codeBlock src='datetimepicker/scrollTo/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    scrollTo?: Date;
    /**
     * specifies the z-index value of the popup element.
     *
     * @default 1000
     * @aspType int
     */
    zIndex?: number;
    /**
     * Gets or sets the selected date of the Calendar.
     *
     * @default null
     * @isGenericType true
     */
    value?: Date;
    /**
     * Customizes the key actions in DateTimePicker.
     * For example, when using German keyboard, the key actions can be customized using these shortcuts.
     *
     *
     * inputs.Input Navigation
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Key action<br/></td><td colSpan=1 rowSpan=1>
     * Key<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * altUpArrow<br/></td><td colSpan=1 rowSpan=1>
     * alt+uparrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * altDownArrow<br/></td><td colSpan=1 rowSpan=1>
     * alt+downarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * escape<br/></td><td colSpan=1 rowSpan=1>
     * escape<br/></td></tr>
     * </table>
     *
     * Calendar Navigation (Use the following list of keys to navigate the currently focused Calendar after the popup has opened).
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Key action<br/></td><td colSpan=1 rowSpan=1>
     * Key<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * controlUp<br/></td><td colSpan=1 rowSpan=1>
     * ctrl+38<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * controlDown<br/></td><td colSpan=1 rowSpan=1>
     * ctrl+40<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * moveDown<br/></td><td colSpan=1 rowSpan=1>
     * downarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * moveUp<br/></td><td colSpan=1 rowSpan=1>
     * uparrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * moveLeft<br/></td><td colSpan=1 rowSpan=1>
     * leftarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * moveRight<br/></td><td colSpan=1 rowSpan=1>
     * rightarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * select<br/></td><td colSpan=1 rowSpan=1>
     * enter<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * home<br/></td><td colSpan=1 rowSpan=1>
     * home<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * end<br/></td><td colSpan=1 rowSpan=1>
     * end<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * pageUp<br/></td><td colSpan=1 rowSpan=1>
     * pageup<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * pageDown<br/></td><td colSpan=1 rowSpan=1>
     * pagedown<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * shiftPageUp<br/></td><td colSpan=1 rowSpan=1>
     * shift+pageup<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * shiftPageDown<br/></td><td colSpan=1 rowSpan=1>
     * shift+pagedown<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * controlHome<br/></td><td colSpan=1 rowSpan=1>
     * ctrl+home<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * controlEnd<br/></td><td colSpan=1 rowSpan=1>
     * ctrl+end<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * altUpArrow<br/></td><td colSpan=1 rowSpan=1>
     * alt+uparrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * spacebar<br/></td><td colSpan=1 rowSpan=1>
     * space<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * altRightArrow<br/></td><td colSpan=1 rowSpan=1>
     * alt+rightarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * altLeftArrow<br/></td><td colSpan=1 rowSpan=1>
     * alt+leftarrow<br/></td></tr>
     * </table>
     *
     * TimePicker Navigation (Use the below list of shortcut keys to interact with the TimePicker after the TimePicker popups.Popup has opened).
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Key action<br/></td><td colSpan=1 rowSpan=1>
     * Key<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * down<br/></td><td colSpan=1 rowSpan=1>
     * downarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * up<br/></td><td colSpan=1 rowSpan=1>
     * uparrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * left<br/></td><td colSpan=1 rowSpan=1>
     * leftarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * right<br/></td><td colSpan=1 rowSpan=1>
     * rightarrow<br/></td></tr>
     * </table>
     *
     * {% codeBlock src='datetimepicker/keyConfigs/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    keyConfigs?: { [key: string]: string };
    /**
     * You can add the additional html base.attributes such as disabled, value etc., to the element.
     * If you configured both property and equivalent html attribute then the component considers the property value.
     * {% codeBlock src='datetimepicker/htmlAttributes/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     */
    htmlAttributes?: { [key: string]: string };
    /**
     * Enable or disable persisting component's state between page reloads. If enabled, following list of states will be persisted.
     * 1. value
     *
     * @default false
     */
    enablePersistence?: boolean;
    /**
     * > Support for `allowEdit` has been provided from
     * [`v16.2.46`](https://ej2.syncfusion.com/angular/documentation/release-notes/16.2.46/#datetimepicker).
     *
     * Specifies whether the input textbox is editable or not. Here the user can select the value from the
     * popup and cannot edit in the input textbox.
     *
     * @default true
     */
    allowEdit?: boolean;
    /**
     * Specifies the option to enable the multiple dates selection of the calendar.
     *
     * @default false
     * @private
     */
    isMultiSelection?: boolean;
    /**
     * Gets or sets multiple selected dates of the calendar.
     *
     * @default null
     * @private
     */
    values?: Date[];
    /**
     * Specifies whether to show or hide the clear icon in textbox.
     *
     * @default true
     */
    showClearButton?: boolean;
    /**
     * Specifies the placeholder text that to be is displayed in textbox.
     *
     * @default null
     */
    placeholder?: string;
    /**
     * Specifies the component to act as strict. So that, it allows to enter only a valid
     * date and time value within a specified range or else it
     * will resets to previous value. By default, strictMode is in false.
     * it allows invalid or out-of-range value with highlighted error class.
     *
     * @default false
     * > For more details refer to
     * [`Strict Mode`](../../datetimepicker/strict-mode/) documentation.
     */
    strictMode?: boolean;
    /**
     * By default, the date value will be processed based on system time zone.
     * If you want to process the initial date value using server time zone
     * then specify the time zone value to `serverTimezoneOffset` property.
     *
     * @default null
     */
    serverTimezoneOffset?: number;
    /**
     * Gets or sets the minimum date that can be selected in the DateTimePicker.
     *
     * @default new Date(1900, 00, 01)
     */
    min?: Date;
    /**
     * Gets or sets the maximum date that can be selected in the DateTimePicker.
     *
     * @default new Date(2099, 11, 31)
     */
    max?: Date;
    /**
     * Gets or sets the Calendar's first day of the week. By default, the first day of the week will be based on the current culture.
     *
     * @default 0
     * @aspType int
     * > For more details about firstDayOfWeek refer to
     * [`First day of week`](../../calendar/how-to/first-day-of-week#change-the-first-day-of-the-week) documentation.
     */
    firstDayOfWeek?: number;
    /**
     * Gets or sets the Calendar's Type like gregorian or islamic.
     *
     * @default Gregorian
     */
    calendarMode?: CalendarType;
    /**
     * Specifies the initial view of the Calendar when it is opened.
     * With the help of this property, initial view can be changed to year or decade view.
     *
     * @default Month
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * View<br/></td><td colSpan=1 rowSpan=1>
     * Description<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Month<br/></td><td colSpan=1 rowSpan=1>
     * Calendar view shows the days of the month.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Year<br/></td><td colSpan=1 rowSpan=1>
     * Calendar view shows the months of the year.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Decade<br/></td><td colSpan=1 rowSpan=1>
     * Calendar view shows the years of the decade.<br/></td></tr>
     * </table>
     *
     * > For more details about start refer to
     * [`calendarView`](../../calendar/calendar-views#view-restriction)documentation.
     */
    start?: CalendarView;
    /**
     * Sets the maximum level of view such as month, year, and decade in the Calendar.
     * Depth view should be smaller than the start view to restrict its view navigation.
     *
     * @default Month
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * view<br/></td><td colSpan=1 rowSpan=1>
     * Description<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Month<br/></td><td colSpan=1 rowSpan=1>
     * Calendar view shows up to the days of the month.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Year<br/></td><td colSpan=1 rowSpan=1>
     * Calendar view shows up to the months of the year.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Decade<br/></td><td colSpan=1 rowSpan=1>
     * Calendar view shows up to the years of the decade.<br/></td></tr>
     * </table>
     *
     * > For more details about depth refer to
     *  [`calendarView`](../../calendar/calendar-views#view-restriction)documentation.
     */
    depth?: CalendarView;
    /**
     * Determines whether the week number of the year is to be displayed in the calendar or not.
     *
     * @default false
     * > For more details about weekNumber refer to
     * [`Calendar with week number`](../../calendar/how-to/render-the-calendar-with-week-numbers)documentation.
     */
    weekNumber?: boolean;
    /**
     * Specifies whether the today button is to be displayed or not.
     *
     * @default true
     */
    showTodayButton?: boolean;
    /**
     * Specifies the format of the day that to be displayed in header. By default, the format is ‘short’.
     * Possible formats are:
     * * `Short` - Sets the short format of day name (like Su ) in day header.
     * * `Narrow` - Sets the single character of day name (like S ) in day header.
     * * `Abbreviated` - Sets the min format of day name (like Sun ) in day header.
     * * `Wide` - Sets the long format of day name (like Sunday ) in day header.
     *
     * @default Short
     */
    dayHeaderFormat?: DayHeaderFormats;
    /**
     * By default, the popup opens while clicking on the datetimepicker icon.
     * If you want to open the popup while focusing the datetime input then specify its value as true.
     *
     * @default false
     */
    openOnFocus?: boolean;
    /**
     * Specifies whether it is a masked datetimepicker or not.
     * By default the datetimepicker component render without masked input.
     * If you need masked datetimepicker input then specify it as true.
     * 
     * @default false
     */
    enableMask?: boolean;
    /**
     * Specifies the mask placeholder to be displayed on masked datetimepicker.
     * 
     * @default {day:'day' , month:'month', year: 'year', hour:'hour',minute:'minute',second:'second',dayOfTheWeek: 'day of the week'}
     */
    maskPlaceholder?: MaskPlaceholderModel;
    /**
     * Triggers when popup is opened.
     *
     * @event open
     */
    open?: base.EmitType<Object>;
    /**
     * Triggers when popup is closed.
     *
     * @event close
     */
    close?: base.EmitType<Object>;
    /**
     * Triggers when datetimepicker value is cleared using clear button.
     *
     * @event cleared
     */
    cleared?: base.EmitType<ClearedEventArgs>;
    /**
     * Triggers when input loses the focus.
     *
     * @event blur
     */
    blur?: base.EmitType<Object>;
    /**
     * Triggers when input gets focus.
     *
     * @event focus
     */
    focus?: base.EmitType<Object>;
    /**
     * Triggers when DateTimePicker is created.
     *
     * @event created
     */
    created?: base.EmitType<Object>;
    /**
     * Triggers when DateTimePicker is destroyed.
     *
     * @event destroyed
     */
    destroyed?: base.EmitType<Object>;
}
//node_modules/@syncfusion/ej2-calendars/src/datetimepicker/datetimepicker.d.ts

/**
 * Represents the DateTimePicker component that allows user to select
 * or enter a date time value.
 * ```html
 * <input id="dateTimePicker"/>
 * ```
 * ```typescript
 * <script>
 *   let dateTimePickerObject:DateTimePicker = new DateTimePicker({ value: new Date() });
 *   dateTimePickerObject.appendTo("#dateTimePicker");
 * </script>
 * ```
 */
export  class DateTimePicker extends DatePicker {
    private timeIcon;
    private cloneElement;
    private dateTimeWrapper;
    private rippleFn;
    private listWrapper;
    private liCollections;
    private timeCollections;
    private listTag;
    private selectedElement;
    private containerStyle;
    private popupObject;
    protected timeModal: HTMLElement;
    private isNavigate;
    protected isPreventBlur: boolean;
    private timeValue;
    protected l10n: base.L10n;
    private keyboardHandler;
    protected inputEvent: base.KeyboardEvents;
    private activeIndex;
    private valueWithMinutes;
    private initValue;
    protected tabIndex: string;
    private isValidState;
    protected timekeyConfigure: {
        [key: string]: string;
    };
    protected preventArgs: PopupObjectArgs;
    private dateTimeOptions;
    protected scrollInvoked: boolean;
    protected maskedDateValue: string;
    protected moduleName: string;
    /**
     * Specifies the format of the time value that to be displayed in time popup list.
     *
     * @default null
     */
    timeFormat: string;
    /**
     * Specifies the time interval between the two adjacent time values in the time popup list .
     *
     * @default 30
     */
    step: number;
    /**
     * Specifies the scroll bar position if there is no value is selected in the timepicker popup list or
     * the given value is not present in the timepicker popup list.
     * {% codeBlock src='datetimepicker/scrollTo/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    scrollTo: Date;
    /**
     * specifies the z-index value of the popup element.
     *
     * @default 1000
     * @aspType int
     */
    zIndex: number;
    /**
     * Gets or sets the selected date of the Calendar.
     *
     * @default null
     * @isGenericType true
     */
    value: Date;
    /**
     * Customizes the key actions in DateTimePicker.
     * For example, when using German keyboard, the key actions can be customized using these shortcuts.
     *
     *
     * Input Navigation
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Key action<br/></td><td colSpan=1 rowSpan=1>
     * Key<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * altUpArrow<br/></td><td colSpan=1 rowSpan=1>
     * alt+uparrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * altDownArrow<br/></td><td colSpan=1 rowSpan=1>
     * alt+downarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * escape<br/></td><td colSpan=1 rowSpan=1>
     * escape<br/></td></tr>
     * </table>
     *
     * Calendar Navigation (Use the following list of keys to navigate the currently focused Calendar after the popup has opened).
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Key action<br/></td><td colSpan=1 rowSpan=1>
     * Key<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * controlUp<br/></td><td colSpan=1 rowSpan=1>
     * ctrl+38<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * controlDown<br/></td><td colSpan=1 rowSpan=1>
     * ctrl+40<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * moveDown<br/></td><td colSpan=1 rowSpan=1>
     * downarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * moveUp<br/></td><td colSpan=1 rowSpan=1>
     * uparrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * moveLeft<br/></td><td colSpan=1 rowSpan=1>
     * leftarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * moveRight<br/></td><td colSpan=1 rowSpan=1>
     * rightarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * select<br/></td><td colSpan=1 rowSpan=1>
     * enter<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * home<br/></td><td colSpan=1 rowSpan=1>
     * home<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * end<br/></td><td colSpan=1 rowSpan=1>
     * end<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * pageUp<br/></td><td colSpan=1 rowSpan=1>
     * pageup<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * pageDown<br/></td><td colSpan=1 rowSpan=1>
     * pagedown<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * shiftPageUp<br/></td><td colSpan=1 rowSpan=1>
     * shift+pageup<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * shiftPageDown<br/></td><td colSpan=1 rowSpan=1>
     * shift+pagedown<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * controlHome<br/></td><td colSpan=1 rowSpan=1>
     * ctrl+home<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * controlEnd<br/></td><td colSpan=1 rowSpan=1>
     * ctrl+end<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * altUpArrow<br/></td><td colSpan=1 rowSpan=1>
     * alt+uparrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * spacebar<br/></td><td colSpan=1 rowSpan=1>
     * space<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * altRightArrow<br/></td><td colSpan=1 rowSpan=1>
     * alt+rightarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * altLeftArrow<br/></td><td colSpan=1 rowSpan=1>
     * alt+leftarrow<br/></td></tr>
     * </table>
     *
     * TimePicker Navigation (Use the below list of shortcut keys to interact with the TimePicker after the TimePicker Popup has opened).
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Key action<br/></td><td colSpan=1 rowSpan=1>
     * Key<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * down<br/></td><td colSpan=1 rowSpan=1>
     * downarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * up<br/></td><td colSpan=1 rowSpan=1>
     * uparrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * left<br/></td><td colSpan=1 rowSpan=1>
     * leftarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * right<br/></td><td colSpan=1 rowSpan=1>
     * rightarrow<br/></td></tr>
     * </table>
     *
     * {% codeBlock src='datetimepicker/keyConfigs/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    keyConfigs: {
        [key: string]: string;
    };
    /**
     * You can add the additional html attributes such as disabled, value etc., to the element.
     * If you configured both property and equivalent html attribute then the component considers the property value.
     * {% codeBlock src='datetimepicker/htmlAttributes/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     */
    htmlAttributes: {
        [key: string]: string;
    };
    /**
     * Enable or disable persisting component's state between page reloads. If enabled, following list of states will be persisted.
     * 1. value
     *
     * @default false
     */
    enablePersistence: boolean;
    /**
     * > Support for `allowEdit` has been provided from
     * [`v16.2.46`](https://ej2.syncfusion.com/angular/documentation/release-notes/16.2.46/#datetimepicker).
     *
     * Specifies whether the input textbox is editable or not. Here the user can select the value from the
     * popup and cannot edit in the input textbox.
     *
     * @default true
     */
    allowEdit: boolean;
    /**
     * Specifies the option to enable the multiple dates selection of the calendar.
     *
     * @default false
     * @private
     */
    isMultiSelection: boolean;
    /**
     * Gets or sets multiple selected dates of the calendar.
     *
     * @default null
     * @private
     */
    values: Date[];
    /**
     * Specifies whether to show or hide the clear icon in textbox.
     *
     * @default true
     */
    showClearButton: boolean;
    /**
     * Specifies the placeholder text that to be is displayed in textbox.
     *
     * @default null
     */
    placeholder: string;
    /**
     * Specifies the component to act as strict. So that, it allows to enter only a valid
     * date and time value within a specified range or else it
     * will resets to previous value. By default, strictMode is in false.
     * it allows invalid or out-of-range value with highlighted error class.
     *
     * @default false
     * > For more details refer to
     * [`Strict Mode`](../../datetimepicker/strict-mode/) documentation.
     */
    strictMode: boolean;
    /**
     * By default, the date value will be processed based on system time zone.
     * If you want to process the initial date value using server time zone
     * then specify the time zone value to `serverTimezoneOffset` property.
     *
     * @default null
     */
    serverTimezoneOffset: number;
    /**
     * Gets or sets the minimum date that can be selected in the DateTimePicker.
     *
     * @default new Date(1900, 00, 01)
     */
    min: Date;
    /**
     * Gets or sets the maximum date that can be selected in the DateTimePicker.
     *
     * @default new Date(2099, 11, 31)
     */
    max: Date;
    /**
     * Gets or sets the Calendar's first day of the week. By default, the first day of the week will be based on the current culture.
     *
     * @default 0
     * @aspType int
     * > For more details about firstDayOfWeek refer to
     * [`First day of week`](../../calendar/how-to/first-day-of-week#change-the-first-day-of-the-week) documentation.
     */
    firstDayOfWeek: number;
    /**
     * Gets or sets the Calendar's Type like gregorian or islamic.
     *
     * @default Gregorian
     */
    calendarMode: CalendarType;
    /**
     * Specifies the initial view of the Calendar when it is opened.
     * With the help of this property, initial view can be changed to year or decade view.
     *
     * @default Month
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * View<br/></td><td colSpan=1 rowSpan=1>
     * Description<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Month<br/></td><td colSpan=1 rowSpan=1>
     * Calendar view shows the days of the month.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Year<br/></td><td colSpan=1 rowSpan=1>
     * Calendar view shows the months of the year.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Decade<br/></td><td colSpan=1 rowSpan=1>
     * Calendar view shows the years of the decade.<br/></td></tr>
     * </table>
     *
     * > For more details about start refer to
     * [`calendarView`](../../calendar/calendar-views#view-restriction)documentation.
     */
    start: CalendarView;
    /**
     * Sets the maximum level of view such as month, year, and decade in the Calendar.
     * Depth view should be smaller than the start view to restrict its view navigation.
     *
     * @default Month
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * view<br/></td><td colSpan=1 rowSpan=1>
     * Description<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Month<br/></td><td colSpan=1 rowSpan=1>
     * Calendar view shows up to the days of the month.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Year<br/></td><td colSpan=1 rowSpan=1>
     * Calendar view shows up to the months of the year.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Decade<br/></td><td colSpan=1 rowSpan=1>
     * Calendar view shows up to the years of the decade.<br/></td></tr>
     * </table>
     *
     * > For more details about depth refer to
     *  [`calendarView`](../../calendar/calendar-views#view-restriction)documentation.
     */
    depth: CalendarView;
    /**
     * Determines whether the week number of the year is to be displayed in the calendar or not.
     *
     * @default false
     * > For more details about weekNumber refer to
     * [`Calendar with week number`](../../calendar/how-to/render-the-calendar-with-week-numbers)documentation.
     */
    weekNumber: boolean;
    /**
     * Specifies whether the today button is to be displayed or not.
     *
     * @default true
     */
    showTodayButton: boolean;
    /**
     * Specifies the format of the day that to be displayed in header. By default, the format is ‘short’.
     * Possible formats are:
     * * `Short` - Sets the short format of day name (like Su ) in day header.
     * * `Narrow` - Sets the single character of day name (like S ) in day header.
     * * `Abbreviated` - Sets the min format of day name (like Sun ) in day header.
     * * `Wide` - Sets the long format of day name (like Sunday ) in day header.
     *
     * @default Short
     */
    dayHeaderFormat: DayHeaderFormats;
    /**
     * By default, the popup opens while clicking on the datetimepicker icon.
     * If you want to open the popup while focusing the datetime input then specify its value as true.
     *
     * @default false
     */
    openOnFocus: boolean;
    /**
     * Specifies whether it is a masked datetimepicker or not.
     * By default the datetimepicker component render without masked input.
     * If you need masked datetimepicker input then specify it as true.
     *
     * @default false
     */
    enableMask: boolean;
    /**
    * Specifies the mask placeholder to be displayed on masked datetimepicker.
    *
    * @default {day:'day' , month:'month', year: 'year', hour:'hour',minute:'minute',second:'second',dayOfTheWeek: 'day of the week'}
    */
    maskPlaceholder: MaskPlaceholderModel;
    /**
     * Triggers when popup is opened.
     *
     * @event open
     */
    open: base.EmitType<Object>;
    /**
     * Triggers when popup is closed.
     *
     * @event close
     */
    close: base.EmitType<Object>;
    /**
     * Triggers when datetimepicker value is cleared using clear button.
     *
     * @event cleared
     */
    cleared: base.EmitType<ClearedEventArgs>;
    /**
     * Triggers when input loses the focus.
     *
     * @event blur
     */
    blur: base.EmitType<Object>;
    /**
     * Triggers when input gets focus.
     *
     * @event focus
     */
    focus: base.EmitType<Object>;
    /**
     * Triggers when DateTimePicker is created.
     *
     * @event created
     */
    created: base.EmitType<Object>;
    /**
     * Triggers when DateTimePicker is destroyed.
     *
     * @event destroyed
     */
    destroyed: base.EmitType<Object>;
    /**
     * Constructor for creating the widget
     *
     * @param {DateTimePickerModel} options - Specifies the DateTimePicker model.
     * @param {string | HTMLInputElement} element - Specifies the element to render as component.
     * @private
     */
    constructor(options?: DateTimePickerModel, element?: string | HTMLInputElement);
    private focusHandler;
    /**
     * Sets the focus to widget for interaction.
     *
     * @returns {void}
     */
    focusIn(): void;
    /**
     * Remove the focus from widget, if the widget is in focus state.
     *
     * @returns {void}
     */
    focusOut(): void;
    protected blurHandler(e: MouseEvent): void;
    /**
     * To destroy the widget.
     *
     * @returns {void}
     */
    destroy(): void;
    /**
     * To Initialize the control rendering.
     *
     * @returns {void}
     * @private
     */
    render(): void;
    private setValue;
    private validateMinMaxRange;
    private checkValidState;
    private checkErrorState;
    private validateValue;
    private disablePopupButton;
    private getFormattedValue;
    private isDateObject;
    private createInputElement;
    private renderTimeIcon;
    private bindInputEvents;
    private unBindInputEvents;
    private cldrTimeFormat;
    private cldrDateTimeFormat;
    private getCldrFormat;
    private isNullOrEmpty;
    protected getCultureTimeObject(ld: Object, c: string): Object;
    private timeHandler;
    private dateHandler;
    show(type?: string, e?: MouseEvent | KeyboardEvent | base.KeyboardEventArgs): void;
    toggle(e?: base.KeyboardEventArgs): void;
    private listCreation;
    private popupCreation;
    private openPopup;
    private documentClickHandler;
    private isTimePopupOpen;
    private isDatePopupOpen;
    private renderPopup;
    private setDimension;
    private setPopupWidth;
    protected wireTimeListEvents(): void;
    protected unWireTimeListEvents(): void;
    private onMouseOver;
    private onMouseLeave;
    private setTimeHover;
    protected getPopupHeight(): number;
    protected changeEvent(e: Event): void;
    private updateValue;
    private setTimeScrollPosition;
    private findScrollTop;
    private setScrollTo;
    private setInputValue;
    private getFullDateTime;
    private createMask;
    private combineDateTime;
    private onMouseClick;
    private setSelection;
    private setTimeActiveClass;
    private setTimeActiveDescendant;
    protected addTimeSelection(): void;
    protected removeTimeSelection(): void;
    protected removeTimeHover(className: string): void;
    protected getTimeHoverItem(className: string): Element[];
    protected isValidLI(li: Element | HTMLElement): boolean;
    private calculateStartEnd;
    private startTime;
    private endTime;
    hide(e?: KeyboardEvent | MouseEvent | Event): void;
    private dateTimeCloseEventCallback;
    private closePopup;
    protected preRender(): void;
    protected getProperty(date: DateTimePickerModel, val: string): void;
    protected checkAttributes(isDynamic: boolean): void;
    requiredModules(): base.ModuleDeclaration[];
    private maskedDateModule;
    private getTimeActiveElement;
    protected createDateObj(val: Date | string): Date;
    private getDateObject;
    protected findNextTimeElement(event: base.KeyboardEventArgs): void;
    protected setTimeValue(date: Date, value: Date): Date;
    protected timeElementValue(value: Date): Date;
    protected timeKeyHandler(event: base.KeyboardEventArgs): void;
    protected timeKeyActionHandle(event: base.KeyboardEventArgs): void;
    protected inputKeyAction(event: base.KeyboardEventArgs): void;
    /**
     * Called internally if any of the property value changed.
     *
     * @param {DateTimePickerModel} newProp - Returns the dynamic property value of the component.
     * @param {DateTimePickerModel} oldProp - Returns the previous property value of the component.
     * @returns {void}
     * @deprecated
     */
    onPropertyChanged(newProp: DateTimePickerModel, oldProp: DateTimePickerModel): void;
    /**
     * To get component name.
     *
     * @returns {string} Returns the component name.
     * @private
     */
    protected getModuleName(): string;
    protected restoreValue(): void;
}
//node_modules/@syncfusion/ej2-calendars/src/datetimepicker/index.d.ts
/**
 * DateTimePicker modules
 */
//node_modules/@syncfusion/ej2-calendars/src/index.d.ts
/**
 * Calendar all modules
 */
//node_modules/@syncfusion/ej2-calendars/src/maskbase/index.d.ts
/**
 * MaskedDateTime modules
 */
//node_modules/@syncfusion/ej2-calendars/src/maskbase/interface.d.ts
/**
 * Specifies mulitselct interfaces.
 *
 * @hidden
 */
export interface IMaskedDateTime extends base.Component<HTMLElement> {
    format?: string;
    maskPlaceholder: {
        [x: string]: Object;
    };
    maskedDateValue: string;
    locale: string;
    inputElement: HTMLInputElement;
    value: Date;
    updateInputValue(value?: string): void;
    dateTimeFormat: string;
    formatString: string;
    moduleName: string;
    cldrTimeFormat(): string;
    calendarMode: CalendarType;
    globalize: base.Internationalization;
    isFocused: boolean;
}
//node_modules/@syncfusion/ej2-calendars/src/maskbase/masked-date-time.d.ts
export  class MaskedDateTime {
    private parent;
    private dateformat;
    private mask;
    private l10n;
    private defaultConstant;
    private objectString;
    private hiddenMask;
    private validCharacters;
    private maskDateValue;
    private previousValue;
    private previousHiddenMask;
    private isDayPart;
    private isMonthPart;
    private isYearPart;
    private isHourPart;
    private isMinutePart;
    private isSecondsPart;
    private isMilliSecondsPart;
    private monthCharacter;
    private hour;
    private periodCharacter;
    private isHiddenMask;
    private isComplete;
    private previousDate;
    private isNavigate;
    private navigated;
    private formatRegex;
    private isDeletion;
    private isShortYear;
    private isDeleteKey;
    private isDateZero;
    private isMonthZero;
    private isYearZero;
    private dayTypeCount;
    private monthTypeCount;
    private hourTypeCount;
    private minuteTypeCount;
    private secondTypeCount;
    constructor(parent?: IMaskedDateTime);
    getModuleName(): string;
    addEventListener(): void;
    removeEventListener(): void;
    private createMask;
    private getCUltureMaskFormat;
    private validCharacterCheck;
    private setDynamicValue;
    private setSelection;
    private maskKeydownHandler;
    private isPersist;
    private differenceCheck;
    private formatCheck;
    private maskInputHandler;
    private navigateSelection;
    private roundOff;
    private zeroCheck;
    private handleDeletion;
    private dateAlteration;
    private getCulturedValue;
    private getCulturedFormat;
    private clearHandler;
    private updateValue;
    destroy(): void;
}
export interface events {
    module: string;
    e: base.KeyboardEventArgs;
}
//node_modules/@syncfusion/ej2-calendars/src/timepicker/index.d.ts
/**
 * TimePicker modules
 */
//node_modules/@syncfusion/ej2-calendars/src/timepicker/timepicker-model.d.ts
/**
 * Interface for a class TimeMaskPlaceholder
 */
export interface TimeMaskPlaceholderModel {
    /**
     * Specifies the mask placeholder value for day property.
     *
     * @default 'day'
     */
    day?: string;
    /**
     * Specifies the mask placeholder value for month property.
     *
     * @default 'month'
     */
    month?: string;
    /**
     * Specifies the mask placeholder value for year property.
     *
     * @default 'year'
     */
    year?: string;
    /**
     * Specifies the mask placeholder value for day of the week property.
     *
     * @default 'day of the week'
     */
    dayOfTheWeek?: string;
    /**
     * Specifies the mask placeholder value for hour property.
     *
     * @default 'hour'
     */
    hour?: string;
    /**
     * Specifies the mask placeholder value for minute property.
     *
     * @default 'minute'
     */
    minute?: string;
    /**
     * Specifies the mask placeholder value for second property.
     *
     * @default 'second'
     */
    second?: string;
}
/**
 * Interface for a class TimePicker
 */
export interface TimePickerModel extends base.ComponentModel{
    /**
     * Gets or sets the width of the TimePicker component. The width of the popup is based on the width of the component.
     *
     * @default null
     */
    width?: string | number;
    /**
     * Specifies the root CSS class of the TimePicker that allows to
     * customize the appearance by overriding the styles.
     *
     * @default null
     */
    cssClass?: string;
    /**
     * Specifies the component to act as strict so that, it allows to enter only a valid time value within a specified range or else
     * resets to previous value. By default, strictMode is in false.
     * > For more details refer to
     * [`Strict Mode`](../../timepicker/strict-mode/) documentation.
     *
     * @default false
     */
    strictMode?: boolean;
    /**
     * Customizes the key actions in TimePicker.
     * For example, when using German keyboard, the key actions can be customized using these shortcuts.
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Key action<br/></td><td colSpan=1 rowSpan=1>
     * Key<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * enter<br/></td><td colSpan=1 rowSpan=1>
     * enter<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * escape<br/></td><td colSpan=1 rowSpan=1>
     * escape<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * end<br/></td><td colSpan=1 rowSpan=1>
     * end<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * tab<br/></td><td colSpan=1 rowSpan=1>
     * tab<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * home<br/></td><td colSpan=1 rowSpan=1>
     * home<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * down<br/></td><td colSpan=1 rowSpan=1>
     * downarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * up<br/></td><td colSpan=1 rowSpan=1>
     * uparrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * left<br/></td><td colSpan=1 rowSpan=1>
     * leftarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * right<br/></td><td colSpan=1 rowSpan=1>
     * rightarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * open<br/></td><td colSpan=1 rowSpan=1>
     * alt+downarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * close<br/></td><td colSpan=1 rowSpan=1>
     * alt+uparrow<br/></td></tr>
     * </table>
     *
     * {% codeBlock src='timepicker/keyConfigs/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    keyConfigs?: { [key: string]: string };
    /**
     * Specifies the format of value that is to be displayed in component. By default, the format is
     * based on the culture.
     * > For more details refer to
     * [`Format`](../../timepicker/getting-started#setting-the-time-format) documentation.
     * {% codeBlock src='timepicker/format/index.md' %}{% endcodeBlock %}
     *
     * @default null
     * @aspType string
     */
    format?: string | TimeFormatObject;
    /**
     * Specifies whether the component to be disabled or not.
     *
     * @default true
     */
    enabled?: boolean;
    /**
     * Specifies the component in readonly state.
     *
     * @default false
     */
    readonly?: boolean;
    /**
     * You can add the additional html base.attributes such as disabled, value etc., to the element.
     * If you configured both property and equivalent html attribute then the component considers the property value.
     * {% codeBlock src='timepicker/htmlAttributes/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     */
    htmlAttributes?: { [key: string]: string };
    /**
     * Specifies the placeholder text to be floated.
     * Possible values are:
     * Never: The label will never float in the input when the placeholder is available.
     * Always: The floating label will always float above the input.
     * Auto: The floating label will float above the input after focusing or entering a value in the input.
     *
     * @default Syncfusion.EJ2.Inputs.inputs.FloatLabelType.Never
     * @aspType Syncfusion.EJ2.Inputs.inputs.FloatLabelType
     * @isEnumeration true
     */
    floatLabelType?: inputs.FloatLabelType | string;
    /**
     * Specifies the placeholder text that is displayed in textbox.
     *
     * @default null
     */
    placeholder?: string;
    /**
     * specifies the z-index value of the timePicker popup element.
     *
     * @default 1000
     * @aspType int
     */
    zIndex?: number;
    /**
     * Enable or disable the persisting component's state between the page reloads. If enabled, following list of states will be persisted.
     * 1. Value
     *
     * @default false
     */
    enablePersistence?: boolean;
    /**
     * Specifies whether to show or hide the clear icon.
     *
     * @default true
     */
    showClearButton?: boolean;
    /**
     * Specifies the time interval between the two adjacent time values in the popup list.
     * > For more details refer to
     * [`Format`](../../timepicker/getting-started#setting-the-time-format)documentation.
     *
     * @default 30
     *
     */
    step?: number;
    /**
     * Specifies the scroll bar position if there is no value is selected in the popup list or
     *  the given value is not present in the popup list.
     * > For more details refer to
     * [`Time Duration`](https://ej2.syncfusion.com/demos/#/material/timepicker/list-formatting.html) sample.
     * {% codeBlock src='timepicker/scrollTo/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    scrollTo?: Date;
    /**
     * Gets or sets the value of the component. The value is parsed based on the culture specific time format.
     *
     * @default null
     * @isGenericType true
     */
    value?: Date;
    /**
     * Gets or sets the minimum time value that can be allowed to select in TimePicker.
     * > For more details refer to
     * [`Time Range`](../../timepicker/time-range/) documentation.
     *
     * @default 00:00
     */
    min?: Date;
    /**
     * Gets or sets the maximum time value that can be allowed to select in TimePicker.
     * > For more details refer to
     * [`Time Range`](../../timepicker/time-range/) documentation.
     *
     * @default 00:00
     */
    max?: Date;
    /**
     * > Support for `allowEdit` has been provided from
     * [`v16.2.46`](https://ej2.syncfusion.com/angular/documentation/release-notes/16.2.46/#timepicker).
     *
     * Specifies whether the input textbox is editable or not. Here the user can select the value from the
     * popup and cannot edit in the input textbox.
     *
     * @default true
     */
    allowEdit?: boolean;
    /**
     * By default, the popup opens while clicking on the timepicker icon.
     * If you want to open the popup while focusing the time input then specify its value as true.
     *
     * @default false
     */
    openOnFocus?: boolean;
    /**
     * Specifies whether it is a masked timepicker or not.
     * By default the timepicker component render without masked input.
     * If you need masked timepicker input then specify it as true.
     * 
     * @default false
     */
    enableMask?: boolean;
    /**
     * Specifies the mask placeholder to be displayed on masked timepicker.
     * 
     * @default {day:'day' , month:'month', year: 'year', hour:'hour',minute:'minute',second:'second',dayOfTheWeek: 'day of the week'}
     * @aspType TimePickerMaskPlaceholder
     */
    maskPlaceholder?: TimeMaskPlaceholderModel;
    /**
     * Triggers when the value is changed.
     *
     * @event change
     */
    change?: base.EmitType<ChangeEventArgs>;
    /**
     * Triggers when the component is created.
     *
     * @event created
     */
    created?: base.EmitType<Object>;
    /**
     * Triggers when the component is destroyed.
     *
     * @event destroyed
     */
    destroyed?: base.EmitType<Object>;
    /**
     * Triggers when the popup is opened.
     *
     * @event open
     */
    open?: base.EmitType<PopupEventArgs>;
    /**
     * Triggers while rendering the each popup list item.
     *
     * @event itemRender
     */
    itemRender?: base.EmitType<ItemEventArgs>;
    /**
     * Triggers when the popup is closed.
     *
     * @event close
     */
    close?: base.EmitType<PopupEventArgs>;
    /**
     * Triggers when timepicker value is cleared using clear button.
     *
     * @event cleared
     */
    cleared?: base.EmitType<ClearedEventArgs>;
    /**
     * Triggers when the control loses the focus.
     *
     * @event blur
     */
    blur?: base.EmitType<BlurEventArgs>;
    /**
     * Triggers when the control gets focused.
     *
     * @event focus
     */
    focus?: base.EmitType<FocusEventArgs>;
}
//node_modules/@syncfusion/ej2-calendars/src/timepicker/timepicker.d.ts
export interface ChangeEventArgs {
    /** Defines the boolean that returns true when the value is changed by user interaction, otherwise returns false. */
    isInteracted?: boolean;
    /** Defines the selected time value of the TimePicker.
     *
     * @isGenericType true
     */
    value?: Date;
    /** Defines the selected time value as string. */
    text?: string;
    /** Defines the original event arguments. */
    event?: base.KeyboardEventArgs | FocusEvent | MouseEvent | Event;
    /** Defines the element */
    element: HTMLInputElement | HTMLElement;
}
/**
 * Interface for before list item render .
 */
export interface ItemEventArgs extends base.BaseEventArgs {
    /** Defines the created LI element. */
    element: HTMLElement;
    /** Defines the displayed text value in a popup list. */
    text: string;
    /** Defines the Date object of displayed text in a popup list.
     *
     * @isGenericType true
     */
    value: Date;
    /** Specifies whether to disable the current time value or not. */
    isDisabled: boolean;
}
export interface CursorPositionDetails {
    /** Defines the text selection starting position. */
    start: number;
    /** Defines the text selection end position. */
    end: number;
}
export interface MeridianText {
    /** Defines the culture specific meridian text for AM. */
    am: string;
    /** Defines the culture specific meridian text for PM. */
    pm: string;
}
export interface TimeFormatObject {
    /**
     * Specifies the format in which the date format will process
     */
    skeleton?: string;
}
export interface PopupEventArgs {
    /** Specifies the name of the event  */
    name?: string;
    /**
     * Illustrates whether the current action needs to be prevented or not.
     */
    cancel?: boolean;
    /**
     * Defines the TimePicker popup object.
     *
     * @deprecated
     */
    popup?: popups.Popup;
    /**
     * Specifies the original event arguments.
     */
    event?: MouseEvent | KeyboardEvent | FocusEvent | Event;
    /**
     * Specifies the node to which the popup element to be appended.
     */
    appendTo?: HTMLElement;
}
export  namespace TimePickerBase {
    function createListItems(createdEl: lists.createElementParams, min: Date, max: Date, globalize: base.Internationalization, timeFormat: string, step: number): {
        collection: number[];
        list: HTMLElement;
    };
}
export  class TimeMaskPlaceholder extends base.ChildProperty<TimeMaskPlaceholder> {
    /**
         * Specifies the mask placeholder value for day property.
         *
         * @default 'day'
         */
    day: string;
    /**
     * Specifies the mask placeholder value for month property.
     *
     * @default 'month'
     */
    month: string;
    /**
     * Specifies the mask placeholder value for year property.
     *
     * @default 'year'
     */
    year: string;
    /**
     * Specifies the mask placeholder value for day of the week property.
     *
     * @default 'day of the week'
     */
    dayOfTheWeek: string;
    /**
     * Specifies the mask placeholder value for hour property.
     *
     * @default 'hour'
     */
    hour: string;
    /**
     * Specifies the mask placeholder value for minute property.
     *
     * @default 'minute'
     */
    minute: string;
    /**
     * Specifies the mask placeholder value for second property.
     *
     * @default 'second'
     */
    second: string;
}
/**
 * TimePicker is an intuitive interface component which provides an options to select a time value
 * from popup list or to set a desired time value.
 * ```
 * <input id='timepicker' type='text'/>
 * <script>
 *   var timePickerObj = new TimePicker({ value: new Date() });
 *   timePickerObj.appendTo('#timepicker');
 * </script>
 * ```
 */
export  class TimePicker extends base.Component<HTMLElement> implements inputs.IInput {
    private inputWrapper;
    private popupWrapper;
    private cloneElement;
    private listWrapper;
    private listTag;
    private anchor;
    private selectedElement;
    private liCollections;
    protected inputElement: HTMLInputElement;
    private popupObj;
    protected inputEvent: base.KeyboardEvents;
    protected globalize: base.Internationalization;
    private defaultCulture;
    private containerStyle;
    private rippleFn;
    private l10n;
    private cursorDetails;
    private activeIndex;
    private timeCollections;
    private isNavigate;
    private disableItemCollection;
    protected isPreventBlur: boolean;
    private isTextSelected;
    private prevValue;
    private inputStyle;
    private angularTag;
    private valueWithMinutes;
    private prevDate;
    private initValue;
    private initMin;
    private initMax;
    private inputEleValue;
    private openPopupEventArgs;
    private formatString;
    protected tabIndex: string;
    private formElement;
    private modal;
    private invalidValueString;
    protected keyConfigure: {
        [key: string]: string;
    };
    private timeOptions;
    private mobileTimePopupWrap;
    protected isAngular: boolean;
    protected preventChange: boolean;
    protected maskedDateValue: string;
    protected moduleName: string;
    /**
     * Gets or sets the width of the TimePicker component. The width of the popup is based on the width of the component.
     *
     * @default null
     */
    width: string | number;
    /**
     * Specifies the root CSS class of the TimePicker that allows to
     * customize the appearance by overriding the styles.
     *
     * @default null
     */
    cssClass: string;
    /**
     * Specifies the component to act as strict so that, it allows to enter only a valid time value within a specified range or else
     * resets to previous value. By default, strictMode is in false.
     * > For more details refer to
     * [`Strict Mode`](../../timepicker/strict-mode/) documentation.
     *
     * @default false
     */
    strictMode: boolean;
    /**
     * Customizes the key actions in TimePicker.
     * For example, when using German keyboard, the key actions can be customized using these shortcuts.
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Key action<br/></td><td colSpan=1 rowSpan=1>
     * Key<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * enter<br/></td><td colSpan=1 rowSpan=1>
     * enter<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * escape<br/></td><td colSpan=1 rowSpan=1>
     * escape<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * end<br/></td><td colSpan=1 rowSpan=1>
     * end<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * tab<br/></td><td colSpan=1 rowSpan=1>
     * tab<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * home<br/></td><td colSpan=1 rowSpan=1>
     * home<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * down<br/></td><td colSpan=1 rowSpan=1>
     * downarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * up<br/></td><td colSpan=1 rowSpan=1>
     * uparrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * left<br/></td><td colSpan=1 rowSpan=1>
     * leftarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * right<br/></td><td colSpan=1 rowSpan=1>
     * rightarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * open<br/></td><td colSpan=1 rowSpan=1>
     * alt+downarrow<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * close<br/></td><td colSpan=1 rowSpan=1>
     * alt+uparrow<br/></td></tr>
     * </table>
     *
     * {% codeBlock src='timepicker/keyConfigs/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    keyConfigs: {
        [key: string]: string;
    };
    /**
     * Specifies the format of value that is to be displayed in component. By default, the format is
     * based on the culture.
     * > For more details refer to
     * [`Format`](../../timepicker/getting-started#setting-the-time-format) documentation.
     * {% codeBlock src='timepicker/format/index.md' %}{% endcodeBlock %}
     *
     * @default null
     * @aspType string
     */
    format: string | TimeFormatObject;
    /**
     * Specifies whether the component to be disabled or not.
     *
     * @default true
     */
    enabled: boolean;
    /**
     * Specifies the component in readonly state.
     *
     * @default false
     */
    readonly: boolean;
    /**
     * You can add the additional html attributes such as disabled, value etc., to the element.
     * If you configured both property and equivalent html attribute then the component considers the property value.
     * {% codeBlock src='timepicker/htmlAttributes/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     */
    htmlAttributes: {
        [key: string]: string;
    };
    /**
     * Specifies the placeholder text to be floated.
     * Possible values are:
     * Never: The label will never float in the input when the placeholder is available.
     * Always: The floating label will always float above the input.
     * Auto: The floating label will float above the input after focusing or entering a value in the input.
     *
     * @default Syncfusion.EJ2.Inputs.inputs.FloatLabelType.Never
     * @aspType Syncfusion.EJ2.Inputs.inputs.FloatLabelType
     * @isEnumeration true
     */
    floatLabelType: inputs.FloatLabelType | string;
    /**
     * Specifies the placeholder text that is displayed in textbox.
     *
     * @default null
     */
    placeholder: string;
    /**
     * specifies the z-index value of the timePicker popup element.
     *
     * @default 1000
     * @aspType int
     */
    zIndex: number;
    /**
     * Enable or disable the persisting component's state between the page reloads. If enabled, following list of states will be persisted.
     * 1. Value
     *
     * @default false
     */
    enablePersistence: boolean;
    /**
     * Specifies whether to show or hide the clear icon.
     *
     * @default true
     */
    showClearButton: boolean;
    /**
     * Specifies the time interval between the two adjacent time values in the popup list.
     * > For more details refer to
     * [`Format`](../../timepicker/getting-started#setting-the-time-format)documentation.
     *
     * @default 30
     *
     */
    step: number;
    /**
     * Specifies the scroll bar position if there is no value is selected in the popup list or
     *  the given value is not present in the popup list.
     * > For more details refer to
     * [`Time Duration`](https://ej2.syncfusion.com/demos/#/material/timepicker/list-formatting.html) sample.
     * {% codeBlock src='timepicker/scrollTo/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    scrollTo: Date;
    /**
     * Gets or sets the value of the component. The value is parsed based on the culture specific time format.
     *
     * @default null
     * @isGenericType true
     */
    value: Date;
    /**
     * Gets or sets the minimum time value that can be allowed to select in TimePicker.
     * > For more details refer to
     * [`Time Range`](../../timepicker/time-range/) documentation.
     *
     * @default 00:00
     */
    min: Date;
    /**
     * Gets or sets the maximum time value that can be allowed to select in TimePicker.
     * > For more details refer to
     * [`Time Range`](../../timepicker/time-range/) documentation.
     *
     * @default 00:00
     */
    max: Date;
    /**
     * > Support for `allowEdit` has been provided from
     * [`v16.2.46`](https://ej2.syncfusion.com/angular/documentation/release-notes/16.2.46/#timepicker).
     *
     * Specifies whether the input textbox is editable or not. Here the user can select the value from the
     * popup and cannot edit in the input textbox.
     *
     * @default true
     */
    allowEdit: boolean;
    /**
     * By default, the popup opens while clicking on the timepicker icon.
     * If you want to open the popup while focusing the time input then specify its value as true.
     *
     * @default false
     */
    openOnFocus: boolean;
    /**
     * Specifies whether it is a masked timepicker or not.
     * By default the timepicker component render without masked input.
     * If you need masked timepicker input then specify it as true.
     *
     * @default false
     */
    enableMask: boolean;
    /**
    * Specifies the mask placeholder to be displayed on masked timepicker.
    *
    * @default {day:'day' , month:'month', year: 'year', hour:'hour',minute:'minute',second:'second',dayOfTheWeek: 'day of the week'}
    * @aspType TimePickerMaskPlaceholder
    */
    maskPlaceholder: TimeMaskPlaceholderModel;
    /**
     * Triggers when the value is changed.
     *
     * @event change
     */
    change: base.EmitType<ChangeEventArgs>;
    /**
     * Triggers when the component is created.
     *
     * @event created
     */
    created: base.EmitType<Object>;
    /**
     * Triggers when the component is destroyed.
     *
     * @event destroyed
     */
    destroyed: base.EmitType<Object>;
    /**
     * Triggers when the popup is opened.
     *
     * @event open
     */
    open: base.EmitType<PopupEventArgs>;
    /**
     * Triggers while rendering the each popup list item.
     *
     * @event itemRender
     */
    itemRender: base.EmitType<ItemEventArgs>;
    /**
     * Triggers when the popup is closed.
     *
     * @event close
     */
    close: base.EmitType<PopupEventArgs>;
    /**
     * Triggers when timepicker value is cleared using clear button.
     *
     * @event cleared
     */
    cleared: base.EmitType<ClearedEventArgs>;
    /**
     * Triggers when the control loses the focus.
     *
     * @event blur
     */
    blur: base.EmitType<BlurEventArgs>;
    /**
     * Triggers when the control gets focused.
     *
     * @event focus
     */
    focus: base.EmitType<FocusEventArgs>;
    /**
     * Constructor for creating the widget
     *
     * @param {TimePickerModel} options - Specifies the TimePicker model.
     * @param {string | HTMLInputElement} element - Specifies the element to render as component.
     * @private
     */
    constructor(options?: TimePickerModel, element?: string | HTMLInputElement);
    /**
     * Initialize the event handler
     *
     * @returns {void}
     * @private
     */
    protected preRender(): void;
    protected render(): void;
    private setTimeAllowEdit;
    private clearIconState;
    private validateDisable;
    protected validationAttribute(target: HTMLElement, input: Element): void;
    private initialize;
    protected checkTimeFormat(): void;
    private checkDateValue;
    private createInputElement;
    private getCldrDateTimeFormat;
    private checkInvalidValue;
    requiredModules(): base.ModuleDeclaration[];
    private cldrFormat;
    destroy(): void;
    protected ensureInputAttribute(): void;
    private popupCreation;
    protected getPopupHeight(): number;
    private generateList;
    private renderPopup;
    private getFormattedValue;
    private getDateObject;
    private updateHtmlAttributeToWrapper;
    private updateHtmlAttributeToElement;
    private updateCssClass;
    private removeErrorClass;
    private checkErrorState;
    private validateInterval;
    private disableTimeIcon;
    private disableElement;
    private enableElement;
    private selectInputText;
    private setCursorToEnd;
    private getMeridianText;
    private getCursorSelection;
    private getActiveElement;
    private isNullOrEmpty;
    private setWidth;
    private setPopupWidth;
    private setScrollPosition;
    private findScrollTop;
    private setScrollTo;
    private getText;
    private getValue;
    private cldrDateFormat;
    private cldrTimeFormat;
    private dateToNumeric;
    private getExactDateTime;
    private setValue;
    private compareFormatChange;
    private updatePlaceHolder;
    private updateInputValue;
    private preventEventBubbling;
    private popupHandler;
    private mouseDownHandler;
    private mouseUpHandler;
    private focusSelection;
    private inputHandler;
    private onMouseClick;
    private closePopup;
    private disposeServerPopup;
    private checkValueChange;
    private onMouseOver;
    private setHover;
    private setSelection;
    private onMouseLeave;
    private scrollHandler;
    private setMinMax;
    protected validateMinMax(dateVal: Date | string, minVal: Date, maxVal: Date): Date | string;
    private valueIsDisable;
    protected validateState(val: string | Date): boolean;
    protected strictOperation(minimum: Date, maximum: Date, dateVal: Date | string, val: Date): Date | string;
    protected bindEvents(): void;
    private keydownHandler;
    protected formResetHandler(): void;
    private inputChangeHandler;
    private inputEventHandler;
    protected unBindEvents(): void;
    private bindClearEvent;
    private raiseClearedEvent;
    protected clearHandler(e: MouseEvent): void;
    private clear;
    protected setZIndex(): void;
    protected checkAttributes(isDynamic: boolean): void;
    protected setCurrentDate(value: Date): Date;
    protected getTextFormat(): number;
    protected updateValue(value: string | Date, event: base.KeyboardEventArgs | FocusEvent | MouseEvent): void;
    protected previousState(date: Date): string;
    protected resetState(): void;
    protected objToString(val: Date): string;
    protected checkValue(value: string | Date): string;
    protected validateValue(date: Date, value: string | Date): string;
    private createMask;
    protected findNextElement(event: base.KeyboardEventArgs): void;
    protected selectNextItem(event: base.KeyboardEventArgs): void;
    protected elementValue(value: Date): void;
    private validLiElement;
    protected keyHandler(event: base.KeyboardEventArgs): void;
    protected getCultureTimeObject(ld: Object, c: string): Object;
    protected getCultureDateObject(ld: Object, c: string): Object;
    protected wireListEvents(): void;
    protected unWireListEvents(): void;
    protected valueProcess(event: base.KeyboardEventArgs | FocusEvent | MouseEvent, value: Date): void;
    protected changeEvent(e: base.KeyboardEventArgs | FocusEvent | MouseEvent): void;
    protected updateInput(isUpdate: boolean, date: Date): void;
    protected setActiveDescendant(): void;
    protected removeSelection(): void;
    protected removeHover(className: string): void;
    protected getHoverItem(className: string): Element[];
    private setActiveClass;
    protected addSelection(): void;
    protected isValidLI(li: Element | HTMLElement): boolean;
    protected createDateObj(val: Date | string): Date;
    protected timeParse(today: string, val: Date | string): Date;
    protected createListItems(): void;
    private documentClickHandler;
    protected setEnableRtl(): void;
    protected setEnable(): void;
    protected getProperty(date: TimePickerModel, val: string): void;
    protected inputBlurHandler(e: MouseEvent): void;
    /**
     * Focuses out the TimePicker textbox element.
     *
     * @returns {void}
     */
    focusOut(): void;
    private isPopupOpen;
    private inputFocusHandler;
    /**
     * Focused the TimePicker textbox element.
     *
     * @returns {void}
     */
    focusIn(): void;
    /**
     * Hides the TimePicker popup.
     *
     * @returns {void}
     * @deprecated
     */
    hide(): void;
    /**
     * Opens the popup to show the list items.
     *
     * @returns {void}
     * @deprecated
     */
    show(event?: KeyboardEvent | MouseEvent | Event): void;
    private setOverlayIndex;
    private formatValues;
    private popupAlignment;
    /**
     * Gets the properties to be maintained upon browser refresh.
     *
     * @returns {string}
     */
    getPersistData(): string;
    /**
     * To get component name
     *
     * @returns {string} Returns the component name.
     * @private
     */
    protected getModuleName(): string;
    /**
     * Called internally if any of the property value changed.
     *
     * @param {TimePickerModel} newProp - Returns the dynamic property value of the component.
     * @param {TimePickerModel} oldProp - Returns the previous property value of the component.
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: TimePickerModel, oldProp: TimePickerModel): void;
    protected checkInValue(inValue: string | Date | number): string;
}
 }
export namespace charts { 

//node_modules/@syncfusion/ej2-charts/src/accumulation-chart/accumulation-model.d.ts
/**
 * Interface for a class AccumulationChart
 */
export interface AccumulationChartModel extends base.ComponentModel{
    /**
     * The width of the chart as a string in order to provide input as both like '100px' or '100%'.
     * If specified as '100%, chart will render to the full width of its parent element.
     *
     * @default null
     */
    width?: string;
    /**
     * The height of the chart as a string in order to provide input as both like '100px' or '100%'.
     * If specified as '100%, chart will render to the full height of its parent element.
     *
     * @default null
     */
    height?: string;
    /**
     * Title for accumulation chart
     *
     * @default null
     */
    title?: string;
    /**
     * The background image of the chart that accepts value in string as url link or location of an image.
     *
     * @default null
     */
    backgroundImage?: string;
    /**
     * Center of pie
     */
    center?: PieCenterModel;
    /**
     * Specifies the dataSource for the AccumulationChart. It can be an array of JSON objects or an instance of data.DataManager.
     * ```html
     * <div id='Pie'></div>
     * ```
     * ```typescript
     * let dataManager: data.DataManager = new data.DataManager({
     *         url: 'http://mvc.syncfusion.com/Services/Northwnd.svc/Tasks/'
     * });
     * let query: Query = new Query().take(50).where('Estimate', 'greaterThan', 0, false);
     * let pie: AccumulationChart = new AccumulationChart({
     * ...
     *     dataSource: dataManager,
     *     series: [{
     *        xName: 'Id',
     *        yName: 'Estimate',
     *        query: query
     *    }],
     * ...
     * });
     * pie.appendTo('#Pie');
     * ```
     *
     * @default ''
     */
    dataSource?: Object | data.DataManager;
    /**
     * Options for customizing the `title` of accumulation chart.
     */
    titleStyle?: FontModel;
    /**
     * SubTitle for accumulation chart
     *
     * @default null
     */
    subTitle?: string;
    /**
     * Options for customizing the `subtitle` of accumulation chart.
     */
    subTitleStyle?: FontModel;
    /**
     * Options for customizing the legend of accumulation chart.
     */
    legendSettings?: LegendSettingsModel;
    /**
     * Options for customizing the tooltip of accumulation chart.
     */
    tooltip?: TooltipSettingsModel;
    /**
     * Specifies whether point has to get selected or not. Takes value either 'None 'or 'Point'
     * None: Disables the selection.
     * Point: selects a point.
     * @default None
     */
    selectionMode?: AccumulationSelectionMode;
    /**
     * Specifies whether point has to get highlighted or not. Takes value either 'None 'or 'Point'
     * None: Disables the highlight.
     * Point: highlight a point.
     * @default None
     */
    highlightMode?: AccumulationHighlightMode;
    /**
     * Specifies whether series or data point for accumulation chart has to be selected. They are,
     * * none: sets none as selecting pattern to accumulation chart .
     * * chessboard: sets chess board as selecting pattern accumulation chart .
     * * dots: sets dots as  selecting pattern accumulation chart .
     * * diagonalForward: sets diagonal forward as selecting pattern to accumulation chart .
     * * crosshatch: sets crosshatch as selecting pattern to accumulation chart.
     * * pacman: sets pacman selecting pattern to accumulation chart.
     * * diagonalbackward: sets diagonal backward as selecting pattern to accumulation chart.
     * * grid: sets grid as selecting pattern to accumulation chart.
     * * turquoise: sets turquoise as selecting pattern to accumulation chart.
     * * star: sets star as selecting pattern to accumulation chart.
     * * triangle: sets triangle as selecting pattern to accumulation chart.
     * * circle: sets circle as selecting pattern to accumulation chart.
     * * tile: sets tile as selecting pattern to accumulation chart.
     * * horizontaldash: sets horizontal dash as selecting pattern to accumulation chart.
     * * verticaldash: sets vertical dash as selecting pattern to accumulation chart.
     * * rectangle: sets rectangle as selecting pattern.
     * * box: sets box as selecting pattern to accumulation chart.
     * * verticalstripe: sets vertical stripe as  selecting pattern to accumulation chart.
     * * horizontalstripe: sets horizontal stripe as selecting pattern to accumulation chart.
     * * bubble: sets bubble as selecting pattern to accumulation chart.
     *
     * @default None
     */
    selectionPattern?: SelectionPattern;
    /**
     * Specifies whether series or data point has to be selected. They are,
     * * none: sets none as highlighting pattern to accumulation chart.
     * * chessboard: sets chess board as highlighting pattern to accumulation chart.
     * * dots: sets dots as highlighting pattern to accumulation chart.
     * * diagonalForward: sets diagonal forward as highlighting pattern to accumulation chart.
     * * crosshatch: sets crosshatch as highlighting pattern to accumulation chart.
     * * pacman: sets pacman highlighting  pattern to accumulation chart.
     * * diagonalbackward: sets diagonal backward as highlighting pattern to accumulation chart.
     * * grid: sets grid as highlighting pattern to accumulation chart.
     * * turquoise: sets turquoise as highlighting pattern to accumulation chart.
     * * star: sets star as highlighting  pattern to accumulation chart.
     * * triangle: sets triangle as highlighting pattern to accumulation chart.
     * * circle: sets circle as highlighting  pattern to accumulation chart.
     * * tile: sets tile as highlighting pattern to accumulation chart.
     * * horizontaldash: sets horizontal dash as highlighting pattern to accumulation chart.
     * * verticaldash: sets vertical dash as highlighting pattern to accumulation chart.
     * * rectangle: sets rectangle as highlighting  pattern to accumulation chart.
     * * box: sets box as highlighting pattern to accumulation chart.
     * * verticalstripe: sets vertical stripe as highlighting  pattern to accumulation chart.
     * * horizontalstripe: sets horizontal stripe as highlighting  pattern to accumulation chart.
     * * bubble: sets bubble as highlighting  pattern to accumulation chart.
     *
     * @default None
     */
    highlightPattern?: SelectionPattern;
    /**
     * If set true, enables the border in pie and accumulation chart while mouse moving.
     *
     * @default true
     */
    enableBorderOnMouseMove?: boolean;
    /**
     * If set true, enables the multi selection in accumulation chart. It requires `selectionMode` to be `Point`.
     *
     * @default false
     */
    isMultiSelect?: boolean;
    /**
     * If set true, enables the animation for both chart and accumulation.
     *
     * @default true
     */
    enableAnimation?: boolean;
    /**
     * Specifies the point indexes to be selected while loading a accumulation chart.
     * It requires `selectionMode` to be `Point`.
     * ```html
     * <div id='Pie'></div>
     * ```
     * ```typescript
     * let pie: AccumulationChart = new AccumulationChart({
     * ...
     *   selectionMode: 'Point',
     *   selectedDataIndexes: [ { series: 0, point: 1},
     *                          { series: 2, point: 3} ],
     * ...
     * });
     * pie.appendTo('#Pie');
     * ```
     *
     * @default []
     */
    selectedDataIndexes?: IndexesModel[];
    /**
     *  Options to customize the left, right, top and bottom margins of accumulation chart.
     */
    margin?: MarginModel;
    /**
     * If set true, labels for the point will be placed smartly without overlapping.
     *
     * @default true
     */
    enableSmartLabels?: boolean;
    /**
     * Options for customizing the color and width of the chart border.
     */
    border?: BorderModel;
    /**
     * The background color of the chart, which accepts value in hex, rgba as a valid CSS color string.
     *
     * @default null
     */
    background?: string;
    /**
     * The configuration for series in accumulation chart.
     */
    series?: AccumulationSeriesModel[];
    /**
     * The configuration for annotation in chart.
     */
    annotations?: AccumulationAnnotationSettingsModel[];
    /**
     * Specifies the theme for accumulation chart.
     *
     * @default 'Material'
     */
    theme?: AccumulationTheme;
    /**
     * Specifies whether a grouping separator should be used for a number.
     *
     * @default false
     */
    useGroupingSeparator?: boolean;
    /**
     * To enable export feature in chart.
     *
     * @default true
     */
    enableExport?: boolean;
    /**
     * To enable export feature in blazor chart.
     *
     * @default false
     */
    allowExport?: boolean;
    /**
     * Triggers after accumulation chart loaded.
     *
     * @event
     * @blazorProperty 'Loaded'
     */
    loaded?: base.EmitType<IAccLoadedEventArgs>;
    /**
     * Triggers after legend clicked.
     *
     * @event legendClick
     */
    legendClick?: base.EmitType<IAccLegendClickEventArgs>;
    /**
     * Triggers before accumulation chart load.
     *
     * @event
     */
    load?: base.EmitType<IAccLoadedEventArgs>;
    /**
     * Triggers before the series gets rendered.
     *
     * @event
     * @deprecated
     */
    seriesRender?: base.EmitType<IAccSeriesRenderEventArgs>;
    /**
     * Triggers before the legend gets rendered.
     *
     * @event
     * @deprecated
     */
    legendRender?: base.EmitType<ILegendRenderEventArgs>;
    /**
     * Triggers before the data label for series gets rendered.
     *
     * @event
     * @deprecated
     */
    textRender?: base.EmitType<IAccTextRenderEventArgs>;
    /**
     * Triggers before the tooltip for series gets rendered.
     *
     * @event
     */
    tooltipRender?: base.EmitType<ITooltipRenderEventArgs>;
    /**
     * Triggers before each points for series gets rendered.
     *
     * @event
     * @deprecated
     */
    pointRender?: base.EmitType<IAccPointRenderEventArgs>;
    /**
     * Triggers before the annotation gets rendered.
     *
     * @event
     * @deprecated
     */
    annotationRender?: base.EmitType<IAnnotationRenderEventArgs>;
    /**
     * Triggers before the prints gets started.
     *
     * @event
     * @blazorProperty 'OnPrint'
     */
    beforePrint?: base.EmitType<IPrintEventArgs>;
    /**
     * Triggers on hovering the accumulation chart.
     *
     * @event
     * @blazorProperty 'OnChartMouseMove'
     */
    chartMouseMove?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on clicking the accumulation chart.
     *
     * @event
     * @blazorProperty 'OnChartMouseClick'
     */
    chartMouseClick?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on double clicking the accumulation chart.
     *
     * @event
     * @blazorProperty 'OnChartDoubleClick'
     */
    chartDoubleClick?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on point click.
     *
     * @event
     * @blazorProperty 'OnPointClick'
     */
    pointClick?: base.EmitType<IPointEventArgs>;
    /**
     * Triggers on point move.
     *
     * @event
     * @blazorProperty 'PointMoved'
     */
    pointMove?: base.EmitType<IPointEventArgs>;
    /**
     * Triggers after animation gets completed for series.
     *
     * @event
     * @blazorProperty 'OnAnimationComplete'
     */
    animationComplete?: base.EmitType<IAccAnimationCompleteEventArgs>;
    /**
     * Triggers on mouse down.
     *
     * @event
     * @blazorProperty 'OnChartMouseDown'
     */
    chartMouseDown?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers while cursor leaves the accumulation chart.
     *
     * @event
     * @blazorProperty 'OnChartMouseLeave'
     */
    chartMouseLeave?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on mouse up.
     *
     * @event
     * @blazorProperty 'OnChartMouseUp'
     */
    chartMouseUp?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers before window resize.
     * @event
     * @blazorProperty 'BeforeResize'
     */
    beforeResize?: base.EmitType<IAccBeforeResizeEventArgs>;
    /**
     * Triggers after window resize.
     *
     * @event
     * @blazorProperty 'Resized'
     */
    resized?: base.EmitType<IAccResizeEventArgs>;
    /**
     * Triggers after the export completed.
     *
     * @event
     * @blazorProperty 'AfterExport'
     */
    afterExport?: base.EmitType<IAfterExportEventArgs>;
    /**
     * Triggers after the selection is completed.
     *
     * @event selectionComplete
     */
    selectionComplete?: base.EmitType<IAccSelectionCompleteEventArgs>;
    /**
     * Defines the currencyCode format of the accumulation chart
     *
     * @private
     * @aspType string
     */
    currencyCode?: string;
}
//node_modules/@syncfusion/ej2-charts/src/accumulation-chart/accumulation.d.ts
/**
 * AccumulationChart file
 */
/**
 * Represents the AccumulationChart control.
 * ```html
 * <div id="accumulation"/>
 * <script>
 *   var accObj = new AccumulationChart({ });
 *   accObj.appendTo("#accumulation");
 * </script>
 * ```
 *
 * @public
 */
export  class AccumulationChart extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    /**
     * `accBaseModue` is used to define the common functionalities of accumulation series
     *
     * @private
     */
    accBaseModule: AccumulationBase;
    /**
     * `pieSeriesModule` is used to render pie series.
     *
     * @private
     */
    pieSeriesModule: PieSeries;
    /**
     * `funnelSeriesModule` is used to render funnel series.
     *
     * @private
     */
    funnelSeriesModule: FunnelSeries;
    /**
     * `pyramidSeriesModule` is used to render funnel series.
     *
     * @private
     */
    pyramidSeriesModule: PyramidSeries;
    /**
     * `accumulationLegendModule` is used to manipulate and add legend in accumulation chart.
     */
    accumulationLegendModule: AccumulationLegend;
    /**
     * `accumulationDataLabelModule` is used to manipulate and add dataLabel in accumulation chart.
     */
    accumulationDataLabelModule: AccumulationDataLabel;
    /**
     * `accumulationTooltipModule` is used to manipulate and add tooltip in accumulation chart.
     */
    accumulationTooltipModule: AccumulationTooltip;
    /**
     * `accumulationSelectionModule` is used to manipulate and add selection in accumulation chart.
     */
    accumulationSelectionModule: AccumulationSelection;
    /**
     * `accumulationHighlightModule` is used to manipulate and add highlight to the accumulation chart.
     */
    accumulationHighlightModule: AccumulationHighlight;
    /**
     * `annotationModule` is used to manipulate and add annotation in chart.
     */
    annotationModule: AccumulationAnnotation;
    /**
     * Export Module is used to export Accumulation chart.
     */
    exportModule: Export;
    /**
     * The width of the chart as a string in order to provide input as both like '100px' or '100%'.
     * If specified as '100%, chart will render to the full width of its parent element.
     *
     * @default null
     */
    width: string;
    /**
     * The height of the chart as a string in order to provide input as both like '100px' or '100%'.
     * If specified as '100%, chart will render to the full height of its parent element.
     *
     * @default null
     */
    height: string;
    /**
     * Title for accumulation chart
     *
     * @default null
     */
    title: string;
    /**
     * The background image of the chart that accepts value in string as url link or location of an image.
     *
     * @default null
     */
    backgroundImage: string;
    /**
     * Center of pie
     */
    center: PieCenterModel;
    /**
     * Specifies the dataSource for the AccumulationChart. It can be an array of JSON objects or an instance of data.DataManager.
     * ```html
     * <div id='Pie'></div>
     * ```
     * ```typescript
     * let dataManager$: data.DataManager = new data.DataManager({
     *         url: 'http://mvc.syncfusion.com/Services/Northwnd.svc/Tasks/'
     * });
     * let query$: Query = new Query().take(50).where('Estimate', 'greaterThan', 0, false);
     * let pie$: AccumulationChart = new AccumulationChart({
     * ...
     *     dataSource: dataManager,
     *     series: [{
     *        xName: 'Id',
     *        yName: 'Estimate',
     *        query: query
     *    }],
     * ...
     * });
     * pie.appendTo('#Pie');
     * ```
     *
     * @default ''
     */
    dataSource: Object | data.DataManager;
    /**
     * Options for customizing the `title` of accumulation chart.
     */
    titleStyle: FontModel;
    /**
     * SubTitle for accumulation chart
     *
     * @default null
     */
    subTitle: string;
    /**
     * Options for customizing the `subtitle` of accumulation chart.
     */
    subTitleStyle: FontModel;
    /**
     * Options for customizing the legend of accumulation chart.
     */
    legendSettings: LegendSettingsModel;
    /**
     * Options for customizing the tooltip of accumulation chart.
     */
    tooltip: TooltipSettingsModel;
    /**
     * Specifies whether point has to get selected or not. Takes value either 'None 'or 'Point'
     * None: Disables the selection.
     * Point: selects a point.
     * @default None
     */
    selectionMode: AccumulationSelectionMode;
    /**
     * Specifies whether point has to get highlighted or not. Takes value either 'None 'or 'Point'
     * None: Disables the highlight.
     * Point: highlight a point.
     * @default None
     */
    highlightMode: AccumulationHighlightMode;
    /**
     * Specifies whether series or data point for accumulation chart has to be selected. They are,
     * * none: sets none as selecting pattern to accumulation chart .
     * * chessboard: sets chess board as selecting pattern accumulation chart .
     * * dots: sets dots as  selecting pattern accumulation chart .
     * * diagonalForward: sets diagonal forward as selecting pattern to accumulation chart .
     * * crosshatch: sets crosshatch as selecting pattern to accumulation chart.
     * * pacman: sets pacman selecting pattern to accumulation chart.
     * * diagonalbackward: sets diagonal backward as selecting pattern to accumulation chart.
     * * grid: sets grid as selecting pattern to accumulation chart.
     * * turquoise: sets turquoise as selecting pattern to accumulation chart.
     * * star: sets star as selecting pattern to accumulation chart.
     * * triangle: sets triangle as selecting pattern to accumulation chart.
     * * circle: sets circle as selecting pattern to accumulation chart.
     * * tile: sets tile as selecting pattern to accumulation chart.
     * * horizontaldash: sets horizontal dash as selecting pattern to accumulation chart.
     * * verticaldash: sets vertical dash as selecting pattern to accumulation chart.
     * * rectangle: sets rectangle as selecting pattern.
     * * box: sets box as selecting pattern to accumulation chart.
     * * verticalstripe: sets vertical stripe as  selecting pattern to accumulation chart.
     * * horizontalstripe: sets horizontal stripe as selecting pattern to accumulation chart.
     * * bubble: sets bubble as selecting pattern to accumulation chart.
     *
     * @default None
     */
    selectionPattern: SelectionPattern;
    /**
     * Specifies whether series or data point has to be selected. They are,
     * * none: sets none as highlighting pattern to accumulation chart.
     * * chessboard: sets chess board as highlighting pattern to accumulation chart.
     * * dots: sets dots as highlighting pattern to accumulation chart.
     * * diagonalForward: sets diagonal forward as highlighting pattern to accumulation chart.
     * * crosshatch: sets crosshatch as highlighting pattern to accumulation chart.
     * * pacman: sets pacman highlighting  pattern to accumulation chart.
     * * diagonalbackward: sets diagonal backward as highlighting pattern to accumulation chart.
     * * grid: sets grid as highlighting pattern to accumulation chart.
     * * turquoise: sets turquoise as highlighting pattern to accumulation chart.
     * * star: sets star as highlighting  pattern to accumulation chart.
     * * triangle: sets triangle as highlighting pattern to accumulation chart.
     * * circle: sets circle as highlighting  pattern to accumulation chart.
     * * tile: sets tile as highlighting pattern to accumulation chart.
     * * horizontaldash: sets horizontal dash as highlighting pattern to accumulation chart.
     * * verticaldash: sets vertical dash as highlighting pattern to accumulation chart.
     * * rectangle: sets rectangle as highlighting  pattern to accumulation chart.
     * * box: sets box as highlighting pattern to accumulation chart.
     * * verticalstripe: sets vertical stripe as highlighting  pattern to accumulation chart.
     * * horizontalstripe: sets horizontal stripe as highlighting  pattern to accumulation chart.
     * * bubble: sets bubble as highlighting  pattern to accumulation chart.
     *
     * @default None
     */
    highlightPattern: SelectionPattern;
    /**
     * If set true, enables the border in pie and accumulation chart while mouse moving.
     *
     * @default true
     */
    enableBorderOnMouseMove: boolean;
    /**
     * If set true, enables the multi selection in accumulation chart. It requires `selectionMode` to be `Point`.
     *
     * @default false
     */
    isMultiSelect: boolean;
    /**
     * If set true, enables the animation for both chart and accumulation.
     *
     * @default true
     */
    enableAnimation: boolean;
    /**
     * Specifies the point indexes to be selected while loading a accumulation chart.
     * It requires `selectionMode` to be `Point`.
     * ```html
     * <div id='Pie'></div>
     * ```
     * ```typescript
     * let pie$: AccumulationChart = new AccumulationChart({
     * ...
     *   selectionMode: 'Point',
     *   selectedDataIndexes: [ { series: 0, point: 1},
     *                          { series: 2, point: 3} ],
     * ...
     * });
     * pie.appendTo('#Pie');
     * ```
     *
     * @default []
     */
    selectedDataIndexes: IndexesModel[];
    /**
     *  Options to customize the left, right, top and bottom margins of accumulation chart.
     */
    margin: MarginModel;
    /**
     * If set true, labels for the point will be placed smartly without overlapping.
     *
     * @default true
     */
    enableSmartLabels: boolean;
    /**
     * Options for customizing the color and width of the chart border.
     */
    border: BorderModel;
    /**
     * The background color of the chart, which accepts value in hex, rgba as a valid CSS color string.
     *
     * @default null
     */
    background: string;
    /**
     * The configuration for series in accumulation chart.
     */
    series: AccumulationSeriesModel[];
    /**
     * The configuration for annotation in chart.
     */
    annotations: AccumulationAnnotationSettingsModel[];
    /**
     * Specifies the theme for accumulation chart.
     *
     * @default 'Material'
     */
    theme: AccumulationTheme;
    /**
     * Specifies whether a grouping separator should be used for a number.
     *
     * @default false
     */
    useGroupingSeparator: boolean;
    /**
     * To enable1 export feature in chart.
     *
     * @default true
     */
    enableExport: boolean;
    /**
     * To enable1 export feature in blazor chart.
     *
     * @default false
     */
    allowExport: boolean;
    /**
     * Triggers after accumulation chart loaded.
     *
     * @event
     * @blazorProperty 'Loaded'
     */
    loaded: base.EmitType<IAccLoadedEventArgs>;
    /**
     * Triggers after legend clicked.
     *
     * @event legendClick
     */
    legendClick: base.EmitType<IAccLegendClickEventArgs>;
    /**
     * Triggers before accumulation chart load.
     *
     * @event
     */
    load: base.EmitType<IAccLoadedEventArgs>;
    /**
     * Triggers before the series gets rendered.
     *
     * @event
     * @deprecated
     */
    seriesRender: base.EmitType<IAccSeriesRenderEventArgs>;
    /**
     * Triggers before the legend gets rendered.
     *
     * @event
     * @deprecated
     */
    legendRender: base.EmitType<ILegendRenderEventArgs>;
    /**
     * Triggers before the data label for series gets rendered.
     *
     * @event
     * @deprecated
     */
    textRender: base.EmitType<IAccTextRenderEventArgs>;
    /**
     * Triggers before the tooltip for series gets rendered.
     *
     * @event
     */
    tooltipRender: base.EmitType<ITooltipRenderEventArgs>;
    /**
     * Triggers before each points for series gets rendered.
     *
     * @event
     * @deprecated
     */
    pointRender: base.EmitType<IAccPointRenderEventArgs>;
    /**
     * Triggers before the annotation gets rendered.
     *
     * @event
     * @deprecated
     */
    annotationRender: base.EmitType<IAnnotationRenderEventArgs>;
    /**
     * Triggers before the prints gets started.
     *
     * @event
     * @blazorProperty 'OnPrint'
     */
    beforePrint: base.EmitType<IPrintEventArgs>;
    /**
     * Triggers on hovering the accumulation chart.
     *
     * @event
     * @blazorProperty 'OnChartMouseMove'
     */
    chartMouseMove: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on clicking the accumulation chart.
     *
     * @event
     * @blazorProperty 'OnChartMouseClick'
     */
    chartMouseClick: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on double clicking the accumulation chart.
     *
     * @event
     * @blazorProperty 'OnChartDoubleClick'
     */
    chartDoubleClick: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on point click.
     *
     * @event
     * @blazorProperty 'OnPointClick'
     */
    pointClick: base.EmitType<IPointEventArgs>;
    /**
     * Triggers on point move.
     *
     * @event
     * @blazorProperty 'PointMoved'
     */
    pointMove: base.EmitType<IPointEventArgs>;
    /**
     * Triggers after animation gets completed for series.
     *
     * @event
     * @blazorProperty 'OnAnimationComplete'
     */
    animationComplete: base.EmitType<IAccAnimationCompleteEventArgs>;
    /**
     * Triggers on mouse down.
     *
     * @event
     * @blazorProperty 'OnChartMouseDown'
     */
    chartMouseDown: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers while cursor leaves the accumulation chart.
     *
     * @event
     * @blazorProperty 'OnChartMouseLeave'
     */
    chartMouseLeave: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on mouse up.
     *
     * @event
     * @blazorProperty 'OnChartMouseUp'
     */
    chartMouseUp: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers before window resize.
     * @event
     * @blazorProperty 'BeforeResize'
     */
    beforeResize: base.EmitType<IAccBeforeResizeEventArgs>;
    /**
     * Triggers after window resize.
     *
     * @event
     * @blazorProperty 'Resized'
     */
    resized: base.EmitType<IAccResizeEventArgs>;
    /**
     * Triggers after1 the export completed.
     *
     * @event
     * @blazorProperty 'AfterExport'
     */
    afterExport: base.EmitType<IAfterExportEventArgs>;
    /**
     * Triggers after the selection is completed.
     *
     * @event selectionComplete
     */
    selectionComplete: base.EmitType<IAccSelectionCompleteEventArgs>;
    /**
     * Defines the currencyCode format of the accumulation chart
     *
     * @private
     * @aspType string
     */
    private currencyCode;
    /**
     * Animate the series bounds on data change.
     *
     * @private
     */
    animate(duration?: number): void;
    /** @private */
    svgObject: Element;
    /** @private */
    private animateselected;
    /** @public */
    duration: number;
    /** @private */
    initialClipRect: svgBase.Rect;
    /** @private */
    availableSize: svgBase.Size;
    /** @private */
    renderer: svgBase.SvgRenderer | svgBase.CanvasRenderer;
    /** @private */
    intl: base.Internationalization;
    /** @private */
    visibleSeries: AccumulationSeries[];
    /** @private */
    seriesCounts: number;
    /** @private */
    explodeDistance: number;
    /** @private */
    mouseX: number;
    /** @private */
    mouseY: number;
    private resizeTo;
    /** @private */
    origin: ChartLocation;
    /** @private */
    currentLegendIndex: number;
    /** @private */
    currentPointIndex: number;
    /** @private */
    previousTargetId: string;
    /** @private */
    isLegendClicked: boolean;
    /** @private */
    readonly type: AccumulationType;
    /** @private */
    isTouch: boolean;
    /** @private */
    redraw: boolean;
    /** @private */
    animateSeries: boolean;
    private titleCollection;
    private subTitleCollection;
    /** @private */
    themeStyle: IThemeStyle;
    private chartid;
    /** @private */
    isBlazor: boolean;
    /** @private */
    accumulationResizeBound: EventListenerOrEventListenerObject;
    /**
     * Constructor for creating the AccumulationChart widget
     *
     * @private
     */
    constructor(options?: AccumulationChartModel, element?: string | HTMLElement);
    /**
     *  To create svg object, renderer and binding events for the container.
     */
    protected preRender(): void;
    /**
     * Themeing for chart goes here
     */
    private setTheme;
    /**
     * To render the accumulation chart elements
     */
    protected render(): void;
    /**
     * Method to unbind events for accumulation chart
     */
    private unWireEvents;
    /**
     * Method to bind events for the accumulation chart
     */
    private wireEvents;
    /**
     * Method to set mouse x, y from events
     */
    private setMouseXY;
    /**
     * Handles the mouse end.
     *
     * @returns {boolean} Mouse end of accumulation chart.
     * @private
     */
    accumulationMouseEnd(e: PointerEvent): boolean;
    /**
     * Handles the mouse start.
     *
     * @returns {boolean} Mouse start of accumulation chart.
     * @private
     */
    accumulationMouseStart(e: PointerEvent): boolean;
    /**
     * Handles the accumulation chart resize.
     *
     * @returns {boolean} Resize method of accumulation chart.
     * @private
     */
    accumulationResize(): boolean;
    /**
     * Handles the print method for accumulation chart control.
     */
    print(id?: string[] | string | Element): void;
    /**
     * Export method for the chart.
     */
    export(type: ExportType, fileName: string): void;
    /**
     * Applying styles for accumulation chart element
     */
    private setStyle;
    /**
     * Method to set the annotation content dynamically for accumulation.
     */
    setAnnotationValue(annotationIndex: number, content: string): void;
    /**
     * Handles the mouse move on accumulation chart.
     *
     * @returns {boolean} Mouse move of accumulation chart.
     * @private
     */
    accumulationMouseMove(e: PointerEvent): boolean;
    titleTooltip(event: Event, x: number, y: number, isTouch?: boolean): void;
    /**
     * Handles the keyboard onkeydown on chart.
     *
     * @returns {boolean} false
     * @private
     */
    accumulationChartKeyDown(e: KeyboardEvent): boolean;
    /**
     * Handles the keyboard onkeydown on chart.
     *
     * @returns {boolean} false
     * @private
     */
    accumulationChartKeyUp(e: KeyboardEvent): boolean;
    private setTabIndex;
    private getActualIndex;
    private focusTarget;
    /**
     * Handles the document onkey.
     *
     * @private
     */
    private documentKeyHandler;
    private chartKeyboardNavigations;
    private focusChild;
    /**
     * Handles the mouse double click on accumulation chart.
     *
     * @returns {boolean} Mouse double click of accumulation chart.
     * @private
     */
    accumulationOnDoubleClick(e: PointerEvent): boolean;
    /**
     * Handles the mouse click on accumulation chart.
     *
     * @returns {boolean} Mouse click of accumulation chart.
     * @private
     */
    accumulationOnMouseClick(e: PointerEvent): boolean;
    private triggerPointEvent;
    /**
     * Handles the mouse right click on accumulation chart.
     *
     * @returns {boolean} Right click of accumulation chart.
     * @private
     */
    accumulationRightClick(event: MouseEvent | PointerEvent): boolean;
    /**
     * Handles the mouse leave on accumulation chart.
     *
     * @returns {boolean} Mouse leave of accumulation chart.
     * @private
     */
    accumulationMouseLeave(e: PointerEvent): boolean;
    /**
     * Method to set culture for chart
     */
    private setCulture;
    /**
     * Method to create SVG element for accumulation chart.
     */
    private createPieSvg;
    /**
     * To Remove the SVG from accumulation chart.
     *
     * @returns {boolean} Remove svg.
     * @private
     */
    removeSvg(): void;
    /**
     * Method to create the secondary element for tooltip, datalabel and annotaitons.
     */
    private createSecondaryElement;
    /**
     * Method to find visible series based on series types
     */
    private calculateVisibleSeries;
    /**
     * To find points from dataSource
     */
    private processData;
    /**
     * To refresh the accumulation chart
     *
     * @private
     */
    refreshChart(): void;
    /**
     * Method to find groupped points
     */
    private doGrouppingProcess;
    /**
     * Method to calculate bounds for accumulation chart
     */
    private calculateBounds;
    private calculateLegendBounds;
    /**
     * To render elements for accumulation chart
     *
     * @private
     */
    renderElements(): void;
    /**
     * To set the left and top position for data label template for center aligned chart
     *
     * @private
     */
    setSecondaryElementPosition(): void;
    /**
     * To render the annotaitions for accumulation series.
     *
     * @private
     */
    renderAnnotation(): void;
    /**
     * Method to process the explode in accumulation chart
     *
     * @private
     */
    processExplode(): void;
    /**
     * Method to render series for accumulation chart
     */
    private renderSeries;
    /**
     * Method to render border for accumulation chart
     */
    private renderBorder;
    /**
     * Method to render legend for accumulation chart
     */
    private renderLegend;
    /**
     * To process the selection in accumulation chart
     *
     * @private
     */
    processSelection(): void;
    /**
     * To render title for accumulation chart
     */
    private renderTitle;
    private renderSubTitle;
    /**
     * To get the series parent element
     *
     * @private
     */
    getSeriesElement(): Element;
    /**
     * To refresh the all visible series points
     *
     * @private
     */
    refreshSeries(): void;
    /**
     * To refresh points label region and visible
     *
     * @private
     */
    refreshPoints(points: AccPoints[]): void;
    /**
     * To get Module name
     *
     *  @private
     */
    getModuleName(): string;
    /**
     * To destroy the accumulationcharts
     *
     * @private
     */
    destroy(): void;
    /**
     * To provide the array of modules needed for control rendering
     *
     * @returns {base.ModuleDeclaration[]} required modules
     * @private
     */
    requiredModules(): base.ModuleDeclaration[];
    /**
     * To find datalabel visibility in series
     */
    private findDatalabelVisibility;
    /**
     * Get visible series for accumulation chart by index
     */
    private changeVisibleSeries;
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @private
     */
    getPersistData(): string;
    /**
     * Called internally if any of the property value changed.
     *
     * @private
     */
    onPropertyChanged(newProp: AccumulationChartModel, oldProp: AccumulationChartModel): void;
}
//node_modules/@syncfusion/ej2-charts/src/accumulation-chart/annotation/annotation.d.ts
/**
 * AccumulationChart annotation properties
 */
/**
 * `AccumulationAnnotation` module handles the annotation for accumulation chart.
 */
export  class AccumulationAnnotation extends AnnotationBase {
    private pie;
    private parentElement;
    private annotations;
    /**
     * Constructor for accumulation chart annotation.
     *
     * @private
     */
    constructor(control: AccumulationChart);
    /**
     * Method to render the annotation for accumulation chart
     *
     * @param {Element} element Annotation element.
     */
    renderAnnotations(element: Element): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the annotation.
     *
     * @returns {void}
     *
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/accumulation-chart/index.d.ts
/**
 * Pie Component items exported
 */
//node_modules/@syncfusion/ej2-charts/src/accumulation-chart/model/acc-base-model.d.ts
/**
 * Interface for a class AccumulationAnnotationSettings
 */
export interface AccumulationAnnotationSettingsModel {
    /**
     * Content of the annotation, which accepts the id of the custom element.
     *
     * @default null
     */
    content?: string;
    /**
     * if set coordinateUnit as `Pixel` X specifies the axis value
     * else is specifies pixel or percentage of coordinate
     *
     * @default '0'
     */
    x?: string | Date | number;
    /**
     * if set coordinateUnit as `Pixel` Y specifies the axis value
     * else is specifies pixel or percentage of coordinate
     *
     * @default '0'
     */
    y?: string | number;
    /**
     * Specifies the coordinate units of the annotation. They are
     * * Pixel - Annotation renders based on x and y pixel value.
     * * Point - Annotation renders based on x and y axis value.
     *
     * @default 'Pixel'
     */
    coordinateUnits?: Units;
    /**
     * Specifies the regions of the annotation. They are
     * * Chart - Annotation renders based on chart coordinates.
     * * Series - Annotation renders based on series coordinates.
     *
     * @default 'Chart'
     */
    region?: Regions;
    /**
     * Specifies the position of the annotation. They are
     * * Top - Align the annotation element as top side.
     * * Bottom - Align the annotation element as bottom side.
     * * Middle - Align the annotation element as mid point.
     *
     * @default 'Middle'
     * @deprecated
     */
    verticalAlignment?: Position;
    /**
     * Specifies the alignment of the annotation. They are
     * * Near - Align the annotation element as top side.
     * * Far - Align the annotation element as bottom side.
     * * Center - Align the annotation element as mid point.
     *
     * @default 'Center'
     * @deprecated
     */
    horizontalAlignment?: Alignment;
    /**
     * Information about annotation for assistive technology.
     *
     * @default null
     */
    description?: string;
}
/**
 * Interface for a class AccumulationDataLabelSettings
 */
export interface AccumulationDataLabelSettingsModel {
    /**
     * If set true, data label for series gets render.
     *
     * @default false
     */
    visible?: boolean;
    /**
     * If set true, data label for zero values in series gets render.
     *
     * @default true
     */
    showZero?: boolean;
    /**
     * The DataSource field which contains the data label value.
     *
     * @default null
     */
    name?: string;
    /**
     * The background color of the data label, which accepts value in hex, rgba as a valid CSS color string.
     *
     * @default 'transparent'
     */
    fill?: string;
    /**
     * Specifies the position of data label. They are.
     * * Outside - Places label outside the point.
     * * Inside - Places label inside the point.
     *
     * @default 'Inside'
     */
    position?: AccumulationLabelPosition;
    /**
     * The roundedCornerX for the data label. It requires `border` values not to be null.
     *
     * @default 5
     */
    rx?: number;
    /**
     * The roundedCornerY for the data label. It requires `border` values not to be null.
     *
     * @default 5
     */
    ry?: number;
    /**
     * Specifies angle for data label.
     *
     * @default 0
     */
    angle?: number;
    /**
     * Enables rotation for data label.
     *
     * @default false
     */
    enableRotation?: boolean;
    /**
     * Option for customizing the border lines.
     */
    border?: BorderModel;
    /**
     * Option for customizing the data label text.
     */
    font?: FontModel;
    /**
     * Options for customize the connector line in series.
     * This property is applicable for Pie, Funnel and Pyramid series.
     * The default connector length for Pie series is '4%'. For other series, it is null.
     */
    connectorStyle?: ConnectorModel;
    /**
     * Custom template to format the data label content. Use ${point.x} and ${point.y} as a placeholder
     * text to display the corresponding data point.
     *
     * @default null
     */
    template?: string;
    /**
     * Used to format the data label that accepts any global string format like 'C', 'n1', 'P' etc.
     * It also accepts placeholder like '{value}°C' in which value represent the data label, e.g, 20°C.
     *  
     * @default ''
     */
    format?: string;
}
/**
 * Interface for a class PieCenter
 */
export interface PieCenterModel {
    /**
     * X value of the center.
     *
     * @default '50%'
     */
    x?: string;
    /**
     * Y value of the center.
     *
     * @default '50%'
     */
    y?: string;
}
/**
 * Interface for a class AccPoints
 */
export interface AccPointsModel {
}
/**
 * Interface for a class AccumulationSeries
 */
export interface AccumulationSeriesModel {
    /**
     * Specifies the dataSource for the series. It can be an array of JSON objects or an instance of data.DataManager.
     * ```html
     * <div id='Pie'></div>
     * ```
     * ```typescript
     * let dataManager$: data.DataManager = new data.DataManager({
     *         url: 'http://mvc.syncfusion.com/Services/Northwnd.svc/Tasks/'
     * });
     * let query$: data.Query = new data.Query().take(50).where('Estimate', 'greaterThan', 0, false);
     * let pie$: AccumulationChart = new AccumulationChart({
     * ...
     *     series: [{
     *        dataSource: dataManager,
     *        xName: 'Id',
     *        yName: 'Estimate',
     *        query: query
     *    }],
     * ...
     * });
     * pie.appendTo('#Pie');
     * ```
     *
     * @default ''
     */
    dataSource?: Object | data.DataManager;
    /**
     * Specifies data.Query to select data from dataSource. This property is applicable only when the dataSource is `ej.data.DataManager`.
     *
     * @default null
     */
    query?: data.Query;
    /**
     * The DataSource field which contains the x value.
     *
     * @default ''
     */
    xName?: string;
    /**
     * Specifies the series name
     *
     * @default ''
     */
    name?: string;
    /**
     * The provided value will be considered as a Tooltip Mapping name
     *
     * @default ''
     */
    tooltipMappingName?: string;
    /**
     * The DataSource field which contains the y value.
     *
     * @default ''
     */
    yName?: string;
    /**
     * Specifies the series visibility.
     *
     * @default true
     */
    visible?: boolean;
    /**
     * Options for customizing the border of the series.
     */
    border?: BorderModel;
    /**
     * Options for customizing the animation for series.
     */
    animation?: AnimationModel;
    /**
     * The shape of the legend. Each series has its own legend shape. They are
     * * Circle - Renders a circle.
     * * Rectangle - Renders a rectangle.
     * * Triangle - Renders a triangle.
     * * Diamond - Renders a diamond.
     * * Cross - Renders a cross.
     * * HorizontalLine - Renders a horizontalLine.
     * * VerticalLine - Renders a verticalLine.
     * * Pentagon - Renders a pentagon.
     * * InvertedTriangle - Renders a invertedTriangle.
     * * SeriesType -Render a legend shape based on series type.
     * * Image -Render a image.     * 
     * @default 'SeriesType'
     */
    legendShape?: LegendShape;
    /**
     * The URL for the Image that is to be displayed as a Legend icon.  It requires  `legendShape` value to be an `Image`.
     * @default ''
     */
    legendImageUrl?: string;
    /**
     * The DataSource field that contains the color value of point
     * It is applicable for series
     *
     * @default ''
     */
    pointColorMapping?: string;
    /**
     * Custom style for the selected series or points.
     *
     * @default null
     */
    selectionStyle?: string;
    /**
     * AccumulationSeries y values less than groupTo are combined into single slice named others
     *
     * @default null
     */
    groupTo?: string;
    /**
     * AccumulationSeries y values less than groupMode are combined into single slice named others
     *
     * @default Value
     */
    groupMode?: GroupModes;
    /**
     * The data label for the series.
     */
    dataLabel?: AccumulationDataLabelSettingsModel;
    /**
     * Palette for series points.
     *
     * @default []
     */
    palettes?: string[];
    /**
     * Start angle for a series.
     *
     * @default 0
     */
    startAngle?: number;
    /**
     * End angle for a series.
     *
     * @default null
     */
    endAngle?: number;
    /**
     * Radius of the pie series and its values in percentage.
     *
     * @default '80%'
     */
    radius?: string;
    /**
     * When the innerRadius value is greater than 0 percentage, a donut will appear in pie series. It takes values only in percentage.
     *
     * @default '0'
     */
    innerRadius?: string;
    /**
     * Specify the type of the series in accumulation chart.
     *
     * @default 'Pie'
     */
    type?: AccumulationType;
    /**
     * To enable or disable tooltip for a series.
     *
     * @default true
     */
    enableTooltip?: boolean;
    /**
     * If set true, series points will be exploded on mouse click or touch.
     *
     * @default false
     */
    explode?: boolean;
    /**
     * Distance of the point from the center, which takes values in both pixels and percentage.
     *
     * @default '30%'
     */
    explodeOffset?: string;
    /**
     * If set true, all the points in the series will get exploded on load.
     *
     * @default false
     */
    explodeAll?: boolean;
    /**
     * Index of the point, to be exploded on load.
     *
     * @default null
     *
     * @aspDefaultValueIgnore
     *
     * @blazorDefaultValue Double.NaN
     */
    explodeIndex?: number;
    /**
     * options to customize the empty points in series
     */
    emptyPointSettings?: EmptyPointSettingsModel;
    /**
     * Defines the distance between the segments of a funnel/pyramid series. The range will be from 0 to 1
     *
     * @default 0
     */
    gapRatio?: number;
    /**
     * Defines the width of the funnel/pyramid with respect to the chart area
     *
     * @default '80%'
     */
    width?: string;
    /**
     * Defines the height of the funnel/pyramid with respect to the chart area
     *
     * @default '80%'
     */
    height?: string;
    /**
     * Defines the width of the funnel neck with respect to the chart area
     *
     * @default '20%'
     */
    neckWidth?: string;
    /**
     * Defines the height of the funnel neck with respect to the chart area
     *
     * @default '20%'
     */
    neckHeight?: string;
    /**
     * Defines how the values have to be reflected, whether through height/surface of the segments
     *
     * @default 'Linear'
     */
    pyramidMode?: PyramidModes;
    /**
     * The opacity of the series.
     *
     * @default 1.
     */
    opacity?: number;
}
//node_modules/@syncfusion/ej2-charts/src/accumulation-chart/model/acc-base.d.ts
/**
 * AccumulationChart base file
 */
/**
 * Annotation for accumulation series
 */
export  class AccumulationAnnotationSettings extends base.ChildProperty<AccumulationAnnotationSettings> {
    /**
     * Content of the annotation, which accepts the id of the custom element.
     *
     * @default null
     */
    content: string;
    /**
     * if set coordinateUnit as `Pixel` X specifies the axis value
     * else is specifies pixel or percentage of coordinate
     *
     * @default '0'
     */
    x: string | Date | number;
    /**
     * if set coordinateUnit as `Pixel` Y specifies the axis value
     * else is specifies pixel or percentage of coordinate
     *
     * @default '0'
     */
    y: string | number;
    /**
     * Specifies the coordinate units of the annotation. They are
     * * Pixel - Annotation renders based on x and y pixel value.
     * * Point - Annotation renders based on x and y axis value.
     *
     * @default 'Pixel'
     */
    coordinateUnits: Units;
    /**
     * Specifies the regions of the annotation. They are
     * * Chart - Annotation renders based on chart coordinates.
     * * Series - Annotation renders based on series coordinates.
     *
     * @default 'Chart'
     */
    region: Regions;
    /**
     * Specifies the position of the annotation. They are
     * * Top - Align the annotation element as top side.
     * * Bottom - Align the annotation element as bottom side.
     * * Middle - Align the annotation element as mid point.
     *
     * @default 'Middle'
     * @deprecated
     */
    verticalAlignment: Position;
    /**
     * Specifies the alignment of the annotation. They are
     * * Near - Align the annotation element as top side.
     * * Far - Align the annotation element as bottom side.
     * * Center - Align the annotation element as mid point.
     *
     * @default 'Center'
     * @deprecated
     */
    horizontalAlignment: Alignment;
    /**
     * Information about annotation for assistive technology.
     *
     * @default null
     */
    description: string;
}
/**
 * Configures the dataLabel in accumulation chart.
 */
export  class AccumulationDataLabelSettings extends base.ChildProperty<AccumulationDataLabelSettings> {
    /**
     * If set true, data label for series gets render.
     *
     * @default false
     */
    visible: boolean;
    /**
     * If set true, data label for zero values in series gets render.
     *
     * @default true
     */
    showZero: boolean;
    /**
     * The DataSource field which contains the data label value.
     *
     * @default null
     */
    name: string;
    /**
     * The background color of the data label, which accepts value in hex, rgba as a valid CSS color string.
     *
     * @default 'transparent'
     */
    fill: string;
    /**
     * Specifies the position of data label. They are.
     * * Outside - Places label outside the point.
     * * Inside - Places label inside the point.
     *
     * @default 'Inside'
     */
    position: AccumulationLabelPosition;
    /**
     * The roundedCornerX for the data label. It requires `border` values not to be null.
     *
     * @default 5
     */
    rx: number;
    /**
     * The roundedCornerY for the data label. It requires `border` values not to be null.
     *
     * @default 5
     */
    ry: number;
    /**
     * Specifies angle for data label.
     *
     * @default 0
     */
    angle: number;
    /**
     * Enables rotation for data label.
     *
     * @default false
     */
    enableRotation: boolean;
    /**
     * Option for customizing the border lines.
     */
    border: BorderModel;
    /**
     * Option for customizing the data label text.
     */
    font: FontModel;
    /**
     * Options for customize the connector line in series.
     * This property is applicable for Pie, Funnel and Pyramid series.
     * The default connector length for Pie series is '4%'. For other series, it is null.
     */
    connectorStyle: ConnectorModel;
    /**
     * Custom template to format the data label content. Use ${point.x} and ${point.y} as a placeholder
     * text to display the corresponding data point.
     *
     * @default null
     */
    template: string;
    /**
     * Used to format the data label that accepts any global string format like 'C', 'n1', 'P' etc.
     * It also accepts placeholder like '{value}°C' in which value represent the data label, e.g, 20°C.
     *
     * @default ''
     */
    format: string;
}
/**
 * Center value of the Pie series.
 */
export  class PieCenter extends base.ChildProperty<PieCenter> {
    /**
     * X value of the center.
     *
     * @default '50%'
     */
    x: string;
    /**
     * Y value of the center.
     *
     * @default '50%'
     */
    y: string;
}
/**
 * Points model for the series.
 *
 * @public
 */
export  class AccPoints {
    /** accumulation point x value */
    x: Object;
    /** accumulation point y value */
    y: number;
    /** accumulation point visibility */
    visible: boolean;
    /** accumulation point text */
    text: string;
    /** accumulation point tooltip */
    tooltip: string;
    /** accumulation point slice radius */
    sliceRadius: string;
    /** accumulation point original text */
    originalText: string;
    /** @private */
    label: string;
    /** accumulation point color */
    color: string;
    /** accumulation point percentage value */
    percentage: number;
    /** accumulation point symbol location */
    symbolLocation: ChartLocation;
    /** accumulation point index */
    index: number;
    /** @private */
    midAngle: number;
    /** @private */
    startAngle: number;
    /** @private */
    endAngle: number;
    /** @private */
    labelAngle: number;
    /** @private */
    region: svgBase.Rect;
    /** @private */
    labelRegion: svgBase.Rect;
    /** @private */
    labelVisible: boolean;
    /** @private */
    labelPosition: AccumulationLabelPosition;
    /** @private */
    yRatio: number;
    /** @private */
    heightRatio: number;
    /** @private */
    labelOffset: ChartLocation;
    regions: svgBase.Rect[];
    /** @private */
    isExplode: boolean;
    /** @private */
    isClubbed: boolean;
    /** @private */
    isSliced: boolean;
    /** @private */
    start: number;
    /** @private */
    degree: number;
    /** @private */
    transform: string;
    /** @private */
    separatorY: string;
    /** @private */
    adjustedLabel: boolean;
    /** @private */
    connectorLength: number;
    /** @private  */
    argsData: IAccTextRenderEventArgs;
    /** @private  */
    textSize: svgBase.Size;
    /** @private */
    isLabelUpdated: number;
    /** @private */
    initialLabelRegion: svgBase.Rect;
    /** @private */
    templateElement: HTMLElement;
    /** @private */
    legendImageUrl: string;
}
/**
 *  Configures the series in accumulation chart.
 */
export  class AccumulationSeries extends base.ChildProperty<AccumulationSeries> {
    /**
     * Specifies the dataSource for the series. It can be an array of JSON objects or an instance of data.DataManager.
     * ```html
     * <div id='Pie'></div>
     * ```
     * ```typescript
     * let dataManager$: data.DataManager = new data.DataManager({
     *         url: 'http://mvc.syncfusion.com/Services/Northwnd.svc/Tasks/'
     * });
     * let query$: data.Query = new data.Query().take(50).where('Estimate', 'greaterThan', 0, false);
     * let pie$: AccumulationChart = new AccumulationChart({
     * ...
     *     series: [{
     *        dataSource: dataManager,
     *        xName: 'Id',
     *        yName: 'Estimate',
     *        query: query
     *    }],
     * ...
     * });
     * pie.appendTo('#Pie');
     * ```
     *
     * @default ''
     */
    dataSource: Object | data.DataManager;
    /**
     * Specifies data.Query to select data from dataSource. This property is applicable only when the dataSource is `ej.data.DataManager`.
     *
     * @default null
     */
    query: data.Query;
    /**
     * The DataSource field which contains the x value.
     *
     * @default ''
     */
    xName: string;
    /**
     * Specifies the series name
     *
     * @default ''
     */
    name: string;
    /**
     * The provided value will be considered as a Tooltip Mapping name
     *
     * @default ''
     */
    tooltipMappingName: string;
    /**
     * The DataSource field which contains the y value.
     *
     * @default ''
     */
    yName: string;
    /**
     * Specifies the series visibility.
     *
     * @default true
     */
    visible: boolean;
    /**
     * Options for customizing the border of the series.
     */
    border: BorderModel;
    /**
     * Options for customizing the animation for series.
     */
    animation: AnimationModel;
    /**
     * The shape of the legend. Each series has its own legend shape. They are
     * * Circle - Renders a circle.
     * * Rectangle - Renders a rectangle.
     * * Triangle - Renders a triangle.
     * * Diamond - Renders a diamond.
     * * Cross - Renders a cross.
     * * HorizontalLine - Renders a horizontalLine.
     * * VerticalLine - Renders a verticalLine.
     * * Pentagon - Renders a pentagon.
     * * InvertedTriangle - Renders a invertedTriangle.
     * * SeriesType -Render a legend shape based on series type.
     * * Image -Render a image.     *
     * @default 'SeriesType'
     */
    legendShape: LegendShape;
    /**
     * The URL for the Image that is to be displayed as a Legend icon.  It requires  `legendShape` value to be an `Image`.
     * @default ''
     */
    legendImageUrl: string;
    /**
     * The DataSource field that contains the color value of point
     * It is applicable for series
     *
     * @default ''
     */
    pointColorMapping: string;
    /**
     * Custom style for the selected series or points.
     *
     * @default null
     */
    selectionStyle: string;
    /**
     * AccumulationSeries y values less than groupTo are combined into single slice named others
     *
     * @default null
     */
    groupTo: string;
    /**
     * AccumulationSeries y values less than groupMode are combined into single slice named others
     *
     * @default Value
     */
    groupMode: GroupModes;
    /**
     * The data label for the series.
     */
    dataLabel: AccumulationDataLabelSettingsModel;
    /**
     * Palette for series points.
     *
     * @default []
     */
    palettes: string[];
    /**
     * Start angle for a series.
     *
     * @default 0
     */
    startAngle: number;
    /**
     * End angle for a series.
     *
     * @default null
     */
    endAngle: number;
    /**
     * Radius of the pie series and its values in percentage.
     *
     * @default '80%'
     */
    radius: string;
    /**
     * When the innerRadius value is greater than 0 percentage, a donut will appear in pie series. It takes values only in percentage.
     *
     * @default '0'
     */
    innerRadius: string;
    /**
     * Specify the type of the series in accumulation chart.
     *
     * @default 'Pie'
     */
    type: AccumulationType;
    /**
     * To enable or disable tooltip for a series.
     *
     * @default true
     */
    enableTooltip: boolean;
    /**
     * If set true, series points will be exploded on mouse click or touch.
     *
     * @default false
     */
    explode: boolean;
    /**
     * Distance of the point from the center, which takes values in both pixels and percentage.
     *
     * @default '30%'
     */
    explodeOffset: string;
    /**
     * If set true, all the points in the series will get exploded on load.
     *
     * @default false
     */
    explodeAll: boolean;
    /**
     * Index of the point, to be exploded on load.
     *
     * @default null
     *
     * @aspDefaultValueIgnore
     *
     * @blazorDefaultValue Double.NaN
     */
    explodeIndex: number;
    /**
     * options to customize the empty points in series
     */
    emptyPointSettings: EmptyPointSettingsModel;
    /**
     * Defines the distance between the segments of a funnel/pyramid series. The range will be from 0 to 1
     *
     * @default 0
     */
    gapRatio: number;
    /**
     * Defines the width of the funnel/pyramid with respect to the chart area
     *
     * @default '80%'
     */
    width: string;
    /**
     * Defines the height of the funnel/pyramid with respect to the chart area
     *
     * @default '80%'
     */
    height: string;
    /**
     * Defines the width of the funnel neck with respect to the chart area
     *
     * @default '20%'
     */
    neckWidth: string;
    /**
     * Defines the height of the funnel neck with respect to the chart area
     *
     * @default '20%'
     */
    neckHeight: string;
    /**
     * Defines how the values have to be reflected, whether through height/surface of the segments
     *
     * @default 'Linear'
     */
    pyramidMode: PyramidModes;
    /**
     * The opacity of the series.
     *
     * @default 1.
     */
    opacity: number;
    /** @private */
    points: AccPoints[];
    /** @private */
    clubbedPoints: AccPoints[];
    /** @private */
    dataModule: Data;
    /** @private */
    sumOfPoints: number;
    /** @private */
    index: number;
    /** @private */
    sumOfClub: number;
    /** @private */
    resultData: Object;
    /** @private */
    lastGroupTo: string;
    /** @private */
    isRectSeries: boolean;
    /** @private */
    clipRect: svgBase.Rect;
    /** @private */
    category: SeriesCategories;
    /** @private */
    rightSidePoints: AccPoints[];
    /** @private */
    leftSidePoints: AccPoints[];
    /**
     * To find the max bounds of the data label to place smart legend
     *
     * @private
     */
    labelBound: svgBase.Rect;
    /**
     * To find the max bounds of the accumulation segment to place smart legend
     *
     * @private
     */
    accumulationBound: svgBase.Rect;
    /**
     * Defines the funnel size
     *
     * @private
     */
    triangleSize: svgBase.Size;
    /**
     * Defines the size of the funnel neck
     *
     * @private
     */
    neckSize: svgBase.Size;
    /**
     * To refresh the Datamanager for series
     *
     * @private
     */
    refreshDataManager(accumulation: AccumulationChart, render: boolean): void;
    /**
     * To get points on dataManager is success
     *
     * @private
     */
    dataManagerSuccess(e: {
        result: Object;
        count: number;
    }, accumulation: AccumulationChart, render?: boolean): void;
    /** @private To find points from result data */
    getPoints(result: Object, accumulation: AccumulationChart): void;
    generateClubPoint(): AccPoints;
    /**
     * Method to set point index and color
     */
    private pushPoints;
    /**
     * Method to find club point
     */
    private isClub;
    /**
     * Method to find sum of points in the series
     */
    private findSumOfPoints;
    /**
     * Method to set points x, y and text from data source
     */
    private setPoints;
    /**
     * Method render the series elements for accumulation chart
     * @private
     */
    renderSeries(accumulation: AccumulationChart, redraw?: boolean): void;
    /**
     * Method render the points elements for accumulation chart series.
     */
    private renderPoints;
    /**
     * Method render the datalabel elements for accumulation chart.
     */
    private renderDataLabel;
    /**
     * To find maximum bounds for smart legend placing
     *
     * @private
     */
    findMaxBounds(totalbound: svgBase.Rect, bound: svgBase.Rect): void;
    /**
     * To set empty point value for null points
     * @private
     */
    setAccEmptyPoint(point: AccPoints, i: number, data: Object, colors: string[]): void;
    /**
     * To find point is empty
     */
    private isEmpty;
}
/**
 * method to get series from index
 * @private
 */
export  function getSeriesFromIndex(index: number, visibleSeries: AccumulationSeries[]): AccumulationSeries;
/**
 * method to get point from index
 * @private
 */
export  function pointByIndex(index: number, points: AccPoints[]): AccPoints;
//node_modules/@syncfusion/ej2-charts/src/accumulation-chart/model/enum.d.ts
/**
 * Accumulation charts Enum file
 */
/**
 * Defines the Accumulation Chart series type.
 */
export  type AccumulationType = 
/** Accumulation chart Pie series type */
'Pie' | 
/** Accumulation chart Funnel series type */
'Funnel' | 
/** Accumulation chart Pyramid series type */
'Pyramid';
/**
 * Defines the AccumulationLabelPosition. They are
 * * Inside - Define the data label position for the accumulation series Inside.
 * * Outside - Define the data label position for the accumulation series Outside.
 * *
 */
export  type AccumulationLabelPosition = 
/** Define the data label position for the accumulation series Inside */
'Inside' | 
/** Define the data label position for the accumulation series Outside */
'Outside';
/**
 * Defines the ConnectorType. They are
 * * Line - Accumulation series Connector line type as Straight line.
 * * Curve - Accumulation series Connector line type as Curved line.
 * *
 */
export  type ConnectorType = 
/** Accumulation series Connector line type as Straight line */
'Line' | 
/** Accumulation series Connector line type as Curved line */
'Curve';
/**
 * Defines the SelectionMode, They are.
 * * None - Disable the selection.
 * * Point - To select a point.
 */
export  type AccumulationSelectionMode = 
/** Disable the selection. */
'None' | 
/** To select a point. */
'Point';
/**
  * Defines the HighlightMode, They are.
  * * None - Disable the Highlight.
  * * Point - To highlight a point.
  */
export  type AccumulationHighlightMode = 
/** Disable the highlight. */
'None' | 
/** To highlight a point. */
'Point';
/**
 * Defines Theme of the accumulation chart. They are
 * * Material - Render a accumulation chart with Material theme.
 * * Fabric - Render a accumulation chart with fabric theme.
 */
export  type AccumulationTheme = 
/**  Render a accumulation chart with Material theme. */
'Material' | 
/**  Render a accumulation chart with Fabric theme. */
'Fabric' | 
/**  Render a accumulation chart with Bootstrap theme. */
'Bootstrap' | 
/**  Render a accumulation chart with Highcontrast Light theme. */
'HighContrastLight' | 
/**  Render a accumulation chart with MaterialDark theme. */
'MaterialDark' | 
/**  Render a accumulation chart with FabricDark theme. */
'FabricDark' | 
/**  Render a accumulation chart with HighContrastDark theme. */
'HighContrast' | 
/**  Render a accumulation chart with BootstrapDark theme. */
'BootstrapDark' | 
/**  Render a accumulation chart with BootstrapDark theme. */
'Bootstrap4' | 
/**  Render a accumulation chart with Tailwind theme. */
'Tailwind' | 
/**  Render a accumulation chart with TailwindDark theme. */
'TailwindDark' | 
/**  Render a accumulation chart with Bootstrap5 theme. */
'Bootstrap5' | 
/**  Render a accumulation chart with Bootstrap5Dark theme. */
'Bootstrap5Dark' | 
/**  Render a accumulation chart with Fluent theme. */
'Fluent' | 
/**  Render a accumulation chart with FluentDark theme. */
'FluentDark';
/**
 * Defines the empty point mode of the chart.
 * * Zero - Used to display empty points as zero.
 * * Drop - Used to ignore the empty point while rendering.
 * * Average - Used to display empty points as previous and next point average.
 */
export  type AccEmptyPointMode = 
/** Used to display empty points as zero  */
'Zero' | 
/** Used to ignore the empty point while rendering  */
'Drop' | 
/** Used to display empty points as previous and next point average  */
'Average' | 
/** Used to ignore the empty point while rendering   */
'Gap';
/**
 * Defines the mode of the pyramid
 * * Linear - Height of the pyramid segments reflects the values
 * * Surface - Surface/Area of the  pyramid segments reflects the values
 */
export  type PyramidModes = 
/** Height of the pyramid segments reflects the values */
'Linear' | 
/** Surface/Area of the  pyramid segments reflects the values */
'Surface';
/**
 * Defines the mode of the group mode
 * * Point - When choosing points, the selected points get grouped.
 * * Value - When choosing values, the points which less then values get grouped.
 */
export  type GroupModes = 
/** When choosing points, the selected points get grouped */
'Point' | 
/** When choosing values, the points which less then values get grouped. */
'Value';
//node_modules/@syncfusion/ej2-charts/src/accumulation-chart/model/pie-interface.d.ts
/**
 * Interface for Accumulation chart
 */
/**
 * Accumulation Chart SeriesRender event arguments.
 */
export interface IAccSeriesRenderEventArgs {
    /** Defines the current series */
    series: AccumulationSeries;
    /** Defines the current data object */
    data: Object;
    /** Defines the current series name */
    name: string;
}
/**
 * Accumulation Chart TextRender event arguments.
 */
export interface IAccTextRenderEventArgs extends IChartEventArgs {
    /** Defines the current series */
    series: AccumulationSeriesModel;
    /** Defines the current point */
    point: AccPoints;
    /** Defines the current text */
    text: string;
    /** Defines the current fill color */
    color: string;
    /** Defines the current label border */
    border: BorderModel;
    /** Defines the current text template */
    template: string;
    /** Defines the current font */
    font: FontModel;
}
export interface IAccLegendClickEventArgs extends IChartEventArgs {
    /** Defines the chart when legendClick */
    chart: AccumulationChart;
    /** Defines the current legend shape */
    legendShape: LegendShape;
    /** Defines the current series */
    series: AccumulationSeries;
    /** Defines the list of points mapped to a legend */
    point: AccPoints;
    /** Defines the current legend text */
    legendText: string;
}
/**
 * Accumulation Chart TooltipRender event arguments.
 */
export interface IAccTooltipRenderEventArgs extends IChartEventArgs {
    /** Defines the current tooltip content */
    content?: string | HTMLElement;
    /** Defines the current tooltip text style */
    textStyle?: FontModel;
    /** Defines the current tooltip series */
    series: AccumulationSeries;
    /** Defines the current tooltip point */
    point: AccPoints;
    /** Defines the current tooltip text */
    text: string;
}
/**
 * Accumulation Chart AnimationComplete event arguments.
 */
export interface IAccAnimationCompleteEventArgs extends IChartEventArgs {
    /** Defines the current animation series */
    series: AccumulationSeries;
    /** Defines the accumulation chart instance */
    accumulation: AccumulationChart;
    /** Defines the accumulation chart instance */
    chart: AccumulationChart;
}
/**
 * Accumulation Chart SelectionComplete event arguments.
 */
export interface IAccSelectionCompleteEventArgs extends IChartEventArgs {
    /** Defines current selected Data X, Y values */
    selectedDataValues: {
        x?: string | number | Date;
        y?: number;
        seriesIndex?: number;
        pointIndex?: number;
    }[];
}
/**
 * Accumulation Chart Before Resize event arguments.
 */
export interface IAccBeforeResizeEventArgs {
    /** Defines the name of the Event */
    name: string;
    /** It is  used to cancel the resized event */
    cancelResizedEvent: boolean;
}
/**
 * Accumulation Chart Resize event arguments.
 */
export interface IAccResizeEventArgs {
    /** Defines the name of the Event */
    name: string;
    /** Defines the previous size of the accumulation chart */
    previousSize: svgBase.Size;
    /** Defines the current size of the accumulation chart */
    currentSize: svgBase.Size;
    /** Defines the accumulation chart instance */
    accumulation: AccumulationChart;
    /** Defines the accumulation chart instance */
    chart: AccumulationChart;
}
/**
 * Accumulation Chart PointRender event arguments.
 */
export interface IAccPointRenderEventArgs extends IChartEventArgs {
    /** Defines the current series of the point */
    series: AccumulationSeries;
    /** Defines the current point */
    point: AccPoints;
    /** Defines the current point fill color */
    fill: string;
    /** Defines the current point border color */
    border: BorderModel;
    /** Defines the current point height */
    height?: number;
    /** Defines the current point width */
    width?: number;
}
/**
 * Accumulation Chart Load or Loaded event arguments.
 */
export interface IAccLoadedEventArgs extends IChartEventArgs {
    /** Defines the accumulation chart instance */
    accumulation: AccumulationChart;
    /** Defines the accumulation chart instance */
    chart: AccumulationChart;
    /** Theme for the accumulation Chart */
    theme?: AccumulationTheme;
}
export interface IAccLegendRenderEventArgs extends IChartEventArgs {
    /** Defines the current legend shape */
    shape: LegendShape;
    /** Defines the current legend fill color */
    fill: string;
    /** Defines the current legend text */
    text: string;
}
export interface IAccumulationChartTemplate {
    /** accumulation point x value */
    x?: Object;
    /** accumulation point y value */
    y?: object;
    /** accumulation point color */
    label?: string;
    /** accumulation point percentage value */
    percentage?: number;
}
//node_modules/@syncfusion/ej2-charts/src/accumulation-chart/renderer/accumulation-base.d.ts
/**
 * Accumulation Base used to do some base calculation for accumulation chart.
 */
export  class AccumulationBase {
    /** @private */
    constructor(accumulation: AccumulationChart);
    private pieCenter;
    /**
     * Gets the center of the pie
     *
     * @private
     */
    /**
    * Sets the center of the pie
    *
    * @private
    */
    center: ChartLocation;
    private pieRadius;
    /**
     * Gets the radius of the pie
     *
     * @private
     */
    /**
    * Sets the radius of the pie
    *
    * @private
    */
    radius: number;
    private pieLabelRadius;
    /**
     * Gets the label radius of the pie
     *
     * @private
     */
    /**
    * Sets the label radius of the pie
    *
    * @private
    */
    labelRadius: number;
    /** @private */
    protected accumulation: AccumulationChart;
    /**
     * Checks whether the series is circular or not
     *
     * @private
     */
    protected isCircular(): boolean;
    /**
     * To check various radius pie
     *
     * @private
     */
    protected isVariousRadius(): boolean;
    /**
     * To process the explode on accumulation chart loading
     *
     * @private
     */
    processExplode(event: Event): void;
    /**
     * To invoke the explode on accumulation chart loading
     *
     * @private
     */
    invokeExplode(): void;
    /**
     * To deExplode all points in the series
     *
     * @private
     */
    deExplodeAll(index: number, animationDuration: number): void;
    /**
     * To explode point by index
     *
     * @private
     */
    explodePoints(index: number, chart: AccumulationChart, explode?: boolean): void;
    private getSum;
    private clubPointExplode;
    /**
     * To Explode points
     *
     * @param {number} index Index of a point.
     * @param {AccPoints} point To get the point of explode.
     * @param {number} duration Duration of the explode point.
     * @param {boolean} explode Either true or false.
     */
    private pointExplode;
    /**
     * To check point is exploded by id
     */
    private isExplode;
    /**
     * To deExplode the point by index
     */
    private deExplodeSlice;
    /**
     * To translate the point elements by index and position
     */
    private setTranslate;
    /**
     * To translate the point element by id and position
     */
    private setElementTransform;
    /**
     * To translate the point elements by index position
     */
    private explodeSlice;
    /**
     * To Perform animation point explode
     *
     * @param {number} index Index of the series.
     * @param {string} sliceId ID of the series.
     * @param {number} startX X value of start.
     * @param {number} startY Y value of start.
     * @param {number} endX X value of end.
     * @param {number} endY Y value of end.
     * @param {number} duration Duration of the animation.
     */
    private performAnimation;
}
//node_modules/@syncfusion/ej2-charts/src/accumulation-chart/renderer/dataLabel.d.ts
/**
 * AccumulationDataLabel module used to render `dataLabel`.
 */
export  class AccumulationDataLabel extends AccumulationBase {
    /** @private */
    titleRect: svgBase.Rect;
    /** @private */
    areaRect: svgBase.Rect;
    /** @private */
    clearTooltip: number;
    private id;
    marginValue: number;
    /**
     * This varaible indicated the change of angle direction.
     * Such as increase/decrease the label angle while doing smart label arrangements.
     */
    private isIncreaseAngle;
    private rightSideRenderingPoints;
    private leftSideRenderingPoints;
    constructor(accumulation: AccumulationChart);
    /**
     * Method to get datalabel text location.
     *
     * @private
     */
    getDataLabelPosition(point: AccPoints, dataLabel: AccumulationDataLabelSettingsModel, textSize: svgBase.Size, points: AccPoints[]): void;
    /**
     * Method to get datalabel bound.
     */
    private getLabelRegion;
    /**
     * Method to get datalabel smart position.
     */
    private getSmartLabel;
    /**
     * To find trimmed datalabel tooltip needed.
     *
     * @returns {void}
     * @private
     */
    move(e: Event, x: number, y: number, isTouch?: boolean): void;
    /**
     * To find previous valid label point
     *
     * @returns {AccPoints} Find the previous value of accumulation point.
     */
    private findPreviousPoint;
    /**
     * To find current point datalabel is overlapping with other points
     *
     * @returns {boolean} It returns boolean value of overlapping.
     */
    private isOverlapping;
    /**
     * To get text trimmed while exceeds the accumulation chart area.
     */
    private textTrimming;
    /**
     * To set point label visible and region to disable.
     */
    private setPointVisibileFalse;
    /**
     * To set point label visible to enable.
     */
    private setPointVisibleTrue;
    /**
     * To set datalabel angle position for outside labels
     */
    private setOuterSmartLabel;
    /**
     * Sets smart label positions for funnel and pyramid series
     *
     * @returns {void} setSmartLabelForSegments.
     */
    private setSmartLabelForSegments;
    /**
     * To find connector line overlapping.
     *
     * @returns {boolean} To find connector line overlapping or not.
     */
    private isConnectorLineOverlapping;
    /**
     * To find two rectangle intersect
     *
     * @returns {boolean} To find line rectangle intersect value.
     */
    private isLineRectangleIntersect;
    /**
     * To find two line intersect
     *
     * @returns {boolean} To find line intersect or not.
     */
    private isLinesIntersect;
    /**
     * To get two rectangle overlapping angles.
     *
     * @returns {number} Get overlapped angle.
     */
    private getOverlappedAngle;
    /**
     * To get connector line path
     *
     * @returns {string} Get connector line path.
     */
    private getConnectorPath;
    /**
     * Finds the curved path for funnel/pyramid data label connectors
     *
     * @returns {string} Get poly line path.
     */
    private getPolyLinePath;
    /**
     * Finds the bezier point for funnel/pyramid data label connectors
     *
     * @returns {ChartLocation} Get bazier point.
     */
    private getBezierPoint;
    /**
     * To get label edges based on the center and label rect position.
     *
     * @returns {ChartLocation} Get label edge value.
     */
    private getEdgeOfLabel;
    /**
     * Finds the distance between the label position and the edge/center of the funnel/pyramid
     *
     * @returns {number} Get label distance.
     */
    private getLabelDistance;
    /**
     * Finds the label position / beginning of the connector(ouside funnel labels)
     *
     * @returns {ChartLocation} Get label location.
     */
    private getLabelLocation;
    /**
     * Finds the beginning of connector line
     *
     * @returns {ChartLocation} Staring point of connector line.
     */
    private getConnectorStartPoint;
    /**
     * To find area rect based on margin, available size.
     *
     * @private
     */
    findAreaRect(): void;
    /**
     * To render the data labels from series points.
     */
    renderDataLabel(point: AccPoints, dataLabel: AccumulationDataLabelSettingsModel, parent: Element, points: AccPoints[], series: number, templateElement?: HTMLElement, redraw?: boolean): void;
    private getDatalabelText;
    /**
     * To calculate label size
     */
    calculateLabelSize(isTemplate: boolean, childElement: HTMLElement, point: AccPoints, points: AccPoints[], argsData: IAccTextRenderEventArgs, datalabelGroup: Element, id: string, dataLabel: AccumulationDataLabelSettingsModel, redraw?: boolean, clientRect?: ClientRect, isReactCallback?: boolean): void;
    /**
     * @private
     */
    drawDataLabels(series: AccumulationSeries, dataLabel: AccumulationDataLabelSettingsModel, parent: HTMLElement, templateElement?: HTMLElement, redraw?: boolean): void;
    /**
     * In this method datalabels region checked with legebdBounds and areaBounds.
     * Trimming of datalabel and point's visibility again changed here.
     *
     * @param {AccPoints} point current point in which trimming and visibility to be checked
     * @param {AccPoints[]} points finalized points
     * @param {AccumulationDataLabelSettingsModel} dataLabel datalabel model
     */
    private finalizeDatalabels;
    /**
     * To find the template element size
     *
     * @param {HTMLElement} element To get a template element.
     * @param {AccPoints} point Template of accumulation points.
     * @param {IAccTextRenderEventArgs} argsData Arguments of accumulation points.
     * @param {boolean} redraw redraw value.
     * @returns {svgBase.Size} svgBase.Size of a template.
     */
    private getTemplateSize;
    /**
     * To set the template element style
     *
     * @param {HTMLElement} childElement Set a child element of template.
     * @param {AccPoints} point Template point.
     * @param {parent} parent Parent element of template.
     * @param {labelColor} labelColor Template label color.
     * @param {string} fill Fill color of template.
     */
    private setTemplateStyle;
    /**
     * To find saturated color for datalabel
     *
     * @returns {string} Get a saturated color.
     */
    private getSaturatedColor;
    /**
     * Animates the data label template.
     *
     * @returns {void}
     * @private
     */
    doTemplateAnimation(accumulation: AccumulationChart, element: Element): void;
    /**
     * To find background color for the datalabel
     *
     * @returns {string} AccPoints
     */
    private getLabelBackground;
    /**
     * To correct the padding between datalabel regions.
     */
    private correctLabelRegion;
    /**
     * To get the dataLabel module name
     *
     * @returns {string} module name
     */
    protected getModuleName(): string;
    /**
     * To destroy the data label.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
    private extendedLabelsCalculation;
    /**
     * Rightside points alignments calculation
     *
     * @param {AccumulationSeries} series To get a proper series.
     */
    private arrangeRightSidePoints;
    /**
     * Leftside points alignments calculation
     *
     * @param {AccumulationSeries} series To get a proper series.
     */
    private arrangeLeftSidePoints;
    private decreaseAngle;
    private increaseAngle;
    private changeLabelAngle;
    private isOverlapWithPrevious;
    private isOverlapWithNext;
    private skipPoints;
    private getPerpendicularDistance;
}
//node_modules/@syncfusion/ej2-charts/src/accumulation-chart/renderer/funnel-series.d.ts
/**
 * Defines the behavior of a funnel series
 */
/**
 * FunnelSeries module used to render `Funnel` Series.
 */
export  class FunnelSeries extends TriangularBase {
    /**
     * Defines the path of a funnel segment
     *
     * @private
     * @returns {string} Get segment data.
     */
    private getSegmentData;
    /**
     * Renders a funnel segment
     *
     * @private
     * @returns {void} Render point.
     */
    renderPoint(point: AccPoints, series: AccumulationSeries, chart: AccumulationChart, options: svgBase.PathOption, seriesGroup: Element, redraw: boolean): void;
    /**
     * To get the module name of the funnel series.
     *
     * @returns {string} Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the funnel series.
     *
     * @returns {void} Destroy method.
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/accumulation-chart/renderer/legend.d.ts
/**
 * AccumulationLegend module used to render `Legend` for Accumulation chart.
 */
export  class AccumulationLegend extends BaseLegend {
    titleRect: svgBase.Rect;
    private totalRowCount;
    private maxColumnWidth;
    /**
     * Constructor for Accumulation Legend.
     *
     * @param {AccumulationChart} chart Get a chart as a parameter.
     */
    constructor(chart: AccumulationChart);
    /**
    * Binding events for legend module.
    */
    private addEventListener;
    /**
    * UnBinding events for legend module.
    */
    private removeEventListener;
    /**
    * To handle mosue move for legend module
    */
    private mouseMove;
    /**
    * To handle mosue end for legend module
    */
    private mouseEnd;
    /**
     * Get the legend options.
     *
     * @returns {void} Legend options.
     * @private
     */
    getLegendOptions(chart: AccumulationChart, series: AccumulationSeries[]): void;
    /**
     * To find legend bounds for accumulation chart.
     *
     * @private
     */
    getLegendBounds(availableSize: svgBase.Size, legendBounds: svgBase.Rect, legend: LegendSettingsModel): void;
    private getPageWidth;
    /** @private */
    getLegendHeight(option: LegendOptions, legend: LegendSettingsModel, bounds: svgBase.Rect, rowWidth: number, legendHeight: number, padding: number): void;
    /**
     * To find html entities value for legend
     *
     * @returns {string} converts the entities to normal string.
     */
    convertHtmlEntities(legendText: string): string;
    /**
     * To find maximum column size for legend
     *
     * @returns {number} Get a maximum columns.
     */
    private getMaxColumn;
    /**
     * To find available width from legend x position.
     *
     * @returns {number} Get a available width.
     */
    private getAvailWidth;
    /**
     * To find legend rendering locations from legend items.
     *
     * @private
     */
    getRenderPoint(legendOption: LegendOptions, start: ChartLocation, textPadding: number, prevLegend: LegendOptions, rect: svgBase.Rect, count: number, firstLegend: number): void;
    /**
    * check whether legend group within legend bounds or not.
    *
    */
    private isWithinBounds;
    /**
     * finding the smart legend place according to positions.
     *
     * @returns {void}
     * @private
     */
    getSmartLegendLocation(labelBound: svgBase.Rect, legendBound: svgBase.Rect, margin: MarginModel): void;
    /**
     * To get title rect.
     *
     * @returns {void} Get a title rect.
     */
    private getTitleRect;
    /**
     * To get legend by index
     *
     * @returns {LegendOptions} Return legend index.
     */
    private legendByIndex;
    /**
     * To show or hide the legend on clicking the legend.
     *
     * @returns {void}
     */
    click(event: Event): void;
    /**
     * To translate the point elements by index and position
     */
    private sliceVisibility;
    /**
     * Slice animation
     *
     * @param {Element} element slice element.
     * @param {boolean} isVisible boolean value of slice.
     * @returns {void} slice animation method.
     */
    private sliceAnimate;
    /**
     * Get module name
     *
     * @returns {string} Return module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the Legend.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/accumulation-chart/renderer/pie-base.d.ts
/**
 * PieBase class used to do pie base calculations.
 */
export  class PieBase extends AccumulationBase {
    protected startAngle: number;
    protected totalAngle: number;
    innerRadius: number;
    pieBaseCenter: ChartLocation;
    pieBaseRadius: number;
    pieBaseLabelRadius: number;
    isRadiusMapped: boolean;
    seriesRadius: number;
    size: number;
    /**
     * To initialize the property values.
     *
     * @private
     */
    initProperties(chart: AccumulationChart, series: AccumulationSeries): void;
    getLabelRadius(series: AccumulationSeriesModel, point: AccPoints): number;
    /**
     * To find the center of the accumulation.
     *
     * @private
     */
    findCenter(accumulation: AccumulationChart, series: AccumulationSeries): void;
    /**
     * To find angles from series.
     */
    private initAngles;
    /**
     * To calculate data-label bound
     *
     * @private
     */
    defaultLabelBound(series: AccumulationSeries, visible: boolean, position: AccumulationLabelPosition): void;
    /**
     * To calculate series bound
     *
     * @private
     */
    getSeriesBound(series: AccumulationSeries): svgBase.Rect;
    /**
     * To get rect location size from angle
     */
    private getRectFromAngle;
    /**
     * To get path arc direction
     */
    protected getPathArc(center: ChartLocation, start: number, end: number, radius: number, innerRadius: number): string;
    /**
     * To get pie direction
     */
    protected getPiePath(center: ChartLocation, start: ChartLocation, end: ChartLocation, radius: number, clockWise: number): string;
    /**
     * To get doughnut direction
     */
    protected getDoughnutPath(center: ChartLocation, start: ChartLocation, end: ChartLocation, radius: number, innerStart: ChartLocation, innerEnd: ChartLocation, innerRadius: number, clockWise: number): string;
    /**
     * Method to start animation for pie series.
     */
    protected doAnimation(slice: Element, series: AccumulationSeries): void;
}
//node_modules/@syncfusion/ej2-charts/src/accumulation-chart/renderer/pie-series.d.ts
/**
 * AccumulationChart series file
 */
/**
 * PieSeries module used to render `Pie` Series.
 */
export  class PieSeries extends PieBase {
    /**
     * To get path option, degree, symbolLocation from the point.
     *
     * @private
     */
    renderPoint(point: AccPoints, series: AccumulationSeries, chart: AccumulationChart, option: svgBase.PathOption, seriesGroup: Element, redraw?: boolean): void;
    findSeries(e: PointerEvent | TouchEvent): void;
    toggleInnerPoint(event: PointerEvent | TouchEvent, radius: number, innerRadius: number): void;
    removeBorder(borderElement: Element, duration: number): void;
    private refresh;
    /**
     * To get path option from the point.
     */
    private getPathOption;
    /**
     * To animate the pie series.
     *
     * @private
     */
    animateSeries(accumulation: AccumulationChart, option: AnimationModel, series: AccumulationSeries, slice: Element): void;
    /**
     * To get the module name of the Pie series.
     */
    protected getModuleName(): string;
    /**
     * To destroy the pie series.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/accumulation-chart/renderer/pyramid-series.d.ts
/**
 * Defines the behavior of a pyramid series
 */
/**
 * PyramidSeries module used to render `Pyramid` Series.
 */
export  class PyramidSeries extends TriangularBase {
    /**
     * Defines the path of a pyramid segment
     */
    private getSegmentData;
    /**
     * Initializes the size of the pyramid segments
     *
     * @private
     */
    protected initializeSizeRatio(points: AccPoints[], series: AccumulationSeries): void;
    /**
     * Defines the size of the pyramid segments, the surface of that will reflect the values
     */
    private calculateSurfaceSegments;
    /**
     * Finds the height of pyramid segment
     */
    private getSurfaceHeight;
    /**
     * Solves quadratic equation
     */
    private solveQuadraticEquation;
    /**
     * Renders a pyramid segment
     */
    private renderPoint;
    /**
     * To get the module name of the Pyramid series.
     */
    protected getModuleName(): string;
    /**
     * To destroy the pyramid series
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/accumulation-chart/renderer/triangular-base.d.ts
/**
 * Defines the common behavior of funnel and pyramid series
 */
/**
 * TriangularBase is used to calculate base functions for funnel/pyramid series.
 */
export  class TriangularBase extends AccumulationBase {
    /**
     * Initializes the properties of funnel/pyramid series
     *
     * @private
     */
    initProperties(chart: AccumulationChart, series: AccumulationSeries): void;
    /**
     * Initializes the size of the pyramid/funnel segments
     *
     * @private
     */
    protected initializeSizeRatio(points: AccPoints[], series: AccumulationSeries, reverse?: boolean): void;
    /**
     * Marks the label location from the set of points that forms a pyramid/funnel segment
     *
     * @private
     */
    protected setLabelLocation(series: AccumulationSeries, point: AccPoints, points: ChartLocation[]): void;
    /**
     * Finds the path to connect the list of points
     *
     * @private
     */
    protected findPath(locations: ChartLocation[]): string;
    /**
     * To calculate data-label bounds
     *
     * @private
     */
    defaultLabelBound(series: AccumulationSeries, visible: boolean, position: AccumulationLabelPosition, chart: AccumulationChart): void;
}
//node_modules/@syncfusion/ej2-charts/src/accumulation-chart/user-interaction/high-light.d.ts
/**
 * `AccumulationHighlight` module handles the selection for chart.
 * @private
 */
export  class AccumulationHighlight extends AccumulationSelection {
    /**
     * Constructor for selection module.
     * @private.
     */
    constructor(accumulation: AccumulationChart);
    /**
     * Binding events for selection module.
     */
    private wireEvents;
    /**
     * UnBinding events for selection module.
     */
    private unWireEvents;
    /**
     * To find private variable values
     */
    private PrivateVariables;
    /**
     * Method to select the point and series.
     * @return {void}
     */
    invokeHighlight(accumulation: AccumulationChart): void;
    /**
     * Get module name.
     * @private
     */
    getModuleName(): string;
    /**
     * To destroy the highlight.
     * @return {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/accumulation-chart/user-interaction/selection.d.ts
/**
 * `AccumulationSelection` module handles the selection for accumulation chart.
 */
export  class AccumulationSelection extends BaseSelection {
    /** @private */
    renderer: svgBase.SvgRenderer | svgBase.CanvasRenderer;
    /** @private */
    rectPoints: svgBase.Rect;
    /** @private */
    selectedDataIndexes: Indexes[];
    /** @private */
    highlightDataIndexes: Indexes[];
    /** @private */
    series: AccumulationSeries[];
    /** @private */
    accumulation: AccumulationChart;
    /** @private */
    currentMode: AccumulationSelectionMode | AccumulationHighlightMode;
    /** @private */
    previousSelectedElement: Element[];
    constructor(accumulation: AccumulationChart);
    /**
     * Binding events for selection module.
     */
    private addEventListener;
    /**
     * UnBinding events for selection module.
     */
    private removeEventListener;
    /**
     * To initialize the private variables
     */
    private initPrivateVariables;
    /**
     * Invoke selection for rendered chart.
     *
     * @param {AccumulationChart} accumulation Define the chart to invoke the selection.
     * @returns {void}
     */
    invokeSelection(accumulation: AccumulationChart): void;
    /**
     * To get series selection style by series.
     */
    private generateStyle;
    /**
     * To get series selection style while hovering legend
     */
    private generateLegendClickStyle;
    /**
     * To get elements by index, series
     */
    private findElements;
    /**
     * To get series point element by index
     */
    private getElementByIndex;
    /**
    * To find the selected element.
     * @return {void}
     * @private
     */
    isAlreadySelected(targetElement: Element, eventType: string): boolean;
    /**
     * To calculate selected elements on mouse click or touch
     *
     * @private
     */
    mouseClick(accumulation: AccumulationChart, event: Event): void;
    /**
     * To calculate selected elements on mouse click or touch
     *
     * @private
     */
    calculateSelectedElements(accumulation: AccumulationChart, targetEle: Element, eventType: string): void;
    /**
     * To perform the selection process based on index and element.
     */
    private performSelection;
    /**
     *  Method to get the selected data index
     *
     * @private
     */
    private selectionComplete;
    /**
     * To select the element by index. Adding or removing selection style class name.
     */
    private selection;
    /**
     * To redraw the selection process on accumulation chart refresh.
     *
     * @private
     */
    redrawSelection(accumulation: AccumulationChart): void;
    /**
     * To remove the selected elements style classes by indexes.
     */
    private removeSelectedElements;
    /**
     * To perform the selection for legend elements.
     *
     * @private
     */
    legendSelection(accumulation: AccumulationChart, series: number, pointIndex: number, targetEle: Element, eventType: string): void;
    /**
     * To select the element by selected data indexes.
     */
    private selectDataIndex;
    /**
     * To remove the selection styles for multi selection process.
     */
    private removeMultiSelectEelments;
    /**
     * To apply the opacity effect for accumulation chart series elements.
     */
    private blurEffect;
    /**
     * To check selection elements by style class name.
     */
    private checkSelectionElements;
    /**
     * To apply selection style for elements.
     */
    private applyStyles;
    /**
     * To get selection style class name by id
     */
    private getSelectionClass;
    /**
     * To remove selection style for elements.
     */
    private removeStyles;
    /**
     * To apply or remove selected elements index.
     */
    private addOrRemoveIndex;
    /**
     * To check two index, point and series are equal
     */
    private checkEquals;
    /** @private */
    mouseMove(event: PointerEvent | TouchEvent): void;
    /**
     * To check selected points are visibility
     */
    private checkPointVisibility;
    /**
     * Get module name.
     */
    getModuleName(): string;
    /**
     * To destroy the selection.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/accumulation-chart/user-interaction/tooltip.d.ts
/**
 * `AccumulationTooltip` module is used to render tooltip for accumulation chart.
 */
export  class AccumulationTooltip extends BaseTooltip {
    accumulation: AccumulationChart;
    constructor(accumulation: AccumulationChart);
    /**
     * @hidden
     */
    private addEventListener;
    private mouseLeaveHandler;
    private mouseUpHandler;
    private mouseMoveHandler;
    /**
     * Renders the tooltip.
     * @param  {PointerEvent} event - Mouse move event.
     * @return {void}
     */
    tooltip(event: PointerEvent | TouchEvent): void;
    /**
     * @private
     */
    renderSeriesTooltip(chart: AccumulationChart, data: AccPointData): void;
    private triggerTooltipRender;
    private getPieData;
    /**
     * To get series from index
     */
    private getSeriesFromIndex;
    private getTooltipText;
    private findHeader;
    private parseTemplate;
    /**
     * Get module name
     */
    protected getModuleName(): string;
    /**
     * To destroy the Tooltip.
     * @return {void}
     * @private
     */
    destroy(chart: AccumulationChart): void;
}
//node_modules/@syncfusion/ej2-charts/src/bullet-chart/bullet-chart-model.d.ts
/**
 * Interface for a class BulletChart
 */
export interface BulletChartModel extends base.ComponentModel{
    /**
     * The width of the bullet chart as a string accepts input as both like '100px' or '100%'.
     * If specified as '100%, bullet chart renders to the full width of its parent element.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    width?: string;
    /**
     * The height of the bullet chart as a string accepts input both as '100px' or '100%'.
     * If specified as '100%, bullet chart renders to the full height of its parent element.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    height?: string;
    /**
     * The locale of the bullet chart as a string.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    locale?: string;
    /**
     * Options for customizing major tick lines.
     */
    majorTickLines?: MajorTickLinesSettingsModel;
    /**
     * Options for customizing minor tick lines.
     */
    minorTickLines?: MinorTickLinesSettingsModel;
    /**
     * Specifies the minimum range of an scale.
     *
     * @default null
     */
    minimum?: number;
    /**
     * Specifies the maximum range of an scale.
     *
     * @default null
     */
    maximum?: number;
    /**
     * Specifies the interval for an scale.
     *
     * @default null
     */
    interval?: number;
    /**
     * specifies the interval of minor ticks
     *
     * @default 4
     */
    minorTicksPerInterval?: number;
    /**
     * Options for customizing labels
     */
    labelStyle?: BulletLabelStyleModel;
    /**
     * Options for customizing values labels
     */
    categoryLabelStyle?: BulletLabelStyleModel;
    /**
     * Specifies the format of the bullet chart axis labels.
     *
     * @default ''
     */
    labelFormat?: string;
    /**
     * Specifies the title of the bullet chart.
     *
     * @default ''
     */
    title?: string;
    /**
     * Options for customizing the title styles of the bullet chart
     */
    titleStyle?: BulletLabelStyleModel;
    /**
     * Specifies the sub title of the bullet chart.
     *
     * @default ''
     */
    subtitle?: string;
    /**
     * Options for customizing the sub title styles of the bullet chart
     */
    subtitleStyle?: BulletLabelStyleModel;
    /**
     * Orientation of the scale
     *
     * @default 'Horizontal'
     */
    orientation?: OrientationType;
    /**
     * Options for customizing the color and width of the chart border.
     */
    border?: BorderModel;
    /**
     * Options for customizing the tooltip of the BulletChart.
     */
    tooltip?: BulletTooltipSettingsModel;
    /**
     * provides Qualitative ranges of the bullet chart.
     */
    ranges?: RangeModel[];
    /**
     * specifies the axis label position of the bullet chart
     *
     * @default 'Outside'
     */
    labelPosition?: LabelsPlacement;
    /**
     * specifies the tick position of the bullet chart
     *
     * @default 'Outside'
     */
    tickPosition?: TickPosition;
    /**
     * Sets the title position of bullet chart.
     *
     * @default 'Top'.
     */
    titlePosition?: TextPosition;
    /**
     * If set to true, the axis will render at the opposite side of its default position.
     *
     * @default false
     */
    opposedPosition?: boolean;
    /**
     * Specifies the theme for the bullet chart.
     *
     * @default 'Material'
     */
    theme?: ChartTheme;
    /**
     * Options for customizing animation of the feature bar.
     */
    animation?: AnimationModel;
    /**
     * Options for customizing data label of the feature bar.
     */
    dataLabel?: BulletDataLabelModel;
    /**
     * Options for customizing the legend of the bullet chart.
     */
    legendSettings?: BulletChartLegendSettingsModel;
    /**
     * default value for enableGroupSeparator
     *
     * @default false
     */
    enableGroupSeparator?: boolean;
    /**
     *  Options to customize left, right, top and bottom margins of the bullet chart.
     */
    margin?: MarginModel;
    /**
     * Options for customizing comparative bar color bullet chart
     *
     * @default 5
     */
    targetWidth?: number;
    /**
     * Default stroke of comparative measure.
     *
     * @default '#191919'
     */
    targetColor?: string;
    /**
     * Options for customizing feature bar height of the bullet chart
     *
     * @default 6
     */
    valueHeight?: number;
    /**
     * Default stroke color of feature measure.
     *
     * @default null
     */
    valueFill?: string;
    /**
     * Options for customizing the color and width of the feature bar border.
     */
    valueBorder?: BorderModel;
    /**
     * default value of multiple data bullet chart.
     *
     * @isdatamanager false
     * @default null
     */
    dataSource?: Object;
    /**
     * It defines the query for the data source.
     *
     * @default null
     */
    query?: data.Query;
    /**
     * It defines the category for the data source.
     *
     * @default null
     */
    categoryField?: string;
    /**
     * Default type on feature measure.
     *
     * @default 'svgBase.Rect'
     */
    type?: FeatureType;
    /**
     * The DataSource field that contains the value value.
     *
     * @default ''
     */
    valueField?: string;
    /**
     * The DataSource field that contains the target value.
     *
     * @default ''
     */
    targetField?: string;
    /**
     * The DataSource field that contains the target value.
     *
     * @default ['svgBase.Rect', 'Cross', 'Circle']
     */
    targetTypes?: TargetType[];
    /**
     * TabIndex value for the bullet chart.
     *
     * @default 1
     */
    tabIndex?: number;
    /**
     * Triggers before the bulletchart tooltip is rendered.
     *
     * @event tooltipRender
     */
    tooltipRender?: base.EmitType<IBulletchartTooltipEventArgs>;
    /**
     * Triggers before bullet chart load.
     *
     * @event load
     */
    load?: base.EmitType<IBulletLoadedEventArgs>;
    /**
     * Triggers after the bullet chart rendering
     *
     * @event loaded
     */
    loaded?: base.EmitType<IBulletLoadedEventArgs>;
    /**
     * Triggers on clicking the chart.
     *
     * @event bulletChartMouseClick
     */
    bulletChartMouseClick?: base.EmitType<IBulletMouseEventArgs>;
    /**
     * Triggers before the legend is rendered.
     *
     * @event legendRender
     * @deprecated
     */
    legendRender?: base.EmitType<IBulletLegendRenderEventArgs>;
    /**
     * Triggers before the prints gets started.
     *
     * @event beforePrint
     */
    beforePrint?: base.EmitType<IPrintEventArgs>;
}
//node_modules/@syncfusion/ej2-charts/src/bullet-chart/bullet-chart.d.ts
/**
 *$ bullet chart
 */
export  class BulletChart extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    /**
     * `bulletTooltipModule` is used to manipulate and add tooltip to the feature bar.
     */
    bulletTooltipModule: BulletTooltip;
    /**
     * `bulletChartLegendModule` is used to manipulate and add legend in accumulation chart.
     */
    bulletChartLegendModule: BulletChartLegend;
    /**
     *$ The width of the bullet chart as a string accepts input as both like '100px' or '100%'.
     *$ If specified as '100%, bullet chart renders to the full width of its parent element.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    width: string;
    /**
     *$ The height of the bullet chart as a string accepts input both as '100px' or '100%'.
     *$ If specified as '100%, bullet chart renders to the full height of its parent element.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    height: string;
    /**
     *$ The locale of the bullet chart as a string.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    locale: string;
    /**
     * Options for customizing major tick lines.
     */
    majorTickLines: MajorTickLinesSettingsModel;
    /**
     * Options for customizing minor tick lines.
     */
    minorTickLines: MinorTickLinesSettingsModel;
    /**
     * Specifies the minimum range of an scale.
     *
     * @default null
     */
    minimum: number;
    /**
     * Specifies the maximum range of an scale.
     *
     * @default null
     */
    maximum: number;
    /**
     * Specifies the interval for an scale.
     *
     * @default null
     */
    interval: number;
    /**
     * specifies the interval of minor ticks
     *
     * @default 4
     */
    minorTicksPerInterval: number;
    /**
     * Options for customizing labels
     */
    labelStyle: BulletLabelStyleModel;
    /**
     * Options for customizing values labels
     */
    categoryLabelStyle: BulletLabelStyleModel;
    /**
     *$ Specifies the format of the bullet chart axis labels.
     *
     * @default ''
     */
    labelFormat: string;
    /**
     *$ Specifies the title of the bullet chart.
     *
     * @default ''
     */
    title: string;
    /**
     *$ Options for customizing the title styles of the bullet chart
     */
    titleStyle: BulletLabelStyleModel;
    /**
     *$ Specifies the sub title of the bullet chart.
     *
     * @default ''
     */
    subtitle: string;
    /**
     *$ Options for customizing the sub title styles of the bullet chart
     */
    subtitleStyle: BulletLabelStyleModel;
    /**
     * Orientation of the scale
     *
     * @default 'Horizontal'
     */
    orientation: OrientationType;
    /**
     * Options for customizing the color and width of the chart border.
     */
    border: BorderModel;
    /**
     * Options for customizing the tooltip of the BulletChart.
     */
    tooltip: BulletTooltipSettingsModel;
    /**
     *$ provides Qualitative ranges of the bullet chart.
     */
    ranges: RangeModel[];
    /**
     *$ specifies the axis label position of the bullet chart
     *
     * @default 'Outside'
     */
    labelPosition: LabelsPlacement;
    /**
     *$ specifies the tick position of the bullet chart
     *
     * @default 'Outside'
     */
    tickPosition: TickPosition;
    /**
     *$ Sets the title position of bullet chart.
     *
     * @default 'Top'.
     */
    titlePosition: TextPosition;
    /**
     * If set to true, the axis will render at the opposite side of its default position.
     *
     * @default false
     */
    opposedPosition: boolean;
    /**
     *$ Specifies the theme for the bullet chart.
     *
     * @default 'Material'
     */
    theme: ChartTheme;
    /**
     * Options for customizing animation of the feature bar.
     */
    animation: AnimationModel;
    /**
     * Options for customizing data label of the feature bar.
     */
    dataLabel: BulletDataLabelModel;
    /**
     *$ Options for customizing the legend of the bullet chart.
     */
    legendSettings: BulletChartLegendSettingsModel;
    /**
     * default value for enableGroupSeparator
     *
     * @default false
     */
    enableGroupSeparator: boolean;
    /**
     *$  Options to customize left, right, top and bottom margins of the bullet chart.
     */
    margin: MarginModel;
    /**
     *$ Options for customizing comparative bar color bullet chart
     *
     * @default 5
     */
    targetWidth: number;
    /**
     * Default stroke of comparative measure.
     *
     * @default '#191919'
     */
    targetColor: string;
    /**
     *$ Options for customizing feature bar height of the bullet chart
     *
     * @default 6
     */
    valueHeight: number;
    /**
     * Default stroke color of feature measure.
     *
     * @default null
     */
    valueFill: string;
    /**
     * Options for customizing the color and width of the feature bar border.
     */
    valueBorder: BorderModel;
    /**
     *$ default value of multiple data bullet chart.
     *
     * @isdatamanager false
     * @default null
     */
    dataSource: Object;
    /**
     * It defines the query for the data source.
     *
     * @default null
     */
    query: data.Query;
    /**
     * It defines the category for the data source.
     *
     * @default null
     */
    categoryField: string;
    /**
     * Default type on feature measure.
     *
     * @default 'svgBase.Rect'
     */
    type: FeatureType;
    /**
     * The DataSource field that contains the value value.
     *
     * @default ''
     */
    valueField: string;
    /**
     * The DataSource field that contains the target value.
     *
     * @default ''
     */
    targetField: string;
    /**
     * The DataSource field that contains the target value.
     *
     * @default ['svgBase.Rect', 'Cross', 'Circle']
     */
    targetTypes: TargetType[];
    /**
     *$ TabIndex value for the bullet chart.
     *
     * @default 1
     */
    tabIndex: number;
    /**
     * Triggers before the bulletchart tooltip is rendered.
     *
     * @event tooltipRender
     */
    tooltipRender: base.EmitType<IBulletchartTooltipEventArgs>;
    /**
     *$ Triggers before bullet chart load.
     *
     * @event load
     */
    load: base.EmitType<IBulletLoadedEventArgs>;
    /**
     *$ Triggers after the bullet chart rendering
     *
     * @event loaded
     */
    loaded: base.EmitType<IBulletLoadedEventArgs>;
    /**
     * Triggers on clicking the chart.
     *
     * @event bulletChartMouseClick
     */
    bulletChartMouseClick: base.EmitType<IBulletMouseEventArgs>;
    /**
     * Triggers before the legend is rendered.
     *
     * @event legendRender
     * @deprecated
     */
    legendRender: base.EmitType<IBulletLegendRenderEventArgs>;
    /**
     * Triggers before the prints gets started.
     *
     * @event beforePrint
     */
    beforePrint: base.EmitType<IPrintEventArgs>;
    /** @private */
    renderer: svgBase.SvgRenderer;
    /** @private */
    svgObject: HTMLElement;
    /** @private */
    intl: base.Internationalization;
    /** @private */
    bulletAxis: BulletChartAxis;
    /** @private */
    scale: ScaleGroup;
    /** @private */
    availableSize: svgBase.Size;
    /** @private */
    private bulletid;
    /** @private */
    delayRedraw: boolean;
    /** @private */
    dataModule: Data;
    /** @private */
    animateSeries: boolean;
    /** @private */
    containerWidth: number;
    /** @private */
    resizeBound: any;
    /** @private */
    private resizeTo;
    /** @private */
    containerHeight: number;
    /** @private */
    private dataCount;
    /** @private */
    redraw: boolean;
    /** @private */
    private titleCollections;
    /** @private */
    private subTitleCollections;
    /** @private */
    initialClipRect: svgBase.Rect;
    /** @private */
    bulletChartRect: svgBase.Rect;
    /** @private */
    isTouch: boolean;
    /** @private */
    mouseX: number;
    /** @private */
    mouseY: number;
    private padding;
    /** @private */
    leftSize: number;
    /** @private */
    rightSize: number;
    /** @private */
    topSize: number;
    /** @private */
    bottomSize: number;
    /** @private */
    maxLabelSize: svgBase.Size;
    maxTitleSize: svgBase.Size;
    /** @private */
    themeStyle: IBulletStyle;
    /** @private */
    rangeCollection: number[];
    /** @private */
    intervalDivs: number[];
    /** @private */
    format: Function;
    private isLegend;
    /**
     *$ Gets the current visible ranges of the bullet Chart.
     *
     * @hidden
     */
    visibleRanges: Range[];
    /**
     *$ Constructor for creating the bullet chart
     *
     * @hidden
     */
    constructor(options?: BulletChartModel, element?: string | HTMLElement);
    /**
     * Initialize the event handler.
     */
    protected preRender(): void;
    /**
     * To initialize the private variables
     */
    private initPrivateValues;
    /**
     * Method to set culture for BulletChart
     */
    private setCulture;
    /**
     *$ To Initialize the bullet chart rendering.
     */
    protected render(): void;
    /**
     *$ Theming for bullet chart
     */
    private setTheme;
    private findRange;
    protected getActualDesiredIntervalsCount(availableSize: svgBase.Size): number;
    /**
     * Numeric Nice Interval for the axis.
     *
     * @private
     * @returns {number} calculateNumericNiceInterval.
     */
    protected calculateNumericNiceInterval(delta: number): number;
    /**
     * To set the left and top position for data label template for center aligned bulletchart
     */
    private setSecondaryElementPosition;
    /**
     * Method to create SVG element.
     */
    createSvg(chart: BulletChart): void;
    /**
     * Creating a background element to the svg object
     */
    private renderChartBackground;
    /**
     *$ Rendering the bullet elements
     */
    private renderBulletElements;
    /**
     * To render the legend
     */
    private renderBulletLegend;
    /**
     *$ Handles the bullet chart resize.
     *
     * @returns {boolean}
     * @private
     */
    private bulletResize;
    /**
     * Process the data values of feature and comparative measure bar
     */
    private bindData;
    /**
     * Rendering the feature and comaparative measure bars
     */
    private drawMeasures;
    /**
     * To calculate the title bounds
     */
    private calculatePosition;
    /**
     * Calculate the rect values based on title position.
     *
     * @returns {void}
     * @private
     */
    getBulletBounds(maxTitlteWidth: number, titleHeight: number, subTitleHeight: number, margin: MarginModel): svgBase.Rect;
    /**
     * Calculate maximum label width for category values.
     *
     * @private
     * @returns {svgBase.Size} To get a label width
     */
    getMaxLabelWidth(): svgBase.Size;
    private calculateVisibleElements;
    /**
     *$ To render the title of the bullet chart
     */
    private renderBulletChartTitle;
    /**
     *$ To render the data label for bullet chart
     */
    private renderDataLabel;
    private findHorizontalAlignment;
    private findVerticalAlignment;
    /**
     *$ To render the sub title of the bullet chart
     */
    private renderBulletChartSubTitle;
    /**
     * To calculate the available size and width of the container
     */
    private calculateAvailableSize;
    removeSvg(): void;
    protected getPersistData(): string;
    /** Wire, UnWire and Event releated calculation Started here */
    /**
     *$ Method to un-bind events for bullet chart
     */
    private unWireEvents;
    /**
     *$ Method to bind events for bullet chart
     */
    private wireEvents;
    private setStyle;
    /**
     *$ Handles the mouse move on the bullet chart.
     *
     * @private
     */
    private bulletMouseMove;
    /**
     *$ To find mouse x, y for aligned bullet chart element svg position
     */
    private setPointMouseXY;
    /**
     *$ Handles the mouse leave on the bullet chart.
     *
     * @private
     */
    bulletMouseLeave(e: PointerEvent): void;
    /**
     * Handles the touch event.
     *
     * @returns {boolean} Touchh event.
     * @private
     */
    private isTouchEvent;
    /**
     *$ Handles the mouse down on the bullet chart.
     *
     * @private
     */
    private bulletMouseDown;
    /**
     *$ Handles the mouse click on bullet chart.
     *
     *$ @returns {boolean} Mouse click of bullet chart.
     * @private
     */
    bulletChartOnMouseClick(e: PointerEvent | TouchEvent): boolean;
    /**
     *$ Handles the print method for bullet chart control.
     */
    print(id?: string[] | string | Element): void;
    /**
     *$ Handles the export method for bullet chart control.
     *
     * @param {ExportType} type Type of the export.
     * @param {string} fileName File name for exporting.
     * @param {pdfExport.PdfPageOrientation} orientation Orientation of the export.
     * @param {Chart | AccumulationChart | RangeNavigator | BulletChart} controls To mention the exporting chart.
     * @param {number} width Width of the export.
     * @param {number} height Height of the export.
     */
    export(type: ExportType, fileName: string, orientation?: pdfExport.PdfPageOrientation, controls?: (Chart | AccumulationChart | RangeNavigator | BulletChart)[], width?: number, height?: number, isVertical?: boolean): void;
    /**
     * Called internally if any of the property value changed.
     *
     * @private
     */
    onPropertyChanged(newProp: BulletChartModel, oldProp: BulletChartModel): void;
    /**
     *$ To provide the array of modules needed for bullet chart rendering
     *
     * @private
     * @returns {base.ModuleDeclaration[]} requiredModules
     */
    requiredModules(): base.ModuleDeclaration[];
    getModuleName(): string;
    /**
     * To destroy the widget
     *
     * @returns {void} Destroy method
     * @member of BulletChart
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/bullet-chart/index.d.ts
/**
 *$ Bullet Chart component export methods
 */
//node_modules/@syncfusion/ej2-charts/src/bullet-chart/legend/legend.d.ts
/**
 * `Legend` module is used to render legend for the chart.
 */
export  class BulletChartLegend extends BaseLegend {
    constructor(chart: BulletChart);
    /**
     * Binding events for legend module.
     */
    private addEventListener;
    /**
     *$ UnBinding events for bullet chart legend module.
     */
    private removeEventListener;
    /**
     * To handle mosue move for legend module
     */
    private bulletMouseMove;
    /**
     * To handle mosue end for legend module
     */
    private mouseEnd;
    /**
     * Get the legend options.
     *
     * @returns {void}
     * @private
     */
    getLegendOptions(visibleRangeCollection: Range[]): void;
    /** @private */
    getLegendBounds(availableSize: svgBase.Size, bulletLegendBounds: svgBase.Rect, legend: LegendSettingsModel): void;
    /** @private */
    getRenderPoint(bulletLegendOption: LegendOptions, start: ChartLocation, textPadding: number, prevLegend: LegendOptions, rect: svgBase.Rect, count: number, firstLegend: number): void;
    /**
     * To show the tooltip for the trimmed text in legend.
     *
     * @returns {void}
     */
    click(event: Event | PointerEvent): void;
    /**
     * Get module name
     */
    protected getModuleName(): string;
    /**
     * To destroy the Legend.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/bullet-chart/model/bullet-base-model.d.ts
/**
 * Interface for a class Range
 */
export interface RangeModel {
    /**
     * Default value for qualitative range end value
     *
     * @default null
     */
    end?: number;
    /**
     * Range opacity
     *
     * @default 1
     */
    opacity?: number;
    /**
     * Default value for qualitative range Color
     *
     * @default null
     */
    color?: string;
    /**
     * Default value for qualitative range Color
     *
     * @default null
     */
    index?: number;
    /**
     * Default value for qualitative range name
     *
     * @default null
     */
    name?: string;
    /**
     * The shape of the legend. Each ranges has its own legend shape. They are,
     * * Circle
     * * Rectangle
     * * Triangle
     * * Diamond
     * * Cross
     * * HorizontalLine
     * * VerticalLine
     * * Pentagon
     * * InvertedTriangle
     * * SeriesType
     * * Image
     * @default 'Rectangle'
     */
    shape?: LegendShape;
    /**
     * The URL for the Image that is to be displayed as a Legend icon.  It requires  `legendShape` value to be an `Image`.
     * @default ''
     */
    legendImageUrl?: string;
}
/**
 * Interface for a class MajorTickLinesSettings
 */
export interface MajorTickLinesSettingsModel {
    /**
     * The height of the tick lines in pixels.
     *
     * @default 12
     */
    height?: number;
    /**
     * The width of the ticks in pixels.
     *
     * @default 2
     */
    width?: number;
    /**
     * The stroke of the major tick line that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    color?: string;
    /**
     * It uses to apply range color to ticks and labels.
     *
     * @default false
     */
    useRangeColor?: boolean;
}
/**
 * Interface for a class MinorTickLinesSettings
 */
export interface MinorTickLinesSettingsModel {
    /**
     * The height of the tick lines in pixels.
     *
     * @default 8
     */
    height?: number;
    /**
     * The width of the ticks in pixels.
     *
     * @default 2
     */
    width?: number;
    /**
     * The stroke of the major tick line that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    color?: string;
    /**
     * It uses to apply range color to ticks and labels.
     *
     * @default false
     */
    useRangeColor?: boolean;
}
/**
 * Interface for a class BulletLabelStyle
 */
export interface BulletLabelStyleModel {
    /**
     * FontStyle for the text.
     *
     * @default 'Normal'
     */
    fontStyle?: string;
    /**
     * Font size for the text.
     *
     * @default '16px'
     */
    size?: string;
    /**
     * Color for the text.
     *
     * @default ''
     */
    color?: string;
    /**
     * FontWeight for the text.
     *
     * @default 'Normal'
     */
    fontWeight?: string;
    /**
     * FontFamily for the text.
     */
    fontFamily?: string;
    /**
     * Text alignment
     *
     * @default 'Center'
     */
    textAlignment?: Alignment;
    /**
     * Specifies the chart title text overflow
     *
     * @default 'Trim'
     */
    textOverflow?: TextOverflow;
    /**
     * Opacity for the text.
     *
     * @default 1
     */
    opacity?: number;
    /**
     * Default value of enable trim.
     *
     * @default true
     */
    enableTrim?: boolean;
    /**
     *$ Maximum label width of the bullet chart
     *
     * @default null
     */
    maximumTitleWidth?: number;
    /**
     * Range color
     *
     * @default false
     */
    useRangeColor?: boolean;
}
/**
 * Interface for a class BulletTooltipSettings
 */
export interface BulletTooltipSettingsModel {
    /**
     * Enables / Disables the visibility of the tooltip.
     *
     * @default false.
     */
    enable?: boolean;
    /**
     * The fill color of the tooltip that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    fill?: string;
    /**
     * Options to customize the ToolTip text.
     */
    textStyle?: BulletLabelStyleModel;
    /**
     * Options to customize tooltip borders.
     */
    border?: BorderModel;
    /**
     * The default value of tooltip template.
     *
     * @default null
     */
    template?: string;
}
/**
 * Interface for a class BulletDataLabel
 */
export interface BulletDataLabelModel {
    /**
     * Enables / Disables the visibility of the data label.
     *
     * @default false.
     */
    enable?: boolean;
    /**
     * Options to customize the data label text.
     */
    labelStyle?: BulletLabelStyleModel;
}
/**
 * Interface for a class BulletChartLegendSettings
 */
export interface BulletChartLegendSettingsModel {
    /**
     * If set to true, legend will be visible.
     *
     * @default false
     */
    visible?: boolean;
    /**
     *$ Specifies the location of the legend, relative to the bullet chart.
     *$ If x is 20, legend moves by 20 pixels to the right of the bullet chart. It requires the `position` to be `Custom`.
     * ```html
     * <div id='BulletChart'></div>
     * ```
     * ```typescript
     * let chart: BulletChart = new BulletChart({
     * ...
     *   legendSettings: {
     *     visible: true,
     *   },
     * ...
     * });
     * chart.appendTo('#BulletChart');
     * ```
     */
    location?: LocationModel;
    /**
     * Option to customize the padding between legend items.
     *
     * @default 8
     */
    padding?: number;
    /**
     * Legend in chart can be aligned as follows:
     *$ * Near: Aligns the legend to the left of the bullet chart.
     *$ * Center: Aligns the legend to the center of the bullet chart.
     *$ * Far: Aligns the legend to the right of the bullet chart.
     *
     * @default 'Center'
     */
    alignment?: Alignment;
    /**
     *$ Shape height of the bullet chart legend in pixels.
     *
     * @default 10
     */
    shapeHeight?: number;
    /**
     *$ Shape width of the bullet chart legend in pixels.
     *
     * @default 10
     */
    shapeWidth?: number;
    /**
     *$ Options to customize the bullet chart legend text.
     */
    textStyle?: BulletLabelStyleModel;
    /**
     *$ Position of the legend in the bullet chart are,
     * * Auto: Places the legend based on area type.
     *$ * Top: Displays the legend at the top of the bullet chart.
     *$ * Left: Displays the legend at the left of the bullet chart.
     *$ * Bottom: Displays the legend at the bottom of the bullet chart.
     *$ * Right: Displays the legend at the right of the bullet chart.
     * * Custom: Displays the legend  based on the given x and y values.
     *
     * @default 'Auto'
     */
    position?: LegendPosition;
    /**
     *$  Options to customize left, right, top and bottom margins of the bullet chart.
     */
    margin?: MarginModel;
    /**
     *$ Options to customize the border of the bullet chart legend.
     */
    border?: BorderModel;
    /**
     *$ Padding between the bullet chart legend shape and text.
     *
     * @default 5
     */
    shapePadding?: number;
    /**
     *$ The background color of the bullet chart legend that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default 'transparent'
     */
    background?: string;
    /**
     *$ Opacity of the bullet chart legend.
     *
     * @default 1
     */
    opacity?: number;
    /**
     *$ TabIndex value for the bullet chart legend.
     *
     * @default 3
     */
    tabIndex?: number;
}
//node_modules/@syncfusion/ej2-charts/src/bullet-chart/model/bullet-base.d.ts
/**
 *$ Configuration of the bullet chart ranges
 */
export  class Range extends base.ChildProperty<Range> {
    /**
     * Default value for qualitative range end value
     *
     * @default null
     */
    end: number;
    /**
     * Range opacity
     *
     * @default 1
     */
    opacity: number;
    /**
     * Default value for qualitative range Color
     *
     * @default null
     */
    color: string;
    /**
     * Default value for qualitative range Color
     *
     * @default null
     */
    index: number;
    /**
     * Default value for qualitative range name
     *
     * @default null
     */
    name: string;
    /**
     * The shape of the legend. Each ranges has its own legend shape. They are,
     * * Circle
     * * Rectangle
     * * Triangle
     * * Diamond
     * * Cross
     * * HorizontalLine
     * * VerticalLine
     * * Pentagon
     * * InvertedTriangle
     * * SeriesType
     * * Image
     * @default 'Rectangle'
     */
    shape: LegendShape;
    /**
     * The URL for the Image that is to be displayed as a Legend icon.  It requires  `legendShape` value to be an `Image`.
     * @default ''
     */
    legendImageUrl: string;
}
/**
 * Configures the major tick lines.
 */
export  class MajorTickLinesSettings extends base.ChildProperty<MajorTickLinesSettings> {
    /**
     * The height of the tick lines in pixels.
     *
     * @default 12
     */
    height: number;
    /**
     * The width of the ticks in pixels.
     *
     * @default 2
     */
    width: number;
    /**
     * The stroke of the major tick line that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    color: string;
    /**
     * It uses to apply range color to ticks and labels.
     *
     * @default false
     */
    useRangeColor: boolean;
}
/**
 * Configures the minor tick lines.
 */
export  class MinorTickLinesSettings extends base.ChildProperty<MinorTickLinesSettings> {
    /**
     * The height of the tick lines in pixels.
     *
     * @default 8
     */
    height: number;
    /**
     * The width of the ticks in pixels.
     *
     * @default 2
     */
    width: number;
    /**
     * The stroke of the major tick line that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    color: string;
    /**
     * It uses to apply range color to ticks and labels.
     *
     * @default false
     */
    useRangeColor: boolean;
}
/**
 *$ Configures the fonts in bullet chart.
 */
export  class BulletLabelStyle extends base.ChildProperty<BulletLabelStyle> {
    /**
     * FontStyle for the text.
     *
     * @default 'Normal'
     */
    fontStyle: string;
    /**
     * Font size for the text.
     *
     * @default '16px'
     */
    size: string;
    /**
     * Color for the text.
     *
     * @default ''
     */
    color: string;
    /**
     * FontWeight for the text.
     *
     * @default 'Normal'
     */
    fontWeight: string;
    /**
     * FontFamily for the text.
     */
    fontFamily: string;
    /**
     * Text alignment
     *
     * @default 'Center'
     */
    textAlignment: Alignment;
    /**
     * Specifies the chart title text overflow
     *
     * @default 'Trim'
     */
    textOverflow: TextOverflow;
    /**
     * Opacity for the text.
     *
     * @default 1
     */
    opacity: number;
    /**
     * Default value of enable trim.
     *
     * @default true
     */
    enableTrim: boolean;
    /**
     *$ Maximum label width of the bullet chart
     *
     * @default null
     */
    maximumTitleWidth: number;
    /**
     * Range color
     *
     * @default false
     */
    useRangeColor: boolean;
}
/**
 *$ Configures the ToolTips in the bullet chart.
 */
export  class BulletTooltipSettings extends base.ChildProperty<BulletTooltipSettings> {
    /**
     * Enables / Disables the visibility of the tooltip.
     *
     * @default false.
     */
    enable: boolean;
    /**
     * The fill color of the tooltip that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    fill: string;
    /**
     * Options to customize the ToolTip text.
     */
    textStyle: BulletLabelStyleModel;
    /**
     * Options to customize tooltip borders.
     */
    border: BorderModel;
    /**
     * The default value of tooltip template.
     *
     * @default null
     */
    template: string;
}
/**
 *$ Configures the DataLabel in the bullet chart.
 */
export  class BulletDataLabel extends base.ChildProperty<BulletDataLabel> {
    /**
     * Enables / Disables the visibility of the data label.
     *
     * @default false.
     */
    enable: boolean;
    /**
     * Options to customize the data label text.
     */
    labelStyle: BulletLabelStyleModel;
}
/**
 * Configures the legends in charts.
 */
export  class BulletChartLegendSettings extends base.ChildProperty<BulletChartLegendSettings> {
    /**
     * If set to true, legend will be visible.
     *
     * @default false
     */
    visible: boolean;
    /**
     *$ Specifies the location of the legend, relative to the bullet chart.
     *$ If x is 20, legend moves by 20 pixels to the right of the bullet chart. It requires the `position` to be `Custom`.
     * ```html
     * <div id='BulletChart'></div>
     * ```
     * ```typescript
     * let chart$: BulletChart = new BulletChart({
     * ...
     *   legendSettings: {
     *     visible: true,
     *   },
     * ...
     * });
     * chart.appendTo('#BulletChart');
     * ```
     */
    location: LocationModel;
    /**
     * Option to customize the padding between legend items.
     *
     * @default 8
     */
    padding: number;
    /**
     * Legend in chart can be aligned as follows:
     *$ * Near: Aligns the legend to the left of the bullet chart.
     *$ * Center: Aligns the legend to the center of the bullet chart.
     *$ * Far: Aligns the legend to the right of the bullet chart.
     *
     * @default 'Center'
     */
    alignment: Alignment;
    /**
     *$ Shape height of the bullet chart legend in pixels.
     *
     * @default 10
     */
    shapeHeight: number;
    /**
     *$ Shape width of the bullet chart legend in pixels.
     *
     * @default 10
     */
    shapeWidth: number;
    /**
     *$ Options to customize the bullet chart legend text.
     */
    textStyle: BulletLabelStyleModel;
    /**
     *$ Position of the legend in the bullet chart are,
     * * Auto: Places the legend based on area type.
     *$ * Top: Displays the legend at the top of the bullet chart.
     *$ * Left: Displays the legend at the left of the bullet chart.
     *$ * Bottom: Displays the legend at the bottom of the bullet chart.
     *$ * Right: Displays the legend at the right of the bullet chart.
     * * Custom: Displays the legend  based on the given x and y values.
     *
     * @default 'Auto'
     */
    position: LegendPosition;
    /**
     *$  Options to customize left, right, top and bottom margins of the bullet chart.
     */
    margin: MarginModel;
    /**
     *$ Options to customize the border of the bullet chart legend.
     */
    border: BorderModel;
    /**
     *$ Padding between the bullet chart legend shape and text.
     *
     * @default 5
     */
    shapePadding: number;
    /**
     *$ The background color of the bullet chart legend that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default 'transparent'
     */
    background: string;
    /**
     *$ Opacity of the bullet chart legend.
     *
     * @default 1
     */
    opacity: number;
    /**
     *$ TabIndex value for the bullet chart legend.
     *
     * @default 3
     */
    tabIndex: number;
}
//node_modules/@syncfusion/ej2-charts/src/bullet-chart/model/bullet-interface.d.ts
/**
 *$ Interface for Bullet chart Theme Style
 */
export interface IBulletStyle {
    majorTickLineColor: string;
    minorTickLineColor: string;
    background: string;
    labelFontColor: string;
    categoryFontColor: string;
    labelFontFamily: string;
    tooltipFill: string;
    legendLabel: string;
    tooltipBoldLabel: string;
    featuredMeasureColor: string;
    comparativeMeasureColor: string;
    titleFontColor: string;
    titleFontFamily: string;
    dataLabelFontColor: string;
    subTitleFontColor: string;
    subTitleFontFamily: string;
    firstRangeColor: string;
    secondRangeColor: string;
    thirdRangeColor: string;
    rangeStrokes: Object[];
}
export interface IBulletChartEventArgs {
    /** Defines the name of the event */
    name: string;
    /** Defines the event cancel status */
    cancel: boolean;
}
/**
 *$ Interface for Bullet chart Resize events
 */
export interface IBulletResizeEventArgs {
    /** Defines the name of the Event */
    name: string;
    /** Defines the previous size of the bullet chart */
    previousSize: svgBase.Size;
    /** Defines the current size of the bullet chart */
    currentSize: svgBase.Size;
    /** Defines the bullet chart instance */
    chart: BulletChart;
}
/**
 *$ Interface for Bullet chart scale calculations
 */
export interface IBulletScaleBounds {
    /** Defines class values */
    object: ScaleGroup;
    /** Defines the index value of the range */
    rangeIndex: number;
    /** Defines the qualitative ranges */
    rangeOptions: RangeModel;
    /** Defines the end values of the ranges */
    rangeEndValue: number;
}
/**
 * Interface for feature and comparative bar bounds
 */
export interface IBulletBounds {
    /** Defines point x values */
    pointX: number;
    /** Defines the width of the feature bar */
    width: number;
    /** Defines point x values of the bar */
    lPointX: number;
}
/**
 * Interface for feature and comparative bar bounds
 */
export interface IVerticalBulletBounds {
    /** Defines point x values */
    pointY: number;
    /** Defines the width of the feature bar */
    height: number;
    /** Defines point x values of the bar */
    lPointY: number;
}
/**
 * Interface for feature bar bounds
 */
export interface IFeatureBarBounds {
    /** Defines point x values */
    x: number;
    /** Defines point y values */
    y: number;
    /** Defines the height of the feature bar */
    height: number;
    /** Defines the width of the feature bar */
    width: number;
}
/**
 * Interface for tooltip content
 */
export interface IBulletTooltipContent {
    /** Defines the actual value of the feature bar */
    value: string | number;
    /** Defines the target value of the comparative bar */
    target?: string[] | number[] | string;
    /** Defines the category values */
    category?: string | number;
}
/**
 * interface for loaded event
 */
export interface IBulletLoadedEventArgs {
    /** name of the event */
    name: string;
    /** bulletChart */
    bulletChart: BulletChart;
    /** theme */
    theme?: ChartTheme;
}
/**
 * Tooltip Event arguments
 */
export interface IBulletchartTooltipEventArgs {
    /** Defines the actual value of the feature bar - Read Only */
    value: string | number;
    /** Defines the target value of the comparative bar - Read Only */
    target: string[] | number[] | string;
    /** Defines the name of the Event - Read Only */
    name: string;
    /** Defines the tooltip template */
    template?: string;
    /** Defines the tooltip text */
    text?: string;
}
/**
 *$ Bullet chart tooltip template
 */
export interface IBulletTemplate {
    /** Defines the actual value of the feature bar */
    value: string;
    /** Defines the target value of the comparative bar */
    target: string;
    /** Defines the category values */
    category: string;
}
export interface IBarProperties {
    /** Defines class values */
    end: number;
    /** Defines the index value of the range */
    opacity: number;
    /** Defines the qualitative ranges */
    color: string;
    /** Defines the end values of the ranges */
    name: string;
    /** Defines the end values of the ranges */
    index: number;
    /** Defines the end values of the ranges */
    shape: LegendShape;
}
export interface IBulletMouseEventArgs extends IBulletChartEventArgs {
    /** Defines current mouse event target id */
    target: string;
    /** Defines current mouse x location */
    x: number;
    /** Defines current mouse y location */
    y: number;
}
export interface IBulletLegendRenderEventArgs extends IBulletChartEventArgs {
    /** Defines the current legend text */
    text: string;
    /** Defines the current legend fill color */
    fill: string;
    /** Defines the current legend shape */
    shape: LegendShape;
}
//node_modules/@syncfusion/ej2-charts/src/bullet-chart/renderer/bullet-axis.d.ts
/**
 *$ Class for Bullet chart axis
 */
export  class BulletChartAxis {
    bulletChart: BulletChart;
    private labelOffset;
    private labelSize;
    private isHorizontal;
    private isVertical;
    private isLabelBelow;
    private isLabelsInside;
    private majorTickSize;
    private length;
    private isLeft;
    private isRight;
    private isTop;
    private location;
    private rangeCollection;
    /** @private */
    format: Function;
    constructor(bullet: BulletChart);
    renderMajorTickLines(intervalValue: number, scale: Element): void;
    renderMinorTickLines(intervalValue: number, scale: Element): void;
    renderAxisLabels(intervalValue: number, scale: Element): void;
    /**
     *$ To render grid lines of bullet chart axis
     */
    renderXMajorTickLines(intervalValue: number, scale: Element): void;
    /**
     *$ To render grid lines of bullet chart axis
     */
    renderYMajorTickLines(intervalValue: number, scale: Element): void;
    private majorTicks;
    private bindingRangeStrokes;
    /**
     *$ To render minor tick lines of bullet chart
     */
    renderXMinorTickLines(intervalValue: number, scaleGroup: Element): void;
    /**
     *$ To render minor tick lines of bullet chart
     */
    renderYMinorTickLines(intervalValue: number, scaleGroup: Element): void;
    private minorXTicks;
    private forwardStrokeBinding;
    private backwardStrokeBinding;
    /**
     *$ To render axis labels of bullet chart
     */
    renderXAxisLabels(intervalValue: number, scaleGroup: Element): void;
    private labelXOptions;
    /**
     *$ To render axis labels of bullet chart
     */
    renderYAxisLabels(intervalValue: number, scaleGroup: Element): void;
    /**
     * Format of the axis label.
     *
     * @private
     */
    getFormat(axis: BulletChart): string;
    /**
     * Formatted the axis label.
     *
     * @private
     */
    formatValue(axis: BulletChartAxis, isCustom: boolean, format: string, tempInterval: number): string;
}
//node_modules/@syncfusion/ej2-charts/src/bullet-chart/renderer/scale-render.d.ts
/**
 *$ class for Bullet chart Scale Group
 */
export  class ScaleGroup {
    private dataSource;
    private labelOffset;
    private location;
    featureBarBounds: IFeatureBarBounds[];
    private labelSize;
    private isHorizontal;
    private isVertical;
    private isTicksInside;
    private isLabelsInside;
    private isTop;
    private majorTickSize;
    private rangeColor;
    bulletChart: BulletChart;
    private isLabelBelow;
    private scaleSettingsGroup;
    private scaleOrientation;
    private comparative;
    private feature;
    private isLeft;
    private isRight;
    constructor(bulletChart: BulletChart);
    /**
     * To render range scale of the bulletChart graph
     *
     * @param {Element} scaleGroup
     */
    drawScaleGroup(scaleGroup: Element): number[];
    protected sortRangeCollection(a: number, b: number): number;
    /**
     * To render the feature bar of the bulletChart chart
     *
     * @param {number} dataCount Count of the bar.
     */
    renderFeatureBar(dataCount: number): void;
    /**
     * To render the horizontal feature bar of the bulletChart chart
     *
     * @param {number} dataCount Count of the bar.
     */
    private renderCommonFeatureBar;
    private featureBar;
    private verticalFeatureBar;
    private drawcategory;
    /**
     * To render comparative symbol of the bulletChart chart
     *
     * @param {number} dataCount Data count value.
     */
    renderComparativeSymbol(dataCount: number): void;
    private renderCommonComparativeSymbol;
    private getTargetElement;
    private compareMeasure;
    private compareVMeasure;
    /**
     * To calculate the bounds on vertical and horizontal orientation changes
     *
     * @param {number} value Value of the scale.
     * @param {string} categoryValue Value of the category.
     * @param {boolean} isHorizontal Boolean value.
     * @returns {IFeatureMeasureType} calculateFeatureMeasureBounds
     */
    private calculateFeatureMeasureBounds;
    /**
     * Animates the feature bar.
     *
     * @returns {void}
     */
    doValueBarAnimation(): void;
    /**
     * Animates the comparative bar.
     *
     * @param {number} index Defines the feature bar to animate.
     * @returns {void}
     */
    doTargetBarAnimation(index: number): void;
    private animateRect;
}
//node_modules/@syncfusion/ej2-charts/src/bullet-chart/user-interaction/tooltip.d.ts
/**
 *$ `BulletTooltip` module is used to render the tooltip for bullet chart.
 */
export  class BulletTooltip {
    private elementId;
    toolTipInterval: number;
    private control;
    private templateFn;
    /** @private */
    bulletAxis: BulletChartAxis;
    /**
     * Constructor for tooltip module.
     *
     * @private
     */
    constructor(bullet: BulletChart);
    /**
     * To create tooltip div element
     */
    _elementTooltip(e: PointerEvent, targetClass: string, targetId: string, mouseX: number): void;
    /**
     *$ To display the bullet chart tooltip
     */
    _displayTooltip(e: PointerEvent, targetClass: string, targetId: string, mouseX: number, mouseY: number): void;
    /**
     * To update template values in the tooltip
     */
    updateTemplateFn(): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the tooltip.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/bullet-chart/utils/enum.d.ts
/**
 *$ It defines orientation of the bullet chart.
 * * horizontal
 * * vertical
 *
 * @private
 */
export  type OrientationType = 
/** Horizontal type */
'Horizontal' | 
/** Vertical type */
'Vertical';
/**
 *$ It defines flow direction of the bullet chart.
 * * Forward
 * * Backward
 *
 * @private
 */
export  type FlowType = 
/** Forward type */
'Forward' | 
/** Backward type */
'Backward';
/**
 *$ It defines tick position of the bullet chart.
 * * Far
 * * Near
 * * Center
 *
 * @private
 */
export  type TickPlacement = 
/** Far type */
'Far' | 
/** Near type */
'Near' | 
/** Near type */
'Center';
/**
 *$ It defines flow direction of the bullet chart.
 * * Forward
 * * Backward
 *
 * @private
 */
export  type FeatureType = 
/** Rectangle type */
'Rect' | 
/** Dot type */
'Dot';
/**
 *$ It defines tick placement of bullet chart.
 * * Outside
 * * Inside
 *
 * @private
 */
export  type TickPosition = 
/** Far type */
'Outside' | 
/** Near type */
'Inside';
/**
 *$ It defines label placement of bullet chart.
 * * Outside
 * * Inside
 *
 * @private
 */
export  type LabelsPlacement = 
/** Far type */
'Outside' | 
/** Near type */
'Inside';
/**
 *$ It defines label position of bullet chart.
 * * Below
 * * Above
 *
 * @private
 */
export  type LabelsPosition = 
/** Below type */
'Below' | 
/** Above type */
'Above';
/**
 *$ It defines Text anchor of bullet chart.
 * * Start
 * * Middle
 * * End
 *
 * @private
 */
export  type TextAnchor = 
/** Start type */
'Start' | 
/** Middle type */
'Middle' | 
/** End type */
'End';
/**
 *$ It defines Text anchor of bullet chart.
 * * Left
 * * Right
 * * Top
 * * Bottom
 *
 * @private
 */
export  type TextPosition = 
/** Left position */
'Left' | 
/** Right position */
'Right' | 
/** Top position */
'Top' | 
/** Bottom position */
'Bottom';
/**
 *$ It defines Text anchor of bullet chart.
 * * Rect
 * * Circle
 * * Cross
 *
 * @private
 */
export  type TargetType = 
/** Rect bulletchart target type */
'Rect' | 
/** Circle bulletchart target type */
'Circle' | 
/** Cross bulletchart target type */
'Cross';
//node_modules/@syncfusion/ej2-charts/src/bullet-chart/utils/theme.d.ts
/**
 *
 */
export  namespace BulletChartTheme {
    /** @private */
    let axisLabelFont: IFontMapping;
    /** @private */
    const tooltipLabelFont: IFontMapping;
    /** @private */
    const legendLabelFont: IFontMapping;
    /** @private */
    const dataLabelFont: IFontMapping;
    /** @private */
    const titleFont: IFontMapping;
    /** @private */
    const subTitleFont: IFontMapping;
}
/** @private
 * @param {ChartTheme} theme Passed theme parameter.
 *$ @returns {IBulletStyle} It returns bullet style.
 */
export  function getBulletThemeColor(theme: ChartTheme): IBulletStyle;
//node_modules/@syncfusion/ej2-charts/src/chart/annotation/annotation.d.ts
/**
 * `ChartAnnotation` module handles the annotation for chart.
 */
export  class ChartAnnotation extends AnnotationBase {
    private chart;
    private annotations;
    private parentElement;
    /**
     * Constructor for chart annotation.
     *
     * @private
     */
    constructor(control: Chart, annotations: ChartAnnotationSettings[]);
    /**
     * Method to render the annotation for chart
     *
     * @param {Element} element annotation element
     * @private
     */
    renderAnnotations(element: Element): void;
    /**
     * To destroy the annotation.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-charts/src/chart/axis/axis-helper.d.ts
/**
 * Common axis classes
 *
 * @private
 */
export  class NiceInterval extends Double {
    /**
     * Method to calculate numeric datetime interval
     */
    calculateDateTimeNiceInterval(axis: Axis, size: svgBase.Size, start: number, end: number, isChart?: boolean): number;
    /**
     * To get the skeleton for the DateTime axis.
     *
     * @returns {string} skeleton format
     * @private
     */
    getSkeleton(axis: Axis, currentValue: number, previousValue: number, isBlazor?: boolean): string;
    /**
     * Get intervalType month format
     *
     * @param {Axis} axis axis
     * @param {number} currentValue currentValue
     * @param {number} previousValue previousValue
     */
    private getMonthFormat;
    /**
     * Get intervalType day label format for the axis
     *
     * @param {Axis} axis axis
     * @param {number} currentValue currentValue
     * @param {number} previousValue previousValue
     */
    private getDayFormat;
    /**
     * Find label format for axis
     *
     * @param {Axis} axis axis
     * @param {number} currentValue currentValue
     * @param {number} previousValue previousValue
     * @private
     */
    findCustomFormats(axis: Axis, currentValue: number, previousValue: number): string;
}
//node_modules/@syncfusion/ej2-charts/src/chart/axis/axis-model.d.ts
/**
 * Interface for a class Row
 */
export interface RowModel {
    /**
     * The height of the row as a string accept input both as '100px' and '100%'.
     * If specified as '100%, row renders to the full height of its chart.
     *
     * @default '100%'
     */
    height?: string;
    /**
     * Options to customize the border of the rows.
     */
    border?: BorderModel;
}
/**
 * Interface for a class Column
 */
export interface ColumnModel {
    /**
     * The width of the column as a string accepts input both as like '100px' or '100%'.
     * If specified as '100%, column renders to the full width of its chart.
     *
     * @default '100%'
     */
    width?: string;
    /**
     * Options to customize the border of the columns.
     */
    border?: BorderModel;
}
/**
 * Interface for a class MajorGridLines
 */
export interface MajorGridLinesModel {
    /**
     * The width of the line in pixels.
     *
     * @default 1
     */
    width?: number;
    /**
     * The dash array of the grid lines.
     *
     * @default ''
     */
    dashArray?: string;
    /**
     * The color of the major grid line that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    color?: string;
}
/**
 * Interface for a class MinorGridLines
 */
export interface MinorGridLinesModel {
    /**
     * The width of the line in pixels.
     *
     * @default 0.7
     */
    width?: number;
    /**
     * The dash array of grid lines.
     *
     * @default ''
     */
    dashArray?: string;
    /**
     * The color of the minor grid line that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    color?: string;
}
/**
 * Interface for a class AxisLine
 */
export interface AxisLineModel {
    /**
     * The width of the line in pixels.
     *
     * @default 1
     */
    width?: number;
    /**
     * The dash array of the axis line.
     *
     * @default ''
     */
    dashArray?: string;
    /**
     * The color of the axis line that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    color?: string;
}
/**
 * Interface for a class MajorTickLines
 */
export interface MajorTickLinesModel {
    /**
     * The width of the tick lines in pixels.
     *
     * @default 1
     */
    width?: number;
    /**
     * The height of the ticks in pixels.
     *
     * @default 5
     */
    height?: number;
    /**
     * The color of the major tick line that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    color?: string;
}
/**
 * Interface for a class MinorTickLines
 */
export interface MinorTickLinesModel {
    /**
     * The width of the tick line in pixels.
     *
     * @default 0.7
     */
    width?: number;
    /**
     * The height of the ticks in pixels.
     *
     * @default 5
     */
    height?: number;
    /**
     * The color of the minor tick line that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    color?: string;
}
/**
 * Interface for a class CrosshairTooltip
 */
export interface CrosshairTooltipModel {
    /**
     * If set to true, crosshair ToolTip will be visible.
     *
     *  @default false
     */
    enable?: Boolean;
    /**
     * The fill color of the ToolTip accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    fill?: string;
    /**
     * Options to customize the crosshair ToolTip text.
     */
    textStyle?: FontModel;
}
/**
 * Interface for a class Axis
 */
export interface AxisModel {
    /**
     * Options to customize the axis label.
     */
    labelStyle?: FontModel;
    /**
     * Options to customize the crosshair ToolTip.
     */
    crosshairTooltip?: CrosshairTooltipModel;
    /**
     * Specifies the title of an axis.
     *
     * @default ''
     */
    title?: string;
    /**
     * Options for customizing the axis title.
     */
    titleStyle?: FontModel;
    /**
     * Used to format the axis label that accepts any global string format like 'C', 'n1', 'P' etc.
     * It also accepts placeholder like '{value}°C' in which value represent the axis label, e.g, 20°C.
     *
     * @default ''
     */
    labelFormat?: string;
    /**
     * Specifies the skeleton format in which the dateTime format will process.
     *
     * @default ''
     */
    skeleton?: string;
    /**
     * It specifies the type of format to be used in dateTime format process.
     *
     * @default 'DateTime'
     * @deprecated
     */
    skeletonType?: SkeletonType;
    /**
     * It specifies alignment of the line break labels.
     * @default 'Center'
     */
    lineBreakAlignment?: TextAlignment;
    /**
     * Left and right padding for the plot area in pixels.
     *
     * @default 0
     */
    plotOffset?: number;
    /**
     * Left padding for the plot area in pixels.
     *
     * @default null
     */
    plotOffsetLeft?: number;
    /**
     * Top padding for the plot area in pixels.
     *
     * @default null
     */
    plotOffsetTop?: number;
    /**
     * Right padding for the plot area in pixels.
     *
     * @default null
     */
    plotOffsetRight?: number;
    /**
     * Bottom padding for the plot area in pixels.
     *
     * @default null
     */
    plotOffsetBottom?: number;
    /**
     * Specifies indexed category  axis.
     *
     * @default false
     */
    isIndexed?: boolean;
    /**
     * The base value for logarithmic axis. It requires `valueType` to be `Logarithmic`.
     *
     * @default 10
     */
    logBase?: number;
    /**
     * Specifies the index of the column where the axis is associated,
     * when the chart area is divided into multiple plot areas by using `columns`.
     * ```html
     * <div id='Chart'></div>
     * ```
     * ```typescript
     * let chart$: Chart = new Chart({
     * ...
     *     columns: [{ width: '50%' },
     *               { width: '50%' }],
     *     axes: [{
     *                name: 'xAxis 1',
     *                columnIndex: 1,
     *     }],
     * ...
     * });
     * chart.appendTo('#Chart');
     * ```
     *
     * @default 0
     */
    columnIndex?: number;
    /**
     * Specifies the index of the row where the axis is associated, when the chart area is divided into multiple plot areas by using `rows`.
     * ```html
     * <div id='Chart'></div>
     * ```
     * ```typescript
     * let chart$: Chart = new Chart({
     * ...
     *     rows: [{ height: '50%' },
     *            { height: '50%' }],
     *     axes: [{
     *                name: 'yAxis 1',
     *                rowIndex: 1,
     *      }],
     * ...
     * });
     * chart.appendTo('#Chart');
     * ```
     *
     * @default 0
     */
    rowIndex?: number;
    /**
     * Specifies the number of `columns` or `rows` an axis has to span horizontally or vertically.
     *
     * @default 1
     */
    span?: number;
    /**
     * With this property, you can request axis to calculate intervals approximately equal to your specified interval.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    desiredIntervals?: number;
    /**
     * The maximum number of label count per 100 pixels with respect to the axis length.
     *
     * @default 3
     */
    maximumLabels?: number;
    /**
     * The axis is scaled by this factor. When zoomFactor is 0.5, the chart is scaled by 200% along this axis. Value ranges from 0 to 1.
     *
     * @default 1
     */
    zoomFactor?: number;
    /**
     * Position of the zoomed axis. Value ranges from 0 to 1.
     *
     * @default 0
     */
    zoomPosition?: number;
    /**
     * Enables the scrollbar for zooming.
     *
     * @default true
     */
    enableScrollbarOnZooming?: boolean;
    /**
     * If set to true, the axis will render at the opposite side of its default position.
     *
     * @default false
     */
    opposedPosition?: boolean;
    /**
     * If set to true, axis interval will be calculated automatically with respect to the zoomed range.
     *
     * @default true
     */
    enableAutoIntervalOnZooming?: boolean;
    /**
     * Specifies the padding for the axis range in terms of interval.They are,
     * * none: Padding cannot be applied to the axis.
     * * normal: Padding is applied to the axis based on the range calculation.
     * * additional: Interval of the axis is added as padding to the minimum and maximum values of the range.
     * * round: Axis range is rounded to the nearest possible value divided by the interval.
     *
     * @default 'Auto'
     */
    rangePadding?: ChartRangePadding;
    /**
     * Specifies the type of data the axis is handling.
     * * Double:  Renders a numeric axis.
     * * DateTime: Renders a dateTime axis.
     * * Category: Renders a category axis.
     * * Logarithmic: Renders a log axis.
     *
     * @default 'Double'
     * @blazorType Syncfusion.EJ2.Blazor.Charts.ValueType
     * @isEnumeration true
     */
    valueType?: ValueType;
    /**
     * Specifies the position of labels at the edge of the axis.They are,
     * * None: No action will be performed.
     * * Hide: Edge label will be hidden.
     * * Shift: Shifts the edge labels.
     *
     * @default 'None'
     */
    edgeLabelPlacement?: EdgeLabelPlacement;
    /**
     * Specifies the types like `Years`, `Months`, `Days`, `Hours`, `Minutes`, `Seconds` in date time axis.They are,
     * * Auto: Defines the interval of the axis based on data.
     * * Years: Defines the interval of the axis in years.
     * * Months: Defines the interval of the axis in months.
     * * Days: Defines the interval of the axis in days.
     * * Hours: Defines the interval of the axis in hours.
     * * Minutes: Defines the interval of the axis in minutes.
     *
     * @default 'Auto'
     */
    intervalType?: IntervalType;
    /**
     * Specifies the placement of a label for category axis. They are,
     * * betweenTicks: Renders the label between the ticks.
     * * onTicks: Renders the label on the ticks.
     *
     * @default 'BetweenTicks'
     */
    labelPlacement?: LabelPlacement;
    /**
     * Specifies the placement of a ticks to the axis line. They are,
     * * inside: Renders the ticks inside to the axis line.
     * * outside: Renders the ticks outside to the axis line.
     *
     * @default 'Outside'
     */
    tickPosition?: AxisPosition;
    /**
     * Specifies the placement of a labels to the axis line. They are,
     * * inside: Renders the labels inside to the axis line.
     * * outside: Renders the labels outside to the axis line.
     *
     * @default 'Outside'
     */
    labelPosition?: AxisPosition;
    /**
     * Unique identifier of an axis.
     * To associate an axis with the series, set this name to the xAxisName/yAxisName properties of the series.
     *
     * @default ''
     */
    name?: string;
    /**
     * If set to true, axis label will be visible.
     *
     * @default true
     */
    visible?: boolean;
    /**
     * Specifies the number of minor ticks per interval.
     *
     * @default 0
     */
    minorTicksPerInterval?: number;
    /**
     * The angle to which the axis label gets rotated.
     *
     * @default 0
     */
    labelRotation?: number;
    /**
     * Specifies the value at which the axis line has to be intersect with the vertical axis or vice versa.
     *
     * @default null
     */
    crossesAt?: Object;
    /**
     * Specifies whether axis elements like axis labels, axis title, etc has to be crossed with axis line
     *
     * @default true
     */
    placeNextToAxisLine?: boolean;
    /**
     * Specifies axis name with which the axis line has to be crossed
     *
     * @default null
     */
    crossesInAxis?: string;
    /**
     * Specifies the minimum range of an axis.
     *
     * @default null
     */
    minimum?: Object;
    /**
     * Specifies the maximum range of an axis.
     *
     * @default null
     */
    maximum?: Object;
    /**
     * Specifies the interval for an axis.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    interval?: number;
    /**
     * Specifies the maximum width of an axis label.
     *
     * @default 34.
     */
    maximumLabelWidth?: number;
    /**
     * Specifies the Trim property for an axis.
     *
     * @default false
     */
    enableTrim?: boolean;
    /**
     * Specifies the labelPadding from axis
     *
     * @default 5
     */
    labelPadding?: number;
    /**
     * Specifies the titlePadding from axis label
     *
     * @default 5
     */
    titlePadding?: number;
    /**
     * Options for customizing major tick lines.
     */
    majorTickLines?: MajorTickLinesModel;
    /**
     * Options for customizing minor tick lines.
     */
    minorTickLines?: MinorTickLinesModel;
    /**
     * Options for customizing major grid lines.
     */
    majorGridLines?: MajorGridLinesModel;
    /**
     * Options for customizing minor grid lines.
     */
    minorGridLines?: MinorGridLinesModel;
    /**
     * Options for customizing axis lines.
     */
    lineStyle?: AxisLineModel;
    /**
     * Specifies the actions like `None`, `Hide`, `Trim`, `Wrap`, `MultipleRows`, `Rotate45`, and `Rotate90`
     * when the axis labels intersect with each other.They are,
     * * None: Shows all the labels.
     * * Hide: Hides the label when it intersects.
     * * Trim: Trim the label when it intersects.
     * * Wrap: Wrap the label when it intersects.
     * * MultipleRows: Shows the label in MultipleRows when it intersects.
     * * Rotate45: Rotates the label to 45 degree when it intersects.
     * * Rotate90: Rotates the label to 90 degree when it intersects.
     *
     * @default Trim
     */
    labelIntersectAction?: LabelIntersectAction;
    /**
     * It specifies whether the axis to be rendered in inversed manner or not.
     *
     * @default false
     */
    isInversed?: boolean;
    /**
     * The polar radar radius position.
     *
     * @default 100
     */
    coefficient?: number;
    /**
     * The start angle for the series.
     *
     * @default 0
     */
    startAngle?: number;
    /**
     * It specifies whether the axis to be start from zero.
     *
     * @default true
     */
    startFromZero?: boolean;
    /**
     * Description for axis and its element.
     *
     * @default null
     */
    description?: string;
    /**
     * TabIndex value for the axis.
     *
     * @default 2
     */
    tabIndex?: number;
    /**
     * Specifies the stripLine collection for the axis
     */
    stripLines?: StripLineSettingsModel[];
    /**
     * Specifies the multi level labels collection for the axis
     */
    multiLevelLabels?: MultiLevelLabelsModel[];
    /**
     * Border of the multi level labels.
     */
    border?: LabelBorderModel;
    /**
     * Option to customize scrollbar with lazy loading
     */
    scrollbarSettings?: ScrollbarSettingsModel;
}
/**
 * Interface for a class VisibleLabels
 * @private
 */
export interface VisibleLabelsModel {
}
//node_modules/@syncfusion/ej2-charts/src/chart/axis/axis.d.ts
/**
 * Configures the `rows` of the chart.
 */
export  class Row extends base.ChildProperty<Row> {
    /**
     * The height of the row as a string accept input both as '100px' and '100%'.
     * If specified as '100%, row renders to the full height of its chart.
     *
     * @default '100%'
     */
    height: string;
    /**
     * Options to customize the border of the rows.
     */
    border: BorderModel;
    /** @private */
    axes: Axis[];
    /** @private */
    computedHeight: number;
    /** @private */
    computedTop: number;
    /** @private */
    nearSizes: number[];
    /** @private */
    farSizes: number[];
    /**
     * Measure the row size
     *
     * @returns {void}
     * @private
     */
    computeSize(axis: Axis, scrollBarHeight: number): void;
}
/**
 * Configures the `columns` of the chart.
 */
export  class Column extends base.ChildProperty<Column> {
    /**
     * The width of the column as a string accepts input both as like '100px' or '100%'.
     * If specified as '100%, column renders to the full width of its chart.
     *
     * @default '100%'
     */
    width: string;
    /**
     * Options to customize the border of the columns.
     */
    border: BorderModel;
    /** @private */
    axes: Axis[];
    /** @private */
    computedWidth: number;
    /** @private */
    computedLeft: number;
    /** @private */
    nearSizes: number[];
    /** @private */
    farSizes: number[];
    /** @private */
    private padding;
    /**
     * Measure the column size
     *
     * @returns {void}
     * @private
     */
    computeSize(axis: Axis, scrollBarHeight: number): void;
}
/**
 * Configures the major grid lines in the `axis`.
 */
export  class MajorGridLines extends base.ChildProperty<MajorGridLines> {
    /**
     * The width of the line in pixels.
     *
     * @default 1
     */
    width: number;
    /**
     * The dash array of the grid lines.
     *
     * @default ''
     */
    dashArray: string;
    /**
     * The color of the major grid line that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    color: string;
}
/**
 * Configures the minor grid lines in the `axis`.
 */
export  class MinorGridLines extends base.ChildProperty<MinorGridLines> {
    /**
     * The width of the line in pixels.
     *
     * @default 0.7
     */
    width: number;
    /**
     * The dash array of grid lines.
     *
     * @default ''
     */
    dashArray: string;
    /**
     * The color of the minor grid line that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    color: string;
}
/**
 * Configures the axis line of a chart.
 */
export  class AxisLine extends base.ChildProperty<AxisLine> {
    /**
     * The width of the line in pixels.
     *
     * @default 1
     */
    width: number;
    /**
     * The dash array of the axis line.
     *
     * @default ''
     */
    dashArray: string;
    /**
     * The color of the axis line that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    color: string;
}
/**
 * Configures the major tick lines.
 */
export  class MajorTickLines extends base.ChildProperty<MajorTickLines> {
    /**
     * The width of the tick lines in pixels.
     *
     * @default 1
     */
    width: number;
    /**
     * The height of the ticks in pixels.
     *
     * @default 5
     */
    height: number;
    /**
     * The color of the major tick line that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    color: string;
}
/**
 * Configures the minor tick lines.
 */
export  class MinorTickLines extends base.ChildProperty<MinorTickLines> {
    /**
     * The width of the tick line in pixels.
     *
     * @default 0.7
     */
    width: number;
    /**
     * The height of the ticks in pixels.
     *
     * @default 5
     */
    height: number;
    /**
     * The color of the minor tick line that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    color: string;
}
/**
 * Configures the crosshair ToolTip.
 */
export  class CrosshairTooltip extends base.ChildProperty<CrosshairTooltip> {
    /**
     * If set to true, crosshair ToolTip will be visible.
     *
     *  @default false
     */
    enable: Boolean;
    /**
     * The fill color of the ToolTip accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    fill: string;
    /**
     * Options to customize the crosshair ToolTip text.
     */
    textStyle: FontModel;
}
/**
 * Configures the axes in the chart.
 *
 * @public
 */
export  class Axis extends base.ChildProperty<Axis> {
    /**
     * Options to customize the axis label.
     */
    labelStyle: FontModel;
    /**
     * Options to customize the crosshair ToolTip.
     */
    crosshairTooltip: CrosshairTooltipModel;
    /**
     * Specifies the title of an axis.
     *
     * @default ''
     */
    title: string;
    /**
     * Options for customizing the axis title.
     */
    titleStyle: FontModel;
    /**
     * Used to format the axis label that accepts any global string format like 'C', 'n1', 'P' etc.
     * It also accepts placeholder like '{value}°C' in which value represent the axis label, e.g, 20°C.
     *
     * @default ''
     */
    labelFormat: string;
    /**
     * Specifies the skeleton format in which the dateTime format will process.
     *
     * @default ''
     */
    skeleton: string;
    /**
     * It specifies the type of format to be used in dateTime format process.
     *
     * @default 'DateTime'
     * @deprecated
     */
    skeletonType: SkeletonType;
    /**
     * It specifies alignment of the line break labels.
     * @default 'Center'
     */
    lineBreakAlignment: TextAlignment;
    /**
     * Left and right padding for the plot area in pixels.
     *
     * @default 0
     */
    plotOffset: number;
    /**
     * Left padding for the plot area in pixels.
     *
     * @default null
     */
    plotOffsetLeft: number;
    /**
     * Top padding for the plot area in pixels.
     *
     * @default null
     */
    plotOffsetTop: number;
    /**
     * Right padding for the plot area in pixels.
     *
     * @default null
     */
    plotOffsetRight: number;
    /**
     * Bottom padding for the plot area in pixels.
     *
     * @default null
     */
    plotOffsetBottom: number;
    /**
     * Specifies indexed category  axis.
     *
     * @default false
     */
    isIndexed: boolean;
    /**
     * The base value for logarithmic axis. It requires `valueType` to be `Logarithmic`.
     *
     * @default 10
     */
    logBase: number;
    /**
     * Specifies the index of the column where the axis is associated,
     * when the chart area is divided into multiple plot areas by using `columns`.
     * ```html
     * <div id='Chart'></div>
     * ```
     * ```typescript
     * let chart$: Chart = new Chart({
     * ...
     *     columns: [{ width: '50%' },
     *               { width: '50%' }],
     *     axes: [{
     *                name: 'xAxis 1',
     *                columnIndex: 1,
     *     }],
     * ...
     * });
     * chart.appendTo('#Chart');
     * ```
     *
     * @default 0
     */
    columnIndex: number;
    /**
     * Specifies the index of the row where the axis is associated, when the chart area is divided into multiple plot areas by using `rows`.
     * ```html
     * <div id='Chart'></div>
     * ```
     * ```typescript
     * let chart$: Chart = new Chart({
     * ...
     *     rows: [{ height: '50%' },
     *            { height: '50%' }],
     *     axes: [{
     *                name: 'yAxis 1',
     *                rowIndex: 1,
     *      }],
     * ...
     * });
     * chart.appendTo('#Chart');
     * ```
     *
     * @default 0
     */
    rowIndex: number;
    /**
     * Specifies the number of `columns` or `rows` an axis has to span horizontally or vertically.
     *
     * @default 1
     */
    span: number;
    /**
     * With this property, you can request axis to calculate intervals approximately equal to your specified interval.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    desiredIntervals: number;
    /**
     * The maximum number of label count per 100 pixels with respect to the axis length.
     *
     * @default 3
     */
    maximumLabels: number;
    /**
     * The axis is scaled by this factor. When zoomFactor is 0.5, the chart is scaled by 200% along this axis. Value ranges from 0 to 1.
     *
     * @default 1
     */
    zoomFactor: number;
    /**
     * Position of the zoomed axis. Value ranges from 0 to 1.
     *
     * @default 0
     */
    zoomPosition: number;
    /**
     * Enables the scrollbar for zooming.
     *
     * @default true
     */
    enableScrollbarOnZooming: boolean;
    /**
     * If set to true, the axis will render at the opposite side of its default position.
     *
     * @default false
     */
    opposedPosition: boolean;
    /**
     * If set to true, axis interval will be calculated automatically with respect to the zoomed range.
     *
     * @default true
     */
    enableAutoIntervalOnZooming: boolean;
    /**
     * Specifies the padding for the axis range in terms of interval.They are,
     * * none: Padding cannot be applied to the axis.
     * * normal: Padding is applied to the axis based on the range calculation.
     * * additional: Interval of the axis is added as padding to the minimum and maximum values of the range.
     * * round: Axis range is rounded to the nearest possible value divided by the interval.
     *
     * @default 'Auto'
     */
    rangePadding: ChartRangePadding;
    /**
     * Specifies the type of data the axis is handling.
     * * Double:  Renders a numeric axis.
     * * DateTime: Renders a dateTime axis.
     * * Category: Renders a category axis.
     * * Logarithmic: Renders a log axis.
     *
     * @default 'Double'
     * @blazorType Syncfusion.EJ2.Blazor.Charts.ValueType
     * @isEnumeration true
     */
    valueType: ValueType;
    /**
     * Specifies the position of labels at the edge of the axis.They are,
     * * None: No action will be performed.
     * * Hide: Edge label will be hidden.
     * * Shift: Shifts the edge labels.
     *
     * @default 'None'
     */
    edgeLabelPlacement: EdgeLabelPlacement;
    /**
     * Specifies the types like `Years`, `Months`, `Days`, `Hours`, `Minutes`, `Seconds` in date time axis.They are,
     * * Auto: Defines the interval of the axis based on data.
     * * Years: Defines the interval of the axis in years.
     * * Months: Defines the interval of the axis in months.
     * * Days: Defines the interval of the axis in days.
     * * Hours: Defines the interval of the axis in hours.
     * * Minutes: Defines the interval of the axis in minutes.
     *
     * @default 'Auto'
     */
    intervalType: IntervalType;
    /**
     * Specifies the placement of a label for category axis. They are,
     * * betweenTicks: Renders the label between the ticks.
     * * onTicks: Renders the label on the ticks.
     *
     * @default 'BetweenTicks'
     */
    labelPlacement: LabelPlacement;
    /**
     * Specifies the placement of a ticks to the axis line. They are,
     * * inside: Renders the ticks inside to the axis line.
     * * outside: Renders the ticks outside to the axis line.
     *
     * @default 'Outside'
     */
    tickPosition: AxisPosition;
    /**
     * Specifies the placement of a labels to the axis line. They are,
     * * inside: Renders the labels inside to the axis line.
     * * outside: Renders the labels outside to the axis line.
     *
     * @default 'Outside'
     */
    labelPosition: AxisPosition;
    /**
     * Unique identifier of an axis.
     * To associate an axis with the series, set this name to the xAxisName/yAxisName properties of the series.
     *
     * @default ''
     */
    name: string;
    /**
     * If set to true, axis label will be visible.
     *
     * @default true
     */
    visible: boolean;
    /**
     * Specifies the number of minor ticks per interval.
     *
     * @default 0
     */
    minorTicksPerInterval: number;
    /**
     * The angle to which the axis label gets rotated.
     *
     * @default 0
     */
    labelRotation: number;
    /**
     * Specifies the value at which the axis line has to be intersect with the vertical axis or vice versa.
     *
     * @default null
     */
    crossesAt: Object;
    /**
     * Specifies whether axis elements like axis labels, axis title, etc has to be crossed with axis line
     *
     * @default true
     */
    placeNextToAxisLine: boolean;
    /**
     * Specifies axis name with which the axis line has to be crossed
     *
     * @default null
     */
    crossesInAxis: string;
    /**
     * Specifies the minimum range of an axis.
     *
     * @default null
     */
    minimum: Object;
    /**
     * Specifies the maximum range of an axis.
     *
     * @default null
     */
    maximum: Object;
    /**
     * Specifies the interval for an axis.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    interval: number;
    /**
     * Specifies the maximum width of an axis label.
     *
     * @default 34.
     */
    maximumLabelWidth: number;
    /**
     * Specifies the Trim property for an axis.
     *
     * @default false
     */
    enableTrim: boolean;
    /**
     * Specifies the labelPadding from axis
     *
     * @default 5
     */
    labelPadding: number;
    /**
     * Specifies the titlePadding from axis label
     *
     * @default 5
     */
    titlePadding: number;
    /**
     * Options for customizing major tick lines.
     */
    majorTickLines: MajorTickLinesModel;
    /**
     * Options for customizing minor tick lines.
     */
    minorTickLines: MinorTickLinesModel;
    /**
     * Options for customizing major grid lines.
     */
    majorGridLines: MajorGridLinesModel;
    /**
     * Options for customizing minor grid lines.
     */
    minorGridLines: MinorGridLinesModel;
    /**
     * Options for customizing axis lines.
     */
    lineStyle: AxisLineModel;
    /**
     * Specifies the actions like `None`, `Hide`, `Trim`, `Wrap`, `MultipleRows`, `Rotate45`, and `Rotate90`
     * when the axis labels intersect with each other.They are,
     * * None: Shows all the labels.
     * * Hide: Hides the label when it intersects.
     * * Trim: Trim the label when it intersects.
     * * Wrap: Wrap the label when it intersects.
     * * MultipleRows: Shows the label in MultipleRows when it intersects.
     * * Rotate45: Rotates the label to 45 degree when it intersects.
     * * Rotate90: Rotates the label to 90 degree when it intersects.
     *
     * @default Trim
     */
    labelIntersectAction: LabelIntersectAction;
    /**
     * It specifies whether the axis to be rendered in inversed manner or not.
     *
     * @default false
     */
    isInversed: boolean;
    /**
     * The polar radar radius position.
     *
     * @default 100
     */
    coefficient: number;
    /**
     * The start angle for the series.
     *
     * @default 0
     */
    startAngle: number;
    /**
     * It specifies whether the axis to be start from zero.
     *
     * @default true
     */
    startFromZero: boolean;
    /**
     * Description for axis and its element.
     *
     * @default null
     */
    description: string;
    /**
     * TabIndex value for the axis.
     *
     * @default 2
     */
    tabIndex: number;
    /**
     * Specifies the stripLine collection for the axis
     */
    stripLines: StripLineSettingsModel[];
    /**
     * Specifies the multi level labels collection for the axis
     */
    multiLevelLabels: MultiLevelLabelsModel[];
    /**
     * Border of the multi level labels.
     */
    border: LabelBorderModel;
    /**
     * Option to customize scrollbar with lazy loading
     */
    scrollbarSettings: ScrollbarSettingsModel;
    /** @private */
    visibleRange: VisibleRangeModel;
    /** @private */
    visibleLabels: VisibleLabels[];
    /** @private */
    actualRange: VisibleRangeModel;
    /** @private */
    series: Series[];
    /** @private */
    doubleRange: DoubleRange;
    /** @private */
    maxLabelSize: svgBase.Size;
    /** @private */
    rotatedLabel: string;
    /** @private */
    rect: svgBase.Rect;
    /** @private */
    axisBottomLine: BorderModel;
    /** @private */
    orientation: Orientation;
    /** @private */
    intervalDivs: number[];
    /** @private */
    actualIntervalType: IntervalType;
    /** @private */
    labels: string[];
    /** @private */
    indexLabels: object;
    /** @private */
    format: Function;
    /** @private */
    baseModule: Double | DateTime | Category | DateTimeCategory;
    /** @private */
    startLabel: string;
    /** @private */
    endLabel: string;
    /** @private */
    angle: number;
    /** @private */
    dateTimeInterval: number;
    /** @private */
    isStack100: boolean;
    /** @private */
    crossInAxis: this;
    /** @private */
    crossAt: number;
    /** @private */
    updatedRect: svgBase.Rect;
    /** @private */
    multiLevelLabelHeight: number;
    zoomingScrollBar: ScrollBar;
    /** @private */
    scrollBarHeight: number;
    /** @private */
    isChart: boolean;
    /** @private */
    maxPointLength: number;
    /** @private */
    isIntervalInDecimal: boolean;
    /** @private */
    titleCollection: string[];
    /** @private */
    titleSize: svgBase.Size;
    /** @private */
    isAxisInverse: boolean;
    /** @private */
    isAxisOpposedPosition: boolean;
    /**
     * Task: BLAZ-2044
     * This property used to hide the axis when series hide from legend click
     *
     * @private
     */
    internalVisibility: boolean;
    /**
     * This property is used to place the vertical axis in opposed position and horizontal axis in inversed
     * when RTL is enabled in chart
     * @private */
    isRTLEnabled: boolean;
    constructor(parent: any, propName: string, defaultValue: Object, isArray?: boolean);
    /**
     * The function used to find tick size.
     *
     * @returns {number} tick line size
     * @private
     */
    findTickSize(crossAxis: Axis): number;
    /**
     * The function used to find axis position.
     *
     * @returns {number}
     * @private
     */
    isInside(range: VisibleRangeModel): boolean;
    /**
     * The function used to find label svgBase.Size.
     *
     * @returns {number} labelSize
     * @private
     */
    findLabelSize(crossAxis: Axis, innerPadding: number): number;
    /**
     * The function used to find axis position.
     *
     * @returns {void}
     * @private
     */
    updateCrossValue(): void;
    private findDifference;
    /**
     * Calculate visible range for axis.
     *
     * @returns {void}
     * @private
     */
    calculateVisibleRangeOnZooming(size: svgBase.Size): void;
    /**
     * Calculate range for x and y axis after zoom.
     *
     * @returns {void}
     * @private
     */
    calculateAxisRange(size: svgBase.Size, chart: Chart): void;
    /**
     * Triggers the event.
     *
     * @returns {void}
     * @private
     */
    triggerRangeRender(chart: Chart, minimum: number, maximum: number, interval: number): void;
    /**
     * Calculate padding for the axis.
     *
     * @returns {string}
     * @private
     */
    getRangePadding(chart: Chart): string;
    /**
     * Calculate maximum label width for the axis.
     *
     * @returns {void}
     * @private
     */
    getMaxLabelWidth(chart: Chart): void;
    /**
     * Finds the multiple rows for axis.
     *
     * @returns {void}
     */
    private findMultiRows;
    /**
     * Finds the default module for axis.
     *
     * @returns {void}
     * @private
     */
    getModule(chart: Chart): void;
    /**
      * Set the axis `opposedPosition` and `isInversed` properties.
      *
      * @returns {void}
      * @private
      */
    setIsInversedAndOpposedPosition(isPolar?: boolean): void;
}
/**
 * Axis visible range
 * @public
 */
export interface VisibleRangeModel {
    /** axis minimum value */
    min?: number;
    /** axis maximum value */
    max?: number;
    /** axis interval value */
    interval?: number;
    /** axis delta value */
    delta?: number;
}
/** @private */
export  class VisibleLabels {
    text: string | string[];
    value: number;
    labelStyle: FontModel;
    size: svgBase.Size;
    breakLabelSize: svgBase.Size;
    index: number;
    originalText: string;
    constructor(text: string | string[], value: number, labelStyle: FontModel, originalText: string | string[], size?: svgBase.Size, breakLabelSize?: svgBase.Size, index?: number);
}
//node_modules/@syncfusion/ej2-charts/src/chart/axis/cartesian-panel.d.ts
export  class CartesianAxisLayoutPanel {
    private chart;
    private initialClipRect;
    private htmlObject;
    private element;
    private padding;
    /** @private */
    leftSize: number;
    /** @private */
    rightSize: number;
    /** @private */
    topSize: number;
    /** @private */
    bottomSize: number;
    /** @private */
    seriesClipRect: svgBase.Rect;
    /** @private */
    constructor(chartModule?: Chart);
    /**
     * Measure the axis size.
     *
     * @returns {void}
     * @private
     */
    measureAxis(rect: svgBase.Rect): void;
    private calculateFixedChartArea;
    private measureRowAxis;
    private measureColumnAxis;
    /**
     * Measure the column and row in chart.
     *
     * @returns {void}
     * @private
     */
    measureDefinition(definition: Row | Column, chart: Chart, size: svgBase.Size): void;
    /**
     * Measure the axis.
     *
     * @returns {void}
     * @private
     */
    private calculateAxisSize;
    /**
     * Measure the axis.
     *
     * @returns {void}
     * @private
     */
    measure(): void;
    private getAxisOffsetValue;
    private crossAt;
    private updateCrossAt;
    private pushAxis;
    private arrangeAxis;
    private getActualColumn;
    private getActualRow;
    /**
     * Measure the row size.
     *
     * @returns {void}
     */
    private calculateRowSize;
    /**
     * Measure the row size.
     *
     * @param {svgBase.Rect} rect rect
     * @returns {void}
     */
    private calculateColumnSize;
    /**
     * To render the axis element.
     *
     * @returns {void}
     * @private
     */
    renderAxes(): Element;
    /**
     * To render the axis scrollbar
     *
     * @param {Chart} chart chart
     * @param {Axis} axis axis
     * @returns {void}
     */
    private renderScrollbar;
    /**
     * To find the axis position
     *
     * @param {Axis} axis axis
     * @returns {boolean} axis position
     */
    private findAxisPosition;
    /**
     * To render the bootom line of the columns and rows
     *
     * @param {Row | Column} definition definition
     * @param {number} index index
     * @param {boolean} isRow isRow
     * @returns {void}
     */
    private drawBottomLine;
    /**
     * To render the axis line
     *
     * @param {Axis} axis axis
     * @param {number} index index
     * @param {number} plotX plotX
     * @param {number} plotY plotY
     * @param {Element} parent parent
     * @param {svgBase.Rect} rect rect
     * @returns {void}
     */
    private drawAxisLine;
    /**
     * To render the yAxis grid line
     *
     * @param {Axis} axis axis
     * @param {number} index index
     * @param {Element} parent parent
     * @param {svgBase.Rect} rect rect
     * @returns {void}
     */
    private drawYAxisGridLine;
    /**
     * To check the border of the axis
     *
     * @param {Axis} axis axis
     * @param {number} index index
     * @param {number} value value
     * @returns {boolean} check the border of the axis
     */
    private isBorder;
    /**
     * To render the yAxis label
     *
     * @param {Axis} axis axis
     * @param {number} index index
     * @param {Element} parent parent
     * @param {svgBase.Rect} rect rect
     * @returns {void}
     * @private
     */
    drawYAxisLabels(axis: Axis, index: number, parent: Element, rect: svgBase.Rect): void;
    /**
     * To get X value based on lineBreakAlignment for Y axis line break labels only.
     *
     * @param {number} x text x position
     * @param {Axis} axis y axis values
     * @param {number} textWidth axis label width
     * @returns {number} returns suitable axis label x position
     */
    private getAxisLabelXvalue;
    /**
     * To render the yAxis label border.
     *
     * @param {Axis} axis axis
     * @param {number} index index
     * @param {Element} parent parent
     * @param {svgBase.Rect} rect rect
     * @returns {void}
     */
    private drawYAxisBorder;
    /**
     * To render the yAxis title
     *
     * @param {Axis} axis axis
     * @param {number} index index
     * @param {Element} parent parent
     * @param {svgBase.Rect} rect rect
     * @returns {void}
     */
    private drawYAxisTitle;
    /**
     * xAxis grid line calculation performed here
     *
     * @param {Axis} axis axis
     * @param {number} index index
     * @param {Element} parent parent
     * @param {svgBase.Rect} rect rect
     * @returns {void}
     */
    private drawXAxisGridLine;
    /**
     * To render missing minor grid lines while zooming
     *
     * @param {Axis} axis axis
     * @param {number} tempInterval tempInterval
     * @param {svgBase.Rect} rect rect
     * @param {number} i i
     * @param {number} index index
     * @param {IThemeStyle} chartThemeStyle chartThemeStyle
     * @param {Element} parent parent
     * @returns {void}
     */
    private renderMinorGridOnZooming;
    /**
     * To calcualte the axis minor line
     *
     * @param {Axis} axis axis
     * @param {number} tempInterval tempInterval
     * @param {svgBase.Rect} rect rect
     * @param {number} labelIndex labelIndex
     * @param {boolean} isFirstLabel isFirstLabel
     * @returns {string[]} axis minor line path
     */
    private drawAxisMinorLine;
    /**
     * To find the numeric value of the log
     *
     * @param {Axis} axis axis
     * @param {number} logPosition logPosition
     * @param {number} value value
     * @param {number} labelIndex labelIndex
     * @param {boolean} isFirstLabel isFirstLabel
     * @returns {number} value
     */
    private findLogNumeric;
    /**
     * To render the xAxis Labels
     *
     * @param {Axis} axis axis
     * @param {number} index index
     * @param {Element} parent parent
     * @param {svgBase.Rect} rect rect
     * @returns {void}
     * @private
     */
    drawXAxisLabels(axis: Axis, index: number, parent: Element, rect: svgBase.Rect): void;
    /**
     * To get text anchor value for line break labels.
     *
     * @param {Axis} axis axis model
     * @returns {string} returns text anchor
     */
    private getAnchor;
    /**
     * Get rect coordinates
     *
     * @param {svgBase.Rect} rect rect
     * @returns {ChartLocation[]} rectangle points
     */
    private getRectanglePoints;
    /**
     * To get axis label text
     *
     * @param {VisibleLabels} label label
     * @param {Axis} axis axis
     * @param {number} intervalLength intervalLength
     * @returns {string | string[]} label or label collection
     */
    private getLabelText;
    /**
     * To render the x-axis label border.
     *
     * @param {Axis} axis axis
     * @param {number} index index
     * @param {Element} parent parent
     * @param {svgBase.Rect} axisRect axisRect
     * @returns {void}
     */
    private drawXAxisBorder;
    /**
     * To create border element of the axis
     *
     * @param {Axis} axis axis
     * @param {number} index index
     * @param {string} labelBorder labelBorder
     * @param {Element} parent parent
     * @returns {void}
     */
    private createAxisBorderElement;
    /**
     * To find the axis label of the intersect action
     *
     * @param {Axis} axis axis
     * @param {string} label label
     * @param {number} width width
     * @returns {string} label
     */
    private findAxisLabel;
    /**
     * X-Axis Title function performed
     *
     * @param {Axis} axis axis
     * @param {number} index index
     * @param {Element} parent parent
     * @param {svgBase.Rect} rect rect
     * @returns {void}
     */
    private drawXAxisTitle;
    /**
     * To render the axis grid and tick lines(Both Major and Minor)
     *
     * @param {Axis} axis axis
     * @param {number} index index
     * @param {string} gridDirection gridDirection
     * @param {MajorTickLinesModel | MinorTickLinesModel | MajorGridLinesModel | MinorGridLinesModel} gridModel gridModel
     * @param {string} gridId gridId
     * @param {number} gridIndex gridIndex
     * @param {Element} parent parent
     * @param {string} themeColor themeColor
     * @param {string} dashArray dashArray
     * @returns {void}
     */
    private renderGridLine;
    /**
     * To Find the parent node of the axis
     *
     * @param {string} elementId elementId
     * @param {Element} label label
     * @param {number} index index
     * @returns {Element} parent node of the axis
     */
    private findParentNode;
    /**
     * Create Zooming Labels Function Called here
     *
     * @param {Chart} chart chart
     * @param {Element} labelElement labelElement
     * @param {Axis} axis axis
     * @param {number} index index
     * @param {svgBase.Rect} rect rect
     * @returns {void}
     */
    private createZoomingLabel;
}
//node_modules/@syncfusion/ej2-charts/src/chart/axis/category-axis.d.ts
/**
 * `Category` module is used to render category axis.
 */
export  class Category extends NiceInterval {
    /**
     * Constructor for the category module.
     *
     * @private
     */
    constructor(chart: Chart);
    /**
     * The function to calculate the range and labels for the axis.
     *
     * @returns {void}
     */
    calculateRangeAndInterval(size: svgBase.Size, axis: Axis): void;
    /**
     * Actual Range for the axis.
     *
     * @private
     */
    getActualRange(axis: Axis, size: svgBase.Size): void;
    /**
     * Padding for the axis.
     *
     * @private
     */
    applyRangePadding(axis: Axis, size: svgBase.Size): void;
    /**
     * Calculate label for the axis.
     *
     * @private
     */
    calculateVisibleLabels(axis: Axis): void;
    /**
     * Get module name
     */
    protected getModuleName(): string;
    /**
     * To destroy the category axis.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/axis/date-time-axis.d.ts
/**
 * `DateTime` module is used to render datetime axis.
 */
export  class DateTime extends NiceInterval {
    min: number;
    max: number;
    /**
     * Constructor for the dateTime module.
     *
     * @private
     */
    constructor(chart?: Chart);
    /**
     * The function to calculate the range and labels for the axis.
     *
     * @returns {void}
     */
    calculateRangeAndInterval(size: svgBase.Size, axis: Axis): void;
    /**
     * Actual Range for the axis.
     *
     * @private
     */
    getActualRange(axis: Axis, size: svgBase.Size): void;
    /**
     * Apply padding for the range.
     *
     * @private
     */
    applyRangePadding(axis: Axis, size: svgBase.Size): void;
    private getYear;
    private getMonth;
    private getDay;
    private getHour;
    /**
     * Calculate visible range for axis.
     *
     * @private
     */
    protected calculateVisibleRange(size: svgBase.Size, axis: Axis): void;
    /**
     * Calculate visible labels for the axis.
     *
     * @param {Axis} axis axis
     * @param {Chart | RangeNavigator} chart chart
     * @returns {void}
     * @private
     */
    calculateVisibleLabels(axis: Axis, chart: Chart | RangeNavigator): void;
    /** @private */
    private blazorCustomFormat;
    /** @private */
    increaseDateTimeInterval(axis: Axis, value: number, interval: number): Date;
    private alignRangeStart;
    private getDecimalInterval;
    /**
     * Get module name
     */
    protected getModuleName(): string;
    /**
     * To destroy the category axis.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/axis/date-time-category-axis.d.ts
/**
 * Category module is used to render category axis.
 */
export  class DateTimeCategory extends Category {
    private axisSize;
    /**
     * Constructor for the category module.
     *
     * @private
     */
    constructor(chart: Chart);
    /**
     * The function to calculate the range and labels for the axis.
     *
     * @returns {void}
     * @private
     */
    calculateRangeAndInterval(size: svgBase.Size, axis: Axis): void;
    /**
     * Calculate label for the axis.
     *
     * @private
     */
    calculateVisibleLabels(axis: Axis): void;
    /** @private */
    private blazorCustomFormat;
    /**
     * To get the Indexed axis label text with axis format for DateTimeCategory axis
     *
     * @param {string} value value
     * @param {Function} format format
     * @returns {string} Indexed axis label text
     */
    getIndexedAxisLabel(value: string, format: Function): string;
    /**
     * get same interval
     */
    private sameInterval;
    /**
     * Get module name
     */
    protected getModuleName(): string;
    /**
     * To destroy the category axis.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/axis/double-axis.d.ts
/**
 * Numeric module is used to render numeric axis.
 */
export  class Double {
    /** @private */
    chart: Chart;
    /** @private */
    min: Object;
    /** @private */
    max: Object;
    private isDrag;
    private interval;
    private paddingInterval;
    private isColumn;
    /**
     * Constructor for the dateTime module.
     *
     * @private
     */
    constructor(chart?: Chart);
    /**
     * Numeric Nice Interval for the axis.
     *
     * @private
     */
    protected calculateNumericNiceInterval(axis: Axis, delta: number, size: svgBase.Size): number;
    /**
     * Actual Range for the axis.
     *
     * @private
     */
    isAutoIntervalOnBothAxis(axis: Axis): boolean;
    getActualRange(axis: Axis, size: svgBase.Size): void;
    /**
     * Range for the axis.
     *
     * @private
     */
    initializeDoubleRange(axis: Axis): void;
    /**
     * The function to calculate the range and labels for the axis.
     *
     * @returns {void}
     * @private
     */
    calculateRangeAndInterval(size: svgBase.Size, axis: Axis): void;
    /**
     * Calculate Range for the axis.
     *
     * @private
     */
    protected calculateRange(axis: Axis): void;
    private yAxisRange;
    private findMinMax;
    /**
     * Apply padding for the range.
     *
     * @private
     */
    applyRangePadding(axis: Axis, size: svgBase.Size): void;
    updateActualRange(axis: Axis, minimum: number, maximum: number, interval: number): void;
    private findAdditional;
    private findNormal;
    /**
     * Calculate visible range for axis.
     *
     * @private
     */
    protected calculateVisibleRange(size: svgBase.Size, axis: Axis): void;
    /**
     * Calculate label for the axis.
     *
     * @private
     */
    calculateVisibleLabels(axis: Axis, chart: Chart | RangeNavigator): void;
    /**
     * Format of the axis label.
     *
     * @private
     */
    protected getFormat(axis: Axis): string;
    /**
     * Formatted the axis label.
     *
     * @private
     */
    formatValue(axis: Axis, isCustom: boolean, format: string, tempInterval: number): string;
}
//node_modules/@syncfusion/ej2-charts/src/chart/axis/logarithmic-axis.d.ts
/**
 * `Logarithmic` module is used to render log axis.
 */
export  class Logarithmic extends Double {
    /**
     * Constructor for the logerithmic module.
     *
     * @private
     */
    constructor(chart: Chart);
    /**
     * The method to calculate the range and labels for the axis.
     *
     * @returns {void}
     */
    calculateRangeAndInterval(size: svgBase.Size, axis: Axis): void;
    /**
     * Calculates actual range for the axis.
     *
     * @private
     */
    getActualRange(axis: Axis, size: svgBase.Size): void;
    /**
     * Calculates visible range for the axis.
     *
     * @private
     */
    protected calculateVisibleRange(size: svgBase.Size, axis: Axis): void;
    /**
     * Calculates log iInteval for the axis.
     *
     * @private
     */
    protected calculateLogNiceInterval(delta: number, size: svgBase.Size, axis: Axis): number;
    /**
     * Calculates labels for the axis.
     *
     * @private
     */
    calculateVisibleLabels(axis: Axis, chart: Chart | RangeNavigator): void;
    /**
     * Get module name
     */
    protected getModuleName(): string;
    /**
     * To destroy the category axis.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/axis/multi-level-labels.d.ts
/**
 * MultiLevel Labels src
 */
/**
 * `MultiLevelLabel` module is used to render the multi level label in chart.
 */
export  class MultiLevelLabel {
    /** @private */
    chart: Chart;
    /** @private */
    xAxisPrevHeight: number[];
    /** @private */
    xAxisMultiLabelHeight: number[];
    /** @private */
    yAxisPrevHeight: number[];
    /** @private */
    yAxisMultiLabelHeight: number[];
    /** @private */
    multiElements: Element;
    /** @private */
    labelElement: Element;
    /** @private */
    multiLevelLabelRectXRegion: svgBase.Rect[];
    /** @private */
    xLabelCollection: svgBase.TextOption[];
    /**
     * Constructor for the logerithmic module.
     *
     * @private
     */
    constructor(chart: Chart);
    /**
     * Binding events for multi level module.
     */
    private addEventListener;
    /**
     * Finds multilevel label height
     *
     * @returns {void}
     */
    getMultilevelLabelsHeight(axis: Axis): void;
    /**
     * render x axis multi level labels
     *
     * @private
     * @returns {void}
     */
    renderXAxisMultiLevelLabels(axis: Axis, index: number, parent: Element, axisRect: svgBase.Rect): void;
    /**
     * render x axis multi level labels border
     *
     * @private
     * @returns {void}
     */
    private renderXAxisLabelBorder;
    /**
     * render y axis multi level labels
     *
     * @private
     * @returns {void}
     */
    renderYAxisMultiLevelLabels(axis: Axis, index: number, parent: Element, rect: svgBase.Rect): void;
    /**
     * render y axis multi level labels border
     *
     * @private
     * @returns {void}
     */
    private renderYAxisLabelBorder;
    /**
     * create cliprect
     *
     * @returns {void}
     * @private
     */
    createClipRect(x: number, y: number, height: number, width: number, clipId: string, axisId: string): void;
    /**
     * create borer element
     *
     * @returns {void}
     * @private
     */
    createBorderElement(borderIndex: number, axisIndex: number, axis: Axis, path: string, pointIndex?: number): void;
    /**
     * Triggers the event.
     *
     * @returns {void}
     * @private
     */
    triggerMultiLabelRender(axis: Axis, text: string, textStyle: FontModel, textAlignment: Alignment, customAttributes: object): IAxisMultiLabelRenderEventArgs;
    /**
     * Triggers the event.
     *
     * @returns {void}
     * @private
     */
    MultiLevelLabelClick(labelIndex: string, axisIndex: number): IMultiLevelLabelClickEventArgs;
    /**
     * To click the multi level label
     *
     * @returns {void}
     * @private
     */
    click(event: Event): void;
    /**
     * To get the module name for `MultiLevelLabel`.
     *
     * @private
     */
    getModuleName(): string;
    /**
     * To destroy the `MultiLevelLabel` module.
     *
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/axis/polar-radar-panel.d.ts
/**
 * Specifies the Polar Axis Layout.
 */
export  class PolarRadarPanel extends LineBase {
    private initialClipRect;
    private htmlObject;
    private element;
    centerX: number;
    centerY: number;
    startAngle: number;
    /** @private */
    visibleAxisLabelRect: svgBase.Rect[];
    /** @private */
    seriesClipRect: svgBase.Rect;
    /**
     * Measure the polar radar axis size.
     *
     * @returns {void}
     * @private
     */
    measureAxis(rect: svgBase.Rect): void;
    private measureRowAxis;
    private measureColumnAxis;
    /**
     * Measure the column and row in chart.
     *
     * @returns {void}
     * @private
     */
    measureDefinition(definition: Row | Column, chart: Chart, size: svgBase.Size): void;
    /**
     * Measure the axis.
     *
     * @returns {void}
     * @private
     */
    private calculateAxisSize;
    /**
     * Measure the axis.
     *
     * @returns {void}
     * @private
     */
    measure(): void;
    /**
     * Measure the row size.
     *
     * @returns {void}
     */
    private calculateRowSize;
    /**
     * Measure the row size.
     *
     * @returns {void}
     */
    private calculateColumnSize;
    /**
     * To render the axis element.
     *
     * @returns {void}
     * @private
     */
    renderAxes(): Element;
    private drawYAxisLine;
    drawYAxisLabels(axis: Axis, index: number): void;
    private drawYAxisGridLine;
    private renderRadarGrid;
    private drawXAxisGridLine;
    private drawAxisMinorLine;
    /**
     * To render the axis label.
     *
     * @param {Axis} axis axis
     * @param {number} index index
     * @returns {void}
     * @private
     */
    drawXAxisLabels(axis: Axis, index: number): void;
    /**
     * To get available space to trim.
     *
     * @param {svgBase.Rect} legendRect legendRect
     * @param {svgBase.Rect} labelRect labelRect
     * @returns {number} available space value
     */
    private getAvailableSpaceToTrim;
    /**
     * Getting axis label bounds
     *
     * @param {number} pointX pointX
     * @param {number} pointY pointY
     * @param {VisibleLabels} label label
     * @param {string} anchor anchor
     * @returns {svgBase.Rect} label region
     */
    private getLabelRegion;
    private renderTickLine;
    private renderGridLine;
    private setPointerEventNone;
}
//node_modules/@syncfusion/ej2-charts/src/chart/axis/strip-line.d.ts
/**
 * `StripLine` module is used to render the stripLine in chart.
 */
export  class StripLine {
    /**
     * Finding x, y, width and height of the strip line
     *
     * @param {Axis} axis axis
     * @param {StripLineSettingsModel} stripline stripline
     * @param {Rect} seriesClipRect seriesClipRect
     * @param {number} startValue startValue
     * @param {Axis} segmentAxis segmentAxis
     * @param {Chart} chart chart instance
     */
    private measureStripLine;
    /**
     * To get from to value from start, end, size, start from axis
     *
     * @param {number} start start
     * @param {number} end end
     * @param {number} size size
     * @param {boolean} startFromAxis startFromAxis
     * @param {Axis} axis axis
     * @param {StripLineSettingsModel} stripline stripline
     */
    private getFromTovalue;
    /**
     * Finding end value of the strip line
     *
     * @param {number} to to
     * @param {number} from from
     * @param {number} size size
     * @param {Axis} axis axis
     * @param {number} end end
     * @param {StripLineSettingsModel} stripline stripline
     */
    private getToValue;
    /**
     * To check the strip line values within range
     *
     * @param {number} value value
     * @param {Axis} axis axis
     */
    private findValue;
    /**
     * Date parse
     *
     * @param {Date} value date
     * @param {Chart} chart chart instance
     * @returns {Date} parsed date
     */
    private dateParse;
    /**
     * To render strip lines based start and end.
     *
     * @param {Chart} chart chart
     * @param {ZIndex} position position
     * @param {Axis[]} axes axes
     * @private
     */
    renderStripLine(chart: Chart, position: ZIndex, axes: Axis[]): void;
    /**
     * To convert the C# date to js date
     *
     * @param {string | number | Object} value date value
     * @returns {boolean} returns true if datetime value type is string(for asp platform)
     */
    private isCoreDate;
    /**
     * To get the total milli seconds
     *
     * @param {Date | number | Object} value date value
     * @param {Chart} chart chart instance
     * @returns {number} returns milliseconds
     */
    private dateToMilliSeconds;
    /**
     * To draw the single line strip line
     *
     * @param {StripLineSettingsModel} stripline stripline
     * @param {Rect} rect rect
     * @param {string} id id
     * @param {Element} parent parent
     * @param {Chart} chart chart
     * @param {Axis} axis axis
     */
    private renderPath;
    /**
     * To draw the rectangle
     *
     * @param {StripLineSettingsModel} stripline stripline
     * @param {Rect} rect rect
     * @param {string} id id
     * @param {Element} parent parent
     * @param {Chart} chart chart
     */
    private renderRectangle;
    /**
     * To create the text on strip line
     *
     * @param {StripLineSettingsModel} stripline stripline
     * @param {Rect} rect rect
     * @param {string} id id
     * @param {Element} parent parent
     * @param {Chart} chart chart
     * @param {Axis} axis axis
     */
    private renderText;
    private invertAlignment;
    /**
     * To find the next value of the recurrence strip line
     *
     * @param {Axis} axis axis
     * @param {StripLineSettingsModel} stripline stripline
     * @param {number} startValue startValue
     * @param {Chart} chart chart instance
     * @returns {number} next start value of the recurrence strip line
     */
    private getStartValue;
    /**
     * Finding segment axis for segmented strip line
     *
     * @param {Axis[]} axes axes collection
     * @param {Axis} axis axis
     * @param {StripLineSettingsModel} stripline stripline
     */
    private getSegmentAxis;
    /**
     * To render strip line on chart
     *
     * @param {Axis} axis axis
     * @param {StripLineSettingsModel} stripline stripline
     * @param {Rect} seriesClipRect seriesClipRect
     * @param {string} id id
     * @param {Element} striplineGroup striplineGroup
     * @param {Chart} chart chart
     * @param {number} startValue startValue
     * @param {Axis} segmentAxis segmentAxis
     * @param {number} count count
     */
    private renderStripLineElement;
    /**
     * To find the factor of the text
     *
     * @param {Anchor} anchor text anchor
     */
    private factor;
    /**
     * To find the start value of the text
     *
     * @param {number} xy xy values
     * @param {number} size text size
     * @param {Anchor} textAlignment text alignment
     */
    private getTextStart;
    /**
     * To get the module name for `StripLine`.
     *
     * @private
     */
    getModuleName(): string;
    /**
     * To destroy the `StripLine` module.
     *
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/chart-model.d.ts
/**
 * Interface for a class RangeColorSetting
 */
export interface RangeColorSettingModel {
    /**
     * Specify the start value of color mapping range
     */
    start?: number;
    /**
     * Specify the end value of color mapping range
     */
    end?: number;
    /**
     * Specify the fill colors of point those lies on the given range, if multiple colors mentioned, then we need to fill gradient
     */
    colors?: string[];
    /**
     * Specify name for the range mapping item.
     */
    label?: string;
}
/**
 * Interface for a class CrosshairSettings
 */
export interface CrosshairSettingsModel {
    /**
     * If set to true, crosshair line becomes visible.
     *
     * @default false
     */
    enable?: boolean;
    /**
     * DashArray for crosshair.
     *
     * @default ''
     */
    dashArray?: string;
    /**
     * Options to customize the crosshair line.
     */
    line?: BorderModel;
    /**
     * Specifies the line type. Horizontal mode enables the horizontal line and Vertical mode enables the vertical line. They are,
     * * None: Hides both vertical and horizontal crosshair lines.
     * * Both: Shows both vertical and horizontal crosshair lines.
     * * Vertical: Shows the vertical line.
     * * Horizontal: Shows the horizontal line.
     *
     * @default Both
     */
    lineType?: LineType;
    /**
     * The color of the border that accepts value in hex and rgba as a valid CSS color string.
     * @default ''
     */
    verticalLineColor?: string;
    /**
     * The color of the border that accepts value in hex and rgba as a valid CSS color string.
     * @default ''
     */
    horizontalLineColor?: string;
    /**
     * The opacity for background.
     * @default 1
     */
    opacity?: number;
}
/**
 * Interface for a class ZoomSettings
 */
export interface ZoomSettingsModel {
    /**
     * If set to true, chart can be zoomed by a rectangular selecting region on the plot area.
     *
     * @default false
     */
    enableSelectionZooming?: boolean;
    /**
     * If to true, chart can be pinched to zoom in / zoom out.
     *
     * @default false
     */
    enablePinchZooming?: boolean;
    /**
     * If set to true, chart can be rendered with toolbar at initial load.
     *
     * @default false
     */
    showToolbar?: boolean;
    /**
     * If set to true, chart can be zoomed by using mouse wheel.
     *
     * @default false
     */
    enableMouseWheelZooming?: boolean;
    /**
     * If set to true, zooming will be performed on mouse up. It requires `enableSelectionZooming` to be true.
     * ```html
     * <div id='Chart'></div>
     * ```
     * ```typescript
     * let chart$: Chart = new Chart({
     * ...
     *    zoomSettings: {
     *      enableSelectionZooming: true,
     *      enableDeferredZooming: false
     *    }
     * ...
     * });
     * chart.appendTo('#Chart');
     * ```
     *
     * @default true
     */
    enableDeferredZooming?: boolean;
    /**
     * Specifies whether to allow zooming vertically or horizontally or in both ways. They are,
     * * x,y: Chart can be zoomed both vertically and horizontally.
     * * x: Chart can be zoomed horizontally.
     * * y: Chart can be zoomed  vertically.
     *  It requires `enableSelectionZooming` to be true.
     * ```html
     * <div id='Chart'></div>
     * ```
     * ```typescript
     * let chart$: Chart = new Chart({
     * ...
     *    zoomSettings: {
     *      enableSelectionZooming: true,
     *      mode: 'XY'
     *    }
     * ...
     * });
     * chart.appendTo('#Chart');
     * ```
     *
     * @default 'XY'
     */
    mode?: ZoomMode;
    /**
     * Specifies the toolkit options for the zooming as follows:
     * * Zoom
     * * ZoomIn
     * * ZoomOut
     * * Pan
     * * Reset
     *
     * @default '["Zoom", "ZoomIn", "ZoomOut", "Pan", "Reset"]'
     */
    toolbarItems?: ToolbarItems[];
    /**
     * Specifies whether chart needs to be panned by default.
     *
     * @default false.
     */
    enablePan?: boolean;
    /**
     * Specifies whether axis needs to have scrollbar.
     *
     * @default false.
     */
    enableScrollbar?: boolean;
}
/**
 * Interface for a class Chart
 */
export interface ChartModel extends base.ComponentModel{
    /**
     * The width of the chart as a string accepts input as both like '100px' or '100%'.
     * If specified as '100%, chart renders to the full width of its parent element.
     *
     * @default null
     */
    width?: string;
    /**
     * The height of the chart as a string accepts input both as '100px' or '100%'.
     * If specified as '100%, chart renders to the full height of its parent element.
     *
     * @default null
     */
    height?: string;
    /**
     * Title of the chart
     *
     * @default ''
     */
    title?: string;
    /**
     * Specifies the DataSource for the chart. It can be an array of JSON objects or an instance of data.DataManager.
     * ```html
     * <div id='Chart'></div>
     * ```
     * ```typescript
     * let dataManager$: data.DataManager = new data.DataManager({
     *         url: 'http://mvc.syncfusion.com/Services/Northwnd.svc/Tasks/'
     * });
     * let query$: Query = new Query().take(50).where('Estimate', 'greaterThan', 0, false);
     * let chart$: Chart = new Chart({
     * ...
     *  dataSource:dataManager,
     *   series: [{
     *        xName: 'Id',
     *        yName: 'Estimate',
     *        query: query
     *    }],
     * ...
     * });
     * chart.appendTo('#Chart');
     * ```
     *
     * @default ''
     */
    dataSource?: Object | data.DataManager;
    /**
     * Options for customizing the title of the Chart.
     */
    titleStyle?: FontModel;
    /**
     * SubTitle of the chart
     *
     * @default ''
     */
    subTitle?: string;
    /**
     * Options for customizing the Subtitle of the Chart.
     */
    subTitleStyle?: FontModel;
    /**
     *  Options to customize left, right, top and bottom margins of the chart.
     */
    margin?: MarginModel;
    /**
     * Options for customizing the color and width of the chart border.
     */
    border?: BorderModel;
    /**
     * The background color of the chart that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    background?: string;
    /**
     * Options for configuring the border and background of the chart area.
     */
    chartArea?: ChartAreaModel;
    /**
     * Options to configure the horizontal axis.
     */
    primaryXAxis?: AxisModel;
    /**
     * Options to configure the vertical axis.
     */
    primaryYAxis?: AxisModel;
    /**
     * Options to split Chart into multiple plotting areas horizontally.
     * Each object in the collection represents a plotting area in the Chart.
     */
    rows?: RowModel[];
    /**
     * Options to split chart into multiple plotting areas vertically.
     * Each object in the collection represents a plotting area in the chart.
     */
    columns?: ColumnModel[];
    /**
     * Secondary axis collection for the chart.
     */
    axes?: AxisModel[];
    /**
     * The configuration for series in the chart.
     */
    series?: SeriesModel[];
    /**
     * The configuration for annotation in chart.
     */
    annotations?: ChartAnnotationSettingsModel[];
    /**
     * Palette for the chart series.
     *
     * @default []
     */
    palettes?: string[];
    /**
     * Specifies the theme for the chart.
     *
     * @default 'Material'
     */
    theme?: ChartTheme;
    /**
     * Options for customizing the tooltip of the chart.
     */
    tooltip?: TooltipSettingsModel;
    /**
     * Options for customizing the crosshair of the chart.
     */
    crosshair?: CrosshairSettingsModel;
    /**
     * Options for customizing the legend of the chart.
     */
    legendSettings?: LegendSettingsModel;
    /**
     * Options for customizing the points fill color based on condition.
     */
    rangeColorSettings?: RangeColorSettingModel[];
    /**
     * Options to enable the zooming feature in the chart.
     */
    zoomSettings?: ZoomSettingsModel;
    /**
     * Define the color for the data point on highlight.
     *
     * @default ''
     */
    highlightColor?: string;
    /**
     * Specifies whether series or data point has to be selected. They are,
     * * none: Disables the selection.
     * * series: selects a series.
     * * point: selects a point.
     * * cluster: selects a cluster of point
     * * dragXY: selects points by dragging with respect to both horizontal and vertical axes
     * * dragX: selects points by dragging with respect to horizontal axis.
     * * dragY: selects points by dragging with respect to vertical axis.
     * * lasso: selects points by dragging with respect to free form.
     *
     * @default None
     */
    selectionMode?: SelectionMode;
    /**
     * Specifies whether series or data point has to be selected. They are,
     * * none: Disables the highlight.
     * * series: highlight a series.
     * * point: highlight a point.
     * * cluster: highlight a cluster of point
     *
     * @default None
     */
    highlightMode?: HighlightMode;
    /**
     * Specifies whether series or data point has to be selected. They are,
     * * none: sets none as selecting pattern.
     * * chessboard: sets chess board as selecting pattern.
     * * dots: sets dots as  selecting pattern.
     * * diagonalForward: sets diagonal forward as selecting pattern.
     * * crosshatch: sets crosshatch as selecting pattern.
     * * pacman: sets pacman selecting pattern.
     * * diagonalbackward: sets diagonal backward as selecting pattern.
     * * grid: sets grid as selecting pattern.
     * * turquoise: sets turquoise as selecting pattern.
     * * star: sets star as selecting pattern.
     * * triangle: sets triangle as selecting pattern.
     * * circle: sets circle as selecting pattern.
     * * tile: sets tile as selecting pattern.
     * * horizontaldash: sets horizontal dash as selecting pattern.
     * * verticaldash: sets vertical dash as selecting pattern.
     * * rectangle: sets rectangle as selecting pattern.
     * * box: sets box as selecting pattern.
     * * verticalstripe: sets vertical stripe as  selecting pattern.
     * * horizontalstripe: sets horizontal stripe as selecting pattern.
     * * bubble: sets bubble as selecting pattern.
     *
     * @default None
     */
    selectionPattern?: SelectionPattern;
    /**
     * Specifies whether series or data point has to be selected. They are,
     * * none: sets none as highlighting pattern.
     * * chessboard: sets chess board as highlighting pattern.
     * * dots: sets dots as highlighting pattern.
     * * diagonalForward: sets diagonal forward as highlighting pattern.
     * * crosshatch: sets crosshatch as highlighting pattern.
     * * pacman: sets pacman highlighting  pattern.
     * * diagonalbackward: sets diagonal backward as highlighting pattern.
     * * grid: sets grid as highlighting pattern.
     * * turquoise: sets turquoise as highlighting pattern.
     * * star: sets star as highlighting  pattern.
     * * triangle: sets triangle as highlighting pattern.
     * * circle: sets circle as highlighting  pattern.
     * * tile: sets tile as highlighting pattern.
     * * horizontaldash: sets horizontal dash as highlighting pattern.
     * * verticaldash: sets vertical dash as highlighting pattern.
     * * rectangle: sets rectangle as highlighting  pattern.
     * * box: sets box as highlighting pattern.
     * * verticalstripe: sets vertical stripe as highlighting  pattern.
     * * horizontalstripe: sets horizontal stripe as highlighting  pattern.
     * * bubble: sets bubble as highlighting  pattern.
     *
     * @default None
     */
    highlightPattern?: SelectionPattern;
    /**
     * If set true, enables the multi selection in chart. It requires `selectionMode` to be `Point` | `Series` | or `Cluster`.
     *
     * @default false
     */
    isMultiSelect?: boolean;
    /**
     * If set true, enables the multi drag selection in chart. It requires `selectionMode` to be `Dragx` | `DragY` | or `DragXY`.
     *
     * @default false
     */
    allowMultiSelection?: boolean;
    /**
     * To enable11 export feature in chart.
     *
     * @default true
     */
    enableExport?: boolean;
    /**
     * To enable11 export feature in blazor chart.
     *
     * @default false
     */
    allowExport?: boolean;
    /**
     * Specifies the point indexes to be selected while loading a chart.
     * It requires `selectionMode` or `highlightMode` to be `Point` | `Series` | or `Cluster`.
     * ```html
     * <div id='Chart'></div>
     * ```
     * ```typescript
     * let chart$: Chart = new Chart({
     * ...
     *   selectionMode: 'Point',
     *   selectedDataIndexes: [ { series: 0, point: 1},
     *                          { series: 2, point: 3} ],
     * ...
     * });
     * chart.appendTo('#Chart');
     * ```
     *
     * @default []
     */
    selectedDataIndexes?: IndexesModel[];
    /**
     * Specifies whether a grouping separator should be used for a number.
     *
     * @default false
     */
    useGroupingSeparator?: boolean;
    /**
     * If set to true, both axis interval will be calculated automatically with respect to the zoomed range.
     *
     * @default false
     */
    enableAutoIntervalOnBothAxis?: boolean;
    /**
     * It specifies whether the chart should be render in transposed manner or not.
     *
     * @default false
     */
    isTransposed?: boolean;
    /**
     * It specifies whether the chart should be rendered in canvas mode
     *
     * @default false
     */
    enableCanvas?: boolean;
    /**
     * The background image of the chart that accepts value in string as url link or location of an image.
     *
     * @default null
     */
    backgroundImage?: string;
    /**
     * Defines the collection of technical indicators, that are used in financial markets
     */
    indicators?: TechnicalIndicatorModel[];
    /**
     * If set true, Animation process will be executed.
     *
     * @default true
     */
    enableAnimation?: boolean;
    /**
     * Description for chart.
     *
     * @default null
     */
    description?: string;
    /**
     * TabIndex value for the chart.
     *
     * @default 1
     */
    tabIndex?: number;
    /**
     * To enable the side by side placing the points for column type series.
     *
     * @default true
     */
    enableSideBySidePlacement?: boolean;
    /**
     * Triggers after resizing of chart
     *
     * @event resized
     * @blazorProperty 'Resized'
     */
    resized?: base.EmitType<IResizeEventArgs>;
    /**
     * Triggers before resizing of chart
     * @event
     * @blazorProperty 'BeforeResize'
     */
    beforeResize?: base.EmitType<IBeforeResizeEventArgs>;
    /**
     * Triggers before the annotation gets rendered.
     *
     * @event annotationRender
     * @deprecated
     */
    annotationRender?: base.EmitType<IAnnotationRenderEventArgs>;
    /**
     * Triggers before the prints gets started.
     *
     * @event beforePrint
     * @blazorProperty 'OnPrint'
     */
    beforePrint?: base.EmitType<IPrintEventArgs>;
    /**
     * Triggers after chart load.
     *
     * @event loaded
     * @blazorProperty 'Loaded'
     */
    loaded?: base.EmitType<ILoadedEventArgs>;
    /**
     * Triggers before the export gets started.
     *
     * @event beforeExport
     */
    beforeExport?: base.EmitType<IExportEventArgs>;
    /**
     * Triggers after11 the export completed.
     *
     * @event afterExport
     * @blazorProperty 'AfterExport'
     */
    afterExport?: base.EmitType<IAfterExportEventArgs>;
    /**
     * Triggers before chart load.
     *
     * @event load
     */
    load?: base.EmitType<ILoadedEventArgs>;
    /**
     * Triggers after animation is completed for the series.
     *
     * @event animationComplete
     * @blazorProperty 'OnAnimationComplete'
     */
    animationComplete?: base.EmitType<IAnimationCompleteEventArgs>;
    /**
     * Triggers before the legend is rendered.
     *
     * @event legendRender
     * @deprecated
     */
    legendRender?: base.EmitType<ILegendRenderEventArgs>;
    /**
     * Triggers before the data label for series is rendered.
     *
     * @event textRender
     * @deprecated
     */
    textRender?: base.EmitType<ITextRenderEventArgs>;
    /**
     * Triggers before each points for the series is rendered.
     *
     * @event pointRender
     * @deprecated
     */
    pointRender?: base.EmitType<IPointRenderEventArgs>;
    /**
     * Triggers before the series is rendered.
     *
     * @event seriesRender
     * @deprecated
     */
    seriesRender?: base.EmitType<ISeriesRenderEventArgs>;
    /**
     * Triggers before each axis label is rendered.
     *
     * @event axisLabelRender
     * @deprecated
     */
    axisLabelRender?: base.EmitType<IAxisLabelRenderEventArgs>;
    /**
     * Triggers when x axis label clicked.
     *
     * @event axisLabelClick
     * @deprecated
     */
    axisLabelClick?: base.EmitType<IAxisLabelClickEventArgs>;
    /**
     * Triggers before each axis range is rendered.
     *
     * @event axisRangeCalculated
     * @deprecated
     */
    axisRangeCalculated?: base.EmitType<IAxisRangeCalculatedEventArgs>;
    /**
     * Triggers before each axis multi label is rendered.
     *
     * @event axisMultiLabelRender
     * @deprecated
     */
    axisMultiLabelRender?: base.EmitType<IAxisMultiLabelRenderEventArgs>;
    /**
     * Triggers after click on legend
     *
     * @event legendClick
     */
    legendClick?: base.EmitType<ILegendClickEventArgs>;
    /**
     * Triggers after click on multiLevelLabelClick
     *
     * @event multiLevelLabelClick
     */
    multiLevelLabelClick?: base.EmitType<IMultiLevelLabelClickEventArgs>;
    /**
     * Triggers before the tooltip for series is rendered.
     *
     * @event tooltipRender
     */
    tooltipRender?: base.EmitType<ITooltipRenderEventArgs>;
    /**
     * Triggers before the shared tooltip for series is rendered.
     *
     * @event sharedTooltipRender
     */
    sharedTooltipRender?: base.EmitType<ISharedTooltipRenderEventArgs>;
    /**
     * Triggers on hovering the chart.
     *
     * @event chartMouseMove
     * @blazorProperty 'OnChartMouseMove'
     */
    chartMouseMove?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on clicking the chart.
     *
     * @event chartMouseClick
     * @blazorProperty 'OnChartMouseClick'
     */
    chartMouseClick?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on double clicking the chart.
     *
     * @event chartDoubleClick
     * @blazorProperty 'OnChartDoubleClick'
     */
    chartDoubleClick?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on point click.
     *
     * @event pointClick
     * @blazorProperty 'OnPointClick'
     */
    pointClick?: base.EmitType<IPointEventArgs>;
    /**
     * Triggers on point double click.
     *
     * @event pointDoubleClick
     * @blazorProperty 'OnPointDoubleClick'
     */
    pointDoubleClick?: base.EmitType<IPointEventArgs>;
    /**
     * Triggers on point move.
     *
     * @event pointMove
     * @blazorProperty 'PointMoved'
     */
    pointMove?: base.EmitType<IPointEventArgs>;
    /**
     * Triggers when cursor leaves the chart.
     *
     * @event chartMouseLeave
     * @blazorProperty 'OnChartMouseLeave'
     */
    chartMouseLeave?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on mouse down.
     *
     * @event chartMouseDown
     * @blazorProperty 'OnChartMouseDown'
     */
    chartMouseDown?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on mouse up.
     *
     * @event chartMouseUp
     * @blazorProperty 'OnChartMouseUp'
     */
    chartMouseUp?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers after the drag selection is completed.
     *
     * @event dragComplete
     * @blazorProperty 'OnDragComplete'
     */
    dragComplete?: base.EmitType<IDragCompleteEventArgs>;
    /**
     * Triggers after the selection is completed.
     *
     * @event selectionComplete
     * @blazorProperty 'OnSelectionComplete'
     */
    selectionComplete?: base.EmitType<ISelectionCompleteEventArgs>;
    /**
     * Triggers after the zoom selection is completed.
     *
     * @event zoomComplete
     * @deprecated
     */
    zoomComplete?: base.EmitType<IZoomCompleteEventArgs>;
    /**
     * Triggers after the zoom selection is triggered.
     *
     * @event onZooming
     */
    onZooming?: base.EmitType<IZoomingEventArgs>;
    /**
     * Triggers when start the scroll.
     *
     * @event scrollStart
     * @blazorProperty 'OnScrollStart'
     */
    scrollStart?: base.EmitType<IScrollEventArgs>;
    /**
     * Triggers after the scroll end.
     *
     * @event scrollEnd
     * @blazorProperty 'OnScrollEnd'
     */
    scrollEnd?: base.EmitType<IScrollEventArgs>;
    /**
     * Triggers when change the scroll.
     *
     * @event scrollChanged
     * @blazorProperty 'ScrollChanged'
     */
    scrollChanged?: base.EmitType<IScrollEventArgs>;
    /**
     * Triggers when the point drag start.
     *
     * @event dragStart
     */
    dragStart?: base.EmitType<IDataEditingEventArgs>;
    /**
     * Triggers when the point is dragging.
     *
     * @event drag
     */
    drag?: base.EmitType<IDataEditingEventArgs>;
    /**
     * Triggers when the point drag end.
     *
     * @event dragEnd
     */
    dragEnd?: base.EmitType<IDataEditingEventArgs>;
    /**
     * Defines the currencyCode format of the chart
     *
     * @private
     * @aspType string
     */
    currencyCode?: string;
}
//node_modules/@syncfusion/ej2-charts/src/chart/chart.d.ts
/**
 * Configures the RangeColorSetting in the chart.
 */
export  class RangeColorSetting extends base.ChildProperty<RangeColorSetting> {
    /**
     * Specify the start value of color mapping range
     */
    start: number;
    /**
     * Specify the end value of color mapping range
     */
    end: number;
    /**
     * Specify the fill colors of point those lies on the given range, if multiple colors mentioned, then we need to fill gradient
     */
    colors: string[];
    /**
     * Specify name for the range mapping item.
     */
    label: string;
}
/**
 * Configures the crosshair in the chart.
 */
export  class CrosshairSettings extends base.ChildProperty<CrosshairSettings> {
    /**
     * If set to true, crosshair line becomes visible.
     *
     * @default false
     */
    enable: boolean;
    /**
     * DashArray for crosshair.
     *
     * @default ''
     */
    dashArray: string;
    /**
     * Options to customize the crosshair line.
     */
    line: BorderModel;
    /**
     * Specifies the line type. Horizontal mode enables the horizontal line and Vertical mode enables the vertical line. They are,
     * * None: Hides both vertical and horizontal crosshair lines.
     * * Both: Shows both vertical and horizontal crosshair lines.
     * * Vertical: Shows the vertical line.
     * * Horizontal: Shows the horizontal line.
     *
     * @default Both
     */
    lineType: LineType;
    /**
     * The color of the border that accepts value in hex and rgba as a valid CSS color string.
     * @default ''
     */
    verticalLineColor: string;
    /**
     * The color of the border that accepts value in hex and rgba as a valid CSS color string.
     * @default ''
     */
    horizontalLineColor: string;
    /**
     * The opacity for background.
     * @default 1
     */
    opacity: number;
}
/**
 * Configures the zooming behavior for the chart.
 */
export  class ZoomSettings extends base.ChildProperty<ZoomSettings> {
    /**
     * If set to true, chart can be zoomed by a rectangular selecting region on the plot area.
     *
     * @default false
     */
    enableSelectionZooming: boolean;
    /**
     * If to true, chart can be pinched to zoom in / zoom out.
     *
     * @default false
     */
    enablePinchZooming: boolean;
    /**
     * If set to true, chart can be rendered with toolbar at initial load.
     *
     * @default false
     */
    showToolbar: boolean;
    /**
     * If set to true, chart can be zoomed by using mouse wheel.
     *
     * @default false
     */
    enableMouseWheelZooming: boolean;
    /**
     * If set to true, zooming will be performed on mouse up. It requires `enableSelectionZooming` to be true.
     * ```html
     * <div id='Chart'></div>
     * ```
     * ```typescript
     * let chart$: Chart = new Chart({
     * ...
     *    zoomSettings: {
     *      enableSelectionZooming: true,
     *      enableDeferredZooming: false
     *    }
     * ...
     * });
     * chart.appendTo('#Chart');
     * ```
     *
     * @default true
     */
    enableDeferredZooming: boolean;
    /**
     * Specifies whether to allow zooming vertically or horizontally or in both ways. They are,
     * * x,y: Chart can be zoomed both vertically and horizontally.
     * * x: Chart can be zoomed horizontally.
     * * y: Chart can be zoomed  vertically.
     *  It requires `enableSelectionZooming` to be true.
     * ```html
     * <div id='Chart'></div>
     * ```
     * ```typescript
     * let chart$: Chart = new Chart({
     * ...
     *    zoomSettings: {
     *      enableSelectionZooming: true,
     *      mode: 'XY'
     *    }
     * ...
     * });
     * chart.appendTo('#Chart');
     * ```
     *
     * @default 'XY'
     */
    mode: ZoomMode;
    /**
     * Specifies the toolkit options for the zooming as follows:
     * * Zoom
     * * ZoomIn
     * * ZoomOut
     * * Pan
     * * Reset
     *
     * @default '["Zoom", "ZoomIn", "ZoomOut", "Pan", "Reset"]'
     */
    toolbarItems: ToolbarItems[];
    /**
     * Specifies whether chart needs to be panned by default.
     *
     * @default false.
     */
    enablePan: boolean;
    /**
     * Specifies whether axis needs to have scrollbar.
     *
     * @default false.
     */
    enableScrollbar: boolean;
}
/**
 * Represents the Chart control.
 * ```html
 * <div id="chart"/>
 * <script>
 *   var chartObj = new Chart({ isResponsive : true });
 *   chartObj.appendTo("#chart");
 * </script>
 * ```
 *
 * @public
 */
export  class Chart extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    /**
     * `lineSeriesModule` is used to add line series to the chart.
     */
    lineSeriesModule: LineSeries;
    /**
     * `multiColoredLineSeriesModule` is used to add multi colored line series to the chart.
     */
    multiColoredLineSeriesModule: MultiColoredLineSeries;
    /**
     * `multiColoredAreaSeriesModule` is used to add multi colored area series to the chart.
     */
    multiColoredAreaSeriesModule: MultiColoredAreaSeries;
    /**
     * `columnSeriesModule` is used to add column series to the chart.
     */
    columnSeriesModule: ColumnSeries;
    /**
     * `ParetoSeriesModule` is used to add pareto series in the chart.
     */
    paretoSeriesModule: ParetoSeries;
    /**
     * `areaSeriesModule` is used to add area series in the chart.
     */
    areaSeriesModule: AreaSeries;
    /**
     * `barSeriesModule` is used to add bar series to the chart.
     */
    barSeriesModule: BarSeries;
    /**
     * `stackingColumnSeriesModule` is used to add stacking column series in the chart.
     */
    stackingColumnSeriesModule: StackingColumnSeries;
    /**
     * `stackingAreaSeriesModule` is used to add stacking area series to the chart.
     */
    stackingAreaSeriesModule: StackingAreaSeries;
    /**
     * `stackingStepAreaSeriesModule` is used to add stacking step area series to the chart.
     */
    stackingStepAreaSeriesModule: StackingStepAreaSeries;
    /**
     * `stackingLineSeriesModule` is used to add stacking line series to the chart.
     */
    stackingLineSeriesModule: StackingLineSeries;
    /**
     * 'CandleSeriesModule' is used to add candle series in the chart.
     */
    candleSeriesModule: CandleSeries;
    /**
     * `stackingBarSeriesModule` is used to add stacking bar series to the chart.
     */
    stackingBarSeriesModule: StackingBarSeries;
    /**
     * `stepLineSeriesModule` is used to add step line series to the chart.
     */
    stepLineSeriesModule: StepLineSeries;
    /**
     * `stepAreaSeriesModule` is used to add step area series to the chart.
     */
    stepAreaSeriesModule: StepAreaSeries;
    /**
     * `polarSeriesModule` is used to add polar series in the chart.
     */
    polarSeriesModule: PolarSeries;
    /**
     *  `radarSeriesModule` is used to add radar series in the chart.
     */
    radarSeriesModule: RadarSeries;
    /**
     * `splineSeriesModule` is used to add spline series to the chart.
     */
    splineSeriesModule: SplineSeries;
    /**
     * `splineAreaSeriesModule` is used to add spline area series to the chart.
     */
    splineAreaSeriesModule: SplineAreaSeries;
    /**
     * `scatterSeriesModule` is used to add scatter series to the chart.
     */
    scatterSeriesModule: ScatterSeries;
    /**
     * `boxAndWhiskerSeriesModule` is used to add line series to the chart.
     */
    boxAndWhiskerSeriesModule: BoxAndWhiskerSeries;
    /**
     * `rangeColumnSeriesModule` is used to add rangeColumn series to the chart.
     */
    rangeColumnSeriesModule: RangeColumnSeries;
    /**
     * histogramSeriesModule is used to add histogram series in chart
     */
    histogramSeriesModule: HistogramSeries;
    /**
     * hiloSeriesModule is used to add hilo series in chart
     */
    hiloSeriesModule: HiloSeries;
    /**
     * hiloOpenCloseSeriesModule is used to add hilo series in chart
     */
    hiloOpenCloseSeriesModule: HiloOpenCloseSeries;
    /**
     * `waterfallSeries` is used to add waterfall series in chart.
     */
    waterfallSeriesModule: WaterfallSeries;
    /**
     * `bubbleSeries` is used to add bubble series in chart.
     */
    bubbleSeriesModule: BubbleSeries;
    /**
     * `rangeAreaSeriesModule` is used to add rangeArea series in chart.
     */
    rangeAreaSeriesModule: RangeAreaSeries;
    /**
     * `splineRangeAreaSeriesModule` is used to add splineRangeArea series in chart.
     */
    splineRangeAreaSeriesModule: SplineRangeAreaSeries;
    /**
     * `tooltipModule` is used to manipulate and add tooltip to the series.
     */
    tooltipModule: Tooltip;
    /**
     * `crosshairModule` is used to manipulate and add crosshair to the chart.
     */
    crosshairModule: Crosshair;
    /**
     * `errorBarModule` is used to manipulate and add errorBar for series.
     */
    errorBarModule: ErrorBar;
    /**
     * `dataLabelModule` is used to manipulate and add data label to the series.
     */
    dataLabelModule: DataLabel;
    /**
     * `datetimeModule` is used to manipulate and add dateTime axis to the chart.
     */
    dateTimeModule: DateTime;
    /**
     * `categoryModule` is used to manipulate and add category axis to the chart.
     */
    categoryModule: Category;
    /**
     * `dateTimeCategoryModule` is used to manipulate date time and category axis
     */
    dateTimeCategoryModule: DateTimeCategory;
    /**
     * `logarithmicModule` is used to manipulate and add log axis to the chart.
     */
    logarithmicModule: Logarithmic;
    /**
     * `legendModule` is used to manipulate and add legend to the chart.
     */
    legendModule: Legend;
    /**
     * `zoomModule` is used to manipulate and add zooming to the chart.
     */
    zoomModule: Zoom;
    /**
     * `dataEditingModule` is used to drag and drop of the point.
     */
    dataEditingModule: DataEditing;
    /**
     * `selectionModule` is used to manipulate and add selection to the chart.
     */
    selectionModule: Selection;
    /**
     * `highlightModule` is used to manipulate and add highlight to the chart.
     */
    highlightModule: Highlight;
    /**
     * `annotationModule` is used to manipulate and add annotation in chart.
     */
    annotationModule: ChartAnnotation;
    /**
     * `stripLineModule` is used to manipulate and add stripLine in chart.
     */
    stripLineModule: StripLine;
    /**
     * `multiLevelLabelModule` is used to manipulate and add multiLevelLabel in chart.
     */
    multiLevelLabelModule: MultiLevelLabel;
    /**
     * 'TrendlineModule' is used to predict the market trend using trendlines
     */
    trendLineModule: Trendlines;
    /**
     * `sMAIndicatorModule` is used to predict the market trend using SMA approach
     */
    sMAIndicatorModule: SmaIndicator;
    /**
     * `eMAIndicatorModule` is used to predict the market trend using EMA approach
     */
    eMAIndicatorModule: EmaIndicator;
    /**
     * `tMAIndicatorModule` is used to predict the market trend using TMA approach
     */
    tMAIndicatorModule: TmaIndicator;
    /**
     * `accumulationDistributionIndicatorModule` is used to predict the market trend using Accumulation Distribution approach
     */
    accumulationDistributionIndicatorModule: AccumulationDistributionIndicator;
    /**
     * `atrIndicatorModule` is used to predict the market trend using ATR approach
     */
    atrIndicatorModule: AtrIndicator;
    /**
     * `rSIIndicatorModule` is used to predict the market trend using RSI approach
     */
    rsiIndicatorModule: RsiIndicator;
    /**
     * `macdIndicatorModule` is used to predict the market trend using Macd approach
     */
    macdIndicatorModule: MacdIndicator;
    /**
     * `stochasticIndicatorModule` is used to predict the market trend using Stochastic approach
     */
    stochasticIndicatorModule: StochasticIndicator;
    /**
     * `momentumIndicatorModule` is used to predict the market trend using Momentum approach
     */
    momentumIndicatorModule: MomentumIndicator;
    /**
     * `bollingerBandsModule` is used to predict the market trend using Bollinger approach
     */
    bollingerBandsModule: BollingerBands;
    /**
     * ScrollBar Module is used to render scrollbar in chart while zooming.
     */
    scrollBarModule: ScrollBar;
    /**
     * Export Module1 is used to export chart.
     */
    exportModule: Export;
    /**
     * The width of the chart as a string accepts input as both like '100px' or '100%'.
     * If specified as '100%, chart renders to the full width of its parent element.
     *
     * @default null
     */
    width: string;
    /**
     * The height of the chart as a string accepts input both as '100px' or '100%'.
     * If specified as '100%, chart renders to the full height of its parent element.
     *
     * @default null
     */
    height: string;
    /**
     * Title of the chart
     *
     * @default ''
     */
    title: string;
    /**
     * Specifies the DataSource for the chart. It can be an array of JSON objects or an instance of data.DataManager.
     * ```html
     * <div id='Chart'></div>
     * ```
     * ```typescript
     * let dataManager$: data.DataManager = new data.DataManager({
     *         url: 'http://mvc.syncfusion.com/Services/Northwnd.svc/Tasks/'
     * });
     * let query$: Query = new Query().take(50).where('Estimate', 'greaterThan', 0, false);
     * let chart$: Chart = new Chart({
     * ...
     *  dataSource:dataManager,
     *   series: [{
     *        xName: 'Id',
     *        yName: 'Estimate',
     *        query: query
     *    }],
     * ...
     * });
     * chart.appendTo('#Chart');
     * ```
     *
     * @default ''
     */
    dataSource: Object | data.DataManager;
    /**
     * Options for customizing the title of the Chart.
     */
    titleStyle: FontModel;
    /**
     * SubTitle of the chart
     *
     * @default ''
     */
    subTitle: string;
    /**
     * Options for customizing the Subtitle of the Chart.
     */
    subTitleStyle: FontModel;
    /**
     *  Options to customize left, right, top and bottom margins of the chart.
     */
    margin: MarginModel;
    /**
     * Options for customizing the color and width of the chart border.
     */
    border: BorderModel;
    /**
     * The background color of the chart that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    background: string;
    /**
     * Options for configuring the border and background of the chart area.
     */
    chartArea: ChartAreaModel;
    /**
     * Options to configure the horizontal axis.
     */
    primaryXAxis: AxisModel;
    /**
     * Options to configure the vertical axis.
     */
    primaryYAxis: AxisModel;
    /**
     * Options to split Chart into multiple plotting areas horizontally.
     * Each object in the collection represents a plotting area in the Chart.
     */
    rows: RowModel[];
    /**
     * Options to split chart into multiple plotting areas vertically.
     * Each object in the collection represents a plotting area in the chart.
     */
    columns: ColumnModel[];
    /**
     * Secondary axis collection for the chart.
     */
    axes: AxisModel[];
    /**
     * The configuration for series in the chart.
     */
    series: SeriesModel[];
    /**
     * The configuration for annotation in chart.
     */
    annotations: ChartAnnotationSettingsModel[];
    /**
     * Palette for the chart series.
     *
     * @default []
     */
    palettes: string[];
    /**
     * Specifies the theme for the chart.
     *
     * @default 'Material'
     */
    theme: ChartTheme;
    /**
     * Options for customizing the tooltip of the chart.
     */
    tooltip: TooltipSettingsModel;
    /**
     * Options for customizing the crosshair of the chart.
     */
    crosshair: CrosshairSettingsModel;
    /**
     * Options for customizing the legend of the chart.
     */
    legendSettings: LegendSettingsModel;
    /**
     * Options for customizing the points fill color based on condition.
     */
    rangeColorSettings: RangeColorSettingModel[];
    /**
     * Options to enable the zooming feature in the chart.
     */
    zoomSettings: ZoomSettingsModel;
    /**
     * Define the color for the data point on highlight.
     *
     * @default ''
     */
    highlightColor: string;
    /**
     * Specifies whether series or data point has to be selected. They are,
     * * none: Disables the selection.
     * * series: selects a series.
     * * point: selects a point.
     * * cluster: selects a cluster of point
     * * dragXY: selects points by dragging with respect to both horizontal and vertical axes
     * * dragX: selects points by dragging with respect to horizontal axis.
     * * dragY: selects points by dragging with respect to vertical axis.
     * * lasso: selects points by dragging with respect to free form.
     *
     * @default None
     */
    selectionMode: SelectionMode;
    /**
     * Specifies whether series or data point has to be selected. They are,
     * * none: Disables the highlight.
     * * series: highlight a series.
     * * point: highlight a point.
     * * cluster: highlight a cluster of point
     *
     * @default None
     */
    highlightMode: HighlightMode;
    /**
     * Specifies whether series or data point has to be selected. They are,
     * * none: sets none as selecting pattern.
     * * chessboard: sets chess board as selecting pattern.
     * * dots: sets dots as  selecting pattern.
     * * diagonalForward: sets diagonal forward as selecting pattern.
     * * crosshatch: sets crosshatch as selecting pattern.
     * * pacman: sets pacman selecting pattern.
     * * diagonalbackward: sets diagonal backward as selecting pattern.
     * * grid: sets grid as selecting pattern.
     * * turquoise: sets turquoise as selecting pattern.
     * * star: sets star as selecting pattern.
     * * triangle: sets triangle as selecting pattern.
     * * circle: sets circle as selecting pattern.
     * * tile: sets tile as selecting pattern.
     * * horizontaldash: sets horizontal dash as selecting pattern.
     * * verticaldash: sets vertical dash as selecting pattern.
     * * rectangle: sets rectangle as selecting pattern.
     * * box: sets box as selecting pattern.
     * * verticalstripe: sets vertical stripe as  selecting pattern.
     * * horizontalstripe: sets horizontal stripe as selecting pattern.
     * * bubble: sets bubble as selecting pattern.
     *
     * @default None
     */
    selectionPattern: SelectionPattern;
    /**
     * Specifies whether series or data point has to be selected. They are,
     * * none: sets none as highlighting pattern.
     * * chessboard: sets chess board as highlighting pattern.
     * * dots: sets dots as highlighting pattern.
     * * diagonalForward: sets diagonal forward as highlighting pattern.
     * * crosshatch: sets crosshatch as highlighting pattern.
     * * pacman: sets pacman highlighting  pattern.
     * * diagonalbackward: sets diagonal backward as highlighting pattern.
     * * grid: sets grid as highlighting pattern.
     * * turquoise: sets turquoise as highlighting pattern.
     * * star: sets star as highlighting  pattern.
     * * triangle: sets triangle as highlighting pattern.
     * * circle: sets circle as highlighting  pattern.
     * * tile: sets tile as highlighting pattern.
     * * horizontaldash: sets horizontal dash as highlighting pattern.
     * * verticaldash: sets vertical dash as highlighting pattern.
     * * rectangle: sets rectangle as highlighting  pattern.
     * * box: sets box as highlighting pattern.
     * * verticalstripe: sets vertical stripe as highlighting  pattern.
     * * horizontalstripe: sets horizontal stripe as highlighting  pattern.
     * * bubble: sets bubble as highlighting  pattern.
     *
     * @default None
     */
    highlightPattern: SelectionPattern;
    /**
     * If set true, enables the multi selection in chart. It requires `selectionMode` to be `Point` | `Series` | or `Cluster`.
     *
     * @default false
     */
    isMultiSelect: boolean;
    /**
     * If set true, enables the multi drag selection in chart. It requires `selectionMode` to be `Dragx` | `DragY` | or `DragXY`.
     *
     * @default false
     */
    allowMultiSelection: boolean;
    /**
     * To enable111 export feature in chart.
     *
     * @default true
     */
    enableExport: boolean;
    /**
     * To enable111 export feature in blazor chart.
     *
     * @default false
     */
    allowExport: boolean;
    /**
     * Specifies the point indexes to be selected while loading a chart.
     * It requires `selectionMode` or `highlightMode` to be `Point` | `Series` | or `Cluster`.
     * ```html
     * <div id='Chart'></div>
     * ```
     * ```typescript
     * let chart$: Chart = new Chart({
     * ...
     *   selectionMode: 'Point',
     *   selectedDataIndexes: [ { series: 0, point: 1},
     *                          { series: 2, point: 3} ],
     * ...
     * });
     * chart.appendTo('#Chart');
     * ```
     *
     * @default []
     */
    selectedDataIndexes: IndexesModel[];
    /**
     * Specifies whether a grouping separator should be used for a number.
     *
     * @default false
     */
    useGroupingSeparator: boolean;
    /**
     * If set to true, both axis interval will be calculated automatically with respect to the zoomed range.
     *
     * @default false
     */
    enableAutoIntervalOnBothAxis: boolean;
    /**
     * It specifies whether the chart should be render in transposed manner or not.
     *
     * @default false
     */
    isTransposed: boolean;
    /**
     * It specifies whether the chart should be rendered in canvas mode
     *
     * @default false
     */
    enableCanvas: boolean;
    /**
     * The background image of the chart that accepts value in string as url link or location of an image.
     *
     * @default null
     */
    backgroundImage: string;
    /**
     * Defines the collection of technical indicators, that are used in financial markets
     */
    indicators: TechnicalIndicatorModel[];
    /**
     * If set true, Animation process will be executed.
     *
     * @default true
     */
    enableAnimation: boolean;
    /**
     * Description for chart.
     *
     * @default null
     */
    description: string;
    /**
     * TabIndex value for the chart.
     *
     * @default 1
     */
    tabIndex: number;
    /**
     * To enable the side by side placing the points for column type series.
     *
     * @default true
     */
    enableSideBySidePlacement: boolean;
    /**
     * Triggers after resizing of chart
     *
     * @event resized
     * @blazorProperty 'Resized'
     */
    resized: base.EmitType<IResizeEventArgs>;
    /**
     * Triggers before resizing of chart
     * @event
     * @blazorProperty 'BeforeResize'
     */
    beforeResize: base.EmitType<IBeforeResizeEventArgs>;
    /**
     * Triggers before the annotation gets rendered.
     *
     * @event annotationRender
     * @deprecated
     */
    annotationRender: base.EmitType<IAnnotationRenderEventArgs>;
    /**
     * Triggers before the prints gets started.
     *
     * @event beforePrint
     * @blazorProperty 'OnPrint'
     */
    beforePrint: base.EmitType<IPrintEventArgs>;
    /**
     * Triggers after chart load.
     *
     * @event loaded
     * @blazorProperty 'Loaded'
     */
    loaded: base.EmitType<ILoadedEventArgs>;
    /**
     * Triggers before the export gets started.
     *
     * @event beforeExport
     */
    beforeExport: base.EmitType<IExportEventArgs>;
    /**
     * Triggers after111 the export completed.
     *
     * @event afterExport
     * @blazorProperty 'AfterExport'
     */
    afterExport: base.EmitType<IAfterExportEventArgs>;
    /**
     * Triggers before chart load.
     *
     * @event load
     */
    load: base.EmitType<ILoadedEventArgs>;
    /**
     * Triggers after animation is completed for the series.
     *
     * @event animationComplete
     * @blazorProperty 'OnAnimationComplete'
     */
    animationComplete: base.EmitType<IAnimationCompleteEventArgs>;
    /**
     * Triggers before the legend is rendered.
     *
     * @event legendRender
     * @deprecated
     */
    legendRender: base.EmitType<ILegendRenderEventArgs>;
    /**
     * Triggers before the data label for series is rendered.
     *
     * @event textRender
     * @deprecated
     */
    textRender: base.EmitType<ITextRenderEventArgs>;
    /**
     * Triggers before each points for the series is rendered.
     *
     * @event pointRender
     * @deprecated
     */
    pointRender: base.EmitType<IPointRenderEventArgs>;
    /**
     * Triggers before the series is rendered.
     *
     * @event seriesRender
     * @deprecated
     */
    seriesRender: base.EmitType<ISeriesRenderEventArgs>;
    /**
     * Triggers before each axis label is rendered.
     *
     * @event axisLabelRender
     * @deprecated
     */
    axisLabelRender: base.EmitType<IAxisLabelRenderEventArgs>;
    /**
     * Triggers when x axis label clicked.
     *
     * @event axisLabelClick
     * @deprecated
     */
    axisLabelClick: base.EmitType<IAxisLabelClickEventArgs>;
    /**
     * Triggers before each axis range is rendered.
     *
     * @event axisRangeCalculated
     * @deprecated
     */
    axisRangeCalculated: base.EmitType<IAxisRangeCalculatedEventArgs>;
    /**
     * Triggers before each axis multi label is rendered.
     *
     * @event axisMultiLabelRender
     * @deprecated
     */
    axisMultiLabelRender: base.EmitType<IAxisMultiLabelRenderEventArgs>;
    /**
     * Triggers after click on legend
     *
     * @event legendClick
     */
    legendClick: base.EmitType<ILegendClickEventArgs>;
    /**
     * Triggers after click on multiLevelLabelClick
     *
     * @event multiLevelLabelClick
     */
    multiLevelLabelClick: base.EmitType<IMultiLevelLabelClickEventArgs>;
    /**
     * Triggers before the tooltip for series is rendered.
     *
     * @event tooltipRender
     */
    tooltipRender: base.EmitType<ITooltipRenderEventArgs>;
    /**
     * Triggers before the shared tooltip for series is rendered.
     *
     * @event sharedTooltipRender
     */
    sharedTooltipRender: base.EmitType<ISharedTooltipRenderEventArgs>;
    /**
     * Triggers on hovering the chart.
     *
     * @event chartMouseMove
     * @blazorProperty 'OnChartMouseMove'
     */
    chartMouseMove: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on clicking the chart.
     *
     * @event chartMouseClick
     * @blazorProperty 'OnChartMouseClick'
     */
    chartMouseClick: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on double clicking the chart.
     *
     * @event chartDoubleClick
     * @blazorProperty 'OnChartDoubleClick'
     */
    chartDoubleClick: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on point click.
     *
     * @event pointClick
     * @blazorProperty 'OnPointClick'
     */
    pointClick: base.EmitType<IPointEventArgs>;
    /**
     * Triggers on point double click.
     *
     * @event pointDoubleClick
     * @blazorProperty 'OnPointDoubleClick'
     */
    pointDoubleClick: base.EmitType<IPointEventArgs>;
    /**
     * Triggers on point move.
     *
     * @event pointMove
     * @blazorProperty 'PointMoved'
     */
    pointMove: base.EmitType<IPointEventArgs>;
    /**
     * Triggers when cursor leaves the chart.
     *
     * @event chartMouseLeave
     * @blazorProperty 'OnChartMouseLeave'
     */
    chartMouseLeave: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on mouse down.
     *
     * @event chartMouseDown
     * @blazorProperty 'OnChartMouseDown'
     */
    chartMouseDown: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on mouse up.
     *
     * @event chartMouseUp
     * @blazorProperty 'OnChartMouseUp'
     */
    chartMouseUp: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers after the drag selection is completed.
     *
     * @event dragComplete
     * @blazorProperty 'OnDragComplete'
     */
    dragComplete: base.EmitType<IDragCompleteEventArgs>;
    /**
     * Triggers after the selection is completed.
     *
     * @event selectionComplete
     * @blazorProperty 'OnSelectionComplete'
     */
    selectionComplete: base.EmitType<ISelectionCompleteEventArgs>;
    /**
     * Triggers after the zoom selection is completed.
     *
     * @event zoomComplete
     * @deprecated
     */
    zoomComplete: base.EmitType<IZoomCompleteEventArgs>;
    /**
     * Triggers after the zoom selection is triggered.
     *
     * @event onZooming
     */
    onZooming: base.EmitType<IZoomingEventArgs>;
    /**
     * Triggers when start the scroll.
     *
     * @event scrollStart
     * @blazorProperty 'OnScrollStart'
     */
    scrollStart: base.EmitType<IScrollEventArgs>;
    /**
     * Triggers after the scroll end.
     *
     * @event scrollEnd
     * @blazorProperty 'OnScrollEnd'
     */
    scrollEnd: base.EmitType<IScrollEventArgs>;
    /**
     * Triggers when change the scroll.
     *
     * @event scrollChanged
     * @blazorProperty 'ScrollChanged'
     */
    scrollChanged: base.EmitType<IScrollEventArgs>;
    /**
     * Triggers when the point drag start.
     *
     * @event dragStart
     */
    dragStart: base.EmitType<IDataEditingEventArgs>;
    /**
     * Triggers when the point is dragging.
     *
     * @event drag
     */
    drag: base.EmitType<IDataEditingEventArgs>;
    /**
     * Triggers when the point drag end.
     *
     * @event dragEnd
     */
    dragEnd: base.EmitType<IDataEditingEventArgs>;
    /**
     * Defines the currencyCode format of the chart
     *
     * @private
     * @aspType string
     */
    private currencyCode;
    private htmlObject;
    private isLegend;
    /** @private */
    stockChart: StockChart;
    /**
     * localization object
     *
     * @private
     */
    localeObject: base.L10n;
    /**
     * It contains default values of localization values
     */
    private defaultLocalConstants;
    /**
     * Gets the current visible axis of the Chart.
     *
     * @hidden
     */
    axisCollections: Axis[];
    /**
     * Gets the current visible series of the Chart.
     *
     * @hidden
     */
    visibleSeries: Series[];
    /**
     * Render panel for chart.
     *
     * @hidden
     */
    chartAxisLayoutPanel: CartesianAxisLayoutPanel | PolarRadarPanel;
    /**
     * Gets all the horizontal axis of the Chart.
     *
     * @hidden
     */
    horizontalAxes: Axis[];
    /**
     * Gets all the vertical axis of the Chart.
     *
     * @hidden
     */
    verticalAxes: Axis[];
    /**
     * Gets the inverted chart.
     *
     * @hidden
     */
    requireInvertedAxis: boolean;
    /** @private */
    svgObject: Element;
    /** @private */
    isTouch: boolean;
    /** @private */
    renderer: svgBase.SvgRenderer | svgBase.CanvasRenderer;
    /** @private */
    svgRenderer: svgBase.SvgRenderer;
    /** @private */
    canvasRender: svgBase.CanvasRenderer;
    /** @private */
    initialClipRect: svgBase.Rect;
    /** @private */
    seriesElements: Element;
    /** @private */
    indicatorElements: Element;
    /** @private */
    trendLineElements: Element;
    /** @private */
    visibleSeriesCount: number;
    /** @private */
    intl: base.Internationalization;
    /** @private */
    dataLabelCollections: svgBase.Rect[];
    /** @private */
    rotatedDataLabelCollections: ChartLocation[][];
    /** @private */
    dataLabelElements: Element;
    /** @private */
    mouseX: number;
    /** @private */
    mouseY: number;
    /** @private */
    animateSeries: boolean;
    /** @private */
    redraw: boolean;
    /** @public */
    animated: boolean;
    /** @public */
    duration: number;
    /** @private */
    availableSize: svgBase.Size;
    /** @private */
    delayRedraw: boolean;
    /** @private */
    isDoubleTap: boolean;
    /** @private */
    mouseDownX: number;
    /** @private */
    mouseDownY: number;
    /** @private */
    previousMouseMoveX: number;
    /** @private */
    previousMouseMoveY: number;
    /** @private */
    private threshold;
    /** @private */
    isChartDrag: boolean;
    /** @private */
    isPointMouseDown: boolean;
    /** @private */
    isScrolling: boolean;
    /** @private */
    dragY: number;
    private resizeTo;
    /** @private */
    private checkResize;
    /** @private */
    disableTrackTooltip: boolean;
    /** @private */
    startMove: boolean;
    /** @private */
    yAxisElements: Element;
    /** @private */
    radius: number;
    /** @private */
    visible: number;
    /** @private */
    clickCount: number;
    /** @private */
    maxPointCount: number;
    /** @private */
    singleClickTimer: number;
    /** @private */
    chartAreaType: string;
    /** @private */
    isRtlEnabled: boolean;
    /** @private */
    scaleX: number;
    /** @private */
    scaleY: number;
    /**
     * `markerModule` is used to manipulate and add marker to the series.
     *
     * @private
     */
    markerRender: Marker;
    private titleCollection;
    private subTitleCollection;
    /** @private */
    themeStyle: IThemeStyle;
    /** @private */
    scrollElement: Element;
    /** @private */
    scrollSettingEnabled: boolean;
    private chartid;
    /** @private */
    svgId: string;
    /** @private */
    isBlazor: boolean;
    /** @private */
    isRedrawSelection: boolean;
    /**
     * Touch object to unwire the touch event from element
     */
    private touchObject;
    /** @private */
    resizeBound: any;
    /** @private */
    longPressBound: any;
    /** @private */
    isLegendClicked: boolean;
    isZoomed: boolean;
    private previousTargetId;
    private currentPointIndex;
    private currentSeriesIndex;
    private currentLegendIndex;
    /**
     * Constructor for creating the widget
     *
     * @hidden
     */
    constructor(options?: ChartModel, element?: string | HTMLElement);
    /**
     * To manage persist chart data
     */
    private mergePersistChartData;
    /**
     *
     * @param elementId
     * Return the proper ID when the special character exist in the ID
     */
    private isIdHasSpecialCharacter;
    /**
     * Initialize the event handler.
     */
    protected preRender(): void;
    private initPrivateVariable;
    /**
     * To Initialize the control rendering.
     */
    protected render(): void;
    private cartesianChartRendering;
    /**
     * Gets the localized label by locale keyword.
     *
     * @param  {string} key key
     * @returns {string} localized label
     */
    getLocalizedLabel(key: string): string;
    /**
     * Animate the series bounds.
     *
     * @private
     */
    animate(duration?: number): void;
    /**
     * Refresh the chart bounds.
     *
     * @private
     */
    refreshBound(): void;
    /**
     * To calcualte the stack values
     */
    private calculateStackValues;
    private removeSelection;
    private renderElements;
    /**
     * To render the legend
     *
     * @private
     */
    renderAxes(): Element;
    /**
     * To render the legend
     */
    private renderLegend;
    /**
     * To set the left and top position for data label template for center aligned chart
     */
    private setSecondaryElementPosition;
    private initializeModuleElements;
    private hasTrendlines;
    private renderSeriesElements;
    /**
     * @private
     */
    renderSeries(): void;
    protected renderCanvasSeries(item: Series): void;
    private initializeIndicator;
    private initializeTrendLine;
    private appendElementsAfterSeries;
    private applyZoomkit;
    /**
     * Render annotation perform here
     *
     * @private
     */
    private renderAnnotation;
    private performSelection;
    processData(render?: boolean): void;
    private initializeDataModule;
    private calculateBounds;
    /**
     * Handles the print method for chart control.
     */
    print(id?: string[] | string | Element): void;
    /**
     * Defines the trendline initialization
     */
    private initTrendLines;
    private calculateAreaType;
    /**
     * Calculate the visible axis
     *
     * @private
     */
    private calculateVisibleAxis;
    private initAxis;
    private initTechnicalIndicators;
    /** @private */
    refreshTechnicalIndicator(series: SeriesBase): void;
    private calculateVisibleSeries;
    private renderTitle;
    private renderSubTitle;
    private renderBorder;
    /**
     * @private
     */
    renderAreaBorder(): void;
    /**
     * To add series for the chart
     *
     * @param {SeriesModel[]} seriesCollection - Defines the series collection to be added in chart.
     * @returns {void}.
     */
    addSeries(seriesCollection: SeriesModel[]): void;
    /**
     * To Remove series for the chart
     *
     * @param {number} index - Defines the series index to be remove in chart series
     * @returns {void}
     */
    removeSeries(index: number): void;
    /**
     * To Clear all series for the chart
     *
     * @returns {void}.
     */
    clearSeries(): void;
    /**
     * To add secondary axis for the chart
     *
     * @param {AxisModel[]} axisCollection - Defines the axis collection to be added in chart.
     * @returns {void}.
     */
    addAxes(axisCollection: AxisModel[]): void;
    /**
     * To remove secondary axis for the chart
     *
     * @param {number} index - Defines the axis collection to be removed in chart.
     * @returns {void}
     */
    removeAxis(index: number): void;
    /**
     * To destroy the widget
     *
     * @function destroy
     * @returns {void}.
     * @member of Chart
     */
    destroy(): void;
    /**
     * Get component name
     */
    getModuleName(): string;
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @private
     */
    getPersistData(): string;
    /**
     * Method to create SVG element.
     */
    createChartSvg(): void;
    /**
     * Method to bind events for chart
     */
    private unWireEvents;
    private wireEvents;
    private chartRightClick;
    private setStyle;
    /**
     * Finds the orientation.
     *
     * @returns {boolean}
     * @private
     */
    isOrientation(): boolean;
    /**
     * Handles the long press on chart.
     *
     * @returns {boolean} false
     * @private
     */
    longPress(e?: base.TapEventArgs): boolean;
    /**
     * To find mouse x, y for aligned chart element svg position
     */
    private setMouseXY;
    /**
     * Export method for the chart.
     */
    export(type: ExportType, fileName: string): void;
    /**
     * Handles the chart resize.
     *
     * @returns {boolean} false
     * @private
     */
    chartResize(): boolean;
    /**
     * Handles the mouse move.
     *
     * @returns {boolean} false
     * @private
     */
    mouseMove(e: PointerEvent): boolean;
    /**
     * Handles the mouse leave.
     *
     * @returns {boolean} false
     * @private
     */
    mouseLeave(e: PointerEvent): boolean;
    /**
     * Handles the mouse leave on chart.
     *
     * @returns {boolean} false
     * @private
     */
    chartOnMouseLeave(e: PointerEvent | TouchEvent): boolean;
    /**
     * Handles the mouse double click on chart.
     *
     * @returns {boolean} false
     * @private
     */
    chartOnDoubleClick(e: PointerEvent | TouchEvent): boolean;
    /**
     * Handles the keyboard onkeydown on chart.
     *
     * @returns {boolean} false
     * @private
     */
    chartKeyDown(e: KeyboardEvent): boolean;
    /**
     * Handles the keyboard onkeydown on chart.
     *
     * @returns {boolean} false
     * @private
     */
    chartKeyUp(e: KeyboardEvent): boolean;
    private setTabIndex;
    private getActualIndex;
    private focusChild;
    /**
     * Handles the document onkey.
     *
     * @private
     */
    private documentKeyHandler;
    private chartKeyboardNavigations;
    /**
     * Handles the mouse click on chart.
     *
     * @returns {boolean} false
     * @private
     */
    chartOnMouseClick(e: PointerEvent | TouchEvent): boolean;
    private triggerPointEvent;
    private triggerAxisLabelClickEvent;
    /**
     * Handles the mouse move on chart.
     *
     * @returns {boolean} false
     * @private
     */
    chartOnMouseMove(e: PointerEvent | TouchEvent): boolean;
    private titleTooltip;
    private axisTooltip;
    private findAxisLabel;
    /**
     * Handles the mouse down on chart.
     *
     * @returns {boolean} false
     * @private
     */
    chartOnMouseDown(e: PointerEvent): boolean;
    /**
     * Handles the mouse up.
     *
     * @returns {boolean} false
     * @private
     */
    mouseEnd(e: PointerEvent): boolean;
    /**
     * Handles the mouse up.
     *
     * @returns {boolean}
     * @private
     */
    chartOnMouseUp(e: PointerEvent | TouchEvent): boolean;
    /**
     * Method to set culture for chart
     */
    private setCulture;
    /**
     * Method to set the annotation content dynamically for chart.
     */
    setAnnotationValue(annotationIndex: number, content: string): void;
    /**
     * Method to set locale constants
     */
    private setLocaleConstants;
    /**
     * Theming for chart
     */
    private setTheme;
    /**
     * To provide the array of modules needed for control rendering
     *
     * @returns {base.ModuleDeclaration[]}
     * @private
     */
    requiredModules(): base.ModuleDeclaration[];
    private findAxisModule;
    private findIndicatorModules;
    private findTrendLineModules;
    private findStriplineVisibility;
    /**
     * To Remove the SVG.
     * @return {boolean}
     * @private
     */
    removeSvg(): void;
    private refreshDefinition;
    /**
     * Refresh the axis default value.
     *
     * @returns {boolean}
     * @private
     */
    refreshAxis(): void;
    private axisChange;
    /**
     * Get visible series by index
     */
    private getVisibleSeries;
    /**
     * Fix for live data update flicker issue
     */
    refreshLiveData(): void;
    /**
     * To remove style element
     */
    private removeStyles;
    /**
     * Called internally if any of the property value changed.
     * @private
     */
    onPropertyChanged(newProp: ChartModel, oldProp: ChartModel): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/index.d.ts
/**
 * Chart component exported items
 */
//node_modules/@syncfusion/ej2-charts/src/chart/legend/legend.d.ts
/**
 * `Legend` module is used to render legend for the chart.
 */
export  class Legend extends BaseLegend {
    constructor(chart: Chart);
    /**
     * Binding events for legend module.
     */
    private addEventListener;
    /**
     * UnBinding events for legend module.
     */
    private removeEventListener;
    /**
     * To handle mosue move for legend module
     */
    private mouseMove;
    /**
     * To handle mosue end for legend module
     */
    private mouseEnd;
    /**
     * Get the legend options.
     *
     * @returns {void}
     * @private
     */
    getLegendOptions(visibleSeriesCollection: Series[], chart: Chart): void;
    /** @private */
    getLegendBounds(availableSize: svgBase.Size, legendBounds: svgBase.Rect, legend: LegendSettingsModel): void;
    /** @private */
    getLegendHeight(legendOption: LegendOptions, legend: LegendSettingsModel, legendBounds: svgBase.Rect, rowWidth: number, legendHeight: number, padding: number): void;
    /** @private */
    getRenderPoint(legendOption: LegendOptions, start: ChartLocation, textPadding: number, prevLegend: LegendOptions, rect: svgBase.Rect, count: number, firstLegend: number, rowCount?: number): void;
    private isWithinBounds;
    /** @private */
    LegendClick(index: number, event: Event | PointerEvent): void;
    private refreshLegendToggle;
    private changeSeriesVisiblity;
    private isSecondaryAxis;
    private redrawSeriesElements;
    private refreshSeries;
    /**
     * To show the tooltip for the trimmed text in legend.
     *
     * @returns {void}
     */
    click(event: Event | PointerEvent): void;
    /**
     * To check click position is within legend bounds
     */
    protected checkWithinBounds(pageX: number, pageY: number): void;
    private canvasPageDown;
    private canvasPageUp;
    /**
     * Get module name
     */
    protected getModuleName(): string;
    /**
     * To destroy the Legend.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/model/chart-base-model.d.ts
/**
 * Interface for a class ChartAnnotationSettings
 */
export interface ChartAnnotationSettingsModel {
    /**
     * if set coordinateUnit as `Pixel` X specifies the axis value
     * else is specifies pixel or percentage of coordinate
     *
     * @default '0'
     * @aspType object
     */
    x?: string | Date | number;
    /**
     * if set coordinateUnit as `Pixel` Y specifies the axis value
     * else is specifies pixel or percentage of coordinate
     *
     * @default '0'
     */
    y?: string | number;
    /**
     * Content of the annotation, which accepts the id of the custom element.
     *
     * @default null
     */
    content?: string;
    /**
     * Specifies the alignment of the annotation. They are
     * * Near - Align the annotation element as left side.
     * * Far - Align the annotation element as right side.
     * * Center - Align the annotation element as mid point.
     *
     * @default 'Center'
     * @deprecated
     */
    horizontalAlignment?: Alignment;
    /**
     * Specifies the coordinate units of the annotation. They are
     * * Pixel - Annotation renders based on x and y pixel value.
     * * Point - Annotation renders based on x and y axis value.
     *
     * @default 'Pixel'
     */
    coordinateUnits?: Units;
    /**
     * Specifies the regions of the annotation. They are
     * * Chart - Annotation renders based on chart coordinates.
     * * Series - Annotation renders based on series coordinates.
     *
     * @default 'Chart'
     */
    region?: Regions;
    /**
     * Specifies the position of the annotation. They are
     * * Top - Align the annotation element as top side.
     * * Bottom - Align the annotation element as bottom side.
     * * Middle - Align the annotation element as mid point.
     *
     * @default 'Middle'
     * @deprecated
     */
    verticalAlignment?: Position;
    /**
     * The name of horizontal axis associated with the annotation.
     * It requires `axes` of chart.
     *
     * @default null
     */
    xAxisName?: string;
    /**
     * The name of vertical axis associated with the annotation.
     * It requires `axes` of chart.
     *
     * @default null
     */
    yAxisName?: string;
    /**
     * Information about annotation for assistive technology.
     *
     * @default null
     */
    description?: string;
}
/**
 * Interface for a class LabelBorder
 */
export interface LabelBorderModel {
    /**
     * The color of the border that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default ''
     */
    color?: string;
    /**
     * The width of the border in pixels.
     *
     * @default 1
     */
    width?: number;
    /**
     * Border type for labels
     * * Rectangle
     * * Without Top Border
     * * Without Top and BottomBorder
     * * Without Border
     * * Brace
     * * CurlyBrace
     *
     * @default 'Rectangle'
     */
    type?: BorderType;
}
/**
 * Interface for a class MultiLevelCategories
 */
export interface MultiLevelCategoriesModel {
    /**
     * Start value of the multi level labels
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    start?: number | Date | string;
    /**
     * End value of the multi level labels
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    end?: number | Date | string;
    /**
     * multi level labels text.
     *
     * @default ''
     */
    text?: string;
    /**
     * Maximum width of the text for multi level labels.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    maximumTextWidth?: number;
    /**
     * multi level labels custom data.
     *
     * @default null
     */
    customAttributes?: object;
    /**
     * Border type for labels
     * * Rectangle
     * * Without Top Border
     * * Without Top and BottomBorder
     * * Without Border
     * * Brace
     * * CurlyBrace
     *
     * @default 'Rectangle'
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     */
    type?: BorderType;
}
/**
 * Interface for a class StripLineSettings
 */
export interface StripLineSettingsModel {
    /**
     * If set true, strip line for axis renders.
     *
     * @default true
     */
    visible?: boolean;
    /**
     *  If set true, strip line get render from axis origin.
     *
     *  @default false
     */
    startFromAxis?: boolean;
    /**
     * Start value of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    start?: Object | number | Date;
    /**
     * End value of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    end?: Object | number | Date;
    /**
     * Size of the strip line, when it starts from the origin.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    size?: number;
    /**
     * Color of the strip line.
     *
     * @default '#808080'
     */
    color?: string;
    /**
     * Dash Array of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    dashArray?: string;
    /**
     * Size type of the strip line
     *
     * @default Auto
     */
    sizeType?: SizeType;
    /**
     * isRepeat value of the strip line.
     *
     * @default false
     * @aspDefaultValueIgnore
     */
    isRepeat?: boolean;
    /**
     * repeatEvery value of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    repeatEvery?: Object | number | Date;
    /**
     * repeatUntil value of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    repeatUntil?: Object | number | Date;
    /**
     * isSegmented value of the strip line
     *
     * @default false
     * @aspDefaultValueIgnore
     */
    isSegmented?: boolean;
    /**
     * segmentStart value of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    segmentStart?: Object | number | Date;
    /**
     * segmentEnd value of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    segmentEnd?: Object | number | Date;
    /**
     * segmentAxisName of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    segmentAxisName?: string;
    /**
     * Border of the strip line.
     */
    border?: BorderModel;
    /**
     * Strip line text.
     *
     * @default ''
     */
    text?: string;
    /**
     * The angle to which the strip line text gets rotated.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    rotation?: number;
    /**
     * Defines the position of the strip line text horizontally. They are,
     * * Start: Places the strip line text at the start.
     * * Middle: Places the strip line text in the middle.
     * * End: Places the strip line text at the end.
     *
     * @default 'Middle'
     */
    horizontalAlignment?: Anchor;
    /**
     * Defines the position of the strip line text vertically. They are,
     * * Start: Places the strip line text at the start.
     * * Middle: Places the strip line text in the middle.
     * * End: Places the strip line text at the end.
     *
     * @default 'Middle'
     */
    verticalAlignment?: Anchor;
    /**
     * Options to customize the strip line text.
     */
    textStyle?: FontModel;
    /**
     * Specifies the order of the strip line. They are,
     * * Behind: Places the strip line behind the series elements.
     * * Over: Places the strip line over the series elements.
     *
     * @default 'Behind'
     */
    zIndex?: ZIndex;
    /**
     * Strip line Opacity
     *
     * @default 1
     */
    opacity?: number;
}
/**
 * Interface for a class MultiLevelLabels
 */
export interface MultiLevelLabelsModel {
    /**
     * Defines the position of the multi level labels. They are,
     * * Near: Places the multi level labels at Near.
     * * Center: Places the multi level labels at Center.
     * * Far: Places the multi level labels at Far.
     *
     * @default 'Center'
     */
    alignment?: Alignment;
    /**
     * Defines the textOverFlow for multi level labels. They are,
     * * Trim: Trim textOverflow for multi level labels.
     * * Wrap: Wrap textOverflow for multi level labels.
     * * none: None textOverflow for multi level labels.
     *
     * @default 'Wrap'
     */
    overflow?: TextOverflow;
    /**
     * Options to customize the multi level labels.
     */
    textStyle?: FontModel;
    /**
     * Border of the multi level labels.
     */
    border?: LabelBorderModel;
    /**
     * multi level categories for multi level labels.
     */
    categories?: MultiLevelCategoriesModel[];
}
/**
 * Interface for a class ScrollbarSettingsRange
 */
export interface ScrollbarSettingsRangeModel {
    /**
     * Specifies the minimum range of an scrollbar.
     *
     * @default null
     */
    minimum?: Date | string | number;
    /**
     * Specifies the maximum range of an scrollbar.
     *
     * @default null
     */
    maximum?: Date | string | number;
}
/**
 * Interface for a class ScrollbarSettings
 */
export interface ScrollbarSettingsModel {
    /**
     * Enables the scrollbar for lazy loading.
     *
     * @default false
     */
    enable?: boolean;
    /**
     * Defines the length of the points for numeric and logarithmic values.
     *
     * @default null
     */
    pointsLength?: number;
    /**
     * Specifies the range for date time values alone.
     */
    range?: ScrollbarSettingsRangeModel;
}
//node_modules/@syncfusion/ej2-charts/src/chart/model/chart-base.d.ts
/**
 * Configures the Annotation for chart.
 */
export  class ChartAnnotationSettings extends base.ChildProperty<ChartAnnotationSettings> {
    /**
     * if set coordinateUnit as `Pixel` X specifies the axis value
     * else is specifies pixel or percentage of coordinate
     *
     * @default '0'
     * @aspType object
     */
    x: string | Date | number;
    /**
     * if set coordinateUnit as `Pixel` Y specifies the axis value
     * else is specifies pixel or percentage of coordinate
     *
     * @default '0'
     */
    y: string | number;
    /**
     * Content of the annotation, which accepts the id of the custom element.
     *
     * @default null
     */
    content: string;
    /**
     * Specifies the alignment of the annotation. They are
     * * Near - Align the annotation element as left side.
     * * Far - Align the annotation element as right side.
     * * Center - Align the annotation element as mid point.
     *
     * @default 'Center'
     * @deprecated
     */
    horizontalAlignment: Alignment;
    /**
     * Specifies the coordinate units of the annotation. They are
     * * Pixel - Annotation renders based on x and y pixel value.
     * * Point - Annotation renders based on x and y axis value.
     *
     * @default 'Pixel'
     */
    coordinateUnits: Units;
    /**
     * Specifies the regions of the annotation. They are
     * * Chart - Annotation renders based on chart coordinates.
     * * Series - Annotation renders based on series coordinates.
     *
     * @default 'Chart'
     */
    region: Regions;
    /**
     * Specifies the position of the annotation. They are
     * * Top - Align the annotation element as top side.
     * * Bottom - Align the annotation element as bottom side.
     * * Middle - Align the annotation element as mid point.
     *
     * @default 'Middle'
     * @deprecated
     */
    verticalAlignment: Position;
    /**
     * The name of horizontal axis associated with the annotation.
     * It requires `axes` of chart.
     *
     * @default null
     */
    xAxisName: string;
    /**
     * The name of vertical axis associated with the annotation.
     * It requires `axes` of chart.
     *
     * @default null
     */
    yAxisName: string;
    /**
     * Information about annotation for assistive technology.
     *
     * @default null
     */
    description: string;
}
/**
 * label border properties.
 */
export  class LabelBorder extends base.ChildProperty<LabelBorder> {
    /**
     * The color of the border that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default ''
     */
    color: string;
    /**
     * The width of the border in pixels.
     *
     * @default 1
     */
    width: number;
    /**
     * Border type for labels
     * * Rectangle
     * * Without Top Border
     * * Without Top and BottomBorder
     * * Without Border
     * * Brace
     * * CurlyBrace
     *
     * @default 'Rectangle'
     */
    type: BorderType;
}
/**
 * categories for multi level labels
 */
export  class MultiLevelCategories extends base.ChildProperty<MultiLevelCategories> {
    /**
     * Start value of the multi level labels
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    start: number | Date | string;
    /**
     * End value of the multi level labels
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    end: number | Date | string;
    /**
     * multi level labels text.
     *
     * @default ''
     */
    text: string;
    /**
     * Maximum width of the text for multi level labels.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    maximumTextWidth: number;
    /**
     * multi level labels custom data.
     *
     * @default null
     */
    customAttributes: object;
    /**
     * Border type for labels
     * * Rectangle
     * * Without Top Border
     * * Without Top and BottomBorder
     * * Without Border
     * * Brace
     * * CurlyBrace
     *
     * @default 'Rectangle'
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     */
    type: BorderType;
}
/**
 * Strip line properties
 */
export  class StripLineSettings extends base.ChildProperty<StripLineSettings> {
    /**
     * If set true, strip line for axis renders.
     *
     * @default true
     */
    visible: boolean;
    /**
     *  If set true, strip line get render from axis origin.
     *
     *  @default false
     */
    startFromAxis: boolean;
    /**
     * Start value of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    start: Object | number | Date;
    /**
     * End value of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    end: Object | number | Date;
    /**
     * Size of the strip line, when it starts from the origin.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    size: number;
    /**
     * Color of the strip line.
     *
     * @default '#808080'
     */
    color: string;
    /**
     * Dash Array of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    dashArray: string;
    /**
     * Size type of the strip line
     *
     * @default Auto
     */
    sizeType: SizeType;
    /**
     * isRepeat value of the strip line.
     *
     * @default false
     * @aspDefaultValueIgnore
     */
    isRepeat: boolean;
    /**
     * repeatEvery value of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    repeatEvery: Object | number | Date;
    /**
     * repeatUntil value of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    repeatUntil: Object | number | Date;
    /**
     * isSegmented value of the strip line
     *
     * @default false
     * @aspDefaultValueIgnore
     */
    isSegmented: boolean;
    /**
     * segmentStart value of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    segmentStart: Object | number | Date;
    /**
     * segmentEnd value of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    segmentEnd: Object | number | Date;
    /**
     * segmentAxisName of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    segmentAxisName: string;
    /**
     * Border of the strip line.
     */
    border: BorderModel;
    /**
     * Strip line text.
     *
     * @default ''
     */
    text: string;
    /**
     * The angle to which the strip line text gets rotated.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    rotation: number;
    /**
     * Defines the position of the strip line text horizontally. They are,
     * * Start: Places the strip line text at the start.
     * * Middle: Places the strip line text in the middle.
     * * End: Places the strip line text at the end.
     *
     * @default 'Middle'
     */
    horizontalAlignment: Anchor;
    /**
     * Defines the position of the strip line text vertically. They are,
     * * Start: Places the strip line text at the start.
     * * Middle: Places the strip line text in the middle.
     * * End: Places the strip line text at the end.
     *
     * @default 'Middle'
     */
    verticalAlignment: Anchor;
    /**
     * Options to customize the strip line text.
     */
    textStyle: FontModel;
    /**
     * Specifies the order of the strip line. They are,
     * * Behind: Places the strip line behind the series elements.
     * * Over: Places the strip line over the series elements.
     *
     * @default 'Behind'
     */
    zIndex: ZIndex;
    /**
     * Strip line Opacity
     *
     * @default 1
     */
    opacity: number;
}
/**
 * MultiLevelLabels properties
 */
export  class MultiLevelLabels extends base.ChildProperty<MultiLevelLabels[]> {
    /**
     * Defines the position of the multi level labels. They are,
     * * Near: Places the multi level labels at Near.
     * * Center: Places the multi level labels at Center.
     * * Far: Places the multi level labels at Far.
     *
     * @default 'Center'
     */
    alignment: Alignment;
    /**
     * Defines the textOverFlow for multi level labels. They are,
     * * Trim: Trim textOverflow for multi level labels.
     * * Wrap: Wrap textOverflow for multi level labels.
     * * none: None textOverflow for multi level labels.
     *
     * @default 'Wrap'
     */
    overflow: TextOverflow;
    /**
     * Options to customize the multi level labels.
     */
    textStyle: FontModel;
    /**
     * Border of the multi level labels.
     */
    border: LabelBorderModel;
    /**
     * multi level categories for multi level labels.
     */
    categories: MultiLevelCategoriesModel[];
}
/**
 * Specifies range for scrollbarSettings property
 *
 * @public
 */
export  class ScrollbarSettingsRange extends base.ChildProperty<ScrollbarSettingsRange> {
    /**
     * Specifies the minimum range of an scrollbar.
     *
     * @default null
     */
    minimum: Date | string | number;
    /**
     * Specifies the maximum range of an scrollbar.
     *
     * @default null
     */
    maximum: Date | string | number;
}
/**
 * Scrollbar Settings Properties for Lazy Loading
 */
export  class ScrollbarSettings extends base.ChildProperty<ScrollbarSettings> {
    /**
     * Enables the scrollbar for lazy loading.
     *
     * @default false
     */
    enable: boolean;
    /**
     * Defines the length of the points for numeric and logarithmic values.
     *
     * @default null
     */
    pointsLength: number;
    /**
     * Specifies the range for date time values alone.
     */
    range: ScrollbarSettingsRangeModel;
}
//node_modules/@syncfusion/ej2-charts/src/chart/model/chart-interface.d.ts
export interface IChartEventArgs {
    /** Defines the name of the event */
    name: string;
    /** Defines the event cancel status */
    cancel: boolean;
}
export interface IAnimationCompleteEventArgs extends IChartEventArgs {
    /** Defines the current animation series */
    series: Series;
}
export interface IAxisMultiLabelRenderEventArgs extends IChartEventArgs {
    /** Defines the current axis */
    axis: Axis;
    /** Defines axis current label text */
    text: string;
    /** Defines font style for multi labels */
    textStyle: FontModel;
    /** Defines text alignment for multi labels */
    alignment: Alignment;
    /** Defines custom objects for multi labels */
    customAttributes: object;
}
export interface IMultiLevelLabelClickEventArgs extends IChartEventArgs {
    /** Defines the current axis */
    axis: Axis;
    /** Defines label current label text */
    text: string;
    level: number;
    start: number | Date | string;
    end: number | Date | string;
    /** Defines custom objects for multi labels */
    customAttributes: object;
}
export interface IPointEventArgs extends IChartEventArgs {
    /** Defines the current series */
    series: SeriesModel;
    /** Defines the current point */
    point: Points;
    /** Defines the point index */
    pointIndex: number;
    /** Defines the series index */
    seriesIndex: number;
    /** Defines the current chart instance */
    chart: Chart;
    /** Defines current mouse x location */
    x: number;
    /** Defines current mouse y location */
    y: number;
    /** Defines current window page x location */
    pageX?: number;
    /** Defines current window page y location */
    pageY?: number;
}
export interface ISharedTooltipRenderEventArgs extends IChartEventArgs {
    /** Defines tooltip text collections */
    text?: string[];
    /** Defines tooltip text style */
    textStyle?: FontModel;
    /** Defines current tooltip series */
    series: Series[];
    /** Defines current tooltip point */
    point: Points[];
    /** Defines the header text for the tooltip */
    headerText?: string;
    /** point informations */
    data?: IPointInformation[];
    /** Defines the tooltip template */
    template?: string;
}
/**
 * Defines the scroll events
 */
export interface IScrollEventArgs {
    /** Defines the name of the event */
    name?: string;
    /** Defines the current Zoom Position */
    zoomPosition?: number;
    /** Defines the current Zoom Factor */
    zoomFactor?: number;
    /** Defines the current range */
    range?: VisibleRangeModel;
    /** Defines the previous Zoom Position */
    previousZoomPosition?: number;
    /** Defines the previous Zoom Factor */
    previousZoomFactor?: number;
    /** Defines the previous range */
    previousRange?: VisibleRangeModel;
    /** Defines the current scroll axis */
    axis?: Axis;
    /** Defines axis previous range */
    previousAxisRange?: ScrollbarSettingsRangeModel;
    /** Defines axis current range */
    currentRange?: ScrollbarSettingsRangeModel;
}
export interface IZoomCompleteEventArgs extends IChartEventArgs {
    /** Defines the zoomed axis */
    axis: AxisModel;
    /** Defines the previous zoom factor */
    previousZoomFactor: number;
    /** Defines the previous zoom position */
    previousZoomPosition: number;
    /** Defines the current zoom factor */
    currentZoomFactor: number;
    /** Defines the current zoom position */
    currentZoomPosition: number;
    /** Defines the current axis visible range */
    currentVisibleRange: VisibleRangeModel;
    /** Defines the previous axis visible range */
    previousVisibleRange: VisibleRangeModel;
}
export interface ITooltipRenderEventArgs extends IChartEventArgs {
    /** Defines tooltip text collections */
    text?: string;
    /** Defines tooltip text style */
    textStyle?: FontModel;
    /** Defines current tooltip series */
    series: Series | AccumulationSeries;
    /** Defines current tooltip point */
    point: Points | AccPoints;
    /** Defines the header text for the tooltip */
    headerText?: string;
    /** point informations */
    data?: IPointInformation;
    /** Defines the tooltip template */
    template?: string;
}
export interface IPointInformation {
    /** point xValue */
    pointX: object;
    /** point yValue */
    pointY: object;
    /** point index */
    pointIndex: number;
    /** series index */
    seriesIndex: number;
    /** series name */
    seriesName: string;
    /** point text */
    pointText: string;
}
export interface IAxisLabelRenderEventArgs extends IChartEventArgs {
    /** Defines the current axis */
    axis: Axis;
    /** Defines axis current label text */
    text: string;
    /** Defines axis current label value */
    value: number;
    /** Defines axis current label font style */
    labelStyle: FontModel;
}
export interface IAxisLabelClickEventArgs extends IChartEventArgs {
    /** Defines the chart when labelClick */
    chart: Chart;
    /** Defines the current axis */
    axis: Axis;
    /** Defines axis current label text */
    text: string;
    /** Defines axis current label element id */
    labelID: string;
    /** Defines axis current label index */
    index: number;
    /** Defines the current annotation location */
    location: ChartLocation;
    /** Defines axis current label value */
    value: number;
}
export interface ILegendRenderEventArgs extends IChartEventArgs {
    /** Defines the current legend text */
    text: string;
    /** Defines the current legend fill color */
    fill: string;
    /** Defines the current legend shape */
    shape: LegendShape;
    /** Defines the current legend marker shape */
    markerShape?: ChartShape;
}
export interface ILegendClickEventArgs extends IChartEventArgs {
    /** Defines the chart when legendClick */
    chart: Chart;
    /** Defines the current legend shape */
    legendShape: LegendShape;
    /** Defines the current series */
    series: Series;
    /** Defines the list of points mapped to a legend */
    points: Points[];
    /** Defines the current legend text */
    legendText: string;
}
export interface ITextRenderEventArgs extends IChartEventArgs {
    /** Defines the current series of the label */
    series: SeriesModel;
    /** Defines the current point of the label */
    point: Points;
    /** Defines the current text */
    text: string;
    /** Defines the width and height of the current text */
    textSize: svgBase.Size;
    /** Defines the current label fill color */
    color: string;
    /** Defines the current label border */
    border: BorderModel;
    /** Defines the current label template */
    template: string;
    /** Defines the current font */
    font: FontModel;
    /** Defines the current data label position can change */
    location: LabelLocation;
}
export interface IAnnotationRenderEventArgs extends IChartEventArgs {
    /** Defines the current annotation content */
    content: HTMLElement;
    /** Defines the current annotation location */
    location: ChartLocation;
}
export interface IPointRenderEventArgs extends IChartEventArgs {
    /** Defines the current series of the point */
    series: Series;
    /** Defines the current point */
    point: Points;
    /** Defines the current point fill color */
    fill: string;
    /** Defines the current point border */
    border: BorderModel;
    /** Defines the current point height */
    height?: number;
    /** Defines the current point width */
    width?: number;
    /** Defines the current point marker shape */
    shape?: ChartShape;
}
export interface ISeriesRenderEventArgs {
    /** Defines the current series */
    series: Series;
    /** Defines the current series data object */
    data: Object;
    /** Defines name of the event */
    name: string;
    /** Defines the current series fill */
    fill: string;
}
export interface IAxisRangeCalculatedEventArgs extends IChartEventArgs {
    /** Defines the current axis */
    axis: Axis;
    /** Defines axis current range */
    minimum: number;
    /** Defines axis current range */
    maximum: number;
    /** Defines axis current interval */
    interval: number;
}
export interface IMouseEventArgs extends IChartEventArgs {
    /** Defines current mouse event target id */
    target: string;
    /** Defines current mouse x location */
    x: number;
    /** Defines current mouse y location */
    y: number;
}
export interface IDragCompleteEventArgs extends IChartEventArgs {
    /** Defines current selected Data X, Y values */
    selectedDataValues: {
        x: string | number | Date;
        y: number;
    }[][];
}
export interface ISelectionCompleteEventArgs extends IChartEventArgs {
    /** Defines current selected Data X, Y values */
    selectedDataValues: {
        x?: string | number | Date;
        y?: number;
        seriesIndex?: number;
        pointIndex?: number;
    }[];
}
export interface ILoadedEventArgs extends IChartEventArgs {
    /** Defines the current chart instance */
    chart: Chart;
    theme?: ChartTheme;
}
export interface IPrintEventArgs extends IChartEventArgs {
    htmlContent: Element;
}
export interface IExportEventArgs extends IChartEventArgs {
    width: number;
    height: number;
}
export interface IAfterExportEventArgs extends IChartEventArgs {
    dataUrl: string;
}
export interface IZoomingEventArgs extends IChartEventArgs {
    axisCollection: IAxisData[];
}
export interface IAxisData {
    zoomFactor: number;
    zoomPosition: number;
    axisRange: VisibleRangeModel;
    axisName: string;
}
/** @private */
export interface IBoxPlotQuartile {
    minimum: number;
    maximum: number;
    outliers: number[];
    upperQuartile: number;
    lowerQuartile: number;
    average: number;
    median: number;
}
/** @private */
/**
 * Specifies the Theme style for chart and accumulation.
 */
export interface IThemeStyle {
    axisLabel: string;
    axisTitle: string;
    axisLine: string;
    majorGridLine: string;
    minorGridLine: string;
    majorTickLine: string;
    minorTickLine: string;
    chartTitle: string;
    legendLabel: string;
    background: string;
    areaBorder: string;
    errorBar: string;
    crosshairLine: string;
    crosshairFill: string;
    crosshairLabel: string;
    tooltipFill: string;
    tooltipBoldLabel: string;
    tooltipLightLabel: string;
    tooltipHeaderLine: string;
    markerShadow: string;
    selectionRectFill: string;
    selectionRectStroke: string;
    selectionCircleStroke: string;
    tabColor: string;
}
export interface IRangeSelectorRenderEventArgs extends IChartEventArgs {
    /** Defines selector collections */
    selector: navigations.ItemModel[];
    /** enable custom format for calendar */
    enableCustomFormat: boolean;
    /** content fro calendar format */
    content: string;
}
/** @private */
export interface ITouches {
    pageX?: number;
    pageY?: number;
    pointerId?: number;
}
/** @private */
export interface IZoomAxisRange {
    actualMin?: number;
    actualDelta?: number;
    min?: number;
    delta?: number;
}
export interface IResizeEventArgs {
    /** Defines the name of the Event */
    name: string;
    /** Defines the previous size of the accumulation chart */
    previousSize: svgBase.Size;
    /** Defines the current size of the accumulation chart */
    currentSize: svgBase.Size;
    /** Defines the accumulation chart instance */
    chart: Chart | AccumulationChart | StockChart;
}
export interface IBeforeResizeEventArgs {
    /** Defines the name of the Event */
    name: string;
    /** It is  used to cancel the resized event */
    cancelResizedEvent: boolean;
}
/**
 * Interface for point drag and drop
 */
export interface IDataEditingEventArgs {
    /**
     * current series index
     */
    seriesIndex: number;
    /**
     * Current point index
     */
    pointIndex: number;
    /**
     * current point old value
     */
    oldValue: number;
    /**
     * current point new value
     */
    newValue: number;
    /**
     * current series
     */
    series: Series;
    /**
     * current point
     */
    point: Points;
}
export interface IChartTemplate {
    /** point x */
    x?: object;
    /** point y */
    y?: object;
    /** point text */
    text?: string;
    /** point open value */
    open?: object;
    /** point close value */
    close?: object;
    /** point high value */
    high?: object;
    /** point low value */
    low?: object;
    /** point volume value */
    volume?: object;
}
//node_modules/@syncfusion/ej2-charts/src/chart/print-export/export.d.ts
/**
 * `ExportModule` module is used to print and export the rendered chart.
 */
export  class Export {
    private chart;
    /**
     * Constructor for export module.
     *
     * @private
     */
    constructor(chart: Chart);
    /**
     * Handles the export method for chart control.
     */
    export(type: ExportType, fileName: string, orientation?: pdfExport.PdfPageOrientation, controls?: (Chart | AccumulationChart | RangeNavigator | StockChart)[], width?: number, height?: number, isVertical?: boolean, header?: IPDFArgs, footer?: IPDFArgs): void;
    /**
     * To get data url for charts.
     */
    getDataUrl(chart: Chart | AccumulationChart): {
        element: HTMLCanvasElement;
        dataUrl?: string;
        blobUrl?: string;
    };
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the chart.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/area-series.d.ts
/**
 * `AreaSeries` module is used to render the area series.
 */
export  class AreaSeries extends MultiColoredSeries {
    /**
     * Render Area series.
     *
     * @returns {void}
     * @private
     */
    render(series: Series, xAxis: Axis, yAxis: Axis, isInverted: boolean): void;
    /**
     * To destroy the area series.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
    /**
     * Get module name
     */
    protected getModuleName(): string;
    /**
     * Animates the series.
     *
     * @param  {Series} series - Defines the series to animate.
     * @returns {void}
     */
    doAnimation(series: Series): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/bar-series.d.ts
/**
 * `BarSeries` module is used to render the bar series.
 */
export  class BarSeries extends ColumnBase {
    /**
     * Render Bar series.
     *
     * @returns {void}
     * @private
     */
    render(series: Series): void;
    /**
     * Animates the series.
     *
     * @param  {Series} series - Defines the series to animate.
     * @returns {void}
     */
    doAnimation(series: Series): void;
    /**
     * To destroy the bar series.
     *
     * @returns {void}
     * @private
     */
    protected destroy(): void;
    /**
     * Get module name
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/box-and-whisker-series.d.ts
/**
 * `BoxAndWhiskerSeries` module is used to render the box and whisker series.
 */
export  class BoxAndWhiskerSeries extends ColumnBase {
    /**
     * Render BoxAndWhisker series.
     *
     * @returns {void}
     * @private
     */
    render(series: Series, xAxis: Axis, yAxis: Axis, isInverted: boolean): void;
    /**
     * update the tip region fo box plot
     *
     * @param {Series} series series
     * @param {Points} point point
     * @param {DoubleRange} sideBySideInfo sideBySideInfo
     * @returns {void}
     */
    private updateTipRegion;
    /**
     * Update tip size to tip regions
     *
     * @param {Series} series Series
     * @param {Points} point Points
     * @param {Rect} region rect region
     * @param {boolean} isInverted isInverted
     * @returns {void}
     */
    private updateTipSize;
    /**
     * Calculation for path direction performed here
     *
     * @param {Points} point point
     * @param {Series} series series
     * @param {ChartLocation} median median
     * @param {ChartLocation} average average
     * @returns {string} direction
     */
    getPathString(point: Points, series: Series, median: ChartLocation, average: ChartLocation): string;
    /**
     * Rendering for box and whisker append here.
     *
     * @param {Series} series series
     * @param {Points} point point
     * @param {IPointRenderEventArgs} argsData argsData
     * @param {string} direction path direction
     * @param {number} median median
     * @returns {void}
     */
    renderBoxAndWhisker(series: Series, point: Points, argsData: IPointRenderEventArgs, direction: string, median: number): void;
    /**
     * To find the box plot values
     *
     * @param {number[]} yValues yValues
     * @param {Points} point point
     * @param {BoxPlotMode} mode mode
     * @returns {void}
     */
    findBoxPlotValues(yValues: number[], point: Points, mode: BoxPlotMode): void;
    /**
     * to find the exclusive quartile values
     *
     * @param {number[]} yValues yValues
     * @param {number} count count
     * @param {number} percentile percentile
     * @returns {number} exclusive quartile value
     */
    private getExclusiveQuartileValue;
    /**
     * to find the inclusive quartile values
     *
     * @param {number[]} yValues yValues
     * @param {number} count count
     * @param {number} percentile percentile
     * @returns {number} inclusive quartile value
     */
    private getInclusiveQuartileValue;
    /**
     * To find the quartile values
     *
     * @param {number[]} yValues yValues
     * @param {number} count count
     * @param {IBoxPlotQuartile} quartile quartile
     * @returns {void}
     */
    private getQuartileValues;
    /**
     * To find the min, max and outlier values
     *
     * @param {number[]} yValues yValues
     * @param {number} count count
     * @param {IBoxPlotQuartile} quartile quartile
     * @returns {void}
     */
    private getMinMaxOutlier;
    /**
     * Animates the series.
     *
     * @param  {Series} series - Defines the series to animate.
     * @returns {void}
     */
    doAnimation(series: Series): void;
    /**
     * Get module name.
     *
     * @returns {string} module name
     */
    protected getModuleName(): string;
    /**
     * To destroy the candle series.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/bubble-series.d.ts
/**
 * `BubbleSeries` module is used to render the bubble series.
 */
export  class BubbleSeries {
    /**
     * Render the Bubble series.
     *
     * @returns {void}
     * @private
     */
    render(series: Series, xAxis: Axis, yAxis: Axis, isInverted: boolean): void;
    /**
     * To destroy the Bubble.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * Animates the series.
     *
     * @param  {Series} series - Defines the series to animate.
     * @returns {void}
     */
    doAnimation(series: Series): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/candle-series.d.ts
/**
 * `CandleSeries` module is used to render the candle series.
 */
export  class CandleSeries extends ColumnBase {
    /**
     * Render Candle series.
     *
     * @returns {void}
     * @private
     */
    render(series: Series): void;
    /**
     * Trigger point rendering event
     */
    protected triggerPointRenderEvent(series: Series, point: Points): IPointRenderEventArgs;
    /**
     * Find the color of the candle
     *
     * @param {Points} point point
     * @param {Series} series series
     * @returns {string} color of the candle
     * @private
     */
    private getCandleColor;
    /**
     * Finds the path of the candle shape
     *
     * @private
     */
    getPathString(topRect: svgBase.Rect, midRect: svgBase.Rect, series: Series): string;
    /**
     * Draws the candle shape
     *
     * @param {Series} series series
     * @param {Points} point point
     * @param {svgBase.Rect} rect point region
     * @param {IPointRenderEventArgs} argsData argsData
     * @param {string} direction path direction
     * @returns {void}
     * @private
     */
    drawCandle(series: Series, point: Points, rect: svgBase.Rect, argsData: IPointRenderEventArgs, direction: string): void;
    /**
     * Animates the series.
     *
     * @param  {Series} series - Defines the series to animate.
     * @returns {void}
     */
    doAnimation(series: Series): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the candle series.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/chart-series-model.d.ts
/**
 * Interface for a class DataLabelSettings
 */
export interface DataLabelSettingsModel {
    /**
     * If set true, data label for series renders.
     *
     * @default false
     */
    visible?: boolean;
    /**
     * If set true, data label for zero values in series renders.
     *
     * @default true
     */
    showZero?: boolean;
    /**
     * The DataSource field that contains the data label value.
     *
     * @default null
     */
    name?: string;
    /**
     * The background color of the data label accepts value in hex and rgba as a valid CSS color string.
     *
     * @default 'transparent'
     */
    fill?: string;
    /**
     * Used to format the point data label that accepts any global string format like 'C', 'n1', 'P' etc.
     * It also accepts placeholder like '{value}°C' in which value represent the point data label, e.g, 20°C.
     *
     * @default null
     */
    format?: string;
    /**
     * The opacity for the background.
     *
     * @default 1
     */
    opacity?: number;
    /**
     * Specifies angle for data label.
     *
     * @default 0
     */
    angle?: number;
    /**
     * Enables rotation for data label.
     *
     * @default false
     */
    enableRotation?: boolean;
    /**
     * Specifies the position of the data label. They are,
     * * Outer: Positions the label outside the point.
     * * top: Positions the label on top of the point.
     * * Bottom: Positions the label at the bottom of the point.
     * * Middle: Positions the label to the middle of the point.
     * * Auto: Positions the label based on series.
     *
     * @default 'Auto'
     */
    position?: LabelPosition;
    /**
     * The roundedCornerX for the data label. It requires `border` values not to be null.
     *
     * @default 5
     */
    rx?: number;
    /**
     * The roundedCornerY for the data label. It requires `border` values not to be null.
     *
     * @default 5
     */
    ry?: number;
    /**
     * Specifies the alignment for data Label. They are,
     * * Near: Aligns the label to the left of the point.
     * * Center: Aligns the label to the center of the point.
     * * Far: Aligns the label to the right of the point.
     *
     * @default 'Center'
     */
    alignment?: Alignment;
    /**
     * Option for customizing the border lines.
     */
    border?: BorderModel;
    /**
     * Margin configuration for the data label.
     */
    margin?: MarginModel;
    /**
     * Option for customizing the data label text.
     */
    font?: FontModel;
    /**
     * Custom template to show the data label. Use ${point.x} and ${point.y} as a placeholder
     * text to display the corresponding data point.
     *
     * @default null
     */
    template?: string;
    /**
     * Show Datalabel Even two Data Labels Are Overflow
     *
     * @default 'Hide'
     */
    labelIntersectAction?: DataLabelIntersectAction;
}
/**
 * Interface for a class MarkerSettings
 */
export interface MarkerSettingsModel {
    /**
     * If set to true the marker for series is rendered. This is applicable only for line and area type series.
     *
     * @default false
     */
    visible?: boolean;
    /**
     * The different shape of a marker:
     * * Circle
     * * Rectangle
     * * Triangle
     * * Diamond
     * * HorizontalLine
     * * VerticalLine
     * * Pentagon
     * * InvertedTriangle
     * * Image
     *
     * @default 'Circle'
     */
    shape?: ChartShape;
    /**
     * The URL for the Image that is to be displayed as a marker.  It requires marker `shape` value to be an `Image`.
     *
     * @default ''
     */
    imageUrl?: string;
    /**
     * The height of the marker in pixels.
     *
     * @default 5
     */
    height?: number;
    /**
     *If set true , marker get filled with series color.
     *
     * @default false
     */
    isFilled?: boolean;
    /**
     * The width of the marker in pixels.
     *
     * @default 5
     */
    width?: number;
    /**
     * Options for customizing the border of a marker.
     */
    border?: BorderModel;
    /**
     * Options for customizing the marker position.
     */
    offset?: OffsetModel;
    /**
     *  The fill color of the marker that accepts value in hex and rgba as a valid CSS color string. By default, it will take series' color.
     *
     * @default null
     */
    fill?: string;
    /**
     * The opacity of the marker.
     *
     * @default 1
     */
    opacity?: number;
    /**
     * The data label for the series.
     */
    dataLabel?: DataLabelSettingsModel;
}
/**
 * Interface for a class Points
 */
export interface PointsModel {
}
/**
 * Interface for a class Trendline
 */
export interface TrendlineModel {
    /**
     * Defines the name of trendline
     *
     * @default ''
     */
    name?: string;
    /**
     * Defines the pattern of dashes and gaps to stroke.
     *
     * @default '0'
     */
    dashArray?: string;
    /**
     * Specifies the visibility of trendline.
     *
     * @default true
     */
    visible?: boolean;
    /**
     * Defines the type of the trendline
     *
     * @default 'Linear'
     */
    type?: TrendlineTypes;
    /**
     * Defines the period, the price changes over which will be considered to predict moving average trend line
     *
     * @default 2
     */
    period?: number;
    /**
     * Defines the polynomial order of the polynomial trendline
     *
     * @default 2
     */
    polynomialOrder?: number;
    /**
     * Defines the period, by which the trend has to backward forecast
     *
     * @default 0
     */
    backwardForecast?: number;
    /**
     * Defines the period, by which the trend has to forward forecast
     *
     * @default 0
     */
    forwardForecast?: number;
    /**
     * Options to customize the animation for trendlines
     */
    animation?: AnimationModel;
    /**
     * Options to customize the marker for trendlines
     *
     * @deprecated
     */
    marker?: MarkerSettingsModel;
    /**
     * Enables/disables tooltip for trendlines
     *
     * @default true
     */
    enableTooltip?: boolean;
    /**
     * Defines the intercept of the trendline
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    intercept?: number;
    /**
     * Defines the fill color of trendline
     *
     * @default ''
     */
    fill?: string;
    /**
     * Defines the width of the trendline
     *
     * @default 1
     */
    width?: number;
    /**
     * Sets the legend shape of the trendline
     *
     * @default 'SeriesType'
     */
    legendShape?: LegendShape;
}
/**
 * Interface for a class ErrorBarCapSettings
 */
export interface ErrorBarCapSettingsModel {
    /**
     * The width of the error bar in pixels.
     *
     * @default 1
     */
    width?: number;
    /**
     * The length of the error bar in pixels.
     *
     * @default 10
     */
    length?: number;
    /**
     *  The stroke color of the cap, which accepts value in hex, rgba as a valid CSS color string.
     *
     * @default null
     */
    color?: string;
    /**
     * The opacity of the cap.
     *
     * @default 1
     */
    opacity?: number;
}
/**
 * Interface for a class ChartSegment
 */
export interface ChartSegmentModel {
    /**
     * Defines the starting point of region.
     *
     * @default null
     */
    value?: Object;
    /**
     * Defines the color of a region.
     *
     * @default null
     */
    color?: string;
    /**
     * Defines the pattern of dashes and gaps to stroke.
     *
     * @default '0'
     */
    dashArray?: string;
}
/**
 * Interface for a class ErrorBarSettings
 */
export interface ErrorBarSettingsModel {
    /**
     * If set true, error bar for data gets rendered.
     *
     * @default false
     */
    visible?: boolean;
    /**
     * The type of the error bar . They are
     * * Fixed -  Renders a fixed type error bar.
     * * Percentage - Renders a percentage type error bar.
     * * StandardDeviation - Renders a standard deviation type error bar.
     * * StandardError -Renders a standard error type error bar.
     * * Custom -Renders a custom type error bar.
     *
     * @default 'Fixed'
     */
    type?: ErrorBarType;
    /**
     * The direction of the error bar . They are
     * * both -  Renders both direction of error bar.
     * * minus - Renders minus direction of error bar.
     * * plus - Renders plus direction error bar.
     *
     * @default 'Both'
     */
    direction?: ErrorBarDirection;
    /**
     * The mode of the error bar . They are
     * * Vertical -  Renders a vertical error bar.
     * * Horizontal - Renders a horizontal error bar.
     * * Both - Renders both side error bar.
     *
     * @default 'Vertical'
     */
    mode?: ErrorBarMode;
    /**
     *  The color for stroke of the error bar, which accepts value in hex, rgba as a valid CSS color string.
     *
     * @default null
     */
    color?: string;
    /**
     * The vertical error of the error bar.
     *
     * @default 1
     */
    verticalError?: number;
    /**
     * The stroke width of the error bar..
     *
     * @default 1
     */
    width?: number;
    /**
     * The horizontal error of the error bar.
     *
     * @default 1
     */
    horizontalError?: number;
    /**
     * The vertical positive error of the error bar.
     *
     * @default 3
     */
    verticalPositiveError?: number;
    /**
     * The vertical negative error of the error bar.
     *
     * @default 3
     */
    verticalNegativeError?: number;
    /**
     * The horizontal positive error of the error bar.
     *
     * @default 1
     */
    horizontalPositiveError?: number;
    /**
     * The horizontal negative error of the error bar.
     *
     * @default 1
     */
    horizontalNegativeError?: number;
    /**
     * Options for customizing the cap of the error bar.
     */
    errorBarCap?: ErrorBarCapSettingsModel;
}
/**
 * Interface for a class SeriesBase
 */
export interface SeriesBaseModel {
    /**
     * The DataSource field that contains the x value.
     * It is applicable for series and technical indicators
     *
     * @default ''
     */
    xName?: string;
    /**
     * The Data Source field that contains the color mapping value.
     * It is applicable for range color mapping properly.
     */
    colorName?: string;
    /**
     * The DataSource field that contains the high value of y
     * It is applicable for series and technical indicators
     *
     * @default ''
     */
    high?: string;
    /**
     * The DataSource field that contains the low value of y
     * It is applicable for series and technical indicators
     *
     * @default ''
     */
    low?: string;
    /**
     * The DataSource field that contains the open value of y
     * It is applicable for series and technical indicators
     *
     * @default ''
     */
    open?: string;
    /**
     * The DataSource field that contains the close value of y
     * It is applicable for series and technical indicators
     *
     * @default ''
     */
    close?: string;
    /**
     * Defines the data source field that contains the volume value in candle charts
     * It is applicable for financial series and technical indicators
     *
     * @default ''
     */
    volume?: string;
    /**
     * The DataSource field that contains the color value of point
     * It is applicable for series
     *
     * @default ''
     */
    pointColorMapping?: string;
    /**
     * Specifies the visibility of series.
     *
     * @default true
     */
    visible?: boolean;
    /**
     * The name of the horizontal axis associated with the series. It requires `axes` of the chart.
     * It is applicable for series and technical indicators
     * ```html
     * <div id='Chart'></div>
     * ```
     * ```typescript
     * let chart$: Chart = new Chart({
     * ...
     *     columns: [{ width: '50%' },
     *               { width: '50%' }],
     *     axes: [{
     *                name: 'xAxis 1',
     *                columnIndex: 1,
     *            }],
     *     series: [{
     *                dataSource: data,
     *                xName: 'x', yName: 'y',
     *                xAxisName: 'xAxis 1',
     *     }],
     * });
     * chart.appendTo('#Chart');
     * ```
     *
     * @default null
     */
    xAxisName?: string;
    /**
     * The name of the vertical axis associated with the series. It requires `axes` of the chart.
     * It is applicable for series and technical indicators
     * ```html
     * <div id='Chart'></div>
     * ```
     * ```typescript
     * let chart$: Chart = new Chart({
     * ...
     *     rows: [{ height: '50%' },
     *            { height: '50%' }],
     *     axes: [{
     *                name: 'yAxis 1',
     *                rowIndex: 1,
     *            }],
     *     series: [{
     *                dataSource: data,
     *                xName: 'x', yName: 'y',
     *                yAxisName: 'yAxis 1'
     *     }],
     * });
     * chart.appendTo('#Chart');
     * ```
     *
     * @default null
     */
    yAxisName?: string;
    /**
     * Options to customizing animation for the series.
     */
    animation?: AnimationModel;
    /**
     * The fill color for the series that accepts value in hex and rgba as a valid CSS color string.
     * It also represents the color of the signal lines in technical indicators.
     * For technical indicators, the default value is 'blue' and for series, it has null.
     *
     * @default null
     */
    fill?: string;
    /**
     * The stroke width for the series that is applicable only for `Line` type series.
     * It also represents the stroke width of the signal lines in technical indicators.
     *
     * @default 1
     */
    width?: number;
    /**
     * Defines the pattern of dashes and gaps to stroke the lines in `Line` type series.
     *
     * @default '0'
     */
    dashArray?: string;
    /**
     * Specifies the DataSource for the series. It can be an array of JSON objects or an instance of data.DataManager.
     * ```html
     * <div id='Chart'></div>
     * ```
     * ```typescript
     * let dataManager$: data.DataManager = new data.DataManager({
     *         url: 'http://mvc.syncfusion.com/Services/Northwnd.svc/Tasks/'
     * });
     * let query$: data.Query = new data.Query().take(50).where('Estimate', 'greaterThan', 0, false);
     * let chart$: Chart = new Chart({
     * ...
     *     series: [{
     *        dataSource: dataManager,
     *        xName: 'Id',
     *        yName: 'Estimate',
     *        query: query
     *    }],
     * ...
     * });
     * chart.appendTo('#Chart');
     * ```
     *
     * @default ''
     */
    dataSource?: Object | data.DataManager;
    /**
     * Specifies query to select data from DataSource. This property is applicable only when the DataSource is `ej.data.DataManager`.
     *
     * @default ''
     */
    query?: data.Query;
    /**
     * Defines the collection of regions that helps to differentiate a line series.
     */
    segments?: ChartSegmentModel[];
    /**
     * Defines the axis, based on which the line series will be split.
     */
    segmentAxis?: Segment;
    /**
     * This property used to improve chart performance via data mapping for series dataSource.
     *
     * @default false
     */
    enableComplexProperty?: boolean;
}
/**
 * Interface for a class Series
 */
export interface SeriesModel extends SeriesBaseModel{
    /**
     * The name of the series visible in legend.
     *
     * @default ''
     */
    name?: string;
    /**
     * The DataSource field that contains the y value.
     *
     * @default ''
     */
    yName?: string;
    /**
     * Type of series to be drawn in radar or polar series. They are
     *  'Line'
     *  'Column'
     *  'Area'
     *  'Scatter'
     *  'Spline'
     *  'StackingColumn'
     *  'StackingArea'
     *  'RangeColumn'
     *  'SplineArea'
     *
     * @default 'Line'
     */
    drawType?: ChartDrawType;
    /**
     * Specifies whether to join start and end point of a line/area series used in polar/radar chart to form a closed path.
     *
     * @default true
     */
    isClosed?: boolean;
    /**
     * This property is used in financial charts to visualize the price movements in stock.
     * It defines the color of the candle/point, when the opening price is less than the closing price.
     *
     * @default '#2ecd71'
     */
    bearFillColor?: string;
    /**
     * This property is used in financial charts to visualize the price movements in stock.
     * It defines the color of the candle/point, when the opening price is higher than the closing price.
     *
     * @default '#e74c3d'
     */
    bullFillColor?: string;
    /**
     * This property is applicable for candle series.
     * It enables/disables to visually compare the current values with the previous values in stock.
     *
     * @default false
     */
    enableSolidCandles?: boolean;
    /**
     * The DataSource field that contains the size value of y
     *
     * @default ''
     */
    size?: string;
    /**
     * The bin interval of each histogram points.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    binInterval?: number;
    /**
     * The normal distribution of histogram series.
     *
     * @default false
     */
    showNormalDistribution?: boolean;
    /**
     * This property allows grouping series in `stacked column / bar` charts.
     * Any string value can be provided to the stackingGroup property.
     * If any two or above series have the same value, those series will be grouped together.
     *
     * @default ''
     */
    stackingGroup?: string;
    /**
     * Options to customizing the border of the series. This is applicable only for `Column` and `Bar` type series.
     */
    border?: BorderModel;
    /**
     * The opacity of the series.
     *
     * @default 1
     */
    opacity?: number;
    /**
     * The z order of the series.
     *
     * @default 0
     */
    zOrder?: number;
    /**
     * Defines the name that specifies the chart series are mutually exclusive and can be overlaid.
     * The axis in the same group shares the same baseline and location on the corresponding axis.
     *
     * @default ''
     */
    groupName?: string;
    /**
     * The type of the series are
     * * Line
     * * Column
     * * Area
     * * Bar
     * * Histogram
     * * StackingColumn
     * * StackingArea
     * * StackingBar
     * * StepLine
     * * StepArea
     * * Scatter
     * * Spline
     * * StackingColumn100
     * * StackingBar100
     * * StackingArea100
     * * RangeColumn
     * * Hilo
     * * HiloOpenClose
     * * Waterfall
     * * RangeArea
     * * SplineRangeArea
     * * Bubble
     * * Candle
     * * Polar
     * * Radar
     * * BoxAndWhisker
     * * Pareto
     *
     * @default 'Line'
     */
    type?: ChartSeriesType;
    /**
     * Options for displaying and customizing error bar for individual point in a series.
     */
    errorBar?: ErrorBarSettingsModel;
    /**
     * Options for displaying and customizing markers for individual points in a series.
     */
    marker?: MarkerSettingsModel;
    /**
     * Options to customize the drag settings for series
     */
    dragSettings?: DragSettingsModel;
    /**
     * Defines the collection of trendlines that are used to predict the trend
     */
    trendlines?: TrendlineModel[];
    /**
     * If set true, the Tooltip for series will be visible.
     *
     * @default true
     */
    enableTooltip?: boolean;
    /**
     * user can format now each series tooltip format separately.
     *
     * @default ''
     */
    tooltipFormat?: string;
    /**
     * The provided value will be considered as a Tooltip name
     *
     * @default ''
     */
    tooltipMappingName?: string;
    /**
     * The shape of the legend. Each series has its own legend shape. They are,
     * * Circle
     * * Rectangle
     * * Triangle
     * * Diamond
     * * Cross
     * * HorizontalLine
     * * VerticalLine
     * * Pentagon
     * * InvertedTriangle
     * * SeriesType
     * * Image
     * @default 'SeriesType'
     */
    legendShape?: LegendShape;
    /**
     * The URL for the Image that is to be displayed as a Legend icon.  It requires  `legendShape` value to be an `Image`.
     * @default ''
     */
    legendImageUrl?: string;
    /**
     * Custom style for the selected series or points.
     *
     * @default null
     */
    selectionStyle?: string;
    /**
     * Custom style for the deselected series or points.
     *
     * @default null
     */
    unSelectedStyle?: string;
    /**
     * Custom style for the non-highlighted series or points.
     *
     * @default null
     */
    nonHighlightStyle?: string;
    /**
     * Minimum radius
     *
     * @default 1
     */
    minRadius?: number;
    /**
     * Maximum radius
     *
     * @default 3
     */
    maxRadius?: number;
    /**
     * Defines type of spline to be rendered.
     *
     * @default 'Natural'
     */
    splineType?: SplineType;
    /**
     * It defines tension of cardinal spline types
     *
     * @default 0.5
     */
    cardinalSplineTension?: number;
    /**
     * options to customize the empty points in series
     */
    emptyPointSettings?: EmptyPointSettingsModel;
    /**
     * If set true, the mean value for box and whisker will be visible.
     *
     * @default true
     */
    showMean?: boolean;
    /**
     * The mode of the box and whisker char series. They are,
     * Exclusive
     * Inclusive
     * Normal
     *
     * @default 'Normal'
     */
    boxPlotMode?: BoxPlotMode;
    /**
     * To render the column series points with particular column width. If the series type is histogram the
     * default value is 1 otherwise 0.7.
     *
     * @default null
     * @aspDefaultValueIgnore
     * @blazorDefaultValue Double.NaN
     */
    columnWidth?: number;
    /**
     * To render the column series points with particular column width as pixel.
     *
     * @default null
     * @aspDefaultValueIgnore
     * @blazorDefaultValue Double.NaN
     */
    columnWidthInPixel?: number;
    /**
     * To render the column series points with particular column spacing. It takes value from 0 - 1.
     *
     * @default 0
     */
    columnSpacing?: number;
    /**
     * Defines the visual representation of the negative changes in waterfall charts.
     *
     * @default '#C64E4A'
     */
    negativeFillColor?: string;
    /**
     * Defines the visual representation of the summaries in waterfall charts.
     *
     * @default '#4E81BC'
     */
    summaryFillColor?: string;
    /**
     * Defines the collection of indexes of the intermediate summary columns in waterfall charts.
     *
     * @default []
     * @aspType int[]
     */
    intermediateSumIndexes?: number[];
    /**
     * Defines the collection of indexes of the overall summary columns in waterfall charts.
     *
     * @default []
     * @aspType int[]
     */
    sumIndexes?: number[];
    /**
     * Defines the appearance of line connecting adjacent points in waterfall charts.
     */
    connector?: ConnectorModel;
    /**
     * To render the column series points with particular rounded corner.
     */
    cornerRadius?: CornerRadiusModel;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/chart-series.d.ts
/**
 * Configures the data label in the series.
 */
export  class DataLabelSettings extends base.ChildProperty<DataLabelSettings> {
    /**
     * If set true, data label for series renders.
     *
     * @default false
     */
    visible: boolean;
    /**
     * If set true, data label for zero values in series renders.
     *
     * @default true
     */
    showZero: boolean;
    /**
     * The DataSource field that contains the data label value.
     *
     * @default null
     */
    name: string;
    /**
     * The background color of the data label accepts value in hex and rgba as a valid CSS color string.
     *
     * @default 'transparent'
     */
    fill: string;
    /**
     * Used to format the point data label that accepts any global string format like 'C', 'n1', 'P' etc.
     * It also accepts placeholder like '{value}°C' in which value represent the point data label, e.g, 20°C.
     *
     * @default null
     */
    format: string;
    /**
     * The opacity for the background.
     *
     * @default 1
     */
    opacity: number;
    /**
     * Specifies angle for data label.
     *
     * @default 0
     */
    angle: number;
    /**
     * Enables rotation for data label.
     *
     * @default false
     */
    enableRotation: boolean;
    /**
     * Specifies the position of the data label. They are,
     * * Outer: Positions the label outside the point.
     * * top: Positions the label on top of the point.
     * * Bottom: Positions the label at the bottom of the point.
     * * Middle: Positions the label to the middle of the point.
     * * Auto: Positions the label based on series.
     *
     * @default 'Auto'
     */
    position: LabelPosition;
    /**
     * The roundedCornerX for the data label. It requires `border` values not to be null.
     *
     * @default 5
     */
    rx: number;
    /**
     * The roundedCornerY for the data label. It requires `border` values not to be null.
     *
     * @default 5
     */
    ry: number;
    /**
     * Specifies the alignment for data Label. They are,
     * * Near: Aligns the label to the left of the point.
     * * Center: Aligns the label to the center of the point.
     * * Far: Aligns the label to the right of the point.
     *
     * @default 'Center'
     */
    alignment: Alignment;
    /**
     * Option for customizing the border lines.
     */
    border: BorderModel;
    /**
     * Margin configuration for the data label.
     */
    margin: MarginModel;
    /**
     * Option for customizing the data label text.
     */
    font: FontModel;
    /**
     * Custom template to show the data label. Use ${point.x} and ${point.y} as a placeholder
     * text to display the corresponding data point.
     *
     * @default null
     */
    template: string;
    /**
     * Show Datalabel Even two Data Labels Are Overflow
     *
     * @default 'Hide'
     */
    labelIntersectAction: DataLabelIntersectAction;
}
/**
 *  Configures the marker in the series.
 */
export  class MarkerSettings extends base.ChildProperty<MarkerSettings> {
    /**
     * If set to true the marker for series is rendered. This is applicable only for line and area type series.
     *
     * @default false
     */
    visible: boolean;
    /**
     * The different shape of a marker:
     * * Circle
     * * Rectangle
     * * Triangle
     * * Diamond
     * * HorizontalLine
     * * VerticalLine
     * * Pentagon
     * * InvertedTriangle
     * * Image
     *
     * @default 'Circle'
     */
    shape: ChartShape;
    /**
     * The URL for the Image that is to be displayed as a marker.  It requires marker `shape` value to be an `Image`.
     *
     * @default ''
     */
    imageUrl: string;
    /**
     * The height of the marker in pixels.
     *
     * @default 5
     */
    height: number;
    /**
     *If set true , marker get filled with series color.
     *
     * @default false
     */
    isFilled: boolean;
    /**
     * The width of the marker in pixels.
     *
     * @default 5
     */
    width: number;
    /**
     * Options for customizing the border of a marker.
     */
    border: BorderModel;
    /**
     * Options for customizing the marker position.
     */
    offset: OffsetModel;
    /**
     *  The fill color of the marker that accepts value in hex and rgba as a valid CSS color string. By default, it will take series' color.
     *
     * @default null
     */
    fill: string;
    /**
     * The opacity of the marker.
     *
     * @default 1
     */
    opacity: number;
    /**
     * The data label for the series.
     */
    dataLabel: DataLabelSettingsModel;
}
/**
 * Points model for the series.
 *
 * @public
 */
export  class Points {
    /** point x */
    x: Object;
    /** point y */
    y: Object;
    /** point visibility */
    visible: boolean;
    /** point text */
    text: string;
    /** point tooltip */
    tooltip: string;
    /** point color */
    color: string;
    /** point open value */
    open: Object;
    /** point close value */
    close: Object;
    /** point symbol location */
    symbolLocations: ChartLocation[];
    /** point x value */
    xValue: number;
    /** point y value */
    yValue: number;
    /** point color mapping column */
    colorValue: number;
    /** point index value */
    index: number;
    /** point region */
    regions: svgBase.Rect[];
    /** point percentage value */
    percentage: number;
    /** point high value */
    high: Object;
    /** point low value */
    low: Object;
    /** point volume value */
    volume: Object;
    /** point size value */
    size: Object;
    /** point empty checking */
    isEmpty: boolean;
    /** point region data */
    regionData: PolarArc;
    /** point minimum value */
    minimum: number;
    /** point maximum value */
    maximum: number;
    /** point upper quartile value */
    upperQuartile: number;
    /** point lower quartile value */
    lowerQuartile: number;
    /** point median value */
    median: number;
    /** point outliers value */
    outliers: number[];
    /** point average value */
    average: number;
    /** point error value */
    error: number;
    /** point interior value */
    interior: string;
    /** To know the point is selected */
    isSelect: boolean;
    /** point marker */
    marker: MarkerSettingsModel;
    /**
     * To identify point y value with in the range.
     *
     * @private
     */
    isPointInRange: boolean;
}
/**
 * Defines the behavior of the Trendlines
 */
export  class Trendline extends base.ChildProperty<Trendline> {
    /**
     * Defines the name of trendline
     *
     * @default ''
     */
    name: string;
    /**
     * Defines the pattern of dashes and gaps to stroke.
     *
     * @default '0'
     */
    dashArray: string;
    /**
     * Specifies the visibility of trendline.
     *
     * @default true
     */
    visible: boolean;
    /**
     * Defines the type of the trendline
     *
     * @default 'Linear'
     */
    type: TrendlineTypes;
    /**
     * Defines the period, the price changes over which will be considered to predict moving average trend line
     *
     * @default 2
     */
    period: number;
    /**
     * Defines the polynomial order of the polynomial trendline
     *
     * @default 2
     */
    polynomialOrder: number;
    /**
     * Defines the period, by which the trend has to backward forecast
     *
     * @default 0
     */
    backwardForecast: number;
    /**
     * Defines the period, by which the trend has to forward forecast
     *
     * @default 0
     */
    forwardForecast: number;
    /**
     * Options to customize the animation for trendlines
     */
    animation: AnimationModel;
    /**
     * Options to customize the marker for trendlines
     *
     * @deprecated
     */
    marker: MarkerSettingsModel;
    /**
     * Enables/disables tooltip for trendlines
     *
     * @default true
     */
    enableTooltip: boolean;
    /**
     * Defines the intercept of the trendline
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    intercept: number;
    /**
     * Defines the fill color of trendline
     *
     * @default ''
     */
    fill: string;
    /**
     * Defines the width of the trendline
     *
     * @default 1
     */
    width: number;
    /**
     * Sets the legend shape of the trendline
     *
     * @default 'SeriesType'
     */
    legendShape: LegendShape;
    /** @private */
    targetSeries: Series;
    /** @private */
    trendLineElement: Element;
    /** @private */
    points: Points[];
    /** @private */
    clipRectElement: Element;
    /** @private */
    clipRect: svgBase.Rect;
    /** @private */
    polynomialSlopes: number[];
    /** @private */
    sourceIndex: number;
    /** @private */
    index: number;
    /** @private */
    setDataSource(series: Series, chart: Chart): void;
}
/**
 * Configures Error bar in series.
 */
export  class ErrorBarCapSettings extends base.ChildProperty<ErrorBarCapSettings> {
    /**
     * The width of the error bar in pixels.
     *
     * @default 1
     */
    width: number;
    /**
     * The length of the error bar in pixels.
     *
     * @default 10
     */
    length: number;
    /**
     *  The stroke color of the cap, which accepts value in hex, rgba as a valid CSS color string.
     *
     * @default null
     */
    color: string;
    /**
     * The opacity of the cap.
     *
     * @default 1
     */
    opacity: number;
}
export  class ChartSegment extends base.ChildProperty<ChartSegment> {
    /**
     * Defines the starting point of region.
     *
     * @default null
     */
    value: Object;
    /**
     * Defines the color of a region.
     *
     * @default null
     */
    color: string;
    /**
     * Defines the pattern of dashes and gaps to stroke.
     *
     * @default '0'
     */
    dashArray: string;
    /** @private */
    startValue: number;
    /** @private */
    endValue: number;
}
/**
 * Error bar settings
 *
 * @public
 */
export  class ErrorBarSettings extends base.ChildProperty<ErrorBarSettings> {
    /**
     * If set true, error bar for data gets rendered.
     *
     * @default false
     */
    visible: boolean;
    /**
     * The type of the error bar . They are
     * * Fixed -  Renders a fixed type error bar.
     * * Percentage - Renders a percentage type error bar.
     * * StandardDeviation - Renders a standard deviation type error bar.
     * * StandardError -Renders a standard error type error bar.
     * * Custom -Renders a custom type error bar.
     *
     * @default 'Fixed'
     */
    type: ErrorBarType;
    /**
     * The direction of the error bar . They are
     * * both -  Renders both direction of error bar.
     * * minus - Renders minus direction of error bar.
     * * plus - Renders plus direction error bar.
     *
     * @default 'Both'
     */
    direction: ErrorBarDirection;
    /**
     * The mode of the error bar . They are
     * * Vertical -  Renders a vertical error bar.
     * * Horizontal - Renders a horizontal error bar.
     * * Both - Renders both side error bar.
     *
     * @default 'Vertical'
     */
    mode: ErrorBarMode;
    /**
     *  The color for stroke of the error bar, which accepts value in hex, rgba as a valid CSS color string.
     *
     * @default null
     */
    color: string;
    /**
     * The vertical error of the error bar.
     *
     * @default 1
     */
    verticalError: number;
    /**
     * The stroke width of the error bar..
     *
     * @default 1
     */
    width: number;
    /**
     * The horizontal error of the error bar.
     *
     * @default 1
     */
    horizontalError: number;
    /**
     * The vertical positive error of the error bar.
     *
     * @default 3
     */
    verticalPositiveError: number;
    /**
     * The vertical negative error of the error bar.
     *
     * @default 3
     */
    verticalNegativeError: number;
    /**
     * The horizontal positive error of the error bar.
     *
     * @default 1
     */
    horizontalPositiveError: number;
    /**
     * The horizontal negative error of the error bar.
     *
     * @default 1
     */
    horizontalNegativeError: number;
    /**
     * Options for customizing the cap of the error bar.
     */
    errorBarCap: ErrorBarCapSettingsModel;
}
/**
 * Defines the common behavior of Series and Technical Indicators
 */
export  class SeriesBase extends base.ChildProperty<SeriesBase> {
    /**
     * The DataSource field that contains the x value.
     * It is applicable for series and technical indicators
     *
     * @default ''
     */
    xName: string;
    /**
     * The Data Source field that contains the color mapping value.
     * It is applicable for range color mapping properly.
     */
    colorName: string;
    /**
     * The DataSource field that contains the high value of y
     * It is applicable for series and technical indicators
     *
     * @default ''
     */
    high: string;
    /**
     * The DataSource field that contains the low value of y
     * It is applicable for series and technical indicators
     *
     * @default ''
     */
    low: string;
    /**
     * The DataSource field that contains the open value of y
     * It is applicable for series and technical indicators
     *
     * @default ''
     */
    open: string;
    /**
     * The DataSource field that contains the close value of y
     * It is applicable for series and technical indicators
     *
     * @default ''
     */
    close: string;
    /**
     * Defines the data source field that contains the volume value in candle charts
     * It is applicable for financial series and technical indicators
     *
     * @default ''
     */
    volume: string;
    /**
     * The DataSource field that contains the color value of point
     * It is applicable for series
     *
     * @default ''
     */
    pointColorMapping: string;
    /**
     * Specifies the visibility of series.
     *
     * @default true
     */
    visible: boolean;
    /**
     * The name of the horizontal axis associated with the series. It requires `axes` of the chart.
     * It is applicable for series and technical indicators
     * ```html
     * <div id='Chart'></div>
     * ```
     * ```typescript
     * let chart$: Chart = new Chart({
     * ...
     *     columns: [{ width: '50%' },
     *               { width: '50%' }],
     *     axes: [{
     *                name: 'xAxis 1',
     *                columnIndex: 1,
     *            }],
     *     series: [{
     *                dataSource: data,
     *                xName: 'x', yName: 'y',
     *                xAxisName: 'xAxis 1',
     *     }],
     * });
     * chart.appendTo('#Chart');
     * ```
     *
     * @default null
     */
    xAxisName: string;
    /**
     * The name of the vertical axis associated with the series. It requires `axes` of the chart.
     * It is applicable for series and technical indicators
     * ```html
     * <div id='Chart'></div>
     * ```
     * ```typescript
     * let chart$: Chart = new Chart({
     * ...
     *     rows: [{ height: '50%' },
     *            { height: '50%' }],
     *     axes: [{
     *                name: 'yAxis 1',
     *                rowIndex: 1,
     *            }],
     *     series: [{
     *                dataSource: data,
     *                xName: 'x', yName: 'y',
     *                yAxisName: 'yAxis 1'
     *     }],
     * });
     * chart.appendTo('#Chart');
     * ```
     *
     * @default null
     */
    yAxisName: string;
    /**
     * Options to customizing animation for the series.
     */
    animation: AnimationModel;
    /**
     * The fill color for the series that accepts value in hex and rgba as a valid CSS color string.
     * It also represents the color of the signal lines in technical indicators.
     * For technical indicators, the default value is 'blue' and for series, it has null.
     *
     * @default null
     */
    fill: string;
    /**
     * The stroke width for the series that is applicable only for `Line` type series.
     * It also represents the stroke width of the signal lines in technical indicators.
     *
     * @default 1
     */
    width: number;
    /**
     * Defines the pattern of dashes and gaps to stroke the lines in `Line` type series.
     *
     * @default '0'
     */
    dashArray: string;
    /**
     * Specifies the DataSource for the series. It can be an array of JSON objects or an instance of data.DataManager.
     * ```html
     * <div id='Chart'></div>
     * ```
     * ```typescript
     * let dataManager$: data.DataManager = new data.DataManager({
     *         url: 'http://mvc.syncfusion.com/Services/Northwnd.svc/Tasks/'
     * });
     * let query$: data.Query = new data.Query().take(50).where('Estimate', 'greaterThan', 0, false);
     * let chart$: Chart = new Chart({
     * ...
     *     series: [{
     *        dataSource: dataManager,
     *        xName: 'Id',
     *        yName: 'Estimate',
     *        query: query
     *    }],
     * ...
     * });
     * chart.appendTo('#Chart');
     * ```
     *
     * @default ''
     */
    dataSource: Object | data.DataManager;
    /**
     * Specifies query to select data from DataSource. This property is applicable only when the DataSource is `ej.data.DataManager`.
     *
     * @default ''
     */
    query: data.Query;
    /**
     * Defines the collection of regions that helps to differentiate a line series.
     */
    segments: ChartSegmentModel[];
    /**
     * Defines the axis, based on which the line series will be split.
     */
    segmentAxis: Segment;
    /**
     * This property used to improve chart performance via data mapping for series dataSource.
     *
     * @default false
     */
    enableComplexProperty: boolean;
    rangeColorPoints: string[];
    private isAdvancedColor;
    /**
     * Process data for the series.
     *
     * @hidden
     */
    processJsonData(): void;
    private rangeColorsInterior;
    private pushData;
    /** @private */
    protected dataPoint(i: number, textMappingName: string, xName: string): Points;
    private isAdvancedColorSupported;
    private getPointFillColor;
    private getObjectValue;
    /**
     * To set empty point value based on empty point mode
     *
     * @private
     */
    setEmptyPoint(point: Points, i: number): void;
    private findVisibility;
    /**
     * To get Y min max for the provided point seriesType XY
     */
    private setXYMinMax;
    /**
     * To get Y min max for the provided point seriesType XY
     */
    private setHiloMinMax;
    /**
     * Finds the type of the series
     *
     * @private
     */
    private getSeriesType;
    /** @private */
    protected pushCategoryData(point: Points, index: number, pointX: string): void;
    /**
     * To find average of given property
     */
    private getAverage;
    /**
     * To find the control points for spline.
     *
     * @returns {void}
     * @private
     */
    refreshDataManager(chart: Chart): void;
    private dataManagerSuccess;
    private refreshChart;
    /** @private */
    xMin: number;
    /** @private */
    xMax: number;
    /** @private */
    yMin: number;
    /** @private */
    yMax: number;
    /** @private */
    xAxis: Axis;
    /** @private */
    yAxis: Axis;
    /** @private */
    chart: Chart;
    /** @private */
    currentViewData: Object;
    /** @private */
    clipRect: svgBase.Rect;
    /** @private */
    xData: number[];
    /** @private */
    yData: number[];
    /** @private */
    index: number;
    /** @private */
    dataModule: Data;
    /** @private */
    points: Points[];
    /** @private */
    visiblePoints: Points[];
    /** @private */
    seriesType: SeriesValueType;
    /** @private */
    sizeMax: number;
    /** @private */
    private recordsCount;
    private isRectTypeSeries;
}
/**
 * Configures the series in charts.
 *
 * @public
 */
export  class Series extends SeriesBase {
    /**
     * The name of the series visible in legend.
     *
     * @default ''
     */
    name: string;
    /**
     * The DataSource field that contains the y value.
     *
     * @default ''
     */
    yName: string;
    /**
     * Type of series to be drawn in radar or polar series. They are
     *  'Line'
     *  'Column'
     *  'Area'
     *  'Scatter'
     *  'Spline'
     *  'StackingColumn'
     *  'StackingArea'
     *  'RangeColumn'
     *  'SplineArea'
     *
     * @default 'Line'
     */
    drawType: ChartDrawType;
    /**
     * Specifies whether to join start and end point of a line/area series used in polar/radar chart to form a closed path.
     *
     * @default true
     */
    isClosed: boolean;
    /**
     * This property is used in financial charts to visualize the price movements in stock.
     * It defines the color of the candle/point, when the opening price is less than the closing price.
     *
     * @default '#2ecd71'
     */
    bearFillColor: string;
    /**
     * This property is used in financial charts to visualize the price movements in stock.
     * It defines the color of the candle/point, when the opening price is higher than the closing price.
     *
     * @default '#e74c3d'
     */
    bullFillColor: string;
    /**
     * This property is applicable for candle series.
     * It enables/disables to visually compare the current values with the previous values in stock.
     *
     * @default false
     */
    enableSolidCandles: boolean;
    /**
     * The DataSource field that contains the size value of y
     *
     * @default ''
     */
    size: string;
    /**
     * The bin interval of each histogram points.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    binInterval: number;
    /**
     * The normal distribution of histogram series.
     *
     * @default false
     */
    showNormalDistribution: boolean;
    /**
     * This property allows grouping series in `stacked column / bar` charts.
     * Any string value can be provided to the stackingGroup property.
     * If any two or above series have the same value, those series will be grouped together.
     *
     * @default ''
     */
    stackingGroup: string;
    /**
     * Options to customizing the border of the series. This is applicable only for `Column` and `Bar` type series.
     */
    border: BorderModel;
    /**
     * The opacity of the series.
     *
     * @default 1
     */
    opacity: number;
    /**
     * The z order of the series.
     *
     * @default 0
     */
    zOrder: number;
    /**
     * Defines the name that specifies the chart series are mutually exclusive and can be overlaid.
     * The axis in the same group shares the same baseline and location on the corresponding axis.
     *
     * @default ''
     */
    groupName: string;
    /**
     * The type of the series are
     * * Line
     * * Column
     * * Area
     * * Bar
     * * Histogram
     * * StackingColumn
     * * StackingArea
     * * StackingBar
     * * StepLine
     * * StepArea
     * * Scatter
     * * Spline
     * * StackingColumn100
     * * StackingBar100
     * * StackingArea100
     * * RangeColumn
     * * Hilo
     * * HiloOpenClose
     * * Waterfall
     * * RangeArea
     * * SplineRangeArea
     * * Bubble
     * * Candle
     * * Polar
     * * Radar
     * * BoxAndWhisker
     * * Pareto
     *
     * @default 'Line'
     */
    type: ChartSeriesType;
    /**
     * Options for displaying and customizing error bar for individual point in a series.
     */
    errorBar: ErrorBarSettingsModel;
    /**
     * Options for displaying and customizing markers for individual points in a series.
     */
    marker: MarkerSettingsModel;
    /**
     * Options to customize the drag settings for series
     */
    dragSettings: DragSettingsModel;
    /**
     * Defines the collection of trendlines that are used to predict the trend
     */
    trendlines: TrendlineModel[];
    /**
     * If set true, the Tooltip for series will be visible.
     *
     * @default true
     */
    enableTooltip: boolean;
    /**
     * user can format now each series tooltip format separately.
     *
     * @default ''
     */
    tooltipFormat: string;
    /**
     * The provided value will be considered as a Tooltip name
     *
     * @default ''
     */
    tooltipMappingName: string;
    /**
     * The shape of the legend. Each series has its own legend shape. They are,
     * * Circle
     * * Rectangle
     * * Triangle
     * * Diamond
     * * Cross
     * * HorizontalLine
     * * VerticalLine
     * * Pentagon
     * * InvertedTriangle
     * * SeriesType
     * * Image
     * @default 'SeriesType'
     */
    legendShape: LegendShape;
    /**
     * The URL for the Image that is to be displayed as a Legend icon.  It requires  `legendShape` value to be an `Image`.
     * @default ''
     */
    legendImageUrl: string;
    /**
     * Custom style for the selected series or points.
     *
     * @default null
     */
    selectionStyle: string;
    /**
     * Custom style for the deselected series or points.
     *
     * @default null
     */
    unSelectedStyle: string;
    /**
     * Custom style for the non-highlighted series or points.
     *
     * @default null
     */
    nonHighlightStyle: string;
    /**
     * Minimum radius
     *
     * @default 1
     */
    minRadius: number;
    /**
     * Maximum radius
     *
     * @default 3
     */
    maxRadius: number;
    /**
     * Defines type of spline to be rendered.
     *
     * @default 'Natural'
     */
    splineType: SplineType;
    /**
     * It defines tension of cardinal spline types
     *
     * @default 0.5
     */
    cardinalSplineTension: number;
    /**
     * options to customize the empty points in series
     */
    emptyPointSettings: EmptyPointSettingsModel;
    /**
     * If set true, the mean value for box and whisker will be visible.
     *
     * @default true
     */
    showMean: boolean;
    /**
     * The mode of the box and whisker char series. They are,
     * Exclusive
     * Inclusive
     * Normal
     *
     * @default 'Normal'
     */
    boxPlotMode: BoxPlotMode;
    /**
     * To render the column series points with particular column width. If the series type is histogram the
     * default value is 1 otherwise 0.7.
     *
     * @default null
     * @aspDefaultValueIgnore
     * @blazorDefaultValue Double.NaN
     */
    columnWidth: number;
    /**
     * To render the column series points with particular column width as pixel.
     *
     * @default null
     * @aspDefaultValueIgnore
     * @blazorDefaultValue Double.NaN
     */
    columnWidthInPixel: number;
    /**
     * To render the column series points with particular column spacing. It takes value from 0 - 1.
     *
     * @default 0
     */
    columnSpacing: number;
    /**
     * Defines the visual representation of the negative changes in waterfall charts.
     *
     * @default '#C64E4A'
     */
    negativeFillColor: string;
    /**
     * Defines the visual representation of the summaries in waterfall charts.
     *
     * @default '#4E81BC'
     */
    summaryFillColor: string;
    /**
     * Defines the collection of indexes of the intermediate summary columns in waterfall charts.
     *
     * @default []
     * @aspType int[]
     */
    intermediateSumIndexes: number[];
    /**
     * Defines the collection of indexes of the overall summary columns in waterfall charts.
     *
     * @default []
     * @aspType int[]
     */
    sumIndexes: number[];
    /**
     * Defines the appearance of line connecting adjacent points in waterfall charts.
     */
    connector: ConnectorModel;
    /**
     * To render the column series points with particular rounded corner.
     */
    cornerRadius: CornerRadiusModel;
    visibleSeriesCount: number;
    /** @private */
    position: number;
    /** @private */
    rectCount: number;
    /** @private */
    seriesElement: Element;
    /** @private */
    errorBarElement: Element;
    /** @private */
    symbolElement: Element;
    /** @private */
    shapeElement: Element;
    /** @private */
    textElement: Element;
    /** @private */
    pathElement: Element;
    /** @private */
    sourceIndex: number;
    /** @private */
    category: SeriesCategories;
    /** @private */
    isRectSeries: boolean;
    /** @private */
    clipRectElement: Element;
    /** @private */
    stackedValues: StackValues;
    /** @private */
    interior: string;
    /** @private */
    histogramValues: IHistogramValues;
    /** @private */
    drawPoints: ControlPoints[];
    /** @private */
    lowDrawPoints: ControlPoints[];
    /** @private */
    delayedAnimation: boolean;
    /** @private */
    rangeColorName: string;
    constructor(parent: any, propName: string, defaultValue: Object, isArray?: boolean);
    /**
     * Refresh the axis label.
     *
     * @returns {void}
     * @private
     */
    refreshAxisLabel(): void;
    /**
     * To get the series collection.
     *
     * @returns {void}
     * @private
     */
    findSeriesCollection(column: Column, row: Row, isStack: boolean): Series[];
    /**
     * To get the column type series.
     *
     * @returns {void}
     * @private
     */
    private rectSeriesInChart;
    /**
     * To calculate the stacked values.
     *
     * @returns {void}
     * @private
     */
    calculateStackedValue(isStacking100: boolean, chart: Chart): void;
    private calculateStackingValues;
    private findPercentageOfStacking;
    private findFrequencies;
    /** @private */
    renderSeries(chart: Chart): void;
    /**
     * To create seris element.
     *
     * @returns {void}
     * @private
     */
    createSeriesElements(chart: Chart): void;
    /**
     * To append the series.
     *
     * @returns {void}
     * @private
     */
    appendSeriesElement(element: Element, chart: Chart): void;
    /**
     * To perform animation for chart series.
     *
     * @returns {void}
     * @private
     */
    performAnimation(chart: Chart, type: string, errorBar: ErrorBarSettingsModel, marker: MarkerSettingsModel, dataLabel: DataLabelSettingsModel): void;
    /**
     * To set border color for empty point
     *
     * @private
     */
    setPointColor(point: Points, color: string): string;
    /**
     * To set border color for empty point
     *
     * @private
     */
    setBorderColor(point: Points, border: BorderModel): BorderModel;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/column-base.d.ts
/**
 * Column Series Base
 */
export  class ColumnBase {
    /**
     * To get the position of the column series.
     *
     * @returns {DoubleRange} doubleRange
     * @private
     */
    protected getSideBySideInfo(series: Series): DoubleRange;
    /**
     * To get the rect values.
     *
     * @returns {svgBase.Rect} rect region values
     * @private
     */
    protected getRectangle(x1: number, y1: number, x2: number, y2: number, series: Series): svgBase.Rect;
    /**
     * To get the position of each series.
     *
     * @returns {void}
     * @private
     */
    private getSideBySidePositions;
    private findRectPosition;
    /**
     * Updates the symbollocation for points
     *
     * @returns {void}
     * @private
     */
    protected updateSymbolLocation(point: Points, rect: svgBase.Rect, series: Series): void;
    /**
     * Update the region for the point.
     *
     * @returns {void}
     * @private
     */
    protected updateXRegion(point: Points, rect: svgBase.Rect, series: Series): void;
    /**
     * Update the region for the point in bar series.
     *
     * @returns {void}
     * @private
     */
    protected updateYRegion(point: Points, rect: svgBase.Rect, series: Series): void;
    /**
     * To render the marker for the series.
     *
     * @returns {void}
     * @private
     */
    renderMarker(series: Series): void;
    /**
     * To get the marker region when Y value is 0
     *
     * @param {Points} point point
     * @param {rect} rect rect
     * @param {Series} series series
     */
    private getRegion;
    /**
     * To trigger the point rendering event.
     *
     * @returns {void}
     * @private
     */
    protected triggerEvent(series: Series, point: Points, fill: string, border: BorderModel): IPointRenderEventArgs;
    /**
     * To draw the rectangle for points.
     *
     * @returns {void}
     * @private
     */
    protected drawRectangle(series: Series, point: Points, rect: svgBase.Rect, argsData: IPointRenderEventArgs): void;
    /**
     * To animate the series.
     *
     * @returns {void}
     * @private
     */
    animate(series: Series): void;
    /**
     * To animate the series.
     *
     * @returns {void}
     * @private
     */
    private animateRect;
    /**
     * To get rounded rect path direction
     */
    private calculateRoundedRectPath;
}
export interface RectPosition {
    position: number;
    rectCount: number;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/column-series.d.ts
/**
 * `ColumnSeries` Module used to render the column series.
 */
export  class ColumnSeries extends ColumnBase {
    /**
     * Render Column series.
     *
     * @returns {void}
     * @private
     */
    render(series: Series): void;
    /**
     * Animates the series.
     *
     * @param  {Series} series - Defines the series to animate.
     * @returns {void}
     */
    doAnimation(series: Series): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the column series.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/data-label.d.ts
/**
 * `DataLabel` module is used to render data label for the data point.
 */
export  class DataLabel {
    private chart;
    private margin;
    private isShape;
    private locationX;
    private locationY;
    private fontBackground;
    private borderWidth;
    private markerHeight;
    private commonId;
    private yAxisInversed;
    private inverted;
    private errorHeight;
    private chartBackground;
    /**
     * Constructor for the data label module.
     *
     * @private
     */
    constructor(chart: Chart);
    private initPrivateVariables;
    private calculateErrorHeight;
    private isRectSeries;
    /**
     * Render the data label for series.
     *
     * @returns {void}
     */
    render(series: Series, chart: Chart, dataLabel: DataLabelSettingsModel): void;
    /**
     * Get rect coordinates
     */
    private getRectanglePoints;
    private isDataLabelOverlapWithChartBound;
    /**
     * Render the data label template.
     *
     * @returns {void}
     * @private
     */
    private createDataLabelTemplate;
    calculateTemplateLabelSize(parentElement: HTMLElement, childElement: HTMLElement, point: Points, series: Series, dataLabel: DataLabelSettingsModel, labelIndex: number, clip: svgBase.Rect, redraw: boolean, isReactCallback?: boolean): void;
    private calculateTextPosition;
    private calculatePolarRectPosition;
    /**
     * Get the label location
     */
    private getLabelLocation;
    private calculateRectPosition;
    private calculatePathPosition;
    private isDataLabelShape;
    private calculateRectActualPosition;
    private calculateAlignment;
    private calculateTopAndOuterPosition;
    /**
     * Updates the label location
     */
    private updateLabelLocation;
    private calculatePathActualPosition;
    /**
     * Animates the data label.
     *
     * @param  {Series} series - Data label of the series gets animated.
     * @returns {void}
     */
    doDataLabelAnimation(series: Series, element?: Element): void;
    private getPosition;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the dataLabel for series.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/error-bar.d.ts
/**
 * `ErrorBar` module is used to render the error bar for series.
 */
export  class ErrorBar {
    private chart;
    errorHeight: number;
    error: number;
    positiveHeight: number;
    negativeHeight: number;
    /**
     * Constructor for the error bar module.
     *
     * @private
     */
    constructor(chart: Chart);
    /**
     * Render the error bar for series.
     *
     * @returns {void}
     */
    render(series: Series): void;
    private renderErrorBar;
    private findLocation;
    private calculateFixedValue;
    private calculatePercentageValue;
    private calculateStandardDeviationValue;
    private calculateStandardErrorValue;
    private calculateCustomValue;
    private getHorizontalDirection;
    private getVerticalDirection;
    private getBothDirection;
    private getErrorDirection;
    meanCalculation(series: Series, mode: ErrorBarMode): Mean;
    private createElement;
    /**
     * Animates the series.
     *
     * @param  {Series} series - Defines the series to animate.
     * @returns {void}
     */
    doErrorBarAnimation(series: Series): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the errorBar for series.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/hilo-open-close-series.d.ts
/**
 * `HiloOpenCloseSeries` module is used to render the hiloOpenClose series.
 */
export  class HiloOpenCloseSeries extends ColumnBase {
    /**
     * Render HiloOpenCloseSeries series.
     *
     * @returns {void}
     * @private
     */
    render(series: Series): void;
    /**
     * Updates the tick region
     */
    private updateTickRegion;
    /**
     * Trigger point rendering event
     */
    private triggerPointRenderEvent;
    /**
     * To draw the rectangle for points.
     *
     * @returns {void}
     * @private
     */
    protected drawHiloOpenClosePath(series: Series, point: Points, open: ChartLocation, close: ChartLocation, rect: svgBase.Rect, argsData: IPointRenderEventArgs): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * Animates the series.
     *
     * @param  {Series} series - Defines the series to animate.
     * @returns {void}
     */
    doAnimation(series: Series): void;
    /**
     * To destroy the column series.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/hilo-series.d.ts
/**
 * `HiloSeries` module is used to render the hilo series.
 */
export  class HiloSeries extends ColumnBase {
    /**
     * Render Hiloseries.
     *
     * @returns {void}
     * @private
     */
    render(series: Series): void;
    /**
     * To trigger the point rendering event.
     *
     * @returns {void}
     * @private
     */
    private triggerPointRenderEvent;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * Animates the series.
     *
     * @param  {Series} series - Defines the series to animate.
     * @returns {void}
     */
    doAnimation(series: Series): void;
    /**
     * To destroy the Hilo series.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/histogram-series.d.ts
/**
 * `HistogramSeries` Module used to render the histogram series.
 */
export  class HistogramSeries extends ColumnSeries {
    /**
     * Render Histogram series.
     *
     * @returns {void}
     * @private
     */
    render(series: Series): void;
    /**
     * To calculate bin interval for Histogram series.
     *
     * @returns {void}
     * @private
     */
    private calculateBinInterval;
    /**
     * Add data points for Histogram series.
     *
     * @returns {object[]} data
     * @private
     */
    processInternalData(data: Object[], series: Series): Object[];
    /**
     * Calculates bin values.
     *
     * @returns null
     * @private
     */
    calculateBinValues(series: Series): void;
    /**
     * Render Normal Distribution for Histogram series.
     *
     * @returns {void}
     * @private
     */
    private renderNormalDistribution;
    /**
     * Animates the series.
     *
     * @param  {Series} series - Defines the series to animate.
     * @returns {void}
     */
    doAnimation(series: Series): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the histogram series.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/line-base.d.ts
/**
 * Base for line type series.
 */
export  class LineBase {
    chart: Chart;
    /** @private */
    constructor(chartModule?: Chart);
    /**
     * To improve the chart performance.
     *
     * @returns {void}
     * @private
     */
    enableComplexProperty(series: Series): Points[];
    /**
     * To generate the line path direction
     *
     * @param {Points} firstPoint firstPoint
     * @param {Points} secondPoint secondPoint
     * @param {Series} series series
     * @param {boolean} isInverted isInverted
     * @param {Function} getPointLocation getPointLocation
     * @param {string} startPoint startPoint
     */
    getLineDirection(firstPoint: Points, secondPoint: Points, series: Series, isInverted: Boolean, getPointLocation: Function, startPoint: string): string;
    /**
     * To append the line path.
     *
     * @returns {void}
     * @private
     */
    appendLinePath(options: svgBase.PathOption, series: Series, clipRect: string): void;
    /**
     * To render the marker for the series.
     *
     * @returns {void}
     * @private
     */
    renderMarker(series: Series): void;
    /**
     * To do the progressive animation.
     *
     * @returns {void}
     * @private
     */
    doProgressiveAnimation(series: Series, option: AnimationModel): void;
    /**
     * To store the symbol location and region
     *
     * @param {Points} point point
     * @param {Series} series series
     * @param {boolean} isInverted isInverted
     * @param {Function} getLocation getLocation
     */
    storePointLocation(point: Points, series: Series, isInverted: boolean, getLocation: Function): void;
    /**
     * To find point with in the visible range
     *
     * @param {Points} point point
     * @param {Axis} yAxis yAxis
     * @private
     */
    withinYRange(point: Points, yAxis: Axis): boolean;
    /**
     * To get first and last visible points
     *
     * @private
     */
    getFirstLastVisiblePoint(points: Points[]): {
        first: Points;
        last: Points;
    };
    /**
    * To Generate the area series border path direction from area series main direction path.
    *
    *  @param {string} direction direction
    *
    * */
    getBorderDirection(direction: string): string;
    /**
     * To remove empty point directions from series direction of area types.
     *
     *  @param {string} borderDirection direction
     *
     * */
    removeEmptyPointsBorder(borderDirection: string): string;
    /**
     * To do the linear animation.
     *
     * @returns {void}
     * @private
     */
    doLinearAnimation(series: Series, animation: AnimationModel): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/line-series.d.ts
/**
 * `LineSeries` module used to render the line series.
 */
export  class LineSeries extends LineBase {
    /**
     * Render Line Series.
     *
     * @returns {void}
     * @private
     */
    render(series: Series, xAxis: Axis, yAxis: Axis, isInverted: boolean): void;
    /**
     * Animates the series.
     *
     * @param  {Series} series - Defines the series to animate.
     * @returns {void}
     */
    doAnimation(series: Series): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the line series.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/marker-explode.d.ts
/**
 * Marker Module used to render the marker for line type series.
 */
export  class MarkerExplode extends ChartData {
    private markerExplode;
    private isRemove;
    /** @private */
    elementId: string;
    /**
     * Constructor for the marker module.
     *
     * @private
     */
    constructor(chart: Chart);
    /**
     * @hidden
     */
    addEventListener(): void;
    /**
     * @hidden
     */
    removeEventListener(): void;
    /**
     * @hidden
     */
    private mouseUpHandler;
    /**
     * @hidden
     */
    private mouseMoveHandler;
    private markerMove;
    private animationDuration;
    private drawTrackBall;
    /**
     * Animates the series.
     *
     * @param  {Series} series - Defines the series to animate.
     * @returns {void}
     */
    doAnimation(series: Series, point: Points, endAnimate?: boolean): void;
    /**
    * Animation Effect Calculation End
    *
    * @private
    */
    trackballAnimate(elements: Element, delays: number, durations: number, series: Series, pointIndex: number, point: ChartLocation, isLabel: boolean, endAnimate: boolean): void;
    /**
     * @hidden
    */
    removeHighlightedMarker(series?: Series, point?: Points, fadeOut?: boolean): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/marker.d.ts
/**
 * Marker module used to render the marker for line type series.
 */
export  class Marker extends MarkerExplode {
    /**
     * Constructor for the marker module.
     *
     * @private
     */
    constructor(chart: Chart);
    /**
     * Render the marker for series.
     *
     * @returns {void}
     * @private
     */
    render(series: Series): void;
    private renderMarker;
    createElement(series: Series, redraw: boolean): void;
    private getRangeLowPoint;
    /**
     * Animates the marker.
     *
     * @returns {void}
     * @private
     */
    doMarkerAnimation(series: Series): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/multi-colored-area-series.d.ts
/**
 * `MultiColoredAreaSeries` module used to render the area series with multi color.
 */
export  class MultiColoredAreaSeries extends MultiColoredSeries {
    /**
     * Render Area series.
     *
     * @returns {void}
     * @private
     */
    render(series: Series, xAxis: Axis, yAxis: Axis, isInverted: boolean): void;
    /**
     * To Store the path directions of the area
     */
    private generatePathOption;
    /**
     * To draw border for the path directions of area
     */
    private generateBorderPathOption;
    /**
     * To destroy the area series.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
    /**
     * Get module name
     */
    protected getModuleName(): string;
    /**
     * Animates the series.
     *
     * @param  {Series} series - Defines the series to animate.
     * @returns {void}
     */
    doAnimation(series: Series): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/multi-colored-base.d.ts
/**
 * Base class for multi colored series
 */
export  class MultiColoredSeries extends LineBase {
    /**
     * To Generate the area path direction
     *
     * @param {number} xValue xValue
     * @param {number} yValue yValue
     * @param {Series} series series
     * @param {boolean} isInverted isInverted
     * @param {Function} getPointLocation getPointLocation
     * @param {ChartLocation} startPoint startPoint
     * @param {string} startPath startPath
     */
    getAreaPathDirection(xValue: number, yValue: number, series: Series, isInverted: boolean, getPointLocation: Function, startPoint: ChartLocation, startPath: string): string;
    /**
     * To Generate the empty point direction
     *
     * @param {ChartLocation} firstPoint firstPoint
     * @param {ChartLocation} secondPoint secondPoint
     * @param {Series} series series
     * @param {boolean} isInverted isInverted
     * @param {Function} getPointLocation getPointLocation
     */
    getAreaEmptyDirection(firstPoint: ChartLocation, secondPoint: ChartLocation, series: Series, isInverted: boolean, getPointLocation: Function): string;
    /**
     * To set point color
     */
    setPointColor(currentPoint: Points, previous: Points, series: Series, isXSegment: boolean, segments: ChartSegmentModel[]): boolean;
    sortSegments(series: Series, chartSegments: ChartSegmentModel[]): ChartSegmentModel[];
    /**
     * Segment calculation performed here
     *
     * @param {Series} series series
     * @param {svgBase.PathOption[]} options options
     * @param {ChartSegmentModel[]} segments chartSegments
     */
    applySegmentAxis(series: Series, options: svgBase.PathOption[], segments: ChartSegmentModel[]): void;
    private includeSegment;
    /**
     * To create clip rect for segment axis
     *
     * @param {number} startValue startValue
     * @param {number} endValue endValue
     * @param {Series} series series
     * @param {number} index index
     * @param {boolean} isX isX
     */
    createClipRect(startValue: number, endValue: number, series: Series, index: number, isX: boolean): string;
    /**
     * To get exact value from segment value
     *
     * @param {Object} segmentValue segmentValue
     * @param {Axis} axis axis
     * @param {Chart} chart chart
     */
    getAxisValue(segmentValue: Object, axis: Axis, chart: Chart): number;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/multi-colored-line-series.d.ts
/**
 * `MultiColoredLineSeries` used to render the line series with multi color.
 */
export  class MultiColoredLineSeries extends MultiColoredSeries {
    /**
     * Render Line Series.
     *
     * @returns {void}
     * @private
     */
    render(series: Series, xAxis: Axis, yAxis: Axis, isInverted: boolean): void;
    /**
     * Animates the series.
     *
     * @param  {Series} series - Defines the series to animate.
     * @returns {void}
     */
    doAnimation(series: Series): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the line series.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/pareto-series.d.ts
/**
 * `Pareto series` module used to render the Pareto series.
 */
export  class ParetoSeries extends ColumnBase {
    paretoAxes: Axis[];
    /**
     * Defines the Line initialization
     */
    initSeries(targetSeries: Series, chart: Chart): void;
    /**
     * Defines the Axis initialization for Line
     */
    initAxis(paretoSeries: Series, targetSeries: Series, chart: Chart): void;
    /**
     * Render Pareto series.
     *
     * @returns {void}
     * @private
     */
    render(series: Series): void;
    /**
     * To perform the cumulative calculation for pareto series.
     */
    performCumulativeCalculation(json: Object, series: Series): Object[];
    /**
     * Animates the series.
     *
     * @param  {Series} series - Defines the series to animate.
     * @returns {void}
     */
    doAnimation(series: Series): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the pareto series.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/polar-series.d.ts
/**
 * `PolarSeries` module is used to render the polar series.
 */
export  class PolarSeries extends PolarRadarPanel {
    /**
     * Render Polar Series.
     *
     * @returns {void}
     * @private
     */
    render(series: Series, xAxis: Axis, yAxis: Axis, inverted: boolean): void;
    /**
     * Render Column DrawType.
     *
     * @returns {void}
     * @private
     */
    columnDrawTypeRender(series: Series, xAxis: Axis, yAxis: Axis): void;
    /**
     * To trigger the point rendering event.
     *
     * @returns {void}
     * @private
     */
    triggerEvent(chart: Chart, series: Series, point: Points): IPointRenderEventArgs;
    /** get position for column drawtypes
     *
     * @returns {void}
     * @private
     */
    getSeriesPosition(series: Series): void;
    /**
     * Animates the series.
     *
     * @param  {Series} series - Defines the series to animate.
     * @returns {void}
     */
    doAnimation(series: Series): void;
    /**
     * To do the Polar Radar draw type column animation.
     *
     * @returns {void}
     * @private
     */
    doPolarRadarAnimation(animateElement: Element, delay: number, duration: number, series: Series): void;
    getPolarIsInversedPath(xAxis: Axis, endPoint: string): string;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the polar series.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/radar-series.d.ts
/**
 * `RadarSeries` module is used to render the radar series.
 */
export  class RadarSeries extends PolarSeries {
    /**
     * Render radar Series.
     *
     * @returns {void}
     * @private
     */
    render(series: Series, xAxis: Axis, yAxis: Axis, inverted: boolean): void;
    getRadarIsInversedPath(xAxis: Axis, endPoint: string): string;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the radar series.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/range-area-series.d.ts
/**
 * `RangeAreaSeries` module is used to render the range area series.
 */
export  class RangeAreaSeries extends LineBase {
    /**
     * Render RangeArea Series.
     *
     * @returns {void}
     * @private
     */
    render(series: Series, xAxis: Axis, yAxis: Axis, inverted: boolean): void;
    /**
     * path for rendering the low points
     *
     * @returns {void}.
     * @private
     */
    protected closeRangeAreaPath(visiblePoints: Points[], point: Points, series: Series, direction: string, i: number): string;
    /**
     * Animates the series.
     *
     * @param  {Series} series - Defines the series to animate.
     * @returns {void}
     */
    doAnimation(series: Series): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the line series.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/range-column-series.d.ts
/**
 * `RangeColumnSeries` module is used to render the range column series.
 */
export  class RangeColumnSeries extends ColumnBase {
    /**
     * Render Range Column series.
     *
     * @returns {void}
     * @private
     */
    render(series: Series): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * Animates the series.
     *
     * @param  {Series} series - Defines the series to animate.
     * @returns {void}
     */
    doAnimation(series: Series): void;
    /**
     * To destroy the range column series.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/scatter-series.d.ts
/**
 * `ScatterSeries` module is used to render the scatter series.
 */
export  class ScatterSeries {
    /**
     * Render the scatter series.
     *
     * @returns {void}
     * @private
     */
    render(series: Series, xAxis: Axis, yAxis: Axis, isInverted: boolean): void;
    private isLineShapeMarker;
    /**
     * To improve the chart performance.
     *
     * @returns {void}
     * @private
     */
    enableComplexProperty(series: Series): Points[];
    /**
     * To append scatter element
     *
     * @param {Series} series series
     * @param {Points} point point
     * @param {IPointRenderEventArgs} argsData argsData
     * @param {ChartLocation} startLocation startLocation
     * @returns {void}
     */
    private refresh;
    /**
     * Animates the series.
     *
     * @param  {Series} series - Defines the series to animate.
     * @returns {void}
     */
    doAnimation(series: Series): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the scatter.
     *
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/spline-area-series.d.ts
/**
 * `SplineAreaSeries` module used to render the spline area series.
 */
export  class SplineAreaSeries extends SplineBase {
    /**
     * Render the splineArea series.
     *
     * @returns {void}
     * @private
     */
    render(series: Series, xAxis: Axis, yAxis: Axis, isInverted: boolean): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the spline.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/spline-base.d.ts
/**
 * render Line series
 */
export  class SplineBase extends LineBase {
    private splinePoints;
    private lowSplinePoints;
    /** @private */
    constructor(chartModule?: Chart);
    /**
     * To find the control points for spline.
     *
     * @returns {void}
     * @private
     */
    findSplinePoint(series: Series): void;
    protected getPreviousIndex(points: Points[], i: number, series: Series): number;
    getNextIndex(points: Points[], i: number, series: Series): number;
    filterEmptyPoints(series: Series, seriesPoints?: Points[]): Points[];
    /**
     * To find points in the range
     *
     * @private
     */
    isPointInRange(points: Points[]): boolean;
    /**
     * To find the natural spline.
     *
     * @returns {void}
     * @private
     */
    findSplineCoefficients(points: Points[], series: Series, isLow?: boolean): number[];
    /**
     *  To find Monotonic Spline Coefficients
     */
    private monotonicSplineCoefficients;
    /**
     * To find Cardinal Spline Coefficients
     */
    private cardinalSplineCofficients;
    /**
     * To find Clamped Spline Coefficients
     */
    private clampedSplineCofficients;
    /**
     * To find Natural Spline Coefficients
     */
    private naturalSplineCoefficients;
    /**
     * To find the control points for spline.
     *
     * @returns {void}
     * @private
     */
    getControlPoints(point1: Points, point2: Points, ySpline1: number, ySpline2: number, series: Series): ControlPoints;
    /**
     * calculate datetime interval in hours
     */
    protected dateTimeInterval(series: Series): number;
    /**
     * Animates the series.
     *
     * @param  {Series} series - Defines the series to animate.
     * @returns {void}
     */
    doAnimation(series: Series): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/spline-range-area-series.d.ts
/**
 * `SplineRangeAreaSeries` module is used to render the range area series.
 */
export  class SplineRangeAreaSeries extends SplineBase {
    /**
     * Render SplineRangeArea Series.
     *
     * @returns {void}
     * @private
     */
    render(series: Series, xAxis: Axis, yAxis: Axis, inverted: boolean): void;
    /**
     * path for rendering the low points in SplineRangeArea
     *
     * @returns {void}.
     * @private
     */
    protected closeSplineRangeAreaPath(visiblePoint: Points[], point: Points, series: Series, direction: string, i: number, xAxis: Axis, yAxis: Axis, inverted: boolean): string;
    /**
     * Animates the series.
     *
     * @param  {Series} series - Defines the series to animate.
     * @returns {void}
     */
    doAnimation(series: Series): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the line series.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/spline-series.d.ts
/**
 * `SplineSeries` module is used to render the spline series.
 */
export  class SplineSeries extends SplineBase {
    /**
     * Render the spline series.
     *
     * @returns {void}
     * @private
     */
    render(series: Series, xAxis: Axis, yAxis: Axis, isInverted: boolean): void;
    /**
     * To find the direct of spline using points.
     *
     * @param {ControlPoints} data data
     * @param {Points} firstPoint firstPoint
     * @param {Points} point point
     * @param {Axis} xAxis xAxis
     * @param {Axis} yAxis yAxis
     * @param {boolean} isInverted isInverted
     * @param {Series} series series
     * @param {string} startPoint startPoint
     * @param {Function} getCoordinate getCoordinate
     * @param {string} direction direction
     */
    private getSplineDirection;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the spline.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/stacking-area-series.d.ts
/**
 * `StackingAreaSeries` module used to render the Stacking Area series.
 */
export  class StackingAreaSeries extends LineBase {
    /**
     * Render the Stacking area series.
     *
     * @returns {void}
     * @private
     */
    render(series: Series, xAxis: Axis, yAxis: Axis, isInverted: boolean): void;
    /**
     * Animates the series.
     *
     * @param  {Series} series - Defines the series to animate.
     * @returns {void}
     */
    doAnimation(series: Series): void;
    /**
     * To destroy the stacking area.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To find previous visible series
     */
    private getPreviousSeries;
    /**
     * To find the first visible series index
     *
     * @param {Series[]} seriesCollection first visible series index
     */
    private getFirstSeriesIndex;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/stacking-bar-series.d.ts
/**
 * `StackingBarSeries` module is used to render the stacking bar series.
 */
export  class StackingBarSeries extends ColumnBase {
    /**
     * Render the Stacking bar series.
     *
     * @returns {void}
     * @private
     */
    render(series: Series): void;
    /**
     * To destroy the stacking bar.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * Animates the series.
     *
     * @param  {Series} series - Defines the series to animate.
     * @returns {void}
     */
    doAnimation(series: Series): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/stacking-column-series.d.ts
/**
 * `StackingColumnSeries` module used to render the stacking column series.
 */
export  class StackingColumnSeries extends ColumnBase {
    /**
     * Render the Stacking column series.
     *
     * @returns {void}
     * @private
     */
    render(series: Series): void;
    /**
     * Animates the series.
     *
     * @param  {Series} series - Defines the series to animate.
     * @returns {void}
     */
    doAnimation(series: Series): void;
    /**
     * To destroy the stacking column.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/stacking-line-series.d.ts
/**
 * `StackingLineSeries` module used to render the Stacking Line series.
 */
export  class StackingLineSeries extends LineBase {
    /**
     * Render the Stacking line series.
     *
     * @returns {void}
     * @private
     */
    render(series: Series, xAxis: Axis, yAxis: Axis, isInverted: boolean): void;
    /**
     * Animates the series.
     *
     * @param  {Series} series - Defines the series to animate.
     * @returns {void}
     */
    doAnimation(series: Series): void;
    /**
     * To destroy the stacking line.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/stacking-step-area-series.d.ts
/**
 * `StackingStepAreaSeries` module used to render the Stacking Step Area series.
 */
export  class StackingStepAreaSeries extends LineBase {
    /**
     * Render the Stacking step area series.
     *
     * @returns {void}
     * @private
     */
    render(stackSeries: Series, xAxis: Axis, yAxis: Axis, isInverted: boolean): void;
    /**
     * Animates the series.
     *
     * @param  {Series} series - Defines the series to animate.
     * @returns {void}
     */
    doAnimation(series: Series): void;
    /**
     * To destroy the stacking step area.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To get the nearest visible point
     *
     * @param {Points[]} points points
     * @param {number} j index
     */
    private getNextVisiblePointIndex;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/step-area-series.d.ts
/**
 * `StepAreaSeries` Module used to render the step area series.
 */
export  class StepAreaSeries extends LineBase {
    /**
     * Render StepArea series.
     *
     * @returns {void}
     * @private
     */
    render(series: Series, xAxis: Axis, yAxis: Axis, isInverted: boolean): void;
    /**
     * Animates the series.
     *
     * @param  {Series} series - Defines the series to animate.
     * @returns {void}
     */
    doAnimation(series: Series): void;
    /**
     * To destroy the step Area series.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/step-line-series.d.ts
/**
 * `StepLineSeries` module is used to render the step line series.
 */
export  class StepLineSeries extends LineBase {
    /**
     * Render the Step line series.
     *
     * @returns {void}
     * @private
     */
    render(series: Series, xAxis: Axis, yAxis: Axis, isInverted: boolean): void;
    /**
     * Animates the series.
     *
     * @param  {Series} series - Defines the series to animate.
     * @returns {void}
     */
    doAnimation(series: Series): void;
    /**
     * To destroy the step line series.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/waterfall-series.d.ts
/**
 * `WaterfallSeries` module is used to render the waterfall series.
 */
export  class WaterfallSeries extends ColumnBase {
    /**
     * Render waterfall series.
     *
     * @returns {void}
     * @private
     */
    render(series: Series): void;
    /**
     * To check intermediateSumIndex in waterfall series.
     *
     * @returns {boolean} check intermediateSumIndex
     * @private
     */
    private isIntermediateSum;
    /**
     * To check sumIndex in waterfall series.
     *
     * @returns {boolean} check sumIndex
     * @private
     */
    private isSumIndex;
    /**
     * To trigger the point rendering event for waterfall series.
     *
     * @returns {IPointRenderEventArgs} point rendering event values
     * @private
     */
    private triggerPointRenderEvent;
    /**
     * Add sumIndex and intermediateSumIndex data.
     *
     * @returns {object[]} data
     * @private
     */
    processInternalData(json: Object[], series: Series): Object[];
    /**
     * Animates the series.
     *
     * @param  {Series} series - Defines the series to animate.
     * @returns {void}
     */
    doAnimation(series: Series): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the waterfall series.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/technical-indicators/ad-indicator.d.ts
/**
 * `AccumulationDistributionIndicator` module is used to render accumulation distribution indicator.
 */
export  class AccumulationDistributionIndicator extends TechnicalAnalysis {
    /**
     * Defines the predictions using accumulation distribution approach
     *
     * @private
     */
    initDataSource(indicator: TechnicalIndicator): void;
    /**
     *  Calculates the Accumulation Distribution values
     *
     * @private
     */
    private calculateADPoints;
    /**
     * To destroy the Accumulation Distribution Technical Indicator.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-charts/src/chart/technical-indicators/atr-indicator.d.ts
/**
 * `AtrIndicator` module is used to render ATR indicator.
 */
export  class AtrIndicator extends TechnicalAnalysis {
    /**
     * Defines the predictions using Average True Range approach
     *
     * @private
     */
    initDataSource(indicator: TechnicalIndicator, chart: Chart): void;
    /**
     *  To calculate Average True Range indicator points
     *
     * @private
     */
    private calculateATRPoints;
    /**
     * To destroy the Average true range indicator.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-charts/src/chart/technical-indicators/bollinger-bands.d.ts
/**
 * `BollingerBands` module is used to render bollinger band indicator.
 */
export  class BollingerBands extends TechnicalAnalysis {
    /**
     * Initializes the series collection to represent bollinger band
     */
    initSeriesCollection(indicator: TechnicalIndicator, chart: Chart): void;
    /**
     * Defines the predictions using Bollinger Band Approach
     *
     * @private
     */
    initDataSource(indicator: TechnicalIndicator, chart: Chart): void;
    /**
     * To destroy the Bollinger Band.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-charts/src/chart/technical-indicators/ema-indicator.d.ts
/**
 * `EmaIndicator` module is used to render EMA indicator.
 */
export  class EmaIndicator extends TechnicalAnalysis {
    /**
     * Defines the predictions based on EMA approach
     *
     * @private
     */
    initDataSource(indicator: TechnicalIndicator, chart: Chart): void;
    /**
     * To destroy the EMA Indicator
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-charts/src/chart/technical-indicators/indicator-base.d.ts
/**
 * Technical Analysis module helps to predict the market trend
 */
export  class TechnicalAnalysis extends LineBase {
    /**
     * Defines the collection of series, that are used to represent the given technical indicator
     *
     * @private
     */
    initSeriesCollection(indicator: TechnicalIndicator, chart: Chart): void;
    /**
     * Initializes the properties of the given series
     *
     * @private
     */
    protected setSeriesProperties(series: Series, indicator: TechnicalIndicator, name: string, fill: string, width: number, chart: Chart): void;
    /**
     * Creates the elements of a technical indicator
     *
     * @private
     */
    createIndicatorElements(chart: Chart, indicator: TechnicalIndicator, index: number): void;
    protected getDataPoint(x: Object, y: Object, sourcePoint: Points, series: Series, index: number, indicator?: TechnicalIndicator): Points;
    protected getRangePoint(x: Object, high: Object, low: Object, sourcePoint: Points, series: Series, index: number): Points;
    protected setSeriesRange(points: Points[], indicator: TechnicalIndicator, series?: Series): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/technical-indicators/macd-indicator.d.ts
/**
 * `MacdIndicator` module is used to render MACD indicator.
 */
export  class MacdIndicator extends TechnicalAnalysis {
    /**
     * Defines the collection of series to represent the MACD indicator
     *
     * @private
     */
    initSeriesCollection(indicator: TechnicalIndicator, chart: Chart): void;
    /**
     * Defines the predictions using MACD approach
     *
     * @private
     */
    initDataSource(indicator: TechnicalIndicator, chart: Chart): void;
    /**
     * Calculates the EMA values for the given period
     */
    private calculateEMAValues;
    /**
     * Defines the MACD Points
     */
    private getMACDPoints;
    /**
     * Calculates the signal points
     */
    private getSignalPoints;
    /**
     * Calculates the MACD values
     */
    private getMACDVales;
    /**
     * Calculates the Histogram Points
     */
    private getHistogramPoints;
    /**
     * To destroy the MACD Indicator.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-charts/src/chart/technical-indicators/momentum-indicator.d.ts
/**
 * `MomentumIndicator` module is used to render Momentum indicator.
 */
export  class MomentumIndicator extends TechnicalAnalysis {
    /**
     * Defines the collection of series to represent a momentum indicator
     *
     * @private
     */
    initSeriesCollection(indicator: TechnicalIndicator, chart: Chart): void;
    /**
     * Defines the predictions using momentum approach
     *
     * @private
     */
    initDataSource(indicator: TechnicalIndicator, chart: Chart): void;
    /**
     * To destroy the momentum indicator
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-charts/src/chart/technical-indicators/rsi-indicator.d.ts
/**
 * `RsiIndicator` module is used to render RSI indicator.
 */
export  class RsiIndicator extends TechnicalAnalysis {
    /**
     * Initializes the series collection to represent the RSI Indicator
     *
     * @private
     */
    initSeriesCollection(indicator: TechnicalIndicator, chart: Chart): void;
    /**
     * Defines the predictions using RSI approach
     *
     * @private
     */
    initDataSource(indicator: TechnicalIndicator, chart: Chart): void;
    /**
     * To destroy the RSI Indicator.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-charts/src/chart/technical-indicators/sma-indicator.d.ts
/**
 * `SmaIndicator` module is used to render SMA indicator.
 */
export  class SmaIndicator extends TechnicalAnalysis {
    /**
     * Defines the predictions based on SMA approach
     *
     * @private
     */
    initDataSource(indicator: TechnicalIndicator, chart: Chart): void;
    /**
     * To destroy the SMA indicator
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-charts/src/chart/technical-indicators/stochastic-indicator.d.ts
/**
 * `StochasticIndicator` module is used to render stochastic indicator.
 */
export  class StochasticIndicator extends TechnicalAnalysis {
    /**
     * Defines the collection of series that represents the stochastic indicator
     *
     * @private
     */
    initSeriesCollection(indicator: TechnicalIndicator, chart: Chart): void;
    /**
     * Defines the predictions based on stochastic approach
     *
     * @private
     */
    initDataSource(indicator: TechnicalIndicator, chart: Chart): void;
    /**
     * Calculates the SMA Values
     *
     * @private
     */
    private smaCalculation;
    /**
     * Calculates the period line values.
     *
     * @private
     */
    private calculatePeriod;
    /**
     * To destroy the Stocastic Indicator.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-charts/src/chart/technical-indicators/technical-indicator-model.d.ts
/**
 * Interface for a class TechnicalIndicator
 */
export interface TechnicalIndicatorModel extends SeriesBaseModel{
    /**
     * Defines the type of the technical indicator
     *
     * @default 'Sma'
     */
    type?: TechnicalIndicators;
    /**
     * Defines the period, the price changes over which will be considered to predict the trend
     *
     * @default 14
     */
    period?: number;
    /**
     * Defines the look back period, the price changes over which will define the %K value in stochastic indicators
     *
     * @default 14
     */
    kPeriod?: number;
    /**
     * Defines the period, the price changes over which will define the %D value in stochastic indicators
     *
     * @default 3
     */
    dPeriod?: number;
    /**
     * Defines the over-bought(threshold) values. It is applicable for RSI and stochastic indicators
     *
     * @default 80
     */
    overBought?: number;
    /**
     * Defines the over-sold(threshold) values. It is applicable for RSI and stochastic indicators
     *
     * @default 20
     */
    overSold?: number;
    /**
     * Sets the standard deviation values that helps to define the upper and lower bollinger bands
     *
     * @default 2
     */
    standardDeviation?: number;
    /**
     * Defines the field to compare the current value with previous values
     *
     * @default 'Close'
     */
    field?: FinancialDataFields;
    /**
     * Sets the slow period to define the Macd line
     *
     * @default 12
     */
    slowPeriod?: number;
    /**
     * Sets the fast period to define the Macd line
     *
     * @default 26
     */
    fastPeriod?: number;
    /**
     * Enables/Disables the over-bought and over-sold regions
     *
     * @default true
     */
    showZones?: boolean;
    /**
     * Defines the appearance of the the MacdLine of Macd indicator
     *
     * @default { color: '#ff9933', width: 2 }
     */
    macdLine?: ConnectorModel;
    /**
     * Defines the type of the Macd indicator.
     *
     * @default 'Both'
     */
    macdType?: MacdType;
    /**
     * Defines the color of the positive bars in Macd indicators
     *
     * @default '#2ecd71'
     */
    macdPositiveColor?: string;
    /**
     * Defines the color of the negative bars in Macd indicators
     *
     * @default '#e74c3d'
     */
    macdNegativeColor?: string;
    /**
     * Options for customizing the BollingerBand in the indicator.
     *
     * @default 'rgba(211,211,211,0.25)'
     */
    bandColor?: string;
    /**
     * Defines the appearance of the upper line in technical indicators
     */
    upperLine?: ConnectorModel;
    /**
     * Defines the appearance of lower line in technical indicators
     */
    lowerLine?: ConnectorModel;
    /**
     * Defines the appearance of period line in technical indicators
     */
    periodLine?: ConnectorModel;
    /**
     * Defines the name of the series, the data of which has to be depicted as indicator
     *
     * @default ''
     */
    seriesName?: string;
}
//node_modules/@syncfusion/ej2-charts/src/chart/technical-indicators/technical-indicator.d.ts

/**
 * Defines how to represent the market trend using technical indicators
 */
export  class TechnicalIndicator extends SeriesBase {
    /**
     * Defines the type of the technical indicator
     *
     * @default 'Sma'
     */
    type: TechnicalIndicators;
    /**
     * Defines the period, the price changes over which will be considered to predict the trend
     *
     * @default 14
     */
    period: number;
    /**
     * Defines the look back period, the price changes over which will define the %K value in stochastic indicators
     *
     * @default 14
     */
    kPeriod: number;
    /**
     * Defines the period, the price changes over which will define the %D value in stochastic indicators
     *
     * @default 3
     */
    dPeriod: number;
    /**
     * Defines the over-bought(threshold) values. It is applicable for RSI and stochastic indicators
     *
     * @default 80
     */
    overBought: number;
    /**
     * Defines the over-sold(threshold) values. It is applicable for RSI and stochastic indicators
     *
     * @default 20
     */
    overSold: number;
    /**
     * Sets the standard deviation values that helps to define the upper and lower bollinger bands
     *
     * @default 2
     */
    standardDeviation: number;
    /**
     * Defines the field to compare the current value with previous values
     *
     * @default 'Close'
     */
    field: FinancialDataFields;
    /**
     * Sets the slow period to define the Macd line
     *
     * @default 12
     */
    slowPeriod: number;
    /**
     * Sets the fast period to define the Macd line
     *
     * @default 26
     */
    fastPeriod: number;
    /**
     * Enables/Disables the over-bought and over-sold regions
     *
     * @default true
     */
    showZones: boolean;
    /**
     * Defines the appearance of the the MacdLine of Macd indicator
     *
     * @default { color: '#ff9933', width: 2 }
     */
    macdLine: ConnectorModel;
    /**
     * Defines the type of the Macd indicator.
     *
     * @default 'Both'
     */
    macdType: MacdType;
    /**
     * Defines the color of the positive bars in Macd indicators
     *
     * @default '#2ecd71'
     */
    macdPositiveColor: string;
    /**
     * Defines the color of the negative bars in Macd indicators
     *
     * @default '#e74c3d'
     */
    macdNegativeColor: string;
    /**
     * Options for customizing the BollingerBand in the indicator.
     *
     * @default 'rgba(211,211,211,0.25)'
     */
    bandColor: string;
    /**
     * Defines the appearance of the upper line in technical indicators
     */
    upperLine: ConnectorModel;
    /**
     * Defines the appearance of lower line in technical indicators
     */
    lowerLine: ConnectorModel;
    /**
     * Defines the appearance of period line in technical indicators
     */
    periodLine: ConnectorModel;
    /**
     * Defines the name of the series, the data of which has to be depicted as indicator
     *
     * @default ''
     */
    seriesName: string;
    /** @private */
    targetSeries: Series[];
    /** @private */
    sourceSeries: Series;
    /** @private */
    indicatorElement: Element;
    /** @private */
    clipRectElement: Element;
    /** @private */
    clipRect: svgBase.Rect;
    /** @private */
    setDataSource(series: Series, chart: Chart): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/technical-indicators/tma-indicator.d.ts
/**
 * `TmaIndicator` module is used to render TMA indicator.
 */
export  class TmaIndicator extends TechnicalAnalysis {
    /**
     * Defines the predictions based on TMA approach
     *
     * @private
     */
    initDataSource(indicator: TechnicalIndicator, chart: Chart): void;
    /**
     * To destroy the TMA indicator.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-charts/src/chart/trend-lines/trend-line.d.ts
/**
 * `Trendline` module is used to render 6 types of trendlines in chart.
 */
export  class Trendlines {
    /**
     * Defines the collection of series, that are used to represent a trendline
     *
     * @private
     */
    initSeriesCollection(trendline: Trendline, chart: Chart): void;
    /**
     * Initializes the properties of the trendline series
     */
    private setSeriesProperties;
    /**
     * Creates the elements of a trendline
     */
    private createTrendLineElements;
    /**
     * Defines the data point of trendline
     */
    private getDataPoint;
    /**
     * Finds the slope and intercept of trendline
     */
    private findSlopeIntercept;
    /**
     * Defines the points to draw the trendlines
     */
    initDataSource(trendline: Trendline): void;
    /**
     * Calculation of exponential points
     */
    private setExponentialRange;
    /**
     * Calculation of logarithmic points
     */
    private setLogarithmicRange;
    /**
     * Calculation of polynomial points
     */
    private setPolynomialRange;
    /**
     * Calculation of power points
     */
    private setPowerRange;
    /**
     * Calculation of linear points
     */
    private setLinearRange;
    /**
     * Calculation of moving average points
     */
    private setMovingAverageRange;
    /**
     * Calculation of logarithmic points
     */
    private getLogarithmicPoints;
    /**
     * Defines the points based on data point
     */
    private getPowerPoints;
    /**
     * Get the polynomial points based on polynomial slopes
     */
    private getPolynomialPoints;
    /**
     * Defines the moving average points
     */
    private getMovingAveragePoints;
    /**
     * Defines the linear points
     */
    private getLinearPoints;
    /**
     * Defines the exponential points
     */
    private getExponentialPoints;
    /**
     * Defines the points based on data point
     */
    private getPoints;
    /**
     * Defines the polynomial value of y
     */
    private getPolynomialYValue;
    /**
     * Defines the gauss jordan elimination
     */
    private gaussJordanElimination;
    /**
     * Defines the trendline elements
     */
    getTrendLineElements(series: Series, chart: Chart): void;
    /**
     * To destroy the trendline
     */
    destroy(): void;
    /**
     * Get module name
     */
    protected getModuleName(): string;
}
/** @private */
export interface SlopeIntercept {
    slope?: number;
    intercept?: number;
}
//node_modules/@syncfusion/ej2-charts/src/chart/user-interaction/crosshair.d.ts
/**
 * `Crosshair` module is used to render the crosshair for chart.
 */
export  class Crosshair {
    private elementID;
    private elementSize;
    private svgRenderer;
    private crosshairInterval;
    private arrowLocation;
    private isTop;
    private isBottom;
    private isLeft;
    private isRight;
    private valueX;
    private valueY;
    private rx;
    private ry;
    private chart;
    /**
     * Constructor for crosshair module.
     *
     * @private
     */
    constructor(chart: Chart);
    /**
     * @hidden
     */
    private addEventListener;
    private mouseUpHandler;
    private mouseLeaveHandler;
    private mouseMoveHandler;
    /**
     * Handles the long press on chart.
     *
     * @returns {boolean} false
     * @private
     */
    private longPress;
    /**
     * Renders the crosshair.
     *
     * @returns {void}
     */
    crosshair(): void;
    private renderCrosshairLine;
    private drawCrosshairLine;
    private renderAxisTooltip;
    private getAxisText;
    private tooltipLocation;
    private stopAnimation;
    private progressAnimation;
    /**
     * Removes the crosshair on mouse leave.
     *
     * @returns {void}
     * @private
     */
    removeCrosshair(duration: number): void;
    /**
     * Get module name.
     *
     * @returns {string} module name
     */
    protected getModuleName(): string;
    /**
     * To destroy the crosshair.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/user-interaction/data-editing.d.ts
/**
 * `DataEditing` module handles data editing
 */
export  class DataEditing {
    private chart;
    private seriesIndex;
    private pointIndex;
    /**
     * It is used to identify point is dragging for data editing in other modules.
     *
     * @private
     */
    isPointDragging: boolean;
    /**
     * Constructor for DataEditing module.
     *
     * @private
     */
    constructor(chart: Chart);
    /**
     * Point drag start here
     */
    pointMouseDown(): void;
    /**
     * Point dragging
     */
    pointMouseMove(event: PointerEvent | TouchEvent): void;
    /**
     * Get cursor style
     */
    private getCursorStyle;
    /**
     * Dragging calculation
     */
    private pointDragging;
    /**
     * Point drag ends here
     */
    pointMouseUp(): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the DataEditing.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/user-interaction/high-light.d.ts
/**
 * `Highlight` module handles the selection for chart.
 *
 * @private
 */
export  class Highlight extends Selection {
    /**
     * Constructor for selection module.
     *
     * @private
     */
    constructor(chart: Chart);
    /**
     * Binding events for selection module.
     */
    private wireEvents;
    /**
     * UnBinding events for selection module.
     */
    private unWireEvents;
    /**
     * To find private variable values
     */
    private PrivateVariables;
    /**
     * Method to select the point and series.
     *
     * @returns {void}
     */
    invokeHighlight(chart: Chart): void;
    /**
     * Get module name.
     *
     * @private
     */
    getModuleName(): string;
    /**
     * To destroy the highlight.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/user-interaction/selection.d.ts
/**
 * `Selection` module handles the selection for chart.
 *
 * @private
 */
export  class Selection extends BaseSelection {
    /** @private */
    renderer: svgBase.SvgRenderer | svgBase.CanvasRenderer;
    /** @private */
    isSeriesMode: boolean;
    private isdrawRect;
    private resizing;
    /** @private */
    rectPoints: svgBase.Rect;
    private closeIconId;
    private closeIcon;
    private draggedRectGroup;
    private multiRectGroup;
    private draggedRect;
    private lassoPath;
    /** @private */
    selectedDataIndexes: Indexes[];
    /** @private */
    highlightDataIndexes: Indexes[];
    multiDataIndexes: Points[][];
    pathIndex: number;
    seriesIndex: number;
    /** @private */
    series: Series[];
    private dragging;
    private count;
    private isMultiDrag;
    private targetIndex;
    private dragRect;
    private dragRectArray;
    filterArray: svgBase.Rect[];
    private totalSelectedPoints;
    private rectGrabbing;
    private path;
    private resizeMode;
    /** @private */
    chart: Chart;
    /** @private */
    currentMode: SelectionMode | HighlightMode;
    /** @private */
    previousSelectedEle: Element[];
    /**
     * Constructor for selection module.
     *
     * @private
     */
    constructor(chart: Chart);
    /**
     * Binding events for selection module.
     */
    private addEventListener;
    /**
     * Chart mouse down
     */
    private mousedown;
    /**
     * UnBinding events for selection module.
     */
    private removeEventListener;
    /**
     * To find private variable values
     */
    private initPrivateVariables;
    /**
     * Method to select the point and series.
     *
     * @returns {void}
     */
    invokeSelection(chart: Chart): void;
    generateStyle(series: SeriesModel): string;
    /**
     *  Method to get the selected data index
     *
     * @private
     */
    selectDataIndex(chart: Chart, indexes: Index[]): void;
    /**
     *  Method to get the selected index element
     *
     * @private
     */
    getElementByIndex(chart: Chart, index: Index, suffix?: string, marker?: boolean): Element[];
    /**
     *  Method to get the selected cluster element
     *
     * @private
     */
    getClusterElements(chart: Chart, index: Index): Element[];
    /**
     *  Method to get trackball elements
     *
     * @private
     */
    findTrackballElements(selectedElements: Element[] | NodeListOf<HTMLElement>, className: string): void;
    /**
     *  Method to get the selected element
     *
     * @private
     */
    findElements(chart: Chart, series: SeriesModel, index: Index, suffix?: string, marker?: boolean): Element[];
    /**
     * To find the selected element.
     *
     * @returns {void}
     * @private
     */
    isAlreadySelected(targetElem: Element, eventType: string): boolean;
    private mouseClick;
    /**
     * To find the selected element.
     *
     * @returns {void}
     * @private
     */
    calculateSelectedElements(targetElement: HTMLElement, eventType: string): void;
    /**
     *  Method to perform the selection
     *
     * @private
     */
    performSelection(index: Index, chart: Chart, element?: Element): void;
    /**
     *  Method to get the selected data index
     *
     * @private
     */
    selectionComplete(chart: Chart, index: Index, selectionMode: SelectionMode | HighlightMode): void;
    /**
     *  Method to perform selection
     *
     * @private
     */
    selection(chart: Chart, index: Index, selectedElements: Element[]): void;
    /**
     *  Method to get the cluster selection element
     *
     * @private
     */
    clusterSelection(chart: Chart, index: Index): void;
    /**
     * Method to remove the multi selected elements
     *
     * @private
     */
    removeMultiSelectElements(chart: Chart, index: Index[], currentIndex: Index, seriesCollection: SeriesModel[]): void;
    /**
     * Method to remove the selection
     *
     * @private
     */
    blurEffect(chartId: string, visibleSeries: Series[], isLegend?: boolean, index?: number): void;
    /**
     * Method to add the add/remove class to element
     *
     * @private
     */
    checkSelectionElements(element: Element, className: string, visibility: boolean, isLegend?: boolean, series?: number, legendStrokeColor?: string): void;
    /**
     *  Method to apply the styles
     *
     * @private
     */
    applyStyles(elements: Element[]): void;
    /**
     *  Method to get the selection class
     *
     * @private
     */
    getSelectionClass(id: string): string;
    /**
     *  Method to remove styles
     *
     * @private
     */
    removeStyles(elements: Element[]): void;
    /**
     *  Method to remove the selected data index
     *
     * @private
     */
    addOrRemoveIndex(indexes: Index[], index: Index, isAdd?: boolean): void;
    /**
     *  Method to get the equal index
     *
     * @private
     */
    toEquals(first: Index, second: Index, checkSeriesOnly: boolean): boolean;
    /**
     * To redraw the selected points.
     *
     * @returns {void}
     * @private
     */
    redrawSelection(chart: Chart, oldMode: SelectionMode | HighlightMode, chartRedraw?: boolean): void;
    /** @private */
    legendSelection(chart: Chart, series: number, targetElement: Element, eventType: string): void;
    /** @private */
    rangeColorMappingEnabled(): boolean;
    removeSelection(chart: Chart, series: number, selectedElements: NodeListOf<HTMLElement>, seriesStyle: string, isBlurEffectNeeded: boolean): void;
    /** @private */
    getSeriesElements(series: SeriesModel): Element[];
    /** @private */
    indexFinder(id: string): Index;
    /**
     * Drag selection that returns the selected data.
     *
     * @returns {void}
     * @private
     */
    calculateDragSelectedElements(chart: Chart, dragRect: svgBase.Rect, isClose?: boolean): void;
    private removeOffset;
    private isPointSelect;
    /**
     * Method to draw dragging rect.
     *
     * @returns {void}
     * @private
     */
    drawDraggingRect(chart: Chart, dragRect: svgBase.Rect, target?: Element): void;
    /**
     * To get drag selected group element index from its id
     *
     * @param {string} id element id
     */
    private getIndex;
    private createCloseButton;
    /**
     * Method to remove dragged element.
     *
     * @returns {void}
     * @private
     */
    removeDraggedElements(chart: Chart, targetElement: HTMLElement, eventType: string): void;
    /**
     * Method to resize the drag rect.
     *
     * @returns {void}
     * @private
     */
    resizingSelectionRect(chart: Chart, location: ChartLocation, tapped?: boolean, target?: Element): void;
    private findResizeMode;
    private changeCursorStyle;
    private removeSelectedElements;
    private setAttributes;
    /**
     * Method to move the dragged rect.
     *
     * @returns {void}
     * @private
     */
    draggedRectMoved(chart: Chart, grabbedPoint: svgBase.Rect, doDrawing?: boolean, target?: Element): void;
    private mouseLeave;
    /**
     * To complete the selection.
     *
     * @returns {void}
     * @private
     */
    completeSelection(target: HTMLElement, eventType: string): void;
    private getDragRect;
    /** @private */
    dragStart(chart: Chart, seriesClipRect: svgBase.Rect, mouseDownX: number, mouseDownY: number, event: Event): void;
    private isDragRect;
    /** @private */
    mouseMove(event: PointerEvent | TouchEvent): void;
    /**
     * highlight parts
     *
     * @private
     */
    highlightChart(target: Element, eventType: string): void;
    /**
     * selection and drag selection
     *
     * @private
     */
    selectionAndDrag(chart: Chart, target: Element, eventType: string): void;
    /**
     * remove highlighted legend when not focused.
     *
     * @private
     */
    removeLegendHighlightStyles(): void;
    private getPath;
    private pointChecking;
    /**
     * Get module name.
     *
     * @private
     */
    getModuleName(): string;
    /**
     * To destroy the selection.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/user-interaction/tooltip.d.ts
/**
 * `Tooltip` module is used to render the tooltip for chart series.
 */
export  class Tooltip extends BaseTooltip {
    /**
     * Constructor for tooltip module.
     *
     * @private
     */
    constructor(chart: Chart);
    /**
     * @hidden
     */
    private addEventListener;
    private mouseUpHandler;
    private mouseLeaveHandler;
    private mouseMoveHandler;
    /**
     * Handles the long press on chart.
     *
     * @returns {boolean} false
     * @private
     */
    private longPress;
    /**
     * Renders the tooltip.
     *
     * @returns {void}
     */
    tooltip(): void;
    private findHeader;
    private findShapes;
    private renderSeriesTooltip;
    private triggerTooltipRender;
    private findMarkerHeight;
    private findData;
    private getSymbolLocation;
    private getRangeArea;
    private getWaterfallRegion;
    private getTooltipText;
    private getTemplateText;
    private findMouseValue;
    private renderGroupedTooltip;
    private triggerSharedTooltip;
    private findSharedLocation;
    private getBoxLocation;
    private parseTemplate;
    private formatPointValue;
    private getFormat;
    private getIndicatorTooltipFormat;
    removeHighlightedMarker(data: PointData[], fadeOut: boolean): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the tooltip.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/user-interaction/zooming-toolkit.d.ts
/**
 * Zooming Toolkit created here
 *
 * @private
 */
export  class Toolkit {
    private chart;
    private selectionColor;
    private fillColor;
    private elementOpacity;
    private elementId;
    private zoomInElements;
    private zoomOutElements;
    private zoomElements;
    private panElements;
    private iconRect;
    private enableZoomButton;
    private hoveredID;
    private selectedID;
    private iconRectOverFill;
    private iconRectSelectionFill;
    /** @private */
    zoomCompleteEvtCollection: IZoomCompleteEventArgs[];
    /** @private */
    constructor(chart: Chart);
    /**
     * To create the pan button.
     *
     * @returns {void}
     * @private
     */
    createPanButton(childElement: Element, parentElement: Element): void;
    /**
     * To create the zoom button.
     *
     * @returns {void}
     * @private
     */
    createZoomButton(childElement: Element, parentElement: Element): void;
    /**
     * To create the ZoomIn button.
     *
     * @returns {void}
     * @private
     */
    createZoomInButton(childElement: Element, parentElement: Element, chart: Chart): void;
    /**
     * To create the ZoomOut button.
     *
     * @returns {void}
     * @private
     */
    createZoomOutButton(childElement: Element, parentElement: Element, chart: Chart): void;
    /**
     * To create the Reset button.
     *
     * @returns {void}
     * @private
     */
    createResetButton(childElement: Element, parentElement: Element, chart: Chart, isDevice: Boolean): void;
    /**
     * To bind events.
     *
     * @returns {void}
     * @private
     */
    wireEvents(element: Element, process: Function): void;
    /**
     * To show tooltip.
     *
     * @returns {void}
     * @private
     */
    private showTooltip;
    /** @private */
    removeTooltip(): void;
    /** @private */
    reset(event: PointerEvent | TouchEvent | KeyboardEvent): boolean;
    private setDefferedZoom;
    private zoomIn;
    private zoomOut;
    private zoom;
    /** @private */
    pan(): boolean;
    zoomInOutCalculation(scale: number, chart: Chart, axes: AxisModel[], mode: ZoomMode): void;
    private applySelection;
}
//node_modules/@syncfusion/ej2-charts/src/chart/user-interaction/zooming.d.ts
/**
 * `Zooming` module handles the zooming for chart.
 */
export  class Zoom {
    private chart;
    private zooming;
    private elementId;
    /** @private */
    zoomingRect: svgBase.Rect;
    /** @private */
    toolkit: Toolkit;
    /** @private */
    toolkitElements: Element;
    /** @private */
    isPanning: boolean;
    /** @private */
    isZoomed: boolean;
    /** @private */
    isPointer: Boolean;
    /** @private */
    pinchTarget: Element;
    /** @private */
    isDevice: Boolean;
    /** @private */
    browserName: string;
    /** @private */
    touchStartList: ITouches[] | TouchList;
    /** @private */
    touchMoveList: ITouches[] | TouchList;
    /** @private */
    offset: svgBase.Rect;
    /** @private */
    zoomAxes: IZoomAxisRange[];
    /** @private */
    isIOS: Boolean;
    /** @private */
    performedUI: boolean;
    private zoomkitOpacity;
    private wheelEvent;
    private cancelEvent;
    private zoomCompleteEvtCollection;
    /**
     * Constructor for Zooming module.
     *
     * @private
     */
    constructor(chart: Chart);
    /**
     * Function that handles the Rectangular zooming.
     *
     * @returns {void}
     */
    renderZooming(e: PointerEvent | TouchEvent, chart: Chart, isTouch: boolean): void;
    private drawZoomingRectangle;
    doPan(chart: Chart, axes: AxisModel[], xDifference?: number, yDifference?: number): void;
    private performDefferedZoom;
    /**
     * Redraw the chart on zooming.
     *
     * @returns {void}
     * @private
     */
    performZoomRedraw(chart: Chart): void;
    private refreshAxis;
    private doZoom;
    /** It is used to redraw the chart and trigger zoomComplete event */
    private redrawOnZooming;
    /**
     * Function that handles the Mouse wheel zooming.
     *
     * @returns {void}
     * @private
     */
    performMouseWheelZooming(e: WheelEvent, mouseX: number, mouseY: number, chart: Chart, axes: AxisModel[]): void;
    /**
     * Function that handles the Pinch zooming.
     *
     * @returns {void}
     * @private
     */
    performPinchZooming(e: TouchEvent, chart: Chart): boolean;
    private calculatePinchZoomFactor;
    private setTransform;
    private calculateZoomAxesRange;
    private showZoomingToolkit;
    /**
     * To the show the zooming toolkit.
     *
     * @returns {void}
     * @private
     */
    applyZoomToolkit(chart: Chart, axes: AxisModel[]): void;
    /**
     * Return boolean property to show zooming toolkit.
     *
     * @returns {void}
     * @private
     */
    isAxisZoomed(axes: AxisModel[]): boolean;
    private zoomToolkitMove;
    private zoomToolkitLeave;
    /**
     * @hidden
     */
    addEventListener(): void;
    /**
     * @hidden
     */
    removeEventListener(): void;
    /**
     * Handles the mouse wheel on chart.
     *
     * @returns {boolean} false
     * @private
     */
    chartMouseWheel(e: WheelEvent): boolean;
    /**
     * @hidden
     */
    private mouseMoveHandler;
    /**
     * @hidden
     */
    private mouseDownHandler;
    /**
     * @hidden
     */
    private mouseUpHandler;
    /**
     * @hidden
     */
    private mouseCancelHandler;
    /**
     * Handles the touch pointer.
     *
     * @returns {ITouches[]} touchList collection
     * @private
     */
    addTouchPointer(touchList: ITouches[], e: PointerEvent, touches: TouchList): ITouches[];
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the zooming.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/utils/double-range.d.ts
/**
 * Numeric Range.
 *
 * @private
 */
export  class DoubleRange {
    private mStart;
    private mEnd;
    /** @private */
    readonly start: number;
    /** @private */
    readonly end: number;
    /** @private */
    readonly delta: number;
    /** @private */
    readonly median: number;
    constructor(start: number, end: number);
}
//node_modules/@syncfusion/ej2-charts/src/chart/utils/enum.d.ts
/**
 * Defines Orientation of axis. They are
 * * horizontal
 * * vertical
 *
 * @private
 */
export  type Orientation = 
/**  Horizontal Axis. */
'Horizontal' | 
/**  Vertical Axis. */
'Vertical';
/**
 * Defines area type of chart. They are
 * * none
 * * cartesianAxes
 * * polarAxes
 *
 * @private
 */
export  type ChartAreaType = 
/**  Cartesian panel. */
'CartesianAxes' | 
/**  Polar panel. */
'PolarAxes';
/**
 * Defines series type of chart. They are
 * * xy
 * * highLow
 *
 * @private
 */
export  type SeriesValueType = 
/**  XY value. */
'XY' | 
/**  HighLow value. */
'HighLow' | 
/**  HighLowOpenClose value. */
'HighLowOpenClose' | 
/** BoxPlot */
'BoxPlot';
/**
 * Defines the range padding of axis. They are
 * * none - Padding cannot be applied to the axis.
 * * normal - Padding is applied to the axis based on the range calculation.
 * * additional - Interval of the axis is added as padding to the minimum and maximum values of the range.
 * * round - Axis range is rounded to the nearest possible value divided by the interval.
 */
export  type ChartRangePadding = 
/**  Padding Normal is applied for orientation vertical axis and None is applied for orientation horizontal axis */
'Auto' | 
/**  Padding wiil not be applied to the axis. */
'None' | 
/**  Padding is applied to the axis based on the range calculation. */
'Normal' | 
/**  Interval of the axis is added as padding to the minimum and maximum values of the range. */
'Additional' | 
/**  Axis range is rounded to the nearest possible value divided by the interval. */
'Round';
/**
 * Defines the segment axis. They are,
 * * X - Segment calculation rendered based on horizontal axis
 * * Y - Segment calculation rendered based on vertical axis
 */
export  type Segment = 
/** Segment calculation rendered based on horizontal axis */
'X' | 
/** Segment calculation rendered based on verticalal axis */
'Y';
/**
 * Defines the unit of Strip line Size. They are
 * * auto
 * * pixel
 * * year
 * * month
 * * day
 * * hour
 * * minutes
 * * seconds
 */
export  type SizeType = 
/**  Auto - In numeric axis, it will consider a number and DateTime axis, it will consider as milliseconds. */
'Auto' | 
/**  Pixel - The stripline gets their size in pixel */
'Pixel' | 
/**  Years - The stipline size is based on year in the DateTime axis. */
'Years' | 
/**  Months - The stipline size is based on month in the DateTime axis. */
'Months' | 
/**  Days - The stipline size is based on day in the DateTime axis. */
'Days' | 
/**  Hours - The stipline size is based on hour in the DateTime axis. */
'Hours' | 
/**  Minutes - The stipline size is based on minutes in the DateTime axis. */
'Minutes' | 
/**  Seconds - The stipline size is based on seconds in the DateTime axis. */
'Seconds';
/**
 * Defines the type series in chart. They are
 * * line - Renders the line series.
 * * column - Renders the column series.
 * * area - Renders the area series.
 * * pie - Renders the pie series.
 * * polar - Renders the polar series.
 * * radar - Renders the radar series.
 * * bar - Renders the stacking column series
 * * histogram - Renders the histogram series
 * * stackingColumn - Renders the stacking column series.
 * * stackingArea - Renders the stacking area series.
 * * stackingLine - Renders the stacking line series.
 * * stackingBar - Renders the stacking bar series.
 * * StackingColumn100 - Renders the stacking column series.
 * * StackingArea100 - Renders the stacking area 100 percent series
 * * stackingLine100 - Renders the stacking line 100 percent series.
 * * StackingBar100 - Renders the stacking bar 100 percent series.
 * * stepLine -  Renders the step line series.
 * * stepArea -  Renders the step area series.
 * * scatter - Renders the scatter series.
 * * spline - Renders the spline series
 * * rangeColumn - Renders the rangeColumn series.
 * * hilo - Renders the hilo series
 * * hiloOpenClose - Renders the HiloOpenClose Series
 * * Waterfall - Renders the Waterfall Series
 * * rangeArea - Renders the rangeArea series.
 * * splineRangeArea - Renders the splineRangeArea series.
 * * Pareto-Render the Pareto series
 */
export  type ChartSeriesType = 
/**  Define the line series. */
'Line' | 
/**  Define the Column series. */
'Column' | 
/**  Define the Area series. */
'Area' | 
/**  Define the Bar series. */
'Bar' | 
/**  Define the Histogram series. */
'Histogram' | 
/**  Define the StackingColumn series. */
'StackingColumn' | 
/**  Define the StackingArea series. */
'StackingArea' | 
/**  Define the StackingStepArea series. */
'StackingStepArea' | 
/**  Define the StackingLine series. */
'StackingLine' | 
/**  Define the StackingBar series. */
'StackingBar' | 
/**  Define the Stepline series. */
'StepLine' | 
/**  Define the Steparea series. */
'StepArea' | 
/**  Define the Steparea series. */
'SplineArea' | 
/**  Define the Scatter series. */
'Scatter' | 
/**  Define the Spline series. */
'Spline' | 
/** Define the StackingColumn100 series */
'StackingColumn100' | 
/** Define the StackingBar100 series */
'StackingBar100' | 
/** Define the StackingLine100 series */
'StackingLine100' | 
/** Define the StackingArea100 series */
'StackingArea100' | 
/** Define the RangeColumn Series */
'RangeColumn' | 
/** Define the Hilo Series */
'Hilo' | 
/** Define the HiloOpenClose Series */
'HiloOpenClose' | 
/** Define the Waterfall Series */
'Waterfall' | 
/** Define the RangeArea Series */
'RangeArea' | 
/** Define the SplineRangeArea Series */
'SplineRangeArea' | 
/** Define the Bubble Series */
'Bubble' | 
/** Define the Candle Series */
'Candle' | 
/** Define the polar series */
'Polar' | 
/** Define the radar series */
'Radar' | 
/** Define the Box and whisker Series */
'BoxAndWhisker' | 
/** Define the multi color line series */
'MultiColoredLine' | 
/** Define the multi color area series */
'MultiColoredArea' | 
/** Define the Pareto series */
'Pareto';
/**
 * * Type of series to be drawn in radar or polar series. They are
 * * line - Renders the line series.
 * * column - Renders the column series.
 * * area - Renders the area series.
 * * scatter - Renders the scatter series.
 * * spline - Renders the spline series.
 * * stackingColumn - Renders the stacking column series.
 * * stackingArea - Renders the stacking area series.
 * * rangeColumn - Renders the range column series.
 * * splineArea - Renders the spline area series.
 */
export  type ChartDrawType = 
/**  Define the line series. */
'Line' | 
/**  Define the Column series. */
'Column' | 
/**  Define the stacking Column series. */
'StackingColumn' | 
/**  Define the Area series. */
'Area' | 
/**  Define the Scatter series. */
'Scatter' | 
/** Define the Range column series */
'RangeColumn' | 
/** Define the Spline series */
'Spline' | 
/** Define the Spline Area series */
'SplineArea' | 
/** Define the spline series */
'StackingArea' | 
/** Define the Stacking line series */
'StackingLine';
/**
 * Defines the Edge Label Placement for an axis. They are
 * * none - No action will be perform.
 * * hide - Edge label will be hidden.
 * * shift - Shift the edge labels.
 */
export  type EdgeLabelPlacement = 
/**  Render the edge label in axis. */
'None' | 
/**  Hides the edge label in axis. */
'Hide' | 
/**  Shift the edge series in axis. */
'Shift';
/**
 * Defines the Label Placement for category axis. They are
 * * betweenTicks - Render the label between the ticks.
 * * onTicks - Render the label on the ticks.
 */
export  type LabelPlacement = 
/**  Render the label between the ticks. */
'BetweenTicks' | 
/**  Render the label on the ticks. */
'OnTicks';
/**
 * Defines the shape of marker. They are
 * * circle - Renders a circle.
 * * rectangle - Renders a rectangle.
 * * triangle - Renders a triangle.
 * * diamond - Renders a diamond.
 * * cross - Renders a cross.
 * * horizontalLine - Renders a horizontalLine.
 * * verticalLine - Renders a verticalLine.
 * * pentagon- Renders a pentagon.
 * * invertedTriangle - Renders a invertedTriangle.
 * * image - Renders a image.
 */
export  type ChartShape = 
/** Render a circle. */
'Circle' | 
/** Render a Rectangle. */
'Rectangle' | 
/** Render a Triangle. */
'Triangle' | 
/** Render a Diamond. */
'Diamond' | 
/** Render a Cross. */
'Cross' | 
/** Render a HorizontalLine. */
'HorizontalLine' | 
/** Render a VerticalLine. */
'VerticalLine' | 
/** Render a Pentagon. */
'Pentagon' | 
/** Render a InvertedTriangle. */
'InvertedTriangle' | 
/** Render a Image. */
'Image' | 
/** Render a none */
'None';
/**
 * Defines the type of axis. They are
 * * double -  Renders a numeric axis.
 * * dateTime - Renders a dateTime axis.
 * * category - Renders a category axis.
 * * logarithmic - Renders a log axis.
 * * DateTimeCategory - Renders a datetime DateTimeCategory axis
 */
export  type ValueType = 
/** Define the numeric axis. */
'Double' | 
/** Define the DateTime axis. */
'DateTime' | 
/** Define the Category axis . */
'Category' | 
/** Define the Logarithmic axis . */
'Logarithmic' | 
/** Define the datetime category axis */
'DateTimeCategory';
/**
 * Defines the type of error bar. They are
 * * fixed -  Renders a fixed type error bar.
 * * percentage - Renders a percentage type error bar.
 * * standardDeviation - Renders a standard deviation type error bar.
 * * standardError -Renders a standard error type error bar.
 * * custom -Renders a custom type error bar.
 */
export  type ErrorBarType = 
/** Define the Fixed type. */
'Fixed' | 
/** Define the Percentage type. */
'Percentage' | 
/** Define the StandardDeviation type . */
'StandardDeviation' | 
/** Define the StandardError type . */
'StandardError' | 
/** Define the Custom type . */
'Custom';
/**
 * Defines the direction of error bar. They are
 * * both -  Renders both direction of error bar.
 * * minus - Renders minus direction of error bar.
 * * plus - Renders plus direction error bar.
 */
export  type ErrorBarDirection = 
/** Define the Both direction. */
'Both' | 
/** Define the Minus direction. */
'Minus' | 
/** Define the Plus direction . */
'Plus';
/**
 * Defines the modes of error bar. They are
 * * vertical -  Renders a vertical error bar.
 * * horizontal - Renders a horizontal error bar.
 * * both - Renders both side error bar.
 */
export  type ErrorBarMode = 
/** Define the Vertical mode. */
'Vertical' | 
/** Define the Horizontal mode. */
'Horizontal' | 
/** Define the Both mode . */
'Both';
/**
 * Defines the interval type of datetime axis. They are
 * * auto - Define the interval of the axis based on data.
 * * years - Define the interval of the axis in years.
 * * months - Define the interval of the axis in months.
 * * days - Define the interval of the axis in days.
 * * hours - Define the interval of the axis in hours.
 * * minutes - Define the interval of the axis in minutes.
 */
export  type IntervalType = 
/** Define the interval of the axis based on data. */
'Auto' | 
/** Define the interval of the axis in years. */
'Years' | 
/** Define the interval of the axis in months. */
'Months' | 
/** Define the interval of the axis in days. */
'Days' | 
/** Define the interval of the axis in hours. */
'Hours' | 
/** Define the interval of the axis in minutes. */
'Minutes' | 
/** Define the interval of the axis in seconds. */
'Seconds';
/**
 * Defines the mode of line in crosshair. They are
 * * none - Hides both vertical and horizontal crosshair line.
 * * both - Shows both vertical and horizontal crosshair line.
 * * vertical - Shows the vertical line.
 * * horizontal - Shows the horizontal line.
 */
export  type LineType = 
/** Hides both vertical and horizontal crosshair line. */
'None' | 
/** Shows both vertical and horizontal crosshair line. */
'Both' | 
/** Shows the vertical line. */
'Vertical' | 
/** Shows the horizontal line. */
'Horizontal';
export  type MacdType = 'Line' | 'Histogram' | 'Both';
/**
 * Defines the position of the legend. They are
 * * auto - Places the legend based on area type.
 * * top - Displays the legend on the top of chart.
 * * left - Displays the legend on the left of chart.
 * * bottom - Displays the legend on the bottom of chart.
 * * right - Displays the legend on the right of chart.
 * * custom - Displays the legend  based on given x and y value.
 */
export  type LegendPosition = 
/** Places the legend based on area type. */
'Auto' | 
/** Places the legend on the top of chart. */
'Top' | 
/** Places the legend on the left of chart. */
'Left' | 
/** Places the legend on the bottom of chart. */
'Bottom' | 
/** Places the legend on the right of chart. */
'Right' | 
/** Places the legend based on given x and y. */
'Custom';
/**
 * Defines the shape of legend. They are
 * * circle - Renders a circle.
 * * rectangle - Renders a rectangle.
 * * triangle - Renders a triangle.
 * * diamond - Renders a diamond.
 * * cross - Renders a cross.
 * * horizontalLine - Renders a horizontalLine.
 * * verticalLine - Renders a verticalLine.
 * * pentagon - Renders a pentagon.
 * * invertedTriangle - Renders a invertedTriangle.
 * * SeriesType -Render a legend shape based on series type.
 * * image - Renders a image.
 */
export  type LegendShape = 
/** Render a circle. */
'Circle' | 
/** Render a Rectangle. */
'Rectangle' | 
/** Render a Triangle. */
'Triangle' | 
/** Render a Diamond. */
'Diamond' | 
/** Render a Cross. */
'Cross' | 
/** Render a Cross. */
'Multiply' | 
/** Render a actual bar. */
'ActualRect' | 
/** Render a target bar. */
'TargetRect' | 
/** Render a HorizontalLine. */
'HorizontalLine' | 
/** Render a VerticalLine. */
'VerticalLine' | 
/** Render a Pentagon. */
'Pentagon' | 
/** Render a InvertedTriangle. */
'InvertedTriangle' | 
/** Render a legend shape based on series type. */
'SeriesType' | 
/** Render a Image. */
'Image';
/**
 * Defines the zooming mode, They are.
 * * x,y - Chart will be zoomed with respect to both vertical and horizontal axis.
 * * x - Chart will be zoomed with respect to horizontal axis.
 * * y - Chart will be zoomed with respect to vertical axis.
 */
export  type ZoomMode = 
/** Chart will be zoomed with respect to both vertical and horizontal axis. */
'XY' | 
/** Chart will be zoomed with respect to horizontal axis. */
'X' | 
/** Chart will be zoomed with respect to vertical axis. */
'Y';
/**
 * Defines the ZoomingToolkit, They are.
 * * zoom - Renders the zoom button.
 * * zoomIn - Renders the zoomIn button.
 * * zoomOut - Renders the zoomOut button.
 * * pan - Renders the pan button.
 * * reset - Renders the reset button.
 */
export  type ToolbarItems = 
/** Renders the zoom button. */
'Zoom' | 
/** Renders the zoomIn button. */
'ZoomIn' | 
/** Renders the zoomOut button. */
'ZoomOut' | 
/** Renders the pan button. */
'Pan' | 
/** Renders the reset button. */
'Reset';
/**
 * Defines the SelectionMode, They are.
 * * none - Disable the selection.
 * * series - To select a series.
 * * point - To select a point.
 * * cluster - To select a cluster of point
 * * dragXY - To select points, by dragging with respect to both horizontal and vertical axis
 * * dragX - To select points, by dragging with respect to horizontal axis.
 * * dragY - To select points, by dragging with respect to vertical axis.
 * * lasso - To select points, by dragging with respect to free form.
 */
export  type SelectionMode = 
/** Disable the selection. */
'None' | 
/** To select a series. */
'Series' | 
/** To select a point. */
'Point' | 
/** To select a cluster of point. */
'Cluster' | 
/** To select points, by dragging with respect to both horizontal and vertical axis. */
'DragXY' | 
/** To select points, by dragging with respect to vertical axis. */
'DragY' | 
/** To select points, by dragging with respect to horizontal axis. */
'DragX' | 
/** To select points, by dragging with respect to free form. */
'Lasso';
/**
 * Defines the LabelPosition, They are.
 * * outer - Position the label outside the point.
 * * top - Position the label on top of the point.
 * * bottom - Position the label on bottom of the point.
 * * middle - Position the label to middle of the point.
 * * auto - Position the label based on series.
 */
export  type LabelPosition = 
/** Position the label outside the point. */
'Outer' | 
/** Position the label on top of the point. */
'Top' | 
/** Position the label on bottom of the point. */
'Bottom' | 
/** Position the label to middle of the point. */
'Middle' | 
/** Position the label based on series. */
'Auto';
/**
 * Defines the Alignment. They are
 * * none - Shows all the labels.
 * * hide - Hide the label when it intersect.
 * * rotate45 - Rotate the label to 45 degree when it intersect.
 * * rotate90 - Rotate the label to 90 degree when it intersect.
 * *
 */
export  type LabelIntersectAction = 
/** Shows all the labels. */
'None' | 
/** Hide the label when it intersect. It is also applicable for polar radar chart */
'Hide' | 
/** Trim the label when it intersect. */
'Trim' | 
/** Wrap the label when it intersect. */
'Wrap' | 
/** Arrange the label in multiple row when it intersect. */
'MultipleRows' | 
/** Rotate the label to 45 degree when it intersect. */
'Rotate45' | 
/** Rotate the label to 90 degree when it intersect. */
'Rotate90';
/**
 * Defines the Alignment. They are
 * * none - Shows all the labels.
 * * hide - Hide the label when it intersect.
 * *
 */
export  type DataLabelIntersectAction = 
/** Shows all the labels. */
'None' | 
/** Hide the label when it intersect. It is also applicable for polar radar chart */
'Hide';
/**
 * Defines the Position. They are
 * * inside - Place the ticks or labels inside to the axis line.
 * * outside - Place the ticks or labels outside to the axis line.
 * *
 */
export  type AxisPosition = 
/** Place the ticks or labels inside to the axis line. */
'Inside' | 
/** Place the ticks or labels outside to the axis line. */
'Outside';
/**
 * Defines Theme of the chart. They are
 * * Material - Render a chart with Material theme.
 * * Fabric - Render a chart with Fabric theme
 */
export  type ChartTheme = 
/**  Render a chart with Material theme. */
'Material' | 
/**  Render a chart with Fabric theme. */
'Fabric' | 
/**  Render a chart with Bootstrap theme. */
'Bootstrap' | 
/**  Render a chart with HighcontrastLight theme. */
'HighContrastLight' | 
/**  Render a chart with MaterialDark theme. */
'MaterialDark' | 
/**  Render a chart with FabricDark theme. */
'FabricDark' | 
/**  Render a chart with HighContrast theme. */
'HighContrast' | 
/**  Render a chart with BootstrapDark theme. */
'BootstrapDark' | 
/**  Render a chart with Bootstrap4 theme. */
'Bootstrap4' | 
/**  Render a chart with Tailwind theme. */
'Tailwind' | 
/**  Render a chart with TailwindDark theme. */
'TailwindDark' | 
/**  Render a chart with Bootstrap5 theme. */
'Bootstrap5' | 
/**  Render a chart with Bootstrap5Dark theme. */
'Bootstrap5Dark' | 
/**  Render a chart with Fluent theme. */
'Fluent' | 
/**  Render a chart with FluentDark theme. */
'FluentDark';
/**
 *  Specifies the order of the strip line. `Over` | `Behind`.
 * * Over - Places the strip line over the series elements.
 * * Behind - laces the strip line behind the series elements.
 */
export  type ZIndex = 
/** Places the strip line over the series elements. */
'Over' | 
/** Places the strip line behind the series elements. */
'Behind';
/**
 * Defines the strip line text position.
 * * Start - Places the strip line text at the start.
 * * Middle - Places the strip line text in the middle.
 * * End - Places the strip line text at the end.
 */
export  type Anchor = 
/** Places the strip line text at the start. */
'Start' | 
/** Places the strip line text in the middle. */
'Middle' | 
/** Places the strip line text at the end. */
'End';
/**
 * Defines the empty point mode of the chart.
 * * Gap - Used to display empty points as space.
 * * Zero - Used to display empty points as zero.
 * * Drop - Used to ignore the empty point while rendering.
 * * Average - Used to display empty points as previous and next point average.
 */
export  type EmptyPointMode = 
/** Used to display empty points as space  */
'Gap' | 
/** Used to display empty points as zero  */
'Zero' | 
/** Used to ignore the empty point while rendering  */
'Drop' | 
/** Used to display empty points as previous and next point average  */
'Average';
/**
 * Defines the tooltip fade out mode of the chart.
 * * Click - Used to remove the tooltip on click.
 * * Move - Used to remove the tooltip with some delay.
 */
export  type FadeOutMode = 
/** Used to remove the tooltip on click  */
'Click' | 
/** Used to remove the tooltip with some delay  */
'Move';
/**
 * Defines the type of technical indicators. They are
 * * Sma - Predicts the trend using Simple Moving Average approach
 * * Ema - Predicts the trend using Exponential Moving Average approach
 * * Tma - Predicts the trend using Triangle Moving Average approach
 * * Atr - Predicts the trend using Average True Range approach
 * * AccumulationDistribution - Predicts the trend using Accumulation Distribution approach
 * * Momentum - Predicts the trend using Momentum approach
 * * Rsi - Predicts the trend using RSI approach
 * * Macd - Predicts the trend using Moving Average Convergence Divergence approach
 * * Stochastic - Predicts the trend using Stochastic approach
 * * BollingerBands - Predicts the trend using Bollinger approach
 */
export  type TechnicalIndicators = 
/** Predicts the trend using Simple Moving Average approach */
'Sma' | 
/** Predicts the trend using Exponential Moving Average approach */
'Ema' | 
/** Predicts the trend using Triangle Moving Average approach */
'Tma' | 
/** Predicts the trend using Momentum approach */
'Momentum' | 
/** Predicts the trend using Average True Range approach */
'Atr' | 
/** Predicts the trend using Accumulation Distribution approach */
'AccumulationDistribution' | 
/** Predicts the trend using Bollinger approach */
'BollingerBands' | 
/** Predicts the trend using Moving Average Convergence Divergence approach */
'Macd' | 
/** Predicts the trend using Stochastic approach */
'Stochastic' | 
/** Predicts the trend using RSI approach */
'Rsi';
/**
 * Defines the type of trendlines. They are
 * * Linear - Defines the linear trendline
 * * Exponential - Defines the exponential trendline
 * * Polynomial - Defines the polynomial trendline
 * * Power - Defines the power trendline
 * * Logarithmic - Defines the logarithmic trendline
 * * MovingAverage - Defines the moving average trendline
 */
export  type TrendlineTypes = 
/** Defines the linear trendline */
'Linear' | 
/** Defines the exponential trendline */
'Exponential' | 
/** Defines the polynomial trendline */
'Polynomial' | 
/** Defines the power trendline */
'Power' | 
/** Defines the logarithmic trendline */
'Logarithmic' | 
/** Defines the moving average trendline */
'MovingAverage';
/**
 * Defines the financial data fields
 * * High - Represents the highest price in the stocks over time
 * * Low - Represents the lowest price in the stocks over time
 * * Open - Represents the opening price in the stocks over time
 * * Close - Represents the closing price in the stocks over time
 */
export  type FinancialDataFields = 
/** Represents the highest price in the stocks over time */
'High' | 
/** Represents the lowest price in the stocks over time */
'Low' | 
/** Represents the opening price in the stocks over time */
'Open' | 
/** Represents the closing price in the stocks over time */
'Close';
/**
 * It defines type of spline.
 * Natural - Used to render Natural spline.
 * Cardinal - Used to render cardinal spline.
 * Clamped - Used to render Clamped spline
 * Monotonic - Used to render monotonic spline
 */
export  type SplineType = 
/** Used to render natural spline type */
'Natural' | 
/** Used to render Monotonicspline  */
'Monotonic' | 
/** Used to render Cardinal */
'Cardinal' | 
/** Used to render Clamped */
'Clamped';
/**
 * Defines the BoxPlotMode for box and whisker chart series, They are.
 * * exclusive - Series render based on exclusive mode.
 * * inclusive - Series render based on inclusive mode.
 * * normal - Series render based on normal mode.
 */
export  type BoxPlotMode = 
/** Defines the Exclusive mode. */
'Exclusive' | 
/** Defines the InClusive mode. */
'Inclusive' | 
/** Defines the Normal mode. */
'Normal';
/**
 * Defines the skeleton type for the axis.
 * * Date - it formats date only.
 * * DateTime - it formats date and time.
 * * Time - it formats time only.
 */
export  type SkeletonType = 
/** Used to format date */
'Date' | 
/** Used to format date and time */
'DateTime' | 
/** Used to format time */
'Time';
/**
 * Defines border type for multi level labels.
 *  * Rectangle
 *  * Brace
 *  * WithoutBorder
 *  * Without top Border
 *  * Without top and bottom border
 *  * Curly brace
 */
export  type BorderType = 
/** Rectangle */
'Rectangle' | 
/** Brace */
'Brace' | 
/** WithoutBorder */
'WithoutBorder' | 
/** WithoutTopBorder */
'WithoutTopBorder' | 
/** WithoutTopandBottomBorder */
'WithoutTopandBottomBorder' | 
/** CurlyBrace */
'CurlyBrace';
/**
 * Defines the SelectionMode, They are.
 * * none - Disable the selection.
 * * series - To select a series.
 * * point - To select a point.
 * * cluster - To select a cluster of point.
 */
export  type HighlightMode = 
/** Disable the selection. */
'None' | 
/** To select a series. */
'Series' | 
/** To select a point. */
'Point' | 
/** To select a cluster of point. */
'Cluster';
export  type LegendMode = 
/** Render legend items based on visible series */
'Series' | 
/** Render legend items based on points  */
'Point' | 
/** Render legend item based on range color mapping conditions */
'Range' | 
/** Render legend items based on range color mapping conditions */
'Gradient';
//node_modules/@syncfusion/ej2-charts/src/chart/utils/get-data.d.ts
/**
 * To get the data on mouse move.
 *
 * @private
 */
export  class ChartData {
    /** @private */
    chart: Chart;
    lierIndex: number;
    /** @private */
    currentPoints: PointData[] | AccPointData[];
    /** @private */
    previousPoints: PointData[] | AccPointData[];
    insideRegion: boolean;
    commonXvalues: number[];
    /**
     * Constructor for the data.
     *
     * @private
     */
    constructor(chart: Chart);
    /**
     * Method to get the Data.
     *
     * @private
     */
    getData(): PointData;
    isSelected(chart: Chart): boolean;
    private getRectPoint;
    /**
     * Checks whether the region contains a point
     */
    private checkRegionContainsPoint;
    /**
     * To check the point in threshold region for column and bar series
     *
     * @param {number} x X coordinate
     * @param {number} y Y coodinate
     * @param {Points} point point
     * @param {Rect} rect point rect region
     * @param {Series} series series
     */
    private isPointInThresholdRegion;
    /**
     * @private
     */
    getClosest(series: Series, value: number, xvalues?: number[]): number;
    private binarySearch;
    getClosestX(chart: Chart, series: Series, xvalues?: number[]): PointData;
    /**
     * Merge all visible series X values for shared tooltip (EJ2-47072)
     *
     * @param visibleSeries
     * @private
     */
    mergeXvalues(visibleSeries: Series[]): number[];
    private getDistinctValues;
}
//node_modules/@syncfusion/ej2-charts/src/common/annotation/annotation.d.ts
/**
 * Annotation Module handles the Annotation for chart and accumulation series.
 */
export  class AnnotationBase {
    private control;
    private annotation;
    private isChart;
    /**
     * Constructor for chart and accumulation annotation
     *
     * @param control
     */
    constructor(control: Chart | AccumulationChart);
    /**
     * Method to render the annotation for chart and accumulation series.
     *
     * @private
     * @param annotation
     * @param index
     */
    render(annotation: AccumulationAnnotationSettings | ChartAnnotationSettings, index: number): HTMLElement;
    /**
     * Method to calculate the location for annotation - coordinate unit as pixel.
     *
     * @private
     * @param location
     */
    setAnnotationPixelValue(location: ChartLocation): boolean;
    /**
     * Method to calculate the location for annotation - coordinate unit as point.
     *
     * @private
     * @param location
     */
    setAnnotationPointValue(location: ChartLocation): boolean;
    /**
     * To process the annotation for accumulation chart
     *
     * @param annotation
     * @param index
     * @param parentElement
     */
    processAnnotation(annotation: ChartAnnotationSettings | AccumulationAnnotationSettings, index: number, parentElement: HTMLElement): void;
    /**
     * Method to calculate the location for annotation - coordinate unit as point in accumulation chart.
     *
     * @private
     * @param location
     */
    setAccumulationPointValue(location: ChartLocation): boolean;
    /**
     * Method to set the element style for accumulation / chart annotation.
     *
     * @private
     * @param location
     * @param element
     * @param parentElement
     */
    setElementStyle(location: ChartLocation, element: HTMLElement, parentElement: HTMLElement): void;
    /**
     * Method to calculate the alignment value for annotation.
     *
     * @private
     * @param alignment
     * @param size
     * @param value
     */
    setAlignmentValue(alignment: Alignment | Position, size: number, value: number): number;
}
//node_modules/@syncfusion/ej2-charts/src/common/common.d.ts
/**
 * Common directory file
 */
export  class Common {
    /**
     * To resolve common class export issue.
     */
    private common;
}
//node_modules/@syncfusion/ej2-charts/src/common/index.d.ts
/**
 * Chart and accumulation common files
 */
//node_modules/@syncfusion/ej2-charts/src/common/legend/legend-model.d.ts
/**
 * Interface for a class Location
 */
export interface LocationModel {
    /**
     * X coordinate of the legend in pixels.
     *
     * @default 0
     */
    x?: number;
    /**
     * Y coordinate of the legend in pixels.
     *
     * @default 0
     */
    y?: number;
}
/**
 * Interface for a class LegendSettings
 */
export interface LegendSettingsModel {
    /**
     * If set to true, legend will be visible.
     *
     * @default true
     */
    visible?: boolean;
    /**
     * The height of the legend in pixels.
     *
     * @default null
     */
    height?: string;
    /**
     * The width of the legend in pixels.
     *
     * @default null
     */
    width?: string;
    /**
     * Specifies the location of the legend, relative to the chart.
     * If x is 20, legend moves by 20 pixels to the right of the chart. It requires the `position` to be `Custom`.
     * ```html
     * <div id='Chart'></div>
     * ```
     * ```typescript
     * let chart$: Chart = new Chart({
     * ...
     *   legendSettings: {
     *     visible: true,
     *     position: 'Custom',
     *     location: { x: 100, y: 150 },
     *   },
     * ...
     * });
     * chart.appendTo('#Chart');
     * ```
     */
    location?: LocationModel;
    /**
     * Position of the legend in the chart are,
     * * Auto: Places the legend based on area type.
     * * Top: Displays the legend at the top of the chart.
     * * Left: Displays the legend at the left of the chart.
     * * Bottom: Displays the legend at the bottom of the chart.
     * * Right: Displays the legend at the right of the chart.
     * * Custom: Displays the legend  based on the given x and y values.
     *
     * @default 'Auto'
     */
    position?: LegendPosition;
    /**
    * Mode of legend items
    * * Series: Legend items generated based on series count.
    * * Point: Legend items generated based on unique data points. 
    * * Range: Legend items generated based on range color mapping property. 
    * * Gradient: Single linear bar generated based on range color mapping property.
    * This property is applicable for chart component only.
    */
    mode?: LegendMode;
    /**
     * Option to customize the padding around the legend items.
     *
     * @default 8
     */
    padding?: number;
    /**
     * Option to customize the padding between legend items.
     *
     * @default 20
     */
    itemPadding?: number;
    /**
     * Legend in chart can be aligned as follows:
     * * Near: Aligns the legend to the left of the chart.
     * * Center: Aligns the legend to the center of the chart.
     * * Far: Aligns the legend to the right of the chart.
     *
     * @default 'Center'
     */
    alignment?: Alignment;
    /**
     * Options to customize the legend text.
     */
    textStyle?: FontModel;
    /**
     * Shape height of the legend in pixels.
     *
     * @default 10
     */
    shapeHeight?: number;
    /**
     * Shape width of the legend in pixels.
     *
     * @default 10
     */
    shapeWidth?: number;
    /**
     * Options to customize the border of the legend.
     */
    border?: BorderModel;
    /**
     *  Options to customize left, right, top and bottom margins of the chart.
     */
    margin?: MarginModel;
    /**
     *  Options to customize left, right, top and bottom padding for legend container of the chart.
     */
    containerPadding?: ContainerPaddingModel;
    /**
     * Padding between the legend shape and text.
     *
     * @default 8
     */
    shapePadding?: number;
    /**
     * The background color of the legend that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default 'transparent'
     */
    background?: string;
    /**
     * Opacity of the legend.
     *
     * @default 1
     */
    opacity?: number;
    /**
     * If set to true, series' visibility collapses based on the legend visibility.
     *
     * @default true
     */
    toggleVisibility?: boolean;
    /**
    * If set to true, the series get highlighted, while hovering the legend.
    *
    * @default false
    */
    enableHighlight?: boolean;
    /**
     * Description for legends.
     *
     * @default null
     */
    description?: string;
    /**
     * TabIndex value for the legend.
     *
     * @default 3
     */
    tabIndex?: number;
    /**
     * Title for legends.
     *
     * @default null
     */
    title?: string;
    /**
     * Options to customize the legend title.
     */
    titleStyle?: FontModel;
    /**
     * legend title position
     *
     * @default 'Top'
     */
    titlePosition?: LegendTitlePosition;
    /**
     * Defines the text wrap behavior to employ when the individual legend text overflows
     * * `Normal` -  Specifies to break words only at allowed break points.
     * * `Wrap` - Specifies to break a word once it is too long to fit on a line by itself.
     * * `AnyWhere` - Specifies to break a word at any point if there are no otherwise-acceptable break points in the line.
     *
     * @default 'Normal'
     */
    textWrap?: TextWrap;
    /**
     * Defines the text overflow behavior to employ when the individual legend text overflows
       * * `Clip` -  Specifies the text is clipped and not accessible.
       * * `Ellipsis` -  Specifies an ellipsis (“...”) to the clipped text.
     *
     * @default 'Ellipsis'
     */
    textOverflow?: LabelOverflow;
    /**
     * maximum width for the legend title.
     *
     * @default 100
     */
    maximumTitleWidth?: number;
    /**
     * Maximum label width for the legend text.
     *
     * @default null
     */
    maximumLabelWidth?: number;
    /**
     * If set to true, legend will be visible using pages.
     *
     * @default true
     */
    enablePages?: boolean;
    /**
     * If `isInversed` set to true, then it inverses legend item content (image and text). 
     * @default false. 
     */ 
    isInversed?: boolean;
    /**
     * If `reverse` set to true, then it reverse the legend items order.
     *
     * @default false
     */
    reverse?: boolean;
}
/**
 * Interface for a class BaseLegend
 * @private
 */
export interface BaseLegendModel {
}
/**
 * Interface for a class LegendOptions
 * @private
 */
export interface LegendOptionsModel {
}
//node_modules/@syncfusion/ej2-charts/src/common/legend/legend.d.ts
/**
 * Configures the location for the legend.
 */
export  class Location extends base.ChildProperty<Location> {
    /**
     * X coordinate of the legend in pixels.
     *
     * @default 0
     */
    x: number;
    /**
     * Y coordinate of the legend in pixels.
     *
     * @default 0
     */
    y: number;
}
/**
 * Configures the legends in charts.
 */
export  class LegendSettings extends base.ChildProperty<LegendSettings> {
    /**
     * If set to true, legend will be visible.
     *
     * @default true
     */
    visible: boolean;
    /**
     * The height of the legend in pixels.
     *
     * @default null
     */
    height: string;
    /**
     * The width of the legend in pixels.
     *
     * @default null
     */
    width: string;
    /**
     * Specifies the location of the legend, relative to the chart.
     * If x is 20, legend moves by 20 pixels to the right of the chart. It requires the `position` to be `Custom`.
     * ```html
     * <div id='Chart'></div>
     * ```
     * ```typescript
     * let chart$: Chart = new Chart({
     * ...
     *   legendSettings: {
     *     visible: true,
     *     position: 'Custom',
     *     location: { x: 100, y: 150 },
     *   },
     * ...
     * });
     * chart.appendTo('#Chart');
     * ```
     */
    location: LocationModel;
    /**
     * Position of the legend in the chart are,
     * * Auto: Places the legend based on area type.
     * * Top: Displays the legend at the top of the chart.
     * * Left: Displays the legend at the left of the chart.
     * * Bottom: Displays the legend at the bottom of the chart.
     * * Right: Displays the legend at the right of the chart.
     * * Custom: Displays the legend  based on the given x and y values.
     *
     * @default 'Auto'
     */
    position: LegendPosition;
    /**
    * Mode of legend items
    * * Series: Legend items generated based on series count.
    * * Point: Legend items generated based on unique data points.
    * * Range: Legend items generated based on range color mapping property.
    * * Gradient: Single linear bar generated based on range color mapping property.
    * This property is applicable for chart component only.
    */
    mode: LegendMode;
    /**
     * Option to customize the padding around the legend items.
     *
     * @default 8
     */
    padding: number;
    /**
     * Option to customize the padding between legend items.
     *
     * @default 20
     */
    itemPadding: number;
    /**
     * Legend in chart can be aligned as follows:
     * * Near: Aligns the legend to the left of the chart.
     * * Center: Aligns the legend to the center of the chart.
     * * Far: Aligns the legend to the right of the chart.
     *
     * @default 'Center'
     */
    alignment: Alignment;
    /**
     * Options to customize the legend text.
     */
    textStyle: FontModel;
    /**
     * Shape height of the legend in pixels.
     *
     * @default 10
     */
    shapeHeight: number;
    /**
     * Shape width of the legend in pixels.
     *
     * @default 10
     */
    shapeWidth: number;
    /**
     * Options to customize the border of the legend.
     */
    border: BorderModel;
    /**
     *  Options to customize left, right, top and bottom margins of the chart.
     */
    margin: MarginModel;
    /**
     *  Options to customize left, right, top and bottom padding for legend container of the chart.
     */
    containerPadding: ContainerPaddingModel;
    /**
     * Padding between the legend shape and text.
     *
     * @default 8
     */
    shapePadding: number;
    /**
     * The background color of the legend that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default 'transparent'
     */
    background: string;
    /**
     * Opacity of the legend.
     *
     * @default 1
     */
    opacity: number;
    /**
     * If set to true, series' visibility collapses based on the legend visibility.
     *
     * @default true
     */
    toggleVisibility: boolean;
    /**
    * If set to true, the series get highlighted, while hovering the legend.
    *
    * @default false
    */
    enableHighlight: boolean;
    /**
     * Description for legends.
     *
     * @default null
     */
    description: string;
    /**
     * TabIndex value for the legend.
     *
     * @default 3
     */
    tabIndex: number;
    /**
     * Title for legends.
     *
     * @default null
     */
    title: string;
    /**
     * Options to customize the legend title.
     */
    titleStyle: FontModel;
    /**
     * legend title position
     *
     * @default 'Top'
     */
    titlePosition: LegendTitlePosition;
    /**
     * Defines the text wrap behavior to employ when the individual legend text overflows
     * * `Normal` -  Specifies to break words only at allowed break points.
     * * `Wrap` - Specifies to break a word once it is too long to fit on a line by itself.
     * * `AnyWhere` - Specifies to break a word at any point if there are no otherwise-acceptable break points in the line.
     *
     * @default 'Normal'
     */
    textWrap: TextWrap;
    /**
    * Defines the text overflow behavior to employ when the individual legend text overflows
      * * `Clip` -  Specifies the text is clipped and not accessible.
      * * `Ellipsis` -  Specifies an ellipsis (“...”) to the clipped text.
    *
    * @default 'Ellipsis'
    */
    textOverflow: LabelOverflow;
    /**
     * maximum width for the legend title.
     *
     * @default 100
     */
    maximumTitleWidth: number;
    /**
     * Maximum label width for the legend text.
     *
     * @default null
     */
    maximumLabelWidth: number;
    /**
     * If set to true, legend will be visible using pages.
     *
     * @default true
     */
    enablePages: boolean;
    /**
     * If `isInversed` set to true, then it inverses legend item content (image and text).
     * @default false.
     */
    isInversed: boolean;
    /**
    * If `reverse` set to true, then it reverse the legend items order.
    *
    * @default false
    */
    reverse: boolean;
}
/**
 * Legend base class for Chart and Accumulation chart.
 *
 * @private
 */
export  class BaseLegend {
    protected chart: Chart | AccumulationChart | BulletChart | StockChart;
    protected legend: LegendSettingsModel;
    protected maxItemHeight: number;
    protected rowHeights: number[];
    protected pageHeights: number[];
    protected columnHeights: number[];
    protected isPaging: boolean;
    private clipPathHeight;
    totalPages: number;
    protected isVertical: boolean;
    protected fivePixel: number;
    private rowCount;
    protected pageButtonSize: number;
    protected pageXCollections: number[];
    protected maxColumns: number;
    maxWidth: number;
    protected legendID: string;
    private clipRect;
    private legendTranslateGroup;
    protected currentPage: number;
    protected backwardArrowOpacity: number;
    protected forwardArrowOpacity: number;
    private isChartControl;
    private isAccChartControl;
    private isBulletChartControl;
    private isStockChartControl;
    private accessbilityText;
    protected arrowWidth: number;
    protected arrowHeight: number;
    protected library: Legend | AccumulationLegend | BulletChartLegend | StockLegend;
    /**  @private */
    position: LegendPosition;
    chartRowCount: number;
    /**
     * Gets the legend bounds in chart.
     *
     * @private
     */
    legendBounds: svgBase.Rect;
    /** @private */
    legendCollections: LegendOptions[];
    private legendTitleCollections;
    protected legendTitleSize: svgBase.Size;
    private isTop;
    protected isTitle: boolean;
    /** @private */
    clearTooltip: number;
    protected pagingClipRect: RectOption;
    protected currentPageNumber: number;
    protected legendRegions: ILegendRegions[];
    protected pagingRegions: svgBase.Rect[];
    protected totalNoOfPages: number;
    /** @private */
    calTotalPage: boolean;
    private bulletChart;
    protected isRtlEnable: boolean;
    protected isReverse: boolean;
    /**
     * Constructor for the dateTime module.
     *
     * @private
     */
    constructor(chart?: Chart | AccumulationChart | BulletChart | StockChart);
    /**
     * Calculate the bounds for the legends.
     *
     * @returns {void}
     * @private
     */
    calculateLegendBounds(rect: svgBase.Rect, availableSize: svgBase.Size, maxLabelSize: svgBase.Size): void;
    /**
     * To find legend position based on available size for chart and accumulation chart
     *
     * @param position
     * @param availableSize
     * @param position
     * @param availableSize
     * @returns {void}
     */
    private getPosition;
    /**
     * To set bounds for chart and accumulation chart
     *
     * @param computedWidth
     * @param computedHeight
     * @param legend
     * @param legendBounds
     * @param computedWidth
     * @param computedHeight
     * @param legend
     * @param legendBounds
     * @param computedWidth
     * @param computedHeight
     * @param legend
     * @param legendBounds
     * @param computedWidth
     * @param computedHeight
     * @param legend
     * @param legendBounds
     * @returns {void}
     */
    protected setBounds(computedWidth: number, computedHeight: number, legend: LegendSettingsModel, legendBounds: svgBase.Rect): void;
    /**
     * To find legend location based on position, alignment for chart and accumulation chart
     *
     * @param position
     * @param alignment
     * @param legendBounds
     * @param rect
     * @param availableSize
     * @param maxLabelSize
     * @param position
     * @param alignment
     * @param legendBounds
     * @param rect
     * @param availableSize
     * @param maxLabelSize
     * @param position
     * @param alignment
     * @param legendBounds
     * @param rect
     * @param availableSize
     * @param maxLabelSize
     * @param position
     * @param alignment
     * @param legendBounds
     * @param rect
     * @param availableSize
     * @param maxLabelSize
     * @param position
     * @param alignment
     * @param legendBounds
     * @param rect
     * @param availableSize
     * @param maxLabelSize
     * @param position
     * @param alignment
     * @param legendBounds
     * @param rect
     * @param availableSize
     * @param maxLabelSize
     */
    private getLocation;
    /**
     * To find legend alignment for chart and accumulation chart
     *
     * @param start
     * @param size
     * @param legendSize
     * @param alignment
     * @param start
     * @param size
     * @param legendSize
     * @param alignment
     * @param start
     * @param size
     * @param legendSize
     * @param alignment
     * @param start
     * @param size
     * @param legendSize
     * @param alignment
     */
    private alignLegend;
    /**
     * Renders the legend.
     *
     * @param chart
     * @param legend
     * @param legendBounds
     * @param redraw
     * @param chart
     * @param legend
     * @param legendBounds
     * @param redraw
     * @param chart
     * @param legend
     * @param legendBounds
     * @param redraw
     * @param chart
     * @param legend
     * @param legendBounds
     * @param redraw
     * @returns {void}
     * @private
     */
    renderLegend(chart: Chart | AccumulationChart | BulletChart | StockChart, legend: LegendSettingsModel, legendBounds: svgBase.Rect, redraw?: boolean): void;
    /** @private */
    private getLinearLegend;
    /**
     * To find first valid legend text index for chart and accumulation chart
     *
     * @param legendCollection
     * @returns {number}
     * @private
     */
    private findFirstLegendPosition;
    /**
     * To get the legend title text width and height.
     *
     * @param legend
     * @param legendBounds
     */
    protected calculateLegendTitle(legend: LegendSettingsModel, legendBounds: svgBase.Rect): void;
    /**
     * Render the legend title
     *
     * @param chart
     * @param legend
     * @param legendBounds
     * @param legendGroup
     */
    private renderLegendTitle;
    /**
     * To create legend rendering elements for chart and accumulation chart
     *
     * @param chart
     * @param legendBounds
     * @param legendGroup
     * @param legend
     * @param id
     * @param redraw
     */
    private createLegendElements;
    /**
     * To render legend symbols for chart and accumulation chart
     *
     * @param legendOption
     * @param group
     * @param i
     * @param legendOption
     * @param group
     * @param i
     * @param legendOption
     * @param group
     * @param i
     */
    protected renderSymbol(legendOption: LegendOptions, group: Element, legendIndex: number): void;
    /**
     * To render legend text for chart and accumulation chart
     *
     * @param chart
     * @param legendOption
     * @param group
     * @param textOptions
     * @param i
     * @param chart
     * @param legendOption
     * @param group
     * @param textOptions
     * @param i
     * @param chart
     * @param legendOption
     * @param group
     * @param textOptions
     * @param i
     * @param chart
     * @param legendOption
     * @param group
     * @param textOptions
     * @param i
     * @param chart
     * @param legendOption
     * @param group
     * @param textOptions
     * @param i
     */
    protected renderText(chart: Chart | AccumulationChart | BulletChart | StockChart, legendOption: LegendOptions, group: Element, textOptions: svgBase.TextOption, i: number, legendIndex: number): void;
    /**
     * To render legend paging elements for chart and accumulation chart
     *
     * @param chart
     * @param bounds
     * @param textOption
     * @param legendGroup
     * @param chart
     * @param bounds
     * @param textOption
     * @param legendGroup
     * @param chart
     * @param bounds
     * @param textOption
     * @param legendGroup
     * @param chart
     * @param bounds
     * @param textOption
     * @param legendGroup
     */
    private renderPagingElements;
    private getPageHeight;
    /**
     * To translate legend pages for chart and accumulation chart
     *
     * @param pagingText
     * @param page
     * @param pageNumber
     * @param legend
     * @param pagingText
     * @param page
     * @param pageNumber
     * @param legend
     * @param pagingText
     * @param page
     * @param pageNumber
     * @param legend
     * @param pagingText
     * @param page
     * @param pageNumber
     * @param legend
     */
    protected translatePage(isCanvas: boolean, pagingText: Element, page: number, pageNumber: number, legend?: LegendSettingsModel): number;
    /**
     * To change legend pages for chart and accumulation chart
     *
     * @param event
     * @param pageUp
     * @param event
     * @param pageUp
     */
    protected changePage(event: Event, pageUp: boolean): void;
    /**
     * To hide the backward and forward arrow
     *
     * @param arrowElement
     */
    private hideArrow;
    /**
     * To show the  backward and forward arrow
     *
     * @param arrowElement
     */
    private showArrow;
    /**
     * To find legend elements id based on chart or accumulation chart
     *
     * @param option
     * @param prefix
     * @param count
     * @param option
     * @param prefix
     * @param count
     * @param option
     * @param prefix
     * @param count
     * @private
     */
    generateId(option: LegendOptions, prefix: string, count: number): string;
    /**
     * To show or hide trimmed text tooltip for legend.
     *
     * @param event
     * @returns {void}
     * @private
     */
    move(event: Event): void;
}
/**
 * Class for legend options
 *
 * @private
 */
export  class LegendOptions {
    render: boolean;
    text: string;
    fill: string;
    shape: LegendShape;
    visible: boolean;
    type: ChartSeriesType | AccumulationType;
    textSize: svgBase.Size;
    location: ChartLocation;
    url?: string;
    pointIndex?: number;
    seriesIndex?: number;
    markerShape?: ChartShape;
    markerVisibility?: boolean;
    textCollection?: string[];
    constructor(text: string, fill: string, shape: LegendShape, visible: boolean, type: ChartSeriesType | AccumulationType, url?: string, markerShape?: ChartShape, markerVisibility?: boolean, pointIndex?: number, seriesIndex?: number);
}
//node_modules/@syncfusion/ej2-charts/src/common/model/base-model.d.ts
/**
 * Interface for a class Connector
 */
export interface ConnectorModel {
    /**
     * specifies the type of the connector line. They are
     * * Smooth
     * * Line
     *
     * @default 'Line'
     */
    type?: ConnectorType;
    /**
     * Color of the connector line.
     *
     * @default null
     */
    color?: string;
    /**
     * Width of the connector line in pixels.
     *
     * @default 1
     */
    width?: number;
    /**
     * Length of the connector line in pixels.
     *
     * @default null
     */
    length?: string;
    /**
     * dashArray of the connector line.
     *
     * @default ''
     */
    dashArray?: string;
}
/**
 * Interface for a class Font
 */
export interface FontModel {
    /**
     * FontStyle for the text.
     *
     * @default 'Normal'
     */
    fontStyle?: string;
    /**
     * Font size for the text.
     *
     * @default '16px'
     */
    size?: string;
    /**
     * FontWeight for the text.
     *
     * @default 'Normal'
     */
    fontWeight?: string;
    /**
     * Color for the text.
     *
     * @default ''
     */
    color?: string;
    /**
     * text alignment
     *
     * @default 'Center'
     */
    textAlignment?: Alignment;
    /**
     * FontFamily for the text.
     */
    fontFamily?: string;
    /**
     * Opacity for the text.
     *
     * @default 1
     */
    opacity?: number;
    /**
     * Specifies the chart title text overflow
     *
     * @default 'Trim'
     */
    textOverflow?: TextOverflow;
}
/**
 * Interface for a class Border
 */
export interface BorderModel {
    /**
     * The color of the border that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default ''
     */
    color?: string;
    /**
     * The width of the border in pixels.
     *
     * @default 1
     */
    width?: number;
}
/**
 * Interface for a class Offset
 */
export interface OffsetModel {
    /**
     * x value of the marker position
     *
     * @default 0
     */
    x?: number;
    /**
     * y value of the marker position
     *
     * @default 0
     */
    y?: number;
}
/**
 * Interface for a class ChartArea
 */
export interface ChartAreaModel {
    /**
     * Options to customize the border of the chart area.
     */
    border?: BorderModel;
    /**
     * The background of the chart area that accepts value in hex and rgba as a valid CSS color string..
     *
     * @default 'transparent'
     */
    background?: string;
    /**
     * The opacity for background.
     *
     * @default 1
     */
    opacity?: number;
    /**
     * The background image of the chart area that accepts value in string as url link or location of an image.
     *
     * @default null
     */
    backgroundImage?: string;
    /**
     * Defines the width for the chart area element. Takes value in percentage and in pixel.
     *
     * @default null
     */
    width?: string;
}
/**
 * Interface for a class Margin
 */
export interface MarginModel {
    /**
     * Left margin in pixels.
     *
     * @default 10
     */
    left?: number;
    /**
     * Right margin in pixels.
     *
     * @default 10
     */
    right?: number;
    /**
     * Top margin in pixels.
     *
     * @default 10
     */
    top?: number;
    /**
     * Bottom margin in pixels.
     *
     * @default 10
     */
    bottom?: number;
}
/**
 * Interface for a class ContainerPadding
 */
export interface ContainerPaddingModel {
    /**
     * Left padding in pixels.
     * @default 0
     */
    left?: number;
    /**
     * Right padding in pixels.
     * @default 0
     */
    right?: number;
    /**
     * Top padding in pixels.
     * @default 0
     */
    top?: number;
    /**
     * Bottom padding in pixels.
     * @default 0
     */
    bottom?: number;
}
/**
 * Interface for a class Animation
 */
export interface AnimationModel {
    /**
     * If set to true, series gets animated on initial loading.
     *
     * @default true
     */
    enable?: boolean;
    /**
     * The duration of animation in milliseconds.
     *
     * @default 1000
     */
    duration?: number;
    /**
     * The option to delay animation of the series.
     *
     * @default 0
     */
    delay?: number;
}
/**
 * Interface for a class Indexes
 */
export interface IndexesModel {
    /**
     * Specifies the series index
     *
     * @default 0
     * @aspType int
     */
    series?: number;
    /**
     * Specifies the point index
     *
     * @default 0
     * @aspType int
     */
    point?: number;
}
/**
 * Interface for a class CornerRadius
 */
export interface CornerRadiusModel {
    /**
     * Specifies the top left corner radius value
     *
     * @default 0
     */
    topLeft?: number;
    /**
     * Specifies the top right corner radius value
     *
     * @default 0
     */
    topRight?: number;
    /**
     * Specifies the bottom left corner radius value
     *
     * @default 0
     */
    bottomLeft?: number;
    /**
     * Specifies the bottom right corner radius value
     *
     * @default 0
     */
    bottomRight?: number;
}
/**
 * Interface for a class Index
 * @private
 */
export interface IndexModel {
}
/**
 * Interface for a class EmptyPointSettings
 */
export interface EmptyPointSettingsModel {
    /**
     * To customize the fill color of empty points.
     *
     * @default null
     */
    fill?: string;
    /**
     * Options to customize the border of empty points.
     *
     * @default "{color: 'transparent', width: 0}"
     */
    border?: BorderModel;
    /**
     * To customize the mode of empty points.
     *
     * @default Gap
     */
    mode?: EmptyPointMode | AccEmptyPointMode;
}
/**
 * Interface for a class DragSettings
 */
export interface DragSettingsModel {
    /**
     * To enable the drag the points
     *
     * @default false
     */
    enable?: boolean;
    /**
     * To set the minimum y of the point
     *
     * @default null
     */
    minY?: number;
    /**
     * To set the maximum y of the point
     *
     * @default null
     */
    maxY?: number;
    /**
     * To set the color of the edited point
     *
     * @default null
     */
    fill?: string;
}
/**
 * Interface for a class TooltipSettings
 */
export interface TooltipSettingsModel {
    /**
     * Enables / Disables the visibility of the tooltip.
     *
     * @default false.
     */
    enable?: boolean;
    /**
     * Enables / Disables the visibility of the marker.
     *
     * @default true.
     */
    enableMarker?: boolean;
    /**
     * If set to true, a single ToolTip will be displayed for every index.
     *
     * @default false.
     */
    shared?: boolean;
    /**
     * The fill color of the tooltip that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    fill?: string;
    /**
     * Header for tooltip.
     *
     * @default null
     */
    header?: string;
    /**
     * The fill color of the tooltip that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default 0.75
     */
    opacity?: number;
    /**
     * Options to customize the ToolTip text.
     */
    textStyle?: FontModel;
    /**
     * Format the ToolTip content.
     *
     * @default null.
     */
    format?: string;
    /**
     * Custom template to format the ToolTip content. Use ${x} and ${y} as the placeholder text to display the corresponding data point.
     *
     * @default null.
     */
    template?: string;
    /**
     * If set to true, ToolTip will animate while moving from one point to another.
     *
     * @default true.
     */
    enableAnimation?: boolean;
    /**
     * Duration for the ToolTip animation.
     *
     * @default 300
     */
    duration?: number;
    /**
     * Fade Out duration for the ToolTip hide.
     *
     * @default 1000
     */
    fadeOutDuration?: number;
    /**
     * Fade Out duration for the Tooltip hide.
     *
     * @default Move
     */
    fadeOutMode?: FadeOutMode;
    /**
     * To wrap the tooltip long text based on available space.
     * This is only application for chart tooltip.
     *
     * @default false
     */
    enableTextWrap?: boolean;
    /**
     * Options to customize tooltip borders.
     */
    border?: BorderModel;
}
/**
 * Interface for a class Periods
 */
export interface PeriodsModel {
    /**
     * IntervalType of button
     *
     * @default 'Years'
     */
    intervalType?: RangeIntervalType;
    /**
     * Count value for the button
     *
     * @default 1
     */
    interval?: number;
    /**
     * Text to be displayed on the button
     *
     * @default null
     */
    text?: string;
    /**
     * To select the default period
     *
     * @default false
     */
    selected?: boolean;
}
/**
 * Interface for a class PeriodSelectorSettings
 */
export interface PeriodSelectorSettingsModel {
    /**
     * Height for the period selector
     *
     * @default 43
     */
    height?: number;
    /**
     * vertical position of the period selector
     *
     * @default 'Bottom'
     */
    position?: PeriodSelectorPosition;
    /**
     * Buttons
     */
    periods?: PeriodsModel[];
}
//node_modules/@syncfusion/ej2-charts/src/common/model/base.d.ts
/**
 * Defines the appearance of the connectors
 */
export  class Connector extends base.ChildProperty<Connector> {
    /**
     * specifies the type of the connector line. They are
     * * Smooth
     * * Line
     *
     * @default 'Line'
     */
    type: ConnectorType;
    /**
     * Color of the connector line.
     *
     * @default null
     */
    color: string;
    /**
     * Width of the connector line in pixels.
     *
     * @default 1
     */
    width: number;
    /**
     * Length of the connector line in pixels.
     *
     * @default null
     */
    length: string;
    /**
     * dashArray of the connector line.
     *
     * @default ''
     */
    dashArray: string;
}
/**
 * Configures the fonts in charts.
 */
export  class Font extends base.ChildProperty<Font> {
    /**
     * FontStyle for the text.
     *
     * @default 'Normal'
     */
    fontStyle: string;
    /**
     * Font size for the text.
     *
     * @default '16px'
     */
    size: string;
    /**
     * FontWeight for the text.
     *
     * @default 'Normal'
     */
    fontWeight: string;
    /**
     * Color for the text.
     *
     * @default ''
     */
    color: string;
    /**
     * text alignment
     *
     * @default 'Center'
     */
    textAlignment: Alignment;
    /**
     * FontFamily for the text.
     */
    fontFamily: string;
    /**
     * Opacity for the text.
     *
     * @default 1
     */
    opacity: number;
    /**
     * Specifies the chart title text overflow
     *
     * @default 'Trim'
     */
    textOverflow: TextOverflow;
}
/**
 * Configures the borders in the chart.
 */
export  class Border extends base.ChildProperty<Border> {
    /**
     * The color of the border that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default ''
     */
    color: string;
    /**
     * The width of the border in pixels.
     *
     * @default 1
     */
    width: number;
}
/**
 * Configures the marker position in the chart.
 */
export  class Offset extends base.ChildProperty<Offset> {
    /**
     * x value of the marker position
     *
     * @default 0
     */
    x: number;
    /**
     * y value of the marker position
     *
     * @default 0
     */
    y: number;
}
/**
 * Configures the chart area.
 */
export  class ChartArea extends base.ChildProperty<ChartArea> {
    /**
     * Options to customize the border of the chart area.
     */
    border: BorderModel;
    /**
     * The background of the chart area that accepts value in hex and rgba as a valid CSS color string..
     *
     * @default 'transparent'
     */
    background: string;
    /**
     * The opacity for background.
     *
     * @default 1
     */
    opacity: number;
    /**
     * The background image of the chart area that accepts value in string as url link or location of an image.
     *
     * @default null
     */
    backgroundImage: string;
    /**
     * Defines the width for the chart area element. Takes value in percentage and in pixel.
     *
     * @default null
     */
    width: string;
}
/**
 * Configures the chart margins.
 */
export  class Margin extends base.ChildProperty<Margin> {
    /**
     * Left margin in pixels.
     *
     * @default 10
     */
    left: number;
    /**
     * Right margin in pixels.
     *
     * @default 10
     */
    right: number;
    /**
     * Top margin in pixels.
     *
     * @default 10
     */
    top: number;
    /**
     * Bottom margin in pixels.
     *
     * @default 10
     */
    bottom: number;
}
/**
 * Configures the chart Legend Container Padding.
 */
export  class ContainerPadding extends base.ChildProperty<ContainerPadding> {
    /**
     * Left padding in pixels.
     * @default 0
     */
    left: number;
    /**
     * Right padding in pixels.
     * @default 0
     */
    right: number;
    /**
     * Top padding in pixels.
     * @default 0
     */
    top: number;
    /**
     * Bottom padding in pixels.
     * @default 0
     */
    bottom: number;
}
/**
 * Configures the animation behavior for chart series.
 */
export  class Animation extends base.ChildProperty<Animation> {
    /**
     * If set to true, series gets animated on initial loading.
     *
     * @default true
     */
    enable: boolean;
    /**
     * The duration of animation in milliseconds.
     *
     * @default 1000
     */
    duration: number;
    /**
     * The option to delay animation of the series.
     *
     * @default 0
     */
    delay: number;
}
/**
 * Series and point index
 *
 * @public
 */
export  class Indexes extends base.ChildProperty<Indexes> {
    /**
     * Specifies the series index
     *
     * @default 0
     * @aspType int
     */
    series: number;
    /**
     * Specifies the point index
     *
     * @default 0
     * @aspType int
     */
    point: number;
}
/**
 * Column series rounded corner options
 */
export  class CornerRadius extends base.ChildProperty<CornerRadius> {
    /**
     * Specifies the top left corner radius value
     *
     * @default 0
     */
    topLeft: number;
    /**
     * Specifies the top right corner radius value
     *
     * @default 0
     */
    topRight: number;
    /**
     * Specifies the bottom left corner radius value
     *
     * @default 0
     */
    bottomLeft: number;
    /**
     * Specifies the bottom right corner radius value
     *
     * @default 0
     */
    bottomRight: number;
}
/**
 * @private
 */
export  class Index {
    series: number;
    point: number;
    constructor(seriesIndex: number, pointIndex?: number);
}
/**
 * Configures the Empty Points of series
 */
export  class EmptyPointSettings extends base.ChildProperty<EmptyPointSettings> {
    /**
     * To customize the fill color of empty points.
     *
     * @default null
     */
    fill: string;
    /**
     * Options to customize the border of empty points.
     *
     * @default "{color: 'transparent', width: 0}"
     */
    border: BorderModel;
    /**
     * To customize the mode of empty points.
     *
     * @default Gap
     */
    mode: EmptyPointMode | AccEmptyPointMode;
}
/**
 * Configures the drag settings of series
 */
export  class DragSettings extends base.ChildProperty<DragSettings> {
    /**
     * To enable the drag the points
     *
     * @default false
     */
    enable: boolean;
    /**
     * To set the minimum y of the point
     *
     * @default null
     */
    minY: number;
    /**
     * To set the maximum y of the point
     *
     * @default null
     */
    maxY: number;
    /**
     * To set the color of the edited point
     *
     * @default null
     */
    fill: string;
}
/**
 * Configures the ToolTips in the chart.
 *
 * @public
 */
export  class TooltipSettings extends base.ChildProperty<TooltipSettings> {
    /**
     * Enables / Disables the visibility of the tooltip.
     *
     * @default false.
     */
    enable: boolean;
    /**
     * Enables / Disables the visibility of the marker.
     *
     * @default true.
     */
    enableMarker: boolean;
    /**
     * If set to true, a single ToolTip will be displayed for every index.
     *
     * @default false.
     */
    shared: boolean;
    /**
     * The fill color of the tooltip that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    fill: string;
    /**
     * Header for tooltip.
     *
     * @default null
     */
    header: string;
    /**
     * The fill color of the tooltip that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default 0.75
     */
    opacity: number;
    /**
     * Options to customize the ToolTip text.
     */
    textStyle: FontModel;
    /**
     * Format the ToolTip content.
     *
     * @default null.
     */
    format: string;
    /**
     * Custom template to format the ToolTip content. Use ${x} and ${y} as the placeholder text to display the corresponding data point.
     *
     * @default null.
     */
    template: string;
    /**
     * If set to true, ToolTip will animate while moving from one point to another.
     *
     * @default true.
     */
    enableAnimation: boolean;
    /**
     * Duration for the ToolTip animation.
     *
     * @default 300
     */
    duration: number;
    /**
     * Fade Out duration for the ToolTip hide.
     *
     * @default 1000
     */
    fadeOutDuration: number;
    /**
     * Fade Out duration for the Tooltip hide.
     *
     * @default Move
     */
    fadeOutMode: FadeOutMode;
    /**
     * To wrap the tooltip long text based on available space.
     * This is only application for chart tooltip.
     *
     * @default false
     */
    enableTextWrap: boolean;
    /**
     * Options to customize tooltip borders.
     */
    border: BorderModel;
}
/**
 * button settings in period selector
 */
export  class Periods extends base.ChildProperty<Periods> {
    /**
     * IntervalType of button
     *
     * @default 'Years'
     */
    intervalType: RangeIntervalType;
    /**
     * Count value for the button
     *
     * @default 1
     */
    interval: number;
    /**
     * Text to be displayed on the button
     *
     * @default null
     */
    text: string;
    /**
     * To select the default period
     *
     * @default false
     */
    selected: boolean;
}
/**
 * Period Selector Settings
 */
export  class PeriodSelectorSettings extends base.ChildProperty<PeriodSelectorSettings> {
    /**
     * Height for the period selector
     *
     * @default 43
     */
    height: number;
    /**
     * vertical position of the period selector
     *
     * @default 'Bottom'
     */
    position: PeriodSelectorPosition;
    /**
     * Buttons
     */
    periods: PeriodsModel[];
}
//node_modules/@syncfusion/ej2-charts/src/common/model/constants.d.ts
/**
 * Specifies the chart constant value
 */
/** @private */
export  const loaded: string;
/** @private */
export  const legendClick: string;
/** @private */
export  const load: string;
/** @private */
export  const animationComplete: string;
/** @private */
export  const legendRender: string;
/** @private */
export  const textRender: string;
/** @private */
export  const pointRender: string;
/** @private */
export  const sharedTooltipRender: string;
/** @private */
export  const seriesRender: string;
/** @private */
export  const axisLabelRender: string;
/** @private */
export  const axisLabelClick: string;
/** @private */
export  const axisRangeCalculated: string;
/** @private */
export  const axisMultiLabelRender: string;
/** @private */
export  const tooltipRender: string;
/** @private */
export  const chartMouseMove: string;
/** @private */
export  const chartMouseClick: string;
/** @private */
export  const chartDoubleClick: string;
/** @private */
export  const pointClick: string;
/** @private */
export  const pointDoubleClick: string;
/** @private */
export  const pointMove: string;
/** @private */
export  const chartMouseLeave: string;
/** @private */
export  const chartMouseDown: string;
/** @private */
export  const chartMouseUp: string;
/** @private */
export  const zoomComplete: string;
/** @private */
export  const dragComplete: string;
/** @private */
export  const selectionComplete: string;
/** @private */
export  const resized: string;
/** @private */
export  const beforeResize: string;
/** @private */
export  const beforePrint: string;
/** @private */
export  const annotationRender: string;
/** @private */
export  const scrollStart: string;
/** @private */
export  const scrollEnd: string;
/** @private */
export  const scrollChanged: string;
/** @private */
export  const stockEventRender: string;
/** @private */
export  const multiLevelLabelClick: string;
/** @private */
export  const dragStart: string;
/** @private */
export  const drag: string;
/** @private */
export  const dragEnd: string;
/*** @private*/
export  const regSub: RegExp;
/*** @private*/
export  const regSup: RegExp;
/** @private */
export  const beforeExport: string;
/** @private */
export  const afterExport: string;
/** @private */
export  const bulletChartMouseClick: string;
/** @private */
export  const onZooming: string;
//node_modules/@syncfusion/ej2-charts/src/common/model/data.d.ts
/**
 * data module is used to generate query and dataSource
 */
export  class Data {
    private dataManager;
    private query;
    /**
     * Constructor for data module
     *
     * @param dataSource
     * @param query
     * @param dataSource
     * @param query
     * @private
     */
    constructor(dataSource?: Object | data.DataManager, query?: data.Query);
    /**
     * The function used to initialize dataManager and query
     *
     * @param dataSource
     * @param query
     * @param dataSource
     * @param query
     * @returns {void}
     * @private
     */
    initDataManager(dataSource: Object | data.DataManager, query: data.Query): void;
    /**
     * The function used to generate updated data.Query from chart model
     *
     * @returns {void}
     * @private
     */
    generateQuery(): data.Query;
    /**
     * The function used to get dataSource by executing given data.Query
     *
     * @param  {data.Query} query - A data.Query that specifies to generate dataSource
     * @returns {void}
     * @private
     */
    getData(dataQuery: data.Query): Promise<Object>;
}
//node_modules/@syncfusion/ej2-charts/src/common/model/interface.d.ts
export interface ISelectorRenderArgs {
    /** Defines the thumb size of the slider */
    thumbSize: number;
    /** Defines the selector appending element */
    element: HTMLElement;
    /** Defines the selector width */
    width: number;
    /** Defines the selector height */
    height: number;
}
/** @private */
export interface IFontMapping {
    size?: string;
    color?: string;
    fontWeight?: string;
    fontStyle?: string;
    fontFamily?: string;
    opacity?: number;
}
/** @private */
export interface IShapes {
    renderOption?: Object;
    functionName?: string;
}
/** @private */
/**
 * Specifies the Theme style for scrollbar.
 */
export interface IScrollbarThemeStyle {
    backRect: string;
    thumb: string;
    circle: string;
    circleHover: string;
    arrow: string;
    grip: string;
    arrowHover?: string;
    backRectBorder?: string;
}
export interface ILegendRegions {
    rect: svgBase.Rect;
    index: number;
}
/**
 * Period selector component interface
 *
 * @private
 */
export interface IPeriodSelectorControl {
    /**
     * Element for the control
     */
    element: HTMLElement;
    /**
     * Series min value.
     */
    seriesXMin: number;
    /**
     * Series max value.
     */
    seriesXMax: number;
    /**
     * Start value for the axis.
     */
    startValue: number;
    /**
     * End value for the axis.
     */
    endValue: number;
    /**
     * Range slider instance.
     */
    rangeSlider: RangeSlider;
    /**
     * To disable the range selector.
     */
    disableRangeSelector: boolean;
    /**
     * To config period selector settings.
     */
    periods: PeriodsModel[];
    /**
     * Range navigator
     */
    rangeNavigatorControl: RangeNavigator;
}
/**
 * Header Footer Content
 *
 * @private
 */
export interface IPDFArgs {
    /**
     * Content of the header
     */
    content: string;
    /**
     * FontSize of the content
     */
    fontSize?: number;
    /**
     * x position for the content
     */
    x?: number;
    /**
     * y position for the content
     */
    y?: number;
}
/** @private */
export  function getSeriesColor(theme: ChartTheme | AccumulationTheme): string[];
/** @private */
export  function getThemeColor(theme: ChartTheme | AccumulationTheme, canvas: boolean): IThemeStyle;
/** @private */
export  function getScrollbarThemeColor(theme: ChartTheme): IScrollbarThemeStyle;
//node_modules/@syncfusion/ej2-charts/src/common/period-selector/period-selector.d.ts
/**
 * Period selector class
 */
export  class PeriodSelector {
    periodSelectorSize: svgBase.Rect;
    periodSelectorDiv: Element;
    control: IPeriodSelectorControl;
    toolbar: navigations.Toolbar;
    datePicker: calendars.DateRangePicker;
    triggerChange: boolean;
    private nodes;
    calendarId: string;
    selectedIndex: number;
    datePickerTriggered: boolean;
    rootControl: StockChart | RangeNavigator;
    constructor(control: RangeNavigator | StockChart);
    /**
     * To set the control values
     *
     * @param control
     * @returns {void}
     */
    setControlValues(control: RangeNavigator | StockChart): void;
    /**
     * To initialize the period selector properties
     *
     * @param options
     * @param x
     * @param options
     * @param x
     */
    appendSelector(options: ISelectorRenderArgs, x?: number): void;
    /**
     * renderSelector div
     *
     * @param control
     * @param options
     * @param x
     * @param options
     * @param x
     */
    renderSelectorElement(control?: RangeNavigator, options?: ISelectorRenderArgs, x?: number): void;
    /**
     * renderSelector elements
     *
     * @returns {void}
     */
    renderSelector(): void;
    private updateCustomElement;
    /**
     * To set and deselect the acrive style
     *
     * @param buttons
     * @param selectedIndex
     * @returns {void}
     */
    private setSelectedStyle;
    /**
     * Button click handling
     *
     * @param args
     * @param control
     * @param args
     * @param control
     */
    private buttonClick;
    /**
     *
     * @param type updatedRange for selector
     * @param end
     * @param interval
     */
    changedRange(type: RangeIntervalType, end: number, interval: number): Date;
    /**
     * Get module name
     *
     * @returns {string}
     */
    protected getModuleName(): string;
    /**
     * To destroy the period selector.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/common/scrollbar/scrollbar-elements.d.ts
/**
 * Create scrollbar svg.
 *
 * @returns {void}
 */
export  function createScrollSvg(scrollbar: ScrollBar, renderer: svgBase.SvgRenderer): void;
/**
 * Scrollbar elements renderer
 */
export  class ScrollElements {
    /** @private */
    thumbRectX: number;
    /** @private */
    thumbRectWidth: number;
    /** @private */
    leftCircleEle: Element;
    /** @private */
    rightCircleEle: Element;
    /** @private */
    leftArrowEle: Element;
    /** @private */
    rightArrowEle: Element;
    /** @private */
    gripCircle: Element;
    /** @private */
    slider: Element;
    /** @private */
    chartId: string;
    /**
     * Constructor for scroll elements
     *
     * @param scrollObj
     * @param chart
     */
    constructor(chart: Chart);
    /**
     * Render scrollbar elements.
     *
     * @returns {void}
     * @private
     */
    renderElements(scroll: ScrollBar, renderer: svgBase.SvgRenderer): Element;
    /**
     * Method to render back rectangle of scrollbar
     *
     * @param scroll
     * @param renderer
     * @param parent
     * @param renderer
     * @param parent
     */
    private backRect;
    /**
     * Method to render arrows
     *
     * @param scroll
     * @param renderer
     * @param parent
     * @param renderer
     * @param parent
     */
    private arrows;
    /**
     * Methods to set the arrow width
     *
     * @param thumbRectX
     * @param thumbRectWidth
     * @param height
     */
    setArrowDirection(thumbRectX: number, thumbRectWidth: number, height: number): void;
    /**
     * Method to render thumb
     *
     * @param scroll
     * @param renderer
     * @param parent
     */
    thumb(scroll: ScrollBar, renderer: svgBase.SvgRenderer, parent: Element): void;
    /**
     *  Method to render circles
     *
     * @param scroll
     * @param renderer
     * @param parent
     */
    private renderCircle;
    /**
     * Method to render grip elements
     *
     * @param scroll
     * @param renderer
     * @param parent
     */
    private thumbGrip;
}
//node_modules/@syncfusion/ej2-charts/src/common/scrollbar/scrollbar.d.ts
/**
 * Scrollbar Base
 */
export  class ScrollBar {
    axis: Axis;
    component: Chart;
    zoomFactor: number;
    zoomPosition: number;
    svgObject: Element;
    width: number;
    height: number;
    /** @private */
    elements: Element[];
    /** @private */
    isVertical: boolean;
    /** @private */
    isThumbDrag: boolean;
    /** @private */
    mouseX: number;
    /** @private */
    mouseY: number;
    /** @private */
    startX: number;
    /** @private */
    scrollX: number;
    /** @private */
    scrollY: number;
    /** @private */
    animateDuration: number;
    /** @private */
    browserName: string;
    /** @private */
    isPointer: Boolean;
    /** @private */
    isScrollUI: boolean;
    /** @private */
    scrollbarThemeStyle: IScrollbarThemeStyle;
    /** @private */
    actualRange: number;
    /** @private */
    scrollRange: VisibleRangeModel;
    /** @private */
    isLazyLoad: boolean;
    /** @private */
    previousStart: number;
    /** @private */
    previousEnd: number;
    private scrollElements;
    private isResizeLeft;
    private isResizeRight;
    private previousXY;
    private previousWidth;
    private previousRectX;
    private mouseMoveListener;
    private mouseUpListener;
    private valueType;
    axes: Axis[];
    private startZoomPosition;
    private startZoomFactor;
    private startRange;
    private scrollStarted;
    private isScrollEnd;
    private isCustomHeight;
    /**
     * Constructor for creating scrollbar
     *
     * @param component
     * @param axis
     */
    constructor(component: Chart, axis?: Axis);
    /**
     * To Mouse x and y position
     *
     * @param e
     */
    private getMouseXY;
    /**
     * Method to bind events for scrollbar svg object
     *
     * @param element
     * @returns {void}
     */
    private wireEvents;
    /**
     * Method to remove events for srcollbar svg object
     *
     * @param element
     */
    private unWireEvents;
    /**
     * Handles the mouse down on scrollbar
     *
     * @param e
     */
    scrollMouseDown(e: PointerEvent): void;
    /**
     * To check the matched string
     *
     * @param id
     * @param match
     */
    private isExist;
    /**
     * To check current poisition is within scrollbar region
     *
     * @param currentX
     */
    private isWithIn;
    /**
     * Method to find move length of thumb
     *
     * @param mouseXY
     * @param thumbX
     * @param circleRadius
     */
    private moveLength;
    /**
     * Method to calculate zoom factor and position
     *
     * @param currentX
     * @param currentWidth
     */
    private setZoomFactorPosition;
    /**
     * Handles the mouse move on scrollbar
     *
     * @param e
     */
    scrollMouseMove(e: PointerEvent): void;
    /**
     * Handles the mouse wheel on scrollbar
     *
     * @param e
     */
    scrollMouseWheel(e: WheelEvent): void;
    /**
     * Handles the mouse up on scrollbar
     *
     * @param e
     */
    scrollMouseUp(): void;
    calculateMouseWheelRange(scrollThumbX: number, scrollThumbWidth: number): IScrollEventArgs;
    /**
     * Range calculation for lazy loading
     *
     * @param scrollThumbX
     * @param scrollThumbWidth
     * @param thumbMove
     * @param scrollThumbX
     * @param scrollThumbWidth
     * @param thumbMove
     * @param scrollThumbX
     * @param scrollThumbWidth
     * @param thumbMove
     */
    calculateLazyRange(scrollThumbX: number, scrollThumbWidth: number, thumbMove?: string): IScrollEventArgs;
    /**
     * Get start and end values
     *
     * @param start
     * @param end
     * @param isCurrentStartEnd
     * @param start
     * @param end
     * @param isCurrentStartEnd
     * @param start
     * @param end
     * @param isCurrentStartEnd
     */
    private getStartEnd;
    /**
     * To render scroll bar
     *
     * @param isScrollExist
     * @private
     */
    render(isScrollExist: boolean): Element;
    /**
     * Theming for scrollabr
     *
     * @returns {void}
     */
    private getTheme;
    /**
     * Method to remove existing scrollbar
     *
     * @returns {void}
     */
    removeScrollSvg(): void;
    /**
     * Method to set cursor fpr scrollbar
     *
     * @param target
     */
    private setCursor;
    /**
     * Method to set theme for sollbar
     *
     * @param target
     */
    private setTheme;
    /**
     * To check current axis
     *
     * @param target
     * @param ele
     */
    private isCurrentAxis;
    /**
     * Method to resize thumb
     *
     * @param e
     */
    private resizeThumb;
    /**
     * Method to position the scrollbar thumb
     *
     * @param currentX
     * @param currentWidth
     */
    private positionThumb;
    /**
     * Method to get default values
     *
     * @returns {void}
     */
    private getDefaults;
    /**
     * Lazy load default values
     *
     * @param axis
     */
    getLazyDefaults(axis: Axis): void;
    /**
     * Method to get log range
     *
     * @param axis
     */
    getLogRange(axis: Axis): ScrollbarSettingsRangeModel;
    /**
     * Method for injecting scrollbar module
     *
     * @param axis
     * @param component
     */
    injectTo(axis: Axis, component: Chart): void;
    /**
     * Method to destroy scrollbar
     *
     * @returns {void}
     */
    destroy(): void;
    /**
     * Method to get scrollbar module name
     *
     * @returns {string}
     */
    getModuleName(): string;
    private getArgs;
}
//node_modules/@syncfusion/ej2-charts/src/common/user-interaction/selection.d.ts
/**
 * Selection Module handles the selection for chart.
 *
 * @private
 */
export  class BaseSelection {
    /** @private */
    styleId: string;
    protected unselected: string;
    protected control: Chart | AccumulationChart;
    constructor(control: Chart | AccumulationChart);
    /**
     * To create selection styles for series
     *
     * @returns {void}
     */
    protected seriesStyles(): void;
    /**
     * To create the pattern for series/points
     *
     * @param chart
     * @param color
     * @param index
     * @param patternName
     * @param opacity
     * @param chart
     * @param color
     * @param index
     * @param patternName
     * @param opacity
     * @param chart
     * @param color
     * @param index
     * @param patternName
     * @param opacity
     * @param chart
     * @param color
     * @param index
     * @param patternName
     * @param opacity
     * @param chart
     * @param color
     * @param index
     * @param patternName
     * @param opacity
     */
    pattern(chart: Chart | AccumulationChart, color: string, index: number, patternName: SelectionPattern, opacity: number): string;
    /**
     * To load the pattern into svg
     *
     * @param chart
     * @param options
     * @param pattern
     * @param svgRenderer
     * @param chart
     * @param options
     * @param pattern
     * @param svgRenderer
     * @param chart
     * @param options
     * @param pattern
     * @param svgRenderer
     * @param chart
     * @param options
     * @param pattern
     * @param svgRenderer
     */
    private loadPattern;
    /**
     * To concat indexes
     *
     * @param userIndexes
     * @param localIndexes
     * @param userIndexes
     * @param localIndexes
     */
    protected concatIndexes(userIndexes: IndexesModel[], localIndexes: Indexes[]): Indexes[];
    /**
     * Selected points series visibility checking on legend click
     *
     * @param selectedIndexes
     */
    protected checkVisibility(selectedIndexes: Indexes[], chart?: Chart): boolean;
    /**
     * To add svg element style class
     *
     * @param element
     * @param className
     * @param element
     * @param className
     * @private
     */
    addSvgClass(element: Element, className: string): void;
    /**
     * To remove svg element style class
     *
     * @param element
     * @param className
     * @param element
     * @param className
     * @private
     */
    removeSvgClass(element: Element, className: string): void;
    /**
     * To get children from parent element
     *
     * @param parent
     */
    protected getChildren(parent: Element): Element[];
}
//node_modules/@syncfusion/ej2-charts/src/common/user-interaction/tooltip.d.ts
/**
 * Tooltip Module used to render the tooltip for series.
 */
export  class BaseTooltip extends ChartData {
    element: HTMLElement;
    elementSize: svgBase.Size;
    textStyle: FontModel;
    isRemove: boolean;
    toolTipInterval: number;
    textElements: Element[];
    inverted: boolean;
    formattedText: string[];
    header: string;
    /** @private */
    template: string;
    /** @private */
    valueX: number;
    /** @private */
    valueY: number;
    control: AccumulationChart | Chart;
    text: string[];
    svgTooltip: svgBase.Tooltip;
    headerText: string;
    /**
     * Constructor for tooltip module.
     *
     * @private
     */
    constructor(chart: Chart | AccumulationChart);
    getElement(id: string): HTMLElement;
    /**
     * Renders the tooltip.
     *
     * @returns {void}
     * @private
     */
    getTooltipElement(isTooltip: boolean): HTMLDivElement;
    createElement(): HTMLDivElement;
    pushData(data: PointData | AccPointData, isFirst: boolean, tooltipDiv: HTMLDivElement, isChart: boolean): boolean;
    removeHighlight(): void;
    highlightPoint(series: Series | AccumulationSeries, pointIndex: number, highlight: boolean): void;
    highlightPoints(): void;
    createTooltip(chart: Chart | AccumulationChart, isFirst: boolean, location: ChartLocation, clipLocation: ChartLocation, point: Points | AccPoints, shapes: ChartShape[], offset: number, bounds: svgBase.Rect, crosshairEnabled?: boolean, extraPoints?: PointData[], templatePoint?: Points | AccPoints, customTemplate?: string): void;
    private findPalette;
    private findColor;
    updatePreviousPoint(extraPoints: PointData[]): void;
    fadeOut(data: PointData[]): void;
    removeHighlightedMarker(data: PointData[], fadeOut: boolean): void;
    removeText(): void;
    stopAnimation(): void;
    /**
     * Removes the tooltip on mouse leave.
     *
     * @returns {void}
     * @private
     */
    removeTooltip(duration: number): void;
}
//node_modules/@syncfusion/ej2-charts/src/common/utils/enum.d.ts
/**
 * Defines Coordinate units of an annotation. They are
 * * Pixel
 * * Point
 */
export  type Units = 
/**  Specifies the pixel value */
'Pixel' | 
/**  Specifies the axis value. */
'Point';
/**
 * Defines the Alignment. They are
 * * near - Align the element to the left.
 * * center - Align the element to the center.
 * * far - Align the element to the right.
 * *
 */
export  type Alignment = 
/** Define the left alignment. */
'Near' | 
/** Define the center alignment. */
'Center' | 
/** Define the right alignment. */
'Far';
/** @private */
export  type SeriesCategories = 
/** Defines the trenline */
'TrendLine' | 
/** Defines the indicator */
'Indicator' | 
/** Defines the normal series */
'Series' | 
/** Defines the Pareto series */
'Pareto';
/**
 * Defines regions of an annotation. They are
 * * Chart
 * * Series
 */
export  type Regions = 
/**  Specifies the chart coordinates */
'Chart' | 
/**  Specifies the series coordinates */
'Series';
/**
 * Defines the Position. They are
 * * top - Align the element to the top.
 * * middle - Align the element to the center.
 * * bottom - Align the element to the bottom.
 * *
 */
export  type Position = 
/** Define the top position. */
'Top' | 
/** Define the middle position. */
'Middle' | 
/** Define the bottom position. */
'Bottom';
/**
 * Defines the export file format.
 * * PNG - export the image file format as png.
 * * JPEG - export the image file format as jpeg.
 */
export  type ExportType = 
/** Used to export a image as png format */
'PNG' | 
/** Used to export a image as jpeg format */
'JPEG' | 
/** Used to export a file as svg format */
'SVG' | 
/** Used to export a file as pdf format */
'PDF' | 
/** Used to print the chart */
'Print';
/**
 * Defines the Text overflow.
 * * None - Shown the chart title with overlap if exceed.
 * * Wrap - Shown the chart title with wrap if exceed.
 * * Trim - Shown the chart title with trim if exceed.
 */
export  type TextOverflow = 
/** Used to show the chart title with overlap to other element */
'None' | 
/** Used to show the chart title with Wrap support */
'Wrap' | 
/** Used to show the chart title with Trim */
'Trim';
/**
 * Defines the interval type of datetime axis. They are
 * * auto - Define the interval of the axis based on data.
 * * quarter - Define the interval of the axis based on data.
 * * years - Define the interval of the axis in years.
 * * months - Define the interval of the axis in months.
 * * weeks - Define the interval of the axis in weeks
 * * days - Define the interval of the axis in days.
 * * hours - Define the interval of the axis in hours.
 * * minutes - Define the interval of the axis in minutes.
 */
export  type RangeIntervalType = 
/** Define the interval of the axis based on data. */
'Auto' | 
/** Define the interval of the axis in years. */
'Years' | 
/** Define the interval of the axis based on quarter */
'Quarter' | 
/** Define the interval of the axis in months. */
'Months' | 
/** Define the intervl of the axis in weeks */
'Weeks' | 
/** Define the interval of the axis in days. */
'Days' | 
/** Define the interval of the axis in hours. */
'Hours' | 
/** Define the interval of the axis in minutes. */
'Minutes' | 
/** Define the interval of the axis in seconds. */
'Seconds';
/**
 * Period selector position
 * *Top
 * *Bottom
 */
export  type PeriodSelectorPosition = 
/** Top position */
'Top' | 
/** Bottom position */
'Bottom';
/**
 * Flag type for stock events
 */
export  type FlagType = 
/** Circle  */
'Circle' | 
/** Square */
'Square' | 
/** Flag */
'Flag' | 
/** Pin type flags */
'Pin' | 
/** Triangle Up */
'Triangle' | 
/** Triangle Down */
'InvertedTriangle' | 
/** Triangle Right */
'TriangleRight' | 
/** Triangle Left */
'TriangleLeft' | 
/** Arrow Up */
'ArrowUp' | 
/** Arrow down */
'ArrowDown' | 
/** Arrow Left */
'ArrowLeft' | 
/** Arrow right */
'ArrowRight' | 
/** Text type */
'Text';
/**
 * Highlighting or selecting patterns in Chart, They are.
 * * none -Sets none as highlighting or selecting pattern.
 * * chessboard - Sets chess board as highlighting or selecting pattern.
 * * dots - Set dots as highlighting or selecting pattern.
 * * diagonalForward - Sets diagonal forward as highlighting or selecting pattern.
 * * crosshatch -Sets crosshatch as highlighting or selecting pattern.
 * * pacman - Sets pacman highlighting or selecting pattern.
 * * diagonalbackward - Set diagonal backward as highlighting or selecting pattern.
 * * grid - Set grid as highlighting or selecting pattern.
 * * turquoise - Sets turquoise as highlighting or selecting pattern.
 * * star - Sets star as highlighting or selecting pattern.
 * * triangle - Sets triangle as highlighting or selecting pattern.
 * * circle - Sets circle as highlighting or selecting pattern.
 * * tile - Sets tile as highlighting or selecting pattern.
 * * horizontaldash - Sets horizontal dash as highlighting or selecting pattern.
 * * verticaldash - Sets vertical dash as highlighting or selecting pattern.
 * * rectangle - Sets rectangle as highlighting or selecting pattern.
 * * box - Sets box as highlighting or selecting pattern.
 * * verticalstripe - Sets vertical stripe as highlighting or selecting pattern.
 * * horizontalstripe - Sets horizontal stripe as highlighting or selecting pattern.
 * * bubble - Sets bubble as highlighting or selecting pattern.
 */
export  type SelectionPattern = 
/** Sets none as highlighting or selecting pattern. */
'None' | 
/** Sets chess board as highlighting or selecting pattern. */
'Chessboard' | 
/** Set dots as highlighting or selecting pattern. */
'Dots' | 
/** Sets diagonal forward as highlighting or selecting pattern. */
'DiagonalForward' | 
/** Sets cross hatch as highlighting or selecting pattern. */
'Crosshatch' | 
/** Sets pacman as highlighting or selecting pattern. */
'Pacman' | 
/** Set diagonal backward as highlighting or selecting pattern. */
'DiagonalBackward' | 
/** Set grid as highlighting or selecting pattern. */
'Grid' | 
/** Set turquoise as highlighting or selecting pattern. */
'Turquoise' | 
/** Set star as highlighting or selecting pattern. */
'Star' | 
/** Set triangle as highlighting or selecting pattern. */
'Triangle' | 
/** Set circle as highlighting or selecting pattern. */
'Circle' | 
/** Set tile as highlighting or selecting pattern. */
'Tile' | 
/** Set horizontal dash as highlighting or selecting pattern. */
'HorizontalDash' | 
/** Set vertical dash as highlighting or selecting pattern. */
'VerticalDash' | 
/** Set rectangle as highlighting or selecting pattern. */
'Rectangle' | 
/** Set box as highlighting or selecting pattern. */
'Box' | 
/** Set vertical stripe as highlighting or selecting pattern. */
'VerticalStripe' | 
/** Set horizontal stripe as highlighting or selecting pattern. */
'HorizontalStripe' | 
/** Set dots as bubble or selecting pattern. */
'Bubble';
/**
 * Defines the position of the legend title. They are
 * *top - Align the title to the top.
 * *left - Align the title to the left.
 * *right - Align the title to the right.
 */
export  type LegendTitlePosition = 
/** Define the top position. */
'Top' | 
/** Define the left position. */
'Left' | 
/** Define the right position. */
'Right';
/**
 * Specifies text wrap options when the text overflowing the container
 * *normal - Specifies to break words only at allowed break points.
 * *wrap - Specifies to break a word once it is too long to fit on a line by itself.
 * *anyWhere - Specifies to break a word at any point if there are no otherwise-acceptable break points in the line.
 */
export  type TextWrap = 
/** Specifies to break words only at allowed break points. */
'Normal' | 
/** Specifies to break a word once it is too long to fit on a line by itself. */
'Wrap' | 
/** Specifies to break a word at any point if there are no otherwise-acceptable break points in the line. */
'AnyWhere';
/**
 * Specifies text overflow options when the text overflowing the container
 * *Ellipsis - Specifies an ellipsis (“...”) to the clipped text.
 * *clip - Specifies to break a word once it is too long to fit on a line by itself.
 */
export  type LabelOverflow = 
/** Specifies an ellipsis (“...”) to the clipped text. */
'Ellipsis' | 
/** Specifies the text is clipped and not accessible. */
'Clip';
/**
 * Defines the alignment of the line break axis labels. They are
 * * center - align the label with center.
 * * left - align the label with left.
 * * right - align the label with right.
 */
export  type TextAlignment = 
/** align the label with left. */
'Left' | 
/** align the label with center. */
'Center' | 
/** align the label with right. */
'Right';
//node_modules/@syncfusion/ej2-charts/src/common/utils/export.d.ts
export  class ExportUtils {
    private control;
    private printWindow;
    /**
     * Constructor for chart and accumulation annotation
     *
     * @param control
     */
    constructor(control: Chart | AccumulationChart | RangeNavigator | StockChart | BulletChart);
    /**
     * To print the accumulation and chart elements
     *
     * @param elements
     */
    print(elements?: string[] | string | Element): void;
    /**
     * To get the html string of the chart and accumulation
     *
     * @param elements
     * @private
     */
    getHTMLContent(elements?: string[] | string | Element): Element;
    /**
     * To export the file as image/svg format
     *
     * @param type
     * @param fileName
     */
    export(type: ExportType, fileName: string, orientation?: pdfExport.PdfPageOrientation, controls?: (Chart | AccumulationChart | RangeNavigator | StockChart | BulletChart)[], width?: number, height?: number, isVertical?: boolean, header?: IPDFArgs, footer?: IPDFArgs): void;
    /**
     * To get data url for charts.
     *
     * @param chart
     */
    getDataUrl(chart: Chart | AccumulationChart): {
        element: HTMLCanvasElement;
        dataUrl?: string;
        blobUrl?: string;
    };
    /**
     * To trigger the download element
     *
     * @param fileName
     * @param type
     * @param url
     */
    triggerDownload(fileName: string, type: ExportType, url: string, isDownload: boolean): void;
    /**
     * To get the maximum size value
     *
     * @param controls
     * @param name
     */
    private getControlsValue;
    private createCanvas;
    /**
     * To convert svg chart into canvas chart to fix export issue in IE
     * We cant export svg to other formats in IE
     *
     * @param enableCanvas
     * @param chart
     * @param enableCanvas
     * @param chart
     */
    private canvasRender;
    private exportPdf;
    private doexport;
    private exportImage;
}
//node_modules/@syncfusion/ej2-charts/src/common/utils/helper.d.ts
/**
 * Function to sort the dataSource, by default it sort the data in ascending order.
 *
 * @param  {Object} data chart data
 * @param  {string} fields date fields
 * @param  {boolean} isDescending boolean values of descending
 * @returns {Object[]} It returns chart data which be sorted.
 */
export  function sort(data: Object[], fields: string[], isDescending?: boolean): Object[];
/** @private */
export  function isBreakLabel(label: string): boolean;
/** @private */
export  function getVisiblePoints(series: Series): Points[];
/** @private */
export  function rotateTextSize(font: FontModel, text: string, angle: number, chart: Chart): svgBase.Size;
/** @private */
export  function removeElement(id: string | Element): void;
/** @private */
export  function logBase(value: number, base: number): number;
/** @private */
export  function showTooltip(text: string, x: number, y: number, areaWidth: number, id: string, element: Element, isTouch?: boolean, isTitleOrLegendEnabled?: boolean): void;
/** @private */
export  function inside(value: number, range: VisibleRangeModel): boolean;
/** @private */
export  function withIn(value: number, range: VisibleRangeModel): boolean;
/** @private */
export  function logWithIn(value: number, axis: Axis): number;
/** @private */
export  function withInRange(previousPoint: Points, currentPoint: Points, nextPoint: Points, series: Series): boolean;
/** @private */
export  function sum(values: number[]): number;
/** @private */
export  function subArraySum(values: Object[], first: number, last: number, index: number[], series: Series): number;
/** @private */
export  function subtractThickness(rect: svgBase.Rect, thickness: Thickness): svgBase.Rect;
/** @private */
export  function subtractRect(rect: svgBase.Rect, thickness: svgBase.Rect): svgBase.Rect;
/** @private */
export  function degreeToLocation(degree: number, radius: number, center: ChartLocation): ChartLocation;
/** @private */
export  function degreeToRadian(degree: number): number;
/** @private */
export  function getRotatedRectangleCoordinates(actualPoints: ChartLocation[], centerX: number, centerY: number, angle: number): ChartLocation[];
/**
 * Helper function to determine whether there is an intersection between the two polygons described
 * by the lists of vertices. Uses the Separating Axis Theorem
 *
 * @param {ChartLocation[]} a an array of connected points [{x:, y:}, {x:, y:},...] that form a closed polygon
 * @param {ChartLocation[]} b an array of connected points [{x:, y:}, {x:, y:},...] that form a closed polygon
 * @returns {boolean} if there is any intersection between the 2 polygons, false otherwise
 */
export  function isRotatedRectIntersect(a: ChartLocation[], b: ChartLocation[]): boolean;
/** @private */
export  function getAngle(center: ChartLocation, point: ChartLocation): number;
/** @private */
export  function subArray(values: number[], index: number): number[];
/** @private */
export  function valueToCoefficient(value: number, axis: Axis): number;
/** @private */
export  function TransformToVisible(x: number, y: number, xAxis: Axis, yAxis: Axis, isInverted?: boolean, series?: Series): ChartLocation;
/**
 * method to find series, point index by element id
 *
 * @private
 */
export  function indexFinder(id: string, isPoint?: boolean): Index;
/** @private */
export  function CoefficientToVector(coefficient: number, startAngle: number): ChartLocation;
/** @private */
export  function valueToPolarCoefficient(value: number, axis: Axis): number;
/** @private */
export  class Mean {
    verticalStandardMean: number;
    horizontalStandardMean: number;
    verticalSquareRoot: number;
    horizontalSquareRoot: number;
    verticalMean: number;
    horizontalMean: number;
    constructor(verticalStandardMean: number, verticalSquareRoot: number, horizontalStandardMean: number, horizontalSquareRoot: number, verticalMean: number, horizontalMean: number);
}
/** @private */
export  class PolarArc {
    startAngle: number;
    endAngle: number;
    innerRadius: number;
    radius: number;
    currentXPosition: number;
    constructor(startAngle?: number, endAngle?: number, innerRadius?: number, radius?: number, currentXPosition?: number);
}
/** @private */
export  function createTooltip(id: string, text: string, top: number, left: number, fontSize: string): void;
/** @private */
export  function createZoomingLabels(chart: Chart, axis: Axis, parent: Element, index: number, isVertical: boolean, rect: svgBase.Rect): Element;
/** @private */
export  function findCrosshairDirection(rX: number, rY: number, rect: svgBase.Rect, arrowLocation: ChartLocation, arrowPadding: number, top: boolean, bottom: boolean, left: boolean, tipX: number, tipY: number): string;
/** @private */
export  function withInBounds(x: number, y: number, bounds: svgBase.Rect, width?: number, height?: number): boolean;
/** @private */
export  function getValueXByPoint(value: number, size: number, axis: Axis): number;
/** @private */
export  function getValueYByPoint(value: number, size: number, axis: Axis): number;
/** @private */
export  function findClipRect(series: Series, isCanvas?: boolean): void;
/** @private */
export  function firstToLowerCase(str: string): string;
/** @private */
export  function getTransform(xAxis: Axis, yAxis: Axis, invertedAxis: boolean): svgBase.Rect;
/** @private */
export  function getMinPointsDelta(axis: Axis, seriesCollection: Series[]): number;
/** @private */
export  function getAnimationFunction(effect: string): Function;
/**
 * Animation base.Effect Calculation Started Here
 *
 * @param {number} currentTime currentTime
 * @param {number} startValue startValue of the animation
 * @param {number} endValue endValue of the animation
 * @param {number} duration duration of the animation
 * @private
 */
export  function linear(currentTime: number, startValue: number, endValue: number, duration: number): number;
/**
 * Animation base.Effect Calculation End
 *
 * @private
 */
export  function markerAnimate(element: Element, delay: number, duration: number, series: Series | AccumulationSeries, pointIndex: number, point: ChartLocation, isLabel: boolean): void;
/**
 * Animate the rect element
 */
export  function animateRectElement(element: Element, delay: number, duration: number, currentRect: svgBase.Rect, previousRect: svgBase.Rect): void;
/**
 * Animation after legend click a path
 *
 * @param {Element} element element to be animated
 * @param {string} direction current direction of the path
 * @param {boolean} redraw chart redraw
 * @param {string} previousDirection previous direction of the path
 * @param {number} animateDuration animateDuration of the path
 */
export  function pathAnimation(element: Element, direction: string, redraw: boolean, previousDirection?: string, animateDuration?: number): void;
/**
 * To append the clip rect element
 *
 * @param {boolean} redraw chart redraw value
 * @param {svgBase.BaseAttibutes} options element options
 * @param {svgBase.SvgRenderer} renderer svg renderer values
 * @param {string} clipPath clipPath of the element
 */
export  function appendClipElement(redraw: boolean, options: svgBase.BaseAttibutes, renderer: svgBase.SvgRenderer, clipPath?: string): Element;
/**
 * Triggers the event.
 *
 * @returns {void}
 * @private
 */
export  function triggerLabelRender(chart: Chart | RangeNavigator, tempInterval: number, text: string, labelStyle: FontModel, axis: Axis): void;
/**
 * The function used to find whether the range is set.
 *
 * @returns {boolean} It returns true if the axis range is set otherwise false.
 * @private
 */
export  function setRange(axis: Axis): boolean;
/**
 * To check whether the axis is zoomed or not.
 *
 * @param {Axis} axis axis model
 */
export  function isZoomSet(axis: Axis): boolean;
/**
 * Calculate desired interval for the axis.
 *
 * @returns {void} It returns desired interval count.
 * @private
 */
export  function getActualDesiredIntervalsCount(availableSize: svgBase.Size, axis: Axis): number;
/**
 * Animation for template
 *
 * @private
 */
export  function templateAnimate(element: Element, delay: number, duration: number, name: base.Effect, isRemove?: boolean): void;
/** @private */
export  function drawSymbol(location: ChartLocation, shape: string, size: svgBase.Size, url: string, options: svgBase.PathOption, label: string, renderer?: svgBase.SvgRenderer | svgBase.CanvasRenderer, clipRect?: svgBase.Rect, isChartControl?: boolean, control?: BulletChart): Element;
/** @private */
export  function calculateShapes(location: ChartLocation, size: svgBase.Size, shape: string, options: svgBase.PathOption, url: string, isChart?: boolean, control?: BulletChart): IShapes;
/** @private */
export  function getRectLocation(startLocation: ChartLocation, endLocation: ChartLocation, outerRect: svgBase.Rect): svgBase.Rect;
/** @private */
export  function minMax(value: number, min: number, max: number): number;
/** @private */
export  function getElement(id: string): Element;
/** @private */
export  function getTemplateFunction(template: string): Function;
/** @private */
export  function accReactTemplate(childElement: HTMLElement, chart: AccumulationChart, isTemplate: boolean, points: AccPoints[], argsData: IAccTextRenderEventArgs, point?: AccPoints, datalabelGroup?: Element, id?: string, dataLabel?: AccumulationDataLabelSettingsModel, redraw?: boolean): void;
/** @private */
export  function chartReactTemplate(childElement: HTMLElement, chart: Chart, point: Points, series: Series, labelIndex: number, redraw?: boolean): void;
/** @private */
export  function createTemplate(childElement: HTMLElement, pointIndex: number, content: string, chart: Chart | AccumulationChart | RangeNavigator, point?: Points | AccPoints, series?: Series | AccumulationSeries, dataLabelId?: string, labelIndex?: number, argsData?: IAccTextRenderEventArgs, isTemplate?: boolean, points?: AccPoints[], datalabelGroup?: Element, id?: string, dataLabel?: AccumulationDataLabelSettingsModel, redraw?: boolean): HTMLElement;
/** @private */
export  function getFontStyle(font: FontModel): string;
/** @private */
export  function measureElementRect(element: HTMLElement, redraw?: boolean, isReactCallback?: boolean): ClientRect;
/** @private */
export  function findlElement(elements: NodeList, id: string): Element;
/** @private */
export  function getPoint(x: number, y: number, xAxis: Axis, yAxis: Axis, isInverted?: boolean): ChartLocation;
/** @private */
export  function appendElement(child: Element, parent: Element, redraw?: boolean, animate?: boolean, x?: string, y?: string): void;
/**
 * Method to append child element
 *
 * @param {boolean} isCanvas canvas mode value
 * @param {Element} parent parent element
 * @param {Element} childElement childElement element
 * @param {boolean} redraw chart redraw value
 * @param {boolean} isAnimate animation value
 * @param {string} x x position
 * @param {string} y y position
 * @param {ChartLocation} start start location value
 * @param {string} direction direction of the element
 * @param {boolean} forceAnimate forceAnimate
 * @param {boolean} isRect isRect
 * @param {svgBase.Rect} previousRect previousRect
 * @param {number} animateDuration duration of the animation
 */
export  function appendChildElement(isCanvas: boolean, parent: Element | HTMLElement, childElement: Element | HTMLElement, redraw?: boolean, isAnimate?: boolean, x?: string, y?: string, start?: ChartLocation, direction?: string, forceAnimate?: boolean, isRect?: boolean, previousRect?: svgBase.Rect, animateDuration?: number): void;
/** @private */
export  function getDraggedRectLocation(x1: number, y1: number, x2: number, y2: number, outerRect: svgBase.Rect): svgBase.Rect;
/** @private */
export  function checkBounds(start: number, size: number, min: number, max: number): number;
/** @private */
export  function getLabelText(currentPoint: Points, series: Series, chart: Chart): string[];
/** @private */
export  function stopTimer(timer: number): void;
/** @private */
export  function isCollide(rect: svgBase.Rect, collections: svgBase.Rect[], clipRect: svgBase.Rect): boolean;
/** @private */
export  function isOverlap(currentRect: svgBase.Rect, rect: svgBase.Rect): boolean;
/** @private */
export  function containsRect(currentRect: svgBase.Rect, rect: svgBase.Rect): boolean;
/** @private */
export  function calculateRect(location: ChartLocation, textSize: svgBase.Size, margin: MarginModel): svgBase.Rect;
/** @private */
export  function convertToHexCode(value: ColorValue): string;
/** @private */
export  function componentToHex(value: number): string;
/** @private */
export  function convertHexToColor(hex: string): ColorValue;
/** @private */
export  function colorNameToHex(color: string): string;
/** @private */
export  function getSaturationColor(color: string, factor: number): string;
/** @private */
export  function getMedian(values: number[]): number;
/** @private */
export  function calculateLegendShapes(location: ChartLocation, size: svgBase.Size, shape: string, options: svgBase.PathOption): IShapes;
/** @private */
export  function textTrim(maxWidth: number, text: string, font: FontModel): string;
/** @private */
export  function lineBreakLabelTrim(maxWidth: number, text: string, font: FontModel): string[];
/** @private */
export  function stringToNumber(value: string, containerSize: number): number;
/** @private */
export  function redrawElement(redraw: boolean, id: string, options?: svgBase.PathAttributes | svgBase.RectAttributes | svgBase.CircleAttributes, renderer?: svgBase.SvgRenderer | svgBase.CanvasRenderer): Element;
/** @private */
export  function animateRedrawElement(element: Element | HTMLElement, duration: number, start: ChartLocation, end: ChartLocation, x?: string, y?: string): void;
/** @private */
export  function textElement(renderer: svgBase.SvgRenderer | svgBase.CanvasRenderer, option: svgBase.TextOption, font: FontModel, color: string, parent: HTMLElement | Element, isMinus?: boolean, redraw?: boolean, isAnimate?: boolean, forceAnimate?: boolean, animateDuration?: number, seriesClipRect?: svgBase.Rect, labelSize?: svgBase.Size, isRotatedLabelIntersect?: boolean, isCanvas?: boolean): Element;
/**
 * Method to calculate the width and height of the chart
 */
export  function calculateSize(chart: Chart | AccumulationChart | RangeNavigator | StockChart): void;
/**
 * To create svg element.
 *
 * @param {Chart} chart chart instance
 */
export  function createSvg(chart: Chart | AccumulationChart | RangeNavigator): void;
/**
 * To calculate chart title and height
 *
 * @param {string} title text of the title
 * @param {FontModel} style style of the title
 * @param {number} width width of the title
 */
export  function getTitle(title: string, style: FontModel, width: number): string[];
/**
 * Method to calculate x position of title
 */
export  function titlePositionX(rect: svgBase.Rect, titleStyle: FontModel): number;
/**
 * Method to find new text and element size based on textOverflow
 */
export  function textWrap(currentLabel: string, maximumWidth: number, font: FontModel): string[];
/**
 * Method to support the subscript and superscript value to text
 */
export  function getUnicodeText(text: string, regexp: RegExp): string;
/**
 * Method to reset the blazor templates
 */
export  function blazorTemplatesReset(control: Chart | AccumulationChart): void;
/** @private */
export  class CustomizeOption {
    id: string;
    constructor(id?: string);
}
/** @private */
export  class StackValues {
    startValues?: number[];
    endValues?: number[];
    constructor(startValue?: number[], endValue?: number[]);
}
/** @private */
export  class RectOption extends svgBase.PathOption {
    x: number;
    y: number;
    height: number;
    width: number;
    rx: number;
    ry: number;
    transform: string;
    constructor(id: string, fill: string, border: BorderModel, opacity: number, rect: svgBase.Rect, rx?: number, ry?: number, transform?: string, dashArray?: string);
}
/** @private */
export  class ImageOption {
    height: number;
    width: number;
    href: string;
    x: number;
    y: number;
    id: string;
    visibility: string;
    preserveAspectRatio: string;
    constructor(height: number, width: number, href: string, x: number, y: number, id: string, visibility: string, preserveAspectRatio: string);
}
/** @private */
export  class CircleOption extends svgBase.PathOption {
    cy: number;
    cx: number;
    r: number;
    constructor(id: string, fill: string, border: BorderModel, opacity: number, cx: number, cy: number, r: number);
}
/** @private */
export  class PolygonOption {
    id: string;
    points: string;
    fill: string;
    constructor(id: string, points: string, fill: string);
}
/** @private */
export  class ChartLocation {
    x: number;
    y: number;
    constructor(x: number, y: number);
}
/** @private */
export  class LabelLocation {
    x: number;
    y: number;
    constructor(x: number, y: number);
}
/** @private */
export  class Thickness {
    left: number;
    right: number;
    top: number;
    bottom: number;
    constructor(left: number, right: number, top: number, bottom: number);
}
/** @private */
export  class ColorValue {
    r: number;
    g: number;
    b: number;
    constructor(r?: number, g?: number, b?: number);
}
/** @private */
export  class PointData {
    point: Points;
    series: Series;
    lierIndex: number;
    constructor(point: Points, series: Series, index?: number);
}
/** @private */
export  class AccPointData {
    point: AccPoints;
    series: AccumulationSeries;
    index: number;
    constructor(point: AccPoints, series: AccumulationSeries, index?: number);
}
/** @private */
export  class ControlPoints {
    controlPoint1: ChartLocation;
    controlPoint2: ChartLocation;
    constructor(controlPoint1: ChartLocation, controlPoint2: ChartLocation);
}
/** @private */
export interface IHistogramValues {
    sDValue?: number;
    mean?: number;
    binWidth?: number;
    yValues?: number[];
}
/** @private */
export  function getColorByValue(colorMap: RangeColorSettingModel, value: number): string;
/** @private */
export  function getGradientColor(value: number, colorMap: RangeColorSettingModel): ColorValue;
/** @private */
export  function getPercentageColor(percent: number, previous: string, next: string): ColorValue;
/** @private */
export  function getPercentage(percent: number, previous: number, next: number): number;
/** @private */
export  function getTextAnchor(alignment: Alignment, enableRTL: boolean): string;
//node_modules/@syncfusion/ej2-charts/src/components.d.ts
/**
 * Export Chart, Accumulation, Smithchart, Sparkline, Range Navigator and Bulletchart
 */
//node_modules/@syncfusion/ej2-charts/src/index.d.ts
/**
 * Chart components exported.
 */
//node_modules/@syncfusion/ej2-charts/src/range-navigator/index.d.ts
/**
 * Range Navigator component export methods
 */
//node_modules/@syncfusion/ej2-charts/src/range-navigator/model/range-base-model.d.ts
/**
 * Interface for a class RangeNavigatorSeries
 */
export interface RangeNavigatorSeriesModel {
    /**
     * It defines the data source for a series.
     *
     * @default null
     */
    dataSource?: Object | data.DataManager;
    /**
     * It defines the xName for the series
     *
     * @default null
     */
    xName?: string;
    /**
     * It defines the yName for the series
     *
     * @default  null
     */
    yName?: string;
    /**
     * It defines the query for the data source
     *
     * @default null
     */
    query?: data.Query;
    /**
     * It defines the series type of the range navigator
     *
     * @default 'Line'
     */
    type?: RangeNavigatorType;
    /**
     * Options to customizing animation for the series.
     */
    animation?: AnimationModel;
    /**
     * Options for customizing the color and width of the series border.
     */
    border?: BorderModel;
    /**
     * The fill color for the series that accepts value in hex and rgba as a valid CSS color string.
     * It also represents the color of the signal lines in technical indicators.
     * For technical indicators, the default value is 'blue' and for series, it has null.
     *
     * @default null
     */
    fill?: string;
    /**
     * The stroke width for the series that is applicable only for `Line` type series.
     * It also represents the stroke width of the signal lines in technical indicators.
     *
     * @default 1
     */
    width?: number;
    /**
     * The opacity for the background.
     *
     * @default 1
     */
    opacity?: number;
    /**
     * Defines the pattern of dashes and gaps to stroke the lines in `Line` type series.
     *
     * @default '0'
     */
    dashArray?: string;
}
/**
 * Interface for a class ThumbSettings
 */
export interface ThumbSettingsModel {
    /**
     * width of thumb
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    width?: number;
    /**
     * height of thumb
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    height?: number;
    /**
     * border for the thumb
     */
    border?: BorderModel;
    /**
     * fill color for the thumb
     *
     * @default null
     */
    fill?: string;
    /**
     * type of thumb
     *
     * @default `Circle`
     */
    type?: ThumbType;
}
/**
 * Interface for a class StyleSettings
 */
export interface StyleSettingsModel {
    /**
     * thumb settings
     */
    thumb?: ThumbSettingsModel;
    /**
     * Selected region color
     *
     * @default null
     */
    selectedRegionColor?: string;
    /**
     * Un Selected region color
     *
     * @default null
     */
    unselectedRegionColor?: string;
}
/**
 * Interface for a class RangeTooltipSettings
 */
export interface RangeTooltipSettingsModel {
    /**
     * Enables / Disables the visibility of the tooltip.
     *
     * @default false.
     */
    enable?: boolean;
    /**
     * The fill color of the tooltip that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default 0.85
     */
    opacity?: number;
    /**
     * The fill color of the tooltip that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    fill?: string;
    /**
     * Format the ToolTip content.
     *
     * @default null.
     */
    format?: string;
    /**
     * Options to customize the ToolTip text.
     */
    textStyle?: FontModel;
    /**
     * Custom template to format the ToolTip content. Use ${value} as the placeholder text to display the corresponding data point.
     *
     * @default null.
     */
    template?: string;
    /**
     * Options to customize tooltip borders.
     */
    border?: BorderModel;
    /**
     * It defines display mode for tooltip
     *
     * @default 'OnDemand'
     */
    displayMode?: TooltipDisplayMode;
}
//node_modules/@syncfusion/ej2-charts/src/range-navigator/model/range-base.d.ts
/**
 * Series class for the range navigator
 */
export  class RangeNavigatorSeries extends base.ChildProperty<RangeNavigatorSeries> {
    /**
     * It defines the data source for a series.
     *
     * @default null
     */
    dataSource: Object | data.DataManager;
    /**
     * It defines the xName for the series
     *
     * @default null
     */
    xName: string;
    /**
     * It defines the yName for the series
     *
     * @default  null
     */
    yName: string;
    /**
     * It defines the query for the data source
     *
     * @default null
     */
    query: data.Query;
    /**
     * It defines the series type of the range navigator
     *
     * @default 'Line'
     */
    type: RangeNavigatorType;
    /**
     * Options to customizing animation for the series.
     */
    animation: AnimationModel;
    /**
     * Options for customizing the color and width of the series border.
     */
    border: BorderModel;
    /**
     * The fill color for the series that accepts value in hex and rgba as a valid CSS color string.
     * It also represents the color of the signal lines in technical indicators.
     * For technical indicators, the default value is 'blue' and for series, it has null.
     *
     * @default null
     */
    fill: string;
    /**
     * The stroke width for the series that is applicable only for `Line` type series.
     * It also represents the stroke width of the signal lines in technical indicators.
     *
     * @default 1
     */
    width: number;
    /**
     * The opacity for the background.
     *
     * @default 1
     */
    opacity: number;
    /**
     * Defines the pattern of dashes and gaps to stroke the lines in `Line` type series.
     *
     * @default '0'
     */
    dashArray: string;
    /** @private */
    seriesElement: Element;
    /** @private */
    clipRectElement: Element;
    /** @private */
    clipRect: svgBase.Rect;
    /** @private */
    xAxis: Axis;
    /** @private */
    yAxis: Axis;
    /** @private */
    points: DataPoint[];
    /** @private */
    interior: string;
    /** @private */
    index: number;
    /** @private */
    chart: RangeNavigator;
}
/**
 * Thumb settings
 */
export  class ThumbSettings extends base.ChildProperty<ThumbSettings> {
    /**
     * width of thumb
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    width: number;
    /**
     * height of thumb
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    height: number;
    /**
     * border for the thumb
     */
    border: BorderModel;
    /**
     * fill color for the thumb
     *
     * @default null
     */
    fill: string;
    /**
     * type of thumb
     *
     * @default `Circle`
     */
    type: ThumbType;
}
/**
 * Style settings
 */
export  class StyleSettings extends base.ChildProperty<StyleSettings> {
    /**
     * thumb settings
     */
    thumb: ThumbSettingsModel;
    /**
     * Selected region color
     *
     * @default null
     */
    selectedRegionColor: string;
    /**
     * Un Selected region color
     *
     * @default null
     */
    unselectedRegionColor: string;
}
export  class RangeTooltipSettings extends base.ChildProperty<RangeTooltipSettings> {
    /**
     * Enables / Disables the visibility of the tooltip.
     *
     * @default false.
     */
    enable: boolean;
    /**
     * The fill color of the tooltip that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default 0.85
     */
    opacity: number;
    /**
     * The fill color of the tooltip that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    fill: string;
    /**
     * Format the ToolTip content.
     *
     * @default null.
     */
    format: string;
    /**
     * Options to customize the ToolTip text.
     */
    textStyle: FontModel;
    /**
     * Custom template to format the ToolTip content. Use ${value} as the placeholder text to display the corresponding data point.
     *
     * @default null.
     */
    template: string;
    /**
     * Options to customize tooltip borders.
     */
    border: BorderModel;
    /**
     * It defines display mode for tooltip
     *
     * @default 'OnDemand'
     */
    displayMode: TooltipDisplayMode;
}
//node_modules/@syncfusion/ej2-charts/src/range-navigator/model/range-navigator-interface.d.ts
/**
 * Interface for range navigator
 */
/**
 * interface for load event
 */
export interface ILoadEventArgs {
    /** name of the event */
    name: string;
    /** rangeNavigator */
    rangeNavigator: RangeNavigator;
}
/**
 * interface for loaded event
 */
export interface IRangeLoadedEventArgs {
    /** name of the event */
    name: string;
    /** rangeNavigator */
    rangeNavigator: RangeNavigator;
    /** theme */
    theme?: ChartTheme;
}
/**
 * Range Navigator Before Resize event arguments.
 */
export interface IRangeBeforeResizeEventArgs {
    /** Defines the name of the Event */
    name: string;
    /** It is  used to cancel the resized event */
    cancelResizedEvent: boolean;
}
export interface IRangeTooltipRenderEventArgs extends IRangeEventArgs {
    /** Defines tooltip text collections */
    text?: string[];
    /** Defines tooltip text style */
    textStyle?: FontModel;
}
/**
 * Interface for label render event
 */
export interface ILabelRenderEventsArgs {
    /** name of the event */
    name: string;
    /** labelStyle */
    labelStyle: FontModel;
    /** region */
    region: svgBase.Rect;
    /** text  */
    text: string;
    /** cancel for the event */
    cancel: boolean;
    /** value */
    value: number;
}
/**
 * Interface for Theme Style
 */
export interface IRangeStyle {
    gridLineColor: string;
    axisLineColor: string;
    labelFontColor: string;
    unselectedRectColor: string;
    thumpLineColor: string;
    thumbBackground: string;
    thumbHoverColor: string;
    gripColor: string;
    selectedRegionColor: string;
    background: string;
    tooltipBackground: string;
    tooltipFontColor: string;
    thumbWidth: number;
    thumbHeight: number;
}
/**
 * Interface for range events
 */
export interface IRangeEventArgs {
    /** Defines the name of the event */
    name: string;
    /** Defined the whether event has to trigger */
    cancel: boolean;
}
/**
 * Interface for changed events
 */
export interface IChangedEventArgs extends IRangeEventArgs {
    /** Defines the start value */
    start: number | Date;
    /** Defines the end value */
    end: number | Date;
    /** Defines the selected data */
    selectedData: DataPoint[];
    /** Defined the zoomPosition of the range navigator */
    zoomPosition: number;
    /** Defined the zoomFactor of the range navigator */
    zoomFactor: number;
}
export interface IResizeRangeNavigatorEventArgs {
    /** Defines the name of the Event */
    name: string;
    /** Defines the previous size of the accumulation chart */
    previousSize: svgBase.Size;
    /** Defines the current size of the accumulation chart */
    currentSize: svgBase.Size;
    /** Defines the range navigator instance */
    rangeNavigator: RangeNavigator;
}
//node_modules/@syncfusion/ej2-charts/src/range-navigator/range-navigator-model.d.ts
/**
 * Interface for a class RangeNavigator
 */
export interface RangeNavigatorModel extends base.ComponentModel{
    /**
     * The width of the range navigator as a string accepts input as both like '100px' or '100%'.
     * If specified as '100%, range navigator renders to the full width of its parent element.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    width?: string;
    /**
     * The height of the chart as a string accepts input both as '100px' or '100%'.
     * If specified as '100%, range navigator renders to the full height of its parent element.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    height?: string;
    /**
     * It defines the data source for a range navigator.
     *
     * @default null
     */
    dataSource?: Object | data.DataManager;
    /**
     * It defines the xName for the range navigator.
     *
     * @default null
     */
    xName?: string;
    /**
     * It defines the yName for the range navigator.
     *
     * @default null
     */
    yName?: string;
    /**
     * It defines the query for the data source.
     *
     * @default null
     */
    query?: data.Query;
    /**
     * It defines the configuration of series in the range navigator
     */
    series?: RangeNavigatorSeriesModel[];
    /**
     * Options for customizing the tooltip of the chart.
     */
    tooltip?: RangeTooltipSettingsModel;
    /**
     * Minimum value for the axis
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    minimum?: number | Date;
    /**
     * Maximum value for the axis
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    maximum?: number | Date;
    /**
     * interval value for the axis
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    interval?: number;
    /**
     * IntervalType for the dateTime axis
     *
     * @default 'Auto'
     */
    intervalType?: RangeIntervalType;
    /**
     * Specifies, when the axis labels intersect with each other.They are,
     * * None: Shows all the labels.
     * * Hide: Hides the label when it intersects.
     *
     * @default Hide
     */
    labelIntersectAction?: RangeLabelIntersectAction;
    /**
     * base value for log axis
     *
     * @default 10
     */
    logBase?: number;
    /**
     * ValueType for the axis
     *
     * @default 'Double'
     */
    valueType?: RangeValueType;
    /**
     * Label positions for the axis
     *
     * @default 'Outside'
     */
    labelPosition?: AxisPosition;
    /**
     * Duration of the animation
     *
     * @default 500
     */
    animationDuration?: number;
    /**
     * Enable grouping for the labels
     *
     * @default false
     */
    enableGrouping?: boolean;
    /**
     * Enable deferred update for the range navigator
     *
     * @default false
     */
    enableDeferredUpdate?: boolean;
    /**
     * To render the period selector with out range navigator.
     *
     * @default false
     */
    disableRangeSelector?: boolean;
    /**
     * Enable snapping for range navigator sliders
     *
     * @default false
     */
    allowSnapping?: boolean;
    /**
     * Allow the data to be selected for that particular interval while clicking the particular label
     */
    allowIntervalData?: boolean;
    /**
     * Specifies whether a grouping separator should be used for a number.
     *
     * @default false
     */
    useGroupingSeparator?: boolean;
    /**
     * GroupBy property for the axis
     *
     * @default `Auto`
     */
    groupBy?: RangeIntervalType;
    /**
     * Tick Position for the axis
     *
     * @default 'Outside'
     */
    tickPosition?: AxisPosition;
    /**
     * Label style for the labels
     */
    labelStyle?: FontModel;
    /**
     * MajorGridLines
     */
    majorGridLines?: MajorGridLinesModel;
    /**
     * MajorTickLines
     */
    majorTickLines?: MajorTickLinesModel;
    /**
     * Navigator style settings
     */
    navigatorStyleSettings?: StyleSettingsModel;
    /**
     * Period selector settings
     */
    periodSelectorSettings?: PeriodSelectorSettingsModel;
    /**
     * Options for customizing the color and width of the chart border.
     */
    navigatorBorder?: BorderModel;
    /**
     * Specifies the theme for the range navigator.
     *
     * @default 'Material'
     */
    theme?: ChartTheme;
    /**
     * Selected range for range navigator.
     *
     * @default []
     */
    value?: number[] | Date[];
    /**
     * The background color of the chart that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    background?: string;
    /**
     * Used to format the axis label that accepts any global string format like 'C', 'n1', 'P' etc.
     * It also accepts placeholder like '{value}°C' in which value represent the axis label, e.g, 20°C.
     *
     * @default ''
     */
    labelFormat?: string;
    /**
     * Specifies the skeleton format in which the dateTime format will process.
     *
     * @default ''
     */
    skeleton?: string;
    /**
     * It specifies the type of format to be used in dateTime format process.
     *
     * @default 'DateTime'
     */
    skeletonType?: SkeletonType;
    /**
     * It specifies the label alignment for secondary axis labels
     *
     * @default 'Middle'
     */
    secondaryLabelAlignment?: LabelAlignment;
    /**
     * Margin for the range navigator
     *
     * @default
     */
    margin?: MarginModel;
    /**
     * Triggers before the range navigator rendering
     *
     * @event load
     */
    load?: base.EmitType<IRangeLoadedEventArgs>;
    /**
     * Triggers after the range navigator rendering
     *
     * @event loaded
     * @blazorProperty 'Loaded'
     */
    loaded?: base.EmitType<IRangeLoadedEventArgs>;
    /**
     * Triggers after the range navigator resized
     *
     * @event resized
     * @blazorProperty 'Resized'
     */
    resized?: base.EmitType<IResizeRangeNavigatorEventArgs>;
    /**
     * Triggers before window resize.
     * @event
     * @blazorProperty 'BeforeResize'
     */
    beforeResize?: base.EmitType<IRangeBeforeResizeEventArgs>;
    /**
     * Triggers before the label rendering
     *
     * @event labelRender
     * @deprecated
     */
    labelRender?: base.EmitType<ILabelRenderEventsArgs>;
    /**
     * Triggers after change the slider.
     *
     * @event changed
     * @blazorProperty 'Changed'
     */
    changed?: base.EmitType<IChangedEventArgs>;
    /**
     * Triggers before the tooltip for series is rendered.
     *
     * @event tooltipRender
     * @deprecated
     */
    tooltipRender?: base.EmitType<IRangeTooltipRenderEventArgs>;
    /**
     * Triggers before the range navigator selector rendering
     *
     * @event selectorRender
     * @deprecated
     */
    selectorRender?: base.EmitType<IRangeSelectorRenderEventArgs>;
    /**
     * Triggers before the prints gets started.
     *
     * @event beforePrint
     * @blazorProperty 'OnPrint'
     */
    beforePrint?: base.EmitType<IPrintEventArgs>;
}
//node_modules/@syncfusion/ej2-charts/src/range-navigator/range-navigator.d.ts
/**
 * Range Navigator
 */
export  class RangeNavigator extends base.Component<HTMLElement> {
    /**
     * `lineSeriesModule` is used to add line series to the chart.
     */
    lineSeriesModule: LineSeries;
    /**
     * `areaSeriesModule` is used to add area series in the chart.
     */
    areaSeriesModule: AreaSeries;
    /**
     * `stepLineSeriesModule` is used to add stepLine series in the chart.
     */
    stepLineSeriesModule: StepLineSeries;
    /**
     * `datetimeModule` is used to manipulate and add dateTime axis to the chart.
     */
    dateTimeModule: DateTime;
    /**
     * `doubleModule` is used to manipulate and add double axis to the chart.
     */
    doubleModule: Double;
    /**
     * `logarithmicModule` is used to manipulate and add log axis to the chart.
     */
    logarithmicModule: Logarithmic;
    /**
     * `tooltipModule` is used to manipulate and add tooltip to the series.
     */
    rangeTooltipModule: RangeTooltip;
    /**
     * `periodSelectorModule` is used to add period selector un range navigator
     */
    periodSelectorModule: PeriodSelector;
    /**
     * The width of the range navigator as a string accepts input as both like '100px' or '100%'.
     * If specified as '100%, range navigator renders to the full width of its parent element.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    width: string;
    /**
     * The height of the chart as a string accepts input both as '100px' or '100%'.
     * If specified as '100%, range navigator renders to the full height of its parent element.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    height: string;
    /**
     * It defines the data source for a range navigator.
     *
     * @default null
     */
    dataSource: Object | data.DataManager;
    /**
     * It defines the xName for the range navigator.
     *
     * @default null
     */
    xName: string;
    /**
     * It defines the yName for the range navigator.
     *
     * @default null
     */
    yName: string;
    /**
     * It defines the query for the data source.
     *
     * @default null
     */
    query: data.Query;
    /**
     * It defines the configuration of series in the range navigator
     */
    series: RangeNavigatorSeriesModel[];
    /**
     * Options for customizing the tooltip of the chart.
     */
    tooltip: RangeTooltipSettingsModel;
    /**
     * Minimum value for the axis
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    minimum: number | Date;
    /**
     * Maximum value for the axis
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    maximum: number | Date;
    /**
     * interval value for the axis
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    interval: number;
    /**
     * IntervalType for the dateTime axis
     *
     * @default 'Auto'
     */
    intervalType: RangeIntervalType;
    /**
     * Specifies, when the axis labels intersect with each other.They are,
     * * None: Shows all the labels.
     * * Hide: Hides the label when it intersects.
     *
     * @default Hide
     */
    labelIntersectAction: RangeLabelIntersectAction;
    /**
     * base value for log axis
     *
     * @default 10
     */
    logBase: number;
    /**
     * ValueType for the axis
     *
     * @default 'Double'
     */
    valueType: RangeValueType;
    /**
     * Label positions for the axis
     *
     * @default 'Outside'
     */
    labelPosition: AxisPosition;
    /**
     * Duration of the animation
     *
     * @default 500
     */
    animationDuration: number;
    /**
     * Enable grouping for the labels
     *
     * @default false
     */
    enableGrouping: boolean;
    /**
     * Enable deferred update for the range navigator
     *
     * @default false
     */
    enableDeferredUpdate: boolean;
    /**
     * To render the period selector with out range navigator.
     *
     * @default false
     */
    disableRangeSelector: boolean;
    /**
     * Enable snapping for range navigator sliders
     *
     * @default false
     */
    allowSnapping: boolean;
    /**
     * Allow the data to be selected for that particular interval while clicking the particular label
     */
    allowIntervalData: boolean;
    /**
     * Specifies whether a grouping separator should be used for a number.
     *
     * @default false
     */
    useGroupingSeparator: boolean;
    /**
     * GroupBy property for the axis
     *
     * @default `Auto`
     */
    groupBy: RangeIntervalType;
    /**
     * Tick Position for the axis
     *
     * @default 'Outside'
     */
    tickPosition: AxisPosition;
    /**
     * Label style for the labels
     */
    labelStyle: FontModel;
    /**
     * MajorGridLines
     */
    majorGridLines: MajorGridLinesModel;
    /**
     * MajorTickLines
     */
    majorTickLines: MajorTickLinesModel;
    /**
     * Navigator style settings
     */
    navigatorStyleSettings: StyleSettingsModel;
    /**
     * Period selector settings
     */
    periodSelectorSettings: PeriodSelectorSettingsModel;
    /**
     * Options for customizing the color and width of the chart border.
     */
    navigatorBorder: BorderModel;
    /**
     * Specifies the theme for the range navigator.
     *
     * @default 'Material'
     */
    theme: ChartTheme;
    /**
     * Selected range for range navigator.
     *
     * @default []
     */
    value: number[] | Date[];
    /**
     * The background color of the chart that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    background: string;
    /**
     * Used to format the axis label that accepts any global string format like 'C', 'n1', 'P' etc.
     * It also accepts placeholder like '{value}°C' in which value represent the axis label, e.g, 20°C.
     *
     * @default ''
     */
    labelFormat: string;
    /**
     * Specifies the skeleton format in which the dateTime format will process.
     *
     * @default ''
     */
    skeleton: string;
    /**
     * It specifies the type of format to be used in dateTime format process.
     *
     * @default 'DateTime'
     */
    skeletonType: SkeletonType;
    /**
     * It specifies the label alignment for secondary axis labels
     *
     * @default 'Middle'
     */
    secondaryLabelAlignment: LabelAlignment;
    /**
     * Margin for the range navigator
     *
     * @default
     */
    margin: MarginModel;
    /** @private */
    themeStyle: IRangeStyle;
    /**
     * Triggers before the range navigator rendering
     *
     * @event load
     */
    load: base.EmitType<IRangeLoadedEventArgs>;
    /**
     * Triggers after the range navigator rendering
     *
     * @event loaded
     * @blazorProperty 'Loaded'
     */
    loaded: base.EmitType<IRangeLoadedEventArgs>;
    /**
     * Triggers after the range navigator resized
     *
     * @event resized
     * @blazorProperty 'Resized'
     */
    resized: base.EmitType<IResizeRangeNavigatorEventArgs>;
    /**
     * Triggers before window resize.
     * @event
     * @blazorProperty 'BeforeResize'
     */
    beforeResize: base.EmitType<IRangeBeforeResizeEventArgs>;
    /**
     * Triggers before the label rendering
     *
     * @event labelRender
     * @deprecated
     */
    labelRender: base.EmitType<ILabelRenderEventsArgs>;
    /**
     * Triggers after change the slider.
     *
     * @event changed
     * @blazorProperty 'Changed'
     */
    changed: base.EmitType<IChangedEventArgs>;
    /**
     * Triggers before the tooltip for series is rendered.
     *
     * @event tooltipRender
     * @deprecated
     */
    tooltipRender: base.EmitType<IRangeTooltipRenderEventArgs>;
    /**
     * Triggers before the range navigator selector rendering
     *
     * @event selectorRender
     * @deprecated
     */
    selectorRender: base.EmitType<IRangeSelectorRenderEventArgs>;
    /**
     * Triggers before the prints gets started.
     *
     * @event beforePrint
     * @blazorProperty 'OnPrint'
     */
    beforePrint: base.EmitType<IPrintEventArgs>;
    /** @private */
    renderer: svgBase.SvgRenderer;
    /** @private */
    svgObject: HTMLElement;
    /** @private */
    intl: base.Internationalization;
    /** @private */
    bounds: svgBase.Rect;
    /** @private */
    availableSize: svgBase.Size;
    /** @private */
    startValue: number;
    /** @private */
    endValue: number;
    /** @private */
    mouseX: number;
    /** @private */
    mouseDownX: number;
    /** @private */
    rangeSlider: RangeSlider;
    /** @private */
    chartSeries: RangeSeries;
    /** @private */
    rangeAxis: RangeNavigatorAxis;
    /** @private */
    private resizeTo;
    /** @private */
    dataModule: Data;
    /** @private */
    labels: ILabelRenderEventsArgs[];
    /** @private */
    animateSeries: boolean;
    /** @private */
    format: Function;
    private chartid;
    /** @private */
    stockChart: StockChart;
    /**
     * Constructor for creating the widget
     *
     * @hidden
     */
    constructor(options?: RangeNavigatorModel, element?: string | HTMLElement);
    /**
     * Starting point of the control initialization
     */
    preRender(): void;
    /**
     * To initialize the private variables
     */
    private initPrivateVariables;
    /**
     * Method to set culture for chart
     */
    private setCulture;
    /**
     * to initialize the slider
     */
    private setSliderValue;
    /**
     * To render the range navigator
     */
    render(): void;
    /**
     * Theming for rangeNavigator
     */
    private setTheme;
    /**
     * Method to create SVG for Range Navigator
     */
    private createRangeSvg;
    /**
     * Bounds calculation for widget performed.
     */
    private calculateBounds;
    /**
     * Creating Chart for range navigator
     */
    renderChart(resize?: boolean): void;
    /**
     * To render period selector value
     */
    private renderPeriodSelector;
    /**
     * Creating secondary range navigator
     */
    createSecondaryElement(): void;
    /**
     * Slider Calculation ane rendering performed here
     */
    private renderSlider;
    /**
     * To Remove the SVG.
     *
     * @returns {void}
     * @private
     */
    removeSvg(): void;
    /** Wire, UnWire and Event releated calculation Started here */
    /**
     * Method to un-bind events for range navigator
     */
    private unWireEvents;
    /**
     * Method to bind events for range navigator
     */
    private wireEvents;
    /**
     * Handles the widget resize.
     *
     * @private
     */
    rangeResize(): boolean;
    /**
     * Bug task ID: EJ2-30797
     * while resizing tooltip shows in wrong position
     * Cause: Due to time lag in resize, tooltip did not remove until the component calculation
     * Fix: Removed the tooltip element on resize
     */
    private removeAllTooltip;
    /**
     * Handles the mouse move.
     *
     * @private
     */
    mouseMove(e: PointerEvent): boolean;
    /**
     * Handles the mouse leave.
     *
     * @private
     */
    mouseLeave(e: PointerEvent): boolean;
    /**
     * Handles the mouse click on range navigator.
     *
     * @private
     */
    rangeOnMouseClick(e: PointerEvent | TouchEvent): boolean;
    /**
     * Handles the print method for range navigator control.
     */
    print(id?: string[] | string | Element): void;
    /**
     * Handles the export method for range navigator control.
     */
    export(type: ExportType, fileName: string, orientation?: pdfExport.PdfPageOrientation, controls?: (Chart | AccumulationChart | RangeNavigator)[], width?: number, height?: number, isVertical?: boolean): void;
    /**
     * Creating a background element to the svg object
     */
    private renderChartBackground;
    /**
     * Handles the mouse down on range navigator.
     *
     * @private
     */
    rangeOnMouseDown(e: PointerEvent): boolean;
    /**
     * Handles the mouse up.
     *
     * @private
     */
    mouseEnd(e: PointerEvent): boolean;
    /**
     * To find mouse x, y for aligned range navigator element svg position
     */
    private setMouseX;
    /** Wire, UnWire and Event releated calculation End here */
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @private
     */
    getPersistData(): string;
    /**
     * OnProperty change method calling here
     *
     * @param {RangeNavigatorModel} newProp new RangeNavigatorModel
     * @param {RangeNavigatorModel} oldProp old RangeNavigatorModel
     */
    onPropertyChanged(newProp: RangeNavigatorModel, oldProp: RangeNavigatorModel): void;
    /**
     * To provide the array of modules needed for control rendering
     *
     * @returns {base.ModuleDeclaration[]} requiredModules
     * @private
     */
    requiredModules(): base.ModuleDeclaration[];
    /**
     * To get the module name of the widget
     */
    getModuleName(): string;
    /**
     * To destroy the widget
     *
     * @function destroy
     * @returns {void}.
     * @member of rangeNavigator
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/range-navigator/renderer/chart-render.d.ts
/**
 * To render Chart series
 */
export  class RangeSeries extends NiceInterval {
    private dataSource;
    private xName;
    private yName;
    private query;
    xMin: number;
    xMax: number;
    yMin: number;
    yMax: number;
    private yAxis;
    xAxis: Axis;
    private seriesLength;
    private chartGroup;
    constructor(range: RangeNavigator);
    /**
     * To render light weight and data manager process
     *
     * @param {RangeNavigator} control RangeNavigator instance
     */
    renderChart(control: RangeNavigator): void;
    private processDataSource;
    /**
     * data manager process calculated here
     */
    private dataManagerSuccess;
    /**
     * Process JSON data from data source
     */
    private processJsonData;
    /**
     * Process x axis for range navigator.
     *
     * @private
     */
    processXAxis(control: RangeNavigator): void;
    /**
     * Process yAxis for range navigator
     *
     * @param {RangeNavigator} control RangeNavigator instance
     * @private
     */
    processYAxis(control: RangeNavigator): void;
    /**
     * Process Light weight control
     *
     * @param {RangeNavigator} control RangeNavigator instance
     * @private
     */
    renderSeries(control: RangeNavigator): void;
    /**
     * Append series elements in element
     */
    appendSeriesElements(control: RangeNavigator): void;
    private createSeriesElement;
    /**
     * Calculate grouping bounds for x axis.
     *
     * @private
     */
    calculateGroupingBounds(control: RangeNavigator): void;
    private drawSeriesBorder;
}
//node_modules/@syncfusion/ej2-charts/src/range-navigator/renderer/range-axis.d.ts
/**
 * class for axis
 */
export  class RangeNavigatorAxis extends DateTime {
    constructor(range: RangeNavigator);
    actualIntervalType: RangeIntervalType;
    rangeNavigator: RangeNavigator;
    firstLevelLabels: VisibleLabels[];
    secondLevelLabels: VisibleLabels[];
    lowerValues: number[];
    gridLines: Element;
    /**
     * To render grid lines of axis
     */
    renderGridLines(): void;
    /**
     * To render of axis labels
     */
    renderAxisLabels(): void;
    /**
     * To find secondary level label type
     *
     * @param {RangeIntervalType} type type of range interval
     */
    private getSecondaryLabelType;
    /**
     * To find labels for date time axis
     *
     * @param {Axis} axis range axis
     */
    private findAxisLabels;
    /**
     * To find date time formats for Quarter and week interval type
     *
     * @param {string} text text
     * @param {Axis} axis axis
     * @param {number} index index
     */
    private dateFormats;
    /**
     * To find the y co-ordinate for axis labels
     *
     * @param {RangeNavigator} control - rangeNavigator
     * @param {boolean} isSecondary sets true if the axis is secondary axis
     */
    private findLabelY;
    /**
     * It places the axis labels and returns border for secondary axis labels
     *
     * @param {Axis} axis axis for the lables placed
     * @param {number} pointY y co-ordinate for axis labels
     * @param {string} id id for the axis elements
     * @param {RangeNavigator} control range navigator
     * @param {Element} labelElement parent element in which axis labels appended
     */
    private placeAxisLabels;
    /**
     * To check label is intersected with successive label or not
     */
    private isIntersect;
    /**
     * To find suitable label format for Quarter and week Interval types
     *
     * @param {Axis} axis RangeNavigator axis
     * @param {RangeNavigator} control RangeNavigator instance
     */
    private findSuitableFormat;
    /**
     * Alignment position for secondary level labels in date time axis
     *
     * @param {Axis} axis axis
     * @param {number} index label index
     */
    private findAlignment;
}
//node_modules/@syncfusion/ej2-charts/src/range-navigator/renderer/slider.d.ts
/**
 * Class for slider
 */
export  class RangeSlider {
    private leftUnSelectedElement;
    private rightUnSelectedElement;
    private selectedElement;
    private leftSlider;
    private rightSlider;
    /** @private */
    control: RangeNavigator;
    /** @private */
    isDrag: boolean;
    private elementId;
    currentSlider: string;
    startX: number;
    endX: number;
    private sliderWidth;
    currentStart: number;
    currentEnd: number;
    private previousMoveX;
    private thumpPadding;
    private thumbColor;
    points: DataPoint[];
    leftRect: svgBase.Rect;
    rightRect: svgBase.Rect;
    midRect: svgBase.Rect;
    private labelIndex;
    private thumbVisible;
    private thumpY;
    sliderY: number;
    /** @private */
    isIOS: Boolean;
    constructor(range: RangeNavigator);
    /**
     * Render Slider elements for range navigator
     *
     * @param {RangeNavigator} range RangeNavigator instance
     */
    render(range: RangeNavigator): void;
    /**
     * Thumb creation performed
     *
     * @param {svgBase.SvgRenderer} render svgBase.SvgRenderer
     * @param {svgBase.Rect} bounds bounds
     * @param {Element} parent parent element
     * @param {string} id id
     * @param {Element} sliderGroup sliderGroup
     */
    createThump(render: svgBase.SvgRenderer, bounds: svgBase.Rect, parent: Element, id: string, sliderGroup?: Element): void;
    /**
     * Set slider value for range navigator
     */
    setSlider(start: number, end: number, trigger: boolean, showTooltip: boolean, resize?: boolean): void;
    /**
     * Trigger changed event
     *
     * @param {VisibleRangeModel} range axis visible range
     */
    triggerEvent(range: VisibleRangeModel): void;
    /**
     * @hidden
     */
    private addEventListener;
    /**
     * @hidden
     */
    private removeEventListener;
    /**
     * Move move handler perfomed here
     *
     * @hidden
     * @param {PointerEvent} e mouse event argument
     */
    private mouseMoveHandler;
    /**
     * To get the range value
     *
     * @param {number} x xValue
     */
    private getRangeValue;
    /**
     * Moused down handler for slider perform here
     *
     * @param {PointerEvent} e mouse event argument
     */
    private mouseDownHandler;
    /**
     * To get the current slider element
     *
     * @param {string} id slider element id
     */
    private getCurrentSlider;
    /**
     * Mouse up handler performed here
     */
    private mouseUpHandler;
    /**
     * Allow Snapping perfomed here
     *
     * @param {RangeNavigator} control RangeNavigator instance
     * @param {number} start start
     * @param {number} end end
     * @param {boolean} trigger trigger
     * @param {boolean} tooltip tooltip
     * @private
     */
    setAllowSnapping(control: RangeNavigator, start: number, end: number, trigger: boolean, tooltip: boolean): void;
    /**
     * Animation Calculation for slider navigation
     */
    performAnimation(start: number, end: number, control: RangeNavigator, animationDuration?: number): void;
    /**
     * Mouse Cancel Handler
     */
    private mouseCancelHandler;
    /**
     * Destroy Method Calling here
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/range-navigator/user-interaction/tooltip.d.ts
/**
 * `Tooltip` module is used to render the tooltip for chart series.
 */
export  class RangeTooltip {
    leftTooltip: svgBase.Tooltip;
    rightTooltip: svgBase.Tooltip;
    private elementId;
    toolTipInterval: number;
    private control;
    /**
     * Constructor for tooltip module.
     *
     * @private
     */
    constructor(range: RangeNavigator);
    /**
     * Left tooltip method called here
     *
     * @param {RangeSlider} rangeSlider RangeSlider
     */
    renderLeftTooltip(rangeSlider: RangeSlider): void;
    /**
     * get the content size
     *
     * @param {string[]} value value
     */
    private getContentSize;
    /**
     * Right tooltip method called here
     *
     * @param {RangeSlider} rangeSlider RangeSlider
     */
    renderRightTooltip(rangeSlider: RangeSlider): void;
    /**
     * Tooltip element creation
     *
     * @param {string} id element id
     */
    private createElement;
    /**
     * Tooltip render called here
     *
     * @param {Rect} bounds bounds
     * @param {Element} parent parent
     * @param {number} pointX pointX
     * @param {string[]} content content
     */
    private renderTooltip;
    /**
     * Tooltip content processed here
     *
     * @param {number} value tooltip value
     */
    private getTooltipContent;
    /**
     * Fadeout animation performed here
     */
    private fadeOutTooltip;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the tooltip.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/range-navigator/utils/enum.d.ts
/**
 * It defines type of series in the range navigator.
 * * line
 * * column
 * * area
 *
 * @private
 */
export  type RangeNavigatorType = 
/** Line type */
'Line' | 
/** Area type */
'Area' | 
/** StepLine type */
'StepLine';
/**
 * It defines type of thump in the range navigator.
 * * circle
 * * rectangle
 *
 * @private
 */
export  type ThumbType = 
/** Circle type */
'Circle' | 
/** Rectangle type */
'Rectangle';
/**
 * It defines display mode for the range navigator tooltip.
 * * always
 * * OnDemand
 *
 * @private
 */
export  type TooltipDisplayMode = 
/** Tooltip will be shown always */
'Always' | 
/** Tooltip will be shown only in mouse move */
'OnDemand';
/**
 * It defines the value Type for the axis used
 * * double
 * * category
 * * dateTime
 * * logarithmic
 *
 * @private
 */
export  type RangeValueType = 
/** Double axis */
'Double' | 
/** Datetime axis */
'DateTime' | 
/** Logarithmic axis */
'Logarithmic';
/**
 * Label alignment of the axis
 * *Near
 * *Middle
 * *Far
 *
 * @private
 */
export  type LabelAlignment = 
/** Near alignment */
'Near' | 
/** Middle alignment */
'Middle' | 
/** Far Alignment */
'Far';
/**
 * Defines the intersect action. They are
 * * none - Shows all the labels.
 * * hide - Hide the label when it intersect.
 * *
 */
export  type RangeLabelIntersectAction = 
/** Shows all the labels. */
'None' | 
/** Hide the label when it intersect. */
'Hide';
//node_modules/@syncfusion/ej2-charts/src/range-navigator/utils/helper.d.ts
/**
 * Methods for calculating coefficient.
 */
/** @private */
export  function rangeValueToCoefficient(value: number, range: VisibleRangeModel, inversed: boolean): number;
/** @private */
export  function getXLocation(x: number, range: VisibleRangeModel, size: number, inversed: boolean): number;
/** @private */
export  function getRangeValueXByPoint(value: number, size: number, range: VisibleRangeModel, inversed: boolean): number;
/** @private */
export  function getExactData(points: DataPoint[], start: number, end: number): DataPoint[];
/** @private */
export  function getNearestValue(values: number[], point: number): number;
/**
 * Data point
 *
 * @public
 */
export  class DataPoint {
    /** point x */
    x: Object;
    /** point y */
    y: Object;
    /** point x value */
    xValue?: number;
    /** point y value */
    yValue?: number;
    /** point visibility */
    visible?: boolean;
    constructor(x: Object, y: Object, xValue?: number, yValue?: number, visible?: boolean);
}
//node_modules/@syncfusion/ej2-charts/src/range-navigator/utils/theme.d.ts
/**
 *
 */
export  namespace RangeNavigatorTheme {
    /** @private */
    let axisLabelFont: IFontMapping;
    /** @private */
    const tooltipLabelFont: IFontMapping;
}
/** @private */
export  function getRangeThemeColor(theme: ChartTheme, range: RangeNavigator): IRangeStyle;
//node_modules/@syncfusion/ej2-charts/src/smithchart/axis/axis-model.d.ts
/**
 * Interface for a class SmithchartMajorGridLines
 */
export interface SmithchartMajorGridLinesModel {
    /**
     * width of the major grid lines
     *
     * @default 1
     */
    width?: number;
    /**
     * The dash array of the major grid lines.
     *
     * @default ''
     */
    dashArray?: string;
    /**
     * visibility of  major grid lines.
     *
     * @default true
     */
    visible?: boolean;
    /**
     * option for customizing the majorGridLine color
     *
     * @default null
     */
    color?: string;
    /**
     * opacity of  major grid lines.
     *
     * @default 1
     */
    opacity?: number;
}
/**
 * Interface for a class SmithchartMinorGridLines
 */
export interface SmithchartMinorGridLinesModel {
    /**
     * width of the minor grid lines
     *
     * @default 1
     */
    width?: number;
    /**
     * The dash array of the minor grid lines.
     *
     * @default ''
     */
    dashArray?: string;
    /**
     * visibility of  minor grid lines.
     *
     * @default false
     */
    visible?: boolean;
    /**
     * option for customizing the minorGridLine color
     *
     * @default null
     */
    color?: string;
    /**
     * count of  minor grid lines.
     *
     * @default 8
     */
    count?: number;
}
/**
 * Interface for a class SmithchartAxisLine
 */
export interface SmithchartAxisLineModel {
    /**
     * visibility of  axis line.
     *
     * @default true
     */
    visible?: boolean;
    /**
     * width of the axis lines
     *
     * @default 1
     */
    width?: number;
    /**
     * option for customizing the axisLine color
     *
     * @default null
     */
    color?: string;
    /**
     * The dash array of the axis line.
     *
     * @default ''
     */
    dashArray?: string;
}
/**
 * Interface for a class SmithchartAxis
 */
export interface SmithchartAxisModel {
    /**
     * visibility of  axis.
     *
     * @default true
     */
    visible?: boolean;
    /**
     * position of  axis line.
     *
     * @default Outside
     */
    labelPosition?: AxisLabelPosition;
    /**
     * axis labels will be hide when overlap with each other.
     *
     * @default Hide
     */
    labelIntersectAction?: SmithchartLabelIntersectAction;
    /**
     * Options for customizing major grid lines.
     */
    majorGridLines?: SmithchartMajorGridLinesModel;
    /**
     * Options for customizing minor grid lines.
     */
    minorGridLines?: SmithchartMinorGridLinesModel;
    /**
     * Options for customizing axis lines.
     */
    axisLine?: SmithchartAxisLineModel;
    /**
     * Options for customizing font.
     */
    labelStyle?: SmithchartFontModel;
}
//node_modules/@syncfusion/ej2-charts/src/smithchart/axis/axis.d.ts
/**
 * Configures the major Grid lines in the `axis`.
 */
export  class SmithchartMajorGridLines extends base.ChildProperty<SmithchartMajorGridLines> {
    /**
     * width of the major grid lines
     *
     * @default 1
     */
    width: number;
    /**
     * The dash array of the major grid lines.
     *
     * @default ''
     */
    dashArray: string;
    /**
     * visibility of  major grid lines.
     *
     * @default true
     */
    visible: boolean;
    /**
     * option for customizing the majorGridLine color
     *
     * @default null
     */
    color: string;
    /**
     * opacity of  major grid lines.
     *
     * @default 1
     */
    opacity: number;
}
/**
 * Configures the major grid lines in the `axis`.
 */
export  class SmithchartMinorGridLines extends base.ChildProperty<SmithchartMinorGridLines> {
    /**
     * width of the minor grid lines
     *
     * @default 1
     */
    width: number;
    /**
     * The dash array of the minor grid lines.
     *
     * @default ''
     */
    dashArray: string;
    /**
     * visibility of  minor grid lines.
     *
     * @default false
     */
    visible: boolean;
    /**
     * option for customizing the minorGridLine color
     *
     * @default null
     */
    color: string;
    /**
     * count of  minor grid lines.
     *
     * @default 8
     */
    count: number;
}
/**
 * Configures the axis lines in the `axis`.
 */
export  class SmithchartAxisLine extends base.ChildProperty<SmithchartAxisLine> {
    /**
     * visibility of  axis line.
     *
     * @default true
     */
    visible: boolean;
    /**
     * width of the axis lines
     *
     * @default 1
     */
    width: number;
    /**
     * option for customizing the axisLine color
     *
     * @default null
     */
    color: string;
    /**
     * The dash array of the axis line.
     *
     * @default ''
     */
    dashArray: string;
}
export  class SmithchartAxis extends base.ChildProperty<SmithchartAxis> {
    /**
     * visibility of  axis.
     *
     * @default true
     */
    visible: boolean;
    /**
     * position of  axis line.
     *
     * @default Outside
     */
    labelPosition: AxisLabelPosition;
    /**
     * axis labels will be hide when overlap with each other.
     *
     * @default Hide
     */
    labelIntersectAction: SmithchartLabelIntersectAction;
    /**
     * Options for customizing major grid lines.
     */
    majorGridLines: SmithchartMajorGridLinesModel;
    /**
     * Options for customizing minor grid lines.
     */
    minorGridLines: SmithchartMinorGridLinesModel;
    /**
     * Options for customizing axis lines.
     */
    axisLine: SmithchartAxisLineModel;
    /**
     * Options for customizing font.
     */
    labelStyle: SmithchartFontModel;
}
//node_modules/@syncfusion/ej2-charts/src/smithchart/axis/axisrender.d.ts
export  class AxisRender {
    areaRadius: number;
    circleLeftX: number;
    circleTopY: number;
    circleCenterX: number;
    circleCenterY: number;
    radialLabels: number[];
    radialLabelCollections: LabelCollection[];
    horizontalLabelCollections: HorizontalLabelCollection[];
    majorHGridArcPoints: GridArcPoints[];
    minorHGridArcPoints: GridArcPoints[];
    majorRGridArcPoints: GridArcPoints[];
    minorGridArcPoints: GridArcPoints[];
    labelCollections: RadialLabelCollections[];
    direction: Direction;
    renderArea(smithchart: Smithchart, bounds: SmithchartRect): void;
    private updateHAxis;
    private updateRAxis;
    private measureHorizontalAxis;
    private measureRadialAxis;
    private calculateChartArea;
    private calculateCircleMargin;
    private maximumLabelLength;
    private calculateAxisLabels;
    private isOverlap;
    private calculateXAxisRange;
    private calculateRAxisRange;
    private measureHMajorGridLines;
    private measureRMajorGridLines;
    private circleXYRadianValue;
    private calculateMajorArcStartEndPoints;
    private calculateHMajorArcStartEndPoints;
    private calculateMinorArcStartEndPoints;
    intersectingCirclePoints(x1: number, y1: number, r1: number, x2: number, y2: number, r2: number, renderType: RenderType): Point;
    private updateHMajorGridLines;
    private updateRMajorGridLines;
    private updateHAxisLine;
    private updateRAxisLine;
    private drawHAxisLabels;
    private drawRAxisLabels;
    private calculateRegion;
    private updateHMinorGridLines;
    private updateRMinorGridLines;
    private calculateGridLinesPath;
    private measureHMinorGridLines;
    private measureRMinorGridLines;
    private minorGridLineArcIntersectCircle;
    private circlePointPosition;
    private setLabelsInsidePosition;
    private setLabelsOutsidePosition;
    private arcRadius;
}
//node_modules/@syncfusion/ej2-charts/src/smithchart/index.d.ts
//node_modules/@syncfusion/ej2-charts/src/smithchart/legend/legend-model.d.ts
/**
 * Interface for a class LegendTitle
 */
export interface LegendTitleModel {
    /**
     * visibility for legend title.
     *
     * @default true
     */
    visible?: boolean;
    /**
     * text for legend title.
     *
     * @default ''
     */
    text?: string;
    /**
     * description for legend title.
     *
     * @default ''
     */
    description?: string;
    /**
     * alignment for legend title.
     *
     * @default Center
     */
    textAlignment?: SmithchartAlignment;
    /**
     *  options for customizing font
     */
    textStyle?: SmithchartFont;
}
/**
 * Interface for a class LegendLocation
 */
export interface LegendLocationModel {
    /**
     * x location for legend.
     *
     * @default 0
     */
    x?: number;
    /**
     * y location for legend.
     *
     * @default 0
     */
    y?: number;
}
/**
 * Interface for a class LegendItemStyleBorder
 */
export interface LegendItemStyleBorderModel {
    /**
     * border width for legend item.
     *
     * @default 1
     */
    width?: number;
    /**
     * border color for legend item.
     *
     * @default null
     */
    color?: string;
}
/**
 * Interface for a class LegendItemStyle
 */
export interface LegendItemStyleModel {
    /**
     * specify the width for legend item.
     *
     * @default 10
     */
    width?: number;
    /**
     * specify the height for legend item.
     *
     * @default 10
     */
    height?: number;
    /**
     * options for customizing legend item style border
     */
    border?: LegendItemStyleBorderModel;
}
/**
 * Interface for a class LegendBorder
 */
export interface LegendBorderModel {
    /**
     * border width for legend.
     *
     * @default 1
     */
    width?: number;
    /**
     * border color for legend.
     *
     * @default null
     */
    color?: string;
}
/**
 * Interface for a class SmithchartLegendSettings
 */
export interface SmithchartLegendSettingsModel {
    /**
     * visibility for legend.
     *
     * @default false
     */
    visible?: boolean;
    /**
     * position for legend.
     *
     * @default 'bottom'
     */
    position?: string;
    /**
     * alignment for legend.
     *
     * @default Center
     */
    alignment?: SmithchartAlignment;
    /**
     * width for legend.
     *
     * @default null
     */
    width?: number;
    /**
     * height for legend.
     *
     * @default null
     */
    height?: number;
    /**
     * shape for legend.
     *
     * @default 'circle'
     */
    shape?: string;
    /**
     * rowCount for legend.
     *
     * @default null
     */
    rowCount?: number;
    /**
     * columnCount for legend.
     *
     * @default null
     */
    columnCount?: number;
    /**
     * spacing between legend item.
     *
     * @default 8
     */
    itemPadding?: number;
    /**
     * Padding between the legend shape and text.
     *
     * @default 5
     */
    shapePadding?: number;
    /**
     * description for legend
     *
     * @default ''
     */
    description?: string;
    /**
     * If set to true, series' visibility collapses based on the legend visibility.
     *
     * @default true
     */
    toggleVisibility?: boolean;
    /**
     *  options for customizing legend title
     */
    title?: LegendTitleModel;
    /**
     *  options for customizing legend location
     */
    location?: LegendLocationModel;
    /**
     *  options for customizing legend item style
     */
    itemStyle?: LegendItemStyleModel;
    /**
     *  options for customizing legend border
     */
    border?: LegendBorderModel;
    /**
     *  options for customizing font
     */
    textStyle?: SmithchartFont;
}
//node_modules/@syncfusion/ej2-charts/src/smithchart/legend/legend.d.ts
export  class LegendTitle extends base.ChildProperty<LegendTitle> {
    /**
     * visibility for legend title.
     *
     * @default true
     */
    visible: boolean;
    /**
     * text for legend title.
     *
     * @default ''
     */
    text: string;
    /**
     * description for legend title.
     *
     * @default ''
     */
    description: string;
    /**
     * alignment for legend title.
     *
     * @default Center
     */
    textAlignment: SmithchartAlignment;
    /**
     *  options for customizing font
     */
    textStyle: SmithchartFont;
}
export  class LegendLocation extends base.ChildProperty<LegendLocation> {
    /**
     * x location for legend.
     *
     * @default 0
     */
    x: number;
    /**
     * y location for legend.
     *
     * @default 0
     */
    y: number;
}
export  class LegendItemStyleBorder extends base.ChildProperty<LegendItemStyleBorder> {
    /**
     * border width for legend item.
     *
     * @default 1
     */
    width: number;
    /**
     * border color for legend item.
     *
     * @default null
     */
    color: string;
}
export  class LegendItemStyle extends base.ChildProperty<LegendItemStyle> {
    /**
     * specify the width for legend item.
     *
     * @default 10
     */
    width: number;
    /**
     * specify the height for legend item.
     *
     * @default 10
     */
    height: number;
    /**
     * options for customizing legend item style border
     */
    border: LegendItemStyleBorderModel;
}
export  class LegendBorder extends base.ChildProperty<LegendBorder> {
    /**
     * border width for legend.
     *
     * @default 1
     */
    width: number;
    /**
     * border color for legend.
     *
     * @default null
     */
    color: string;
}
export  class SmithchartLegendSettings extends base.ChildProperty<SmithchartLegendSettings> {
    /**
     * visibility for legend.
     *
     * @default false
     */
    visible: boolean;
    /**
     * position for legend.
     *
     * @default 'bottom'
     */
    position: string;
    /**
     * alignment for legend.
     *
     * @default Center
     */
    alignment: SmithchartAlignment;
    /**
     * width for legend.
     *
     * @default null
     */
    width: number;
    /**
     * height for legend.
     *
     * @default null
     */
    height: number;
    /**
     * shape for legend.
     *
     * @default 'circle'
     */
    shape: string;
    /**
     * rowCount for legend.
     *
     * @default null
     */
    rowCount: number;
    /**
     * columnCount for legend.
     *
     * @default null
     */
    columnCount: number;
    /**
     * spacing between legend item.
     *
     * @default 8
     */
    itemPadding: number;
    /**
     * Padding between the legend shape and text.
     *
     * @default 5
     */
    shapePadding: number;
    /**
     * description for legend
     *
     * @default ''
     */
    description: string;
    /**
     * If set to true, series' visibility collapses based on the legend visibility.
     *
     * @default true
     */
    toggleVisibility: boolean;
    /**
     *  options for customizing legend title
     */
    title: LegendTitleModel;
    /**
     *  options for customizing legend location
     */
    location: LegendLocationModel;
    /**
     *  options for customizing legend item style
     */
    itemStyle: LegendItemStyleModel;
    /**
     *  options for customizing legend border
     */
    border: LegendBorderModel;
    /**
     *  options for customizing font
     */
    textStyle: SmithchartFont;
}
//node_modules/@syncfusion/ej2-charts/src/smithchart/legend/legendrender.d.ts
export  class SmithchartLegend {
    legendActualBounds: SmithchartRect;
    legendSeries: LegendSeries[];
    legendGroup: Element;
    /**
     * legend rendering
     */
    legendItemGroup: Element;
    renderLegend(smithchart: Smithchart): SmithchartRect;
    private calculateLegendBounds;
    private _getLegendSize;
    private _drawLegend;
    private drawLegendBorder;
    private drawLegendTitle;
    private drawLegendItem;
    private drawLegendShape;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the legend.
     * @return {void}
     * @private
     */
    destroy(smithchart: Smithchart): void;
}
//node_modules/@syncfusion/ej2-charts/src/smithchart/model/constant.d.ts
/**
 * Specifies smithchart animationComplete event name.
 *
 * @private
 */
export  const animationComplete$: string;
/**
 * Specifies smithchart legendRender event name.
 *
 * @private
 */
export  const legendRender$: string;
/**
 * Specifies smithchart titleRender event name.
 *
 * @private
 */
export  const titleRender: string;
/**
 * Specifies smithchart subtitleRender event name.
 *
 * @private
 */
export  const subtitleRender: string;
/**
 * Specifies smithchart textRender event name.
 *
 * @private
 */
export  const textRender$: string;
/**
 * Specifies smithchart seriesRender event name.
 *
 * @private
 */
export  const seriesRender$: string;
/**
 * Specifies smithchart load event name.
 *
 * @private
 */
export  const load$: string;
/**
 * Specifies smithchart loaded event name.
 *
 * @private
 */
export  const loaded$: string;
/**
 * Specifies smithchart axisLabelRender event name.
 *
 * @private
 */
export  const axisLabelRender$: string;
//node_modules/@syncfusion/ej2-charts/src/smithchart/model/interface.d.ts
/**
 * Specifies Smithchart Events
 *
 * @private
 */
export interface ISmithchartEventArgs {
    /** Defines the name of the event */
    name: string;
    /** Defines the event cancel status */
    cancel: boolean;
}
export interface ISmithchartPrintEventArgs extends ISmithchartEventArgs {
    htmlContent: Element;
}
/**
 * Specifies the Load Event arguments.
 */
export interface ISmithchartLoadEventArgs extends ISmithchartEventArgs {
    /** Defines the current Smithchart instance */
    smithchart: Smithchart;
}
/**
 * Specifies the Loaded Event arguments.
 */
export interface ISmithchartLoadedEventArgs extends ISmithchartEventArgs {
    /** Defines the current Smithchart instance */
    smithchart: Smithchart;
}
export interface ISmithchartAnimationCompleteEventArgs extends ISmithchartEventArgs {
    /**
     * smithchart instance event argument
     */
    smithchart?: Smithchart;
}
/**
 * Specifies the Title Render Event arguments.
 */
export interface ITitleRenderEventArgs extends ISmithchartEventArgs {
    /** Defines the current title text */
    text: string;
    /** Defines the current title text x location */
    x: number;
    /** Defines the current title text y location */
    y: number;
}
/**
 * Specifies the SubTitle Render Event arguments.
 */
export interface ISubTitleRenderEventArgs extends ISmithchartEventArgs {
    /** Defines the current subtitle text */
    text: string;
    /** Defines the current subtitle text x location */
    x: number;
    /** Defines the current subtitle text y location */
    y: number;
}
/**
 * Specifies the Text Render Event arguments.
 */
export interface ISmithchartTextRenderEventArgs extends ISmithchartEventArgs {
    /** Defines the current datalabel text */
    text: string;
    /** Defines the current datalabel text x location */
    x: number;
    /** Defines the current datalabel text y location */
    y: number;
    /** Defines the current datalabel seriesIndex */
    seriesIndex: number;
    /** Defines the current datalabel pointIndex */
    pointIndex: number;
}
/**
 * Specifies the Axis Label Render Event arguments.
 */
export interface ISmithchartAxisLabelRenderEventArgs extends ISmithchartEventArgs {
    /** Defines the current axis label text */
    text: string;
    /** Defines the current axis label x location */
    x: number;
    /** Defines the current axis label y location */
    y: number;
}
/**
 * Specifies the Series Render Event arguments.
 */
export interface ISmithchartSeriesRenderEventArgs extends ISmithchartEventArgs {
    /** Defines name of the event */
    text: string;
    /** Defines the current series fill */
    fill: string;
}
/**
 * Specifies the Legend Render Event arguments.
 */
export interface ISmithchartLegendRenderEventArgs extends ISmithchartEventArgs {
    /** Defines the current legend text */
    text: string;
    /** Defines the current legend fill color */
    fill: string;
    /** Defines the current legend shape */
    shape: string;
}
export interface ISmithChartTooltipEventArgs extends ISmithchartEventArgs {
    /** Defines the tooltip text */
    text: string[];
    /** Defines the headerText of tooltip */
    headerText: string;
    /** Defines point of the tooltip */
    point: ISmithChartPoint;
    /** template */
    template: string;
}
/** @private */
export interface ISmithchartFontMapping {
    size?: string;
    color?: string;
    fontWeight?: string;
    fontStyle?: string;
    fontFamily?: string;
}
export interface ISmithChartPoint {
    reactance: number;
    resistance: number;
    tooltip?: string;
}
export interface ISmithchartThemeStyle {
    axisLabel: string;
    axisLine: string;
    majorGridLine: string;
    minorGridLine: string;
    chartTitle: string;
    legendLabel: string;
    background: string;
    areaBorder: string;
    tooltipFill: string;
    dataLabel: string;
    tooltipBoldLabel: string;
    tooltipLightLabel: string;
    tooltipHeaderLine: string;
    fontFamily?: string;
    fontSize?: string;
    labelFontFamily?: string;
    tooltipFillOpacity?: number;
    tooltipTextOpacity?: number;
}
//node_modules/@syncfusion/ej2-charts/src/smithchart/model/theme.d.ts
export  namespace Theme {
    /** @private */
    let axisLabelFont: ISmithchartFontMapping;
    /** @private */
    const smithchartTitleFont: ISmithchartFontMapping;
    /** @private */
    const smithchartSubtitleFont: ISmithchartFontMapping;
    /** @private */
    const dataLabelFont: ISmithchartFontMapping;
    /** @private */
    const legendLabelFont: ISmithchartFontMapping;
}
/**
 * @param {SmithchartTheme} theme theme of the smith chart
 * @private
 * @returns {string[]} series colors
 */
export  function getSeriesColor(theme: SmithchartTheme): string[];
/**
 * @param {SmithchartTheme} theme smithchart theme
 * @private
 * @returns {ISmithchartThemeStyle} theme style of the smith chart
 */
export  function getThemeColor(theme: SmithchartTheme): ISmithchartThemeStyle;
//node_modules/@syncfusion/ej2-charts/src/smithchart/series/datalabel.d.ts
export  class DataLabel1 {
    textOptions: DataLabelTextOptions[];
    labelOptions: LabelOption[];
    private connectorFlag;
    private prevLabel;
    private allPoints;
    drawDataLabel(smithchart: Smithchart, seriesindex: number, groupElement: Element, pointsRegion: PointRegion[], bounds: SmithchartRect): void;
    calculateSmartLabels(points: object, seriesIndex: number): void;
    private compareDataLabels;
    private isCollide;
    private resetValues;
    drawConnectorLines(smithchart: Smithchart, seriesIndex: number, index: number, currentPoint: DataLabelTextOptions, groupElement: Element): void;
    private drawDatalabelSymbol;
}
//node_modules/@syncfusion/ej2-charts/src/smithchart/series/marker.d.ts
export  class Marker1 {
    drawMarker(smithchart: Smithchart, seriesindex: number, groupElement: Element, pointsRegion: PointRegion[]): void;
    private drawSymbol;
}
//node_modules/@syncfusion/ej2-charts/src/smithchart/series/series-model.d.ts
/**
 * Interface for a class SeriesTooltipBorder
 */
export interface SeriesTooltipBorderModel {
    /**
     * border width  for tooltip.
     *
     * @default 1
     */
    width?: number;
    /**
     * border color for tooltip
     *
     * @default null
     */
    color?: string;
}
/**
 * Interface for a class SeriesTooltip
 */
export interface SeriesTooltipModel {
    /**
     * visibility of tooltip.
     *
     * @default false
     */
    visible?: boolean;
    /**
     * color for tooltip
     *
     * @default null
     */
    fill?: string;
    /**
     * opacity for tooltip.
     *
     * @default 0.95
     */
    opacity?: number;
    /**
     * template for tooltip
     *
     * @default ''
     */
    template?: string;
    /**
     *  options for customizing tooltip border
     */
    border?: SeriesTooltipBorderModel;
}
/**
 * Interface for a class SeriesMarkerBorder
 */
export interface SeriesMarkerBorderModel {
    /**
     * border width for marker border.
     *
     * @default 3
     */
    width?: number;
    /**
     * border color for marker border.
     *
     * @default 'white'
     */
    color?: string;
}
/**
 * Interface for a class SeriesMarkerDataLabelBorder
 */
export interface SeriesMarkerDataLabelBorderModel {
    /**
     * border width for data label border.
     *
     * @default 0.1
     */
    width?: number;
    /**
     * border color for data label color.
     *
     * @default 'white'
     */
    color?: string;
}
/**
 * Interface for a class SeriesMarkerDataLabelConnectorLine
 */
export interface SeriesMarkerDataLabelConnectorLineModel {
    /**
     * border width for data label connector line.
     *
     * @default 1
     */
    width?: number;
    /**
     * border color for data label connector line.
     *
     * @default null
     */
    color?: string;
}
/**
 * Interface for a class SeriesMarkerDataLabel
 */
export interface SeriesMarkerDataLabelModel {
    /**
     * visibility for data label.
     *
     * @default false
     */
    visible?: boolean;
    /**
     * showing template for data label template
     *
     * @default ''
     */
    template?: string;
    /**
     * color for data label.
     *
     * @default null
     */
    fill?: string;
    /**
     * opacity for data label.
     *
     * @default 1
     */
    opacity?: number;
    /**
     * options for customizing data label border
     *
     */
    border?: SeriesMarkerDataLabelBorderModel;
    /**
     * options for customizing data label connector line
     */
    connectorLine?: SeriesMarkerDataLabelConnectorLineModel;
    /**
     * options for customizing font
     */
    textStyle?: SmithchartFontModel;
}
/**
 * Interface for a class SeriesMarker
 */
export interface SeriesMarkerModel {
    /**
     * visibility for marker.
     *
     * @default false
     */
    visible?: boolean;
    /**
     * shape for marker.
     *
     * @default 'circle'
     */
    shape?: string;
    /**
     * width for marker.
     *
     * @default 6
     */
    width?: number;
    /**
     * height for marker.
     *
     * @default 6
     */
    height?: number;
    /**
     * Url for the image that is to be displayed as marker
     *
     * @default ''
     */
    imageUrl?: string;
    /**
     * color for marker.
     *
     * @default ''
     */
    fill?: string;
    /**
     * opacity for marker.
     *
     * @default 1
     */
    opacity?: number;
    /**
     *  options for customizing marker border
     */
    border?: SeriesMarkerBorderModel;
    /**
     * options for customizing marker data label
     */
    dataLabel?: SeriesMarkerDataLabelModel;
}
/**
 * Interface for a class SmithchartSeries
 */
export interface SmithchartSeriesModel {
    /**
     * visibility for series.
     *
     * @default 'visible'
     */
    visibility?: string;
    /**
     * points for series.
     *
     * @default []
     */
    points?: ISmithChartPoint[];
    /**
     * resistance name for dataSource
     *
     * @default ''
     */
    resistance?: string;
    /**
     * reactance name for dataSource
     *
     * @default ''
     */
    reactance?: string;
    /**
     * tooltip mapping name for the series
     *
     * @default ''
     */
    tooltipMappingName?: string;
    /**
     * Specifies the dataSource
     *
     * @default null
     * @isdatamanager false
     */
    dataSource?: Object;
    /**
     * The name of the series visible in legend.
     *
     * @default ''
     */
    name?: string;
    /**
     * color for series.
     *
     * @default null
     */
    fill?: string;
    /**
     * enable or disable the animation of series.
     *
     * @default false
     */
    enableAnimation?: boolean;
    /**
     * perform animation of series based on animation duration.
     *
     * @default '2000ms'
     */
    animationDuration?: string;
    /**
     * avoid the overlap of dataLabels.
     *
     * @default false
     */
    enableSmartLabels?: boolean;
    /**
     * width for series.
     *
     * @default 1
     */
    width?: number;
    /**
     * opacity for series.
     *
     * @default 1
     */
    opacity?: number;
    /**
     * options for customizing marker
     */
    marker?: SeriesMarkerModel;
    /**
     * options for customizing tooltip
     */
    tooltip?: SeriesTooltipModel;
}
//node_modules/@syncfusion/ej2-charts/src/smithchart/series/series.d.ts
export  class SeriesTooltipBorder extends base.ChildProperty<SeriesTooltipBorder> {
    /**
     * border width  for tooltip.
     *
     * @default 1
     */
    width: number;
    /**
     * border color for tooltip
     *
     * @default null
     */
    color: string;
}
export  class SeriesTooltip extends base.ChildProperty<SeriesTooltip> {
    /**
     * visibility of tooltip.
     *
     * @default false
     */
    visible: boolean;
    /**
     * color for tooltip
     *
     * @default null
     */
    fill: string;
    /**
     * opacity for tooltip.
     *
     * @default 0.95
     */
    opacity: number;
    /**
     * template for tooltip
     *
     * @default ''
     */
    template: string;
    /**
     *  options for customizing tooltip border
     */
    border: SeriesTooltipBorderModel;
}
export  class SeriesMarkerBorder extends base.ChildProperty<SeriesMarkerBorder> {
    /**
     * border width for marker border.
     *
     * @default 3
     */
    width: number;
    /**
     * border color for marker border.
     *
     * @default 'white'
     */
    color: string;
}
export  class SeriesMarkerDataLabelBorder extends base.ChildProperty<SeriesMarkerDataLabelBorder> {
    /**
     * border width for data label border.
     *
     * @default 0.1
     */
    width: number;
    /**
     * border color for data label color.
     *
     * @default 'white'
     */
    color: string;
}
export  class SeriesMarkerDataLabelConnectorLine extends base.ChildProperty<SeriesMarkerDataLabelConnectorLine> {
    /**
     * border width for data label connector line.
     *
     * @default 1
     */
    width: number;
    /**
     * border color for data label connector line.
     *
     * @default null
     */
    color: string;
}
export  class SeriesMarkerDataLabel extends base.ChildProperty<SeriesMarkerDataLabel> {
    /**
     * visibility for data label.
     *
     * @default false
     */
    visible: boolean;
    /**
     * showing template for data label template
     *
     * @default ''
     */
    template: string;
    /**
     * color for data label.
     *
     * @default null
     */
    fill: string;
    /**
     * opacity for data label.
     *
     * @default 1
     */
    opacity: number;
    /**
     * options for customizing data label border
     *
     */
    border: SeriesMarkerDataLabelBorderModel;
    /**
     * options for customizing data label connector line
     */
    connectorLine: SeriesMarkerDataLabelConnectorLineModel;
    /**
     * options for customizing font
     */
    textStyle: SmithchartFontModel;
}
export  class SeriesMarker extends base.ChildProperty<SeriesMarker> {
    /**
     * visibility for marker.
     *
     * @default false
     */
    visible: boolean;
    /**
     * shape for marker.
     *
     * @default 'circle'
     */
    shape: string;
    /**
     * width for marker.
     *
     * @default 6
     */
    width: number;
    /**
     * height for marker.
     *
     * @default 6
     */
    height: number;
    /**
     * Url for the image that is to be displayed as marker
     *
     * @default ''
     */
    imageUrl: string;
    /**
     * color for marker.
     *
     * @default ''
     */
    fill: string;
    /**
     * opacity for marker.
     *
     * @default 1
     */
    opacity: number;
    /**
     *  options for customizing marker border
     */
    border: SeriesMarkerBorderModel;
    /**
     * options for customizing marker data label
     */
    dataLabel: SeriesMarkerDataLabelModel;
}
export  class SmithchartSeries extends base.ChildProperty<SmithchartSeries> {
    /**
     * visibility for series.
     *
     * @default 'visible'
     */
    visibility: string;
    /**
     * points for series.
     *
     * @default []
     */
    points: ISmithChartPoint[];
    /**
     * resistance name for dataSource
     *
     * @default ''
     */
    resistance: string;
    /**
     * reactance name for dataSource
     *
     * @default ''
     */
    reactance: string;
    /**
     * tooltip mapping name for the series
     *
     * @default ''
     */
    tooltipMappingName: string;
    /**
     * Specifies the dataSource
     *
     * @default null
     * @isdatamanager false
     */
    dataSource: Object;
    /**
     * The name of the series visible in legend.
     *
     * @default ''
     */
    name: string;
    /**
     * color for series.
     *
     * @default null
     */
    fill: string;
    /**
     * enable or disable the animation of series.
     *
     * @default false
     */
    enableAnimation: boolean;
    /**
     * perform animation of series based on animation duration.
     *
     * @default '2000ms'
     */
    animationDuration: string;
    /**
     * avoid the overlap of dataLabels.
     *
     * @default false
     */
    enableSmartLabels: boolean;
    /**
     * width for series.
     *
     * @default 1
     */
    width: number;
    /**
     * opacity for series.
     *
     * @default 1
     */
    opacity: number;
    /**
     * options for customizing marker
     */
    marker: SeriesMarkerModel;
    /**
     * options for customizing tooltip
     */
    tooltip: SeriesTooltipModel;
}
//node_modules/@syncfusion/ej2-charts/src/smithchart/series/seriesrender.d.ts
export  class SeriesRender {
    xValues: number[];
    yValues: number[];
    pointsRegion: PointRegion[][];
    lineSegments: LineSegment[];
    location: Point[][];
    clipRectElement: Element;
    private dataLabel;
    private processData;
    draw(smithchart: Smithchart, axisRender: AxisRender, bounds: SmithchartRect): void;
    private drawSeries;
    private animateDataLabelTemplate;
    private performAnimation;
    getLocation(seriesindex: number, pointIndex: number): Point;
}
//node_modules/@syncfusion/ej2-charts/src/smithchart/series/tooltip.d.ts
/**
 * To render tooltip
 */
export  class TooltipRender {
    private mouseX;
    private mouseY;
    private locationX;
    private locationY;
    /** To define the tooltip element */
    tooltipElement: svgBase.Tooltip;
    smithchartMouseMove(smithchart: Smithchart, e: PointerEvent): svgBase.Tooltip;
    private setMouseXY;
    private createTooltip;
    private closestPointXY;
    /**
     * Get module name.
     *
     * @returns {string} It returns module name
     */
    protected getModuleName(): string;
    /**
     * To destroy the legend.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/smithchart/smithchart-model.d.ts
/**
 * Interface for a class Smithchart
 */
export interface SmithchartModel extends base.ComponentModel{
    /**
     * render type of smithchart.
     *
     * @default Impedance
     */
    renderType?: RenderType;
    /**
     * width for smithchart.
     *
     * @default ''
     */
    width?: string;
    /**
     * height for smithchart.
     *
     * @default ''
     */
    height?: string;
    /**
     * theme for smithchart.
     *
     * @default Material
     */
    theme?: SmithchartTheme;
    /**
     *  options for customizing margin
     */
    margin?: SmithchartMarginModel;
    /**
     *  options for customizing margin
     */
    font?: SmithchartFontModel;
    /**
     *  options for customizing border
     */
    border?: SmithchartBorderModel;
    /**
     *  options for customizing title
     */
    title?: TitleModel;
    /**
     *  options for customizing series
     */
    series?: SmithchartSeriesModel[];
    /**
     *  options for customizing legend
     */
    legendSettings?: SmithchartLegendSettingsModel;
    /**
     * Options to configure the horizontal axis.
     */
    horizontalAxis?: SmithchartAxisModel;
    /**
     * Options to configure the vertical axis.
     */
    radialAxis?: SmithchartAxisModel;
    /**
     * The background color of the smithchart.
     */
    background?: string;
    /**
     *  Spacing between elements
     *
     * @default 10
     */
    elementSpacing?: number;
    /**
     *  Spacing between elements
     *
     * @default 1
     */
    radius?: number;
    /**
     * Triggers before the prints gets started.
     *
     * @event beforePrint
     */
    beforePrint?: base.EmitType<ISmithchartPrintEventArgs>;
    /**
     * Triggers after the animation completed.
     *
     * @event animationComplete
     */
    animationComplete?: base.EmitType<ISmithchartAnimationCompleteEventArgs>;
    /**
     * Triggers before smithchart rendered.
     *
     * @event load
     */
    load?: base.EmitType<ISmithchartLoadEventArgs>;
    /**
     * Triggers after smithchart rendered.
     *
     * @event loaded
     */
    loaded?: base.EmitType<ISmithchartLoadedEventArgs>;
    /**
     * Triggers before the legend is rendered.
     *
     * @event legendRender
     */
    legendRender?: base.EmitType<ISmithchartLegendRenderEventArgs>;
    /**
     * Triggers before the title is rendered.
     *
     * @event titleRender
     */
    titleRender?: base.EmitType<ITitleRenderEventArgs>;
    /**
     * Triggers before the sub-title is rendered.
     *
     * @event subtitleRender
     */
    subtitleRender?: base.EmitType<ISubTitleRenderEventArgs>;
    /**
     * Triggers before the datalabel text is rendered.
     *
     * @event textRender
     */
    textRender?: base.EmitType<ISmithchartTextRenderEventArgs>;
    /**
     * Triggers before the axis label is rendered
     *
     * @event axisLabelRender
     */
    axisLabelRender?: base.EmitType<ISmithchartAxisLabelRenderEventArgs>;
    /**
     * Triggers before the series is rendered.
     *
     * @event seriesRender
     */
    seriesRender?: base.EmitType<ISmithchartSeriesRenderEventArgs>;
    /**
     * Triggers before the tooltip rendering
     *
     * @event tooltipRender
     */
    tooltipRender?: base.EmitType<ISmithChartTooltipEventArgs>;
}
//node_modules/@syncfusion/ej2-charts/src/smithchart/smithchart.d.ts
/**
 * Represents the Smithchart control.
 * ```html
 * <div id="smithchart"/>
 * <script>
 *   var chartObj = new Smithchart({ isResponsive : true });
 *   chartObj.appendTo("#smithchart");
 * </script>
 * ```
 */
export  class Smithchart extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    /**
     * legend bounds
     */
    legendBounds: SmithchartRect;
    /**
     * area bounds
     */
    bounds: SmithchartRect;
    /**
     * `smithchartLegendModule` is used to add legend to the smithchart.
     */
    smithchartLegendModule: SmithchartLegend;
    /**
     * `tooltipRenderModule` is used to add tooltip to the smithchart.
     */
    tooltipRenderModule: TooltipRender;
    /**
     * render type of smithchart.
     *
     * @default Impedance
     */
    renderType: RenderType;
    /**
     * width for smithchart.
     *
     * @default ''
     */
    width: string;
    /**
     * height for smithchart.
     *
     * @default ''
     */
    height: string;
    /**
     * theme for smithchart.
     *
     * @default Material
     */
    theme: SmithchartTheme;
    /** @private */
    seriesrender: SeriesRender;
    /** @private */
    themeStyle: ISmithchartThemeStyle;
    /** @private */
    availableSize: SmithchartSize;
    /**
     *  options for customizing margin
     */
    margin: SmithchartMarginModel;
    /**
     *  options for customizing margin
     */
    font: SmithchartFontModel;
    /**
     *  options for customizing border
     */
    border: SmithchartBorderModel;
    /**
     *  options for customizing title
     */
    title: TitleModel;
    /**
     *  options for customizing series
     */
    series: SmithchartSeriesModel[];
    /**
     *  options for customizing legend
     */
    legendSettings: SmithchartLegendSettingsModel;
    /**
     * Options to configure the horizontal axis.
     */
    horizontalAxis: SmithchartAxisModel;
    /**
     * Options to configure the vertical axis.
     */
    radialAxis: SmithchartAxisModel;
    /**
     * svg renderer object.
     *
     * @private
     */
    renderer: svgBase.SvgRenderer;
    /** @private */
    svgObject: Element;
    /** @private */
    animateSeries: boolean;
    /** @private */
    seriesColors: string[];
    chartArea: SmithchartRect;
    /**
     * Resize the smithchart
     */
    private resizeTo;
    private isTouch;
    private fadeoutTo;
    /**
     * The background color of the smithchart.
     */
    background: string;
    /**
     *  Spacing between elements
     *
     * @default 10
     */
    elementSpacing: number;
    /**
     *  Spacing between elements
     *
     * @default 1
     */
    radius: number;
    /**
     * Triggers before the prints gets started.
     *
     * @event beforePrint
     */
    beforePrint: base.EmitType<ISmithchartPrintEventArgs>;
    /**
     * Triggers after the animation completed.
     *
     * @event animationComplete
     */
    animationComplete: base.EmitType<ISmithchartAnimationCompleteEventArgs>;
    /**
     * Triggers before smithchart rendered.
     *
     * @event load
     */
    load: base.EmitType<ISmithchartLoadEventArgs>;
    /**
     * Triggers after smithchart rendered.
     *
     * @event loaded
     */
    loaded: base.EmitType<ISmithchartLoadedEventArgs>;
    /**
     * Triggers before the legend is rendered.
     *
     * @event legendRender
     */
    legendRender: base.EmitType<ISmithchartLegendRenderEventArgs>;
    /**
     * Triggers before the title is rendered.
     *
     * @event titleRender
     */
    titleRender: base.EmitType<ITitleRenderEventArgs>;
    /**
     * Triggers before the sub-title is rendered.
     *
     * @event subtitleRender
     */
    subtitleRender: base.EmitType<ISubTitleRenderEventArgs>;
    /**
     * Triggers before the datalabel text is rendered.
     *
     * @event textRender
     */
    textRender: base.EmitType<ISmithchartTextRenderEventArgs>;
    /**
     * Triggers before the axis label is rendered
     *
     * @event axisLabelRender
     */
    axisLabelRender: base.EmitType<ISmithchartAxisLabelRenderEventArgs>;
    /**
     * Triggers before the series is rendered.
     *
     * @event seriesRender
     */
    seriesRender: base.EmitType<ISmithchartSeriesRenderEventArgs>;
    /**
     * Triggers before the tooltip rendering
     *
     * @event tooltipRender
     */
    tooltipRender: base.EmitType<ISmithChartTooltipEventArgs>;
    /**
     * Get component name
     */
    getModuleName(): string;
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @private
     */
    getPersistData(): string;
    /**
     * Method to create SVG element.
     */
    private createChartSvg;
    private renderTitle;
    private renderSubtitle;
    /**
     * Render the smithchart border
     *
     * @private
     */
    private renderBorder;
    /**
     * Called internally if any of the property value changed.
     *
     * @private
     */
    onPropertyChanged(newProp: SmithchartModel, oldProp: SmithchartModel): void;
    /**
     * Constructor for creating the Smithchart widget
     */
    constructor(options?: SmithchartModel, element?: string | HTMLElement);
    /**
     * Initialize the event handler.
     */
    protected preRender(): void;
    private initPrivateVariable;
    /**
     * To Initialize the control rendering.
     */
    private setTheme;
    protected render(): void;
    private createSecondaryElement;
    /**
     * To destroy the widget
     *
     * @returns {void}.
     */
    destroy(): void;
    /**
     * To bind event handlers for smithchart.
     */
    private wireEVents;
    mouseMove(e: PointerEvent): void;
    mouseEnd(e: PointerEvent): void;
    /**
     * To handle the click event for the smithchart.
     */
    smithchartOnClick(e: PointerEvent): void;
    /**
     * To unbind event handlers from smithchart.
     */
    private unWireEVents;
    print(id?: string[] | string | Element): void;
    /**
     * Handles the export method for chart control.
     */
    export(type: SmithchartExportType, fileName: string, orientation?: pdfExport.PdfPageOrientation): void;
    /**
     * To handle the window resize event on smithchart.
     */
    smithchartOnResize(): boolean;
    /**
     * To provide the array of modules needed for smithchart rendering
     *
     * @private
     */
    requiredModules(): base.ModuleDeclaration[];
    /**
     * To Remove the SVG.
     *
     * @private
     */
    removeSvg(): void;
}
//node_modules/@syncfusion/ej2-charts/src/smithchart/title/title-model.d.ts
/**
 * Interface for a class Subtitle
 */
export interface SubtitleModel {
    /**
     * visibility for sub title.
     *
     * @default true
     */
    visible?: boolean;
    /**
     * text for sub title.
     *
     * @default ''
     */
    text?: string;
    /**
     * description for sub title.
     *
     * @default ''
     */
    description?: string;
    /**
     * text alignment for sub title.
     *
     * @default Far
     */
    textAlignment?: SmithchartAlignment;
    /**
     * trim the sub title.
     *
     * @default true
     */
    enableTrim?: boolean;
    /**
     * maximum width of the sub title.
     *
     * @aspDefaultValueIgnore
     * @default null
     */
    maximumWidth?: number;
    /**
     * options for customizing sub title font
     */
    textStyle?: SmithchartFontModel;
}
/**
 * Interface for a class Title
 */
export interface TitleModel {
    /**
     * visibility for title.
     *
     * @default true
     */
    visible?: boolean;
    /**
     * text for title.
     *
     * @default ''
     */
    text?: string;
    /**
     * description for title.
     *
     * @default ''
     */
    description?: string;
    /**
     * text alignment for title.
     *
     * @default Center
     */
    textAlignment?: SmithchartAlignment;
    /**
     * trim the title.
     *
     * @default true
     */
    enableTrim?: boolean;
    /**
     * maximum width of the sub title
     *
     * @aspDefaultValueIgnore
     * @default null
     */
    maximumWidth?: number;
    /**
     * options for customizing sub title
     */
    subtitle?: SubtitleModel;
    /**
     * options for customizing title font
     */
    font?: SmithchartFontModel;
    /**
     * options for customizing title text
     */
    textStyle?: SmithchartFontModel;
}
//node_modules/@syncfusion/ej2-charts/src/smithchart/title/title.d.ts
export  class Subtitle extends base.ChildProperty<Subtitle> {
    /**
     * visibility for sub title.
     *
     * @default true
     */
    visible: boolean;
    /**
     * text for sub title.
     *
     * @default ''
     */
    text: string;
    /**
     * description for sub title.
     *
     * @default ''
     */
    description: string;
    /**
     * text alignment for sub title.
     *
     * @default Far
     */
    textAlignment: SmithchartAlignment;
    /**
     * trim the sub title.
     *
     * @default true
     */
    enableTrim: boolean;
    /**
     * maximum width of the sub title.
     *
     * @aspDefaultValueIgnore
     * @default null
     */
    maximumWidth: number;
    /**
     * options for customizing sub title font
     */
    textStyle: SmithchartFontModel;
}
export  class Title extends base.ChildProperty<Title> {
    /**
     * visibility for title.
     *
     * @default true
     */
    visible: boolean;
    /**
     * text for title.
     *
     * @default ''
     */
    text: string;
    /**
     * description for title.
     *
     * @default ''
     */
    description: string;
    /**
     * text alignment for title.
     *
     * @default Center
     */
    textAlignment: SmithchartAlignment;
    /**
     * trim the title.
     *
     * @default true
     */
    enableTrim: boolean;
    /**
     * maximum width of the sub title
     *
     * @aspDefaultValueIgnore
     * @default null
     */
    maximumWidth: number;
    /**
     * options for customizing sub title
     */
    subtitle: SubtitleModel;
    /**
     * options for customizing title font
     */
    font: SmithchartFontModel;
    /**
     * options for customizing title text
     */
    textStyle: SmithchartFontModel;
}
//node_modules/@syncfusion/ej2-charts/src/smithchart/utils/area.d.ts
export  class AreaBounds {
    yOffset: number;
    calculateAreaBounds(smithchart: Smithchart, title: TitleModel, bounds: SmithchartRect): SmithchartRect;
    private getLegendSpace;
}
//node_modules/@syncfusion/ej2-charts/src/smithchart/utils/enum.d.ts
/**
 * Defines Theme of the smithchart. They are
 * * Material - Render a smithchart with Material theme.
 * * Fabric - Render a smithchart with Fabric theme
 */
export  type SmithchartTheme = 
/**  Render a smithchart with Material theme. */
'Material' | 
/**  Render a smithchart with Fabric theme. */
'Fabric' | 
/**  Render a smithchart with Bootstrap theme. */
'Bootstrap' | 
/**  Render a smithchart with Highcontrast Light theme. */
'HighContrastLight' | 
/**  Render a smithchart with Material Dark theme. */
'MaterialDark' | 
/**  Render a smithchart with Fabric Dark theme. */
'FabricDark' | 
/**  Render a smithchart with Highcontrast Dark theme. */
'HighContrast' | 
/**  Render a smithchart with Bootstrap Dark theme. */
'BootstrapDark' | 
/** Render a smithchart with Bootstrap4 theme. */
'Bootstrap4' | 
/**  Render a smithchart with Tailwind theme. */
'Tailwind' | 
/**  Render a smithchart with TailwindDark theme. */
'TailwindDark' | 
/**  Render a smithchart with Bootstrap5 theme. */
'Bootstrap5' | 
/**  Render a smithchart with Bootstrap5Dark theme. */
'Bootstrap5Dark' | 
/**  Render a smithchart with Fluent theme. */
'Fluent' | 
/**  Render a smithchart with FluentDark theme. */
'FluentDark';
/**
 * Defines render type of smithchart. They are
 * * Impedance - Render a smithchart with Impedance type.
 * * Admittance - Render a smithchart with Admittance type.
 */
export  type RenderType = 
/**  Render a smithchart with Impedance type. */
'Impedance' | 
/**  Render a smithchart with Admittance type. */
'Admittance';
export  type AxisLabelPosition = 
/**  Render a axis label with label position as outside. */
'Outside' | 
/**  Render a axis label with label position as outside. */
'Inside';
export  type SmithchartLabelIntersectAction = 
/**  Hide the overlapped axis label. */
'Hide' | 
/**  Render the overlapped axis label */
'None';
/**
 * Defines the Alignment. They are
 * * near - Align the element to the left.
 * * center - Align the element to the center.
 * * far - Align the element to the right.
 * *
 */
export  type SmithchartAlignment = 
/** Define the left alignment. */
'Near' | 
/** Define the center alignment. */
'Center' | 
/** Define the right alignment. */
'Far';
export  type SmithchartExportType = 
/** Used to export a image as png format */
'PNG' | 
/** Used to export a image as jpeg format */
'JPEG' | 
/** Used to export a file as svg format */
'SVG' | 
/** Used to export a file as pdf format */
'PDF';
/**
 * Specifies TreeMap beforePrint event name.
 *
 * @private
 */
export  const smithchartBeforePrint: string;
//node_modules/@syncfusion/ej2-charts/src/smithchart/utils/export.d.ts
/**
 * Annotation Module handles the Annotation for Maps
 */
export  class ExportUtils1 {
    private control;
    private smithchartPrint;
    /**
     * Constructor for Maps
     *
     * @param {Smithchart} control smithchart instance
     */
    constructor(control: Smithchart);
    /**
     * To print the Maps
     *
     * @param {string} elements html element
     * @returns {void}
     */
    print(elements?: string[] | string | Element): void;
    /**
     * To get the html string of the Maps
     *
     * @param {string} svgElements svg element
     * @private
     * @returns {Element} content of the html element
     */
    getHTMLContent(svgElements?: string[] | string | Element): Element;
    /**
     * To export the file as image/svg format
     *
     * @param {SmithchartExportType} exportType export type
     * @param {string} fileName export file name
     * @param {pdfExport.PdfPageOrientation} orientation orientation of the page
     * @returns {void}
     */
    export(exportType: SmithchartExportType, fileName: string, orientation?: pdfExport.PdfPageOrientation): void;
    /**
     * To trigger the download element
     *
     * @param {string} fileName export file name
     * @param {SmithchartExportType} exportType export type
     * @param {string} url file url
     * @param {boolean} isDownload download
     */
    triggerDownload(fileName: string, exportType: SmithchartExportType, url: string, isDownload: boolean): void;
}
//node_modules/@syncfusion/ej2-charts/src/smithchart/utils/helper.d.ts
/**
 * To create the svg element.
 *
 * @param {Smithchart} smithchart smithchart instance
 * @returns {void}
 */
export  function createSvg(smithchart: Smithchart): void;
/**
 * To get the html element from DOM.
 *
 * @param {string} id id of the html element
 * @returns {Element} html element.
 */
export  function getElement(id: string): Element;
/**
 * To trim the text by given width.
 *
 * @param {number} maximumWidth max width of the text
 * @param {string} text text
 * @param {SmithchartFontModel} font text style
 * @returns {string} It returns trimmed text
 */
export  function textTrim(maximumWidth: number, text: string, font: SmithchartFontModel): string;
/**
 * Function to compile the template function for maps.
 *
 * @param {string} templateString template with string format
 * @returns {Function} return template function
 * @private
 */
export  function getTemplateFunction(templateString: string): Function;
/**
 * Get element from label
 *
 * @param {Element} element element
 * @param {string} labelId label id
 * @param {object} data chart data
 * @returns {HTMLElement} html element
 */
export  function convertElementFromLabel(element: Element, labelId: string, data: object): HTMLElement;
/**
 * Get epsilon value
 *
 * @returns {number} return epsilon value
 */
export  function _getEpsilonValue(): number;
/**
 * Method to calculate the width and height of the smithchart
 *
 * @param {Smithchart} smithchart smithchart instance
 * @returns {void}
 */
export  function calculateSize(smithchart: Smithchart): void;
/**
 * Method for template animation
 *
 * @param {Smithchart} smithchart smithchart
 * @param {Element} element html element
 * @param {number} delay animation delay
 * @param {number} duration animation duration
 * @param {base.Effect} name animation name
 * @returns {void}
 */
export  function templateAnimate(smithchart: Smithchart, element: Element, delay: number, duration: number, name: base.Effect): void;
/**
 * Convert string to number
 *
 * @param {string} value string type value
 * @param {number} containerSize size of the container
 * @returns {number} returns converted number
 */
export  function stringToNumber(value: string, containerSize: number): number;
/**
 * Internal use of path options
 *
 * @private
 */
export  class PathOption {
    id: string;
    opacity: number;
    fill: string;
    stroke: string;
    ['stroke-width']: number;
    ['stroke-dasharray']: string;
    d: string;
    constructor(id: string, fill: string, width: number, color: string, opacity?: number, dashArray?: string, d?: string);
}
/**
 * Internal use of rectangle options
 *
 * @private
 */
export  class RectOption1 extends PathOption {
    x: number;
    y: number;
    height: number;
    width: number;
    transform: string;
    constructor(id: string, fill: string, border: SmithchartBorderModel, opacity: number, rect: SmithchartRect);
}
/**
 * Internal use of circle options
 *
 * @private
 */
export  class CircleOption1 extends PathOption {
    cy: number;
    cx: number;
    r: number;
    ['stroke-dasharray']: string;
    constructor(id: string, fill: string, border: SmithchartBorderModel, opacity: number, cx: number, cy: number, r: number, dashArray: string);
}
/**
 * Method for calculate width and height of given string.
 *
 * @param {string} text text value
 * @param {SmithchartFontModel} font text font style
 * @returns {SmithchartSize} size of the text
 */
export  function measureText(text: string, font: SmithchartFontModel): SmithchartSize;
/**
 * Internal use of text options
 *
 * @private
 */
export  class TextOption {
    id: string;
    anchor: string;
    text: string;
    x: number;
    y: number;
    constructor(id?: string, x?: number, y?: number, anchor?: string, text?: string);
}
/**
 * Remove html element from DOM
 *
 * @param {string} id element id
 * @returns {void}
 */
export  function removeElement(id: string): void;
/**
 * Animation base.Effect Calculation Started Here
 *
 * @param {number} currentTime current time
 * @param {number} startValue start value of the animation
 * @param {number} endValue end value of the animation
 * @param {number} duration animation duration
 * @returns {number} number
 * @private
 */
export  function linear(currentTime: number, startValue: number, endValue: number, duration: number): number;
/**
 * Reverse linear calculation
 *
 * @param {number} currentTime current time
 * @param {number} startValue start value of the animation
 * @param {number} endValue end value of the animation
 * @param {number} duration animation duration
 * @returns {number} number
 */
export  function reverselinear(currentTime: number, startValue: number, endValue: number, duration: number): number;
/**
 * Get animation function name
 *
 * @param {string} effect animation effect name
 * @returns {Function} animation function
 * @private
 */
export  function getAnimationFunction(effect: string): Function;
/**
 * Internal rendering of text
 *
 * @param {TextOption} options text element options
 * @param {SmithchartFontModel} font text font style
 * @param {string} color color of the text
 * @param {HTMLElement} parent parent element of the text
 * @returns {Element} text element
 * @private
 */
export  function renderTextElement(options: TextOption, font: SmithchartFontModel, color: string, parent: HTMLElement | Element): Element;
//node_modules/@syncfusion/ej2-charts/src/smithchart/utils/utils-model.d.ts
/**
 * Interface for a class SmithchartFont
 */
export interface SmithchartFontModel {
    /**
     * font family for text.
     */
    fontFamily?: string;
    /**
     * font style for text.
     *
     * @default 'Normal'
     */
    fontStyle?: string;
    /**
     * font weight for text.
     *
     * @default 'Regular'
     */
    fontWeight?: string;
    /**
     * Color for the text.
     *
     * @default ''
     */
    color?: string;
    /**
     * font size for text.
     *
     * @default '12px'
     */
    size?: string;
    /**
     * font opacity for text.
     *
     * @default 1
     */
    opacity?: number;
}
/**
 * Interface for a class SmithchartMargin
 */
export interface SmithchartMarginModel {
    /**
     * top margin of chartArea.
     *
     * @default 10
     */
    top?: number;
    /**
     * bottom margin of chartArea.
     *
     * @default 10
     */
    bottom?: number;
    /**
     * right margin of chartArea.
     *
     * @default 10
     */
    right?: number;
    /**
     * left margin of chartArea.
     *
     * @default 10
     */
    left?: number;
}
/**
 * Interface for a class SmithchartBorder
 */
export interface SmithchartBorderModel {
    /**
     * width for smithchart border.
     *
     * @default 0
     */
    width?: number;
    /**
     * opacity for smithchart border.
     *
     * @default 1
     */
    opacity?: number;
    /**
     * color for smithchart border .
     *
     * @default 'transparent'
     */
    color?: string;
}
/**
 * Interface for a class SmithchartRect
 */
export interface SmithchartRectModel {
}
/**
 * Interface for a class LabelCollection
 */
export interface LabelCollectionModel {
}
/**
 * Interface for a class LegendSeries
 */
export interface LegendSeriesModel {
}
/**
 * Interface for a class LabelRegion
 */
export interface LabelRegionModel {
}
/**
 * Interface for a class HorizontalLabelCollection
 */
export interface HorizontalLabelCollectionModel extends LabelCollectionModel{
}
/**
 * Interface for a class RadialLabelCollections
 */
export interface RadialLabelCollectionsModel extends HorizontalLabelCollectionModel{
}
/**
 * Interface for a class LineSegment
 */
export interface LineSegmentModel {
}
/**
 * Interface for a class PointRegion
 */
export interface PointRegionModel {
}
/**
 * Interface for a class Point
 */
export interface PointModel {
}
/**
 * Interface for a class ClosestPoint
 */
export interface ClosestPointModel {
}
/**
 * Interface for a class MarkerOptions
 */
export interface MarkerOptionsModel {
}
/**
 * Interface for a class SmithchartLabelPosition
 */
export interface SmithchartLabelPositionModel {
}
/**
 * Interface for a class Direction
 */
export interface DirectionModel {
}
/**
 * Interface for a class DataLabelTextOptions
 */
export interface DataLabelTextOptionsModel {
}
/**
 * Interface for a class LabelOption
 */
export interface LabelOptionModel {
}
/**
 * Interface for a class SmithchartSize
 * @private
 */
export interface SmithchartSizeModel {
}
/**
 * Interface for a class GridArcPoints
 * @private
 */
export interface GridArcPointsModel {
}
//node_modules/@syncfusion/ej2-charts/src/smithchart/utils/utils.d.ts
export  class SmithchartFont extends base.ChildProperty<SmithchartFont> {
    /**
     * font family for text.
     */
    fontFamily: string;
    /**
     * font style for text.
     *
     * @default 'Normal'
     */
    fontStyle: string;
    /**
     * font weight for text.
     *
     * @default 'Regular'
     */
    fontWeight: string;
    /**
     * Color for the text.
     *
     * @default ''
     */
    color: string;
    /**
     * font size for text.
     *
     * @default '12px'
     */
    size: string;
    /**
     * font opacity for text.
     *
     * @default 1
     */
    opacity: number;
}
export  class SmithchartMargin extends base.ChildProperty<SmithchartMargin> {
    /**
     * top margin of chartArea.
     *
     * @default 10
     */
    top: number;
    /**
     * bottom margin of chartArea.
     *
     * @default 10
     */
    bottom: number;
    /**
     * right margin of chartArea.
     *
     * @default 10
     */
    right: number;
    /**
     * left margin of chartArea.
     *
     * @default 10
     */
    left: number;
}
export  class SmithchartBorder extends base.ChildProperty<SmithchartBorder> {
    /**
     * width for smithchart border.
     *
     * @default 0
     */
    width: number;
    /**
     * opacity for smithchart border.
     *
     * @default 1
     */
    opacity: number;
    /**
     * color for smithchart border .
     *
     * @default 'transparent'
     */
    color: string;
}
/**
 * Internal use of type rect
 */
export  class SmithchartRect {
    /** x value for rect */
    x: number;
    y: number;
    width: number;
    height: number;
    constructor(x: number, y: number, width: number, height: number);
}
export  class LabelCollection {
    centerX: number;
    centerY: number;
    radius: number;
    value: number;
}
export  class LegendSeries {
    text: string;
    seriesIndex: number;
    shape: string;
    fill: string;
    bounds: SmithchartSize;
}
export  class LabelRegion {
    bounds: SmithchartRect;
    labelText: string;
}
export  class HorizontalLabelCollection extends LabelCollection {
    region: LabelRegion;
}
export  class RadialLabelCollections extends HorizontalLabelCollection {
    angle: number;
}
export  class LineSegment {
    x1: number;
    x2: number;
    y1: number;
    y2: number;
}
export  class PointRegion {
    point: Point;
    x: number;
    y: number;
}
/**
 * Smithchart internal class for point
 */
export  class Point {
    x: number;
    y: number;
}
export  class ClosestPoint {
    location: Point;
    index: number;
}
export  class MarkerOptions {
    id: string;
    fill: string;
    opacity: number;
    borderColor: string;
    borderWidth: number;
    constructor(id?: string, fill?: string, borderColor?: string, borderWidth?: number, opacity?: number);
}
export  class SmithchartLabelPosition {
    textX: number;
    textY: number;
    x: number;
    y: number;
}
export  class Direction {
    counterclockwise: number;
    clockwise: number;
}
export  class DataLabelTextOptions {
    id: string;
    x: number;
    y: number;
    text: string;
    fill: string;
    font: SmithchartFontModel;
    xPosition: number;
    yPosition: number;
    width: number;
    height: number;
    location: Point;
    labelOptions: SmithchartLabelPosition;
    visible: boolean;
    connectorFlag: boolean;
}
export  class LabelOption {
    textOptions: DataLabelTextOptions[];
}
/** @private */
export  class SmithchartSize {
    height: number;
    width: number;
    constructor(width: number, height: number);
}
export  class GridArcPoints {
    startPoint: Point;
    endPoint: Point;
    rotationAngle: number;
    sweepDirection: number;
    isLargeArc: boolean;
    size: SmithchartSize;
}
//node_modules/@syncfusion/ej2-charts/src/sparkline/index.d.ts
/**
 * Exporting all modules from Sparkline Component
 */
//node_modules/@syncfusion/ej2-charts/src/sparkline/model/base-model.d.ts
/**
 * Interface for a class SparklineBorder
 */
export interface SparklineBorderModel {
    /**
     * The color of the border that accepts value in hex and rgba as a valid CSS color string.
     */
    color?: string;
    /**
     * The width of the border in pixels.
     */
    width?: number;
}
/**
 * Interface for a class SparklineFont
 */
export interface SparklineFontModel {
    /**
     * Font size for the text.
     */
    size?: string;
    /**
     * Color for the text.
     */
    color?: string;
    /**
     * FontFamily for the text.
     */
    fontFamily?: string;
    /**
     * FontWeight for the text.
     */
    fontWeight?: string;
    /**
     * FontStyle for the text.
     */
    fontStyle?: string;
    /**
     * Opacity for the text.
     *
     * @default 1
     */
    opacity?: number;
}
/**
 * Interface for a class TrackLineSettings
 */
export interface TrackLineSettingsModel {
    /**
     * Toggle the tracker line visibility.
     *
     * @default false
     */
    visible?: boolean;
    /**
     * To config the tracker line color.
     */
    color?: string;
    /**
     * To config the tracker line width.
     *
     * @default 1
     */
    width?: number;
}
/**
 * Interface for a class SparklineTooltipSettings
 */
export interface SparklineTooltipSettingsModel {
    /**
     * Toggle the tooltip visibility.
     *
     * @default false
     */
    visible?: boolean;
    /**
     * To customize the tooltip fill color.
     */
    fill?: string;
    /**
     * To customize the tooltip template.
     */
    template?: string;
    /**
     * To customize the tooltip format.
     */
    format?: string;
    /**
     * To configure tooltip border color and width.
     */
    border?: SparklineBorderModel;
    /**
     * To configure tooltip text styles.
     */
    textStyle?: SparklineFontModel;
    /**
     * To configure the tracker line options.
     */
    trackLineSettings?: TrackLineSettingsModel;
}
/**
 * Interface for a class ContainerArea
 */
export interface ContainerAreaModel {
    /**
     * To configure Sparkline background color.
     *
     * @default 'transparent'
     */
    background?: string;
    /**
     * To configure Sparkline border color and width.
     */
    border?: SparklineBorderModel;
}
/**
 * Interface for a class LineSettings
 */
export interface LineSettingsModel {
    /**
     * To toggle the axis line visibility.
     *
     * @default `false`
     */
    visible?: boolean;
    /**
     * To configure the sparkline axis line color.
     */
    color?: string;
    /**
     * To configure the sparkline axis line dashArray.
     *
     * @default ''
     */
    dashArray?: string;
    /**
     * To configure the sparkline axis line width.
     *
     * @default 1.
     */
    width?: number;
    /**
     * To configure the sparkline axis line opacity.
     *
     * @default 1.
     */
    opacity?: number;
}
/**
 * Interface for a class RangeBandSettings
 */
export interface RangeBandSettingsModel {
    /**
     * To configure sparkline start range
     *
     * @aspDefaultValueIgnore
     */
    startRange?: number;
    /**
     * To configure sparkline end range
     *
     * @aspDefaultValueIgnore
     */
    endRange?: number;
    /**
     * To configure sparkline rangeband color
     */
    color?: string;
    /**
     * To configure sparkline rangeband opacity
     *
     * @default 1
     */
    opacity?: number;
}
/**
 * Interface for a class AxisSettings
 */
export interface AxisSettingsModel {
    /**
     * To configure Sparkline x axis min value.
     *
     * @aspDefaultValueIgnore
     */
    minX?: number;
    /**
     * To configure Sparkline x axis max value.
     *
     * @aspDefaultValueIgnore
     */
    maxX?: number;
    /**
     * To configure Sparkline y axis min value.
     *
     * @aspDefaultValueIgnore
     */
    minY?: number;
    /**
     * To configure Sparkline y axis max value.
     *
     * @aspDefaultValueIgnore
     */
    maxY?: number;
    /**
     * To configure Sparkline horizontal axis line position.
     *
     * @default 0
     */
    value?: number;
    /**
     * To configure Sparkline axis line settings.
     */
    lineSettings?: LineSettingsModel;
}
/**
 * Interface for a class Padding
 */
export interface PaddingModel {
    /**
     * To configure Sparkline left padding.
     *
     * @default 5
     */
    left?: number;
    /**
     * To configure Sparkline right padding.
     *
     * @default 5
     */
    right?: number;
    /**
     * To configure Sparkline bottom padding.
     *
     * @default 5
     */
    bottom?: number;
    /**
     * To configure Sparkline top padding.
     *
     * @default 5
     */
    top?: number;
}
/**
 * Interface for a class SparklineMarkerSettings
 */
export interface SparklineMarkerSettingsModel {
    /**
     * To toggle the marker visibility.
     *
     * @default `[]`.
     */
    visible?: VisibleType[];
    /**
     * To configure the marker opacity.
     *
     * @default 1
     */
    opacity?: number;
    /**
     * To configure the marker size.
     *
     * @default 5
     */
    size?: number;
    /**
     * To configure the marker fill color.
     *
     * @default '#00bdae'
     */
    fill?: string;
    /**
     * To configure Sparkline marker border color and width.
     */
    border?: SparklineBorderModel;
}
/**
 * Interface for a class LabelOffset
 */
export interface LabelOffsetModel {
    /**
     * To move the datalabel horizontally.
     */
    x?: number;
    /**
     * To move the datalabel vertically.
     */
    y?: number;
}
/**
 * Interface for a class SparklineDataLabelSettings
 */
export interface SparklineDataLabelSettingsModel {
    /**
     * To toggle the dataLabel visibility.
     *
     * @default `[]`.
     */
    visible?: VisibleType[];
    /**
     * To configure the dataLabel opacity.
     *
     * @default 1
     */
    opacity?: number;
    /**
     * To configure the dataLabel fill color.
     *
     * @default 'transparent'
     */
    fill?: string;
    /**
     * To configure the dataLabel format the value.
     *
     * @default ''
     */
    format?: string;
    /**
     * To configure Sparkline dataLabel border color and width.
     */
    border?: SparklineBorderModel;
    /**
     * To configure Sparkline dataLabel text styles.
     */
    textStyle?: SparklineFontModel;
    /**
     * To configure Sparkline dataLabel offset.
     */
    offset?: LabelOffsetModel;
    /**
     * To change the edge dataLabel placement.
     *
     * @default 'None'.
     */
    edgeLabelMode?: EdgeLabelMode;
}
//node_modules/@syncfusion/ej2-charts/src/sparkline/model/base.d.ts
/**
 * Sparkline base API Class declarations.
 */
/**
 * Configures the borders in the Sparkline.
 */
export  class SparklineBorder extends base.ChildProperty<SparklineBorder> {
    /**
     * The color of the border that accepts value in hex and rgba as a valid CSS color string.
     */
    color: string;
    /**
     * The width of the border in pixels.
     */
    width: number;
}
/**
 * Configures the fonts in sparklines.
 */
export  class SparklineFont extends base.ChildProperty<SparklineFont> {
    /**
     * Font size for the text.
     */
    size: string;
    /**
     * Color for the text.
     */
    color: string;
    /**
     * FontFamily for the text.
     */
    fontFamily: string;
    /**
     * FontWeight for the text.
     */
    fontWeight: string;
    /**
     * FontStyle for the text.
     */
    fontStyle: string;
    /**
     * Opacity for the text.
     *
     * @default 1
     */
    opacity: number;
}
/**
 * To configure the tracker line settings.
 */
export  class TrackLineSettings extends base.ChildProperty<TrackLineSettings> {
    /**
     * Toggle the tracker line visibility.
     *
     * @default false
     */
    visible: boolean;
    /**
     * To config the tracker line color.
     */
    color: string;
    /**
     * To config the tracker line width.
     *
     * @default 1
     */
    width: number;
}
/**
 * To configure the tooltip settings for sparkline.
 */
export  class SparklineTooltipSettings extends base.ChildProperty<SparklineTooltipSettings> {
    /**
     * Toggle the tooltip visibility.
     *
     * @default false
     */
    visible: boolean;
    /**
     * To customize the tooltip fill color.
     */
    fill: string;
    /**
     * To customize the tooltip template.
     */
    template: string;
    /**
     * To customize the tooltip format.
     */
    format: string;
    /**
     * To configure tooltip border color and width.
     */
    border: SparklineBorderModel;
    /**
     * To configure tooltip text styles.
     */
    textStyle: SparklineFontModel;
    /**
     * To configure the tracker line options.
     */
    trackLineSettings: TrackLineSettingsModel;
}
/**
 * To configure the sparkline container area customization
 */
export  class ContainerArea extends base.ChildProperty<ContainerArea> {
    /**
     * To configure Sparkline background color.
     *
     * @default 'transparent'
     */
    background: string;
    /**
     * To configure Sparkline border color and width.
     */
    border: SparklineBorderModel;
}
/**
 * To configure axis line settings
 */
export  class LineSettings extends base.ChildProperty<LineSettings> {
    /**
     * To toggle the axis line visibility.
     *
     * @default `false`
     */
    visible: boolean;
    /**
     * To configure the sparkline axis line color.
     */
    color: string;
    /**
     * To configure the sparkline axis line dashArray.
     *
     * @default ''
     */
    dashArray: string;
    /**
     * To configure the sparkline axis line width.
     *
     * @default 1.
     */
    width: number;
    /**
     * To configure the sparkline axis line opacity.
     *
     * @default 1.
     */
    opacity: number;
}
/**
 * To configure the sparkline rangeband
 */
export  class RangeBandSettings extends base.ChildProperty<RangeBandSettings> {
    /**
     * To configure sparkline start range
     *
     * @aspDefaultValueIgnore
     */
    startRange: number;
    /**
     * To configure sparkline end range
     *
     * @aspDefaultValueIgnore
     */
    endRange: number;
    /**
     * To configure sparkline rangeband color
     */
    color: string;
    /**
     * To configure sparkline rangeband opacity
     *
     * @default 1
     */
    opacity: number;
}
/**
 * To configure the sparkline axis
 */
export  class AxisSettings extends base.ChildProperty<AxisSettings> {
    /**
     * To configure Sparkline x axis min value.
     *
     * @aspDefaultValueIgnore
     */
    minX: number;
    /**
     * To configure Sparkline x axis max value.
     *
     * @aspDefaultValueIgnore
     */
    maxX: number;
    /**
     * To configure Sparkline y axis min value.
     *
     * @aspDefaultValueIgnore
     */
    minY: number;
    /**
     * To configure Sparkline y axis max value.
     *
     * @aspDefaultValueIgnore
     */
    maxY: number;
    /**
     * To configure Sparkline horizontal axis line position.
     *
     * @default 0
     */
    value: number;
    /**
     * To configure Sparkline axis line settings.
     */
    lineSettings: LineSettingsModel;
}
/**
 * To configure the sparkline padding.
 */
export  class Padding extends base.ChildProperty<Padding> {
    /**
     * To configure Sparkline left padding.
     *
     * @default 5
     */
    left: number;
    /**
     * To configure Sparkline right padding.
     *
     * @default 5
     */
    right: number;
    /**
     * To configure Sparkline bottom padding.
     *
     * @default 5
     */
    bottom: number;
    /**
     * To configure Sparkline top padding.
     *
     * @default 5
     */
    top: number;
}
/**
 * To configure the sparkline marker options.
 */
export  class SparklineMarkerSettings extends base.ChildProperty<SparklineMarkerSettings> {
    /**
     * To toggle the marker visibility.
     *
     * @default `[]`.
     */
    visible: VisibleType[];
    /**
     * To configure the marker opacity.
     *
     * @default 1
     */
    opacity: number;
    /**
     * To configure the marker size.
     *
     * @default 5
     */
    size: number;
    /**
     * To configure the marker fill color.
     *
     * @default '#00bdae'
     */
    fill: string;
    /**
     * To configure Sparkline marker border color and width.
     */
    border: SparklineBorderModel;
}
/**
 * To configure the datalabel offset
 */
export  class LabelOffset extends base.ChildProperty<LabelOffset> {
    /**
     * To move the datalabel horizontally.
     */
    x: number;
    /**
     * To move the datalabel vertically.
     */
    y: number;
}
/**
 * To configure the sparkline dataLabel options.
 */
export  class SparklineDataLabelSettings extends base.ChildProperty<SparklineDataLabelSettings> {
    /**
     * To toggle the dataLabel visibility.
     *
     * @default `[]`.
     */
    visible: VisibleType[];
    /**
     * To configure the dataLabel opacity.
     *
     * @default 1
     */
    opacity: number;
    /**
     * To configure the dataLabel fill color.
     *
     * @default 'transparent'
     */
    fill: string;
    /**
     * To configure the dataLabel format the value.
     *
     * @default ''
     */
    format: string;
    /**
     * To configure Sparkline dataLabel border color and width.
     */
    border: SparklineBorderModel;
    /**
     * To configure Sparkline dataLabel text styles.
     */
    textStyle: SparklineFontModel;
    /**
     * To configure Sparkline dataLabel offset.
     */
    offset: LabelOffsetModel;
    /**
     * To change the edge dataLabel placement.
     *
     * @default 'None'.
     */
    edgeLabelMode: EdgeLabelMode;
}
//node_modules/@syncfusion/ej2-charts/src/sparkline/model/enum.d.ts
/**
 * Sparkline Enum
 */
/**
 * Specifies the sparkline types.
 * `Line`, `Column`, `WinLoss`, `Pie` and `Area`.
 */
export  type SparklineType = 
/** Define the Sparkline Line type series. */
'Line' | 
/** Define the Sparkline Column type series. */
'Column' | 
/** Define the Sparkline WinLoss type series. */
'WinLoss' | 
/** Define the Sparkline Pie type series. */
'Pie' | 
/** Define the Sparkline Area type series. */
'Area';
/**
 * Defines the range padding of series
 * `None`, `Normal`, `Additional`, `Additional`
 */
export  type SparklineRangePadding = 
/** Define the Sparkline Line type series. */
'None' | 
/** Define the Sparkline Column type series. */
'Normal' | 
/** Define the Sparkline WinLoss type series. */
'Additional';
/**
 * Specifies the sparkline data value types.
 * `Numeric`, `Category` and `DateTime`.
 */
export  type SparklineValueType = 
/** Define the Sparkline Numeric value type series. */
'Numeric' | 
/** Define the Sparkline Category value type series. */
'Category' | 
/** Define the Sparkline DateTime value type series. */
'DateTime';
/**
 * Specifies the sparkline marker | datalabel visible types.
 * `All`,  `High`,  `Low`,  `Start`,  `End`,  `Negative` and `None`.
 */
export  type VisibleType = 
/** Define the Sparkline marker | datalabel  Visbile All type */
'All' | 
/** Define the Sparkline marker | datalabel Visbile High type */
'High' | 
/** Define the Sparkline marker | datalabel Visbile Low type */
'Low' | 
/** Define the Sparkline marker | datalabel Visbile Start type */
'Start' | 
/** Define the Sparkline marker | datalabel Visbile End type */
'End' | 
/** Define the Sparkline marker | datalabel Visbile Negative type */
'Negative' | 
/** Define the Sparkline marker | datalabel Visbile None type */
'None';
/**
 * Defines Theme of the sparkline. They are
 * * Material - Render a sparkline with Material theme.
 * * Fabric - Render a sparkline with Fabric theme
 * * Bootstrap - Render a sparkline with Bootstrap theme
 * * HighContrast - Render a sparkline with HighContrast theme
 * * Dark - Render a sparkline with Dark theme
 */
export  type SparklineTheme = 
/**  Render a sparkline with Material theme. */
'Material' | 
/**  Render a sparkline with Fabric theme. */
'Fabric' | 
/**  Render a sparkline with Bootstrap theme. */
'Bootstrap' | 
/**  Render a sparkline with HighContrast Light theme. */
'HighContrastLight' | 
/**  Render a sparkline with Material Dark theme. */
'MaterialDark' | 
/**  Render a sparkline with Fabric Dark theme. */
'FabricDark' | 
/**  Render a sparkline with Highcontrast Dark theme. */
'HighContrast' | 
/**  Render a sparkline with Bootstrap Dark theme. */
'BootstrapDark' | 
/** Render a sparkline with Bootstrap4 theme. */
'Bootstrap4' | 
/**  Render a sparkline with Tailwind theme. */
'Tailwind' | 
/**  Render a sparkline with TailwindDark theme. */
'TailwindDark' | 
/**  Render a sparkline with Bootstrap5 theme. */
'Bootstrap5' | 
/**  Render a sparkline with Bootstrap5Dark theme. */
'Bootstrap5Dark' | 
/**  Render a sparkline with Fluent theme. */
'Fluent' | 
/**  Render a sparkline with FluentDark theme. */
'FluentDark';
/**
 * Defines edge data label placement for datalabel, if exceeds the sparkline area horizontally.
 * * None - Edge data label shown as clipped text.
 * * Shift - Edge data label moved inside the sparkline area.
 * * Hide - Edge data label will hide, if exceeds the sparkline area.
 */
export  type EdgeLabelMode = 
/** Edge data label shown as clipped text */
'None' | 
/** Edge data label moved inside the sparkline area */
'Shift' | 
/** Edge data label will hide, if exceeds the sparkline area */
'Hide';
//node_modules/@syncfusion/ej2-charts/src/sparkline/model/interface.d.ts
/**
 * Sparkline interface file.
 */
/**
 * Specifies sparkline Events
 *
 * @private
 */
export interface ISparklineEventArgs {
    /** Defines the name of the event */
    name: string;
    /** Defines the event cancel status */
    cancel: boolean;
}
/**
 * Specifies the interface for themes.
 */
export interface IThemes {
    /** Defines the color of the axis line */
    axisLineColor: string;
    /** Defines the color of the range band */
    rangeBandColor: string;
    /** Defines the font color of the data labels */
    dataLabelColor: string;
    /** Defines the background color of the tooltip */
    tooltipFill: string;
    /** Defines the font color of the tooltip */
    tooltipFontColor: string;
    /** Defines the background color of the sparkline */
    background: string;
    /** Defines the color of the tracker line */
    trackerLineColor: string;
    /** Defines the font style of the text */
    fontFamily?: string;
    /** Defines the tooltip fill color opacity */
    tooltipFillOpacity?: number;
    /** Defines the tooltip text opacity */
    tooltipTextOpacity?: number;
    /** Defines the label font style */
    labelFontFamily?: string;
}
/**
 * Specifies the Loaded Event arguments.
 */
export interface ISparklineLoadedEventArgs extends ISparklineEventArgs {
    /** Defines the current sparkline instance */
    sparkline: Sparkline;
}
/**
 * Specifies the Load Event arguments.
 */
export interface ISparklineLoadEventArgs extends ISparklineEventArgs {
    /** Defines the current sparkline instance */
    sparkline: Sparkline;
}
/**
 * Specifies the axis rendering Event arguments.
 */
export interface IAxisRenderingEventArgs extends ISparklineEventArgs {
    /** Defines the current sparkline instance */
    sparkline: Sparkline;
    /** Defines the sparkline axis min x */
    minX: number;
    /** Defines the sparkline axis max x */
    maxX: number;
    /** Defines the sparkline axis min y */
    minY: number;
    /** Defines the sparkline axis max y */
    maxY: number;
    /** Defines the sparkline axis value */
    value: number;
    /** Defines the sparkline axis line color */
    lineColor: string;
    /** Defines the sparkline axis line width */
    lineWidth: number;
}
/**
 * Specifies the sparkline series rendering Event arguments.
 */
export interface ISeriesRenderingEventArgs extends ISparklineEventArgs {
    /** Defines the current sparkline instance */
    sparkline: Sparkline;
    /** Defines the sparkline series fill color */
    fill: string;
    /** Defines the sparkline series line width for applicable line and area. */
    lineWidth: number;
    /** Defines the current sparkline series border */
    border: SparklineBorderModel;
}
/**
 * Specifies the sparkline point related Event arguments.
 */
export interface ISparklinePointEventArgs extends ISparklineEventArgs {
    /** Defines the current sparkline instance */
    sparkline?: Sparkline;
    /** Defines the current sparkline point index */
    pointIndex: number;
    /** Defines the current sparkline point fill color */
    fill: string;
    /** Defines the current sparkline point border */
    border: SparklineBorderModel;
}
/**
 * Specifies the sparkline mouse related Event arguments.
 */
export interface ISparklineMouseEventArgs extends ISparklineEventArgs {
    /** Defines the current sparkline instance */
    sparkline?: Sparkline;
    /** Defines the current sparkline mouse event */
    event: PointerEvent | MouseEvent;
}
/**
 * Specifies the sparkline mouse point region Event arguments.
 */
export interface IPointRegionEventArgs extends ISparklineEventArgs {
    /** Defines the current sparkline instance */
    sparkline?: Sparkline;
    /** Defines the sparkline point index region event  */
    pointIndex: number;
    /** Defines the current sparkline mouse event */
    event: PointerEvent | MouseEvent;
}
/**
 * Specifies the sparkline datalabel rendering Event arguments.
 */
export interface IDataLabelRenderingEventArgs extends ISparklineEventArgs {
    /** Defines the current sparkline instance */
    sparkline?: Sparkline;
    /** Defines the current sparkline label text */
    text?: string;
    /** Defines the current sparkline label text location x */
    x?: number;
    /** Defines the current sparkline label text location y */
    y?: number;
    /** Defines the current sparkline label text color */
    color: string;
    /** Defines the current sparkline label rect fill color */
    fill: string;
    /** Defines the current sparkline label rect border */
    border?: SparklineBorderModel;
    /** Defines the current sparkline label point index */
    pointIndex: number;
}
/**
 * Specifies the sparkline marker rendering Event arguments.
 */
export interface IMarkerRenderingEventArgs extends ISparklineEventArgs {
    /** Defines the current sparkline instance */
    sparkline?: Sparkline;
    /** Defines the current sparkline marker location x */
    x: number;
    /** Defines the current sparkline marker location y */
    y: number;
    /** Defines the sparkline marker radius */
    size: number;
    /** Defines the current sparkline marker fill color */
    fill: string;
    /** Defines the current sparkline marker border */
    border?: SparklineBorderModel;
    /** Defines the current sparkline label point index */
    pointIndex: number;
}
/**
 * Sparkline Resize event arguments.
 */
export interface ISparklineResizeEventArgs {
    /** Defines the name of the Event */
    name: string;
    /** Defines the previous size of the sparkline */
    previousSize: Size;
    /** Defines the current size of the sparkline */
    currentSize: Size;
    /** Defines the sparkline instance */
    sparkline: Sparkline;
}
/**
 * Sparkline tooltip event args.
 */
export interface ITooltipRenderingEventArgs extends ISparklineEventArgs {
    /** Defines tooltip text */
    text?: string[];
    /** Defines tooltip text style */
    textStyle?: SparklineFontModel;
}
//node_modules/@syncfusion/ej2-charts/src/sparkline/rendering/sparkline-renderer.d.ts
/**
 * Sparkline rendering calculation file
 */
export  class SparklineRenderer {
    /**
     * To process sparkline instance internally.
     */
    private sparkline;
    private min;
    private maxLength;
    private unitX;
    private unitY;
    private axisColor;
    private axisWidth;
    private axisValue;
    private clipId;
    /**
     * To get visible points options internally.
     *
     * @private
     */
    visiblePoints: SparkValues[];
    private axisHeight;
    /**
     * To process highpoint index color for tooltip customization
     *
     * @private
     */
    highPointIndex: number;
    /**
     * To process low point index color for tooltip customization
     *
     * @private
     */
    lowPointIndex: number;
    /**
     * To process start point index color for tooltip customization
     *
     * @private
     */
    startPointIndex: number;
    /**
     * To process end point index color for tooltip customization
     *
     * @private
     */
    endPointIndex: number;
    /**
     * To process negative point index color for tooltip customization
     *
     * @private
     */
    negativePointIndexes: number[];
    /**
     * Sparkline data calculations
     */
    constructor(sparkline: Sparkline);
    /**
     * To process the sparkline data
     */
    processData(): void;
    processDataManager(): void;
    /**
     * To process sparkline category data.
     */
    private processCategory;
    /**
     * To process sparkline DateTime data.
     */
    private processDateTime;
    /**
     * To render sparkline series.
     *
     * @private
     */
    renderSeries(): void;
    /**
     * To render a range band
     */
    private rangeBand;
    /**
     * To render line series
     */
    private renderLine;
    /**
     * To render pie series
     */
    private renderPie;
    /**
     * To get special point color and option for Pie series.
     */
    private getPieSpecialPoint;
    /**
     * To render area series
     */
    private renderArea;
    /**
     * To render column series
     */
    private renderColumn;
    /**
     * To render WinLoss series
     */
    private renderWinLoss;
    private renderMarker;
    /**
     * To get special point color and option.
     */
    private getSpecialPoint;
    /**
     * To render data label for sparkline.
     */
    private renderLabel;
    private arrangeLabelPosition;
    /**
     * To get special point color and option.
     */
    private getLabelVisible;
    /**
     * To format text
     */
    private formatter;
    /**
     * To calculate min max for x and y axis
     */
    private axisCalculation;
    /**
     * To find x axis interval.
     */
    private getInterval;
    /**
     * To find x axis interval.
     */
    private getPaddingInterval;
    /**
     * To calculate axis ranges internally.
     */
    private findRanges;
    /**
     * To render the sparkline axis
     */
    private drawAxis;
    /**
     * To trigger point render event
     */
    private triggerPointRender;
}
//node_modules/@syncfusion/ej2-charts/src/sparkline/rendering/sparkline-tooltip.d.ts
/**
 * Sparkline Tooltip Module
 */
export  class SparklineTooltip {
    /**
     * Sparkline instance in tooltip.
     */
    private sparkline;
    /**
     * Sparkline current point index.
     */
    private pointIndex;
    /**
     * Sparkline tooltip timer.
     */
    private clearTooltip;
    constructor(sparkline: Sparkline);
    /**
     * @hidden
     */
    private addEventListener;
    private mouseLeaveHandler;
    private mouseUpHandler;
    private fadeOut;
    /**
     * To remove tooltip and tracker elements.
     *
     * @private
     */
    removeTooltipElements(): void;
    private mouseMoveHandler;
    private processTooltip;
    /**
     * To render tracker line
     */
    private renderTrackerLine;
    /**
     * To render line series
     */
    private renderTooltip;
    private addTooltip;
    /**
     * To get tooltip format.
     */
    private getFormat;
    private formatValue;
    /**
     * To remove tracker line.
     */
    private removeTracker;
    /**
     * To remove tooltip element.
     */
    private removeTooltip;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the tooltip.
     */
    destroy(sparkline: Sparkline): void;
}
//node_modules/@syncfusion/ej2-charts/src/sparkline/sparkline-model.d.ts
/**
 * Interface for a class Sparkline
 */
export interface SparklineModel extends base.ComponentModel{
    /**
     * To configure Sparkline width.
     */
    width?: string;
    /**
     * To configure Sparkline height.
     */
    height?: string;
    /**
     * To configure Sparkline points border color and width.
     */
    border?: SparklineBorderModel;
    /**
     * To configure Sparkline series type.
     * @default 'Line'
     */
    type?: SparklineType;
    /**
     * To configure Sparkline series type.
     * @default 'None'
     */
    rangePadding?: SparklineRangePadding;
    /**
     * To configure sparkline data source.
     * @isGenericType true
     * @default null
     */
    dataSource?: Object[] | data.DataManager;
    /**
     * Specifies the query for filter the data.
     * @default null
     */
    query?: data.Query;
    /**
     * To configure sparkline series value type.
     * @default 'Numeric'
     */
    valueType?: SparklineValueType;
    /**
     * To configure sparkline series xName.
     * @default null
     */
    xName?: string;
    /**
     * To configure sparkline series yName.
     * @default null
     */
    yName?: string;
    /**
     * To configure sparkline series fill.
     * @default '#00bdae'
     */
    fill?: string;
    /**
     * To configure sparkline series highest y value point color.
     * @default ''
     */
    highPointColor?: string;
    /**
     * To configure sparkline series lowest y value point color.
     * @default ''
     */
    lowPointColor?: string;
    /**
     * To configure sparkline series first x value point color.
     * @default ''
     */
    startPointColor?: string;
    /**
     * To configure sparkline series last x value point color.
     * @default ''
     */
    endPointColor?: string;
    /**
     * To configure sparkline series negative y value point color.
     * @default ''
     */
    negativePointColor?: string;
    /**
     * To configure sparkline winloss series tie y value point color.
     * @default ''
     */
    tiePointColor?: string;
    /**
     * To configure sparkline series color palette. It applicable to column and pie type series.
     * @default []
     */
    palette?: string[];
    /**
     * To configure sparkline line series width.
     * @default '1'
     */
    lineWidth?: number;
    /**
     * To configure sparkline line series opacity.
     * @default '1'
     */
    opacity?: number;
    /**
     * To apply internationalization for sparkline.
     * @default null
     */
    format?: string;
    /**
     * To enable the separator
     * @default false
     */
    useGroupingSeparator?: boolean;
    /**
     * To configure Sparkline tooltip settings.
     */
    tooltipSettings?: SparklineTooltipSettingsModel;
    /**
     * To configure Sparkline container area customization.
     */
    containerArea?: ContainerAreaModel;
    /**
     * To configure Sparkline axis line customization.
     */
    rangeBandSettings?: RangeBandSettingsModel[];
    /**
     * To configure Sparkline container area customization.
     */
    axisSettings?: AxisSettingsModel;
    /**
     * To configure Sparkline marker configuration.
     */
    markerSettings?: SparklineMarkerSettingsModel;
    /**
     * To configure Sparkline dataLabel configuration.
     */
    dataLabelSettings?: SparklineDataLabelSettingsModel;
    /**
     * To configure Sparkline container area customization.
     */
    padding?: PaddingModel;
    /**
     * To configure sparkline theme.
     * @default 'Material'
     */
    theme?: SparklineTheme;
    /**
     * Triggers after sparkline rendered.
     * @event
     */
    loaded?: base.EmitType<ISparklineLoadedEventArgs>;
    /**
     * Triggers before sparkline render.
     * @event
     */
    load?: base.EmitType<ISparklineLoadEventArgs>;
    /**
     * Triggers before sparkline tooltip render.
     * @event
     */
    tooltipInitialize?: base.EmitType<ITooltipRenderingEventArgs>;
    /**
     * Triggers before sparkline series render.
     * @event
     */
    seriesRendering?: base.EmitType<ISeriesRenderingEventArgs>;
    /**
     * Triggers before sparkline axis render.
     * @event
     */
    axisRendering?: base.EmitType<IAxisRenderingEventArgs>;
    /**
     * Triggers before sparkline points render.
     * @event
     */
    pointRendering?: base.EmitType<ISparklinePointEventArgs>;
    /**
     * Triggers while mouse move on the sparkline point region.
     * @event
     */
    pointRegionMouseMove?: base.EmitType<IPointRegionEventArgs>;
    /**
     * Triggers while mouse click on the sparkline point region.
     * @event
     */
    pointRegionMouseClick?: base.EmitType<IPointRegionEventArgs>;
    /**
     * Triggers while mouse move on the sparkline container.
     * @event
     */
    sparklineMouseMove?: base.EmitType<ISparklineMouseEventArgs>;
    /**
     * Triggers while mouse click on the sparkline container.
     * @event
     */
    sparklineMouseClick?: base.EmitType<ISparklineMouseEventArgs>;
    /**
     * Triggers before the sparkline datalabel render.
     * @event
     */
    dataLabelRendering?: base.EmitType<IDataLabelRenderingEventArgs>;
    /**
     * Triggers before the sparkline marker render.
     * @event
     */
    markerRendering?: base.EmitType<IMarkerRenderingEventArgs>;
    /**
     * Triggers on resizing the sparkline.
     * @event
     */
    resize?: base.EmitType<ISparklineResizeEventArgs>;
}
//node_modules/@syncfusion/ej2-charts/src/sparkline/sparkline.d.ts
/**
 * Represents the Sparkline control.
 * ```html
 * <div id="sparkline"/>
 * <script>
 *   var sparkline = new Sparkline();
 *   sparkline.appendTo("#sparkline");
 * </script>
 * ```
 */
export  class Sparkline extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    sparklineTooltipModule: SparklineTooltip;
    /**
     * To configure Sparkline width.
     */
    width: string;
    /**
     * To configure Sparkline height.
     */
    height: string;
    /**
     * To configure Sparkline points border color and width.
     */
    border: SparklineBorderModel;
    /**
     * To configure Sparkline series type.
     * @default 'Line'
     */
    type: SparklineType;
    /**
     * To configure Sparkline series type.
     * @default 'None'
     */
    rangePadding: SparklineRangePadding;
    /**
     * To configure sparkline data source.
     * @isGenericType true
     * @default null
     */
    dataSource: Object[] | data.DataManager;
    /**
     * Specifies the query for filter the data.
     * @default null
     */
    query: data.Query;
    /**
     * To configure sparkline series value type.
     * @default 'Numeric'
     */
    valueType: SparklineValueType;
    /**
     * To configure sparkline series xName.
     * @default null
     */
    xName: string;
    /**
     * To configure sparkline series yName.
     * @default null
     */
    yName: string;
    /**
     * To configure sparkline series fill.
     * @default '#00bdae'
     */
    fill: string;
    /**
     * To configure sparkline series highest y value point color.
     * @default ''
     */
    highPointColor: string;
    /**
     * To configure sparkline series lowest y value point color.
     * @default ''
     */
    lowPointColor: string;
    /**
     * To configure sparkline series first x value point color.
     * @default ''
     */
    startPointColor: string;
    /**
     * To configure sparkline series last x value point color.
     * @default ''
     */
    endPointColor: string;
    /**
     * To configure sparkline series negative y value point color.
     * @default ''
     */
    negativePointColor: string;
    /**
     * To configure sparkline winloss series tie y value point color.
     * @default ''
     */
    tiePointColor: string;
    /**
     * To configure sparkline series color palette. It applicable to column and pie type series.
     * @default []
     */
    palette: string[];
    /**
     * To configure sparkline line series width.
     * @default '1'
     */
    lineWidth: number;
    /**
     * To configure sparkline line series opacity.
     * @default '1'
     */
    opacity: number;
    /**
     * To apply internationalization for sparkline.
     * @default null
     */
    format: string;
    /**
     * To enable the separator
     * @default false
     */
    useGroupingSeparator: boolean;
    /**
     * To configure Sparkline tooltip settings.
     */
    tooltipSettings: SparklineTooltipSettingsModel;
    /**
     * To configure Sparkline container area customization.
     */
    containerArea: ContainerAreaModel;
    /**
     * To configure Sparkline axis line customization.
     */
    rangeBandSettings: RangeBandSettingsModel[];
    /**
     * To configure Sparkline container area customization.
     */
    axisSettings: AxisSettingsModel;
    /**
     * To configure Sparkline marker configuration.
     */
    markerSettings: SparklineMarkerSettingsModel;
    /**
     * To configure Sparkline dataLabel configuration.
     */
    dataLabelSettings: SparklineDataLabelSettingsModel;
    /**
     * To configure Sparkline container area customization.
     */
    padding: PaddingModel;
    /**
     * To configure sparkline theme.
     * @default 'Material'
     */
    theme: SparklineTheme;
    /**
     * Triggers after sparkline rendered.
     * @event
     */
    loaded: base.EmitType<ISparklineLoadedEventArgs>;
    /**
     * Triggers before sparkline render.
     * @event
     */
    load: base.EmitType<ISparklineLoadEventArgs>;
    /**
     * Triggers before sparkline tooltip render.
     * @event
     */
    tooltipInitialize: base.EmitType<ITooltipRenderingEventArgs>;
    /**
     * Triggers before sparkline series render.
     * @event
     */
    seriesRendering: base.EmitType<ISeriesRenderingEventArgs>;
    /**
     * Triggers before sparkline axis render.
     * @event
     */
    axisRendering: base.EmitType<IAxisRenderingEventArgs>;
    /**
     * Triggers before sparkline points render.
     * @event
     */
    pointRendering: base.EmitType<ISparklinePointEventArgs>;
    /**
     * Triggers while mouse move on the sparkline point region.
     * @event
     */
    pointRegionMouseMove: base.EmitType<IPointRegionEventArgs>;
    /**
     * Triggers while mouse click on the sparkline point region.
     * @event
     */
    pointRegionMouseClick: base.EmitType<IPointRegionEventArgs>;
    /**
     * Triggers while mouse move on the sparkline container.
     * @event
     */
    sparklineMouseMove: base.EmitType<ISparklineMouseEventArgs>;
    /**
     * Triggers while mouse click on the sparkline container.
     * @event
     */
    sparklineMouseClick: base.EmitType<ISparklineMouseEventArgs>;
    /**
     * Triggers before the sparkline datalabel render.
     * @event
     */
    dataLabelRendering: base.EmitType<IDataLabelRenderingEventArgs>;
    /**
     * Triggers before the sparkline marker render.
     * @event
     */
    markerRendering: base.EmitType<IMarkerRenderingEventArgs>;
    /**
     * Triggers on resizing the sparkline.
     * @event
     */
    resize: base.EmitType<ISparklineResizeEventArgs>;
    /**
     * SVG renderer object.
     * @private
     */
    renderer: svgBase.SvgRenderer;
    /**
     * Sparkline renderer object.
     * @private
     */
    sparklineRenderer: SparklineRenderer;
    /**
     * Sparkline SVG element's object
     * @private
     */
    svgObject: Element;
    /** @private */
    isDevice: Boolean;
    /** @private */
    intervalDivs: number[];
    /** @private */
    isTouch: Boolean;
    /** @private */
    mouseX: number;
    /** @private */
    mouseY: number;
    /**
     * resize event timer
     * @private
     */
    resizeTo: number;
    /**
     * Sparkline available height, width
     * @private
     */
    availableSize: Size;
    /**
     * Sparkline theme support
     *  @private
     */
    sparkTheme: IThemes;
    /**
     * localization object
     * @private
     */
    localeObject: base.L10n;
    /**
     * To process sparkline data internally.
     * @private
     */
    sparklineData: Object[] | data.DataManager;
    /**
     * It contains default values of localization values
     */
    private defaultLocalConstants;
    /**
     * Internal use of internationalization instance.
     * @private
     */
    intl: base.Internationalization;
    /**
     * Constructor for creating the Sparkline widget
     */
    constructor(options?: SparklineModel, element?: string | HTMLElement);
    /**
     * Initializing pre-required values for sparkline.
     */
    protected preRender(): void;
    /**
     * Sparkline Elements rendering starting.
     */
    protected render(): void;
    /**
     * @private
     */
    processSparklineData(): void;
    /**
     * To render sparkline elements
     */
    renderSparkline(): void;
    /**
     * Create secondary element for the tooltip
     */
    private createDiv;
    /**
     * To set the left and top position for data label template for sparkline
     */
    private setSecondaryElementPosition;
    /**
     * @private
     * Render the sparkline border
     */
    private renderBorder;
    /**
     * To create svg element for sparkline
     */
    private createSVG;
    /**
     * To Remove the Sparkline SVG object
     */
    private removeSvg;
    /**
     * Method to set culture for sparkline
     */
    private setCulture;
    /**
     * To provide the array of modules needed for sparkline rendering
     * @return {base.ModuleDeclaration[]}
     * @private
     */
    requiredModules(): base.ModuleDeclaration[];
    /**
     * Method to unbind events for sparkline chart
     */
    private unWireEvents;
    /**
     * Method to bind events for the sparkline
     */
    private wireEvents;
    /**
     * Sparkline resize event.
     * @private
     */
    sparklineResize(e: Event): boolean;
    /**
     * Handles the mouse move on sparkline.
     * @return {boolean}
     * @private
     */
    sparklineMove(e: PointerEvent): boolean;
    /**
     * Handles the mouse click on sparkline.
     * @return {boolean}
     * @private
     */
    sparklineClick(e: PointerEvent): boolean;
    /**
     * To check mouse event target is point region or not.
     */
    private isPointRegion;
    /**
     * Handles the mouse end.
     * @return {boolean}
     * @private
     */
    sparklineMouseEnd(e: PointerEvent): boolean;
    /**
     * Handles the mouse leave on sparkline.
     * @return {boolean}
     * @private
     */
    sparklineMouseLeave(e: PointerEvent): boolean;
    /**
     * Method to set mouse x, y from events
     */
    private setSparklineMouseXY;
    /**
     * To change rendering while property value modified.
     * @private
     */
    onPropertyChanged(newProp: SparklineModel, oldProp: SparklineModel): void;
    /**
     * To render sparkline series and appending.
     */
    private refreshSparkline;
    /**
     * Get component name
     */
    getModuleName(): string;
    /**
     * Destroy the component
     */
    destroy(): void;
    /**
     * Get the properties to be maintained in the persisted state.
     * @private
     */
    getPersistData(): string;
}
//node_modules/@syncfusion/ej2-charts/src/sparkline/utils/helper.d.ts
/**
 * Sparkline control helper file
 */
/**
 * sparkline internal use of `Size` type
 */
export  class Size {
    /**
     * height of the size
     */
    height: number;
    width: number;
    constructor(width: number, height: number);
}
/**
 * To find the default colors based on theme.
 *
 * @private
 */
export  function getThemeColor(theme: SparklineTheme): IThemes;
/**
 * To find number from string
 *
 * @private
 */
export  function stringToNumber(value: string, containerSize: number): number;
/**
 * Method to calculate the width and height of the sparkline
 */
export  function calculateSize(sparkline: Sparkline): void;
/**
 * Method to create svg for sparkline.
 */
export  function createSvg(sparkline: Sparkline): void;
/**
 * Internal use of type rect
 *
 * @private
 */
export  class Rect {
    x: number;
    y: number;
    height: number;
    width: number;
    constructor(x: number, y: number, width: number, height: number);
}
/**
 * Internal use of path options
 *
 * @private
 */
export  class PathOption1 {
    opacity: number;
    id: string;
    stroke: string;
    fill: string;
    ['stroke-dasharray']: string;
    ['stroke-width']: number;
    d: string;
    constructor(id: string, fill: string, width: number, color: string, opacity?: number, dashArray?: string, d?: string);
}
/**
 * Sparkline internal rendering options
 *
 * @private
 */
export interface SparkValues {
    x?: number;
    y?: number;
    height?: number;
    width?: number;
    percent?: number;
    degree?: number;
    location?: {
        x: number;
        y: number;
    };
    markerPosition?: number;
    xVal?: number;
    yVal?: number;
}
/**
 * Internal use of rectangle options
 *
 * @private
 */
export  class RectOption11 extends PathOption {
    rect: Rect;
    topLeft: number;
    topRight: number;
    bottomLeft: number;
    bottomRight: number;
    constructor(id: string, fill: string, border: SparklineBorderModel, opacity: number, rect: Rect, tl?: number, tr?: number, bl?: number, br?: number);
}
/**
 * Internal use of circle options
 *
 * @private
 */
export  class CircleOption11 extends PathOption {
    cy: number;
    cx: number;
    r: number;
    ['stroke-dasharray']: string;
    constructor(id: string, fill: string, border: SparklineBorderModel, opacity: number, cx: number, cy: number, r: number, dashArray: string);
}
/**
 * Internal use of append shape element
 *
 * @private
 */
export  function appendShape(shape: Element, element: Element): Element;
/**
 * Internal rendering of Circle
 *
 * @private
 */
export  function drawCircle(sparkline: Sparkline, options: CircleOption, element?: Element): Element;
/**
 * To get rounded rect path direction
 */
export  function calculateRoundedRectPath(r: Rect, topLeft: number, topRight: number, bottomLeft: number, bottomRight: number): string;
/**
 * Internal rendering of Rectangle
 *
 * @private
 */
export  function drawRectangle(sparkline: Sparkline, options: RectOption, element?: Element): Element;
/**
 * Internal rendering of Path
 *
 * @private
 */
export  function drawPath(sparkline: Sparkline, options: PathOption, element?: Element): Element;
/**
 * Function to measure the height and width of the text.
 *
 * @private
 */
export  function measureText(text: string, font: SparklineFontModel): Size;
/**
 * Internal use of text options
 *
 * @private
 */
export  class TextOption1 {
    id: string;
    anchor: string;
    text: string;
    transform: string;
    x: number;
    y: number;
    baseLine: string;
    constructor(id?: string, x?: number, y?: number, anchor?: string, text?: string, baseLine?: string, transform?: string);
}
/**
 * Internal rendering of text
 *
 * @private
 */
export  function renderTextElement(options: TextOption, font: SparklineFontModel, color: string, parent: HTMLElement | Element): Element;
/**
 * To remove element by id
 */
export  function removeElement(id: string): void;
/**
 * To find the element by id
 */
export  function getIdElement(id: string): Element;
/**
 * To find point within the bounds.
 */
export  function withInBounds(x: number, y: number, bounds: Rect): boolean;
//node_modules/@syncfusion/ej2-charts/src/stock-chart/index.d.ts
/**
 * Financial chart exports
 */
//node_modules/@syncfusion/ej2-charts/src/stock-chart/legend/legend-model.d.ts
/**
 * Interface for a class StockChartLegendSettings
 */
export interface StockChartLegendSettingsModel {
    /**
     * If set to true, legend will be visible.
     *
     * @default false
     */
    visible?: boolean;
    /**
     * The height of the legend in pixels.
     *
     * @default null
     */
    height?: string;
    /**
     * The width of the legend in pixels.
     *
     * @default null
     */
    width?: string;
    /**
     * Specifies the location of the legend, relative to the Stock chart.
     * If x is 20, legend moves by 20 pixels to the right of the Stock chart. It requires the `position` to be `Custom`.
     * ```html
     * <div id='StockChart'></div>
     * ```
     * ```typescript
     * let stockChart: StockChart = new StockChart({
     * ...
     *   legendSettings: {
     *     visible: true,
     *     position: 'Custom',
     *     location: { x: 100, y: 150 },
     *   },
     * ...
     * });
     * stockChart.appendTo('#StockChart');
     * ```
     */
    location?: LocationModel;
    /**
     * Position of the legend in the Stock chart are,
     * * Auto: Places the legend based on area type.
     * * Top: Displays the legend at the top of the stock chart.
     * * Left: Displays the legend at the left of the stock chart.
     * * Bottom: Displays the legend at the bottom of the stock chart.
     * * Right: Displays the legend at the right of the stock chart.
     * * Custom: Displays the legend  based on the given x and y values.
     *
     * @default 'Auto'
     */
    position?: LegendPosition;
    /**
    * Mode of legend items
    * * Series: Legend items generated based on series count.
    * * Point: Legend items generated based on unique data points. 
    * * Range: Legend items generated based on range color mapping property. 
    * * Gradient: Single linear bar generated based on range color mapping property.
    * This property is applicable for chart component only.
    */
    mode?: LegendMode;
    /**
     * Option to customize the padding around the legend items.
     *
     * @default 8
     */
    padding?: number;
    /**
     * Option to customize the padding between legend items.
     *
     * @default 20
     */
    itemPadding?: number;
    /**
     * Legend in stock chart can be aligned as follows:
     * * Near: Aligns the legend to the left of the stock chart.
     * * Center: Aligns the legend to the center of the stock chart.
     * * Far: Aligns the legend to the right of the stock chart.
     *
     * @default 'Center'
     */
    alignment?: Alignment;
    /**
     * Options to customize the legend text.
     */
    textStyle?: StockChartFontModel;
    /**
     * Shape height of the legend in pixels.
     *
     * @default 10
     */
    shapeHeight?: number;
    /**
     * Shape width of the legend in pixels.
     *
     * @default 10
     */
    shapeWidth?: number;
    /**
     * Options to customize the border of the legend.
     */
    border?: StockChartBorderModel;
    /**
     *  Options to customize left, right, top and bottom margins of the stock chart.
     */
    margin?: StockMarginModel;
    /**
     *  Options to customize left, right, top and bottom padding for legend container of the stock chart.
     */
    containerPadding?: ContainerPaddingModel;
    /**
     * Padding between the legend shape and text in stock chart.
     *
     * @default 8
     */
    shapePadding?: number;
    /**
     * The background color of the legend that accepts value in hex and rgba as a valid CSS color string in stock chart.
     *
     * @default 'transparent'
     */
    background?: string;
    /**
     * Opacity of the legend in stock chart.
     *
     * @default 1
     */
    opacity?: number;
    /**
     * If set to true, series' visibility collapses based on the legend visibility in stock chart.
     *
     * @default true
     */
    toggleVisibility?: boolean;
    /**
     * Description for legends in stock chart.
     *
     * @default null
     */
    description?: string;
    /**
     * TabIndex value for the legend in stock chart.
     *
     * @default 3
     */
    tabIndex?: number;
    /**
     * Title for legends in stock chart.
     *
     * @default null
     */
    title?: string;
    /**
     * Options to customize the legend title in stock chart.
     */
    titleStyle?: StockChartFontModel;
    /**
     * legend title position in stock chart
     *
     * @default 'Top'
     */
    titlePosition?: LegendTitlePosition;
    /**
     * maximum width for the legend title in stock chart.
     *
     * @default 100
     */
    maximumTitleWidth?: number;
    /**
     * If set to true, legend will be visible using pages in stock chart.
     *
     * @default true
     */
    enablePages?: boolean;
    /**
     * If set to true, legend will be Reversed in stock chart.
     *
     * @default false
     */
    isInversed?: boolean;
}
/**
 * Interface for a class StockLegend
 */
export interface StockLegendModel {
}
//node_modules/@syncfusion/ej2-charts/src/stock-chart/legend/legend.d.ts
/**
 * Configures the legends in charts.
 */
export  class StockChartLegendSettings extends base.ChildProperty<StockChartLegendSettings> {
    /**
     * If set to true, legend will be visible.
     *
     * @default false
     */
    visible: boolean;
    /**
     * The height of the legend in pixels.
     *
     * @default null
     */
    height: string;
    /**
     * The width of the legend in pixels.
     *
     * @default null
     */
    width: string;
    /**
     * Specifies the location of the legend, relative to the Stock chart.
     * If x is 20, legend moves by 20 pixels to the right of the Stock chart. It requires the `position` to be `Custom`.
     * ```html
     * <div id='StockChart'></div>
     * ```
     * ```typescript
     * let stockChart$: StockChart = new StockChart({
     * ...
     *   legendSettings: {
     *     visible: true,
     *     position: 'Custom',
     *     location: { x: 100, y: 150 },
     *   },
     * ...
     * });
     * stockChart.appendTo('#StockChart');
     * ```
     */
    location: LocationModel;
    /**
     * Position of the legend in the Stock chart are,
     * * Auto: Places the legend based on area type.
     * * Top: Displays the legend at the top of the stock chart.
     * * Left: Displays the legend at the left of the stock chart.
     * * Bottom: Displays the legend at the bottom of the stock chart.
     * * Right: Displays the legend at the right of the stock chart.
     * * Custom: Displays the legend  based on the given x and y values.
     *
     * @default 'Auto'
     */
    position: LegendPosition;
    /**
    * Mode of legend items
    * * Series: Legend items generated based on series count.
    * * Point: Legend items generated based on unique data points.
    * * Range: Legend items generated based on range color mapping property.
    * * Gradient: Single linear bar generated based on range color mapping property.
    * This property is applicable for chart component only.
    */
    mode: LegendMode;
    /**
     * Option to customize the padding around the legend items.
     *
     * @default 8
     */
    padding: number;
    /**
     * Option to customize the padding between legend items.
     *
     * @default 20
     */
    itemPadding: number;
    /**
     * Legend in stock chart can be aligned as follows:
     * * Near: Aligns the legend to the left of the stock chart.
     * * Center: Aligns the legend to the center of the stock chart.
     * * Far: Aligns the legend to the right of the stock chart.
     *
     * @default 'Center'
     */
    alignment: Alignment;
    /**
     * Options to customize the legend text.
     */
    textStyle: StockChartFontModel;
    /**
     * Shape height of the legend in pixels.
     *
     * @default 10
     */
    shapeHeight: number;
    /**
     * Shape width of the legend in pixels.
     *
     * @default 10
     */
    shapeWidth: number;
    /**
     * Options to customize the border of the legend.
     */
    border: StockChartBorderModel;
    /**
     *  Options to customize left, right, top and bottom margins of the stock chart.
     */
    margin: StockMarginModel;
    /**
     *  Options to customize left, right, top and bottom padding for legend container of the stock chart.
     */
    containerPadding: ContainerPaddingModel;
    /**
     * Padding between the legend shape and text in stock chart.
     *
     * @default 8
     */
    shapePadding: number;
    /**
     * The background color of the legend that accepts value in hex and rgba as a valid CSS color string in stock chart.
     *
     * @default 'transparent'
     */
    background: string;
    /**
     * Opacity of the legend in stock chart.
     *
     * @default 1
     */
    opacity: number;
    /**
     * If set to true, series' visibility collapses based on the legend visibility in stock chart.
     *
     * @default true
     */
    toggleVisibility: boolean;
    /**
     * Description for legends in stock chart.
     *
     * @default null
     */
    description: string;
    /**
     * TabIndex value for the legend in stock chart.
     *
     * @default 3
     */
    tabIndex: number;
    /**
     * Title for legends in stock chart.
     *
     * @default null
     */
    title: string;
    /**
     * Options to customize the legend title in stock chart.
     */
    titleStyle: StockChartFontModel;
    /**
     * legend title position in stock chart
     *
     * @default 'Top'
     */
    titlePosition: LegendTitlePosition;
    /**
     * maximum width for the legend title in stock chart.
     *
     * @default 100
     */
    maximumTitleWidth: number;
    /**
     * If set to true, legend will be visible using pages in stock chart.
     *
     * @default true
     */
    enablePages: boolean;
    /**
     * If set to true, legend will be Reversed in stock chart.
     *
     * @default false
     */
    isInversed: boolean;
}
/**
 * `Legend` module is used to render legend for the stockchart.
 */
export  class StockLegend extends BaseLegend {
    constructor(chart: StockChart);
    /**
     * Binding events for Stocklegend module.
     */
    private addEventListener;
    /**
     * UnBinding events for Stocklegend module.
     */
    private removeEventListener;
    /**
     * To handle mosue move for Stocklegend module
     */
    private mouseMove;
    /**
     * To handle mosue end for Stocklegend module
     */
    private mouseEnd;
    getLegendOptions(visibleSeriesCollection: Series[], chart: StockChart): void;
    /** @private */
    getLegendBounds(availableSize: svgBase.Size, legendBound: svgBase.Rect, legend: StockChartLegendSettingsModel): void;
    /** @private */
    getRenderPoint(legendOptions: LegendOptions, start: ChartLocation, textPadding: number, prevLegend: LegendOptions, rect: svgBase.Rect, count: number, firstLegend: number): void;
    /** @private */
    legendClick(index: number, event: Event | PointerEvent): void;
    private refreshLegendToggle;
    private changeSeriesVisiblity;
    private SecondaryAxis;
    /**
     * To show the tooltip for the trimmed text in legend.
     *
     * @returns {void}
     */
    click(event: Event | PointerEvent): void;
    /**
     * Get module name
     */
    protected getModuleName(): string;
    /**
     * To destroy the Legend.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/stock-chart/model/base-model.d.ts
/**
 * Interface for a class StockChartFont
 */
export interface StockChartFontModel {
    /**
     * Color for the text.
     *
     * @default ''
     */
    color?: string;
    /**
     * Font size for the text.
     *
     * @default '16px'
     */
    size?: string;
    /**
     * FontFamily for the text.
     */
    fontFamily?: string;
    /**
     * FontStyle for the text.
     *
     * @default 'Normal'
     */
    fontStyle?: string;
    /**
     * FontWeight for the text.
     *
     * @default 'Normal'
     */
    fontWeight?: string;
    /**
     * Opacity for the text.
     *
     * @default 1
     */
    opacity?: number;
    /**
     * Specifies the chart title text overflow
     *
     * @default 'Trim'
     */
    textOverflow?: TextOverflow;
    /**
     * text alignment
     *
     * @default 'Center'
     */
    textAlignment?: Alignment;
}
/**
 * Interface for a class StockChartBorder
 */
export interface StockChartBorderModel {
    /**
     * The color of the border that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default ''
     */
    color?: string;
    /**
     * The width of the border in pixels.
     *
     * @default 1
     */
    width?: number;
}
/**
 * Interface for a class StockChartArea
 */
export interface StockChartAreaModel {
    /**
     * Options to customize the border of the chart area.
     */
    border?: StockChartBorderModel;
    /**
     * The background of the chart area that accepts value in hex and rgba as a valid CSS color string..
     *
     * @default 'transparent'
     */
    background?: string;
    /**
     * The opacity for background.
     *
     * @default 1
     */
    opacity?: number;
}
/**
 * Interface for a class StockMargin
 */
export interface StockMarginModel {
    /**
     * Left margin in pixels.
     *
     * @default 10
     */
    left?: number;
    /**
     * Right margin in pixels.
     *
     * @default 10
     */
    right?: number;
    /**
     * Top margin in pixels.
     *
     * @default 10
     */
    top?: number;
    /**
     * Bottom margin in pixels.
     *
     * @default 10
     */
    bottom?: number;
}
/**
 * Interface for a class StockChartStripLineSettings
 */
export interface StockChartStripLineSettingsModel {
    /**
     *  If set true, strip line get render from axis origin.
     *
     *  @default false
     */
    startFromAxis?: boolean;
    /**
     * If set true, strip line for axis renders.
     *
     * @default true
     */
    visible?: boolean;
    /**
     * Start value of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    start?: Object | number | Date;
    /**
     * Color of the strip line.
     *
     * @default '#808080'
     */
    color?: string;
    /**
     * End value of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    end?: Object | number | Date;
    /**
     * Size of the strip line, when it starts from the origin.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    size?: number;
    /**
     * Size type of the strip line
     *
     * @default Auto
     */
    sizeType?: SizeType;
    /**
     * Dash Array of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    dashArray?: string;
    /**
     * isRepeat value of the strip line.
     *
     * @default false
     * @aspDefaultValueIgnore
     */
    isRepeat?: boolean;
    /**
     * repeatEvery value of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    repeatEvery?: Object | number | Date;
    /**
     * isSegmented value of the strip line
     *
     * @default false
     * @aspDefaultValueIgnore
     */
    isSegmented?: boolean;
    /**
     * repeatUntil value of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    repeatUntil?: Object | number | Date;
    /**
     * segmentStart value of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    segmentStart?: Object | number | Date;
    /**
     * segmentAxisName of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    segmentAxisName?: string;
    /**
     * segmentEnd value of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    segmentEnd?: Object | number | Date;
    /**
     * Strip line Opacity
     *
     * @default 1
     */
    opacity?: number;
    /**
     * Strip line text.
     *
     * @default ''
     */
    text?: string;
    /**
     * Border of the strip line.
     */
    border?: StockChartBorderModel;
    /**
     * The angle to which the strip line text gets rotated.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    rotation?: number;
    /**
     * Specifies the order of the strip line. They are,
     * * Behind: Places the strip line behind the series elements.
     * * Over: Places the strip line over the series elements.
     *
     * @default 'Behind'
     */
    zIndex?: ZIndex;
    /**
     * Defines the position of the strip line text horizontally. They are,
     * * Start: Places the strip line text at the start.
     * * Middle: Places the strip line text in the middle.
     * * End: Places the strip line text at the end.
     *
     * @default 'Middle'
     */
    horizontalAlignment?: Anchor;
    /**
     * Defines the position of the strip line text vertically. They are,
     * * Start: Places the strip line text at the start.
     * * Middle: Places the strip line text in the middle.
     * * End: Places the strip line text at the end.
     *
     * @default 'Middle'
     */
    verticalAlignment?: Anchor;
    /**
     * Options to customize the strip line text.
     */
    textStyle?: StockChartFontModel;
    /**
     * The option to delay animation of the series.
     *
     * @default 0
     */
    delay?: number;
    /**
     * If set to true, series gets animated on initial loading.
     *
     * @default false
     */
    enable?: boolean;
    /**
     * The duration of animation in milliseconds.
     *
     * @default 1000
     */
    duration?: number;
}
/**
 * Interface for a class StockEmptyPointSettings
 */
export interface StockEmptyPointSettingsModel {
    /**
     * To customize the fill color of empty points.
     *
     * @default null
     */
    fill?: string;
    /**
     * To customize the mode of empty points.
     *
     * @default Gap
     */
    mode?: EmptyPointMode;
    /**
     * Options to customize the border of empty points.
     *
     * @default "{color: 'transparent', width: 0}"
     */
    border?: StockChartBorderModel;
}
/**
 * Interface for a class StockChartConnector
 */
export interface StockChartConnectorModel {
    /**
     * specifies the type of the connector line. They are
     * * Smooth
     * * Line
     *
     * @default 'Line'
     */
    type?: ConnectorType;
    /**
     * Length of the connector line in pixels.
     *
     * @default null
     */
    length?: string;
    /**
     * Color of the connector line.
     *
     * @default null
     */
    color?: string;
    /**
     * dashArray of the connector line.
     *
     * @default ''
     */
    dashArray?: string;
    /**
     * Width of the connector line in pixels.
     *
     * @default 1
     */
    width?: number;
}
/**
 * Interface for a class StockSeries
 */
export interface StockSeriesModel {
    /**
     * The DataSource field that contains the x value.
     * It is applicable for series and technical indicators
     *
     * @default ''
     */
    xName?: string;
    /**
     * The DataSource field that contains the y value.
     *
     * @default ''
     */
    yName?: string;
    /**
     * The DataSource field that contains the open value of y
     * It is applicable for series and technical indicators
     *
     * @default ''
     */
    open?: string;
    /**
     * The DataSource field that contains the close value of y
     * It is applicable for series and technical indicators
     *
     * @default ''
     */
    close?: string;
    /**
     * The DataSource field that contains the high value of y
     * It is applicable for series and technical indicators
     *
     * @default ''
     */
    high?: string;
    /**
     * The DataSource field that contains the low value of y
     * It is applicable for series and technical indicators
     *
     * @default ''
     */
    low?: string;
    /**
     * Defines the data source field that contains the volume value in candle charts
     * It is applicable for financial series and technical indicators
     *
     * @default ''
     */
    volume?: string;
    /**
     * The DataSource field that contains the color value of point
     * It is applicable for series
     *
     * @default ''
     */
    pointColorMapping?: string;
    /**
     * The shape of the legend. Each series has its own legend shape. They are
     * * Circle - Renders a circle.
     * * Rectangle - Renders a rectangle.
     * * Triangle - Renders a triangle.
     * * Diamond - Renders a diamond.
     * * Cross - Renders a cross.
     * * HorizontalLine - Renders a horizontalLine.
     * * VerticalLine - Renders a verticalLine.
     * * Pentagon - Renders a pentagon.
     * * InvertedTriangle - Renders a invertedTriangle.
     * * SeriesType -Render a legend shape based on series type.
     * * Image -Render a image.     * 
     * @default 'SeriesType'
     */
    legendShape?: LegendShape;
    /**
     * The URL for the Image that is to be displayed as a Legend icon.  It requires  `legendShape` value to be an `Image`.
     * @default ''
     */
 
    legendImageUrl?: string;
    /**
     * Options to customizing animation for the series.
     */
    animation?: AnimationModel;
    /**
     * The name of the horizontal axis associated with the series. It requires `axes` of the chart.
     * It is applicable for series and technical indicators
     *
     * @default null
     */
    xAxisName?: string;
    /**
     * The name of the vertical axis associated with the series. It requires `axes` of the chart.
     * It is applicable for series and technical indicators
     *
     * @default null
     */
    yAxisName?: string;
    /**
     * The fill color for the series that accepts value in hex and rgba as a valid CSS color string.
     * It also represents the color of the signal lines in technical indicators.
     * For technical indicators, the default value is 'blue' and for series, it has null.
     *
     * @default null
     */
    fill?: string;
    /**
     * Defines the pattern of dashes and gaps to stroke the lines in `Line` type series.
     *
     * @default '0'
     */
    dashArray?: string;
    /**
     * The stroke width for the series that is applicable only for `Line` type series.
     * It also represents the stroke width of the signal lines in technical indicators.
     *
     * @default 1
     */
    width?: number;
    /**
     * The name of the series visible in legend.
     *
     * @default ''
     */
    name?: string;
    /**
     * Specifies the DataSource for the series. It can be an array of JSON objects or an instance of data.DataManager.
     *
     * @default ''
     */
    dataSource?: Object | data.DataManager;
    /**
     * Specifies query to select data from DataSource. This property is applicable only when the DataSource is `ej.data.DataManager`.
     *
     * @default null
     */
    query?: data.Query;
    /**
     * This property is used in financial charts to visualize the price movements in stock.
     * It defines the color of the candle/point, when the opening price is higher than the closing price.
     *
     * @default '#e74c3d'
     */
    bullFillColor?: string;
    /**
     * This property is used in stock charts to visualize the price movements in stock.
     * It defines the color of the candle/point, when the opening price is less than the closing price.
     *
     * @default '#2ecd71'
     */
    bearFillColor?: string;
    /**
     * This property is applicable for candle series.
     * It enables/disables to visually compare the current values with the previous values in stock.
     *
     * @default false
     */
    enableSolidCandles?: boolean;
    /**
     * Specifies the visibility of series.
     *
     * @default true
     */
    visible?: boolean;
    /**
     * Options to customizing the border of the series. This is applicable only for `Column` and `Bar` type series.
     */
    border?: StockChartBorderModel;
    /**
     * The opacity of the series.
     *
     * @default 1
     */
    opacity?: number;
    /**
     * The type of the series are
     * * Line
     * * Column
     * * Area
     * * Spline
     * * Hilo
     * * HiloOpenClose
     * * Candle
     *
     * @default 'Candle'
     */
    type?: ChartSeriesType;
    /**
     * Options for displaying and customizing markers for individual points in a series.
     */
    marker?: MarkerSettingsModel;
    /**
     * Defines the collection of trendlines that are used to predict the trend
     */
    trendlines?: TrendlineModel[];
    /**
     * If set true, the Tooltip for series will be visible.
     *
     * @default true
     */
    enableTooltip?: boolean;
    /**
     * The provided value will be considered as a Tooltip name
     *
     * @default ''
     */
    tooltipMappingName?: string;
    /**
     * Custom style for the selected series or points.
     *
     * @default null
     */
    selectionStyle?: string;
    /**
     * It defines tension of cardinal spline types
     *
     * @default 0.5
     */
    cardinalSplineTension?: number;
    /**
     * To render the column series points with particular rounded corner.
     */
    cornerRadius?: CornerRadiusModel;
    /**
     * options to customize the empty points in series
     */
    emptyPointSettings?: EmptyPointSettingsModel;
    /**
     * To render the column series points with particular column width. If the series type is histogram the
     * default value is 1 otherwise 0.7.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    columnWidth?: number;
    /**
     * To render the column series points with particular column spacing. It takes value from 0 - 1.
     *
     * @default 0
     */
    columnSpacing?: number;
}
/**
 * Interface for a class StockChartIndicator
 */
export interface StockChartIndicatorModel {
    /**
     * Defines the type of the technical indicator
     *
     * @default 'Sma'
     */
    type?: TechnicalIndicators;
    /**
     * Defines the period, the price changes over which will be considered to predict the trend
     *
     * @default 14
     */
    period?: number;
    /**
     * Defines the period, the price changes over which will define the %D value in stochastic indicators
     *
     * @default 3
     */
    dPeriod?: number;
    /**
     * Defines the look back period, the price changes over which will define the %K value in stochastic indicators
     *
     * @default 14
     */
    kPeriod?: number;
    /**
     * Defines the over-bought(threshold) values. It is applicable for RSI and stochastic indicators
     *
     * @default 80
     */
    overBought?: number;
    /**
     * Defines the over-sold(threshold) values. It is applicable for RSI and stochastic indicators
     *
     * @default 20
     */
    overSold?: number;
    /**
     * Defines the field to compare the current value with previous values
     *
     * @default 'Close'
     */
    field?: FinancialDataFields;
    /**
     * Sets the standard deviation values that helps to define the upper and lower bollinger bands
     *
     * @default 2
     */
    standardDeviation?: number;
    /**
     * Sets the slow period to define the Macd line
     *
     * @default 12
     */
    slowPeriod?: number;
    /**
     * Enables/Disables the over-bought and over-sold regions
     *
     * @default true
     */
    showZones?: boolean;
    /**
     * Sets the fast period to define the Macd line
     *
     * @default 26
     */
    fastPeriod?: number;
    /**
     * Defines the appearance of the the MacdLine of Macd indicator
     *
     * @default { color: '#ff9933', width: 2 }
     */
    macdLine?: StockChartConnectorModel;
    /**
     * Defines the type of the Macd indicator.
     *
     * @default 'Both'
     */
    macdType?: MacdType;
    /**
     * Defines the color of the negative bars in Macd indicators
     *
     * @default '#e74c3d'
     */
    macdNegativeColor?: string;
    /**
     * Defines the color of the positive bars in Macd indicators
     *
     * @default '#2ecd71'
     */
    macdPositiveColor?: string;
    /**
     * Options for customizing the BollingerBand in the indicator.
     *
     * @default 'rgba(211,211,211,0.25)'
     */
    bandColor?: string;
    /**
     * Defines the appearance of the upper line in technical indicators
     */
    upperLine?: StockChartConnectorModel;
    /**
     * Defines the name of the series, the data of which has to be depicted as indicator
     *
     * @default ''
     */
    seriesName?: string;
    /**
     * Defines the appearance of period line in technical indicators
     */
    periodLine?: StockChartConnectorModel;
    /**
     * Defines the appearance of lower line in technical indicators
     */
    lowerLine?: ConnectorModel;
    /**
     * The DataSource field that contains the high value of y
     * It is applicable for series and technical indicators
     *
     * @default ''
     */
    high?: string;
    /**
     * The DataSource field that contains the open value of y
     * It is applicable for series and technical indicators
     *
     * @default ''
     */
    open?: string;
    /**
     * The DataSource field that contains the low value of y
     * It is applicable for series and technical indicators
     *
     * @default ''
     */
    low?: string;
    /**
     * The DataSource field that contains the x value.
     * It is applicable for series and technical indicators
     *
     * @default ''
     */
    xName?: string;
    /**
     * The DataSource field that contains the close value of y
     * It is applicable for series and technical indicators
     *
     * @default ''
     */
    close?: string;
    /**
     * The DataSource field that contains the color value of point
     * It is applicable for series
     *
     * @default ''
     */
    pointColorMapping?: string;
    /**
     * Defines the data source field that contains the volume value in candle charts
     * It is applicable for financial series and technical indicators
     *
     * @default ''
     */
    volume?: string;
    /**
     * The name of the horizontal axis associated with the series. It requires `axes` of the chart.
     * It is applicable for series and technical indicators
     * ```html
     * <div id='Chart'></div>
     * ```
     * ```typescript
     * let chart$: Chart = new Chart({
     * ...
     *     columns: [{ width: '50%' },
     *               { width: '50%' }],
     *     axes: [{
     *                name: 'xAxis 1',
     *                columnIndex: 1,
     *            }],
     *     series: [{
     *                dataSource: data,
     *                xName: 'x', yName: 'y',
     *                xAxisName: 'xAxis 1',
     *     }],
     * });
     * chart.appendTo('#Chart');
     * ```
     *
     * @default null
     */
    xAxisName?: string;
    /**
     * The name of the vertical axis associated with the series. It requires `axes` of the chart.
     * It is applicable for series and technical indicators
     * ```html
     * <div id='Chart'></div>
     * ```
     *
     * @default null
     */
    yAxisName?: string;
    /**
     * Options to customizing animation for the series.
     */
    animation?: AnimationModel;
    /**
     * The fill color for the series that accepts value in hex and rgba as a valid CSS color string.
     * It also represents the color of the signal lines in technical indicators.
     * For technical indicators, the default value is 'blue' and for series, it has null.
     *
     * @default null
     */
    fill?: string;
    /**
     * Defines the pattern of dashes and gaps to stroke the lines in `Line` type series.
     *
     * @default '0'
     */
    dashArray?: string;
    /**
     * The stroke width for the series that is applicable only for `Line` type series.
     * It also represents the stroke width of the signal lines in technical indicators.
     *
     * @default 1
     */
    width?: number;
    /**
     * Specifies query to select data from DataSource. This property is applicable only when the DataSource is `ej.data.DataManager`.
     *
     * @default null
     */
    query?: data.Query;
    /**
     * Specifies the DataSource for the series. It can be an array of JSON objects or an instance of data.DataManager.
     * ```html
     * <div id='Chart'></div>
     * ```
     *
     * @default ''
     */
    dataSource?: Object | data.DataManager;
}
/**
 * Interface for a class StockChartAxis
 */
export interface StockChartAxisModel {
    /**
     * Options to customize the crosshair ToolTip.
     */
    crosshairTooltip?: CrosshairTooltipModel;
    /**
     * Options to customize the axis label.
     */
    labelStyle?: FontModel;
    /**
     * Specifies the title of an axis.
     *
     * @default ''
     */
    title?: string;
    /**
     * Options for customizing the axis title.
     */
    titleStyle?: StockChartFontModel;
    /**
     * Used to format the axis label that accepts any global string format like 'C', 'n1', 'P' etc.
     * It also accepts placeholder like '{value}°C' in which value represent the axis label, e.g, 20°C.
     *
     * @default ''
     */
    labelFormat?: string;
    /**
     * It specifies the type of format to be used in dateTime format process.
     *
     * @default 'DateTime'
     */
    skeletonType?: SkeletonType;
    /**
     * Specifies the skeleton format in which the dateTime format will process.
     *
     * @default ''
     */
    skeleton?: string;
    /**
     * Left and right padding for the plot area in pixels.
     *
     * @default 0
     */
    plotOffset?: number;
    /**
     * The base value for logarithmic axis. It requires `valueType` to be `Logarithmic`.
     *
     * @default 10
     */
    logBase?: number;
    /**
     * Specifies the index of the row where the axis is associated, when the chart area is divided into multiple plot areas by using `rows`.
     * ```html
     * <div id='Chart'></div>
     * ```
     * ```typescript
     * let chart$: Chart = new Chart({
     * ...
     *     rows: [{ height: '50%' },
     *            { height: '50%' }],
     *     axes: [{
     *                name: 'yAxis 1',
     *                rowIndex: 1,
     *      }],
     * ...
     * });
     * chart.appendTo('#Chart');
     * ```
     *
     * @default 0
     */
    rowIndex?: number;
    /**
     * Specifies the number of `columns` or `rows` an axis has to span horizontally or vertically.
     *
     * @default 1
     */
    span?: number;
    /**
     * The maximum number of label count per 100 pixels with respect to the axis length.
     *
     * @default 3
     */
    maximumLabels?: number;
    /**
     * With this property, you can request axis to calculate intervals approximately equal to your specified interval.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    desiredIntervals?: number;
    /**
     * The axis is scaled by this factor. When zoomFactor is 0.5, the chart is scaled by 200% along this axis. Value ranges from 0 to 1.
     *
     * @default 1
     */
    zoomFactor?: number;
    /**
     * Position of the zoomed axis. Value ranges from 0 to 1.
     *
     * @default 0
     */
    zoomPosition?: number;
    /**
     * If set to true, the axis will render at the opposite side of its default position.
     *
     * @default false
     */
    opposedPosition?: boolean;
    /**
     * If set to true, axis interval will be calculated automatically with respect to the zoomed range.
     *
     * @default true
     */
    enableAutoIntervalOnZooming?: boolean;
    /**
     * Specifies the type of data the axis is handling.
     * * Double:  Renders a numeric axis.
     * * DateTime: Renders a dateTime axis.
     * * Category: Renders a category axis.
     * * Logarithmic: Renders a log axis.
     *
     * @default 'Double'
     * @blazorType Syncfusion.EJ2.Blazor.Charts.ValueType
     * @isEnumeration true
     */
    valueType?: ValueType;
    /**
     * Specifies the padding for the axis range in terms of interval.They are,
     * * none: Padding cannot be applied to the axis.
     * * normal: Padding is applied to the axis based on the range calculation.
     * * additional: Interval of the axis is added as padding to the minimum and maximum values of the range.
     * * round: Axis range is rounded to the nearest possible value divided by the interval.
     *
     * @default 'Auto'
     */
    rangePadding?: ChartRangePadding;
    /**
     * Specifies the position of labels at the edge of the axis.They are,
     * * None: No action will be performed.
     * * Hide: Edge label will be hidden.
     * * Shift: Shifts the edge labels.
     *
     * @default 'None'
     */
    edgeLabelPlacement?: EdgeLabelPlacement;
    /**
     * Specifies the placement of a label for category axis. They are,
     * * betweenTicks: Renders the label between the ticks.
     * * onTicks: Renders the label on the ticks.
     *
     * @default 'BetweenTicks'
     */
    labelPlacement?: LabelPlacement;
    /**
     * Specifies the types like `Years`, `Months`, `Days`, `Hours`, `Minutes`, `Seconds` in date time axis.They are,
     * * Auto: Defines the interval of the axis based on data.
     * * Years: Defines the interval of the axis in years.
     * * Months: Defines the interval of the axis in months.
     * * Days: Defines the interval of the axis in days.
     * * Hours: Defines the interval of the axis in hours.
     * * Minutes: Defines the interval of the axis in minutes.
     *
     * @default 'Auto'
     */
    intervalType?: IntervalType;
    /**
     * Specifies the placement of a ticks to the axis line. They are,
     * * inside: Renders the ticks inside to the axis line.
     * * outside: Renders the ticks outside to the axis line.
     *
     * @default 'Outside'
     */
    tickPosition?: AxisPosition;
    /**
     * Unique identifier of an axis.
     * To associate an axis with the series, set this name to the xAxisName/yAxisName properties of the series.
     *
     * @default ''
     */
    name?: string;
    /**
     * Specifies the placement of a labels to the axis line. They are,
     * * inside: Renders the labels inside to the axis line.
     * * outside: Renders the labels outside to the axis line.
     *
     * @default 'Outside'
     */
    labelPosition?: AxisPosition;
    /**
     * If set to true, axis label will be visible.
     *
     * @default true
     */
    visible?: boolean;
    /**
     * The angle to which the axis label gets rotated.
     *
     * @default 0
     */
    labelRotation?: number;
    /**
     * Specifies the number of minor ticks per interval.
     *
     * @default 0
     */
    minorTicksPerInterval?: number;
    /**
     * Specifies the value at which the axis line has to be intersect with the vertical axis or vice versa.
     *
     * @default null
     */
    crossesAt?: Object;
    /**
     * Specifies axis name with which the axis line has to be crossed
     *
     * @default null
     */
    crossesInAxis?: string;
    /**
     * Specifies whether axis elements like axis labels, axis title, etc has to be crossed with axis line
     *
     * @default true
     */
    placeNextToAxisLine?: boolean;
    /**
     * Specifies the minimum range of an axis.
     *
     * @default null
     */
    minimum?: Object;
    /**
     * Specifies the interval for an axis.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    interval?: number;
    /**
     * Specifies the maximum range of an axis.
     *
     * @default null
     */
    maximum?: Object;
    /**
     * Specifies the maximum width of an axis label.
     *
     * @default 34.
     */
    maximumLabelWidth?: number;
    /**
     * Options for customizing major tick lines.
     */
    majorTickLines?: MajorTickLinesModel;
    /**
     * Specifies the Trim property for an axis.
     *
     * @default false
     */
    enableTrim?: boolean;
    /**
     * Options for customizing minor tick lines.
     */
    minorTickLines?: MinorTickLinesModel;
    /**
     * Options for customizing minor grid lines.
     */
    minorGridLines?: MinorGridLinesModel;
    /**
     * Options for customizing major grid lines.
     */
    majorGridLines?: MajorGridLinesModel;
    /**
     * Options for customizing axis lines.
     */
    lineStyle?: AxisLineModel;
    /**
     * It specifies whether the axis to be rendered in inversed manner or not.
     *
     * @default false
     */
    isInversed?: boolean;
    /**
     * Specifies the actions like `Hide`, `Rotate45`, and `Rotate90` when the axis labels intersect with each other.They are,
     * * None: Shows all the labels.
     * * Hide: Hides the label when it intersects.
     * * Rotate45: Rotates the label to 45 degree when it intersects.
     * * Rotate90: Rotates the label to 90 degree when it intersects.
     *
     * @default Hide
     */
    labelIntersectAction?: LabelIntersectAction;
    /**
     * The polar radar radius position.
     *
     * @default 100
     */
    coefficient?: number;
    /**
     * The start angle for the series.
     *
     * @default 0
     */
    startAngle?: number;
    /**
     * TabIndex value for the axis.
     *
     * @default 2
     */
    tabIndex?: number;
    /**
     * Specifies the stripLine collection for the axis
     */
    stripLines?: StockChartStripLineSettingsModel[];
    /**
     * Description for axis and its element.
     *
     * @default null
     */
    description?: string;
}
/**
 * Interface for a class StockChartRow
 */
export interface StockChartRowModel {
    /**
     * The height of the row as a string accept input both as '100px' and '100%'.
     * If specified as '100%, row renders to the full height of its chart.
     *
     * @default '100%'
     */
    height?: string;
    /**
     * Options to customize the border of the rows.
     */
    border?: StockChartBorderModel;
}
/**
 * Interface for a class StockChartTrendline
 */
export interface StockChartTrendlineModel {
    /**
     * Defines the period, the price changes over which will be considered to predict moving average trend line
     *
     * @default 2
     */
    period?: number;
    /**
     * Defines the name of trendline
     *
     * @default ''
     */
    name?: string;
    /**
     * Defines the type of the trendline
     *
     * @default 'Linear'
     */
    type?: TrendlineTypes;
    /**
     * Defines the polynomial order of the polynomial trendline
     *
     * @default 2
     */
    polynomialOrder?: number;
    /**
     * Defines the period, by which the trend has to forward forecast
     *
     * @default 0
     */
    forwardForecast?: number;
    /**
     * Defines the period, by which the trend has to backward forecast
     *
     * @default 0
     */
    backwardForecast?: number;
    /**
     * Options to customize the animation for trendlines
     */
    animation?: AnimationModel;
    /**
     * Enables/disables tooltip for trendlines
     *
     * @default true
     */
    enableTooltip?: boolean;
    /**
     * Options to customize the marker for trendlines
     */
    marker?: MarkerSettingsModel;
    /**
     * Defines the intercept of the trendline
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    intercept?: number;
    /**
     * Defines the fill color of trendline
     *
     * @default ''
     */
    fill?: string;
    /**
     * Sets the legend shape of the trendline
     *
     * @default 'SeriesType'
     */
    legendShape?: LegendShape;
    /**
     * Defines the width of the trendline
     *
     * @default 1
     */
    width?: number;
}
/**
 * Interface for a class StockChartAnnotationSettings
 */
export interface StockChartAnnotationSettingsModel {
    /**
     * if set coordinateUnit as `Pixel` Y specifies the axis value
     * else is specifies pixel or percentage of coordinate
     *
     * @default '0'
     */
    y?: string | number;
    /**
     * if set coordinateUnit as `Pixel` X specifies the axis value
     * else is specifies pixel or percentage of coordinate
     *
     * @default '0'
     */
    x?: string | Date | number;
    /**
     * Content of the annotation, which accepts the id of the custom element.
     *
     * @default null
     */
    content?: string;
    /**
     * Specifies the regions of the annotation. They are
     * * Chart - Annotation renders based on chart coordinates.
     * * Series - Annotation renders based on series coordinates.
     *
     * @default 'Chart'
     */
    region?: Regions;
    /**
     * Specifies the alignment of the annotation. They are
     * * Near - Align the annotation element as left side.
     * * Far - Align the annotation element as right side.
     * * Center - Align the annotation element as mid point.
     *
     * @default 'Center'
     */
    horizontalAlignment?: Alignment;
    /**
     * Specifies the coordinate units of the annotation. They are
     * * Pixel - Annotation renders based on x and y pixel value.
     * * Point - Annotation renders based on x and y axis value.
     *
     * @default 'Pixel'
     */
    coordinateUnits?: Units;
    /**
     * Specifies the position of the annotation. They are
     * * Top - Align the annotation element as top side.
     * * Bottom - Align the annotation element as bottom side.
     * * Middle - Align the annotation element as mid point.
     *
     * @default 'Middle'
     */
    verticalAlignment?: Position;
    /**
     * The name of vertical axis associated with the annotation.
     * It requires `axes` of chart.
     *
     * @default null
     */
    yAxisName?: string;
    /**
     * Information about annotation for assistive technology.
     *
     * @default null
     */
    description?: string;
    /**
     * The name of horizontal axis associated with the annotation.
     * It requires `axes` of chart.
     *
     * @default null
     */
    xAxisName?: string;
}
/**
 * Interface for a class StockChartIndexes
 */
export interface StockChartIndexesModel {
    /**
     * Specifies index of point
     *
     * @default 0
     * @aspType int
     */
    point?: number;
    /**
     * Specifies index of series
     *
     * @default 0
     * @aspType int
     */
    series?: number;
}
/**
 * Interface for a class StockEventsSettings
 */
export interface StockEventsSettingsModel {
    /**
     * Specifies type of stock events
     * * Circle
     * * Square
     * * Flag
     * * Text
     * * Sign
     * * Triangle
     * * InvertedTriangle
     * * ArrowUp
     * * ArrowDown
     * * ArrowLeft
     * * ArrowRight
     *
     * @default 'Circle'
     */
    type?: FlagType;
    /**
     * Specifies the text for the stock chart text.
     */
    text?: string;
    /**
     * Specifies the description for the chart which renders in tooltip for stock event.
     */
    description?: string;
    /**
     * Date value of stock event in which stock event shows.
     */
    date?: Date;
    /**
     * Options to customize the border of the stock events.
     */
    border?: StockChartBorderModel;
    /**
     * The background of the stock event that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default 'transparent'
     */
    background?: string;
    /**
     * Enables the stock events to be render on series. If it disabled, stock event rendered on primaryXAxis.
     *
     * @default true
     */
    showOnSeries?: boolean;
    /**
     * Corresponding values in which stock event placed.
     * * Close
     * * Open
     * * High
     * * Close
     *
     * @default 'close'
     */
    placeAt?: string;
    /**
     * Options to customize the styles for stock events text.
     */
    textStyle?: StockChartFontModel;
    /**
     * To render stock events in particular series.
     * By default stock events will render for all series.
     *
     * @default []
     */
    seriesIndexes?: number[];
}
//node_modules/@syncfusion/ej2-charts/src/stock-chart/model/base.d.ts
export  class StockChartFont extends base.ChildProperty<StockChartFont> {
    /**
     * Color for the text.
     *
     * @default ''
     */
    color: string;
    /**
     * Font size for the text.
     *
     * @default '16px'
     */
    size: string;
    /**
     * FontFamily for the text.
     */
    fontFamily: string;
    /**
     * FontStyle for the text.
     *
     * @default 'Normal'
     */
    fontStyle: string;
    /**
     * FontWeight for the text.
     *
     * @default 'Normal'
     */
    fontWeight: string;
    /**
     * Opacity for the text.
     *
     * @default 1
     */
    opacity: number;
    /**
     * Specifies the chart title text overflow
     *
     * @default 'Trim'
     */
    textOverflow: TextOverflow;
    /**
     * text alignment
     *
     * @default 'Center'
     */
    textAlignment: Alignment;
}
/**
 * Border
 */
export  class StockChartBorder extends base.ChildProperty<StockChartBorder> {
    /**
     * The color of the border that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default ''
     */
    color: string;
    /**
     * The width of the border in pixels.
     *
     * @default 1
     */
    width: number;
}
/**
 * Configures the chart area.
 */
export  class StockChartArea extends base.ChildProperty<StockChartArea> {
    /**
     * Options to customize the border of the chart area.
     */
    border: StockChartBorderModel;
    /**
     * The background of the chart area that accepts value in hex and rgba as a valid CSS color string..
     *
     * @default 'transparent'
     */
    background: string;
    /**
     * The opacity for background.
     *
     * @default 1
     */
    opacity: number;
}
/**
 * Configures the chart margins.
 */
export  class StockMargin extends base.ChildProperty<StockMargin> {
    /**
     * Left margin in pixels.
     *
     * @default 10
     */
    left: number;
    /**
     * Right margin in pixels.
     *
     * @default 10
     */
    right: number;
    /**
     * Top margin in pixels.
     *
     * @default 10
     */
    top: number;
    /**
     * Bottom margin in pixels.
     *
     * @default 10
     */
    bottom: number;
}
/**
 * StockChart strip line settings
 */
export  class StockChartStripLineSettings extends base.ChildProperty<StockChartStripLineSettings> {
    /**
     *  If set true, strip line get render from axis origin.
     *
     *  @default false
     */
    startFromAxis: boolean;
    /**
     * If set true, strip line for axis renders.
     *
     * @default true
     */
    visible: boolean;
    /**
     * Start value of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    start: Object | number | Date;
    /**
     * Color of the strip line.
     *
     * @default '#808080'
     */
    color: string;
    /**
     * End value of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    end: Object | number | Date;
    /**
     * Size of the strip line, when it starts from the origin.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    size: number;
    /**
     * Size type of the strip line
     *
     * @default Auto
     */
    sizeType: SizeType;
    /**
     * Dash Array of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    dashArray: string;
    /**
     * isRepeat value of the strip line.
     *
     * @default false
     * @aspDefaultValueIgnore
     */
    isRepeat: boolean;
    /**
     * repeatEvery value of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    repeatEvery: Object | number | Date;
    /**
     * isSegmented value of the strip line
     *
     * @default false
     * @aspDefaultValueIgnore
     */
    isSegmented: boolean;
    /**
     * repeatUntil value of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    repeatUntil: Object | number | Date;
    /**
     * segmentStart value of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    segmentStart: Object | number | Date;
    /**
     * segmentAxisName of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    segmentAxisName: string;
    /**
     * segmentEnd value of the strip line.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    segmentEnd: Object | number | Date;
    /**
     * Strip line Opacity
     *
     * @default 1
     */
    opacity: number;
    /**
     * Strip line text.
     *
     * @default ''
     */
    text: string;
    /**
     * Border of the strip line.
     */
    border: StockChartBorderModel;
    /**
     * The angle to which the strip line text gets rotated.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    rotation: number;
    /**
     * Specifies the order of the strip line. They are,
     * * Behind: Places the strip line behind the series elements.
     * * Over: Places the strip line over the series elements.
     *
     * @default 'Behind'
     */
    zIndex: ZIndex;
    /**
     * Defines the position of the strip line text horizontally. They are,
     * * Start: Places the strip line text at the start.
     * * Middle: Places the strip line text in the middle.
     * * End: Places the strip line text at the end.
     *
     * @default 'Middle'
     */
    horizontalAlignment: Anchor;
    /**
     * Defines the position of the strip line text vertically. They are,
     * * Start: Places the strip line text at the start.
     * * Middle: Places the strip line text in the middle.
     * * End: Places the strip line text at the end.
     *
     * @default 'Middle'
     */
    verticalAlignment: Anchor;
    /**
     * Options to customize the strip line text.
     */
    textStyle: StockChartFontModel;
}
export  class StockEmptyPointSettings extends base.ChildProperty<StockEmptyPointSettings> {
    /**
     * To customize the fill color of empty points.
     *
     * @default null
     */
    fill: string;
    /**
     * To customize the mode of empty points.
     *
     * @default Gap
     */
    mode: EmptyPointMode;
    /**
     * Options to customize the border of empty points.
     *
     * @default "{color: 'transparent', width: 0}"
     */
    border: StockChartBorderModel;
}
export  class StockChartConnector extends base.ChildProperty<StockChartConnector> {
    /**
     * specifies the type of the connector line. They are
     * * Smooth
     * * Line
     *
     * @default 'Line'
     */
    type: ConnectorType;
    /**
     * Length of the connector line in pixels.
     *
     * @default null
     */
    length: string;
    /**
     * Color of the connector line.
     *
     * @default null
     */
    color: string;
    /**
     * dashArray of the connector line.
     *
     * @default ''
     */
    dashArray: string;
    /**
     * Width of the connector line in pixels.
     *
     * @default 1
     */
    width: number;
}
/**
 * Configures the Annotation for chart.
 */
export  class StockSeries extends base.ChildProperty<StockSeries> {
    /**
     * The DataSource field that contains the x value.
     * It is applicable for series and technical indicators
     *
     * @default ''
     */
    xName: string;
    /**
     * The DataSource field that contains the y value.
     *
     * @default ''
     */
    yName: string;
    /**
     * The DataSource field that contains the open value of y
     * It is applicable for series and technical indicators
     *
     * @default ''
     */
    open: string;
    /**
     * The DataSource field that contains the close value of y
     * It is applicable for series and technical indicators
     *
     * @default ''
     */
    close: string;
    /**
     * The DataSource field that contains the high value of y
     * It is applicable for series and technical indicators
     *
     * @default ''
     */
    high: string;
    /**
     * The DataSource field that contains the low value of y
     * It is applicable for series and technical indicators
     *
     * @default ''
     */
    low: string;
    /**
     * Defines the data source field that contains the volume value in candle charts
     * It is applicable for financial series and technical indicators
     *
     * @default ''
     */
    volume: string;
    /**
     * The DataSource field that contains the color value of point
     * It is applicable for series
     *
     * @default ''
     */
    pointColorMapping: string;
    /**
     * The shape of the legend. Each series has its own legend shape. They are
     * * Circle - Renders a circle.
     * * Rectangle - Renders a rectangle.
     * * Triangle - Renders a triangle.
     * * Diamond - Renders a diamond.
     * * Cross - Renders a cross.
     * * HorizontalLine - Renders a horizontalLine.
     * * VerticalLine - Renders a verticalLine.
     * * Pentagon - Renders a pentagon.
     * * InvertedTriangle - Renders a invertedTriangle.
     * * SeriesType -Render a legend shape based on series type.
     * * Image -Render a image.     *
     * @default 'SeriesType'
     */
    legendShape: LegendShape;
    /**
     * The URL for the Image that is to be displayed as a Legend icon.  It requires  `legendShape` value to be an `Image`.
     * @default ''
     */
    legendImageUrl: string;
    /**
     * Options to customizing animation for the series.
     */
    animation: AnimationModel;
    /**
     * The name of the horizontal axis associated with the series. It requires `axes` of the chart.
     * It is applicable for series and technical indicators
     *
     * @default null
     */
    xAxisName: string;
    /**
     * The name of the vertical axis associated with the series. It requires `axes` of the chart.
     * It is applicable for series and technical indicators
     *
     * @default null
     */
    yAxisName: string;
    /**
     * The fill color for the series that accepts value in hex and rgba as a valid CSS color string.
     * It also represents the color of the signal lines in technical indicators.
     * For technical indicators, the default value is 'blue' and for series, it has null.
     *
     * @default null
     */
    fill: string;
    /**
     * Defines the pattern of dashes and gaps to stroke the lines in `Line` type series.
     *
     * @default '0'
     */
    dashArray: string;
    /**
     * The stroke width for the series that is applicable only for `Line` type series.
     * It also represents the stroke width of the signal lines in technical indicators.
     *
     * @default 1
     */
    width: number;
    /**
     * The name of the series visible in legend.
     *
     * @default ''
     */
    name: string;
    /**
     * Specifies the DataSource for the series. It can be an array of JSON objects or an instance of data.DataManager.
     *
     * @default ''
     */
    dataSource: Object | data.DataManager;
    /**
     * Specifies query to select data from DataSource. This property is applicable only when the DataSource is `ej.data.DataManager`.
     *
     * @default null
     */
    query: data.Query;
    /**
     * This property is used in financial charts to visualize the price movements in stock.
     * It defines the color of the candle/point, when the opening price is higher than the closing price.
     *
     * @default '#e74c3d'
     */
    bullFillColor: string;
    /**
     * This property is used in stock charts to visualize the price movements in stock.
     * It defines the color of the candle/point, when the opening price is less than the closing price.
     *
     * @default '#2ecd71'
     */
    bearFillColor: string;
    /**
     * This property is applicable for candle series.
     * It enables/disables to visually compare the current values with the previous values in stock.
     *
     * @default false
     */
    enableSolidCandles: boolean;
    /**
     * Specifies the visibility of series.
     *
     * @default true
     */
    visible: boolean;
    /**
     * Options to customizing the border of the series. This is applicable only for `Column` and `Bar` type series.
     */
    border: StockChartBorderModel;
    /**
     * The opacity of the series.
     *
     * @default 1
     */
    opacity: number;
    /**
     * The type of the series are
     * * Line
     * * Column
     * * Area
     * * Spline
     * * Hilo
     * * HiloOpenClose
     * * Candle
     *
     * @default 'Candle'
     */
    type: ChartSeriesType;
    /**
     * Options for displaying and customizing markers for individual points in a series.
     */
    marker: MarkerSettingsModel;
    /**
     * Defines the collection of trendlines that are used to predict the trend
     */
    trendlines: TrendlineModel[];
    /**
     * If set true, the Tooltip for series will be visible.
     *
     * @default true
     */
    enableTooltip: boolean;
    /**
     * The provided value will be considered as a Tooltip name
     *
     * @default ''
     */
    tooltipMappingName: string;
    /**
     * Custom style for the selected series or points.
     *
     * @default null
     */
    selectionStyle: string;
    /**
     * It defines tension of cardinal spline types
     *
     * @default 0.5
     */
    cardinalSplineTension: number;
    /**
     * To render the column series points with particular rounded corner.
     */
    cornerRadius: CornerRadiusModel;
    /**
     * options to customize the empty points in series
     */
    emptyPointSettings: EmptyPointSettingsModel;
    /**
     * To render the column series points with particular column width. If the series type is histogram the
     * default value is 1 otherwise 0.7.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    columnWidth: number;
    /**
     * To render the column series points with particular column spacing. It takes value from 0 - 1.
     *
     * @default 0
     */
    columnSpacing: number;
    /** @private */
    localData: Object;
    /** @private */
    chart: StockChart;
}
export interface IStockChartEventArgs {
    /** name of the event */
    name: string;
    /** stock chart */
    stockChart: StockChart;
    /** theme */
    theme: ChartTheme;
}
/**
 * Interface for changed events
 */
export interface IRangeChangeEventArgs {
    /** name of the event */
    name: string;
    /** Defines the start value */
    start: number | Date;
    /** Defines the end value */
    end: number | Date;
    /** Defines the data source */
    data: Object[];
    /** Defines the selected data */
    selectedData: Object[];
    /** Defined the zoomPosition of the Stock chart */
    zoomPosition: number;
    /** Defined the zoomFactor of the stock chart */
    zoomFactor: number;
}
/** Stock event render event */
export interface IStockEventRenderArgs {
    /** stockChart */
    stockChart: StockChart;
    /** Event text  */
    text: string;
    /** Event shape */
    type: FlagType;
    /** Defines the name of the event */
    name: string;
    /** Defines the event cancel status */
    cancel: boolean;
    /** Defines the stock series */
    series: StockSeriesModel;
}
export interface IStockLegendRenderEventArgs extends IChartEventArgs {
    /** Defines the current legend text */
    text: string;
    /** Defines the current legend fill color */
    fill: string;
    /** Defines the current legend shape */
    shape: LegendShape;
    /** Defines the current legend marker shape */
    markerShape?: ChartShape;
}
export interface IStockLegendClickEventArgs extends IChartEventArgs {
    /** Defines the chart when legendClick */
    chart: StockChart;
    /** Defines the current legend shape */
    legendShape: LegendShape;
    /** Defines the current series */
    series: Series;
    /** Defines the current legend text */
    legendText: string;
}
export  class StockChartIndicator extends base.ChildProperty<StockChartIndicator> {
    /**
     * Defines the type of the technical indicator
     *
     * @default 'Sma'
     */
    type: TechnicalIndicators;
    /**
     * Defines the period, the price changes over which will be considered to predict the trend
     *
     * @default 14
     */
    period: number;
    /**
     * Defines the period, the price changes over which will define the %D value in stochastic indicators
     *
     * @default 3
     */
    dPeriod: number;
    /**
     * Defines the look back period, the price changes over which will define the %K value in stochastic indicators
     *
     * @default 14
     */
    kPeriod: number;
    /**
     * Defines the over-bought(threshold) values. It is applicable for RSI and stochastic indicators
     *
     * @default 80
     */
    overBought: number;
    /**
     * Defines the over-sold(threshold) values. It is applicable for RSI and stochastic indicators
     *
     * @default 20
     */
    overSold: number;
    /**
     * Defines the field to compare the current value with previous values
     *
     * @default 'Close'
     */
    field: FinancialDataFields;
    /**
     * Sets the standard deviation values that helps to define the upper and lower bollinger bands
     *
     * @default 2
     */
    standardDeviation: number;
    /**
     * Sets the slow period to define the Macd line
     *
     * @default 12
     */
    slowPeriod: number;
    /**
     * Enables/Disables the over-bought and over-sold regions
     *
     * @default true
     */
    showZones: boolean;
    /**
     * Sets the fast period to define the Macd line
     *
     * @default 26
     */
    fastPeriod: number;
    /**
     * Defines the appearance of the the MacdLine of Macd indicator
     *
     * @default { color: '#ff9933', width: 2 }
     */
    macdLine: StockChartConnectorModel;
    /**
     * Defines the type of the Macd indicator.
     *
     * @default 'Both'
     */
    macdType: MacdType;
    /**
     * Defines the color of the negative bars in Macd indicators
     *
     * @default '#e74c3d'
     */
    macdNegativeColor: string;
    /**
     * Defines the color of the positive bars in Macd indicators
     *
     * @default '#2ecd71'
     */
    macdPositiveColor: string;
    /**
     * Options for customizing the BollingerBand in the indicator.
     *
     * @default 'rgba(211,211,211,0.25)'
     */
    bandColor: string;
    /**
     * Defines the appearance of the upper line in technical indicators
     */
    upperLine: StockChartConnectorModel;
    /**
     * Defines the name of the series, the data of which has to be depicted as indicator
     *
     * @default ''
     */
    seriesName: string;
    /**
     * Defines the appearance of period line in technical indicators
     */
    periodLine: StockChartConnectorModel;
    /**
     * Defines the appearance of lower line in technical indicators
     */
    lowerLine: ConnectorModel;
    /**
     * The DataSource field that contains the high value of y
     * It is applicable for series and technical indicators
     *
     * @default ''
     */
    high: string;
    /**
     * The DataSource field that contains the open value of y
     * It is applicable for series and technical indicators
     *
     * @default ''
     */
    open: string;
    /**
     * The DataSource field that contains the low value of y
     * It is applicable for series and technical indicators
     *
     * @default ''
     */
    low: string;
    /**
     * The DataSource field that contains the x value.
     * It is applicable for series and technical indicators
     *
     * @default ''
     */
    xName: string;
    /**
     * The DataSource field that contains the close value of y
     * It is applicable for series and technical indicators
     *
     * @default ''
     */
    close: string;
    /**
     * The DataSource field that contains the color value of point
     * It is applicable for series
     *
     * @default ''
     */
    pointColorMapping: string;
    /**
     * Defines the data source field that contains the volume value in candle charts
     * It is applicable for financial series and technical indicators
     *
     * @default ''
     */
    volume: string;
    /**
     * The name of the horizontal axis associated with the series. It requires `axes` of the chart.
     * It is applicable for series and technical indicators
     * ```html
     * <div id='Chart'></div>
     * ```
     * ```typescript
     * let chart$: Chart = new Chart({
     * ...
     *     columns: [{ width: '50%' },
     *               { width: '50%' }],
     *     axes: [{
     *                name: 'xAxis 1',
     *                columnIndex: 1,
     *            }],
     *     series: [{
     *                dataSource: data,
     *                xName: 'x', yName: 'y',
     *                xAxisName: 'xAxis 1',
     *     }],
     * });
     * chart.appendTo('#Chart');
     * ```
     *
     * @default null
     */
    xAxisName: string;
    /**
     * The name of the vertical axis associated with the series. It requires `axes` of the chart.
     * It is applicable for series and technical indicators
     * ```html
     * <div id='Chart'></div>
     * ```
     *
     * @default null
     */
    yAxisName: string;
    /**
     * Options to customizing animation for the series.
     */
    animation: AnimationModel;
    /**
     * The fill color for the series that accepts value in hex and rgba as a valid CSS color string.
     * It also represents the color of the signal lines in technical indicators.
     * For technical indicators, the default value is 'blue' and for series, it has null.
     *
     * @default null
     */
    fill: string;
    /**
     * Defines the pattern of dashes and gaps to stroke the lines in `Line` type series.
     *
     * @default '0'
     */
    dashArray: string;
    /**
     * The stroke width for the series that is applicable only for `Line` type series.
     * It also represents the stroke width of the signal lines in technical indicators.
     *
     * @default 1
     */
    width: number;
    /**
     * Specifies query to select data from DataSource. This property is applicable only when the DataSource is `ej.data.DataManager`.
     *
     * @default null
     */
    query: data.Query;
    /**
     * Specifies the DataSource for the series. It can be an array of JSON objects or an instance of data.DataManager.
     * ```html
     * <div id='Chart'></div>
     * ```
     *
     * @default ''
     */
    dataSource: Object | data.DataManager;
}
export  class StockChartAxis extends base.ChildProperty<StockChartAxis> {
    /**
     * Options to customize the crosshair ToolTip.
     */
    crosshairTooltip: CrosshairTooltipModel;
    /**
     * Options to customize the axis label.
     */
    labelStyle: FontModel;
    /**
     * Specifies the title of an axis.
     *
     * @default ''
     */
    title: string;
    /**
     * Options for customizing the axis title.
     */
    titleStyle: StockChartFontModel;
    /**
     * Used to format the axis label that accepts any global string format like 'C', 'n1', 'P' etc.
     * It also accepts placeholder like '{value}°C' in which value represent the axis label, e.g, 20°C.
     *
     * @default ''
     */
    labelFormat: string;
    /**
     * It specifies the type of format to be used in dateTime format process.
     *
     * @default 'DateTime'
     */
    skeletonType: SkeletonType;
    /**
     * Specifies the skeleton format in which the dateTime format will process.
     *
     * @default ''
     */
    skeleton: string;
    /**
     * Left and right padding for the plot area in pixels.
     *
     * @default 0
     */
    plotOffset: number;
    /**
     * The base value for logarithmic axis. It requires `valueType` to be `Logarithmic`.
     *
     * @default 10
     */
    logBase: number;
    /**
     * Specifies the index of the row where the axis is associated, when the chart area is divided into multiple plot areas by using `rows`.
     * ```html
     * <div id='Chart'></div>
     * ```
     * ```typescript
     * let chart$: Chart = new Chart({
     * ...
     *     rows: [{ height: '50%' },
     *            { height: '50%' }],
     *     axes: [{
     *                name: 'yAxis 1',
     *                rowIndex: 1,
     *      }],
     * ...
     * });
     * chart.appendTo('#Chart');
     * ```
     *
     * @default 0
     */
    rowIndex: number;
    /**
     * Specifies the number of `columns` or `rows` an axis has to span horizontally or vertically.
     *
     * @default 1
     */
    span: number;
    /**
     * The maximum number of label count per 100 pixels with respect to the axis length.
     *
     * @default 3
     */
    maximumLabels: number;
    /**
     * With this property, you can request axis to calculate intervals approximately equal to your specified interval.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    desiredIntervals: number;
    /**
     * The axis is scaled by this factor. When zoomFactor is 0.5, the chart is scaled by 200% along this axis. Value ranges from 0 to 1.
     *
     * @default 1
     */
    zoomFactor: number;
    /**
     * Position of the zoomed axis. Value ranges from 0 to 1.
     *
     * @default 0
     */
    zoomPosition: number;
    /**
     * If set to true, the axis will render at the opposite side of its default position.
     *
     * @default false
     */
    opposedPosition: boolean;
    /**
     * If set to true, axis interval will be calculated automatically with respect to the zoomed range.
     *
     * @default true
     */
    enableAutoIntervalOnZooming: boolean;
    /**
     * Specifies the type of data the axis is handling.
     * * Double:  Renders a numeric axis.
     * * DateTime: Renders a dateTime axis.
     * * Category: Renders a category axis.
     * * Logarithmic: Renders a log axis.
     *
     * @default 'Double'
     * @blazorType Syncfusion.EJ2.Blazor.Charts.ValueType
     * @isEnumeration true
     */
    valueType: ValueType;
    /**
     * Specifies the padding for the axis range in terms of interval.They are,
     * * none: Padding cannot be applied to the axis.
     * * normal: Padding is applied to the axis based on the range calculation.
     * * additional: Interval of the axis is added as padding to the minimum and maximum values of the range.
     * * round: Axis range is rounded to the nearest possible value divided by the interval.
     *
     * @default 'Auto'
     */
    rangePadding: ChartRangePadding;
    /**
     * Specifies the position of labels at the edge of the axis.They are,
     * * None: No action will be performed.
     * * Hide: Edge label will be hidden.
     * * Shift: Shifts the edge labels.
     *
     * @default 'None'
     */
    edgeLabelPlacement: EdgeLabelPlacement;
    /**
     * Specifies the placement of a label for category axis. They are,
     * * betweenTicks: Renders the label between the ticks.
     * * onTicks: Renders the label on the ticks.
     *
     * @default 'BetweenTicks'
     */
    labelPlacement: LabelPlacement;
    /**
     * Specifies the types like `Years`, `Months`, `Days`, `Hours`, `Minutes`, `Seconds` in date time axis.They are,
     * * Auto: Defines the interval of the axis based on data.
     * * Years: Defines the interval of the axis in years.
     * * Months: Defines the interval of the axis in months.
     * * Days: Defines the interval of the axis in days.
     * * Hours: Defines the interval of the axis in hours.
     * * Minutes: Defines the interval of the axis in minutes.
     *
     * @default 'Auto'
     */
    intervalType: IntervalType;
    /**
     * Specifies the placement of a ticks to the axis line. They are,
     * * inside: Renders the ticks inside to the axis line.
     * * outside: Renders the ticks outside to the axis line.
     *
     * @default 'Outside'
     */
    tickPosition: AxisPosition;
    /**
     * Unique identifier of an axis.
     * To associate an axis with the series, set this name to the xAxisName/yAxisName properties of the series.
     *
     * @default ''
     */
    name: string;
    /**
     * Specifies the placement of a labels to the axis line. They are,
     * * inside: Renders the labels inside to the axis line.
     * * outside: Renders the labels outside to the axis line.
     *
     * @default 'Outside'
     */
    labelPosition: AxisPosition;
    /**
     * If set to true, axis label will be visible.
     *
     * @default true
     */
    visible: boolean;
    /**
     * The angle to which the axis label gets rotated.
     *
     * @default 0
     */
    labelRotation: number;
    /**
     * Specifies the number of minor ticks per interval.
     *
     * @default 0
     */
    minorTicksPerInterval: number;
    /**
     * Specifies the value at which the axis line has to be intersect with the vertical axis or vice versa.
     *
     * @default null
     */
    crossesAt: Object;
    /**
     * Specifies axis name with which the axis line has to be crossed
     *
     * @default null
     */
    crossesInAxis: string;
    /**
     * Specifies whether axis elements like axis labels, axis title, etc has to be crossed with axis line
     *
     * @default true
     */
    placeNextToAxisLine: boolean;
    /**
     * Specifies the minimum range of an axis.
     *
     * @default null
     */
    minimum: Object;
    /**
     * Specifies the interval for an axis.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    interval: number;
    /**
     * Specifies the maximum range of an axis.
     *
     * @default null
     */
    maximum: Object;
    /**
     * Specifies the maximum width of an axis label.
     *
     * @default 34.
     */
    maximumLabelWidth: number;
    /**
     * Options for customizing major tick lines.
     */
    majorTickLines: MajorTickLinesModel;
    /**
     * Specifies the Trim property for an axis.
     *
     * @default false
     */
    enableTrim: boolean;
    /**
     * Options for customizing minor tick lines.
     */
    minorTickLines: MinorTickLinesModel;
    /**
     * Options for customizing minor grid lines.
     */
    minorGridLines: MinorGridLinesModel;
    /**
     * Options for customizing major grid lines.
     */
    majorGridLines: MajorGridLinesModel;
    /**
     * Options for customizing axis lines.
     */
    lineStyle: AxisLineModel;
    /**
     * It specifies whether the axis to be rendered in inversed manner or not.
     *
     * @default false
     */
    isInversed: boolean;
    /**
     * Specifies the actions like `Hide`, `Rotate45`, and `Rotate90` when the axis labels intersect with each other.They are,
     * * None: Shows all the labels.
     * * Hide: Hides the label when it intersects.
     * * Rotate45: Rotates the label to 45 degree when it intersects.
     * * Rotate90: Rotates the label to 90 degree when it intersects.
     *
     * @default Hide
     */
    labelIntersectAction: LabelIntersectAction;
    /**
     * The polar radar radius position.
     *
     * @default 100
     */
    coefficient: number;
    /**
     * The start angle for the series.
     *
     * @default 0
     */
    startAngle: number;
    /**
     * TabIndex value for the axis.
     *
     * @default 2
     */
    tabIndex: number;
    /**
     * Specifies the stripLine collection for the axis
     */
    stripLines: StockChartStripLineSettingsModel[];
    /**
     * Description for axis and its element.
     *
     * @default null
     */
    description: string;
}
/**
 * StockChart row
 */
export  class StockChartRow extends base.ChildProperty<StockChartRow> {
    /**
     * The height of the row as a string accept input both as '100px' and '100%'.
     * If specified as '100%, row renders to the full height of its chart.
     *
     * @default '100%'
     */
    height: string;
    /**
     * Options to customize the border of the rows.
     */
    border: StockChartBorderModel;
}
export  class StockChartTrendline extends base.ChildProperty<StockChartTrendline> {
    /**
     * Defines the period, the price changes over which will be considered to predict moving average trend line
     *
     * @default 2
     */
    period: number;
    /**
     * Defines the name of trendline
     *
     * @default ''
     */
    name: string;
    /**
     * Defines the type of the trendline
     *
     * @default 'Linear'
     */
    type: TrendlineTypes;
    /**
     * Defines the polynomial order of the polynomial trendline
     *
     * @default 2
     */
    polynomialOrder: number;
    /**
     * Defines the period, by which the trend has to forward forecast
     *
     * @default 0
     */
    forwardForecast: number;
    /**
     * Defines the period, by which the trend has to backward forecast
     *
     * @default 0
     */
    backwardForecast: number;
    /**
     * Options to customize the animation for trendlines
     */
    animation: AnimationModel;
    /**
     * Enables/disables tooltip for trendlines
     *
     * @default true
     */
    enableTooltip: boolean;
    /**
     * Options to customize the marker for trendlines
     */
    marker: MarkerSettingsModel;
    /**
     * Defines the intercept of the trendline
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    intercept: number;
    /**
     * Defines the fill color of trendline
     *
     * @default ''
     */
    fill: string;
    /**
     * Sets the legend shape of the trendline
     *
     * @default 'SeriesType'
     */
    legendShape: LegendShape;
    /**
     * Defines the width of the trendline
     *
     * @default 1
     */
    width: number;
}
export  class StockChartAnnotationSettings extends base.ChildProperty<StockChartAnnotationSettings> {
    /**
     * if set coordinateUnit as `Pixel` Y specifies the axis value
     * else is specifies pixel or percentage of coordinate
     *
     * @default '0'
     */
    y: string | number;
    /**
     * if set coordinateUnit as `Pixel` X specifies the axis value
     * else is specifies pixel or percentage of coordinate
     *
     * @default '0'
     */
    x: string | Date | number;
    /**
     * Content of the annotation, which accepts the id of the custom element.
     *
     * @default null
     */
    content: string;
    /**
     * Specifies the regions of the annotation. They are
     * * Chart - Annotation renders based on chart coordinates.
     * * Series - Annotation renders based on series coordinates.
     *
     * @default 'Chart'
     */
    region: Regions;
    /**
     * Specifies the alignment of the annotation. They are
     * * Near - Align the annotation element as left side.
     * * Far - Align the annotation element as right side.
     * * Center - Align the annotation element as mid point.
     *
     * @default 'Center'
     */
    horizontalAlignment: Alignment;
    /**
     * Specifies the coordinate units of the annotation. They are
     * * Pixel - Annotation renders based on x and y pixel value.
     * * Point - Annotation renders based on x and y axis value.
     *
     * @default 'Pixel'
     */
    coordinateUnits: Units;
    /**
     * Specifies the position of the annotation. They are
     * * Top - Align the annotation element as top side.
     * * Bottom - Align the annotation element as bottom side.
     * * Middle - Align the annotation element as mid point.
     *
     * @default 'Middle'
     */
    verticalAlignment: Position;
    /**
     * The name of vertical axis associated with the annotation.
     * It requires `axes` of chart.
     *
     * @default null
     */
    yAxisName: string;
    /**
     * Information about annotation for assistive technology.
     *
     * @default null
     */
    description: string;
    /**
     * The name of horizontal axis associated with the annotation.
     * It requires `axes` of chart.
     *
     * @default null
     */
    xAxisName: string;
}
export  class StockChartIndexes extends base.ChildProperty<StockChartIndexes> {
    /**
     * Specifies index of point
     *
     * @default 0
     * @aspType int
     */
    point: number;
    /**
     * Specifies index of series
     *
     * @default 0
     * @aspType int
     */
    series: number;
}
/**
 * Configures the Stock events for stock chart.
 */
export  class StockEventsSettings extends base.ChildProperty<StockEventsSettings> {
    /**
     * Specifies type of stock events
     * * Circle
     * * Square
     * * Flag
     * * Text
     * * Sign
     * * Triangle
     * * InvertedTriangle
     * * ArrowUp
     * * ArrowDown
     * * ArrowLeft
     * * ArrowRight
     *
     * @default 'Circle'
     */
    type: FlagType;
    /**
     * Specifies the text for the stock chart text.
     */
    text: string;
    /**
     * Specifies the description for the chart which renders in tooltip for stock event.
     */
    description: string;
    /**
     * Date value of stock event in which stock event shows.
     */
    date: Date;
    /**
     * Options to customize the border of the stock events.
     */
    border: StockChartBorderModel;
    /**
     * The background of the stock event that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default 'transparent'
     */
    background: string;
    /**
     * Enables the stock events to be render on series. If it disabled, stock event rendered on primaryXAxis.
     *
     * @default true
     */
    showOnSeries: boolean;
    /**
     * Corresponding values in which stock event placed.
     * * Close
     * * Open
     * * High
     * * Close
     *
     * @default 'close'
     */
    placeAt: string;
    /**
     * Options to customize the styles for stock events text.
     */
    textStyle: StockChartFontModel;
    /**
     * To render stock events in particular series.
     * By default stock events will render for all series.
     *
     * @default []
     */
    seriesIndexes: number[];
}
//node_modules/@syncfusion/ej2-charts/src/stock-chart/renderer/cartesian-chart.d.ts
/** @private */
export  class CartesianChart {
    /**
     * `legendModule` is used to manipulate and add legend to the chart.
     */
    stockLegendModule: StockLegend;
    /** @private */
    legend: BaseLegend;
    private stockChart;
    cartesianChartSize: svgBase.Size;
    constructor(chart: StockChart);
    initializeChart(chartArgsData?: object[]): void;
    private findMargin;
    private findSeriesCollection;
    calculateChartSize(): svgBase.Size;
    private calculateUpdatedRange;
    /**
     * Cartesian chart refreshes based on start and end value
     *
     * @param {StockChart} stockChart stock chart instance
     * @param {Object[]} data stock chart data
     * @returns {void}
     */
    cartesianChartRefresh(stockChart: StockChart, data?: Object[]): void;
    private copyObject;
}
//node_modules/@syncfusion/ej2-charts/src/stock-chart/renderer/range-selector.d.ts
/** @private */
export  class RangeSelector {
    private stockChart;
    constructor(stockChart: StockChart);
    initializeRangeNavigator(): void;
    private findMargin;
    private findSeriesCollection;
    private calculateChartSize;
    /**
     * Performs slider change
     *
     * @param {number} start slider start value
     * @param {number} end slider end value
     * @returns {void}
     */
    sliderChange(start: number, end: number): void;
}
//node_modules/@syncfusion/ej2-charts/src/stock-chart/renderer/stock-events.d.ts
/**
 * Used for stock event calculations.
 */
/**
 * @private
 */
export  class StockEvents extends BaseTooltip {
    constructor(stockChart: StockChart);
    private stockChart;
    private chartId;
    /** @private */
    stockEventTooltip: svgBase.Tooltip;
    /** @private */
    symbolLocations: ChartLocation[][];
    private pointIndex;
    private seriesIndex;
    /**
     * To render stock events in chart
     *
     * @returns {Element} Stock event element
     * @private
     */
    renderStockEvents(): Element;
    private creatEventGroup;
    private findClosePoint;
    private createStockElements;
    renderStockEventTooltip(targetId: string): void;
    /**
     * Remove the stock event tooltip
     *
     * @param {number} duration tooltip timeout duration
     * @returns {void}
     */
    removeStockEventTooltip(duration: number): void;
    private findArrowpaths;
    private applyHighLights;
    private removeHighLights;
    private setOpacity;
    /**
     * To convert the c# or javascript date formats into js format
     * refer chart control's dateTime processing.
     *
     * @param {Date | string} value date or string value
     * @returns {Date} date format value
     */
    private dateParse;
}
//node_modules/@syncfusion/ej2-charts/src/stock-chart/renderer/toolbar-selector.d.ts
/**
 * Period selector for range navigator
 */
/** @private */
export  class ToolBarSelector {
    private stockChart;
    private indicatorDropDown;
    private trendlineDropDown;
    private selectedSeries;
    private selectedIndicator;
    private selectedTrendLine;
    constructor(chart: StockChart);
    initializePeriodSelector(): void;
    /**
     * This method returns itemModel for dropdown button
     */
    private getDropDownItems;
    /**
     * This method changes the type of series while selectind series in dropdown button
     */
    private addedSeries;
    initializeSeriesSelector(): void;
    private trendline;
    private indicators;
    private secondayIndicators;
    resetButton(): void;
    initializeTrendlineSelector(): void;
    initializeIndicatorSelector(): void;
    private getIndicator;
    createIndicatorAxes(type: TechnicalIndicators, args: splitbuttons.MenuEventArgs): void;
    tickMark(args: splitbuttons.MenuEventArgs): string;
    printButton(): void;
    exportButton(): void;
    calculateAutoPeriods(): PeriodsModel[];
    private findRange;
    /**
     * Text elements added to while export the chart
     * It details about the seriesTypes, indicatorTypes and Trendlines selected in chart.
     */
    private addExportSettings;
    /** @private */
    private textElementSpan;
}
//node_modules/@syncfusion/ej2-charts/src/stock-chart/stock-chart-model.d.ts
/**
 * Interface for a class StockChart
 */
export interface StockChartModel extends base.ComponentModel{
    /**
     * The width of the stockChart as a string accepts input as both like '100px' or '100%'.
     * If specified as '100%, stockChart renders to the full width of its parent element.
     *
     * @default null
     */
    width?: string;
    /**
     * The height of the stockChart as a string accepts input both as '100px' or '100%'.
     * If specified as '100%, stockChart renders to the full height of its parent element.
     *
     * @default null
     */
    height?: string;
    /**
     * Specifies the DataSource for the stockChart. It can be an array of JSON objects or an instance of data.DataManager.
     * ```html
     * <div id='financial'></div>
     * ```
     * ```typescript
     * let dataManager$: data.DataManager = new data.DataManager({
     *         url: 'http://mvc.syncfusion.com/Services/Northwnd.svc/Tasks/'
     * });
     * let query$: Query = new Query().take(50).where('Estimate', 'greaterThan', 0, false);
     * let financial: stockChart = new stockChart({
     * ...
     *  dataSource:dataManager,
     *   series: [{
     *        xName: 'Id',
     *        yName: 'Estimate',
     *        query: query
     *    }],
     * ...
     * });
     * financial.appendTo('#financial');
     * ```
     *
     * @default ''
     */
    dataSource?: Object | data.DataManager;
    /**
     *  Options to customize left, right, top and bottom margins of the stockChart.
     */
    margin?: StockMarginModel;
    /**
     * Options for customizing the color and width of the stockChart border.
     */
    border?: StockChartBorderModel;
    /**
     * The background color of the stockChart that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    background?: string;
    /**
     * Specifies the theme for the stockChart.
     *
     * @default 'Material'
     */
    theme?: ChartTheme;
    /**
     * Options to configure the horizontal axis.
     */
    primaryXAxis?: StockChartAxisModel;
    /**
     * Options for configuring the border and background of the stockChart area.
     */
    chartArea?: StockChartAreaModel;
    /**
     * Options to configure the vertical axis.
     *
     * @complex {opposedPosition=true, labelPosition=AxisPosition.Outside}
     */
    primaryYAxis?: StockChartAxisModel;
    /**
     * Options to split stockChart into multiple plotting areas horizontally.
     * Each object in the collection represents a plotting area in the stockChart.
     */
    rows?: StockChartRowModel[];
    /**
     * Secondary axis collection for the stockChart.
     */
    axes?: StockChartAxisModel[];
    /**
     * The configuration for series in the stockChart.
     */
    series?: StockSeriesModel[];
    /**
     * The configuration for stock events in the stockChart.
     */
    stockEvents?: StockEventsSettingsModel[];
    /**
     * It specifies whether the stockChart should be render in transposed manner or not.
     *
     * @default false
     */
    isTransposed?: boolean;
    /**
     * Title of the chart
     *
     * @default ''
     */
    title?: string;
    /**
     * Options for customizing the title of the Chart.
     */
    titleStyle?: StockChartFontModel;
    /**
     * Defines the collection of technical indicators, that are used in financial markets
     */
    indicators?: StockChartIndicatorModel[];
    /**
     * Options for customizing the tooltip of the chart.
     */
    tooltip?: TooltipSettingsModel;
    /**
     * Options for customizing the crosshair of the chart.
     */
    crosshair?: CrosshairSettingsModel;
    /**
     * Options for customizing the legend of the stockChart.
     */
    legendSettings?: StockChartLegendSettingsModel;
 
    /**
     * Options to enable the zooming feature in the chart.
     */
    zoomSettings?: ZoomSettingsModel;
    /**
     * It specifies whether the periodSelector to be rendered in financial chart
     *
     * @default true
     */
    enablePeriodSelector?: boolean;
    /**
     * Custom Range
     *
     * @default true
     */
    enableCustomRange?: boolean;
    /**
     * If set true, enables the animation in chart.
     *
     * @default false
     */
    isSelect?: boolean;
    /**
     * It specifies whether the range navigator to be rendered in financial chart
     *
     * @default true
     */
    enableSelector?: boolean;
    /**
     * To configure period selector options.
     */
    periods?: PeriodsModel[];
    /**
     * The configuration for annotation in chart.
     */
    annotations?: StockChartAnnotationSettingsModel[];
    /**
     * Triggers before render the selector
     *
     * @event selectorRender
     * @deprecated
     */
    selectorRender?: base.EmitType<IRangeSelectorRenderEventArgs>;
    /**
     * Triggers on hovering the stock chart.
     *
     * @event stockChartMouseMove
     * @blazorProperty 'OnStockChartMouseMove'
     */
    stockChartMouseMove?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers when cursor leaves the chart.
     *
     * @event stockChartMouseLeave
     * @blazorProperty 'OnStockChartMouseLeave'
     */
    stockChartMouseLeave?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on mouse down.
     *
     * @event stockChartMouseDown
     * @blazorProperty 'OnStockChartMouseDown'
     */
    stockChartMouseDown?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on mouse up.
     *
     * @event stockChartMouseUp
     * @blazorProperty 'OnStockChartMouseUp'
     */
    stockChartMouseUp?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on clicking the stock chart.
     *
     * @event stockChartMouseClick
     * @blazorProperty 'OnStockChartMouseClick'
     */
    stockChartMouseClick?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on point click.
     *
     * @event pointClick
     * @blazorProperty 'OnPointClick'
     */
    pointClick?: base.EmitType<IPointEventArgs>;
    /**
     * Triggers on point move.
     *
     * @event pointMove
     * @blazorProperty 'PointMoved'
     */
    pointMove?: base.EmitType<IPointEventArgs>;
    /**
     * Triggers after the zoom selection is completed.
     *
     * @event onZooming
     */
    onZooming?: base.EmitType<IZoomingEventArgs>;
    /**
     * Triggers before the legend is rendered.
     *
     * @event legendRender
     * @deprecated
     */
    legendRender?: base.EmitType<IStockLegendRenderEventArgs>;
    /**
     * Triggers after click on legend
     *
     * @event legendClick
     */
    legendClick?: base.EmitType<IStockLegendClickEventArgs>;
    /**
     * Specifies whether series or data point has to be selected. They are,
     * * none: Disables the selection.
     * * series: selects a series.
     * * point: selects a point.
     * * cluster: selects a cluster of point
     * * dragXY: selects points by dragging with respect to both horizontal and vertical axes
     * * dragX: selects points by dragging with respect to horizontal axis.
     * * dragY: selects points by dragging with respect to vertical axis.
     *
     * @default None
     */
    selectionMode?: SelectionMode;
    /**
     * If set true, enables the multi selection in chart. It requires `selectionMode` to be `Point` | `Series` | or `Cluster`.
     *
     * @default false
     */
    isMultiSelect?: boolean;
    /**
     * Triggers before the range navigator rendering
     *
     * @event load
     */
    load?: base.EmitType<IStockChartEventArgs>;
    /**
     * Triggers after the range navigator rendering
     *
     * @event loaded
     * @blazorProperty 'Loaded'
     */
    loaded?: base.EmitType<IStockChartEventArgs>;
    /**
     * Triggers if the range is changed
     *
     * @event rangeChange
     * @blazorProperty 'RangeChange'
     */
    rangeChange?: base.EmitType<IRangeChangeEventArgs>;
    /**
     * Triggers before each axis label is rendered.
     *
     * @event axisLabelRender
     * @deprecated
     */
    axisLabelRender?: base.EmitType<IAxisLabelRenderEventArgs>;
    /**
     * Triggers before the tooltip for series is rendered.
     *
     * @event tooltipRender
     * @deprecated
     */
    tooltipRender?: base.EmitType<ITooltipRenderEventArgs>;
    /**
     * Triggers before the series is rendered.
     *
     * @event seriesRender
     * @deprecated
     */
    seriesRender?: base.EmitType<ISeriesRenderEventArgs>;
    /**
     * Triggers before the series is rendered.
     *
     * @event stockEventRender
     * @deprecated
     */
    stockEventRender?: base.EmitType<IStockEventRenderArgs>;
    /**
     * Specifies the point indexes to be selected while loading a chart.
     * It requires `selectionMode` to be `Point` | `Series` | or `Cluster`.
     * ```html
     * <div id='Chart'></div>
     * ```
     * ```typescript
     * let chart$: Chart = new Chart({
     * ...
     *   selectionMode: 'Point',
     *   selectedDataIndexes: [ { series: 0, point: 1},
     *                          { series: 2, point: 3} ],
     * ...
     * });
     * chart.appendTo('#Chart');
     * ```
     *
     * @default []
     */
    selectedDataIndexes?: StockChartIndexesModel[];
    /**
     * It specifies the types of series in financial chart.
     */
    seriesType?: ChartSeriesType[];
    /**
     * It specifies the types of indicators in financial chart.
     */
    indicatorType?: TechnicalIndicators[];
    /**
     * It specifies the types of Export types in financial chart.
     */
    exportType?: ExportType[];
    /**
     * It specifies the types of trendline types in financial chart.
     */
    trendlineType?: TrendlineTypes[];
}
//node_modules/@syncfusion/ej2-charts/src/stock-chart/stock-chart.d.ts
/**
 * Stock Chart
 * @public
 */
export  class StockChart extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    /**
     * `legendModule` is used to manipulate and add legend to the Stockchart.
     */
    stockLegendModule: StockLegend;
    /**
     * The width of the stockChart as a string accepts input as both like '100px' or '100%'.
     * If specified as '100%, stockChart renders to the full width of its parent element.
     *
     * @default null
     */
    width: string;
    /**
     * The height of the stockChart as a string accepts input both as '100px' or '100%'.
     * If specified as '100%, stockChart renders to the full height of its parent element.
     *
     * @default null
     */
    height: string;
    /**
     * Specifies the DataSource for the stockChart. It can be an array of JSON objects or an instance of data.DataManager.
     * ```html
     * <div id='financial'></div>
     * ```
     * ```typescript
     * let dataManager$: data.DataManager = new data.DataManager({
     *         url: 'http://mvc.syncfusion.com/Services/Northwnd.svc/Tasks/'
     * });
     * let query$: Query = new Query().take(50).where('Estimate', 'greaterThan', 0, false);
     * let financial$: stockChart = new stockChart({
     * ...
     *  dataSource:dataManager,
     *   series: [{
     *        xName: 'Id',
     *        yName: 'Estimate',
     *        query: query
     *    }],
     * ...
     * });
     * financial.appendTo('#financial');
     * ```
     *
     * @default ''
     */
    dataSource: Object | data.DataManager;
    /**
     *  Options to customize left, right, top and bottom margins of the stockChart.
     */
    margin: StockMarginModel;
    /**
     * Options for customizing the color and width of the stockChart border.
     */
    border: StockChartBorderModel;
    /**
     * The background color of the stockChart that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default null
     */
    background: string;
    /**
     * Specifies the theme for the stockChart.
     *
     * @default 'Material'
     */
    theme: ChartTheme;
    /**
     * Options to configure the horizontal axis.
     */
    primaryXAxis: StockChartAxisModel;
    /**
     * Options for configuring the border and background of the stockChart area.
     */
    chartArea: StockChartAreaModel;
    /**
     * Options to configure the vertical axis.
     *
     * @complex {opposedPosition=true, labelPosition=AxisPosition.Outside}
     */
    primaryYAxis: StockChartAxisModel;
    /**
     * Options to split stockChart into multiple plotting areas horizontally.
     * Each object in the collection represents a plotting area in the stockChart.
     */
    rows: StockChartRowModel[];
    /**
     * Secondary axis collection for the stockChart.
     */
    axes: StockChartAxisModel[];
    /**
     * The configuration for series in the stockChart.
     */
    series: StockSeriesModel[];
    /**
     * The configuration for stock events in the stockChart.
     */
    stockEvents: StockEventsSettingsModel[];
    /**
     * It specifies whether the stockChart should be render in transposed manner or not.
     *
     * @default false
     */
    isTransposed: boolean;
    /**
     * Title of the chart
     *
     * @default ''
     */
    title: string;
    /**
     * Options for customizing the title of the Chart.
     */
    titleStyle: StockChartFontModel;
    /**
     * Defines the collection of technical indicators, that are used in financial markets
     */
    indicators: StockChartIndicatorModel[];
    /**
     * Options for customizing the tooltip of the chart.
     */
    tooltip: TooltipSettingsModel;
    /**
     * Options for customizing the crosshair of the chart.
     */
    crosshair: CrosshairSettingsModel;
    /**
     * Options for customizing the legend of the stockChart.
     */
    legendSettings: StockChartLegendSettingsModel;
    /**
     * Options to enable the zooming feature in the chart.
     */
    zoomSettings: ZoomSettingsModel;
    /**
     * It specifies whether the periodSelector to be rendered in financial chart
     *
     * @default true
     */
    enablePeriodSelector: boolean;
    /**
     * Custom Range
     *
     * @default true
     */
    enableCustomRange: boolean;
    /**
     * If set true, enables the animation in chart.
     *
     * @default false
     */
    isSelect: boolean;
    /**
     * It specifies whether the range navigator to be rendered in financial chart
     *
     * @default true
     */
    enableSelector: boolean;
    /**
     * To configure period selector options.
     */
    periods: PeriodsModel[];
    /**
     * The configuration for annotation in chart.
     */
    annotations: StockChartAnnotationSettingsModel[];
    /**
     * Triggers before render the selector
     *
     * @event selectorRender
     * @deprecated
     */
    selectorRender: base.EmitType<IRangeSelectorRenderEventArgs>;
    /**
     * Triggers on hovering the stock chart.
     *
     * @event stockChartMouseMove
     * @blazorProperty 'OnStockChartMouseMove'
     */
    stockChartMouseMove: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers when cursor leaves the chart.
     *
     * @event stockChartMouseLeave
     * @blazorProperty 'OnStockChartMouseLeave'
     */
    stockChartMouseLeave: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on mouse down.
     *
     * @event stockChartMouseDown
     * @blazorProperty 'OnStockChartMouseDown'
     */
    stockChartMouseDown: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on mouse up.
     *
     * @event stockChartMouseUp
     * @blazorProperty 'OnStockChartMouseUp'
     */
    stockChartMouseUp: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on clicking the stock chart.
     *
     * @event stockChartMouseClick
     * @blazorProperty 'OnStockChartMouseClick'
     */
    stockChartMouseClick: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on point click.
     *
     * @event pointClick
     * @blazorProperty 'OnPointClick'
     */
    pointClick: base.EmitType<IPointEventArgs>;
    /**
     * Triggers on point move.
     *
     * @event pointMove
     * @blazorProperty 'PointMoved'
     */
    pointMove: base.EmitType<IPointEventArgs>;
    /**
     * Triggers after the zoom selection is completed.
     *
     * @event onZooming
     */
    onZooming: base.EmitType<IZoomingEventArgs>;
    /**
     * Triggers before the legend is rendered.
     *
     * @event legendRender
     * @deprecated
     */
    legendRender: base.EmitType<IStockLegendRenderEventArgs>;
    /**
     * Triggers after click on legend
     *
     * @event legendClick
     */
    legendClick: base.EmitType<IStockLegendClickEventArgs>;
    /**
     * Specifies whether series or data point has to be selected. They are,
     * * none: Disables the selection.
     * * series: selects a series.
     * * point: selects a point.
     * * cluster: selects a cluster of point
     * * dragXY: selects points by dragging with respect to both horizontal and vertical axes
     * * dragX: selects points by dragging with respect to horizontal axis.
     * * dragY: selects points by dragging with respect to vertical axis.
     *
     * @default None
     */
    selectionMode: SelectionMode;
    /**
     * If set true, enables the multi selection in chart. It requires `selectionMode` to be `Point` | `Series` | or `Cluster`.
     *
     * @default false
     */
    isMultiSelect: boolean;
    /**
     * Triggers before the range navigator rendering
     *
     * @event load
     */
    load: base.EmitType<IStockChartEventArgs>;
    /**
     * Triggers after the range navigator rendering
     *
     * @event loaded
     * @blazorProperty 'Loaded'
     */
    loaded: base.EmitType<IStockChartEventArgs>;
    /**
     * Triggers if the range is changed
     *
     * @event rangeChange
     * @blazorProperty 'RangeChange'
     */
    rangeChange: base.EmitType<IRangeChangeEventArgs>;
    /**
     * Triggers before each axis label is rendered.
     *
     * @event axisLabelRender
     * @deprecated
     */
    axisLabelRender: base.EmitType<IAxisLabelRenderEventArgs>;
    /**
     * Triggers before the tooltip for series is rendered.
     *
     * @event tooltipRender
     * @deprecated
     */
    tooltipRender: base.EmitType<ITooltipRenderEventArgs>;
    /**
     * Triggers before the series is rendered.
     *
     * @event seriesRender
     * @deprecated
     */
    seriesRender: base.EmitType<ISeriesRenderEventArgs>;
    /**
     * Triggers before the series is rendered.
     *
     * @event stockEventRender
     * @deprecated
     */
    stockEventRender: base.EmitType<IStockEventRenderArgs>;
    /**
     * Specifies the point indexes to be selected while loading a chart.
     * It requires `selectionMode` to be `Point` | `Series` | or `Cluster`.
     * ```html
     * <div id='Chart'></div>
     * ```
     * ```typescript
     * let chart$: Chart = new Chart({
     * ...
     *   selectionMode: 'Point',
     *   selectedDataIndexes: [ { series: 0, point: 1},
     *                          { series: 2, point: 3} ],
     * ...
     * });
     * chart.appendTo('#Chart');
     * ```
     *
     * @default []
     */
    selectedDataIndexes: StockChartIndexesModel[];
    /**
     * It specifies the types of series in financial chart.
     */
    seriesType: ChartSeriesType[];
    /**
     * It specifies the types of indicators in financial chart.
     */
    indicatorType: TechnicalIndicators[];
    /**
     * It specifies the types of Export types in financial chart.
     */
    exportType: ExportType[];
    /**
     * It specifies the types of trendline types in financial chart.
     */
    trendlineType: TrendlineTypes[];
    /**
     * Gets the current visible series of the Chart.
     *
     * @hidden
     */
    visibleSeries: Series[];
    /** @private */
    startValue: number;
    /** @private */
    isSingleAxis: boolean;
    /** @private */
    endValue: number;
    /** @private */
    seriesXMax: number;
    /** @private */
    seriesXMin: number;
    /** @private  */
    currentEnd: number;
    /** Overall SVG */
    mainObject: Element;
    /** @private */
    selectorObject: Element;
    /** @private */
    chartObject: Element;
    /** @private */
    svgObject: Element;
    /** @private */
    isTouch: boolean;
    /** @private */
    renderer: svgBase.SvgRenderer;
    /** @private */
    animateSeries: boolean;
    /** @private */
    availableSize: svgBase.Size;
    /** @private */
    titleSize: svgBase.Size;
    /** @private */
    chartSize: svgBase.Size;
    /** @private */
    intl: base.Internationalization;
    /** @private */
    isDoubleTap: boolean;
    /** @private */
    private threshold;
    /** @private */
    isChartDrag: boolean;
    resizeTo: number;
    /** @private */
    disableTrackTooltip: boolean;
    /** @private */
    startMove: boolean;
    /** @private */
    yAxisElements: Element;
    /** @private */
    themeStyle: IThemeStyle;
    /** @private */
    scrollElement: Element;
    private chartid;
    tempSeriesType: ChartSeriesType[];
    /** @private */
    chart: Chart;
    /** @private */
    rangeNavigator: RangeNavigator;
    /** @private */
    periodSelector: PeriodSelector;
    /** @private */
    cartesianChart: CartesianChart;
    /** @private */
    rangeSelector: RangeSelector;
    /** @private */
    toolbarSelector: ToolBarSelector;
    /** @private */
    stockEvent: StockEvents;
    /** private */
    zoomChange: boolean;
    /** @private */
    mouseDownX: number;
    /** @private */
    mouseDownY: number;
    /** @private */
    previousMouseMoveX: number;
    /** @private */
    previousMouseMoveY: number;
    /** @private */
    mouseDownXPoint: number;
    /** @private */
    mouseUpXPoint: number;
    /** @private */
    allowPan: boolean;
    /** @private  */
    onPanning: boolean;
    /** @private  */
    referenceXAxis: Axis;
    /** @private */
    mouseX: number;
    /** @private */
    mouseY: number;
    /** @private */
    indicatorElements: Element;
    /** @private */
    trendlinetriggered: boolean;
    /** @private */
    periodSelectorHeight: number;
    /** @private */
    toolbarHeight: number;
    /** @private */
    stockChartTheme: IThemeStyle;
    /** @private */
    initialRender: boolean;
    /** @private */
    rangeFound: boolean;
    /** @private */
    tempPeriods: PeriodsModel[];
    /** @private */
    legend: StockLegend;
    /** @private */
    visibleSeriesCount: number;
    /** @private */
    redraw: boolean;
    /** @private */
    initialClipRect: svgBase.Rect;
    /** @private */
    tempAvailableSize: svgBase.Size;
    /**
     * Constructor for creating the widget
     *
     * @hidden
     */
    constructor(options?: StockChartModel, element?: string | HTMLElement);
    /**
     * Called internally if any of the property value changed.
     *
     * @private
     */
    onPropertyChanged(newProp: StockChartModel, oldProp: StockChartModel): void;
    /**
     * To change the range for chart
     */
    rangeChanged(updatedStart: number, updatedEnd: number): void;
    /**
     * Pre render for financial Chart
     */
    protected preRender(): void;
    /**
     * Method to bind events for chart
     */
    private unWireEvents;
    private wireEvents;
    private initPrivateVariable;
    /**
     * Method to set culture for chart
     */
    private setCulture;
    private storeDataSource;
    /**
     * To Initialize the control rendering.
     */
    protected render(): void;
    /**
     * data.DataManager Success
     */
    stockChartDataManagerSuccess(): void;
    /**
     * To set styles to resolve mvc width issue.
     *
     * @param {HTMLElement} element html element
     */
    private setStyle;
    private drawSVG;
    private calculateVisibleSeries;
    private createSecondaryElements;
    /**
     * To provide the array of modules needed for control rendering
     *
     * @returns {base.ModuleDeclaration[]} required modules
     * @private
     */
    requiredModules(): base.ModuleDeclaration[];
    findCurrentData(totalData: Object, xName: string): Object;
    /**
     * Render period selector
     */
    renderPeriodSelector(): void;
    private chartRender;
    /**
     * To render range Selector
     */
    private renderRangeSelector;
    /**
     * Get component name
     */
    getModuleName(): string;
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @private
     */
    getPersistData(): string;
    /**
     * To Remove the SVG.
     *
     * @returns {void}
     * @private
     */
    removeSvg(): void;
    /**
     * Module Injection for components
     */
    chartModuleInjection(): void;
    /**
     * find range for financal chart
     */
    private findRange;
    /**
     * Handles the chart resize.
     *
     * @returns {boolean} false
     * @private
     */
    stockChartResize(): boolean;
    /**
     * Handles the mouse down on chart.
     *
     * @returns {boolean} false
     * @private
     */
    stockChartOnMouseDown(e: PointerEvent): boolean;
    /**
     * Handles the mouse up.
     *
     * @returns {boolean} false
     * @private
     */
    stockChartMouseEnd(e: PointerEvent): boolean;
    /**
     * Handles the mouse up.
     *
     * @returns {boolean} false
     * @private
     */
    stockChartOnMouseUp(e: PointerEvent | TouchEvent): boolean;
    /**
     * To find mouse x, y for aligned chart element svg position
     */
    private setMouseXY;
    /**
     * Handles the mouse move.
     *
     * @returns {boolean} false
     * @private
     */
    stockChartOnMouseMove(e: PointerEvent): boolean;
    /**
     * Handles the mouse move on chart.
     *
     * @returns {boolean} false
     * @private
     */
    chartOnMouseMove(e: PointerEvent | TouchEvent): boolean;
    /**
     * Handles the mouse click on chart.
     *
     * @returns {boolean} false
     * @private
     */
    stockChartOnMouseClick(e: PointerEvent | TouchEvent): boolean;
    private stockChartRightClick;
    /**
     * Handles the mouse leave.
     *
     * @returns {boolean} false
     * @private
     */
    stockChartOnMouseLeave(e: PointerEvent): boolean;
    /**
     * Handles the mouse leave on chart.
     *
     * @returns {boolean} false
     * @private
     */
    stockChartOnMouseLeaveEvent(e: PointerEvent | TouchEvent): boolean;
    /**
     * Destroy method
     */
    destroy(): void;
    private renderBorder;
    /**
     * Render title for chart
     */
    private renderTitle;
    /**
     * @private
     */
    calculateLegendBounds(): void;
    /**
     * To render the legend
     * @private
     */
    renderLegend(): void;
    private findTitleColor;
    /**
     * @private
     */
    calculateStockEvents(): void;
}
 }
export namespace circulargauge { 

//node_modules/@syncfusion/ej2-circulargauge/src/circular-gauge/annotations/annotations.d.ts
/**
 * Annotation Module handles the Annotation of the axis.
 */
export  class Annotations {
    /**
     * Constructor for Annotation module.
     *
     * @param {CircularGauge} gauge - Specifies the instance of the gauge.
     * @private.
     */
    constructor(gauge: CircularGauge);
    /**
     * Method to render the annotation for circular gauge.
     */
    renderAnnotation(axis: Axis, index: number, gauge: CircularGauge): void;
    /**
     * Method to create annotation template for circular gauge.
     */
    createTemplate(element: HTMLElement, annotationIndex: number, axisIndex: number, gauge: CircularGauge): void;
    /**
     * Method to update the annotation location for circular gauge.
     *
     * @param {HTMLElement} element - Specifies the element.
     * @param {Axis} axis - Specifies the axis.
     * @param {Annotation} annotation - Specifies the annotation.
     * @returns {void}
     */
    private updateLocation;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name
     */
    protected getModuleName(): string;
    /**
     * To destroy the annotation.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
    /**
    * Function to measure the element rect.
    *
    * @param {HTMLElement} element - Specifies the html element.
    * @returns {ClientRect} - Returns the client rect.
    * @private
    */
    private measureElementRect;
}
//node_modules/@syncfusion/ej2-circulargauge/src/circular-gauge/axes/axis-model.d.ts
/**
 * Interface for a class Line
 */
export interface LineModel {
    /**
     * Sets and gets the width of the line in circular gauge component.
     *
     * @default 2
     */
    width?: number;
    /**
     * Sets and gets the dash-array of the axis line in circular gauge component.
     *
     * @default ''
     */
    dashArray?: string;
    /**
     * Sets and gets the color of the axis line in the circular gauge component. This property accepts the value in hex code,
     * rgba string as a valid CSS color string.
     */
    color?: string;
}
/**
 * Interface for a class Label
 */
export interface LabelModel {
    /**
     * Sets and gets the options to customize the style of the text in axis labels in circular gauge component.
     */
    font?: FontModel;
    /**
     * Sets and gets the format for the axis label. This property accepts any global string format like 'C', 'n1', 'P' etc.
     * Also accepts placeholder like '{value}°C' in which value represent the axis label e.g. 20°C.
     *
     * @default ''
     */
    format?: string;
    /**
     * Sets and gets the position type to place the labels in the axis in the circular gauge component.
     *
     * @default Inside
     */
    position?: Position;
    /**
     * Sets and gets the label of an axis, which gets hidden when an axis makes a complete circle.
     *
     * @default None
     */
    hiddenLabel?: HiddenLabel;
    /**
     * Enables and disables the labels get rotated along the axis in the circular gauge component.
     *
     * @default false
     */
    autoAngle?: boolean;
    /**
     * Enables and disables the axis labels to use the range color of the axis.
     *
     * @default false
     */
    useRangeColor?: boolean;
    /**
     * Sets and gets the value to place the labels from the axis in circular gauge.
     *
     * @default 0
     */
    offset?: number;
    /**
     * Enables and disables the default padding value of axis labels in circular gauge component.
     *
     * @default true
     */
    shouldMaintainPadding?: boolean;
}
/**
 * Interface for a class Range
 */
export interface RangeModel {
    /**
     * Sets and gets the start value of the range in circular gauge component.
     *
     * @aspDefaultValueIgnore
     * @default 0
     */
    start?: number;
    /**
     * Sets and gets the end value of the range in circular gauge component.
     *
     * @aspDefaultValueIgnore
     * @default 0
     */
    end?: number;
    /**
     * Sets and gets the radius of the range for circular gauge component.
     *
     * @default null
     */
    radius?: string;
    /**
     * Sets and gets the width for the start of the range in the circular gauge component.
     *
     * @default '10'
     */
    startWidth?: number | string;
    /**
     * Sets and gets the width for the end of the range in the circular gauge component.
     *
     * @default '10'
     */
    endWidth?: number | string;
    /**
     * Sets and gets the color of the ranges in circular gauge component.
     *
     * @aspDefaultValueIgnore
     * @default null
     */
    color?: string;
    /**
     * Sets and gets the corner radius for ranges in circular gauge component.
     *
     * @default 0
     */
    roundedCornerRadius?: number;
    /**
     * Sets and gets the opacity for the ranges in circular gauge component.
     *
     * @default 1
     */
    opacity?: number;
    /**
     * Sets and gets the text for the legend in the circular gauge component.
     *
     * @default ''
     */
    legendText?: string;
    /**
     * Sets and gets the position of the range and pointer for an axis in circular gauge component.
     *
     * @default Auto
     */
    position?: PointerRangePosition;
    /**
     * Sets and gets the offset value of range in circular gauge component.
     *
     * @default '0'
     */
    offset?: number | string;
    /**
     * Sets and gets the properties to render a linear gradient for the range.
     * If both linear and radial gradient is set, then the linear gradient will be rendered in the range.
     *
     * @default null
     */
    linearGradient?: LinearGradientModel;
    /**
     * Sets and gets the properties to render a radial gradient for the range.
     *
     * @default null
     */
    radialGradient?: RadialGradientModel;
}
/**
 * Interface for a class Tick
 */
export interface TickModel {
    /**
     * Sets and gets the width of the ticks in circular gauge component.
     *
     * @aspDefaultValueIgnore
     * @default 2
     */
    width?: number;
    /**
     * Sets and gets the height of the ticks in circular gauge component.
     *
     * @aspDefaultValueIgnore
     * @default null
     */
    height?: number;
    /**
     * Sets and gets the interval between the tick lines in circular gauge component.
     *
     * @aspDefaultValueIgnore
     * @default null
     */
    interval?: number;
    /**
     * Sets and gets the distance of the ticks from axis in circular gauge component.
     *
     * @default 0
     */
    offset?: number;
    /**
     * Sets and gets the color of the tick line. This property accepts value in hex code, rgba string as a valid CSS color string.
     *
     * @aspDefaultValueIgnore
     * @default null
     */
    color?: string;
    /**
     * Sets and gets the position of the ticks in circular gauge component.
     *
     * @default Inside
     */
    position?: Position;
    /**
     * Enables and disables the tick lines to take the range color.
     *
     * @default false
     */
    useRangeColor?: boolean;
    /**
     * Sets and gets the dash-array for the ticks in circular gauge component.
     *
     * @default '0'
     */
    dashArray?: string;
}
/**
 * Interface for a class Cap
 */
export interface CapModel {
    /**
     * Sets and gets the color for the pointer cap in the circular gauge component.
     *
     * @default null
     */
    color?: string;
    /**
     * Sets and gets the properties to render a linear gradient for the cap of the needle pointer.
     * If both linear and radial gradient is set, then the linear gradient will be rendered in the cap.
     *
     * @default null
     */
    linearGradient?: LinearGradientModel;
    /**
     * Sets and gets the properties to render a radial gradient for cap of the needle pointer.
     *
     * @default null
     */
    radialGradient?: RadialGradientModel;
    /**
     * Sets and gets the border of the pointer cap in the circular gauge component.
     *
     */
    border?: BorderModel;
    /**
     * Sets and gets the radius of pointer cap in the circular gauge component.
     *
     * @default 8
     */
    radius?: number;
}
/**
 * Interface for a class NeedleTail
 */
export interface NeedleTailModel {
    /**
     * Sets and gets the color for the needle pointer in the circular gauge component.
     *
     * @aspDefaultValueIgnore
     * @default null
     */
    color?: string;
    /**
     * Sets and gets options to customize the color and width of the border for the pointer needle in the circular gauge component.
     */
    border?: BorderModel;
    /**
     * Sets and gets the length of the needle in pixels or in percentage in circular gauge component.
     *
     * @default '0%'
     */
    length?: string;
    /**
     * Sets and gets the properties to render a linear gradient for the tail of the needle pointer.
     * If both linear and radial gradient is set, then the linear gradient will be rendered in the needle tail.
     *
     * @default null
     */
    linearGradient?: LinearGradientModel;
    /**
     * Sets and gets the properties to render a radial gradient for tail of the needle pointer.
     *
     * @default null
     */
    radialGradient?: RadialGradientModel;
}
/**
 * Interface for a class Animation
 */
export interface AnimationModel {
    /**
     * Enables and disables the pointer animation during initial rendering in circular gauge component.
     *
     * @default true
     */
    enable?: boolean;
    /**
     * Sets and gets the duration of animation in milliseconds in circular gauge component.
     *
     * @default 1000
     */
    duration?: number;
}
/**
 * Interface for a class Annotation
 */
export interface AnnotationModel {
    /**
     * Sets and gets the content of the annotation. This property accepts the id of the custom element.
     *
     * @default null
     */
    content?: string;
    /**
     * Sets and gets the angle for annotation with respect to axis in circular gauge component.
     *
     * @default 90
     */
    angle?: number;
    /**
     * Sets and gets the radius for annotation with respect to axis in circular gauge component.
     *
     * @default '50%'
     */
    radius?: string;
    /**
     * Sets and gets the z-index of an annotation in an axis in the circular gauge component.
     *
     * @default '-1'
     */
    zIndex?: string;
    /**
     * Enables and disables the annotation rotation along the axis.
     *
     * @default false
     */
    autoAngle?: boolean;
    /**
     * Sets and gets the style of the text in annotation.
     */
    textStyle?: FontModel;
    /**
     * Sets and gets the information about annotation for assistive technology.
     *
     * @default null
     */
    description?: string;
}
/**
 * Interface for a class Pointer
 */
export interface PointerModel {
    /**
     * Sets and gets the value of the pointer in circular gauge component.
     *
     * @aspDefaultValueIgnore
     * @default null
     */
    value?: number;
    /**
     * Sets and gets the type of pointer for an axis in Circular gauge component.
     *
     * @default Needle
     */
    type?: PointerType;
    /**
     * Sets and gets the position of pointer for an axis.
     *
     * @default Auto
     */
    position?: PointerRangePosition;
    /**
     * Sets and gets the corner radius for pointer in axis.
     *
     * @default 0
     */
    roundedCornerRadius?: number;
    /**
     * Sets and gets the url for the image that is to be displayed as pointer.
     * It requires marker shape value to be Image.
     *
     * @default null
     */
    imageUrl?: string;
    /**
     * Sets and gets the radius of pointer for marker and range type pointer and fix length of pointer for needle pointer.
     *
     * @default null
     */
    radius?: string;
    /**
     * Sets and gets the width of the pointer in axis.
     *
     * @default 20
     */
    pointerWidth?: number;
    /**
     * Sets and gets the cap of pointer in an axis.
     */
    cap?: CapModel;
    /**
     * Sets and gets the style of text in pointer of an axis.
     */
    textStyle?: FontModel;
    /**
     * Sets and gets the tail of needle pointer in an axis.
     */
    needleTail?: NeedleTailModel;
    /**
     * Sets and gets the color of the pointer in an axis.
     */
    color?: string;
    /**
     * Sets and gets the options to customize the color and width of the border for the needle pointer in an axis.
     */
    border?: BorderModel;
    /**
     * Sets and gets the animation of pointers while rendering the axis in circular gauge.
     */
    animation?: AnimationModel;
    /**
     * Sets and gets the shape of the marker type pointer in an axis.
     *
     * @default Circle
     */
    markerShape?: GaugeShape;
    /**
     * Sets and gets the height of the marker pointer in an axis.
     *
     * @default 5
     */
    markerHeight?: number;
    /**
     * Sets and gets the text in pointer.
     *
     * @default ''
     */
    text?: string;
    /**
     * Sets and gets the information about pointer for assistive technology.
     *
     * @default null
     */
    description?: string;
    /**
     * Sets and gets the width of the marker pointer in an axis.
     *
     * @default 5
     */
    markerWidth?: number;
    /**
     * Sets and gets the offset value of pointer from scale.
     *
     * @default '0'
     */
    offset?: number | string;
    /**
     * Sets or gets the start width of the needle pointer in an axis.
     *
     * @default null
     */
    needleStartWidth?: number;
    /**
     * Sets or gets the end width of the needle pointer in an axis.
     *
     * @default null
     */
    needleEndWidth?: number;
    /**
     * Sets and gets the properties to render a linear gradient for the pointer.
     * If both linear and radial gradient is set, then the linear gradient will be rendered in the pointer.
     *
     * @default null
     */
    linearGradient?: LinearGradientModel;
    /**
     * Sets and gets the properties to render a radial gradient for pointer.
     *
     * @default null
     */
    radialGradient?: RadialGradientModel;
}
/**
 * Interface for a class Axis
 */
export interface AxisModel {
    /**
     * Sets and gets the minimum value of an axis in the circular gauge component.
     *
     * @aspDefaultValueIgnore
     * @default null
     */
    minimum?: number;
    /**
     * Sets and gets the maximum value of an axis in the circular gauge component.
     *
     * @aspDefaultValueIgnore
     * @default null
     */
    maximum?: number;
    /**
     * Enables and disables the last label of axis when it is hidden in circular gauge component.
     *
     * @default false
     */
    showLastLabel?: boolean;
    /**
     * Enables and disables the intersecting labels to be hidden in axis.
     *
     * @default false
     */
    hideIntersectingLabel?: boolean;
    /**
     * Sets and gets the rounding Off value in the label in an axis.
     *
     * @default null
     */
    roundingPlaces?: number;
    /**
     * Sets and gets the radius of an axis in circular gauge.
     *
     * @default null
     */
    radius?: string;
    /**
     * Sets and gets the style of the line in axis of circular gauge component.
     */
    lineStyle?: LineModel;
    /**
     * Sets and gets the ranges of an axis in circular gauge component.
     */
    ranges?: RangeModel[];
    /**
     * Sets and gets the pointers of an axis in circular gauge component.
     */
    pointers?: PointerModel[];
    /**
     * Sets and gets the annotation element for an axis in circular gauge component.
     */
    annotations?: AnnotationModel[];
    /**
     * Sets and gets the major tick lines of an axis in circular gauge component.
     *
     * @default { width: 2, height: 10 }
     */
    majorTicks?: TickModel;
    /**
     * Sets and gets the minor tick lines of an axis in circular gauge component.
     *
     * @default { width: 2, height: 5 }
     */
    minorTicks?: TickModel;
    /**
     * Sets and gets the start angle of an axis in circular gauge component.
     *
     * @default 200
     */
    startAngle?: number;
    /**
     * Sets and gets the end angle of an axis in circular gauge component.
     *
     * @default 160
     */
    endAngle?: number;
    /**
     * Sets and gets the direction of an axis.
     *
     * @default ClockWise
     */
    direction?: GaugeDirection;
    /**
     * Sets and gets the background color of an axis. This property accepts value in hex code, rgba string as a valid CSS color string.
     *
     * @default null
     */
    background?: string;
    /**
     * Sets and gets the gap between the ranges by specified value in circular gauge component.
     *
     * @default null
     */
    rangeGap?: number;
    /**
     * Enables and disables the start and end gap between the ranges and axis in circular gauge.
     *
     * @default false
     */
    startAndEndRangeGap?: boolean;
    /**
     * Sets and gets the style of the axis label in circular gauge component.
     */
    labelStyle?: LabelModel;
}
//node_modules/@syncfusion/ej2-circulargauge/src/circular-gauge/axes/axis-panel.d.ts
/**
 * Specifies the CircularGauge Axis Layout
 */
export  class AxisLayoutPanel {
    private gauge;
    private farSizes;
    private axisRenderer;
    pointerRenderer: PointerRenderer;
    constructor(gauge: CircularGauge);
    /**
     * Measure the calculate the axis size and radius.
     *
     * @return {void}
     * @private
     */
    measureAxis(rect: Rect): void;
    /**
     * Measure to calculate the axis radius of the circular gauge.
     *
     * @returns {void}
     * @private
     */
    private calculateAxesRadius;
    /**
     * Measure to calculate the axis size.
     *
     * @return {void}
     * @private
     */
    private measureAxisSize;
    /**
     * Calculate the axis values of the circular gauge.
     *
     * @return {void}
     * @private
     */
    private calculateAxisValues;
    /**
     * Calculate the visible range of an axis.
     *
     * @param {Axis} axis - Specifies the axis.
     * @param {Rect} rect - Specifies the rect.
     * @returns {void}
     * @private
     */
    private calculateVisibleRange;
    /**
     * Calculate the numeric intervals of an axis range.
     *
     * @return {void}
     * @private
     */
    private calculateNumericInterval;
    /**
     * Calculate the nice interval of an axis range.
     *
     * @return {void}
     * @private
     */
    private calculateNiceInterval;
    /**
     * Calculate the visible labels of an axis.
     *
     * @return {void}
     * @private
     */
    private calculateVisibleLabels;
    /**
     * Measure the axes available size.
     *
     * @return {void}
     * @private
     */
    private computeSize;
    /**
     * To render the Axis element of the circular gauge.
     *
     * @return {void}
     * @private
     */
    renderAxes(animate?: boolean): void;
    /**
     * Calculate maximum label width for the axis.
     *
     * @param {CircularGauge} gauge - Specifies the instance of the gauge.
     * @param {Axis} axis - Specifies the axis.
     * @returns {void}
     */
    private getMaxLabelWidth;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-circulargauge/src/circular-gauge/axes/axis-renderer.d.ts
/**
 * Specifies the Axis rendering for circular gauge
 */
export  class AxisRenderer {
    private majorValues;
    private gauge;
    /**
     * Constructor for axis renderer.
     *
     * @param {CircularGauge} gauge - Specifies the instance of the gauge
     * @private.
     */
    constructor(gauge: CircularGauge);
    /**
     * Method to render the axis element of the circular gauge.
     *
     * @param {Axis} axis - Specifies the axis.
     * @param {number} index - Specifies the index.
     * @param {Element} element - Specifies the element.
     * @param {CircularGauge} gauge - Specifies the gauge.
     * @returns {void}
     * @private
     */
    drawAxisOuterLine(axis: Axis, index: number, element: Element, gauge: CircularGauge): void;
    /**
     * Method to check the angles.
     *
     * @param {Axis} axis - Specifies the axis.
     * @returns {void}
     * @private
     */
    checkAngles(axis: Axis): void;
    /**
     * Method to render the axis line of the circular gauge.
     *
     * @param {Axis} axis - Specifies the axis.
     * @param {number} index - Specifies the index.
     * @param {Element} element - Specifies the element.
     * @param {CircularGauge} gauge - Specifies the gauge.
     * @returns {void}
     * @private
     */
    drawAxisLine(axis: Axis, index: number, element: Element, gauge: CircularGauge): void;
    /**
     * Method to render the axis labels of the circular gauge.
     *
     * @param {Axis} axis - Specifies the axis.
     * @param {number} index - Specifies the index.
     * @param {Element} element - Specifies the element.
     * @param {CircularGauge} gauge - Specifies the gauge.
     * @returns {void}
     * @private
     */
    drawAxisLabels(axis: Axis, index: number, element: Element, gauge: CircularGauge): void;
    /**
     * Method to find the anchor of the axis label.
     *
     * @param {GaugeLocation} location - Specifies the location.
     * @param {Label} style - Specifies the label style.
     * @param {number} angle - Specifies the angle.
     * @param {VisibleLabels} label - Specifies the labels.
     * @returns {string} - Returns the anchor.
     * @private
     */
    private findAnchor;
    /**
     * Methode to check whether the labels are intersecting or not.
     *
     * @param {GaugeLocation} previousLocation - Specifies the previous location.
     * @param {number} previousWidth - Specifies the previous width.
     * @param {number} previousHeight - Specifies the previous height.
     * @param {GaugeLocation} currentLocation - Specifies the current location.
     * @param {number} currentWidth - Specifies the current width.
     * @param {number} currentHeight - Specifies the current height.
     * @returns {boolean} - Returns the boolean value.
     * @private
     */
    private FindAxisLabelCollision;
    /**
     * Methode to get anchor position of label as start.
     *
     * @param {GaugeLocation} actualLocation - Specifies the actual location.
     * @param {number} textWidth - Specifies the text width.
     * @param {Label} style - Specifies the label style.
     * @param {number} textHeight - Specifies the text height.
     * @param {string} anchorPosition - Specifies the anchor position.
     * @param {number} angle - Specifies the angle.
     * @returns {GaugeLocation} - Returns the gauge location.
     * @private
     */
    private getAxisLabelStartPosition;
    /**
     * Methode to offset label height and width based on angle.
     *
     * @param {number} angle - Specifies the angle.
     * @param {number} size - Specifies the size.
     * @returns {number} - Returns the fineal size.
     * @private
     */
    private offsetAxisLabelsize;
    /**
     * Method to render the axis minor tick lines of the circular gauge.
     *
     * @param {Axis} axis - Specifies the axis.
     * @param {number} index - Specifies the index.
     * @param {Element} element - Specifies the element.
     * @param {CircularGauge} gauge - Specifies the gauge.
     * @returns {void}
     * @private
     */
    drawMinorTickLines(axis: Axis, index: number, element: Element, gauge: CircularGauge): void;
    /**
     * Method to render the axis major tick lines of the circular gauge.
     *
     * @param {Axis} axis - Specifies the axis.
     * @param {number} index - Specifies the index.
     * @param {Element} element - Specifies the element.
     * @param {CircularGauge} gauge - Specifies the gauge.
     * @returns {void}
     * @private
     */
    drawMajorTickLines(axis: Axis, index: number, element: Element, gauge: CircularGauge): void;
    /**
     * Method to calcualte the tick elements for the circular gauge.
     *
     * @param {number} value - Specifies the value.
     * @param {Tick} options - Specifies the options.
     * @param {Axis} axis - Specifies the axis.
     * @returns {string} - Returns the string.
     * @private
     */
    calculateTicks(value: number, options: Tick, axis: Axis): string;
    /**
     * Method to render the range path of the circular gauge.
     *
     * @param {Axis} axis - Specifies the axis.
     * @param {Range} range - Specifies the range.
     * @param {number} startWidth - Specifies the startwidth for the range.
     * @param {number} endWidth - Specifies the endwidth for the range.
     * @param {number} rangeIndex - Specifies the index of the range.
     * @param {number} index - Specifies the index of the axis.
     * @param {Element} rangeElement - Specifies the element.
     * @param {number} colorIndex - Specifies the index of the lineargradient colorstop.
     * @returns {void}
     * @private
     */
    drawRangePath(axis: Axis, range: Range, startWidth: number, endWidth: number, rangeIndex: number, index: number, rangeElement: Element, colorIndex: number): void;
    /**
     * Method to render the rounded range path of the circular gauge.
     *
     * @param {Range} range - Specifies the range.
     * @param {number} rangeIndex - Specifies the index of the range.
     * @param {number} index - Specifies the index of the axis.
     * @param {number} startWidth - Specifies the startwidth for the range.
     * @param {number} endWidth - Specifies the endwidth for the range.
     * @param {Element} rangeElement - Specifies the element.
     * @param {number} roundedStartAngle - Specifies the rounded path of the start angle.
     * @param {number} roundedEndAngle - Specifies the rounded path of the end angle.
     * @param {number} oldStart - Specifies the rounded path of the old start value.
     * @param {number} oldEnd - Specifies the rounded path of the old end value..
     * @param {GaugeLocation} location - Specifies the location.
     * @param {number} colorIndex - Specifies the index of the lineargradient colorstop.
     * @param {Axis} axis - Specifies the axis.
     * @returns {void}
     * @private
     */
    roundedRangeAppendPathCalculation(range: Range, rangeIndex: number, index: number, startWidth: number, endWidth: number, rangeElement: Element, roundedStartAngle: number, roundedEndAngle: number, oldStart: number, oldEnd: number, location: GaugeLocation, colorIndex?: number): void;
    /**
     * Method to render the rounded range path of the circular gauge.
     *
     * @param {Range} range - Specifies the range.
     * @param {number} rangeIndex - Specifies the index of the range.
     * @param {number} index - Specifies the index of the axis.
     * @param {number} startWidth - Specifies the startwidth for the range.
     * @param {number} endWidth - Specifies the endwidth for the range.
     * @param {Element} rangeElement - Specifies the element.
     * @param {number} startAngle - Specifies the rounded path of the start angle.
     * @param {number} endAngle - Specifies the rounded path of the end angle.
     * @param {number} colorIndex - Specifies the index of the lineargradient colorstop.
     * @returns {void}
     * @private
     */
    rangeAppendPathCalculation(range: Range, rangeIndex: number, index: number, startWidth: number, endWidth: number, rangeElement: Element, startAngle: number, endAngle: number, colorIndex?: number): void;
    /**
     * Method to render the axis range of the circular gauge.
     *
     * @param {Axis} axis - Specifies the axis.
     * @param {number} index - Specifies the index.
     * @param {Element} element - Specifies the element.
     * @param {CircularGauge} gauge - Specifies the gauge instance.
     * @returns {void}
     * @private
     */
    drawAxisRange(axis: Axis, index: number, element: Element): void;
    /**
     * Method to calculate the radius of the axis range.
     *
     * @return {void}
     */
    private calculateRangeRadius;
    private calculateRangeRadiusWithPosition;
    /**
     * Method to get the range color of the circular gauge.
     *
     * @param {Axis} axis - Specifies the axis
     * @returns {void}
     * @private
     */
    setRangeColor(axis: Axis): void;
    /**
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-circulargauge/src/circular-gauge/axes/axis.d.ts
/**
 * Sets and gets the axis line in circular gauge component.
 */
export  class Line extends base.ChildProperty<Line> {
    /**
     * Sets and gets the width of the line in circular gauge component.
     *
     * @default 2
     */
    width: number;
    /**
     * Sets and gets the dash-array of the axis line in circular gauge component.
     *
     * @default ''
     */
    dashArray: string;
    /**
     * Sets and gets the color of the axis line in the circular gauge component. This property accepts the value in hex code,
     * rgba string as a valid CSS color string.
     */
    color: string;
}
/**
 * Sets and gets the axis label in circular gauge component.
 */
export  class Label extends base.ChildProperty<Label> {
    /**
     * Sets and gets the options to customize the style of the text in axis labels in circular gauge component.
     */
    font: FontModel;
    /**
     * Sets and gets the format for the axis label. This property accepts any global string format like 'C', 'n1', 'P' etc.
     * Also accepts placeholder like '{value}°C' in which value represent the axis label e.g. 20°C.
     *
     * @default ''
     */
    format: string;
    /**
     * Sets and gets the position type to place the labels in the axis in the circular gauge component.
     *
     * @default Inside
     */
    position: Position;
    /**
     * Sets and gets the label of an axis, which gets hidden when an axis makes a complete circle.
     *
     * @default None
     */
    hiddenLabel: HiddenLabel;
    /**
     * Enables and disables the labels get rotated along the axis in the circular gauge component.
     *
     * @default false
     */
    autoAngle: boolean;
    /**
     * Enables and disables the axis labels to use the range color of the axis.
     *
     * @default false
     */
    useRangeColor: boolean;
    /**
     * Sets and gets the value to place the labels from the axis in circular gauge.
     *
     * @default 0
     */
    offset: number;
    /**
     * Enables and disables the default padding value of axis labels in circular gauge component.
     *
     * @default true
     */
    shouldMaintainPadding: boolean;
}
/**
 * Sets and gets the option to customize the ranges of an axis in circular gauge component.
 */
export  class Range extends base.ChildProperty<Range> {
    /** @private */
    pathElement: Element[];
    /** @private */
    currentValue: number;
    /**
     * Sets and gets the start value of the range in circular gauge component.
     *
     * @aspDefaultValueIgnore
     * @default 0
     */
    start: number;
    /**
     * Sets and gets the end value of the range in circular gauge component.
     *
     * @aspDefaultValueIgnore
     * @default 0
     */
    end: number;
    /**
     * Sets and gets the radius of the range for circular gauge component.
     *
     * @default null
     */
    radius: string;
    /**
     * Sets and gets the width for the start of the range in the circular gauge component.
     *
     * @default '10'
     */
    startWidth: number | string;
    /**
     * Sets and gets the width for the end of the range in the circular gauge component.
     *
     * @default '10'
     */
    endWidth: number | string;
    /**
     * Sets and gets the color of the ranges in circular gauge component.
     *
     * @aspDefaultValueIgnore
     * @default null
     */
    color: string;
    /**
     * Sets and gets the corner radius for ranges in circular gauge component.
     *
     * @default 0
     */
    roundedCornerRadius: number;
    /**
     * Sets and gets the opacity for the ranges in circular gauge component.
     *
     * @default 1
     */
    opacity: number;
    /**
     * Sets and gets the text for the legend in the circular gauge component.
     *
     * @default ''
     */
    legendText: string;
    /**
     * Sets and gets the position of the range and pointer for an axis in circular gauge component.
     *
     * @default Auto
     */
    position: PointerRangePosition;
    /**
     * Sets and gets the offset value of range in circular gauge component.
     *
     * @default '0'
     */
    offset: number | string;
    /**
     * Sets and gets the properties to render a linear gradient for the range.
     * If both linear and radial gradient is set, then the linear gradient will be rendered in the range.
     *
     * @default null
     */
    linearGradient: LinearGradientModel;
    /**
     * Sets and gets the properties to render a radial gradient for the range.
     *
     * @default null
     */
    radialGradient: RadialGradientModel;
    /** @private */
    currentRadius: number;
    /** @private */
    gradientAngle: number;
    /** @private */
    gradientAntiAngle: number;
    /** @private */
    isLinearCircularGradient: boolean;
    /** @private */
    rangeColor: string;
    /** @private */
    currentDistanceFromScale: number;
}
/**
 * Sets and gets the major and minor tick lines of an axis in circular gauge component.
 */
export  class Tick extends base.ChildProperty<Tick> {
    /**
     * Sets and gets the width of the ticks in circular gauge component.
     *
     * @aspDefaultValueIgnore
     * @default 2
     */
    width: number;
    /**
     * Sets and gets the height of the ticks in circular gauge component.
     *
     * @aspDefaultValueIgnore
     * @default null
     */
    height: number;
    /**
     * Sets and gets the interval between the tick lines in circular gauge component.
     *
     * @aspDefaultValueIgnore
     * @default null
     */
    interval: number;
    /**
     * Sets and gets the distance of the ticks from axis in circular gauge component.
     *
     * @default 0
     */
    offset: number;
    /**
     * Sets and gets the color of the tick line. This property accepts value in hex code, rgba string as a valid CSS color string.
     *
     * @aspDefaultValueIgnore
     * @default null
     */
    color: string;
    /**
     * Sets and gets the position of the ticks in circular gauge component.
     *
     * @default Inside
     */
    position: Position;
    /**
     * Enables and disables the tick lines to take the range color.
     *
     * @default false
     */
    useRangeColor: boolean;
    /**
     * Sets and gets the dash-array for the ticks in circular gauge component.
     *
     * @default '0'
     */
    dashArray: string;
}
/**
 * Sets and gets the needle cap of pointer in circular gauge component.
 */
export  class Cap extends base.ChildProperty<Cap> {
    /**
     * Sets and gets the color for the pointer cap in the circular gauge component.
     *
     * @default null
     */
    color: string;
    /**
     * Sets and gets the properties to render a linear gradient for the cap of the needle pointer.
     * If both linear and radial gradient is set, then the linear gradient will be rendered in the cap.
     *
     * @default null
     */
    linearGradient: LinearGradientModel;
    /**
     * Sets and gets the properties to render a radial gradient for cap of the needle pointer.
     *
     * @default null
     */
    radialGradient: RadialGradientModel;
    /**
     * Sets and gets the border of the pointer cap in the circular gauge component.
     *
     */
    border: BorderModel;
    /**
     * Sets and gets the radius of pointer cap in the circular gauge component.
     *
     * @default 8
     */
    radius: number;
}
/**
 * Sets and gets the pointer needle in the circular gauge component.
 */
export  class NeedleTail extends base.ChildProperty<NeedleTail> {
    /**
     * Sets and gets the color for the needle pointer in the circular gauge component.
     *
     * @aspDefaultValueIgnore
     * @default null
     */
    color: string;
    /**
     * Sets and gets options to customize the color and width of the border for the pointer needle in the circular gauge component.
     */
    border: BorderModel;
    /**
     * Sets and gets the length of the needle in pixels or in percentage in circular gauge component.
     *
     * @default '0%'
     */
    length: string;
    /**
     * Sets and gets the properties to render a linear gradient for the tail of the needle pointer.
     * If both linear and radial gradient is set, then the linear gradient will be rendered in the needle tail.
     *
     * @default null
     */
    linearGradient: LinearGradientModel;
    /**
     * Sets and gets the properties to render a radial gradient for tail of the needle pointer.
     *
     * @default null
     */
    radialGradient: RadialGradientModel;
}
/**
 * Sets and gets the animation of pointers in circular gauge component.
 */
export  class Animation extends base.ChildProperty<Animation> {
    /**
     * Enables and disables the pointer animation during initial rendering in circular gauge component.
     *
     * @default true
     */
    enable: boolean;
    /**
     * Sets and gets the duration of animation in milliseconds in circular gauge component.
     *
     * @default 1000
     */
    duration: number;
}
/**
 * Sets and gets the annotation element for an axis in circular gauge component.
 */
export  class Annotation extends base.ChildProperty<Annotation> {
    /**
     * Sets and gets the content of the annotation. This property accepts the id of the custom element.
     *
     * @default null
     */
    content: string;
    /**
     * Sets and gets the angle for annotation with respect to axis in circular gauge component.
     *
     * @default 90
     */
    angle: number;
    /**
     * Sets and gets the radius for annotation with respect to axis in circular gauge component.
     *
     * @default '50%'
     */
    radius: string;
    /**
     * Sets and gets the z-index of an annotation in an axis in the circular gauge component.
     *
     * @default '-1'
     */
    zIndex: string;
    /**
     * Enables and disables the annotation rotation along the axis.
     *
     * @default false
     */
    autoAngle: boolean;
    /**
     * Sets and gets the style of the text in annotation.
     */
    textStyle: FontModel;
    /**
     * Sets and gets the information about annotation for assistive technology.
     *
     * @default null
     */
    description: string;
}
/**
 * Sets and gets the pointers of an axis in circular gauge component.
 */
export  class Pointer extends base.ChildProperty<Pointer> {
    /**
     * Sets and gets the value of the pointer in circular gauge component.
     *
     * @aspDefaultValueIgnore
     * @default null
     */
    value: number;
    /**
     * Sets and gets the type of pointer for an axis in Circular gauge component.
     *
     * @default Needle
     */
    type: PointerType;
    /**
     * Sets and gets the position of pointer for an axis.
     *
     * @default Auto
     */
    position: PointerRangePosition;
    /**
     * Sets and gets the corner radius for pointer in axis.
     *
     * @default 0
     */
    roundedCornerRadius: number;
    /**
     * Sets and gets the url for the image that is to be displayed as pointer.
     * It requires marker shape value to be Image.
     *
     * @default null
     */
    imageUrl: string;
    /**
     * Sets and gets the radius of pointer for marker and range type pointer and fix length of pointer for needle pointer.
     *
     * @default null
     */
    radius: string;
    /**
     * Sets and gets the width of the pointer in axis.
     *
     * @default 20
     */
    pointerWidth: number;
    /**
     * Sets and gets the cap of pointer in an axis.
     */
    cap: CapModel;
    /**
     * Sets and gets the style of text in pointer of an axis.
     */
    textStyle: FontModel;
    /**
     * Sets and gets the tail of needle pointer in an axis.
     */
    needleTail: NeedleTailModel;
    /**
     * Sets and gets the color of the pointer in an axis.
     */
    color: string;
    /**
     * Sets and gets the options to customize the color and width of the border for the needle pointer in an axis.
     */
    border: BorderModel;
    /**
     * Sets and gets the animation of pointers while rendering the axis in circular gauge.
     */
    animation: AnimationModel;
    /**
     * Sets and gets the shape of the marker type pointer in an axis.
     *
     * @default Circle
     */
    markerShape: GaugeShape;
    /**
     * Sets and gets the height of the marker pointer in an axis.
     *
     * @default 5
     */
    markerHeight: number;
    /**
     * Sets and gets the text in pointer.
     *
     * @default ''
     */
    text: string;
    /**
     * Sets and gets the information about pointer for assistive technology.
     *
     * @default null
     */
    description: string;
    /**
     * Sets and gets the width of the marker pointer in an axis.
     *
     * @default 5
     */
    markerWidth: number;
    /**
     * Sets and gets the offset value of pointer from scale.
     *
     * @default '0'
     */
    offset: number | string;
    /** @private */
    isPointerAnimation: boolean;
    /** @private */
    currentValue: number;
    /** @private */
    previousValue: number;
    /** @private */
    pathElement: Element[];
    /** @private */
    currentRadius: number;
    /** @private */
    currentDistanceFromScale: number;
    /**
     * Sets or gets the start width of the needle pointer in an axis.
     *
     * @default null
     */
    needleStartWidth: number;
    /**
     * Sets or gets the end width of the needle pointer in an axis.
     *
     * @default null
     */
    needleEndWidth: number;
    /**
     * Sets and gets the properties to render a linear gradient for the pointer.
     * If both linear and radial gradient is set, then the linear gradient will be rendered in the pointer.
     *
     * @default null
     */
    linearGradient: LinearGradientModel;
    /**
     * Sets and gets the properties to render a radial gradient for pointer.
     *
     * @default null
     */
    radialGradient: RadialGradientModel;
}
/**
 * Sets and gets the options to customize the axis for the circular gauge component.
 */
export  class Axis extends base.ChildProperty<Axis> {
    /**
     * Sets and gets the minimum value of an axis in the circular gauge component.
     *
     * @aspDefaultValueIgnore
     * @default null
     */
    minimum: number;
    /**
     * Sets and gets the maximum value of an axis in the circular gauge component.
     *
     * @aspDefaultValueIgnore
     * @default null
     */
    maximum: number;
    /**
     * Enables and disables the last label of axis when it is hidden in circular gauge component.
     *
     * @default false
     */
    showLastLabel: boolean;
    /**
     * Enables and disables the intersecting labels to be hidden in axis.
     *
     * @default false
     */
    hideIntersectingLabel: boolean;
    /**
     * Sets and gets the rounding Off value in the label in an axis.
     *
     * @default null
     */
    roundingPlaces: number;
    /**
     * Sets and gets the radius of an axis in circular gauge.
     *
     * @default null
     */
    radius: string;
    /**
     * Sets and gets the style of the line in axis of circular gauge component.
     */
    lineStyle: LineModel;
    /**
     * Sets and gets the ranges of an axis in circular gauge component.
     */
    ranges: RangeModel[];
    /**
     * Sets and gets the pointers of an axis in circular gauge component.
     */
    pointers: PointerModel[];
    /**
     * Sets and gets the annotation element for an axis in circular gauge component.
     */
    annotations: AnnotationModel[];
    /**
     * Sets and gets the major tick lines of an axis in circular gauge component.
     *
     * @default { width: 2, height: 10 }
     */
    majorTicks: TickModel;
    /**
     * Sets and gets the minor tick lines of an axis in circular gauge component.
     *
     * @default { width: 2, height: 5 }
     */
    minorTicks: TickModel;
    /**
     * Sets and gets the start angle of an axis in circular gauge component.
     *
     * @default 200
     */
    startAngle: number;
    /**
     * Sets and gets the end angle of an axis in circular gauge component.
     *
     * @default 160
     */
    endAngle: number;
    /**
     * Sets and gets the direction of an axis.
     *
     * @default ClockWise
     */
    direction: GaugeDirection;
    /**
     * Sets and gets the background color of an axis. This property accepts value in hex code, rgba string as a valid CSS color string.
     *
     * @default null
     */
    background: string;
    /**
     * Sets and gets the gap between the ranges by specified value in circular gauge component.
     *
     * @default null
     */
    rangeGap: number;
    /**
     * Enables and disables the start and end gap between the ranges and axis in circular gauge.
     *
     * @default false
     */
    startAndEndRangeGap: boolean;
    /**
     * Sets and gets the style of the axis label in circular gauge component.
     */
    labelStyle: LabelModel;
    /** @private */
    currentRadius: number;
    /** @private */
    visibleRange: VisibleRangeModel;
    /** @private */
    visibleLabels: VisibleLabels[];
    /** @private */
    maxLabelSize: Size;
    /** @private */
    rect: Rect;
    /** @private */
    nearSize: number;
    /** @private */
    farSize: number;
}
/** @private */
export interface VisibleRangeModel {
    min?: number;
    max?: number;
    interval?: number;
}
//node_modules/@syncfusion/ej2-circulargauge/src/circular-gauge/axes/gradient-model.d.ts
/**
 * Interface for a class ColorStop
 */
export interface ColorStopModel {
    /**
     * Defines the color to be used in the gradient.
     *
     * @default '#000000'
     */
    color?: string;
    /**
     * Defines the opacity to be used in the gradient.
     *
     * @default 1
     */
    opacity?: number;
    /**
     * Defines the gradient color begin and end in percentage
     *
     * @default '0%'
     */
    offset?: string;
    /**
     * Defines the style of the color stop in the gradient element.
     *
     * @default ''
     */
    style?: string;
}
/**
 * Interface for a class GradientPosition
 */
export interface GradientPositionModel {
    /**
     * Defines the horizontal position in percentage.
     *
     * @default '0%'
     */
    x?: string;
    /**
     * Defines the vertical position in percentage.
     *
     * @default '0%'
     */
    y?: string;
}
/**
 * Interface for a class LinearGradient
 */
export interface LinearGradientModel {
    /**
     * Defines the start value of the linear gradient.
     *
     * @default ''
     */
    startValue?: string;
    /**
     * Defines the end value of the linear gradient.
     *
     * @default ''
     */
    endValue?: string;
    /**
     * Defines the color range properties for the gradient.
     *
     */
    colorStop?: ColorStopModel[];
}
/**
 * Interface for a class RadialGradient
 */
export interface RadialGradientModel {
    /**
     * Defines the radius of the radial gradient in percentage.
     *
     * @default '0%'
     */
    radius?: string;
    /**
     * Defines the outer circle of the radial gradient.
     */
    outerPosition?: GradientPositionModel;
    /**
     * Defines the inner circle of the radial gradient.
     */
    innerPosition?: GradientPositionModel;
    /**
     * Defines the color range properties for the gradient.
     */
    colorStop?: ColorStopModel[];
}
/**
 * Interface for a class Gradient
 */
export interface GradientModel {
}
//node_modules/@syncfusion/ej2-circulargauge/src/circular-gauge/axes/gradient.d.ts
/**
 * Specifies the color information for the gradient in the circular gauge.
 */
export  class ColorStop extends base.ChildProperty<ColorStop> {
    /**
     * Defines the color to be used in the gradient.
     *
     * @default '#000000'
     */
    color: string;
    /**
     * Defines the opacity to be used in the gradient.
     *
     * @default 1
     */
    opacity: number;
    /**
     * Defines the gradient color begin and end in percentage
     *
     * @default '0%'
     */
    offset: string;
    /**
     * Defines the style of the color stop in the gradient element.
     *
     * @default ''
     */
    style: string;
}
/**
 * Specifies the position in percentage from which the radial gradient must be applied.
 */
export  class GradientPosition extends base.ChildProperty<GradientPosition> {
    /**
     * Defines the horizontal position in percentage.
     *
     * @default '0%'
     */
    x: string;
    /**
     * Defines the vertical position in percentage.
     *
     * @default '0%'
     */
    y: string;
}
/**
 * This specifies the properties of the linear gradient colors for the circular gauge.
 */
export  class LinearGradient extends base.ChildProperty<LinearGradient> {
    /**
     * Defines the start value of the linear gradient.
     *
     * @default ''
     */
    startValue: string;
    /**
     * Defines the end value of the linear gradient.
     *
     * @default ''
     */
    endValue: string;
    /**
     * Defines the color range properties for the gradient.
     *
     */
    colorStop: ColorStopModel[];
}
/**
 * This specifies the properties of the radial gradient colors for the circular gauge.
 */
export  class RadialGradient extends base.ChildProperty<RadialGradient> {
    /**
     * Defines the radius of the radial gradient in percentage.
     *
     * @default '0%'
     */
    radius: string;
    /**
     * Defines the outer circle of the radial gradient.
     */
    outerPosition: GradientPositionModel;
    /**
     * Defines the inner circle of the radial gradient.
     */
    innerPosition: GradientPositionModel;
    /**
     * Defines the color range properties for the gradient.
     */
    colorStop: ColorStopModel[];
}
/**
 * Sets and gets the module that enables the gradient option for pointers and ranges.
 *
 * @hidden
 */
export  class Gradient {
    private gauge;
    /**
     * Constructor for gauge
     *
     * @param {CircularGauge} gauge - Specifies the instance of the gauge
     */
    constructor(gauge: CircularGauge);
    /**
     * To get linear gradient string for pointers and ranges
     *
     * @param { PointerModel | CapModel | NeedleTailModel | RangeModel} element - Specifies the element.
     * @param {name} name - Specifies the name of the gradient.
     * @param {name} direction - Specifies the gradient position.
     * @returns {string} - Returns the string value.
     * @private
     */
    private calculateLinearGradientPosition;
    /**
     * To get linear gradient string for pointers and ranges
     *
     * @param { PointerModel | CapModel | NeedleTailModel | RangeModel} element - Specifies the element.
     * @param {number} index - Specifies the index of the axis.
     * @param { string } direction - Specifies the gradient position.
     * @param { number } rangeIndex - Specifies the index of the range.
     * @returns {string} - Returns the string value.
     * @private
     */
    private getLinearGradientColor;
    /**
     * To get color, opacity, offset and style for circular gradient path.
     *
     * @private
     */
    private getCircularGradientColor;
    /**
     * To get the radial gradient string.
     *
     * @param {PointerModel | CapModel | NeedleTailModel | RangeModel} element - Specifies the element.
     * @returns {string} - Returns the string.
     * @private
     */
    private getRadialGradientColor;
    /**
     * To get color, opacity, offset and style.
     *
     * @param { ColorStopModel[]} colorStop - Specifies the color stop.
     * @returns {GradientColor[]} - Returns the gradientColor.
     * @private
     */
    private getGradientColor;
    /**
     * To get a gradient color string
     *
     * @param {PointerModel | CapModel | NeedleTailModel | RangeModel} element - Specifies the element.
     * @returns {string} - Returns the string
     * @private
     */
    getGradientColorString(element: PointerModel | CapModel | NeedleTailModel | RangeModel, index?: number, direction?: string, rangeIndex?: number): string;
    protected getModuleName(): string;
    /**
     * To destroy the Gradient.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-circulargauge/src/circular-gauge/axes/pointer-renderer.d.ts
/**
 * Specifies the Axis rendering for circular gauge
 */
export  class PointerRenderer {
    private gauge;
    /**
     * Constructor for pointer renderer.
     *
     * @param {CircularGauge} gauge - Specifies the instance of the gauge.
     * @private.
     */
    constructor(gauge: CircularGauge);
    /**
     * Method to render the axis pointers of the circular gauge.
     *
     * @param {Axis} axis - Specifies the axis.
     * @param {number} axisIndex - Specifies the axis index.
     * @param {Element} element - Specifies the element.
     * @param {CircularGauge} gauge - Specifies the instance of the gauge.
     * @param {boolean} animate - Specifies the boolean value.
     * @returns {void}
     * @private
     */
    drawPointers(axis: Axis, axisIndex: number, element: Element, gauge: CircularGauge, animate?: boolean): void;
    /**
     * Measure the pointer length of the circular gauge.
     *
     * @returns {void}
     */
    private calculatePointerRadius;
    /**
     * Measure the pointer length of the circular gauge based on pointer position.
     *
     * @returns {number}
     */
    private pointerRadiusForPosition;
    /**
     * Method to render the needle pointer of the ciruclar gauge.
     *
     * @param {Axis} axis - Specifies the axis
     * @param {number} axisIndex - Specifies the axis index.
     * @param {number} index - Specifies the index.
     * @param {Element} parentElement - Specifies the parent element.
     * @param {CircularGauge} gauge - Specifies the instance of the gauge.
     * @returns {void}
     */
    private drawNeedlePointer;
    /**
     * Method to set the pointer value of the circular gauge.
     *
     * @param {Axis} axis - Specifies the axis.
     * @param {Pointer} pointer - Specifies the pointer.
     * @param {number} value - Specifies the value.
     * @returns {void}
     * @private
     */
    setPointerValue(axis: Axis, pointer: Pointer, value: number): void;
    /**
     * Method to set the text value of the circular gauge.
     *
     * @param {Axis} axis - Specifies the axis.
     * @param {Pointer} pointer - Specifies the pointer.
     * @param {number} value - Specifies the value.
     * @param {Element} Specifies the text element.
     * @returns {void}
     * @private
     */
    calculateTextElement(axis: Axis, pointer: Pointer, value: number, element: Element): void;
    /**
     * Method to render the marker pointer of the ciruclar gauge.
     *
     * @param {Axis} axis - Specifies the axis
     * @param {number} axisIndex - Specifies the axis index.
     * @param {number} index - Specifies the index.
     * @param {Element} parentElement - Specifies the parent element.
     * @param {CircularGauge} gauge - Specifies the instance of the gauge.
     * @returns {void}
     */
    private drawMarkerPointer;
    /**
     * Method to render the range bar pointer of the ciruclar gauge.
     *
     * @param {Axis} axis - Specifies the axis
     * @param {number} axisIndex - Specifies the axis index.
     * @param {number} index - Specifies the index.
     * @param {Element} parentElement - Specifies the parent element.
     * @param {CircularGauge} gauge - Specifies the instance of the gauge.
     * @returns {void}
     */
    private drawRangeBarPointer;
    /**
     * Method to perform the animation of the pointer in circular gauge.
     *
     * @param {Pointer} pointer - Specifies the pointer.
     * @param {Axis} axis - Specifies the axis.
     * @returns {void}
     */
    private doPointerAnimation;
    /**
     * @private
     */
    performTextAnimation(element: HTMLElement, start: number, end: number, axis: Axis, pointer: Pointer): void;
    /**
     * Perform the needle and marker pointer animation for circular gauge.
     *
     * @param {HTMLElement} element - Specifies the element
     * @param {number} start - Specifies the start
     * @param {number} end - Specifies the end
     * @param {Axis} axis - Specifies the axis
     * @param {Pointer} pointer - Specifies the pointer
     * @param {number} radius - Specifies the radius
     * @param {number} innerRadius - Specifies the innerRadius
     * @returns {void}
     * @private
     */
    performNeedleAnimation(element: HTMLElement, start: number, end: number, axis: Axis, pointer: Pointer, radius?: number, innerRadius?: number): void;
    /**
     * Perform the range bar pointer animation for circular gauge.
     *
     * @param {HTMLElement} element - Specifies the element.
     * @param {number} start - Specifies the start.
     * @param {number} end - Specifies the end.
     * @param {Axis} axis - Specifies the axis.
     * @param {Pointer} pointer - Specifies the pointer.
     * @param {number} radius - Specifies the radius.
     * @param {number} innerRadius - Specifies the innerRadius.
     * @returns {void}
     * @private
     */
    performRangeBarAnimation(element: HTMLElement, start: number, end: number, axis: Axis, pointer: Pointer, radius: number, innerRadius?: number): void;
    /**
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-circulargauge/src/circular-gauge/circular-gauge-model.d.ts
/**
 * Interface for a class CircularGauge
 */
export interface CircularGaugeModel extends base.ComponentModel{
    /**
     * Sets and gets the width of the circular gauge as a string in order to provide input as both like '100px' or '100%'.
     * If specified as '100%, gauge will render to the full width of its parent element.
     *
     * @default null
     */
    width?: string;
    /**
     * Sets and gets the height of the circular gauge as a string in order to provide input as both like '100px' or '100%'.
     * If specified as '100%, gauge will render to the full height of its parent element.
     *
     * @default null
     */
    height?: string;
    /**
     * Sets and gets the options for customizing the color and width of the gauge border.
     */
    border?: BorderModel;
    /**
     * Sets and gets the background color of the gauge. This property accepts value in hex code, rgba string as a valid CSS color string.
     *
     * @default null
     */
    background?: string;
    /**
     * Sets and gets the title for circular gauge.
     *
     * @default ''
     */
    title?: string;
    /**
     * Sets and gets the options for customizing the title for circular gauge.
     */
    titleStyle?: FontModel;
    /**
     * Sets and gets the options to customize the left, right, top and bottom margins of the circular gauge.
     */
    margin?: MarginModel;
    /**
     * Sets and gets the options for customizing the axes of circular gauge.
     */
    axes?: AxisModel[];
    /**
     * Sets and gets the options for customizing the tooltip of gauge.
     */
    tooltip?: TooltipSettingsModel;
    /**
     * Enables and disables drag movement of the pointer in the circular gauge.
     *
     * @default false
     */
    enablePointerDrag?: boolean;
    /**
     * Enables and disables the drag movement of the ranges in the circular gauge.
     *
     * @default false
     */
    enableRangeDrag?: boolean;
    /**
     * Enables and disables the print functionality in circular gauge.
     *
     * @default false
     */
    allowPrint?: boolean;
    /**
     * Enables and disables the export to image functionality in circular gauge.
     *
     * @default false
     */
    allowImageExport?: boolean;
    /**
     * Enables and disables the export to pdf functionality in circular gauge.
     *
     * @default false
     */
    allowPdfExport?: boolean;
    /**
     * Sets and gets the X coordinate of the circular gauge.
     *
     * @default null
     */
    centerX?: string;
    /**
     * Sets and gets the Y coordinate of the circular gauge.
     *
     * @default null
     */
    centerY?: string;
    /**
     * Enables and disables to place the half or quarter circle in center position, if values not specified for centerX and centerY.
     *
     * @default false
     */
    moveToCenter?: boolean;
    /**
     * Sets and gets the themes supported for circular gauge.
     *
     * @default Material
     */
    theme?: GaugeTheme;
    /**
     * Enables and disables the grouping separator should be used for a number.
     *
     * @default false
     */
    useGroupingSeparator?: boolean;
    /**
     * Sets and gets the information about gauge for assistive technology.
     *
     * @default null
     */
    description?: string;
    /**
     * Sets and gets the tab index value for the circular gauge.
     *
     * @default 1
     */
    tabIndex?: number;
    /**
     * Enables and disables left, right, top and bottom spacing in the circular gauge.
     *
     * @default true
     */
    allowMargin?: boolean;
    /**
     * Sets and gets the options for customizing the legend of the circular gauge.
     */
    legendSettings?: LegendSettingsModel;
    /**
     * Triggers after the circular gauge gets loaded.
     *
     * @event
     */
    loaded?: base.EmitType<ILoadedEventArgs>;
    /**
     * Triggers before the circular gauge gets loaded.
     *
     * @event
     */
    load?: base.EmitType<ILoadedEventArgs>;
    /**
     * Triggers after the animation gets completed for pointers.
     *
     * @event
     */
    animationComplete?: base.EmitType<IAnimationCompleteEventArgs>;
    /**
     * Triggers before each axis label gets rendered.
     *
     * @event
     */
    axisLabelRender?: base.EmitType<IAxisLabelRenderEventArgs>;
    /**
     * Triggers before the radius for the circular gauge gets calculated.
     *
     * @event
     */
    radiusCalculate?: base.EmitType<IRadiusCalculateEventArgs>;
    /**
     * Triggers before each annotation for the circular gauge gets rendered.
     *
     * @event
     */
    annotationRender?: base.EmitType<IAnnotationRenderEventArgs>;
    /**
     * Triggers before each legend for the circular gauge gets rendered.
     *
     * @event
     * @deprecated
     */
    legendRender?: base.EmitType<ILegendRenderEventArgs>;
    /**
     * Triggers before the tooltip for pointer of the circular gauge gets rendered.
     *
     * @event
     */
    tooltipRender?: base.EmitType<ITooltipRenderEventArgs>;
    /**
     * Triggers before the pointer is dragged.
     *
     * @event
     */
    dragStart?: base.EmitType<IPointerDragEventArgs>;
    /**
     * Triggers while dragging the pointers.
     *
     * @event
     */
    dragMove?: base.EmitType<IPointerDragEventArgs>;
    /**
     * Triggers after the pointer is dragged.
     *
     * @event
     */
    dragEnd?: base.EmitType<IPointerDragEventArgs>;
    /**
     * Triggers on hovering the circular gauge.
     *
     * @event
     */
    gaugeMouseMove?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers while cursor leaves the circular gauge.
     *
     * @event
     */
    gaugeMouseLeave?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on mouse down.
     *
     * @event
     */
    gaugeMouseDown?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on mouse up.
     *
     * @event
     */
    gaugeMouseUp?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers after window resize.
     *
     * @event
     */
    resized?: base.EmitType<IResizeEventArgs>;
    /**
     * Triggers before the prints gets started.
     *
     * @event
     */
    beforePrint?: base.EmitType<IPrintEventArgs>;
}
//node_modules/@syncfusion/ej2-circulargauge/src/circular-gauge/circular-gauge.d.ts
/**
 * Circular Gauge
 */
/**
 * Represents the circular gauge control.
 * ```html
 * <div id="gauge"/>
 * <script>
 *   var gaugeObj = new CircularGauge();
 *   gaugeObj.appendTo("#gauge");
 * </script>
 * ```
 */
export  class CircularGauge extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    /**
     * Sets and gets the module that is used to add annotation in the circular gauge.
     */
    annotationsModule: Annotations;
    /**
     * Sets and gets the module that is used to add Print in the circular gauge.
     *
     * @private
     */
    printModule: Print;
    /**
     * Sets and gets the module that is used to add ImageExport in the circular gauge.
     *
     * @private
     */
    imageExportModule: ImageExport;
    /**
     * Sets and gets the module that is used to add pdfExport in the circular gauge.
     *
     * @private
     */
    pdfExportModule: PdfExport;
    /**
     * Sets and gets the module that is used to show the tooltip in the circular gauge.
     */
    tooltipModule: GaugeTooltip;
    /**
     * Sets and gets the module that is used to manipulate and add legend to the circular gauge.
     */
    legendModule: Legend;
    /**
     * Sets and gets the module that enables the gradient option for pointer and ranges.
     *
     * @private
     */
    gradientModule: Gradient;
    /**
     * Sets and gets the width of the circular gauge as a string in order to provide input as both like '100px' or '100%'.
     * If specified as '100%, gauge will render to the full width of its parent element.
     *
     * @default null
     */
    width: string;
    /**
     * Sets and gets the height of the circular gauge as a string in order to provide input as both like '100px' or '100%'.
     * If specified as '100%, gauge will render to the full height of its parent element.
     *
     * @default null
     */
    height: string;
    /**
     * Sets and gets the options for customizing the color and width of the gauge border.
     */
    border: BorderModel;
    /**
     *
     */
    /**
     * Sets and gets the background color of the gauge. This property accepts value in hex code, rgba string as a valid CSS color string.
     *
     * @default null
     */
    background: string;
    /**
     * Sets and gets the title for circular gauge.
     *
     * @default ''
     */
    title: string;
    /**
     * Sets and gets the options for customizing the title for circular gauge.
     */
    titleStyle: FontModel;
    /**
     * Sets and gets the options to customize the left, right, top and bottom margins of the circular gauge.
     */
    margin: MarginModel;
    /**
     * Sets and gets the options for customizing the axes of circular gauge.
     */
    axes: AxisModel[];
    /**
     * Sets and gets the options for customizing the tooltip of gauge.
     */
    tooltip: TooltipSettingsModel;
    /**
     * Enables and disables drag movement of the pointer in the circular gauge.
     *
     * @default false
     */
    enablePointerDrag: boolean;
    /**
     * Enables and disables the drag movement of the ranges in the circular gauge.
     *
     * @default false
     */
    enableRangeDrag: boolean;
    /**
     * Enables and disables the print functionality in circular gauge.
     *
     * @default false
     */
    allowPrint: boolean;
    /**
     * Enables and1 disables the export to image functionality in circular gauge.
     *
     * @default false
     */
    allowImageExport: boolean;
    /**
     * Enables and1 disables the export to pdf functionality in circular gauge.
     *
     * @default false
     */
    allowPdfExport: boolean;
    /**
     * Sets and gets the X coordinate of the circular gauge.
     *
     * @default null
     */
    centerX: string;
    /**
     * Sets and gets the Y coordinate of the circular gauge.
     *
     * @default null
     */
    centerY: string;
    /**
     * Enables and disables to place the half or quarter circle in center position, if values not specified for centerX and centerY.
     *
     * @default false
     */
    moveToCenter: boolean;
    /**
     * Sets and gets the themes supported for circular gauge.
     *
     * @default Material
     */
    theme: GaugeTheme;
    /**
     * Enables and disables the grouping separator should be used for a number.
     *
     * @default false
     */
    useGroupingSeparator: boolean;
    /**
     * Sets and gets the information about gauge for assistive technology.
     *
     * @default null
     */
    description: string;
    /**
     * Sets and gets the tab index value for the circular gauge.
     *
     * @default 1
     */
    tabIndex: number;
    /**
     * Enables and disables left, right, top and bottom spacing in the circular gauge.
     *
     * @default true
     */
    allowMargin: boolean;
    /**
     * Sets and gets the options for customizing the legend of the circular gauge.
     */
    legendSettings: LegendSettingsModel;
    /**
     * Triggers after the circular gauge gets loaded.
     *
     * @event
     */
    loaded: base.EmitType<ILoadedEventArgs>;
    /**
     * Triggers before the circular gauge gets loaded.
     *
     * @event
     */
    load: base.EmitType<ILoadedEventArgs>;
    /**
     * Triggers after the animation gets completed for pointers.
     *
     * @event
     */
    animationComplete: base.EmitType<IAnimationCompleteEventArgs>;
    /**
     * Triggers before each axis label gets rendered.
     *
     * @event
     */
    axisLabelRender: base.EmitType<IAxisLabelRenderEventArgs>;
    /**
     * Triggers before the radius for the circular gauge gets calculated.
     *
     * @event
     */
    radiusCalculate: base.EmitType<IRadiusCalculateEventArgs>;
    /**
     * Triggers before each annotation for the circular gauge gets rendered.
     *
     * @event
     */
    annotationRender: base.EmitType<IAnnotationRenderEventArgs>;
    /**
     * Triggers before each legend for the circular gauge gets rendered.
     *
     * @event
     * @deprecated
     */
    legendRender: base.EmitType<ILegendRenderEventArgs>;
    /**
     * Triggers before the tooltip for pointer of the circular gauge gets rendered.
     *
     * @event
     */
    tooltipRender: base.EmitType<ITooltipRenderEventArgs>;
    /**
     * Triggers before the pointer is dragged.
     *
     * @event
     */
    dragStart: base.EmitType<IPointerDragEventArgs>;
    /**
     * Triggers while dragging the pointers.
     *
     * @event
     */
    dragMove: base.EmitType<IPointerDragEventArgs>;
    /**
     * Triggers after the pointer is dragged.
     *
     * @event
     */
    dragEnd: base.EmitType<IPointerDragEventArgs>;
    /**
     * Triggers on hovering the circular gauge.
     *
     * @event
     */
    gaugeMouseMove: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers while cursor leaves the circular gauge.
     *
     * @event
     */
    gaugeMouseLeave: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on mouse down.
     *
     * @event
     */
    gaugeMouseDown: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on mouse up.
     *
     * @event
     */
    gaugeMouseUp: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers after window resize.
     *
     * @event
     */
    resized: base.EmitType<IResizeEventArgs>;
    /**
     * Triggers before the prints gets started.
     *
     * @event
     */
    beforePrint: base.EmitType<IPrintEventArgs>;
    /** @private */
    renderer: svgBase.SvgRenderer;
    /** @private */
    svgObject: Element;
    /** @private */
    availableSize: Size;
    /** @private */
    intl: base.Internationalization;
    /** @private */
    private resizeTo;
    /** @private */
    midPoint: GaugeLocation;
    /** @private */
    activePointer: Pointer;
    /** @private */
    activeAxis: Axis;
    /** @private */
    activeRange: Range;
    /** @private */
    gaugeRect: Rect;
    /** @private */
    animatePointer: boolean;
    /** @private */
    startValue: number;
    /** @private */
    endValue: number;
    /** @private */
    private isRangeUpdate;
    /** @private */
    centerXpoint: string;
    /** @private */
    centerYpoint: string;
    /** @private */
    allowComponentRender: boolean;
    /** @private */
    isPropertyChange: boolean;
    /**
     * Render axis panel for gauge.
     *
     * @hidden
     * @private
     */
    gaugeAxisLayoutPanel: AxisLayoutPanel;
    /**
     * @private
     */
    themeStyle: IThemeStyle;
    /** @private */
    isDrag: boolean;
    /** @private */
    isTouch: boolean;
    /** @private Mouse position x */
    mouseX: number;
    /** @private Mouse position y */
    mouseY: number;
    /**
     * @private
     */
    gradientCount: number;
    /**
     * Constructor for creating the widget
     *
     * @param {CircularGaugeModel} options - Specifies the options
     * @param {string} element - Specifies the element
     * @hidden
     */
    constructor(options?: CircularGaugeModel, element?: string | HTMLElement);
    /**
     * To create svg object, renderer and binding events for the container.
     *
     * @returns {void}
     */
    protected preRender(): void;
    /**
     * To render the circular gauge elements
     *
     * @returns {void}
     */
    protected render(): void;
    private setTheme;
    /**
     * Method to unbind events for circular gauge
     *
     * @returns {void}
     */
    private unWireEvents;
    /**
     * Method to bind events for circular gauge
     *
     * @returns {void}
     */
    private wireEvents;
    /**
     * Handles the mouse click on accumulation chart.
     *
     * @param {PointerEvent} e - Specifies the pointer event
     * @returns {boolean} - Returns the boolean value
     * @private
     */
    gaugeOnMouseClick(e: PointerEvent): boolean;
    /**
     * Handles the mouse move.
     *
     * @param {PointerEvent} e - Specifies the pointer event
     * @returns {boolean} - Returns the boolean value
     * @private
     */
    mouseMove(e: PointerEvent): boolean;
    /**
     * Handles the mouse leave.
     *
     * @param {PointerEvent} e - Specifies the pointer event
     * @returns {boolean} - Returns the boolean value
     * @private
     */
    mouseLeave(e: PointerEvent): boolean;
    /**
     * Handles the mouse right click.
     *
     * @param {MouseEvent | PointerEvent} event - Specifies the pointer or mouse event.
     * @returns {boolean} - Returns the boolean value.
     * @private
     */
    gaugeRightClick(event: MouseEvent | PointerEvent): boolean;
    /**
     * Handles the pointer draf while mouse move on gauge.
     *
     * @param {GaugeLocation} location - Specifies the location of the gauge
     * @param {number} axisIndex - Specifies the axis index
     * @param {number} pointerIndex - Specifies the pointer index
     * @returns {void}
     * @private
     */
    pointerDrag(location: GaugeLocation, axisIndex?: number, pointerIndex?: number): void;
    /**
     * Handles the range draf while mouse move on gauge.
     *
     * @param {GaugeLocation} location - Specifies the gauge location
     * @param {number} axisIndex - Specifies the axis index
     * @param {number} rangeIndex - Specifies the range index
     * @returns {void}
     * @private
     */
    rangeDrag(location: GaugeLocation, axisIndex: number, rangeIndex: number): void;
    /**
     * Handles the mouse down on gauge.
     *
     * @param {PointerEvent} e - Specifies the pointer event
     * @returns {boolean} - Returns the boolean value
     * @private
     */
    gaugeOnMouseDown(e: PointerEvent): boolean;
    /**
     * Handles the mouse end.
     *
     * @param {PointerEvent} e - Specifies the pointer event
     * @returns {boolean} - Returns the boolean value
     * @private
     */
    mouseEnd(e: PointerEvent): boolean;
    /**
     * Handles the mouse event arguments.
     *
     * @param {PointerEvent} e - Specifies the pointer event
     * @param {string} type - Specifies the type
     * @param {string} name - Specifies the name
     * @returns {IMouseEventArgs} - Returns the mouse event args
     * @private
     */
    private getMouseArgs;
    /**
     * Handles the gauge resize.
     *
     * @param {Event} e - Specifies the event
     * @returns {boolean} - Returns the boolean value
     * @private
     */
    gaugeResize(e: Event): boolean;
    /**
     * Applying styles for circular gauge elements
     *
     * @param {HTMLElement} element - Specifies the html element
     * @returns {void}
     */
    private setGaugeStyle;
    /**
     * Method to set culture for gauge
     *
     * @returns {void}
     */
    private setCulture;
    /**
     * Methods to create svg element for circular gauge.
     *
     * @returns {void}
     */
    private createSvg;
    /**
     * To Remove the SVG from circular gauge.
     *
     * @returns {void}
     * @private
     */
    removeSvg(): void;
    /**
     * To initialize the circular gauge private variable.
     *
     * @returns {void}
     * @private
     */
    private initPrivateVariable;
    /**
     * To calculate the size of the circular gauge element.
     *
     * @returns {void}
     */
    private calculateSvgSize;
    /**
     * To calculate the spacing of the circular gauge element.
     *
     * @param {number} top - Specifies the top value
     * @param {number} left - Specifies the left value
     * @param {number} width - Specifies the width
     * @param {number} height - Specifies the height
     * @param {number} radius - Specifies the radius
     * @param {number} titleHeight - Specifies the titleHeight
     * @param {number} isUpperAngle - Specifies the isUpperAngle
     * @param {number} isLowerAngle - Specifies the isLowerAngle
     * @param {number} isFullPercent - Specifies the boolean value
     * @param {number} isUpper - Specifies the boolean value
     * @param {number} isLower - Specifies the boolean value
     * @returns {void}
     */
    private radiusAndCenterCalculation;
    /**
     * Method to calculate the availble size for circular gauge.
     *
     * @returns {void}
     */
    private calculateBounds;
    /**
     * To render elements for circular gauge
     *
     * @param {boolean} animate - Specifies whether animation is true or false
     * @returns {void}
     */
    private renderElements;
    /**
     * Method to render legend for accumulation chart
     *
     * @returns {void}
     */
    private renderLegend;
    /**
     * Method to render the title for circular gauge.
     *
     * @returns {void}
     */
    private renderTitle;
    /**
     * Method to render the border for circular gauge.
     *
     * @returns {void}
     */
    private renderBorder;
    /**
     * This method is used to set the pointer value dynamically for circular gauge.
     *
     * @param axisIndex - Specifies the index value for the axis in circular gauge.
     * @param pointerIndex - Specifies the index value for the pointer in circular gauge.
     * @param value - Specifies the value for the pointer in circular gauge.
     */
    setPointerValue(axisIndex: number, pointerIndex: number, value: number): void;
    /**
     * This method is used to set the annotation content dynamically for circular gauge.
     *
     * @param axisIndex - Specifies the index value for the axis in circular gauge.
     * @param annotationIndex - Specifies the index value for the annotation in circular gauge.
     * @param content - Specifies the content for the annotation in circular gauge.
     */
    setAnnotationValue(axisIndex: number, annotationIndex: number, content: string): void;
    /**
     * This method is used to print the rendered circular gauge.
     *
     * @param id - Specifies the element to print the circular gauge.
     */
    print(id?: string[] | string | Element): void;
    /**
     * This method is used to perform the export functionality for the circular gauge.
     *
     * @param type - Specifies the type of the export.
     * @param fileName - Specifies the file name for the exported file.
     * @param  orientation - Specified the orientation for the exported pdf document.
     * @param allowDownload - Specifies whether to download as a file.
     */
    export(type: ExportType, fileName: string, orientation?: pdfExport.PdfPageOrientation, allowDownload?: boolean): Promise<string>;
    /**
     * Method to set mouse x, y from events
     *
     * @param {PointerEvent} e - Specifies the pointer event
     * @returns {void}
     */
    private setMouseXY;
    /**
     * This method is used to set the range values dynamically for circular gauge.
     *
     * @param axisIndex - Specifies the index value for the axis in circular gauge.
     * @param rangeIndex - Specifies the index value for the range in circular gauge.
     * @param start - Specifies the start value for the current range in circular gauge.
     * @param end - Specifies the end value for the current range i circular gauge.
     */
    setRangeValue(axisIndex: number, rangeIndex: number, start: number, end: number): void;
    /**
     * To destroy the widget
     *
     * @method destroy
     * @return {void}
     * @member of Circular-Gauge
     */
    destroy(): void;
    /**
     * To provide the array of modules needed for control rendering
     *
     * @returns {base.ModuleDeclaration[]} - Returns the modules
     * @private
     */
    requiredModules(): base.ModuleDeclaration[];
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @returns {string} - Returns the string
     * @private
     */
    getPersistData(): string;
    /**
     * Called internally if any of the property value changed.
     *
     * @param {CircularGaugeModel} newProp - Specifies the new property
     * @param {CircularGaugeModel} oldProp - Specifies the old property
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: CircularGaugeModel, oldProp: CircularGaugeModel): void;
    /**
     * Get component name for circular gauge
     *
     * @returns {string} - Returns the module name
     * @private
     */
    getModuleName(): string;
}
//node_modules/@syncfusion/ej2-circulargauge/src/circular-gauge/index.d.ts
/**
 * Circular Gauge component exported items
 */
//node_modules/@syncfusion/ej2-circulargauge/src/circular-gauge/legend/legend-model.d.ts
/**
 * Interface for a class Location
 */
export interface LocationModel {
    /**
     * Sets and gets the X coordinate of the legend in the circular gauge.
     *
     * @default 0
     */
    x?: number;
    /**
     * Sets and gets the Y coordinate of the legend in the circular gauge.
     *
     * @default 0
     */
    y?: number;
}
/**
 * Interface for a class LegendSettings
 */
export interface LegendSettingsModel {
    /**
     * Enable and disables the visibility of the legend in circular gauge.
     *
     * @default false
     */
    visible?: boolean;
    /**
     * Enables and disables the ranges visibility collapses based on the legend visibility.
     *
     * @default true
     */
    toggleVisibility?: boolean;
    /**
     * Sets and gets the alignment of the legend in the circular gauge.
     *
     * @default 'Center'
     */
    alignment?: Alignment;
    /**
     * Sets and gets the options to customize the border settings of the legend.
     *
     */
    border?: BorderModel;
    /**
     * Sets and gets the options to customize the border for the shape of the legend in the circular gauge.
     */
    shapeBorder?: BorderModel;
    /**
     * Sets and gets the options to customize the padding between legend items.
     *
     * @default 8
     */
    padding?: number;
    /**
     * Sets and gets the opacity of the legend.
     *
     * @default 1
     */
    opacity?: number;
    /**
     * Sets and gets the position of the legend in the circular gauge.
     *
     * @default 'Auto'
     */
    position?: LegendPosition;
    /**
     * Sets and gets the shape of the legend in circular gauge.
     *
     * @default Circle
     */
    shape?: GaugeShape;
    /**
     * Sets and gets the height of the legend in the circular gauge.
     *
     * @default null
     */
    height?: string;
    /**
     * Sets and gets the width of the legend in the circular gauge.
     *
     * @default null
     */
    width?: string;
    /**
     * Sets and gets the options to customize the text of the legend.
     */
    textStyle?: FontModel;
    /**
     * Sets and gets the height of the legend shape in circular gauge.
     *
     * @default 10
     */
    shapeHeight?: number;
    /**
     * Sets and gets the width of the legend shape in circular gauge.
     *
     * @default 10
     */
    shapeWidth?: number;
    /**
     * Sets and gets the padding for the legend shape in circular gauge.
     *
     * @default 5
     */
    shapePadding?: number;
    /**
     * Sets and gets the location of the legend, relative to the circular gauge.
     * If x is 20, legend moves by 20 pixels to the right of the gauge. It requires the `position` to be `Custom`.
     * ```html
     * <div id='Gauge'></div>
     * ```
     * ```typescript
     * let gauge: CircularGauge = new CircularGauge({
     * ...
     *   legendSettings: {
     *     visible: true,
     *     position: 'Custom',
     *     location: { x: 100, y: 150 },
     *   },
     * ...
     * });
     * this.gauge.appendTo('#Gauge');
     * ```
     */
    location?: LocationModel;
    /**
     * Sets and gets the background color of the legend in circular gauge.
     *
     * @default 'transparent'
     */
    background?: string;
    /**
     * Sets and gets the options to customize the legend margin.
     */
    margin?: MarginModel;
}
/**
 * Interface for a class Legend
 */
export interface LegendModel {
}
/**
 * Interface for a class Index
 * @private
 */
export interface IndexModel {
}
/**
 * Interface for a class LegendOptions
 * @private
 */
export interface LegendOptionsModel {
}
//node_modules/@syncfusion/ej2-circulargauge/src/circular-gauge/legend/legend.d.ts
/**
 * Sets and gets the location of the legend in circular gauge.
 */
export  class Location extends base.ChildProperty<Location> {
    /**
     * Sets and gets the X coordinate of the legend in the circular gauge.
     *
     * @default 0
     */
    x: number;
    /**
     * Sets and gets the Y coordinate of the legend in the circular gauge.
     *
     * @default 0
     */
    y: number;
}
/**
 * Sets and gets the options to customize the legend for the ranges in the circular gauge.
 */
export  class LegendSettings extends base.ChildProperty<LegendSettings> {
    /**
     * Enable and disables the visibility of the legend in circular gauge.
     *
     * @default false
     */
    visible: boolean;
    /**
     * Enables and disables the ranges visibility collapses based on the legend visibility.
     *
     * @default true
     */
    toggleVisibility: boolean;
    /**
     * Sets and gets the alignment of the legend in the circular gauge.
     *
     * @default 'Center'
     */
    alignment: Alignment;
    /**
     * Sets and gets the options to customize the border settings of the legend.
     *
     */
    border: BorderModel;
    /**
     * Sets and gets the options to customize the border for the shape of the legend in the circular gauge.
     */
    shapeBorder: BorderModel;
    /**
     * Sets and gets the options to customize the padding between legend items.
     *
     * @default 8
     */
    padding: number;
    /**
     * Sets and gets the opacity of the legend.
     *
     * @default 1
     */
    opacity: number;
    /**
     * Sets and gets the position of the legend in the circular gauge.
     *
     * @default 'Auto'
     */
    position: LegendPosition;
    /**
     * Sets and gets the shape of the legend in circular gauge.
     *
     * @default Circle
     */
    shape: GaugeShape;
    /**
     * Sets and gets the height of the legend in the circular gauge.
     *
     * @default null
     */
    height: string;
    /**
     * Sets and gets the width of the legend in the circular gauge.
     *
     * @default null
     */
    width: string;
    /**
     * Sets and gets the options to customize the text of the legend.
     */
    textStyle: FontModel;
    /**
     * Sets and gets the height of the legend shape in circular gauge.
     *
     * @default 10
     */
    shapeHeight: number;
    /**
     * Sets and gets the width of the legend shape in circular gauge.
     *
     * @default 10
     */
    shapeWidth: number;
    /**
     * Sets and gets the padding for the legend shape in circular gauge.
     *
     * @default 5
     */
    shapePadding: number;
    /**
     * Sets and gets the location of the legend, relative to the circular gauge.
     * If x is 20, legend moves by 20 pixels to the right of the gauge. It requires the `position` to be `Custom`.
     * ```html
     * <div id='Gauge'></div>
     * ```
     * ```typescript
     * let gauge$: CircularGauge = new CircularGauge({
     * ...
     *   legendSettings: {
     *     visible: true,
     *     position: 'Custom',
     *     location: { x: 100, y: 150 },
     *   },
     * ...
     * });
     * this.gauge.appendTo('#Gauge');
     * ```
     */
    location: LocationModel;
    /**
     * Sets and gets the background color of the legend in circular gauge.
     *
     * @default 'transparent'
     */
    background: string;
    /**
     * Sets and gets the options to customize the legend margin.
     */
    margin: MarginModel;
}
export  class Legend {
    legendCollection: LegendOptions[];
    legendRenderingCollections: any[];
    protected legendRegions: ILegendRegions[];
    titleRect: Rect;
    private totalRowCount;
    private maxColumnWidth;
    protected maxItemHeight: number;
    protected isPaging: boolean;
    protected isVertical: boolean;
    private rowCount;
    private pageButtonSize;
    protected pageXCollections: number[];
    protected maxColumns: number;
    maxWidth: number;
    private clipRect;
    private legendTranslateGroup;
    protected currentPage: number;
    private gauge;
    private totalPages;
    private legend;
    private legendID;
    protected pagingRegions: Rect[];
    private clipPathHeight;
    private toggledIndexes;
    /**
     * Sets and gets the legend bounds in circular gauge.
     *
     * @private
     */
    legendBounds: Rect;
    /**
     * @private
     */
    position: LegendPosition;
    constructor(gauge: CircularGauge);
    /**
     * Binding events for legend module.
     *
     * @returns {void}
     */
    private addEventListener;
    /**
     * UnBinding events for legend module.
     *
     * @returns {void}
     */
    private removeEventListener;
    /**
     * Get the legend options.
     *
     * @param {Axis[]} axes - Specifies the axes.
     * @returns {void}
     * @private
     */
    getLegendOptions(axes: Axis[]): void;
    calculateLegendBounds(rect: Rect, availableSize: Size): void;
    /**
     * To find legend alignment for chart and accumulation chart
     *
     * @param {number} start - Specifies the start.
     * @param {number} size - Specifies the size.
     * @param {number} legendSize - Specifies the  legendSize.
     * @param {Alignment} alignment - Specifies the alignment.
     * @returns {number} - Returns the start value.
     */
    private alignLegend;
    /**
     * To find legend location based on position, alignment for chart and accumulation chart
     *
     * @param {LegendPosition} position - Specifies the position.
     * @param {Alignment} alignment - Specifies the alignment.
     * @param {Rect} legendBounds - Specifies the legendBounds.
     * @param {Rect} rect - Specifies the rect.
     * @param {Size} availableSize - Specifies the availableSize.
     * @returns {void}
     */
    private getLocation;
    /**
     * Renders the legend.
     *
     * @param {LegendSettingsModel} legend - Specifies the legend.
     * @param {Rect} legendBounds - Specifies the legendBounds.
     * @param {boolean} redraw - Specifies the redraw.
     * @returns {void}
     * @private
     */
    renderLegend(legend: LegendSettingsModel, legendBounds: Rect, redraw?: boolean): void;
    /**
     * To render legend paging elements for chart and accumulation chart
     *
     * @param {Rect} bounds - Specifies the bounds.
     * @param {TextOption} textOption - Specifies the textOption.
     * @param {Element} legendGroup - Specifies the legendGroup.
     * @returns {void}
     */
    private renderPagingElements;
    /**
     * To translate legend pages for chart and accumulation chart
     *
     * @param {Element} pagingText - Specifies the pagingText.
     * @param {number} page - Specifies the page.
     * @param {number} pageNumber - Specifies the pageNumber.
     * @returns {number} - Returns the size.
     */
    protected translatePage(pagingText: Element, page: number, pageNumber: number): number;
    /**
     * To render legend text for chart and accumulation chart
     *
     * @param {LegendOptions} legendOption - Specifies the legendOption.
     * @param {Element} group - Specifies the group.
     * @param {TextOption} textOptions - Specifies the textOptions.
     * @param {number} axisIndex - Specifies the axisIndex.
     * @param {number} rangeIndex - Specifies the rangeIndex.
     * @returns {void}
     */
    protected renderText(legendOption: LegendOptions, group: Element, textOptions: TextOption, axisIndex: number, rangeIndex: number): void;
    /**
     * To render legend symbols for chart and accumulation chart
     *
     * @param {LegendOptions} legendOption - Specifies the legendOption.
     * @param {Element} group - Specifies the group.
     * @param {number} axisIndex - Specifies the axisIndex.
     * @param {number} rangeIndex - Specifies the rangeIndex.
     * @returns {void}
     */
    protected renderSymbol(legendOption: LegendOptions, group: Element, axisIndex: number, rangeIndex: number): void;
    /**
     * To find legend rendering locations from legend options.
     *
     * @param {LegendOptions} legendOption - Specifies the legendOption.
     * @param {GaugeLocation} start - Specifies the start.
     * @param {number} textPadding - Specifies the textPadding.
     * @param {LegendOptions} prevLegend - Specifies the prevLegend.
     * @param {Rect} rect - Specifies the rect.
     * @param {number} count - Specifies the count.
     * @param {number} firstLegend - Specifies the firstLegend.
     * @returns {void}
     * @private
     */
    getRenderPoint(legendOption: LegendOptions, start: GaugeLocation, textPadding: number, prevLegend: LegendOptions, rect: Rect, count: number, firstLegend: number): void;
    /**
     * To show or hide the legend on clicking the legend.
     *
     * @returns {void}
     */
    click(event: Event): void;
    /**
     * Set toggled legend styles.
     *
     * @param {Index[]} toggledIndexes - Specifies the toggledIndexes.
     * @returns {void}
     */
    private setStyles;
    /**
     * To get legend by index
     *
     * @param {number} axisIndex - Specifies the axisIndex.
     * @param {number} rangeIndex - Specifies the rangeIndex.
     * @param {LegendOptions[]} legendCollections - Specifies the legendCollections.
     * @returns {LegendOptions} - Specifies the LegendOptions.
     */
    private legendByIndex;
    /**
     * To change legend pages for chart and accumulation chart
     *
     * @param {Event} event - Specifies the event.
     * @param {boolean} pageUp - Specifies the pageUp.
     * @returns {void}
     */
    protected changePage(event: Event, pageUp: boolean): void;
    /**
     * To find available width from legend x position.
     *
     * @param {number} tx - Specifies the tx value.
     * @param {number} width - Specifies the width.
     * @param {number} legendX - Specifies the legendX.
     * @returns {number} - Returns the number.
     */
    private getAvailWidth;
    /**
     * To create legend rendering elements for chart and accumulation chart
     *
     * @param {Rect} legendBounds - Specifies the legendBounds.
     * @param {Element} legendGroup - Specifies the legendGroup.
     * @param {LegendSettingsModel} legend - Specifies the legend.
     * @param {string} id - Specifies the id.
     * @param {boolean} redraw - Specifies the redraw.
     * @returns {Element} - Returns the element.
     */
    private createLegendElements;
    /**
     * Method to append child element
     *
     * @param {Element} parent - Specifies the element.
     * @param {Element} childElement - Specifies the child element.
     * @param {boolean} redraw - Specifies the boolean value.
     * @param {boolean} isAnimate - Specifies the boolean value.
     * @param {string} x - Specifies the x value.
     * @param {string} y - Specifies the y value.
     * @param {GaugeLocation} start - Specifies the start value.
     * @param {string} direction - Specifies the direction.
     * @param {boolean} forceAnimate - Specifies the boolean value.
     * @param {boolean} isRect - Specifies the rect value.
     * @param {Rect} previousRect - Specifies the previous rect value.
     * @param {number} animateDuration - Specifies the animate duration.
     * @returns {void}
     */
    private appendChildElement;
    /**
     * To find first valid legend text index for chart and accumulation chart
     *
     * @param {LegendOptions[]} legendCollection - Specifies the legend collection.
     * @returns {number} - Returns the count.
     */
    private findFirstLegendPosition;
    /**
     * To find legend bounds for accumulation chart.
     *
     * @param {Size} availableSize - Specifies the availableSize.
     * @param {Rect} legendBounds - Specifies the legendBounds.
     * @param {LegendSettingsModel} legend - Specifies the legend.
     * @returns {void}
     * @private
     */
    getLegendBounds(availableSize: Size, legendBounds: Rect, legend: LegendSettingsModel): void;
    /**
     * @param {Rect} rect - Specifies the rect.
     * @param {number} left - Specifies the left.
     * @param {number} right - Specifies the right.
     * @param {number} top - Specifies the top.
     * @param {number} bottom - Specifies the bottom.
     * @returns {Rect} - Returns the rect.
     * @private
     */
    private subtractThickness;
    /**
     * To set bounds for chart and accumulation chart
     *
     * @param {number} computedWidth - Specifies compute width.
     * @param {number} computedHeight - Specifies compute height.
     * @param {LegendSettingsModel} legend - Specifies the legend.
     * @param {Rect} legendBounds - Specifies the legend bounds.
     * @returns {void}
     */
    protected setBounds(computedWidth: number, computedHeight: number, legend: LegendSettingsModel, legendBounds: Rect): void;
    /**
     * To find maximum column size for legend
     *
     * @param {number[]} columns - Specifies the columns
     * @param {number} width - Specifies the width
     * @param {number} padding - Specifies the padding
     * @param {number} rowWidth - Specifies the row width
     * @returns {number} - Returns the number
     */
    private getMaxColumn;
    /**
     * To show or hide trimmed text tooltip for legend.
     *
     * @param {Event} event - Specifies the event.
     * @returns {void}
     * @private
     */
    move(event: Event): void;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the legend.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
/**
 * @private
 */
export  class Index {
    axisIndex: number;
    rangeIndex: number;
    isToggled: boolean;
    constructor(axisIndex: number, rangeIndex?: number, isToggled?: boolean);
}
/**
 * Class for legend options
 *
 * @private
 */
export  class LegendOptions {
    render: boolean;
    text: string;
    originalText: string;
    fill: string;
    shape: GaugeShape;
    visible: boolean;
    textSize: Size;
    location: GaugeLocation;
    border: Border;
    shapeBorder: Border;
    shapeWidth: number;
    shapeHeight: number;
    rangeIndex?: number;
    axisIndex?: number;
    constructor(text: string, originalText: string, fill: string, shape: GaugeShape, visible: boolean, border: Border, shapeBorder: Border, shapeWidth: number, shapeHeight: number, rangeIndex?: number, axisIndex?: number);
}
//node_modules/@syncfusion/ej2-circulargauge/src/circular-gauge/model/base-model.d.ts
/**
 * Interface for a class Border
 */
export interface BorderModel {
    /**
     * Gets and sets the color of the border in the circular gauge. This property accepts value in hex code,
     * rgba string as a valid CSS color string.
     */
    color?: string;
    /**
     * Gets and sets the width of the border in circular gauge.
     *
     * @default 1
     */
    width?: number;
    /**
     * Gets and sets the dash-array of the border.
     */
    dashArray?: string;
}
/**
 * Interface for a class Font
 */
export interface FontModel {
    /**
     * Gets and sets the font size of the text in annotation, label, and tooltip, etc. The default of the size is '16px'.
     *
     * @default '16px'
     */
    size?: string;
    /**
     * Gets and sets the font color of the text in annotation, label and tooltip etc.
     */
    color?: string;
    /**
     * Gets and sets the font family for the given text in annotation, tooltip etc.
     *
     * @default 'segoe UI'
     */
    fontFamily?: string;
    /**
     * Gets and sets the font weight for the text in annotation, tooltip etc.
     *
     * @default 'Normal'
     */
    fontWeight?: string;
    /**
     * Gets and sets the style of the font, which is in in annotation, tooltip etc.
     *
     * @default 'Normal'
     */
    fontStyle?: string;
    /**
     * Sets and gets the opacity for the annotation or tooltip text.
     *
     * @default 1
     */
    opacity?: number;
}
/**
 * Interface for a class RangeTooltip
 */
export interface RangeTooltipModel {
    /**
     * Gets and sets the fill color of the range tooltip. This property accepts value in hex code, rgba string as a valid CSS color string.
     *
     * @default null
     */
    fill?: string;
    /**
     * Sets and gets the options for the text style of the tooltip text for ranges in circular Gauge.
     */
    textStyle?: FontModel;
    /**
     * Sets and gets the format of the range tooltip in circular gauge.
     *
     * @default null
     */
    format?: string;
    /**
     * Sets and gets the custom template to format the tooltip content. Use ${x} and ${y}
     * as a placeholder text to display the corresponding data point.
     *
     * @default null
     */
    template?: string;
    /**
     * Enables and disables the animation for the range tooltip. The animation is set as true by default.
     *
     * @default true
     */
    enableAnimation?: boolean;
    /**
     * Sets and gets the options to customize the border for range tooltip.
     */
    border?: BorderModel;
    /**
     * Enables and disables the range tooltip to be shown at mouse position. By default, it set as false.
     *
     * @default false
     */
    showAtMousePosition?: boolean;
}
/**
 * Interface for a class AnnotationTooltip
 */
export interface AnnotationTooltipModel {
    /**
     * Sets and gets the fill color of the annotation tooltip. This property accepts value in hex code,
     * rgba string as a valid CSS color string.
     *
     * @default null
     */
    fill?: string;
    /**
     * Gets and sets the tooltip text style of annotation.
     */
    textStyle?: FontModel;
    /**
     * Sets and gets the format of annotation in tooltip.
     *
     * @default null
     */
    format?: string;
    /**
     * Sets and gets the custom template to format the tooltip content. Use ${x} and ${y}
     * as a placeholder text to display the corresponding data point.
     *
     * @default null
     */
    template?: string;
    /**
     * Enables and disables the animation of the annotation tooltip. By default, the animation is set as true.
     *
     * @default true
     */
    enableAnimation?: boolean;
    /**
     * Sets and gets the options to customize the border for annotation tooltip.
     */
    border?: BorderModel;
}
/**
 * Interface for a class Margin
 */
export interface MarginModel {
    /**
     * Gets and sets the left margin value of the gauge.
     *
     * @default 10
     */
    left?: number;
    /**
     * Gets and sets the right margin value of the gauge.
     *
     * @default 10
     */
    right?: number;
    /**
     * Gets and sets the top margin value of the gauge.
     *
     * @default 10
     */
    top?: number;
    /**
     * Gets and sets the bottom margin value of the gauge.
     *
     * @default 10
     */
    bottom?: number;
}
/**
 * Interface for a class TooltipSettings
 */
export interface TooltipSettingsModel {
    /**
     * Enables or Disables the visibility of tooltip.
     *
     * @default false
     */
    enable?: boolean;
    /**
     * Sets and gets the fill color of the tooltip. This property accepts value in hex code, rgba string as a valid CSS color string.
     *
     * @default null
     */
    fill?: string;
    /**
     * Gets and sets the text style of the gauge tooltip.
     */
    textStyle?: FontModel;
    /**
     * Sets and gets the tooltip settings of the range in circular gauge.
     */
    rangeSettings?: RangeTooltipModel;
    /**
     * Gets and sets the tooltip settings for the annotation in circular gauge.
     */
    annotationSettings?: AnnotationTooltipModel;
    /**
     * Sets and gets the format for the tooltip content in circular gauge.
     *
     * @default null
     */
    format?: string;
    /**
     * Sets and gets the custom template to format the tooltip content. Use ${x} and ${y}
     * as a placeholder text to display the corresponding data point.
     *
     * @default null
     */
    template?: string;
    /**
     * Enables and disables the animation to take place in circular gauge.
     *
     * @default true
     */
    enableAnimation?: boolean;
    /**
     * Sets and gets the options to customize the border for circular gauge tooltip.
     */
    border?: BorderModel;
    /**
     * Enables and disables the tooltip of the circular gauge at mouse position. By default, it set as false.
     *
     * @default false
     */
    showAtMousePosition?: boolean;
    /**
     * Sets and gets the options to select the type of tooltip for range, annotation and pointer.
     *
     * @default Pointer
     */
    type?: string[];
}
//node_modules/@syncfusion/ej2-circulargauge/src/circular-gauge/model/base.d.ts
/**
 * Sets and gets the options to customize the color and width of the borders in circular gauge.
 */
export  class Border extends base.ChildProperty<Border> {
    /**
     * Gets and sets the color of the border in the circular gauge. This property accepts value in hex code,
     * rgba string as a valid CSS color string.
     */
    color: string;
    /**
     * Gets and sets the width of the border in circular gauge.
     *
     * @default 1
     */
    width: number;
    /**
    * Gets and sets the dash-array of the border.
    */
    dashArray: string;
}
/**
 * Sets and gets the font style for the circular gauge.
 */
export  class Font extends base.ChildProperty<Font> {
    /**
     * Gets and sets the font size of the text in annotation, label, and tooltip, etc. The default of the size is '16px'.
     *
     * @default '16px'
     */
    size: string;
    /**
     * Gets and sets the font color of the text in annotation, label and tooltip etc.
     */
    color: string;
    /**
     * Gets and sets the font family for the given text in annotation, tooltip etc.
     *
     * @default 'segoe UI'
     */
    fontFamily: string;
    /**
     * Gets and sets the font weight for the text in annotation, tooltip etc.
     *
     * @default 'Normal'
     */
    fontWeight: string;
    /**
     * Gets and sets the style of the font, which is in in annotation, tooltip etc.
     *
     * @default 'Normal'
     */
    fontStyle: string;
    /**
     * Sets and gets the opacity for the annotation or tooltip text.
     *
     * @default 1
     */
    opacity: number;
}
/**
 * Sets and gets the options to customize the tooltip properties for range tooltip.
 */
export  class RangeTooltip extends base.ChildProperty<RangeTooltip> {
    /**
     * Gets and sets the fill color of the range tooltip. This property accepts value in hex code, rgba string as a valid CSS color string.
     *
     * @default null
     */
    fill: string;
    /**
     * Sets and gets the options for the text style of the tooltip text for ranges in circular Gauge.
     */
    textStyle: FontModel;
    /**
     * Sets and gets the format of the range tooltip in circular gauge.
     *
     * @default null
     */
    format: string;
    /**
     * Sets and gets the custom template to format the tooltip content. Use ${x} and ${y}
     * as a placeholder text to display the corresponding data point.
     *
     * @default null
     */
    template: string;
    /**
     * Enables and disables the animation for the range tooltip. The animation is set as true by default.
     *
     * @default true
     */
    enableAnimation: boolean;
    /**
     * Sets and gets the options to customize the border for range tooltip.
     */
    border: BorderModel;
    /**
     * Enables and disables the range tooltip to be shown at mouse position. By default, it set as false.
     *
     * @default false
     */
    showAtMousePosition: boolean;
}
/**
 * Sets and gets the options to customize the tooltip for annotation in circular gauge.
 */
export  class AnnotationTooltip extends base.ChildProperty<AnnotationTooltip> {
    /**
     * Sets and gets the fill color of the annotation tooltip. This property accepts value in hex code,
     * rgba string as a valid CSS color string.
     *
     * @default null
     */
    fill: string;
    /**
     * Gets and sets the tooltip text style of annotation.
     */
    textStyle: FontModel;
    /**
     * Sets and gets the format of annotation in tooltip.
     *
     * @default null
     */
    format: string;
    /**
     * Sets and gets the custom template to format the tooltip content. Use ${x} and ${y}
     * as a placeholder text to display the corresponding data point.
     *
     * @default null
     */
    template: string;
    /**
     * Enables and disables the animation of the annotation tooltip. By default, the animation is set as true.
     *
     * @default true
     */
    enableAnimation: boolean;
    /**
     * Sets and gets the options to customize the border for annotation tooltip.
     */
    border: BorderModel;
}
/**
 * Sets and gets the margin of circular gauge.
 */
export  class Margin extends base.ChildProperty<Margin> {
    /**
     * Gets and sets the left margin value of the gauge.
     *
     * @default 10
     */
    left: number;
    /**
     * Gets and sets the right margin value of the gauge.
     *
     * @default 10
     */
    right: number;
    /**
     * Gets and sets the top margin value of the gauge.
     *
     * @default 10
     */
    top: number;
    /**
     * Gets and sets the bottom margin value of the gauge.
     *
     * @default 10
     */
    bottom: number;
}
/**
 * Sets and gets the options to customize the tooltip of the circular gauge.
 */
export  class TooltipSettings extends base.ChildProperty<TooltipSettings> {
    /**
     * Enables or Disables the visibility of tooltip.
     *
     * @default false
     */
    enable: boolean;
    /**
     * Sets and gets the fill color of the tooltip. This property accepts value in hex code, rgba string as a valid CSS color string.
     *
     * @default null
     */
    fill: string;
    /**
     * Gets and sets the text style of the gauge tooltip.
     */
    textStyle: FontModel;
    /**
     * Sets and gets the tooltip settings of the range in circular gauge.
     */
    rangeSettings: RangeTooltipModel;
    /**
     * Gets and sets the tooltip settings for the annotation in circular gauge.
     */
    annotationSettings: AnnotationTooltipModel;
    /**
     * Sets and gets the format for the tooltip content in circular gauge.
     *
     * @default null
     */
    format: string;
    /**
     * Sets and gets the custom template to format the tooltip content. Use ${x} and ${y}
     * as a placeholder text to display the corresponding data point.
     *
     * @default null
     */
    template: string;
    /**
     * Enables and disables the animation to take place in circular gauge.
     *
     * @default true
     */
    enableAnimation: boolean;
    /**
     * Sets and gets the options to customize the border for circular gauge tooltip.
     */
    border: BorderModel;
    /**
     * Enables and disables the tooltip of the circular gauge at mouse position. By default, it set as false.
     *
     * @default false
     */
    showAtMousePosition: boolean;
    /**
     * Sets and gets the options to select the type of tooltip for range, annotation and pointer.
     *
     * @default Pointer
     */
    type: string[];
}
//node_modules/@syncfusion/ej2-circulargauge/src/circular-gauge/model/constants.d.ts
/**
 * Specifies the gauge constant value
 */
/**
 * Sets and gets loaded event name in the circular gauge component.
 *
 * @private
 */
export  const loaded: string;
/**
 * Sets and gets load event name in the circular gauge component.
 *
 * @private
 */
export  const load: string;
/**
 * Sets and gets animation complete event name in the circular gauge component.
 *
 * @private
 */
export  const animationComplete: string;
/**
 * Sets and gets axis label render event name in the circular gauge component.
 *
 * @private
 */
export  const axisLabelRender: string;
/**
 * Sets and gets radius calculate event name in the circular gauge component.
 *
 * @private
 */
export  const radiusCalculate: string;
/**
 * Sets and gets tooltip render event name in the circular gauge component.
 *
 * @private
 */
export  const tooltipRender: string;
/**
 * Sets and gets annotation render event name in the circular gauge component.
 *
 * @private
 */
export  const annotationRender: string;
/**
 * Sets and gets gauge mouse move event name in the circular gauge component.
 *
 * @private
 */
export  const gaugeMouseMove: string;
/**
 * Sets and gets gauge mouse leave event name in the circular gauge component.
 *
 * @private
 */
export  const gaugeMouseLeave: string;
/**
 * Sets and gets gauge mouse down event name in the circular gauge component.
 *
 * @private
 */
export  const gaugeMouseDown: string;
/**
 * Sets and gets gauge mouse up event name in circular gauge component.
 *
 * @private
 */
export  const gaugeMouseUp: string;
/**
 * Sets and gets drag start event name in the circular gauge component.
 *
 * @private
 */
export  const dragStart: string;
/**
 * Sets and gets drag move event name in the circular gauge component.
 *
 * @private
 */
export  const dragMove: string;
/**
 * Sets and gets drag end event name in the circular gauge component.
 *
 * @private
 */
export  const dragEnd: string;
/**
 * Sets and gets resize event name in the circular gauge component.
 *
 * @private
 */
export  const resized: string;
/**
 * Sets and gets before print event name in the circular gauge component.
 *
 * @private
 */
export  const beforePrint: string;
/**
 * Sets and gets pointer start event name in the circular gauge component.
 *
 * @private
 */
export  const pointerStart: string;
/**
 * Sets and gets pointer move event name in the circular gauge component.
 *
 * @private
 */
export  const pointerMove: string;
/**
 * Sets and gets pointer end event name in the circular gauge component.
 *
 * @private
 */
export  const pointerEnd: string;
/**
 * Sets and gets range start event name in the circular gauge component.
 *
 * @private
 */
export  const rangeStart: string;
/**
 * Sets and gets range move event name in the circular gauge component.
 *
 * @private
 */
export  const rangeMove: string;
/**
 * Sets and gets range end event name in the circular gauge component.
 *
 * @private
 */
export  const rangeEnd: string;
//node_modules/@syncfusion/ej2-circulargauge/src/circular-gauge/model/image-export.d.ts
/**
 * Represent the Image Export for gauge
 *
 * @hidden
 */
export  class ImageExport {
    /**
     * Constructor for gauge
     *
     *  @param {CircularGauge} control - Specfies the instance of the gauge
     */
    constructor(control: CircularGauge);
    /**
     * To export the file as image/svg format
     *
     * @param {CircularGauge} gauge - Specifies the instance of Circular Gauge.
     * @param {ExportType} type - Specifies the type of the image file.
     * @param {string} fileName - Specifies the file name of the image file.
     * @param {boolean} allowDownload - Specifies whether to download the image file or not.
     * @returns {Promise<string>} - Returns promise string.
     * @private
     */
    export(gauge: CircularGauge, type: ExportType, fileName: string, allowDownload?: boolean): Promise<string>;
    protected getModuleName(): string;
    /**
     * To destroy the ImageExport.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
    /**
    * To trigger the download element
    *
    * @param {string} fileName - Specifies the file name.
    * @param {ExportType} type - Specifies the export type.
    * @param {string} url - Specifies the url.
    * @param {boolean} isDownload - Specifies the boolean value.
    * @returns {void}
    */
    private triggerDownload;
}
//node_modules/@syncfusion/ej2-circulargauge/src/circular-gauge/model/interface.d.ts
/**
 * interface doc
 */
/**
 * Specifies the event arguments of the circular gauge component.
 */
export interface ICircularGaugeEventArgs {
    /**
     * Specifies the name of the event.
     */
    name: string;
    /**
     * Specifies the cancel state for the event. The default value is false. If set as true, the event progress will be stopped.
     */
    cancel: boolean;
}
/**
 * Specifies the event arguments of the print event.
 */
export interface IPrintEventArgs extends ICircularGaugeEventArgs {
    /**
     * Specifies the html content that is printed. The html content returned is usually the id string of the circular gauge.
     */
    htmlContent: Element;
}
/**
 * Specifies the event arguments of the loaded event in circular gauge.
 */
export interface ILoadedEventArgs extends ICircularGaugeEventArgs {
    /**
     * Specifies the instance of the circular gauge.
     */
    gauge: CircularGauge;
}
/**
 * Specifies the event arguments for the animation complete event in circular gauge.
 */
export interface IAnimationCompleteEventArgs extends ICircularGaugeEventArgs {
    /**
     * Specifies the instance of the axis in the circular gauge.
     */
    axis: Axis;
    /**
     * Specifies the instance of pointer in the circular gauge.
     */
    pointer: Pointer;
}
/**
 * Specifies the event arguments for the axis label render event in circular gauge.
 */
export interface IAxisLabelRenderEventArgs extends ICircularGaugeEventArgs {
    /**
     * Specifies the instance of the axis in circular gauge.
     */
    axis?: Axis;
    /**
     * Specifies the text of the axis labels in the axis of the circular gauge.
     */
    text: string;
    /**
     * Specifies the value of the axis labels in the axis of the circular gauge.
     */
    value: number;
}
/**
 * Specifies the event argument for the radius calculate event in circular gauge.
 */
export interface IRadiusCalculateEventArgs extends ICircularGaugeEventArgs {
    /**
     * Specifies the instance of the circular gauge component.
     */
    gauge?: CircularGauge;
    /**
     * Specifies the current radius of the circular gauge.
     */
    currentRadius: number;
    /**
     * Specifies the axis of the circular gauge.
     */
    axis?: Axis;
    /**
     * Specifies the location of the circular gauge.
     */
    midPoint: GaugeLocation;
}
/**
 * Specifies the event arguments for the tooltip render event in circular gauge.
 */
export interface ITooltipRenderEventArgs extends ICircularGaugeEventArgs {
    /**
     * Specifies the instance of circular gauge component.
     */
    gauge?: CircularGauge;
    /**
     * Specifies the pointer event for the tooltip in circular gauge.
     */
    event: PointerEvent;
    /**
     * Specifies the content for the tooltip in circular gauge.
     */
    content?: string;
    /**
     * Specifies the options to customize the tooltip in circular gauge.
     */
    tooltip?: TooltipSettings;
    /**
     * Specifies the location of the tooltip in circular gauge.
     */
    location?: GaugeLocation;
    /**
     * Specifies the axis of the circular gauge.
     */
    axis?: Axis;
    /**
     * Specifies the pointer of the circular gauge.
     */
    pointer?: Pointer;
    /**
     * Specifies the instance of annotation of the circular gauge.
     */
    annotation?: Annotation;
    /**
     * Specifies the instance of ranges of the circular gauge.
     */
    range?: Range;
    /**
     * Enables and disables the tooltip element to append in body.
     */
    appendInBodyTag: boolean;
    /**
     * Specifies the element type in which the tooltip is rendered. The element types are
     * range, annotation, and pointer of the circular gauge.
     */
    type: string;
}
/**
 * Specifies the event arguments for the annotation render event in circular gauge.
 */
export interface IAnnotationRenderEventArgs extends ICircularGaugeEventArgs {
    /**
     * Specifies the content of the annotation in circular gauge.
     */
    content?: string;
    /**
     * Specifies the style of the text in annotation of circular gauge.
     */
    textStyle?: FontModel;
    /**
     * Specifies the axis instance of the circular gauge.
     */
    axis?: Axis;
    /**
     * Specifies the annotation instance of the circular gauge.
     */
    annotation: Annotation;
}
/**
 * Specifies the event arguments for the drag start, drag move and drag end events in circular gauge.
 */
export interface IPointerDragEventArgs {
    /**
     * Specifies the name of the event.
     */
    name: string;
    /**
     * Specifies the axis instance of the circular gauge.
     */
    axis?: Axis;
    /**
     * Specifies the pointer instance of the circular gauge.
     */
    pointer?: Pointer;
    /**
     * Specifies the range instance of the circular gauge.
     */
    range?: Range;
    /**
     * Specifies the value of the pointer before it gets dragged.
     */
    currentValue?: number;
    /**
     * Specifies the value of the pointer after it gets dragged.
     */
    previousValue?: number;
    /**
     * Specifies the index of the pointer in circular gauge.
     */
    pointerIndex?: number;
    /**
     * Specifies the index of the axis in circular gauge.
     */
    axisIndex: number;
    /**
     * Specifies the index of the range in circular gauge.
     */
    rangeIndex?: number;
    /**
     * Specifies the type of the pointer in circular gauge.
     */
    type?: string;
}
/**
 * Specifies the event arguments for the resize event in circular gauge.
 */
export interface IResizeEventArgs extends ICircularGaugeEventArgs {
    /**
     * Specifies the size of the circular gauge before it gets resized.
     */
    previousSize: Size;
    /**
     * Specifies the size of the circular gauge after it gets resized.
     */
    currentSize: Size;
    /**
     * Specifies the instance of the circular gauge.
     */
    gauge?: CircularGauge;
}
/**
 * Specifies the event arguments for the mouse events in circular gauge.
 */
export interface IMouseEventArgs extends ICircularGaugeEventArgs {
    /**
     * Specifies the element on which the mouse operation is performed.
     */
    target: Element;
    /**
     * Specifies the x position of the target element in circular gauge.
     */
    x: number;
    /**
     * Specifies the y position of the target element in circular gauge.
     */
    y: number;
}
/**
 * Specifies the event arguments for the visible pointer.
 */
export interface IVisiblePointer {
    /**
     * Specifies the index value of the axis in circular gauge.
     */
    axisIndex?: number;
    /**
     * Specifies the index value of the pointer in circular gauge.
     */
    pointerIndex?: number;
}
/**
 * Specifies the visible range
 */
export interface IVisibleRange {
    /**
     * Specifies the index value of the axis in circular gauge.
     */
    axisIndex?: number;
    /**
     * Specifies the index value of the range in circular gauge.
     */
    rangeIndex?: number;
}
/**
 * Specifies the event arguments for the font settings of the axis label and legend in circular gauge.
 */
export interface IFontMapping {
    /**
     * Specifies the size of the label and legend text in circular gauge.
     */
    size?: string;
    /**
     * Specifies the color of the label and legend text in circular gauge.
     */
    color?: string;
    /**
     * Specifies the font weight of the label and legend text in circular gauge.
     */
    fontWeight?: string;
    /**
     * Specifies the font style of the label and legend text in circular gauge.
     */
    fontStyle?: string;
    /**
     * Specifies the font family of the label and legend text in circular gauge.
     */
    fontFamily?: string;
}
/**
 * Specifies the arguments for the theme style in circular gauge.
 */
export interface IThemeStyle {
    /** Specifies the background color for the circular gauge. */
    backgroundColor: string;
    /** Specifies the font color for the title of circular gauge. */
    titleFontColor: string;
    /** Specifies the color for the tooltip in circular gauge. */
    tooltipFillColor: string;
    /** Specifies the font color for tooltip of the circular gauge. */
    tooltipFontColor: string;
    /** Specifies the color for the axis line in circular gauge. */
    lineColor: string;
    /** Specifies the axis label in circular gauge. */
    labelColor: string;
    /** Specifies the color for the major ticks in circular gauge. */
    majorTickColor: string;
    /** Specifies the color for the minor ticks in circular gauge. */
    minorTickColor: string;
    /** Specifies the color of the pointer in circular gauge. */
    pointerColor: string;
    /** Specifies the color of the needle in circular gauge. */
    needleColor: string;
    /** Specifies the color for the needle tail in circular gauge. */
    needleTailColor: string;
    /** Specifies the color for the cap in circular gauge. */
    capColor: string;
    /** Specifies the font-family for the text in circular gauge. */
    fontFamily?: string;
    /** Specifies the font size for the text in circular gauge. */
    fontSize?: string;
    /** Specifies the font-family for the axis label in circular gauge. */
    labelFontFamily?: string;
    /** Specifies the opacity for the tooltip in circular gauge. */
    tooltipFillOpacity?: number;
    /** Specifies the opacity for the text in tooltip in circular gauge. */
    tooltipTextOpacity?: number;
    /** Specifies the font weight for the text in title in circular gauge. */
    titleFontWeight?: string;
}
/**
 * Specifies the event arguments for rendering a legend in circular gauge.
 */
export interface ILegendRenderEventArgs extends ICircularGaugeEventArgs {
    /** Specifies the shape of the legend in circular gauge. */
    shape: GaugeShape;
    /** Specifies the fill color of the legend in circular gauge. */
    fill: string;
    /** Specifies the text of the legend in circular gauge. */
    text: string;
}
/**
 * Specifies the arguments for the legend regions in circular gauge.
 */
export interface ILegendRegions {
    /**
     * Specifies the bounds for the legend in circular gauge.
     */
    rect: Rect;
    /**
     * Specifies the index value for the legend in circular gauge.
     */
    index: number;
}
//node_modules/@syncfusion/ej2-circulargauge/src/circular-gauge/model/pdf-export.d.ts
/**
 * Represent the Pdf export for gauge
 *
 * @hidden
 */
export  class PdfExport {
    /**
     * Constructor for gauge
     *
     * @param {CircularGauge} control - Specfies the instance of the gauge.
     */
    constructor(control: CircularGauge);
    /**
     * To export the file as image/svg format
     *
     * @param {CircularGauge} gauge - Specifies the instance of Circular Gauge.
     * @param {ExportType} type - Specifies the type of the document.
     * @param {string} fileName Specfies the file name of the document.
     * @param {pdfExport.PdfPageOrientation} orientation - Specfies the orientation of the PDF document to export the component.
     * @param {boolean} allowDownload - Specfies whether to download the document or not.
     * @returns {Promise<string>} - Returns the promise string
     * @private
     */
    export(gauge: CircularGauge, type: ExportType, fileName: string, orientation?: pdfExport.PdfPageOrientation, allowDownload?: boolean): Promise<string>;
    protected getModuleName(): string;
    /**
     * To destroy the PdfExport.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-circulargauge/src/circular-gauge/model/print.d.ts
/**
 * Represent the print for gauge
 *
 * @hidden
 */
export  class Print {
    /**
     * Constructor for gauge
     *
     * @param {CircularGauge} control - Specifies the instance of the gauge.
     */
    constructor(control: CircularGauge);
    /**
     * To print the gauge
     *
     * @param {CircularGauge} gauge - Specifies the instance of Circular Gauge.
     * @param {string[] | string | Element} elements - Specifies the element.
     * @returns {void}
     * @private
     */
    print(gauge: CircularGauge, elements?: string[] | string | Element): void;
    /**
     * To get the html string of the gauge
     *
     * @param {CircularGauge} gauge - Specifies the instance of Circular Gauge.
     * @param { string[] | string | Element} elements - Specifies the element.
     * @returns {Element} - Returns the div element.
     * @private
     */
    getHTMLContent(gauge: CircularGauge, elements?: string[] | string | Element): Element;
    protected getModuleName(): string;
    /**
     * To destroy the Print.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-circulargauge/src/circular-gauge/model/theme.d.ts
/**
 * Specifies gauge Themes
 */
export  namespace Theme {
    /** @private */
    let axisLabelFont: IFontMapping;
    const legendLabelFont: IFontMapping;
}
/**
 * @param {string} theme theme
 * @returns {string[]} palette
 * @private */
export  function getRangePalette(theme: string): string[];
/**
 * Function to get ThemeStyle
 *
 * @param {GaugeTheme} theme theme
 * @returns {IThemeStyle} style
 * @private */
export  function getThemeStyle(theme: GaugeTheme): IThemeStyle;
//node_modules/@syncfusion/ej2-circulargauge/src/circular-gauge/user-interaction/tooltip.d.ts
/**
 * Sets and gets the module that handles the tooltip of the circular gauge
 */
export  class GaugeTooltip {
    private gauge;
    private tooltipEle;
    private currentAxis;
    private tooltip;
    private currentPointer;
    private currentRange;
    private currentAnnotation;
    private borderStyle;
    private svgTooltip;
    private tooltipId;
    private gaugeId;
    private tooltipPosition;
    private arrowInverted;
    private tooltipRect;
    private clearTimeout;
    private pointerEle;
    private annotationTargetElement;
    /**
     * Constructor for Tooltip module.
     *
     * @param {CircularGauge} gauge - Specifies the instance of the gauge.
     * @private.
     */
    constructor(gauge: CircularGauge);
    /**
     * Method to render the tooltip for circular gauge.
     */
    renderTooltip(e: PointerEvent): void;
    /**
     * Method to create tooltip svg element.
     *
     * @param {Tooltip} svgTooltip - Specifies the tooltip element.
     * @param {ITooltipRenderEventArgs} tooltipArg - Specifies the tooltip arguments.
     * @param {string} template - Specifies the tooltip template.
     * @param {boolean} arrowInverted - Specifies the boolean value.
     * @param {Rect} tooltipRect - Specifies the rect element.
     * @param {CircularGauge} gauge - Specifies the gauge instance.
     * @param {string} fill - Spcifies the fill color of the tooltip.
     * @param {FontModel} textStyle - Spcifies the text style of the tooltip.
     * @param {BorderModel} border - Specifies the border of the tooltip.
     * @returns {Tooltip} - Returns the tooltip.
     */
    private svgTooltipCreate;
    /**
     * Method to create or modify tolltip element.
     *
     * @returns {void}
     */
    private tooltipElement;
    /**
     * Method to get parent annotation element.
     *
     * @param {Element} child - Specifies the annotation element.
     * @returns {boolean} - Returns the boolean value.
     */
    private checkParentAnnotationId;
    /**
     * Method to apply label rounding places.
     *
     * @param {number} currentValue - Specifies the current value.
     * @returns {number} - Returns the round number.
     */
    private roundedValue;
    /**
     * Method to find the position of the tooltip anchor for circular gauge.
     *
     * @param {Rect} rect - Specifies the rect element.
     * @param {number} angle - Specifies the angle.
     * @param {string} text - Specifies the text.
     * @param {GaugeLocation} location - Specifies the location.
     * @param {boolean} template - whether it is template or not .
     * @returns {Rect} - Returns the rect element.
     */
    private findPosition;
    removeTooltip(): boolean;
    mouseUpHandler(e: PointerEvent): void;
    /**
     * To bind events for tooltip module
     */
    addEventListener(): void;
    /**
     * To unbind events for tooltip module
     */
    removeEventListener(): void;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name
     */
    protected getModuleName(): string;
    /**
     * To destroy the tooltip.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-circulargauge/src/circular-gauge/utils/enum.d.ts
/**
 * Defines the position of the axis ticks and labels.
 *
 * @private
 */
export  type Position = 
/** Specifies the position of the tick line and axis label inside the axis. */
'Inside' | 
/** Specifies the position of the tick line and axis label outside the axis. */
'Outside' | 
/** Specifies the position of the tick line and axis label on the axis. */
'Cross';
/**
 * Defines the position of the axis range and pointers.
 *
 * @private
 */
export  type PointerRangePosition = 
/** Specifies the position of the range and pointer inside the axis. */
'Inside' | 
/** Specifies the position of the range and pointer outside the axis. */
'Outside' | 
/** Specifies the position of the range and pointer on the axis. */
'Cross' | 
/** Specifies the default position of the range and pointer in the axis. */
'Auto';
/**
 * Defines the type of pointer in the axis.
 *
 * @private
 */
export  type PointerType = 
/** Specifies the pointer type as needle. */
'Needle' | 
/** Specifies the pointer type as marker. */
'Marker' | 
/** Specifies the pointer type as range bar. */
'RangeBar';
/**
 * Specifies the direction of the circular gauge.
 *
 * @private
 */
export  type GaugeDirection = 
/** Renders the axis in clock wise direction. */
'ClockWise' | 
/** Renders the axis in anti-clock wise direction. */
'AntiClockWise';
/**
 * Defines the theme style of the circular gauge.
 *
 * @private
 */
export  type GaugeTheme = 
/** Render a gauge with material theme. */
'Material' | 
/** Render a gauge with bootstrap theme. */
'Bootstrap' | 
/** Render a gauge with highcontrast light theme. */
'HighContrastLight' | 
/** Render a gauge with fabric theme. */
'Fabric' | 
/** Render a gauge with material dark theme. */
'MaterialDark' | 
/** Render a gauge with fabric dark theme. */
'FabricDark' | 
/** Render a gauge with highcontrast Dark theme. */
'HighContrast' | 
/** Render a gauge with bootstrap Dark theme. */
'BootstrapDark' | 
/** Render a gauge with bootstrap 4 theme. */
'Bootstrap4' | 
/**  Render a gauge with Tailwind theme. */
'Tailwind' | 
/**  Render a gauge with TailwindDark theme. */
'TailwindDark' | 
/**  Render a gauge with Bootstrap5 theme. */
'Bootstrap5' | 
/**  Render a gauge with Bootstrap5 dark theme. */
'Bootstrap5Dark' | 
/**  Render a gauge with Fluent theme. */
'Fluent' | 
/**  Render a gauge with Fluent dark theme. */
'FluentDark';
/**
 * Specifies the axis label to be hidden in the axis of circular gauge.
 *
 * @private
 */
export  type HiddenLabel = 
/** Specifies the first label to be hidden in circular gauge. */
'First' | 
/** Specifies the last label to be hidden in circular gauge. */
'Last' | 
/** No labels will be hidden in circular gauge. */
'None';
/**
 * Specifies the shape of a marker in circular gauge.
 */
export  type GaugeShape = 
/** Renders a marker shape as circle. */
'Circle' | 
/** Renders the marker shape as rectangle. */
'Rectangle' | 
/** Renders the marker shape as triangle. */
'Triangle' | 
/** Renders the marker shape as diamond. */
'Diamond' | 
/** Renders the marker shape as inverted triangle. */
'InvertedTriangle' | 
/** Renders the marker shape as an image. */
'Image' | 
/** Renders the marker as text. */
'Text';
/**
 * Specifies the position of legend for ranges in circular gauge component.
 */
export  type LegendPosition = 
/** Specifies the legend to be placed at the top of the circular gauge. */
'Top' | 
/** Specifies the legend to be placed at the left of the circular gauge. */
'Left' | 
/** Specifies the legend to be placed at the bottom of the circular gauge. */
'Bottom' | 
/** Specifies the legend to be placed at the right of the circular gauge. */
'Right' | 
/** Specifies the legend to be placed based on the custom x and y location. */
'Custom' | 
/** Specifies the legend to be placed based on the available space. */
'Auto';
/**
 * Specifies the alignment of the legend in circular gauge component.
 */
export  type Alignment = 
/** Places the legend near the circular gauge with respect to the position of legend. */
'Near' | 
/** Places the legend at the center of the circular gauge with respect to the position of legend. */
'Center' | 
/** Places the legend far from the circular gauge with respect to the position of legend. */
'Far';
/**
 * Specifies the export type of circular gauge component.
 */
export  type ExportType = 
/** Specifies the rendered circular gauge to be exported in the png format. */
'PNG' | 
/** Specifies the rendered cicular gauge to be exported in the jpeg format. */
'JPEG' | 
/** Specifies the rendered circular gauge to be exported in the svg format. */
'SVG' | 
/** Specifies the rendered circular gauge to be exported in the pdf format. */
'PDF';
//node_modules/@syncfusion/ej2-circulargauge/src/circular-gauge/utils/helper-axis-panel.d.ts
/**
 * Specifies Circular-Gauge axis-panel Helper methods
 */
/**
 * Function to calculate the sum of array values.
 *
 * @param {number} from - Specifies the from value.
 * @param {number} to - Specifies the to value.
 * @param {number[]} values - Specifies the number.
 * @returns {number} - Returns the number.
 * @private
 */
export  function calculateSum(from: number, to: number, values: number[]): number;
//node_modules/@syncfusion/ej2-circulargauge/src/circular-gauge/utils/helper-axis-renderer.d.ts
/**
 * Specifies Circular-Gauge axis-render Helper methods
 */
/**
 * Function to get range color from value for circular gauge.
 *
 * @param {number} value - Specifies the value.
 * @param {Range[]} ranges - Specifies the ranges.
 * @param {string} color - Specifies the color.
 * @returns {string} - Returns the color.
 * @private
 */
export  function getRangeColor(value: number, ranges: Range[], color: string): string;
//node_modules/@syncfusion/ej2-circulargauge/src/circular-gauge/utils/helper-circular-gauge.d.ts
/**
 * Specifies Circular-Gauge Helper methods
 */
/**
 * Function to set style to the element.
 *
 * @param {HTMLElement} element - Specifies the element.
 * @param {string} fill - Specifies the fill of the element.
 * @param {BorderModel} border - Specifies the border of the element.
 * @returns {void}
 * @private
 */
export  function setStyles(element: HTMLElement, fill: string, border: BorderModel): void;
/**
 * Function to get the value from angle for circular gauge.
 *
 * @param {number} angle - Specifies the angle.
 * @param {number} maximumValue - Specifies the maximumValue.
 * @param {number} minimumValue - Specifies the minimumValue.
 * @param {number} startAngle - Specifies the startAngle.
 * @param {number} endAngle - Specifies the endAngle.
 * @param {boolean} isClockWise - Specifies the isClockWise.
 * @returns {number} - Returs the number.
 * @private
 */
export  function getValueFromAngle(angle: number, maximumValue: number, minimumValue: number, startAngle: number, endAngle: number, isClockWise: boolean): number;
/**
 * Function to get current point for circular gauge using element id.
 *
 * @param {string} targetId - Specifies the target id.
 * @param {CircularGauge} gauge - Specifies the gauge instance.
 * @returns {IVisibleRange} - Returns the current point.
 * @private
 */
export  function getRange(targetId: string, gauge: CircularGauge): IVisibleRange;
//node_modules/@syncfusion/ej2-circulargauge/src/circular-gauge/utils/helper-common.d.ts
/**
 * Specifies Circular-Gauge Common Helper methods
 */
/**
 * Function to measure the height and width of the text.
 *
 * @param  {string} text - Specifies the text.
 * @param  {FontModel} font - Specifies the font.
 * @param  {string} id - Specifies the id of the text.
 * @returns {Size} - Returns the size of the text.
 * @private
 */
export  function measureText(text: string, font: FontModel): Size;
/**
 * Function to find number from string
 *
 * @param {string} value - Specifies the value.
 * @param {number} maxDimension - Specifies the  maximum dimension.
 * @returns {number} - Returns the number.
 * @private
 */
export  function toPixel(value: string, maxDimension: number): number;
/**
 * Function to get the style from FontModel.
 *
 * @param {FontModel} font - Specifies the font.
 * @returns {string} - Returns the string.
 * @private
 */
export  function getFontStyle(font: FontModel): string;
/**
 * Function to create the text element.
 *
 * @param {TextOption} options - Specifies the options.
 * @param {FontModel} font - Specifies the font.
 * @param {string} color - Specifies the color.
 * @param {HTMLElement | Element} parent - Specifies the html element.
 * @param {string} styles - Specifies the style.
 * @returns {Element} - Returns the element.
 * @private
 */
export  function textElement(options: TextOption, font: FontModel, color: string, parent: HTMLElement | Element, styles?: string): Element;
/**
 * Function to append the path to the element.
 *
 * @param {PathOption} options - Specifies the options.
 * @param {Element} element - Specifies the element.
 * @param {CircularGauge} gauge - Specifies the gauge.
 * @param {string} functionName - Specifies the function name.
 * @returns {Element} - Returns the element.
 * @private
 */
export  function appendPath(options: PathOption, element: Element, gauge: CircularGauge, functionName?: string): Element;
/**
 * Function to check whether it's a complete circle for circular gauge.
 *
 * @param {number} startAngle - Specifies the startAngle.
 * @param {number} endAngle - Specifies the endAngle.
 * @returns {boolean} Returns the boolean value.
 * @private
 */
export  function isCompleteAngle(startAngle: number, endAngle: number): boolean;
/**
 * Function to get the degree for circular gauge.
 *
 * @param {number} startAngle - Specifies the startAngle.
 * @param {number} endAngle - Specifies the endAngle.
 * @returns {number} - Returns the number.
 * @private
 */
export  function getDegree(startAngle: number, endAngle: number): number;
/**
 * Function to get the angle from value for circular gauge.
 *
 * @param {number} value - Specifies the value.
 * @param {number} maximumValue - Specifies the maximumValue.
 * @param {number} minimumValue - Specifies the minimumValue.
 * @param {number} startAngle - Specifies the startAngle.
 * @param {number} endAngle - Specifies the endAngle.
 * @param {boolean} isClockWise - Specifies the isClockWise.
 * @returns {number} - Returns the number.
 * @private
 */
export  function getAngleFromValue(value: number, maximumValue: number, minimumValue: number, startAngle: number, endAngle: number, isClockWise: boolean): number;
/**
 * Function to get angle from location for circular gauge.
 *
 * @param {GaugeLocation} center - Specifies the center.
 * @param {GaugeLocation} point - Specifies the point.
 * @returns {number} - Returns the number.
 * @private
 */
export  function getAngleFromLocation(center: GaugeLocation, point: GaugeLocation): number;
/**
 * Function to get the location from angle for circular gauge.
 *
 * @param {number} degree - Specifies the degree.
 * @param {number} radius - Specifies the radius.
 * @param {GaugeLocation} center - Specifies the center.
 * @returns {GaugeLocation} - Returns the gauge location.
 * @private
 */
export  function getLocationFromAngle(degree: number, radius: number, center: GaugeLocation): GaugeLocation;
/**
 * Function to get the path direction of the circular gauge.
 *
 * @param {GaugeLocation} center - Specifies the center.
 * @param {number} start - Specifies the start.
 * @param {number} end - Specifies the end.
 * @param {number} radius - Specifies the radius.
 * @param {number} startWidth - Specifies the startWidth.
 * @param {number} endWidth - Specifies the endWidth.
 * @param {Range} range - Specifies the range.
 * @param {Axis} axis - Specifies the axis.
 * @returns {string} - Returns the string.
 * @private
 */
export  function getPathArc(center: GaugeLocation, start: number, end: number, radius: number, startWidth?: number, endWidth?: number, range?: Range, axis?: Axis): string;
/**
 * Function to get the range path arc direction of the circular gauge.
 *
 * @param {GaugeLocation} start - Specifies the start.
 * @param {GaugeLocation} end - Specifies the end.
 * @param {number} radius - Specifies the radius.
 * @param {number} arcStartOne - Specifies the arcStartOne.
 * @param {number} arcEndOne - Specifies the arcEndOne.
 * @param {number} arcStartTwo - Specifies the arcStartTwo.
 * @param {number} arcEndTwo - Specifies the arcEndTwo.
 * @param {number} clockWise - Specifies the clockWise.
 * @param {GaugeLocation} innerStart - Specifies the innerStart.
 * @param {GaugeLocation} innerEnd - Specifies the innerEnd.
 * @param {GaugeLocation} pointPosition - Specifies the pointPosition.
 * @returns {string} - Returns the string.
 * @private
 */
export  function arcPath(start: GaugeLocation, end: GaugeLocation, radius: number, arcStartOne: number, arcEndOne: number, arcStartTwo: number, arcEndTwo: number, clockWise: number, innerStart: GaugeLocation, innerEnd: GaugeLocation, pointPosition: GaugeLocation): string;
/**
 * Function to get the range path arc direction of the circular gauge.
 *
 * @param {GaugeLocation} start - Specifies the start.
 * @param {GaugeLocation} end - Specifies the end.
 * @param {number} radius - Specifies the radius.
 * @param {GaugeLocation} outerOldEnd - Specifies the outerOldEnd.
 * @param {GaugeLocation} innerOldEnd - Specifies the innerOldEnd.
 * @param {number} arcStartOne - Specifies the arcStartOne.
 * @param {number} arcEndOne - Specifies the arcEndOne.
 * @param {number} arcStartTwo - Specifies the arcStartTwo.
 * @param {number} arcEndTwo - Specifies the arcEndTwo.
 * @param {number} clockWise - Specifies the clockWise.
 * @param {GaugeLocation} innerStart - Specifies the innerStart.
 * @param {GaugeLocation} innerEnd - Specifies the innerEnd.
 * @param {GaugeLocation} innerOldStart - Specifies the innerOldStart.
 * @param {GaugeLocation} outerOldStart - Specifies the outerOldStart.
 * @param {GaugeLocation} pointPosition - Specifies the pointPosition.
 * @returns {string} - Returns the string.
 * @private
 */
export  function arcRoundedPath(start: GaugeLocation, end: GaugeLocation, radius: number, outerOldEnd: GaugeLocation, innerOldEnd: GaugeLocation, arcStartOne: number, arcEndOne: number, arcStartTwo: number, arcEndTwo: number, clockWise: number, innerStart: GaugeLocation, innerEnd: GaugeLocation, innerOldStart: GaugeLocation, outerOldStart: GaugeLocation, pointPosition: GaugeLocation): string;
/**
 * Function to get the range path direction for different start and end width of the circular gauge.
 *
 * @param {GaugeLocation} start - Specifies the options.
 * @param {GaugeLocation} end - Specifies the end.
 * @param {GaugeLocation} innerStart - Specifies the innerStart.
 * @param {GaugeLocation} innerEnd - Specifies the innerEnd.
 * @param {number} radius - Specifies the radius.
 * @param {number} startRadius - Specifies the startRadius.
 * @param {number} endRadius - Specifies the endRadius.
 * @param {number} clockWise - Specifies the clockWise.
 * @returns {string} - Returns the string.
 * @private
 */
export  function arcWidthPath(start: GaugeLocation, end: GaugeLocation, innerStart: GaugeLocation, innerEnd: GaugeLocation, radius: number, startRadius: number, endRadius: number, clockWise: number): string;
/**
 * Function to get the range path direction of the circular gauge.
 *
 * @param {GaugeLocation} start - Specifies the start values.
 * @param {GaugeLocation} end - Specifies the end values.
 * @param {GaugeLocation} innerStart - Specifies the innerStart values.
 * @param {GaugeLocation} innerEnd - Specifies the innerEnd values.
 * @param {number} radius - Specifies the radius value.
 * @param {number} startRadius - Specifies the startRadius value.
 * @param {number} endRadius - Specifies the endRadius value.
 * @param {number} arcRadius - Specifies the arcRadius value.
 * @param {number} clockWise - Specifies the clockWise value.
 * @param {GaugeLocation} center - Specifies the center value.
 * @param {number} degree - Specifies the degree value.
 * @param {Range} range - Specifies the range value.
 * @param {Axis} axis - Specifies the axis value.
 * @returns {string} - Returns the string value.
 * @private
 */
export  function getRangePath(start: GaugeLocation, end: GaugeLocation, innerStart: GaugeLocation, innerEnd: GaugeLocation, radius: number, startRadius: number, endRadius: number, arcRadius: number, clockWise: number, center: GaugeLocation, degree: number, range?: Range, axis?: Axis): string;
/**
 * Function to get start and end width range path calculation to the circular gauge.
 *
 * @param {GaugeLocation} start - Specifies the start value.
 * @param {GaugeLocation} end - Specifies the end value.
 * @param {GaugeLocation} innerStart - Specifies the innerStart value.
 * @param {GaugeLocation} innerEnd - Specifies the innerEnd value.
 * @param {number} radius - Specifies the radius value.
 * @param {number} startRadius - Specifies the startRadius value.
 * @param {number} endRadius - Specifies the endRadius value.
 * @param {number} arcRadius - Specifies the arcRadius value.
 * @param {number} clockWise - Specifies the clockWise value.
 * @param {GaugeLocation} center - Specifies the center value.
 * @param {GaugeLocation} outerOldEnd - Specifies the outerOldEnd value.
 * @param {GaugeLocation} innerOldEnd - Specifies the innerOldEnd value.
 * @param {GaugeLocation} outerOldStart - Specifies the outerOldStart value.
 * @param {GaugeLocation} innerOldStart - Specifies the innerOldStart value.
 * @param {number} startWidth - Specifies the startWidth value.
 * @param {number} endWidth - Specifies the endWidth value.
 * @param {number} degree - Specifies the degree value.
 * @param {Range} range - Specifies the range value.
 * @param {Axis} axis - Specifies the axis value.
 * @returns {string} - Returns the svg path.
 * @private
 */
export  function arcWidthPathCalculation(start: GaugeLocation, end: GaugeLocation, innerStart: GaugeLocation, innerEnd: GaugeLocation, radius: number, startRadius: number, endRadius: number, arcRadius: number, clockWise: number, center: GaugeLocation, outerOldEnd: GaugeLocation, innerOldEnd: GaugeLocation, outerOldStart: GaugeLocation, innerOldStart: GaugeLocation, startWidth: number, endWidth: number, degree: number, range?: Range, axis?: Axis): string;
/**
 * Function to get start and end width range rounded path calculation to the circular gauge.
 *
 * @param {GaugeLocation} start - Specifies the start value.
 * @param {GaugeLocation} end - Specifies the end value.
 * @param {GaugeLocation} innerStart - Specifies the innerStart value.
 * @param {GaugeLocation} innerEnd - Specifies the innerEnd value.
 * @param {number} radius - Specifies the radius value.
 * @param {number} startRadius - Specifies the startRadius value.
 * @param {number} endRadius - Specifies the endRadius value.
 * @param {number} clockWise - Specifies the clockWise value.
 * @param {GaugeLocation} outerOldEnd - Specifies the outerOldEnd value.
 * @param {GaugeLocation} innerOldEnd - Specifies the innerOldEnd value.
 * @param {GaugeLocation} outerOldStart - Specifies the outerOldStart value.
 * @param {GaugeLocation} innerOldStart - Specifies the innerOldStart value.
 * @returns {string} - Returns the path value.
 * @private
 */
export  function roundedArcWidthPathCalculation(start: GaugeLocation, end: GaugeLocation, innerStart: GaugeLocation, innerEnd: GaugeLocation, radius: number, startRadius: number, endRadius: number, clockWise: number, outerOldEnd: GaugeLocation, innerOldEnd: GaugeLocation, outerOldStart: GaugeLocation, innerOldStart: GaugeLocation): string;
/**
 * Function to get the rounded path direction of the circular gauge.
 *
 * @param {GaugeLocation} center - Specifies the center value.
 * @param {number} actualStart - Specifies the actualStart value.
 * @param {number} actualEnd - Specifies the actualEnd value.
 * @param {number} oldStart - Specifies the oldStart value.
 * @param {number} oldEnd - Specifies the oldEnd value.
 * @param {number} radius - Specifies the radius value.
 * @param {number} startWidth - Specifies the startWidth value.
 * @param {number} endWidth - Specifies the endWidth value.
 * @param {Range} range - Specifies the range value.
 * @param {Axis} axis - Specifies the axis value.
 * @returns {string} - Returns the path value.
 * @private
 */
export  function getRoundedPathArc(center: GaugeLocation, actualStart: number, actualEnd: number, oldStart: number, oldEnd: number, radius: number, startWidth?: number, endWidth?: number, range?: Range, axis?: Axis): string;
/**
 * Function to get the circular path direction of the circular gauge.
 *
 * @param {GaugeLocation} start - Specifies the start value.
 * @param {GaugeLocation} end - Specifies the end value.
 * @param {number} radius - Specifies the radius value.
 * @param {number} clockWise - Specifies the clockWise.
 * @returns {string} - Returns the path.
 * @private
 */
export  function getCirclePath(start: GaugeLocation, end: GaugeLocation, radius: number, clockWise: number): string;
/**
 * Function to compile the template function for circular gauge.
 *
 * @param {string} template - Specifies the template.
 * @param {CircularGauge} gauge - Specifies the gauge instance.
 * @returns {Function} - Returns the template function.
 * @private
 */
export  function getTemplateFunction(template: string, gauge: CircularGauge): any;
/**
 * Function to remove the element from id.
 *
 * @param {string} id Specifies the id
 * @returns {void}
 * @private
 */
export  function removeElement(id: string): void;
/**
 * Function to get element from id.
 *
 * @param {string} id - Specifies the id.
 * @returns {Element} - Returns the element.
 * @private
 */
export  function getElement(id: string): Element;
/**
 * Function to convert the number from string.
 *
 * @param {string} value - Specifies the value.
 * @param {number} containerSize - Specifies the container size.
 * @returns {number} - Returns the number.
 * @private
 */
export  function stringToNumber(value: string, containerSize: number): number;
/**
 * Function to get current point for circular gauge using element id.
 *
 * @param {string} targetId - Specifies the target id.
 * @param {CircularGauge} gauge - Specifies the gauge instance.
 * @returns {IVisiblePointer} - Returns the pointer and axis index.
 * @private
 */
export  function getPointer(targetId: string, gauge: CircularGauge): IVisiblePointer;
/**
 * Function to convert the label using format for cirular gauge.
 *
 * @param {string} format - Specifies the format.
 * @returns {string} - Returns th string.
 * @private
 */
export  function getLabelFormat(format: string): string;
/**
 * Function to calculate the marker shape for circular gauge.
 *
 * @param {GaugeLocation} location - Specifies the location.
 * @param {string} shape - Specifies the shape.
 * @param {Size} size - Specifies the size.
 * @param {string} url - Specifies the url.
 * @param {PathOption} options - Specifies the path option.
 * @returns {PathOption} - Returns the path.
 * @private
 */
export  function calculateShapes(location: GaugeLocation, shape: string, size: Size, url: string, options: PathOption): PathOption;
/** @private */
export  class CustomizeOption {
    id: string;
    constructor(id?: string);
}
/** @private */
export  class PathOption extends CustomizeOption {
    opacity: number;
    fill: string;
    stroke: string;
    ['stroke-width']: number;
    ['stroke-dasharray']: string;
    d: string;
    transform: string;
    style: string;
    constructor(id: string, fill: string, width: number, color: string, opacity?: number, dashArray?: string, d?: string, transform?: string, style?: string);
}
/** @private */
export  class RectOption extends CustomizeOption {
    x: number;
    y: number;
    height: number;
    width: number;
    opacity: number;
    fill: string;
    stroke: string;
    ['stroke-width']: number;
    ['stroke-dasharray']: string;
    constructor(id: string, fill: string, border: BorderModel, opacity: number, rect: Rect);
}
/**
 * Internal class size
 */
export  class Size {
    /**
     * Specifies the height.
     */
    height: number;
    /**
     * Specifies the width.
     */
    width: number;
    constructor(width: number, height: number);
}
/**
 * Internal use of circular gauge location
 */
export  class GaugeLocation {
    /**
     * To specify x value
     */
    x: number;
    /**
     * To specify y value
     */
    y: number;
    constructor(x: number, y: number);
}
/** @private */
export  class Rect {
    x: number;
    y: number;
    height: number;
    width: number;
    constructor(x: number, y: number, width: number, height: number);
}
/** @private */
export  class TextOption extends CustomizeOption {
    anchor: string;
    text: string;
    transform: string;
    x: number;
    y: number;
    baseLine: string;
    constructor(id?: string, x?: number, y?: number, anchor?: string, text?: string, transform?: string, baseLine?: string);
}
/** @private */
export  class VisibleLabels {
    text: string;
    value: number;
    size: Size;
    constructor(text: string, value: number, size?: Size);
}
//node_modules/@syncfusion/ej2-circulargauge/src/circular-gauge/utils/helper-legend.d.ts
/**
 * Specifies Circular-Gauge Common Helper methods
 */
/**
 * @param {number} maxWidth - Specifies the maximum width.
 * @param {string} text - Specifies the text.
 * @param {FontModel} font - Specifies the font.
 * @returns {string} - Returns the label.
 * @private */
export  function textTrim(maxWidth: number, text: string, font: FontModel): string;
/**
 * @param {string} text - Specifies the text.
 * @param {number} x - Specifies the x value.
 * @param {number} y - Specifies the y value.
 * @param {number} areaWidth - Specifies the area width.
 * @param {string} id - Specifies the id.
 * @param {Element} element - Specifies the element.
 * @returns {void}
 * @private */
export  function showTooltip(text: string, x: number, y: number, areaWidth: number, id: string, element: Element): void;
//node_modules/@syncfusion/ej2-circulargauge/src/circular-gauge/utils/helper-pointer-renderer.d.ts
/**
 * Specifies Circular-Gauge pointer-render Helper methods
 */
/**
 * Function to calculate the value for linear animation effect
 *
 * @param {number} currentTime - Specifies the currentTime.
 * @param {number} startValue - Specifies the startValue.
 * @param {number} endValue - Specifies the endValue.
 * @param {number} duration - Specifies the duration.
 * @returns {number} - Returns the number.
 * @private
 */
export  function linear(currentTime: number, startValue: number, endValue: number, duration: number): number;
/**
 * Function to calculate the complete path arc of the circular gauge.
 *
 * @param {GaugeLocation} center - Specifies the center value.
 * @param {number} start - Specifies the start value.
 * @param {number} end - Specifies the end value.
 * @param {number} radius - Specifies the radius value.
 * @param {number} innerRadius - Specifies the innerRadius value.
 * @param {boolean} checkMinValue - Specifies the checkMinValue value.
 * @returns {string} - Returns the path value.
 * @private
 */
export  function getCompleteArc(center: GaugeLocation, start: number, end: number, radius: number, innerRadius: number, checkMinValue?: boolean): string;
/**
 * Function to get the complete path direction of the circular gauge.
 *
 * @param {GaugeLocation} center - Specifies the center value.
 * @param {GaugeLocation} start - Specifies the start value.
 * @param {GaugeLocation} end - Specifies the end value.
 * @param {number} radius - Specifies the radius value.
 * @param {GaugeLocation} innerStart - Specifies the innerStart value.
 * @param {GaugeLocation} innerEnd - Specifies the innerEnd value.
 * @param {number} innerRadius - Specifies the innerRadius value.
 * @param {number} clockWise - Specifies the clockWise.
 * @returns {string} - Returns the path.
 * @private
 */
export  function getCompletePath(center: GaugeLocation, start: GaugeLocation, end: GaugeLocation, radius: number, innerStart: GaugeLocation, innerEnd: GaugeLocation, innerRadius: number, clockWise: number): string;
//node_modules/@syncfusion/ej2-circulargauge/src/circular-gauge/utils/helper-tooltip.d.ts
/**
 * Specifies Circular-Gauge Tooltip Helper methods
 */
/**
 * Function to get the mouse position
 *
 * @param {number} pageX - Specifies the pageX value.
 * @param {number} pageY - Specifies the pageY value.
 * @param {Element} element - Specifies the element.
 * @returns {GaugeLocation} - Returns the location.
 */
export  function getMousePosition(pageX: number, pageY: number, element: Element): GaugeLocation;
export  function getElementSize(template: string, gauge: CircularGauge, parent: HTMLElement): Size;
//node_modules/@syncfusion/ej2-circulargauge/src/index.d.ts
/**
 * Circular Gauge component exported.
 */
 }
export namespace compression { 

//node_modules/@syncfusion/ej2-compression/src/compression-writer.d.ts
/**
 * represent compression stream writer
 * ```typescript
 * let compressedWriter = new CompressedStreamWriter();
 * let text: string = 'Hello world!!!';
 * compressedWriter.write(text, 0, text.length);
 * compressedWriter.close();
 * ```
 */
export  class CompressedStreamWriter {
    private static isHuffmanTreeInitiated;
    private stream;
    private pendingBuffer;
    private pendingBufLength;
    private pendingBufCache;
    private pendingBufBitsInCache;
    private treeLiteral;
    private treeDistances;
    private treeCodeLengths;
    private bufferPosition;
    private arrLiterals;
    private arrDistances;
    private extraBits;
    private currentHash;
    private hashHead;
    private hashPrevious;
    private matchStart;
    private matchLength;
    private matchPrevAvail;
    private blockStart;
    private stringStart;
    private lookAhead;
    private dataWindow;
    private inputBuffer;
    private totalBytesIn;
    private inputOffset;
    private inputEnd;
    private windowSize;
    private windowMask;
    private hashSize;
    private hashMask;
    private hashShift;
    private maxDist;
    private checkSum;
    private noWrap;
    /**
     * get compressed data
     */
    readonly compressedData: Uint8Array[];
    readonly getCompressedString: string;
    /**
     * Initializes compressor and writes ZLib header if needed.
     * @param {boolean} noWrap - optional if true, ZLib header and checksum will not be written.
     */
    constructor(noWrap?: boolean);
    /**
     * Compresses data and writes it to the stream.
     * @param {Uint8Array} data - data to compress
     * @param {number} offset - offset in data
     * @param {number} length - length of the data
     * @returns {void}
     */
    write(data: Uint8Array | string, offset: number, length: number): void;
    /**
     * write ZLib header to the compressed data
     * @return {void}
     */
    writeZLibHeader(): void;
    /**
     *  Write Most Significant Bytes in to stream
     * @param {number} s - check sum value
     */
    pendingBufferWriteShortBytes(s: number): void;
    private compressData;
    private compressSlow;
    private discardMatch;
    private matchPreviousAvailable;
    private matchPreviousBest;
    private lookAheadCompleted;
    private huffmanIsFull;
    private fillWindow;
    private slideWindow;
    private insertString;
    private findLongestMatch;
    private updateHash;
    private huffmanTallyLit;
    private huffmanTallyDist;
    private huffmanFlushBlock;
    private huffmanFlushStoredBlock;
    private huffmanLengthCode;
    private huffmanDistanceCode;
    private huffmanSendAllTrees;
    private huffmanReset;
    private huffmanCompressBlock;
    /**
     * write bits in to internal buffer
     * @param {number} b - source of bits
     * @param {number} count - count of bits to write
     */
    pendingBufferWriteBits(b: number, count: number): void;
    private pendingBufferFlush;
    private pendingBufferFlushBits;
    private pendingBufferWriteByteBlock;
    private pendingBufferWriteShort;
    private pendingBufferAlignToByte;
    /**
     * Huffman Tree literal calculation
     * @private
     */
    static initHuffmanTree(): void;
    /**
     * close the stream and write all pending buffer in to stream
     * @returns {void}
     */
    close(): void;
    /**
     * release allocated un-managed resource
     * @returns {void}
     */
    destroy(): void;
}
/**
 * represent the Huffman Tree
 */
export  class CompressorHuffmanTree {
    private codeFrequency;
    private codes;
    private codeLength;
    private lengthCount;
    private codeMinCount;
    private codeCount;
    private maxLength;
    private writer;
    private static reverseBits;
    static huffCodeLengthOrders: number[];
    readonly treeLength: number;
    readonly codeLengths: Uint8Array;
    readonly codeFrequencies: Uint16Array;
    /**
     * Create new Huffman Tree
     * @param {CompressedStreamWriter} writer instance
     * @param {number} elementCount - element count
     * @param {number} minCodes - minimum count
     * @param {number} maxLength - maximum count
     */
    constructor(writer: CompressedStreamWriter, elementCount: number, minCodes: number, maxLength: number);
    setStaticCodes(codes: Int16Array, lengths: Uint8Array): void;
    /**
     * reset all code data in tree
     * @returns {void}
     */
    reset(): void;
    /**
     * write code to the compressor output stream
     * @param {number} code - code to be written
     * @returns {void}
     */
    writeCodeToStream(code: number): void;
    /**
     * calculate code from their frequencies
     * @returns {void}
     */
    buildCodes(): void;
    static bitReverse(value: number): number;
    /**
     * calculate length of compressed data
     * @returns {number}
     */
    getEncodedLength(): number;
    /**
     * calculate code frequencies
     * @param {CompressorHuffmanTree} blTree
     * @returns {void}
     */
    calculateBLFreq(blTree: CompressorHuffmanTree): void;
    /**
     * @param {CompressorHuffmanTree} blTree - write tree to output stream
     * @returns {void}
     */
    writeTree(blTree: CompressorHuffmanTree): void;
    /**
     * Build huffman tree
     * @returns {void}
     */
    buildTree(): void;
    private constructHuffmanTree;
    private buildLength;
    private recreateTree;
    private calculateOptimalCodeLength;
}
/**
 * Checksum calculator, based on Adler32 algorithm.
 */
export  class ChecksumCalculator {
    private static checkSumBitOffset;
    private static checksumBase;
    private static checksumIterationCount;
    /**
     * Updates checksum by calculating checksum of the
     * given buffer and adding it to current value.
     * @param {number} checksum - current checksum.
     * @param {Uint8Array} buffer - data byte array.
     * @param {number} offset - offset in the buffer.
     * @param {number} length - length of data to be used from the stream.
     * @returns {number}
     */
    static checksumUpdate(checksum: number, buffer: Uint8Array, offset: number, length: number): number;
}
//node_modules/@syncfusion/ej2-compression/src/index.d.ts
/**
 * export ZipArchive class
 */
//node_modules/@syncfusion/ej2-compression/src/zip-archive.d.ts
/**
 * class provide compression library
 * ```typescript
 * let archive = new ZipArchive();
 * archive.compressionLevel = 'Normal';
 * let archiveItem = new ZipArchiveItem(archive, 'directoryName\fileName.txt');
 * archive.addItem(archiveItem);
 * archive.save(fileName.zip);
 * ```
 */
export  class ZipArchive {
    private files;
    private level;
    /**
     * gets compression level
     */
    /**
    * sets compression level
    */
    compressionLevel: CompressionLevel;
    /**
     * gets items count
     */
    readonly length: number;
    /**
     * constructor for creating ZipArchive instance
     */
    constructor();
    /**
     * add new item to archive
     * @param {ZipArchiveItem} item - item to be added
     * @returns {void}
     */
    addItem(item: ZipArchiveItem): void;
    /**
     * add new directory to archive
     * @param directoryName directoryName to be created
     * @returns {void}
     */
    addDirectory(directoryName: string): void;
    /**
     * gets item at specified index
     * @param {number} index - item index
     * @returns {ZipArchiveItem}
     */
    getItem(index: number): ZipArchiveItem;
    /**
     * determines whether an element is in the collection
     * @param {string | ZipArchiveItem} item - item to search
     * @returns {boolean}
     */
    contains(item: string | ZipArchiveItem): boolean;
    /**
     * save archive with specified file name
     * @param {string} fileName save archive with specified file name
     * @returns {Promise<ZipArchive>}
     */
    save(fileName: string): Promise<ZipArchive>;
    /**
     * Save archive as blob
     * @return {Promise<Blob>}
     */
    saveAsBlob(): Promise<Blob>;
    private saveInternal;
    /**
     * release allocated un-managed resource
     * @returns {void}
     */
    destroy(): void;
    private getCompressedData;
    private compressData;
    private constructZippedObject;
    private writeHeader;
    private writeZippedContent;
    private writeCentralDirectory;
    private writeFooter;
    private getArrayBuffer;
    private getBytes;
    private getModifiedTime;
    private getModifiedDate;
    private calculateCrc32Value;
    /**
     * construct cyclic redundancy code table
     * @private
     */
    static initCrc32Table(): void;
}
/**
 * Class represent unique ZipArchive item
 * ```typescript
 * let archiveItem = new ZipArchiveItem(archive, 'directoryName\fileName.txt');
 * ```
 */
export  class ZipArchiveItem {
    data: Blob | ArrayBuffer;
    private fileName;
    /**
     * Get the name of archive item
     * @returns string
     */
    /**
    * Set the name of archive item
    * @param  {string} value
    */
    name: string;
    /**
     * constructor for creating {ZipArchiveItem} instance
     * @param {Blob|ArrayBuffer} data file data
     * @param {itemName} itemName absolute file path
     */
    constructor(data: Blob | ArrayBuffer, itemName: string);
    /**
     * release allocated un-managed resource
     * @returns {void}
     */
    destroy(): void;
}
export interface CompressedData {
    fileName: string;
    compressedData: Uint8Array[] | string;
    uncompressedDataSize: number;
    compressedSize: number;
    crc32Value: number;
    compressionType: string;
    isDirectory: boolean;
}
export interface ZippedObject {
    localHeader: string;
    centralDir: string;
    compressedData: CompressedData;
}
/**
 * Compression level.
 */
export  type CompressionLevel = 'NoCompression' | 'Normal';
 }
export namespace data { 

//node_modules/@syncfusion/ej2-data/src/adaptors.d.ts
/**
 * Adaptors are specific data source type aware interfaces that are used by DataManager to communicate with DataSource.
 * This is the base adaptor class that other adaptors can extend.
 * @hidden
 */
export  class Adaptor {
    /**
     * Specifies the datasource option.
     * @default null
     */
    dataSource: DataOptions;
    updateType: string;
    updateKey: string;
    /**
     * It contains the datamanager operations list like group, searches, etc.,
     * @default null
     * @hidden
     */
    pvt: PvtOptions;
    /**
     * Constructor for Adaptor class
     * @param  {DataOptions} ds?
     * @hidden
     * @returns aggregates
     */
    constructor(ds?: DataOptions);
    protected options: RemoteOptions;
    /**
     * Returns the data from the query processing.
     * @param  {Object} data
     * @param  {DataOptions} ds?
     * @param  {Query} query?
     * @param  {XMLHttpRequest} xhr?
     * @returns Object
     */
    processResponse(data: Object, ds?: DataOptions, query?: Query, xhr?: XMLHttpRequest): Object;
    /**
     * Specifies the type of adaptor.
     * @default Adaptor
     */
    type: Object;
}
/**
 * JsonAdaptor is used to process JSON data. It contains methods to process the given JSON data based on the queries.
 * @hidden
 */
export  class JsonAdaptor extends Adaptor {
    /**
     * Process the JSON data based on the provided queries.
     * @param  {DataManager} dataManager
     * @param  {Query} query
     * @returns Object
     */
    processQuery(dataManager: DataManager, query: Query): Object;
    /**
     * Perform lazy load grouping in JSON array based on the given query and lazy load details.
     * @param  {LazyLoadGroupArgs} args
     */
    lazyLoadGroup(args: LazyLoadGroupArgs): {
        result: Object[];
        count: number;
    };
    private formGroupResult;
    /**
     * Separate the aggregate query from the given queries
     * @param  {Query} query
     */
    getAggregate(query: Query): Object[];
    /**
     * Performs batch update in the JSON array which add, remove and update records.
     * @param  {DataManager} dm
     * @param  {CrudOptions} changes
     * @param  {RemoteArgs} e
     */
    batchRequest(dm: DataManager, changes: CrudOptions, e: RemoteArgs): CrudOptions;
    /**
     * Performs filter operation with the given data and where query.
     * @param  {Object[]} ds
     * @param  {{validate:Function}} e
     */
    onWhere(ds: Object[], e: {
        validate: Function;
    }): Object[];
    /**
     * Returns aggregate function based on the aggregate type.
     * @param  {Object[]} ds
     * @param  {{field:string} e
     * @param  {string}} type
     */
    onAggregates(ds: Object[], e: {
        field: string;
        type: string;
    }): Function;
    /**
     * Performs search operation based on the given query.
     * @param  {Object[]} ds
     * @param  {QueryOptions} e
     */
    onSearch(ds: Object[], e: QueryOptions): Object[];
    /**
     * Sort the data with given direction and field.
     * @param  {Object[]} ds
     * @param  {{comparer:(a:Object} e
     * @param  {Object} b
     */
    onSortBy(ds: Object[], e: {
        comparer: (a: Object, b: Object) => number;
        fieldName: string;
    }, query: Query): Object[];
    /**
     * Group the data based on the given query.
     * @param  {Object[]} ds
     * @param  {QueryOptions} e
     * @param  {Query} query
     */
    onGroup(ds: Object[], e: QueryOptions, query: Query): Object[];
    /**
     * Retrieves records based on the given page index and size.
     * @param  {Object[]} ds
     * @param  {{pageSize:number} e
     * @param  {number}} pageIndex
     * @param  {Query} query
     */
    onPage(ds: Object[], e: {
        pageSize: number;
        pageIndex: number;
    }, query: Query): Object[];
    /**
     * Retrieves records based on the given start and end index from query.
     * @param  {Object[]} ds
     * @param  {{start:number} e
     * @param  {number}} end
     */
    onRange(ds: Object[], e: {
        start: number;
        end: number;
    }): Object[];
    /**
     * Picks the given count of records from the top of the datasource.
     * @param  {Object[]} ds
     * @param  {{nos:number}} e
     */
    onTake(ds: Object[], e: {
        nos: number;
    }): Object[];
    /**
     * Skips the given count of records from the data source.
     * @param  {Object[]} ds
     * @param  {{nos:number}} e
     */
    onSkip(ds: Object[], e: {
        nos: number;
    }): Object[];
    /**
     * Selects specified columns from the data source.
     * @param  {Object[]} ds
     * @param  {{fieldNames:string}} e
     */
    onSelect(ds: Object[], e: {
        fieldNames: string[] | Function;
    }): Object[];
    /**
     * Inserts new record in the table.
     * @param  {DataManager} dm
     * @param  {Object} data
     * @param  {number} position
     */
    insert(dm: DataManager, data: Object, tableName?: string, query?: Query, position?: number): Object;
    /**
     * Remove the data from the dataSource based on the key field value.
     * @param  {DataManager} dm
     * @param  {string} keyField
     * @param  {Object} value
     * @param  {string} tableName?
     * @returns null
     */
    remove(dm: DataManager, keyField: string, value: Object, tableName?: string): Object;
    /**
     * Updates existing record and saves the changes to the table.
     * @param  {DataManager} dm
     * @param  {string} keyField
     * @param  {Object} value
     * @param  {string} tableName?
     * @returns null
     */
    update(dm: DataManager, keyField: string, value: Object, tableName?: string): void;
}
/**
 * URL Adaptor of DataManager can be used when you are required to use remote service to retrieve data.
 * It interacts with server-side for all DataManager Queries and CRUD operations.
 * @hidden
 */
export  class UrlAdaptor extends Adaptor {
    /**
     * Process the query to generate request body.
     * @param  {DataManager} dm
     * @param  {Query} query
     * @param  {Object[]} hierarchyFilters?
     * @returns p
     */
    processQuery(dm: DataManager, query: Query, hierarchyFilters?: Object[]): Object;
    private getRequestQuery;
    /**
     * Convert the object from processQuery to string which can be added query string.
     * @param  {Object} req
     * @param  {Query} query
     * @param  {DataManager} dm
     */
    convertToQueryString(request: Object, query: Query, dm: DataManager): string;
    /**
     * Return the data from the data manager processing.
     * @param  {DataResult} data
     * @param  {DataOptions} ds?
     * @param  {Query} query?
     * @param  {XMLHttpRequest} xhr?
     * @param  {Object} request?
     * @param  {CrudOptions} changes?
     */
    processResponse(data: DataResult, ds?: DataOptions, query?: Query, xhr?: XMLHttpRequest, request?: Object, changes?: CrudOptions): DataResult;
    protected formRemoteGroupedData(data: Group[], level: number, childLevel: number): Group[];
    private getGroupedRecords;
    /**
     * Add the group query to the adaptor`s option.
     * @param  {Object[]} e
     * @returns void
     */
    onGroup(e: QueryOptions[]): QueryOptions[];
    /**
     * Add the aggregate query to the adaptor`s option.
     * @param  {Aggregates[]} e
     * @returns void
     */
    onAggregates(e: Aggregates[]): void;
    /**
     * Prepare the request body based on the newly added, removed and updated records.
     * The result is used by the batch request.
     * @param  {DataManager} dm
     * @param  {CrudOptions} changes
     * @param  {Object} e
     */
    batchRequest(dm: DataManager, changes: CrudOptions, e: Object, query: Query, original?: Object): Object;
    /**
     * Method will trigger before send the request to server side.
     * Used to set the custom header or modify the request options.
     * @param  {DataManager} dm
     * @param  {XMLHttpRequest} request
     * @returns void
     */
    beforeSend(dm: DataManager, request: XMLHttpRequest): void;
    /**
     * Prepare and returns request body which is used to insert a new record in the table.
     * @param  {DataManager} dm
     * @param  {Object} data
     * @param  {string} tableName
     */
    insert(dm: DataManager, data: Object, tableName: string, query: Query): Object;
    /**
     * Prepare and return request body which is used to remove record from the table.
     * @param  {DataManager} dm
     * @param  {string} keyField
     * @param  {number|string} value
     * @param  {string} tableName
     */
    remove(dm: DataManager, keyField: string, value: number | string, tableName: string, query: Query): Object;
    /**
     * Prepare and return request body which is used to update record.
     * @param  {DataManager} dm
     * @param  {string} keyField
     * @param  {Object} value
     * @param  {string} tableName
     */
    update(dm: DataManager, keyField: string, value: Object, tableName: string, query: Query): Object;
    /**
     * To generate the predicate based on the filtered query.
     * @param  {Object[]|string[]|number[]} data
     * @param  {Query} query
     * @hidden
     */
    getFiltersFrom(data: Object[] | string[] | number[], query: Query): Predicate;
    protected getAggregateResult(pvt: PvtOptions, data: DataResult, args: DataResult, groupDs?: Object[], query?: Query): DataResult;
    protected getQueryRequest(query: Query): Requests;
    addParams(options: {
        dm: DataManager;
        query: Query;
        params: ParamOption[];
        reqParams: {
            [key: string]: Object;
        };
    }): void;
}
/**
 * OData Adaptor that is extended from URL Adaptor, is used for consuming data through OData Service.
 * @hidden
 */
export  class ODataAdaptor extends UrlAdaptor {
    protected getModuleName(): string;
    /**
     * Specifies the root url of the provided odata url.
     * @hidden
     * @default null
     */
    rootUrl: string;
    /**
     * Specifies the resource name of the provided odata table.
     * @hidden
     * @default null
     */
    resourceTableName: string;
    protected options: RemoteOptions;
    constructor(props?: RemoteOptions);
    /**
     * Generate request string based on the filter criteria from query.
     * @param  {Predicate} pred
     * @param  {boolean} requiresCast?
     */
    onPredicate(predicate: Predicate, query: Query | boolean, requiresCast?: boolean): string;
    addParams(options: {
        dm: DataManager;
        query: Query;
        params: ParamOption[];
        reqParams: {
            [key: string]: Object;
        };
    }): void;
    /**
     * Generate request string based on the multiple filter criteria from query.
     * @param  {Predicate} pred
     * @param  {boolean} requiresCast?
     */
    onComplexPredicate(predicate: Predicate, query: Query, requiresCast?: boolean): string;
    /**
     * Generate query string based on the multiple filter criteria from query.
     * @param  {Predicate} filter
     * @param  {boolean} requiresCast?
     */
    onEachWhere(filter: Predicate, query: Query, requiresCast?: boolean): string;
    /**
     * Generate query string based on the multiple filter criteria from query.
     * @param  {string[]} filters
     */
    onWhere(filters: string[]): string;
    /**
     * Generate query string based on the multiple search criteria from query.
     * @param  {{fields:string[]} e
     * @param  {string} operator
     * @param  {string} key
     * @param  {boolean}} ignoreCase
     */
    onEachSearch(e: {
        fields: string[];
        operator: string;
        key: string;
        ignoreCase: boolean;
    }): void;
    /**
     * Generate query string based on the search criteria from query.
     * @param  {Object} e
     */
    onSearch(e: Object): string;
    /**
     * Generate query string based on multiple sort criteria from query.
     * @param  {QueryOptions} e
     */
    onEachSort(e: QueryOptions): string;
    /**
     * Returns sort query string.
     * @param  {string[]} e
     */
    onSortBy(e: string[]): string;
    /**
     * Adds the group query to the adaptor option.
     * @param  {Object[]} e
     * @returns string
     */
    onGroup(e: QueryOptions[]): QueryOptions[];
    /**
     * Returns the select query string.
     * @param  {string[]} e
     */
    onSelect(e: string[]): string;
    /**
     * Add the aggregate query to the adaptor option.
     * @param  {Object[]} e
     * @returns string
     */
    onAggregates(e: Object[]): string;
    /**
     * Returns the query string which requests total count from the data source.
     * @param  {boolean} e
     * @returns string
     */
    onCount(e: boolean): string;
    /**
     * Method will trigger before send the request to server side.
     * Used to set the custom header or modify the request options.
     * @param  {DataManager} dm
     * @param  {XMLHttpRequest} request
     * @param  {base.Ajax} settings?
     */
    beforeSend(dm: DataManager, request: XMLHttpRequest, settings?: base.Ajax): void;
    /**
     * Returns the data from the query processing.
     * @param  {DataResult} data
     * @param  {DataOptions} ds?
     * @param  {Query} query?
     * @param  {XMLHttpRequest} xhr?
     * @param  {base.Ajax} request?
     * @param  {CrudOptions} changes?
     * @returns aggregateResult
     */
    processResponse(data: DataResult, ds?: DataOptions, query?: Query, xhr?: XMLHttpRequest, request?: base.Ajax, changes?: CrudOptions): Object;
    /**
     * Converts the request object to query string.
     * @param  {Object} req
     * @param  {Query} query
     * @param  {DataManager} dm
     * @returns tableName
     */
    convertToQueryString(request: Object, query: Query, dm: DataManager): string;
    private localTimeReplacer;
    /**
     * Prepare and returns request body which is used to insert a new record in the table.
     * @param  {DataManager} dm
     * @param  {Object} data
     * @param  {string} tableName?
     */
    insert(dm: DataManager, data: Object, tableName?: string): Object;
    /**
     * Prepare and return request body which is used to remove record from the table.
     * @param  {DataManager} dm
     * @param  {string} keyField
     * @param  {number} value
     * @param  {string} tableName?
     */
    remove(dm: DataManager, keyField: string, value: number, tableName?: string): Object;
    /**
     * Updates existing record and saves the changes to the table.
     * @param  {DataManager} dm
     * @param  {string} keyField
     * @param  {Object} value
     * @param  {string} tableName?
     * @returns this
     */
    update(dm: DataManager, keyField: string, value: Object, tableName?: string, query?: Query, original?: Object): Object;
    /**
     * Prepare the request body based on the newly added, removed and updated records.
     * The result is used by the batch request.
     * @param  {DataManager} dm
     * @param  {CrudOptions} changes
     * @param  {RemoteArgs} e
     * @returns {Object}
     */
    batchRequest(dm: DataManager, changes: CrudOptions, e: RemoteArgs, query: Query, original?: CrudOptions): Object;
    /**
     * Generate the string content from the removed records.
     * The result will be send during batch update.
     * @param  {Object[]} arr
     * @param  {RemoteArgs} e
     * @returns this
     */
    generateDeleteRequest(arr: Object[], e: RemoteArgs, dm: DataManager): string;
    /**
     * Generate the string content from the inserted records.
     * The result will be send during batch update.
     * @param  {Object[]} arr
     * @param  {RemoteArgs} e
     */
    generateInsertRequest(arr: Object[], e: RemoteArgs, dm: DataManager): string;
    /**
     * Generate the string content from the updated records.
     * The result will be send during batch update.
     * @param  {Object[]} arr
     * @param  {RemoteArgs} e
     */
    generateUpdateRequest(arr: Object[], e: RemoteArgs, dm: DataManager, org?: Object[]): string;
    protected static getField(prop: string): string;
    private generateBodyContent;
    protected processBatchResponse(data: DataResult, query?: Query, xhr?: XMLHttpRequest, request?: base.Ajax, changes?: CrudOptions): CrudOptions | DataResult;
    compareAndRemove(data: Object, original: Object, key?: string): Object;
}
/**
 * The OData v4 is an improved version of OData protocols.
 * The DataManager uses the ODataV4Adaptor to consume OData v4 services.
 * @hidden
 */
export  class ODataV4Adaptor extends ODataAdaptor {
    /**
     * @hidden
     */
    protected getModuleName(): string;
    protected options: RemoteOptions;
    constructor(props?: RemoteOptions);
    /**
     * Returns the query string which requests total count from the data source.
     * @param  {boolean} e
     * @returns string
     */
    onCount(e: boolean): string;
    /**
     * Generate request string based on the filter criteria from query.
     * @param  {Predicate} pred
     * @param  {boolean} requiresCast?
     */
    onPredicate(predicate: Predicate, query: Query | boolean, requiresCast?: boolean): string;
    /**
     *  Generate query string based on the multiple search criteria from query.
     * @param  {{fields:string[]} e
     * @param  {string} operator
     * @param  {string} key
     * @param  {boolean}} ignoreCase
     */
    onEachSearch(e: {
        fields: string[];
        operator: string;
        key: string;
        ignoreCase: boolean;
    }): void;
    /**
     *  Generate query string based on the search criteria from query.
     * @param  {Object} e
     */
    onSearch(e: Object): string;
    /**
     * Returns the expand query string.
     * @param  {string} e
     */
    onExpand(e: {
        selects: string[];
        expands: string[];
    }): string;
    private expandQueryIndex;
    /**
     * Returns the groupby query string.
     * @param  {string} e
     */
    onDistinct(distinctFields: string[]): Object;
    /**
     * Returns the select query string.
     * @param  {string[]} e
     */
    onSelect(e: string[]): string;
    /**
     * Method will trigger before send the request to server side.
     * Used to set the custom header or modify the request options.
     * @param  {DataManager} dm
     * @param  {XMLHttpRequest} request
     * @param  {base.Ajax} settings
     * @returns void
     */
    beforeSend(dm: DataManager, request: XMLHttpRequest, settings: base.Ajax): void;
    /**
     * Returns the data from the query processing.
     * @param  {DataResult} data
     * @param  {DataOptions} ds?
     * @param  {Query} query?
     * @param  {XMLHttpRequest} xhr?
     * @param  {base.Ajax} request?
     * @param  {CrudOptions} changes?
     * @returns aggregateResult
     */
    processResponse(data: DataResult, ds?: DataOptions, query?: Query, xhr?: XMLHttpRequest, request?: base.Ajax, changes?: CrudOptions): Object;
}
/**
 * The Web API is a programmatic interface to define the request and response messages system that is mostly exposed in JSON or XML.
 * The DataManager uses the WebApiAdaptor to consume Web API.
 * Since this adaptor is targeted to interact with Web API created using OData endpoint, it is extended from ODataAdaptor
 * @hidden
 */
export  class WebApiAdaptor extends ODataAdaptor {
    protected getModuleName(): string;
    /**
     * Prepare and returns request body which is used to insert a new record in the table.
     * @param  {DataManager} dm
     * @param  {Object} data
     * @param  {string} tableName?
     */
    insert(dm: DataManager, data: Object, tableName?: string): Object;
    /**
     * Prepare and return request body which is used to remove record from the table.
     * @param  {DataManager} dm
     * @param  {string} keyField
     * @param  {number} value
     * @param  {string} tableName?
     */
    remove(dm: DataManager, keyField: string, value: number, tableName?: string): Object;
    /**
     * Prepare and return request body which is used to update record.
     * @param  {DataManager} dm
     * @param  {string} keyField
     * @param  {Object} value
     * @param  {string} tableName?
     */
    update(dm: DataManager, keyField: string, value: Object, tableName?: string): Object;
    batchRequest(dm: DataManager, changes: CrudOptions, e: RemoteArgs): Object;
    /**
     * Method will trigger before send the request to server side.
     * Used to set the custom header or modify the request options.
     * @param  {DataManager} dm
     * @param  {XMLHttpRequest} request
     * @param  {base.Ajax} settings
     * @returns void
     */
    beforeSend(dm: DataManager, request: XMLHttpRequest, settings: base.Ajax): void;
    /**
     * Returns the data from the query processing.
     * @param  {DataResult} data
     * @param  {DataOptions} ds?
     * @param  {Query} query?
     * @param  {XMLHttpRequest} xhr?
     * @param  {base.Ajax} request?
     * @param  {CrudOptions} changes?
     * @returns aggregateResult
     */
    processResponse(data: DataResult, ds?: DataOptions, query?: Query, xhr?: XMLHttpRequest, request?: base.Ajax, changes?: CrudOptions): Object;
}
/**
 * WebMethodAdaptor can be used by DataManager to interact with web method.
 * @hidden
 */
export  class WebMethodAdaptor extends UrlAdaptor {
    /**
     * Prepare the request body based on the query.
     * The query information can be accessed at the WebMethod using variable named `value`.
     * @param  {DataManager} dm
     * @param  {Query} query
     * @param  {Object[]} hierarchyFilters?
     * @returns application
     */
    processQuery(dm: DataManager, query: Query, hierarchyFilters?: Object[]): Object;
}
/**
 * RemoteSaveAdaptor, extended from JsonAdaptor and it is used for binding local data and performs all DataManager queries in client-side.
 * It interacts with server-side only for CRUD operations.
 * @hidden
 */
export  class RemoteSaveAdaptor extends JsonAdaptor {
    /**
     * @hidden
     */
    constructor();
    insert(dm: DataManager, data: Object, tableName: string, query: Query, position?: number): Object;
    remove(dm: DataManager, keyField: string, val: Object, tableName?: string, query?: Query): Object;
    update(dm: DataManager, keyField: string, val: Object, tableName: string, query?: Query): Object;
    processResponse(data: CrudOptions, ds?: DataOptions, query?: Query, xhr?: XMLHttpRequest, request?: base.Ajax, changes?: CrudOptions, e?: RemoteArgs): Object;
    /**
     * Prepare the request body based on the newly added, removed and updated records.
     * Also perform the changes in the locally cached data to sync with the remote data.
     * The result is used by the batch request.
     * @param  {DataManager} dm
     * @param  {CrudOptions} changes
     * @param  {RemoteArgs} e
     */
    batchRequest(dm: DataManager, changes: CrudOptions, e: RemoteArgs, query?: Query, original?: Object): Object;
    addParams(options: {
        dm: DataManager;
        query: Query;
        params: ParamOption[];
        reqParams: {
            [key: string]: Object;
        };
    }): void;
}
/**
 * base.Ajax Adaptor that is extended from URL Adaptor, is used for handle data operations with user defined functions.
 * @hidden
 */
export  class CustomDataAdaptor extends UrlAdaptor {
    protected getModuleName(): string;
    protected options: RemoteOptions;
    constructor(props?: RemoteOptions);
}
/**
 * The GraphqlAdaptor that is extended from URL Adaptor, is used for retrieving data from the Graphql server.
 * It interacts with the Graphql server with all the DataManager Queries and performs CRUD operations.
 * @hidden
 */
export  class GraphQLAdaptor extends UrlAdaptor {
    protected getModuleName(): string;
    private opt;
    private schema;
    private query;
    getVariables: Function;
    private getQuery;
    constructor(options: GraphQLAdaptorOptions);
    /**
     * Process the JSON data based on the provided queries.
     * @param  {DataManager} dm
     * @param  {Query} query?
     */
    processQuery(datamanager: DataManager, query: Query): Object;
    /**
     * Returns the data from the query processing.
     * It will also cache the data for later usage.
     * @param  {DataResult} data
     * @param  {DataManager} ds?
     * @param  {Query} query?
     * @param  {XMLHttpRequest} xhr?
     * @param  {Object} request?
     * @returns DataResult
     */
    processResponse(resData: DataResult, ds?: DataManager, query?: Query, xhr?: XMLHttpRequest, request?: Object): DataResult;
    /**
     * Prepare and returns request body which is used to insert a new record in the table.
     */
    insert(): {
        data: string;
    };
    /**
     * Prepare and returns request body which is used to update a new record in the table.
     */
    update(): {
        data: string;
    };
    /**
     * Prepare and returns request body which is used to remove a new record in the table.
     */
    remove(): {
        data: string;
    };
    /**
     * Prepare the request body based on the newly added, removed and updated records.
     * The result is used by the batch request.
     * @param  {DataManager} dm
     * @param  {CrudOptions} changes
     * @param  {Object} e
     * @param  {Query} query
     * @param  {Object} original
     */
    batchRequest(dm: DataManager, changes: CrudOptions, e: {
        key: string;
    }, query: Query, original?: Object): Object;
    private generateCrudData;
}
/**
 * Cache Adaptor is used to cache the data of the visited pages. It prevents new requests for the previously visited pages.
 * You can configure cache page size and duration of caching by using cachingPageSize and timeTillExpiration properties of the DataManager
 * @hidden
 */
export  class CacheAdaptor extends UrlAdaptor {
    private cacheAdaptor;
    private pageSize;
    private guidId;
    private isCrudAction;
    private isInsertAction;
    /**
     * Constructor for CacheAdaptor class.
     * @param  {CacheAdaptor} adaptor?
     * @param  {number} timeStamp?
     * @param  {number} pageSize?
     * @hidden
     */
    constructor(adaptor?: CacheAdaptor, timeStamp?: number, pageSize?: number);
    /**
     * It will generate the key based on the URL when we send a request to server.
     * @param  {string} url
     * @param  {Query} query?
     * @hidden
     */
    generateKey(url: string, query: Query): string;
    /**
     * Process the query to generate request body.
     * If the data is already cached, it will return the cached data.
     * @param  {DataManager} dm
     * @param  {Query} query?
     * @param  {Object[]} hierarchyFilters?
     */
    processQuery(dm: DataManager, query?: Query, hierarchyFilters?: Object[]): Object;
    /**
     * Returns the data from the query processing.
     * It will also cache the data for later usage.
     * @param  {DataResult} data
     * @param  {DataManager} ds?
     * @param  {Query} query?
     * @param  {XMLHttpRequest} xhr?
     * @param  {base.Ajax} request?
     * @param  {CrudOptions} changes?
     */
    processResponse(data: DataResult, ds?: DataManager, query?: Query, xhr?: XMLHttpRequest, request?: base.Ajax, changes?: CrudOptions): DataResult;
    /**
     * Method will trigger before send the request to server side. Used to set the custom header or modify the request options.
     * @param  {DataManager} dm
     * @param  {XMLHttpRequest} request
     * @param  {base.Ajax} settings?
     */
    beforeSend(dm: DataManager, request: XMLHttpRequest, settings?: base.Ajax): void;
    /**
     * Updates existing record and saves the changes to the table.
     * @param  {DataManager} dm
     * @param  {string} keyField
     * @param  {Object} value
     * @param  {string} tableName
     */
    update(dm: DataManager, keyField: string, value: Object, tableName: string): Object;
    /**
     * Prepare and returns request body which is used to insert a new record in the table.
     * @param  {DataManager} dm
     * @param  {Object} data
     * @param  {string} tableName?
     */
    insert(dm: DataManager, data: Object, tableName?: string): Object;
    /**
     * Prepare and return request body which is used to remove record from the table.
     * @param  {DataManager} dm
     * @param  {string} keyField
     * @param  {Object} value
     * @param  {string} tableName?
     */
    remove(dm: DataManager, keyField: string, value: Object, tableName?: string): Object[];
    /**
     * Prepare the request body based on the newly added, removed and updated records.
     * The result is used by the batch request.
     * @param  {DataManager} dm
     * @param  {CrudOptions} changes
     * @param  {RemoteArgs} e
     */
    batchRequest(dm: DataManager, changes: CrudOptions, e: RemoteArgs): CrudOptions;
}
/**
 * @hidden
 */
export interface CrudOptions {
    changedRecords?: Object[];
    addedRecords?: Object[];
    deletedRecords?: Object[];
    changed?: Object[];
    added?: Object[];
    deleted?: Object[];
    action?: string;
    table?: string;
    key?: string;
}
/**
 * @hidden
 */
export interface PvtOptions {
    groups?: QueryOptions[];
    aggregates?: Aggregates[];
    search?: Object | Predicate;
    changeSet?: number;
    searches?: Object[];
    position?: number;
}
/**
 * @hidden
 */
export interface DataResult {
    nodeType?: number;
    addedRecords?: Object[];
    d?: DataResult | Object[];
    Count?: number;
    count?: number;
    result?: Object;
    results?: Object[] | DataResult;
    aggregate?: DataResult;
    aggregates?: Aggregates;
    value?: Object;
    Items?: Object[] | DataResult;
    keys?: string[];
    groupDs?: Object[];
}
/**
 * @hidden
 */
export interface Requests {
    sorts: QueryOptions[];
    groups: QueryOptions[];
    filters: QueryOptions[];
    searches: QueryOptions[];
    aggregates: QueryOptions[];
}
/**
 * @hidden
 */
export interface RemoteArgs {
    guid?: string;
    url?: string;
    key?: string;
    cid?: number;
    cSet?: string;
}
/**
 * @hidden
 */
export interface RemoteOptions {
    from?: string;
    requestType?: string;
    sortBy?: string;
    select?: string;
    skip?: string;
    group?: string;
    take?: string;
    search?: string;
    count?: string;
    where?: string;
    aggregates?: string;
    expand?: string;
    accept?: string;
    multipartAccept?: string;
    batch?: string;
    changeSet?: string;
    batchPre?: string;
    contentId?: string;
    batchContent?: string;
    changeSetContent?: string;
    batchChangeSetContentType?: string;
    updateType?: string;
    localTime?: boolean;
    apply?: string;
    getData?: Function;
    updateRecord?: Function;
    addRecord?: Function;
    deleteRecord?: Function;
    batchUpdate?: Function;
}
/**
 * @hidden
 */
export interface GraphQLAdaptorOptions {
    response: {
        result: string;
        count?: string;
        aggregates?: string;
    };
    query: string;
    getQuery?: () => string;
    getVariables?: Function;
    getMutation?: (action: string) => string;
}
/**
 * @hidden
 */
export interface LazyLoad {
    isLazyLoad: boolean;
    onDemandGroupInfo: OnDemandGroupInfo;
}
/**
 * @hidden
 */
export interface OnDemandGroupInfo {
    level: number;
    skip: number;
    take: number;
    where: Predicate[];
}
/**
 * @hidden
 */
export interface LazyLoadGroupArgs {
    query: Query;
    lazyLoad: LazyLoad;
    result: Object[];
    group: Object[];
    page: {
        pageIndex: number;
        pageSize: number;
    };
}
/**
 * @hidden
 */
export  type ReturnType = {
    result: Object[];
    count?: number;
    aggregates?: string;
};
//node_modules/@syncfusion/ej2-data/src/index.d.ts
/**
 * Data modules
 */
//node_modules/@syncfusion/ej2-data/src/manager.d.ts
/**
 * DataManager is used to manage and manipulate relational data.
 */
export  class DataManager {
    /** @hidden */
    adaptor: AdaptorOptions;
    /** @hidden */
    defaultQuery: Query;
    /** @hidden */
    dataSource: DataOptions;
    /** @hidden */
    dateParse: boolean;
    /** @hidden */
    timeZoneHandling: boolean;
    /** @hidden */
    ready: Promise<base.Ajax>;
    private isDataAvailable;
    private requests;
    private ajaxDeffered;
    private ajaxReqOption;
    /**
     * Constructor for DataManager class
     * @param  {DataOptions|JSON[]} dataSource?
     * @param  {Query} query?
     * @param  {AdaptorOptions|string} adaptor?
     * @hidden
     */
    constructor(dataSource?: DataOptions | JSON[] | Object[], query?: Query, adaptor?: AdaptorOptions | string);
    /**
     * Overrides DataManager's default query with given query.
     * @param  {Query} query - Defines the new default query.
     */
    setDefaultQuery(query: Query): DataManager;
    /**
     * Executes the given query with local data source.
     * @param  {Query} query - Defines the query to retrieve data.
     */
    executeLocal(query?: Query): Object[];
    /**
     * Executes the given query with either local or remote data source.
     * It will be executed as asynchronously and returns Promise object which will be resolved or rejected after action completed.
     * @param  {Query|Function} query - Defines the query to retrieve data.
     * @param  {Function} done - Defines the callback function and triggers when the Promise is resolved.
     * @param  {Function} fail - Defines the callback function and triggers when the Promise is rejected.
     * @param  {Function} always - Defines the callback function and triggers when the Promise is resolved or rejected.
     */
    executeQuery(query: Query | Function, done?: Function, fail?: Function, always?: Function): Promise<base.Ajax>;
    private static getDeferedArgs;
    private static nextTick;
    private extendRequest;
    private makeRequest;
    private beforeSend;
    /**
     * Save bulk changes to the given table name.
     * User can add a new record, edit an existing record, and delete a record at the same time.
     * If the datasource from remote, then updated in a single post.
     * @param  {Object} changes - Defines the CrudOptions.
     * @param  {string} key - Defines the column field.
     * @param  {string|Query} tableName - Defines the table name.
     * @param  {Query} query - Sets default query for the DataManager.
     */
    saveChanges(changes: Object, key?: string, tableName?: string | Query, query?: Query, original?: Object): Promise<Object> | Object;
    /**
     * Inserts new record in the given table.
     * @param  {Object} data - Defines the data to insert.
     * @param  {string|Query} tableName - Defines the table name.
     * @param  {Query} query - Sets default query for the DataManager.
     */
    insert(data: Object, tableName?: string | Query, query?: Query, position?: number): Object | Promise<Object>;
    /**
     * Removes data from the table with the given key.
     * @param  {string} keyField - Defines the column field.
     * @param  {Object} value - Defines the value to find the data in the specified column.
     * @param  {string|Query} tableName - Defines the table name
     * @param  {Query} query - Sets default query for the DataManager.
     */
    remove(keyField: string, value: Object, tableName?: string | Query, query?: Query): Object | Promise<Object>;
    /**
     * Updates existing record in the given table.
     * @param  {string} keyField - Defines the column field.
     * @param  {Object} value - Defines the value to find the data in the specified column.
     * @param  {string|Query} tableName - Defines the table name
     * @param  {Query} query - Sets default query for the DataManager.
     */
    update(keyField: string, value: Object, tableName?: string | Query, query?: Query, original?: Object): Object | Promise<Object>;
    private isCustomDataAdaptor;
    private isGraphQLAdaptor;
    private successFunc;
    private failureFunc;
    private doAjaxRequest;
}
/**
 * Deferred is used to handle asynchronous operation.
 */
export  class Deferred {
    /**
     * Resolve a Deferred object and call doneCallbacks with the given args.
     */
    resolve: Function;
    /**
     * Reject a Deferred object and call failCallbacks with the given args.
     */
    reject: Function;
    /**
     * Promise is an object that represents a value that may not be available yet, but will be resolved at some point in the future.
     */
    promise: Promise<Object>;
    /**
     * Defines the callback function triggers when the Deferred object is resolved.
     */
    then: Function;
    /**
     * Defines the callback function triggers when the Deferred object is rejected.
     */
    catch: Function;
}
/**
 * @hidden
 */
export interface DataOptions {
    url?: string;
    adaptor?: AdaptorOptions;
    insertUrl?: string;
    removeUrl?: string;
    updateUrl?: string;
    crudUrl?: string;
    batchUrl?: string;
    json?: Object[];
    headers?: Object[];
    accept?: boolean;
    data?: JSON;
    timeTillExpiration?: number;
    cachingPageSize?: number;
    enableCaching?: boolean;
    requestType?: string;
    key?: string;
    crossDomain?: boolean;
    jsonp?: string;
    dataType?: string;
    offline?: boolean;
    requiresFormat?: boolean;
    timeZoneHandling?: boolean;
}
/**
 * @hidden
 */
export interface ReturnOption {
    result?: ReturnOption;
    count?: number;
    url?: string;
    aggregates?: Aggregates;
}
/**
 * @hidden
 */
export interface AjaxOption {
    onSuccess?: Function;
    onFailure?: Function;
    data?: string;
}
/**
 * @hidden
 */
export interface RequestOptions {
    xhr?: XMLHttpRequest;
    count?: number;
    result?: ReturnOption;
    request?: base.Ajax;
    aggregates?: Aggregates;
    actual?: Object;
    virtualSelectRecords?: Object;
    error?: string;
}
/**
 * @hidden
 */
export interface AdaptorOptions {
    processQuery?: Function;
    processResponse?: Function;
    beforeSend?: Function;
    batchRequest?: Function;
    insert?: Function;
    remove?: Function;
    update?: Function;
    key?: string;
}
//node_modules/@syncfusion/ej2-data/src/query.d.ts
/**
 * Query class is used to build query which is used by the DataManager to communicate with datasource.
 */
export  class Query {
    /** @hidden */
    queries: QueryOptions[];
    /** @hidden */
    key: string;
    /** @hidden */
    fKey: string;
    /** @hidden */
    fromTable: string;
    /** @hidden */
    lookups: string[];
    /** @hidden */
    expands: Object[];
    /** @hidden */
    sortedColumns: Object[];
    /** @hidden */
    groupedColumns: Object[];
    /** @hidden */
    subQuerySelector: Function;
    /** @hidden */
    subQuery: Query;
    /** @hidden */
    isChild: boolean;
    /** @hidden */
    params: ParamOption[];
    /** @hidden */
    lazyLoad: {
        key: string;
        value: object | boolean;
    }[];
    /** @hidden */
    isCountRequired: boolean;
    /** @hidden */
    dataManager: DataManager;
    /** @hidden */
    distincts: string[];
    /**
     * Constructor for Query class.
     * @param  {string|string[]} from?
     * @hidden
     */
    constructor(from?: string | string[]);
    /**
     * Sets the primary key.
     * @param  {string} field - Defines the column field.
     */
    setKey(field: string): Query;
    /**
     * Sets default DataManager to execute query.
     * @param  {DataManager} dataManager - Defines the DataManager.
     */
    using(dataManager: DataManager): Query;
    /**
     * Executes query with the given DataManager.
     * @param  {DataManager} dataManager - Defines the DataManager.
     * @param  {Function} done - Defines the success callback.
     * @param  {Function} fail - Defines the failure callback.
     * @param  {Function} always - Defines the callback which will be invoked on either success or failure.
     *
     * <pre>
     * let dataManager: DataManager = new DataManager([{ ID: '10' }, { ID: '2' }, { ID: '1' }, { ID: '20' }]);
     * let query: Query = new Query();
     * query.sortBy('ID', (x: string, y: string): number => { return parseInt(x, 10) - parseInt(y, 10) });
     * let promise: Promise< Object > = query.execute(dataManager);
     * promise.then((e: { result: Object }) => { });
     * </pre>
     */
    execute(dataManager?: DataManager, done?: Function, fail?: Function, always?: Function): Promise<Object>;
    /**
     * Executes query with the local datasource.
     * @param  {DataManager} dataManager - Defines the DataManager.
     */
    executeLocal(dataManager?: DataManager): Object[];
    /**
     * Creates deep copy of the Query object.
     */
    clone(): Query;
    /**
     * Specifies the name of table to retrieve data in query execution.
     * @param  {string} tableName - Defines the table name.
     */
    from(tableName: string): Query;
    /**
     * Adds additional parameter which will be sent along with the request which will be generated while DataManager execute.
     * @param  {string} key - Defines the key of additional parameter.
     * @param  {Function|string} value - Defines the value for the key.
     */
    addParams(key: string, value: Function | string | null): Query;
    /**
     * @hidden
     */
    distinct(fields: string | string[]): Query;
    /**
     * Expands the related table.
     * @param  {string|Object[]} tables
     */
    expand(tables: string | Object[]): Query;
    /**
     * Filter data with given filter criteria.
     * @param  {string|Predicate} fieldName - Defines the column field or Predicate.
     * @param  {string} operator - Defines the operator how to filter data.
     * @param  {string|number|boolean} value - Defines the values to match with data.
     * @param  {boolean} ignoreCase - If ignore case set to false, then filter data with exact match or else
     * filter data with case insensitive.
     */
    where(fieldName: string | Predicate | Predicate[], operator?: string, value?: string | Date | number | boolean | null, ignoreCase?: boolean, ignoreAccent?: boolean): Query;
    /**
     * Search data with given search criteria.
     * @param  {string|number|boolean} searchKey - Defines the search key.
     * @param  {string|string[]} fieldNames - Defines the collection of column fields.
     * @param  {string} operator - Defines the operator how to search data.
     * @param  {boolean} ignoreCase - If ignore case set to false, then filter data with exact match or else
     * filter data with case insensitive.
     */
    search(searchKey: string | number | boolean, fieldNames?: string | string[], operator?: string, ignoreCase?: boolean, ignoreAccent?: boolean): Query;
    /**
     * Sort the data with given sort criteria.
     * By default, sort direction is ascending.
     * @param  {string|string[]} fieldName - Defines the single or collection of column fields.
     * @param  {string|Function} comparer - Defines the sort direction or custom sort comparer function.
     */
    sortBy(fieldName: string | string[], comparer?: string | Function, isFromGroup?: boolean): Query;
    /**
     * Sort the data with given sort criteria.
     * By default, sort direction is ascending.
     * @param  {string|string[]} fieldName - Defines the single or collection of column fields.
     * @param  {string|Function} comparer - Defines the sort direction or custom sort comparer function.
     * @param  {string} direction - Defines the sort direction .
     */
    sortByForeignKey(fieldName: string | string[], comparer?: string | Function, isFromGroup?: boolean, direction?: string): Query;
    /**
     * Sorts data in descending order.
     * @param  {string} fieldName - Defines the column field.
     */
    sortByDesc(fieldName: string): Query;
    /**
     * Groups data with the given field name.
     * @param  {string} fieldName - Defines the column field.
     */
    group(fieldName: string, fn?: Function, format?: string | base.NumberFormatOptions | base.DateFormatOptions): Query;
    /**
     * Gets data based on the given page index and size.
     * @param  {number} pageIndex - Defines the current page index.
     * @param  {number} pageSize - Defines the no of records per page.
     */
    page(pageIndex: number, pageSize: number): Query;
    /**
     * Gets data based on the given start and end index.
     * @param  {number} start - Defines the start index of the datasource.
     * @param  {number} end - Defines the end index of the datasource.
     */
    range(start: number, end: number): Query;
    /**
     * Gets data from the top of the data source based on given number of records count.
     * @param  {number} nos - Defines the no of records to retrieve from datasource.
     */
    take(nos: number): Query;
    /**
     * Skips data with given number of records count from the top of the data source.
     * @param  {number} nos - Defines the no of records skip in the datasource.
     */
    skip(nos: number): Query;
    /**
     * Selects specified columns from the data source.
     * @param  {string|string[]} fieldNames - Defines the collection of column fields.
     */
    select(fieldNames: string | string[]): Query;
    /**
     * Gets the records in hierarchical relationship from two tables. It requires the foreign key to relate two tables.
     * @param  {Query} query - Defines the query to relate two tables.
     * @param  {Function} selectorFn - Defines the custom function to select records.
     */
    hierarchy(query: Query, selectorFn: Function): Query;
    /**
     * Sets the foreign key which is used to get data from the related table.
     * @param  {string} key - Defines the foreign key.
     */
    foreignKey(key: string): Query;
    /**
     * It is used to get total number of records in the DataManager execution result.
     */
    requiresCount(): Query;
    /**
     * Aggregate the data with given type and field name.
     * @param  {string} type - Defines the aggregate type.
     * @param  {string} field - Defines the column field to aggregate.
     */
    aggregate(type: string, field: string): Query;
    /**
     * Pass array of filterColumn query for performing filter operation.
     * @param  {QueryOptions[]} queries
     * @param  {string} name
     * @hidden
     */
    static filterQueries(queries: QueryOptions[], name: string): QueryOptions[];
    /**
     * To get the list of queries which is already filtered in current data source.
     * @param  {Object[]} queries
     * @param  {string[]} singles
     * @hidden
     */
    static filterQueryLists(queries: Object[], singles: string[]): Object;
}
/**
 * Predicate class is used to generate complex filter criteria.
 * This will be used by DataManager to perform multiple filtering operation.
 */
export  class Predicate {
    /** @hidden */
    field: string;
    /** @hidden */
    operator: string;
    /** @hidden */
    value: string | number | Date | boolean | Predicate | Predicate[] | null;
    /** @hidden */
    condition: string;
    /** @hidden */
    ignoreCase: boolean;
    /** @hidden */
    ignoreAccent: boolean;
    /** @hidden */
    isComplex: boolean;
    /** @hidden */
    predicates: Predicate[];
    /** @hidden */
    comparer: Function;
    [x: string]: string | number | Date | boolean | Predicate | Predicate[] | Function | null;
    /**
     * Constructor for Predicate class.
     * @param  {string|Predicate} field
     * @param  {string} operator
     * @param  {string|number|boolean|Predicate|Predicate[]} value
     * @param  {boolean=false} ignoreCase
     * @hidden
     */
    constructor(field: string | Predicate, operator: string, value: string | number | Date | boolean | Predicate | Predicate[] | null, ignoreCase?: boolean, ignoreAccent?: boolean);
    /**
     * Adds n-number of new predicates on existing predicate with “and” condition.
     * @param  {Object[]} args - Defines the collection of predicates.
     */
    static and(...args: Object[]): Predicate;
    /**
     * Adds new predicate on existing predicate with “and” condition.
     * @param  {string} field - Defines the column field.
     * @param  {string} operator - Defines the operator how to filter data.
     * @param  {string} value - Defines the values to match with data.
     * @param  {boolean} ignoreCase? - If ignore case set to false, then filter data with exact match or else
     * filter data with case insensitive.
     */
    and(field: string | Predicate, operator?: string, value?: string | number | Date | boolean | null, ignoreCase?: boolean, ignoreAccent?: boolean): Predicate;
    /**
     * Adds n-number of new predicates on existing predicate with “or” condition.
     * @param  {Object[]} args - Defines the collection of predicates.
     */
    static or(...args: Object[]): Predicate;
    /**
     * Adds new predicate on existing predicate with “or” condition.
     * @param  {string} field - Defines the column field.
     * @param  {string} operator - Defines the operator how to filter data.
     * @param  {string} value - Defines the values to match with data.
     * @param  {boolean} ignoreCase? - If ignore case set to false, then filter data with exact match or else
     * filter data with case insensitive.
     */
    or(field: string | Predicate, operator?: string, value?: string | number | Date | boolean | null, ignoreCase?: boolean, ignoreAccent?: boolean): Predicate;
    /**
     * Converts plain JavaScript object to Predicate object.
     * @param  {Predicate[]|Predicate} json - Defines single or collection of Predicate.
     */
    static fromJson(json: Predicate[] | Predicate): Predicate[];
    /**
     * Validate the record based on the predicates.
     * @param  {Object} record - Defines the datasource record.
     */
    validate(record: Object): boolean;
    /**
     * Converts predicates to plain JavaScript.
     * This method is uses Json stringify when serializing Predicate object.
     */
    toJson(): Object;
    private static combinePredicates;
    private static combine;
    private static fromJSONData;
}
/**
 * @hidden
 */
export interface QueryOptions {
    fn?: string;
    e?: QueryOptions;
    fieldNames?: string | string[];
    operator?: string;
    searchKey?: string | number | boolean;
    ignoreCase?: boolean;
    ignoreAccent?: boolean;
    comparer?: string | Function;
    format?: string | base.NumberFormatOptions | base.DateFormatOptions;
    direction?: string;
    pageIndex?: number;
    pageSize?: number;
    start?: number;
    end?: number;
    nos?: number;
    field?: string;
    fieldName?: string;
    type?: Object;
    name?: string | string[];
    filter?: Object;
    key?: string;
    value?: string | number | Date | boolean | Predicate | Predicate[];
    isComplex?: boolean;
    predicates?: Predicate[];
    condition?: string;
}
/**
 * @hidden
 */
export interface QueryList {
    onSelect?: QueryOptions;
    onPage?: QueryOptions;
    onSkip?: QueryOptions;
    onTake?: QueryOptions;
    onRange?: QueryOptions;
}
/**
 * @hidden
 */
export interface ParamOption {
    key: string;
    value?: string | null;
    fn?: Function;
}
//node_modules/@syncfusion/ej2-data/src/schema.d.ts
export  const schema = "input Sort {\n    name: String!\n    direction: String!\n} \n\ninput Aggregate {\n    field: String! \n    type: String!\n}\n\ninput DataManager {\n    skip: Int\n    take: Int\n    sorted: [Sort]\n    group: [String]\n    table: String\n    select: [String]\n    where: String\n    search: String\n    requiresCounts: Boolean,\n    aggregates: [Aggregate],\n    params: String\n}";
//node_modules/@syncfusion/ej2-data/src/util.d.ts
/**
 * Data manager common utility methods.
 * @hidden
 */
export  class DataUtil {
    /**
     * Specifies the value which will be used to adjust the date value to server timezone.
     * @default null
     */
    static serverTimezoneOffset: number;
    /**
     * Species whether are not to be parsed with serverTimezoneOffset value.
     * @hidden
     */
    static timeZoneHandling: boolean;
    /**
     * Returns the value by invoking the provided parameter function.
     * If the paramater is not of type function then it will be returned as it is.
     * @param  {Function|string|string[]|number} value
     * @param  {Object} inst?
     * @hidden
     */
    static getValue<T>(value: T | Function, inst?: Object): T;
    /**
     * Returns true if the input string ends with given string.
     * @param  {string} input
     * @param  {string} substr
     */
    static endsWith(input: string, substr: string): boolean;
    /**
     * Returns true if the input string starts with given string.
     * @param  {string} str
     * @param  {string} startstr
     */
    static startsWith(input: string, start: string): boolean;
    /**
     * To return the sorting function based on the string.
     * @param  {string} order
     * @hidden
     */
    static fnSort(order: string): Function;
    /**
     * Comparer function which is used to sort the data in ascending order.
     * @param  {string|number} x
     * @param  {string|number} y
     * @returns number
     */
    static fnAscending(x: string | number, y: string | number): number;
    /**
     * Comparer function which is used to sort the data in descending order.
     * @param  {string|number} x
     * @param  {string|number} y
     * @returns number
     */
    static fnDescending(x: string | number, y: string | number): number;
    private static extractFields;
    /**
     * Select objects by given fields from jsonArray.
     * @param  {Object[]} jsonArray
     * @param  {string[]} fields
     */
    static select(jsonArray: Object[], fields: string[]): Object[];
    /**
     * Group the input data based on the field name.
     * It also performs aggregation of the grouped records based on the aggregates paramater.
     * @param  {Object[]} jsonArray
     * @param  {string} field?
     * @param  {Object[]} agg?
     * @param  {number} level?
     * @param  {Object[]} groupDs?
     */
    static group(jsonArray: Object[], field?: string, aggregates?: Object[], level?: number, groupDs?: Object[], format?: Function, isLazyLoad?: boolean): Object[];
    /**
     * It is used to categorize the multiple items based on a specific field in jsonArray.
     * The hierarchical queries are commonly required when you use foreign key binding.
     * @param  {string} fKey
     * @param  {string} from
     * @param  {Object[]} source
     * @param  {Group} lookup?
     * @param  {string} pKey?
     * @hidden
     */
    static buildHierarchy(fKey: string, from: string, source: Group, lookup?: Group, pKey?: string): void;
    /**
     * Throw error with the given string as message.
     * @param  {string} er
     */
    static throwError: Function;
    static aggregates: Aggregates;
    /**
     * The method used to get the field names which started with specified characters.
     * @param  {Object} obj
     * @param  {string[]} fields?
     * @param  {string} prefix?
     * @hidden
     */
    static getFieldList(obj: Object, fields?: string[], prefix?: string): string[];
    /**
     * Gets the value of the property in the given object.
     * The complex object can be accessed by providing the field names concatenated with dot(.).
     * @param  {string} nameSpace - The name of the property to be accessed.
     * @param  {Object} from - Defines the source object.
     */
    static getObject(nameSpace: string, from: Object): Object;
    /**
     * To set value for the nameSpace in desired object.
     * @param {string} nameSpace - String value to the get the inner object.
     * @param {Object} value - Value that you need to set.
     * @param {Object} obj - Object to get the inner object value.
     * @return { [key: string]: Object;
 } | Object
     * @hidden
     */
    static setValue(nameSpace: string, value: Object | null, obj: Object): {
        [key: string]: Object;
    } | Object;
    /**
     * Sort the given data based on the field and comparer.
     * @param  {Object[]} ds - Defines the input data.
     * @param  {string} field - Defines the field to be sorted.
     * @param  {Function} comparer - Defines the comparer function used to sort the records.
     */
    static sort(ds: Object[], field: string, comparer: Function): Object[];
    static ignoreDiacritics(value: string | number | boolean): string | Object;
    private static merge;
    private static getVal;
    private static toLowerCase;
    /**
     * Specifies the Object with filter operators.
     */
    static operatorSymbols: {
        [key: string]: string;
    };
    /**
     * Specifies the Object with filter operators which will be used for OData filter query generation.
     * * It will be used for date/number type filter query.
     */
    static odBiOperator: {
        [key: string]: string;
    };
    /**
     * Specifies the Object with filter operators which will be used for OData filter query generation.
     * It will be used for string type filter query.
     */
    static odUniOperator: {
        [key: string]: string;
    };
    /**
     * Specifies the Object with filter operators which will be used for ODataV4 filter query generation.
     * It will be used for string type filter query.
     */
    static odv4UniOperator: {
        [key: string]: string;
    };
    static diacritics: {
        [key: string]: string;
    };
    static fnOperators: Operators;
    /**
     * To perform the filter operation with specified adaptor and returns the result.
     * @param  {Object} adaptor
     * @param  {string} fnName
     * @param  {Object} param1?
     * @param  {Object} param2?
     * @hidden
     */
    static callAdaptorFunction(adaptor: Object, fnName: string, param1?: Object, param2?: Object): Object;
    static getAddParams(adp: Object, dm: DataManager, query: Query): Object;
    /**
     * To perform the parse operation on JSON data, like convert to string from JSON or convert to JSON from string.
     */
    static parse: ParseOption;
    /**
     * Checks wheather the given input is a plain object or not.
     * @param  {Object|Object[]} obj
     */
    static isPlainObject(obj: Object | Object[]): boolean;
    /**
     * Returns true when the browser cross origin request.
     */
    static isCors(): boolean;
    /**
     * Generate random GUID value which will be prefixed with the given value.
     * @param  {string} prefix
     */
    static getGuid(prefix: string): string;
    /**
     * Checks wheather the given value is null or not.
     * @param  {string|Object} val
     * @returns boolean
     */
    static isNull(val: string | Object): boolean;
    /**
     * To get the required items from collection of objects.
     * @param  {Object[]} array
     * @param  {string} field
     * @param  {Function} comparer
     * @returns Object
     * @hidden
     */
    static getItemFromComparer(array: Object[], field: string, comparer: Function): Object;
    /**
     * To get distinct values of Array or Array of Objects.
     * @param  {Object[]} json
     * @param  {string} field
     * @param  {boolean} requiresCompleteRecord
     * @returns Object[]
     * * distinct array of objects is return when requiresCompleteRecord set as true.
     * @hidden
     */
    static distinct(json: Object[], fieldName: string, requiresCompleteRecord?: boolean): Object[];
    /**
     * @hidden
     */
    static dateParse: DateParseOption;
    /**
     * Process the given records based on the datamanager string.
     * @param  {string} datamanager
     * @param  {Object[]} records
     */
    static processData(dm: GraphQLParams, records: Object[]): ReturnType;
    private static prepareQuery;
    private static getPredicate;
}
/**
 * @hidden
 */
export interface GraphQLParams {
    skip?: number;
    take?: number;
    sorted?: {
        name: string;
        direction: string;
    }[];
    group?: string[];
    table?: string;
    select?: string[];
    where?: string;
    search?: string;
    requiresCounts?: boolean;
    aggregates?: Aggregates[];
    params?: string;
}
/**
 * @hidden
 */
export interface Aggregates {
    sum?: Function;
    average?: Function;
    min?: Function;
    max?: Function;
    truecount?: Function;
    falsecount?: Function;
    count?: Function;
    type?: string;
    field?: string;
}
/**
 * @hidden
 */
export interface Operators {
    equal?: Function;
    notequal?: Function;
    lessthan?: Function;
    greaterthan?: Function;
    lessthanorequal?: Function;
    greaterthanorequal?: Function;
    contains?: Function;
    notnull?: Function;
    isnull?: Function;
    startswith?: Function;
    endswith?: Function;
    processSymbols?: Function;
    processOperator?: Function;
}
/**
 * @hidden
 */
export interface Group {
    GroupGuid?: string;
    level?: number;
    childLevels?: number;
    records?: Object[];
    key?: string;
    count?: number;
    items?: Object[];
    aggregates?: Object;
    field?: string;
    result?: Object;
}
/**
 * @hidden
 */
export interface ParseOption {
    parseJson?: Function;
    iterateAndReviveArray?: Function;
    iterateAndReviveJson?: Function;
    jsonReviver?: (key: string, value: Object) => Object;
    isJson?: Function;
    isGuid?: Function;
    replacer?: Function;
    jsonReplacer?: Function;
    arrayReplacer?: Function;
    jsonDateReplacer?: (key: string, value: any) => any;
}
/**
 * @hidden
 */
export interface DateParseOption {
    addSelfOffset?: (input: Date) => Date;
    toUTC?: (input: Date) => Date;
    toTimeZone?: (input: Date, offset?: number, utc?: boolean) => Date;
    toLocalTime?: (input: Date) => string;
}
 }
export namespace diagrams { 

//node_modules/@syncfusion/ej2-diagrams/src/diagram/blazor-tooltip/blazor-Tooltip-model.d.ts
/**
 * Interface for a class BlazorAnimation
 * @private
 */
export interface BlazorAnimationModel {
    /**
     * Animation settings to be applied on the Tooltip, while it is being shown over the target.
     *
     * @ignoreapilink
     */
    open?: TooltipAnimationSettings;
    /**
     * Animation settings to be applied on the Tooltip, when it is closed.
     *
     * @ignoreapilink
     */
    close?: TooltipAnimationSettings;
}
/**
 * Interface for a class BlazorTooltip
 * @private
 */
export interface BlazorTooltipModel {
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/blazor-tooltip/blazor-Tooltip.d.ts
/**
 * Applicable tip positions attached to the Tooltip.
 *
 * @private
 */
export  type TipPointerPosition = 'Auto' | 'Start' | 'Middle' | 'End';
/**
 * Animation options that are common for both open and close actions of the Tooltip
 *
 *  @private
 */
export  class BlazorAnimation extends base.ChildProperty<BlazorAnimation> {
    /**
     * Animation settings to be applied on the Tooltip, while it is being shown over the target.
     *
     * @ignoreapilink
     */
    open: TooltipAnimationSettings;
    /**
     * Animation settings to be applied on the Tooltip, when it is closed.
     *
     * @ignoreapilink
     */
    close: TooltipAnimationSettings;
}
/**
 * Interface for Tooltip event arguments.
 *
 * @private
 */
export interface TooltipEventArgs extends base.BaseEventArgs {
    /**
     * It is used to denote the type of the triggered event.
     */
    type: String;
    /**
     * It illustrates whether the current action needs to be prevented or not.
     */
    cancel: boolean;
    /**
     * It is used to specify the current event object.
     */
    event: Event;
    /**
     * It is used to denote the current target element where the Tooltip is to be displayed.
     */
    target: HTMLElement;
    /**
     * It is used to denote the Tooltip element
     */
    element: HTMLElement;
    /**
     * It is used to denote the Collided Tooltip position
     *
     */
    collidedPosition?: string;
    /**
     * If the event is triggered by interaction, it returns true. Otherwise, it returns false.
     *
     */
    isInteracted?: boolean;
}
/**
 * Animation options that are common for both open and close actions of the Tooltip.
 *
 * @private
 */
export interface TooltipAnimationSettings {
    /**
     * It is used to apply the Animation effect on the Tooltip, during open and close actions.
     */
    effect?: base.Effect;
    /**
     * It is used to denote the duration of the animation that is completed per animation cycle.
     */
    duration?: number;
    /**
     * It is used to denote the delay value in milliseconds and indicating the waiting time before animation begins.
     */
    delay?: number;
}
/**
 *  @private
 */
export  class BlazorTooltip {
    private tooltipEle;
    private ctrlId;
    private tipClass;
    private tooltipPositionX;
    private tooltipPositionY;
    private tooltipEventArgs;
    private isHidden;
    private showTimer;
    private hideTimer;
    private tipWidth;
    private touchModule;
    private tipHeight;
    private isBlazorTemplate;
    private isBlazorTooltip;
    private contentEvent;
    /** @private */
    width: string | number;
    /** @private */
    height: string | number;
    /** @private */
    content: string | HTMLElement;
    /** @private */
    target: string;
    /** @private */
    position: popups.Position;
    /** @private */
    offsetX: number;
    /** @private */
    offsetY: number;
    /** @private */
    tipPointerPosition: TipPointerPosition;
    /** @private */
    openDelay: number;
    /** @private */
    closeDelay: number;
    /** @private */
    cssClass: string;
    /** @private */
    element: Diagram;
    /** @private */
    animation: BlazorAnimation;
    /** @private */
    showTipPointer: boolean;
    constructor(diagram: Diagram);
    /**
     *  @private
     */
    open(target: HTMLElement, showAnimation: TooltipAnimationSettings, e?: Event): void;
    /**
     *  @private
     */
    updateTooltip(target: HTMLElement): void;
    private formatPosition;
    /**
     *  @private
     */
    destroy(): void;
    /**
     *  @private
     */
    close(): void;
    /**
     *  @private
     */
    showTooltip(target: HTMLElement, showAnimation: TooltipAnimationSettings, e?: Event): void;
    private beforeRenderCallback;
    private afterRenderBlazor;
    private setTipClass;
    private renderArrow;
    private getTooltipPosition;
    private checkCollision;
    private collisionFlipFit;
    private calculateTooltipOffset;
    private reposition;
    private beforeRenderBlazor;
    private addDescribedBy;
    private renderContent;
    private updateTipPosition;
    private adjustArrow;
    /**
     * Returns the module name of the blazor tooltip
     *
     * @returns {string}  Returns the module name of the blazor tooltip
     */
    getModuleName(): string;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/blazor-tooltip/collision.d.ts
/**
 * Collision module.
 */
/**
 * Provides information about a CollisionCoordinates.
 *
 * @private
 */
export interface CollisionCoordinates {
    X: boolean;
    Y: boolean;
}
/**
 * @private
 */
export  function fit(element: HTMLElement, viewPortElement?: HTMLElement, axis?: CollisionCoordinates, position?: OffsetPosition): OffsetPosition;
/**
 * @private
 */
export  function isCollide(element: HTMLElement, viewPortElement?: HTMLElement, x?: number, y?: number): string[];
/**
 * @private
 */
export  function flip(element: HTMLElement, target: HTMLElement, offsetX: number, offsetY: number, positionX: string, positionY: string, viewPortElement?: HTMLElement, axis?: CollisionCoordinates, fixedParent?: Boolean): void;
//node_modules/@syncfusion/ej2-diagrams/src/diagram/blazor-tooltip/position.d.ts
/**
 * @private
 */
export  function calculateRelativeBasedPosition(anchor: HTMLElement, element: HTMLElement): OffsetPosition;
/**
 * @private
 */
export  function calculatePosition(currentElement: Element, positionX?: string, positionY?: string, parentElement?: Boolean, targetValues?: ClientRect): OffsetPosition;
/**
 * Provides information about a OffsetPosition.
 *
 * @private
 */
export interface OffsetPosition {
    left: number;
    top: number;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/core/appearance-model.d.ts
/**
 * Interface for a class Thickness
 */
export interface ThicknessModel {
}
/**
 * Interface for a class Margin
 */
export interface MarginModel {
    /**
     * Sets the space to be left from the left side of the immediate parent of an element
     *
     * @default 0
     */
    left?: number;
    /**
     * Sets the space to be left from the right side of the immediate parent of an element
     *
     * @default 0
     */
    right?: number;
    /**
     * Sets the space to be left from the top side of the immediate parent of an element
     *
     * @default 0
     */
    top?: number;
    /**
     * Sets the space to be left from the bottom side of the immediate parent of an element
     *
     * @default 0
     */
    bottom?: number;
}
/**
 * Interface for a class Shadow
 */
export interface ShadowModel {
    /**
     * Defines the angle of Shadow
     *
     * @default 45
     */
    angle?: number;
    /**
     * Defines the distance of Shadow
     *
     * @default 5
     */
    distance?: number;
    /**
     * Defines the opacity of Shadow
     *
     * @default 0.7
     */
    opacity?: number;
    /**
     * Defines the color of Shadow
     *
     * @default ''
     */
    color?: string;
}
/**
 * Interface for a class Stop
 */
export interface StopModel {
    /**
     * Sets the color to be filled over the specified region
     *
     * @default ''
     */
    color?: string;
    /**
     * Sets the position where the previous color transition ends and a new color transition starts
     *
     * @default 0
     */
    offset?: number;
    /**
     * Describes the transparency level of the region
     *
     * @default 1
     */
    opacity?: number;
}
/**
 * Interface for a class Gradient
 */
export interface GradientModel {
    /**
     * Defines the stop collection of gradient
     *
     * @default []
     */
    stops?: StopModel[];
    /**
     * Defines the type of gradient
     * * Linear - Sets the type of the gradient as Linear
     * * Radial - Sets the type of the gradient as Radial
     *
     * @default 'None'
     */
    type?: GradientType;
    /**
     * Defines the id of gradient
     *
     * @default ''
     */
    id?: string;
}
/**
 * Interface for a class DiagramGradient
 */
export interface DiagramGradientModel extends GradientModel{
    /**
     * Defines the x1 value of linear gradient
     *
     * @default 0
     */
    x1?: number;
    /**
     * Defines the x2 value of linear gradient
     *
     * @default 0
     */
    x2?: number;
    /**
     * Defines the y1 value of linear gradient
     *
     * @default 0
     */
    y1?: number;
    /**
     * Defines the y2 value of linear gradient
     *
     * @default 0
     */
    y2?: number;
    /**
     * Defines the cx value of radial gradient
     *
     * @default 0
     */
    cx?: number;
    /**
     * Defines the cy value of radial gradient
     *
     * @default cy
     */
    cy?: number;
    /**
     * Defines the fx value of radial gradient
     *
     * @default 0
     */
    fx?: number;
    /**
     * Defines the fy value of radial gradient
     *
     * @default fy
     */
    fy?: number;
    /**
     * Defines the r value of radial gradient
     *
     * @default 50
     */
    r?: number;
}
/**
 * Interface for a class LinearGradient
 */
export interface LinearGradientModel extends GradientModel{
    /**
     * Defines the x1 value of linear gradient
     *
     * @default 0
     */
    x1?: number;
    /**
     * Defines the x2 value of linear gradient
     *
     * @default 0
     */
    x2?: number;
    /**
     * Defines the y1 value of linear gradient
     *
     * @default 0
     */
    y1?: number;
    /**
     * Defines the y2 value of linear gradient
     *
     * @default 0
     */
    y2?: number;
}
/**
 * Interface for a class RadialGradient
 */
export interface RadialGradientModel extends GradientModel{
    /**
     * Defines the cx value of radial gradient
     *
     * @default 0
     */
    cx?: number;
    /**
     * Defines the cy value of radial gradient
     *
     * @default cy
     */
    cy?: number;
    /**
     * Defines the fx value of radial gradient
     *
     * @default 0
     */
    fx?: number;
    /**
     * Defines the fy value of radial gradient
     *
     * @default fy
     */
    fy?: number;
    /**
     * Defines the r value of radial gradient
     *
     * @default 50
     */
    r?: number;
}
/**
 * Interface for a class ShapeStyle
 */
export interface ShapeStyleModel {
    /**
     * Sets the fill color of a shape/path
     *
     * @default 'white'
     */
    fill?: string;
    /**
     * Sets the stroke color of a shape/path
     *
     * @default 'black'
     */
    strokeColor?: string;
    /**
     * Defines the pattern of dashes and spaces to stroke the path/shape
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```
     *  let nodes: NodeModel[] = [{  id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100,
     * style: { fill: 'red', strokeColor: 'blue', strokeWidth: 5,
     * strokeDashArray: '2 2', opacity: 0.6 } as ShapeStyleModel,
     * }];
     * let diagram: Diagram = new Diagram({
     * ...
     *   nodes: nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default ''
     */
    strokeDashArray?: string;
    /**
     * Defines the stroke width of the path/shape
     *
     * @default 1
     */
    strokeWidth?: number;
    /**
     * Sets the opacity of a shape/path
     *
     * @default 1
     */
    opacity?: number;
    /**
     * Defines the gradient of a shape/path
     *
     * @default null
     * @aspType object
     */
    gradient?: GradientModel | LinearGradientModel | RadialGradientModel | DiagramGradientModel;
}
/**
 * Interface for a class StrokeStyle
 */
export interface StrokeStyleModel extends ShapeStyleModel{
    /**
     * Sets the fill color of a shape/path
     *
     * @default 'transparent'
     */
    fill?: string;
}
/**
 * Interface for a class TextStyle
 */
export interface TextStyleModel extends ShapeStyleModel{
    /**
     * Sets the font color of a text
     *
     * @default 'black'
     */
    color?: string;
    /**
     * Sets the font type of a text
     *
     * @default 'Arial'
     */
    fontFamily?: string;
    /**
     * Defines the font size of a text
     *
     * @default 12
     */
    fontSize?: number;
    /**
     * Enables/disables the italic style of text
     *
     * @default false
     */
    italic?: boolean;
    /**
     * Enables/disables the bold style of text
     *
     * @default false
     */
    bold?: boolean;
    /**
     * Defines how the white space and new line characters have to be handled
     * * PreserveAll - Preserves all empty spaces and empty lines
     * * CollapseSpace - Collapses the consequent spaces into one
     * * CollapseAll - Collapses all consequent empty spaces and empty lines
     *
     * @default 'CollapseSpace'
     */
    whiteSpace?: WhiteSpace;
    /**
     * Defines how the text should be wrapped, when the text size exceeds some specific bounds
     * * WrapWithOverflow - Wraps the text so that no word is broken
     * * Wrap - Wraps the text and breaks the word, if necessary
     * * NoWrap - Text will no be wrapped
     *
     * @default  'WrapWithOverflow'
     */
    textWrapping?: TextWrap;
    /**
     * Defines how the text should be aligned within its bounds
     * * Left - Aligns the text at the left of the text bounds
     * * Right - Aligns the text at the right of the text bounds
     * * Center - Aligns the text at the center of the text bounds
     * * Justify - Aligns the text in a justified manner
     *
     * @default 'Center'
     */
    textAlign?: TextAlign;
    /**
     * Defines how the text should be decorated. For example, with underline/over line
     * * Overline - Decorates the text with a line above the text
     * * Underline - Decorates the text with an underline
     * * LineThrough - Decorates the text by striking it with a line
     * * None - Text will not have any specific decoration
     *
     * @default 'None'
     */
    textDecoration?: TextDecoration;
    /**
     * Defines how to handle the text when it exceeds the given size.
     * * Wrap - Wraps the text to next line, when it exceeds its bounds
     * * Ellipsis - It truncates the overflown text and represents the clipping with an ellipsis
     * * Clip - It clips the overflow text
     *
     * @default 'Wrap'
     */
    textOverflow?: TextOverflow;
    /**
     * Sets the fill color of a shape/path
     *
     * @default 'transparent'
     */
    fill?: string;
}
/**
 * Interface for a class DiagramShapeStyle
 */
export interface DiagramShapeStyleModel {
    /**
     * Sets the fill color of a shape/path
     *
     * @default 'white'
     */
    fill?: string;
    /**
     * Defines how to handle the text when it exceeds the given size.
     * * Wrap - Wraps the text to next line, when it exceeds its bounds
     * * Ellipsis - It truncates the overflown text and represents the clipping with an ellipsis
     * * Clip - It clips the overflow text
     *
     * @default 'Wrap'
     */
    textOverflow?: TextOverflow;
    /**
     * Defines the stroke width of the path/shape
     *
     * @default 1
     */
    strokeWidth?: number;
    /**
     * Defines the gradient of a shape/path
     *
     * @default null
     * @aspType object
     */
    gradient?: GradientModel | LinearGradientModel | RadialGradientModel;
    /**
     * Sets the opacity of a shape/path
     *
     * @default 1
     */
    opacity?: number;
    /**
     * Enables/disables the italic style of text
     *
     * @default false
     */
    italic?: boolean;
    /**
     * Defines the pattern of dashes and spaces to stroke the path/shape
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```
     *  let nodes: NodeModel[] = [{  id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100,
     * style: { fill: 'red', strokeColor: 'blue', strokeWidth: 5,
     * strokeDashArray: '2 2', opacity: 0.6 } as ShapeStyleModel,
     * }];
     * let diagram: Diagram = new Diagram({
     * ...
     *   nodes: nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default ''
     */
    strokeDashArray?: string;
    /**
     * Sets the font color of a text
     *
     * @default 'black'
     */
    color?: string;
    /**
     * Defines the font size of a text
     *
     * @default 12
     */
    fontSize?: number;
    /**
     * Sets the font type of a text
     *
     * @default 'Arial'
     */
    fontFamily?: string;
    /**
     * Defines how the white space and new line characters have to be handled
     * * PreserveAll - Preserves all empty spaces and empty lines
     * * CollapseSpace - Collapses the consequent spaces into one
     * * CollapseAll - Collapses all consequent empty spaces and empty lines
     *
     * @default 'CollapseSpace'
     */
    whiteSpace?: WhiteSpace;
    /**
     * Defines how the text should be aligned within its bounds
     * * Left - Aligns the text at the left of the text bounds
     * * Right - Aligns the text at the right of the text bounds
     * * Center - Aligns the text at the center of the text bounds
     * * Justify - Aligns the text in a justified manner
     *
     * @default 'Center'
     */
    textAlign?: TextAlign;
    /**
     * Defines how the text should be decorated. For example, with underline/over line
     * * Overline - Decorates the text with a line above the text
     * * Underline - Decorates the text with an underline
     * * LineThrough - Decorates the text by striking it with a line
     * * None - Text will not have any specific decoration
     *
     * @default 'None'
     */
    textDecoration?: TextDecoration;
    /**
     * Enables/disables the bold style of text
     *
     * @default false
     */
    bold?: boolean;
    /**
     * Sets the stroke color of a shape/path
     *
     * @default 'black'
     */
    strokeColor?: string;
    /**
     * Defines how the text should be wrapped, when the text size exceeds some specific bounds
     * * WrapWithOverflow - Wraps the text so that no word is broken
     * * Wrap - Wraps the text and breaks the word, if necessary
     * * NoWrap - Text will no be wrapped
     *
     * @default  'WrapWithOverflow'
     */
    textWrapping?: TextWrap;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/core/appearance.d.ts
/**
 * Layout Model module defines the styles and types to arrange objects in containers
 */
export  class Thickness {
    /**
     * Sets the left value of the thickness
     *
     * @default 0
     */
    left: number;
    /**
     * Sets the right value of the thickness
     *
     * @default 0
     */
    right: number;
    /**
     * Sets the top value of the thickness
     *
     * @default 0
     */
    top: number;
    /**
     * Sets the bottom value of the thickness
     *
     * @default 0
     */
    bottom: number;
    constructor(left: number, right: number, top: number, bottom: number);
}
/**
 * Defines the space to be left between an object and its immediate parent
 */
export  class Margin extends base.ChildProperty<Margin> {
    /**
     * Sets the space to be left from the left side of the immediate parent of an element
     *
     * @default 0
     */
    left: number;
    /**
     * Sets the space to be left from the right side of the immediate parent of an element
     *
     * @default 0
     */
    right: number;
    /**
     * Sets the space to be left from the top side of the immediate parent of an element
     *
     * @default 0
     */
    top: number;
    /**
     * Sets the space to be left from the bottom side of the immediate parent of an element
     *
     * @default 0
     */
    bottom: number;
}
/**
 * Defines the Shadow appearance of the objects
 * ```html
 * <div id='diagram'></div>
 * ```
 * ```typescript
 *  let nodes$: NodeModel[] = [{ id: 'node2', width: 100, height: 100,
 *  constraints: NodeConstraints.Default | NodeConstraints.Shadow,
 *  shadow: { angle: 45, distance: 5, opacity: 0.7, color: 'grey'}
 * }];
 * let diagram$: Diagram = new Diagram({
 * ...
 *   nodes: nodes,
 * ...
 * });
 * diagram.appendTo('#diagram');
 * ```
 */
export  class Shadow extends base.ChildProperty<Shadow> {
    /**
     * Defines the angle of Shadow
     *
     * @default 45
     */
    angle: number;
    /**
     * Defines the distance of Shadow
     *
     * @default 5
     */
    distance: number;
    /**
     * Defines the opacity of Shadow
     *
     * @default 0.7
     */
    opacity: number;
    /**
     * Defines the color of Shadow
     *
     * @default ''
     */
    color: string;
}
/**
 * Defines the different colors and the region of color transitions
 * ```html
 * <div id='diagram'></div>
 * ```
 * ```typescript
 * let stopscol: StopModel[] = [];
 * let stops1: StopModel = { color: 'white', offset: 0, opacity: 0.7 };
 * stopscol.push(stops1);
 * let stops2: StopModel = { color: 'red', offset: 0, opacity: 0.3 };
 * stopscol.push(stops2);
 * let gradient: RadialGradientModel = { cx: 50, cy: 50, fx: 50, fy: 50, stops: stopscol, type: 'Radial' };
 * let nodes$: NodeModel[] = [{ id: 'node1', width: 100, height: 100,
 * style: { gradient: gradient }
 * }];
 * let diagram$: Diagram = new Diagram({
 * ...
 *   nodes: nodes,
 * ...
 * });
 * diagram.appendTo('#diagram');
 * ```
 */
export  class Stop extends base.ChildProperty<Stop> {
    /**
     * Sets the color to be filled over the specified region
     *
     * @default ''
     */
    color: string;
    /**
     * Sets the position where the previous color transition ends and a new color transition starts
     *
     * @default 0
     */
    offset: number;
    /**
     * Describes the transparency level of the region
     *
     * @default 1
     */
    opacity: number;
    /**
     * @private
     * Returns the name of class Stop
     */
    getClassName(): string;
}
/**
 * Paints the node with a smooth transition from one color to another color
 */
export  class Gradient extends base.ChildProperty<Gradient> {
    /**
     * Defines the stop collection of gradient
     *
     * @default []
     */
    stops: StopModel[];
    /**
     * Defines the type of gradient
     * * Linear - Sets the type of the gradient as Linear
     * * Radial - Sets the type of the gradient as Radial
     *
     * @default 'None'
     */
    type: GradientType;
    /**
     * Defines the id of gradient
     *
     * @default ''
     */
    id: string;
}
/**
 * Defines the linear gradient of styles
 * ```html
 * <div id='diagram'></div>
 * ```
 * ```typescript
 * let stopscol: StopModel[] = [];
 * let stops1: StopModel = { color: 'white', offset: 0, opacity: 0.7 };
 * stopscol.push(stops1);
 * let stops2: StopModel = { color: 'red', offset: 0, opacity: 0.3 };
 * stopscol.push(stops2);
 * let gradient: LinearGradientModel = { x1: 0, x2: 50, y1: 0, y2: 50, stops: stopscol, type: 'Linear' };
 * let nodes$: NodeModel[] = [{ id: 'node1', width: 100, height: 100,
 * style: { gradient: gradient }
 * }];
 * let diagram$: Diagram = new Diagram({
 * ...
 *   nodes: nodes,
 * ...
 * });
 * diagram.appendTo('#diagram');
 * ```
 */
/**
 * Paints the node with linear color transitions
 */
export  class DiagramGradient extends Gradient {
    /**
     * Defines the x1 value of linear gradient
     *
     * @default 0
     */
    x1: number;
    /**
     * Defines the x2 value of linear gradient
     *
     * @default 0
     */
    x2: number;
    /**
     * Defines the y1 value of linear gradient
     *
     * @default 0
     */
    y1: number;
    /**
     * Defines the y2 value of linear gradient
     *
     * @default 0
     */
    y2: number;
    /**
     * Defines the cx value of radial gradient
     *
     * @default 0
     */
    cx: number;
    /**
     * Defines the cy value of radial gradient
     *
     * @default cy
     */
    cy: number;
    /**
     * Defines the fx value of radial gradient
     *
     * @default 0
     */
    fx: number;
    /**
     * Defines the fy value of radial gradient
     *
     * @default fy
     */
    fy: number;
    /**
     * Defines the r value of radial gradient
     *
     * @default 50
     */
    r: number;
}
/**
 * Paints the node with linear color transitions
 */
export  class LinearGradient extends Gradient {
    /**
     * Defines the x1 value of linear gradient
     *
     * @default 0
     */
    x1: number;
    /**
     * Defines the x2 value of linear gradient
     *
     * @default 0
     */
    x2: number;
    /**
     * Defines the y1 value of linear gradient
     *
     * @default 0
     */
    y1: number;
    /**
     * Defines the y2 value of linear gradient
     *
     * @default 0
     */
    y2: number;
}
/**
 * A focal point defines the beginning of the gradient, and a circle defines the end point of the gradient
 * ```html
 * <div id='diagram'></div>
 * ```
 * ```typescript
 * let stopscol: StopModel[] = [];
 * let stops1: StopModel = { color: 'white', offset: 0, opacity: 0.7 };
 * stopscol.push(stops1);
 * let stops2: StopModel = { color: 'red', offset: 0, opacity: 0.3 };
 * stopscol.push(stops2);
 * let gradient: RadialGradientModel = { cx: 50, cy: 50, fx: 50, fy: 50, stops: stopscol, type: 'Radial' };
 * let nodes$: NodeModel[] = [{ id: 'node1', width: 100, height: 100,
 * style: { gradient: gradient }
 * }];
 * let diagram$: Diagram = new Diagram({
 * ...
 *   nodes: nodes,
 * ...
 * });
 * diagram.appendTo('#diagram');
 * ```
 */
export  class RadialGradient extends Gradient {
    /**
     * Defines the cx value of radial gradient
     *
     * @default 0
     */
    cx: number;
    /**
     * Defines the cy value of radial gradient
     *
     * @default cy
     */
    cy: number;
    /**
     * Defines the fx value of radial gradient
     *
     * @default 0
     */
    fx: number;
    /**
     * Defines the fy value of radial gradient
     *
     * @default fy
     */
    fy: number;
    /**
     * Defines the r value of radial gradient
     *
     * @default 50
     */
    r: number;
}
/**
 * Defines the style of shape/path
 */
export  class ShapeStyle extends base.ChildProperty<ShapeStyle> {
    /**
     * Sets the fill color of a shape/path
     *
     * @default 'white'
     */
    fill: string;
    /**
     * Sets the stroke color of a shape/path
     *
     * @default 'black'
     */
    strokeColor: string;
    /**
     * Defines the pattern of dashes and spaces to stroke the path/shape
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```
     *  let nodes$: NodeModel[] = [{  id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100,
     * style: { fill: 'red', strokeColor: 'blue', strokeWidth: 5,
     * strokeDashArray: '2 2', opacity: 0.6 } as ShapeStyleModel,
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     *   nodes: nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default ''
     */
    strokeDashArray: string;
    /**
     * Defines the stroke width of the path/shape
     *
     * @default 1
     */
    strokeWidth: number;
    /**
     * Sets the opacity of a shape/path
     *
     * @default 1
     */
    opacity: number;
    /**
     * Defines the gradient of a shape/path
     *
     * @default null
     * @aspType object
     */
    gradient: GradientModel | LinearGradientModel | RadialGradientModel | DiagramGradientModel;
}
/**
 * Defines the stroke style of a path
 */
export  class StrokeStyle extends ShapeStyle {
    /**
     * Sets the fill color of a shape/path
     *
     * @default 'transparent'
     */
    fill: string;
}
/**
 * Defines the appearance of text
 * ```html
 * <div id='diagram'></div>
 * ```
 * ```typescript
 * let style: TextStyleModel = { strokeColor: 'black', opacity: 0.5, whiteSpace:'CollapseSpace', strokeWidth: 1 };
 * let node: NodeModel;
 * node = {
 * ...
 * id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100,
 * annotations : [{
 * content: 'text', style: style }];
 * ...
 * };
 * let diagram$: Diagram = new Diagram({
 * ...
 *   nodes: [node],
 * ...
 * });
 * diagram.appendTo('#diagram');
 * ```
 */
export  class TextStyle extends ShapeStyle {
    /**
     * Sets the font color of a text
     *
     * @default 'black'
     */
    color: string;
    /**
     * Sets the font type of a text
     *
     * @default 'Arial'
     */
    fontFamily: string;
    /**
     * Defines the font size of a text
     *
     * @default 12
     */
    fontSize: number;
    /**
     * Enables/disables the italic style of text
     *
     * @default false
     */
    italic: boolean;
    /**
     * Enables/disables the bold style of text
     *
     * @default false
     */
    bold: boolean;
    /**
     * Defines how the white space and new line characters have to be handled
     * * PreserveAll - Preserves all empty spaces and empty lines
     * * CollapseSpace - Collapses the consequent spaces into one
     * * CollapseAll - Collapses all consequent empty spaces and empty lines
     *
     * @default 'CollapseSpace'
     */
    whiteSpace: WhiteSpace;
    /**
     * Defines how the text should be wrapped, when the text size exceeds some specific bounds
     * * WrapWithOverflow - Wraps the text so that no word is broken
     * * Wrap - Wraps the text and breaks the word, if necessary
     * * NoWrap - Text will no be wrapped
     *
     * @default  'WrapWithOverflow'
     */
    textWrapping: TextWrap;
    /**
     * Defines how the text should be aligned within its bounds
     * * Left - Aligns the text at the left of the text bounds
     * * Right - Aligns the text at the right of the text bounds
     * * Center - Aligns the text at the center of the text bounds
     * * Justify - Aligns the text in a justified manner
     *
     * @default 'Center'
     */
    textAlign: TextAlign;
    /**
     * Defines how the text should be decorated. For example, with underline/over line
     * * Overline - Decorates the text with a line above the text
     * * Underline - Decorates the text with an underline
     * * LineThrough - Decorates the text by striking it with a line
     * * None - Text will not have any specific decoration
     *
     * @default 'None'
     */
    textDecoration: TextDecoration;
    /**
     * Defines how to handle the text when it exceeds the given size.
     * * Wrap - Wraps the text to next line, when it exceeds its bounds
     * * Ellipsis - It truncates the overflown text and represents the clipping with an ellipsis
     * * Clip - It clips the overflow text
     *
     * @default 'Wrap'
     */
    textOverflow: TextOverflow;
    /**
     * Sets the fill color of a shape/path
     *
     * @default 'transparent'
     */
    fill: string;
}
/**
 * Defines the style of shape/path
 */
export  class DiagramShapeStyle extends base.ChildProperty<DiagramShapeStyle> {
    /**
     * Sets the fill color of a shape/path
     *
     * @default 'white'
     */
    fill: string;
    /**
     * Defines how to handle the text when it exceeds the given size.
     * * Wrap - Wraps the text to next line, when it exceeds its bounds
     * * Ellipsis - It truncates the overflown text and represents the clipping with an ellipsis
     * * Clip - It clips the overflow text
     *
     * @default 'Wrap'
     */
    textOverflow: TextOverflow;
    /**
     * Defines the stroke width of the path/shape
     *
     * @default 1
     */
    strokeWidth: number;
    /**
     * Defines the gradient of a shape/path
     *
     * @default null
     * @aspType object
     */
    gradient: GradientModel | LinearGradientModel | RadialGradientModel;
    /**
     * Sets the opacity of a shape/path
     *
     * @default 1
     */
    opacity: number;
    /**
     * Enables/disables the italic style of text
     *
     * @default false
     */
    italic: boolean;
    /**
     * Defines the pattern of dashes and spaces to stroke the path/shape
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```
     *  let nodes$: NodeModel[] = [{  id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100,
     * style: { fill: 'red', strokeColor: 'blue', strokeWidth: 5,
     * strokeDashArray: '2 2', opacity: 0.6 } as ShapeStyleModel,
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     *   nodes: nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default ''
     */
    strokeDashArray: string;
    /**
     * Sets the font color of a text
     *
     * @default 'black'
     */
    color: string;
    /**
     * Defines the font size of a text
     *
     * @default 12
     */
    fontSize: number;
    /**
     * Sets the font type of a text
     *
     * @default 'Arial'
     */
    fontFamily: string;
    /**
     * Defines how the white space and new line characters have to be handled
     * * PreserveAll - Preserves all empty spaces and empty lines
     * * CollapseSpace - Collapses the consequent spaces into one
     * * CollapseAll - Collapses all consequent empty spaces and empty lines
     *
     * @default 'CollapseSpace'
     */
    whiteSpace: WhiteSpace;
    /**
     * Defines how the text should be aligned within its bounds
     * * Left - Aligns the text at the left of the text bounds
     * * Right - Aligns the text at the right of the text bounds
     * * Center - Aligns the text at the center of the text bounds
     * * Justify - Aligns the text in a justified manner
     *
     * @default 'Center'
     */
    textAlign: TextAlign;
    /**
     * Defines how the text should be decorated. For example, with underline/over line
     * * Overline - Decorates the text with a line above the text
     * * Underline - Decorates the text with an underline
     * * LineThrough - Decorates the text by striking it with a line
     * * None - Text will not have any specific decoration
     *
     * @default 'None'
     */
    textDecoration: TextDecoration;
    /**
     * Enables/disables the bold style of text
     *
     * @default false
     */
    bold: boolean;
    /**
     * Sets the stroke color of a shape/path
     *
     * @default 'black'
     */
    strokeColor: string;
    /**
     * Defines how the text should be wrapped, when the text size exceeds some specific bounds
     * * WrapWithOverflow - Wraps the text so that no word is broken
     * * Wrap - Wraps the text and breaks the word, if necessary
     * * NoWrap - Text will no be wrapped
     *
     * @default  'WrapWithOverflow'
     */
    textWrapping: TextWrap;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/core/containers/canvas.d.ts
/**
 * Canvas module is used to define a plane(canvas) and to arrange the children based on margin
 */
export  class Canvas extends Container {
    /**
     * Not applicable for canvas
     *
     *  @private
     */
    measureChildren: boolean;
    /**
     * Measures the minimum space that the canvas requires \
     *
     * @returns { Size } Measures the minimum space that the canvas requires .\
     * @param {string} id - provide the id value.
     * @param {Function} callback - provide the Connector value.
     *
     * @private
     */
    measure(availableSize: Size, id?: string, callback?: Function): Size;
    /**
     * Arranges the child elements of the canvas
     */
    arrange(desiredSize: Size, isStack?: boolean): Size;
    private alignChildBasedOnParent;
    private alignChildBasedOnaPoint;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/core/containers/container.d.ts
/**
 * Container module is used to group related objects
 */
export  class Container extends DiagramElement {
    /**
     * Gets/Sets the space between the container and its immediate children
     */
    padding: Thickness;
    /**
     * Gets/Sets the collection of child elements
     */
    children: DiagramElement[];
    private desiredBounds;
    /** @private */
    measureChildren: boolean;
    /**
     * returns whether the container has child elements or not
     */
    hasChildren(): boolean;
    /**   @private  */
    prevRotateAngle: number;
    /**
     * Measures the minimum space that the container requires
     *
     * @param {Size} availableSize
     * @param {string} id
     * @param {Function} callback
     */
    measure(availableSize: Size, id?: string, callback?: Function): Size;
    /**
     * Arranges the container and its children
     *
     * @param {Size} desiredSize  - provide the desiredSize value
     */
    arrange(desiredSize: Size): Size;
    /**
     * Stretches the child elements based on the size of the container
     *
     * @param {Size} size  - provide the size value
     */
    protected stretchChildren(size: Size): void;
    /**
     * Considers the padding of the element when measuring its desired size
     * @param {Size} size- provide the size value
     */
    protected applyPadding(size: Size): void;
    /**
     * Finds the offset of the child element with respect to the container
     *
     * @param {DiagramElement} child - provide the child value
     * @param {PointModel} center- provide the center value
     */
    protected findChildOffsetFromCenter(child: DiagramElement, center: PointModel): void;
    private GetChildrenBounds;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/core/containers/grid.d.ts
/**
 * Grid panel is used to arrange the children in a table like structure
 */
export  class GridPanel extends Container {
    private childTable;
    /**
     * rowDefinitions method \
     *
     * @returns { RowDefinition[] } columnDefinitions method .\
     *
     * @private
     */
    rowDefinitions(): RowDefinition[];
    private rowDefns;
    /**
     * columnDefinitions method \
     *
     * @returns { ColumnDefinition[] } columnDefinitions method .\
     *
     * @private
     */
    columnDefinitions(): ColumnDefinition[];
    private colDefns;
    /** @private */
    rows: GridRow[];
    cellStyle: ShapeStyleModel;
    private desiredRowHeight;
    private desiredCellWidth;
    addObject(obj: DiagramElement, rowId?: number, columnId?: number, rowSpan?: number, columnSpan?: number): void;
    private addObjectToCell;
    /**
     * updateProperties method \
     *
     * @returns { void } updateProperties method .\
     * @param {number} offsetX - provide the Connector value.
     * @param {number} offsetY - provide the Connector value.
     * @param {number} width - provide the Connector value.
     * @param {number} height - provide the Connector value.
     *
     * @private
     */
    updateProperties(offsetX: number, offsetY: number, width: number, height: number): void;
    /**
     * setDefinitions method \
     *
     * @returns { void } setDefinitions method .\
     * @param {RowDefinition[]} rows - provide the rows value.
     * @param {ColumnDefinition[]} columns - provide the Connector value.
     *
     * @private
     */
    setDefinitions(rows: RowDefinition[], columns: ColumnDefinition[]): void;
    /**
     * addCellInRow method \
     *
     * @returns { void } addCellInRow method .\
     * @param {ColumnDefinition[]} columns - provide the rows value.
     * @param {RowDefinition} rowDefn - provide the Connector value.
     * @param {GridRow} row - provide the Connector value.
     *
     * @private
     */
    private addCellInRow;
    /**
     * calculateSize method \
     *
     * @returns { void } calculateSize method .\
     *
     * @private
     */
    private calculateSize;
    /**
     * updateRowHeight method \
     *
     * @returns { void } updateRowHeight method .\
     * @param {number} rowId - provide the rows value.
     * @param {number} height - provide the Connector value.
     * @param {boolean} isConsiderChild - provide the Connector value.
     * @param {number} padding - provide the Connector value.
     *
     * @private
     */
    updateRowHeight(rowId: number, height: number, isConsiderChild: boolean, padding?: number): void;
    private setTextRefresh;
    /**
     * updateColumnWidth method \
     *
     * @returns { void } updateColumnWidth method .\
     * @param {number} colId - provide the rows value.
     * @param {number} width - provide the Connector value.
     * @param {boolean} isConsiderChild - provide the Connector value.
     * @param {number} padding - provide the Connector value.
     *
     * @private
     */
    updateColumnWidth(colId: number, width: number, isConsiderChild: boolean, padding?: number): void;
    private calculateCellWidth;
    private calculateCellHeight;
    private calculateCellSizeBasedOnChildren;
    private calculateCellWidthBasedOnChildren;
    private calculateCellHeightBasedOnChildren;
    /**
     * addRow method \
     *
     * @returns { void } addRow method .\
     * @param {number} rowId - provide the rowId value.
     * @param {number} rowDefn - provide the rowDefn value.
     * @param {boolean} isMeasure - provide the isMeasure value.
     *
     * @private
     */
    addRow(rowId: number, rowDefn: RowDefinition, isMeasure: boolean): void;
    /**
     * addColumn method \
     *
     * @returns { void } addColumn method .\
     * @param {number} columnId - provide the rowId value.
     * @param {number} column - provide the rowDefn value.
     * @param {boolean} isMeasure - provide the isMeasure value.
     *
     * @private
     */
    addColumn(columnId: number, column: ColumnDefinition, isMeasure?: boolean): void;
    /**
     * removeRow method \
     *
     * @returns { void } removeRow method .\
     * @param {number} rowId - provide the rowId value.
     *
     * @private
     */
    removeRow(rowId: number): void;
    /**
     * removeColumn method \
     *
     * @returns { void } removeColumn method .\
     * @param {number} columnId - provide the rowId value.
     *
     * @private
     */
    removeColumn(columnId: number): void;
    /**
     * updateRowIndex method \
     *
     * @returns { void } updateRowIndex method .\
     * @param {number} currentIndex - provide the rowId value.
     * @param {number} newIndex - provide the rowId value.
     *
     * @private
     */
    updateRowIndex(currentIndex: number, newIndex: number): void;
    /**
     * updateColumnIndex method \
     *
     * @returns { void } updateColumnIndex method .\
     * @param {number} startRowIndex - provide the startRowIndex value.
     * @param {number} currentIndex - provide the currentIndex value.
     * @param {number} newIndex - provide the newIndex value.
     *
     * @private
     */
    updateColumnIndex(startRowIndex: number, currentIndex: number, newIndex: number): void;
    /**
     * measure method \
     *
     * @returns { Size } measure method .\
     * @param {Size} availableSize - provide the startRowIndex value.
     *
     * @private
     */
    measure(availableSize: Size): Size;
    /**
     * arrange method \
     *
     * @returns { Size } arrange method .\
     * @param {Size} desiredSize - provide the startRowIndex value.
     * @param {boolean} isChange - provide the startRowIndex value.
     *
     * @private
     */
    arrange(desiredSize: Size, isChange?: boolean): Size;
}
/**
 * Defines the behavior of the RowDefinition of node
 */
export  class RowDefinition {
    /** returns the height of node */
    height: number;
}
/**
 * Defines the behavior of the ColumnDefinition of node
 */
export  class ColumnDefinition {
    /** returns the width of node */
    width: number;
}
/** @private */
export  class GridRow {
    cells: GridCell[];
}
/** @private */
export  class GridCell extends Canvas {
    columnSpan: number;
    rowSpan: number;
    desiredCellWidth: number;
    desiredCellHeight: number;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/core/containers/stack-panel.d.ts
/**
 * StackPanel module is used to arrange its children in a line
 */
export  class StackPanel extends Container {
    /**
     * Gets/Sets the orientation of the stack panel
     */
    orientation: Orientation;
    /**
     * Not applicable for canvas
     * to avoid the child size updation with respect to parent ser true
     *
     * @private
     */
    measureChildren: boolean;
    /**
     * Sets or gets whether the padding of the element needs to be measured
     *
     * @private
     */
    considerPadding: boolean;
    /**
     * Measures the minimum space that the panel needs \
     *
     * @returns { Size } Measures the minimum space that the panel needs.\
     * @param {Size} availableSize - provide the id value.
     *
     * @private
     */
    measure(availableSize: Size): Size;
    /**
     * Arranges the child elements of the stack panel \
     *
     * @returns { Size } Arranges the child elements of the stack panel.\
     * @param {Size} desiredSize - provide the id value.
     *
     * @private
     */
    arrange(desiredSize: Size): Size;
    /**
     * Measures the minimum space that the panel needs \
     *
     * @returns { Size } Measures the minimum space that the panel needs.\
     * @param {Size} availableSize - provide the id value.
     * @param {Function} updateSize - provide the id value.
     *
     * @private
     */
    private measureStackPanel;
    private arrangeStackPanel;
    private updateHorizontalStack;
    private updateVerticalStack;
    private arrangeHorizontalStack;
    private arrangeVerticalStack;
    protected stretchChildren(size: Size): void;
    private applyChildMargin;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/core/elements/diagram-element.d.ts
/**
 * DiagramElement module defines the basic unit of diagram
 */
export  class DiagramElement {
    /**
     * Sets the unique id of the element
     */
    id: string;
    /**
     * Sets/Gets the reference point of the element
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let stackPanel: StackPanel = new StackPanel();
     * stackPanel.offsetX = 300;
 stackPanel.offsetY = 200;
     * stackPanel.width = 100;
 stackPanel.height = 100;
     * stackPanel.style.fill = 'red';
     * stackPanel.pivot = { x: 0.5, y: 0.5 };
     * let diagram$: Diagram = new Diagram({
     * ...
     * basicElements: [stackPanel],
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     */
    pivot: PointModel;
    /**
     * Sets or gets whether the content of the element needs to be measured
     */
    protected isDirt: boolean;
    /**
     * set to true during print and eport
     */
    /** @private */
    isExport: boolean;
    /**
     * set scaling value for print and export
     */
    /** @private */
    exportScaleValue: PointModel;
    /**
     * set scaling value for print and export
     */
    /** @private */
    exportScaleOffset: PointModel;
    /**
     * Check whether style need to be apply or not
     */
    /** @private */
    canApplyStyle: boolean;
    /**
     * Sets or gets whether the content of the element to be visible
     */
    visible: boolean;
    /**
     * Sets/Gets the x-coordinate of the element
     */
    offsetX: number;
    /**
     * Sets/Gets the y-coordinate of the element
     */
    offsetY: number;
    /**
     * Set the corner of the element
     */
    cornerRadius: number;
    /**
     * Sets/Gets the minimum height of the element
     */
    minHeight: number;
    /**
     * Sets/Gets the minimum width of the element
     */
    minWidth: number;
    /**
     * Sets/Gets the maximum width of the element
     */
    maxWidth: number;
    /**
     * Sets/Gets the maximum height of the element
     */
    maxHeight: number;
    /**
     * Sets/Gets the width of the element
     */
    width: number;
    /**
     * Sets/Gets the height of the element
     */
    height: number;
    /**
     * Sets/Gets the rotate angle of the element
     */
    rotateAngle: number;
    /**
     * Sets/Gets the margin of the element
     */
    margin: MarginModel;
    /**
     * Sets/Gets how the element has to be horizontally arranged with respect to its immediate parent
     * * Stretch - Stretches the diagram element throughout its immediate parent
     * * Left - Aligns the diagram element at the left of its immediate parent
     * * Right - Aligns the diagram element at the right of its immediate parent
     * * Center - Aligns the diagram element at the center of its immediate parent
     * * Auto - Aligns the diagram element based on the characteristics of its immediate parent
     */
    horizontalAlignment: HorizontalAlignment;
    /**
     * Sets/Gets how the element has to be vertically arranged with respect to its immediate parent
     * * Stretch - Stretches the diagram element throughout its immediate parent
     * * Top - Aligns the diagram element at the top of its immediate parent
     * * Bottom - Aligns the diagram element at the bottom of its immediate parent
     * * Center - Aligns the diagram element at the center of its immediate parent
     * * Auto - Aligns the diagram element based on the characteristics of its immediate parent
     */
    verticalAlignment: VerticalAlignment;
    /**
     * Sets/Gets the mirror image of diagram element in both horizontal and vertical directions
     * * FlipHorizontal - Translate the diagram element throughout its immediate parent
     * * FlipVertical - Rotate the diagram element throughout its immediate parent
     */
    flip: FlipDirection;
    /**
     * Sets whether the element has to be aligned with respect to a point/with respect to its immediate parent
     * * Point - Diagram elements will be aligned with respect to a point
     * * Object - Diagram elements will be aligned with respect to its immediate parent
     */
    relativeMode: RelativeMode;
    /**
     * Sets whether the element has to be transformed based on its parent or not
     * * Self - Sets the transform type as Self
     * * Parent - Sets the transform type as Parent
     */
    transform: Transform;
    /**
     * Sets the style of the element
     */
    style: ShapeStyleModel;
    /**
     * Gets the parent id for the element
     */
    parentId: string;
    /**
     * Gets the minimum size that is required by the element
     */
    desiredSize: Size;
    /**
     * Gets the size that the element will be rendered
     */
    actualSize: Size;
    /**
     * Gets the rotate angle that is set to the immediate parent of the element
     */
    parentTransform: number;
    /** @private */
    preventContainer: boolean;
    /**
     * Gets/Set the boolean value for the element
     */
    isSvgRender: boolean;
    /**
     * Gets/Sets the boundary of the element
     */
    bounds: Rect;
    /**
     * Gets/Sets the corners of the rectangular bounds
     */
    corners: Corners;
    /**
     * Defines the appearance of the shadow of the element
     */
    shadow: ShadowModel;
    /**
     * Defines the description of the diagram element
     */
    description: string;
    /**
     * Defines whether the element has to be measured or not
     */
    staticSize: boolean;
    /**
     * Defines the shape of the diagram element
     */
    shapeType: string;
    /**
     * check whether the element is rect or not
     */
    isRectElement: boolean;
    /** @private */
    isCalculateDesiredSize: boolean;
    /**
     * Set the offset values for container in flipping
     */
    /** @private */
    flipOffset: PointModel;
    /**
     * Defines whether the element is group or port
     */
    /** @private */
    elementActions: ElementAction;
    /** @private */
    inversedAlignment: boolean;
    /**
     * Sets the offset of the element with respect to its parent \
     *
     * @returns { void }Sets the offset of the element with respect to its parent\
     * @param {number} x - provide the x value.
     * @param {number} y - provide the y value.
     * @param {UnitMode} mode - provide the id value.
     *
     * @private
     */
    setOffsetWithRespectToBounds(x: number, y: number, mode: UnitMode): void;
    /**
     * Gets the position of the element with respect to its parent \
     *
     * @returns { PointModel } Gets the position of the element with respect to its parent\
     * @param {Size} size - provide the x value.
     *
     * @private
     */
    getAbsolutePosition(size: Size): PointModel;
    private position;
    private unitMode;
    /**   @private  */
    float: boolean;
    /**
    * used to set the outer bounds value \
    *
    * @returns { void } used to set the outer bounds value.\
    * @param {Rect} bounds - provide the id value.
    *
    * @private
    */
    outerBounds: Rect;
    private floatingBounds;
    /**
     * Measures the minimum space that the element requires \
     *
     * @returns { void } Measures the minimum space that the element requires.\
     * @param {Size} availableSize - provide the id value.
     * @param {Object} obj - provide the id value.
     * @param {Function} callback - provide the id value.
     *
     * @private
     */
    measure(availableSize: Size, obj?: Object, callback?: Function): Size;
    /**
     * Arranges the element \
     *
     * @returns { PointModel } Arranges the element\
     * @param {Size} desiredSize - provide the x value.
     *
     * @private
     */
    arrange(desiredSize: Size): Size;
    /**
     * Updates the bounds of the element \
     *
     * @returns { void } Updates the bounds of the element\
     *
     * @private
     */
    updateBounds(): void;
    /**
     * Validates the size of the element with respect to its minimum and maximum size \
     *
     * @returns { Size } Validates the size of the element with respect to its minimum and maximum size.\
     * @param {Size} desiredSize - provide the id value.
     * @param {Size} availableSize - provide the id value.
     *
     * @private
     */
    protected validateDesiredSize(desiredSize: Size, availableSize: Size): Size;
}
/**
 * Interface for a class corners
 */
export interface Corners {
    /** returns the top left point of canvas corner */
    topLeft: PointModel;
    /** returns the top center point of canvas corner */
    topCenter: PointModel;
    /** returns the top right point of canvas corner */
    topRight: PointModel;
    /** returns the middle left point of canvas corner */
    middleLeft: PointModel;
    /** returns the center point of canvas corner */
    center: PointModel;
    /** returns the middle left point of canvas corner */
    middleRight: PointModel;
    /** returns the bottom left point of canvas corner */
    bottomLeft: PointModel;
    /** returns the bottom center point of canvas corner */
    bottomCenter: PointModel;
    /** returns the bottom right point of canvas corner */
    bottomRight: PointModel;
    /** returns left position of canvas corner */
    left: number;
    /** returns right position of canvas corner */
    right: number;
    /** returns top position of canvas corner */
    top: number;
    /** returns bottom position of canvas corner */
    bottom: number;
    /** returns width of canvas */
    width: number;
    /** returns height of canvas */
    height: number;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/core/elements/html-element.d.ts
/**
 * HTMLElement defines the basic html elements
 */
export  class DiagramHtmlElement extends DiagramElement {
    /**
     * set the id for each element \
     *
     * @returns { void }set the id for each element\
     * @param {string} nodeId - provide the x value.
     * @param {string} diagramId - provide the y value.
     * @param {string} annotationId - provide the id value.
     * @param {string} nodeTemplate - provide the id value.
     *
     * @private
     */
    constructor(nodeId: string, diagramId: string, annotationId?: string, nodeTemplate?: string);
    /**
     * getNodeTemplate method \
     *
     * @returns { Function } getNodeTemplate method .\
     *
     * @private
     */
    getNodeTemplate(): Function;
    private templateFn;
    private data;
    /**
     * Gets the node id for the element
     */
    nodeId: string;
    /**
     * check whether it is html element or not
     *
     * @private
     */
    isTemplate: boolean;
    /**
     * defines the id of the annotation on rendering template on label.
     * @private
     */
    annotationId: string;
    /**
     * defines the constraints of the annotation on rendering template on label.
     *
     * @private
     */
    constraints: AnnotationConstraints;
    /**
     * Gets the diagram id for the html element
     */
    diagramId: string;
    /**
     * Specifies whether the getcontent has to be executed or not.
     */
    private canReset;
    /**
     * Gets or sets the geometry of the html element \
     *
     * @returns { string | HTMLElement } Gets or sets the geometry of the html element \
     *
     * @private
     */
    /**
    * Gets or sets the value of the html element \
    *
    * @returns { void }Gets or sets the value of the html element\
    * @param {string | HTMLElement} value - provide the value value.
    *
    * @private
    */
    content: string | HTMLElement;
    /**
     * defines geometry of the html element
     *
     * @private
     */
    template: HTMLElement;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/core/elements/image-element.d.ts
/**
 * ImageElement defines a basic image elements
 */
export  class ImageElement extends DiagramElement {
    /**
     * set the id for each element
     */
    constructor();
    /**
     * sets or gets the image source
     */
    private imageSource;
    /**
     * Gets the source for the image element
     */
    /**
     * Gets the source for the image element \
     *
     * @returns { void }Gets the source for the image element.\
     *
     * @private
     */
    /**
    * Sets the source for the image element \
    *
    * @returns { void }Sets the source for the image element.\
    * @param {string} value - provide the id value.
    *
    * @private
    */
    source: string;
    /**
     * sets scaling factor of the image
     */
    imageScale: Scale;
    /**
     * sets the alignment of the image
     */
    imageAlign: ImageAlignment;
    /**
     * Sets how to stretch the image
     */
    stretch: Stretch;
    /**
     * Saves the actual size of the image
     */
    contentSize: Size;
    /**
     * Measures minimum space that is required to render the image \
     *
     * @returns { Size }Measures minimum space that is required to render the image.\
     * @param {Size} availableSize - provide the id value.
     * @param {Object} id - provide the id value.
     * @param {Function} callback - provide the id value.
     *
     * @private
     */
    measure(availableSize: Size, id?: string, callback?: Function): Size;
    /**
     * Arranges the image
     * @param {Size} desiredSize
     */
    /**
     * Arranges the image \
     *
     * @returns { Size }Arranges the image.\
     * @param {Size} desiredSize - provide the id value.
     *
     * @private
     */
    arrange(desiredSize: Size): Size;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/core/elements/native-element.d.ts
/**
 * NativeElement defines the basic native elements
 */
export  class DiagramNativeElement extends DiagramElement {
    /**
     *  set the id for each element \
     *
     * @returns { void } set the id for each element.\
     * @param {string} nodeId - provide the id value.
     * @param {string} diagramId - provide the id value.
     *
     * @private
     */
    constructor(nodeId: string, diagramId: string);
    private data;
    /**
     * set the node id
     */
    nodeId: string;
    /**
     * set the diagram id
     */
    diagramId: string;
    /**
     *  get the id for each element \
     *
     * @returns { string | SVGElement } get the id for each element.\
     *
     * @private
     */
    /**
    *  sets the geometry of the native element \
    *
    * @returns { void } sets the geometry of the native element.\
    * @param {string | SVGElement} value - provide the id value.
    *
    * @private
    */
    content: string | SVGElement;
    /**
     * defines geometry of the native element
     *
     * @private
     */
    template: SVGElement;
    /**
     * sets scaling factor of the Native Element
     */
    scale: Stretch;
    /**
     * Saves the actual size of the Native Element
     *
     * @private
     */
    contentSize: Size;
    /**
     * Specifies whether the getcontent has to be executed or not.
     */
    private canReset;
    /**
     * Saves the top left point of the Native Element
     *
     * @private
     */
    templatePosition: PointModel;
    /**
     *Measures minimum space that is required to render the Native Element \
     *
     * @returns { Size }Measures minimum space that is required to render the Native Element.\
     * @param {Size} availableSize - provide the id value.
     *
     * @private
     */
    measure(availableSize: Size): Size;
    /**
     *Arranges the Native Element \
     *
     * @returns { Size }Arranges the Native Element.\
     * @param {Size} desiredSize - provide the id value.
     *
     * @private
     */
    arrange(desiredSize: Size): Size;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/core/elements/path-element.d.ts
/**
 * PathElement takes care of how to align the path based on offsetX and offsetY
 */
export  class PathElement extends DiagramElement {
    /**
     * set the id for each element
     */
    constructor();
    /**
     * Gets or sets the geometry of the path element
     */
    private pathData;
    /**
     *   Gets the geometry of the path element\
     *
     * @returns { string | SVGElement }  Gets the geometry of the path element.\
     *
     * @private
     */
    /**
    *  Sets the geometry of the path element \
    *
    * @returns { void } Sets the geometry of the path element.\
    * @param {string} value - provide the id value.
    *
    * @private
    */
    data: string;
    /**
     * Gets/Sets whether the path has to be transformed to fit the given x,y, width, height
     */
    transformPath: boolean;
    /**
     * Gets/Sets the equivalent path, that will have the origin as 0,0
     */
    absolutePath: string;
    /**   @private  */
    canMeasurePath: boolean;
    /**   @private  */
    absoluteBounds: Rect;
    private points;
    private pointTimer;
    /**
     * getPoints methods  \
     *
     * @returns { PointModel[] } Sets the geometry of the path element.\
     *
     * @private
     */
    getPoints(): PointModel[];
    /**
     * Measures the minimum space that is required to render the element  \
     *
     * @returns { Size } Measures the minimum space that is required to render the element.\
     * @param {Size} availableSize - provide the id value.
     *
     * @private
     */
    measure(availableSize: Size): Size;
    /**
     * Arranges the path element  \
     *
     * @returns { Size } Arranges the path element.\
     * @param {Size} desiredSize - provide the id value.
     *
     * @private
     */
    arrange(desiredSize: Size): Size;
    /**
     *  Translates the path to 0,0 and scales the path based on the actual size  \
     *
     * @returns { Size } Arranges the path element.\
     * @param {string} pathData - provide the id value.
     * @param {Rect} bounds - provide the id value.
     * @param {Size} actualSize - provide the id value.
     *
     * @private
     */
    updatePath(pathData: string, bounds: Rect, actualSize: Size): string;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/core/elements/text-element.d.ts
/**
 * TextElement is used to display text/annotations
 */
export  class TextElement extends DiagramElement {
    /**
     * set the id for each element
     */
    constructor();
    /**
     * sets or gets the image source
     */
    private textContent;
    /** @private */
    canMeasure: boolean;
    /** @private */
    isLaneOrientation: boolean;
    /** @private */
    canConsiderBounds: boolean;
    /**
     * sets the constraints for the text element
     */
    constraints: AnnotationConstraints;
    /**
     * sets the hyperlink color to blue
     */
    hyperlink: HyperlinkModel;
    /** @private */
    doWrap: boolean;
    /**
     *   gets the content for the text element \
     *
     * @returns { string | SVGElement }  gets the content for the text element.\
     *
     * @private
     */
    /**
    *   sets the content for the text element \
    *
    * @returns { void }  sets the content for the text element.\
    * @param {string} value - provide the id value.
    *
    * @private
    */
    content: string;
    private textNodes;
    /**
     *   gets the content for the text element \
     *
     * @returns { string | SVGElement }  gets the content for the text element.\
     *
     * @private
     */
    /**
    *   sets the content for the text element \
    *
    * @returns { void }  sets the content for the text element.\
    * @param {SubTextElement[]} value - provide the id value.
    *
    * @private
    */
    childNodes: SubTextElement[];
    private textWrapBounds;
    /**
     *   gets the wrapBounds for the text \
     *
     * @returns { string | SVGElement }  gets the wrapBounds for the text.\
     *
     * @private
     */
    /**
    *    sets the wrapBounds for the text \
    *
    * @returns { void }   sets the wrapBounds for the text.\
    * @param {TextBounds} value - provide the id value.
    *
    * @private
    */
    wrapBounds: TextBounds;
    /**
     *    sets the wrapBounds for the text \
     *
     * @returns { void }   sets the wrapBounds for the text.\
     *
     * @private
     */
    refreshTextElement(): void;
    /**
     * Defines the appearance of the text element
     */
    style: TextStyleModel;
    /**
     *Measures the minimum size that is required for the text element\
     *
     * @returns { Size }  Measures the minimum size that is required for the text element.\
     * @param {Size} availableSize - provide the id value.
     *
     * @private
     */
    measure(availableSize: Size): Size;
    /**
     * Arranges the text element\
     *
     * @returns { Size }   Arranges the text element.\
     * @param {Size} desiredSize - provide the id value.
     *
     * @private
     */
    arrange(desiredSize: Size): Size;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/data-binding/data-binding.d.ts
/**
 * data source defines the basic unit of diagram
 */
export  class DataBinding {
    /**
     * Constructor for the data binding module.
     * @private
     */
    constructor();
    /**
     * To destroy the data binding module
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
    /**
     * Core method to return the component name.
     *
     * @returns {string}  Core method to return the component name.
     * @private
     */
    protected getModuleName(): string;
    /**   @private  */
    dataTable: Object;
    /**
     * Initialize nodes and connectors when we have a data as JSON
     *
     * @param {DataSourceModel} data
     * @param {Diagram} diagram
     * @private
     */
    initData(data: DataSourceModel, diagram: Diagram): void;
    /**
     * Initialize nodes and connector when we have a data as remote url
     *
     * @param {DataSourceModel} data
     * @param {Diagram} diagram
     * @private
     */
    initSource(data: DataSourceModel, diagram: Diagram): void;
    private applyDataSource;
    /**
     * updateMultipleRootNodes method is used  to update the multiple Root Nodes
     *
     * @param {Object} object
     * @param {Object[]} rootnodes
     * @param {DataSourceModel} mapper
     * @param {Object[]} data
     */
    private updateMultipleRootNodes;
    /**
     *  Get the node values\
     *
     * @returns { Node }    Get the node values.\
     * @param {DataSourceModel} mapper - provide the id value.
     * @param {Object} item - provide the id value.
     * @param {Diagram} diagram - provide the id value.
     *
     * @private
     */
    private applyNodeTemplate;
    private splitString;
    private renderChildNodes;
    private containsConnector;
    /**
     *  collectionContains method is used to  check wthear the node is already present in collection or not
     *
     * @param {Node} node
     * @param {Diagram} diagram
     * @param {string} id
     * @param {string} parentId
     */
    private collectionContains;
    /**
     * Get the Connector values
     *
     * @param {string} sNode
     * @param {string} tNode
     * @param {Diagram} diagram
     */
    private applyConnectorTemplate;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/diagram-model.d.ts
/**
 * Interface for a class Diagram
 */
export interface DiagramModel extends base.ComponentModel{
    /**
     * Defines the width of the diagram model.
     * ```html
     * <div id='diagram'/>
     * ```
     * ```typescript
     * let diagram$: Diagram = new Diagram({
     * width:'1000px', height:'500px' });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default '100%'
     */
    width?: string | number;
    /**
     * Split the connector, when the node is dropped onto it and establish connection with that dropped node.
     *
     * @default false
    */
    enableConnectorSplit?: boolean;
    /**
     * Defines the diagram rendering mode.
     * * SVG - Renders the diagram objects as SVG elements
     * * Canvas - Renders the diagram in a canvas
     *
     * @default 'SVG'
     */
    mode?: RenderingMode;
    /**
     * Defines the height of the diagram model.
     *
     * @default '100%'
     */
    height?: string | number;
    /**
     * Defines the segmentThumbShape 
     * 
     * @default 'Rhombus'
     */
    segmentThumbShape?: SegmentThumbShapes;
    /**
     * Defines type of menu that appears when you perform right-click operation
     * An object to customize the context menu of diagram
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let diagram$: Diagram = new Diagram({
     * ...
     *   contextMenuSettings: { show: true },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     */
    contextMenuSettings?: ContextMenuSettingsModel;
    /**
     * Constraints are used to enable/disable certain behaviors of the diagram.
     * * None - Disables DiagramConstraints constraints
     * * Bridging - Enables/Disables Bridging support for connector
     * * UndoRedo - Enables/Disables the Undo/Redo support
     * * popups.Tooltip - Enables/Disables popups.Tooltip support
     * * UserInteraction - Enables/Disables editing diagram interactively
     * * ApiUpdate - Enables/Disables editing diagram through code
     * * PageEditable - Enables/Disables editing diagrams both interactively and through code
     * * Zoom - Enables/Disables Zoom support for the diagram
     * * PanX - Enables/Disable PanX support for the diagram
     * * PanY - Enables/Disable PanY support for the diagram
     * * Pan - Enables/Disable Pan support the diagram
     *
     * @default 'Default'
     * @aspNumberEnum
     */
    constraints?: DiagramConstraints;
    /**
     * Defines the precedence of the interactive tools. They are,
     * * None - Disables selection, zooming and drawing tools
     * * SingleSelect - Enables/Disables single select support for the diagram
     * * MultipleSelect - Enables/Disable MultipleSelect select support for the diagram
     * * ZoomPan - Enables/Disable ZoomPan support for the diagram
     * * DrawOnce - Enables/Disable ContinuousDraw support for the diagram
     * * ContinuousDraw - Enables/Disable ContinuousDraw support for the diagram
     *
     * @default 'Default'
     * @aspNumberEnum
     * @deprecated
     */
    tool?: DiagramTools;
    /**
     * Defines the direction of the bridge that is inserted when the segments are intersected
     * * Top - Defines the direction of the bridge as Top
     * * Bottom - Defines the direction of the bridge as Bottom
     * * Left - Sets the bridge direction as left
     * * Right - Sets the bridge direction as right
     *
     * @default top
     */
    bridgeDirection?: BridgeDirection;
    /**
     * Defines the background color of the diagram
     *
     * @default 'transparent'
     */
    backgroundColor?: string;
    /**
     * Defines the gridlines and defines how and when the objects have to be snapped
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let horizontalGridlines: GridlinesModel = {lineColor: 'black', lineDashArray: '1,1' };
     * let verticalGridlines: GridlinesModel = {lineColor: 'black', lineDashArray: '1,1'};
     * let diagram$: Diagram = new Diagram({
     * ...
     * snapSettings: { horizontalGridlines, verticalGridlines, constraints: SnapConstraints.ShowLines,
     * snapObjectDistance: 5, snapAngle: 5 },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default {}
     */
    snapSettings?: SnapSettingsModel;
    /**
     * Defines the properties of both horizontal and vertical guides/rulers to measure the diagram area.
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let arrange: Function = (args: IArrangeTickOptions) => {
     * if (args.tickInterval % 10 == 0) {
     * args.tickLength = 25;
     * }
     * }
     * let diagram$: Diagram = new Diagram({
     * ...
     * rulerSettings: { showRulers: true,
     * horizontalRuler: { segmentWidth: 50, orientation: 'Horizontal', interval: 10,  arrangeTick: arrange },
     * verticalRuler: {segmentWidth: 200,interval: 20, thickness: 20,
     * tickAlignment: 'LeftOrTop', segmentWidth: 50, markerColor: 'red' }
     * },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default {}
     */
    rulerSettings?: RulerSettingsModel;
    /**
     * Page settings enable to customize the appearance, width, and height of the Diagram page.
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let diagram$: Diagram = new Diagram({
     * ...
     * pageSettings: {  width: 800, height: 600, orientation: 'Landscape',
     * background: { color: 'blue' }, boundaryConstraints: 'Infinity'},
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default {}
     */
    pageSettings?: PageSettingsModel;
    /**
     * Defines the serialization settings of diagram.
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let diagram$: Diagram = new Diagram({
     * ...
     * serializationSettings: { preventDefaults: true },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default {}
     */
    serializationSettings?: SerializationSettingsModel;
    /**
     * Defines the collection of nodes
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     *           id: 'node1', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *           annotations: [{ content: 'Default Shape' }]
     *       },
     *       {
     *           id: 'node2', width: 100, height: 100, offsetX: 300, offsetY: 100,
     *           shape: {
     *               type: 'Basic', shape: 'Ellipse'
     *           },
     *           annotations: [{ content: 'Path Element' }]
     *       }
     *       ];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes: nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    nodes?: NodeModel[];
    /**
     * Defines the object to be drawn using drawing tool
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let diagram$: Diagram = new Diagram({
     * ...
     * drawingObject : {id: 'connector3', type: 'Straight'},
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    drawingObject?: NodeModel | ConnectorModel;
    /**
     * Defines a collection of objects, used to create link between two points, nodes or ports to represent the relationships between them
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     *       let connectors: ConnectorModel[] = [{
     *           id: 'connector1',
     *           type: 'Straight',
     *           sourcePoint: { x: 100, y: 300 },
     *           targetPoint: { x: 200, y: 400 },
     *       }];
     * let diagram$: Diagram = new Diagram({
     * ...
     *       connectors: connectors,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default []
     */
    connectors?: ConnectorModel[];
    /**
     * Defines the basic elements for the diagram
     *
     * @default []
     * @hidden
     */
    basicElements?: DiagramElement[];
    /**
     * Defines the tooltip that should be shown when the mouse hovers over a node or connector
     * An object that defines the description, appearance and alignments of tooltip
     *
     * @default {}
     */
    tooltip?: DiagramTooltipModel;
    /**
     * Configures the data source that is to be bound with diagram
     *
     * @default {}
     */
    dataSourceSettings?: DataSourceModel;
    /**
     * Allows the user to save custom information/data about diagram
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    addInfo?: Object;
    /**
     * Customizes the undo redo functionality
     *
     * @default undefined
     */
    historyManager?: History;
    /**
     * Customizes the node template
     *
     * @default undefined
     */
    nodeTemplate?: string;
    /**
     * Customizes the annotation template
     *
     * @default undefined
     */
    annotationTemplate?: string;
    /**
     * This property represents the template content of a user handle. The user can define any HTML element as a template.
     *
     * @default undefined
     */
    userHandleTemplate?: string;
    /**
     * Helps to return the default properties of node
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     *           id: 'node1', height: 100, offsetX: 100, offsetY: 100,
     *           annotations: [{ content: 'Default Shape' }]
     *       },
     *       {
     *           id: 'node2', width: 100, height: 100, offsetX: 300, offsetY: 100,
     *           shape: {
     *               type: 'Basic', shape: 'Ellipse'
     *           },
     *           annotations: [{ content: 'Ellipse' }]
     *       }
     *       ];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes: nodes,
     * getNodeDefaults: (node: NodeModel) => {
     *   let obj: NodeModel = {};
     *   if (obj.width === undefined) {
     *       obj.width = 145;
     *   }
     *   obj.style = { fill: '#357BD2', strokeColor: 'white' };
     *   obj.annotations = [{ style: { color: 'white', fill: 'transparent' } }];
     *   return obj;
     *    },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @aspDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    getNodeDefaults?: Function | string;
    /**
     * Helps to assign the default properties of nodes
     */
    nodeDefaults?: NodeModel;
    /**
     * Helps to return the default properties of connector
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     *       let connectors: ConnectorModel[] = [{
     *           id: 'connector1',
     *           sourcePoint: { x: 100, y: 300 },
     *           targetPoint: { x: 200, y: 400 },
     *       }];
     * let diagram$: Diagram = new Diagram({
     * ...
     *   connectors: connectors,
     *   getConnectorDefaults: (connector: ConnectorModel, diagram: Diagram) => {
     *   let connObj: ConnectorModel = {};
     *   connObj.targetDecorator ={ shape :'None' };
     *   connObj.type = 'Orthogonal';
     *   return connObj;
     *   },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @aspDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    getConnectorDefaults?: Function | string;
    /**
     * Helps to assign the default properties of connector
     */
    connectorDefaults?: ConnectorModel;
    /**
     * setNodeTemplate helps to customize the content of a node
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let getTextElement: Function = (text: string) => {
     * let textElement: TextElement = new TextElement();
     * textElement.width = 50;
     * textElement.height = 20;
     * textElement.content = text;
     * return textElement;
     * };
     * let nodes$: NodeModel[] = [{
     *           id: 'node1', height: 100, offsetX: 100, offsetY: 100,
     *           annotations: [{ content: 'Default Shape' }]
     *       },
     *       {
     *           id: 'node2', width: 100, height: 100, offsetX: 300, offsetY: 100
     *       }
     *       ];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes: nodes,
     * setNodeTemplate : setNodeTemplate,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     * function setNodeTemplate() {
     * setNodeTemplate: (obj: NodeModel, diagram: Diagram): StackPanel => {
     *   if (obj.id === 'node2') {
     *       let table: StackPanel = new StackPanel();
     *       table.orientation = 'Horizontal';
     *       let column1: StackPanel = new StackPanel();
     *       column1.children = [];
     *       column1.children.push(getTextElement('Column1'));
     *       addRows(column1);
     *       let column2: StackPanel = new StackPanel();
     *       column2.children = [];
     *       column2.children.push(getTextElement('Column2'));
     *       addRows(column2);
     *       table.children = [column1, column2];
     *       return table;
     *   }
     *   return null;
     *   }
     * ...
     * }
     *
     * @aspDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    setNodeTemplate?: Function | string;
    /**
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let connector1: ConnectorModel = {
     *          id: 'connector1', type: 'Straight',
     *          sourcePoint: { x: 100, y: 100 },targetPoint: { x: 200, y: 200 },
     *          annotations: [{ 'content': 'label', 'offset': 0, 'alignment': 'Center' }]
     *       };
     * let connector2: ConnectorModel = {
     *           id: 'connector2', type: 'Straight',
     *           sourcePoint: { x: 400, y: 400 }, targetPoint: { x: 600, y: 600 },
     *       };
     * let diagram$: Diagram;
     * diagram = new Diagram({
     * width: 1000, height: 1000,
     * connectors: [connector1, connector2],
     * snapSettings: { constraints: SnapConstraints.ShowLines },
     * getDescription: getAccessibility
     * });
     * diagram.appendTo('#diagram');
     * function getAccessibility(obj: ConnectorModel, diagram: Diagram): string {
     * let value: string;
     * if (obj instanceof Connector) {
     * value = 'clicked on Connector';
     * } else if (obj instanceof TextElement) {
     * value = 'clicked on annotation';
     * }
     * else if (obj instanceof Decorator) {
     * value = 'clicked on Decorator';
     * }
     * else { value = undefined;
 }
     * return value;
     * }
     * ```
     *
     * @deprecated
     */
    getDescription?: Function | string;
    /**
     * Allows to get the custom properties that have to be serialized
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     *           id: 'node1', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *           annotations: [{ content: 'Default Shape' }]
     *       },
     *       {
     *           id: 'node2', width: 100, height: 100, offsetX: 300, offsetY: 100,
     *           shape: { type: 'Basic', shape: 'Ellipse' },
     *           annotations: [{ content: 'Path Element' }]
     *       }
     *       ];
     *       let connectors: ConnectorModel[] = [{
     *           id: 'connector1', type: 'Straight',
     *           sourcePoint: { x: 100, y: 300 }, targetPoint: { x: 200, y: 400 },
     *       }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * connectors: connectors, nodes: nodes,
     * getCustomProperty: (key: string) => {
     * if (key === 'nodes') {
     * return ['description'];
     * }
     *         return null;
     * }
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @aspDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    getCustomProperty?: Function | string;
    /**
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * function getTool(action: string): ToolBase {
     * let tool: ToolBase;
     * if (action === 'userHandle1') {
     * tool = new CloneTool(diagram.commandHandler, true);
     * }
     * return tool;
     * }
     * class CloneTool extends ToolBase {
     * public mouseDown(args: MouseEventArgs): void {
     * super.mouseDown(args);
     * diagram.copy();
     * diagram.paste();
     * }
     * }
     * let nodes$: NodeModel[] = [{
     *           id: 'node1', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *       },
     *       {
     *           id: 'node2', width: 100, height: 100, offsetX: 300, offsetY: 100,
     *           shape: { type: 'Basic', shape: 'Ellipse' },
     *       }];
     *       let connectors: ConnectorModel[] = [{
     *           id: 'connector1', type: 'Straight',
     *           sourcePoint: { x: 100, y: 300 }, targetPoint: { x: 200, y: 400 },
     *       }];
     *      let handles: UserHandleModel[] = [
     *          { name: 'handle', margin: { top: 0, bottom: 0, left: 0, right: 0 }, offset: 0,
     *            pathData: 'M 376.892,225.284L 371.279,211.95L 376.892,198.617L 350.225,211.95L 376.892,225.284 Z',
     *            side: 'Top', horizontalAlignment: 'Center', verticalAlignment: 'Center',
     *            pathColor: 'yellow' }];
     * let diagram$: Diagram = new Diagram({
     * ...
     *     connectors: connectors, nodes: nodes,
     *     selectedItems: { constraints: SelectorConstraints.All, userHandles: handles },
     *     getCustomTool: getTool
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @deprecated
     */
    getCustomTool?: Function | string;
    /**
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * function getCursor(action: string, active: boolean): string {
     * let cursor: string;
     * if (active && action === 'Drag') {
     * cursor = '-webkit-grabbing';
     * } else if (action === 'Drag') {
     * cursor = '-webkit-grab'
     * }
     * return cursor;
     * }
     * let nodes$: NodeModel[] = [{
     *           id: 'node1', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *       },
     *       {
     *           id: 'node2', width: 100, height: 100, offsetX: 300, offsetY: 100,
     *           shape: { type: 'Basic', shape: 'Ellipse' },
     *       }];
     * let handle: UserHandleModel[] = [
     * { name: 'handle', margin: { top: 0, bottom: 0, left: 0, right: 0 }, offset: 0,
     * pathData: 'M 376.892,225.284L 371.279,211.95L 376.892,198.617L 350.225,211.95L 376.892,225.284 Z',
     * side: 'Top', horizontalAlignment: 'Center', verticalAlignment: 'Center',
     * pathColor: 'yellow' }];
     * let diagram$: Diagram = new Diagram({
     * ...
     *     nodes: nodes,
     *     selectedItems: { constraints: SelectorConstraints.All, userHandles: handle },
     *     getCustomCursor: getCursor
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @deprecated
     */
    getCustomCursor?: Function | string;
    /**
     * A collection of JSON objects where each object represents a custom cursor action. Layer is a named category of diagram shapes.
     *
     * @default []
     */
    customCursor?: CustomCursorActionModel[];
    /**
     * Helps to set the undo and redo node selection
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     *       let connectors: ConnectorModel[] = [{
     *           id: 'connector1',
     *           sourcePoint: { x: 100, y: 300 },
     *           targetPoint: { x: 200, y: 400 },
     *       }];
     * let diagram$: Diagram = new Diagram({
     * ...
     *   connectors: connectors,
     *   updateSelection: (object: ConnectorModel | NodeModel, diagram: Diagram) => {
     *   let objectCollection = [];
     *   objectCollection.push(obejct);
     *   diagram.select(objectCollection);
     *   },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @aspDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    updateSelection?: Function | string;
    /**
     * Represents the diagram settings
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let diagram$: Diagram = new Diagram({
     * ...
     * diagramSettings: { inversedAlignment: true  }
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default {}
     */
    diagramSettings?: DiagramSettingsModel;
    /**
     * Defines the collection of selected items, size and position of the selector
     *
     * @default {}
     */
    selectedItems?: SelectorModel;
    /**
     * Defines the current zoom value, zoom factor, scroll status and view port size of the diagram
     *
     * @default {}
     */
    scrollSettings?: ScrollSettingsModel;
    /**
     * Layout is used to auto-arrange the nodes in the Diagram area
     *
     * @default {}
     */
    layout?: LayoutModel;
    /**
     * Defines a set of custom commands and binds them with a set of desired key gestures
     *
     * @default {}
     */
    commandManager?: CommandManagerModel;
    /**
     * Triggers after diagram is populated from the external data source
     *
     * @event
     * @deprecated
     */
    dataLoaded?: base.EmitType<IDataLoadedEventArgs>;
    /**
     * Triggers when a symbol is dragged into diagram from symbol palette
     *
     * @event
     */
    dragEnter?: base.EmitType<IDragEnterEventArgs>;
    /**
     * Triggers when a symbol is dragged outside of the diagram.
     *
     * @event
     */
    dragLeave?: base.EmitType<IDragLeaveEventArgs>;
    /**
     * Triggers when a symbol is dragged over diagram
     *
     * @event
     * @deprecated
     */
    dragOver?: base.EmitType<IDragOverEventArgs>;
    /**
     * Triggers when a node, connector or diagram is clicked
     *
     * @event
     */
    click?: base.EmitType<IClickEventArgs>;
    /**
     * Triggers when a change is reverted or restored(undo/redo)
     *
     * @event
     */
    historyChange?: base.EmitType<IHistoryChangeArgs>;
    /**
     * Triggers when a custom entry change is reverted or restored(undo/redo)
     *
     * @event
     */
    historyStateChange?: base.EmitType<IBlazorCustomHistoryChangeArgs>;
    /**
     * Triggers when a node, connector or diagram model is clicked twice
     *
     * @event
     */
    doubleClick?: base.EmitType<IDoubleClickEventArgs>;
    /**
     * Triggers when editor got focus at the time of node’s label or text node editing.
     *
     * @event
     */
    textEdit?: base.EmitType<ITextEditEventArgs>;
    /**
     * Triggers when the diagram is zoomed or panned
     *
     * @event
     * @deprecated
     */
    scrollChange?: base.EmitType<IScrollChangeEventArgs>;
    /**
     * Triggers when the selection is changed in diagram
     *
     * @event
     */
    selectionChange?: base.EmitType<ISelectionChangeEventArgs>;
    /**
     * Triggers when a node is resized
     *
     * @event
     */
    sizeChange?: base.EmitType<ISizeChangeEventArgs>;
    /**
     * Triggers when the connection is changed
     *
     * @event
     */
    connectionChange?: base.EmitType<IConnectionChangeEventArgs>;
    /**
     * Triggers when the connector's source point is changed
     *
     * @event
     * @deprecated
     */
    sourcePointChange?: base.EmitType<IEndChangeEventArgs>;
    /**
     * Triggers when the connector's target point is changed
     *
     * @event
     * @deprecated
     */
    targetPointChange?: base.EmitType<IEndChangeEventArgs>;
    /**
     * Triggers once the node or connector property changed.
     *
     * @event
     */
    propertyChange?: base.EmitType<IPropertyChangeEventArgs>;
    /**
     * Triggers while dragging the elements in diagram
     *
     * @event
     */
    positionChange?: base.EmitType<IDraggingEventArgs>;
    /**
     * Triggers when a user releases a key.
     *
     * @event
     */
    keyUp?: base.EmitType<IKeyEventArgs>;
    /**
     * Triggers when a user is pressing a key.
     *
     * @event
     */
    keyDown?: base.EmitType<IKeyEventArgs>;
    /**
     * Triggers after animation is completed for the diagram elements.
     *
     * @event
     * @deprecated
     */
    animationComplete?: base.EmitType<Object>;
    /**
     * Triggers when the diagram elements are rotated
     *
     * @event
     */
    rotateChange?: base.EmitType<IRotationEventArgs>;
    /**
     * Triggers when a node/connector is added/removed to/from the diagram.
     *
     * @deprecated
     * @event
     */
    collectionChange?: base.EmitType<ICollectionChangeEventArgs>;
    /**
     * Triggers when a node/connector fixedUserHandle is clicked in the diagram.
     *
     * @event
     */
    fixedUserHandleClick?: base.EmitType<FixedUserHandleClickEventArgs>;
    /**
     * Triggers when a mouseDown on the user handle.
     *
     * @event
     */
    onUserHandleMouseDown?: base.EmitType<UserHandleEventsArgs>;
    /**
     * Triggers when a mouseUp on the user handle.
     *
     * @event
     */
    onUserHandleMouseUp?: base.EmitType<UserHandleEventsArgs>;
    /**
     * Triggers when a mouseEnter on the user handle.
     *
     * @event
     */
    onUserHandleMouseEnter?: base.EmitType<UserHandleEventsArgs>;
    /**
     * Triggers when a mouseLeave on the user handle.
     *
     * @event
     */
    onUserHandleMouseLeave?: base.EmitType<UserHandleEventsArgs>;
    /**
     * Triggers when a segment is added/removed to/from the connector.
     *
     * @event
     * @deprecated
     */
    segmentCollectionChange?: base.EmitType<ISegmentCollectionChangeEventArgs>;
    /**
     * Triggers when the image node is loaded.
     *
     * @deprecated
     * @event
     */
    onImageLoad?: base.EmitType<IImageLoadEventArgs>;
    /**
     * Triggers when the state of the expand and collapse icon change for a node.
     *
     * @deprecated
     * @event
     */
    expandStateChange?: base.EmitType<IExpandStateChangeEventArgs>;
    /**
     * Triggered when the diagram is rendered completely.
     *
     * @event
     */
    created?: base.EmitType<Object>;
    /**
     * Triggered when mouse enters a node/connector.
     *
     * @event
     */
    mouseEnter?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggered when mouse leaves node/connector.
     *
     * @event
     */
    mouseLeave?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggered when mouse hovers a node/connector.
     *
     * @event
     * @deprecated
     */
    mouseOver?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggered when an element is drawn using drawing Tool
     *  @event
     */
    elementDraw?: base.EmitType<IElementDrawEventArgs>;
    /**
     * Triggers before opening the context menu
     *
     * @event
     */
    contextMenuOpen?: base.EmitType<navigations.BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers before rendering the context menu item
     *
     * @event
     * @deprecated
     */
    contextMenuBeforeItemRender?: base.EmitType<navigations.MenuEventArgs>;
    /**
     * Triggers when a context menu item is clicked
     *
     * @event
     */
    contextMenuClick?: base.EmitType<navigations.MenuEventArgs>;
    /**
     * Triggers when a command executed.
     *
     * @event
     */
    commandExecute?: base.EmitType<ICommandExecuteEventArgs>;
    /**
     * A collection of JSON objects where each object represents a layer. Layer is a named category of diagram shapes.
     *
     * @default []
     */
    layers?: LayerModel[];
    /**
     * Triggers when a symbol is dragged and dropped from symbol palette to drawing area
     *
     * @event
     */
    drop?: base.EmitType<IDropEventArgs>;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/diagram-settings-model.d.ts
/**
 * Interface for a class DiagramSettings
 */
export interface DiagramSettingsModel {
    /**
     * Defines the horizontal and vertical orientation behavior of nodes, ports, annotations, and more.
     *
     * @default true
     */
    inversedAlignment?: boolean;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/diagram-settings.d.ts
/**
 * Represents the diagram settings
 * ```html
 * <div id='diagram'></div>
 * ```
 * ```typescript
 * let diagram$: Diagram = new Diagram({
 * ...
 * diagramSettings: { inversedAlignment: true },
 * ...
 * });
 * diagram.appendTo('#diagram');
 * ```
 *
 * @default {}
 */
export  class DiagramSettings extends base.ChildProperty<DiagramSettings> {
    /**
     * Defines the horizontal and vertical orientation behavior of nodes, ports, annotations, and more.
     *
     * @default true
     */
    inversedAlignment: boolean;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/diagram.d.ts
/**
 * Represents the Diagram control
 * ```html
 * <div id='diagram'/>
 * ```
 * ```typescript
 * let diagram$: Diagram = new Diagram({
 * width:'1000px', height:'500px' });
 * diagram.appendTo('#diagram');
 * ```
 */
export  class Diagram extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    /**
     * `organizationalChartModule` is used to arrange the nodes in a organizational chart like struture
     *
     * @private
     */
    organizationalChartModule: HierarchicalTree;
    /**
     * `mindMapChartModule` is used to arrange the nodes in a mind map like structure
     *
     */
    mindMapChartModule: MindMap;
    /**
     * `radialTreeModule` is used to arrange the nodes in a radial tree like structure
     *
     * @ignoreapilink
     */
    radialTreeModule: RadialTree;
    /**
     * `complexHierarchicalTreeModule` is used to arrange the nodes in a hierarchical tree like structure
     *
     * @private
     */
    complexHierarchicalTreeModule: ComplexHierarchicalTree;
    /**
     * `dataBindingModule` is used to populate nodes from given data source
     *
     * @private
     */
    dataBindingModule: DataBinding;
    /**
     * `snappingModule` is used to Snap the objects
     *
     * @private
     */
    snappingModule: Snapping;
    /**
     * `printandExportModule` is used to print or export the objects
     *
     * @private
     */
    printandExportModule: PrintAndExport;
    /**
     * `tooltipBlazorModule` is used to render tooltip
     *
     * @private
     */
    blazorTooltipModule: BlazorTooltip;
    /**
     * `bpmnModule` is used to add built-in BPMN Shapes to diagrams
     *
     * @private
     */
    bpmnModule: BpmnDiagrams;
    /**
     * 'symmetricalLayoutModule' is usd to render layout in symmetrical method
     *
     * @private
     */
    symmetricalLayoutModule: SymmetricLayout;
    /**
     * `bridgingModule` is used to add bridges to connectors
     *
     * @private
     */
    bridgingModule: ConnectorBridging;
    /**
     * `undoRedoModule` is used to revert and restore the changes
     *
     * @private
     */
    undoRedoModule: UndoRedo;
    /**
     * `layoutAnimateModule` is used to revert and restore the changes
     *
     * @private
     */
    layoutAnimateModule: LayoutAnimation;
    /**
     * 'contextMenuModule' is used to manipulate context menu
     *
     * @private
     */
    contextMenuModule: DiagramContextMenu;
    /**
     * `connectorEditingToolModule` is used to edit the segments for connector
     *
     * @private
     */
    connectorEditingToolModule: ConnectorEditing;
    /**
     * `lineRoutingModule` is used to connect the node's without overlapping
     *
     * @private
     */
    lineRoutingModule: LineRouting;
    /**
     * `lineDistributionModule` is used to connect the node's without overlapping in automatic layout
     *
     */
    lineDistributionModule: LineDistribution;
    /**
     * Defines the width of the diagram model.
     * ```html
     * <div id='diagram'/>
     * ```
     * ```typescript
     * let diagram$: Diagram = new Diagram({
     * width:'1000px', height:'500px' });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default '100%'
     */
    width: string | number;
    /**
     * Split the connector, when the node is dropped onto it and establish connection with that dropped node.
     *
     * @default false
    */
    enableConnectorSplit: boolean;
    /**
     * Defines the diagram rendering mode.
     * * SVG - Renders the diagram objects as SVG elements
     * * Canvas - Renders the diagram in a canvas
     *
     * @default 'SVG'
     */
    mode: RenderingMode;
    /**
     * Defines the height of the diagram model.
     *
     * @default '100%'
     */
    height: string | number;
    /**
     * Defines the segmentThumbShape
     *
     * @default 'Rhombus'
     */
    segmentThumbShape: SegmentThumbShapes;
    /**
     * Defines type of menu that appears when you perform right-click operation
     * An object to customize the context menu of diagram
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let diagram$: Diagram = new Diagram({
     * ...
     *   contextMenuSettings: { show: true },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     */
    contextMenuSettings: ContextMenuSettingsModel;
    /**
     * Constraints are used to enable/disable certain behaviors of the diagram.
     * * None - Disables DiagramConstraints constraints
     * * Bridging - Enables/Disables Bridging support for connector
     * * UndoRedo - Enables/Disables the Undo/Redo support
     * * popups.Tooltip - Enables/Disables popups.Tooltip support
     * * UserInteraction - Enables/Disables editing diagram interactively
     * * ApiUpdate - Enables/Disables editing diagram through code
     * * PageEditable - Enables/Disables editing diagrams both interactively and through code
     * * Zoom - Enables/Disables Zoom support for the diagram
     * * PanX - Enables/Disable PanX support for the diagram
     * * PanY - Enables/Disable PanY support for the diagram
     * * Pan - Enables/Disable Pan support the diagram
     *
     * @default 'Default'
     * @aspNumberEnum
     */
    constraints: DiagramConstraints;
    /**
     * Defines the precedence of the interactive tools. They are,
     * * None - Disables selection, zooming and drawing tools
     * * SingleSelect - Enables/Disables single select support for the diagram
     * * MultipleSelect - Enables/Disable MultipleSelect select support for the diagram
     * * ZoomPan - Enables/Disable ZoomPan support for the diagram
     * * DrawOnce - Enables/Disable ContinuousDraw support for the diagram
     * * ContinuousDraw - Enables/Disable ContinuousDraw support for the diagram
     *
     * @default 'Default'
     * @aspNumberEnum
     * @deprecated
     */
    tool: DiagramTools;
    /**
     * Defines the direction of the bridge that is inserted when the segments are intersected
     * * Top - Defines the direction of the bridge as Top
     * * Bottom - Defines the direction of the bridge as Bottom
     * * Left - Sets the bridge direction as left
     * * Right - Sets the bridge direction as right
     *
     * @default top
     */
    bridgeDirection: BridgeDirection;
    /**
     * Defines the background color of the diagram
     *
     * @default 'transparent'
     */
    backgroundColor: string;
    /**
     * Defines the gridlines and defines how and when the objects have to be snapped
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let horizontalGridlines$: GridlinesModel = {lineColor: 'black', lineDashArray: '1,1' };
     * let verticalGridlines$: GridlinesModel = {lineColor: 'black', lineDashArray: '1,1'};
     * let diagram$: Diagram = new Diagram({
     * ...
     * snapSettings: { horizontalGridlines, verticalGridlines, constraints: SnapConstraints.ShowLines,
     * snapObjectDistance: 5, snapAngle: 5 },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default {}
     */
    snapSettings: SnapSettingsModel;
    /**
     * Defines the properties of both horizontal and vertical guides/rulers to measure the diagram area.
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let arrange$: Function = (args: IArrangeTickOptions) => {
     * if (args.tickInterval % 10 == 0) {
     * args.tickLength = 25;
     * }
     * }
     * let diagram$: Diagram = new Diagram({
     * ...
     * rulerSettings: { showRulers: true,
     * horizontalRuler: { segmentWidth: 50, orientation: 'Horizontal', interval: 10,  arrangeTick: arrange },
     * verticalRuler: {segmentWidth: 200,interval: 20, thickness: 20,
     * tickAlignment: 'LeftOrTop', segmentWidth: 50, markerColor: 'red' }
     * },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default {}
     */
    rulerSettings: RulerSettingsModel;
    /**
     * Page settings enable to customize the appearance, width, and height of the Diagram page.
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let diagram$: Diagram = new Diagram({
     * ...
     * pageSettings: {  width: 800, height: 600, orientation: 'Landscape',
     * background: { color: 'blue' }, boundaryConstraints: 'Infinity'},
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default {}
     */
    pageSettings: PageSettingsModel;
    /**
     * Defines the serialization settings of diagram.
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let diagram$: Diagram = new Diagram({
     * ...
     * serializationSettings: { preventDefaults: true },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default {}
     */
    serializationSettings: SerializationSettingsModel;
    /**
     * Defines the collection of nodes
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     *           id: 'node1', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *           annotations: [{ content: 'Default Shape' }]
     *       },
     *       {
     *           id: 'node2', width: 100, height: 100, offsetX: 300, offsetY: 100,
     *           shape: {
     *               type: 'Basic', shape: 'Ellipse'
     *           },
     *           annotations: [{ content: 'Path Element' }]
     *       }
     *       ];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes: nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    nodes: NodeModel[];
    /**
     * Defines the object to be drawn using drawing tool
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let diagram$: Diagram = new Diagram({
     * ...
     * drawingObject : {id: 'connector3', type: 'Straight'},
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    drawingObject: NodeModel | ConnectorModel;
    /**
     * Defines a collection of objects, used to create link between two points, nodes or ports to represent the relationships between them
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     *       let connectors$: ConnectorModel[] = [{
     *           id: 'connector1',
     *           type: 'Straight',
     *           sourcePoint: { x: 100, y: 300 },
     *           targetPoint: { x: 200, y: 400 },
     *       }];
     * let diagram$: Diagram = new Diagram({
     * ...
     *       connectors: connectors,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default []
     */
    connectors: ConnectorModel[];
    /**
     * Defines the basic elements for the diagram
     *
     * @default []
     * @hidden
     */
    basicElements: DiagramElement[];
    /**
     * Defines the tooltip that should be shown when the mouse hovers over a node or connector
     * An object that defines the description, appearance and alignments of tooltip
     *
     * @default {}
     */
    tooltip: DiagramTooltipModel;
    /**
     * Configures the data source that is to be bound with diagram
     *
     * @default {}
     */
    dataSourceSettings: DataSourceModel;
    /**
     * Allows the user to save custom information/data about diagram
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    addInfo: Object;
    /**
     * Customizes the undo redo functionality
     *
     * @default undefined
     */
    historyManager: History;
    /**
     * Customizes the node template
     *
     * @default undefined
     */
    nodeTemplate: string;
    /**
     * Customizes the annotation template
     *
     * @default undefined
     */
    annotationTemplate: string;
    /**
     * This property represents the template content of a user handle. The user can define any HTML element as a template.
     *
     * @default undefined
     */
    userHandleTemplate: string;
    /**
     * Helps to return the default properties of node
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     *           id: 'node1', height: 100, offsetX: 100, offsetY: 100,
     *           annotations: [{ content: 'Default Shape' }]
     *       },
     *       {
     *           id: 'node2', width: 100, height: 100, offsetX: 300, offsetY: 100,
     *           shape: {
     *               type: 'Basic', shape: 'Ellipse'
     *           },
     *           annotations: [{ content: 'Ellipse' }]
     *       }
     *       ];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes: nodes,
     * getNodeDefaults: (node: NodeModel) => {
     *   let obj$: NodeModel = {};
     *   if (obj.width === undefined) {
     *       obj.width = 145;
     *   }
     *   obj.style = { fill: '#357BD2', strokeColor: 'white' };
     *   obj.annotations = [{ style: { color: 'white', fill: 'transparent' } }];
     *   return obj;
     *    },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @aspDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    getNodeDefaults: Function | string;
    /**
     * Helps to assign the default properties of nodes
     */
    nodeDefaults: NodeModel;
    /**
     * Helps to return the default properties of connector
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     *       let connectors$: ConnectorModel[] = [{
     *           id: 'connector1',
     *           sourcePoint: { x: 100, y: 300 },
     *           targetPoint: { x: 200, y: 400 },
     *       }];
     * let diagram$: Diagram = new Diagram({
     * ...
     *   connectors: connectors,
     *   getConnectorDefaults: (connector: ConnectorModel, diagram: Diagram) => {
     *   let connObj$: ConnectorModel = {};
     *   connObj.targetDecorator ={ shape :'None' };
     *   connObj.type = 'Orthogonal';
     *   return connObj;
     *   },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @aspDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    getConnectorDefaults: Function | string;
    /**
     * Helps to assign the default properties of connector
     */
    connectorDefaults: ConnectorModel;
    /**
     * setNodeTemplate helps to customize the content of a node
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let getTextElement$: Function = (text: string) => {
     * let textElement$: TextElement = new TextElement();
     * textElement.width = 50;
     * textElement.height = 20;
     * textElement.content = text;
     * return textElement;
     * };
     * let nodes$: NodeModel[] = [{
     *           id: 'node1', height: 100, offsetX: 100, offsetY: 100,
     *           annotations: [{ content: 'Default Shape' }]
     *       },
     *       {
     *           id: 'node2', width: 100, height: 100, offsetX: 300, offsetY: 100
     *       }
     *       ];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes: nodes,
     * setNodeTemplate : setNodeTemplate,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     * function setNodeTemplate() {
     * setNodeTemplate: (obj: NodeModel, diagram: Diagram): StackPanel => {
     *   if (obj.id === 'node2') {
     *       let table$: StackPanel = new StackPanel();
     *       table.orientation = 'Horizontal';
     *       let column1$: StackPanel = new StackPanel();
     *       column1.children = [];
     *       column1.children.push(getTextElement('Column1'));
     *       addRows(column1);
     *       let column2$: StackPanel = new StackPanel();
     *       column2.children = [];
     *       column2.children.push(getTextElement('Column2'));
     *       addRows(column2);
     *       table.children = [column1, column2];
     *       return table;
     *   }
     *   return null;
     *   }
     * ...
     * }
     *
     * @aspDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    setNodeTemplate: Function | string;
    /**
     * Allows to set accessibility content for diagram objects
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    /**
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let connector1$: ConnectorModel = {
     *          id: 'connector1', type: 'Straight',
     *          sourcePoint: { x: 100, y: 100 },targetPoint: { x: 200, y: 200 },
     *          annotations: [{ 'content': 'label', 'offset': 0, 'alignment': 'Center' }]
     *       };
     * let connector2$: ConnectorModel = {
     *           id: 'connector2', type: 'Straight',
     *           sourcePoint: { x: 400, y: 400 }, targetPoint: { x: 600, y: 600 },
     *       };
     * let diagram$: Diagram;
     * diagram = new Diagram({
     * width: 1000, height: 1000,
     * connectors: [connector1, connector2],
     * snapSettings: { constraints: SnapConstraints.ShowLines },
     * getDescription: getAccessibility
     * });
     * diagram.appendTo('#diagram');
     * function getAccessibility(obj: ConnectorModel, diagram: Diagram): string {
     * let value$: string;
     * if (obj instanceof Connector) {
     * value = 'clicked on Connector';
     * } else if (obj instanceof TextElement) {
     * value = 'clicked on annotation';
     * }
     * else if (obj instanceof Decorator) {
     * value = 'clicked on Decorator';
     * }
     * else { value = undefined;
 }
     * return value;
     * }
     * ```
     *
     * @deprecated
     */
    getDescription: Function | string;
    /**
     * Allows to get the custom properties that have to be serialized
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     *           id: 'node1', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *           annotations: [{ content: 'Default Shape' }]
     *       },
     *       {
     *           id: 'node2', width: 100, height: 100, offsetX: 300, offsetY: 100,
     *           shape: { type: 'Basic', shape: 'Ellipse' },
     *           annotations: [{ content: 'Path Element' }]
     *       }
     *       ];
     *       let connectors$: ConnectorModel[] = [{
     *           id: 'connector1', type: 'Straight',
     *           sourcePoint: { x: 100, y: 300 }, targetPoint: { x: 200, y: 400 },
     *       }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * connectors: connectors, nodes: nodes,
     * getCustomProperty: (key: string) => {
     * if (key === 'nodes') {
     * return ['description'];
     * }
     *         return null;
     * }
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @aspDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    getCustomProperty: Function | string;
    /**
     * Allows the user to set custom tool that corresponds to the given action
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    /**
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * function getTool(action: string): ToolBase {
     * let tool$: ToolBase;
     * if (action === 'userHandle1') {
     * tool = new CloneTool(diagram.commandHandler, true);
     * }
     * return tool;
     * }
     * class CloneTool extends ToolBase {
     * public mouseDown(args: MouseEventArgs): void {
     * super.mouseDown(args);
     * diagram.copy();
     * diagram.paste();
     * }
     * }
     * let nodes$: NodeModel[] = [{
     *           id: 'node1', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *       },
     *       {
     *           id: 'node2', width: 100, height: 100, offsetX: 300, offsetY: 100,
     *           shape: { type: 'Basic', shape: 'Ellipse' },
     *       }];
     *       let connectors$: ConnectorModel[] = [{
     *           id: 'connector1', type: 'Straight',
     *           sourcePoint: { x: 100, y: 300 }, targetPoint: { x: 200, y: 400 },
     *       }];
     *      let handles$: UserHandleModel[] = [
     *          { name: 'handle', margin: { top: 0, bottom: 0, left: 0, right: 0 }, offset: 0,
     *            pathData: 'M 376.892,225.284L 371.279,211.95L 376.892,198.617L 350.225,211.95L 376.892,225.284 Z',
     *            side: 'Top', horizontalAlignment: 'Center', verticalAlignment: 'Center',
     *            pathColor: 'yellow' }];
     * let diagram$: Diagram = new Diagram({
     * ...
     *     connectors: connectors, nodes: nodes,
     *     selectedItems: { constraints: SelectorConstraints.All, userHandles: handles },
     *     getCustomTool: getTool
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @deprecated
     */
    getCustomTool: Function | string;
    /**
     * Allows the user to set custom cursor that corresponds to the given action
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    /**
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * function getCursor(action: string, active: boolean): string {
     * let cursor$: string;
     * if (active && action === 'Drag') {
     * cursor = '-webkit-grabbing';
     * } else if (action === 'Drag') {
     * cursor = '-webkit-grab'
     * }
     * return cursor;
     * }
     * let nodes$: NodeModel[] = [{
     *           id: 'node1', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *       },
     *       {
     *           id: 'node2', width: 100, height: 100, offsetX: 300, offsetY: 100,
     *           shape: { type: 'Basic', shape: 'Ellipse' },
     *       }];
     * let handle$: UserHandleModel[] = [
     * { name: 'handle', margin: { top: 0, bottom: 0, left: 0, right: 0 }, offset: 0,
     * pathData: 'M 376.892,225.284L 371.279,211.95L 376.892,198.617L 350.225,211.95L 376.892,225.284 Z',
     * side: 'Top', horizontalAlignment: 'Center', verticalAlignment: 'Center',
     * pathColor: 'yellow' }];
     * let diagram$: Diagram = new Diagram({
     * ...
     *     nodes: nodes,
     *     selectedItems: { constraints: SelectorConstraints.All, userHandles: handle },
     *     getCustomCursor: getCursor
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @deprecated
     */
    getCustomCursor: Function | string;
    /**
     * A collection of JSON objects where each object represents a custom cursor action. Layer is a named category of diagram shapes.
     *
     * @default []
     */
    customCursor: CustomCursorActionModel[];
    /**
     * Helps to set the undo and redo node selection
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     *       let connectors$: ConnectorModel[] = [{
     *           id: 'connector1',
     *           sourcePoint: { x: 100, y: 300 },
     *           targetPoint: { x: 200, y: 400 },
     *       }];
     * let diagram$: Diagram = new Diagram({
     * ...
     *   connectors: connectors,
     *   updateSelection: (object: ConnectorModel | NodeModel, diagram: Diagram) => {
     *   let objectCollection$ = [];
     *   objectCollection.push(obejct);
     *   diagram.select(objectCollection);
     *   },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @aspDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    updateSelection: Function | string;
    /**
     * Represents the diagram settings
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let diagram$: Diagram = new Diagram({
     * ...
     * diagramSettings: { inversedAlignment: true  }
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default {}
     */
    diagramSettings: DiagramSettingsModel;
    /** @private */
    version: number;
    /**
     * Defines the collection of selected items, size and position of the selector
     *
     * @default {}
     */
    selectedItems: SelectorModel;
    /**
     * Defines the current zoom value, zoom factor, scroll status and view port size of the diagram
     *
     * @default {}
     */
    scrollSettings: ScrollSettingsModel;
    /**
     * Layout is used to auto-arrange the nodes in the Diagram area
     *
     * @default {}
     */
    layout: LayoutModel;
    /**
     * Defines a set of custom commands and binds them with a set of desired key gestures
     *
     * @default {}
     */
    commandManager: CommandManagerModel;
    /**
     * Triggers after diagram is populated from the external data source
     *
     * @event
     * @deprecated
     */
    dataLoaded: base.EmitType<IDataLoadedEventArgs>;
    /**
     * Triggers when a symbol is dragged into diagram from symbol palette
     *
     * @event
     */
    dragEnter: base.EmitType<IDragEnterEventArgs>;
    /**
     * Triggers when a symbol is dragged outside of the diagram.
     *
     * @event
     */
    dragLeave: base.EmitType<IDragLeaveEventArgs>;
    /**
     * Triggers when a symbol is dragged over diagram
     *
     * @event
     * @deprecated
     */
    dragOver: base.EmitType<IDragOverEventArgs>;
    /**
     * Triggers when a node, connector or diagram is clicked
     *
     * @event
     */
    click: base.EmitType<IClickEventArgs>;
    /**
     * Triggers when a change is reverted or restored(undo/redo)
     *
     * @event
     */
    historyChange: base.EmitType<IHistoryChangeArgs>;
    /**
     * Triggers when a custom entry change is reverted or restored(undo/redo)
     *
     * @event
     */
    historyStateChange: base.EmitType<IBlazorCustomHistoryChangeArgs>;
    /**
     * Triggers when a node, connector or diagram model is clicked twice
     *
     * @event
     */
    doubleClick: base.EmitType<IDoubleClickEventArgs>;
    /**
     * Triggers when editor got focus at the time of node’s label or text node editing.
     *
     * @event
     */
    textEdit: base.EmitType<ITextEditEventArgs>;
    /**
     * Triggers when the diagram is zoomed or panned
     *
     * @event
     * @deprecated
     */
    scrollChange: base.EmitType<IScrollChangeEventArgs>;
    /**
     * Triggers when the selection is changed in diagram
     *
     * @event
     */
    selectionChange: base.EmitType<ISelectionChangeEventArgs>;
    /**
     * Triggers when a node is resized
     *
     * @event
     */
    sizeChange: base.EmitType<ISizeChangeEventArgs>;
    /**
     * Triggers when the connection is changed
     *
     * @event
     */
    connectionChange: base.EmitType<IConnectionChangeEventArgs>;
    /**
     * Triggers when the connector's source point is changed
     *
     * @event
     * @deprecated
     */
    sourcePointChange: base.EmitType<IEndChangeEventArgs>;
    /**
     * Triggers when the connector's target point is changed
     *
     * @event
     * @deprecated
     */
    targetPointChange: base.EmitType<IEndChangeEventArgs>;
    /**
     * Triggers once the node or connector property changed.
     *
     * @event
     */
    propertyChange: base.EmitType<IPropertyChangeEventArgs>;
    /**
     * Triggers while dragging the elements in diagram
     *
     * @event
     */
    positionChange: base.EmitType<IDraggingEventArgs>;
    /**
     * Triggers when a user releases a key.
     *
     * @event
     */
    keyUp: base.EmitType<IKeyEventArgs>;
    /**
     * Triggers when a user is pressing a key.
     *
     * @event
     */
    keyDown: base.EmitType<IKeyEventArgs>;
    /**
     * Triggers after animation is completed for the diagram elements.
     *
     * @event
     * @deprecated
     */
    animationComplete: base.EmitType<Object>;
    /**
     * Triggers when the diagram elements are rotated
     *
     * @event
     */
    rotateChange: base.EmitType<IRotationEventArgs>;
    /**
     * Triggers when a node/connector is added/removed to/from the diagram.
     *
     * @deprecated
     * @event
     */
    collectionChange: base.EmitType<ICollectionChangeEventArgs>;
    /**
     * Triggers when a node/connector fixedUserHandle is clicked in the diagram.
     *
     * @event
     */
    fixedUserHandleClick: base.EmitType<FixedUserHandleClickEventArgs>;
    /**
     * Triggers when a mouseDown on the user handle.
     *
     * @event
     */
    onUserHandleMouseDown: base.EmitType<UserHandleEventsArgs>;
    /**
     * Triggers when a mouseUp on the user handle.
     *
     * @event
     */
    onUserHandleMouseUp: base.EmitType<UserHandleEventsArgs>;
    /**
     * Triggers when a mouseEnter on the user handle.
     *
     * @event
     */
    onUserHandleMouseEnter: base.EmitType<UserHandleEventsArgs>;
    /**
     * Triggers when a mouseLeave on the user handle.
     *
     * @event
     */
    onUserHandleMouseLeave: base.EmitType<UserHandleEventsArgs>;
    /**
     * Triggers when a segment is added/removed to/from the connector.
     *
     * @event
     * @deprecated
     */
    segmentCollectionChange: base.EmitType<ISegmentCollectionChangeEventArgs>;
    /**
     * Triggers when the image node is loaded.
     *
     * @deprecated
     * @event
     */
    onImageLoad: base.EmitType<IImageLoadEventArgs>;
    /**
     * Triggers when the state of the expand and collapse icon change for a node.
     *
     * @deprecated
     * @event
     */
    expandStateChange: base.EmitType<IExpandStateChangeEventArgs>;
    /**
     * Triggered when the diagram is rendered completely.
     *
     * @event
     */
    created: base.EmitType<Object>;
    /**
     * Triggered when mouse enters a node/connector.
     *
     * @event
     */
    mouseEnter: base.EmitType<IMouseEventArgs>;
    /**
     * Triggered when mouse leaves node/connector.
     *
     * @event
     */
    mouseLeave: base.EmitType<IMouseEventArgs>;
    /**
     * Triggered when mouse hovers a node/connector.
     *
     * @event
     * @deprecated
     */
    mouseOver: base.EmitType<IMouseEventArgs>;
    /**
     * Triggered when an element is drawn using drawing Tool
     *  @event
     */
    elementDraw: base.EmitType<IElementDrawEventArgs>;
    /**
     * Triggers before opening the context menu
     *
     * @event
     */
    contextMenuOpen: base.EmitType<navigations.BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers before rendering the context menu item
     *
     * @event
     * @deprecated
     */
    contextMenuBeforeItemRender: base.EmitType<navigations.MenuEventArgs>;
    /**
     * Triggers when a context menu item is clicked
     *
     * @event
     */
    contextMenuClick: base.EmitType<navigations.MenuEventArgs>;
    /**
     * Triggers when a command executed.
     *
     * @event
     */
    commandExecute: base.EmitType<ICommandExecuteEventArgs>;
    /**
     * A collection of JSON objects where each object represents a layer. Layer is a named category of diagram shapes.
     *
     * @default []
     */
    layers: LayerModel[];
    /**
     * Triggers when a symbol is dragged and dropped from symbol palette to drawing area
     *
     * @event
     */
    drop: base.EmitType<IDropEventArgs>;
    /** @private */
    preventDiagramUpdate: boolean;
    /** @private */
    checkMenu: boolean;
    /** @private */
    parentObject: NodeModel;
    /** @hidden */
    /** @private */
    localeObj: base.L10n;
    private defaultLocale;
    /** @private */
    isServerUpdate: boolean;
    /** @private */
    currentDrawingObject: Node | Connector;
    /** @private */
    currentSymbol: Node | Connector;
    /** @private */
    oldNodeObjects: Node[];
    /** @private */
    oldDiagramObject: object;
    /** @private */
    oldConnectorObjects: Connector[];
    /** @private */
    diagramRenderer: DiagramRenderer;
    private gridlineSvgLayer;
    private renderer;
    /** @private */
    tooltipObject: popups.Tooltip | BlazorTooltip;
    /** @private */
    hRuler: Ruler;
    /** @private */
    vRuler: Ruler;
    /** @private */
    droppable: base.Droppable;
    /** @private */
    diagramCanvas: HTMLElement;
    /** @private */
    diagramLayer: HTMLCanvasElement | SVGGElement;
    private diagramLayerDiv;
    private adornerLayer;
    private eventHandler;
    /** @private */
    scroller: DiagramScroller;
    /** @private */
    spatialSearch: SpatialSearch;
    /** @private */
    commandHandler: CommandHandler;
    /** @private */
    layerZIndex: number;
    /** @private */
    layerZIndexTable: {};
    /** @private */
    nameTable: {};
    /** @private */
    canEnableBlazorObject: boolean;
    /** @private */
    pathTable: {};
    /** @private */
    connectorTable: {};
    /** @private */
    groupTable: {};
    /** @private */
    private htmlLayer;
    /** @private */
    diagramActions: DiagramAction;
    /** @private */
    scrollActions: ScrollActions;
    /** @private */
    blazorActions: BlazorAction;
    /** @private */
    commands: {};
    /** @private */
    activeLabel: ActiveLabel;
    /** @private */
    activeLayer: LayerModel;
    /** @private */
    serviceLocator: ServiceLocator;
    /** @private */
    views: string[];
    /** @private */
    isLoading: Boolean;
    /** @private */
    textEditing: Boolean;
    /** @private */
    isTriggerEvent: Boolean;
    /** @private */
    preventNodesUpdate: Boolean;
    /** @private */
    preventConnectorsUpdate: Boolean;
    /** @private */
    callBlazorModel: Boolean;
    /** @private */
    selectionConnectorsList: ConnectorModel[];
    /** @private */
    deleteVirtualObject: boolean;
    /** @private */
    realActions: RealAction;
    /** @private */
    previousSelectedObject: (NodeModel | ConnectorModel)[];
    canLayout: boolean;
    /** @private */
    swimlaneChildTable: {};
    /** @private */
    swimlaneZIndexTable: {};
    /** @private */
    canExpand: boolean;
    private changedConnectorCollection;
    private changedNodesCollection;
    private previousNodeCollection;
    private previousConnectorCollection;
    private crudDeleteNodes;
    private previousSelectedObjects;
    private blazorAddorRemoveCollection;
    private blazorRemoveIndexCollection;
    private diagramid;
    /** @private */
    selectedObject: {
        helperObject: NodeModel;
        actualObject: NodeModel;
    };
    /**
     * Constructor for creating the widget
     */
    constructor(options?: DiagramModel, element?: HTMLElement | string);
    private updateAnnotationText;
    private callFromServer;
    private clearCollection;
    /**
     * Updates the diagram control when the objects are changed
     *
     * @param {DiagramModel} newProp - Lists the new values of the changed properties
     * @param {DiagramModel} oldProp - Lists the old values of the changed properties
     */
    onPropertyChanged(newProp: DiagramModel, oldProp: DiagramModel): void;
    private updateSnapSettings;
    private updateGradient;
    private updateRulerSettings;
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @returns {string}
     */
    getPersistData(): string;
    /**
     * Initialize nodes, connectors and renderer
     */
    protected preRender(): void;
    private initializePrivateVariables;
    private initializeServices;
    /**
     * Method to set culture for chart
     */
    private setCulture;
    /**
     * Renders the diagram control with nodes and connectors
     */
    render(): void;
    private updateFitToPage;
    private updateTemplate;
    private resetTemplate;
    private renderInitialCrud;
    /**
     * Returns the module name of the diagram
     *
     * @returns {string}  Returns the module name of the diagram
     */
    getModuleName(): string;
    /**
     *
     * Returns the name of class Diagram
     * @returns {string}  Returns the module name of the diagram
     * @private
     */
    getClassName(): string;
    /**
     * To provide the array of modules needed for control rendering
     *
     * @returns {base.ModuleDeclaration[]} To provide the array of modules needed for control rendering .\
     * @private
     */
    requiredModules(): base.ModuleDeclaration[];
    private removeUserHandlesTemplate;
    /**
     *To destroy the diagram
     *
     * @returns {void} To destroy the diagram
     */
    destroy(): void;
    private wireEvents;
    private unWireEvents;
    /**
     * Selects the given collection of objects \
     *
     * @returns { void } Selects the given collection of objects .\
     * @param {NodeModel | ConnectorModel} objects - Defines the collection of nodes and connectors to be selected
     * @param {boolean} multipleSelection -Defines whether the existing selection has to be cleared or not
     *
     */
    select(objects: (NodeModel | ConnectorModel)[], multipleSelection?: boolean, oldValue?: (NodeModel | ConnectorModel)[]): void;
    /**
    * this method returns diagramAction as a string
    * @returns { string }
    */
    getDiagramAction(diagramAction: DiagramAction): string;
    /**
     *  Selects the all the objects. \
     *
     * @returns { void }  Selects the all the objects. .\
     *
     */
    selectAll(): void;
    /**
     * Removes the given object from selection list \
     *
     * @returns { void } Selects the given collection of objects .\
     * @param {NodeModel | ConnectorModel} obj -  Removes the given object from selection list
     *
     */
    unSelect(obj: NodeModel | ConnectorModel): void;
    /**
     * Removes all elements from the selection list\
     *
     * @returns { void } Removes all elements from the selection list .\
     *
     */
    clearSelection(): void;
    /**
     *  Update the diagram clipboard dimension \
     *
     * @returns { void }  Update the diagram clipboard dimension .\
     *
     */
    updateViewPort(): void;
    private cutCommand;
    /**
     *  Removes the selected nodes and connectors from diagram and moves them to diagram clipboard \
     *
     * @returns { void }  Removes the selected nodes and connectors from diagram and moves them to diagram clipboard .\
     *
     */
    cut(): void;
    /**
     *   Add a process into the sub-process \
     *
     * @returns { void }  Add a process into the sub-process.\
     * @param {NodeModel | ConnectorModel} process - provide the process value.
     * @param {boolean} parentId - provide the parentId value.
     *
     */
    addProcess(process: NodeModel, parentId: string): void;
    /**
     *  Remove a process from the sub-processs \
     *
     * @returns { void }  Remove a process from the sub-process.\
     * @param {string} id - provide the id value.
     *
     */
    removeProcess(id: string): void;
    private pasteCommand;
    /**
     *  Adds the given objects/ the objects in the diagram clipboard to diagram control \
     *
     * @returns { void }  Remove a process from the sub-process.\
     * @param {NodeModel[] | ConnectorModel[]} obj - Defines the objects to be added to diagram
     * @deprecated
     *
     */
    paste(obj?: (NodeModel | ConnectorModel)[]): void;
    /**
     *  fit the diagram to the page with respect to mode and region \
     *
     * @returns { void }  fit the diagram to the page with respect to mode and region.\
     * @param {IFitOptions} options - provide the options value.
     *
     */
    fitToPage(options?: IFitOptions): void;
    /**
     * bring the specified bounds into the viewport \
     *
     * @returns { void }  bring the specified bounds into the viewport.\
     * @param {Rect} bound - provide the bound value.
     *
     */
    bringIntoView(bound: Rect): void;
    /**
     * bring the specified bounds to the center of the viewport \
     *
     * @returns { void }  bring the specified bounds to the center of the viewport.\
     * @param {Rect} bound - provide the bound value.
     *
     */
    bringToCenter(bound: Rect): void;
    private copyCommand;
    /**
     * Copies the selected nodes and connectors to diagram clipboard \
     *
     * @returns { Object } Copies the selected nodes and connectors to diagram clipboard.\
     *
     */
    copy(): Object;
    /**
     *  Group the selected nodes and connectors in diagram \
     *
     * @returns { void }   Group the selected nodes and connectors in diagram.\
     *
     */
    group(): void;
    /**
     *  UnGroup the selected nodes and connectors in diagram \
     *
     * @returns { void }   UnGroup the selected nodes and connectors in diagram.\
     *
     */
    unGroup(): void;
    /**
     *  send the selected nodes or connectors back \
     *
     * @returns { void }   send the selected nodes or connectors back.\
     *
     */
    sendToBack(): void;
    /**
     * set the active layer\
     *
     * @returns { void } set the active layer.\
     * @param {string} layerName - defines the name of the layer which is to be active layer.
     *
     */
    setActiveLayer(layerName: string): void;
    /**
     * add the layer into diagram\
     *
     * @returns { void } add the layer into diagram.\
     * @param {LayerModel} layer - defines the layer model which is to be added
     * @param {Object[]} layerObject - defines the object of the layer
     * @blazorArgsType layer|DiagramLayer
     * @deprecated
     *
     */
    addLayer(layer: LayerModel, layerObject?: Object[]): void;
    /**
     *  @private
     */
    private addDiagramLayer;
    /**
     * remove the layer from diagram \
     *
     * @returns { void } remove the layer from diagram.\
     * @param {string} layerId - provide the bound value.
     * @deprecated
     *
     */
    removeLayer(layerId: string): void;
    /**
     *  @private
     */
    private removeDiagramLayer;
    /**
     * move objects from the layer to another layer from diagram\
     *
     * @returns { void } move objects from the layer to another layer from diagram.\
     * @param {string[]} objects - define the objects id of string array
     * @param {string} targetLayer - define the objects id of string array
     *
     */
    moveObjects(objects: string[], targetLayer?: string): void;
    private layerObjectUpdate;
    /**
     * move the layer backward \
     *
     * @returns { void } move the layer backward .\
     * @param {string} layerName - define the name of the layer
     * @param {string} targetLayer - define the objects id of string array
     *
     */
    sendLayerBackward(layerName: string): void;
    /**
     * move the layer forward \
     *
     * @returns { void } move the layer forward.\
     * @param {string} layerName - define the name of the layer
     *
     */
    bringLayerForward(layerName: string): void;
    /**
     *clone a layer with its object \
     *
     * @returns { void } move the layer forward.\
     * @param {string} layerName - define the name of the layer
     *
     */
    cloneLayer(layerName: string): void;
    /**
     *bring the selected nodes or connectors to front \
     *
     * @returns { void } move the layer forward.\
     *
     */
    bringToFront(): void;
    /**
     *send the selected nodes or connectors forward \
     *
     * @returns { void } send the selected nodes or connectors forward.\
     *
     */
    moveForward(): void;
    /**
     *send the selected nodes or connectors back\
     *
     * @returns { void } send the selected nodes or connectors back.\
     *
     */
    sendBackward(): void;
    /**
     *gets the node or connector having the given name \
     *
     * @returns { void } gets the node or connector having the given name.\
     * @param {string} name - define the name of the layer
     *
     */
    getObject(name: string): {};
    /**
     * gets the node object for the given node ID \
     *
     * @returns { void } gets the node object for the given node ID.\
     * @param {string} id - define the name of the layer
     *
     */
    getNodeObject(id: string): NodeModel;
    /**
     *gets the connector object for the given node ID \
     *
     * @returns { void } gets the connector object for the given node ID.\
     * @param {string} id - define the name of the layer
     *
     */
    getConnectorObject(id: string): ConnectorModel;
    /**
     * gets the active layer back \
     *
     * @returns { void } gets the active layer back.\
     *
     */
    getActiveLayer(): LayerModel;
    private nudgeCommand;
    /**
     * Moves the selected objects towards the given direction
     *
     * @returns { void }  Moves the selected objects towards the given direction .\
     * @param {NudgeDirection} direction -  Defines the direction by which the objects have to be moved
     * @param {number} x - Defines the distance by which the selected objects have to be horizontally moved
     * @param {number} y -  Defines the distance by which the selected objects have to be vertically moved
     */
    nudge(direction: NudgeDirection, x?: number, y?: number): void;
    private insertBlazorDiagramObjects;
    /**
     * Drags the given object by the specified pixels
     *
     * @returns { void }  Drags the given object by the specified pixels .\
     * @param {NodeModel | ConnectorModel | SelectorModel} obj - Defines the nodes/connectors to be dragged
     * @param {number} tx - Defines the distance by which the given objects have to be horizontally moved
     * @param {number} ty - Defines the distance by which the given objects have to be vertically moved
     */
    drag(obj: NodeModel | ConnectorModel | SelectorModel, tx: number, ty: number): void;
    private disableStackContainerPadding;
    /**
     * Scales the given objects by the given ratio
     *
     * @returns { void } Scales the given objects by the given ratio .\
     * @param {NodeModel | ConnectorModel | SelectorModel} obj - Defines the objects to be resized
     * @param {number} sx - Defines the ratio by which the objects have to be horizontally scaled
     * @param {number} sy - Defines the ratio by which the objects have to be vertically scaled
     * @param {PointModel} pivot - Defines the reference point with respect to which the objects will be resized
     */
    scale(obj: NodeModel | ConnectorModel | SelectorModel, sx: number, sy: number, pivot: PointModel): boolean;
    /**
     * Rotates the given nodes/connectors by the given angle
     *
     * @returns { void } Rotates the given nodes/connectors by the given angle .\
     * @param {NodeModel | ConnectorModel | SelectorModel} obj - Defines the objects to be rotated
     * @param {number} angle - Defines the angle by which the objects have to be rotated
     * @param {PointModel} pivot - Defines the reference point with reference to which the objects have to be rotated
     */
    rotate(obj: NodeModel | ConnectorModel | SelectorModel, angle: number, pivot?: PointModel): boolean;
    /**
     * Moves the source point of the given connector
     *
     * @returns { void }  Moves the source point of the given connector .\
     * @param {ConnectorModel} obj - Defines the connector, the end points of which has to be moved
     * @param {number} tx - Defines the distance by which the end point has to be horizontally moved
     * @param {number} ty - Defines the distance by which the end point has to be vertically moved
     */
    dragSourceEnd(obj: ConnectorModel, tx: number, ty: number): void;
    /**
     * Moves the target point of the given connector
     *
     * @returns { void }   Moves the target point of the given connector.\
     * @param {ConnectorModel} obj - Defines the connector, the end points of which has to be moved
     * @param {number} tx - Defines the distance by which the end point has to be horizontally moved
     * @param {number} ty - Defines the distance by which the end point has to be vertically moved
     */
    dragTargetEnd(obj: ConnectorModel, tx: number, ty: number): void;
    /**
     * Finds all the objects that is under the given mouse position
     *
     * @returns { void }   Finds all the objects that is under the given mouse position.\
     * @param {PointModel} position - Defines the position, the objects under which has to be found
     * @param {IElement} source - Defines the object, the objects under which has to be found
     */
    findObjectsUnderMouse(position: PointModel, source?: IElement): IElement[];
    /**
     * Finds the object that is under the given mouse position
     *
     * @returns { void }   Finds the object that is under the given mouse position.\
     * @param {NodeModel[] | ConnectorModel[]}objects - Defines the collection of objects, from which the object has to be found.
     * @param {Actions} action - Defines the action, using which the relevant object has to be found.
     * @param {boolean} inAction - Defines the active state of the action.
     */
    findObjectUnderMouse(objects: (NodeModel | ConnectorModel)[], action: Actions, inAction: boolean): IElement;
    /**
     * Finds the object that is under the given active object (Source)
     *
     * @returns { void } Finds the object that is under the given active object (Source) .\
     * @param {NodeModel[] | ConnectorModel[]} objects - Defines the collection of objects, from which the object has to be found.
     * @param {Actions} action - Defines the action, using which the relevant object has to be found.
     * @param {boolean} inAction - Defines the active state of the action.
     * @param {PointModel} position - Defines the position.
     * @param {IElement} source - Defines the source.
     */
    findTargetObjectUnderMouse(objects: (NodeModel | ConnectorModel)[], action: Actions, inAction: boolean, position: PointModel, source?: IElement): IElement;
    /**
     * Finds the child element of the given object at the given position
     *
     * @returns { void } Finds the child element of the given object at the given position .\
     * @param {IElement} obj - Defines the object, the child element of which has to be found
     * @param {PointModel} position - Defines the position, the child element under which has to be found
     * @param {number} padding - Defines the padding, the child element under which has to be found
     */
    findElementUnderMouse(obj: IElement, position: PointModel, padding?: number): DiagramElement;
    /**
     * Defines the action to be done, when the mouse hovers the given element of the given object
     *
     * @returns { void } Defines the action to be done, when the mouse hovers the given element of the given object .\
     * @param {NodeModel | ConnectorModel} obj - Defines the object under mouse
     * @param {DiagramElement} wrapper - Defines the target element of the object under mouse
     * @param {PointModel} position - Defines the current mouse position
     * @param { NodeModel | PointPortModel | ShapeAnnotationModel | PathAnnotationModel} target - Defines the target
     * @private
     */
    findActionToBeDone(obj: NodeModel | ConnectorModel, wrapper: DiagramElement, position: PointModel, target?: NodeModel | PointPortModel | ShapeAnnotationModel | PathAnnotationModel): Actions;
    /**
     * Returns the tool that handles the given action
     *
     * @returns { ToolBase } Returns the tool that handles the given action \
     * @param {string} action - Defines the action that is going to be performed
     */
    getTool(action: string): ToolBase;
    /**
     * Defines the cursor that corresponds to the given action
     *
     * @returns { string } Defines the cursor that corresponds to the given action \
     * @param {string} action - Defines the action that is going to be performed
     * @param {boolean} active - Defines the active
     */
    getCursor(action: string, active: boolean): string;
    /**
     * Initializes the undo redo actions
     *
     * @returns { void } Initializes the undo redo actions \
     * @private
     */
    initHistory(): void;
    /**
     * Adds the given change in the diagram control to the track
     *
     * @returns { void } Adds the given change in the diagram control to the track \
     * @param {HistoryEntry} entry - Defines the entry/information about a change in diagram
     */
    addHistoryEntry(entry: HistoryEntry, sourceId?: string[]): void;
    private checkCurrentSymbol;
    /**
     * Adds the given custom change in the diagram control to the track
     *
     * @returns { void } Adds the given custom change in the diagram control to the track \
     * @param {HistoryEntry} entry - Defines the entry/information about a change in diagram
     */
    addCustomHistoryEntry(entry: HistoryEntry): void;
    /** @private */
    historyChangeTrigger(entry: HistoryEntry, action: HistoryChangeAction, sourceId?: string[]): void;
    /**
     * Starts grouping the actions that will be undone/restored as a whole
     *
     * @returns { void } Starts grouping the actions that will be undone/restored as a whole\
     */
    startGroupAction(): void;
    /**
     * Closes grouping the actions that will be undone/restored as a whole
     *
     * @returns { void } Closes grouping the actions that will be undone/restored as a whole .\
     */
    endGroupAction(): void;
    /**
     * Restores the last action that is performed
     *
     * @returns { void } Restores the last action that is performed .\
     */
    undo(): void;
    /**
     * Restores the last undone action
     *
     * @returns { void } Restores the last undone action .\
     */
    redo(): void;
    private getBlazorDiagramObjects;
    /**
     * Aligns the group of objects to with reference to the first object in the group
     *
     * @returns { void } Aligns the group of objects to with reference to the first object in the group .\
     * @param {AlignmentOptions}option - Defines the factor, by which the objects have to be aligned
     * @param {NodeModel[] | ConnectorModel[]} objects - Defines the objects that have to be aligned
     * @param {AlignmentMode} type - Defines the type to be aligned
     */
    align(option: AlignmentOptions, objects?: (NodeModel | ConnectorModel)[], type?: AlignmentMode): void;
    /**
     * Arranges the group of objects with equal intervals, but within the group of objects
     *
     * @returns { void } Arranges the group of objects with equal intervals, but within the group of objects .\
     * @param {NodeModel[] | ConnectorModel[]} option - Defines the factor to distribute the shapes
     * @param {DistributeOptions} objects - Defines the objects that have to be equally spaced
     */
    distribute(option: DistributeOptions, objects?: (NodeModel | ConnectorModel)[]): void;
    /**
     * Scales the given objects to the size of the first object in the group
     *
     * @returns { void } Scales the given objects to the size of the first object in the group .\
     * @param {SizingOptions} option - Defines whether the node has to be horizontally scaled, vertically scaled or both
     * @param {NodeModel[] | ConnectorModel[]}objects - Defines the collection of objects that have to be scaled
     */
    sameSize(option: SizingOptions, objects?: (NodeModel | ConnectorModel)[]): void;
    private updateBlazorDiagramProperties;
    private getZoomingAttribute;
    /**
     * Scales the diagram control by the given factor
     *
     * @returns { void } Scales the diagram control by the given factor .\
     * @param {number} factor - Defines the factor by which the diagram is zoomed
     * @param {PointModel} focusedPoint - Defines the point with respect to which the diagram has to be zoomed
     */
    zoom(factor: number, focusedPoint?: PointModel): void;
    /**
     * Scales the diagram control by the given factor
     *
     * @returns { void }  Scales the diagram control by the given factor .\
     * @param {ZoomOptions} options - used to define the zoom factor, focus point and zoom type.
     *
     */
    zoomTo(options: ZoomOptions): void;
    /**
     * Pans the diagram control to the given horizontal and vertical offsets
     *
     * @returns { void } Pans the diagram control to the given horizontal and vertical offsets .\
     * @param {number} horizontalOffset - Defines the horizontal distance to which the diagram has to be scrolled
     * @param {number} verticalOffset - Defines the vertical distance to which the diagram has to be scrolled
     * @param {PointModel} focusedPoint - Provide the focusedPoint value
     */
    pan(horizontalOffset: number, verticalOffset: number, focusedPoint?: PointModel, isInteractiveZoomPan?: boolean): void;
    /**
     * Resets the zoom and scroller offsets to default values
     *
     * @returns { void } Resets the zoom and scroller offsets to default values .\
     */
    reset(): void;
    /**
     * Resets the segments of the connectors
     *
     * @returns { void } Resets the segments of the connectors .\
     */
    resetSegments(): void;
    /**
     * setBlazorDiagramProps method
     *
     * @returns {void} setBlazorDiagramProps method .\
     * @param {boolean} arg - provide the eventName value.
     * @private
     */
    setBlazorDiagramProps(arg: boolean): void;
    /**
     * getDirection method
     *
     * @returns { Promise<void | object> } getDirection method .\
     * @param {DiagramEvent} eventName - provide the eventName value.
     * @param {Object} args - provide the args value.
     * @private
     */
    triggerEvent(eventName: DiagramEvent, args: Object): Promise<void | object>;
    private updateEventValue;
    /**
     * Adds the given node to the lane
     *
     * @returns { void }     Adds the given node to the lane .\
     * @param {NodeModel} node - provide the node value.
     * @param {string} swimLane - provide the swimLane value.
     * @param {string} lane - provide the lane value.
     * @deprecated
     */
    addNodeToLane(node: NodeModel, swimLane: string, lane: string): void;
    /**
     * Shows tooltip for corresponding diagram object
     *
     * @param {NodeModel | ConnectorModel} obj - Defines the object for that tooltip has to be shown
     */
    showTooltip(obj: NodeModel | ConnectorModel): void;
    /**
     * hides tooltip for corresponding diagram object
     *
     * @param {NodeModel | ConnectorModel} obj - Defines the object for that tooltip has to be hide
     */
    hideTooltip(obj: NodeModel | ConnectorModel): void;
    /**
     * Adds the given node to diagram control
     *
     * @returns { Node }     getDirection method .\
     * @param {NodeModel} obj - Defines the node that has to be added to diagram
     * @param {boolean} group - Defines the node that has to be added to diagram
     * @blazorArgsType obj|DiagramNode
     */
    addNode(obj: NodeModel, group?: boolean): Node;
    /**
     * Adds the given diagram object to the group.
     *
     * @returns { void }     Adds the given diagram object to the group.\
     * @param {NodeModel} group - defines where the diagram object to be added.
     * @param {string | NodeModel | ConnectorModel} child - defines the diagram object to be added to the group
     * @blazorArgsType obj|DiagramNode
     */
    addChildToGroup(group: NodeModel, child: string | NodeModel | ConnectorModel): void;
    /**
     * Will return the history stack values
     *
     * @returns { void } Will return the history stack values .\
     * @param {boolean} isUndoStack - returns the history stack values
     */
    getHistoryStack(isUndoStack: boolean): HistoryEntry[];
    /**
     * Return the edges for the given node
     *
     * @returns { string[] } Return the edges for the given node .\
     * @deprecated
     * @param {Object} args - return the edge of the given node
     */
    getEdges(args: Object): string[];
    /**
     * Returns the parent id for the node
     *
     * @returns { string }Returns the parent id for the node .\
     * @deprecated
     * @param {string} id - returns the parent id
     */
    getParentId(id: string): string;
    /**
     * Adds the given connector to diagram control
     * @returns { Connector } Adds the given connector to diagram control .\
     *
     * @param {ConnectorModel} obj - Defines the connector that has to be added to diagram
     * @blazorArgsType obj|DiagramConnector
     */
    addConnector(obj: ConnectorModel): Connector;
    /** @private */
    UpdateBlazorDiagramModelCollection(obj: Node | Connector, copiedObject?: (NodeModel | ConnectorModel)[], multiSelectDelete?: (NodeModel | ConnectorModel)[], isBlazorGroupUpdate?: boolean): void;
    /**
     *  UpdateBlazorDiagramModel method
     *
     * @returns { void }  UpdateBlazorDiagramModel method .\
     * @param {Node | Connector | ShapeAnnotation | PathAnnotation} obj - provide the obj value.
     * @param {string} objectType - provide the objectType value.
     * @param {number} removalIndex - provide the removalIndex value.
     * @param {number} annotationNodeIndex - provide the annotationNodeIndex value.
     *
     * @private
     */
    UpdateBlazorDiagramModel(obj: Node | Connector | ShapeAnnotation | PathAnnotation, objectType: string, removalIndex?: number, annotationNodeIndex?: number): void;
    private UpdateBlazorLabelOrPortObjects;
    /**
     *  addBlazorDiagramObjects method
     *
     * @returns { void }  addBlazorDiagramObjects method .\
     *
     * @private
     */
    addBlazorDiagramObjects(): void;
    private removeNodeEdges;
    /**
     *  insertBlazorConnector method
     *
     * @returns { void }  insertBlazorConnector method .\
     * @param {Connector} obj - provide the nodeId value.
     *
     * @private
     */
    insertBlazorConnector(obj: Connector): void;
    /**
     * Adds the given object to diagram control
     *
     * @returns { Node | Connector }     getDirection method .\
     * @param {NodeModel | ConnectorModel} obj - Defines the object that has to be added to diagram
     * @param {boolean} group - provide the group value.
     */
    add(obj: NodeModel | ConnectorModel, group?: boolean): Node | Connector;
    private updateSvgNodes;
    /**
     *  updateProcesses method
     *
     * @returns { void }  updateProcesses method .\
     * @param {(Node | Connector)} node - provide the nodeId value.
     *
     * @private
     */
    updateProcesses(node: (Node | Connector)): void;
    /**
     *  moveSvgNode method
     *
     * @returns { void }  moveSvgNode method .\
     * @param {string} nodeId - provide the nodeId value.
     *
     * @private
     */
    moveSvgNode(nodeId: string): void;
    /**
     * Adds the given annotation to the given node
     *
     * @returns { void } Adds the given annotation to the given node .\
     * @param {BpmnAnnotationModel} annotation - Defines the annotation to be added
     * @param {NodeModel} node - Defines the node to which the annotation has to be added
     */
    addTextAnnotation(annotation: BpmnAnnotationModel, node: NodeModel): void;
    private spliceConnectorEdges;
    /**
     * Remove the dependent connectors if the node is deleted
     * @returns { void } Remove the dependent connectors if the node is deleted .\
     * @param {Node} node - provide the node value.
     *
     * @private
     */
    removeDependentConnector(node: Node): void;
    /**
     * Remove the dependent connectors if the node is deleted
     * @returns { void } Remove the dependent connectors if the node is deleted .\
     * @param {(NodeModel | ConnectorModel)} obj - provide the node value.
     *
     * @private
     */
    removeObjectsFromLayer(obj: (NodeModel | ConnectorModel)): void;
    /**
     * removeElements method \
     *
     * @returns { string }     removeElements method .\
     * @param {NodeModel | ConnectorModel} currentObj - provide the currentObj value.
     *
     * @private
     */
    removeElements(currentObj: NodeModel | ConnectorModel): void;
    private removeCommand;
    /**
     * Removes the given object from diagram
     *
     * @param {NodeModel | ConnectorModel} obj - Defines the object that has to be removed from diagram
     */
    remove(obj?: NodeModel | ConnectorModel): void;
    private isStackChild;
    /** @private */
    deleteChild(node: NodeModel | ConnectorModel | string, parentNode?: NodeModel): void;
    /**
     * addChild method \
     *
     * @returns { string }     addChild method .\
     * @param {NodeModel} node - provide the node value.
     * @param {string | NodeModel | ConnectorModel} child - provide the child value.
     * @param {number} index - provide the layoutOrientation value.
     *
     * @private
     */
    addChild(node: NodeModel, child: string | NodeModel | ConnectorModel, index?: number): string;
    /**
     * Clears all nodes and objects in the diagram
     *
     * @returns { void }     getDirection method .\
     * @deprecated
     */
    clear(): void;
    private clearObjects;
    private startEditCommad;
    /**
     * Specified annotation to edit mode
     *
     * @returns { void }  Specified annotation to edit mode .\
     * @param {NodeModel | ConnectorModel} node - Defines node/connector that contains the annotation to be edited
     * @param {string} id - Defines annotation id to be edited in the node
     */
    startTextEdit(node?: NodeModel | ConnectorModel, id?: string): void;
    private updateConnectorfixedUserHandles;
    private updateNodeExpand;
    private updateConnectorAnnotation;
    private removeChildrenFromLayout;
    /**
     * Automatically updates the diagram objects based on the type of the layout
     * @returns { ILayout | boolean }  Automatically updates the diagram objects based on the type of the layout .\
     */
    doLayout(): ILayout | boolean;
    /**
     * Serializes the diagram control as a string
     * @returns { string }     Serializes the diagram control as a string .\
     */
    saveDiagram(): string;
    /**
     * Converts the given string as a Diagram Control
     *
     * @returns { Object }      Converts the given string as a Diagram Control .\
     * @param {string} data - Defines the behavior of the diagram to be loaded
     * @deprecated
     */
    loadDiagram(data: string): Object;
    /**
     * To  get the html diagram content
     *
     * @returns { string }     getDirection method .\
     * @param {StyleSheetList} styleSheets - defines the collection of style files to be considered while exporting.
     */
    getDiagramContent(styleSheets?: StyleSheetList): string;
    /**
     * To export diagram native/html image
     *
     * @returns { void } To export diagram native/html image .\
     * @param {string} image - defines image content to be exported.
     * @param {IExportOptions} options - defines the image properties.
     */
    exportImage(image: string, options: IExportOptions): void;
    /**
     * To print native/html nodes of diagram
     *
     * @returns { void } To print native/html nodes of diagram .\
     * @param {string} image - defines image content.
     * @param {IExportOptions} options - defines the properties of the image
     */
    printImage(image: string, options: IExportOptions): void;
    /**
     * To limit the history entry of the diagram
     *
     * @returns { void }  To limit the history entry of the diagram.\
     * @param {number} stackLimit - defines stackLimit of the history manager.
     */
    setStackLimit(stackLimit: number): void;
    /**
     * To clear history of the diagram
     * @returns { void } To clear history of the diagram .\
     */
    clearHistory(): void;
    /**
     * To get the bound of the diagram
     * @returns { void } To get the bound of the diagram .\
     */
    getDiagramBounds(): Rect;
    /**
     * To export Diagram
     *
     * @returns { void } To export Diagram .\
     * @param {IExportOptions} options - defines the how the image to be exported.
     */
    exportDiagram(options: IExportOptions): string | SVGElement;
    /**
     * To print Diagram
     *
     * @returns { void }     To print Diagram .\
     * @param {IPrintOptions} optons - defines how the image to be printed.
     */
    print(options: IPrintOptions): void;
    /**
     * Add ports at the run time \
     *
     * @returns { void }    Remove Labels at the run time .\
     * @param { Node | ConnectorModel} obj - provide the obj value.
     * @param {ShapeAnnotationModel[] | PathAnnotationModel[]} ports - provide the ports value.
     * @blazorArgsType obj|DiagramNode
     */
    addPorts(obj: NodeModel, ports: PointPortModel[]): void;
    /**
     * Add constraints at run time \
     *
     * @returns { void }Add constraints at run time .\
     * @param {number} constraintsType - provide the source value.
     * @param {number} constraintsValue - provide the target value.
     *
     */
    addConstraints(constraintsType: number, constraintsValue: number): number;
    /**
     * Remove constraints at run time \
     *
     * @returns { void }Remove constraints at run time .\
     * @param {number} constraintsType - provide the source value.
     * @param {number} constraintsValue - provide the target value.
     *
     */
    removeConstraints(constraintsType: number, constraintsValue: number): number;
    /**
     * Add labels in node at the run time in the blazor platform \
     *
     * @returns { void } Add labels in node at the run time in the blazor platform .\
     * @param {NodeModel} obj - provide the obj value.
     * @param {ShapeAnnotationModel[]} labels - provide the labels value.
     *
     */
    addNodeLabels(obj: NodeModel, labels: ShapeAnnotationModel[]): void;
    /**
     * Add labels in connector at the run time in the blazor platform\
     *
     * @returns { void } Add labels in connector at the run time in the blazor platform .\
     * @param {ConnectorModel} obj - provide the obj value.
     * @param {PathAnnotationModel[]} labels - provide the labels value.
     *
     */
    addConnectorLabels(obj: ConnectorModel, labels: PathAnnotationModel[]): void;
    /**
     * Add Labels at the run time \
     *
     * @returns { void } Add Labels at the run time .\
     * @param {NodeModel | ConnectorModel} obj - provide the obj value.
     * @param {ShapeAnnotationModel[] | PathAnnotation[] | PathAnnotationModel[]} labels - provide the labels value.
     *
     */
    addLabels(obj: NodeModel | ConnectorModel, labels: ShapeAnnotationModel[] | PathAnnotation[] | PathAnnotationModel[]): void;
    /**
     * Add dynamic Lanes to swimLane at runtime \
     *
     * @returns { void } Add dynamic Lanes to swimLane at runtime .\
     * @param {NodeModel} node - provide the obj value.
     * @param {LaneModel[]} lane - provide the labels value.
     * @param {number} index - provide the labels value.
     *
     */
    addLanes(node: NodeModel, lane: LaneModel[], index?: number): void;
    /**
     * Add a phase to a swimLane at runtime \
     *
     * @returns { void } Add a phase to a swimLane at runtime .\
     * @param {NodeModel} node - provide the obj value.
     * @param {PhaseModel[]} phases - provide the labels value.
     *
     */
    addPhases(node: NodeModel, phases: PhaseModel[]): void;
    /**
     *Remove dynamic Lanes to swimLane at runtime \
     *
     * @returns { void } Remove dynamic Lanes to swimLane at runtime .\
     * @param {NodeModel} node - provide the node value.
     * @param {LaneModel} lane - provide the lane value.
     *
     */
    removeLane(node: NodeModel, lane: LaneModel): void;
    /**
     *Remove a phase to a swimLane at runtime \
     *
     * @returns { void } Remove a phase to a swimLane at runtime .\
     * @param {NodeModel} node - provide the node value.
     * @param {PhaseModel} phase - provide the phase value.
     *
     */
    removePhase(node: NodeModel, phase: PhaseModel): void;
    private removelabelExtension;
    /**
     * Remove Labels at the run time \
     *
     * @returns { string }    Remove Labels at the run time .\
     * @param { Node | ConnectorModel} obj - provide the obj value.
     * @param {ShapeAnnotationModel[] | PathAnnotationModel[]} labels - provide the labels value.
     *
     */
    removeLabels(obj: Node | ConnectorModel, labels: ShapeAnnotationModel[] | PathAnnotationModel[]): void;
    private removePortsExtenion;
    /**
     * Remove Ports at the run time \
     *
     * @returns { void } checkSourcePointInTarget method .\
     * @param {Node} obj - provide the Connector value.
     * @param {PointPortModel[]} ports - provide the Connector value.
     *
     */
    removePorts(obj: Node, ports: PointPortModel[]): void;
    /**
     * getSizeValue method \
     *
     * @returns { string }     getSizeValue method .\
     * @param {string | Number} real - provide the real value.
     * @param {string | Number} rulerSize - provide the rulerSize value.
     *
     * @private
     */
    getSizeValue(real: string | number, rulerSize?: number): string;
    private renderRulers;
    private intOffPageBackground;
    private initDiagram;
    private renderHiddenUserHandleTemplateLayer;
    private renderBackgroundLayer;
    private renderGridLayer;
    private renderDiagramLayer;
    private initLayers;
    private renderAdornerLayer;
    private renderPortsExpandLayer;
    private renderHTMLLayer;
    private renderNativeLayer;
    /**
     * createSvg method \
     *
     * @returns { void }     createSvg method .\
     * @param {string} id - provide the source value.
     * @param {string | Number} width - provide the source value.
     * @param {string | Number} height - provide the source value.
     *
     * @private
     */
    createSvg(id: string, width: string | Number, height: string | Number): SVGElement;
    private updateBazorShape;
    private initObjects;
    /**
     * initLayerObjects method \
     *
     * @returns { void }     initLayerObjects method .\
     *
     * @private
     */
    initLayerObjects(): void;
    private alignGroup;
    private addToLayer;
    /** Check whether node is in lane or not */
    private findNodeInLane;
    private updateLayer;
    private updateScrollSettings;
    private initData;
    private generateData;
    private makeData;
    private initNodes;
    private initConnectors;
    private setZIndex;
    private initializeDiagramLayers;
    /**
     * resetTool method \
     *
     * @returns { void }     resetTool method .\
     *
     * @private
     */
    resetTool(): void;
    private initObjectExtend;
    /**
     * initObject method \
     *
     * @returns { void }     initObject method .\
     * @param {End} obj - provide the obj value.
     * @param {End} layer - provide the layer value.
     * @param {LayoutOrientation} independentObj - provide the independentObj value.
     * @param {boolean} group - provide the independentObj value.
     *
     * @private
     */
    initObject(obj: IElement, layer?: LayerModel, independentObj?: boolean, group?: boolean): void;
    private getConnectedPort;
    private scaleObject;
    private updateDefaultLayoutIcons;
    private updateDefaultLayoutIcon;
    /**
     * updateGroupOffset method \
     *
     * @returns { void }     updateGroupOffset method .\
     * @param {NodeModel | ConnectorModel} node - provide the source value.
     * @param {boolean} isUpdateSize - provide the target value.
     *
     * @private
     */
    updateGroupOffset(node: NodeModel | ConnectorModel, isUpdateSize?: boolean): void;
    private initNode;
    /**
     * updateDiagramElementQuad method \
     *
     * @returns { void }     updateDiagramElementQuad method .\
     *
     * @private
     */
    updateDiagramElementQuad(): void;
    private onLoadImageSize;
    private updateChildPosition;
    private canExecute;
    private updateStackProperty;
    private initViews;
    private initCommands;
    private overrideCommands;
    private initCommandManager;
    /**
     * updateNodeEdges method \
     *
     * @returns { void }     updateNodeEdges method .\
     * @param {Node} node - provide the source value.
     *
     * @private
     */
    updateNodeEdges(node: Node): void;
    /**
     * updateIconVisibility method \
     *
     * @returns { void }     updateIconVisibility method .\
     * @param {Node} node - provide the source value.
     * @param {boolean} visibility - provide the source value.
     *
     * @private
     */
    private updateIconVisibility;
    /**
     * updateEdges method \
     *
     * @returns { void }     updateEdges method .\
     * @param {Connector} obj - provide the source value.
     *
     * @private
     */
    updateEdges(obj: Connector): void;
    /**
     * updatePortEdges method \
     *
     * @returns { void }     updatePortEdges method .\
     * @param {NodeModel} node - provide the source value.
     * @param {ConnectorModel} obj - provide the target value.
     * @param {boolean} isInEdges - provide the layoutOrientation value.
     *
     * @private
     */
    updatePortEdges(node: NodeModel, obj: ConnectorModel, isInEdges: boolean): void;
    /**
     * refreshDiagram method \
     *
     * @returns { void }     refreshDiagram method .\
     *
     * @private
     */
    refreshDiagram(): void;
    private updateCanupdateStyle;
    private getZindexPosition;
    /**
     *updateDiagramObject method \
     *
     * @returns { void } updateDiagramObject method .\
     * @param { (NodeModel | ConnectorModel) } obj - provide the obj value.
     * @param { boolean } canIgnoreIndex - provide the canIgnoreIndex value.
     * @param { boolean } isUpdateObject - provide the isUpdateObject value.
     *
     * @private
     */
    updateDiagramObject(obj: (NodeModel | ConnectorModel), canIgnoreIndex?: boolean, isUpdateObject?: boolean): void;
    private applyMarginBezier;
    private getMidPoint;
    private getBezierPoints;
    /**
     *updateGridContainer method \
     *
     * @returns { void } updateGridContainer method .\
     * @param { GridPanel } grid - provide the objectArray value.
     *
     * @private
     */
    updateGridContainer(grid: GridPanel): void;
    /**
     *getObjectsOfLayer method \
     *
     * @returns { (NodeModel | ConnectorModel)[] } getObjectsOfLayer method .\
     * @param { string[] } objectArray - provide the objectArray value.
     *
     * @private
     */
    getObjectsOfLayer(objectArray: string[]): (NodeModel | ConnectorModel)[];
    /**
     *refreshDiagramLayer method \
     *
     * @returns { void } refreshDiagramLayer method .\
     *
     * @private
     */
    refreshDiagramLayer(): void;
    /**
     *refreshCanvasLayers method \
     *
     * @returns { void } refreshCanvasLayers method .\
     * @param { View } view - provide the view value.
     *
     * @private
     */
    refreshCanvasLayers(view?: View): void;
    private renderBasicElement;
    private refreshElements;
    private renderTimer;
    /**
     *refreshCanvasDiagramLayer method \
     *
     * @returns { void } refreshCanvasDiagramLayer method .\
     * @param { View } view - provide the view value.
     *
     * @private
     */
    refreshCanvasDiagramLayer(view: View): void;
    /**
     *updatePortVisibility method \
     *
     * @returns { void } updatePortVisibility method .\
     * @param { Node } node - provide the node value.
     * @param { PortVisibility } portVisibility - provide the portVisibility value.
     * @param { Boolean } inverse - provide the inverse value.
     *
     * @private
     */
    updatePortVisibility(node: Node, portVisibility: PortVisibility, inverse?: Boolean): void;
    /**
     *refreshSvgDiagramLayer method \
     *
     * @returns { void } refreshSvgDiagramLayer method .\
     * @param { View } view - provide the object value.
     *
     * @private
     */
    refreshSvgDiagramLayer(view: View): void;
    /**
     *removeVirtualObjects method \
     *
     * @returns { void } removeVirtualObjects method .\
     * @param { Object } clearIntervalVal - provide the object value.
     *
     * @private
     */
    removeVirtualObjects(clearIntervalVal: Object): void;
    /**
     *updateTextElementValue method \
     *
     * @returns { void } updateTextElementValue method .\
     * @param {  NodeModel | ConnectorModel } object - provide the object value.
     *
     * @private
     */
    updateTextElementValue(object: NodeModel | ConnectorModel): void;
    /**
     *updateVirtualObjects method \
     *
     * @returns { void } updateVirtualObjects method .\
     * @param { string[] } collection - provide the collection value.
     * @param { boolean } remove - provide the remove value.
     * @param { string[] } tCollection - provide the htmlLayer value.
     *
     * @private
     */
    updateVirtualObjects(collection: string[], remove: boolean, tCollection?: string[]): void;
    /**
     *renderDiagramElements method \
     *
     * @returns { void } renderDiagramElements method .\
     * @param { HTMLCanvasElement | SVGElement} canvas - provide the canvas value.
     * @param { DiagramRenderer } renderer - provide the renderer value.
     * @param { HTMLElement } htmlLayer - provide the htmlLayer value.
     * @param {boolean } transform - provide the transform value.
     * @param {boolean } fromExport - provide the fromExport value.
     * @param { boolean } isOverView - provide the isOverView value.
     *
     * @private
     */
    renderDiagramElements(canvas: HTMLCanvasElement | SVGElement, renderer: DiagramRenderer, htmlLayer: HTMLElement, transform?: boolean, fromExport?: boolean, isOverView?: boolean): void;
    /**
     *updateBridging method \
     *
     * @returns { void } updateBridging method .\
     * @param {string} isLoad - provide the isLoad value.
     *
     * @private
     */
    updateBridging(isLoad?: boolean): void;
    /**
     *setCursor method \
     *
     * @returns { void } setCursor method .\
     * @param {string} cursor - provide the width value.
     *
     * @private
     */
    setCursor(cursor: string): void;
    /**
     *clearCanvas method \
     *
     * @returns { void } clearCanvas method .\
     * @param {View} view - provide the width value.
     *
     * @private
     */
    clearCanvas(view: View): void;
    /**
     *updateScrollOffset method \
     *
     * @returns { void } updateScrollOffset method .\
     *
     * @private
     */
    updateScrollOffset(): void;
    /**
     *setOffset method \
     *
     * @returns { void } setOffset method .\
     * @param {number} offsetX - provide the width value.
     * @param {number} offsetY - provide the height value.
     *
     * @private
     */
    setOffset(offsetX: number, offsetY: number): void;
    /**
     *setSize method \
     *
     * @returns { void } setSize method .\
     * @param {number} width - provide the width value.
     * @param {number} height - provide the height value.
     *
     * @private
     */
    setSize(width: number, height: number): void;
    /**
     *transformLayers method \
     *
     * @returns { void } Defines how to remove the Page breaks .\
     *
     * @private
     */
    transformLayers(): void;
    /**
     *Defines how to remove the Page breaks \
     *
     * @returns { void } Defines how to remove the Page breaks .\
     *
     * @private
     */
    removePageBreaks(): void;
    /**
     * Defines how the page breaks has been rendered \
     *
     * @returns { void } Defines how the page breaks has been rendered .\
     * @param {Rect} bounds - provide the overview value.
     *
     * @private
     */
    renderPageBreaks(bounds?: Rect): void;
    private validatePageSize;
    /**
     * setOverview method \
     *
     * @returns { void }     setOverview method .\
     * @param {View} overview - provide the overview value.
     * @param {string} id - provide the boolean value.
     *
     * @private
     */
    setOverview(overview: View, id?: string): void;
    private renderNodes;
    private updateThumbConstraints;
    /**
     * renderSelector method \
     *
     * @returns { void }     renderSelector method .\
     * @param {boolean} multipleSelection - provide the multipleSelection value.
     * @param {boolean} isSwimLane - provide the boolean value.
     *
     * @private
     */
    renderSelector(multipleSelection: boolean, isSwimLane?: boolean): void;
    private updateSelectionRectangle;
    /**
     * updateSelector method \
     *
     * @returns { void }     updateSelector method .\
     *
     * @private
     */
    updateSelector(): void;
    /**
     * renderSelectorForAnnotation method \
     *
     * @returns { void }     renderSelectorForAnnotation method .\
     * @param {Selector} selectorModel - provide the x value.
     * @param {(SVGElement | HTMLCanvasElement)} selectorElement - provide the y value.
     *
     * @private
     */
    renderSelectorForAnnotation(selectorModel: Selector, selectorElement: (SVGElement | HTMLCanvasElement)): void;
    /**
     * drawSelectionRectangle method \
     *
     * @returns { void }     drawSelectionRectangle method .\
     * @param {number} x - provide the x value.
     * @param {number} y - provide the y value.
     * @param {number} width - provide the width value.
     * @param {number} height - provide the height value.
     *
     * @private
     */
    drawSelectionRectangle(x: number, y: number, width: number, height: number): void;
    /**
     * renderHighlighter method \
     *
     * @returns { void }     renderHighlighter method .\
     * @param {DiagramElement} element - provide the node value.
     *
     * @private
     */
    renderHighlighter(element: DiagramElement): void;
    /**
     * clearHighlighter method \
     *
     * @returns { void }     clearHighlighter method .\
     *
     * @private
     */
    clearHighlighter(): void;
    /**
     * getNodesConnectors method \
     *
     * @returns { (NodeModel | ConnectorModel)[] }     getNodesConnectors method .\
     * @param {(NodeModel | ConnectorModel)[]} selectedItems - provide the node value.
     *
     * @private
     */
    getNodesConnectors(selectedItems: (NodeModel | ConnectorModel)[]): (NodeModel | ConnectorModel)[];
    /**
     * clearSelectorLayer method \
     *
     * @returns { void }     clearSelectorLayer method .\
     *
     * @private
     */
    clearSelectorLayer(): void;
    /**
     * getWrapper method \
     *
     * @returns { void }     getWrapper method .\
     * @param {Container} nodes - provide the node value.
     * @param {string} id - provide the childernCollection value.
     *
     * @private
     */
    getWrapper(nodes: Container, id: string): DiagramElement;
    /**
     * DiagramElement method \
     *
     * @returns { void }     getEndNodeWrapper method .\
     * @param {NodeModel | ConnectorModel} node - provide the node value.
     * @param {ConnectorModel} connector - provide the childernCollection value.
     * @param {boolean} source - provide the childernCollection value.
     *
     * @private
     */
    getEndNodeWrapper(node: NodeModel, connector: ConnectorModel, source: boolean): DiagramElement;
    private containsMargin;
    private focusOutEdit;
    private endEditCommand;
    /**
     * @private
     */
    endEdit(): Promise<void>;
    /**
     * getIndex method \
     *
     * @returns { void }     getIndex method .\
     * @param {NodeModel | ConnectorModel} node - provide the node value.
     * @param {string} id - provide the childernCollection value.
     *
     * @private
     */
    getIndex(node: NodeModel | ConnectorModel, id: string): string;
    private getBlazorTextEditArgs;
    /**
     * canLogChange method \
     *
     * @returns { void }     canLogChange method .\
     *
     * @private
     */
    canLogChange(): boolean;
    private modelChanged;
    private resetDiagramActions;
    /**
     * removeNode method \
     *
     * @returns { void }     removeNode method .\
     * @param {NodeModel} node - provide the node value.
     * @param {NodeModel} childernCollection - provide the childernCollection value.
     *
     * @private
     */
    removeNode(node: NodeModel, childernCollection: string[]): void;
    /**
     * deleteGroup method \
     *
     * @returns { void }     deleteGroup method .\
     * @param {NodeModel} node - provide the source value.
     *
     * @private
     */
    deleteGroup(node: NodeModel): void;
    /** @private */
    /**
     * updateObject method \
     *
     * @returns { void }     updateObject method .\
     * @param {Node | Connector} actualObject - provide the source value.
     * @param {Node | Connector} oldObject - provide the target value.
     * @param {Node | Connector} changedProp - provide the layoutOrientation value.
     *
     * @private
     */
    updateObject(actualObject: Node | Connector, oldObject: Node | Connector, changedProp: Node | Connector): void;
    private nodePropertyChangeExtend;
    private swimLaneNodePropertyChange;
    /** @private */
    insertValue(oldNodeObject: any, isNode: boolean): void;
    /** @private */
    nodePropertyChange(actualObject: Node, oldObject: Node, node: Node, isLayout?: boolean, rotate?: boolean, propertyChange?: boolean): void;
    private updatePorts;
    private updateFlipOffset;
    private updateUMLActivity;
    private updateConnectorProperties;
    /**
     * updateConnectorEdges method \
     *
     * @returns { void }     Updates the connectorPropertyChange of the diagram container .\
     * @param {Node} actualObject - provide the actualObject value.
     *
     * @private
     */
    updateConnectorEdges(actualObject: Node): void;
    private connectorProprtyChangeExtend;
    /**
     * Updates the connectorPropertyChange of the diagram container \
     *
     * @returns { void }     Updates the connectorPropertyChange of the diagram container .\
     * @param {DiagramElement} actualObject - provide the actualObject value.
     * @param {boolean} oldProp - provide the oldProp value.
     * @param {boolean} newProp - provide the newProp value.
     * @param {boolean} disableBridging - provide the disableBridging value.
     * @param {boolean} propertyChange - provide the propertyChange value.
     *
     * @private
     */
    connectorPropertyChange(actualObject: Connector, oldProp: Connector, newProp: Connector, disableBridging?: boolean, propertyChange?: boolean): void;
    /**
     * getDirection methods \
     *
     * @returns { void }  getDirection methods .\
     * @param {NodeModel} node - provide the node value.
     * @param {string} portId - provide the portId value.
     * @param {string} item - provide the item value.
     * @param {number} isInEdges - provide the isInEdges value.
     *
     * @private
     */
    removePortEdges(node: NodeModel, portId: string, item: string, isInEdges: boolean): void;
    private getpropertyChangeArgs;
    private triggerPropertyChange;
    private findInOutConnectPorts;
    private getPoints;
    /**
     * update the  opacity  and visibility for the node  once the layout animation starts \
     *
     * @returns { void }  update the  opacity  and visibility for the node  once the layout animation starts .\
     * @param {Container} element - provide the element value.
     * @param {boolean} visible - provide the visible value.
     * @param {number} opacity - provide the opacity value.
     *
     * @private
     */
    updateNodeProperty(element: Container, visible?: boolean, opacity?: number): void;
    /**
     * checkSelected Item for Connector \
     *
     * @returns { void }  checkSelected Item for Connector .\
     * @param {Connector | Node} actualObject - provide the element value.
     *
     * @private
     */
    checkSelectedItem(actualObject: Connector | Node): boolean;
    /**
     * Updates the visibility of the diagram container \
     *
     * @returns { void }     Updates the visibility of the diagram container .\
     * @param {DiagramElement} element - provide the element value.
     * @param {boolean} visible - provide the target value.
     *
     * @private
     */
    private updateDiagramContainerVisibility;
    /**
     * Updates the visibility of the node/connector \
     *
     * @returns { void }  Updates the visibility of the node/connector .\
     * @param {Container} element - provide the element value.
     * @param {Connector | Node} obj - provide the obj value.
     * @param {boolean} visible - provide the visible value.
     *
     * @private
     */
    updateElementVisibility(element: Container, obj: Connector | Node, visible: boolean): void;
    private updateAnnotations;
    private updatefixedUserHandle;
    /**
     * updateConnectorfixedUserHandle method \
     *
     * @returns { void }  updateConnectorfixedUserHandle method .\
     * @param {ConnectorFixedUserHandleModel} changedObject - provide the changedObject value.
     * @param {ConnectorFixedUserHandleModel} actualfixedUserHandle - provide the actualfixedUserHandle value.
     * @param {Container} nodes - provide the nodes value.
     * @param {Object} actualObject - provide the actualObject value.
     * @param {boolean} canUpdateSize - provide the canUpdateSize value.
     *
     * @private
     */
    updateConnectorfixedUserHandle(changedObject: ConnectorFixedUserHandleModel, actualfixedUserHandle: ConnectorFixedUserHandleModel, nodes: Container, actualObject?: Object, canUpdateSize?: boolean): void;
    /**
     * updateAnnotation method \
     *
     * @returns { void }  updateAnnotation method .\
     * @param {AnnotationModel} changedObject - provide the changedObject value.
     * @param {ShapeAnnotationModel} actualAnnotation - provide the actualAnnotation value.
     * @param {Container} nodes - provide the nodes value.
     * @param {Object} actualObject - provide the actualObject value.
     * @param {boolean} canUpdateSize - provide the canUpdateSize value.
     *
     * @private
     */
    updateAnnotation(changedObject: AnnotationModel, actualAnnotation: ShapeAnnotationModel, nodes: Container, actualObject?: Object, canUpdateSize?: boolean): void;
    private updatefixedUserHandleContent;
    private updateConnectorfixedUserHandleWrapper;
    private updateAnnotationContent;
    private updateAnnotationWrapper;
    /**
     * updateNodefixedUserHandle method \
     *
     * @returns { void }  updateNodefixedUserHandle method .\
     * @param {NodeFixedUserHandleModel} changedObject - provide the changedObject value.
     * @param {NodeFixedUserHandleModel} actualfixedUserHandle - provide the actualfixedUserHandle value.
     * @param {Container} nodes - provide the changedObject value.
     * @param {Object} actualObject - provide the changedObject value.
     *
     * @private
     */
    updateNodefixedUserHandle(changedObject: NodeFixedUserHandleModel, actualfixedUserHandle: NodeFixedUserHandleModel, nodes: Container, actualObject?: Object): void;
    private updatefixedUserHandleWrapper;
    /**
     * updatePort method \
     *
     * @returns { void }  updatePort method .\
     * @param {PointPortModel} changedObject - provide the changedObject value.
     * @param {PointPortModel} actualPort - provide the changedObject value.
     * @param {Container} nodes - provide the changedObject value.
     *
     * @private
     */
    updatePort(changedObject: PointPortModel, actualPort: PointPortModel, nodes: Container): void;
    /**
     * updateIcon method \
     *
     * @returns { void }  updateIcon method .\
     * @param {Node} actualObject - provide the obj value.
     *
     * @private
     */
    updateIcon(actualObject: Node): void;
    private getPortContainer;
    private updateTooltip;
    /**
     * updateQuad method \
     *
     * @returns { void }  updateQuad method .\
     * @param {IElement} obj - provide the obj value.
     *
     * @private
     */
    updateQuad(obj: IElement): void;
    /**
     * removeFromAQuad method \
     *
     * @returns { void }  removeFromAQuad method .\
     * @param {IElement} obj - provide the node value.
     *
     * @private
     */
    removeFromAQuad(obj: IElement): void;
    /**
     * updateGroupSize method \
     *
     * @returns { void }  updateGroupSize method .\
     * @param {NodeModel | ConnectorModel} node - provide the node value.
     *
     * @private
     */
    updateGroupSize(node: NodeModel | ConnectorModel): void;
    private updatePage;
    /**
     * protectPropertyChange method \
     *
     * @returns { void }  protectPropertyChange method .\
     * @param {boolean} enable - provide the enable value.
     *
     * @private
     */
    protectPropertyChange(enable: boolean): void;
    /**
     * getProtectPropertyChangeValue method \
     *
     * @returns { boolean }  getProtectPropertyChangeValue method .\
     *
     * @private
     */
    getProtectPropertyChangeValue(): boolean;
    /**
     * enableServerDataBinding method \
     *
     * @returns { void }  enableServerDataBinding method .\
     * @param {boolean} enable - provide the node value.
     *
     * @private
     */
    enableServerDataBinding(enable: boolean): void;
    /**
     * updateShadow method \
     *
     * @returns { void }  updateShadow method .\
     * @param {ShadowModel} nodeShadow - provide the node value.
     * @param {ShadowModel} changedShadow - provide the Node value.
     *
     * @private
     */
    updateShadow(nodeShadow: ShadowModel, changedShadow: ShadowModel): void;
    /**
     * updateMargin method \
     *
     * @returns { void }  updateMargin method .\
     * @param {Node} node - provide the node value.
     * @param {Node} changes - provide the Node value.
     *
     * @private
     */
    updateMargin(node: Node, changes: Node): void;
    private removePreviewChildren;
    private selectDragedNode;
    private initDroppables;
    private getBlazorDragLeaveEventArgs;
    private getDropEventArgs;
    private removeChildInNodes;
    private getBlazorDragEventArgs;
    private findChild;
    private getChildren;
    private addChildNodes;
    private moveNode;
    /**
     * moves the node or connector forward within given layer \
     *
     * @returns { void }  moves the node or connector forward within given layer .\
     * @param {Node | Connector} node - provide the source value.
     * @param {LayerModel} currentLayer - provide the source value.
     *
     */
    moveObjectsUp(node: NodeModel | ConnectorModel, currentLayer: LayerModel): void;
    /**
     * Inserts newly added element into the database \
     *
     * @returns { void }  Inserts newly added element into the database .\
     * @param {Node | Connector} node - provide the source value.
     *
     */
    insertData(node?: Node | Connector): object;
    /**
     * updates the user defined element properties into the existing database \
     *
     * @returns { void }     Removes the user deleted element from the existing database .\
     * @param {Node | Connector} node - provide the source value.
     *
     */
    updateData(node?: Node | Connector): object;
    /**
     * Removes the user deleted element from the existing database \
     *
     * @returns { void }     Removes the user deleted element from the existing database .\
     * @param {Node | Connector} node - provide the source value.
     *
     */
    removeData(node?: Node | Connector): object;
    private crudOperation;
    private processCrudCollection;
    private parameterMap;
    private getNewUpdateNodes;
    private getDeletedNodes;
    private raiseAjaxPost;
    private getHiddenItems;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/diagram/custom-cursor-model.d.ts
/**
 * Interface for a class CustomCursorAction
 */
export interface CustomCursorActionModel {
    /**
     * Defines the property of a Data Map Items
     *
     */
    action?: Actions;
    /**
     * Defines the Fields for the Data Map Items
     *
     * @default ''
     */
    cursor?: string;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/diagram/custom-cursor.d.ts
/**
 * A collection of JSON objects where each object represents a layer.
 * Layer is a named category of diagram shapes.
 */
export  class CustomCursorAction extends base.ChildProperty<CustomCursorAction> {
    /**
     * Defines the property of a Data Map Items
     *
     */
    action: Actions;
    /**
     * Defines the Fields for the Data Map Items
     *
     * @default ''
     */
    cursor: string;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/diagram/data-mapping-model.d.ts
/**
 * Interface for a class DataMappingItems
 */
export interface DataMappingItemsModel {
    /**
     * Defines the property of a Data Map Items
     *
     * @default ''
     */
    property?: string;
    /**
     * Defines the Fields for the Data Map Items
     *
     * @default ''
     */
    field?: string;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/diagram/data-mapping.d.ts
/**
 * A collection of JSON objects where each object represents a layer.
 * Layer is a named category of diagram shapes.
 */
export  class DataMappingItems extends base.ChildProperty<DataMappingItems> {
    /**
     * Defines the property of a Data Map Items
     *
     * @default ''
     */
    property: string;
    /**
     * Defines the Fields for the Data Map Items
     *
     * @default ''
     */
    field: string;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/diagram/data-source-model.d.ts
/**
 * Interface for a class CrudAction
 */
export interface CrudActionModel {
    /**
     * set an URL to get a data from database
     *
     * @default ''
     */
    read?: string;
    /**
     * set an URL to add a data into database
     *
     * @default ''
     */
    create?: string;
    /**
     * set an URL to update the existing data in database
     *
     * @default ''
     */
    update?: string;
    /**
     * set an URL to remove an data in database
     *
     * @default ''
     */
    destroy?: string;
    /**
     * Add custom fields to node
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    customFields?: Object[];
}
/**
 * Interface for a class ConnectionDataSource
 */
export interface ConnectionDataSourceModel {
    /**
     * set an id for connector dataSource
     *
     * @default ''
     */
    id?: string;
    /**
     * define sourceID to connect with connector
     *
     * @default ''
     */
    sourceID?: string;
    /**
     * define targetID to connect with connector
     *
     * @default ''
     */
    targetID?: string;
    /**
     * define sourcePoint to render connector startPoint
     *
     * @default null
     */
    sourcePointX?: number;
    /**
     * define sourcePoint to render connector startPoint
     *
     * @default null
     */
    sourcePointY?: number;
    /**
     * define targetPoint to render connector targetPoint
     *
     * @default null
     */
    targetPointX?: number;
    /**
     * define targetPoint to render connector targetPoint
     *
     * @default null
     */
    targetPointY?: number;
    /**
     * Sets the data source either as a collection of objects or as an URL of data.DataManager
     *
     * @default null
     */
    dataManager?: data.DataManager;
    /**
     * Add CrudAction to connector data source
     *
     * @aspDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    crudAction?: CrudActionModel;
}
/**
 * Interface for a class DataSource
 */
export interface DataSourceModel {
    /**
     * Sets the unique id of the data source items
     *
     * @default ''
     */
    id?: string;
    /**
     * Sets the data source either as a collection of objects or as an URL of data.DataManager
     *
     * @default null
     * @deprecated
     */
    dataManager?: data.DataManager;
    /**
     * Sets the data source either as a collection of objects or as an URL of data.DataManager
     *
     * @default null
     */
    dataSource?: data.DataManager;
    /**
     * Sets the unique id of the root data source item
     *
     * @default ''
     */
    root?: string;
    /**
     * Sets the unique id that defines the relationship between the data source items
     *
     * @default ''
     */
    parentId?: string;
    /**
     * Binds the custom data with node model
     *
     * @aspDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    doBinding?: Function | string;
    /**
     * A collection of JSON objects where each object represents an Data Map Items.
     *
     * @default []
     */
    dataMapSettings?: DataMappingItemsModel[];
    /**
     * Add CrudAction to data source
     *
     * @aspDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    crudAction?: CrudActionModel;
    /**
     * define connectorDataSource collection
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    connectionDataSource?: ConnectionDataSourceModel;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/diagram/data-source.d.ts
/**
 * Configures the data source that is to be bound with diagram
 * ```html
 * <div id='diagram'></div>
 * ```
 * ```typescript
 * let data: object[] = [
 * { Name: "Elizabeth", Role: "Director" },
 * { Name: "Christina", ReportingPerson: "Elizabeth", Role: "Manager" },
 * { Name: "Yoshi", ReportingPerson: "Christina", Role: "Lead" },
 * { Name: "Philip", ReportingPerson: "Christina", Role: "Lead" },
 * { Name: "Yang", ReportingPerson: "Elizabeth", Role: "Manager" },
 * { Name: "Roland", ReportingPerson: "Yang", Role: "Lead" },
 * { Name: "Yvonne", ReportingPerson: "Yang", Role: "Lead" }
 * ];
 * let items: data.DataManager = new data.DataManager(data as JSON[]);
 * let diagram$: Diagram = new Diagram({
 * ...
 * layout: {
 *             type: 'OrganizationalChart'
 * },
 * dataSourceSettings: {
 * id: 'Name', parentId: 'ReportingPerson', dataManager: items,
 * }
 * ...
 * });
 * diagram.appendTo('#diagram');
 * ```
 */
export  class CrudAction extends base.ChildProperty<CrudAction> {
    /**
     * set an URL to get a data from database
     *
     * @default ''
     */
    read: string;
    /**
     * set an URL to add a data into database
     *
     * @default ''
     */
    create: string;
    /**
     * set an URL to update the existing data in database
     *
     * @default ''
     */
    update: string;
    /**
     * set an URL to remove an data in database
     *
     * @default ''
     */
    destroy: string;
    /**
     * Add custom fields to node
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    customFields: Object[];
}
export  class ConnectionDataSource extends base.ChildProperty<ConnectionDataSource> {
    /**
     * set an id for connector dataSource
     *
     * @default ''
     */
    id: string;
    /**
     * define sourceID to connect with connector
     *
     * @default ''
     */
    sourceID: string;
    /**
     * define targetID to connect with connector
     *
     * @default ''
     */
    targetID: string;
    /**
     * define sourcePoint to render connector startPoint
     *
     * @default null
     */
    sourcePointX: number;
    /**
     * define sourcePoint to render connector startPoint
     *
     * @default null
     */
    sourcePointY: number;
    /**
     * define targetPoint to render connector targetPoint
     *
     * @default null
     */
    targetPointX: number;
    /**
     * define targetPoint to render connector targetPoint
     *
     * @default null
     */
    targetPointY: number;
    /**
     * Sets the data source either as a collection of objects or as an URL of data.DataManager
     *
     * @default null
     */
    dataManager: data.DataManager;
    /**
     * Add CrudAction to connector data source
     *
     * @aspDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    crudAction: CrudActionModel;
}
export  class DataSource extends base.ChildProperty<DataSource> {
    /**
     * Sets the unique id of the data source items
     *
     * @default ''
     */
    id: string;
    /**
     * Sets the data source either as a collection of objects or as an URL of data.DataManager
     *
     * @default null
     * @deprecated
     */
    dataManager: data.DataManager;
    /**
     * Sets the data source either as a collection of objects or as an URL of data.DataManager
     *
     * @default null
     */
    dataSource: data.DataManager;
    /**
     * Sets the unique id of the root data source item
     *
     * @default ''
     */
    root: string;
    /**
     * Sets the unique id that defines the relationship between the data source items
     *
     * @default ''
     */
    parentId: string;
    /**
     * Binds the custom data with node model
     *
     * @aspDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    doBinding: Function | string;
    /**
     * A collection of JSON objects where each object represents an Data Map Items.
     *
     * @default []
     */
    dataMapSettings: DataMappingItemsModel[];
    /**
     * Add CrudAction to data source
     *
     * @aspDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    crudAction: CrudActionModel;
    /**
     * define connectorDataSource collection
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    connectionDataSource: ConnectionDataSourceModel;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/diagram/grid-lines-model.d.ts
/**
 * Interface for a class Gridlines
 */
export interface GridlinesModel {
    /**
     * Sets the line color of gridlines
     *
     * @default ''
     */
    lineColor?: string;
    /**
     * Defines the pattern of dashes and gaps used to stroke horizontal grid lines
     *
     * @default ''
     */
    lineDashArray?: string;
    /**
     * A pattern of lines and gaps that defines a set of horizontal/vertical gridlines
     *
     * @default [1.25, 18.75, 0.25, 19.75, 0.25, 19.75, 0.25, 19.75, 0.25, 19.75]
     */
    lineIntervals?: number[];
    /**
     * A pattern of gaps that defines a set of horizontal/vertical grid dots
     *
     * @default [1, 19, 0.5, 19.5, 0.5, 19.5, 0.5, 19.5, 0.5, 19.5]
     */
    dotIntervals?: number[];
    /**
     * Specifies a set of intervals to snap the objects
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let diagram$: Diagram = new Diagram({
     * ...
     * snapSettings: {
     * horizontalGridlines: { lineIntervals: [0.95, 9.05, 0.2, 9.75], snapIntervals: [10] },
     * verticalGridlines: { lineIntervals: [0.95, 9.05, 0.2, 9.75], snapIntervals: [10] }
     * },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default [20]
     */
    snapIntervals?: number[];
}
/**
 * Interface for a class SnapSettings
 */
export interface SnapSettingsModel {
    /**
     * Defines the horizontal gridlines
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let horizontalGridlines$: GridlinesModel = {lineColor: 'black', lineDashArray: '1,1' };
     * let verticalGridlines$: GridlinesModel = {lineColor: 'black', lineDashArray: '1,1'};
     * let diagram$: Diagram = new Diagram({
     * ...
     * snapSettings: { horizontalGridlines, verticalGridlines, constraints: SnapConstraints.ShowLines,
     * snapObjectDistance: 5, snapAngle: 5 },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default {}
     */
    horizontalGridlines?: GridlinesModel;
    /**
     * Defines the vertical gridlines
     *
     * @default {}
     */
    verticalGridlines?: GridlinesModel;
    /**
     * Constraints for gridlines and snapping
     * * None - Snapping does not happen
     * * ShowHorizontalLines - Displays only the horizontal gridlines in diagram.
     * * ShowVerticalLines - Displays only the Vertical gridlines in diagram.
     * * ShowLines - Display both Horizontal and Vertical gridlines.
     * * SnapToHorizontalLines - Enables the object to snap only with horizontal gridlines.
     * * SnapToVerticalLines - Enables the object to snap only with horizontal gridlines.
     * * SnapToLines - Enables the object to snap with both horizontal and Vertical gridlines.
     * * snapToObject - Enables the object to snap with the other objects in the diagram.
     *
     * @default 'All'
     * @aspNumberEnum
     */
    constraints?: SnapConstraints;
    /**
     * Defines the angle by which the object needs to be snapped
     *
     * @default 5
     */
    snapAngle?: number;
    /**
     * Defines the diagram Grid pattern.
     * * Lines - Render the line for the grid
     * * Dots - Render the dot for the grid
     *
     * @default 'Lines'
     */
    gridType?: GridType;
    /**
     * Sets the minimum distance between the selected object and the nearest object
     *
     * @default 5
     */
    snapObjectDistance?: number;
    /**
     * Defines the color of snapping lines
     * 
     * @default '#07EDE1'
     */
    snapLineColor?: string;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/diagram/grid-lines.d.ts
/**
 * Provides a visual guidance while dragging or arranging the objects on the Diagram surface
 */
export  class Gridlines extends base.ChildProperty<Gridlines> {
    /**
     * Sets the line color of gridlines
     *
     * @default ''
     */
    lineColor: string;
    /**
     * Defines the pattern of dashes and gaps used to stroke horizontal grid lines
     *
     * @default ''
     */
    lineDashArray: string;
    /**
     * A pattern of lines and gaps that defines a set of horizontal/vertical gridlines
     *
     * @default [1.25, 18.75, 0.25, 19.75, 0.25, 19.75, 0.25, 19.75, 0.25, 19.75]
     */
    lineIntervals: number[];
    /**
     * A pattern of gaps that defines a set of horizontal/vertical grid dots
     *
     * @default [1, 19, 0.5, 19.5, 0.5, 19.5, 0.5, 19.5, 0.5, 19.5]
     */
    dotIntervals: number[];
    /**
     * Specifies a set of intervals to snap the objects
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let diagram$: Diagram = new Diagram({
     * ...
     * snapSettings: {
     * horizontalGridlines: { lineIntervals: [0.95, 9.05, 0.2, 9.75], snapIntervals: [10] },
     * verticalGridlines: { lineIntervals: [0.95, 9.05, 0.2, 9.75], snapIntervals: [10] }
     * },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default [20]
     */
    snapIntervals: number[];
    /** @private */
    scaledIntervals: number[];
}
/**
 * Defines the gridlines and defines how and when the objects have to be snapped
 *
 * @default {}
 */
export  class SnapSettings extends base.ChildProperty<SnapSettings> {
    /**
     * Defines the horizontal gridlines
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let horizontalGridlines$: GridlinesModel = {lineColor: 'black', lineDashArray: '1,1' };
     * let verticalGridlines$: GridlinesModel = {lineColor: 'black', lineDashArray: '1,1'};
     * let diagram$: Diagram = new Diagram({
     * ...
     * snapSettings: { horizontalGridlines, verticalGridlines, constraints: SnapConstraints.ShowLines,
     * snapObjectDistance: 5, snapAngle: 5 },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default {}
     */
    horizontalGridlines: GridlinesModel;
    /**
     * Defines the vertical gridlines
     *
     * @default {}
     */
    verticalGridlines: GridlinesModel;
    /**
     * Constraints for gridlines and snapping
     * * None - Snapping does not happen
     * * ShowHorizontalLines - Displays only the horizontal gridlines in diagram.
     * * ShowVerticalLines - Displays only the Vertical gridlines in diagram.
     * * ShowLines - Display both Horizontal and Vertical gridlines.
     * * SnapToHorizontalLines - Enables the object to snap only with horizontal gridlines.
     * * SnapToVerticalLines - Enables the object to snap only with horizontal gridlines.
     * * SnapToLines - Enables the object to snap with both horizontal and Vertical gridlines.
     * * snapToObject - Enables the object to snap with the other objects in the diagram.
     *
     * @default 'All'
     * @aspNumberEnum
     */
    constraints: SnapConstraints;
    /**
     * Defines the angle by which the object needs to be snapped
     *
     * @default 5
     */
    snapAngle: number;
    /**
     * Defines the diagram Grid pattern.
     * * Lines - Render the line for the grid
     * * Dots - Render the dot for the grid
     *
     * @default 'Lines'
     */
    gridType: GridType;
    /**
     * Sets the minimum distance between the selected object and the nearest object
     *
     * @default 5
     */
    snapObjectDistance: number;
    /**
     * Defines the color of snapping lines
     *
     * @default '#07EDE1'
     */
    snapLineColor: string;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/diagram/history.d.ts
/**
 * Interface for a class HistoryEntry
 */
export interface HistoryEntry {
    /**
     * Sets the type of the entry to be stored
     */
    type?: EntryType;
    /**
     * Sets the changed values to be stored
     */
    redoObject?: NodeModel | ConnectorModel | SelectorModel | DiagramModel;
    /**
     * Sets the changed values to be stored
     */
    undoObject?: NodeModel | ConnectorModel | SelectorModel | DiagramModel | ShapeAnnotation | PathAnnotation | PointPortModel;
    /**
     * Sets the changed values to be stored in table
     */
    childTable?: {};
    /**
     * Sets the category for the entry
     */
    category?: EntryCategory;
    /**
     * Sets the next the current object
     */
    next?: HistoryEntry;
    /**
     * Sets the previous of the current object
     */
    previous?: HistoryEntry;
    /**
     * Sets the type of the object is added or remove
     */
    changeType?: EntryChangeType;
    /**
     * Set the value for undo action is activated
     */
    isUndo?: boolean;
    /**
     * Used to stored the entry or not
     */
    cancel?: boolean;
    /**
     * Used to stored the which annotation or port to be changed
     */
    objectId?: string;
    /**
     * Used to indicate last phase to be changed.
     */
    isLastPhase?: boolean;
    /**
     * Used to stored the previous phase.
     */
    previousPhase?: PhaseModel;
    /**
     * Used to stored the added node cause.
     * @blazorType object
     */
    historyAction?: DiagramHistoryAction;
    /**
     * Used to define the object type that is to be added into the entry.
     */
    blazorHistoryEntryType?: HistoryEntryType
}
export interface History {
    /**
     * set the history entry can be undo
     */
    canUndo?: boolean;
    /**
     * Set the history entry can be redo
     */
    canRedo?: boolean;
    /**
     *  Set the current entry object
     */
    currentEntry?: HistoryEntry;
    /**
     * Stores a history entry to history list
     */
    push?: Function;
    /**
     * Used for custom undo option
     */
    undo?: Function;
    /**
     * Used for custom redo option
     */
    redo?: Function;
    /**
     * Used to intimate the group action is start
     */
    startGroupAction?: Function;
    /**
     * Used to intimate the group action is end
     */
    endGroupAction?: Function;
    /**
     * Used to decide to stored the changes to history
     */
    canLog?: Function;
    /**
     * Used to store the undoStack
     */
    undoStack?: HistoryEntry[];
    /**
     * Used to store the redostack
     */
    redoStack?: HistoryEntry[];
    /**
     * Used to restrict or limits the number of history entry will be stored on the history list
     *
     * @deprecated
     */
    stackLimit?: number;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/diagram/keyboard-commands-model.d.ts
/**
 * Interface for a class KeyGesture
 */
export interface KeyGestureModel {
    /**
     * Sets the key value, on recognition of which the command will be executed.
     * * none - no key
     * * Number0 = The 0 key
     * * Number1 = The 1 key
     * * Number2 = The 2 key
     * * Number3 = The 3 key
     * * Number4 = The 4 key
     * * Number5 = The 5 key
     * * Number6 = The 6 key
     * * Number7 = The 7 key
     * * Number8 = The 8 key
     * * Number9 = The 9 key
     * * Number0 = The 0 key
     * * BackSpace = The BackSpace key
     * * F1 = The f1 key
     * * F2 = The f2 key
     * * F3 = The f3 key
     * * F4 = The f4 key
     * * F5 = The f5 key
     * * F6 = The f6 key
     * * F7 = The f7 key
     * * F8 = The f8 key
     * * F9 = The f9 key
     * * F10 = The f10 key
     * * F11 = The f11 key
     * * F12 = The f12 key
     * * A = The a key
     * * B = The b key
     * * C = The c key
     * * D = The d key
     * * E = The e key
     * * F = The f key
     * * G = The g key
     * * H = The h key
     * * I = The i key
     * * J = The j key
     * * K = The k key
     * * L = The l key
     * * M = The m key
     * * N = The n key
     * * O = The o key
     * * P = The p key
     * * Q = The q key
     * * R = The r key
     * * S = The s key
     * * T = The t key
     * * U = The u key
     * * V = The v key
     * * W = The w key
     * * X = The x key
     * * Y = The y key
     * * Z = The z key
     * * Left = The left key
     * * Right = The right key
     * * Top = The top key
     * * Bottom = The bottom key
     * * Escape = The Escape key
     * * Tab = The tab key
     * * Delete = The delete key
     * * Enter = The enter key
     * * The Space key
     * * The page up key
     * * The page down key
     * * The end key
     * * The home key
     * * The Minus
     * * The Plus
     * * The Star
     *
     * @aspDefaultValueIgnore
     * @aspNumberEnum
     * @default undefined
     */
    key?: Keys;
    /**
     * Sets a combination of key modifiers, on recognition of which the command will be executed.
     * * None - no modifiers are pressed
     * * Control - ctrl key
     * * Meta - meta key im mac
     * * Alt - alt key
     * * Shift - shift key
     *
     * @aspDefaultValueIgnore
     * @aspNumberEnum
     * @default undefined
     */
    keyModifiers?: KeyModifiers;
}
/**
 * Interface for a class Command
 */
export interface CommandModel {
    /**
     * Defines the name of the command
     *
     * @default ''
     */
    name?: string;
    /**
     * Check the command is executable at the moment or not
     *
     * @aspDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    canExecute?: Function | string;
    /**
     * Defines what to be executed when the key combination is recognized
     * @aspDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    execute?: Function | string;
    /**
     * Defines a combination of keys and key modifiers, on recognition of which the command will be executed
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let node$: NodeModel;
     * node = {
     * ...
     * id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100,
     * annotations : [{ content: 'text' }];
     * ...
     * };
     *
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes:[node],
     * commandManager:{
     * commands:[{
     * name:'customCopy',
     * parameter : 'node',
     * canExecute:function(){
     * if(diagram.selectedItems.nodes.length>0 || diagram.selectedItems.connectors.length>0){
     *               return true;
     *           }
     *           return false;
     * },
     * execute:function(){
     * for(let i=0;
 i<diagram.selectedItems.nodes.length;
 i++){
     *               diagram.selectedItems.nodes[i].style.fill = 'red';
     *           }
     *           diagram.dataBind();
     * },
     * gesture:{
     * key:Keys.G, keyModifiers:KeyModifiers.Shift | KeyModifiers.Alt
     * }
     * }]
     * },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     * @default {}
     */
    gesture?: KeyGestureModel;
    /**
     * Defines any additional parameters that are required at runtime
     * @default ''
     */
    parameter?: string;
}
/**
 * Interface for a class CommandManager
 */
export interface CommandManagerModel {
    /**
     * Stores the multiple command names with the corresponding command objects
     * @default []
     */
    commands?: CommandModel[];
}
/**
 * Interface for a class ContextMenuSettings
 */
export interface ContextMenuSettingsModel {
    /**
     * Enables/Disables the context menu items
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    show?: boolean;
    /**
     * Shows only the custom context menu items
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    showCustomMenuOnly?: boolean;
    /**
     * Defines the custom context menu items
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let diagram$: Diagram = new Diagram({
     * ...
     *   contextMenuSettings: {   show: true, items: [{
     * text: 'delete', id: 'delete', target: '.e-diagramcontent', iconCss: 'e-copy'
     * }],
     * showCustomMenuOnly: false,
     * },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    items?: ContextMenuItemModel[];
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/diagram/keyboard-commands.d.ts
/**
 * Defines the combination of keys and modifier keys
 */
export  class KeyGesture extends base.ChildProperty<KeyGesture> {
    /**
     * Sets the key value, on recognition of which the command will be executed.
     * * none - no key
     * * Number0 = The 0 key
     * * Number1 = The 1 key
     * * Number2 = The 2 key
     * * Number3 = The 3 key
     * * Number4 = The 4 key
     * * Number5 = The 5 key
     * * Number6 = The 6 key
     * * Number7 = The 7 key
     * * Number8 = The 8 key
     * * Number9 = The 9 key
     * * Number0 = The 0 key
     * * BackSpace = The BackSpace key
     * * F1 = The f1 key
     * * F2 = The f2 key
     * * F3 = The f3 key
     * * F4 = The f4 key
     * * F5 = The f5 key
     * * F6 = The f6 key
     * * F7 = The f7 key
     * * F8 = The f8 key
     * * F9 = The f9 key
     * * F10 = The f10 key
     * * F11 = The f11 key
     * * F12 = The f12 key
     * * A = The a key
     * * B = The b key
     * * C = The c key
     * * D = The d key
     * * E = The e key
     * * F = The f key
     * * G = The g key
     * * H = The h key
     * * I = The i key
     * * J = The j key
     * * K = The k key
     * * L = The l key
     * * M = The m key
     * * N = The n key
     * * O = The o key
     * * P = The p key
     * * Q = The q key
     * * R = The r key
     * * S = The s key
     * * T = The t key
     * * U = The u key
     * * V = The v key
     * * W = The w key
     * * X = The x key
     * * Y = The y key
     * * Z = The z key
     * * Left = The left key
     * * Right = The right key
     * * Top = The top key
     * * Bottom = The bottom key
     * * Escape = The Escape key
     * * Tab = The tab key
     * * Delete = The delete key
     * * Enter = The enter key
     * * The Space key
     * * The page up key
     * * The page down key
     * * The end key
     * * The home key
     * * The Minus
     * * The Plus
     * * The Star
     *
     * @aspDefaultValueIgnore
     * @aspNumberEnum
     * @default undefined
     */
    key: Keys;
    /**
     * Sets a combination of key modifiers, on recognition of which the command will be executed.
     * * None - no modifiers are pressed
     * * Control - ctrl key
     * * Meta - meta key im mac
     * * Alt - alt key
     * * Shift - shift key
     *
     * @aspDefaultValueIgnore
     * @aspNumberEnum
     * @default undefined
     */
    keyModifiers: KeyModifiers;
}
/**
 * Defines a command and a key gesture to define when the command should be executed
 */
export  class Command extends base.ChildProperty<Command> {
    /**
     * Defines the name of the command
     *
     * @default ''
     */
    name: string;
    /**
     * Check the command is executable at the moment or not
     *
     * @aspDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    canExecute: Function | string;
    /**
     * Defines what to be executed when the key combination is recognized
     * @aspDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    execute: Function | string;
    /**
     * Defines a combination of keys and key modifiers, on recognition of which the command will be executed
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let node$: NodeModel;
     * node = {
     * ...
     * id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100,
     * annotations : [{ content: 'text' }];
     * ...
     * };
     *
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes:[node],
     * commandManager:{
     * commands:[{
     * name:'customCopy',
     * parameter : 'node',
     * canExecute:function(){
     * if(diagram.selectedItems.nodes.length>0 || diagram.selectedItems.connectors.length>0){
     *               return true;
     *           }
     *           return false;
     * },
     * execute:function(){
     *$ for(let i=0;
 i<diagram.selectedItems.nodes.length;
 i++){
     *               diagram.selectedItems.nodes[i].style.fill = 'red';
     *           }
     *           diagram.dataBind();
     * },
     * gesture:{
     * key:Keys.G, keyModifiers:KeyModifiers.Shift | KeyModifiers.Alt
     * }
     * }]
     * },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     * @default {}
     */
    gesture: KeyGestureModel;
    /**
     * Defines any additional parameters that are required at runtime
     * @default ''
     */
    parameter: string;
    /**
     *
     * Returns the name of class Command
     * @returns {string}  Returns the name of class Command
     * @private
     */
    getClassName(): string;
}
/**
 * Defines the collection of commands and the corresponding key gestures
 */
export  class CommandManager extends base.ChildProperty<CommandManager> {
    /**
     * Stores the multiple command names with the corresponding command objects
     * @default []
     */
    commands: CommandModel[];
}
/**
 * Defines the behavior of the context menu items
 */
export  class ContextMenuSettings extends base.ChildProperty<ContextMenuSettings> {
    /**
     * Enables/Disables the context menu items
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    show: boolean;
    /**
     * Shows only the custom context menu items
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    showCustomMenuOnly: boolean;
    /**
     * Defines the custom context menu items
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let diagram$: Diagram = new Diagram({
     * ...
     *   contextMenuSettings: {   show: true, items: [{
     * text: 'delete', id: 'delete', target: '.e-diagramcontent', iconCss: 'e-copy'
     * }],
     * showCustomMenuOnly: false,
     * },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    items: ContextMenuItemModel[];
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/diagram/layer-model.d.ts
/**
 * Interface for a class Layer
 */
export interface LayerModel {
    /**
     * Defines the id of a diagram layer
     *
     * @default ''
     */
    id?: string;
    /**
     * Enables or disables the visibility of objects in a particular layer
     *
     * @default true
     */
    visible?: boolean;
    /**
     * Enables or disables editing objects in a particular layer
     *
     * @default false
     */
    lock?: boolean;
    /**
     * Defines the collection of the objects that are added to a particular layer
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    objects?: string[];
    /**
     * Defines the description of the layer
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     *           id: 'node1', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *           annotations: [{ content: 'Default Shape' }]
     *       },
     *       {
     *           id: 'node2', width: 100, height: 100, offsetX: 300, offsetY: 100,
     *           shape: {
     *               type: 'Basic', shape: 'Ellipse'
     *           },
     *           annotations: [{ content: 'Path Element' }]
     *       }
     *       ];
     *       let connectors$: ConnectorModel[] = [{
     *           id: 'connector1',
     *           type: 'Straight',
     *           sourcePoint: { x: 100, y: 300 },
     *           targetPoint: { x: 200, y: 400 },
     *       }];
     * let diagram$: Diagram = new Diagram({
     * ...
     *       connectors: connectors, nodes: nodes,
     *       layers: [{ id: 'layer1', visible: true, objects: ['node1', 'node2', 'connector1'] }],
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    addInfo?: Object;
    /**
     * Defines the zOrder of the layer
     *
     * @default -1
     */
    zIndex?: number;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/diagram/layer.d.ts
/**
 * A collection of JSON objects where each object represents a layer.
 * Layer is a named category of diagram shapes.
 */
export  class Layer extends base.ChildProperty<Layer> {
    /**
     * Defines the id of a diagram layer
     *
     * @default ''
     */
    id: string;
    /**
     * Enables or disables the visibility of objects in a particular layer
     *
     * @default true
     */
    visible: boolean;
    /**
     * Enables or disables editing objects in a particular layer
     *
     * @default false
     */
    lock: boolean;
    /**
     * Defines the collection of the objects that are added to a particular layer
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    objects: string[];
    /**
     * Defines the description of the layer
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     *           id: 'node1', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *           annotations: [{ content: 'Default Shape' }]
     *       },
     *       {
     *           id: 'node2', width: 100, height: 100, offsetX: 300, offsetY: 100,
     *           shape: {
     *               type: 'Basic', shape: 'Ellipse'
     *           },
     *           annotations: [{ content: 'Path Element' }]
     *       }
     *       ];
     *       let connectors$: ConnectorModel[] = [{
     *           id: 'connector1',
     *           type: 'Straight',
     *           sourcePoint: { x: 100, y: 300 },
     *           targetPoint: { x: 200, y: 400 },
     *       }];
     * let diagram$: Diagram = new Diagram({
     * ...
     *       connectors: connectors, nodes: nodes,
     *       layers: [{ id: 'layer1', visible: true, objects: ['node1', 'node2', 'connector1'] }],
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    addInfo: Object;
    /**
     * Defines the zOrder of the layer
     *
     * @default -1
     */
    zIndex: number;
    /**  @private   */
    objectZIndex: number;
    /**   @private  */
    zIndexTable: {};
    constructor(parent: any, propName: string, defaultValue: Object, isArray?: boolean);
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/diagram/layoutinfo-model.d.ts
/**
 * Interface for a class LayoutInfo
 */
export interface LayoutInfoModel {
    /**
     * Defines the orientation of the layout
     *
     * @default'Horizontal'
     */
    orientation?: navigations.Orientation;
    /**
     * Defines the type for the subtree
     *
     * @default'Center'
     * @blazorDefaultValue 'Center'
     * @isEnumeration true
     */
    type?: SubTreeAlignments;
    /**
     * Defines the offset value
     *
     * @default undefined
     */
    offset?: number;
    /**
     * Defines the routing for the layout
     *
     * @default false
     */
    enableRouting?: boolean;
    /**
     * Defines the children for the layout
     *
     * @default []
     */
    children?: string[];
    /**
     * Defines assistant for the layout
     *
     * @default ''
     * @aspDefaultValueIgnore
     * @isBlazorNullableType true
     */
    assistants?: navigations.Orientation;
    /**
     * Defines the level for the layout
     *
     */
    level?: number;
    /**
     * Defines the subtree for the layout
     *
     */
    hasSubTree?: boolean;
    /**
     * Defines the row for the layout
     *
     */
    rows?: number;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/diagram/layoutinfo.d.ts
/**
 * A collection of JSON objects where each object represents a layer.
 * Layer is a named category of diagram shapes.
 */
export  class LayoutInfo extends base.ChildProperty<LayoutInfo> {
    /**
     * Defines the orientation of the layout
     *
     * @default'Horizontal'
     */
    orientation: navigations.Orientation;
    /**
     * Defines the type for the subtree
     *
     * @default'Center'
     * @blazorDefaultValue 'Center'
     * @isEnumeration true
     */
    type: SubTreeAlignments;
    /**
     * Defines the offset value
     *
     * @default undefined
     */
    offset: number;
    /**
     * Defines the routing for the layout
     *
     * @default false
     */
    enableRouting: boolean;
    /**
     * Defines the children for the layout
     *
     * @default []
     */
    children: string[];
    /**
     * Defines assistant for the layout
     *
     * @default ''
     * @aspDefaultValueIgnore
     * @isBlazorNullableType true
     */
    assistants: navigations.Orientation;
    /**
     * Defines the level for the layout
     *
     */
    level: number;
    /**
     * Defines the subtree for the layout
     *
     */
    hasSubTree: boolean;
    /**
     * Defines the row for the layout
     *
     */
    rows: number;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/diagram/page-settings-model.d.ts
/**
 * Interface for a class Background
 */
export interface BackgroundModel {
    /**
     * Defines the source of the background image
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let background: BackgroundModel = { source: 'https://www.w3schools.com/images/w3schools_green.jpg',
     * scale: 'Slice', align: 'XMinYMin' };
     * let diagram$: Diagram = new Diagram({
     * ...
     * pageSettings: {  width: 800, height: 600, orientation: 'Landscape',
     * background: background },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     * @default ''
     */
    source?: string;
    /**
     * Defines the background color of diagram
     * @default 'transparent'
     */
    color?: string;
    /**
     * Defines how the background image should be scaled/stretched
     * * None - Scale value will be set as None for the image
     * * Meet - Scale value Meet will be set for the image
     * * Slice - Scale value Slice will be set for the image
     * @default 'None'
     */
    scale?: Scale;
    /**
     * Defines how to align the background image over the diagram area.
     * * None - Alignment value will be set as none
     * * XMinYMin - smallest X value of the view port and  smallest Y value of the view port
     * * XMidYMin - midpoint X value of the view port and  smallest Y value of the view port
     * * XMaxYMin - maximum X value of the view port and  smallest Y value of the view port
     * * XMinYMid - smallest X value of the view port and midpoint Y value of the view port
     * * XMidYMid - midpoint X value of the view port and midpoint Y value of the view port
     * * XMaxYMid - maximum X value of the view port and midpoint Y value of the view port
     * * XMinYMax - smallest X value of the view port and maximum Y value of the view port
     * * XMidYMax - midpoint X value of the view port and maximum Y value of the view port
     * * XMaxYMax - maximum X value of the view port and maximum Y value of the view port
     * @default 'None'
     */
    align?: ImageAlignment;
}
/**
 * Interface for a class FitOptions
 */
export interface FitOptionsModel {
    /**
     * Defines whether the diagram has to be horizontally/vertically fit into the viewport
     * @default 'Page'
     */
    mode?: FitModes;
    /**
     * Defines the region that has to be fit into the viewport
     * @default 'PageSettings'
     */
    region?: DiagramRegions;
    /**
     * Defines the space to be left between the viewport and the content
     *  @default { left: 25, right: 25, top: 25, bottom: 25 }
     */
    margin?: MarginModel;
    /**
     * Enables/Disables zooming to fit the smaller content into larger viewport
     * @default false
     */
    canZoomIn?: boolean;
    /**
     * Defines the custom region that has to be fit into the viewport
     * @default undefined
     */
    customBounds?: Rect;
    /**
     * Enables/Disables  fit while render
     * @default false
     */
    canFit?: boolean;
}
/**
 * Interface for a class PageSettings
 */
export interface PageSettingsModel {
    /**
     * Sets the width of a diagram Page
     *
     * @default null
     */
    width?: number;
    /**
     * Sets the height of a diagram Page
     *
     * @default null
     */
    height?: number;
    /**
     * Sets the margin of a diagram page
     *
     * @default new Margin(0,0,0,0)
     */
    margin?: MarginModel;
    /**
     * Sets the orientation of the pages in a diagram
     *  * Landscape - Display with page Width is more than the page Height.
     *  * Portrait - Display with page Height is more than the page width.
     *
     * @default 'Landscape'
     */
    orientation?: PageOrientation;
    /**
     * Defines the editable region of the diagram
     * * Infinity - Allow the interactions to take place at the infinite height and width
     * * Diagram - Allow the interactions to take place around the diagram height and width
     * * Page - Allow the interactions to take place around the page height and width
     *
     * @default 'Infinity'
     */
    boundaryConstraints?: BoundaryConstraints;
    /**
     * Defines the background color and image of diagram
     *
     * @default 'transparent'
     */
    background?: BackgroundModel;
    /**
     * Sets whether multiple pages can be created to fit all nodes and connectors
     *
     * @default false
     */
    multiplePage?: boolean;
    /**
     * Enables or disables the page break lines
     *
     * @default false
     */
    showPageBreaks?: boolean;
    /**
     * set the fit options
     *
     * @default new FitOptions()
     * @aspType object
     */
    fitOptions?: FitOptionsModel;
}
/**
 * Interface for a class ScrollSettings
 */
export interface ScrollSettingsModel {
    /**
     * Defines horizontal offset of the scroller
     *
     * @default 0
     */
    horizontalOffset?: number;
    /**
     * Defines vertical offset of the scroller
     *
     * @default 0
     */
    verticalOffset?: number;
    /**
     * Defines the currentZoom value of diagram
     *
     * @default 1
     */
    currentZoom?: number;
    /**
     * Allows to read the viewport width of the diagram
     *
     * @default 0
     */
    viewPortWidth?: number;
    /**
     * Allows to read the viewport height of the diagram
     *
     * @default 0
     */
    viewPortHeight?: number;
    /**
     * Defines the minimum zoom value of the diagram
     *
     * @default 0.2
     */
    minZoom?: number;
    /**
     * Defines the maximum zoom value of the scroller
     *
     * @default 30
     */
    maxZoom?: number;
    /**
     * Defines the scrollable region of diagram.
     * * Diagram - Enables scrolling to view the diagram content
     * * Infinity - Diagram will be extended, when we try to scroll the diagram
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let diagram$: Diagram = new Diagram({
     * ...
     *     scrollSettings: { canAutoScroll: true, scrollLimit: 'Infinity',
     *        scrollableArea : new Rect(0, 0, 300, 300), horizontalOffset : 0
     *                     },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default 'Diagram'
     */
    scrollLimit?: ScrollLimit;
    /**
     * Defines the scrollable area of diagram. Applicable, if the scroll limit is “limited”.
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    scrollableArea?: Rect;
    /**
     * Enables or Disables the auto scroll option
     *
     * @default false
     */
    canAutoScroll?: boolean;
    /**
     * Defines the maximum distance to be left between the object and the scroll bar to trigger auto scrolling
     *
     * @default { left: 15, right: 15, top: 15, bottom: 15 }
     */
    autoScrollBorder?: MarginModel;
    /**
     * Defines the maximum distance to be left between the object and the edge of the page.
     *
     * @default { left: 0, right: 0, top: 0, bottom: 0 }
     */
    padding?: MarginModel;
    /**
     * Specifies the percentage of scale value for each ZoomIn or ZoomOut functionality.
     * @default 0.2
     */
    zoomFactor?: number;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/diagram/page-settings.d.ts
/**
 * Defines the size and appearance of the diagram page
 */
export  class Background extends base.ChildProperty<Background> {
    /**
     * Defines the source of the background image
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let background$: BackgroundModel = { source: 'https://www.w3schools.com/images/w3schools_green.jpg',
     * scale: 'Slice', align: 'XMinYMin' };
     * let diagram$: Diagram = new Diagram({
     * ...
     * pageSettings: {  width: 800, height: 600, orientation: 'Landscape',
     * background: background },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     * @default ''
     */
    source: string;
    /**
     * Defines the background color of diagram
     * @default 'transparent'
     */
    color: string;
    /**
     * Defines how the background image should be scaled/stretched
     * * None - Scale value will be set as None for the image
     * * Meet - Scale value Meet will be set for the image
     * * Slice - Scale value Slice will be set for the image
     * @default 'None'
     */
    scale: Scale;
    /**
     * Defines how to align the background image over the diagram area.
     * * None - Alignment value will be set as none
     * * XMinYMin - smallest X value of the view port and  smallest Y value of the view port
     * * XMidYMin - midpoint X value of the view port and  smallest Y value of the view port
     * * XMaxYMin - maximum X value of the view port and  smallest Y value of the view port
     * * XMinYMid - smallest X value of the view port and midpoint Y value of the view port
     * * XMidYMid - midpoint X value of the view port and midpoint Y value of the view port
     * * XMaxYMid - maximum X value of the view port and midpoint Y value of the view port
     * * XMinYMax - smallest X value of the view port and maximum Y value of the view port
     * * XMidYMax - midpoint X value of the view port and maximum Y value of the view port
     * * XMaxYMax - maximum X value of the view port and maximum Y value of the view port
     * @default 'None'
     */
    align: ImageAlignment;
}
export  class FitOptions extends base.ChildProperty<FitOptions> {
    /**
     * Defines whether the diagram has to be horizontally/vertically fit into the viewport
     * @default 'Page'
     */
    mode: FitModes;
    /**
     * Defines the region that has to be fit into the viewport
     * @default 'PageSettings'
     */
    region: DiagramRegions;
    /**
     * Defines the space to be left between the viewport and the content
     *  @default { left: 25, right: 25, top: 25, bottom: 25 }
     */
    margin: MarginModel;
    /**
     * Enables/Disables zooming to fit the smaller content into larger viewport
     * @default false
     */
    canZoomIn: boolean;
    /**
     * Defines the custom region that has to be fit into the viewport
     * @default undefined
     */
    customBounds: Rect;
    /**
     * Enables/Disables  fit while render
     * @default false
     */
    canFit: boolean;
}
/**
 * Defines the size and appearance of diagram page
 * ```html
 * <div id='diagram'></div>
 * ```
 * ```typescript
 * let diagram$: Diagram = new Diagram({
 * ...
 * pageSettings: {  width: 800, height: 600, orientation: 'Landscape',
 * background: { color: 'blue' }, boundaryConstraints: 'Infinity',
 * multiplePage: true, showPageBreaks: true, },
 * ...
 * });
 * diagram.appendTo('#diagram');
 * ```
 * @default {}
 */
export  class PageSettings extends base.ChildProperty<PageSettings> {
    /**
     * Sets the width of a diagram Page
     *
     * @default null
     */
    width: number;
    /**
     * Sets the height of a diagram Page
     *
     * @default null
     */
    height: number;
    /**
     * Sets the margin of a diagram page
     *
     * @default new Margin(0,0,0,0)
     */
    margin: MarginModel;
    /**
     * Sets the orientation of the pages in a diagram
     *  * Landscape - Display with page Width is more than the page Height.
     *  * Portrait - Display with page Height is more than the page width.
     *
     * @default 'Landscape'
     */
    orientation: PageOrientation;
    /**
     * Defines the editable region of the diagram
     * * Infinity - Allow the interactions to take place at the infinite height and width
     * * Diagram - Allow the interactions to take place around the diagram height and width
     * * Page - Allow the interactions to take place around the page height and width
     *
     * @default 'Infinity'
     */
    boundaryConstraints: BoundaryConstraints;
    /**
     * Defines the background color and image of diagram
     *
     * @default 'transparent'
     */
    background: BackgroundModel;
    /**
     * Sets whether multiple pages can be created to fit all nodes and connectors
     *
     * @default false
     */
    multiplePage: boolean;
    /**
     * Enables or disables the page break lines
     *
     * @default false
     */
    showPageBreaks: boolean;
    /**
     * set the fit options
     *
     * @default new FitOptions()
     * @aspType object
     */
    fitOptions: FitOptionsModel;
}
/**
 * Diagram ScrollSettings module handles the scroller properties of the diagram
 */
export  class ScrollSettings extends base.ChildProperty<ScrollSettings> {
    /**
     * Defines horizontal offset of the scroller
     *
     * @default 0
     */
    horizontalOffset: number;
    /**
     * Defines vertical offset of the scroller
     *
     * @default 0
     */
    verticalOffset: number;
    /**
     * Defines the currentZoom value of diagram
     *
     * @default 1
     */
    currentZoom: number;
    /**
     * Allows to read the viewport width of the diagram
     *
     * @default 0
     */
    viewPortWidth: number;
    /**
     * Allows to read the viewport height of the diagram
     *
     * @default 0
     */
    viewPortHeight: number;
    /**
     * Defines the minimum zoom value of the diagram
     *
     * @default 0.2
     */
    minZoom: number;
    /**
     * Defines the maximum zoom value of the scroller
     *
     * @default 30
     */
    maxZoom: number;
    /**
     * Defines the scrollable region of diagram.
     * * Diagram - Enables scrolling to view the diagram content
     * * Infinity - Diagram will be extended, when we try to scroll the diagram
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let diagram$: Diagram = new Diagram({
     * ...
     *     scrollSettings: { canAutoScroll: true, scrollLimit: 'Infinity',
     *        scrollableArea : new Rect(0, 0, 300, 300), horizontalOffset : 0
     *                     },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default 'Diagram'
     */
    scrollLimit: ScrollLimit;
    /**
     * Defines the scrollable area of diagram. Applicable, if the scroll limit is “limited”.
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    scrollableArea: Rect;
    /**
     * Enables or Disables the auto scroll option
     *
     * @default false
     */
    canAutoScroll: boolean;
    /**
     * Defines the maximum distance to be left between the object and the scroll bar to trigger auto scrolling
     *
     * @default { left: 15, right: 15, top: 15, bottom: 15 }
     */
    autoScrollBorder: MarginModel;
    /**
     * Defines the maximum distance to be left between the object and the edge of the page.
     *
     * @default { left: 0, right: 0, top: 0, bottom: 0 }
     */
    padding: MarginModel;
    /**
     * Specifies the percentage of scale value for each ZoomIn or ZoomOut functionality.
     * @default 0.2
     */
    zoomFactor: number;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/diagram/ruler-settings-model.d.ts
/**
 * Interface for a class DiagramRuler
 */
export interface DiagramRulerModel {
    /**
     * Defines the number of intervals to be present on each segment of the ruler.
     *
     * @default 5
     */
    interval?: number;
    /**
     * Defines the textual description of the ruler segment, and the appearance of the ruler ticks of the ruler.
     *
     * @default 100
     */
    segmentWidth?: number;
    /**
     * Defines the orientation of the ruler
     *
     * @default 'Horizontal'
     */
    orientation?: RulerOrientation;
    /**
     * Defines and sets the tick alignment of the ruler scale.
     *
     * @default 'RightOrBottom'
     */
    tickAlignment?: TickAlignment;
    /**
     * Defines the color of the ruler marker brush.
     *
     * @default 'red'
     */
    markerColor?: string;
    /**
     * Defines the height of the ruler.
     *
     * @default 25
     */
    thickness?: number;
    /**
     * Defines the method which is used to position and arrange the tick elements of the ruler.
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let arrange$: Function = (args: IArrangeTickOptions) => {
     * if (args.tickInterval % 10 == 0) {
     * args.tickLength = 25;
     * }
     * }
     * let diagram$: Diagram = new Diagram({
     * ...
     * rulerSettings: { showRulers: true,
     * horizontalRuler: { segmentWidth: 50, orientation: 'Horizontal', interval: 10,  arrangeTick: arrange },
     * verticalRuler: {segmentWidth: 200,interval: 20, thickness: 20,
     * tickAlignment: 'LeftOrTop', segmentWidth: 50, markerColor: 'red' }
     * },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     * @default null
     * @deprecated
     */
    arrangeTick?: Function | string;
}
/**
 * Interface for a class RulerSettings
 */
export interface RulerSettingsModel {
    /**
     * Enables or disables both horizontal and vertical ruler.
     * @default false
     */
    showRulers?: boolean;
    /**
     * Updates the gridlines relative to the ruler ticks.
     * @default true
     */
    dynamicGrid?: boolean;
    /**
     * Defines the appearance of horizontal ruler
     * @default {}
     */
    horizontalRuler?: DiagramRulerModel;
    /**
     * Defines the appearance of vertical ruler
     * @default {}
     */
    verticalRuler?: DiagramRulerModel;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/diagram/ruler-settings.d.ts
/**
 * Defines the properties of both horizontal and vertical guides/rulers to measure the diagram area.
 */
export  abstract class DiagramRuler extends base.ChildProperty<DiagramRuler> {
    /**
     * Defines the number of intervals to be present on each segment of the ruler.
     *
     * @default 5
     */
    interval: number;
    /**
     * Defines the textual description of the ruler segment, and the appearance of the ruler ticks of the ruler.
     *
     * @default 100
     */
    segmentWidth: number;
    /**
     * Defines the orientation of the ruler
     *
     * @default 'Horizontal'
     */
    orientation: RulerOrientation;
    /**
     * Defines and sets the tick alignment of the ruler scale.
     *
     * @default 'RightOrBottom'
     */
    tickAlignment: TickAlignment;
    /**
     * Defines the color of the ruler marker brush.
     *
     * @default 'red'
     */
    markerColor: string;
    /**
     * Defines the height of the ruler.
     *
     * @default 25
     */
    thickness: number;
    /**
     * Defines the method which is used to position and arrange the tick elements of the ruler.
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let arrange$: Function = (args: IArrangeTickOptions) => {
     * if (args.tickInterval % 10 == 0) {
     * args.tickLength = 25;
     * }
     * }
     * let diagram$: Diagram = new Diagram({
     * ...
     * rulerSettings: { showRulers: true,
     * horizontalRuler: { segmentWidth: 50, orientation: 'Horizontal', interval: 10,  arrangeTick: arrange },
     * verticalRuler: {segmentWidth: 200,interval: 20, thickness: 20,
     * tickAlignment: 'LeftOrTop', segmentWidth: 50, markerColor: 'red' }
     * },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     * @default null
     * @deprecated
     */
    arrangeTick: Function | string;
}
/**
 * Defines the ruler settings of diagram
 * ```html
 * <div id='diagram'></div>
 * ```
 * ```typescript
 * let diagram$: Diagram = new Diagram({
 * ...
 * rulerSettings: { showRulers: true,
 * horizontalRuler: { segmentWidth: 50,interval: 10 },
 * verticalRuler: {segmentWidth: 200,interval: 20}
 * },
 * ...
 * });
 * diagram.appendTo('#diagram');
 * ```
 * @default {}
 */
export  class RulerSettings extends base.ChildProperty<RulerSettings> {
    /**
     * Enables or disables both horizontal and vertical ruler.
     * @default false
     */
    showRulers: boolean;
    /**
     * Updates the gridlines relative to the ruler ticks.
     * @default true
     */
    dynamicGrid: boolean;
    /**
     * Defines the appearance of horizontal ruler
     * @default {}
     */
    horizontalRuler: DiagramRulerModel;
    /**
     * Defines the appearance of vertical ruler
     * @default {}
     */
    verticalRuler: DiagramRulerModel;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/diagram/serialization-settings-model.d.ts
/**
 * Interface for a class SerializationSettings
 */
export interface SerializationSettingsModel {
    /**
     * Enables or Disables serialization of default values.
     * @default false
     */
    preventDefaults?: boolean;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/diagram/serialization-settings.d.ts
/**
 * Defines the serialization settings of diagram
 * ```html
 * <div id='diagram'></div>
 * ```
 * ```typescript
 * let diagram$: Diagram = new Diagram({
 * ...
 * serializationSettings: { preventDefaults: true },
 * ...
 * });
 * diagram.appendTo('#diagram');
 * ```
 * @default {}
 */
export  class SerializationSettings extends base.ChildProperty<SerializationSettings> {
    /**
     * Enables or Disables serialization of default values.
     * @default false
     */
    preventDefaults: boolean;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/enum/enum.d.ts
/**
 * enum module defines the public enumerations
 */
/**
 * @private
 */
export  enum BlazorAction {
    /** Return the layout value is true when doLayout is called   */
    Default = 0,
    /** Need to return the layout value when doLayout is called  */
    expandNode = 2,
    /** Enabled during the mouse interaction  */
    interaction = 4,
    /** Enable when the group action start in history */
    GroupingInProgress = 8,
    /** Enable when the group action start to clone another group node */
    GroupClipboardInProcess = 16,
    /** Enable when the clear the object to prevent the server update */
    ClearObject = 32
}
/**
 * Defines how the diagram elements have to be aligned with respect to its immediate parent
 * * Stretch - Stretches the diagram element throughout its immediate parent
 * * Left - Aligns the diagram element at the left of its immediate parent
 * * Right - Aligns the diagram element at the right of its immediate parent
 * * Center - Aligns the diagram element at the center of its immediate parent
 * * Auto - Aligns the diagram element based on the characteristics of its immediate parent
 */
export  type HorizontalAlignment = 
/**
 * Stretch - Stretches the diagram element throughout its immediate parent
 */
'Stretch' | 
/**
 * Left - Aligns the diagram element at the left of its immediate parent
 */
'Left' | 
/**
 * Right - Aligns the diagram element at the right of its immediate parent
 */
'Right' | 
/**
 * Center - Aligns the diagram element at the center of its immediate parent
 */
'Center' | 
/**
 * Auto - Aligns the diagram element based on the characteristics of its immediate parent
 */
'Auto';
/**
 * Defines how the diagram elements have to be aligned with respect to its immediate parent
 * * Stretch - Stretches the diagram element throughout its immediate parent
 * * Top - Aligns the diagram element at the top of its immediate parent
 * * Bottom - Aligns the diagram element at the bottom of its immediate parent
 * * Center - Aligns the diagram element at the center of its immediate parent
 * * Auto - Aligns the diagram element based on the characteristics of its immediate parent
 */
export  type VerticalAlignment = 
/**
 * Stretch - Stretches the diagram element throughout its immediate parent
 */
'Stretch' | 
/**
 * Top - Aligns the diagram element at the top of its immediate parent
 */
'Top' | 
/**
 * Bottom - Aligns the diagram element at the bottom of its immediate parent
 */
'Bottom' | 
/**
 * Center - Aligns the diagram element at the center of its immediate parent
 */
'Center' | 
/**
 * Auto - Aligns the diagram element based on the characteristics of its immediate parent
 */
'Auto';
/**
 * Defines how the diagram elements have to be flipped with respect to its immediate parent
 * * FlipHorizontal - Translate the diagram element throughout its immediate parent
 * * FlipVertical - Rotate the diagram element throughout its immediate parent
 * * Both - Rotate  and Translate the diagram element throughout its immediate parent
 * * None - Set the flip Direction as None
 */
export  type FlipDirection = 
/**
 * FlipHorizontal - Translate the diagram element throughout its immediate parent
 */
'Horizontal' | 
/**
 * FlipVertical - Rotate the diagram element throughout its immediate parent
 */
'Vertical' | 
/**
 * Both - Rotate  and Translate the diagram element throughout its immediate parent
 */
'Both' | 
/**
 * None - Set the flip Direction as None
 */
'None';
/**
 * Allows you to flip only the node or along with port and label
 * * All - Flips port and label along the node
 * * Label - Flips label along with the node
 * * Port - Flips port along with the node
 * * None - Flips only the node
 */
export  type FlipMode = 
/**
 * All - Flips port and label along the node
 */
'All' | 
/**
 * Label - Flips label along with the node
 */
'Label' | 
/**
 * Port - Flips port along with the node
 */
'Port' | 
/**
 * None - Flips only the node
 */
'None';
/**
 * Defines the orientation of the Page
 * Landscape - Display with page Width is more than the page Height.
 * Portrait - Display with page Height is more than the page width.
 */
export  type PageOrientation = 
/**
 * Landscape - Display with page Width is more than the page Height
 */
'Landscape' | 
/**
 * Portrait - Display with page Height is more than the page width
 */
'Portrait';
/**
 * Defines the orientation of the layout
 * * TopToBottom - Renders the layout from top to bottom
 * * BottomToTop - Renders the layout from bottom to top
 * * LeftToRight - Renders the layout from left to right
 * * RightToLeft - Renders the layout from right to left
 */
export  type LayoutOrientation = 
/**
 * TopToBottom - Renders the layout from top to bottom
 */
'TopToBottom' | 
/**
 * BottomToTop - Renders the layout from bottom to top
 */
'BottomToTop' | 
/**
 * LeftToRight - Renders the layout from left to right
 */
'LeftToRight' | 
/**
 * RightToLeft - Renders the layout from right to left
 */
'RightToLeft';
/**
 * Defines the types of the automatic layout
 * * None - None of the layouts is applied
 * * HierarchicalTree - Defines the type of the layout as Hierarchical Tree
 * * OrganizationalChart - Defines the type of the layout as Organizational Chart
 * * ComplexHierarchicalTree - Defines the type of the layout as complex HierarchicalTree
 * * RadialTree - Defines the type of the layout as Radial tree
 */
export  type LayoutType = 
/**
 * None - None of the layouts is applied
 */
'None' | 
/**
 * HierarchicalTree - Defines the type of the layout as Hierarchical Tree
 */
'HierarchicalTree' | 
/**
 * RadialTree - Defines the type of the layout as Radial Tree
 */
'RadialTree' | 
/**
 * OrganizationalChart - Defines the type of the layout as Organizational Chart
 */
'OrganizationalChart' | 
/**
 * SymmetricalLayout - Defines the type of the layout as SymmetricalLayout
 */
'SymmetricalLayout' | 
/**
 * ComplexHierarchicalTree - Defines the type of the layout as complex HierarchicalTree
 */
'ComplexHierarchicalTree' | 
/**
 * MindMap - Defines the type of the layout as MindMap
 */
'MindMap';
/**
 * Alignment position
 * Left - Sets the branch type as Left
 * Right - Sets the branch type as Right
 * SubLeft - Sets the branch type as SubLeft
 * SubRight - Sets the branch type as SubRight
 * Root - Sets the branch type as Root
 */
export  type BranchTypes = 
/**
 * Left - Sets the branch type as Left
 */
'Left' | 
/**
 * Right - Sets the branch type as Right
 */
'Right' | 
/**
 * SubLeft - Sets the branch type as SubLeft
 */
'SubLeft' | 
/**
 * SubRight - Sets the branch type as SubRight
 */
'SubRight' | 
/**
 * Root - Sets the branch type as Root
 */
'Root';
/**
 * Defines how the first segments have to be defined in a layout
 * Auto - Defines the first segment direction based on the type of the layout
 * Orientation - Defines the first segment direction based on the orientation of the layout
 * Custom - Defines the first segment direction dynamically by the user
 */
export  type ConnectionDirection = 
/**
 * Auto - Defines the first segment direction based on the type of the layout
 */
'Auto' | 
/**
 * Orientation - Defines the first segment direction based on the orientation of the layout
 */
'Orientation' | 
/**
 * Custom - Defines the first segment direction dynamically by the user
 */
'Custom';
/**
 * Defines where the user handles have to be aligned
 * Top - Aligns the user handles at the top of an object
 * Bottom - Aligns the user handles at the bottom of an object
 * Left - Aligns the user handles at the left of an object
 * Right - Aligns the user handles at the right of an object
 */
export  type Side = 
/**
 * Top - Aligns the user handles at the top of an object
 */
'Top' | 
/**
 * Bottom - Aligns the user handles at the bottom of an object
 */
'Bottom' | 
/**
 * Left - Aligns the user handles at the left of an object
 */
'Left' | 
/**
 * Right - Aligns the user handles at the right of an object
 */
'Right';
/**
 * Defines how the connectors have to be routed in a layout
 * Default - Routes the connectors like a default diagram
 * Layout - Routes the connectors based on the type of the layout
 */
export  type ConnectorSegments = 
/**
 * Default - Routes the connectors like a default diagram
 */
'Default' | 
/**
 * Layout - Routes the connectors based on the type of the layout
 */
'Layout';
/**
 * Defines how the annotations have to be aligned with respect to its immediate parent
 * Center - Aligns the annotation at the center of a connector segment
 * Before - Aligns the annotation before a connector segment
 * After - Aligns the annotation after a connector segment
 */
export  type AnnotationAlignment = 
/**
 * Center - Aligns the annotation at the center of a connector segment
 */
'Center' | 
/**
 * Before - Aligns the annotation before a connector segment
 */
'Before' | 
/**
 * After - Aligns the annotation after a connector segment
 */
'After';
/**
 * Defines how the fixedUserHandle have to be aligned with respect to its immediate parent
 * Center - Aligns the fixedUserHandle at the center of a connector segment
 * Before - Aligns the fixedUserHandle before a connector segment
 * After - Aligns the fixedUserHandle after a connector segment
 */
export  type FixedUserHandleAlignment = 
/**
 * Center - Aligns the fixedUserHandle at the center of a connector segment
 */
'Center' | 
/**
 * Before - Aligns the fixedUserHandle before a connector segment
 */
'Before' | 
/**
 * After - Aligns the fixedUserHandle after a connector segment
 */
'After';
/**
 * Defines the type of the port
 * Point - Sets the type of the port as Point
 * Path - Sets the type of the port as Path
 * Dynamic - Sets the type of the port as Dynamic
 */
export  type PortTypes = 
/**
 * Point - Sets the type of the port as Point
 */
'Point' | 
/**
 * Path - Sets the type of the port as Path
 */
'Path' | 
/**
 * Dynamic - Sets the type of the port as Dynamic
 */
'Dynamic';
/**
 * Defines the type of the annotation
 * Shape - Sets the annotation type as Shape
 * Path - Sets the annotation type as Path
 */
export  type AnnotationTypes = 
/**
 * Shape - Sets the annotation type as Shape
 */
'Shape' | 
/**
 * Path - Sets the annotation type as Path
 */
'Path';
/**
 * File Format type for export.
 * JPG - Save the file in JPG Format
 * PNG - Saves the file in PNG Format
 * BMP - Save the file in BMP Format
 * SVG - save the file in SVG format
 *
 * @IgnoreSingular
 */
export  type FileFormats = 
/** JPG-Save the file in JPG Format  */
'JPG' | 
/** PNG - Save the file in PNG Format */
'PNG' | 
/** BMP - Save the file in BMP format */
'BMP' | 
/** SVG - Saves the file in SVG format */
'SVG';
/**
 * Defines whether the diagram has to be exported as an image or it has to be converted as image url
 * Download
 * Data
 *
 * @IgnoreSingular
 */
export  type ExportModes = 
/** Download - Download the image */
'Download' | 
/** Data - Converted as image url */
'Data';
/**
 * Defines the region that has to be drawn as an image
 * PageSettings -  With the given page settings image has to be exported.
 * Content - The diagram content is export
 * CustomBounds - Exported with given bounds.
 *
 * @IgnoreSingular
 */
export  type DiagramRegions = 
/** PageSettings -  With the given page settings image has to be exported. */
'PageSettings' | 
'Content' | 
/** CustomBounds - Exported with given bounds. */
'CustomBounds';
/**
 * Defines the type of annotation template
 * String -  Defines annotation template to be in string
 * Template - Defines annotation template to be in html content
 *
 * @IgnoreSingular
 */
export  type AnnotationType = 
/** String -  Defines annotation template to be in string */
'String' | 
/** Template - Defines annotation template to be in html content */
'Template';
/**
 * Constraints to define when a port has to be visible
 * Visible - Always shows the port
 * Hidden - Always hides the port
 * Hover - Shows the port when the mouse hovers over a node
 * Connect - Shows the port when a connection end point is dragged over a node
 * Default - By default the ports will be visible when a node is hovered and being tried to connect
 *
 * @aspNumberEnum
 */
export  enum PortVisibility {
    /** Always shows the port */
    Visible = 1,
    /** Always hides the port */
    Hidden = 2,
    /** Shows the port when the mouse hovers over a node */
    Hover = 4,
    /** Shows the port when a connection end point is dragged over a node */
    Connect = 8
}
/**
 * Defines the constraints to Enables / Disables some features of Snapping.
 * None - Snapping does not happen
 * ShowHorizontalLines - Displays only the horizontal gridlines in diagram.
 * ShowVerticalLines - Displays only the Vertical gridlines in diagram.
 * ShowLines - Display both Horizontal and Vertical gridlines.
 * SnapToHorizontalLines - Enables the object to snap only with horizontal gridlines.
 * SnapToVerticalLines - Enables the object to snap only with horizontal gridlines.
 * SnapToLines - Enables the object to snap with both horizontal and Vertical gridlines.
 * snapToObject - Enables the object to snap with the other objects in the diagram.
 *
 * @IgnoreSingular
 * @aspNumberEnum
 */
export  enum SnapConstraints {
    /** None - Snapping does not happen */
    None = 0,
    /** ShowHorizontalLines - Displays only the horizontal gridlines in diagram. */
    ShowHorizontalLines = 1,
    /** ShowVerticalLines - Displays only the Vertical gridlines in diagram  */
    ShowVerticalLines = 2,
    /** ShowLines - Display both Horizontal and Vertical gridlines */
    ShowLines = 3,
    /** SnapToHorizontalLines - Enables the object to snap only with horizontal gridlines */
    SnapToHorizontalLines = 4,
    /** SnapToVerticalLines - Enables the object to snap only with horizontal gridlines */
    SnapToVerticalLines = 8,
    /** SnapToLines - Enables the object to snap with both horizontal and Vertical gridlines */
    SnapToLines = 12,
    /** SnapToObject - Enables the object to snap with the other objects in the diagram. */
    SnapToObject = 16,
    /** Shows gridlines and enables snapping */
    All = 31
}
/**
 * Defines the visibility of the selector handles
 * None - Hides all the selector elements
 * ConnectorSourceThumb - Shows/hides the source thumb of the connector
 * ConnectorTargetThumb - Shows/hides the target thumb of the connector
 * ResizeSouthEast - Shows/hides the bottom right resize handle of the selector
 * ResizeSouthWest - Shows/hides the bottom left resize handle of the selector
 * ResizeNorthEast - Shows/hides the top right resize handle of the selector
 * ResizeNorthWest - Shows/hides the top left resize handle of the selector
 * ResizeEast - Shows/hides the middle right resize handle of the selector
 * ResizeWest - Shows/hides the middle left resize handle of the selector
 * ResizeSouth - Shows/hides the bottom center resize handle of the selector
 * ResizeNorth - Shows/hides the top center resize handle of the selector
 * Rotate - Shows/hides the rotate handle of the selector
 * UserHandles - Shows/hides the user handles of the selector
 * Resize - Shows/hides all resize handles of the selector
 *
 * @aspNumberEnum
 * @IgnoreSingular
 */
export  enum SelectorConstraints {
    /** Hides all the selector elements */
    None = 1,
    /** Shows/hides the source thumb of the connector */
    ConnectorSourceThumb = 2,
    /** Shows/hides the target thumb of the connector */
    ConnectorTargetThumb = 4,
    /** Shows/hides the bottom right resize handle of the selector */
    ResizeSouthEast = 8,
    /** Shows/hides the bottom left resize handle of the selector */
    ResizeSouthWest = 16,
    /** Shows/hides the top right resize handle of the selector */
    ResizeNorthEast = 32,
    /** Shows/hides the top left resize handle of the selector */
    ResizeNorthWest = 64,
    /** Shows/hides the middle right resize handle of the selector  */
    ResizeEast = 128,
    /** Shows/hides the middle left resize handle of the selector */
    ResizeWest = 256,
    /** Shows/hides the bottom center resize handle of the selector */
    ResizeSouth = 512,
    /** Shows/hides the top center resize handle of the selector */
    ResizeNorth = 1024,
    /**  Shows/hides the rotate handle of the selector */
    Rotate = 2048,
    /** Shows/hides the user handles of the selector */
    UserHandle = 4096,
    /** Shows/hides the default tooltip of nodes and connectors */
    ToolTip = 8192,
    /** Shows/hides all resize handles of the selector */
    ResizeAll = 2046,
    /** Shows all handles of the selector  */
    All = 16382
}
/**
 * Defines the type of the panel
 * None - Defines that the panel will not rearrange its children. Instead, it will be positioned based on its children.
 * Canvas - Defines the type of the panel as Canvas
 * Stack - Defines the type of the panel as Stack
 * Grid - Defines the type of the panel as Grid
 * WrapPanel - Defines the type of the panel as WrapPanel
 */
export  type Panels = 
/** None - Defines that the panel will not rearrange its children. Instead, it will be positioned based on its children. */
'None' | 
/** Canvas - Defines the type of the panel as Canvas */
'Canvas' | 
/** Stack - Defines the type of the panel as Stack */
'Stack' | 
/** Grid - Defines the type of the panel as Grid */
'Grid' | 
/** WrapPanel - Defines the type of the panel as WrapPanel */
'WrapPanel';
/**
 * Defines the orientation
 * Horizontal - Sets the orientation as Horizontal
 * Vertical - Sets the orientation as Vertical
 */
export  type Orientation = 
/** Horizontal - Sets the orientation as Horizontal */
'Horizontal' | 
/** Vertical - Sets the orientation as Vertical */
'Vertical';
/**
 * Defines the orientation
 * Horizontal - Sets the orientation as Horizontal
 * Vertical - Sets the orientation as Vertical
 */
export  type ContainerTypes = 
/** Canvas - Sets the ContainerTypes as Canvas */
'Canvas' | 
/** Stack - Sets the ContainerTypes as Stack */
'Stack' | 
/** Grid - Sets the ContainerTypes as Grid */
'Grid';
/**
 * Defines the reference with respect to which the diagram elements have to be aligned
 * Point - Diagram elements will be aligned with respect to a point
 * Object - Diagram elements will be aligned with respect to its immediate parent
 */
export  type RelativeMode = 
/** Point - Diagram elements will be aligned with respect to a point */
'Point' | 
/** Object - Diagram elements will be aligned with respect to its immediate parent */
'Object';
/**
 * Defines how to wrap the text when it exceeds the element bounds
 * WrapWithOverflow - Wraps the text so that no word is broken
 * Wrap - Wraps the text and breaks the word, if necessary
 * NoWrap - Text will no be wrapped
 */
export  type TextWrap = 
/** WrapWithOverflow - Wraps the text so that no word is broken */
'WrapWithOverflow' | 
/** Wrap - Wraps the text and breaks the word, if necessary */
'Wrap' | 
/** NoWrap - Text will no be wrapped */
'NoWrap';
/**
 * Defines how to handle the text when it exceeds the element bounds
 * Wrap - Wraps the text to next line, when it exceeds its bounds
 * Ellipsis - It truncates the overflown text and represents the clipping with an ellipsis
 * Clip - It clips the overflow text
 */
export  type TextOverflow = 
/** Wrap - Wraps the text to next line, when it exceeds its bounds */
'Wrap' | 
/** Ellipsis - It truncates the overflown text and represents the clipping with an ellipsis */
'Ellipsis' | 
/** Clip - It clips the overflow text */
'Clip';
/**
 * Defines how to show tooltip
 * Auto - Shows the tooltip on drag, scale, and rotate the object
 * Custom - Shows the tooltip for the diagram element
 */
export  type TooltipMode = 
/** Auto - It shows the tooltip On drag,scale,rotate the object */
'Auto' | 
/** Custom - It shows tooltip based on object */
'Custom';
/**
 * Defines the mode of the alignment based on which the elements should be aligned
 * Object - Aligns the objects based on the first object in the selected list
 * Selector - Aligns the objects based on the  the selector bounds
 */
export  type AlignmentMode = 
/** Object - Aligns the objects based on the first object in the selected list */
'Object' | 
/** Selector - Aligns the objects based on the  the selector bounds */
'Selector';
/**
 * Defines the alignment options
 * Left - Aligns the objects at the left of the selector bounds
 * Right - Aligns the objects at the right of the selector bounds
 * Center - Aligns the objects at the horizontal center of the selector bounds
 * Top - Aligns the objects at the top of the selector bounds
 * Bottom - Aligns the objects at the bottom of the selector bounds
 * Middle - Aligns the objects at the vertical center of the selector bounds
 */
export  type AlignmentOptions = 
/** Left - Aligns the objects at the left of the selector bounds */
'Left' | 
/** Right - Aligns the objects at the right of the selector bounds */
'Right' | 
/** Center - Aligns the objects at the horizontal center of the selector bounds */
'Center' | 
/** Top - Aligns the objects at the top of the selector bounds */
'Top' | 
/** Bottom - Aligns the objects at the bottom of the selector bounds */
'Bottom' | 
/** Middle - Aligns the objects at the vertical center of the selector bounds */
'Middle';
/**
 * Defines the distribution options
 * RightToLeft - Distributes the objects based on the distance between the right and left sides of the adjacent objects
 * Left - Distributes the objects based on the distance between the left sides of the adjacent objects
 * Right - Distributes the objects based on the distance between the right sides of the adjacent objects
 * Center - Distributes the objects based on the distance between the center of the adjacent objects
 * BottomToTop - Distributes the objects based on the distance between the bottom and top sides of the adjacent objects
 * Top - Distributes the objects based on the distance between the top sides of the adjacent objects
 * Bottom - Distributes the objects based on the distance between the bottom sides of the adjacent objects
 * Middle - Distributes the objects based on the distance between the vertical center of the adjacent objects
 */
export  type DistributeOptions = 
/** RightToLeft - Distributes the objects based on the distance between the right and left sides of the adjacent objects */
'RightToLeft' | 
/** Left - Distributes the objects based on the distance between the left sides of the adjacent objects */
'Left' | 
/** Right - Distributes the objects based on the distance between the right sides of the adjacent objects */
'Right' | 
/** Center - Distributes the objects based on the distance between the center of the adjacent objects */
'Center' | 
/** BottomToTop - Distributes the objects based on the distance between the bottom and top sides of the adjacent objects */
'BottomToTop' | 
/** Top - Distributes the objects based on the distance between the top sides of the adjacent objects */
'Top' | 
/** Bottom - Distributes the objects based on the distance between the bottom sides of the adjacent objects */
'Bottom' | 
/** Middle - Distributes the objects based on the distance between the vertical center of the adjacent objects */
'Middle';
/**
 * Defines the sizing options
 * Width - Scales the width of the selected objects
 * Height - Scales the height of the selected objects
 * Size - Scales the selected objects both vertically and horizontally
 */
export  type SizingOptions = 
/** Width - Scales the width of the selected objects */
'Width' | 
/** Height - Scales the height of the selected objects */
'Height' | 
/** Size - Scales the selected objects both vertically and horizontally */
'Size';
/**
 * Defines how to handle the empty space and empty lines of a text
 * PreserveAll - Preserves all empty spaces and empty lines
 * CollapseSpace - Collapses the consequent spaces into one
 * CollapseAll - Collapses all consequent empty spaces and empty lines
 */
export  type WhiteSpace = 
/** PreserveAll - Preserves all empty spaces and empty lines */
'PreserveAll' | 
/** CollapseSpace - Collapses the consequent spaces into one */
'CollapseSpace' | 
/** CollapseAll - Collapses all consequent empty spaces and empty lines */
'CollapseAll';
/**
 * Defines how to handle the rubber band selection
 * CompleteIntersect - Selects the objects that are contained within the selected region
 * PartialIntersect - Selects the objects that are partially intersected with the selected region
 */
export  type RubberBandSelectionMode = 
/** CompleteIntersect - Selects the objects that are contained within the selected region */
'CompleteIntersect' | 
/** PartialIntersect - Selects the objects that are partially intersected with the selected region */
'PartialIntersect';
/**
 * Defines the rendering mode of the diagram
 * SVG - Renders the diagram objects as SVG elements
 * Canvas - Renders the diagram in a canvas
 */
export  type RenderingMode = 
/** SVG - Renders the diagram objects as SVG elements */
'SVG' | 
/** Canvas - Renders the diagram in a canvas */
'Canvas';
/**
 * Defines the connection point of the connectors in the layout
 * SamePoint - Connectors will connect with same point in the layout
 * DifferentPoint - Connectors will connect with different points in the layout
 */
export  enum ConnectionPointOrigin {
    /** SamePoint - Connectors will connect with same point in the layout */
    SamePoint = "SamePoint",
    /** DifferentPoint - Connectors will connect with different points in the layout */
    DifferentPoint = "DifferentPoint"
}
/**
 * Defines the child nodes need to arranged in linear manner in layout
 * Linear - Child nodes will be arranged in linear manner
 * Nonlinear - Child nodes will be arranged in not linear manner
 */
export  enum ChildArrangement {
    /** Linear - Child nodes will be arranged in linear manner */
    Linear = "Linear",
    /** Nonlinear - Child nodes will be arranged in not linear manner */
    Nonlinear = "Nonlinear"
}
/**
 * Defines the gird rendering pattern
 * Lines - Render the line for the grid
 * Dots - Render the dot for the grid
 */
export  type GridType = 
/** Lines - Render the diagram Grid in Line format */
'Lines' | 
/** Lines - Render the diagram Grid in Dot format */
'Dots';
/**
 * Defines how to decorate the text
 * Overline - Decorates the text with a line above the text
 * Underline - Decorates the text with an underline
 * LineThrough - Decorates the text by striking it with a line
 * None - Text will not have any specific decoration
 */
export  type TextDecoration = 
/** Overline - Decorates the text with a line above the text */
'Overline' | 
/** Underline - Decorates the text with an underline */
'Underline' | 
/** LineThrough - Decorates the text by striking it with a line */
'LineThrough' | 
/** None - Text will not have any specific decoration */
'None';
/**
 * Defines how to open the annotation hyperlink in the new tab, current tab or new window
 */
export  type LinkTarget = 
/**Opens hyperlink in the same tab */
'CurrentTab' | 
/**Opens hyperlink in the new tab */
'NewTab' | 
/**Opens hyperlink in the new window*/
'NewWindow';
/**
 * Defines how the text has to be aligned
 * Left - Aligns the text at the left of the text bounds
 * Right - Aligns the text at the right of the text bounds
 * Center - Aligns the text at the center of the text bounds
 * Justify - Aligns the text in a justified manner
 */
export  type TextAlign = 
/** Left - Aligns the text at the left of the text bounds */
'Left' | 
/** Right - Aligns the text at the right of the text bounds */
'Right' | 
/** Center - Aligns the text at the center of the text bounds */
'Center' | 
/** Justify - Aligns the text in a justified manner */
'Justify';
/**
 * Defines the constraints to enable/disable certain features of connector.
 * * None - Interaction of the connectors cannot be done.
 * * Select - Selects the connector.
 * * Delete - Delete the connector.
 * * Drag - Drag the connector.
 * * DragSourceEnd - Drag the source end of the connector.
 * * DragTargetEnd - Drag the target end of the connector.
 * * DragSegmentThump - Drag the segment thumb of the connector.
 * * AllowDrop - Allow to drop a node.
 * * Bridging - Creates bridge  on intersection of two connectors.
 * * BridgeObstacle -
 * * InheritBridging - Creates bridge  on intersection of two connectors.
 * * PointerEvents - Sets the pointer events.
 * * Tooltip - Displays a tooltip for the connectors.
 * * InheritToolTip - Displays a tooltip for the connectors.
 * * Interaction - Features of the connector used for interaction.
 * * ReadOnly - Enables ReadOnly
 * * Default - Default features of the connector.
 *
 * @aspNumberEnum
 * @IgnoreSingular
 */
export  enum ConnectorConstraints {
    /** Disable all connector Constraints. */
    None = 1,
    /** Enables connector to be selected. */
    Select = 2,
    /** Enables connector to be Deleted. */
    Delete = 4,
    /** Enables connector to be Dragged. */
    Drag = 8,
    /** Enables connectors source end to be selected. */
    DragSourceEnd = 16,
    /** Enables connectors target end to be selected. */
    DragTargetEnd = 32,
    /** Enables control point and end point of every segment in a connector for editing. */
    DragSegmentThumb = 64,
    /** Enables AllowDrop constraints to the  connector. */
    AllowDrop = 128,
    /** Enables bridging to the connector. */
    Bridging = 256,
    /** Enables or Disables Bridge Obstacles with overlapping of connectors. */
    BridgeObstacle = 512,
    /** Enables bridging to the connector. */
    InheritBridging = 1024,
    /** Used to set the pointer events. */
    PointerEvents = 2048,
    /** Enables or disables tool tip for the connectors */
    Tooltip = 4096,
    /** Enables or disables tool tip for the connectors */
    InheritTooltip = 8192,
    /** Enables Interaction. */
    Interaction = 4218,
    /** Enables ReadOnly */
    ReadOnly = 16384,
    /** Enables or disables routing to the connector. */
    LineRouting = 32768,
    /** Enables or disables routing to the connector. */
    InheritLineRouting = 65536,
    /** Enables or disables near node padding to the connector. */
    ConnectToNearByNode = 131072,
    /** Enables or disables near port padding to the connector. */
    ConnectToNearByPort = 262144,
    /** Enables or disables Enables or disables near port and node padding to the connector. */
    ConnectToNearByElement = 393216,
    /** Enables all constraints. */
    Default = 470590
}
/**
 * Enables/Disables the annotation constraints
 * ReadOnly - Enables/Disables the ReadOnly Constraints
 * InheritReadOnly - Enables/Disables the InheritReadOnly Constraints
 * Select -Enables/Disable select support for the annotation
 * Drag - Enables/Disable drag support for the annotation
 * Resize - Enables/Disable resize support for the annotation
 * Rotate - Enables/Disable rotate support for the annotation
 * Interaction - Enables annotation to inherit the interaction option
 * None - Disable all annotation constraints
 *
 * @aspNumberEnum
 * @IgnoreSingular
 */
export  enum AnnotationConstraints {
    /** Enables/Disables the ReadOnly Constraints */
    ReadOnly = 2,
    /** Enables/Disables the InheritReadOnly Constraints */
    InheritReadOnly = 4,
    /** Enables/Disable select support for the annotation */
    Select = 8,
    /** Enables/Disable drag support for the annotation */
    Drag = 16,
    /** Enables/Disable resize support for the annotation */
    Resize = 32,
    /** Enables/Disable rotate support for the annotation */
    Rotate = 64,
    /** Enables annotation to inherit the interaction option */
    Interaction = 120,
    /** Disable all annotation Constraints */
    None = 0
}
/**
 * Enables/Disables certain features of node
 * None - Disable all node Constraints
 * Select - Enables node to be selected
 * Drag - Enables node to be Dragged
 * Rotate - Enables node to be Rotate
 * Shadow - Enables node to display shadow
 * PointerEvents - Enables node to provide pointer  option
 * Delete - Enables node to delete
 * InConnect - Enables node to provide in connect option
 * OutConnect - Enables node to provide out connect option
 * Individual - Enables node to provide individual resize option
 * Expandable - Enables node to provide Expandable option
 * AllowDrop - Enables node to provide allow to drop option
 * Inherit - Enables node to inherit the interaction option
 * ResizeNorthEast - Enable ResizeNorthEast of the node
 * ResizeEast - Enable ResizeEast of the node
 * ResizeSouthEast - Enable ResizeSouthEast of the node
 * ResizeSouth - Enable ResizeSouthWest of the node
 * ResizeSouthWest - Enable ResizeSouthWest of the node
 * ResizeSouth - Enable ResizeSouth of the node
 * ResizeSouthWest - Enable ResizeSouthWest of the node
 * ResizeWest - Enable ResizeWest of the node
 * ResizeNorth - Enable ResizeNorth of the node
 * Resize - Enables the Aspect ratio fo the node
 * AspectRatio - Enables the Aspect ratio fo the node
 * Tooltip - Enables or disables tool tip for the Nodes
 * InheritTooltip - Enables or disables tool tip for the Nodes
 * ReadOnly - Enables the  ReadOnly support for Annotation
 * Default - Enables all constraints
 *
 * @aspNumberEnum
 * @IgnoreSingular
 */
export  enum NodeConstraints {
    /** Disable all node Constraints. */
    None = 0,
    /** Enables node to be selected. */
    Select = 2,
    /** Enables node to be Dragged. */
    Drag = 4,
    /** Enables node to be Rotate. */
    Rotate = 8,
    /** Enables node to display shadow. */
    Shadow = 16,
    /** Enables node to provide pointer  option */
    PointerEvents = 32,
    /** Enables node to delete */
    Delete = 64,
    /** Enables node to provide in connect option */
    InConnect = 128,
    /** Enables node to provide out connect option */
    OutConnect = 256,
    /** Enables node to provide individual resize option */
    Individual = 512,
    /** Enables node to provide Expandable option */
    Expandable = 1024,
    /** Enables node to provide allow to drop option */
    AllowDrop = 2048,
    /** Enables node to inherit the interaction option */
    Inherit = 78,
    /** Enable ResizeNorthEast of the node  */
    ResizeNorthEast = 4096,
    /** Enable ResizeEast of the node  */
    ResizeEast = 8192,
    /** Enable ResizeSouthEast of the node  */
    ResizeSouthEast = 16384,
    /** Enable ResizeSouth of the node  */
    ResizeSouth = 32768,
    /** Enable ResizeSouthWest of the node  */
    ResizeSouthWest = 65536,
    /** Enable ResizeWest of the node  */
    ResizeWest = 131072,
    /** Enable ResizeNorthWest of the node  */
    ResizeNorthWest = 262144,
    /** Enable ResizeNorth of the node  */
    ResizeNorth = 524288,
    /** Enable Resize of the node  */
    Resize = 1044480,
    /** Enables the Aspect ratio fo the node */
    AspectRatio = 1048576,
    /** Enables or disables tool tip for the Nodes */
    Tooltip = 2097152,
    /** Enables or disables tool tip for the Nodes */
    InheritTooltip = 4194304,
    /** Enables the  ReadOnly support for Annotation */
    ReadOnly = 8388608,
    /** hide all resize support for node */
    HideThumbs = 16777216,
    /** Enables or disables child in parent for the swimLane node */
    AllowMovingOutsideLane = 33554432,
    /** Enables all constraints */
    Default = 5240814
}
/** Enables/Disables The element actions
 * None - Diables all element actions are none
 * ElementIsPort - Enable element action is port
 * ElementIsGroup - Enable element action as Group
 *
 * @private
 */
export  enum ElementAction {
    /** Disables all element actions are none  */
    None = 0,
    /** Enable the element action is Port  */
    ElementIsPort = 2,
    /** Enable the element action as Group  */
    ElementIsGroup = 4,
    /** Enable the element action if swimlaneHeader is rendered  */
    HorizontalLaneHeader = 8
}
/** Enables/Disables the handles of the selector
 * Rotate - Enable Rotate Thumb
 * ConnectorSource - Enable Connector source point
 * ConnectorTarget - Enable Connector target point
 * ResizeNorthEast - Enable ResizeNorthEast Resize
 * ResizeEast - Enable ResizeEast Resize
 * ResizeSouthEast - Enable ResizeSouthEast Resize
 * ResizeSouth - Enable ResizeSouth Resize
 * ResizeSouthWest - Enable ResizeSouthWest Resize
 * ResizeWest - Enable ResizeWest Resize
 * ResizeNorthWest - Enable ResizeNorthWest Resize
 * ResizeNorth - Enable ResizeNorth Resize
 * Default - Enables all constraints
 *
 * @private
 */
export  enum ThumbsConstraints {
    /** Enable Rotate Thumb  */
    Rotate = 2,
    /** Enable Connector source point  */
    ConnectorSource = 4,
    /** Enable Connector target point  */
    ConnectorTarget = 8,
    /** Enable ResizeNorthEast Resize  */
    ResizeNorthEast = 16,
    /** Enable ResizeEast Resize  */
    ResizeEast = 32,
    /** Enable ResizeSouthEast Resize */
    ResizeSouthEast = 64,
    /** Enable ResizeSouth Resize */
    ResizeSouth = 128,
    /** Enable ResizeSouthWest Resize */
    ResizeSouthWest = 256,
    /** Enable ResizeWest Resize */
    ResizeWest = 512,
    /** Enable ResizeNorthWest Resize */
    ResizeNorthWest = 1024,
    /** Enable ResizeNorth Resize */
    ResizeNorth = 2048,
    /** Enables all constraints */
    Default = 4094
}
/**
 * Enables/Disables certain features of diagram
 * None - Disable DiagramConstraints constraints
 * Bridging - Enables/Disable Bridging support for connector
 * UndoRedo - Enables/Disable the Undo/Redo support
 * Tooltip - Enables/Disable Tooltip support
 * UserInteraction - Enables/Disable UserInteraction support for the diagram
 * ApiUpdate - Enables/Disable ApiUpdate support for the diagram
 * PageEditable - Enables/Disable PageEditable support for the diagram
 * Zoom - Enables/Disable Zoom support for the diagram
 * PanX - Enables/Disable PanX support for the diagram
 * PanY - Enables/Disable PanY support for the diagram
 * Pan - Enables/Disable Pan support the diagram
 * ZoomTextEdit - Enables/Disables zooming the text box while editing the text
 * Virtualization - Enables/Disable Virtualization support the diagram
 * Default - Enables/Disable all constraints
 *
 * @aspNumberEnum
 * @IgnoreSingular
 */
export  enum DiagramConstraints {
    /** Disable DiagramConstraints constraints */
    None = 1,
    /** Enables/Disable Bridging support for connector */
    Bridging = 2,
    /** Enables/Disable the Undo/Redo support */
    UndoRedo = 4,
    /** Enables/Disable Tooltip support */
    Tooltip = 8,
    /** Enables/Disable UserInteraction support for the diagram */
    UserInteraction = 16,
    /** Enables/Disable ApiUpdate support for the diagram */
    ApiUpdate = 32,
    /** Enables/Disable PageEditable support for the diagram */
    PageEditable = 48,
    /** Enables/Disable Zoom support for the diagram */
    Zoom = 64,
    /** Enables/Disable PanX support for the diagram */
    PanX = 128,
    /** Enables/Disable PanY support for the diagram */
    PanY = 256,
    /** Enables/Disable Pan support the diagram */
    Pan = 384,
    /** Enables/Disables zooming the text box while editing the text */
    ZoomTextEdit = 512,
    /** Enables/Disable Virtualization support the diagram */
    Virtualization = 1024,
    /** Enables/ Disable the line routing */
    LineRouting = 2048,
    /** Enables/Disable all constraints */
    Default = 500
}
/**
 * Activates the diagram tools
 * None - Enables/Disable single select support for the diagram
 * SingleSelect - Enables/Disable single select support for the diagram
 * MultipleSelect - Enables/Disable MultipleSelect select support for the diagram
 * ZoomPan - Enables/Disable ZoomPan support for the diagram
 * DrawOnce - Enables/Disable continuousDraw support for the diagram
 * ContinuousDraw - Enables/Disable continuousDraw support for the diagram
 * Default - Enables/Disable all constraints
 *
 * @aspNumberEnum
 * @IgnoreSingular
 */
export  enum DiagramTools {
    /** Disable all constraints */
    None = 0,
    /** Enables/Disable single select support for the diagram */
    SingleSelect = 1,
    /** Enables/Disable MultipleSelect select support for the diagram */
    MultipleSelect = 2,
    /** Enables/Disable ZoomPan support for the diagram */
    ZoomPan = 4,
    /** Enables/Disable DrawOnce support for the diagram */
    DrawOnce = 8,
    /** Enables/Disable continuousDraw support for the diagram */
    ContinuousDraw = 16,
    /** Enables/Disable all constraints */
    Default = 3
}
/**
 * Defines the bridge direction
 * Top - Defines the direction of the bridge as Top
 * Bottom - Defines the direction of the bridge as Bottom
 * Left - Sets the bridge direction as left
 * Right - Sets the bridge direction as right
 */
export  type BridgeDirection = 
/** Top - Defines the direction of the bridge as Top */
'Top' | 
/** Bottom - Defines the direction of the bridge as Bottom */
'Bottom' | 
/** Left - Sets the bridge direction as left */
'Left' | 
/** Right - Sets the bridge direction as right */
'Right';
/**
 * Defines the type of the gradient
 * Linear - Sets the type of the gradient as Linear
 * Radial - Sets the type of the gradient as Radial
 */
export  type GradientType = 
/** None - Sets the type of the gradient as None */
'None' | 
/** Linear - Sets the type of the gradient as Linear */
'Linear' | 
/** Radial - Sets the type of the gradient as Radial */
'Radial';
/**
 * Defines the shape of a node
 * Path - Sets the type of the node as Path
 * Text - Sets the type of the node as Text
 * Image - Sets the type of the node as Image
 * Basic - Sets the type of the node as Basic
 * Flow - Sets the type of the node as Flow
 * Bpmn - Sets the type of the node as Bpmn
 * Native - Sets the type of the node as Native
 * HTML - Sets the type of the node as HTML
 */
export  type Shapes = 
/** Basic - Sets the type of the node as Basic */
'Basic' | 
/** Path - Sets the type of the node as Path */
'Path' | 
/** Text - Sets the type of the node as Text */
'Text' | 
/** Image - Sets the type of the node as Image */
'Image' | 
/** Flow - Sets the type of the node as Flow */
'Flow' | 
/** Bpmn - Sets the type of the node as Bpmn */
'Bpmn' | 
/** Native - Sets the type of the node as Native */
'Native' | 
/** HTML - Sets the type of the node as HTML */
'HTML' | 
/** UMLActivity - Sets the type of the node as UMLActivity */
'UmlActivity' | 
/** UMLClassifier - Sets the type of the node as UMLClassifier */
'UmlClassifier' | 
/** SwimLane - Sets the type of the node as SwimLane */
'SwimLane';
/**
 * None - Scale value will be set as None for the image
 * Meet - Scale value Meet will be set for the image
 * Slice - Scale value Slice will be set for the image
 */
export  type Scale = 
/** None - Scale value will be set as None for the image */
'None' | 
/** Meet - Scale value Meet will be set for the image */
'Meet' | 
/** Slice - Scale value Slice will be set for the image */
'Slice';
/**
 * None - Alignment value will be set as none
 * XMinYMin - smallest X value of the view port and  smallest Y value of the view port
 * XMidYMin - midpoint X value of the view port and  smallest Y value of the view port
 * XMaxYMin - maximum X value of the view port and  smallest Y value of the view port
 * XMinYMid - smallest X value of the view port and midpoint Y value of the view port
 * XMidYMid - midpoint X value of the view port and midpoint Y value of the view port
 * XMaxYMid - maximum X value of the view port and midpoint Y value of the view port
 * XMinYMax - smallest X value of the view port and maximum Y value of the view port
 * XMidYMax - midpoint X value of the view port and maximum Y value of the view port
 * XMaxYMax - maximum X value of the view port and maximum Y value of the view port
 */
export  type ImageAlignment = 
/** None - Alignment value will be set as none */
'None' | 
/** XMinYMin - smallest X value of the view port and  smallest Y value of the view port */
'XMinYMin' | 
/** XMidYMin - midpoint X value of the view port and  smallest Y value of the view port */
'XMidYMin' | 
/** XMaxYMin - maximum X value of the view port and  smallest Y value of the view port */
'XMaxYMin' | 
/** XMinYMid - smallest X value of the view port and midpoint Y value of the view port */
'XMinYMid' | 
/** XMidYMid - midpoint X value of the view port and midpoint Y value of the view port */
'XMidYMid' | 
/** XMaxYMid - maximum X value of the view port and midpoint Y value of the view port */
'XMaxYMid' | 
/** XMinYMax - smallest X value of the view port and maximum Y value of the view port */
'XMinYMax' | 
/** XMidYMax - midpoint X value of the view port and maximum Y value of the view port */
'XMidYMax' | 
/** XMaxYMax - maximum X value of the view port and maximum Y value of the view port */
'XMaxYMax';
/**
 * Defines the type of the flow shape
 * Process - Sets the type of the flow shape as Process
 * Decision - Sets the type of the flow shape as Decision
 * Document - Sets the type of the flow shape as Document
 * PreDefinedProcess - Sets the type of the flow shape as PreDefinedProcess
 * Terminator - Sets the type of the flow shape as Terminator
 * PaperTap - Sets the type of the flow shape as PaperTap
 * DirectData - Sets the type of the flow shape as DirectData
 * SequentialData - Sets the type of the flow shape as SequentialData
 * MultiData - Sets the type of the flow shape as MultiData
 * Collate - Sets the type of the flow shape as Collate
 * SummingJunction - Sets the type of the flow shape as SummingJunction
 * Or - Sets the type of the flow shape as Or
 * InternalStorage - Sets the type of the flow shape as InternalStorage
 * Extract - Sets the type of the flow shape as Extract
 * ManualOperation - Sets the type of the flow shape as ManualOperation
 * Merge - Sets the type of the flow shape as Merge
 * OffPageReference - Sets the type of the flow shape as OffPageReference
 * SequentialAccessStorage - Sets the type of the flow shape as SequentialAccessStorage
 * Annotation - Sets the type of the flow shape as Annotation
 * Annotation2 - Sets the type of the flow shape as Annotation2
 * Data - Sets the type of the flow shape as Data
 * Card - Sets the type of the flow shape as Card
 * Delay - Sets the type of the flow shape as Delay
 * Preparation - Sets the type of the flow shape as Preparation
 * Display - Sets the type of the flow shape as Display
 * ManualInput - Sets the type of the flow shape as ManualInput
 * LoopLimit - Sets the type of the flow shape as LoopLimit
 * StoredData - Sets the type of the flow shape as StoredData
 */
export  type FlowShapes = 
/** Terminator - Sets the type of the flow shape as Terminator */
'Terminator' | 
/** Process - Sets the type of the flow shape as Process */
'Process' | 
/** Decision - Sets the type of the flow shape as Decision */
'Decision' | 
/** Document - Sets the type of the flow shape as Document */
'Document' | 
/** PreDefinedProcess - Sets the type of the flow shape as PreDefinedProcess */
'PreDefinedProcess' | 
/** PaperTap - Sets the type of the flow shape as PaperTap */
'PaperTap' | 
/** DirectData - Sets the type of the flow shape as DirectData */
'DirectData' | 
/** SequentialData - Sets the type of the flow shape as SequentialData */
'SequentialData' | 
/** Sort - Sets the type of the flow shape as Sort */
'Sort' | 
/** MultiDocument - Sets the type of the flow shape as MultiDocument */
'MultiDocument' | 
/** Collate - Sets the type of the flow shape as Collate */
'Collate' | 
/** SummingJunction - Sets the type of the flow shape as SummingJunction */
'SummingJunction' | 
/** Or - Sets the type of the flow shape as Or */
'Or' | 
/** InternalStorage - Sets the type of the flow shape as InternalStorage */
'InternalStorage' | 
/** Extract - Sets the type of the flow shape as Extract */
'Extract' | 
/** ManualOperation - Sets the type of the flow shape as ManualOperation */
'ManualOperation' | 
/** Merge - Sets the type of the flow shape as Merge */
'Merge' | 
/** OffPageReference - Sets the type of the flow shape as OffPageReference */
'OffPageReference' | 
/** SequentialAccessStorage - Sets the type of the flow shape as SequentialAccessStorage */
'SequentialAccessStorage' | 
/** Annotation - Sets the type of the flow shape as Annotation */
'Annotation' | 
/** Annotation2 - Sets the type of the flow shape as Annotation2 */
'Annotation2' | 
/** Data - Sets the type of the flow shape as Data */
'Data' | 
/** Card - Sets the type of the flow shape as Card */
'Card' | 
/** Delay - Sets the type of the flow shape as Delay */
'Delay' | 
/** Preparation - Sets the type of the flow shape as Preparation */
'Preparation' | 
/** Display - Sets the type of the flow shape as Display */
'Display' | 
/** ManualInput - Sets the type of the flow shape as ManualInput */
'ManualInput' | 
/** LoopLimit - Sets the type of the flow shape as LoopLimit */
'LoopLimit' | 
/** StoredData - Sets the type of the flow shape as StoredData */
'StoredData';
/**
 * Defines the basic shapes
 * Rectangle - Sets the type of the basic shape as Rectangle
 * Ellipse - Sets the type of the basic shape as Ellipse
 * Hexagon - Sets the type of the basic shape as Hexagon
 * Parallelogram - Sets the type of the basic shape as Parallelogram
 * Triangle - Sets the type of the basic shape as Triangle
 * Plus - Sets the type of the basic shape as Plus
 * Star - Sets the type of the basic shape as Star
 * Pentagon - Sets the type of the basic shape as Pentagon
 * Heptagon - Sets the type of the basic shape as Heptagon
 * Octagon - Sets the type of the basic shape as Octagon
 * Trapezoid - Sets the type of the basic shape as Trapezoid
 * Decagon - Sets the type of the basic shape as Decagon
 * RightTriangle - Sets the type of the basic shape as RightTriangle
 * Cylinder - Sets the type of the basic shape as Cylinder
 * Diamond - Sets the type of the basic shape as Diamond
 */
export  type BasicShapes = 
/** Rectangle - Sets the type of the basic shape as Rectangle */
'Rectangle' | 
/** Ellipse - Sets the type of the basic shape as Ellipse */
'Ellipse' | 
/** Hexagon - Sets the type of the basic shape as Hexagon */
'Hexagon' | 
/** Parallelogram - Sets the type of the basic shape as Parallelogram */
'Parallelogram' | 
/** Triangle - Sets the type of the basic shape as Triangle */
'Triangle' | 
/** Plus - Sets the type of the basic shape as Plus */
'Plus' | 
/** Star - Sets the type of the basic shape as Star */
'Star' | 
/** Pentagon - Sets the type of the basic shape as Pentagon */
'Pentagon' | 
/** Heptagon - Sets the type of the basic shape as Heptagon */
'Heptagon' | 
/** Octagon - Sets the type of the basic shape as Octagon */
'Octagon' | 
/** Trapezoid - Sets the type of the basic shape as Trapezoid */
'Trapezoid' | 
/** Decagon - Sets the type of the basic shape as Decagon */
'Decagon' | 
/** RightTriangle - Sets the type of the basic shape as RightTriangle */
'RightTriangle' | 
/** Cylinder - Sets the type of the basic shape as Cylinder */
'Cylinder' | 
/** Diamond - Sets the type of the basic shape as Diamond */
'Diamond' | 
/** Polygon - Sets the type of the basic shape as Polygon */
'Polygon';
/**
 * Defines the type of the Bpmn Shape
 * Event - Sets the type of the Bpmn Shape as Event
 * Gateway - Sets the type of the Bpmn Shape as Gateway
 * Message - Sets the type of the Bpmn Shape as Message
 * DataObject - Sets the type of the Bpmn Shape as DataObject
 * DataSource - Sets the type of the Bpmn Shape as DataSource
 * Activity - Sets the type of the Bpmn Shape as Activity
 * Group - Sets the type of the Bpmn Shape as Group
 * TextAnnotation - Represents the shape as Text Annotation
 */
export  type BpmnShapes = 
/** Event - Sets the type of the Bpmn Shape as Event */
'Event' | 
/** Gateway - Sets the type of the Bpmn Shape as Gateway */
'Gateway' | 
/** Message - Sets the type of the Bpmn Shape as Message */
'Message' | 
/** DataObject - Sets the type of the Bpmn Shape as DataObject */
'DataObject' | 
/** DataSource - Sets the type of the Bpmn Shape as DataSource */
'DataSource' | 
/** Activity - Sets the type of the Bpmn Shape as Activity */
'Activity' | 
/** Group - Sets the type of the Bpmn Shape as Group */
'Group' | 
/** TextAnnotation - Represents the shape as Text Annotation */
'TextAnnotation';
/**
 * Defines the type of the UMLActivity Shape
 * Action - Sets the type of the UMLActivity Shape as Action
 * Decision - Sets the type of the UMLActivity Shape as Decision
 * MergeNode - Sets the type of the UMLActivity Shape as MergeNode
 * InitialNode - Sets the type of the UMLActivity Shape as InitialNode
 * FinalNode - Sets the type of the UMLActivity Shape as FinalNode
 * ForkNode - Sets the type of the UMLActivity Shape as ForkNode
 * JoinNode - Sets the type of the UMLActivity Shape as JoinNode
 * TimeEvent - Represents the UMLActivity shape as TimeEvent
 *
 * @IgnoreSingular
 */
export  type UmlActivityShapes = 
/** Action - Sets the type of the UMLActivity Shape as Action */
'Action' | 
/** Decision - Sets the type of the UMLActivity Shape as Decision */
'Decision' | 
/** MergeNode - Sets the type of the UMLActivity Shape as MergeNode */
'MergeNode' | 
/** InitialNode - Sets the type of the UMLActivity Shape as InitialNode */
'InitialNode' | 
/** FinalNode - Sets the type of the UMLActivity Shape as FinalNode */
'FinalNode' | 
/** ForkNode - Sets the type of the UMLActivity Shape as ForkNode */
'ForkNode' | 
/** JoinNode - Sets the type of the UMLActivity Shape as JoinNode */
'JoinNode' | 
/** TimeEvent - Represents the shape as TimeEvent */
'TimeEvent' | 
/** AcceptingEvent - Sets the type of the UMLActivity Shape as AcceptingEvent */
'AcceptingEvent' | 
/** SendSignal - Sets the type of the UMLActivity Shape as SendSignal */
'SendSignal' | 
/** ReceiveSignal - Sets the type of the UMLActivity Shape as ReceiveSignal */
'ReceiveSignal' | 
/** StructuredNode - Sets the type of the UMLActivity Shape as StructuredNode */
'StructuredNode' | 
/** Note - Sets the type of the UMLActivity Shape as Note */
'Note';
/**
 * Defines the type of the UMLActivity flows
 * Object - Sets the type of the UMLActivity Flow as Object
 * Control - Sets the type of the UMLActivity Flow as Control
 * Exception - Sets the type of the UMLActivity Flow as Exception
 *
 * @IgnoreSingular
 */
export  type UmlActivityFlows = 
/** Object - Sets the type of the UMLActivity Flow as Object */
'Object' | 
/** Control - Sets the type of the UMLActivity Flow as Control */
'Control' | 
/** Exception - Sets the type of the UMLActivity Flow as Exception */
'Exception';
/**
 * Defines the type of the Bpmn Events
 * Start - Sets the type of the Bpmn Event as Start
 * Intermediate - Sets the type of the Bpmn Event as Intermediate
 * End - Sets the type of the Bpmn Event as End
 * NonInterruptingStart - Sets the type of the Bpmn Event as NonInterruptingStart
 * NonInterruptingIntermediate - Sets the type of the Bpmn Event as NonInterruptingIntermediate
 * ThrowingIntermediate - Sets the type of the Bpmn Event as ThrowingIntermediate
 */
export  type BpmnEvents = 
/** Sets the type of the Bpmn Event as Start */
'Start' | 
/** Sets the type of the Bpmn Event as Intermediate */
'Intermediate' | 
/** Sets the type of the Bpmn Event as End */
'End' | 
/** Sets the type of the Bpmn Event as NonInterruptingStart */
'NonInterruptingStart' | 
/** Sets the type of the Bpmn Event as NonInterruptingIntermediate */
'NonInterruptingIntermediate' | 
/** Sets the type of the Bpmn Event as ThrowingIntermediate */
'ThrowingIntermediate';
/**
 * Defines the type of the Bpmn Triggers
 * None - Sets the type of the trigger as None
 * Message - Sets the type of the trigger as Message
 * Timer - Sets the type of the trigger as Timer
 * Escalation - Sets the type of the trigger as Escalation
 * Link - Sets the type of the trigger as Link
 * Error - Sets the type of the trigger as Error
 * Compensation - Sets the type of the trigger as Compensation
 * Signal - Sets the type of the trigger as Signal
 * Multiple - Sets the type of the trigger as Multiple
 * Parallel - Sets the type of the trigger as Parallel
 * Cancel - Sets the type of the trigger as Cancel
 * Conditional - Sets the type of the trigger as Conditional
 * Terminate - Sets the type of the trigger as Terminate
 */
export  type BpmnTriggers = 
/** None - Sets the type of the trigger as None */
'None' | 
/** Message - Sets the type of the trigger as Message */
'Message' | 
/** Timer - Sets the type of the trigger as Timer */
'Timer' | 
/** Escalation - Sets the type of the trigger as Escalation */
'Escalation' | 
/** Link - Sets the type of the trigger as Link */
'Link' | 
/** Error - Sets the type of the trigger as Error */
'Error' | 
/** Compensation - Sets the type of the trigger as Compensation */
'Compensation' | 
/** Signal - Sets the type of the trigger as Signal */
'Signal' | 
/** Multiple - Sets the type of the trigger as Multiple */
'Multiple' | 
/** Parallel - Sets the type of the trigger as Parallel */
'Parallel' | 
/** Cancel - Sets the type of the trigger as Cancel */
'Cancel' | 
/** Conditional - Sets the type of the trigger as Conditional */
'Conditional' | 
/** Terminate - Sets the type of the trigger as Terminate */
'Terminate';
/**
 * Defines the type of the Bpmn gateways
 * None - Sets the type of the gateway as None
 * Exclusive - Sets the type of the gateway as Exclusive
 * Inclusive - Sets the type of the gateway as Inclusive
 * Parallel - Sets the type of the gateway as Parallel
 * Complex - Sets the type of the gateway as Complex
 * EventBased - Sets the type of the gateway as EventBased
 * ExclusiveEventBased - Sets the type of the gateway as ExclusiveEventBased
 * ParallelEventBased - Sets the type of the gateway as ParallelEventBased
 */
export  type BpmnGateways = 
/** None - Sets the type of the gateway as None */
'None' | 
/** Exclusive - Sets the type of the gateway as Exclusive */
'Exclusive' | 
/** Inclusive - Sets the type of the gateway as Inclusive */
'Inclusive' | 
/** Parallel - Sets the type of the gateway as Parallel */
'Parallel' | 
/** Complex - Sets the type of the gateway as Complex */
'Complex' | 
/** EventBased - Sets the type of the gateway as EventBased */
'EventBased' | 
/** ExclusiveEventBased - Sets the type of the gateway as ExclusiveEventBased */
'ExclusiveEventBased' | 
/** ParallelEventBased - Sets the type of the gateway as ParallelEventBased */
'ParallelEventBased';
/**
 * Defines the type of the Bpmn Data Objects
 * None - Sets the type of the data object as None
 * Input - Sets the type of the data object as Input
 * Output - Sets the type of the data object as Output
 */
export  type BpmnDataObjects = 
/** None - Sets the type of the data object as None */
'None' | 
/** Input - Sets the type of the data object as Input */
'Input' | 
/** Output - Sets the type of the data object as Output */
'Output';
/**
 * Defines the type of the Bpmn Activity
 * None - Sets the type of the Bpmn Activity as None
 * Task - Sets the type of the Bpmn Activity as Task
 * SubProcess - Sets the type of the Bpmn Activity as SubProcess
 */
export  type BpmnActivities = 
/** Task - Sets the type of the Bpmn Activity as Task */
'Task' | 
/** None - Sets the type of the Bpmn Activity as None */
'None' | 
/** SubProcess - Sets the type of the Bpmn Activity as SubProcess */
'SubProcess';
/**
 * Defines the type of the Bpmn Loops
 * None - Sets the type of the Bpmn loop as None
 * Standard - Sets the type of the Bpmn loop as Standard
 * ParallelMultiInstance - Sets the type of the Bpmn loop as ParallelMultiInstance
 * SequenceMultiInstance - Sets the type of the Bpmn loop as SequenceMultiInstance
 */
export  type BpmnLoops = 
/** None - Sets the type of the Bpmn loop as None */
'None' | 
/** Standard - Sets the type of the Bpmn loop as Standard */
'Standard' | 
/** ParallelMultiInstance - Sets the type of the Bpmn loop as ParallelMultiInstance */
'ParallelMultiInstance' | 
/** SequenceMultiInstance - Sets the type of the Bpmn loop as SequenceMultiInstance */
'SequenceMultiInstance';
/**
 * Defines the type of the Bpmn Tasks
 * None - Sets the type of the Bpmn Tasks as None
 * Service - Sets the type of the Bpmn Tasks as Service
 * Receive - Sets the type of the Bpmn Tasks as Receive
 * Send - Sets the type of the Bpmn Tasks as Send
 * InstantiatingReceive - Sets the type of the Bpmn Tasks as InstantiatingReceive
 * Manual - Sets the type of the Bpmn Tasks as Manual
 * BusinessRule - Sets the type of the Bpmn Tasks as BusinessRule
 * User - Sets the type of the Bpmn Tasks as User
 * Script - Sets the type of the Bpmn Tasks as Script
 */
export  type BpmnTasks = 
/** None - Sets the type of the Bpmn Tasks as None */
'None' | 
/** Service - Sets the type of the Bpmn Tasks as Service */
'Service' | 
/** Receive - Sets the type of the Bpmn Tasks as Receive */
'Receive' | 
/** Send - Sets the type of the Bpmn Tasks as Send */
'Send' | 
/** InstantiatingReceive - Sets the type of the Bpmn Tasks as InstantiatingReceive */
'InstantiatingReceive' | 
/** Manual - Sets the type of the Bpmn Tasks as Manual */
'Manual' | 
/** BusinessRule - Sets the type of the Bpmn Tasks as BusinessRule */
'BusinessRule' | 
/** User - Sets the type of the Bpmn Tasks as User */
'User' | 
/** Script - Sets the type of the Bpmn Tasks as Script */
'Script';
/**
 * Defines the type of the Bpmn Subprocess
 * None - Sets the type of the Sub process as None
 * Transaction - Sets the type of the Sub process as Transaction
 * Event - Sets the type of the Sub process as Event
 */
export  type BpmnSubProcessTypes = 
/** None - Sets the type of the Sub process as None */
'None' | 
/** Transaction - Sets the type of the Sub process as Transaction */
'Transaction' | 
/** Event - Sets the type of the Sub process as Event */
'Event';
/**
 * Defines the type of the Bpmn boundary
 * Default - Sets the type of the boundary as Default
 * Call - Sets the type of the boundary as Call
 * Event - Sets the type of the boundary as Event
 */
export  type BpmnBoundary = 
/** Default - Sets the type of the boundary as Default */
'Default' | 
/** Call - Sets the type of the boundary as Call */
'Call' | 
/** Event - Sets the type of the boundary as Event */
'Event';
/**
 * Defines the connection shapes
 * Bpmn - Sets the type of the connection shape as Bpmn
 */
export  type ConnectionShapes = 
/** None - Sets the type of the connection shape as None */
'None' | 
/** Bpmn - Sets the type of the connection shape as Bpmn */
'Bpmn' | 
/** UMLActivity - Sets the type of the connection shape as UMLActivity */
'UmlActivity' | 
/** UMLClassifier - Sets the type of the connection shape as UMLClassifier */
'UmlClassifier';
/**
 * Defines the type of the Bpmn flows
 * Sequence - Sets the type of the Bpmn Flow as Sequence
 * Association - Sets the type of the Bpmn Flow as Association
 * Message - Sets the type of the Bpmn Flow as Message
 */
export  type BpmnFlows = 
/** Sequence - Sets the type of the Bpmn Flow as Sequence */
'Sequence' | 
/** Association - Sets the type of the Bpmn Flow as Association */
'Association' | 
/** Message - Sets the type of the Bpmn Flow as Message */
'Message';
/**
 * Defines the type of the Bpmn Association Flows
 * Default - Sets the type of Association flow as Default
 * Directional - Sets the type of Association flow as Directional
 * BiDirectional - Sets the type of Association flow as BiDirectional
 */
export  type BpmnAssociationFlows = 
/** Default - Sets the type of Association flow as Default */
'Default' | 
/** Directional - Sets the type of Association flow as Directional */
'Directional' | 
/** BiDirectional - Sets the type of Association flow as BiDirectional */
'BiDirectional';
/**
 * Defines the type of the Bpmn Message Flows
 * Default - Sets the type of the Message flow as Default
 * InitiatingMessage - Sets the type of the Message flow as InitiatingMessage
 * NonInitiatingMessage - Sets the type of the Message flow as NonInitiatingMessage
 */
export  type BpmnMessageFlows = 
/** Default - Sets the type of the Message flow as Default */
'Default' | 
/** InitiatingMessage - Sets the type of the Message flow as InitiatingMessage */
'InitiatingMessage' | 
/** NonInitiatingMessage - Sets the type of the Message flow as NonInitiatingMessage */
'NonInitiatingMessage';
/**
 * Defines the type of the Bpmn Sequence flows
 * Default - Sets the type of the sequence flow as Default
 * Normal - Sets the type of the sequence flow as Normal
 * Conditional - Sets the type of the sequence flow as Conditional
 */
export  type BpmnSequenceFlows = 
/** Normal - Sets the type of the sequence flow as Normal */
'Normal' | 
/** Default - Sets the type of the sequence flow as Default */
'Default' | 
/** Conditional - Sets the type of the sequence flow as Conditional */
'Conditional';
/**
 * Defines the segment type of the connector
 * Straight - Sets the segment type as Straight
 * Orthogonal - Sets the segment type as Orthogonal
 * Polyline - Sets the segment type as Polyline
 * Bezier - Sets the segment type as Bezier
 */
export  type Segments = 
/** Straight - Sets the segment type as Straight */
'Straight' | 
/** Orthogonal - Sets the segment type as Orthogonal */
'Orthogonal' | 
/** Polyline - Sets the segment type as Polyline */
'Polyline' | 
/** Bezier - Sets the segment type as Bezier */
'Bezier' | 
/** FreeHand - Sets the segment type as FreeHand */
'Freehand';
/**
 * Defines the decorator shape of the connector
 * None - Sets the decorator shape as None
 * Arrow - Sets the decorator shape as Arrow
 * Diamond - Sets the decorator shape as Diamond
 * Path - Sets the decorator shape as Path
 * OpenArrow - Sets the decorator shape as OpenArrow
 * Circle - Sets the decorator shape as Circle
 * Square - Sets the decorator shape as Square
 * Fletch - Sets the decorator shape as Fletch
 * OpenFetch - Sets the decorator shape as OpenFetch
 * IndentedArrow - Sets the decorator shape as Indented Arrow
 * OutdentedArrow - Sets the decorator shape as Outdented Arrow
 * DoubleArrow - Sets the decorator shape as DoubleArrow
 */
export  type DecoratorShapes = 
/** Arrow - Sets the decorator shape as Arrow */
'Arrow' | 
/** None - Sets the decorator shape as None */
'None' | 
/** Diamond - Sets the decorator shape as Diamond */
'Diamond' | 
/** OpenArrow - Sets the decorator shape as OpenArrow */
'OpenArrow' | 
/** Circle - Sets the decorator shape as Circle */
'Circle' | 
/** Square - Sets the decorator shape as Square */
'Square' | 
/** Fletch - Sets the decorator shape as Fletch */
'Fletch' | 
/** OpenFetch - Sets the decorator shape as OpenFetch */
'OpenFetch' | 
/** IndentedArrow - Sets the decorator shape as Indented Arrow */
'IndentedArrow' | 
/** OutdentedArrow - Sets the decorator shape as Outdented Arrow */
'OutdentedArrow' | 
/** DoubleArrow - Sets the decorator shape as DoubleArrow */
'DoubleArrow' | 
/** Custom - Sets the decorator shape as Custom */
'Custom';
/**
 * Defines the segmentThumb shape of the connector
 * Rhombus - Sets the segmentThumb shape as Rhombus
 * Square - Sets the segmentThumb shape as Square
 * Rectangle - Sets the segmentThumb shape as Rectangle
 * Ellipse - Sets the segmentThumb shape as Ellipse
 * Arrow - Sets the segmentThumb shape as Arrow
 * Diamond - Sets the segmentThumb shape as Diamond
 * OpenArrow - Sets the segmentThumb shape as OpenArrow
 * Circle - Sets the segmentThumb shape as Circle
 * Fletch - Sets the segmentThumb shape as Fletch
 * OpenFetch - Sets the segmentThumb shape as OpenFetch
 * IndentedArrow - Sets the segmentThumb shape as Indented Arrow
 * OutdentedArrow - Sets the segmentThumb shape as Outdented Arrow
 * DoubleArrow - Sets the segmentThumb shape as DoubleArrow
 */
export  type SegmentThumbShapes = 
/** Rhombus - Sets the segmentThumb shape as Rhombus */
'Rhombus' | 
/** Square - Sets the segmentThumb shape as Square */
'Square' | 
/** Rectangle - Sets the segmentThumb shape as Rectangle */
'Rectangle' | 
/** Ellipse - Sets the segmentThumb shape as Ellipse */
'Ellipse' | 
/** Arrow - Sets the segmentThumb shape as Arrow */
'Arrow' | 
/** Diamond - Sets the segmentThumb shape as Diamond */
'Diamond' | 
/** OpenArrow - Sets the segmentThumb shape as OpenArrow */
'OpenArrow' | 
/** Circle - Sets the segmentThumb shape as Circle */
'Circle' | 
/** Fletch - Sets the segmentThumb shape as Fletch */
'Fletch' | 
/** OpenFetch - Sets the segmentThumb shape as OpenFetch */
'OpenFetch' | 
/** IndentedArrow - Sets the segmentThumb shape as Indented Arrow */
'IndentedArrow' | 
/** OutdentedArrow - Sets the segmentThumb shape as Outdented Arrow */
'OutdentedArrow' | 
/** DoubleArrow - Sets the segmentThumb shape as DoubleArrow */
'DoubleArrow';
/**
 * Defines the shape of the ports
 * X - Sets the decorator shape as X
 * Circle - Sets the decorator shape as Circle
 * Square - Sets the decorator shape as Square
 * Custom - Sets the decorator shape as Custom
 */
export  type PortShapes = 
/** X - Sets the decorator shape as X */
'X' | 
/** Circle - Sets the decorator shape as Circle */
'Circle' | 
/** Square - Sets the decorator shape as Square */
'Square' | 
/** Custom - Sets the decorator shape as Custom */
'Custom';
/**
 * Defines the unit mode
 * Absolute - Sets the unit mode type as Absolute
 * Fraction - Sets the unit mode type as Fraction
 */
export  type UnitMode = 
/** Absolute - Sets the unit mode type as Absolute */
'Absolute' | 
/** Fraction - Sets the unit mode type as Fraction */
'Fraction';
/**
 * Defines the property change entry type
 * PositionChanged - Sets the entry type as PositionChanged
 * Align - Sets the entry type as Align
 * Distribute - Sets the entry type as Distribute
 * SizeChanged - Sets the entry type as SizeChanged
 * Sizing - Sets the entry type as Sizing
 * RotationChanged - Sets the entry type as RotationChanged
 * ConnectionChanged - Sets the entry type as ConnectionChanged
 * PropertyChanged - Sets the entry type as PropertyChanged
 * CollectionChanged - Sets the entry type as CollectionChanged
 * StartGroup - Sets the entry type as StartGroup
 * EndGroup - Sets the entry type as EndGroup
 * Group - Sets the entry type as Group
 * UnGroup - Sets the entry type as UnGroup
 * SegmentChanged - Sets the entry type as SegmentChanged
 * LabelCollectionChanged - Sets the entry type as LabelCollectionChanged
 * PortCollectionChanged - Sets the entry type as PortCollectionChanged
 */
export  type EntryType = 
/** PositionChanged - Sets the entry type as PositionChanged */
'PositionChanged' | 
/** Align - Sets the entry type as Align */
'Align' | 
/** Distribute - Sets the entry type as Distribute */
'Distribute' | 
/** SizeChanged - Sets the entry type as SizeChanged */
'SizeChanged' | 
/** Sizing - Sets the entry type as Sizing */
'Sizing' | 
/** RotationChanged - Sets the entry type as RotationChanged */
'RotationChanged' | 
/** ConnectionChanged - Sets the entry type as ConnectionChanged */
'ConnectionChanged' | 
/** PropertyChanged - Sets the entry type as PropertyChanged */
'PropertyChanged' | 
/** CollectionChanged - Sets the entry type as CollectionChanged */
'CollectionChanged' | 
/** StartGroup - Sets the entry type as StartGroup */
'StartGroup' | 
/** EndGroup - Sets the entry type as EndGroup */
'EndGroup' | 
/** Group - Sets the entry type as Group */
'Group' | 
/** UnGroup - Sets the entry type as UnGroup */
'UnGroup' | 
/** SegmentChanged - Sets the entry type as SegmentChanged */
'SegmentChanged' | 
/** LabelCollectionChanged - Sets the entry type as LabelCollectionChanged */
'LabelCollectionChanged' | 
/** PortCollectionChanged - Sets the entry type as PortCollectionChanged */
'PortCollectionChanged' | 
/** PortPositionChanged - Sets the entry type as PortPositionChanged */
'PortPositionChanged' | 
/** AnnotationPropertyChanged - Sets the entry type as AnnotationPropertyChanged */
'AnnotationPropertyChanged' | 
/** ChildCollectionChanged - Sets the entry type as ChildCollectionChanged used for add and remove a child collection in a container */
'ChildCollectionChanged' | 
/** StackNodeChanged - Sets the entry type as StackNodePositionChanged */
'StackChildPositionChanged' | 
/** ColumnWidthChanged - Sets the entry type as ColumnWidthChanged */
'ColumnWidthChanged' | 
/** RowHeightChanged - Sets the entry type as RowHeightChanged */
'RowHeightChanged' | 
/** LanePositionChanged - Sets the entry type as LanePositionChanged */
'LanePositionChanged' | 
/** PhaseCollectionChanged - Sets the entry type as PhaseCollectionChanged */
'PhaseCollectionChanged' | 
/** LaneCollectionChanged - Sets the entry type as LaneCollectionChanged */
'LaneCollectionChanged' | 
/** SendForward - Sets the entry type as sendForward */
'SendForward' | 
/** SendBackward - Sets the entry type as sendBackward */
'SendBackward' | 
/** BringToFront - Sets the entry type as bringToFront */
'BringToFront' | 
/** SendToBack - Sets the entry type as sendToBack */
'SendToBack' | 
/** AddChildToGroupNode - Sets the entry type as  AddChildToGroupNode */
'AddChildToGroupNode';
/**
 * Defines the entry category type
 * Internal - Sets the entry category type as Internal
 * External - Sets the entry category type as External
 */
export  type EntryCategory = 
/** Internal - Sets the entry category type as Internal */
'Internal' | 
/** External - Sets the entry category type as External */
'External';
/**
 * Defines the entry change type
 * Insert - Sets the entry change type as Insert
 * Remove - Sets the entry change type as Remove
 */
export  type EntryChangeType = 
/** Insert - Sets the entry change type as Insert */
'Insert' | 
/** Remove - Sets the entry change type as Remove */
'Remove';
/**
 * Defines the container/canvas transform
 * Self - Sets the transform type as Self
 * Parent - Sets the transform type as Parent
 */
export  enum Transform {
    /** Self - Sets the transform type as Self */
    Self = 1,
    /** Parent - Sets the transform type as Parent */
    Parent = 2
}
/**
 * Defines the nudging direction
 * Left - Nudge the object in the left direction
 * Right - Nudge the object in the right direction
 * Up - Nudge the object in the up direction
 * Down - Nudge the object in the down direction
 */
export  type NudgeDirection = 
/** Left - Nudge the object in the left direction */
'Left' | 
/** Right - Nudge the object in the right direction */
'Right' | 
/** Up - Nudge the object in the up direction */
'Up' | 
/** Down - Nudge the object in the down direction */
'Down';
/**
 * Defines the diagrams stretch
 * None - Sets the stretch type for diagram as None
 * Stretch - Sets the stretch type for diagram as Stretch
 * Meet - Sets the stretch type for diagram as Meet
 * Slice - Sets the stretch type for diagram as Slice
 */
export  type Stretch = 
/** None - Sets the stretch type for diagram as None */
'None' | 
/** Stretch - Sets the stretch type for diagram as Stretch */
'Stretch' | 
/** Meet - Sets the stretch type for diagram as Meet */
'Meet' | 
/** Slice - Sets the stretch type for diagram as Slice */
'Slice';
/**
 * Defines the BoundaryConstraints for the diagram
 * Infinity - Allow the interactions to take place at the infinite height and width
 * Diagram - Allow the interactions to take place around the diagram height and width
 * Page - Allow the interactions to take place around the page height and width
 */
export  type BoundaryConstraints = 
/** Infinity - Allow the interactions to take place at the infinite height and width */
'Infinity' | 
/** Diagram - Allow the interactions to take place around the diagram height and width */
'Diagram' | 
/** Page - Allow the interactions to take place around the page height and width */
'Page';
/**
 * Defines the rendering mode for diagram
 * Canvas - Sets the rendering mode type as Canvas
 * Svg - Sets the rendering mode type as Svg
 */
export  enum RenderMode {
    /** Canvas - Sets the rendering mode type as Canvas */
    Canvas = 0,
    /** Svg - Sets the rendering mode type as Svg */
    Svg = 1
}
/**
 * Defines the objects direction
 * Left - Sets the direction type as Left
 * Right - Sets the direction type as Right
 * Top - Sets the direction type as Top
 * Bottom - Sets the direction type as Bottom
 */
export  type Direction = 
/** Left - Sets the direction type as Left */
'Left' | 
/** Right - Sets the direction type as Right */
'Right' | 
/** Top - Sets the direction type as Top */
'Top' | 
/** Bottom - Sets the direction type as Bottom */
'Bottom';
/**
 * Defines the scrollable region of diagram
 * Diagram - Enables scrolling to view the diagram content
 * Infinity - Diagram will be extended, when we try to scroll the diagram
 */
export  type ScrollLimit = 
/** Diagram - Enables scrolling to view the diagram content */
'Diagram' | 
/** Infinity - Diagram will be extended, when we try to scroll the diagram */
'Infinity' | 
/** Limited - Diagram scrolling will be limited */
'Limited';
/**
 * Sets a combination of key modifiers, on recognition of which the command will be executed.They are
 * * None - no modifiers are pressed
 * * Control - ctrl key
 * * Meta - meta key im mac
 * * Alt - alt key
 * * Shift - shift key
 *
 * @aspNumberEnum
 * @IgnoreSingular
 */
export  enum KeyModifiers {
    /** No modifiers are pressed */
    None = 0,
    /** The CTRL key */
    Control = 1,
    /** The Meta key pressed in Mac */
    Meta = 1,
    /** The ALT key */
    Alt = 2,
    /** The Shift key */
    Shift = 4
}
/**
 * Sets the key value, on recognition of which the command will be executed. They are
 * * none - no key
 * * Number0 = The 0 key
 * * Number1 = The 1 key
 * * Number2 = The 2 key
 * * Number3 = The 3 key
 * * Number4 = The 4 key
 * * Number5 = The 5 key
 * * Number6 = The 6 key
 * * Number7 = The 7 key
 * * Number8 = The 8 key
 * * Number9 = The 9 key
 * * Number0 = The 0 key
 * * BackSpace = The BackSpace key
 * * F1 = The f1 key
 * * F2 = The f2 key
 * * F3 = The f3 key
 * * F4 = The f4 key
 * * F5 = The f5 key
 * * F6 = The f6 key
 * * F7 = The f7 key
 * * F8 = The f8 key
 * * F9 = The f9 key
 * * F10 = The f10 key
 * * F11 = The f11 key
 * * F12 = The f12 key
 * * A = The a key
 * * B = The b key
 * * C = The c key
 * * D = The d key
 * * E = The e key
 * * F = The f key
 * * G = The g key
 * * H = The h key
 * * I = The i key
 * * J = The j key
 * * K = The k key
 * * L = The l key
 * * M = The m key
 * * N = The n key
 * * O = The o key
 * * P = The p key
 * * Q = The q key
 * * R = The r key
 * * S = The s key
 * * T = The t key
 * * U = The u key
 * * V = The v key
 * * W = The w key
 * * X = The x key
 * * Y = The y key
 * * Z = The z key
 * * Left = The left key
 * * Right = The right key
 * * Top = The top key
 * * Bottom = The bottom key
 * * Escape = The Escape key
 * * Tab = The tab key
 * * Delete = The delete key
 * * Enter = The enter key
 * * The Space key
 * * The page up key
 * * The page down key
 * * The end key
 * * The home key
 * * The Minus
 * * The Plus
 * * The Star
 *
 * @aspNumberEnum
 * @IgnoreSingular
 */
export  enum Keys {
    /** No key pressed */
    None,
    /** The 0 key */
    Number0 = 0,
    /** The 1 key */
    Number1 = 1,
    /** The 2 key */
    Number2 = 2,
    /** The 3 key */
    Number3 = 3,
    /** The 4 key */
    Number4 = 4,
    /** The 5 key */
    Number5 = 5,
    /** The 6 key */
    Number6 = 6,
    /** The 7 key */
    Number7 = 7,
    /** The 8 key */
    Number8 = 8,
    /** The 9 key */
    Number9 = 9,
    /** The A key */
    A = 65,
    /** The B key */
    B = 66,
    /** The C key */
    C = 67,
    /** The D key */
    D = 68,
    /** The E key */
    E = 69,
    /** The F key */
    F = 70,
    /** The G key */
    G = 71,
    /** The H key */
    H = 72,
    /** The I key */
    I = 73,
    /** The J key */
    J = 74,
    /** The K key */
    K = 75,
    /** The L key */
    L = 76,
    /** The M key */
    M = 77,
    /** The N key */
    N = 78,
    /** The O key */
    O = 79,
    /** The P key */
    P = 80,
    /** The Q key */
    Q = 81,
    /** The R key */
    R = 82,
    /** The S key */
    S = 83,
    /** The T key */
    T = 84,
    /** The U key */
    U = 85,
    /** The V key */
    V = 86,
    /** The W key */
    W = 87,
    /** The X key */
    X = 88,
    /** The Y key */
    Y = 89,
    /** The Z key */
    Z = 90,
    /** The left arrow key */
    Left = 37,
    /** The up arrow key */
    Up = 38,
    /** The right arrow key */
    Right = 39,
    /** The down arrow key */
    Down = 40,
    /** The Escape key */
    Escape = 27,
    /** The Space key */
    Space = 32,
    /** The page up key */
    PageUp = 33,
    /** The Space key */
    PageDown = 34,
    /** The Space key */
    End = 35,
    /** The Space key */
    Home = 36,
    /** The delete key */
    Delete = 46,
    /** The tab key */
    Tab = 9,
    /** The enter key */
    Enter = 13,
    /** The BackSpace key */
    BackSpace = 8,
    /** The F1 key */
    F1 = 112,
    /** The F2 key */
    F2 = 113,
    /** The F3 key */
    F3 = 114,
    /** The F4 key */
    F4 = 115,
    /** The F5 key */
    F5 = 116,
    /** The F6 key */
    F6 = 117,
    /** The F7 key */
    F7 = 118,
    /** The F8 key */
    F8 = 119,
    /** The F9 key */
    F9 = 120,
    /** The F10 key */
    F10 = 121,
    /** The F111 key */
    F11 = 122,
    /** The F12 key */
    F12 = 123,
    /** The Star */
    Star = 56,
    /** The Plus */
    Plus = 187,
    /** The Minus */
    Minus = 189
}
/**
 * Enables/Disables certain actions of diagram
 * * Render - Indicates the diagram is in render state.
 * * PublicMethod - Indicates the diagram public method is in action.
 * * ToolAction - Indicates the diagram Tool is in action.
 * * UndoRedo - Indicates the diagram undo/redo is in action.
 * * TextEdit - Indicates the text editing is in progress.
 * * Group - Indicates the group is in progress.
 * * Clear - Indicates diagram have clear all.
 * * PreventClearSelection - prevents diagram from clear selection
 */
export  enum DiagramAction {
    /** Indicates the diagram is in render state.r */
    Render = 2,
    /** Indicates the diagram public method is in action. */
    PublicMethod = 4,
    /** Indicates the diagram Tool is in action. */
    ToolAction = 8,
    /** Indicates the diagram undo/redo is in action. */
    UndoRedo = 16,
    /** Indicates the text editing is in progress. */
    TextEdit = 32,
    /** Indicates the group is in progress. */
    Group = 64,
    /** Indicates diagram have clear all. */
    Clear = 128,
    /** prevents diagram from clear selection. */
    PreventClearSelection = 256,
    /** Indicates whether drag or rotate tool has been activated */
    Interactions = 512,
    /** Use to prevent the history during some action in diagram */
    PreventHistory = 1024,
    /** Use to prevent the icon while expand a node in diagram */
    PreventIconsUpdate = 2048,
    /** Use to prevent the collection change event while dragging lane from palette and over it in diagram */
    PreventCollectionChangeOnDragOver = 4096,
    /** Use to prevent the z order on dragging the diagram elements */
    PreventZIndexOnDragging = 8192,
    /** Indicates whether group dragging has been activated */
    isGroupDragging = 16384,
    /** Indicates whether drag is initiated by mouse  */
    DragUsingMouse = 32768,
    /** Indicates whether decorator property is changed or not */
    DecoratorPropertyChange = 65536,
    /** Avoid dropping of child nodes into the swim lane */
    PreventLaneContainerUpdate = 131072
}
/** @private */
export  type DiagramHistoryAction = 'AddNodeToLane';
/**
 * Defines the Selector type to be drawn
 * None - Draws Normal selector with resize handles
 * Symbol - Draws only the rectangle for the selector
 */
export  enum RendererAction {
    /** None - Draws Normal selector with resize handles */
    None = 2,
    /** DrawSelectorBorder - Draws only the Border for the selector */
    DrawSelectorBorder = 4,
    /** PreventRenderSelector - Avoid the render of selector during interaction */
    PreventRenderSelector = 8
}
export  enum RealAction {
    None = 0,
    PreventDrag = 2,
    PreventScale = 4,
    PreventDataInit = 8,
    /** Indicates when the diagram is scrolled horizontal using scroll bar */
    hScrollbarMoved = 16,
    /** Indicates when the diagram is scrolled vertical using scroll bar */
    vScrollbarMoved = 32,
    /** Indicates whether animation happens or not  */
    AnimationClick = 64,
    /** Enable the group action */
    EnableGroupAction = 128,
    /** Indicate action in Progress */
    PanInProgress = 256,
    /** Indicate overview action  */
    OverViewAction = 512
}
/** @private */
export  enum ScrollActions {
    None = 0,
    /** Indicates when the scroll properties are changed using property change */
    PropertyChange = 1024,
    /** Indicates when the scroll properties are changed using interaction */
    Interaction = 2048
}
/** @private */
export  enum NoOfSegments {
    Zero = 0,
    One = 1,
    Two = 2,
    Three = 3,
    Four = 4,
    Five = 5
}
/** @private */
export  type SourceTypes = 'HierarchicalData' | 'MindMap';
/**
 * Defines the relative mode of the tooltip
 * Object - sets the tooltip position relative to the node
 * Mouse - sets the tooltip position relative to the mouse
 */
export  type TooltipRelativeMode = 
/** Object - sets the tooltip position relative to the node */
'Object' | 
/** Mouse - sets the tooltip position relative to the mouse */
'Mouse';
/**
 * Collections of icon content shapes.
 * None
 * Minus - sets the icon shape as minus
 * Plus - sets the icon shape as Plus
 * ArrowUp - sets the icon shape as ArrowUp
 * ArrowDown - sets the icon shape as ArrowDown
 * Template - sets the icon shape based on  the given  custom template
 * Path - sets the icon shape based on the given  custom Path
 */
export  type IconShapes = 
/** None - sets the icon shape as None */
'None' | 
/** Minus - sets the icon shape as minus */
'Minus' | 
/** Plus - sets the icon shape as Plus */
'Plus' | 
/** ArrowUp - sets the icon shape as ArrowUp */
'ArrowUp' | 
/** ArrowDown - sets the icon shape as ArrowDown */
'ArrowDown' | 
/** Template - sets the icon shape based on  the given  custom template */
'Template' | 
/** Path - sets the icon shape based on the given  custom Path */
'Path';
/**
 * Defines the collection of sub tree orientations in an organizational chart
 * Vertical - Aligns the child nodes in vertical manner
 * Horizontal - Aligns the child nodes in horizontal manner
 */
export  type SubTreeOrientation = 
/** Horizontal - Aligns the child nodes in horizontal manner */
'Horizontal' | 
/** Vertical - Aligns the child nodes in vertical manner */
'Vertical';
/**
 * Defines the collection of sub tree alignments in an organizational chart
 * Left - Aligns the child nodes at the left of the parent in a horizontal/vertical sub tree
 * Right - Aligns the child nodes at the right of the parent in a horizontal/vertical sub tree
 * Center - Aligns the child nodes at the center of the parent in a horizontal sub tree
 * Alternate - Aligns the child nodes at both left and right sides of the parent in a vertical sub tree
 * Balanced - Aligns the child nodes in multiple rows to balance the width and height of the horizontal sub tree
 */
export  type SubTreeAlignments = 
/** Left - Aligns the child nodes at the left of the parent in a horizontal/vertical sub tree */
'Left' | 
/** Right - Aligns the child nodes at the right of the parent in a horizontal/vertical sub tree */
'Right' | 
/** Center - Aligns the child nodes at the center of the parent in a horizontal sub tree */
'Center' | 
/** Alternate - Aligns the child nodes at both left and right sides of the parent in a vertical sub tree */
'Alternate' | 
/** Balanced - Aligns the child nodes in multiple rows to balance the width and height of the horizontal sub tree */
'Balanced';
/**
 * events of diagram
 *
 * @private
 */
export  enum DiagramEvent {
    'collectionChange' = 0,
    'rotateChange' = 1,
    'positionChange' = 2,
    'propertyChange' = 3,
    'selectionChange' = 4,
    'sizeChange' = 5,
    'drop' = 6,
    'sourcePointChange' = 7,
    'targetPointChange' = 8,
    'connectionChange' = 9,
    'animationComplete' = 10,
    'click' = 11,
    'doubleClick' = 12,
    'scrollChange' = 13,
    'dragEnter' = 14,
    'dragLeave' = 15,
    'dragOver' = 16,
    'textEdit' = 17,
    'paletteSelectionChange' = 18,
    'historyChange' = 19,
    'mouseEnter' = 20,
    'mouseLeave' = 21,
    'mouseOver' = 22,
    'expandStateChange' = 23,
    'segmentCollectionChange' = 24,
    'commandExecute' = 25,
    'historyStateChange' = 26,
    'onUserHandleMouseDown' = 27,
    'onUserHandleMouseUp' = 28,
    'onUserHandleMouseEnter' = 29,
    'onUserHandleMouseLeave' = 30,
    'onImageLoad' = 31,
    'onDoBindingInit' = 32,
    'keyUp' = 33,
    'keyDown' = 34,
    'fixedUserHandleClick' = 35,
    'elementDraw' = 36
}
/**
 * @private
 */
export  type HistoryChangeAction = 
/** Node - Defines the history entry type is node */
'CustomAction' | 
/** Connector - Defines the history entry type is Connector */
'Undo' | 
/** Selector - Defines the history entry type is Selector Model */
'Redo';
export  type HistoryEntryType = 
/** Node - Defines the history entry type is node */
'Node' | 
/** Connector - Defines the history entry type is Connector */
'Connector' | 
/** Selector - Defines the history entry type is Selector Model */
'Selector' | 
/** Diagram - Defines the history entry type is Diagram */
'Diagram' | 
/** ShapeAnnotation - Defines the history entry type is ShapeAnnotation Model */
'ShapeAnnotation' | 
/** PathAnnotation - Defines the history entry type is PathAnnotation Model */
'PathAnnotation' | 
/** PortObject - Defines the history entry type is PortObject */
'PortObject' | 
/** Object - Defines the history entry type is Custom Object */
'Object';
/**
 * Defines the zoom type
 * ZoomIn - Zooms in the diagram control
 * ZoomOut - Zooms out the diagram control
 */
export  type ZoomTypes = 
/** ZoomIn - Zooms in the diagram control */
'ZoomIn' | 
/** ZoomOut - Zooms out the diagram control */
'ZoomOut';
/**
 * Defines how the diagram has to fit into view
 * Page - Fits the diagram content within the viewport
 * Width - Fits the width of the diagram content within the viewport
 * Height - Fits the height of the diagram content within the viewport
 */
export  type FitModes = 
/** Page - Fits the diagram content within the viewport */
'Page' | 
/** Width - Fits the width of the diagram content within the viewport */
'Width' | 
/** Height - Fits the height of the diagram content within the viewport */
'Height';
/** Enables/Disables certain features of port connection
 *
 * @aspNumberEnum
 * @IgnoreSingular
 */
export  enum PortConstraints {
    /** Disable all constraints  */
    None = 1,
    /** Enables connections with connector  */
    Drag = 2,
    /** Enables to create the connection when mouse hover on the port  */
    Draw = 4,
    /** Enables to only connect the target end of connector */
    InConnect = 8,
    /** Enables to only connect the source end of connector */
    OutConnect = 16,
    /** Enables all constraints */
    Default = 24
}
/**
 * Defines the type of the object
 * Port - Sets the port type as object
 * Annotations - Sets the annotation type as object
 */
export  type ObjectTypes = 
/** Port - Sets the port type as object */
'Port' | 
/** Annotations - Sets the annotation type as object */
'Annotations';
/**
 * Defines the selection change state
 * Interaction - Sets the selection change state as Interaction
 * Commands - Sets the selection change state as Commands
 * Keyboard - Sets the selection change state as Keyboard
 * Unknown - Sets the selection change state as Unknown
 */
export  type SelectionChangeCause = 
/** Interaction - Sets the selection change state as Interaction */
'Interaction' | 
/** Commands - Sets the selection change state as Commands */
'Commands' | 
/** Keyboard - Sets the selection change state as Keyboard */
'Keyboard' | 
/** Unknown - Sets the selection change state as Unknown */
'Unknown';
/**
 * Defines the change state
 * Changing - Sets the event state as Changing
 * Changed - Sets the event state as Changed
 * canceled - Sets the event state as canceled
 */
export  type EventState = 
/** Changing - Sets the event state as Changing */
'Changing' | 
/** Changed - Sets the event state as Changed */
'Changed' | 
/** canceled - Sets the event state as canceled */
'Cancelled';
/**
 * Defines the state of the interactions such as drag, resize and rotate
 * Start - Sets the interaction state as Start
 * Progress - Sets the interaction state as Progress
 * Completed - Sets the interaction state as Completed
 */
export  type State = 
/** Start - Sets the interaction state as Start */
'Start' | 
/** Progress - Sets the interaction state as Progress */
'Progress' | 
/** Completed - Sets the interaction state as Completed */
'Completed';
/**
 * Returns which mouse button is clicked.
 * Left - Whenever the left button of the mouse is clicked, ‘Left’ is returned.
 * Progress - Whenever the mouse wheel is clicked, ‘Middle’ is returned.
 * Completed - Whenever the right button of the mouse is clicked, ‘Right’ is returned.
 */
export  type MouseButtons = 
/** Left - Whenever the left button of the mouse is clicked, ‘Left’ is returned. */
'Left' | 
/** Middle - Whenever the mouse wheel is clicked, ‘Middle’ is returned. */
'Middle' | 
/** Right - Whenever the right button of the mouse is clicked, ‘Right’ is returned. */
'Right';
/**
 * Defines whether an object is added/removed from diagram
 * Addition - Sets the ChangeType as Addition
 * Removal - Sets the ChangeType as Removal
 */
export  type ChangeType = 
/** Addition - Sets the ChangeType as Addition */
'Addition' | 
/** Removal - Sets the ChangeType as Removal */
'Removal';
/**
 * Defines the accessibility element
 * NodeModel - Sets the accessibility element as NodeModel
 * ConnectorModel - Sets the accessibility element as ConnectorModel
 * PortModel - Sets the accessibility element as PortModel
 * TextElement - Sets the accessibility element as TextElement
 * IconShapeModel - Sets the accessibility element as IconShapeModel
 * DecoratorModel - Sets the accessibility element as DecoratorModel
 */
export  type accessibilityElement = 
/** NodeModel - Sets the accessibility element as NodeModel */
'NodeModel' | 
/** ConnectorModel - Sets the accessibility element as ConnectorModel */
'ConnectorModel' | 
/** PortModel - Sets the accessibility element as PortModel */
'PortModel' | 
/** TextElement - Sets the accessibility element as TextElement */
'TextElement' | 
/** IconShapeModel - Sets the accessibility element as IconShapeModel */
'IconShapeModel' | 
/** DecoratorModel - Sets the accessibility element as DecoratorModel */
'DecoratorModel';
/**
 * Defines the context menu click
 * contextMenuClick - Sets the context menu click as contextMenuClick
 */
export  const contextMenuClick: string;
/**
 * Defines the context menu open
 * contextMenuOpen - Sets the context menu open as contextMenuOpen
 */
export  const contextMenuOpen: string;
/**
 * Defines the context menu Before Item Render
 * contextMenuBeforeItemRender - Sets the context menu open as contextMenuBeforeItemRender
 */
export  const contextMenuBeforeItemRender: string;
/**
 * Detect the status of Crud operation performed in the diagram
 */
export  type Status = 'None' | 'New' | 'Update';
/**
 * Enables/Disables scope of the uml shapes
 * * Public - Indicates the scope is public.
 * * Protected - Indicates the scope is protected.
 * * Private - Indicates the scope is private.
 * * Package - Indicates the scope is package.
 */
export  type UmlScope = 'Public' | 'Protected' | 'Private' | 'Package';
/**
 * Enables/Disables shape of the uml classifier shapes
 * * Package - Indicates the scope is public.
 * * Class - Indicates the scope is protected.
 * * Interface - Indicates the scope is private.
 * * Enumeration - Indicates the scope is package.
 * * CollapsedPackage - Indicates the scope is public.
 * * Inheritance - Indicates the scope is protected.
 * * Association - Indicates the scope is private.
 * * Aggregation - Indicates the scope is package.
 * * Composition - Indicates the scope is public.
 * * Realization - Indicates the scope is protected.
 * * DirectedAssociation - Indicates the scope is private.
 * * Dependency - Indicates the scope is package.
 */
export  type ClassifierShape = 'Aggregation' | 'Class' | 'Interface' | 'Enumeration' | 'Inheritance' | 'Association' | 'Composition' | 'Realization' | 'Dependency';
/**
 * Defines the direction the uml connectors
 * * Default - Indicates the direction is Default.
 * * Directional - Indicates the direction is single Directional.
 * * BiDirectional - Indicates the direction is BiDirectional.
 */
export  type AssociationFlow = 'Directional' | 'Default' | 'BiDirectional';
/**
 * Define the Multiplicity of uml connector shapes
 * * OneToOne - Indicates the connector multiplicity is OneToOne.
 * * OneToMany - Indicates the connector multiplicity is OneToMany.
 * * ManyToOne - Indicates the connector multiplicity is ManyToOne.
 */
export  type Multiplicity = 'OneToOne' | 'OneToMany' | 'ManyToOne';
/**
 * Defines the visibility of the control points in the Bezier connector
 */
export  enum ControlPointsVisibility {
    /** None - Hides all the control points of the Bezier connector*/
    None = 1,
    /** Source - Shows the source control point*/
    Source = 2,
    /** Target - Shows the target control point*/
    Target = 4,
    /** Intermediate - Shows the intermediate control points*/
    Intermediate = 8,
    /** All - Shows all the control points of the Bezier connector*/
    All = 14
}
/**
 * Defines the editing mode of the intermediate point of two bezier curve
 */
export  type BezierSegmentEditOrientation = 
/** BiDirectional - Allows the intermediate points to be dragged either vertical or horizontal direction only */
'BiDirectional' | 
/** FreeForm - Allows the intermediate points to be dragged in any direction */
'FreeForm';
export  enum BezierSmoothness {
    /** Disable all smoothness Constraints. */
    None = 0,
    /** Enables the  SymmetricAngle for a bezier segment to the angle between the control point as same. */
    SymmetricAngle = 2,
    /** Enables the SymmetricDistance for bezier segment to the distance between the control point as same. */
    SymmetricDistance = 4,
    /** Enables the symmetric for bezier segment to the distance and angle between the control point as same. */
    Default = 6
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/index.d.ts
/**
 * Diagram component exported items
 */
//node_modules/@syncfusion/ej2-diagrams/src/diagram/interaction/actions.d.ts
/**
 * Finds the action to be taken for the object under mouse
 *
 */
/**
 * findToolToActivate method\
 *
 * @returns {Actions}    findToolToActivate method .\
 * @param {Object} obj - provide the options value.
 * @param {DiagramElement} wrapper - provide the options value.
 * @param {PointModel} position - provide the options value.
 * @param {Diagram} diagram - provide the options value.
 * @param {ITouches[] | TouchList} touchStart - provide the options value.
 * @param {ITouches[] | TouchList} touchMove - provide the options value.
 * @param {NodeModel | PointPortModel | ShapeAnnotationModel | PathAnnotationModel} target - provide the options value.
 * @private
 */
export  function findToolToActivate(obj: Object, wrapper: DiagramElement, position: PointModel, diagram: Diagram, touchStart?: ITouches[] | TouchList, touchMove?: ITouches[] | TouchList, target?: NodeModel | PointPortModel | ShapeAnnotationModel | PathAnnotationModel): Actions;
/**
 * findPortToolToActivate method\
 *
 * @returns {boolean}    findPortToolToActivate method .\
 * @param {Diagram} diagram - provide the options value.
 * @param {NodeModel | PointPortModel} target - provide the options value.
 * @param {ITouches[] | TouchList} touchStart - provide the options value.
 * @param {ITouches[] | TouchList} touchMove - provide the options value.
 * @private
 */
export  function findPortToolToActivate(diagram: Diagram, target?: NodeModel | PointPortModel, touchStart?: ITouches[] | TouchList, touchMove?: ITouches[] | TouchList): Actions;
/**
 * contains method\
 *
 * @returns {boolean}    contains method .\
 * @param {PointModel} mousePosition - provide the options value.
 * @param {PointModel} corner - provide the corner value.
 * @param {number} padding - provide the padding value.
 * @private
 */
export  function contains(mousePosition: PointModel, corner: PointModel, padding: number): boolean;
/**
 * hasSelection method\
 *
 * @returns {boolean}    hasSelection method .\
 * @param {Diagram} diagram - provide the options value.
 * @private
 */
export  function hasSelection(diagram: Diagram): boolean;
/**
 * hasSingleConnection method\
 *
 * @returns {boolean}    hasSingleConnection method .\
 * @param {Diagram} diagram - provide the options value.
 * @private
 */
export  function hasSingleConnection(diagram: Diagram): boolean;
/**
 * isSelected method\
 *
 * @returns {boolean}    isSelected method .\
 * @param {Diagram} diagram - provide the options value.
 * @param {Object} element - provide the options value.
 * @param {boolean} firstLevel - provide the options value.
 * @param {DiagramElement} wrapper - provide the options value.
 * @private
 */
export  function isSelected(diagram: Diagram, element: Object, firstLevel?: boolean, wrapper?: DiagramElement): boolean;
/** @private */
export  type Actions = 'None' | 'Select' | 'Drag' | 'FixedUserHandle' | 'ResizeWest' | 'ConnectorSourceEnd' | 'ConnectorTargetEnd' | 'ResizeEast' | 'ResizeSouth' | 'ResizeNorth' | 'ResizeSouthEast' | 'ResizeSouthWest' | 'ResizeNorthEast' | 'ResizeNorthWest' | 'Rotate' | 'ConnectorEnd' | 'Custom' | 'Draw' | 'Pan' | 'BezierSourceThumb' | 'BezierTargetThumb' | 'LayoutAnimation' | 'PinchZoom' | 'Hyperlink' | 'SegmentEnd' | 'OrthoThumb' | 'PortDrag' | 'PortDraw' | 'LabelSelect' | 'LabelDrag' | 'LabelResizeSouthEast' | 'LabelResizeSouthWest' | 'LabelResizeNorthEast' | 'LabelResizeNorthWest' | 'LabelResizeSouth' | 'LabelResizeNorth' | 'LabelResizeWest' | 'LabelResizeEast' | 'LabelRotate';
/**
 * getCursor method\
 *
 * @returns {boolean}    getCursor method .\
 * @param {Actions} cursor - provide the options value.
 * @param {number} angle - provide the options value.
 * @private
 */
export  function getCursor(cursor: Actions, angle: number): string;
//node_modules/@syncfusion/ej2-diagrams/src/diagram/interaction/command-manager.d.ts
/**
 * Defines the behavior of commands
 */
export  class CommandHandler {
    /**   @private  */
    clipboardData: ClipBoardObject;
    /**   @private  */
    diagramObject: object;
    /**   @private  */
    newSelectedObjects: object;
    /**   @private  */
    oldSelectedObjects: object;
    /**   @private  */
    connectorsTable: Object[];
    /** @private */
    PreventConnectorSplit: boolean;
    /**   @private  */
    processTable: {};
    /**   @private  */
    deepDiffer: DeepDiffMapper;
    /** @private */
    isContainer: boolean;
    private state;
    /** @private */
    diagram: Diagram;
    /** @private */
    canUpdateTemplate: boolean;
    private childTable;
    private parentTable;
    private blazor;
    private blazorInterop;
    private cloneGroupChildCollection;
    enableConnectorSplit: boolean;
    /**   @private  */
    readonly snappingModule: Snapping;
    /**   @private  */
    readonly layoutAnimateModule: LayoutAnimation;
    constructor(diagram: Diagram);
    /**
     * startTransaction method\
     *
     * @returns {  void }    startTransaction method .\
     * @param {boolean} protectChange - provide the options value.
     * @private
     */
    startTransaction(protectChange: boolean): void;
    /**
     * endTransaction method\
     *
     * @returns {  void }    endTransaction method .\
     * @param {boolean} protectChange - provide the options value.
     * @private
     */
    endTransaction(protectChange: boolean): void;
    /**
     * setFocus method\
     *
     * @returns {  void }    setFocus method .\
     * @private
     */
    setFocus(): void;
    /**
     * showTooltip method\
     *
     * @returns {  void }    showTooltip method .\
     * @param {IElement} node - provide the options value.
     * @param {PointModel} position - provide the position value.
     * @param {string | HTMLElement} content - provide the content value.
     * @param {string} toolName - provide the toolName value.
     * @param {boolean} isTooltipVisible - provide the isTooltipVisible value.
     * @private
     */
    showTooltip(node: IElement, position: PointModel, content: string | HTMLElement, toolName: string, isTooltipVisible: boolean): void;
    /**
     * Split the connector, when the node is dropped onto it and establish connection with that dropped node.
     *
     * @returns {  void }   connectorSplit  method .\
     * @param {NodeModel}  droppedObject - Provide the dropped node id
     * @param {ConnectorModel} targetConnector - Provide the connector id
     * @private
     */
    connectorSplit(droppedObject: NodeModel, targetConnector: ConnectorModel): void;
    private nodeOffsetChange;
    private ConnectorTargetChange;
    private ConnectorSourceChange;
    /**
     * closeTooltip method\
     *
     * @returns {  void }    closeTooltip method .\
     * @private
     */
    closeTooltip(): void;
    /**
     * canEnableDefaultTooltip method\
     *
     * @returns {  boolean }    canEnableDefaultTooltip method .\
     * @private
     */
    canEnableDefaultTooltip(): boolean;
    /**
     * updateSelector method\
     *
     * @returns {  void }    updateSelector method .\
     * @private
     */
    updateSelector(): void;
    /**
     * updateConnectorValue method\
     *
     * @returns {  void }    updateConnectorValue method .\
     * @param {IBlazorConnectionChangeEventArgs} args - provide the options value.
     * @private
     */
    updateConnectorValue(args: IBlazorConnectionChangeEventArgs): void;
    /**
     * triggerEvent method\
     *
     * @returns {  Promise<void | object | IBlazorConnectionChangeEventArgs> }    triggerEvent method .\
     * @param {DiagramEvent} event - provide the options value.
     * @param {Object} args - provide the args value.
     * @private
     */
    triggerEvent(event: DiagramEvent, args: Object): Promise<void | object | IBlazorConnectionChangeEventArgs>;
    /**
     * dragOverElement method\
     *
     * @returns { void }    dragOverElement method .\
     * @param {MouseEventArgs} args - provide the options value.
     * @param {PointModel} currentPosition - provide the args value.
     * @private
     */
    dragOverElement(args: MouseEventArgs, currentPosition: PointModel): void;
    /**
     * disConnect method\
     *
     * @returns { IConnectionChangeEventArgs | IBlazorConnectionChangeEventArgs }    disConnect method .\
     * @param {IElement} obj - provide the obj value.
     * @param {string} endPoint - provide the endPoint value.
     * @param {boolean} canCancel - provide the canCancel value.
     * @private
     */
    disConnect(obj: IElement, endPoint?: string, canCancel?: boolean): IConnectionChangeEventArgs | IBlazorConnectionChangeEventArgs;
    private connectionEventChange;
    /**
     * insertBlazorObject method\
     *
     * @returns { void }    insertBlazorObject method .\
     * @param {IElement} object - provide the object value.
     * @param {boolean} isNode - provide the isNode value.
     * @private
     */
    insertBlazorObject(object: SelectorModel | Node | Connector, isNode?: boolean): void;
    /**
     * updatePropertiesToBlazor method\
     *
     * @returns { void }    updatePropertiesToBlazor method .\
     * @param {MouseEventArgs} args - provide the args value.
     * @param {PointModel} labelDrag - provide the labelDrag value.
     * @private
     */
    updatePropertiesToBlazor(args: MouseEventArgs, labelDrag: boolean): void;
    /**
     * insertSelectedObjects method\
     *
     * @returns { void }    insertSelectedObjects method .\
     * @private
     */
    insertSelectedObjects(): void;
    /**
     * findTarget method\
     *
     * @returns { NodeModel | PointPortModel | ShapeAnnotationModel | PathAnnotationModel }    findTarget method .\
     * @param {DiagramElement} element - provide the element value.
     * @param {IElement} argsTarget - provide the argsTarget value.
     * @param {boolean} source - provide the source value.
     * @param {boolean} connection - provide the connection value.
     * @private
     */
    findTarget(element: DiagramElement, argsTarget: IElement, source?: boolean, connection?: boolean): NodeModel | PointPortModel | ShapeAnnotationModel | PathAnnotationModel;
    /**
     * canDisconnect method\
     *
     * @returns { boolean }    canDisconnect method .\
     * @param {string} endPoint - provide the endPoint value.
     * @param {MouseEventArgs} args - provide the args value.
     * @param {string} targetPortId - provide the targetPortId value.
     * @param {string} targetNodeId - provide the targetNodeId value.
     * @private
     */
    canDisconnect(endPoint: string, args: MouseEventArgs, targetPortId: string, targetNodeId: string): boolean;
    /**
     * changeAnnotationDrag method\
     *
     * @returns { void }    changeAnnotationDrag method .\
     * @param {MouseEventArgs} args - provide the endPoint value.
     * @private
     */
    changeAnnotationDrag(args: MouseEventArgs): void;
    /**
     * connect method\
     *
     * @returns { IConnectionChangeEventArgs | IBlazorConnectionChangeEventArgs }    connect method .\
     * @param {string} endPoint - provide the endPoint value.
     * @param {MouseEventArgs} args - provide the args value.
     * @param {boolean} canCancel - provide the canCancel value.
     * @private
     */
    connect(endPoint: string, args: MouseEventArgs, canCancel?: boolean): IConnectionChangeEventArgs | IBlazorConnectionChangeEventArgs;
    /** @private */
    /**
     * cut method\
     *
     * @returns { void }    cut method .\
     * @private
     */
    cut(): void;
    private UpdateBlazorDiagramModelLayers;
    /**
     * addLayer method\
     *
     * @returns { void }    addLayer method .\
     * @param {LayerModel} layer - provide the endPoint value.
     * @param {Object[]} objects - provide the args value.
     * @param {boolean} isServerUpdate - provide the canCancel value.
     * @private
     */
    addLayer(layer: LayerModel, objects?: Object[], isServerUpdate?: boolean): void;
    /**
     * getObjectLayer method\
     *
     * @returns { LayerModel }    getObjectLayer method .\
     * @param {string} objectName - provide the endPoint value.
     * @private
     */
    getObjectLayer(objectName: string): LayerModel;
    /**
     * getLayer method\
     *
     * @returns { LayerModel }    getLayer method .\
     * @param {string} layerName - provide the endPoint value.
     * @private
     */
    getLayer(layerName: string): LayerModel;
    /**
     * removeLayer method\
     *
     * @returns { void }    removeLayer method .\
     * @param {string} layerId - provide the endPoint value.
     * @param {boolean} isServerUpdate - provide the endPoint value.
     * @private
     */
    removeLayer(layerId: string, isServerUpdate?: boolean): void;
    /**
     * moveObjects method\
     *
     * @returns { void }    moveObjects method .\
     * @param {string[]]} objects - provide the objects value.
     * @param {string} targetLayer - provide the targetLayer value.
     * @private
     */
    moveObjects(objects: string[], targetLayer?: string): void;
    /**
     * cloneLayer method\
     *
     * @returns { void }    cloneLayer method .\
     * @param {string[]} layerName - provide the objects value.
     * @private
     */
    cloneLayer(layerName: string): void;
    /**
     * copy method\
     *
     * @returns { void }    copy method .\
     * @private
     */
    copy(): Object;
    /**
     * copyObjects method\
     *
     * @returns { Object[] }    copyObjects method .\
     * @private
     */
    copyObjects(): Object[];
    private copyProcesses;
    /**
     * group method\
     *
     * @returns { void }    group method .\
     * @private
     */
    group(): void;
    /**
     * unGroup method\
     *
     * @returns {  void }    unGroup method .\
     * @param {NodeModel} obj - provide the angle value.
     * @private
     */
    unGroup(obj?: NodeModel): void;
    private resetDependentConnectors;
    /**
     * paste method\
     *
     * @returns { void }    paste method .\
     * @param {(NodeModel | ConnectorModel)[]} obj - provide the objects value.
     * @private
     */
    paste(obj: (NodeModel | ConnectorModel)[]): void;
    private getNewObject;
    private cloneConnector;
    private cloneNode;
    private getAnnotation;
    private cloneSubProcesses;
    private cloneGroup;
    /**
     * translateObject method\
     *
     * @returns { Object[] }    translateObject method .\
     * @param {Node | Connector} obj - provide the objects value.
     * @param {string} groupnodeID - provide the objects value.
     * @private
     */
    translateObject(obj: Node | Connector, groupnodeID?: string): void;
    /**
     * drawObject method\
     *
     * @returns { Node | Connector }    drawObject method .\
     * @param {Node | Connector} obj - provide the objects value.
     * @private
     */
    drawObject(obj: Node | Connector): Node | Connector;
    /**
     * addObjectToDiagram method\
     *
     * @returns { void }    addObjectToDiagram method .\
     * @param {Node | Connector} obj - provide the objects value.
     * @private
     */
    addObjectToDiagram(obj: Node | Connector): void;
    /**
     * addObjectToDiagram method\
     *
     * @returns { void }    addObjectToDiagram method .\
     * @param {boolean} enable - provide the objects value.
     * @private
     */
    enableServerDataBinding(enable: boolean): void;
    /**
     * addText method\
     *
     * @returns { void }    addText method .\
     * @param {boolean} obj - provide the objects value.
     * @param {PointModel} currentPosition - provide the objects value.
     * @private
     */
    addText(obj: Node | Connector, currentPosition: PointModel): void;
    private updateArgsObject;
    private updateSelectionChangeEventArgs;
    /**
     * isUserHandle method\
     *
     * @returns { boolean }    isUserHandle method .\
     * @param {PointModel} position - provide the objects value.
     * @private
     */
    isUserHandle(position: PointModel): boolean;
    /**
     * selectObjects method\
     *
     * @returns { Promise<void> }    selectObjects method .\
     * @param {(NodeModel | ConnectorModel)[]} obj - provide the objects value.
     * @param {boolean} multipleSelection - provide the objects value.
     * @param {(NodeModel | ConnectorModel)[]} oldValue - provide the objects value.
     * @private
     */
    selectObjects(obj: (NodeModel | ConnectorModel)[], multipleSelection?: boolean, oldValue?: (NodeModel | ConnectorModel)[]): Promise<void>;
    /**
     * updateBlazorSelector method\
     *
     * @returns { void }    updateBlazorSelector method .\
     * @private
     */
    updateBlazorSelector(): void;
    /**
     * findParent method\
     *
     * @returns { Node }    findParent method .\
     * @param {Node} node - provide the objects value.
     * @private
     */
    findParent(node: Node): Node;
    private selectProcesses;
    private selectGroup;
    private selectBpmnSubProcesses;
    private hasProcesses;
    /**
     * select method\
     *
     * @returns { void }    select method .\
     * @param {NodeModel | ConnectorModel} obj - provide the objects value.
     * @param {boolean} multipleSelection - provide the objects value.
     * @param {boolean} preventUpdate - provide the objects value.
     * @private
     */
    select(obj: NodeModel | ConnectorModel, multipleSelection?: boolean, preventUpdate?: boolean): void;
    private getObjectCollectionId;
    private updateBlazorSelectorModel;
    /**
     * labelSelect method\
     *
     * @returns { void }    labelSelect method .\
     * @param {NodeModel | ConnectorModel} obj - provide the objects value.
     * @param {DiagramElement} textWrapper - provide the objects value.
     * @private
     */
    labelSelect(obj: NodeModel | ConnectorModel, textWrapper: DiagramElement): void;
    /**
     * unSelect method\
     *
     * @returns { void }    unSelect method .\
     * @param {NodeModel | ConnectorModel} obj - provide the objects value.
     * @private
     */
    unSelect(obj: NodeModel | ConnectorModel): void;
    /**
     * getChildElements method\
     *
     * @returns { string[] }    getChildElements method .\
     * @param {DiagramElement[]} child - provide the objects value.
     * @private
     */
    getChildElements(child: DiagramElement[]): string[];
    /**
     * moveSvgNode method\
     *
     * @returns { void }    moveSvgNode method .\
     * @param {string} nodeId - provide the objects value.
     * @param {string} targetID - provide the objects value.
     * @private
     */
    moveSvgNode(nodeId: string, targetID: string): void;
    /**
     * sendLayerBackward method\
     *
     * @returns { void }    sendLayerBackward method .\
     * @param {string} layerName - provide the objects value.
     * @private
     */
    sendLayerBackward(layerName: string): void;
    /**
     * bringLayerForward method\
     *
     * @returns { void }    bringLayerForward method .\
     * @param {string} layerName - provide the objects value.
     * @private
     */
    bringLayerForward(layerName: string): void;
    /**
     * sendToBack method\
     *
     * @returns { void }    sendToBack method .\
     * @param {NodeModel | ConnectorModel} object - provide the objects value.
     * @private
     */
    sendToBack(object?: NodeModel | ConnectorModel): void;
    private swapZIndexObjects;
    private resetTargetNode;
    private getZIndexObjects;
    private updateBlazorZIndex;
    private getBlazorObject;
    private checkParentExist;
    checkObjectBehind(objectId: string, zIndexTable: {}, index: number): boolean;
    /**
     * bringToFront method\
     *
     * @returns {  void  }    bringToFront method .\
     *  @param {NodeModel | ConnectorModel } obj - Provide the nodeArray element .
     * @private
     */
    bringToFront(obj?: NodeModel | ConnectorModel): void;
    private triggerOrderCommand;
    private checkGroupNode;
    /**
     * sortByZIndex method\
     *
     * @returns {  Object[] }    sortByZIndex method .\
     *  @param { Object[] } nodeArray - Provide the nodeArray element .
     *  @param { string } sortID - Provide the sortID element .
     * @private
     */
    sortByZIndex(nodeArray: Object[], sortID?: string): Object[];
    /**
     * orderCommands method\
     *
     * @returns {  void }    orderCommands method .\
     *  @param { boolean } isRedo - Provide the previousObject element .
     *  @param { Selector } selector - Provide the previousObject element .
     *  @param { EntryType } action - Provide the previousObject element .
     * @private
     */
    orderCommands(isRedo: boolean, selector: Selector, action: EntryType): void;
    private moveObject;
    /**
     * sendForward method\
     *
     * @returns {  void }    sendForward method .\
     *  @param {  NodeModel | ConnectorModel } obj - Provide the previousObject element .
     * @private
     */
    sendForward(obj?: NodeModel | ConnectorModel): void;
    /**
     * sendBackward method\
     *
     * @returns {  void }    sendBackward method .\
     *  @param {  NodeModel | ConnectorModel } obj - Provide the previousObject element .
     * @private
     */
    sendBackward(obj?: NodeModel | ConnectorModel): void;
    /**
     * updateNativeNodeIndex method\
     *
     * @returns {  void }    updateNativeNodeIndex method .\
     *  @param { string } nodeId - Provide the previousObject element .
     *  @param { string } targetID - Provide the previousObject element .
     * @private
     */
    updateNativeNodeIndex(nodeId: string, targetID?: string): void;
    /**
     * initSelectorWrapper method\
     *
     * @returns {  void }    initSelectorWrapper method .\
     * @private
     */
    initSelectorWrapper(): void;
    /**
     * doRubberBandSelection method\
     *
     * @returns {  void }    doRubberBandSelection method .\
     *  @param { Rect } region - Provide the previousObject element .
     * @private
     */
    doRubberBandSelection(region: Rect): void;
    private clearSelectionRectangle;
    /**
     * dragConnectorEnds method\
     *
     * @returns {  void }    dragConnectorEnds method .\
     *  @param { string } endPoint - Provide the previousObject element .
     *  @param { IElement } obj - Provide the previousObject element .
     *  @param { PointModel } point - Provide the point element .
     *  @param { BezierSegmentModel } segment - Provide the segment element .
     *  @param { IElement } target - Provide the target element .
     *  @param { string } targetPortId - Provide the targetPortId element .
     * @private
     */
    dragConnectorEnds(endPoint: string, obj: IElement, point: PointModel, segment: BezierSegmentModel, target?: IElement, targetPortId?: string): boolean;
    /**
     * getSelectedObject method\
     *
     * @returns {  void }    getSelectedObject method .\
     * @private
     */
    getSelectedObject(): (NodeModel | ConnectorModel)[];
    /**
     * updateBlazorProperties method\
     *
     * @returns {  void }    updateBlazorProperties method .\
     *  @param { boolean } isObjectInteraction - Provide the previousObject element .
     * @private
     */
    updateBlazorProperties(isObjectInteraction?: boolean): void;
    /**
     * enableCloneObject method\
     *
     * @returns {  void }    enableCloneObject method .\
     *  @param { boolean } value - Provide the previousObject element .
     * @private
     */
    enableCloneObject(value: boolean): void;
    /**
     * ismouseEvents method\
     *
     * @returns {  void }    ismouseEvents method .\
     *  @param { boolean } value - Provide the previousObject element .
     * @private
     */
    ismouseEvents(value: boolean): void;
    /**
     * updateLayerObject method\
     *
     * @returns {  void }    updateLayerObject method .\
     *  @param { object } oldDiagram - Provide the previousObject element .
     *  @param { boolean } temp - Provide the temp element .
     * @private
     */
    updateLayerObject(oldDiagram: object, temp?: boolean): void;
    /**
     * getDiagramOldValues method\
     *
     * @returns {  void }    getDiagramOldValues method .\
     *  @param { object } oldDiagram - Provide the previousObject element .
     *  @param { string[] } attribute - Provide the previousObject element .
     * @private
     */
    getDiagramOldValues(oldDiagram: object, attribute: string[]): void;
    /**
     * getBlazorOldValues method\
     *
     * @returns {  void }    getBlazorOldValues method .\
     *  @param { MouseEventArgs } args - Provide the previousObject element .
     *  @param { boolean } labelDrag - Provide the previousObject element .
     * @private
     */
    getBlazorOldValues(args?: MouseEventArgs, labelDrag?: boolean): void;
    /**
     * getObjectChanges method\
     *
     * @returns {  void }    getObjectChanges method .\
     *  @param { Object[] } previousObject - Provide the previousObject element .
     *  @param { Object[] } currentObject - Provide the previousObject element .
     *  @param { Object[] } previousObject - Provide the previousObject element .
     * @private
     */
    getObjectChanges(previousObject: Object[], currentObject: Object[], changedNodes: Object[]): void;
    /**
     * clearObjectSelection method\
     *
     * @returns {  void }    clearObjectSelection method .\
     *  @param { (NodeModel | ConnectorModel) } mouseDownElement - Provide the triggerAction element .
     * @private
     */
    clearObjectSelection(mouseDownElement: (NodeModel | ConnectorModel)): void;
    /**
     * clearSelection method\
     *
     * @returns {  void }    clearSelection method .\
     *  @param { boolean } triggerAction - Provide the triggerAction element .
     *  @param { boolean } isTriggered - Provide the isTriggered element .
     * @private
     */
    clearSelection(triggerAction?: boolean, isTriggered?: boolean): Promise<void>;
    /**
     * clearSelectedItems method\
     *
     * @returns {  void }    clearSelectedItems method .\
     * @private
     */
    clearSelectedItems(): void;
    /**
     * removeStackHighlighter method\
     *
     * @returns {  void }    removeStackHighlighter method .\
     * @private
     */
    removeStackHighlighter(): void;
    /**
     * @param {End} args - provide the args  value.
     * @param {IElement} target - provide the target  value.
     * @private
     */
    renderStackHighlighter(args: MouseEventArgs, target?: IElement): void;
    /** @private */
    insertBlazorConnector(obj: Selector): void;
    /** @private */
    drag(obj: NodeModel | ConnectorModel, tx: number, ty: number): void;
    /**   @private  */
    connectorSegmentChange(actualObject: Node, existingInnerBounds: Rect, isRotate: boolean): void;
    /** @private */
    updateEndPoint(connector: Connector, oldChanges?: Connector): void;
    /**
     * @param obj
     * @param tx
     * @param ty
     * @param preventUpdate
     * @param point
     * @param endPoint
     * @param update
     * @param target
     * @param targetPortId
     * @param isDragSource
     * @param segment
     * @private
     */
    dragSourceEnd(obj: ConnectorModel, tx: number, ty: number, preventUpdate?: boolean, point?: PointModel, endPoint?: string, update?: boolean, target?: NodeModel, targetPortId?: string, isDragSource?: boolean, segment?: BezierSegmentModel): boolean;
    /**
     * Update Path Element offset
     */
    updatePathElementOffset(connector: ConnectorModel): void;
    /**
     * Upadte the connector segments when change the source node
     */
    private changeSegmentLength;
    /**
     * Change the connector endPoint to port
     */
    private changeSourceEndToPort;
    /**
     * @param connector
     * @param changeTerminal
     * @private
Remove terinal segment in initial
     */
    removeTerminalSegment(connector: Connector, changeTerminal?: boolean): void;
    /**
     * Change the connector endPoint from point to node
     */
    private changeSourceEndToNode;
    private translateBezierPoints;
    private translateSubsequentSegment;
    private updatePreviousBezierSegment;
    private updateNextBezierSegment;
    /**
     * dragTargetEnd method \
     *
     * @returns { void }     dragTargetEnd method .\
     * @param {ConnectorModel} obj - provide the obj value.
     * @param {number} tx - provide the tx value.
     * @param {number} ty - provide the ty value.
     * @param {boolean} preventUpdate - provide the preventUpdate value.
     * @param {PointModel} point - provide the point value.
     * @param {string} endPoint - provide the endPoint value.
     * @param {boolean} update - provide the update value.
     * @param {OrthogonalSegmentModel | BezierSegmentModel | StraightSegmentModel} segment - provide the segment value.
     *
     * @private
     */
    dragTargetEnd(obj: ConnectorModel, tx: number, ty: number, preventUpdate?: boolean, point?: PointModel, endPoint?: string, update?: boolean, segment?: OrthogonalSegmentModel | BezierSegmentModel | StraightSegmentModel): boolean;
    /**
     * dragControlPoint method \
     *
     * @returns { void }     dragControlPoint method .\
     * @param {ConnectorModel} obj - provide the obj value.
     * @param {number} tx - provide the tx value.
     * @param {number} ty - provide the ty value.
     * @param {boolean} preventUpdate - provide the preventUpdate value.
     * @param {number} segmentNumber - provide the segmentNumber value.
     *
     * @private
     */
    dragControlPoint(obj: ConnectorModel, tx: number, ty: number, preventUpdate?: boolean, segmentNumber?: number): boolean;
    updateDirectionalBezierCurve(connector: ConnectorModel): void;
    /**
     * rotatePropertyChnage method \
     *
     * @returns { void }     rotatePropertyChnage method .\
     * @param {number} angle - provide the obj value.
     *
     * @private
     */
    rotatePropertyChnage(angle: number): void;
    /**
     * rotateObjects method \
     *
     * @returns { void }     rotateObjects method .\
     * @param {NodeModel | SelectorModel} parent - provide the parent value.
     * @param {(NodeModel | ConnectorModel)[]} objects - provide the objects value.
     * @param {number} angle - provide the angle value.
     * @param {PointModel} pivot - provide the pivot value.
     * @param {boolean} includeParent - provide the includeParent value.
     *
     * @private
     */
    rotateObjects(parent: NodeModel | SelectorModel, objects: (NodeModel | ConnectorModel)[], angle: number, pivot?: PointModel, includeParent?: boolean): void;
    /**
     * snapConnectorEnd method \
     *
     * @returns { PointModel }     snapConnectorEnd method .\
     * @param {PointModel} currentPosition - provide the parent value.
     *
     * @private
     */
    snapConnectorEnd(currentPosition: PointModel): PointModel;
    /**
     * snapAngle method \
     *
     * @returns { number }     snapAngle method .\
     * @param {number} angle - provide the parent value.
     *
     * @private
     */
    snapAngle(angle: number): number;
    /**
     * rotatePoints method \
     *
     * @returns { number }     rotatePoints method .\
     * @param {Connector} conn - provide the parent value.
     * @param {number} angle - provide the parent value.
     * @param {PointModel} pivot - provide the parent value.
     *
     * @private
     */
    rotatePoints(conn: Connector, angle: number, pivot: PointModel): void;
    private updateInnerParentProperties;
    /**
     * scale method \
     *
     * @returns { boolean }     scale method .\
     * @param {NodeModel | ConnectorModel} obj - provide the parent value.
     * @param {number} sw - provide the parent value.
     * @param {number} sh - provide the parent value.
     * @param {number} pivot - provide the parent value.
     * @param {number} refObject - provide the parent value.
     * @param {boolean} isOutsideBoundary - provide the parent value.
     *
     * @private
     */
    scale(obj: NodeModel | ConnectorModel, sw: number, sh: number, pivot: PointModel, refObject?: IElement, isOutsideBoundary?: boolean): boolean;
    /** @private */
    getAllDescendants(node: NodeModel, nodes: (NodeModel | ConnectorModel)[], includeParent?: boolean, innerParent?: boolean): (NodeModel | ConnectorModel)[];
    /**
     * getChildren method \
     *
     * @returns { (NodeModel | ConnectorModel)[]): (NodeModel | ConnectorModel)[] }     getChildren method .\
     * @param {NodeModel} node - provide the sw value.
     * @param {(NodeModel | ConnectorModel)[]} nodes - provide the sw value.
     *
     * @private
     */
    getChildren(node: NodeModel, nodes: (NodeModel | ConnectorModel)[]): (NodeModel | ConnectorModel)[];
    /**
     * scaleObject method \
     *
     * @returns { NodeModel }     scaleObject method .\
     * @param {string} id - provide the sw value.
     *
     * @private
     */
    cloneChild(id: string): NodeModel;
    /**
     * scaleObject method \
     *
     * @returns { void }     scaleObject method .\
     * @param {End} sw - provide the sw value.
     * @param {End} sh - provide the sh value.
     * @param {PointModel} pivot - provide the pivot value.
     * @param {IElement} obj - provide the pivot value.
     * @param {DiagramElement} element - provide the element value.
     * @param {IElement} refObject - provide the refObject value.
     *
     * @private
     */
    scaleObject(sw: number, sh: number, pivot: PointModel, obj: IElement, element: DiagramElement, refObject: IElement, canUpdate?: boolean): void;
    private scaleConnector;
    private measureSelector;
    private calculateBounds;
    /**
     * portDrag method \
     *
     * @returns { void }     portDrag method .\
     * @param { NodeModel | ConnectorModel} obj - provide the obj value.
     * @param {DiagramElement} portElement - provide the portElement value.
     * @param {number} tx - provide the tx value.
     * @param {number} ty - provide the tx value.
     *
     * @private
     */
    portDrag(obj: NodeModel | ConnectorModel, portElement: DiagramElement, tx: number, ty: number): void;
    /** @private */
    labelDrag(obj: NodeModel | ConnectorModel, textElement: DiagramElement, tx: number, ty: number): void;
    private updatePathAnnotationOffset;
    private getRelativeOffset;
    private dragLimitValue;
    private updateLabelMargin;
    private boundsInterSects;
    private intersect;
    /**
     * @private
     */
    getPointAtLength(length: number, points: PointModel[], angle: number): PointModel;
    private getInterceptWithSegment;
    /** @private */
    getAnnotationChanges(object: NodeModel | ConnectorModel, label: ShapeAnnotation | PathAnnotation): Object;
    /** @private */
    getPortChanges(object: NodeModel | ConnectorModel, port: PointPort): Object;
    /** @private */
    labelRotate(object: NodeModel | ConnectorModel, label: ShapeAnnotation | PathAnnotation, currentPosition: PointModel, selector: Selector): void;
    /** @private */
    labelResize(node: NodeModel | ConnectorModel, label: ShapeAnnotation | PathAnnotationModel, deltaWidth: number, deltaHeight: number, pivot: PointModel, selector: Selector): void;
    /** @private */
    getSubProcess(source: IElement): SelectorModel;
    /**   @private  */
    checkBoundaryConstraints(tx: number, ty: number, nodeBounds?: Rect): boolean;
    /** @private */
    dragSelectedObjects(tx: number, ty: number): boolean;
    /** @private */
    scaleSelectedItems(sx: number, sy: number, pivot: PointModel): boolean;
    /** @private */
    rotateSelectedItems(angle: number): boolean;
    /** @private */
    hasSelection(): boolean;
    /** @private */
    isSelected(element: IElement): boolean;
    /**
     * initExpand is used for layout expand and collapse interaction
     */
    initExpand(args: MouseEventArgs): void;
    /** @private */
    expandNode(node: Node, diagram?: Diagram, canLayout?: boolean): ILayout;
    private getparentexpand;
    /**
     * Setinterval and Clear interval for layout animation
     */
    /** @private */
    expandCollapse(source: Node, visibility: boolean, diagram: Diagram): void;
    /**
     * @private
     */
    updateNodeDimension(obj: Node | Connector, rect?: Rect): void;
    /**
     * @private
     */
    updateConnectorPoints(obj: Node | Connector, rect?: Rect): void;
    /**
     * @private
     */
    updateSelectedNodeProperties(object?: NodeModel | ConnectorModel[]): void;
    /** @private */
    drawSelectionRectangle(x: number, y: number, width: number, height: number): void;
    /** @private */
    startGroupAction(): void;
    /** @private */
    endGroupAction(): void;
    /** @private */
    removeChildFromBPmn(child: IElement, newTarget: IElement, oldTarget: IElement): void;
    /** @private */
    isDroppable(source: IElement, targetNodes: IElement): boolean;
    /**
     * @private
     */
    renderHighlighter(args: MouseEventArgs, connectHighlighter?: boolean, source?: boolean): void;
    /** @private */
    mouseOver(source: IElement, target: IElement, position: PointModel): boolean;
    /**
     * @private
     */
    snapPoint(startPoint: PointModel, endPoint: PointModel, tx: number, ty: number): PointModel;
    /**
     * @private
     */
    removeSnap(): void;
    /** @private */
    /**Bug(EJ2-62725): Exception occurs when drag and drop the connector inside the swimlane */
    dropAnnotation(source: IElement, target: IElement): void;
    /** @private */
    drop(source: IElement, target: IElement, position: PointModel): void;
    /** @private */
    addHistoryEntry(entry: HistoryEntry): void;
    /** @private */
    align(objects: (NodeModel | ConnectorModel)[], option: AlignmentOptions, type: AlignmentMode): void;
    /**
     * distribute method \
     *
     * @returns { void }     distribute method .\
     * @param {(NodeModel | ConnectorModel)[]} objects - provide the source value.
     * @param {SizingOptions} option - provide the target value.
     *
     * @private
     */
    distribute(objects: (NodeModel | ConnectorModel)[], option: DistributeOptions): void;
    /**
     * sameSize method \
     *
     * @returns { void }     sameSize method .\
     * @param {(NodeModel | ConnectorModel)[]} objects - provide the source value.
     * @param {SizingOptions} option - provide the target value.
     *
     * @private
     */
    sameSize(objects: (NodeModel | ConnectorModel)[], option: SizingOptions): void;
    private storeObject;
    /**
     * updatePanState method \
     *
     * @returns { any }     updatePanState method .\
     * @param {number} eventCheck - provide the eventCheck value.
     *
     * @private
     */
    updatePanState(eventCheck: boolean): any;
    /**
     * dataBinding method \
     *
     * @returns { void }     dataBinding method .\
     *
     * @private
     */
    dataBinding(): void;
    setBlazorDiagramProps(arg: boolean): void;
    /**
     * scroll method \
     *
     * @returns { void }     scroll method .\
     * @param {number} scrollX - provide the source value.
     * @param {number} scrollY - provide the target value.
     * @param {PointModel} focusPoint - provide the layoutOrientation value.
     *
     * @private
     */
    scroll(scrollX: number, scrollY: number, focusPoint?: PointModel): void;
    /**
     * drawHighlighter method \
     *
     * @returns { NodeModel | ConnectorModel }     drawHighlighter method .\
     * @param {IElement} element - provide the element value.
     *
     * @private
     */
    drawHighlighter(element: IElement): void;
    /**
     * removeHighlighter method \
     *
     * @returns { void }     removeHighlighter method .\
     *
     * @private
     */
    removeHighlighter(): void;
    /**
     * renderContainerHelper method \
     *
     * @returns { NodeModel | ConnectorModel }     renderContainerHelper method .\
     * @param {NodeModel | SelectorModel | ConnectorModel} node - provide the parent value.
     *
     * @private
     */
    renderContainerHelper(node: NodeModel | SelectorModel | ConnectorModel): NodeModel | ConnectorModel;
    /**
     * isParentAsContainer method \
     *
     * @returns { boolean }     isParentAsContainer method .\
     * @param {NodeModel} node - provide the parent value.
     * @param {boolean} isChild - provide the target value.
     *
     * @private
     */
    isParentAsContainer(node: NodeModel, isChild?: boolean): boolean;
    /**
     * dropChildToContainer method \
     *
     * @returns { void }     dropChildToContainer method .\
     * @param {NodeModel} parent - provide the parent value.
     * @param {NodeModel} node - provide the target value.
     *
     * @private
     */
    dropChildToContainer(parent: NodeModel, node: NodeModel): void;
    /**
    *
    * @private
    */
    updateLaneChildrenZindex(node: Node, target: IElement): void;
    private findLeastIndexConnector;
    private findLeastIndexObject;
    /**
     * checkSelection method \
     *
     * @returns { void }     checkSelection method .\
     * @param {SelectorModel} selector - provide the source value.
     * @param {string} corner - provide the target value.
     *
     * @private
     */
    checkSelection(selector: SelectorModel, corner: string): void;
    /**
     * zoom method \
     *
     * @returns { void }     zoom method .\
     * @param {number} scale - provide the source value.
     * @param {number} scrollX - provide the target value.
     * @param {number} scrollY - provide the layoutOrientation value.
     * @param {PointModel} focusPoint - provide the layoutOrientation value.
     *
     * @private
     */
    zoom(scale: number, scrollX: number, scrollY: number, focusPoint?: PointModel): void;
}
/** @private */
export interface ConnectorPropertyChanging {
    connectorIndex?: number;
    connectorOldProperty?: ConnectorModel;
    sourceId?: string;
    targetId?: string;
    sourcePoint?: PointModel;
    targetPoint?: PointModel;
    sourcePortId?: string;
    targetPortId?: string;
    connectors?: ConnectorModel[];
}
/** @private */
export interface NodePropertyChanging {
    nodeIndex?: number;
    nodeOldProperty?: NodeModel;
    offsetX?: number;
    offsetY?: number;
    nodes?: NodeModel[];
}
/** @private */
export interface TransactionState {
    element: SelectorModel;
    backup: ObjectState;
}
/** @private */
export interface ClipBoardObject {
    pasteIndex?: number;
    clipObject?: Object;
    childTable?: {};
    processTable?: {};
}
/** @private */
export interface ObjectState {
    offsetX?: number;
    offsetY?: number;
    width?: number;
    height?: number;
    pivot?: PointModel;
    angle?: number;
}
/** @private */
export interface Distance {
    minDistance?: number;
}
/** @private */
export interface IsDragArea {
    x?: boolean;
    y?: boolean;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/interaction/connector-editing.d.ts
/**
 * Multiple segments editing for Connector
 */
export  class ConnectorEditing extends ToolBase {
    private endPoint;
    private selectedSegment;
    private segmentIndex;
    constructor(commandHandler: CommandHandler, endPoint: string);
    /**
     * mouseDown method\
     *
     * @returns {  void }    mouseDown method .\
     * @param {MouseEventArgs} args - provide the args value.
     * @private
     */
    mouseDown(args: MouseEventArgs): void;
    /**
     * mouseMove method\
     *
     * @returns {  void }    mouseMove method .\
     * @param {MouseEventArgs} args - provide the args value.
     * @private
     */
    mouseMove(args: MouseEventArgs): boolean;
    /**
     * mouseUp method\
     *
     * @returns {  void }    mouseUp method .\
     * @param {MouseEventArgs} args - provide the args value.
     * @private
     */
    mouseUp(args: MouseEventArgs): void;
    private removePrevSegment;
    private findSegmentDirection;
    private removeNextSegment;
    private addOrRemoveSegment;
    private findIndex;
    private dragOrthogonalSegment;
    private addSegments;
    private insertFirstSegment;
    private updateAdjacentSegments;
    private addTerminalSegment;
    private updatePortSegment;
    private updatePreviousSegment;
    private changeSegmentDirection;
    private updateNextSegment;
    private updateFirstSegment;
    private updateLastSegment;
    /**
     *To destroy the module
     *
     * @returns {void} To destroy the module
     */
    destroy(): void;
    /**
     * Get module name.
     */
    /**
     * Get module name.\
     *
     * @returns {  string  }    Get module name.\
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/interaction/container-interaction.d.ts
/**
 * Interaction for Container
 */
/**
 * updateCanvasBounds method\
 *
 * @returns {  void }    updateCanvasBounds method .\
 * @param {Diagram} diagram - provide the diagram value.
 * @param {NodeModel | ConnectorModel} obj - provide the isVertical value.
 * @param {PointModel} position - provide the position value.
 * @param {boolean} isBoundsUpdate - provide the isBoundsUpdate value.
 * @private
 */
export  function updateCanvasBounds(diagram: Diagram, obj: NodeModel | ConnectorModel, position: PointModel, isBoundsUpdate: boolean): boolean;
/**
 * removeChildInContainer method\
 *
 * @returns {  void }    removeChildInContainer method .\
 * @param {Diagram} diagram - provide the diagram value.
 * @param {NodeModel | ConnectorModel} obj - provide the isVertical value.
 * @param {PointModel} position - provide the position value.
 * @param {boolean} isBoundsUpdate - provide the isBoundsUpdate value.
 * @private
 */
export  function removeChildInContainer(diagram: Diagram, obj: NodeModel | ConnectorModel, position: PointModel, isBoundsUpdate: boolean): void;
/**
 * findBounds method\
 *
 * @returns {  NodeModel | ConnectorModel  }    findBounds method .\
 * @param {NodeModel} obj - provide the diagram value.
 * @param {number} columnIndex - provide the isVertical value.
 * @param {boolean} isHeader - provide the isVertical value.
 * @private
 */
export  function findBounds(obj: NodeModel, columnIndex: number, isHeader: boolean): Rect;
/**
 * createHelper method\
 *
 * @returns {  NodeModel | ConnectorModel  }    createHelper method .\
 * @param {Diagram} diagram - provide the diagram value.
 * @param {NodeModel | ConnectorModel} obj - provide the isVertical value.
 * @private
 */
export  function createHelper(diagram: Diagram, obj: Node): Node;
/**
 * renderContainerHelper method\
 *
 * @returns {  NodeModel | ConnectorModel  }    renderContainerHelper method .\
 * @param {Diagram} diagram - provide the diagram value.
 * @param {NodeModel | ConnectorModel} obj - provide the isVertical value.
 * @private
 */
export  function renderContainerHelper(diagram: Diagram, obj: SelectorModel | NodeModel | ConnectorModel): NodeModel | ConnectorModel;
/**
 * checkParentAsContainer method\
 *
 * @returns {  void  }    checkParentAsContainer method .\
 * @param {Diagram} diagram - provide the diagram value.
 * @param {NodeModel | ConnectorModel} obj - provide the isVertical value.
 * @param {boolean} isChild - provide the isChild value.
 * @private
 */
export  function checkParentAsContainer(diagram: Diagram, obj: NodeModel | ConnectorModel, isChild?: boolean): boolean;
/**
 * checkChildNodeInContainer method\
 *
 * @returns {  void  }    checkChildNodeInContainer method .\
 * @param {Diagram} diagram - provide the diagram value.
 * @param {NodeModel} obj - provide the isVertical value.
 * @private
 */
export  function checkChildNodeInContainer(diagram: Diagram, obj: NodeModel): void;
/**
 * addChildToContainer method\
 *
 * @returns {  void  }    addChildToContainer method .\
 * @param {DiagramElement} diagram - provide the element value.
 * @param {boolean} parent - provide the isVertical value.
 * @param {PointModel} node - provide the node value.
 * @param {Diagram} isUndo - provide the isUndo value.
 * @param {boolean} historyAction - provide the historyAction value.
 * @private
 */
export  function addChildToContainer(diagram: Diagram, parent: NodeModel, node: NodeModel, isUndo?: boolean, historyAction?: boolean): void;
export  function updateLaneBoundsAfterAddChild(container: NodeModel, swimLane: NodeModel, node: NodeModel, diagram: Diagram, isBoundsUpdate?: boolean): boolean;
/**
 * renderStackHighlighter method\
 *
 * @returns {  void  }    renderStackHighlighter method .\
 * @param {DiagramElement} element - provide the element value.
 * @param {boolean} isVertical - provide the isVertical value.
 * @param {PointModel} position - provide the position value.
 * @param {Diagram} diagram - provide the diagram value.
 * @param {boolean} isUml - provide the isUml value.
 * @param {boolean} isSwimlane - provide the isSwimlane value.
 * @private
 */
export  function renderStackHighlighter(element: DiagramElement, isVertical: boolean, position: PointModel, diagram: Diagram, isUml?: boolean, isSwimlane?: boolean): void;
/**
 * moveChildInStack method\
 *
 * @returns {  void }    moveChildInStack method .\
 * @param {Node} sourceNode - provide the sourceNode value.
 * @param {Node} target - provide the target value.
 * @param {Diagram} diagram - provide the diagram value.
 * @param {Actions} action - provide the action value.
 * @private
 */
export  function moveChildInStack(sourceNode: Node, target: Node, diagram: Diagram, action: Actions): void;
//node_modules/@syncfusion/ej2-diagrams/src/diagram/interaction/event-handlers.d.ts
/**
 * This module handles the mouse and touch events
 */
export  class DiagramEventHandler {
    private currentAction;
    private previousAction;
    /**   @private  */
    focus: boolean;
    private action;
    private isBlocked;
    private blocked;
    private commandHandler;
    private isMouseDown;
    private inAction;
    private resizeTo;
    private currentPosition;
    private timeOutValue;
    private doingAutoScroll;
    private prevPosition;
    private diagram;
    private objectFinder;
    private tool;
    private eventArgs;
    private userHandleObject;
    private lastObjectUnderMouse;
    private hoverElement;
    private hoverNode;
    private isScrolling;
    private initialEventArgs;
    /** @private */
    touchStartList: ITouches[] | TouchList;
    /** @private */
    touchMoveList: ITouches[] | TouchList;
    /** @private */
    constructor(diagram: Diagram, commandHandler: CommandHandler);
    /** @private */
    getMousePosition(e: MouseEvent | PointerEvent | TouchEvent): PointModel;
    /**
     * @private
     */
    windowResize(evt: Event): boolean;
    /**
     * @private
     */
    updateViewPortSize(element: HTMLElement): void;
    /** @private */
    canHideResizers(): boolean;
    /** @private */
    private updateCursor;
    private isForeignObject;
    private isMetaKey;
    private renderUmlHighLighter;
    private isDeleteKey;
    private isMouseOnScrollBar;
    /**   @private  */
    updateVirtualization(): void;
    private checkPreviousAction;
    private checkUserHandleEvent;
    mouseDown(evt: PointerEvent): void;
    /**   @private  */
    mouseMoveExtend(e: PointerEvent | TouchEvent, obj: IElement): void;
    /** @private */
    checkAction(obj: IElement): void;
    private isSwimlaneElements;
    /** @private */
    mouseMove(e: PointerEvent | TouchEvent, touches: TouchList): void;
    private getContent;
    private findIntersectChild;
    private checkAutoScroll;
    /** @private */
    mouseUp(evt: PointerEvent): void;
    /**
    * return the clicked element such as node/connector/port/diagram
    */
    private getTargetElement;
    private getConnectorPadding;
    private getBlazorClickEventArgs;
    addSwimLaneObject(selectedNode: NodeModel): void;
    /** @private */
    mouseLeave(evt: PointerEvent): void;
    /** @private */
    mouseWheel(evt: WheelEvent): void;
    private keyArgs;
    /** @private */
    keyDown(evt: KeyboardEvent): void;
    private getlabel;
    private getKeyModifier;
    keyUp(evt: KeyboardEvent): void;
    private startAutoScroll;
    private doAutoScroll;
    private mouseEvents;
    private getBlazorCollectionObject;
    private elementEnter;
    private elementLeave;
    private altKeyPressed;
    private ctrlKeyPressed;
    private shiftKeyPressed;
    /** @private */
    scrolled(evt: PointerEvent): void;
    /** @private */
    doubleClick(evt: PointerEvent): void;
    /**
     * @private
     */
    itemClick(actualTarget: NodeModel, diagram: Diagram): NodeModel;
    /**
     * @private
     */
    inputChange(evt: inputs.InputArgs): void;
    /**
     * @private
     */
    isAddTextNode(node: Node | Connector, focusOut?: boolean): boolean;
    private checkEditBoxAsTarget;
    private getMouseEventArgs;
    /** @private */
    resetTool(): void;
    /** @private */
    getTool(action: Actions): ToolBase;
    /** @private */
    getCursor(action: Actions): string;
    /** @private */
    findElementUnderMouse(obj: IElement, position: PointModel, padding?: number): DiagramElement;
    /** @private */
    findObjectsUnderMouse(position: PointModel, source?: IElement): IElement[];
    /** @private */
    findObjectUnderMouse(objects: (NodeModel | ConnectorModel)[], action: Actions, inAction: boolean): IElement;
    /** @private */
    findTargetUnderMouse(objects: (NodeModel | ConnectorModel)[], action: Actions, inAction: boolean, position: PointModel, source?: IElement): IElement;
    /** @private */
    findActionToBeDone(obj: NodeModel | ConnectorModel, wrapper: DiagramElement, position: PointModel, target?: NodeModel | PointPortModel | ShapeAnnotationModel | PathAnnotationModel): Actions;
    private updateContainerBounds;
    private updateContainerProperties;
    private updateLaneChildNode;
    private updateContainerPropertiesExtend;
    private addUmlNode;
}
/** @private */
export interface Info {
    ctrlKey?: boolean;
    shiftKey?: boolean;
}
/** @private */
export interface MouseEventArgs {
    position?: PointModel;
    source?: IElement;
    sourceWrapper?: DiagramElement;
    target?: IElement;
    targetWrapper?: DiagramElement;
    info?: Info;
    startTouches?: TouchList | ITouches[];
    moveTouches?: TouchList | ITouches[];
    clickCount?: number;
    actualObject?: IElement;
    portId?: string;
}
/** @private */
export interface HistoryLog {
    hasStack?: boolean;
    isPreventHistory?: boolean;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/interaction/line-distribution.d.ts
/**
 * Line Distribution
 * @private
 */
export  class LineDistribution {
    /** @private */
    edgeMapper: EdgeMapperObject[];
    /**
     * Constructor for the line distribution module
     * @private
     */
    constructor();
    /**
     * To destroy the line distribution module
     * @returns {void}
     * @private
     */
    destroy(): void;
    /**
     * Get the diagram instance.
     */
    private diagram;
    /**
     * Core method to return the component name.
     *
     * @returns {string}  Core method to return the component name.
     * @private
     */
    protected getModuleName(): string;
    /** @private */
    initLineDistribution(graph: Layout, diagram: Diagram): void;
    private ObstacleSegment;
    /** @private */
    distributeLines(layout: Layout, diagram: Diagram): void;
    private inflate;
    private updateConnectorPoints;
    private resetConnectorPoints;
    private getObstacleEndPoint;
    private getObstacleStartPoint;
    private updateSegmentRow;
    private portOffsetCalculation;
    private addDynamicPortandDistrrbuteLine;
    private initPort;
    private sortObjects;
    private shiftMatrixCells;
    private arrangeMatrix;
    private getFixedTerminalPoint;
    private setAbsoluteTerminalPoint;
    private updateFixedTerminalPoint;
    private updateFixedTerminalPoints;
    private updatePoints;
    private updateFloatingTerminalPoint;
    private getNextPoint;
    private getCenterX;
    private getCenterY;
    private getPerimeterBounds;
    private getPerimeterFunction;
    private getPerimeterPoint;
    private getFloatingTerminalPoint;
    private updateFloatingTerminalPoints;
    private getConnectorPoints;
    private adjustSegmentPoints;
    private updateConnectorSegmentPoints;
    private updateConnectorSegmentPoint;
    /** @private */
    resetConnectorSegments(connector: Connector): void;
    /** @private */
    resetRoutingSegments(connector: Connector, diagram: Diagram, points: PointModel[]): void;
    /** @private */
    arrangeElements(matrixModel: MatrixModelObject, layout: Layout): void;
    private findParentVertexCellGroup;
    private setXYforMatrixCell;
    private getEdgeMapper;
    /** @private */
    setEdgeMapper(value: EdgeMapperObject): void;
    private translateMatrixCells;
    private groupLayoutCells;
    private getType;
    private selectIds;
    private compareLists;
    private updateMutualSharing;
    private matrixCellGroup;
    private getPointvalue;
    private containsValue;
    private createMatrixCells;
    /** @private */
    updateLayout(viewPort: PointModel, modelBounds: any, layoutProp: Layout, layout: LayoutProp, nodeWithMultiEdges: INode[], nameTable: object): void;
}
/** @private */
interface EdgeMapperObject {
    value: Point[];
    key: Connector | Node;
}
/** @private */
export interface MatrixCellGroupObject {
    level: number;
    parents: MatrixCellGroupObject[];
    children: MatrixCellGroupObject[];
    visitedParents: MatrixCellGroupObject[];
    ignoredChildren: MatrixCellGroupObject[];
    cells: CellObject[] | IVertex;
    visitedChildren: MatrixCellGroupObject[];
    size: number;
    offset: number;
    initialOffset: number;
    key?: string[] | string;
    value?: MatrixCellGroupObject;
}
/** @private */
interface CellObject {
    x: number[];
    y: number[];
    type: string;
    temp: number[];
    minRank: number;
    maxRank: number;
    identicalSibilings: string[];
    connectsAsTarget: CellObject[];
    source: ConnectsAsSourceObject;
    target: ConnectsAsSourceObject;
    connectsAsSource: ConnectsAsSourceObject;
    cell: Vertex;
    edges?: Connector[];
    hashCode?: number;
    id?: string;
    ids?: string;
}
/** @private */
interface ConnectsAsSourceObject {
    id: string[];
    source: ConnectsAsSourceObject;
    target: ConnectsAsSourceObject;
    temp: number[];
    x: number[];
    y: number[];
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/interaction/line-routing.d.ts
/**
 * Line Routing
 */
export  class LineRouting {
    private size;
    private startGrid;
    private noOfRows;
    private noOfCols;
    private width;
    private height;
    private diagramStartX;
    private diagramStartY;
    private intermediatePoints;
    private gridCollection;
    private startNode;
    private targetNode;
    private targetGrid;
    private startArray;
    private targetGridCollection;
    private sourceGridCollection;
    private considerWalkable;
    /**
     * lineRouting method \
     *
     * @returns { void }     lineRouting method .\
     * @param {Diagram} diagram - provide the source value.
     *
     * @private
     */
    lineRouting(diagram: Diagram): void;
    /** @private */
    /**
     * renderVirtualRegion method \
     *
     * @returns { void }     renderVirtualRegion method .\
     * @param {Diagram} diagram - provide the source value.
     * @param {boolean} isUpdate - provide the target value.
     *
     * @private
     */
    renderVirtualRegion(diagram: Diagram, isUpdate?: boolean): void;
    private findNodes;
    private updateNodesInVirtualRegion;
    private intersectRect;
    private findEndPoint;
    /**
     * refreshConnectorSegments method \
     *
     * @returns { void }     refreshConnectorSegments method .\
     * @param {Diagram} diagram - provide the diagram value.
     * @param {Connector} connector - provide the connector value.
     * @param {boolean} isUpdate - provide the diagram value.
     *
     * @private
     */
    refreshConnectorSegments(diagram: Diagram, connector: Connector, isUpdate: boolean): void;
    private checkChildNodes;
    private findEdgeBoundary;
    private checkObstacles;
    private contains;
    private getEndvalue;
    private changeValue;
    private getIntermediatePoints;
    private updateConnectorSegments;
    private findPath;
    private sorting;
    private octile;
    private manhattan;
    private findNearestNeigbours;
    private neigbour;
    private resetGridColl;
    private isWalkable;
    private findIntermediatePoints;
    /**
     * Constructor for the line routing module
     *
     * @private
     */
    constructor();
    /**
     *To destroy the line routing
     *
     * @returns {void} To destroy the line routing
     */
    destroy(): void;
    /**
     * Core method to return the component name.
     *
     * @returns {string}  Core method to return the component name.
     * @private
     */
    protected getModuleName(): string;
}
/** @private */
export interface VirtualBoundaries {
    x: number;
    y: number;
    width: number;
    height: number;
    gridX: number;
    gridY: number;
    walkable: boolean;
    tested: boolean;
    nodeId: string[];
    previousDistance?: number;
    afterDistance?: number;
    totalDistance?: number;
    parent?: VirtualBoundaries;
    parentNodeId?: string;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/interaction/scroller.d.ts
/**
 */
export  class DiagramScroller {
    /** @private */
    transform: TransformFactor;
    /**   @private  */
    oldCollectionObjects: string[];
    /**   @private  */
    removeCollection: string[];
    private diagram;
    private objects;
    private vPortWidth;
    private vPortHeight;
    private currentZoomFActor;
    private hOffset;
    private vOffset;
    private scrolled;
    /**
     * verticalOffset method \
     *
     * @returns { number }     verticalOffset method .\
     *
     * @private
     */
    /**
    * verticalOffset method \
    *
    * @returns { void }     verticalOffset method .\
    * @param {number} offset - provide the hOffset value.
    *
    * @private
    */
    viewPortHeight: number;
    /**
     * verticalOffset method \
     *
     * @returns { number }     verticalOffset method .\
     *
     * @private
     */
    /**
    * verticalOffset method \
    *
    * @returns { void }     verticalOffset method .\
    * @param {number} offset - provide the hOffset value.
    *
    * @private
    */
    currentZoom: number;
    /**
     * verticalOffset method \
     *
     * @returns { number }     verticalOffset method .\
     *
     * @private
     */
    /**
    * verticalOffset method \
    *
    * @returns { void }     verticalOffset method .\
    * @param {number} offset - provide the hOffset value.
    *
    * @private
    */
    viewPortWidth: number;
    /**
     * verticalOffset method \
     *
     * @returns { number }     verticalOffset method .\
     *
     * @private
     */
    /**
    * verticalOffset method \
    *
    * @returns { void }     verticalOffset method .\
    * @param {number} offset - provide the hOffset value.
    *
    * @private
    */
    horizontalOffset: number;
    /**
     * verticalOffset method \
     *
     * @returns { number }     verticalOffset method .\
     *
     * @private
     */
    /**
    * verticalOffset method \
    *
    * @returns { void }     verticalOffset method .\
    * @param {number} offset - provide the hOffset value.
    *
    * @private
    */
    verticalOffset: number;
    private diagramWidth;
    private diagramHeight;
    /** @private */
    scrollerWidth: number;
    private hScrollSize;
    private vScrollSize;
    constructor(diagram: Diagram);
    private getBounds;
    /**
     * updateScrollOffsets method \
     *
     * @returns { void }     updateScrollOffsets method .\
     * @param {number} hOffset - provide the hOffset value.
     * @param {number} vOffset - provide the vOffset value.
     *
     * @private
     */
    updateScrollOffsets(hOffset?: number, vOffset?: number): void;
    /**
     * setScrollOffset method \
     *
     * @returns { void }     setScrollOffset method .\
     * @param {number} hOffset - provide the hOffset value.
     * @param {number} vOffset - provide the vOffset value.
     *
     * @private
     */
    setScrollOffset(hOffset: number, vOffset: number): void;
    /**
     * getObjects \
     *
     * @returns { string[] }     To get page pageBounds.\
     * @param {string[]} coll1 - provide the source value.
     * @param {string[]} coll2 - provide the source value.
     * @private
     */
    getObjects(coll1: string[], coll2: string[]): string[];
    /**
     * virtualizeElements \
     *
     * @returns { void }     To get page pageBounds.\
     *
     * @private
     */
    virtualizeElements(): void;
    /**
     * setSize \
     *
     * @returns { void }     To get page pageBounds.\
     * @param {PointModel} newOffset - provide the newOffset value.
     *
     * @private
     */
    setSize(newOffset?: PointModel): void;
    /**
     * setViewPortSize \
     *
     * @returns { void }     To get page pageBounds.\
     * @param {number} width - provide the factor value.
     * @param {number} height - provide the factor value.
     *
     * @private
     */
    setViewPortSize(width: number, height: number): void;
    /**
     * To get page pageBounds \
     *
     * @returns { Rect }     To get page pageBounds.\
     * @param {boolean} boundingRect - provide the factor value.
     * @param {DiagramRegions} region - provide the factor value.
     * @param {boolean} hasPadding - provide the factor value.
     *
     * @private
     */
    getPageBounds(boundingRect?: boolean, region?: DiagramRegions, hasPadding?: boolean, isnegativeRegion?: boolean): Rect;
    /**
     * To get page break when PageBreak is set as true \
     *
     * @returns { Segment[] }     To get page break when PageBreak is set as true.\
     * @param {Rect} pageBounds - provide the factor value.
     *
     * @private
     */
    getPageBreak(pageBounds: Rect): Segment[];
    /**
     * zoom method \
     *
     * @returns { void }     zoom method .\
     * @param {number} factor - provide the factor value.
     * @param {number} deltaX - provide the bounds value.
     * @param {number} deltaY - provide the bounds value.
     * @param {PointModel} focusPoint - provide the bounds value.
     *
     * @private
     */
    zoom(factor: number, deltaX?: number, deltaY?: number, focusPoint?: PointModel, isInteractiveZoomPan?: boolean): void;
    /**
     * fitToPage method \
     *
     * @returns { void }     fitToPage method .\
     * @param {IFitOptions} options - provide the bounds value.
     *
     * @private
     */
    fitToPage(options?: IFitOptions): void;
    /**
     * bringIntoView method \
     *
     * @returns { void }     bringIntoView method .\
     * @param {Rect} rect - provide the bounds value.
     *
     * @private
     */
    bringIntoView(rect: Rect): void;
    /**
     * bringToCenter method \
     *
     * @returns { void }     bringToCenter method .\
     * @param {Rect} bounds - provide the bounds value.
     *
     * @private
     */
    bringToCenter(bounds: Rect): void;
    private applyScrollLimit;
}
/** @private */
export interface TransformFactor {
    tx: number;
    ty: number;
    scale: number;
}
export interface Segment {
    x1: number;
    y1: number;
    x2: number;
    y2: number;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/interaction/selector-model.d.ts
/**
 * Interface for a class UserHandle
 */
export interface UserHandleModel {
    /**
     * Defines the name of user Handle
     *
     * @default ''
     */
    name?: string;
    /**
     * Defines the path data of user Handle
     *
     * @default ''
     */
    pathData?: string;
    /**
     * Defines the custom content of the user handle
     *
     * @default ''
     */
    content?: string;
    /**
     * Defines the image source of the user handle
     *
     * @default ''
     */
    source?: string;
    /**
     * Defines the background color of user Handle
     *
     * @default 'black'
     */
    backgroundColor?: string;
    /**
     * Defines the position of user Handle
     *  * Top - Aligns the user handles at the top of an object
     *  * Bottom - Aligns the user handles at the bottom of an object
     *  * Left - Aligns the user handles at the left of an object
     *  * Right - Aligns the user handles at the right of an object
     *
     * @default 'Top'
     */
    side?: Side;
    /**
     * Defines the borderColor of user Handle
     *
     * @default ''
     */
    borderColor?: string;
    /**
     * Defines the borderWidth of user Handle
     *
     * @default 0.5
     */
    borderWidth?: number;
    /**
     * Defines the size of user Handle
     *
     * @default 25
     */
    size?: number;
    /**
     * Defines the path color of user Handle
     *
     * @default 'white'
     */
    pathColor?: string;
    /**
     * Defines the displacement of user Handle
     *
     * @default 10
     */
    displacement?: number;
    /**
     * Defines the visible of user Handle
     *
     * @default true
     */
    visible?: boolean;
    /**
     * Defines the offset of user Handle
     *
     * @default 0
     */
    offset?: number;
    /**
     * Defines the margin of the user handle
     *
     * @default new Margin(0,0,0,0)
     */
    margin?: MarginModel;
    /**
     * Defines the horizontal alignment of the user handle
     * * Stretch - Stretches the diagram element throughout its immediate parent
     * * Left - Aligns the diagram element at the left of its immediate parent
     * * Right - Aligns the diagram element at the right of its immediate parent
     * * Center - Aligns the diagram element at the center of its immediate parent
     * * Auto - Aligns the diagram element based on the characteristics of its immediate parent
     *
     * @default 'Center'
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Defines the vertical alignment of the user handle
     * * Stretch - Stretches the diagram element throughout its immediate parent
     * * Top - Aligns the diagram element at the top of its immediate parent
     * * Bottom - Aligns the diagram element at the bottom of its immediate parent
     * * Center - Aligns the diagram element at the center of its immediate parent
     * * Auto - Aligns the diagram element based on the characteristics of its immediate parent
     *
     * @default 'Center'
     */
    verticalAlignment?: VerticalAlignment;
    /**
     * Defines the visible of user Handle
     *
     * @default false
     */
    disableNodes?: boolean;
    /**
     * Defines the visible of user Handle
     *
     * @default false
     */
    disableConnectors?: boolean;
    /**
    * Used to show tooltip for user handle on mouse over.
    *
    * @default {}
    */
    tooltip?: DiagramTooltipModel;
    /**
     * defines geometry of the html element
     *
     * @private
     * @default ''
     */
    template?: HTMLElement;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/interaction/selector.d.ts
/**
 * A collection of frequently used commands that will be added around the selector
 * ```html
 * <div id='diagram'></div>
 * ```
 * ```typescript
 * let nodes$: NodeModel[] = [{
 *           id: 'node1', width: 100, height: 100, offsetX: 100, offsetY: 100,
 *           annotations: [{ content: 'Default Shape' }]
 *       },
 *       {
 *           id: 'node2', width: 100, height: 100, offsetX: 300, offsetY: 100,
 *           shape: {
 *               type: 'Basic', shape: 'Ellipse'
 *           },
 *           annotations: [{ content: 'Path Element' }]
 *       }
 *       ];
 *       let connectors$: ConnectorModel[] = [{
 *           id: 'connector1',
 *           type: 'Straight',
 *           sourcePoint: { x: 100, y: 300 },
 *           targetPoint: { x: 200, y: 400 },
 *       }];
 * let handle$: UserHandleModel[] = [
 * { name: 'handle', margin: { top: 0, bottom: 0, left: 0, right: 0 }, offset: 0,
 * pathData: 'M 376.892,225.284L 371.279,211.95L 376.892,198.617L 350.225,211.95L 376.892,225.284 Z',
 * side: 'Top', horizontalAlignment: 'Center', verticalAlignment: 'Center',
 * pathColor: 'yellow' }];
 * let diagram$: Diagram = new Diagram({
 * ...
 *     connectors: connectors, nodes: nodes,
 *     selectedItems: { constraints: SelectorConstraints.All, userHandles: handle },
 * ...
 * });
 * diagram.appendTo('#diagram');
 * ```
 * @default {}
 */
export  class UserHandle extends base.ChildProperty<UserHandle> {
    /**
     * Defines the name of user Handle
     *
     * @default ''
     */
    name: string;
    /**
     * Defines the path data of user Handle
     *
     * @default ''
     */
    pathData: string;
    /**
     * Defines the custom content of the user handle
     *
     * @default ''
     */
    content: string;
    /**
     * Defines the image source of the user handle
     *
     * @default ''
     */
    source: string;
    /**
     * Defines the background color of user Handle
     *
     * @default 'black'
     */
    backgroundColor: string;
    /**
     * Defines the position of user Handle
     *  * Top - Aligns the user handles at the top of an object
     *  * Bottom - Aligns the user handles at the bottom of an object
     *  * Left - Aligns the user handles at the left of an object
     *  * Right - Aligns the user handles at the right of an object
     *
     * @default 'Top'
     */
    side: Side;
    /**
     * Defines the borderColor of user Handle
     *
     * @default ''
     */
    borderColor: string;
    /**
     * Defines the borderWidth of user Handle
     *
     * @default 0.5
     */
    borderWidth: number;
    /**
     * Defines the size of user Handle
     *
     * @default 25
     */
    size: number;
    /**
     * Defines the path color of user Handle
     *
     * @default 'white'
     */
    pathColor: string;
    /**
     * Defines the displacement of user Handle
     *
     * @default 10
     */
    displacement: number;
    /**
     * Defines the visible of user Handle
     *
     * @default true
     */
    visible: boolean;
    /**
     * Defines the offset of user Handle
     *
     * @default 0
     */
    offset: number;
    /**
     * Defines the margin of the user handle
     *
     * @default new Margin(0,0,0,0)
     */
    margin: MarginModel;
    /**
     * Defines the horizontal alignment of the user handle
     * * Stretch - Stretches the diagram element throughout its immediate parent
     * * Left - Aligns the diagram element at the left of its immediate parent
     * * Right - Aligns the diagram element at the right of its immediate parent
     * * Center - Aligns the diagram element at the center of its immediate parent
     * * Auto - Aligns the diagram element based on the characteristics of its immediate parent
     *
     * @default 'Center'
     */
    horizontalAlignment: HorizontalAlignment;
    /**
     * Defines the vertical alignment of the user handle
     * * Stretch - Stretches the diagram element throughout its immediate parent
     * * Top - Aligns the diagram element at the top of its immediate parent
     * * Bottom - Aligns the diagram element at the bottom of its immediate parent
     * * Center - Aligns the diagram element at the center of its immediate parent
     * * Auto - Aligns the diagram element based on the characteristics of its immediate parent
     *
     * @default 'Center'
     */
    verticalAlignment: VerticalAlignment;
    /**
     * Defines the visible of user Handle
     *
     * @default false
     */
    disableNodes: boolean;
    /**
     * Defines the visible of user Handle
     *
     * @default false
     */
    disableConnectors: boolean;
    /**
    * Used to show tooltip for user handle on mouse over.
    *
    * @default {}
    */
    tooltip: DiagramTooltipModel;
    /**
     *
     * Returns the name of class UserHandle
     *
     * @returns {string}  Returns the name of class UserHandle
     * @private
     */
    getClassName(): string;
    /**
     * defines geometry of the html element
     *
     * @private
     * @default ''
     */
    template: HTMLElement;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/interaction/spatial-search/quad.d.ts
/**
 * Quad helps to maintain a set of objects that are contained within the particular region
 */
/** @private */
export  class Quad {
    /** @private */
    objects: IGroupable[];
    /** @private */
    left: number;
    /** @private */
    top: number;
    /** @private */
    width: number;
    /** @private */
    height: number;
    /** @private */
    first: Quad;
    /** @private */
    second: Quad;
    /** @private */
    third: Quad;
    /** @private */
    fourth: Quad;
    /** @private */
    parent: Quad;
    private spatialSearch;
    /**
     *  Constructor for creating the Quad class
     *
     * @param {number} left The symbol palette model.
     * @param {number} top The symbol palette element.
     * @param {number} width The symbol palette element.
     * @param {number} height The symbol palette element.
     * @param {SpatialSearch} spatialSearching The symbol palette element.
     * @private
     */
    constructor(left: number, top: number, width: number, height: number, spatialSearching: SpatialSearch);
    /**
     * findQuads method\
     *
     * @returns {  void}    findQuads method .\
     * @param {Rect} currentViewPort - provide the options value.
     * @param {Quad[]} quads - provide the options value.
     * @private
     */
    findQuads(currentViewPort: Rect, quads: Quad[]): void;
    private isIntersect;
    /**
     * selectQuad method\
     *
     * @returns {  Quad }    selectQuad method .\
     * @private
     */
    selectQuad(): Quad;
    private getQuad;
    /**
     * isContained method\
     *
     * @returns {  boolean }    isContained method .\
     * @private
     */
    isContained(): boolean;
    /**
     * addIntoAQuad method\
     *
     * @returns {  Quad }    addIntoAQuad method .\
     * @param {IGroupable} node - provide the options value.
     * @private
     */
    addIntoAQuad(node: IGroupable): Quad;
    private add;
}
/** @private */
export interface QuadSet {
    target?: Quad;
    source?: Quad;
}
/** @private */
export interface QuadAddition {
    quad?: Quad;
    isAdded?: boolean;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/interaction/spatial-search/spatial-search.d.ts
/**
 * Spatial search module helps to effectively find the objects over diagram
 */
export  class SpatialSearch {
    private topElement;
    private bottomElement;
    private rightElement;
    private leftElement;
    private quadSize;
    private quadTable;
    private objectTable;
    /** @private */
    parentQuad: Quad;
    private pageLeft;
    private pageRight;
    private pageTop;
    private pageBottom;
    /** @private */
    childLeft: number;
    /** @private */
    childTop: number;
    /** @private */
    childRight: number;
    /** @private */
    childBottom: number;
    /** @private */
    childNode: IGroupable;
    /**
     *  Constructor for creating the spatial search
     *
     * @param {number} objectTable The objectTable.
     * @private
     */
    constructor(objectTable: Object);
    /**
     * removeFromAQuad method\
     *
     * @returns {void}    removeFromAQuad method .\
     * @param {IGroupable} node - provide the options value.
     * @private
     */
    removeFromAQuad(node: IGroupable): void;
    private update;
    private addIntoAQuad;
    private objectIndex;
    updateQuad(node: IGroupable): boolean;
    private isWithinPageBounds;
    /**
     * findQuads method\
     *
     * @returns {  Quad[] }    findQuads method .\
     * @param {Rect} region - provide the options value.
     * @private
     */
    findQuads(region: Rect): Quad[];
    /**
     * findObjects method\
     *
     * @returns {  IGroupable[] }    findObjects method .\
     * @param {Rect} region - provide the options value.
     * @private
     */
    findObjects(region: Rect): IGroupable[];
    /**
     * updateBounds method\
     *
     * @returns { boolean }    updateBounds method .\
     * @param {IGroupable} node - provide the options value.
     * @private
     */
    updateBounds(node: IGroupable): boolean;
    private findBottom;
    private findRight;
    private findLeft;
    private findTop;
    /**
     * setCurrentNode method\
     *
     * @returns { void }    setCurrentNode method .\
     * @param {IGroupable} node - provide the options value.
     * @private
     */
    setCurrentNode(node: IGroupable): void;
    /**
     * getPageBounds method\
     *
     * @returns { Rect }    getPageBounds method .\
     * @param {number} originX - provide the options value.
     * @param {number} originY - provide the options value.
     * @private
     */
    getPageBounds(originX?: number, originY?: number): Rect;
    /**
     * getQuad method\
     *
     * @returns { Quad }    getQuad method .\
     * @param {IGroupable} node - provide the options value.
     * @private
     */
    getQuad(node: IGroupable): Quad;
}
/** @private */
export interface IGroupable {
    id: string;
    outerBounds: Rect;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/interaction/tool.d.ts
/**
 * Defines the interactive tools
 */
export  class ToolBase {
    /**
     * Initializes the tool
     *
     * @param {CommandHandler} command Command that is corresponding to the current action
     * @param protectChange
     */
    constructor(command: CommandHandler, protectChange?: boolean);
    /**
     * Command that is corresponding to the current action
     */
    protected commandHandler: CommandHandler;
    protected deepDiffer: DeepDiffMapper;
    /**
     * Sets/Gets whether the interaction is being done
     */
    protected inAction: boolean;
    /**
     * Sets/Gets the protect change
     */
    protected isProtectChange: boolean;
    /**
     * Sets/Gets the current mouse position
     */
    protected currentPosition: PointModel;
    /**
     * Sets/Gets the previous mouse position
     */
    prevPosition: PointModel;
    /**
     * Sets/Gets the initial mouse position
     */
    protected startPosition: PointModel;
    /**
     * Sets/Gets the current element that is under mouse
     */
    protected currentElement: IElement;
    /**   @private  */
    blocked: boolean;
    protected isTooltipVisible: boolean;
    /** @private */
    childTable: {};
    /**
     * Sets/Gets the previous object when mouse down
     */
    protected undoElement: SelectorModel;
    private checkProperty;
    protected undoParentElement: SelectorModel;
    protected mouseDownElement: (NodeModel | ConnectorModel);
    protected startAction(currentElement: IElement): void;
    /**
     * @param args
     * @private
     */
    mouseDown(args: MouseEventArgs): void;
    checkPropertyValue(): void;
    /**
     * @param args
     * @private
     */
    mouseMove(args: MouseEventArgs): boolean;
    /**
     * @param args
     * @private
     */
    mouseUp(args: MouseEventArgs): void;
    protected endAction(): void;
    /**
     * @param args
     * @private
     */
    mouseWheel(args: MouseEventArgs): void;
    /**
     * @param args
     * @private
     */
    mouseLeave(args: MouseEventArgs): void;
    protected updateSize(shape: SelectorModel | NodeModel, startPoint: PointModel, endPoint: PointModel, corner: string, initialBounds: Rect, angle?: number): Rect;
    protected getPivot(corner: string): PointModel;
    getShapeType(): string;
    triggerElementDrawEvent(source: NodeModel | ConnectorModel, state: State, objectType: string, elementType: string, isMouseDownAction: boolean): void;
}
/**
 * Helps to select the objects
 */
export  class SelectTool extends ToolBase {
    private action;
    constructor(commandHandler: CommandHandler, protectChange: boolean, action?: Actions);
    /**
     * @param args
     * @private
     */
    mouseDown(args: MouseEventArgs): void;
    /**
     * @param args
     * @private
     */
    mouseMove(args: MouseEventArgs): boolean;
    /**
     * @param args
     * @private
     */
    mouseUp(args: MouseEventArgs): void;
    /**
     * @param args
     * @private
     */
    mouseLeave(args: MouseEventArgs): void;
}
export  class FixedUserHandleTool extends ToolBase {
    /**
     * @param args
     * @private
     */
    mouseUp(args: MouseEventArgs): void;
}
/**
 * Helps to edit the selected connectors
 */
export  class ConnectTool extends ToolBase {
    protected endPoint: string;
    protected oldConnector: ConnectorModel;
    protected isConnected: boolean;
    /** @private */
    tempArgs: IBlazorConnectionChangeEventArgs;
    /** @private */
    canCancel: boolean;
    /**   @private  */
    selectedSegment: BezierSegment;
    constructor(commandHandler: CommandHandler, endPoint: string);
    /**
     * @param args
     * @private
     */
    mouseDown(args: MouseEventArgs): Promise<void>;
    /**
     * @param args
     * @private
     */
    mouseUp(args: MouseEventArgs): Promise<void>;
    /**
     * @param args
     * @private
     */
    mouseMove(args: MouseEventArgs): boolean;
    /**
     * @param args
     * @private
     */
    mouseLeave(args: MouseEventArgs): void;
    private getTooltipContent;
    private checkConnect;
    /**   @private  */
    endAction(): void;
}
/**
 * Drags the selected objects
 */
export  class MoveTool extends ToolBase {
    /**
     * Sets/Gets the previous mouse position
     */
    prevPosition: PointModel;
    private initialOffset;
    /**   @private  */
    currentTarget: IElement;
    private objectType;
    private portId;
    private source;
    private canCancel;
    private tempArgs;
    constructor(commandHandler: CommandHandler, objType?: ObjectTypes);
    /**
     * @param args
     * @private
     */
    mouseDown(args: MouseEventArgs): void;
    /**
     * @param args
     * @param isPreventHistory
     * @param args
     * @param isPreventHistory
     * @private
     */
    mouseUp(args: MouseEventArgs, isPreventHistory?: boolean): Promise<void>;
    private connectorEndPointChangeEvent;
    private triggerEndPointEvent;
    private isSelectionHasConnector;
    private getBlazorPositionChangeEventArgs;
    /**
     * @param args
     * @private
     */
    mouseMove(args: MouseEventArgs): boolean;
    private getTooltipContent;
    /**
     * @param args
     * @private
     */
    mouseLeave(args: MouseEventArgs): void;
    /**   @private  */
    endAction(): void;
}
/**
 * Rotates the selected objects
 */
export  class RotateTool extends ToolBase {
    /** @private */
    tempArgs: IRotationEventArgs;
    /** @private */
    canCancel: boolean;
    constructor(commandHandler: CommandHandler);
    /**
     * @param args
     * @private
     */
    mouseDown(args: MouseEventArgs): void;
    /**
     * @param args
     * @private
     */
    mouseUp(args: MouseEventArgs): Promise<void>;
    /**
     * @param args
     * @private
     */
    mouseMove(args: MouseEventArgs): boolean;
    private getTooltipContent;
    /**
     * @param args
     * @private
     */
    mouseLeave(args: MouseEventArgs): void;
    /**   @private  */
    endAction(): void;
}
/**
 * Scales the selected objects
 */
export  class ResizeTool extends ToolBase {
    /**
     * Sets/Gets the previous mouse position
     */
    prevPosition: PointModel;
    /** @private */
    corner: string;
    /**   @private  */
    initialOffset: PointModel;
    /**   @private  */
    initialBounds: Rect;
    private canCancel;
    private tempArgs;
    constructor(commandHandler: CommandHandler, corner: string);
    /**
     * @param args
     * @private
     */
    mouseDown(args: MouseEventArgs): void;
    /**
     * @param args
     * @param isPreventHistory
     * @param args
     * @param isPreventHistory
     * @private
     */
    mouseUp(args: MouseEventArgs, isPreventHistory?: boolean): Promise<boolean>;
    /**
     * @param args
     * @private
     */
    mouseMove(args: MouseEventArgs): boolean;
    /**
     * @param args
     * @private
     */
    mouseLeave(args: MouseEventArgs): void;
    private getTooltipContent;
    private getChanges;
    /**
     * Updates the size with delta width and delta height using scaling.
     */
    /**
     * Aspect ratio used to resize the width or height based on resizing the height or width
     *
     * @param deltaWidth
     * @param deltaHeight
     * @param corner
     * @param startPoint
     * @param endPoint
     * @param source
     * @param deltaWidth
     * @param deltaHeight
     * @param corner
     * @param startPoint
     * @param endPoint
     * @param source
     * @param deltaWidth
     * @param deltaHeight
     * @param corner
     * @param startPoint
     * @param endPoint
     * @param source
     * @param deltaWidth
     * @param deltaHeight
     * @param corner
     * @param startPoint
     * @param endPoint
     * @param source
     * @param deltaWidth
     * @param deltaHeight
     * @param corner
     * @param startPoint
     * @param endPoint
     * @param source
     * @param deltaWidth
     * @param deltaHeight
     * @param corner
     * @param startPoint
     * @param endPoint
     * @param source
     */
    private scaleObjects;
}
/**
 * Draws a node that is defined by the user
 */
export  class NodeDrawingTool extends ToolBase {
    /** @private */
    drawingObject: Node | Connector;
    /** @private */
    sourceObject: Node | Connector;
    constructor(commandHandler: CommandHandler, sourceObject: Node | Connector);
    /**
     * @param args
     * @private
     */
    mouseDown(args: MouseEventArgs): void;
    /**
     * @param args
     * @private
     */
    mouseMove(args: MouseEventArgs): boolean;
    /**
     * @param args
     * @private
     */
    mouseUp(args: MouseEventArgs): void;
    /**   @private  */
    endAction(): void;
    /**
     * @param args
     * @private
     */
    mouseLeave(args: MouseEventArgs): void;
}
/**
 * Draws a connector that is defined by the user
 */
export  class ConnectorDrawingTool extends ConnectTool {
    /** @private */
    drawingObject: Node | Connector;
    /** @private */
    sourceObject: Node | Connector;
    constructor(commandHandler: CommandHandler, endPoint: string, sourceObject: Node | Connector);
    /**
     * @param args
     * @private
     */
    mouseDown(args: MouseEventArgs): Promise<void>;
    /**
     * @param args
     * @private
     */
    mouseMove(args: MouseEventArgs): boolean;
    /**
     * @param args
     * @private
     */
    mouseUp(args: MouseEventArgs): Promise<void>;
    /**   @private  */
    endAction(): void;
    /**
     * @param args
     * @private
     */
    mouseLeave(args: MouseEventArgs): void;
}
export  class TextDrawingTool extends ToolBase {
    /**   @private  */
    drawingNode: Node | Connector;
    constructor(commandHandler: CommandHandler);
    /**
     * @param args
     * @private
     */
    mouseDown(args: MouseEventArgs): void;
    /**
     * @param args
     * @private
     */
    mouseMove(args: MouseEventArgs): boolean;
    /**
     * @param args
     * @private
     */
    mouseUp(args: MouseEventArgs): void;
    /**   @private  */
    endAction(): void;
}
/**
 * Pans the diagram control on drag
 */
export  class ZoomPanTool extends ToolBase {
    private zooming;
    constructor(commandHandler: CommandHandler, zoom: boolean);
    /**
     * @param args
     * @private
     */
    mouseDown(args: MouseEventArgs): void;
    /**
     * @param args
     * @private
     */
    mouseMove(args: MouseEventArgs): boolean;
    /**
     * @param args
     * @private
     */
    mouseUp(args: MouseEventArgs): void;
    /**   @private  */
    endAction(): void;
    private getDistance;
    private updateTouch;
}
/**
 * Animate the layout during expand and collapse
 */
export  class ExpandTool extends ToolBase {
    constructor(commandHandler: CommandHandler);
    /**
     * @param args
     * @private
     */
    mouseUp(args: MouseEventArgs): void;
}
/**
 * Opens the annotation hypeLink at mouse up
 */
export  class LabelTool extends ToolBase {
    constructor(commandHandler: CommandHandler);
    /**
     * @param args
     * @private
     */
    mouseUp(args: MouseEventArgs): void;
}
/**
 * Draws a Polygon shape node dynamically using polygon Tool
 */
export  class PolygonDrawingTool extends ToolBase {
    /** @private */
    drawingObject: Node | Connector;
    startPoint: PointModel;
    constructor(commandHandler: CommandHandler);
    /**
     * @param args
     * @private
     */
    mouseDown(args: MouseEventArgs): void;
    /**
     * @param args
     * @private
     */
    mouseMove(args: MouseEventArgs): boolean;
    /**
     * @param args
     * @param dblClickArgs
     * @param args
     * @param dblClickArgs
     * @private
     */
    mouseUp(args: MouseEventArgs, dblClickArgs?: IDoubleClickEventArgs | IClickEventArgs): void;
    /**
     * @param args
     * @private
     */
    mouseWheel(args: MouseEventArgs): void;
    /**   @private  */
    endAction(): void;
}
/**
 * Draws a PolyLine Connector dynamically using PolyLine Drawing Tool
 */
export  class PolyLineDrawingTool extends ToolBase {
    /** @private */
    drawingObject: Node | Connector;
    constructor(commandHandler: CommandHandler);
    /**
     * @param args
     * @private
     */
    mouseMove(args: MouseEventArgs): boolean;
    /**
     * @param args
     * @private
     */
    mouseDown(args: MouseEventArgs): void;
    /**
     * @param args
     * @private
     */
    mouseWheel(args: MouseEventArgs): void;
    /**
     * @param args
     * @private
     */
    mouseUp(args: MouseEventArgs): void;
    /**   @private  */
    endAction(): void;
}
export  class LabelDragTool extends ToolBase {
    private annotationId;
    constructor(commandHandler: CommandHandler);
    /**
     * @param args
     * @private
     */
    mouseDown(args: MouseEventArgs): void;
    /**
     * @param args
     * @private
     */
    mouseMove(args: MouseEventArgs): boolean;
    /**
     * @param args
     * @private
     */
    mouseUp(args: MouseEventArgs): void;
    /**
     * @param args
     * @private
     */
    mouseLeave(args: MouseEventArgs): void;
}
export  class LabelResizeTool extends ToolBase {
    private corner;
    private annotationId;
    private initialBounds;
    constructor(commandHandler: CommandHandler, corner: Actions);
    /**
     * @param args
     * @private
     */
    mouseDown(args: MouseEventArgs): void;
    /**
     * @param args
     * @private
     */
    mouseMove(args: MouseEventArgs): boolean;
    /**
     * @param args
     * @private
     */
    mouseUp(args: MouseEventArgs): void;
    /**
     * @param args
     * @private
     */
    mouseLeave(args: MouseEventArgs): void;
    /**
     * @param args
     * @private
     */
    resizeObject(args: MouseEventArgs): void;
}
export  class LabelRotateTool extends ToolBase {
    private annotationId;
    constructor(commandHandler: CommandHandler);
    /**
     * @param args
     * @private
     */
    mouseDown(args: MouseEventArgs): void;
    /**
     * @param args
     * @private
     */
    mouseMove(args: MouseEventArgs): boolean;
    /**
     * @param args
     * @private
     */
    mouseUp(args: MouseEventArgs): void;
    /**
     * @param args
     * @private
     */
    mouseLeave(args: MouseEventArgs): void;
}
/**
 * EJ2-33302 - Freehand drawing support in diagram control.
 */
export  class FreeHandTool extends ToolBase {
    /** @private */
    drawingObject: Node | Connector;
    startPoint: PointModel;
    constructor(commandHandler: CommandHandler);
    /**
     * mouseMove - Collect the points using current mouse position and convert it into pathData.
     * @param args
     * @private
     */
    mouseMove(args: MouseEventArgs): boolean;
    /**
    * @param args
    * @private
    */
    mouseDown(args: MouseEventArgs): void;
    /**
    * mouseUp - Remove the drawn object. Reduce and smoothen the collected points and create
    * a bezier connector using the smoothened points.
    * @param args
    * @private
    */
    mouseUp(args: MouseEventArgs): void;
    /**
     * Reduce the collected points based on tolerance value.
     * @param points
     * @param tolerance
     * @returns points
     */
    pointReduction(points: PointModel[], tolerance: number): PointModel[];
    reduction(points: PointModel[], firstPoint: number, lastPoint: number, tolerance: number, pointIndex: number[]): void;
    /**
     * Calculate the perpendicular distance of each point with first and last points
     * @param point1
     * @param point2
     * @param point3
     * @returns
     */
    perpendicularDistance(point1: Point, point2: Point, point3: Point): number;
    /**
     * Smoothen the bezier curve based on the points and smoothValue.
     * @param points
     * @param smoothValue
     * @param drawingObject
     * @param obj
     * @returns drawingObject
     */
    private bezierCurveSmoothness;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/layout/complex-hierarchical-tree.d.ts
/**
 * Connects diagram objects with layout algorithm
 */
export  class ComplexHierarchicalTree {
    /**
     * Constructor for the hierarchical tree layout module
     *
     * @private
     */
    constructor();
    /**
     * To destroy the hierarchical tree module
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
    /**
     * Core method to return the component name.
     *
     * @returns {string}  Core method to return the component name.
     * @private
     */
    protected getModuleName(): string;
    /**
     * doLayout method\
     *
     * @returns {  void }    doLayout method .\
     * @param {INode[]} nodes - provide the nodes value.
     * @param {{}} nameTable - provide the nameTable value.
     * @param {Layout} layout - provide the layout value.
     * @param {PointModel} viewPort - provide the viewPort value.
     * @param {LineDistribution} lineDistribution - provide the lineDistribution value.
     * @private
     */
    doLayout(nodes: INode[], nameTable: {}, layout: Layout, viewPort: PointModel, lineDistribution: LineDistribution): void;
    getLayoutNodesCollection(nodes: INode[]): INode[];
}
/**
 * Utility that arranges the nodes in hierarchical structure
 */
 class HierarchicalLayoutUtil {
    private nameTable;
    /**
     * Holds the collection vertices, that are equivalent to nodes to be arranged
     */
    private vertices;
    private crossReduction;
    /**
     * The preferred vertical offset between edges exiting a vertex Default is 2.
     */
    private previousEdgeOffset;
    /**
     * The preferred horizontal distance between edges exiting a vertex Default is 5.
     */
    private previousEdgeDistance;
    /**
     * Holds the collection vertices, that are equivalent to nodes to be arranged
     */
    private jettyPositions;
    /**
     * Internal cache of bottom-most value of Y for each rank
     */
    private rankBottomY;
    /**
     * Internal cache of bottom-most value of X for each rank
     */
    private limitX;
    /**
     * Internal cache of top-most values of Y for each rank
     */
    private rankTopY;
    /**
     * The minimum parallelEdgeSpacing value is 12.
     */
    private parallelEdgeSpacing;
    /**
     * The minimum distance for an edge jetty from a vertex Default is 12.
     */
    private minEdgeJetty;
    private createVertex;
    /**
     * Initializes the edges collection of the vertices\
     *
     * @returns {  IConnector[] }    Initializes the edges collection of the vertices\
     * @param {Vertex} node - provide the node value.
     * @private
     */
    getEdges(node: Vertex): IConnector[];
    private findRoots;
    /**
     * Returns the source/target vertex of the given connector \
     *
     * @returns {  Vertex }    Returns the source/target vertex of the given connector \
     * @param {IConnector} edge - provide the node value.
     * @param {boolean} source - provide the node value.
     * @private
     */
    getVisibleTerminal(edge: IConnector, source: boolean): Vertex;
    /**
     * Traverses each sub tree, ensures there is no cycle in traversing \
     *
     * @returns {  {} }    Traverses each sub tree, ensures there is no cycle in traversing .\
     * @param {Vertex} vertex - provide the vertex value.
     * @param {boolean} directed - provide the directed value.
     * @param {IConnector} edge - provide the edge value.
     * @param {{}} currentComp - provide the currentComp value.
     * @param {{}[]} hierarchyVertices - provide the hierarchyVertices value.
     * @param {{}} filledVertices - provide the filledVertices value.
     * @private
     */
    traverse(vertex: Vertex, directed: boolean, edge: IConnector, currentComp: {}, hierarchyVertices: {}[], filledVertices: {}): {};
    private getModelBounds;
    /**
     *  Initializes the layouting process \
     *
     * @returns {  Vertex }     Initializes the layouting process \
     * @param {INode[]} nodes - provide the node value.
     * @param {{}} nameTable - provide the nameTable value.
     * @param {Layout} layoutProp - provide the layoutProp value.
     * @param {PointModel} viewPort - provide the viewPort value.
     * @param {LineDistribution} lineDistribution - provide the lineDistribution value.
     * @private
     */
    doLayout(nodes: INode[], nameTable: {}, layoutProp: Layout, viewPort: PointModel, lineDistribution: LineDistribution): void;
    private setEdgeXY;
    private resetOffsetXValue;
    private setEdgePosition;
    private getPointvalue;
    private updateEdgeSetXYValue;
    private getPreviousLayerConnectedCells;
    private compare;
    private localEdgeProcessing;
    private updateMultiOutEdgesPoints;
    private getNextLayerConnectedCells;
    private getX;
    private getGeometry;
    private setEdgePoints;
    private assignRankOffset;
    private rankCoordinatesAssigment;
    private getType;
    private updateRankValuess;
    private setVertexLocationValue;
    private matrixModel;
    private calculateRectValue;
    private isNodeOverLap;
    private isIntersect;
    private updateMargin;
    private placementStage;
    private coordinateAssignment;
    private calculateWidestRank;
    /**
     * Sets the temp position of the node on the layer \
     *
     * @returns {  void }  Sets the temp position of the node on the layer \
     * @param {IVertex} node - provide the nodes value.
     * @param {number} layer - provide the layer value.
     * @param {number} value - provide the value value.
     * @private
     */
    setTempVariable(node: IVertex, layer: number, value: number): void;
    /**
     * setXY method \
     *
     * @returns { void }     setXY method .\
     * @param {IVertex} node - provide the source value.
     * @param {number} layer - provide the target value.
     * @param {number} value - provide the layoutOrientation value.
     * @param {boolean} isY - provide the layoutOrientation value.
     * @param {IVertex[][]} ranks - provide the layoutOrientation value.
     * @param {number} spacing - provide the layoutOrientation value.
     *
     * @private
     */
    setXY(node: IVertex, layer: number, value: number, isY: boolean, ranks?: IVertex[][], spacing?: number): void;
    private rankCoordinates;
    private initialCoords;
    /**
     *  Checks whether the given node is an ancestor \
     *
     * @returns {  boolean }  Checks whether the given node is an ancestor \
     * @param {IVertex} node - provide the nodes value.
     * @param {IVertex} otherNode - provide the layer value.
     * @private
     */
    isAncestor(node: IVertex, otherNode: IVertex): boolean;
    private weightedCellSorter;
    private minNode;
    private updateNodeList;
    private medianXValue;
    private placementStageExecute;
    private setCellLocations;
    private garphModelsetVertexLocation;
    private setVertexLocation;
    /**
     *  get the specific value from the key value pair \
     *
     * @returns {  {}[] }  get the specific value from the key value pair \
     * @param {VertexMapper} mapper - provide the mapper value.
     * @private
     */
    private getValues;
    /**
     *Checks and reduces the crosses in between line segments \
     *
     * @returns { void }    Checks and reduces the crosses in between line segments.\
     * @param {End} model - provide the model value.
     *
     * @private
     */
    private crossingStage;
    private layeringStage;
    private initialRank;
    private fixRanks;
    private cycleStage;
    /**
     * removes the edge from the given collection \
     *
     * @returns {  IEdge }    removes the edge from the given collection .\
     * @param {IEdge} obj - provide the angle value.
     * @param { IEdge[]} array - provide the angle value.
     * @private
     */
    remove(obj: IEdge, array: IEdge[]): IEdge;
    /**
     * Inverts the source and target of an edge \
     *
     * @returns {  void }    Inverts the source and target of an edge .\
     * @param {IEdge} connectingEdge - provide the angle value.
     * @param { number} layer - provide the angle value.
     * @private
     */
    invert(connectingEdge: IEdge, layer: number): void;
    /**
     * used to get the edges between the given source and target  \
     *
     * @returns {  IConnector[] }    used to get the edges between the given source and target  .\
     * @param {Vertex} source - provide the angle value.
     * @param { Vertex} target - provide the angle value.
     * @param { boolean} directed - provide the angle value.
     * @private
     */
    getEdgesBetween(source: Vertex, target: Vertex, directed: boolean): IConnector[];
}
/**
 * Handles position the objects in a hierarchical tree structure
 */
 class MultiParentModel {
    /** @private */
    roots: Vertex[];
    /** @private */
    vertexMapper: VertexMapper;
    /** @private */
    edgeMapper: VertexMapper;
    /** @private */
    layout: LayoutProp;
    /** @private */
    maxRank: number;
    private hierarchicalLayout;
    private multiObjectIdentityCounter;
    /** @private */
    ranks: IVertex[][];
    private dfsCount;
    /** @private */
    startNodes: IVertex[];
    private hierarchicalUtil;
    constructor(layout: HierarchicalLayoutUtil, vertices: Vertex[], roots: Vertex[], dlayout: LayoutProp);
    private resetEdge;
    private createInternalCells;
    /**
     * used to set the optimum value of each vertex on the layout \
     *
     * @returns {  void }   used to set the optimum value of each vertex on the layout .\
     * @private
     */
    fixRanks(): void;
    private updateMinMaxRank;
    private setDictionary;
    /**
     * used to store the value of th given key on the objectt \
     *
     * @returns {  IVertex }   used to store the value of th given key on the object .\
     * @param {VertexMapper} dic - provide the angle value.
     * @param {IVertex} key - provide the angle value.
     * @param {WeightedCellSorter} value - provide the angle value.
     * @param {boolean} flag - provide the angle value.
     * @private
     */
    setDictionaryForSorter(dic: VertexMapper, key: IVertex, value: WeightedCellSorter, flag: boolean): IVertex;
    /**
     * used to get the value of the given key \
     *
     * @returns {  IVertex }  used to get the value of the given key .\
     * @param {VertexMapper} dic - provide the angle value.
     * @param {IVertex} key - provide the angle value.
     * @private
     */
    getDictionary(dic: VertexMapper, key: Vertex): IVertex;
    /**
     * used to get the value of the given key \
     *
     * @returns {  IVertex }  used to get the value of the given key .\
     * @param {VertexMapper} dic - provide the angle value.
     * @param {IVertex} key - provide the angle value.
     * @private
     */
    getDictionaryForSorter(dic: VertexMapper, key: IVertex): WeightedCellSorter;
    /**
     * used to get all the values of the dictionary object \
     *
     * @returns {  IVertex[] }  used to get all the values of the dictionary object .\
     * @param {VertexMapper} dic - provide the angle value.
     * @private
     */
    getDictionaryValues(dic: VertexMapper): IVertex[];
    /**
     * used to visit all the entries on the given dictionary with given function \
     *
     * @returns { void }  used to visit all the entries on the given dictionary with given function .\
     * @param {string} visitor - provide the visitor value.
     * @param {IVertex[]} dfsRoots - provide the dfsRoots value.
     * @param {boolean} trackAncestors - provide the trackAncestors value.
     * @param {{}} seenNodes - provide the seenNodes value.
     * @param {TraverseData} data - provide the data value.
     * @private
     */
    visit(visitor: string, dfsRoots: IVertex[], trackAncestors: boolean, seenNodes: {}, data: TraverseData): void;
    private depthFirstSearch;
    private updateConnectionRank;
    private removeConnectionEdge;
    private extendedDfs;
    /**
     * used to clone the specified object ignoring all fieldnames in the given array of transient fields \
     *
     * @returns { void }    used to clone the specified object ignoring all fieldnames in the given array of transient fields .\
     * @param {Object} obj - provide the source value.
     * @param {string[]} transients - provide the target value.
     * @param {boolean} shallow - provide the shallow value.
     *
     * @private
     */
    clone(obj: Object, transients: string[], shallow: boolean): Object;
}
/**
 * Each vertex means a node object in diagram
 */
export interface Vertex {
    value: string;
    geometry: Rect;
    name: string;
    vertex: boolean;
    inEdges: string[];
    outEdges: string[];
    layoutObjectId?: string;
}
/** @private */
export interface MatrixModelObject {
    model: MultiParentModel;
    matrix: MatrixObject[];
    rowOffset: number[];
}
/** @private */
export interface MatrixObject {
    key: number;
    value: MatrixCellGroupObject[];
}
/**
 * Defines the edge that is used to maintain the relationship between internal vertices
 *
 * @private
 */
export interface IEdge {
    x?: number[];
    y?: number[];
    temp?: number[];
    edges?: IConnector[];
    ids?: string[];
    source?: IVertex;
    target?: IVertex;
    maxRank?: number;
    minRank?: number;
    isReversed?: boolean;
    previousLayerConnectedCells?: IVertex[][];
    nextLayerConnectedCells?: IVertex[][];
    width?: number;
    height?: number;
}
/**
 * Defines the internal vertices that are used in positioning the objects
 *
 * @private
 */
export interface IVertex {
    x?: number[];
    y?: number[];
    temp?: number[];
    cell?: Vertex;
    edges?: IConnector[];
    id?: string;
    connectsAsTarget?: IEdge[];
    connectsAsSource?: IEdge[];
    hashCode?: number[];
    maxRank?: number;
    minRank?: number;
    width?: number;
    height?: number;
    source?: IVertex;
    target?: IVertex;
    layoutObjectId?: string;
    ids?: string[];
    type?: string;
    identicalSibiling?: string[];
}
interface VertexMapper {
    map: {};
}
/**
 * Defines weighted cell sorter
 */
interface WeightedCellSorter {
    cell?: IVertex;
    weightedValue?: number;
    visited?: boolean;
    rankIndex?: number;
}
/**
 * Defines an object that is used to maintain data in traversing
 */
interface TraverseData {
    seenNodes: {};
    unseenNodes: {};
    rankList?: IVertex[][];
    parent?: IVertex;
    root?: IVertex;
    edge?: IEdge;
}
/**
 * Defines the properties of layout
 *
 * @private
 */
export interface LayoutProp {
    orientation?: string;
    horizontalSpacing?: number;
    verticalSpacing?: number;
    marginX: number;
    marginY: number;
    enableLayoutRouting: boolean;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/layout/hierarchical-tree.d.ts
/**
 * Hierarchical Tree and Organizational Chart
 */
export  class HierarchicalTree {
    /**
     * Constructor for the organizational chart module.
     *
     * @private
     */
    constructor();
    /**
     * To destroy the organizational chart
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
    /**
     * Defines the layout animation
     *
     */
    isAnimation: boolean;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * @param nodes
     * @param nameTable
     * @param layoutProp
     * @param viewport
     * @param uniqueId
     * @param action
     * @private
     */
    updateLayout(nodes: INode[], nameTable: Object, layoutProp: Layout, viewport: PointModel, uniqueId: string, action?: DiagramAction): ILayout;
    private doLayout;
    private getBounds;
    private updateTree;
    private updateLeafNode;
    private setUpLayoutInfo;
    private translateSubTree;
    private updateRearBounds;
    private shiftSubordinates;
    private setDepthSpaceForAssitants;
    private setBreadthSpaceForAssistants;
    private getDimensions;
    private hasChild;
    private updateHorizontalTree;
    private updateHorizontalTreeWithMultipleRows;
    private updateLeftTree;
    private alignRowsToCenter;
    private updateRearBoundsOfTree;
    private splitRows;
    private updateVerticalTree;
    private splitChildrenInRows;
    private extend;
    private findOffset;
    private uniteRects;
    private spaceLeftFromPrevSubTree;
    private findIntersectingLevels;
    private findLevel;
    private getParentNode;
    private updateEdges;
    private updateAnchor;
    private updateConnectors;
    private updateSegments;
    private updateSegmentsForBalancedTree;
    private get3Points;
    private get5Points;
    private getSegmentsFromPoints;
    private getSegmentsForMultipleRows;
    private updateSegmentsForHorizontalOrientation;
    private updateNodes;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/layout/layout-base-model.d.ts
/**
 * Interface for a class Layout
 */
export interface LayoutModel {
    /**
     * Sets the name of the node with respect to which all other nodes will be translated
     *
     * @default ''
     */
    fixedNode?: string;
    /**
     * Sets the space that has to be horizontally left between the nodes
     *
     * @default 30
     */
    horizontalSpacing?: number;
    /**
     * connect the node's without overlapping in automatic layout
     *
     * @default 'SamePoint'
     */
    connectionPointOrigin?: ConnectionPointOrigin;
    /**
     * connect the node's without overlapping in automatic layout
     *
     * @default 'Nonlinear'
     */
    arrangement?: ChildArrangement;
    /**
     * Sets the space that has to be Vertically left between the nodes
     *
     * @default 30
     */
    verticalSpacing?: number;
    /**
     * Sets the Maximum no of iteration of the symmetrical layout
     *
     * @default 30
     */
    maxIteration?: number;
    /**
     * Defines the Edge attraction and vertex repulsion forces, i.e., the more sibling nodes repel each other
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let diagram$: Diagram = new Diagram({
     * ...
     * layout: { type: 'SymmetricalLayout', springLength: 80, springFactor: 0.8,
     * maxIteration: 500, margin: { left: 20, top: 20 } },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default 40
     */
    springFactor?: number;
    /**
     * Sets how long edges should be, ideally of the symmetrical layout
     *
     * @default 50
     */
    springLength?: number;
    /**
     * * Defines the space between the viewport and the layout
     *
     * @default { left: 50, top: 50, right: 0, bottom: 0 }
     * @blazorType LayoutMargin
     */
    margin?: MarginModel;
    /**
     * Defines how the layout has to be horizontally aligned
     * * Stretch - Stretches the diagram element throughout its immediate parent
     * * Left - Aligns the diagram element at the left of its immediate parent
     * * Right - Aligns the diagram element at the right of its immediate parent
     * * Center - Aligns the diagram element at the center of its immediate parent
     * * Auto - Aligns the diagram element based on the characteristics of its immediate parent
     *
     * @default 'Auto'
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Defines how the layout has to be vertically aligned
     * * Stretch - Stretches the diagram element throughout its immediate parent
     * * Top - Aligns the diagram element at the top of its immediate parent
     * * Bottom - Aligns the diagram element at the bottom of its immediate parent
     * * Center - Aligns the diagram element at the center of its immediate parent
     * * Auto - Aligns the diagram element based on the characteristics of its immediate parent
     *
     * @default 'Auto'
     */
    verticalAlignment?: VerticalAlignment;
    /**
     * Defines the orientation of layout
     * * TopToBottom - Renders the layout from top to bottom
     * * BottomToTop - Renders the layout from bottom to top
     * * LeftToRight - Renders the layout from left to right
     * * RightToLeft - Renders the layout from right to left
     *
     * @default 'TopToBottom'
     */
    orientation?: LayoutOrientation;
    /**
     * Sets how to define the connection direction (first segment direction & last segment direction).
     * * Auto - Defines the first segment direction based on the type of the layout
     * * Orientation - Defines the first segment direction based on the orientation of the layout
     * * Custom - Defines the first segment direction dynamically by the user
     *
     * @default 'Auto'
     */
    connectionDirection?: ConnectionDirection;
    /**
     * Sets whether the segments have to be customized based on the layout or not
     *  * Default - Routes the connectors like a default diagram
     *  * Layout - Routes the connectors based on the type of the layout
     *
     * @default 'Default'
     */
    connectorSegments?: ConnectorSegments;
    /**
     * Defines the type of the layout
     * * None - None of the layouts is applied
     * * HierarchicalTree - Defines the type of the layout as Hierarchical Tree
     * * OrganizationalChart - Defines the type of the layout as Organizational Chart
     * * ComplexHierarchicalTree - Defines the type of the layout as complex HierarchicalTree
     * * RadialTree - Defines the type of the layout as Radial tree
     *
     * @default 'None'
     */
    type?: LayoutType;
    /**
     * getLayoutInfo is used to configure every subtree of the organizational chart
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     *           id: 'node1', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *           annotations: [{ content: 'Default Shape' }]
     *       },
     *       {
     *           id: 'node2', width: 100, height: 100, offsetX: 300, offsetY: 100,
     *           shape: {
     *               type: 'Basic', shape: 'Ellipse'
     *           },
     *           annotations: [{ content: 'Path Element' }]
     *       }
     *       ];
     *       let connectors$: ConnectorModel[] = [{
     *           id: 'connector1',
     *           type: 'Straight',
     *           sourcePoint: { x: 100, y: 300 },
     *           targetPoint: { x: 200, y: 400 },
     *       }];
     * let diagram$: Diagram = new Diagram({
     * ...
     *       connectors: connectors, nodes: nodes,
     * 	   layout: {
     * enableAnimation: true,
     * type: 'OrganizationalChart', margin: { top: 20 },
     * getLayoutInfo: (node: Node, tree: TreeInfo) => {
     *       if (!tree.hasSubTree) {
     *           tree.orientation = 'Vertical';
     *           tree.type = 'Alternate';
     *       }
     *   }
     * },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @aspDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    getLayoutInfo?: Function | string;
    /**
     * getLayoutInfo is used to configure every subtree of the organizational chart
     */
    layoutInfo?: TreeInfo;
    /**
     * Defines whether an object should be at the left/right of the mind map. Applicable only for the direct children of the root node
     *
     * @aspDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    getBranch?: Function | string;
    /**
     * Aligns the layout within the given bounds
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    bounds?: Rect;
    /**
     * Enables/Disables animation option when a node is expanded/collapsed
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     *           id: 'node1', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *           annotations: [{ content: 'Default Shape' }]
     *       },
     *       {
     *           id: 'node2', width: 100, height: 100, offsetX: 300, offsetY: 100,
     *           shape: {
     *               type: 'Basic', shape: 'Ellipse'
     *           },
     *           annotations: [{ content: 'Path Element' }]
     *       }
     *       ];
     *       let connectors$: ConnectorModel[] = [{
     *           id: 'connector1',
     *           type: 'Straight',
     *           sourcePoint: { x: 100, y: 300 },
     *           targetPoint: { x: 200, y: 400 },
     *       }];
     * let diagram$: Diagram = new Diagram({
     *     connectors: connectors, nodes: nodes,
     * ...
     * 	   layout: {
     * enableAnimation: true, orientation: 'TopToBottom',
     * type: 'OrganizationalChart', margin: { top: 20 },
     * horizontalSpacing: 30, verticalSpacing: 30,
     * },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default true
     */
    enableAnimation?: boolean;
    /**
     * Enable / Disable connector routing for the layout
     *
     * @default false
     */
    enableRouting?: boolean;
    /**
     * Defines the root of the hierarchical tree layout
     *
     * @default ''
     */
    root?: string;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/layout/layout-base.d.ts
/**
 * Defines the behavior of the automatic layouts
 */
export  class Layout extends base.ChildProperty<Layout> {
    /**
     * Sets the name of the node with respect to which all other nodes will be translated
     *
     * @default ''
     */
    fixedNode: string;
    /**
     * Sets the space that has to be horizontally left between the nodes
     *
     * @default 30
     */
    horizontalSpacing: number;
    /**
     * connect the node's without overlapping in automatic layout
     *
     * @default 'SamePoint'
     */
    connectionPointOrigin: ConnectionPointOrigin;
    /**
     * connect the node's without overlapping in automatic layout
     *
     * @default 'Nonlinear'
     */
    arrangement: ChildArrangement;
    /**
     * Sets the space that has to be Vertically left between the nodes
     *
     * @default 30
     */
    verticalSpacing: number;
    /**
     * Sets the Maximum no of iteration of the symmetrical layout
     *
     * @default 30
     */
    maxIteration: number;
    /**
     * Defines the Edge attraction and vertex repulsion forces, i.e., the more sibling nodes repel each other
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let diagram$: Diagram = new Diagram({
     * ...
     * layout: { type: 'SymmetricalLayout', springLength: 80, springFactor: 0.8,
     * maxIteration: 500, margin: { left: 20, top: 20 } },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default 40
     */
    springFactor: number;
    /**
     * Sets how long edges should be, ideally of the symmetrical layout
     *
     * @default 50
     */
    springLength: number;
    /**
     * * Defines the space between the viewport and the layout
     *
     * @default { left: 50, top: 50, right: 0, bottom: 0 }
     * @blazorType LayoutMargin
     */
    margin: MarginModel;
    /**
     * Defines how the layout has to be horizontally aligned
     * * Stretch - Stretches the diagram element throughout its immediate parent
     * * Left - Aligns the diagram element at the left of its immediate parent
     * * Right - Aligns the diagram element at the right of its immediate parent
     * * Center - Aligns the diagram element at the center of its immediate parent
     * * Auto - Aligns the diagram element based on the characteristics of its immediate parent
     *
     * @default 'Auto'
     */
    horizontalAlignment: HorizontalAlignment;
    /**
     * Defines how the layout has to be vertically aligned
     * * Stretch - Stretches the diagram element throughout its immediate parent
     * * Top - Aligns the diagram element at the top of its immediate parent
     * * Bottom - Aligns the diagram element at the bottom of its immediate parent
     * * Center - Aligns the diagram element at the center of its immediate parent
     * * Auto - Aligns the diagram element based on the characteristics of its immediate parent
     *
     * @default 'Auto'
     */
    verticalAlignment: VerticalAlignment;
    /**
     * Defines the orientation of layout
     * * TopToBottom - Renders the layout from top to bottom
     * * BottomToTop - Renders the layout from bottom to top
     * * LeftToRight - Renders the layout from left to right
     * * RightToLeft - Renders the layout from right to left
     *
     * @default 'TopToBottom'
     */
    orientation: LayoutOrientation;
    /**
     * Sets how to define the connection direction (first segment direction & last segment direction).
     * * Auto - Defines the first segment direction based on the type of the layout
     * * Orientation - Defines the first segment direction based on the orientation of the layout
     * * Custom - Defines the first segment direction dynamically by the user
     *
     * @default 'Auto'
     */
    connectionDirection: ConnectionDirection;
    /**
     * Sets whether the segments have to be customized based on the layout or not
     *  * Default - Routes the connectors like a default diagram
     *  * Layout - Routes the connectors based on the type of the layout
     *
     * @default 'Default'
     */
    connectorSegments: ConnectorSegments;
    /**
     * Defines the type of the layout
     * * None - None of the layouts is applied
     * * HierarchicalTree - Defines the type of the layout as Hierarchical Tree
     * * OrganizationalChart - Defines the type of the layout as Organizational Chart
     * * ComplexHierarchicalTree - Defines the type of the layout as complex HierarchicalTree
     * * RadialTree - Defines the type of the layout as Radial tree
     *
     * @default 'None'
     */
    type: LayoutType;
    /**
     * getLayoutInfo is used to configure every subtree of the organizational chart
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     *           id: 'node1', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *           annotations: [{ content: 'Default Shape' }]
     *       },
     *       {
     *           id: 'node2', width: 100, height: 100, offsetX: 300, offsetY: 100,
     *           shape: {
     *               type: 'Basic', shape: 'Ellipse'
     *           },
     *           annotations: [{ content: 'Path Element' }]
     *       }
     *       ];
     *       let connectors$: ConnectorModel[] = [{
     *           id: 'connector1',
     *           type: 'Straight',
     *           sourcePoint: { x: 100, y: 300 },
     *           targetPoint: { x: 200, y: 400 },
     *       }];
     * let diagram$: Diagram = new Diagram({
     * ...
     *       connectors: connectors, nodes: nodes,
     * 	   layout: {
     * enableAnimation: true,
     * type: 'OrganizationalChart', margin: { top: 20 },
     * getLayoutInfo: (node: Node, tree: TreeInfo) => {
     *       if (!tree.hasSubTree) {
     *           tree.orientation = 'Vertical';
     *           tree.type = 'Alternate';
     *       }
     *   }
     * },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @aspDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    getLayoutInfo: Function | string;
    /**
     * getLayoutInfo is used to configure every subtree of the organizational chart
     */
    layoutInfo: TreeInfo;
    /**
     * Defines whether an object should be at the left/right of the mind map. Applicable only for the direct children of the root node
     *
     * @aspDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    getBranch: Function | string;
    /**
     * Aligns the layout within the given bounds
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    bounds: Rect;
    /**
     * Enables/Disables animation option when a node is expanded/collapsed
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     *           id: 'node1', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *           annotations: [{ content: 'Default Shape' }]
     *       },
     *       {
     *           id: 'node2', width: 100, height: 100, offsetX: 300, offsetY: 100,
     *           shape: {
     *               type: 'Basic', shape: 'Ellipse'
     *           },
     *           annotations: [{ content: 'Path Element' }]
     *       }
     *       ];
     *       let connectors$: ConnectorModel[] = [{
     *           id: 'connector1',
     *           type: 'Straight',
     *           sourcePoint: { x: 100, y: 300 },
     *           targetPoint: { x: 200, y: 400 },
     *       }];
     * let diagram$: Diagram = new Diagram({
     *     connectors: connectors, nodes: nodes,
     * ...
     * 	   layout: {
     * enableAnimation: true, orientation: 'TopToBottom',
     * type: 'OrganizationalChart', margin: { top: 20 },
     * horizontalSpacing: 30, verticalSpacing: 30,
     * },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default true
     */
    enableAnimation: boolean;
    /**
     * Enable / Disable connector routing for the layout
     *
     * @default false
     */
    enableRouting: boolean;
    /**
     * Defines the root of the hierarchical tree layout
     *
     * @default ''
     */
    root: string;
}
/**
 * Interface for the class node
 */
export interface INode {
    /** returns ID of node */
    id: string;
    /** returns offsetX of node */
    offsetX: number;
    /** returns offsetY of node */
    offsetY: number;
    /** returns actual size of node */
    actualSize: {
        width: number;
        height: number;
    };
    /** returns InEdges of node */
    inEdges: string[];
    /** returns outEdges of node */
    outEdges: string[];
    /** returns pivot points of node */
    pivot: PointModel;
    /** returns false if the node to be arranged in layout, else it returns true */
    excludeFromLayout: boolean;
    /** returns true if the node to be expanded, else it returns false */
    isExpanded: boolean;
    /** returns data of the node */
    data: Object;
    /** returns bounds of the node */
    treeBounds?: Bounds;
    /** returns the difference between old position and new position of node */
    differenceX?: number;
    /** returns the difference between old position and new position of node */
    differenceY?: number;
    /** returns true if the node is already visited in layout, else it returns false */
    visited?: boolean;
}
/**
 * Defines the properties of the connector
 */
export interface IConnector {
    id: string;
    sourceID: string;
    targetID: string;
    visited?: boolean;
    visible?: boolean;
    points?: PointModel[];
    type?: Segments;
    segments?: OrthogonalSegmentModel[] | StraightSegmentModel[] | BezierSegmentModel[];
}
/**
 * Defines the properties of the layout bounds
 */
export interface Bounds {
    /** returns the left position, where the layout is rendered  */
    x: number;
    /** returns the top position, where layout is rendered  */
    y: number;
    /** returns the right position, where layout is rendered  */
    right: number;
    /** returns the bottom position, where layout is rendered  */
    bottom: number;
    /** returns how much distance layout is moved  */
    canMoveBy?: number;
}
/**
 * Defines the assistant details for the layout
 */
export interface AssistantsDetails {
    /** returns the root value */
    root: string;
    /** returns the assistant in the string collection  */
    assistants: string[];
}
/**
 * Defines the tree information for the layout
 */
export interface TreeInfo {
    orientation?: SubTreeOrientation;
    type?: SubTreeAlignments;
    offset?: number;
    enableRouting?: boolean;
    children?: string[];
    assistants?: string[];
    level?: number;
    hasSubTree?: boolean;
    rows?: number;
    getAssistantDetails?: AssistantsDetails;
    canEnableSubTree?: boolean;
    isRootInverse?: boolean;
}
/**
 * Contains the properties of the diagram layout
 */
export interface ILayout {
    anchorX?: number;
    anchorY?: number;
    maxLevel?: number;
    nameTable?: Object;
    /**
     * Provides firstLevelNodes node of the diagram layout
     *
     * @default undefined
     */
    firstLevelNodes?: INode[];
    /**
     * Provides centerNode node of the diagram layout
     *
     * @default undefined
     */
    centerNode?: null;
    /**
     * Provides type of the diagram layout
     *
     * @default undefined
     */
    type?: string;
    /**
     * Provides orientation of the diagram layout
     *
     * @default undefined
     */
    orientation?: string;
    graphNodes?: {};
    rootNode?: INode;
    updateView?: boolean;
    /**
     * Provides vertical spacing of the diagram layout
     * @default undefined
     */
    verticalSpacing?: number;
    /**
     * Provides horizontal spacing of the diagram layout
     *
     * @default undefined
     */
    horizontalSpacing?: number;
    levels?: LevelBounds[];
    /**
     * Provides horizontal alignment of the diagram layout
     *
     * @default undefined
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Provides horizontal alignment of the diagram layout
     *
     * @default undefined
     */
    verticalAlignment?: VerticalAlignment;
    /**
     * Provides fixed of the diagram layout
     *
     * @default undefined
     */
    fixedNode?: string;
    /**
     * Provides the layout bounds
     *
     * @default undefined
     */
    bounds?: Rect;
    getLayoutInfo?: Function;
    layoutInfo?: TreeInfo;
    getBranch?: Function;
    getConnectorSegments?: Function;
    level?: number;
    /**
     * Defines the layout margin values
     * @default undefined
     */
    margin?: MarginModel;
    /**
     * Defines objects on the layout
     *
     * @default undefined
     */
    objects?: INode[];
    /**
     * Defines the root of the hierarchical tree layout
     *
     * @default undefined
     */
    root?: string;
}
export interface LevelBounds {
    rBounds: Bounds;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/layout/mind-map.d.ts
/**
 * Layout for mind-map tree
 */
export  class MindMap {
    /**
     * Constructor for the organizational chart module.
     *
     * @private
     */
    constructor();
    /**
     * To destroy the organizational chart
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
    /**
     * Defines the layout animation
     *
     */
    isAnimation: boolean;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * @param nodes
     * @param nameTable
     * @param layoutProp
     * @param viewPort
     * @param uniqueId
     * @param root
     * @private
     */
    updateLayout(nodes: INode[], nameTable: Object, layoutProp: Layout, viewPort: PointModel, uniqueId: string, root?: string): void;
    private checkRoot;
    private updateMindMapBranch;
    private getBranch;
    private excludeFromLayout;
    private findFirstLevelNodes;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/layout/radial-tree.d.ts
/**
 * Radial Tree
 */
export  class RadialTree {
    /**
     * Constructor for the organizational chart module.
     *
     * @private
     */
    constructor();
    /**
     * To destroy the organizational chart
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * @param nodes
     * @param nameTable
     * @param layoutProp
     * @param viewport
     * @private
     */
    updateLayout(nodes: INode[], nameTable: Object, layoutProp: Layout, viewport: PointModel): void;
    private doLayout;
    private updateEdges;
    private depthFirstAllignment;
    private populateLevels;
    private transformToCircleLayout;
    private updateAnchor;
    private updateNodes;
    private setUpLayoutInfo;
}
/**
 * Defines the properties of layout
 *
 * @private
 */
export interface IRadialLayout {
    anchorX?: number;
    anchorY?: number;
    maxLevel?: number;
    nameTable?: Object;
    firstLevelNodes?: INode[];
    layoutNodes?: INodeInfo[];
    centerNode?: INode;
    type?: string;
    orientation?: string;
    graphNodes?: {};
    verticalSpacing?: number;
    horizontalSpacing?: number;
    levels?: LevelBoundary[];
    horizontalAlignment?: HorizontalAlignment;
    verticalAlignment?: VerticalAlignment;
    fixedNode?: string;
    bounds?: Rect;
    level?: number;
    margin?: MarginModel;
    objects?: INode[];
    root?: string;
}
/**
 * Defines the node arrangement in radial manner
 *
 * @private
 */
export interface INodeInfo {
    level?: number;
    visited?: boolean;
    children?: INode[];
    x?: number;
    y?: number;
    min?: number;
    max?: number;
    width?: number;
    height?: number;
    segmentOffset?: number;
    actualCircumference?: number;
    radius?: number;
    circumference?: number;
    nodes?: INode[];
    ratio?: number;
}
/** @private */
export interface LevelBoundary {
    rBounds: Bounds;
    radius: number;
    height: number;
    nodes: INode[];
    node: INodeInfo;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/layout/symmetrical-layout.d.ts
export  class GraphForceNode {
    /**
     * @private
     */
    velocityX: number;
    /**
     * @private
     */
    velocityY: number;
    /**
     * @private
     */
    location: PointModel;
    /**
     * @private
     */
    nodes: IGraphObject[];
    /**
     * @private
     */
    graphNode: IGraphObject;
    constructor(gnNode: IGraphObject);
    /**
     * applyChanges method\
     *
     * @returns {  void }    applyChanges method .\
     * @private
     */
    applyChanges(): void;
}
/**
 * SymmetricalLayout
 */
export  class SymmetricLayout {
    private cdCOEF;
    private cfMAXVELOCITY;
    private cnMAXITERACTION;
    private cnSPRINGLENGTH;
    private mszMaxForceVelocity;
    /**
     * @private
     */
    springLength: number;
    /**
     * @private
     */
    springFactor: number;
    /**
     * @private
     */
    maxIteration: number;
    private selectedNode;
    constructor();
    /**
     *To destroy the layout
     *
     * @returns {void} To destroy the layout
     */
    destroy(): void;
    protected getModuleName(): string;
    private doGraphLayout;
    private preLayoutNodes;
    /**
     * doLayout method\
     *
     * @returns {  void }    doLayout method .\
     * @param {GraphLayoutManager} graphLayoutManager - provide the angle value.
     * @private
     */
    doLayout(graphLayoutManager: GraphLayoutManager): void;
    private makeSymmetricLayout;
    private appendForces;
    private resetGraphPosition;
    private convertGraphNodes;
    /**
     * getForceNode method\
     *
     * @returns {  GraphForceNode }    getForceNode method .\
     * @param {IGraphObject} gnNode - provide the angle value.
     * @private
     */
    getForceNode(gnNode: IGraphObject): GraphForceNode;
    private updateNeigbour;
    private lineAngle;
    private pointDistance;
    private calcRelatesForce;
    /**
     * @param nodeCollection
     * @param connectors
     * @param symmetricLayout
     * @param nameTable
     * @param layout
     * @param viewPort
     * @private
     */
    /**
     * updateLayout method\
     *
     * @returns {  void }    updateLayout method .\
     * @param {IGraphObject[]} nodeCollection - provide the angle value.
     * @param {IGraphObject[]} connectors - provide the connectors value.
     * @param {SymmetricLayout} symmetricLayout - provide the symmetricLayout value.
     * @param {Object} nameTable - provide the nameTable value.
     * @param {Layout} layout - provide the layout value.
     * @param {PointModel} viewPort - provide the viewPort value.
     * @private
     */
    updateLayout(nodeCollection: IGraphObject[], connectors: IGraphObject[], symmetricLayout: SymmetricLayout, nameTable: Object, layout: Layout, viewPort: PointModel): void;
    private calcNodesForce;
    private calcForce;
}
export  class GraphLayoutManager {
    private mhelperSelectedNode;
    private visitedStack;
    private cycleEdgesCollection;
    private nameTable;
    /**
     * @private
     */
    nodes: IGraphObject[];
    private graphObjects;
    private connectors;
    private passedNodes;
    /**
     * @private
     */
    selectedNode: IGraphObject;
    /**
     * @param nodeCollection
     * @param connectors
     * @param symmetricLayout
     * @param nameTable
     * @param layout
     * @param viewPort
     * @private
     */
    /**
     * updateLayout method\
     *
     * @returns {  boolean }    updateLayout method .\
     * @param {IGraphObject[]} nodeCollection - provide the nodeCollection value.
     * @param {IGraphObject[]} connectors - provide the nodeCollection value.
     * @param {SymmetricLayout} symmetricLayout - provide the nodeCollection value.
     * @param {Object} nameTable - provide the nodeCollection value.
     * @param {Layout} layout - provide the nodeCollection value.
     * @param {PointModel} viewPort - provide the nodeCollection value.
     * @private
     */
    updateLayout(nodeCollection: IGraphObject[], connectors: IGraphObject[], symmetricLayout: SymmetricLayout, nameTable: Object, layout: Layout, viewPort: PointModel): boolean;
    /**
     * getModelBounds method\
     *
     * @returns {  Rect }    getModelBounds method .\
     * @param {IGraphObject[]} lNodes - provide the angle value.
     * @private
     */
    getModelBounds(lNodes: IGraphObject[]): Rect;
    private updateLayout1;
    private getNodesToPosition;
    private selectNodes;
    private selectConnectedNodes;
    private exploreRelatives;
    private exploreRelatives1;
    private getConnectedRelatives;
    private dictionaryContains;
    private dictionaryLength;
    private getConnectedChildren;
    private getConnectedParents;
    private setNode;
    private findNode;
    private addGraphNode;
    private isConnectedToAnotherNode;
    private searchEdgeCollection;
    private exploreGraphEdge;
    private addNode;
    private detectCyclesInGraph;
    private getUnVisitedChildNodes;
}
export interface ITreeInfo extends INode, IConnector {
    graphType?: GraphObjectType;
    parents?: IGraphObject[];
    children?: IGraphObject[];
    tag?: GraphForceNode;
    center?: PointModel;
    Added?: boolean;
    isCycleEdge: boolean;
    visible?: boolean;
    GraphNodes?: {};
    LeftMargin?: number;
    TopMargin?: number;
    location?: PointModel;
    Bounds?: Rect;
}
export interface IGraphObject extends INode, IConnector {
    treeInfo?: ITreeInfo;
}
export  type GraphObjectType = 'Node' | 'Connector';
//node_modules/@syncfusion/ej2-diagrams/src/diagram/objects/annotation-model.d.ts
/**
 * Interface for a class Hyperlink
 */
export interface HyperlinkModel {
    /**
     * Sets the fill color of the hyperlink
     *
     * @default 'blue'
     */
    color?: string;
    /**
     * Defines the content for hyperlink
     *
     * @default ''
     */
    content?: string;
    /**
     * Defines the link for hyperlink
     *
     * @default ''
     */
    link?: string;
    /**
     * Defines how the link should be decorated. For example, with underline/over line
     * * Overline - Decorates the text with a line above the text
     * * Underline - Decorates the text with an underline
     * * LineThrough - Decorates the text by striking it with a line
     * * None - Text will not have any specific decoration
     *
     * @default 'None'
     */
    textDecoration?: TextDecoration;
    /**
     *Allows the user to open the hyperlink in the new tab, current tab or new window
     * 
     * @default 'NewTab'
     */
    hyperlinkOpenState?: LinkTarget;
}
/**
 * Interface for a class Annotation
 */
export interface AnnotationModel {
    /**
     * Sets the textual description of the node/connector
     *
     * @default ''
     */
    content?: string;
    /**
     * Sets the textual description of the node/connector
     *
     * @default 'undefined'
     */
    template?: string | HTMLElement;
    /**
     *  Defines the type of annotation template
     * String -  Defines annotation template to be in string
     * Template - Defines annotation template to be in html content
     *
     * @default 'String'
     */
    annotationType?: AnnotationType;
    /**
     * Defines the visibility of the label
     *
     * @default true
     */
    visibility?: boolean;
    /**
     * Enables or disables the default behaviors of the label.
     * * ReadOnly - Enables/Disables the ReadOnly Constraints
     * * InheritReadOnly - Enables/Disables the InheritReadOnly Constraints
     *
     * @default 'InheritReadOnly'
     * @aspNumberEnum
     */
    constraints?: AnnotationConstraints;
    /**
     * Sets the hyperlink of the label
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     * id: 'node1', width: 100, height: 100, offsetX: 100, offsetY: 100,
     * annotations: [{ id: 'label1',
     * content: 'Default Shape', style: { color: 'red' },
     * hyperlink: { link: 'https://www.google.com', color : 'blue', textDecoration : 'Overline', content : 'google' }
     * }, {content: 'text', constraints: ~AnnotationConstraints.InheritReadOnly
     * }],
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes : nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    hyperlink?: HyperlinkModel;
    /**
     * Defines the unique id of the annotation
     *
     * @default ''
     */
    id?: string;
    /**
     * Sets the width of the text
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    width?: number;
    /**
     * Sets the height of the text
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    height?: number;
    /**
     * Sets the rotate angle of the text
     *
     * @default 0
     */
    rotateAngle?: number;
    /**
     * Defines the appearance of the text
     *
     * @default new TextStyle()
     */
    style?: TextStyleModel;
    /**
     * Sets the horizontal alignment of the text with respect to the parent node/connector
     * * Stretch - Stretches the diagram element throughout its immediate parent
     * * Left - Aligns the diagram element at the left of its immediate parent
     * * Right - Aligns the diagram element at the right of its immediate parent
     * * Center - Aligns the diagram element at the center of its immediate parent
     * * Auto - Aligns the diagram element based on the characteristics of its immediate parent
     *
     * @default 'Center'
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Sets the vertical alignment of the text with respect to the parent node/connector
     * * Stretch - Stretches the diagram element throughout its immediate parent
     * * Top - Aligns the diagram element at the top of its immediate parent
     * * Bottom - Aligns the diagram element at the bottom of its immediate parent
     * * Center - Aligns the diagram element at the center of its immediate parent
     * * Auto - Aligns the diagram element based on the characteristics of its immediate parent
     *
     * @default 'Center'
     */
    verticalAlignment?: VerticalAlignment;
    /**
     * Sets the space to be left between an annotation and its parent node/connector
     *
     * @default new Margin(0,0,0,0)
     */
    margin?: MarginModel;
    /**
     * Sets the space to be left between an annotation and its parent node/connector
     *
     * @default new Margin(20,20,20,20)
     */
    dragLimit?: MarginModel;
    /**
     * Sets the type of the annotation
     *  * Shape - Sets the annotation type as Shape
     *  * Path - Sets the annotation type as Path
     *
     * @default 'Shape'
     */
    type?: AnnotationTypes;
    /**
     * Allows the user to save custom information/data about an annotation
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let addInfo: {}  = { content: 'label' };
     * let nodes$: NodeModel[] = [{
     * id: 'node1', width: 100, height: 100, offsetX: 100, offsetY: 100,
     * annotations: [{ id: 'label1',
     * content: 'text', constraints: ~AnnotationConstraints.InheritReadOnly, addInfo: addInfo
     * }],
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes : nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    addInfo?: Object;
}
/**
 * Interface for a class ShapeAnnotation
 */
export interface ShapeAnnotationModel extends AnnotationModel{
    /**
     * Sets the position of the annotation with respect to its parent bounds
     *
     * @default { x: 0.5, y: 0.5 }
     * @blazorType NodeAnnotationOffset
     */
    offset?: PointModel;
}
/**
 * Interface for a class PathAnnotation
 */
export interface PathAnnotationModel extends AnnotationModel{
    /**
     * Sets the segment offset of annotation
     *
     * @default 0.5
     */
    offset?: number;
    /**
     * Sets the displacement of an annotation from its actual position
     *
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    displacement?: PointModel;
    /**
     * Sets the segment alignment of annotation
     *  * Center - Aligns the annotation at the center of a connector segment
     *  * Before - Aligns the annotation before a connector segment
     *  * After - Aligns the annotation after a connector segment
     *
     * @default Center
     */
    alignment?: AnnotationAlignment;
    /**
     * Enable/Disable the angle based on the connector segment
     *
     * @default false
     */
    segmentAngle?: boolean;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/objects/annotation.d.ts
/**
 * Defines the hyperlink for the annotations in the nodes/connectors
 */
export  class Hyperlink extends base.ChildProperty<Hyperlink> {
    /**
     * Sets the fill color of the hyperlink
     *
     * @default 'blue'
     */
    color: string;
    /**
     * Defines the content for hyperlink
     *
     * @default ''
     */
    content: string;
    /**
     * Defines the link for hyperlink
     *
     * @default ''
     */
    link: string;
    /**
     * Defines how the link should be decorated. For example, with underline/over line
     * * Overline - Decorates the text with a line above the text
     * * Underline - Decorates the text with an underline
     * * LineThrough - Decorates the text by striking it with a line
     * * None - Text will not have any specific decoration
     *
     * @default 'None'
     */
    textDecoration: TextDecoration;
    /**
     *Allows the user to open the hyperlink in the new tab, current tab or new window
     *
     * @default 'NewTab'
     */
    hyperlinkOpenState: LinkTarget;
}
/**
 * Defines the textual description of nodes/connectors
 */
export  class Annotation extends base.ChildProperty<Annotation> {
    /**
     * Sets the textual description of the node/connector
     *
     * @default ''
     */
    content: string;
    /**
     * Sets the textual description of the node/connector
     *
     * @default 'undefined'
     */
    template: string | HTMLElement;
    /**
     *  Defines the type of annotation template
     * String -  Defines annotation template to be in string
     * Template - Defines annotation template to be in html content
     *
     * @default 'String'
     */
    annotationType: AnnotationType;
    /**
     * Defines the visibility of the label
     *
     * @default true
     */
    visibility: boolean;
    /**
     * Enables or disables the default behaviors of the label.
     * * ReadOnly - Enables/Disables the ReadOnly Constraints
     * * InheritReadOnly - Enables/Disables the InheritReadOnly Constraints
     *
     * @default 'InheritReadOnly'
     * @aspNumberEnum
     */
    constraints: AnnotationConstraints;
    /**
     * Sets the hyperlink of the label
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     * id: 'node1', width: 100, height: 100, offsetX: 100, offsetY: 100,
     * annotations: [{ id: 'label1',
     * content: 'Default Shape', style: { color: 'red' },
     * hyperlink: { link: 'https://www.google.com', color : 'blue', textDecoration : 'Overline', content : 'google' }
     * }, {content: 'text', constraints: ~AnnotationConstraints.InheritReadOnly
     * }],
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes : nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    hyperlink: HyperlinkModel;
    /**
     * Defines the unique id of the annotation
     *
     * @default ''
     */
    id: string;
    /**
     * Sets the width of the text
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    width: number;
    /**
     * Sets the height of the text
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    height: number;
    /**
     * Sets the rotate angle of the text
     *
     * @default 0
     */
    rotateAngle: number;
    /**
     * Defines the appearance of the text
     *
     * @default new TextStyle()
     */
    style: TextStyleModel;
    /**
     * Sets the horizontal alignment of the text with respect to the parent node/connector
     * * Stretch - Stretches the diagram element throughout its immediate parent
     * * Left - Aligns the diagram element at the left of its immediate parent
     * * Right - Aligns the diagram element at the right of its immediate parent
     * * Center - Aligns the diagram element at the center of its immediate parent
     * * Auto - Aligns the diagram element based on the characteristics of its immediate parent
     *
     * @default 'Center'
     */
    horizontalAlignment: HorizontalAlignment;
    /**
     * Sets the vertical alignment of the text with respect to the parent node/connector
     * * Stretch - Stretches the diagram element throughout its immediate parent
     * * Top - Aligns the diagram element at the top of its immediate parent
     * * Bottom - Aligns the diagram element at the bottom of its immediate parent
     * * Center - Aligns the diagram element at the center of its immediate parent
     * * Auto - Aligns the diagram element based on the characteristics of its immediate parent
     *
     * @default 'Center'
     */
    verticalAlignment: VerticalAlignment;
    /**
     * Sets the space to be left between an annotation and its parent node/connector
     *
     * @default new Margin(0,0,0,0)
     */
    margin: MarginModel;
    /**
     * Sets the space to be left between an annotation and its parent node/connector
     *
     * @default new Margin(20,20,20,20)
     */
    dragLimit: MarginModel;
    /**
     * Sets the type of the annotation
     *  * Shape - Sets the annotation type as Shape
     *  * Path - Sets the annotation type as Path
     *
     * @default 'Shape'
     */
    type: AnnotationTypes;
    /**
     * Allows the user to save custom information/data about an annotation
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let addInfo$: {}  = { content: 'label' };
     * let nodes$: NodeModel[] = [{
     * id: 'node1', width: 100, height: 100, offsetX: 100, offsetY: 100,
     * annotations: [{ id: 'label1',
     * content: 'text', constraints: ~AnnotationConstraints.InheritReadOnly, addInfo: addInfo
     * }],
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes : nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    addInfo: Object;
    constructor(parent: any, propName: string, defaultValue: Object, isArray?: boolean);
}
/**
 * Defines the textual description of nodes/connectors with respect to bounds
 */
export  class ShapeAnnotation extends Annotation {
    /**
     * Sets the position of the annotation with respect to its parent bounds
     *
     * @default { x: 0.5, y: 0.5 }
     * @blazorType NodeAnnotationOffset
     */
    offset: PointModel;
    constructor(parent: any, propName: string, defaultValue: Object, isArray?: boolean);
    /**
     * @private
     * Returns the module of class ShapeAnnotation
     */
    getClassName(): string;
}
/**
 * Defines the connector annotation
 */
export  class PathAnnotation extends Annotation {
    /**
     * Sets the segment offset of annotation
     *
     * @default 0.5
     */
    offset: number;
    /**
     * Sets the displacement of an annotation from its actual position
     *
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    displacement: PointModel;
    /**
     * Sets the segment alignment of annotation
     *  * Center - Aligns the annotation at the center of a connector segment
     *  * Before - Aligns the annotation before a connector segment
     *  * After - Aligns the annotation after a connector segment
     *
     * @default Center
     */
    alignment: AnnotationAlignment;
    /**
     * Enable/Disable the angle based on the connector segment
     *
     * @default false
     */
    segmentAngle: boolean;
    constructor(parent: any, propName: string, defaultValue: Object, isArray?: boolean);
    /**
     * Returns the module of class PathAnnotation.
     *
     * @returns {string}  Returns the module of class PathAnnotation.
     * @private
     */
    getClassName(): string;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/objects/bpmn.d.ts
/**
 * BPMN Diagrams contains the BPMN functionalities
 */
export  class BpmnDiagrams {
    /**   @private  */
    annotationObjects: {};
    /**   @private  */
    readonly textAnnotationConnectors: ConnectorModel[];
    /** @private */
    getTextAnnotationConn(obj: NodeModel | ConnectorModel): ConnectorModel[];
    /**   @private  */
    getSize(node: NodeModel, content: DiagramElement): Size;
    /** @private */
    initBPMNContent(content: DiagramElement, node: Node, diagram: Diagram): DiagramElement;
    /** @private */
    getBPMNShapes(node: Node): PathElement;
    /** @private */
    /** @private */
    getBPMNGatewayShape(node: Node): Canvas;
    /** @private */
    getBPMNDataObjectShape(node: Node): Canvas;
    /** @private */
    getBPMNTaskShape(node: Node): Canvas;
    /** @private */
    getBPMNEventShape(node: Node, subEvent: BpmnSubEventModel, sub?: boolean, id?: string): Canvas;
    private setEventVisibility;
    private setSubProcessVisibility;
    /** @private */
    getBPMNSubProcessShape(node: Node): Canvas;
    private getBPMNSubEvent;
    private getBPMNSubProcessTransaction;
    /** @private */
    getBPMNSubProcessLoopShape(node: Node): PathElement;
    /** @private */
    drag(obj: Node, tx: number, ty: number, diagram: Diagram): void;
    /** @private */
    dropBPMNchild(target: Node, source: Node, diagram: Diagram): void;
    private updateIndex;
    private updateSubprocessNodeIndex;
    /** @private */
    updateDocks(obj: Node, diagram: Diagram): void;
    /** @private */
    removeBpmnProcesses(currentObj: Node, diagram: Diagram): void;
    /** @private */
    removeChildFromBPMN(wrapper: Container, name: string): void;
    /** @private */
    removeProcess(id: string, diagram: Diagram): void;
    /** @private */
    addProcess(process: NodeModel, parentId: string, diagram: Diagram): void;
    /** @private */
    getChildrenBound(node: NodeModel, excludeChild: string, diagram: Diagram): Rect;
    /** @private */
    updateSubProcessess(bound: Rect, obj: NodeModel, diagram: Diagram): void;
    /** @private */
    getBPMNCompensationShape(node: Node, compensationNode: PathElement): PathElement;
    /** @private */
    getBPMNActivityShape(node: Node): Canvas;
    /** @private */
    getBPMNSubprocessEvent(node: Node, subProcessEventsShapes: Canvas, events: BpmnSubEventModel): void;
    /** @private */
    getBPMNAdhocShape(node: Node, adhocNode: PathElement, subProcess?: BpmnSubProcessModel): PathElement;
    /** @private */
    private getBPMNTextAnnotation;
    /** @private */
    private renderBPMNTextAnnotation;
    /** @private */
    getTextAnnotationWrapper(node: NodeModel, id: string): TextElement;
    /** @private */
    addAnnotation(node: NodeModel, annotation: BpmnAnnotationModel, diagram: Diagram): ConnectorModel;
    private clearAnnotations;
    /** @private */
    checkAndRemoveAnnotations(node: NodeModel, diagram: Diagram): boolean;
    private removeAnnotationObjects;
    private setAnnotationPath;
    /**   @private  */
    isBpmnTextAnnotation(activeLabel: ActiveLabel, diagram: Diagram): NodeModel;
    /** @private */
    updateTextAnnotationContent(parentNode: NodeModel, activeLabel: ActiveLabel, text: string, diagram: Diagram): void;
    /**   @private  */
    updateQuad(actualObject: Node, diagram: Diagram): void;
    /** @private */
    updateTextAnnotationProp(actualObject: Node, oldObject: Node, diagram: Diagram): void;
    /** @private */
    private getSubprocessChildCount;
    /** @private */
    private getTaskChildCount;
    /** @private */
    private setStyle;
    /** @private */
    updateBPMN(changedProp: Node, oldObject: Node, actualObject: Node, diagram: Diagram): void;
    /**
    * EJ2-60574 -BPMN shape do not get changed at runtime properly
    */
    private removeBPMNElementFromDOM;
    /** @private */
    updateBPMNStyle(elementWrapper: DiagramElement, changedProp: string): void;
    /** @private */
    updateBPMNGateway(node: Node, changedProp: Node): void;
    /**
  * Used to update Bpmn gateway child in runtime
  * EJ2-60581
  * @param elementWrapper
  * @param node
  * @param pathData
  * @returns
  */
    updateGatewaySubType(elementWrapper: Canvas, node: Node, pathData: string): PathElement;
    /** @private */
    updateBPMNDataObject(node: Node, newObject: Node, oldObject: Node): void;
    /** @private */
    getEvent(node: Node, oldObject: Node, event: string, child0: DiagramElement, child1: DiagramElement, child2: DiagramElement): void;
    /** @private */
    private updateEventVisibility;
    /** @private */
    updateBPMNEvent(node: Node, newObject: Node, oldObject: Node): void;
    /** @private */
    updateBPMNEventTrigger(node: Node, newObject: Node): void;
    /** @private */
    updateBPMNActivity(node: Node, newObject: Node, oldObject: Node, diagram: Diagram): void;
    /** @private */
    updateBPMNActivityTask(node: Node, newObject: Node): void;
    /** @private */
    updateBPMNActivityTaskLoop(node: Node, newObject: Node, x: number, subChildCount: number, area: number, start: number): void;
    /** @private */
    private updateChildMargin;
    /** @private */
    updateBPMNActivitySubProcess(node: Node, newObject: Node, oldObject: Node, diagram: Diagram): void;
    /** @private */
    updateBPMNSubProcessEvent(node: Node, newObject: Node, oldObject: Node, diagram: Diagram): void;
    private updateBPMNSubEvent;
    private updateBPMNSubProcessTransaction;
    /** @private */
    getEventSize(events: BpmnSubEventModel, wrapperChild: Canvas): void;
    /** @private */
    updateBPMNSubProcessAdhoc(node: Node, oldObject: Node, subProcess: BpmnSubProcessModel, x: number, subChildCount: number, area: number): void;
    /** @private */
    updateBPMNSubProcessBoundary(node: Node, subProcess: BpmnSubProcessModel): void;
    /** @private */
    updateElementVisibility(node: Node, visible: boolean, diagram: Diagram): void;
    /** @private */
    updateBPMNSubProcessCollapsed(node: Node, oldObject: Node, subProcess: BpmnSubProcessModel, x: number, subChildCount: number, area: number, diagram: Diagram): void;
    /** @private */
    updateBPMNSubProcessCompensation(node: Node, oldObject: Node, subProcess: BpmnSubProcessModel, x: number, subChildCount: number, area: number): void;
    /** @private */
    updateBPMNSubProcessLoop(node: Node, oldObject: Node, subProcess: BpmnSubProcessModel, x: number, subChildCount: number, area: number): void;
    /** @private */
    updateBPMNConnector(actualObject: Connector, oldObject: Connector, connection: Connector, diagram: Diagram): Connector;
    /** @private */
    getSequence(actualObject: Connector, oldObject: Connector, connection: Connector, diagram: Diagram): Connector;
    /** @private */
    getAssociation(actualObject: Connector, oldObject: Connector, connection: Connector, diagram: Diagram): Connector;
    /** @private */
    getMessage(actualObject: Connector, oldObject: Connector, connection: Connector, diagram: Diagram): Connector;
    private setSizeForBPMNEvents;
    /** @private */
    updateAnnotationDrag(node: NodeModel, diagram: Diagram, tx: number, ty: number): boolean;
    private getAnnotationPathAngle;
    private setSizeForBPMNGateway;
    private setSizeForBPMNDataObjects;
    private setSizeForBPMNActivity;
    private updateDiagramContainerVisibility;
    /**
     * Constructor for the BpmnDiagrams module
     *
     * @private
     */
    constructor();
    /**
     *To destroy the ruler
     *
     * @returns {void} To destroy the ruler
     */
    destroy(): void;
    /**
     * Get module name.
     *
     * @returns {string}   Get module name.
     */
    protected getModuleName(): string;
}
/**
 * getBpmnShapePathData method \
 *
 * @returns { string } getBpmnShapePathData method .\
 * @param {string} shape - provide the shape value.
 *
 * @private
 */
export  function getBpmnShapePathData(shape: string): string;
/**
 * getBpmnTriggerShapePathData method \
 *
 * @returns { string } getBpmnTriggerShapePathData method .\
 * @param {string} shape - provide the shape value.
 *
 * @private
 */
export  function getBpmnTriggerShapePathData(shape: string): string;
/**
 * getBpmnGatewayShapePathData method \
 *
 * @returns { string } getBpmnGatewayShapePathData method .\
 * @param {string} shape - provide the shape value.
 *
 * @private
 */
export  function getBpmnGatewayShapePathData(shape: string): string;
/**
 * getBpmnTaskShapePathData method \
 *
 * @returns { string } getBpmnTaskShapePathData method .\
 * @param {string} shape - provide the shape value.
 *
 * @private
 */
export  function getBpmnTaskShapePathData(shape: string): string;
/**
 * getBpmnLoopShapePathData method \
 *
 * @returns { string } getBpmnLoopShapePathData method .\
 * @param {string} shape - provide the shape value.
 *
 * @private
 */
export  function getBpmnLoopShapePathData(shape: string): string;
//node_modules/@syncfusion/ej2-diagrams/src/diagram/objects/connector-bridging.d.ts
/**
 * ConnectorBridging defines the bridging behavior
 */
/** @private */
export  class ConnectorBridging {
    /**
     * @param {Connector}conn - provide the target  value.
     * @param {Diagram}diagram - provide the target  value.
     * @private
     */
    updateBridging(conn: Connector, diagram: Diagram): void;
    /**
     * @param {BridgeSegment[]}bridgeList - provide the bridgeList  value.
     * @param {Connector}connector - provide the connector  value.
     * @param {number}bridgeSpacing - provide the bridgeSpacing  value.
     * @private
     */
    firstBridge(bridgeList: BridgeSegment[], connector: Connector, bridgeSpacing: number): void;
    /**
     * @returns { ArcSegment } checkSourcePointInTarget method .\
     * @param {PointModel}st- provide the st  value.
     * @param {PointModel}end- provide the end  value.
     * @param {number}angle- provide the angle  value.
     * @param {BridgeDirection}direction- provide the direction  value.
     * @param {number}index- provide the index  value.
     * @param {Connector}conn- provide the conn  value.
     * @param {Diagram} diagram- provide the diagram  value.
     * @private
     */
    createSegment(st: PointModel, end: PointModel, angle: number, direction: BridgeDirection, index: number, conn: Connector, diagram: Diagram): ArcSegment;
    /**
     * @param {PointModel}startPt- provide the startPt  value.
     * @param {PointModel}endPt- provide the endPt  value.
     * @param {number}angle- provide the angle  value.
     * @param {number}bridgeSpace- provide the bridgeSpace  value.
     * @param {number}sweep- provide the sweep  value.
     * @private
     */
    createBridgeSegment(startPt: PointModel, endPt: PointModel, angle: number, bridgeSpace: number, sweep: number): string;
    /**
     * @param {number}angle- provide the source value.
     * @param {BridgeDirection}bridgeDirection- provide the source value.
     * @param {Connector}connector- provide the source value.
     * @param {Diagram}diagram- provide the source value.
     * @private
     */
    sweepDirection(angle: number, bridgeDirection: BridgeDirection, connector: Connector, diagram: Diagram): number;
    /** @private */
    getPointAtLength(length: number, pts: PointModel[]): PointModel;
    /**
     * @param {PointModel[]}connector- provide the source value.
     * @private
     */
    protected getPoints(connector: Connector): PointModel[];
    private intersectsRect;
    /**
     * @param {PointModel[]}points1- provide the source value.
     * @param {PointModel[]}points2- provide the source value.
     * @param {boolean}self- provide the source value.
     * @param {BridgeDirection}bridgeDirection- provide the source value.
     * @param {PointModel[]}zOrder- provide the source value.
     * @private
     */
    intersect(points1: PointModel[], points2: PointModel[], self: boolean, bridgeDirection: BridgeDirection, zOrder: boolean): PointModel[];
    /**
     * @param {PointModel}startPt- provide the target  value.
     * @param {PointModel}endPt- provide the target  value.
     * @param {PointModel[]}pts- provide the target  value.
     * @param {boolean}zOrder- provide the target  value.
     * @param {BridgeDirection}bridgeDirection- provide the target  value.
     * @private
     */
    inter1(startPt: PointModel, endPt: PointModel, pts: PointModel[], zOrder: boolean, bridgeDirection: BridgeDirection): PointModel[];
    private checkForHorizontalLine;
    private isEmptyPoint;
    private getLengthAtFractionPoint;
    private getSlope;
    /**
     * @param {PointModel}startPt- provide the target  value.
     * @param {PointModel}endPt- provide the target  value.
     * @private
     */
    angleCalculation(startPt: PointModel, endPt: PointModel): number;
    private lengthCalculation;
    /**
     * Constructor for the bridging module
     *
     * @private
     */
    constructor();
    /**
     *To destroy the ruler
     *
     * @returns {void} To destroy the ruler
     */
    destroy(): void;
    /**
     * Core method to return the component name.
     *
     * @returns {string}  Core method to return the component name.
     * @private
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/objects/connector-model.d.ts
/**
 * Interface for a class Decorator
 */
export interface DecoratorModel {
    /**
     * Sets the width of the decorator
     *
     * @default 10
     */
    width?: number;
    /**
     * Sets the height of the decorator
     *
     * @default 10
     */
    height?: number;
    /**
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let connectors$: ConnectorModel[] = [{
     *   id: 'connector', type: 'Straight', sourcePoint: { x: 500, y: 100 }, targetPoint: { x: 600, y: 200 },
     *   sourceDecorator: {
     *    style: { fill: 'black' },
     *    shape: 'Arrow',
     *    pivot: { x: 0, y: 0.5 }},
     *   targetDecorator: {
     *    shape: 'Diamond',
     *    style: { fill: 'blue' },
     *    pivot: { x: 0, y: 0.5 }}
     *  },];
     * let diagram$: Diagram = new Diagram({
     * ...
     * connectors: connectors
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     */
    shape?: DecoratorShapes;
    /**
     * Defines the appearance of the decorator
     *
     * @default new ShapeStyle()
     */
    style?: ShapeStyleModel;
    /**
     * Defines the position of the decorator with respect to the source/target point of the connector
     */
    pivot?: PointModel;
    /**
     * Defines the geometry of the decorator shape
     *
     * @default ''
     */
    pathData?: string;
}
/**
 * Interface for a class Vector
 */
export interface VectorModel {
    /**
     * Defines the angle between the connector end point and control point of the bezier segment
     *
     * @default 0
     */
    angle?: number;
    /**
     * Defines the distance between the connector end point and control point of the bezier segment
     *
     * @default 0
     */
    distance?: number;
}
/**
 * Interface for a class BezierSettings
 */
export interface BezierSettingsModel {
    /**
    * Defines the visibility of the control points in the Bezier connector
    *
    * @default 'All'
    */
    controlPointsVisibility?: ControlPointsVisibility;
    /**
    * Defines the editing mode of intermediate point of two bezier curve
    *
    * @default 'FreeForm'
    */
    segmentEditOrientation?: BezierSegmentEditOrientation;
    /**
    * Defines the value to maintain the smoothness between the neighboring bezier curves.
    *
    * @default 'Default'
    */
    smoothness?: BezierSmoothness;
}
/**
 * Interface for a class ConnectorShape
 */
export interface ConnectorShapeModel {
    /**
     * Defines the application specific type of connector
     * * Bpmn - Sets the type of the connection shape as Bpmn
     *
     * @default 'None'
     */
    type?: ConnectionShapes;
}
/**
 * Interface for a class ActivityFlow
 */
export interface ActivityFlowModel extends ConnectorShapeModel{
    /**
     * Defines the type of the UMLActivity flows
     * Object - Sets the type of the UMLActivity Flow as Object
     * Control - Sets the type of the UMLActivity Flow as Control
     * Exception - Sets the type of the UMLActivity Flow as Exception
     *
     * @default 'Object'
     * @IgnoreSingular
     */
    flow?: UmlActivityFlows;
    /**
     * Defines the height of the exception flow.
     *
     * @default '50'
     */
    exceptionFlowHeight?: number;
}
/**
 * Interface for a class BpmnFlow
 */
export interface BpmnFlowModel extends ConnectorShapeModel{
    /**
     * Sets the type of the Bpmn flows
     * * Sequence - Sets the type of the Bpmn Flow as Sequence
     * * Association - Sets the type of the Bpmn Flow as Association
     * * Message - Sets the type of the Bpmn Flow as Message
     *
     * @default 'Sequence'
     */
    flow?: BpmnFlows;
    /**
     * Sets the type of the Bpmn Sequence flows
     * * Default - Sets the type of the sequence flow as Default
     * * Normal - Sets the type of the sequence flow as Normal
     * * Conditional - Sets the type of the sequence flow as Conditional
     *
     * @default 'Normal'
     */
    sequence?: BpmnSequenceFlows;
    /**
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [
     * {
     *   id: 'node1', width: 60, height: 60, offsetX: 75, offsetY: 90,
     *   shape: { type: 'Bpmn', shape: 'Event', event: { event: 'Start', trigger: 'Message' } },
     *     },
     * {
     *   id: 'node2', width: 75, height: 70, offsetX: 210, offsetY: 90,
     *   shape: { type: 'Bpmn', shape: 'Gateway', gateway: { type: 'None' } },
     *  }];
     * let connectors$: ConnectorModel[] = [{
     *   id: 'connector', type: 'Straight', sourceID: 'node1', targetID: 'node2',
     *   shape: { type: 'Bpmn', flow: 'Message', message: 'InitiatingMessage' } as BpmnFlowModel
     *  },];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes: nodes, connectors: connectors
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default 'Default'
     */
    message?: BpmnMessageFlows;
    /**
     * Sets the type of the Bpmn association flows
     * * Default - Sets the type of Association flow as Default
     * * Directional - Sets the type of Association flow as Directional
     * * BiDirectional - Sets the type of Association flow as BiDirectional
     * * @default 'Default'
     *
     */
    association?: BpmnAssociationFlows;
}
/**
 * Interface for a class ConnectorSegment
 */
export interface ConnectorSegmentModel {
    /**
     * Defines the type of the segment
     * * Straight - Sets the segment type as Straight
     * * Orthogonal - Sets the segment type as Orthogonal
     * * Bezier - Sets the segment type as Bezier
     *
     * @default 'Straight'
     */
    type?: Segments;
    /**
     * Defines the segment to be drag or not
     *
     * @default true
     */
    allowDrag?: boolean;
}
/**
 * Interface for a class StraightSegment
 */
export interface StraightSegmentModel extends ConnectorSegmentModel{
    /**
     * Sets the end point of the connector segment
     *
     * @default new Point(0,0)
     */
    point?: PointModel;
}
/**
 * Interface for a class BezierSegment
 */
export interface BezierSegmentModel extends StraightSegmentModel{
    /**
     * Sets the orientation of endpoint dragging
     *
     * @private
     */
    orientation?: Orientation;
    /**
     * Sets the first control point of the connector
     *
     * @default {}
     */
    point1?: PointModel;
    /**
     * Sets the second control point of the connector
     *
     * @default {}
     */
    point2?: PointModel;
    /**
     * Defines the length and angle between the source point and the first control point of the diagram
     *
     * @default {}
     */
    vector1?: VectorModel;
    /**
     * Defines the length and angle between the target point and the second control point of the diagram
     *
     * @default {}
     */
    vector2?: VectorModel;
}
/**
 * Interface for a class OrthogonalSegment
 */
export interface OrthogonalSegmentModel extends ConnectorSegmentModel{
    /**
     * Defines the length of orthogonal segment
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let connectors$: ConnectorModel[] = [{
     *       id: 'link2', sourcePoint: { x: 0, y: 0 }, targetPoint: { x: 40, y: 40 }, type: 'Orthogonal',
     *       shape: {
     *           type: 'Bpmn',
     *           flow: 'Message',
     *           association: 'directional'
     *       }, style: {
     *           strokeDashArray: '2,2'
     *       },
     *       segments: [{ type: 'Orthogonal', length: 30, direction: 'Bottom' },
     *       { type: 'Orthogonal', length: 80, direction: 'Right' }]
     *   }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * connectors: connectors
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default 0
     */
    length?: number;
    /**
     * Sets the direction of orthogonal segment
     * * Left - Sets the direction type as Left
     * * Right - Sets the direction type as Right
     * * Top - Sets the direction type as Top
     * * Bottom - Sets the direction type as Bottom
     *
     * @default null
     */
    direction?: Direction;
}
/**
 * Interface for a class DiagramConnectorSegment
 */
export interface DiagramConnectorSegmentModel {
    /**
     * Defines the type of the segment
     * * Straight - Sets the segment type as Straight
     * * Orthogonal - Sets the segment type as Orthogonal
     * * Bezier - Sets the segment type as Bezier
     *
     * @default 'Straight'
     */
    type?: Segments;
    /**
     * Defines the segment to be drag or not
     *
     * @default true
     */
    allowDrag?: boolean;
    /**
     * Sets the end point of the connector segment
     *
     * @default new Point(0,0)
     */
    point?: PointModel;
    /**
     * Sets the first control point of the connector
     *
     * @default {}
     */
    point1?: PointModel;
    /**
     * Sets the second control point of the connector
     *
     * @default {}
     */
    point2?: PointModel;
    /**
     * Defines the length and angle between the source point and the first control point of the diagram
     *
     * @default {}
     */
    vector1?: VectorModel;
    /**
     * Defines the length and angle between the target point and the second control point of the diagram
     *
     * @default {}
     */
    vector2?: VectorModel;
    /**
     * Defines the length of orthogonal segment
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let connectors$: ConnectorModel[] = [{
     *       id: 'link2', sourcePoint: { x: 0, y: 0 }, targetPoint: { x: 40, y: 40 }, type: 'Orthogonal',
     *       shape: {
     *           type: 'Bpmn',
     *           flow: 'Message',
     *           association: 'directional'
     *       }, style: {
     *           strokeDashArray: '2,2'
     *       },
     *       segments: [{ type: 'Orthogonal', length: 30, direction: 'Bottom' },
     *       { type: 'Orthogonal', length: 80, direction: 'Right' }]
     *   }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * connectors: connectors
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default 0
     */
    length?: number;
    /**
     * Sets the direction of orthogonal segment
     * * Left - Sets the direction type as Left
     * * Right - Sets the direction type as Right
     * * Top - Sets the direction type as Top
     * * Bottom - Sets the direction type as Bottom
     *
     * @default null
     */
    direction?: Direction;
}
/**
 * Interface for a class MultiplicityLabel
 */
export interface MultiplicityLabelModel {
    /**
     * Defines the type of the Classifier Multiplicity
     *
     * @default true
     * @IgnoreSingular
     */
    optional?: boolean;
    /**
     * Defines the type of the Classifier Multiplicity
     *
     * @default ''
     * @IgnoreSingular
     */
    lowerBounds?: string;
    /**
     * Defines the type of the Classifier Multiplicity
     *
     * @default ''
     * @IgnoreSingular
     */
    upperBounds?: string;
}
/**
 * Interface for a class ClassifierMultiplicity
 */
export interface ClassifierMultiplicityModel {
    /**
     * Defines the type of the Classifier Multiplicity
     *
     * @default 'OneToOne'
     * @IgnoreSingular
     */
    type?: Multiplicity;
    /**
     * Defines the type of the Classifier Multiplicity
     *
     * @default ''
     * @IgnoreSingular
     */
    target?: MultiplicityLabelModel;
    /**
     * Defines the type of the Classifier Multiplicity
     *
     * @default ''
     * @IgnoreSingular
     */
    source?: MultiplicityLabelModel;
}
/**
 * Interface for a class RelationShip
 */
export interface RelationShipModel extends ConnectorShapeModel{
    /**
     * Defines the type of the  UMLConnector
     *
     * @default 'None'
     * @IgnoreSingular
     */
    type?: ConnectionShapes;
    /**
     * Defines the association direction
     *
     * @default 'Aggregation'
     * @IgnoreSingular
     */
    relationship?: ClassifierShape;
    /**
     * Defines the association direction
     *
     * @default 'Directional'
     * @IgnoreSingular
     */
    associationType?: AssociationFlow;
    /**
     * Defines the type of the Classifier Multiplicity
     *
     * @default ''
     * @IgnoreSingular
     */
    multiplicity?: ClassifierMultiplicityModel;
}
/**
 * Interface for a class DiagramConnectorShape
 */
export interface DiagramConnectorShapeModel {
    /**
     * Defines the application specific type of connector
     * * Bpmn - Sets the type of the connection shape as Bpmn
     *
     * @default 'None'
     */
    type?: ConnectionShapes;
    /**
     * Defines the association direction
     *
     * @default 'Directional'
     * @IgnoreSingular
     */
    associationType?: AssociationFlow;
    /**
     * Defines the association direction
     *
     * @default 'Aggregation'
     * @IgnoreSingular
     */
    relationship?: ClassifierShape;
    /**
     * Defines the type of the Classifier Multiplicity
     *
     * @default ''
     * @IgnoreSingular
     */
    multiplicity?: ClassifierMultiplicityModel;
    /**
     * Sets the type of the Bpmn flows
     * * Sequence - Sets the type of the Bpmn Flow as Sequence
     * * Association - Sets the type of the Bpmn Flow as Association
     * * Message - Sets the type of the Bpmn Flow as Message
     *
     * @default 'Sequence'
     */
    bpmnFlow?: BpmnFlows;
    /**
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [
     * {
     *   id: 'node1', width: 60, height: 60, offsetX: 75, offsetY: 90,
     *   shape: { type: 'Bpmn', shape: 'Event', event: { event: 'Start', trigger: 'Message' } },
     *     },
     * {
     *   id: 'node2', width: 75, height: 70, offsetX: 210, offsetY: 90,
     *   shape: { type: 'Bpmn', shape: 'Gateway', gateway: { type: 'None' } },
     *  }];
     * let connectors$: ConnectorModel[] = [{
     *   id: 'connector', type: 'Straight', sourceID: 'node1', targetID: 'node2',
     *   shape: { type: 'Bpmn', flow: 'Message', message: 'InitiatingMessage' } as BpmnFlowModel
     *  },];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes: nodes, connectors: connectors
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     */
    message?: BpmnMessageFlows;
    /**
     * Sets the type of the Bpmn Sequence flows
     * * Default - Sets the type of the sequence flow as Default
     * * Normal - Sets the type of the sequence flow as Normal
     * * Conditional - Sets the type of the sequence flow as Conditional
     *
     * @default 'Normal'
     */
    sequence?: BpmnSequenceFlows;
    /**
     * Sets the type of the Bpmn association flows
     * * Default - Sets the type of Association flow as Default
     * * Directional - Sets the type of Association flow as Directional
     * * BiDirectional - Sets the type of Association flow as BiDirectional
     * * @default 'Default'
     */
    association?: BpmnAssociationFlows;
    /**
     * Defines the type of the UMLActivity flows
     * Object - Sets the type of the UMLActivity Flow as Object
     * Control - Sets the type of the UMLActivity Flow as Control
     * Exception - Sets the type of the UMLActivity Flow as Exception
     *
     * @default 'Object'
     * @IgnoreSingular
     */
    umlActivityFlow?: UmlActivityFlows;
    /**
     * Defines the height of the exception flow.
     *
     * @default '50'
     */
    exceptionFlowHeight?: number;
}
/**
 * Interface for a class Connector
 */
export interface ConnectorModel extends NodeBaseModel{
    /**
     * Defines the shape of the connector
     *
     * @default 'Bpmn'
     * @aspType object
     */
    shape?: ConnectorShapeModel | BpmnFlowModel | RelationShipModel | DiagramConnectorShapeModel;
    /**
     * Defines the constraints of connector
     * * None - Interaction of the connectors cannot be done.
     * * Select - Selects the connector.
     * * Delete - Delete the connector.
     * * Drag - Drag the connector.
     * * DragSourceEnd - Drag the source end of the connector.
     * * DragTargetEnd - Drag the target end of the connector.
     * * DragSegmentThump - Drag the segment thumb of the connector.
     * * AllowDrop - Allow to drop a node.
     * * Bridging - Creates bridge  on intersection of two connectors.
     * * InheritBridging - Creates bridge  on intersection of two connectors.
     * * PointerEvents - Sets the pointer events.
     * * Tooltip - Displays a tooltip for the connectors.
     * * InheritToolTip - Displays a tooltip for the connectors.
     * * Interaction - Features of the connector used for interaction.
     * * ReadOnly - Enables ReadOnly
     *
     * @default 'Default'
     * @aspNumberEnum
     */
    constraints?: ConnectorConstraints;
    /**
     * Defines the bridgeSpace of connector
     *
     * @default 10
     */
    bridgeSpace?: number;
    /**
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let connectors$: ConnectorModel[] = [{
     *   id: 'connector', type: 'Straight', sourcePoint: { x: 500, y: 100 }, targetPoint: { x: 600, y: 200 },
     * annotations: [{ content: 'No', offset: 0, alignment: 'After' }]
     * ];
     * let diagram$: Diagram = new Diagram({
     * ...
     * connectors: connectors
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     */
    annotations?: PathAnnotationModel[];
    /**
     * Sets the beginning point of the connector
     *
     * @default new Point(0,0)
     */
    sourcePoint?: PointModel;
    /**
     * Sets the end point of the connector
     *
     * @default new Point(0,0)
     */
    targetPoint?: PointModel;
    /**
     * Specifies the collection of the fixed user handle
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    fixedUserHandles?: ConnectorFixedUserHandleModel[];
    /**
     * Defines the segments
     *
     * @default []
     * @aspType object
     */
    segments?: (OrthogonalSegmentModel | StraightSegmentModel | BezierSegmentModel | DiagramConnectorSegmentModel)[];
    /**
     * Sets the source node/connector object of the connector
     *
     * @default null
     */
    sourceID?: string;
    /**
     * Sets the target node/connector object of the connector
     *
     * @default null
     */
    targetID?: string;
    /**
     * Sets the connector padding value
     *
     * @default 10
     */
    hitPadding?: number;
    /**
     * Sets the connector padding value
     *
     * @default 0
     */
    connectionPadding?: number;
    /**
     * Defines the type of the connector
     * * Straight - Sets the segment type as Straight
     * * Orthogonal - Sets the segment type as Orthogonal
     * * Bezier - Sets the segment type as Bezier
     *
     * @default 'Straight'
     * @aspType Syncfusion.EJ2.Diagrams.Segments
     */
    type?: Segments;
    /**
     * Sets the corner radius of the connector
     *
     * @default 0
     */
    cornerRadius?: number;
    /**
     * Defines the source decorator of the connector
     *
     * @default new Decorator()
     */
    sourceDecorator?: DecoratorModel;
    /**
     * Defines the target decorator of the connector
     *
     * @default new Decorator()
     */
    targetDecorator?: DecoratorModel;
    /**
     * defines the tooltip for the connector
     *
     * @default new DiagramToolTip();
     */
    tooltip?: DiagramTooltipModel;
    /**
     * Sets the unique id of the source port of the connector
     *
     * @default ''
     */
    sourcePortID?: string;
    /**
     * Sets the unique id of the target port of the connector
     *
     * @default ''
     */
    targetPortID?: string;
    /**
     * Sets the source padding of the connector
     *
     * @default 0
     */
    sourcePadding?: number;
    /**
     * Defines the size of the symbol preview
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    previewSize?: SymbolSizeModel;
    /**
     * Defines the size of a drop symbol
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    dragSize?: SymbolSizeModel;
    /**
     * Sets the target padding of the connector
     *
     * @default 0
     */
    targetPadding?: number;
    /**
     * Sets the distance between source node and connector
     *
     * @default 13
     */
    connectorSpacing?: number;
    /**
     * Defines the appearance of the connection path
     *
     * @default ''
     */
    style?: StrokeStyleModel;
    /**
     * Sets the maximum segment thumb for the connector
     *
     * @default null
     */
    maxSegmentThumb?: number;
    /**
     * Sets the bezier settings of editing the segments.
     *
     * @default null
     */
    bezierSettings?: BezierSettingsModel;
    /**
     * Defines the UI of the connector
     *
     * @default null
     * @deprecated
     */
    wrapper?: Container;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/objects/connector.d.ts

/**
 * Decorators are used to decorate the end points of the connector with some predefined path geometry
 */
export  class Decorator extends base.ChildProperty<Decorator> {
    /**
     * Sets the width of the decorator
     *
     * @default 10
     */
    width: number;
    /**
     * Sets the height of the decorator
     *
     * @default 10
     */
    height: number;
    /**
     * Sets the shape of the decorator
     * * None - Sets the decorator shape as None
     * * Arrow - Sets the decorator shape as Arrow
     * * Diamond - Sets the decorator shape as Diamond
     * * Path - Sets the decorator shape as Path
     * * OpenArrow - Sets the decorator shape as OpenArrow
     * * Circle - Sets the decorator shape as Circle
     * * Square - Sets the decorator shape as Square
     * * Fletch - Sets the decorator shape as Fletch
     * * OpenFetch - Sets the decorator shape as OpenFetch
     * * IndentedArrow - Sets the decorator shape as Indented Arrow
     * * OutdentedArrow - Sets the decorator shape as Outdented Arrow
     * * DoubleArrow - Sets the decorator shape as DoubleArrow
     *
     * @default 'Arrow'
     */
    /**
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let connectors$: ConnectorModel[] = [{
     *   id: 'connector', type: 'Straight', sourcePoint: { x: 500, y: 100 }, targetPoint: { x: 600, y: 200 },
     *   sourceDecorator: {
     *    style: { fill: 'black' },
     *    shape: 'Arrow',
     *    pivot: { x: 0, y: 0.5 }},
     *   targetDecorator: {
     *    shape: 'Diamond',
     *    style: { fill: 'blue' },
     *    pivot: { x: 0, y: 0.5 }}
     *  },];
     * let diagram$: Diagram = new Diagram({
     * ...
     * connectors: connectors
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     */
    shape: DecoratorShapes;
    /**
     * Defines the appearance of the decorator
     *
     * @default new ShapeStyle()
     */
    style: ShapeStyleModel;
    /**
     * Defines the position of the decorator with respect to the source/target point of the connector
     */
    pivot: PointModel;
    /**
     * Defines the geometry of the decorator shape
     *
     * @default ''
     */
    pathData: string;
}
/**
 * Describes the length and angle between the control point and the start point of bezier segment
 */
export  class Vector extends base.ChildProperty<Vector> {
    /**
     * Defines the angle between the connector end point and control point of the bezier segment
     *
     * @default 0
     */
    angle: number;
    /**
     * Defines the distance between the connector end point and control point of the bezier segment
     *
     * @default 0
     */
    distance: number;
}
/**
 * Describes the length and angle between the control point and the start point of bezier segment
 */
export  class BezierSettings extends base.ChildProperty<BezierSettings> {
    /**
    * Defines the visibility of the control points in the Bezier connector
    *
    * @default 'All'
    */
    controlPointsVisibility: ControlPointsVisibility;
    /**
    * Defines the editing mode of intermediate point of two bezier curve
    *
    * @default 'FreeForm'
    */
    segmentEditOrientation: BezierSegmentEditOrientation;
    /**
    * Defines the value to maintain the smoothness between the neighboring bezier curves.
    *
    * @default 'Default'
    */
    smoothness: BezierSmoothness;
}
/**
 * Sets the type of the connector
 */
export  class ConnectorShape extends base.ChildProperty<ConnectorShape> {
    /**
     * Defines the application specific type of connector
     * * Bpmn - Sets the type of the connection shape as Bpmn
     *
     * @default 'None'
     */
    type: ConnectionShapes;
}
/**
 * Sets the type of the flow in a BPMN Process
 */
export  class ActivityFlow extends ConnectorShape {
    /**
     * Defines the type of the UMLActivity flows
     * Object - Sets the type of the UMLActivity Flow as Object
     * Control - Sets the type of the UMLActivity Flow as Control
     * Exception - Sets the type of the UMLActivity Flow as Exception
     *
     * @default 'Object'
     * @IgnoreSingular
     */
    flow: UmlActivityFlows;
    /**
     * Defines the height of the exception flow.
     *
     * @default '50'
     */
    exceptionFlowHeight: number;
}
/**
 * Sets the type of the flow in a BPMN Process
 */
export  class BpmnFlow extends ConnectorShape {
    /**
     * Sets the type of the Bpmn flows
     * * Sequence - Sets the type of the Bpmn Flow as Sequence
     * * Association - Sets the type of the Bpmn Flow as Association
     * * Message - Sets the type of the Bpmn Flow as Message
     *
     * @default 'Sequence'
     */
    flow: BpmnFlows;
    /**
     * Sets the type of the Bpmn Sequence flows
     * * Default - Sets the type of the sequence flow as Default
     * * Normal - Sets the type of the sequence flow as Normal
     * * Conditional - Sets the type of the sequence flow as Conditional
     *
     * @default 'Normal'
     */
    sequence: BpmnSequenceFlows;
    /**
     * Sets the type of the Bpmn message flows
     * * Default - Sets the type of the Message flow as Default
     * * InitiatingMessage - Sets the type of the Message flow as InitiatingMessage
     * * NonInitiatingMessage - Sets the type of the Message flow as NonInitiatingMessage
     *
     * @default ''
     */
    /**
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [
     * {
     *   id: 'node1', width: 60, height: 60, offsetX: 75, offsetY: 90,
     *   shape: { type: 'Bpmn', shape: 'Event', event: { event: 'Start', trigger: 'Message' } },
     *     },
     * {
     *   id: 'node2', width: 75, height: 70, offsetX: 210, offsetY: 90,
     *   shape: { type: 'Bpmn', shape: 'Gateway', gateway: { type: 'None' } },
     *  }];
     * let connectors$: ConnectorModel[] = [{
     *   id: 'connector', type: 'Straight', sourceID: 'node1', targetID: 'node2',
     *   shape: { type: 'Bpmn', flow: 'Message', message: 'InitiatingMessage' } as BpmnFlowModel
     *  },];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes: nodes, connectors: connectors
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default 'Default'
     */
    message: BpmnMessageFlows;
    /**
     * Sets the type of the Bpmn association flows
     * * Default - Sets the type of Association flow as Default
     * * Directional - Sets the type of Association flow as Directional
     * * BiDirectional - Sets the type of Association flow as BiDirectional
     * * @default 'Default'
     *
     */
    association: BpmnAssociationFlows;
}
/**
 * Defines the behavior of connector segments
 */
export  class ConnectorSegment extends base.ChildProperty<ConnectorSegment> {
    /**
     * Defines the type of the segment
     * * Straight - Sets the segment type as Straight
     * * Orthogonal - Sets the segment type as Orthogonal
     * * Bezier - Sets the segment type as Bezier
     *
     * @default 'Straight'
     */
    type: Segments;
    /**
     * Defines the segment to be drag or not
     *
     * @default true
     */
    allowDrag: boolean;
    /**
     * @private
     */
    points: PointModel[];
    /**
     * @private
     */
    isTerminal: boolean;
    constructor(parent: any, propName: string, defaultValue: Object, isArray?: boolean);
}
/**
 * Defines the behavior of straight segments
 */
export  class StraightSegment extends ConnectorSegment {
    /**
     * Sets the end point of the connector segment
     *
     * @default new Point(0,0)
     */
    point: PointModel;
    /**
     * Returns the name of class StraightSegment
     *
     * @private
     */
    getClassName(): string;
}
/**
 * Defines the behavior of bezier segments
 */
export  class BezierSegment extends StraightSegment {
    /**
     * Sets the orientation of endpoint dragging
     *
     * @private
     */
    orientation: Orientation;
    /**
     * Identifies whether the segment is internal
     *
     * @private
     */
    isInternalSegment: boolean;
    /**
     * Sets the first control point of the bezier connector
     *
     * @private
     */
    bezierPoint1: PointModel;
    /**
     *  Sets the second control point of the bezier connector
     *
     * @private
     */
    bezierPoint2: PointModel;
    /**
     * Sets the first control point of the connector
     *
     * @default {}
     */
    point1: PointModel;
    /**
     * Sets the second control point of the connector
     *
     * @default {}
     */
    point2: PointModel;
    /**
     * Defines the length and angle between the source point and the first control point of the diagram
     *
     * @default {}
     */
    vector1: VectorModel;
    /**
     * Defines the length and angle between the target point and the second control point of the diagram
     *
     * @default {}
     */
    vector2: VectorModel;
    /**
     * @private
     * Returns the name of class BezierSegment
     */
    getClassName(): string;
    /**
    * @private
    * Returns the total points of the bezier curve
    */
    getPoints(segments: BezierSegment, start: PointModel): PointModel[];
    /**
    * @private
    * Returns the total points of the bezier curve
    */
    bezireToPoly(start: PointModel, segment: BezierSegment): PointModel[];
    /**
    * @private
    * Returns the total points of the bezier curve
    */
    flattenCubicBezier(points: PointModel[], ptStart: Point, ptCtrl1: Point, ptCtrl2: Point, ptEnd: Point, tolerance: number): void;
}
/**
 * Defines the behavior of orthogonal segments
 */
export  class OrthogonalSegment extends ConnectorSegment {
    /**
     * Defines the length of orthogonal segment
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let connectors$: ConnectorModel[] = [{
     *       id: 'link2', sourcePoint: { x: 0, y: 0 }, targetPoint: { x: 40, y: 40 }, type: 'Orthogonal',
     *       shape: {
     *           type: 'Bpmn',
     *           flow: 'Message',
     *           association: 'directional'
     *       }, style: {
     *           strokeDashArray: '2,2'
     *       },
     *       segments: [{ type: 'Orthogonal', length: 30, direction: 'Bottom' },
     *       { type: 'Orthogonal', length: 80, direction: 'Right' }]
     *   }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * connectors: connectors
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default 0
     */
    length: number;
    /**
     * Sets the direction of orthogonal segment
     * * Left - Sets the direction type as Left
     * * Right - Sets the direction type as Right
     * * Top - Sets the direction type as Top
     * * Bottom - Sets the direction type as Bottom
     *
     * @default null
     */
    direction: Direction;
    /**
     * Returns the module of class OrthogonalSegment
     *
     * @private
     */
    getClassName(): string;
}
/**
 * Defines the behavior of orthogonal segments
 */
export  class DiagramConnectorSegment extends base.ChildProperty<DiagramConnectorSegment> {
    /**
     * Defines the type of the segment
     * * Straight - Sets the segment type as Straight
     * * Orthogonal - Sets the segment type as Orthogonal
     * * Bezier - Sets the segment type as Bezier
     *
     * @default 'Straight'
     */
    type: Segments;
    /**
     * Defines the segment to be drag or not
     *
     * @default true
     */
    allowDrag: boolean;
    /**
     * Sets the end point of the connector segment
     *
     * @default new Point(0,0)
     */
    point: PointModel;
    /**
     * Sets the first control point of the connector
     *
     * @default {}
     */
    point1: PointModel;
    /**
     * Sets the second control point of the connector
     *
     * @default {}
     */
    point2: PointModel;
    /**
     * Sets the first control point of the bezier connector
     *
     * @private
     *
     */
    bezierPoint1: PointModel;
    /**
     * @private
     *  Sets the second control point of the bezier connector
     *
     */
    bezierPoint2: PointModel;
    /**
     * Defines the length and angle between the source point and the first control point of the diagram
     *
     * @default {}
     */
    vector1: VectorModel;
    /**
     * Defines the length and angle between the target point and the second control point of the diagram
     *
     * @default {}
     */
    vector2: VectorModel;
    /**
     * Defines the length of orthogonal segment
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let connectors$: ConnectorModel[] = [{
     *       id: 'link2', sourcePoint: { x: 0, y: 0 }, targetPoint: { x: 40, y: 40 }, type: 'Orthogonal',
     *       shape: {
     *           type: 'Bpmn',
     *           flow: 'Message',
     *           association: 'directional'
     *       }, style: {
     *           strokeDashArray: '2,2'
     *       },
     *       segments: [{ type: 'Orthogonal', length: 30, direction: 'Bottom' },
     *       { type: 'Orthogonal', length: 80, direction: 'Right' }]
     *   }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * connectors: connectors
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default 0
     */
    length: number;
    /**
     * Sets the direction of orthogonal segment
     * * Left - Sets the direction type as Left
     * * Right - Sets the direction type as Right
     * * Top - Sets the direction type as Top
     * * Bottom - Sets the direction type as Bottom
     *
     * @default null
     */
    direction: Direction;
    /**
     * @private
     * Returns the module of class OrthogonalSegment
     */
    getClassName(): string;
}
/**
 * Get the direction of the control points while the bezier is connected to the node
 */
export  function getDirection(bounds: Rect, points: PointModel, excludeBounds: boolean): string;
export  function isEmptyVector(element: VectorModel): boolean;
/**
 * Get the bezier points if control points are not given.
 */
export  function getBezierPoints(sourcePoint: PointModel, targetPoint: PointModel, direction?: string): PointModel;
/**
 * Get the bezier curve bounds.
 */
export  function getBezierBounds(startPoint: PointModel, controlPoint1: PointModel, controlPoint2: PointModel, endPoint: PointModel, connector: Connector): Rect;
/**
 * Get the intermediate bezier curve for point over connector
 */
export  function bezierPoints(connector: ConnectorModel, startPoint: PointModel, point1: PointModel, point2: PointModel, endPoint: PointModel, i: number, max: number): PointModel;
/**
 * Defines the behavior of the UMLActivity Classifier multiplicity connection defaults
 */
export  class MultiplicityLabel extends base.ChildProperty<MultiplicityLabel> {
    /**
     * Defines the type of the Classifier Multiplicity
     *
     * @default true
     * @IgnoreSingular
     */
    optional: boolean;
    /**
     * Defines the type of the Classifier Multiplicity
     *
     * @default ''
     * @IgnoreSingular
     */
    lowerBounds: string;
    /**
     * Defines the type of the Classifier Multiplicity
     *
     * @default ''
     * @IgnoreSingular
     */
    upperBounds: string;
}
/**
 * Defines the behavior of the UMLActivity Classifier multiplicity connection defaults
 */
export  class ClassifierMultiplicity extends base.ChildProperty<ClassifierMultiplicity> {
    /**
     * Defines the type of the Classifier Multiplicity
     *
     * @default 'OneToOne'
     * @IgnoreSingular
     */
    type: Multiplicity;
    /**
     * Defines the type of the Classifier Multiplicity
     *
     * @default ''
     * @IgnoreSingular
     */
    target: MultiplicityLabelModel;
    /**
     * Defines the type of the Classifier Multiplicity
     *
     * @default ''
     * @IgnoreSingular
     */
    source: MultiplicityLabelModel;
}
/**
 * Defines the behavior of the UMLActivity shape
 */
export  class RelationShip extends ConnectorShape {
    /**
     * Defines the type of the  UMLConnector
     *
     * @default 'None'
     * @IgnoreSingular
     */
    type: ConnectionShapes;
    /**
     * Defines the association direction
     *
     * @default 'Aggregation'
     * @IgnoreSingular
     */
    relationship: ClassifierShape;
    /**
     * Defines the association direction
     *
     * @default 'Directional'
     * @IgnoreSingular
     */
    associationType: AssociationFlow;
    /**
     * Defines the type of the Classifier Multiplicity
     *
     * @default ''
     * @IgnoreSingular
     */
    multiplicity: ClassifierMultiplicityModel;
}
/**
 * Connector shape for blazor
 */
export  class DiagramConnectorShape extends base.ChildProperty<DiagramConnectorShape> {
    /**
     * Defines the application specific type of connector
     * * Bpmn - Sets the type of the connection shape as Bpmn
     *
     * @default 'None'
     */
    type: ConnectionShapes;
    /**
     * Defines the association direction
     *
     * @default 'Directional'
     * @IgnoreSingular
     */
    associationType: AssociationFlow;
    /**
     * Defines the association direction
     *
     * @default 'Aggregation'
     * @IgnoreSingular
     */
    relationship: ClassifierShape;
    /**
     * Defines the type of the Classifier Multiplicity
     *
     * @default ''
     * @IgnoreSingular
     */
    multiplicity: ClassifierMultiplicityModel;
    /**
     * Sets the type of the Bpmn flows
     * * Sequence - Sets the type of the Bpmn Flow as Sequence
     * * Association - Sets the type of the Bpmn Flow as Association
     * * Message - Sets the type of the Bpmn Flow as Message
     *
     * @default 'Sequence'
     */
    bpmnFlow: BpmnFlows;
    /**
     * Sets the type of the Bpmn message flows
     * * Default - Sets the type of the Message flow as Default
     * * InitiatingMessage - Sets the type of the Message flow as InitiatingMessage
     * * NonInitiatingMessage - Sets the type of the Message flow as NonInitiatingMessage
     *
     * @default ''
     */
    /**
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [
     * {
     *   id: 'node1', width: 60, height: 60, offsetX: 75, offsetY: 90,
     *   shape: { type: 'Bpmn', shape: 'Event', event: { event: 'Start', trigger: 'Message' } },
     *     },
     * {
     *   id: 'node2', width: 75, height: 70, offsetX: 210, offsetY: 90,
     *   shape: { type: 'Bpmn', shape: 'Gateway', gateway: { type: 'None' } },
     *  }];
     * let connectors$: ConnectorModel[] = [{
     *   id: 'connector', type: 'Straight', sourceID: 'node1', targetID: 'node2',
     *   shape: { type: 'Bpmn', flow: 'Message', message: 'InitiatingMessage' } as BpmnFlowModel
     *  },];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes: nodes, connectors: connectors
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     */
    message: BpmnMessageFlows;
    /**
     * Sets the type of the Bpmn Sequence flows
     * * Default - Sets the type of the sequence flow as Default
     * * Normal - Sets the type of the sequence flow as Normal
     * * Conditional - Sets the type of the sequence flow as Conditional
     *
     * @default 'Normal'
     */
    sequence: BpmnSequenceFlows;
    /**
     * Sets the type of the Bpmn association flows
     * * Default - Sets the type of Association flow as Default
     * * Directional - Sets the type of Association flow as Directional
     * * BiDirectional - Sets the type of Association flow as BiDirectional
     * * @default 'Default'
     */
    association: BpmnAssociationFlows;
    /**
     * Defines the type of the UMLActivity flows
     * Object - Sets the type of the UMLActivity Flow as Object
     * Control - Sets the type of the UMLActivity Flow as Control
     * Exception - Sets the type of the UMLActivity Flow as Exception
     *
     * @default 'Object'
     * @IgnoreSingular
     */
    umlActivityFlow: UmlActivityFlows;
    /**
     * Defines the height of the exception flow.
     *
     * @default '50'
     */
    exceptionFlowHeight: number;
}
/**
 * Connectors are used to create links between nodes
 */
export  class Connector extends NodeBase implements IElement {
    /**
     * Defines the shape of the connector
     *
     * @default 'Bpmn'
     * @aspType object
     */
    shape: ConnectorShapeModel | BpmnFlowModel | RelationShipModel | DiagramConnectorShapeModel;
    /**
     * Defines the constraints of connector
     * * None - Interaction of the connectors cannot be done.
     * * Select - Selects the connector.
     * * Delete - Delete the connector.
     * * Drag - Drag the connector.
     * * DragSourceEnd - Drag the source end of the connector.
     * * DragTargetEnd - Drag the target end of the connector.
     * * DragSegmentThump - Drag the segment thumb of the connector.
     * * AllowDrop - Allow to drop a node.
     * * Bridging - Creates bridge  on intersection of two connectors.
     * * InheritBridging - Creates bridge  on intersection of two connectors.
     * * PointerEvents - Sets the pointer events.
     * * Tooltip - Displays a tooltip for the connectors.
     * * InheritToolTip - Displays a tooltip for the connectors.
     * * Interaction - Features of the connector used for interaction.
     * * ReadOnly - Enables ReadOnly
     *
     * @default 'Default'
     * @aspNumberEnum
     */
    constraints: ConnectorConstraints;
    /**
     * Defines the bridgeSpace of connector
     *
     * @default 10
     */
    bridgeSpace: number;
    /**
     * Defines the collection of textual annotations of connectors
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    /**
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let connectors$: ConnectorModel[] = [{
     *   id: 'connector', type: 'Straight', sourcePoint: { x: 500, y: 100 }, targetPoint: { x: 600, y: 200 },
     * annotations: [{ content: 'No', offset: 0, alignment: 'After' }]
     * ];
     * let diagram$: Diagram = new Diagram({
     * ...
     * connectors: connectors
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     */
    annotations: PathAnnotationModel[];
    /**
     * Sets the beginning point of the connector
     *
     * @default new Point(0,0)
     */
    sourcePoint: PointModel;
    /**
     * Sets the end point of the connector
     *
     * @default new Point(0,0)
     */
    targetPoint: PointModel;
    /**
     * Specifies the collection of the fixed user handle
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    fixedUserHandles: ConnectorFixedUserHandleModel[];
    /**
     * Defines the segments
     *
     * @default []
     * @aspType object
     */
    segments: (OrthogonalSegmentModel | StraightSegmentModel | BezierSegmentModel | DiagramConnectorSegmentModel)[];
    /**
     * Sets the source node/connector object of the connector
     *
     * @default null
     */
    sourceID: string;
    /**
     * Sets the target node/connector object of the connector
     *
     * @default null
     */
    targetID: string;
    /**
     * Sets the connector padding value
     *
     * @default 10
     */
    hitPadding: number;
    /**
     * Sets the connector padding value
     *
     * @default 0
     */
    connectionPadding: number;
    /**
     * Defines the type of the connector
     * * Straight - Sets the segment type as Straight
     * * Orthogonal - Sets the segment type as Orthogonal
     * * Bezier - Sets the segment type as Bezier
     *
     * @default 'Straight'
     * @aspType Syncfusion.EJ2.Diagrams.Segments
     */
    type: Segments;
    /**
     * Sets the corner radius of the connector
     *
     * @default 0
     */
    cornerRadius: number;
    /**
     * Defines the source decorator of the connector
     *
     * @default new Decorator()
     */
    sourceDecorator: DecoratorModel;
    /**
     * Defines the target decorator of the connector
     *
     * @default new Decorator()
     */
    targetDecorator: DecoratorModel;
    /**
     * defines the tooltip for the connector
     *
     * @default new DiagramToolTip();
     */
    tooltip: DiagramTooltipModel;
    /**
     * Sets the unique id of the source port of the connector
     *
     * @default ''
     */
    sourcePortID: string;
    /**
     * Sets the unique id of the target port of the connector
     *
     * @default ''
     */
    targetPortID: string;
    /**
     * Sets the source padding of the connector
     *
     * @default 0
     */
    sourcePadding: number;
    /**
     * Defines the size of the symbol preview
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    previewSize: SymbolSizeModel;
    /**
     * Defines the size of a drop symbol
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    dragSize: SymbolSizeModel;
    /**
     * Sets the target padding of the connector
     *
     * @default 0
     */
    targetPadding: number;
    /**
     * Sets the distance between source node and connector
     *
     * @default 13
     */
    connectorSpacing: number;
    /**
     * Defines the appearance of the connection path
     *
     * @default ''
     */
    style: StrokeStyleModel;
    /**
     * Sets the maximum segment thumb for the connector
     *
     * @default null
     */
    maxSegmentThumb: number;
    /**
     * Sets the bezier settings of editing the segments.
     *
     * @default null
     */
    bezierSettings: BezierSettingsModel;
    /** @private */
    parentId: string;
    /**
     * Defines the UI of the connector
     *
     * @default null
     * @deprecated
     */
    wrapper: Container;
    /** @private */
    bridges: Bridge[];
    /** @private */
    sourceWrapper: DiagramElement;
    /** @private */
    targetWrapper: DiagramElement;
    /** @private */
    sourcePortWrapper: DiagramElement;
    /** @private */
    targetPortWrapper: DiagramElement;
    /** @private */
    intermediatePoints: PointModel[];
    /** @private */
    status: Status;
    /** @private */
    isBezierEditing: boolean;
    constructor(parent: any, propName: string, defaultValue: Object, isArray?: boolean);
    private setPortID;
    /** @private */
    init(diagram: any): Canvas;
    private getConnectorRelation;
    private getBpmnSequenceFlow;
    /** @private */
    getUMLObjectFlow(): void;
    /** @private */
    getUMLExceptionFlow(segment: PathElement): void;
    private getBpmnAssociationFlow;
    /** @private */
    getfixedUserHandle(fixedUserHandle: ConnectorFixedUserHandle, points: PointModel[], bounds: Rect): Canvas;
    private getBpmnMessageFlow;
    /** @private */
    distance(pt1: PointModel, pt2: PointModel): number;
    /**   @private  */
    findPath(sourcePt: PointModel, targetPt: PointModel): Object;
    /** @private */
    getAnnotationElement(annotation: PathAnnotation, points: PointModel[], bounds: Rect, getDescription: Function | string, diagramId: string, annotationTemplate?: string | Function): TextElement | DiagramHtmlElement;
    /** @private */
    updateAnnotation(annotation: PathAnnotation | ConnectorFixedUserHandle, points: PointModel[], bounds: Rect, textElement: TextElement | DiagramHtmlElement | DiagramElement, canRefresh?: number): void;
    /** @private */
    getConnectorPoints(type: Segments, points?: PointModel[], layoutOrientation?: LayoutOrientation, lineDistribution?: boolean): PointModel[];
    /** @private */
    private clipDecorator;
    /** @private */
    clipDecorators(connector: Connector, pts: PointModel[], diagramAction?: DiagramAction): PointModel[];
    /** @private */
    updateSegmentElement(connector: Connector, points: PointModel[], element: PathElement, diagramActions: DiagramAction): PathElement;
    /** @private */
    getSegmentElement(connector: Connector, segmentElement: PathElement, layoutOrientation?: LayoutOrientation, diagramActions?: DiagramAction, isFlip?: boolean): PathElement;
    /** @private */
    getDecoratorElement(offsetPoint: PointModel, adjacentPoint: PointModel, decorator: DecoratorModel, isSource: Boolean, getDescription?: Function): PathElement;
    private bridgePath;
    /** @private */
    updateDecoratorElement(element: DiagramElement, pt: PointModel, adjacentPoint: PointModel, decorator: DecoratorModel): void;
    /** @private */
    getSegmentPath(connector: Connector, points: PointModel[], diagramAction?: DiagramAction): string;
    /** @private */
    updateShapeElement(connector: Connector): void;
    /** @private */
    updateShapePosition(connector: Connector, element: DiagramElement): void;
    /** @hidden */
    scale(sw: number, sh: number, width: number, height: number, refObject?: DiagramElement): PointModel;
    /**
     * @private
     * Returns the name of class Connector
     */
    getClassName(): string;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/objects/context-menu.d.ts
/**
 * @private
 */
export  const menuClass: ContextMenuClassList;
/**
 * @private
 */
export interface ContextMenuClassList {
    copy: string;
    paste: string;
    content: string;
    undo: string;
    redo: string;
    cut: string;
    selectAll: string;
    grouping: string;
    group: string;
    unGroup: string;
    bringToFront: string;
    sendToBack: string;
    moveForward: string;
    sendBackward: string;
    order: string;
}
/**
 * 'ContextMenu module used to handle context menu actions.'
 *
 * @private
 */
export  class DiagramContextMenu {
    private element;
    /**   @private  */
    contextMenu: navigations.ContextMenu;
    private defaultItems;
    /**
     * @private
     */
    disableItems: string[];
    /**
     * @private
     */
    hiddenItems: string[];
    private parent;
    private l10n;
    private serviceLocator;
    private localeText;
    private eventArgs;
    /**
     * @private
     */
    isOpen: boolean;
    constructor(parent?: Diagram, service?: ServiceLocator);
    /**
     * addEventListener method \
     *
     * @returns { void } addEventListener method .\
     *
     * @private
     */
    addEventListener(): void;
    /**
     * removeEventListener method \
     *
     * @returns { void } removeEventListener method .\
     *
     * @private
     */
    removeEventListener(): void;
    private render;
    private getMenuItems;
    private contextMenuOpen;
    private BeforeItemRender;
    private contextMenuItemClick;
    private contextMenuOnClose;
    private getLocaleText;
    private updateItemStatus;
    /**
     * ensureItems method \
     *
     * @returns { void } ensureItems method .\
     * @param {navigations.MenuItemModel} item - provide the item value.
     * @param {Event} event - provide the event value.
     *
     * @private
     */
    ensureItems(item: navigations.MenuItemModel, event?: Event): void;
    /**
     * refreshItems method \
     *
     * @returns { void } refreshItems method .\
     *
     * @private
     */
    refreshItems(): void;
    private updateItems;
    private contextMenuBeforeOpen;
    private ensureTarget;
    /**
     *To destroy the context menu
     *
     * @returns {void} To destroy the context menu
     */
    destroy(): void;
    private getModuleName;
    private generateID;
    private getKeyFromId;
    private buildDefaultItems;
    private getDefaultItems;
    private setLocaleKey;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/objects/dictionary/basic-shapes.d.ts
/**
 *  BasicShapeDictionary defines the shape of the built-in basic shapes \
 *
 * @returns { string }      BasicShapeDictionary defines the shape of the built-in basic shapes .\
 * @param {string} shape - provide the element value.
 *
 * @private
 */
export  function getBasicShape(shape: string): string;
//node_modules/@syncfusion/ej2-diagrams/src/diagram/objects/dictionary/common.d.ts
/**
 *ShapeDictionary defines the shape of the default nodes and ports \
 *
 * @returns { string }     ShapeDictionary defines the shape of the default nodes and ports.\
 * @param {PortShapes} shape - provide the element value.
 *
 * @private
 */
export  function getPortShape(shape: PortShapes): string;
/**
 *ShapeDictionary defines the shape of the default nodes and ports \
 *
 * @returns { string }     ShapeDictionary defines the shape of the default nodes and ports.\
 * @param {DecoratorShapes} shape - provide the element value.
 * @param {DecoratorModel} decorator - provide the element value.
 
 *
 * @private
 */
export  function getDecoratorShape(shape: DecoratorShapes, decorator: DecoratorModel): string;
export  function getSegmentThumbShapeHorizontal(shapes: SegmentThumbShapes): any;
export  function getSegmentThumbShapeVertical(shapes: SegmentThumbShapes): any;
/**
 *sets the path data for different icon shapes \
 *
 * @returns { string }     sets the path data for different icon shapes\
 * @param {IconShapeModel} icon - provide the element value.
 *
 * @private
 */
export  function getIconShape(icon: IconShapeModel): string;
//node_modules/@syncfusion/ej2-diagrams/src/diagram/objects/dictionary/flow-shapes.d.ts
/**
 * FlowShapeDictionary defines the shape of the built-in flow shapes \
 *
 * @returns { string }     FlowShapeDictionary defines the shape of the built-in flow shapes .\
 * @param {string} shape - provide the element value.
 *
 * @private
 */
export  function getFlowShape(shape: string): string;
//node_modules/@syncfusion/ej2-diagrams/src/diagram/objects/dictionary/umlactivity-shapes.d.ts
/**
 * UMLActivityShapeDictionary defines the shape of the built-in uml activity shapes \
 *
 * @returns { string } UMLActivityShapeDictionary defines the shape of the built-in uml activity shapes .\
 * @param {string} shape - provide the shape value.
 *
 * @private
 */
export  function getUMLActivityShape(shape: string): string;
//node_modules/@syncfusion/ej2-diagrams/src/diagram/objects/fixed-user-handle-model.d.ts
/**
 * Interface for a class FixedUserHandle
 * @private
 */
export interface FixedUserHandleModel {
    /**
     * Specifies the unique id of the fixed user handle
     *
     * @default ''
     */
    id?: string;
    /**
     * Specifies the fill color of the fixed user handle
     *
     * @default 'transparent'
     */
    fill?: string;
    /**
     * Specifies the stroke color of the fixed user handle
     *
     * @default 'transparent'
     */
    iconStrokeColor?: string;
    /**
     * Specifies the stroke width of the fixed user handle
     *
     * @default 0
     */
    iconStrokeWidth?: number;
    /**
     * Specifies the visibility of the fixed user handle
     *
     * @default true
     */
    visibility?: boolean;
    /**
     * Specifies the width of the fixed user handle
     *
     * @default 10
     */
    width?: number;
    /**
     * Specifies the height of the fixed user handle
     *
     * @default 10
     */
    height?: number;
    /**
     * Specifies the stroke color of the fixed user handle container
     *
     * @default ''
     */
    handleStrokeColor?: string;
    /**
     * Specifies the stroke width of the fixed user handle container
     *
     * @default 1
     */
    handleStrokeWidth?: number;
    /**
     * Specifies the shape information for fixed user handle
     *
     * @default ''
     */
    pathData?: string;
    /**
     * Specifies the cornerRadius for fixed user handle container
     *
     * @default 0
     */
    cornerRadius?: number;
    /**
     * Specifies the space between the fixed user handle and container
     *
     * @default new Margin(0,0,0,0)
     */
    padding?: MarginModel;
}
/**
 * Interface for a class NodeFixedUserHandle
 */
export interface NodeFixedUserHandleModel extends FixedUserHandleModel{
    /**
     * Specifies the position of the node fixed user handle
     *
     * @default { x: 0, y: 0 }
     */
    offset?: PointModel;
    /**
     * Specifies the space that the fixed user handle has to be moved from its actual position
     *
     * @default new Margin(0,0,0,0)
     */
    margin?: MarginModel;
}
/**
 * Interface for a class ConnectorFixedUserHandle
 */
export interface ConnectorFixedUserHandleModel extends FixedUserHandleModel{
    /**
     * Specifies the position of the connector fixed user handle
     *
     * @default 0.5
     */
    offset?: number;
    /**
     * Specifies the segment alignment of the fixed user handle
     *  * Center - Aligns the annotation at the center of a connector segment
     *  * Before - Aligns the annotation before a connector segment
     *  * After - Aligns the annotation after a connector segment
     *
     * @default Center
     */
    alignment?: FixedUserHandleAlignment;
    /**
     * Specifies the displacement of an fixed user handle from its actual position
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    displacement?: PointModel;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/objects/fixed-user-handle.d.ts
/**
 * Specifies the behavior of fixedUserHandles
 */
/** @private */
export  class FixedUserHandle extends base.ChildProperty<FixedUserHandle> {
    /**
     * Specifies the unique id of the fixed user handle
     *
     * @default ''
     */
    id: string;
    /**
     * Specifies the fill color of the fixed user handle
     *
     * @default 'transparent'
     */
    fill: string;
    /**
     * Specifies the stroke color of the fixed user handle
     *
     * @default 'transparent'
     */
    iconStrokeColor: string;
    /**
     * Specifies the stroke width of the fixed user handle
     *
     * @default 0
     */
    iconStrokeWidth: number;
    /**
     * Specifies the visibility of the fixed user handle
     *
     * @default true
     */
    visibility: boolean;
    /**
     * Specifies the width of the fixed user handle
     *
     * @default 10
     */
    width: number;
    /**
     * Specifies the height of the fixed user handle
     *
     * @default 10
     */
    height: number;
    /**
     * Specifies the stroke color of the fixed user handle container
     *
     * @default ''
     */
    handleStrokeColor: string;
    /**
     * Specifies the stroke width of the fixed user handle container
     *
     * @default 1
     */
    handleStrokeWidth: number;
    /**
     * Specifies the shape information for fixed user handle
     *
     * @default ''
     */
    pathData: string;
    /**
     * Specifies the cornerRadius for fixed user handle container
     *
     * @default 0
     */
    cornerRadius: number;
    /**
     * Specifies the space between the fixed user handle and container
     *
     * @default new Margin(0,0,0,0)
     */
    padding: MarginModel;
}
/**
 * Defines the node Fixed User Handle
 */
export  class NodeFixedUserHandle extends FixedUserHandle {
    /**
     * Specifies the position of the node fixed user handle
     *
     * @default { x: 0, y: 0 }
     */
    offset: PointModel;
    /**
     * Specifies the space that the fixed user handle has to be moved from its actual position
     *
     * @default new Margin(0,0,0,0)
     */
    margin: MarginModel;
}
/**
 * Defines the connector Fixed User Handle
 */
export  class ConnectorFixedUserHandle extends FixedUserHandle {
    /**
     * Specifies the position of the connector fixed user handle
     *
     * @default 0.5
     */
    offset: number;
    /**
     * Specifies the segment alignment of the fixed user handle
     *  * Center - Aligns the annotation at the center of a connector segment
     *  * Before - Aligns the annotation before a connector segment
     *  * After - Aligns the annotation after a connector segment
     *
     * @default Center
     */
    alignment: FixedUserHandleAlignment;
    /**
     * Specifies the displacement of an fixed user handle from its actual position
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    displacement: PointModel;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/objects/icon-model.d.ts
/**
 * Interface for a class IconShape
 */
export interface IconShapeModel {
    /**
     * Defines the shape of the icon.
     * None
     * Minus - sets the icon shape as minus
     * Plus - sets the icon shape as Plus
     * ArrowUp - sets the icon shape as ArrowUp
     * ArrowDown - sets the icon shape as ArrowDown
     * Template - sets the icon shape based on  the given  custom template
     * Path - sets the icon shape based on the given  custom Path
     *
     * @default 'None'
     */
    shape?: IconShapes;
    /**
     * Sets the fill color of an icon.
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     *           id: 'node1', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *           annotations: [{ content: 'Default Shape' }],
     *           expandIcon: { height: 20, width: 20, shape: "ArrowDown", fill: 'red' },
     *           collapseIcon: { height: 20, width: 20, shape: "ArrowUp" },
     *       }];
     * let diagram$: Diagram = new Diagram({
     * ...
     *  nodes: nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default 'white'
     */
    fill?: string;
    /**
     * Defines how the Icon has to be horizontally aligned.
     * * Stretch - Stretches the diagram element throughout its immediate parent
     * * Left - Aligns the diagram element at the left of its immediate parent
     * * Right - Aligns the diagram element at the right of its immediate parent
     * * Center - Aligns the diagram element at the center of its immediate parent
     * * Auto - Aligns the diagram element based on the characteristics of its immediate parent
     *
     * @default 'Auto'
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Defines how the Icon has to be Vertically aligned.
     * * Stretch - Stretches the diagram element throughout its immediate parent
     * * Top - Aligns the diagram element at the top of its immediate parent
     * * Bottom - Aligns the diagram element at the bottom of its immediate parent
     * * Center - Aligns the diagram element at the center of its immediate parent
     * * Auto - Aligns the diagram element based on the characteristics of its immediate parent
     *
     * @default 'Auto'
     */
    verticalAlignment?: VerticalAlignment;
    /**
     * Defines the width of the icon.
     *
     * @default 10
     */
    width?: number;
    /**
     * Defines the height of the icon.
     *
     * @default 10
     */
    height?: number;
    /**
     * Defines the offset of the icon.
     *
     * @default new Point(0.5,1)
     */
    offset?: PointModel;
    /**
     * Sets the border color of an icon.
     *
     * @default ''
     */
    borderColor?: string;
    /**
     * Defines the border width of the icon.
     *
     * @default 1
     */
    borderWidth?: number;
    /**
     * Defines the space that the icon has to be moved from its actual position
     *
     * @default new Margin(0,0,0,0)
     */
    margin?: MarginModel;
    /**
     * Defines the geometry of a path
     *
     * @default ''
     */
    pathData?: string;
    /**
     * Defines the custom content of the icon
     *
     * @default ''
     */
    content?: string;
    /**
     * Defines the corner radius of the icon border
     *
     * @default 0
     */
    cornerRadius?: number;
    /**
     * Defines the space that the icon has to be moved from the icon border
     *
     * @default new Margin(2,2,2,2)
     */
    padding?: MarginModel;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/objects/icon.d.ts
/**
 * Defines the behavior of default IconShapes
 */
export  class IconShape extends base.ChildProperty<IconShape> {
    /**
     * Defines the shape of the icon.
     * None
     * Minus - sets the icon shape as minus
     * Plus - sets the icon shape as Plus
     * ArrowUp - sets the icon shape as ArrowUp
     * ArrowDown - sets the icon shape as ArrowDown
     * Template - sets the icon shape based on  the given  custom template
     * Path - sets the icon shape based on the given  custom Path
     *
     * @default 'None'
     */
    shape: IconShapes;
    /**
     * Sets the fill color of an icon.
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     *           id: 'node1', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *           annotations: [{ content: 'Default Shape' }],
     *           expandIcon: { height: 20, width: 20, shape: "ArrowDown", fill: 'red' },
     *           collapseIcon: { height: 20, width: 20, shape: "ArrowUp" },
     *       }];
     * let diagram$: Diagram = new Diagram({
     * ...
     *  nodes: nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default 'white'
     */
    fill: string;
    /**
     * Defines how the Icon has to be horizontally aligned.
     * * Stretch - Stretches the diagram element throughout its immediate parent
     * * Left - Aligns the diagram element at the left of its immediate parent
     * * Right - Aligns the diagram element at the right of its immediate parent
     * * Center - Aligns the diagram element at the center of its immediate parent
     * * Auto - Aligns the diagram element based on the characteristics of its immediate parent
     *
     * @default 'Auto'
     */
    horizontalAlignment: HorizontalAlignment;
    /**
     * Defines how the Icon has to be Vertically aligned.
     * * Stretch - Stretches the diagram element throughout its immediate parent
     * * Top - Aligns the diagram element at the top of its immediate parent
     * * Bottom - Aligns the diagram element at the bottom of its immediate parent
     * * Center - Aligns the diagram element at the center of its immediate parent
     * * Auto - Aligns the diagram element based on the characteristics of its immediate parent
     *
     * @default 'Auto'
     */
    verticalAlignment: VerticalAlignment;
    /**
     * Defines the width of the icon.
     *
     * @default 10
     */
    width: number;
    /**
     * Defines the height of the icon.
     *
     * @default 10
     */
    height: number;
    /**
     * Defines the offset of the icon.
     *
     * @default new Point(0.5,1)
     */
    offset: PointModel;
    /**
     * Sets the border color of an icon.
     *
     * @default ''
     */
    borderColor: string;
    /**
     * Defines the border width of the icon.
     *
     * @default 1
     */
    borderWidth: number;
    /**
     * Defines the space that the icon has to be moved from its actual position
     *
     * @default new Margin(0,0,0,0)
     */
    margin: MarginModel;
    /**
     * Defines the geometry of a path
     *
     * @default ''
     */
    pathData: string;
    /**
     * Defines the custom content of the icon
     *
     * @default ''
     */
    content: string;
    /**
     * Defines the corner radius of the icon border
     *
     * @default 0
     */
    cornerRadius: number;
    /**
     * Defines the space that the icon has to be moved from the icon border
     *
     * @default new Margin(2,2,2,2)
     */
    padding: MarginModel;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/objects/interface/IElement.d.ts
/**
 * IElement interface defines the base of the diagram objects (node/connector)
 */
export interface IElement {
    /** returns the wrapper of the diagram element */
    wrapper: Container;
    init(diagram: Diagram, getDescription?: Function): void;
}
/**
 * IDataLoadedEventArgs defines the event arguments after data is loaded
 */
export interface IDataLoadedEventArgs {
    /** returns the id of the diagram */
    diagram: Diagram;
}
/**
 * ISelectionChangeEventArgs notifies when the node/connector are select
 *
 */
export interface ISelectionChangeEventArgs {
    /** returns the collection of nodes and connectors that have to be removed from selection list */
    oldValue: (NodeModel | ConnectorModel)[];
    /** returns the collection of nodes and connectors that have to be added to selection list  */
    newValue: (NodeModel | ConnectorModel)[];
    /**
     * Triggers before and after adding the selection to the object
     * in the diagram which can be differentiated through `state` argument.
     * We can cancel the event only before the selection of the object
     */
    state: EventState;
    /** returns the actual cause of the event  */
    cause: DiagramAction;
    /** returns whether the item is added or removed from the selection list  */
    type: ChangeType;
    /** returns whether or not to cancel the selection change event  */
    cancel: boolean;
}
/**
 * IBlazorSelectionChangeEventArgs notifies when the node/connector are select in Blazor
 *
 */
export interface IBlazorSelectionChangeEventArgs {
    /** returns the collection of nodes and connectors that have to be removed from selection list */
    oldValue: DiagramEventObjectCollection;
    /** returns the collection of nodes and connectors that have to be added to selection list  */
    newValue: DiagramEventObjectCollection;
    /**
     * Triggers before and after adding the selection to the object
     * in the diagram which can be differentiated through `state` argument.
     * We can cancel the event only before the selection of the object
     */
    state: EventState;
    /** returns the actual cause of the event  */
    cause: DiagramAction;
    /** returns whether the item is added or removed from the selection list  */
    type: ChangeType;
    /** returns whether or not to cancel the selection change event  */
    cancel: boolean;
}
/**
 * ISizeChangeEventArgs notifies when the node are resized
 *
 */
export interface ISizeChangeEventArgs {
    /** returns the node that is selected for resizing
     *
     */
    source?: SelectorModel;
    /** returns the state of the event */
    state: State;
    /** returns the previous width, height, offsetX and offsetY values of the element that is being resized
     *
     */
    oldValue: SelectorModel;
    /** returns the new width, height, offsetX and offsetY values of the element that is being resized
     *
     */
    newValue: SelectorModel;
    /** specify whether or not to cancel the event */
    cancel: boolean;
}
/**
 * IRotationEventArgs notifies when the node/connector are rotated
 *
 */
export interface IRotationEventArgs {
    /** returns the node that is selected for rotation
     *
     */
    source?: SelectorModel;
    /** returns the state of the event */
    state: State;
    /** returns the previous rotation angle
     *
     */
    oldValue: SelectorModel;
    /** returns the new rotation angle
     *
     */
    newValue: SelectorModel;
    /** returns whether to cancel the change or not */
    cancel: boolean;
}
/**
 * IConnectorInitEventArgs notifies when the connector is initiated
 */
export interface IConnectorInitEventArgs {
    /** returns connector that is being changed
     *
     */
    element?: ConnectorModel;
}
/**
 * DiagramCollectionObject is the interface for the diagram objects
 *
 */
export interface DiagramEventObjectCollection {
    /** returns the collection of node
     *
     */
    nodes?: NodeModel[];
    /** returns the collection of connector
     *
     */
    connectors?: ConnectorModel[];
    /**
     * @private
     * Returns the collection of node id
     *
     */
    nodeCollection?: string[];
    /**
     * @private
     * Returns the collection of connector id
     *
     */
    connectorCollection?: string[];
}
/**
 * DiagramObject is the interface for the diagram object
 *
 */
export interface DiagramEventObject {
    /** returns the  node
     *
     */
    node?: NodeModel;
    /** returns the  connector
     *
     */
    connector?: ConnectorModel;
    /**
     * @private
     * returns the id of node
     *
     */
    nodeId?: string;
    /**
     * @private
     * returns the id of connector
     *
     */
    connectorId?: string;
}
/**
 * fixedUserHandleClickEventArgs notifies when the fixed user handle gets clicked
 *
 */
/**   @private  */
export interface BlazorFixedUserHandleClickEventArgs {
    /** returns the fixed user handle of nodes/connector.
     */
    fixedUserHandle: DiagramFixedUserHandle;
    /** returns the selected nodes/connector */
    element: DiagramEventObject;
}
/**
 * fixedUserHandleClickEventArgs notifies when the fixed user handle gets clicked
 *
 */
export interface FixedUserHandleClickEventArgs {
    /** returns the fixed user handle  of nodes/connector.
     */
    fixedUserHandle: NodeFixedUserHandleModel | ConnectorFixedUserHandleModel;
    /** returns the selected nodes/connector */
    element: NodeModel | ConnectorModel;
}
/**
 * DiagramFixedUserHandle is the interface for the fixed user handle
 *
 */
/**   @private  */
export interface DiagramFixedUserHandle {
    /** returns the  node fixed user handle
     *
     */
    nodeFixedUserHandle?: NodeFixedUserHandleModel;
    /** returns the  connector fixed user handle
     */
    connectorFixedUserHandle?: ConnectorFixedUserHandleModel;
}
/**
 * ICollectionChangeEventArgs notifies while the node/connector are added or removed
 *
 */
export interface ICollectionChangeEventArgs {
    /** returns the selected element  */
    element: NodeModel | ConnectorModel;
    /** returns the action of diagram */
    cause: DiagramAction;
    /** returns the string of the DiagramAction*/
    diagramAction: string;
    /** returns the state of the event */
    state: EventState;
    /** returns the type of the collection change */
    type: ChangeType;
    /** returns whether to cancel the change or not */
    cancel: boolean;
    /** returns the lane index */
    laneIndex?: Number;
    /** returns a parent node of the target node */
    parentId?: string;
}
/**
 * IBlazorCollectionChangeEventArgs notifies while the node/connector are added or removed in the diagram
 *
 */
export interface IBlazorCollectionChangeEventArgs {
    /** returns the action of diagram */
    cause: DiagramAction;
    /** returns the state of the event */
    state: EventState;
    /** returns the type of the collection change */
    type: ChangeType;
    /** returns whether to cancel the change or not */
    cancel: boolean;
    /** returns the selected element  */
    element?: DiagramEventObject;
}
/**
 * IBlazorSegmentCollectionChangeEventArgs notifies while the segment of the connectors changes
 *
 */
export interface IBlazorSegmentCollectionChangeEventArgs {
    /** returns the selected element
     *
     */
    element: ConnectorModel;
    /** returns the selected element  */
    removeSegments?: OrthogonalSegmentModel[];
    /** returns the action of diagram */
    addSegments?: OrthogonalSegmentModel[];
    /** returns the type of the collection change */
    type: ChangeType;
    /** returns whether to cancel the change or not */
    cancel: boolean;
}
/**
 * UserHandleEventsArgs notifies while the user handle gets clicked.
 *
 */
export interface UserHandleEventsArgs {
    /** returns the user handle object */
    element: UserHandleModel;
}
/**
 * ICollectionChangeEventArgs notifies while the node/connector are added or removed
 *
 */
export interface ISegmentCollectionChangeEventArgs {
    /** returns the selected element
     *
     */
    element: ConnectorModel;
    /** returns the selected element  */
    removeSegments?: (OrthogonalSegmentModel | StraightSegmentModel | BezierSegmentModel)[];
    /** returns the action of diagram */
    addSegments?: (OrthogonalSegmentModel | StraightSegmentModel | BezierSegmentModel)[];
    /** returns the type of the collection change */
    type: ChangeType;
    /** returns whether to cancel the change or not */
    cancel: boolean;
}
/**
 * IPropertyChangeEventArgs notifies when the node/connector property changed
 *
 */
export interface IPropertyChangeEventArgs {
    /** returns the selected element */
    element: (NodeModel | ConnectorModel | Diagram);
    /** returns the action is nudge or not */
    cause: DiagramAction;
    /** returns the string of the DiagramAction*/
    diagramAction: string;
    /** returns the old value of the property that is being changed */
    oldValue: DiagramModel | NodeModel | ConnectorModel;
    /** returns the new value of the node property that is being changed */
    newValue: DiagramModel | NodeModel | ConnectorModel;
}
/**
 * PropertyChangeObject notifies whether it is node or connector
 */
export interface DiagramPropertyChangeObject {
    /** returns the new source node or target node of the connector
     *
     */
    node?: NodeModel;
    /** returns the new source node or target node of the connector
     *
     */
    connector?: ConnectorModel;
    diagram?: DiagramModel;
}
/**
 * IBlazorPropertyChangeEventArgs notifies when the node/connector property changed
 *
 */
export interface IBlazorPropertyChangeEventArgs {
    /** returns the selected element */
    element: DiagramPropertyChangeObject;
    /** returns the action is nudge or not */
    cause: DiagramAction;
    /** returns the string of the DiagramAction*/
    diagramAction: string;
    /** returns the old value of the property that is being changed */
    oldValue: DiagramPropertyChangeObject;
    /** returns the new value of the node property that is being changed */
    newValue: DiagramPropertyChangeObject;
}
/**
 * IDraggingEventArgs notifies when the node/connector are dragged
 *
 */
export interface IDraggingEventArgs {
    /** returns the node or connector that is being dragged */
    source: SelectorModel;
    /** returns the state of drag event (Starting, dragging, completed) */
    state: State;
    /** returns the previous node or connector that is dragged */
    oldValue: SelectorModel;
    /** returns the current node or connector that is being dragged */
    newValue: SelectorModel;
    /** returns the target node or connector that is dragged */
    target: NodeModel | ConnectorModel;
    /** returns the offset of the selected items */
    targetPosition: PointModel;
    /** returns the object that can be dropped over the element */
    allowDrop: boolean;
    /** returns whether to cancel the change or not */
    cancel: boolean;
}
export interface ConnectorValue {
    nodeId: string;
    portId: string;
}
/**
 * BlazorConnectionObject interface for the connector object
 *
 */
export interface BlazorConnectionObject {
    /** returns the new source node or target node of the connector
     *
     */
    connector?: ConnectorModel;
    connectorTargetValue?: ConnectorValue;
    connectorSourceValue?: ConnectorValue;
}
/**
 * IBlazorConnectionChangeEventArgs notifies when the connector are connect or disconnect
 *
 */
export interface IBlazorConnectionChangeEventArgs {
    /** returns the new source node or target node of the connector
     *
     */
    connector?: ConnectorModel;
    /** returns the previous source or target node of the element */
    oldValue: BlazorConnectionObject;
    /** returns the current source or target node of the element */
    newValue: BlazorConnectionObject;
    /** returns the connector end  */
    connectorEnd: string;
    /** returns the state of connection end point dragging(starting, dragging, completed) */
    state: EventState;
    /** returns whether to cancel the change or not */
    cancel: boolean;
}
/**
 * IBlazorDragLeaveEventArgs notifies when the element leaves from  the diagram
 *
 */
export interface IBlazorDragLeaveEventArgs {
    /** returns the id of the diagram */
    diagramId: string;
    /** returns the node or connector that is dragged outside of the diagram */
    element: DiagramEventObject;
}
/**
 * IBlazorDraggingEventArgs notifies when the node/connector are dragged
 */
export interface IBlazorDraggingEventArgs {
    /** returns the node or connector that is being dragged
     *
     */
    source?: SelectorModel;
    /** returns the state of drag event (Starting, dragging, completed) */
    state: State;
    /** returns the previous node or connector that is dragged
     *
     */
    oldValue: SelectorModel;
    /** returns the current node or connector that is being dragged
     *
     */
    newValue: SelectorModel;
    /** returns the target node or connector that is dragged */
    target: DiagramEventObject;
    /** returns the offset of the selected items */
    targetPosition: PointModel;
    /** returns the object that can be dropped over the element */
    allowDrop: boolean;
    /** returns whether to cancel the change or not */
    cancel: boolean;
}
/**
 * IConnectionChangeEventArgs notifies when the connector are connect or disconnect
 *
 */
export interface IConnectionChangeEventArgs {
    /** returns the new source node or target node of the connector */
    connector: ConnectorModel;
    /** returns the previous source or target node of the element */
    oldValue: Connector | {
        nodeId: string;
        portId: string;
    };
    /** returns the current source or target node of the element */
    newValue: Connector | {
        nodeId: string;
        portId: string;
    };
    /** returns the connector end  */
    connectorEnd: string;
    /** returns the state of connection end point dragging(starting, dragging, completed) */
    state: EventState;
    /** returns whether to cancel the change or not */
    cancel: boolean;
}
/**
 * IEndChangeEventArgs notifies when the connector end point are resized
 *
 */
export interface IEndChangeEventArgs {
    /** returns the connector, the target point of which is being dragged
     *
     */
    connector: ConnectorModel;
    /** returns the previous target node of the element */
    oldValue: PointModel;
    /** returns the current target node of the element */
    newValue: PointModel;
    /** returns the target node of the element */
    targetNode: string;
    /** returns the target port of the element */
    targetPort: string;
    /** returns the source node of the element */
    sourceNode?: string;
    /** returns the source port of the element */
    sourcePort?: string;
    /** returns the state of connection end point dragging(starting, dragging, completed) */
    state: State;
    /** returns whether to cancel the change or not */
    cancel: boolean;
}
/**
 * Animation notifies when the animation is take place
 *
 */
export interface Animation {
    /** returns the current animation status */
    state: State;
}
/**
 * IClickEventArgs notifies while click on the objects or diagram
 *
 */
export interface IClickEventArgs {
    /** returns the object that is clicked or id of the diagram */
    element: SelectorModel | Diagram;
    /** returns the object position that is actually clicked */
    position: PointModel;
    /** returns the number of times clicked */
    count: number;
    /** returns the actual object that is clicked or id of the diagram */
    actualObject: SelectorModel | Diagram;
    /** returns the button clicked */
    button?: MouseButtons;
}
/**
 * IBlazorClickEventArgs notifies while click on the objects or diagram
 *
 */
export interface IBlazorClickEventArgs {
    /** returns the object that is clicked or id of the diagram */
    element: DiagramClickEventObject;
    /** returns the object position that is actually clicked */
    position: PointModel;
    /** returns the number of times clicked */
    count: number;
    /** returns the actual object that is clicked or id of the diagram */
    actualObject: DiagramClickEventObject;
    /** returns the button clicked */
    button?: MouseButtons;
}
/**
 * IDoubleClickEventArgs notifies while double click on the diagram or its objects
 *
 */
export interface IDoubleClickEventArgs {
    /** returns the object that is clicked or id of the diagram */
    source: SelectorModel | Diagram;
    /** returns the object position that is actually clicked */
    position: PointModel;
    /** returns the number of times clicked */
    count: number;
}
/**
 * ClickedObject notifies whether it is node or connector
 */
export interface DiagramClickEventObject {
    /** returns the selected items
     *
     */
    selector?: SelectorModel;
    diagram?: Diagram;
}
/**
 * IDoubleClickEventArgs notifies while double click on the diagram or its objects
 *
 */
export interface IBlazorDoubleClickEventArgs {
    /** returns the object that is clicked or id of the diagram */
    source: DiagramClickEventObject;
    /** returns the object position that is actually clicked */
    position: PointModel;
    /** returns the number of times clicked */
    count: number;
}
export interface IMouseEventArgs {
    /** returns a parent node of the target node or connector */
    element: NodeModel | ConnectorModel | SelectorModel;
    /** returns when mouse hover to the target node or connector */
    actualObject: Object;
    /** returns the target object over which the selected object is dragged */
    targets: (NodeModel | ConnectorModel)[];
}
/**
 * MouseEventElement notifies whether it is node or connector or selector model
 */
export interface DiagramMouseEventObject {
    /** returns the new source node or target node of the connector
     *
     */
    node?: NodeModel;
    /** returns the new source node or target node of the connector
     *
     */
    connector?: ConnectorModel;
    selector?: SelectorModel;
}
/**
 * MouseEventElement notifies whether it is node or connector or selector model
 */
export interface DiagramEventObjectCollection {
    /** returns the collection of node
     * ObservableCollection<DiagramNode>
     */
    node?: NodeModel[];
    /** returns the collection of connectors
     * ObservableCollection<DiagramConnector>
     */
    connector?: ConnectorModel[];
}
export interface IBlazorMouseEventArgs {
    /** returns a parent node of the target node or connector */
    element: DiagramMouseEventObject;
    /** returns when mouse hover to the target node or connector */
    actualObject: DiagramMouseEventObject;
    /** returns the target object over which the selected object is dragged */
    targets: DiagramEventObjectCollection;
}
/**
 * elementDraw triggered when node or connector are drawn with drawing tool
 *
 */
export interface IElementDrawEventArgs {
    /**returns the node or connector which we draw with drawing tool */
    source: NodeModel | ConnectorModel;
    /**returns the state of drawing tool event */
    state: State;
    /**returns the node or connector about to be drawn */
    objectType: string;
    /**returns the node shape name or connector type */
    elementType: string;
    /**returns whether to cancel the drawing shape or connector in the start state */
    cancel: Boolean;
}
/**
 * scrollArgs notifies when the scroller had updated
 *
 */
export interface ScrollValues {
    /** returns the horizontaloffset of the scroller */
    HorizontalOffset: number;
    /** returns the verticalOffset of the scroller */
    VerticalOffset: number;
    /** returns the CurrentZoom of the scroller */
    CurrentZoom: number;
    /** returns the ViewportWidth of the scroller */
    ViewportWidth: number;
    /** returns the ViewportHeight of the scroller */
    ViewportHeight: number;
}
/**
 * IBlazorScrollChangeEventArgs notifies when the scroller has changed
 *
 */
export interface IBlazorScrollChangeEventArgs {
    /** returns the object that is clicked or id of the diagram */
    sourceId: string;
    /** returns the previous delay value between subsequent auto scrolls */
    oldValue: ScrollValues;
    /** returns the new delay value between subsequent auto scrolls */
    newValue: ScrollValues;
    /** returns the pan state of the object */
    panState: State;
}
/**
 * IScrollChangeEventArgs notifies when the scroller has changed
 *
 */
export interface IScrollChangeEventArgs {
    /** returns the object that is clicked or id of the diagram */
    source: SelectorModel | Diagram;
    /** returns the previous delay value between subsequent auto scrolls */
    oldValue: ScrollValues;
    /** returns the new delay value between subsequent auto scrolls */
    newValue: ScrollValues;
    /** returns the pan state of the object */
    panState: State;
}
/**
 * IPaletteSelectionChangeArgs notifies when the selection objects change in the symbol palette
 *
 */
export interface IPaletteSelectionChangeArgs {
    /** returns the old palette item that is selected */
    oldValue: string;
    /** returns the new palette item that is selected */
    newValue: string;
}
/**
 * IPaletteExpandArgs notifies when the palette items are expanded or collapsed in the symbol palette
 *
 */
export interface IPaletteExpandArgs {
    /** returns the index of the palette item selected */
    index: number;
    /** returns the value whether the palette item is expanded */
    isExpanded: boolean;
    /** cancels the palette item expand or collapse */
    cancel: boolean;
    /** returns the content of the palette item that is selected */
    content: HTMLElement;
    /** returns the  palette item selected */
    element: HTMLElement;
    /** returns the properties of the palette item selected */
    palette: PaletteModel;
}
/**
 * IDragEnterEventArgs notifies when the element enter into the diagram from symbol palette
 *
 */
export interface IDragEnterEventArgs {
    /** returns the node or connector that is to be dragged into diagram */
    source: Object;
    /** returns the node or connector that is dragged into diagram */
    element: NodeModel | ConnectorModel;
    /** returns the id of the diagram */
    diagram: DiagramModel;
    /** parameter returns whether to add or remove the symbol from diagram */
    cancel: boolean;
    /** returns the node or connector that been dragged into diagram from other component */
    dragData: base.DropInfo;
    /** returns the node or connector that been returned into the diagram */
    dragItem: NodeModel | ConnectorModel;
}
/**
 * IBlazorDragEnterEventArgs notifies when the element enter into the diagram from symbol palette
 *
 */
export interface IBlazorDragEnterEventArgs {
    /** returns the node or connector that is to be dragged into diagram */
    source: Object;
    /** returns the node or connector that is dragged into diagram */
    element: DiagramEventObject;
    /** returns the id of the diagram */
    diagramId: string;
    /** parameter returns whether to add or remove the symbol from diagram */
    cancel: boolean;
}
/**
 * IDragLeaveEventArgs notifies when the element leaves from  the diagram
 *
 */
export interface IDragLeaveEventArgs {
    /** returns the id of the diagram */
    diagram: DiagramModel;
    /** returns the node or connector that is dragged outside of the diagram
     *
     */
    element: SelectorModel;
}
/**
 * IDragOverEventArgs notifies when an element drag over another diagram element
 *
 */
export interface IDragOverEventArgs {
    /** returns the id of the diagram */
    diagram: DiagramModel;
    /** returns the node or connector that is dragged over diagram
     *
     */
    element: SelectorModel;
    /** returns the node/connector over which the symbol is dragged
     *
     */
    target: SelectorModel;
    /** returns the mouse position of the node/connector */
    mousePosition: PointModel;
}
/**
 * ITextEditEventArgs notifies when the label of an element under goes editing
 */
export interface ITextEditEventArgs {
    /** Returns the old text value of the element */
    oldValue: string;
    /** Returns the new text value of the element that is being changed */
    newValue: string;
    /** Returns a node or connector in which annotation is being edited */
    element: NodeModel | ConnectorModel;
    /** Returns a annotation which is being edited */
    annotation: ShapeAnnotationModel | PathAnnotationModel | TextModel;
    /** Returns whether or not to cancel the event */
    cancel: boolean;
}
/**
 * IBlazorTextEditEventArgs notifies when the label of an element under goes editing
 */
export interface IBlazorTextEditEventArgs {
    /** Returns the old text value of the element */
    oldValue: string;
    /** Returns the new text value of the element that is being changed */
    newValue: string;
    /** Returns a node or connector in which annotation is being edited */
    element: DiagramEventObject;
    /** Returns a annotation which is being edited */
    annotation: DiagramEventAnnotation;
    /** Returns whether or not to cancel the event */
    cancel: boolean;
}
/**
 * DiagramObject is the interface for the diagram object
 *
 */
export interface DiagramEventAnnotation {
    /** returns the  node annotation
     */
    nodeAnnotation?: ShapeAnnotationModel;
    /** returns the  connector annotationAnnotation
     */
    connectorAnnotation?: PathAnnotationModel;
    /**
     * @private
     * returns the id of node
     *
     */
    annotationId?: string;
    /** returns the  text node
     *
     */
    textNode?: TextModel;
}
/**
 * IBlazorHistoryChangeArgs notifies while the node/connector are added or removed
 *
 */
export interface IBlazorHistoryChangeArgs {
    /** returns an array of objects, where each object represents the changes made in last undo/redo */
    change: ChangedObject;
    /** returns the cause of the event */
    cause: string;
    /** returns a collection of objects that are changed in the last undo/redo */
    source?: DiagramEventObjectCollection;
    /** returns the event action */
    action?: HistoryChangeAction;
}
/**
 * IHistoryChangeArgs notifies when the label of an element under goes editing
 *
 */
export interface IHistoryChangeArgs {
    /** returns a collection of objects that are changed in the last undo/redo */
    source: (NodeModel | ConnectorModel)[];
    /** returns a string array of changed property of node/connector */
    sourceId: string[];
    /** returns an array of objects, where each object represents the changes made in last undo/redo */
    change: SelectorModel;
    /** returns the cause of the event */
    cause: string;
    /** returns the event action */
    action?: HistoryChangeAction;
}
/**
 * IBlazorChangeArgs
 *
 */
export interface ChangedObject {
    /** returns the type of the entry */
    entryType: string;
    /** returns a collection of objects that are changed in the last undo/redo */
    oldValue: ChangedValues;
    /** returns an array of objects, where each object represents the changes made in last undo/redo */
    newValue: ChangedValues;
}
export interface ChangedValues {
    /** returns a object's offset x  */
    offsetX?: number;
    /** returns a object's offset y  */
    offsetY?: number;
    /** returns a object's width  */
    width?: number;
    /** returns a object's height */
    height?: number;
    /** returns a object's rotateangle  */
    rotateAngle?: number;
}
/**
 * ICustomHistoryChangeArgs notifies when the label of an element under goes editing
 *
 */
export interface ICustomHistoryChangeArgs {
    /** returns the type of the entry that means undo or redo */
    entryType: string;
    /** returns a collection of objects that are changed in the last undo/redo */
    oldValue: NodeModel | ConnectorModel | SelectorModel | DiagramModel | ShapeAnnotation | PathAnnotation | PointPortModel;
    /** returns an array of objects, where each object represents the changes made in last undo/redo */
    newValue: NodeModel | ConnectorModel | SelectorModel | DiagramModel | ShapeAnnotation | PathAnnotation | PointPortModel;
}
/**
 * ICustomHistoryChangeArgs notifies when the label of an element under goes editing
 *
 */
export interface IBlazorCustomHistoryChangeArgs {
    /** returns the type of the entry that means undo or redo */
    entryType: string;
    /** returns a collection of objects that are changed in the last undo/redo */
    oldValue: HistoryChangeEventObject;
    /** returns an array of objects, where each object represents the changes made in last undo/redo */
    newValue: HistoryChangeEventObject;
}
export interface HistoryChangeEventObject {
    /** returns a node objects
     *
     */
    node?: Node;
    /** returns a connector objects
     *
     */
    connector?: ConnectorModel;
    /** returns a selector objects
     *
     */
    selector?: SelectorModel;
    /** returns a diagram objects  */
    diagram?: DiagramModel;
    /** returns a shape annotation objects
     */
    shapeAnnotation?: ShapeAnnotation;
    /** returns a path annotation objects
     */
    pathAnnotation?: PathAnnotation;
    /** returns port objects  */
    pointPortModel?: PointPortModel;
    /** returns the custom objects  */
    object?: object;
}
/**
 * DiagramDropObject notifies when the element is dropped in the diagram in blazor
 *
 */
export interface DiagramEventDropObject {
    /** returns a node objects
     *
     */
    node?: NodeModel;
    /** returns a connector objects
     *
     */
    connector?: ConnectorModel;
    /** returns a diagram objects  */
    diagramId?: string;
}
/**
 * IBlazorDropEventArgs notifies when the element is dropped in the diagram in blazor
 *
 */
export interface IBlazorDropEventArgs {
    /** returns node or connector that is being dropped */
    element: DiagramEventObject;
    /** returns the object from where the element is dragged */
    source?: Object;
    /** returns the object over which the object will be dropped */
    target: DiagramEventDropObject;
    /** returns the position of the object */
    position: PointModel;
    /** returns whether or not to cancel the drop event */
    cancel: boolean;
}
/**
 * IDropEventArgs notifies when the element is dropped in the diagram
 *
 */
export interface IDropEventArgs {
    /** returns node or connector that is being dropped */
    element: NodeModel | ConnectorModel | SelectorModel;
    /** returns the object from where the element is dragged */
    source?: Object;
    /** returns the object over which the object will be dropped */
    target: NodeModel | ConnectorModel | DiagramModel;
    /** returns the position of the object */
    position: PointModel;
    /** returns whether or not to cancel the drop event */
    cancel: boolean;
}
/**
 * Interface for command
 */
export interface ICommandExecuteEventArgs {
    /** Sets the key value, on recognition of which the command will be executed */
    gesture: KeyGestureModel;
}
/** @private */
export interface StackEntryObject {
    targetIndex?: number;
    target?: NodeModel;
    sourceIndex?: number;
    source?: NodeModel;
}
/**
 * IExpandStateChangeEventArgs notifies when the icon is changed
 */
export interface IExpandStateChangeEventArgs {
    /** returns node that is being changed the icon
     *
     */
    element?: NodeModel;
    /** returns whether or not to expanded */
    state?: boolean;
}
/**
 * IImageLoadEventArgs notifies while the image node is loaded.
 *
 */
export interface IImageLoadEventArgs {
    /** returns the selected element
     *
     */
    element: NodeModel;
    /** returns the size of image element */
    size: Size;
}
/**
 * IKeyEventArgs notifies while perform the key actions.
 *
 */
export interface IKeyEventArgs {
    /** Returns the selected element of the diagram
     *
     */
    element?: SelectorModel;
    /** Returns the text content of the label currently editing */
    text?: string;
    /** Returns the id of the text box element in editing mode. */
    target?: string;
    /** Returns the label which is currently editing */
    label?: object;
    /** Returns value of the key action */
    key?: string;
    /** Returns a number which represents an actual key pressed */
    keyCode?: number;
    /** Returns any, modifier keys were pressed when the flick gesture occurred */
    keyModifiers?: KeyModifiers;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/objects/interface/interfaces.d.ts
/**
 * Defines the context menu item model.
 */
export interface ContextMenuItemModel extends navigations.MenuItemModel {
    /**
     * Define the target to show the menu item.
     */
    target?: string;
}
export interface ZoomOptions {
    /**
     * Sets the factor by which we can zoom in or zoom out
     */
    zoomFactor?: number;
    /** Allows to read the focus value of diagram */
    focusPoint?: PointModel;
    /** Defines the zoom type as zoomIn or ZoomOut */
    type?: ZoomTypes;
}
/**
 * Defines the intensity of the color as an integer between 0 and 255.
 */
export interface ColorValue {
    /**
     * Defines the intensity of the red color as an integer between 0 and 255.
     */
    r?: number;
    /**
     * Defines the intensity of the green color as an integer between 0 and 255.
     */
    g?: number;
    /**
     * Defines the intensity of the blue color as an integer between 0 and 255.
     */
    b?: number;
}
/**
 * Defines the options to export diagrams
 */
export interface IPrintOptions {
    /**
     * Sets the width of the page to be printed
     *
     * @default null
     */
    pageWidth?: number;
    /**
     * Sets the height of the page to be printed
     *
     * @default null
     */
    pageHeight?: number;
    /**
     * Sets the margin of the page to be printed
     *
     * @default new Margin(0,0,0,0)
     */
    margin?: MarginModel;
    /**
     * Sets the orientation of the page to be printed
     *  * Landscape - Display with page Width is more than the page Height.
     *  * Portrait - Display with page Height is more than the page width.
     *
     * @default 'Landscape'
     */
    pageOrientation?: PageOrientation;
    /**
     * Defines whether the diagram has to be exported as single or multiple images
     *
     * @default false
     */
    multiplePage?: boolean;
    /**
     * Sets the region for the print settings
     * * PageSettings - The region to be exported/printed will be based on the given page settings
     * * Content - Only the content of the diagram control will be exported
     * * CustomBounds - The region to be exported will be explicitly defined
     *
     * @default 'PageSettings'
     */
    region?: DiagramRegions;
    /**
     * Sets the aspect ratio  of the exported image
     * * None - Sets the stretch type for diagram as None
     * * Stretch - Sets the stretch type for diagram as Stretch
     * * Meet - Sets the stretch type for diagram as Meet
     * * Slice - Sets the stretch type for diagram as Slice
     *
     * @default Stretch
     */
    stretch?: Stretch;
}
/**
 * Defines the options to export diagrams
 */
export interface IExportOptions extends IPrintOptions {
    /**
     * Sets the file name of the exported image
     *
     * @default('')
     */
    fileName?: string;
    /**
     * Sets the file format to save the file
     * * JPG - Save the file in JPG Format
     * * PNG - Saves the file in PNG Format
     * * BMP - Save the file in BMP Format
     * * SVG - save the file in SVG format
     *
     * @default('')
     */
    format?: FileFormats;
    /**
     * Sets the Mode for the file to be downloaded
     * * Download - Downloads the diagram as image
     * * Data - Sends the diagram as ImageUrl
     *
     * @default('Download')
     */
    mode?: ExportModes;
    /**
     * Sets the region that has to be exported
     *
     * @default (0)
     */
    bounds?: Rect;
    /**
     * Sets the printOptions that has to be printed
     *
     * @default false
     */
    printOptions?: boolean;
}
/** Interface to cancel the diagram context menu click event */
export interface DiagramMenuEventArgs extends navigations.MenuEventArgs {
    cancel?: boolean;
    /**
     */
    item: navigations.MenuItemModel;
}
/** Defines the event before opening the context menu */
export interface DiagramBeforeMenuOpenEventArgs extends navigations.BeforeOpenCloseMenuEventArgs {
    /**
     * Defines the hidden items of the diagram context menu
     *
     */
    hiddenItems: string[];
    /**
     */
    items: navigations.MenuItemModel[];
    /**
     */
    parentItem: navigations.MenuItemModel;
}
/**
 * Defines how the diagram has to be fit into the viewport
 */
export interface IFitOptions {
    /**
     * Defines whether the diagram has to be horizontally/vertically fit into the viewport
     */
    mode?: FitModes;
    /**
     * Defines the region that has to be fit into the viewport
     */
    region?: DiagramRegions;
    /**
     * Defines the space to be left between the viewport and the content
     */
    margin?: MarginModel;
    /**
     * Enables/Disables zooming to fit the smaller content into larger viewport
     */
    canZoomIn?: boolean;
    /**
     * Defines the custom region that has to be fit into the viewport
     */
    customBounds?: Rect;
}
/** @private */
export interface ITouches {
    pageX?: number;
    pageY?: number;
    pointerId?: number;
}
/** @private */
export interface View {
    mode: RenderingMode;
    removeDocument: Function;
    updateView: Function;
    updateHtmlLayer: Function;
    renderDocument: Function;
    element: HTMLElement;
    contentWidth?: number;
    contentHeight?: number;
    diagramLayer: HTMLCanvasElement | SVGGElement;
    id: string;
    diagramRenderer: DiagramRenderer;
}
/** @private */
export interface ActiveLabel {
    id: string;
    parentId: string;
    isGroup: boolean;
    text: string;
}
/** @private */
export interface IDataSource {
    dataSource: object;
    isBinding: boolean;
    nodes: NodeModel[];
    connectors: ConnectorModel[];
}
/** @private */
export interface IFields {
    id: string;
    sourceID: string;
    targetID: string;
    sourcePointX: number;
    sourcePointY: number;
    targetPointX: number;
    targetPointY: number;
    crudAction: {
        customFields: string[];
    };
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/objects/layout-animation.d.ts
/**
 * Layout Animation function to enable or disable layout animation
 */
export  class LayoutAnimation {
    private protectChange;
    /**
     * Layout expand function for animation of expand and collapse \
     *
     * @returns {  void }   Layout expand function for animation of expand and collapse .\
     * @param {boolean} animation - provide the angle value.
     * @param {ILayout} objects - provide the angle value.
     * @param {Node} node - provide the angle value.
     * @param {Diagram} diagram - provide the angle value.
     * @private
     */
    expand(animation: boolean, objects: ILayout, node: Node, diagram: Diagram): void;
    /**
     * Setinterval and Clear interval for layout animation \
     *
     * @returns {  void }   Setinterval and Clear interval for layout animation .\
     * @param {ILayout} objValue - provide the angle value.
     * @param {Object} layoutTimer - provide the angle value.
     * @param {ILayout} stop - provide the angle value.
     * @param {Diagram} diagram - provide the angle value.
     * @param {NodeModel} node - provide the angle value.
     * @private
     */
    layoutAnimation(objValue: ILayout, layoutTimer: Object, stop: boolean, diagram: Diagram, node?: NodeModel): void;
    /**
     *update the node opacity for the node and connector once the layout animation starts \
     *
     * @returns {  void }    update the node opacity for the node and connector once the layout animation starts .\
     * @param {Node} source - provide the source value.
     * @param {number} value - provide the value.
     * @param {Diagram} diagram - provide the diagram value.
     * @private
     */
    updateOpacity(source: Node, value: number, diagram: Diagram): void;
    /**
     *To destroy the ruler
     *
     * @returns {void} To destroy the ruler
     */
    destroy(): void;
    /**
     * Core method to return the component name.
     *
     * @returns {string}  Core method to return the component name.
     * @private
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/objects/node-base-model.d.ts
/**
 * Interface for a class NodeBase
 */
export interface NodeBaseModel {
    /**
     * Represents the unique id of nodes/connectors
     *
     * @default ''
     */
    id?: string;
    /**
     * Defines the visual order of the node/connector in DOM
     *
     * @default -1
     */
    zIndex?: number;
    /**
     * Defines the space to be left between the node and its immediate parent
     *
     * @default {}
     */
    margin?: MarginModel;
    /**
     * Sets the visibility of the node/connector
     *
     * @default true
     */
    visible?: boolean;
    /**
     * defines the tooltip for the node
     *
     * @default {}
     */
    tooltip?: DiagramTooltipModel;
    /**
     * Defines whether the node should be automatically positioned or not. Applicable, if layout option is enabled.
     *
     * @default false
     */
    excludeFromLayout?: boolean;
    /**
     * Allows the user to save custom information/data about a node/connector
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    addInfo?: Object;
    /**
     * Flip the element in Horizontal/Vertical directions
     *
     * @aspDefaultValueIgnore
     * @default None
     */
    flip?: FlipDirection;
    /**
     * Allows you to flip only the node or along with port and label
     *
     * @aspDefaultValueIgnore
     * @default All
     */
    flipMode?: FlipMode;
    /**
     * Defines the symbol info of a connector
     *
     * @aspDefaultValueIgnore
     * @default undefined
     * @ignoreapilink
     */
    symbolInfo?: SymbolPaletteInfoModel;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/objects/node-base.d.ts
/**
 * Defines the common behavior of nodes, connectors and groups
 */
export  abstract class NodeBase extends base.ChildProperty<NodeBase> {
    /**
     * Represents the unique id of nodes/connectors
     *
     * @default ''
     */
    id: string;
    /**
     * Defines the visual order of the node/connector in DOM
     *
     * @default -1
     */
    zIndex: number;
    /**
     * Defines the space to be left between the node and its immediate parent
     *
     * @default {}
     */
    margin: MarginModel;
    /**
     * Sets the visibility of the node/connector
     *
     * @default true
     */
    visible: boolean;
    /**
     * defines the tooltip for the node
     *
     * @default {}
     */
    tooltip: DiagramTooltipModel;
    /**
     * Defines whether the node should be automatically positioned or not. Applicable, if layout option is enabled.
     *
     * @default false
     */
    excludeFromLayout: boolean;
    /**
     * Allows the user to save custom information/data about a node/connector
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    addInfo: Object;
    /**
     * Flip the element in Horizontal/Vertical directions
     *
     * @aspDefaultValueIgnore
     * @default None
     */
    flip: FlipDirection;
    /**
     * Allows you to flip only the node or along with port and label
     *
     * @aspDefaultValueIgnore
     * @default All
     */
    flipMode: FlipMode;
    /**
     * Defines the symbol info of a connector
     *
     * @aspDefaultValueIgnore
     * @default undefined
     * @ignoreapilink
     */
    symbolInfo: SymbolPaletteInfoModel;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/objects/node-model.d.ts
/**
 * Interface for a class Shape
 */
export interface ShapeModel {
    /**
     * Defines the type of node shape
     * * Path - Sets the type of the node as Path
     * * Text - Sets the type of the node as Text
     * * Image - Sets the type of the node as Image
     * * Basic - Sets the type of the node as Basic
     * * Flow - Sets the type of the node as Flow
     * * Bpmn - Sets the type of the node as Bpmn
     * * Native - Sets the type of the node as Native
     * * HTML - Sets the type of the node as HTML
     * * UMLActivity - Sets the type of the node as UMLActivity
     *
     * @default 'Basic'
     */
    type?: Shapes;
}
/**
 * Interface for a class Path
 */
export interface PathModel extends ShapeModel{
    /**
     * Defines the type of node shape
     *
     * @default 'Basic'
     */
    type?: Shapes;
    /**
     * Defines the geometry of a path
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     * id: 'node1', width: 100, height: 100, offsetX: 300, offsetY: 100,
     *   shape: { type: 'Path', data: 'M540.3643,137.9336L546.7973,159.7016L570.3633,159.7296'+
     *   'L550.7723,171.9366L558.9053,194.9966L540.3643,179.4996L521.8223,194.9966L529.9553,171.9366'+
     *   'L510.3633,159.7296L533.9313,159.7016L540.3643,137.9336z' }
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes: nodes
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default ''
     */
    data?: string;
}
/**
 * Interface for a class Native
 */
export interface NativeModel extends ShapeModel{
    /**
     * Defines the type of node shape.
     *
     * @default 'Basic'
     */
    type?: Shapes;
    /**
     * Defines the geometry of a native element.
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     * id: 'node1', width: 100, height: 100,
     * shape: { scale: 'Stretch',
     *   type: 'Native', content: '<g><path d='M90,43.841c0,24.213-19.779,43.841-44.182,43.841c-7.747,0-15.025-1.98-21.357-5.455'+
     * 'L0,90l7.975-23.522' +
     * 'c-4.023-6.606-6.34-14.354-6.34-22.637C1.635,19.628,21.416,0,45.818,0C70.223,0,90,19.628,90,43.841z M45.818,6.982' +
     * 'c-20.484,0-37.146,16.535-37.146,36.859c0,8.065,2.629,15.534,7.076,21.61L11.107,79.14l14.275-4.537' +
     * 'c5.865,3.851,12.891,6.097,20.437,6.097c20.481,0,37.146-16.533,37.146-36.857S66.301,6.982,45.818,6.982z M68.129,53.938' +
     * 'c-0.273-0.447-0.994-0.717-2.076-1.254c-1.084-0.537-6.41-3.138-7.4-3.495c-0.993-0.358-1.717-0.538-2.438,0.537' +
     * 'c-0.721,1.076-2.797,3.495-3.43,4.212c-0.632,0.719-1.263,0.809-2.347,0.271c-1.082-0.537-4.571-1.673-8.708-5.333' +
     * 'c-3.219-2.848-5.393-6.364-6.025-7.441c-0.631-1.075-0.066-1.656,0.475-2.191c0.488-0.482,1.084-1.255,1.625-1.882' +
     * 'c0.543-0.628,0.723-1.075,1.082-1.793c0.363-0.717,0.182-1.344-0.09-1.883c-0.27-0.537-2.438-5.825-3.34-7.977' +
     * 'c-0.902-2.15-1.803-1.792-2.436-1.792c-0.631,0-1.354-0.09-2.076-0.09c-0.722,0-1.896,0.269-2.889,1.344' +
     * 'c-0.992,1.076-3.789,3.676-3.789,8.963c0,5.288,3.879,10.397,4.422,11.113c0.541,0.716,7.49,11.92,18.5,16.223' +
     * 'C58.2,65.771,58.2,64.336,60.186,64.156c1.984-0.179,6.406-2.599,7.312-5.107C68.398,56.537,68.398,54.386,68.129,53.938z'>'+
     * '</path></g>',
     *        }
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes: nodes
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default ''
     */
    content?: string | SVGElement;
    /**
     * Defines the scale of the native element.
     * * None - Sets the stretch type for diagram as None
     * * Stretch - Sets the stretch type for diagram as Stretch
     * * Meet - Sets the stretch type for diagram as Meet
     * * Slice - Sets the stretch type for diagram as Slice
     *
     * @default 'Stretch'
     */
    scale?: Stretch;
}
/**
 * Interface for a class Html
 */
export interface HtmlModel extends ShapeModel{
    /**
     * Defines the type of node shape.
     *
     * @default 'Basic'
     */
    type?: Shapes;
    /**
     * Defines the geometry of a html element.
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     * id: 'node1', width: 100, height: 100, offsetX: 300, offsetY: 100,
     * shape: { type: 'HTML',
     * content: '<div style='background:red;
height:100%;
width:100%;
'><input type='button' value='{{:value}}' /></div>' }
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes: nodes
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default ''
     */
    content?: string | HTMLElement;
}
/**
 * Interface for a class Image
 */
export interface ImageModel extends ShapeModel{
    /**
     * Defines the type of node shape
     *
     * @default 'Basic'
     */
    type?: Shapes;
    /**
     * Defines the source of the image
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     * id: 'node1', width: 100, height: 100, offsetX: 300, offsetY: 100,
     * shape: { type: 'Image', source: 'https://www.w3schools.com/images/w3schools_green.jpg' }
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes: nodes
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default ''
     */
    source?: string;
    /**
     * Allows to stretch the image as you desired (either to maintain proportion or to stretch)
     * * None - Scale value will be set as None for the image
     * * Meet - Scale value Meet will be set for the image
     * * Slice - Scale value Slice will be set for the image
     *
     * @default 'None'
     */
    scale?: Scale;
    /**
     * Defines the alignment of the image within the node boundary.
     * * None - Alignment value will be set as none
     * * XMinYMin - smallest X value of the view port and  smallest Y value of the view port
     * * XMidYMin - midpoint X value of the view port and  smallest Y value of the view port
     * * XMaxYMin - maximum X value of the view port and  smallest Y value of the view port
     * * XMinYMid - smallest X value of the view port and midpoint Y value of the view port
     * * XMidYMid - midpoint X value of the view port and midpoint Y value of the view port
     * * XMaxYMid - maximum X value of the view port and midpoint Y value of the view port
     * * XMinYMax - smallest X value of the view port and maximum Y value of the view port
     * * XMidYMax - midpoint X value of the view port and maximum Y value of the view port
     * * XMaxYMax - maximum X value of the view port and maximum Y value of the view port
     *
     * @default 'None'
     */
    align?: ImageAlignment;
}
/**
 * Interface for a class Text
 */
export interface TextModel extends ShapeModel{
    /**
     * Defines the type of node shape
     *
     * @default 'Basic'
     */
    type?: Shapes;
    /**
     * Defines the content of a text
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     * id: 'node1', width: 100, height: 100, offsetX: 300, offsetY: 100,
     * shape: { type: 'Text', content: 'Text Element' }
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes: nodes
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default ''
     */
    content?: string;
    /**
     * Defines the space to be let between the node and its immediate parent
     *
     * @default 0
     */
    margin?: MarginModel;
}
/**
 * Interface for a class BasicShape
 */
export interface BasicShapeModel extends ShapeModel{
    /**
     * Defines the type of node shape
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let shape: BasicShapeModel = { type: 'Basic', shape: 'Rectangle' };
     * let nodes$: NodeModel[] = [{
     * id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100, shape: shape
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes : nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default 'Basic'
     */
    type?: Shapes;
    /**
     * Defines the type of the basic shape
     * * Rectangle - Sets the type of the basic shape as Rectangle
     * * Ellipse - Sets the type of the basic shape as Ellipse
     * * Hexagon - Sets the type of the basic shape as Hexagon
     * * Parallelogram - Sets the type of the basic shape as Parallelogram
     * * Triangle - Sets the type of the basic shape as Triangle
     * * Plus - Sets the type of the basic shape as Plus
     * * Star - Sets the type of the basic shape as Star
     * * Pentagon - Sets the type of the basic shape as Pentagon
     * * Heptagon - Sets the type of the basic shape as Heptagon
     * * Octagon - Sets the type of the basic shape as Octagon
     * * Trapezoid - Sets the type of the basic shape as Trapezoid
     * * Decagon - Sets the type of the basic shape as Decagon
     * * RightTriangle - Sets the type of the basic shape as RightTriangle
     * * Cylinder - Sets the type of the basic shape as Cylinder
     * * Diamond - Sets the type of the basic shape as Diamond
     *
     * @default 'Rectangle'
     */
    shape?: BasicShapes;
    /**
     * Sets the corner of the node
     *
     * @default 0
     */
    cornerRadius?: number;
    /**
     * Defines the collection of points to draw a polygon
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    points?: PointModel[];
}
/**
 * Interface for a class FlowShape
 */
export interface FlowShapeModel extends ShapeModel{
    /**
     * Defines the type of node shape
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     * id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *     shape: { type: 'Flow', shape: 'Terminator' },
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes : nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default 'Basic'
     */
    type?: Shapes;
    /**
     * Defines the type of the flow shape
     * * Process - Sets the type of the flow shape as Process
     * * Decision - Sets the type of the flow shape as Decision
     * * Document - Sets the type of the flow shape as Document
     * * PreDefinedProcess - Sets the type of the flow shape as PreDefinedProcess
     * * Terminator - Sets the type of the flow shape as Terminator
     * * PaperTap - Sets the type of the flow shape as PaperTap
     * * DirectData - Sets the type of the flow shape as DirectData
     * * SequentialData - Sets the type of the flow shape as SequentialData
     * * MultiData - Sets the type of the flow shape as MultiData
     * * Collate - Sets the type of the flow shape as Collate
     * * SummingJunction - Sets the type of the flow shape as SummingJunction
     * * Or - Sets the type of the flow shape as Or
     * * InternalStorage - Sets the type of the flow shape as InternalStorage
     * * Extract - Sets the type of the flow shape as Extract
     * * ManualOperation - Sets the type of the flow shape as ManualOperation
     * * Merge - Sets the type of the flow shape as Merge
     * * OffPageReference - Sets the type of the flow shape as OffPageReference
     * * SequentialAccessStorage - Sets the type of the flow shape as SequentialAccessStorage
     * * Annotation - Sets the type of the flow shape as Annotation
     * * Annotation2 - Sets the type of the flow shape as Annotation2
     * * Data - Sets the type of the flow shape as Data
     * * Card - Sets the type of the flow shape as Card
     * * Delay - Sets the type of the flow shape as Delay
     * * Preparation - Sets the type of the flow shape as Preparation
     * * Display - Sets the type of the flow shape as Display
     * * ManualInput - Sets the type of the flow shape as ManualInput
     * * LoopLimit - Sets the type of the flow shape as LoopLimit
     * * StoredData - Sets the type of the flow shape as StoredData
     *
     * @default 'Terminator'
     */
    shape?: FlowShapes;
}
/**
 * Interface for a class BpmnGateway
 */
export interface BpmnGatewayModel {
    /**
     * Defines the type of the BPMN Gateway
     * * None - Sets the type of the gateway as None
     * * Exclusive - Sets the type of the gateway as Exclusive
     * * Inclusive - Sets the type of the gateway as Inclusive
     * * base.Complex - Sets the type of the gateway as base.Complex
     * * EventBased - Sets the type of the gateway as EventBased
     * * ExclusiveEventBased - Sets the type of the gateway as ExclusiveEventBased
     * * ParallelEventBased - Sets the type of the gateway as ParallelEventBased
     *
     * @default 'None'
     */
    type?: BpmnGateways;
}
/**
 * Interface for a class BpmnDataObject
 */
export interface BpmnDataObjectModel {
    /**
     * Defines the type of the BPMN data object
     * * None - Sets the type of the data object as None
     * * Input - Sets the type of the data object as Input
     * * Output - Sets the type of the data object as Output
     *
     * @default 'None'
     */
    type?: BpmnDataObjects;
    /**
     * Sets whether the data object is a collection or not
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     *  id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *  shape: {
     *   type: 'Bpmn', shape: 'DataObject',
     *   dataObject: { collection: false, type: 'Input' }
     *         } as BpmnShapeModel,
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes : nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default false
     */
    collection?: boolean;
}
/**
 * Interface for a class BpmnTask
 */
export interface BpmnTaskModel {
    /**
     * Defines the type of the task
     * * None - Sets the type of the Bpmn Tasks as None
     * * Service - Sets the type of the Bpmn Tasks as Service
     * * Receive - Sets the type of the Bpmn Tasks as Receive
     * * Send - Sets the type of the Bpmn Tasks as Send
     * * InstantiatingReceive - Sets the type of the Bpmn Tasks as InstantiatingReceive
     * * Manual - Sets the type of the Bpmn Tasks as Manual
     * * BusinessRule - Sets the type of the Bpmn Tasks as BusinessRule
     * * User - Sets the type of the Bpmn Tasks as User
     * * Script - Sets the type of the Bpmn Tasks as Script
     *
     * @default 'None'
     */
    type?: BpmnTasks;
    /**
     * Defines the type of the BPMN loops
     * * None - Sets the type of the Bpmn loop as None
     * * Standard - Sets the type of the Bpmn loop as Standard
     * * ParallelMultiInstance - Sets the type of the Bpmn loop as ParallelMultiInstance
     * * SequenceMultiInstance - Sets the type of the Bpmn loop as SequenceMultiInstance
     *
     * @default 'None'
     */
    loop?: BpmnLoops;
    /**
     * Sets whether the task is global or not
     *
     * @default false
     */
    call?: boolean;
    /**
     * Sets whether the task is triggered as a compensation of another specific activity
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     *  id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *  shape: {
     *   type: 'Bpmn', shape: 'Activity', activity: {
     *       activity: 'Task',
     *       task: { call: true, compensation: false, type: 'Service', loop: 'ParallelMultiInstance' }
     *   }} as BpmnShapeModel,
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes : nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default false
     */
    compensation?: boolean;
}
/**
 * Interface for a class BpmnEvent
 */
export interface BpmnEventModel {
    /**
     *
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     *  id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *  shape: {
     *  type: 'Bpmn', shape: 'Event',
     *   event: { event: 'Start', trigger: 'None' } } as BpmnShapeModel,
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes : nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default 'Start'
     */
    event?: BpmnEvents;
    /**
     * Defines the type of the trigger
     * * None - Sets the type of the trigger as None
     * * Message - Sets the type of the trigger as Message
     * * Escalation - Sets the type of the trigger as Escalation
     * * Link - Sets the type of the trigger as Link
     * * Error - Sets the type of the trigger as Error
     * * Compensation - Sets the type of the trigger as Compensation
     * * Signal - Sets the type of the trigger as Signal
     * * Multiple - Sets the type of the trigger as Multiple
     * * Parallel - Sets the type of the trigger as Parallel
     * * Cancel - Sets the type of the trigger as Cancel
     * * Conditional - Sets the type of the trigger as Conditional
     * * Terminate - Sets the type of the trigger as Terminate
     *
     * @default 'None'
     */
    trigger?: BpmnTriggers;
}
/**
 * Interface for a class BpmnSubEvent
 */
export interface BpmnSubEventModel {
    /**
     * Defines the type of the trigger
     * * None - Sets the type of the trigger as None
     * * Message - Sets the type of the trigger as Message
     * * Escalation - Sets the type of the trigger as Escalation
     * * Link - Sets the type of the trigger as Link
     * * Error - Sets the type of the trigger as Error
     * * Compensation - Sets the type of the trigger as Compensation
     * * Signal - Sets the type of the trigger as Signal
     * * Multiple - Sets the type of the trigger as Multiple
     * * Parallel - Sets the type of the trigger as Parallel
     * * Cancel - Sets the type of the trigger as Cancel
     * * Conditional - Sets the type of the trigger as Conditional
     * * Terminate - Sets the type of the trigger as Terminate
     *
     * @default 'None'
     */
    trigger?: BpmnTriggers;
    /**
     * Sets the type of the BPMN Event
     * * Start - Sets the type of the Bpmn Event as Start
     * * Intermediate - Sets the type of the Bpmn Event as Intermediate
     * * End - Sets the type of the Bpmn Event as End
     * * NonInterruptingStart - Sets the type of the Bpmn Event as NonInterruptingStart
     * * NonInterruptingIntermediate - Sets the type of the Bpmn Event as NonInterruptingIntermediate
     * * ThrowingIntermediate - Sets the type of the Bpmn Event as ThrowingIntermediate
     *
     * @default 'Start'
     */
    event?: BpmnEvents;
    /**
     * Sets the id of the BPMN sub event
     *
     * @default ''
     */
    id?: string;
    /**
     * Defines the position of the sub event
     *
     * @default new Point(0.5,0.5)
     */
    offset?: PointModel;
    /**
     * Defines the collection of textual annotations of the sub events
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    annotations?: ShapeAnnotationModel[];
    /**
     * Defines the collection of connection points of the sub events
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    ports?: PointPortModel[];
    /**
     * Sets the width of the node
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    width?: number;
    /**
     * Sets the height of the node
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    height?: number;
    /**
     * Defines the space to be left between the node and its immediate parent
     *
     * @default 0
     */
    margin?: MarginModel;
    /**
     * Sets how to horizontally align a node with respect to its immediate parent
     * * Stretch - Stretches the diagram element throughout its immediate parent
     * * Left - Aligns the diagram element at the left of its immediate parent
     * * Right - Aligns the diagram element at the right of its immediate parent
     * * Center - Aligns the diagram element at the center of its immediate parent
     * * Auto - Aligns the diagram element based on the characteristics of its immediate parent
     *
     * @default 'Center'
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Sets how to vertically align a node with respect to its immediate parent
     * * Stretch - Stretches the diagram element throughout its immediate parent
     * * Top - Aligns the diagram element at the top of its immediate parent
     * * Bottom - Aligns the diagram element at the bottom of its immediate parent
     * * Center - Aligns the diagram element at the center of its immediate parent
     * * Auto - Aligns the diagram element based on the characteristics of its immediate parent
     *
     * @default 'Center'
     */
    verticalAlignment?: VerticalAlignment;
    /**
     * Sets the visibility of the sub event
     *
     * @default true
     */
    visible?: boolean;
}
/**
 * Interface for a class BpmnTransactionSubProcess
 */
export interface BpmnTransactionSubProcessModel {
    /**
     * Defines the size and position of the success port
     */
    success?: BpmnSubEventModel;
    /**
     * Defines the size and position of the failure port
     */
    failure?: BpmnSubEventModel;
    /**
     * Defines the size and position of the cancel port
     */
    cancel?: BpmnSubEventModel;
}
/**
 * Interface for a class BpmnSubProcess
 */
export interface BpmnSubProcessModel {
    /**
     * Defines the type of the sub process
     * * None - Sets the type of the Sub process as None
     * * Transaction - Sets the type of the Sub process as Transaction
     * * Event - Sets the type of the Sub process as Event
     *
     * @default 'None'
     */
    type?: BpmnSubProcessTypes;
    /**
     * Defines whether the sub process is without any prescribed order or not
     *
     * @default false
     */
    adhoc?: boolean;
    /**
     *
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     * id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100,
     * shape: {
     *               type: 'Bpmn', shape: 'Activity', activity: {
     *                   activity: 'SubProcess',
     *                   subProcess: { adhoc: false, boundary: 'Default', collapsed: true }
     *               },
     *           }
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes : nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     */
    boundary?: BpmnBoundary;
    /**
     * Defines the whether the task is triggered as a compensation of another task
     *
     * @default false
     */
    compensation?: boolean;
    /**
     * Defines the  type of the BPMNLoop
     * * None - Sets the type of the Bpmn loop as None
     * * Standard - Sets the type of the Bpmn loop as Standard
     * * ParallelMultiInstance - Sets the type of the Bpmn loop as ParallelMultiInstance
     * * SequenceMultiInstance - Sets the type of the Bpmn loop as SequenceMultiInstance
     *
     * @default 'None'
     */
    loop?: BpmnLoops;
    /**
     * Defines the whether the shape is collapsed or not
     *
     * @default true
     */
    collapsed?: boolean;
    /**
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let node1: NodeModel = {
     *           id: 'node1', width: 190, height: 190, offsetX: 300, offsetY: 200,
     *           shape: {
     *               type: 'Bpmn', shape: 'Activity', activity: {
     *                   activity: 'SubProcess',
     *                   subProcess: {
     *                       type: 'Event', loop: 'ParallelMultiInstance',
     *                       compensation: true, adhoc: false, boundary: 'Event', collapsed: true,
     *                       events: [{
     *                           height: 20, width: 20, offset: { x: 0, y: 0 }, margin: { left: 10, top: 10 },
     *                           horizontalAlignment: 'Left',
     *                           verticalAlignment: 'Top',
     *                           annotations: [{
     *                               id: 'label3', margin: { bottom: 10 },
     *                                horizontalAlignment: 'Center',
     *                               verticalAlignment: 'Top',
     *                               content: 'Event', offset: { x: 0.5, y: 1 },
     *                               style: {
     *                                   color: 'black', fontFamily: 'Fantasy', fontSize: 8
     *                               }
     *                           }],
     *                           event: 'Intermediate', trigger: 'Error'
     *                       }]
     *                   }
     *               }
     *           }
     *       };
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes : nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     */
    events?: BpmnSubEventModel[];
    /**
     * Defines the transaction sub process
     */
    transaction?: BpmnTransactionSubProcessModel;
    /**
     * Defines the transaction sub process
     *
     * @default []
     */
    processes?: string[];
}
/**
 * Interface for a class BpmnActivity
 */
export interface BpmnActivityModel {
    /**
     * Defines the type of the activity
     * * None - Sets the type of the Bpmn Activity as None
     * * Task - Sets the type of the Bpmn Activity as Task
     * * SubProcess - Sets the type of the Bpmn Activity as SubProcess
     *
     * @default 'Task'
     */
    activity?: BpmnActivities;
    /**
     * Defines the BPMN task
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     *  id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *     shape: {
     *     type: 'Bpmn', shape: 'Activity', activity: {
     *     activity: 'Task', task: {
     *           type: 'Service'
     *       }
     *   }
     *  },
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes : nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default 'new BPMNTask()'
     */
    task?: BpmnTaskModel;
    /**
     * Defines the type of the SubProcesses
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     *  id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *     shape: {
     *     type: 'Bpmn', shape: 'Activity', activity: {
     *     activity: 'SubProcess',
     *     subProcess: { collapsed: true } as BpmnSubProcessModel
     *   }
     *  },
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes : nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default 'None'
     */
    subProcess?: BpmnSubProcessModel;
}
/**
 * Interface for a class BpmnAnnotation
 */
export interface BpmnAnnotationModel {
    /**
     * Sets the text to annotate the bpmn shape
     *
     * @default ''
     */
    text?: string;
    /**
     * Sets the id of the BPMN sub event
     *
     * @default ''
     */
    id?: string;
    /**
     * Sets the angle between the bpmn shape and the annotation
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    angle?: number;
    /**
     * Sets the height of the text
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    height?: number;
    /**
     * Sets the width of the text
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    width?: number;
    /**
     * Sets the distance between the bpmn shape and the annotation
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    length?: number;
}
/**
 * Interface for a class BpmnShape
 */
export interface BpmnShapeModel extends ShapeModel{
    /**
     * Defines the type of node shape
     *
     * @default 'Basic'
     */
    type?: Shapes;
    /**
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     *  id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *  shape: {
     *   type: 'Bpmn', shape: 'Gateway',
     *   gateway: { type: 'EventBased' } as BpmnGatewayModel
     *         } as BpmnShapeModel,
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes : nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     */
    shape?: BpmnShapes;
    /**
     * Defines the type of the BPMN Event shape
     *
     * @default 'None'
     */
    event?: BpmnEventModel;
    /**
     * Defines the type of the BPMN Gateway shape
     *
     * @default 'None'
     */
    gateway?: BpmnGatewayModel;
    /**
     * Defines the type of the BPMN DataObject shape
     *
     * @default 'None'
     */
    dataObject?: BpmnDataObjectModel;
    /**
     * Defines the type of the BPMN Activity shape
     *
     * @default 'None'
     */
    activity?: BpmnActivityModel;
    /**
     * Defines the text of the bpmn annotation
     *
     * @default 'None'
     */
    annotation?: BpmnAnnotationModel;
    /**
     * Defines the text of the bpmn annotation collection
     *
     * @default 'None'
     */
    annotations?: BpmnAnnotationModel[];
}
/**
 * Interface for a class UmlActivityShape
 */
export interface UmlActivityShapeModel extends ShapeModel{
    /**
     * Defines the type of node shape
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let shape: UmlActivityShapeModel = { type: 'UMLActivity', shape: 'Action' };
     * let nodes$: NodeModel[] = [{
     * id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100, shape: shape
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes : nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default 'Basic'
     */
    type?: Shapes;
    /**
     * Defines the type of the UMLActivity shape
     * * Action - Sets the type of the UMLActivity Shape as Action
     * * Decision - Sets the type of the UMLActivity Shape as Decision
     * * MergeNode - Sets the type of the UMLActivity Shape as MergeNode
     * * InitialNode - Sets the type of the UMLActivity Shape as InitialNode
     * * FinalNode - Sets the type of the UMLActivity Shape as FinalNode
     * * ForkNode - Sets the type of the UMLActivity Shape as ForkNode
     * * JoinNode - Sets the type of the UMLActivity Shape as JoinNode
     * * TimeEvent - Sets the type of the UMLActivity Shape as TimeEvent
     * * AcceptingEvent - Sets the type of the UMLActivity Shape as AcceptingEvent
     * * SendSignal - Sets the type of the UMLActivity Shape as SendSignal
     * * ReceiveSignal - Sets the type of the UMLActivity Shape as ReceiveSignal
     * * StructuredNode - Sets the type of the UMLActivity Shape as StructuredNode
     * * Note - Sets the type of the UMLActivity Shape as Note
     *
     * @default 'Action'
     * @IgnoreSingular
     */
    shape?: UmlActivityShapes;
}
/**
 * Interface for a class MethodArguments
 */
export interface MethodArgumentsModel {
    /**
     * Defines the name of the attributes
     *
     * @default ''
     * @IgnoreSingular
     */
    name?: string;
    /**
     * Defines the type of the attributes
     *
     * @default ''
     * @IgnoreSingular
     */
    type?: string;
    /**
     * Sets the shape style of the node
     *
     * @default new ShapeStyle()
     * @aspType object
     */
    style?: ShapeStyleModel | TextStyleModel;
}
/**
 * Interface for a class UmlClassAttribute
 */
export interface UmlClassAttributeModel extends MethodArgumentsModel{
    /**
     * Defines the type of the attributes
     *
     * @default 'Public'
     * @IgnoreSingular
     */
    scope?: UmlScope;
    /**
     * Defines the separator of the attributes
     *
     * @default false
     * @IgnoreSingular
     */
    isSeparator?: boolean;
}
/**
 * Interface for a class UmlClassMethod
 */
export interface UmlClassMethodModel extends UmlClassAttributeModel{
    /**
     * Defines the type of the arguments
     *
     * @default ''
     * @IgnoreSingular
     */
    parameters?: MethodArgumentsModel[];
}
/**
 * Interface for a class UmlClass
 */
export interface UmlClassModel {
    /**
     * Defines the name of the attributes
     *
     * @default ''
     * @IgnoreSingular
     */
    name?: string;
    /**
     * Defines the text of the bpmn annotation collection
     *
     * @default 'None'
     */
    attributes?: UmlClassAttributeModel[];
    /**
     * Defines the text of the bpmn annotation collection
     *
     * @default 'None'
     */
    methods?: UmlClassMethodModel[];
    /**
     * Sets the shape style of the node
     *
     * @default new ShapeStyle()
     * @aspType object
     */
    style?: TextStyleModel;
}
/**
 * Interface for a class UmlInterface
 */
export interface UmlInterfaceModel extends UmlClassModel{
    /**
     * Defines the separator of the attributes
     *
     * @default false
     * @IgnoreSingular
     */
    isSeparator?: boolean;
}
/**
 * Interface for a class UmlEnumerationMember
 */
export interface UmlEnumerationMemberModel {
    /**
     * Defines the value of the member
     *
     * @default ''
     * @IgnoreSingular
     */
    name?: string;
    /**
     * Defines the value of the member
     *
     * @default ''
     * @IgnoreSingular
     */
    value?: string;
    /**
     * Defines the separator of the attributes
     *
     * @default false
     * @IgnoreSingular
     */
    isSeparator?: boolean;
    /**
     * Sets the shape style of the node
     *
     * @default new ShapeStyle()
     * @aspType object
     */
    style?: ShapeStyleModel | TextStyleModel;
}
/**
 * Interface for a class UmlEnumeration
 */
export interface UmlEnumerationModel {
    /**
     * Defines the name of the attributes
     *
     * @default ''
     * @IgnoreSingular
     */
    name?: string;
    /**
     * Defines the text of the bpmn annotation collection
     *
     * @default 'None'
     */
    members?: UmlEnumerationMemberModel[];
    /**
     * Sets the shape style of the node
     *
     * @default new ShapeStyle()
     * @aspType object
     */
    style?: ShapeStyleModel | TextStyleModel;
}
/**
 * Interface for a class UmlClassifierShape
 */
export interface UmlClassifierShapeModel extends ShapeModel{
    /**
     * Defines the type of node shape
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let shape: UmlActivityShapeModel = { type: 'UMLActivity', shape: 'Action' };
     * let nodes$: NodeModel[] = [{
     * id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100, shape: shape
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes : nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default 'Basic'
     */
    type?: Shapes;
    /**
     * Defines the text of the bpmn annotation collection
     *
     * @default 'None'
     */
    classShape?: UmlClassModel;
    /**
     * Defines the text of the bpmn annotation collection
     *
     * @default 'None'
     */
    interfaceShape?: UmlInterfaceModel;
    /**
     * Defines the text of the bpmn annotation collection
     *
     * @default 'None'
     */
    enumerationShape?: UmlEnumerationModel;
    /**
     * Defines the type of classifier
     *
     * @default 'Class'
     * @IgnoreSingular
     */
    classifier?: ClassifierShape;
}
/**
 * Interface for a class DiagramShape
 */
export interface DiagramShapeModel {
    /**
     * Defines the type of node shape
     *
     */
    type?: Shapes;
    /**
     * Defines the type of the basic shape
     *
     */
    basicShape?: BasicShapes;
    /**
     * Defines the type of the flow shape
     */
    flowShape?: FlowShapes;
    /**
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     *  id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *  shape: {
     *   type: 'Bpmn', shape: 'Gateway',
     *   gateway: { type: 'EventBased' } as BpmnGatewayModel
     *         } as BpmnShapeModel,
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes : nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default 'Event'
     */
    bpmnShape?: BpmnShapes;
    /**
     * Defines the type of the UMLActivity shape
     * * Action - Sets the type of the UMLActivity Shape as Action
     * * Decision - Sets the type of the UMLActivity Shape as Decision
     * * MergeNode - Sets the type of the UMLActivity Shape as MergeNode
     * * InitialNode - Sets the type of the UMLActivity Shape as InitialNode
     * * FinalNode - Sets the type of the UMLActivity Shape as FinalNode
     * * ForkNode - Sets the type of the UMLActivity Shape as ForkNode
     * * JoinNode - Sets the type of the UMLActivity Shape as JoinNode
     * * TimeEvent - Sets the type of the UMLActivity Shape as TimeEvent
     * * AcceptingEvent - Sets the type of the UMLActivity Shape as AcceptingEvent
     * * SendSignal - Sets the type of the UMLActivity Shape as SendSignal
     * * ReceiveSignal - Sets the type of the UMLActivity Shape as ReceiveSignal
     * * StructuredNode - Sets the type of the UMLActivity Shape as StructuredNode
     * * Note - Sets the type of the UMLActivity Shape as Note
     *
     * @default 'Action'
     * @IgnoreSingular
     */
    umlActivityShape?: UmlActivityShapes;
    /**
     * Defines the geometry of a path
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     * id: 'node1', width: 100, height: 100, offsetX: 300, offsetY: 100,
     *   shape: { type: 'Path', data: 'M540.3643,137.9336L546.7973,159.7016L570.3633,159.7296'+
     *   'L550.7723,171.9366L558.9053,194.9966L540.3643,179.4996L521.8223,194.9966L529.9553,171.9366'+
     *   'L510.3633,159.7296L533.9313,159.7016L540.3643,137.9336z' }
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes: nodes
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default ''
     */
    data?: string;
    /**
     * Defines the geometry of a native element.
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     * id: 'node1', width: 100, height: 100,
     * shape: { scale: 'Stretch',
     *   type: 'Native', content: '<g><path d='M90,43.841c0,24.213-19.779,43.841-44.182,43.841c-7.747,0-15.025-1.98-21.357-5.455'+
     * 'L0,90l7.975-23.522' +
     * 'c-4.023-6.606-6.34-14.354-6.34-22.637C1.635,19.628,21.416,0,45.818,0C70.223,0,90,19.628,90,43.841z M45.818,6.982' +
     * 'c-20.484,0-37.146,16.535-37.146,36.859c0,8.065,2.629,15.534,7.076,21.61L11.107,79.14l14.275-4.537' +
     * 'c5.865,3.851,12.891,6.097,20.437,6.097c20.481,0,37.146-16.533,37.146-36.857S66.301,6.982,45.818,6.982z M68.129,53.938' +
     * 'c-0.273-0.447-0.994-0.717-2.076-1.254c-1.084-0.537-6.41-3.138-7.4-3.495c-0.993-0.358-1.717-0.538-2.438,0.537' +
     * 'c-0.721,1.076-2.797,3.495-3.43,4.212c-0.632,0.719-1.263,0.809-2.347,0.271c-1.082-0.537-4.571-1.673-8.708-5.333' +
     * 'c-3.219-2.848-5.393-6.364-6.025-7.441c-0.631-1.075-0.066-1.656,0.475-2.191c0.488-0.482,1.084-1.255,1.625-1.882' +
     * 'c0.543-0.628,0.723-1.075,1.082-1.793c0.363-0.717,0.182-1.344-0.09-1.883c-0.27-0.537-2.438-5.825-3.34-7.977' +
     * 'c-0.902-2.15-1.803-1.792-2.436-1.792c-0.631,0-1.354-0.09-2.076-0.09c-0.722,0-1.896,0.269-2.889,1.344' +
     * 'c-0.992,1.076-3.789,3.676-3.789,8.963c0,5.288,3.879,10.397,4.422,11.113c0.541,0.716,7.49,11.92,18.5,16.223' +
     * 'C58.2,65.771,58.2,64.336,60.186,64.156c1.984-0.179,6.406-2.599,7.312-5.107C68.398,56.537,68.398,54.386,68.129,53.938z'>'+
     * '</path></g>',
     *        }
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes: nodes
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default ''
     */
    content?: SVGElement | HTMLElement;
    /**
     * Defines the text of the text element
     */
    textContent?: string;
    /**
     * Defines the scale of the native element.
     * * None - Sets the stretch type for diagram as None
     * * Stretch - Sets the stretch type for diagram as Stretch
     * * Meet - Sets the stretch type for diagram as Meet
     * * Slice - Sets the stretch type for diagram as Slice
     *
     * @default 'Stretch'
     */
    scale?: Stretch;
    /**
     * Defines the source of the image
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     * id: 'node1', width: 100, height: 100, offsetX: 300, offsetY: 100,
     * shape: { type: 'Image', source: 'https://www.w3schools.com/images/w3schools_green.jpg' }
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes: nodes
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default ''
     */
    source?: string;
    /**
     * Defines the alignment of the image within the node boundary.
     * * None - Alignment value will be set as none
     * * XMinYMin - smallest X value of the view port and  smallest Y value of the view port
     * * XMidYMin - midpoint X value of the view port and  smallest Y value of the view port
     * * XMaxYMin - maximum X value of the view port and  smallest Y value of the view port
     * * XMinYMid - smallest X value of the view port and midpoint Y value of the view port
     * * XMidYMid - midpoint X value of the view port and midpoint Y value of the view port
     * * XMaxYMid - maximum X value of the view port and midpoint Y value of the view port
     * * XMinYMax - smallest X value of the view port and maximum Y value of the view port
     * * XMidYMax - midpoint X value of the view port and maximum Y value of the view port
     * * XMaxYMax - maximum X value of the view port and maximum Y value of the view port
     *
     * @default 'None'
     */
    align?: ImageAlignment;
    /**
     * Defines the space to be let between the node and its immediate parent
     *
     * @default 0
     */
    margin?: MarginModel;
    /**
     * Sets the corner of the node
     *
     * @default 0
     */
    cornerRadius?: number;
    /**
     * Defines the collection of points to draw a polygon
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    points?: PointModel[];
    /**
     * Defines the type of the BPMN DataObject shape
     *
     * @default 'None'
     */
    dataObject?: BpmnDataObjectModel;
    /**
     * Defines the type of the BPMN Event shape
     *
     * @default 'None'
     */
    event?: BpmnEventModel;
    /**
     * Defines the type of the BPMN Gateway shape
     *
     * @default 'None'
     */
    gateway?: BpmnGatewayModel;
    /**
     * Defines the text of the bpmn annotation collection
     *
     * @default 'None'
     */
    annotations?: BpmnAnnotationModel[];
    /**
     * Defines the type of the BPMN Activity shape
     *
     * @default 'None'
     */
    activity?: BpmnActivityModel;
    /**
     * Defines the text of the bpmn annotation
     *
     * @default 'None'
     */
    annotation?: BpmnAnnotationModel;
    /**
     * Defines the text of the bpmn annotation collection
     *
     * @default 'None'
     */
    enumerationShape?: UmlEnumerationModel;
    /**
     * Defines the type of classifier
     *
     * @default 'Class'
     * @IgnoreSingular
     */
    classifier?: ClassifierShape;
    /**
     * Defines the text of the bpmn annotation collection
     *
     * @default 'None'
     */
    classShape?: UmlClassModel;
    /**
     * Defines the text of the bpmn annotation collection
     *
     * @default 'None'
     */
    interfaceShape?: UmlInterfaceModel;
}
/**
 * Interface for a class Node
 */
export interface NodeModel extends NodeBaseModel{
    /**
     * Defines the collection of textual annotations of nodes/connectors
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    annotations?: ShapeAnnotationModel[];
    /**
     * Sets the x-coordinate of the position of the node
     *
     * @default 0
     */
    offsetX?: number;
    /**
     * Sets the layout properties using node property
     *
     * @default new NodeLayoutInfo()
     * @aspType object
     */
    layoutInfo?: LayoutInfo;
    /**
     * Sets the y-coordinate of the position of the node
     *
     * @default 0
     */
    offsetY?: number;
    /**
     * Defines the collection of connection points of nodes/connectors
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    ports?: PointPortModel[];
    /**
     * Defines whether the node is expanded or not
     *
     * @default true
     */
    isExpanded?: boolean;
    /**
     * Specifies the collection of the fixed user handle
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    fixedUserHandles?: NodeFixedUserHandleModel[];
    /**
     * Defines the expanded state of a node
     *
     * @default {}
     */
    expandIcon?: IconShapeModel;
    /**
     * Defines the collapsed state of a node
     *
     * @default {}
     */
    collapseIcon?: IconShapeModel;
    /**
     * Sets the reference point, that will act as the offset values(offsetX, offsetY) of a node
     *
     * @default new Point(0.5,0.5)
     */
    pivot?: PointModel;
    /**
     * Sets the width of the node
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    width?: number;
    /**
     * Sets the height of the node
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    height?: number;
    /**
     * Sets the minimum width of the node
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    minWidth?: number;
    /**
     * Sets the minimum height of the node
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    minHeight?: number;
    /**
     * Sets the maximum width of the node
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    maxWidth?: number;
    /**
     * Sets the maximum height of the node
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    maxHeight?: number;
    /**
     * Sets the rotate angle of the node
     *
     * @default 0
     */
    rotateAngle?: number;
    /**
     * Sets the shape style of the node
     *
     * @default new ShapeStyle()
     * @aspType object
     */
    style?: ShapeStyleModel | TextStyleModel;
    /**
     * Sets the background color of the shape
     *
     * @default 'transparent'
     */
    backgroundColor?: string;
    /**
     * Sets the border color of the node
     *
     * @deprecated
     * @default 'none'
     */
    borderColor?: string;
    /**
     * Sets the border width of the node
     *
     * @deprecated
     * @default 0
     */
    borderWidth?: number;
    /**
     * Sets the data source of the node
     */
    data?: Object;
    /**
     * Defines the shape of a node
     *
     * @default Basic Shape
     * @aspType object
     */
    shape?: ShapeModel | FlowShapeModel | BasicShapeModel | ImageModel | PathModel | TextModel | BpmnShapeModel | NativeModel | HtmlModel | UmlActivityShapeModel | UmlClassifierShapeModel | SwimLaneModel | DiagramShapeModel;
    /**
     * Defines the size of the symbol preview
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    previewSize?: SymbolSizeModel;
    /**
     * Defines the size of a drop symbol
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    dragSize?: SymbolSizeModel;
    /**
     * Sets or gets the UI of a node
     *
     * @default null
     * @deprecated
     */
    wrapper?: Container;
    /**
     * Enables/Disables certain features of nodes
     * * None - Disable all node Constraints
     * * Select - Enables node to be selected
     * * Drag - Enables node to be Dragged
     * * Rotate - Enables node to be Rotate
     * * Shadow - Enables node to display shadow
     * * PointerEvents - Enables node to provide pointer  option
     * * Delete - Enables node to delete
     * * InConnect - Enables node to provide in connect option
     * * OutConnect - Enables node to provide out connect option
     * * Individual - Enables node to provide individual resize option
     * * Expandable - Enables node to provide Expandable option
     * * AllowDrop - Enables node to provide allow to drop option
     * * Inherit - Enables node to inherit the interaction option
     * * ResizeNorthEast - Enable ResizeNorthEast of the node
     * * ResizeEast - Enable ResizeEast of the node
     * * ResizeSouthEast - Enable ResizeSouthEast of the node
     * * ResizeSouth - Enable ResizeSouthWest of the node
     * * ResizeSouthWest - Enable ResizeSouthWest of the node
     * * ResizeSouth - Enable ResizeSouth of the node
     * * ResizeSouthWest - Enable ResizeSouthWest of the node
     * * ResizeWest - Enable ResizeWest of the node
     * * ResizeNorth - Enable ResizeNorth of the node
     * * Resize - Enables the Aspect ratio fo the node
     * * AspectRatio - Enables the Aspect ratio fo the node
     * * Tooltip - Enables or disables tool tip for the Nodes
     * * InheritTooltip - Enables or disables tool tip for the Nodes
     * * ReadOnly - Enables the  ReadOnly support for Annotation
     *
     * @default 'Default'
     * @aspNumberEnum
     */
    constraints?: NodeConstraints;
    /**
     * Defines the shadow of a shape/path
     *
     * @default null
     */
    shadow?: ShadowModel;
    /**
     * Defines the children of group element
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    children?: string[];
    /**
     * Defines the space between the group node edges and its children
     *
     * @aspDefaultValueIgnore
     * @default 0
     */
    padding?: MarginModel;
    /**
     * Defines the type of the container
     *
     * @aspDefaultValueIgnore
     * @default null
     * @deprecated
     */
    container?: ChildContainerModel;
    /**
     * Sets the horizontalAlignment of the node
     *
     * @default 'Stretch'
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Sets the verticalAlignment of the node
     *
     * @default 'Stretch'
     */
    verticalAlignment?: VerticalAlignment;
    /**
     * Used to define the rows for the grid container
     *
     * @aspDefaultValueIgnore
     * @deprecated
     * @default undefined
     */
    rows?: RowDefinition[];
    /**
     * Used to define the column for the grid container
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    columns?: ColumnDefinition[];
    /**
     * Used to define a index of row in the grid
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    rowIndex?: number;
    /**
     * Used to define a index of column in the grid
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    columnIndex?: number;
    /**
     * Merge the row use the property in the grid container
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    rowSpan?: number;
    /**
     * Merge the column use the property in the grid container
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    columnSpan?: number;
    /**
     * Set the branch for the mind map
     *
     * @aspDefaultValueIgnore
     * @default ''
     */
    branch?: BranchTypes;
}
/**
 * Interface for a class Header
 */
export interface HeaderModel {
    /**
     * Sets the id of the header
     *
     * @default ''
     */
    id?: string;
    /**
     * Sets the content of the header
     *
     * @default ''
     */
    annotation?: AnnotationModel;
    /**
     * Sets the style of the header
     *
     * @default ''
     */
    style?: TextStyleModel;
    /**
     * Sets the height of the header
     *
     * @default 50
     */
    height?: number;
    /**
     * Sets the width of the header
     *
     * @default 50
     */
    width?: number;
}
/**
 * Interface for a class Lane
 */
export interface LaneModel {
    /**
     * Sets the id of the lane
     *
     * @default ''
     */
    id?: string;
    /**
     * Sets style of the lane
     *
     * @default ''
     */
    style?: ShapeStyleModel;
    /**
     * Defines the collection of child nodes
     *
     * @default []
     */
    children?: NodeModel[];
    /**
     * Defines the height of the lane
     *
     * @default 100
     */
    height?: number;
    /**
     * Defines the height of the lane
     *
     * @default 100
     */
    width?: number;
    /**
     * Defines the collection of header in the lane.
     *
     * @default new Header()
     */
    header?: HeaderModel;
    /**
     * Defines when the lane to be interchanged or not
     *
     * @default true
     */
    canMove?: boolean;
    /**
     * Allows the user to save custom information about lanes. Example: addInfo: {'lane': 'lane 1 info' }
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    addInfo?: Object 
}
/**
 * Interface for a class Phase
 */
export interface PhaseModel {
    /**
     * Sets the id of the phase
     *
     * @default ''
     */
    id?: string;
    /**
     * Sets the style of the phase
     *
     * @default ''
     */
    style?: ShapeStyleModel;
    /**
     * Sets the header collection of the phase
     *
     * @default  new Header()
     */
    header?: HeaderModel;
    /**
     * Sets the offset of the phase
     *
     * @default 100
     */
    offset?: number;
    /**
     * Allows the user to save custom information about phases. Example: addInfo: {'phase': 'phase 1 info' }
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    addInfo?: Object;
}
/**
 * Interface for a class SwimLane
 */
export interface SwimLaneModel extends ShapeModel{
    /**
     * Defines the type of node shape.
     *
     * @default 'Basic'
     */
    type?: Shapes;
    /**
     * Defines the size of phase.
     *
     * @default 20
     */
    phaseSize?: number;
    /**
     * Defines the collection of phases.
     *
     * @default 'undefined'
     */
    phases?: PhaseModel[];
    /**
     * Defines the orientation of the swimLane
     *
     * @default 'Horizontal'
     */
    orientation?: Orientation;
    /**
     * Defines the collection of lanes
     *
     * @default 'undefined'
     */
    lanes?: LaneModel[];
    /**
     * Defines the collection of header
     *
     * @default 'undefined'
     */
    header?: HeaderModel;
    /**
     * Defines the whether the shape is a lane or not
     *
     * @default false
     */
    isLane?: boolean;
    /**
     * Defines the whether the shape is a phase or not
     *
     * @default false
     */
    isPhase?: boolean;
}
/**
 * Interface for a class ChildContainer
 */
export interface ChildContainerModel {
    /**
     * Defines the type of the container
     *
     * @aspDefaultValueIgnore
     * @default Canvas
     */
    type?: ContainerTypes;
    /**
     * Defines the type of the swimLane orientation.
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    orientation?: Orientation;
}
/**
 * Interface for a class Selector
 */
export interface SelectorModel {
    /**
     * Defines the size and position of the container
     *
     * @default null
     */
    wrapper?: Container;
    /**
     * Defines the size of the resize handler
     *
     * @default 14
     */
    handleSize?: number;
    /**
     * Defines the collection of selected nodes
     *
     */
    nodes?: NodeModel[];
    /**
     * Defines the collection of selected connectors
     *
     */
    connectors?: ConnectorModel[];
    /**
     * Sets/Gets the width of the container
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    width?: number;
    /**
     * Sets/Gets the height of the container
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    height?: number;
    /**
     * Sets the rotate angle of the container
     *
     * @default 0
     */
    rotateAngle?: number;
    /**
     * Sets the positionX of the container
     *
     * @default 0
     */
    offsetX?: number;
    /**
     * Sets the positionY of the container
     *
     * @default 0
     */
    offsetY?: number;
    /**
     * Sets the pivot of the selector
     *
     * @default { x: 0.5, y: 0.5 }
     */
    pivot?: PointModel;
    /**
     * Defines how to pick the objects to be selected using rubber band selection
     * * CompleteIntersect - Selects the objects that are contained within the selected region
     * * PartialIntersect - Selects the objects that are partially intersected with the selected region
     *
     * @default 'CompleteIntersect'
     */
    rubberBandSelectionMode?: RubberBandSelectionMode;
    /**
     * Defines the collection of user handle
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     *           id: 'node1', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *           annotations: [{ content: 'Default Shape' }]
     *       },
     *       {
     *           id: 'node2', width: 100, height: 100, offsetX: 300, offsetY: 100,
     *           shape: {
     *               type: 'Basic', shape: 'Ellipse'
     *           },
     *           annotations: [{ content: 'Path Element' }]
     *       }
     *       ];
     *       let connectors$: ConnectorModel[] = [{
     *           id: 'connector1',
     *           type: 'Straight',
     *           sourcePoint: { x: 100, y: 300 },
     *           targetPoint: { x: 200, y: 400 },
     *       }];
     * let handle$: UserHandleModel[] = [
     * { name: 'handle', margin: { top: 0, bottom: 0, left: 0, right: 0 }, offset: 0,
     * pathData: 'M 376.892,225.284L 371.279,211.95L 376.892,198.617L 350.225,211.95L 376.892,225.284 Z',
     * side: 'Top', horizontalAlignment: 'Center', verticalAlignment: 'Center',
     * pathColor: 'yellow' }];
     * let diagram$: Diagram = new Diagram({
     * ...
     *     connectors: connectors, nodes: nodes,
     *     selectedItems: { constraints: SelectorConstraints.All, userHandles: handle },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default []
     */
    userHandles?: UserHandleModel[];
    /**
     * Controls the visibility of selector.
     * * None - Hides all the selector elements
     * * ConnectorSourceThumb - Shows/hides the source thumb of the connector
     * * ConnectorTargetThumb - Shows/hides the target thumb of the connector
     * * ResizeSouthEast - Shows/hides the bottom right resize handle of the selector
     * * ResizeSouthWest - Shows/hides the bottom left resize handle of the selector
     * * ResizeNorthEast - Shows/hides the top right resize handle of the selector
     * * ResizeNorthWest - Shows/hides the top left resize handle of the selector
     * * ResizeEast - Shows/hides the middle right resize handle of the selector
     * * ResizeWest - Shows/hides the middle left resize handle of the selector
     * * ResizeSouth - Shows/hides the bottom center resize handle of the selector
     * * ResizeNorth - Shows/hides the top center resize handle of the selector
     * * Rotate - Shows/hides the rotate handle of the selector
     * * UserHandles - Shows/hides the user handles of the selector
     * * Resize - Shows/hides all resize handles of the selector
     *
     * @default 'All'
     * @aspNumberEnum
     */
    constraints?: SelectorConstraints;
    /**
     * setTooltipTemplate helps to customize the content of a tooltip
     *
     * @aspDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    setTooltipTemplate?: Function | string;
    /**
     * Defines the collection of selected nodes and connectors
     * @default []
     */
    selectedObjects?: (NodeModel | ConnectorModel)[];
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/objects/node.d.ts

/**
 * Defines the behavior of default shape
 */
export  class Shape extends base.ChildProperty<Shape> {
    /**
     * Defines the type of node shape
     * * Path - Sets the type of the node as Path
     * * Text - Sets the type of the node as Text
     * * Image - Sets the type of the node as Image
     * * Basic - Sets the type of the node as Basic
     * * Flow - Sets the type of the node as Flow
     * * Bpmn - Sets the type of the node as Bpmn
     * * Native - Sets the type of the node as Native
     * * HTML - Sets the type of the node as HTML
     * * UMLActivity - Sets the type of the node as UMLActivity
     *
     * @default 'Basic'
     */
    type: Shapes;
}
/**
 * Defines the behavior of path shape
 */
export  class Path extends Shape {
    /**
     * Defines the type of node shape
     *
     * @default 'Basic'
     */
    type: Shapes;
    /**
     * Defines the geometry of a path
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     * id: 'node1', width: 100, height: 100, offsetX: 300, offsetY: 100,
     *   shape: { type: 'Path', data: 'M540.3643,137.9336L546.7973,159.7016L570.3633,159.7296'+
     *   'L550.7723,171.9366L558.9053,194.9966L540.3643,179.4996L521.8223,194.9966L529.9553,171.9366'+
     *   'L510.3633,159.7296L533.9313,159.7016L540.3643,137.9336z' }
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes: nodes
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default ''
     */
    data: string;
    /**
     * getClassName method \
     *
     * @returns { string } toBounds method .\
     *
     * @private
     */
    getClassName(): string;
}
/**
 * Defines the behavior of Native shape
 */
export  class Native extends Shape {
    /**
     * Defines the type of node shape.
     *
     * @default 'Basic'
     */
    type: Shapes;
    /**
     * Defines the geometry of a native element.
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     * id: 'node1', width: 100, height: 100,
     * shape: { scale: 'Stretch',
     *   type: 'Native', content: '<g><path d='M90,43.841c0,24.213-19.779,43.841-44.182,43.841c-7.747,0-15.025-1.98-21.357-5.455'+
     * 'L0,90l7.975-23.522' +
     * 'c-4.023-6.606-6.34-14.354-6.34-22.637C1.635,19.628,21.416,0,45.818,0C70.223,0,90,19.628,90,43.841z M45.818,6.982' +
     * 'c-20.484,0-37.146,16.535-37.146,36.859c0,8.065,2.629,15.534,7.076,21.61L11.107,79.14l14.275-4.537' +
     * 'c5.865,3.851,12.891,6.097,20.437,6.097c20.481,0,37.146-16.533,37.146-36.857S66.301,6.982,45.818,6.982z M68.129,53.938' +
     * 'c-0.273-0.447-0.994-0.717-2.076-1.254c-1.084-0.537-6.41-3.138-7.4-3.495c-0.993-0.358-1.717-0.538-2.438,0.537' +
     * 'c-0.721,1.076-2.797,3.495-3.43,4.212c-0.632,0.719-1.263,0.809-2.347,0.271c-1.082-0.537-4.571-1.673-8.708-5.333' +
     * 'c-3.219-2.848-5.393-6.364-6.025-7.441c-0.631-1.075-0.066-1.656,0.475-2.191c0.488-0.482,1.084-1.255,1.625-1.882' +
     * 'c0.543-0.628,0.723-1.075,1.082-1.793c0.363-0.717,0.182-1.344-0.09-1.883c-0.27-0.537-2.438-5.825-3.34-7.977' +
     * 'c-0.902-2.15-1.803-1.792-2.436-1.792c-0.631,0-1.354-0.09-2.076-0.09c-0.722,0-1.896,0.269-2.889,1.344' +
     * 'c-0.992,1.076-3.789,3.676-3.789,8.963c0,5.288,3.879,10.397,4.422,11.113c0.541,0.716,7.49,11.92,18.5,16.223' +
     * 'C58.2,65.771,58.2,64.336,60.186,64.156c1.984-0.179,6.406-2.599,7.312-5.107C68.398,56.537,68.398,54.386,68.129,53.938z'>'+
     * '</path></g>',
     *        }
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes: nodes
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default ''
     */
    content: string | SVGElement;
    /**
     * Defines the scale of the native element.
     * * None - Sets the stretch type for diagram as None
     * * Stretch - Sets the stretch type for diagram as Stretch
     * * Meet - Sets the stretch type for diagram as Meet
     * * Slice - Sets the stretch type for diagram as Slice
     *
     * @default 'Stretch'
     */
    scale: Stretch;
    /**
     * Returns the name of class Native
     *
     * @private
     */
    getClassName(): string;
}
/**
 * Defines the behavior of html shape
 */
export  class Html extends Shape {
    /**
     * Defines the type of node shape.
     *
     * @default 'Basic'
     */
    type: Shapes;
    /**
     * Defines the geometry of a html element.
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     * id: 'node1', width: 100, height: 100, offsetX: 300, offsetY: 100,
     * shape: { type: 'HTML',
     * content: '<div style='background:red;
height:100%;
width:100%;
'><input type='button' value='{{:value}}' /></div>' }
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes: nodes
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default ''
     */
    content: string | HTMLElement;
    /**
     * Returns the name of class Html
     *
     * @private
     */
    getClassName(): string;
}
/**
 * Defines the behavior of image shape
 */
export  class Image extends Shape {
    /**
     * Defines the type of node shape
     *
     * @default 'Basic'
     */
    type: Shapes;
    /**
     * Defines the source of the image
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     * id: 'node1', width: 100, height: 100, offsetX: 300, offsetY: 100,
     * shape: { type: 'Image', source: 'https://www.w3schools.com/images/w3schools_green.jpg' }
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes: nodes
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default ''
     */
    source: string;
    /**
     * Allows to stretch the image as you desired (either to maintain proportion or to stretch)
     * * None - Scale value will be set as None for the image
     * * Meet - Scale value Meet will be set for the image
     * * Slice - Scale value Slice will be set for the image
     *
     * @default 'None'
     */
    scale: Scale;
    /**
     * Defines the alignment of the image within the node boundary.
     * * None - Alignment value will be set as none
     * * XMinYMin - smallest X value of the view port and  smallest Y value of the view port
     * * XMidYMin - midpoint X value of the view port and  smallest Y value of the view port
     * * XMaxYMin - maximum X value of the view port and  smallest Y value of the view port
     * * XMinYMid - smallest X value of the view port and midpoint Y value of the view port
     * * XMidYMid - midpoint X value of the view port and midpoint Y value of the view port
     * * XMaxYMid - maximum X value of the view port and midpoint Y value of the view port
     * * XMinYMax - smallest X value of the view port and maximum Y value of the view port
     * * XMidYMax - midpoint X value of the view port and maximum Y value of the view port
     * * XMaxYMax - maximum X value of the view port and maximum Y value of the view port
     *
     * @default 'None'
     */
    align: ImageAlignment;
    /**
     * Returns the name of class Image
     *
     * @private
     */
    getClassName(): string;
}
/**
 * Defines the behavior of the text shape
 */
export  class Text extends Shape {
    /**
     * Defines the type of node shape
     *
     * @default 'Basic'
     */
    type: Shapes;
    /**
     * Defines the content of a text
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     * id: 'node1', width: 100, height: 100, offsetX: 300, offsetY: 100,
     * shape: { type: 'Text', content: 'Text Element' }
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes: nodes
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default ''
     */
    content: string;
    /**
     * Defines the space to be let between$ the node and its immediate parent
     *
     * @default 0
     */
    margin: MarginModel;
    /**
     * Returns the name of class Text
     *
     * @private
     */
    getClassName(): string;
}
/**
 * Defines the behavior of the basic shape
 */
export  class BasicShape extends Shape {
    /**
     * Defines the type of node shape
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let shape$: BasicShapeModel = { type: 'Basic', shape: 'Rectangle' };
     * let nodes$: NodeModel[] = [{
     * id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100, shape: shape
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes : nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default 'Basic'
     */
    type: Shapes;
    /**
     * Defines the type of the basic shape
     * * Rectangle - Sets the type of the basic shape as Rectangle
     * * Ellipse - Sets the type of the basic shape as Ellipse
     * * Hexagon - Sets the type of the basic shape as Hexagon
     * * Parallelogram - Sets the type of the basic shape as Parallelogram
     * * Triangle - Sets the type of the basic shape as Triangle
     * * Plus - Sets the type of the basic shape as Plus
     * * Star - Sets the type of the basic shape as Star
     * * Pentagon - Sets the type of the basic shape as Pentagon
     * * Heptagon - Sets the type of the basic shape as Heptagon
     * * Octagon - Sets the type of the basic shape as Octagon
     * * Trapezoid - Sets the type of the basic shape as Trapezoid
     * * Decagon - Sets the type of the basic shape as Decagon
     * * RightTriangle - Sets the type of the basic shape as RightTriangle
     * * Cylinder - Sets the type of the basic shape as Cylinder
     * * Diamond - Sets the type of the basic shape as Diamond
     *
     * @default 'Rectangle'
     */
    shape: BasicShapes;
    /**
     * Sets the corner of the node
     *
     * @default 0
     */
    cornerRadius: number;
    /**
     * Defines the collection of points to draw a polygon
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    points: PointModel[];
    /**
     * Returns the name of class BasicShape
     *
     * @private
     *
     */
    getClassName(): string;
}
/**
 * Defines the behavior of the flow shape
 */
export  class FlowShape extends Shape {
    /**
     * Defines the type of node shape
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     * id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *     shape: { type: 'Flow', shape: 'Terminator' },
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes : nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default 'Basic'
     */
    type: Shapes;
    /**
     * Defines the type of the flow shape
     * * Process - Sets the type of the flow shape as Process
     * * Decision - Sets the type of the flow shape as Decision
     * * Document - Sets the type of the flow shape as Document
     * * PreDefinedProcess - Sets the type of the flow shape as PreDefinedProcess
     * * Terminator - Sets the type of the flow shape as Terminator
     * * PaperTap - Sets the type of the flow shape as PaperTap
     * * DirectData - Sets the type of the flow shape as DirectData
     * * SequentialData - Sets the type of the flow shape as SequentialData
     * * MultiData - Sets the type of the flow shape as MultiData
     * * Collate - Sets the type of the flow shape as Collate
     * * SummingJunction - Sets the type of the flow shape as SummingJunction
     * * Or - Sets the type of the flow shape as Or
     * * InternalStorage - Sets the type of the flow shape as InternalStorage
     * * Extract - Sets the type of the flow shape as Extract
     * * ManualOperation - Sets the type of the flow shape as ManualOperation
     * * Merge - Sets the type of the flow shape as Merge
     * * OffPageReference - Sets the type of the flow shape as OffPageReference
     * * SequentialAccessStorage - Sets the type of the flow shape as SequentialAccessStorage
     * * Annotation - Sets the type of the flow shape as Annotation
     * * Annotation2 - Sets the type of the flow shape as Annotation2
     * * Data - Sets the type of the flow shape as Data
     * * Card - Sets the type of the flow shape as Card
     * * Delay - Sets the type of the flow shape as Delay
     * * Preparation - Sets the type of the flow shape as Preparation
     * * Display - Sets the type of the flow shape as Display
     * * ManualInput - Sets the type of the flow shape as ManualInput
     * * LoopLimit - Sets the type of the flow shape as LoopLimit
     * * StoredData - Sets the type of the flow shape as StoredData
     *
     * @default 'Terminator'
     */
    shape: FlowShapes;
    /**
     * Returns the name of class FlowShape
     *
     * @private
     */
    getClassName(): string;
}
/**
 * Defines the behavior of the bpmn gateway shape
 */
export  class BpmnGateway extends base.ChildProperty<BpmnGateway> {
    /**
     * Defines the type of the BPMN Gateway
     * * None - Sets the type of the gateway as None
     * * Exclusive - Sets the type of the gateway as Exclusive
     * * Inclusive - Sets the type of the gateway as Inclusive
     * * Complex - Sets the type of the gateway as Complex
     * * EventBased - Sets the type of the gateway as EventBased
     * * ExclusiveEventBased - Sets the type of the gateway as ExclusiveEventBased
     * * ParallelEventBased - Sets the type of the gateway as ParallelEventBased
     *
     * @default 'None'
     */
    type: BpmnGateways;
    /**
     * Returns the name of class BpmnGateway
     *
     * @private
     */
    getClassName(): string;
}
/**
 * Defines the behavior of the bpmn data object
 */
export  class BpmnDataObject extends base.ChildProperty<BpmnDataObject> {
    /**
     * Defines the type of the BPMN data object
     * * None - Sets the type of the data object as None
     * * Input - Sets the type of the data object as Input
     * * Output - Sets the type of the data object as Output
     *
     * @default 'None'
     */
    type: BpmnDataObjects;
    /**
     * Sets whether the data object is a collection or not
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     *  id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *  shape: {
     *   type: 'Bpmn', shape: 'DataObject',
     *   dataObject: { collection: false, type: 'Input' }
     *         } as BpmnShapeModel,
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes : nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default false
     */
    collection: boolean;
    /**
     * Returns the name of class BpmnDataObject
     *
     * @private
     */
    getClassName(): string;
}
/**
 * Defines the behavior of the bpmn task shape
 */
export  class BpmnTask extends base.ChildProperty<BpmnTask> {
    /**
     * Defines the type of the task
     * * None - Sets the type of the Bpmn Tasks as None
     * * Service - Sets the type of the Bpmn Tasks as Service
     * * Receive - Sets the type of the Bpmn Tasks as Receive
     * * Send - Sets the type of the Bpmn Tasks as Send
     * * InstantiatingReceive - Sets the type of the Bpmn Tasks as InstantiatingReceive
     * * Manual - Sets the type of the Bpmn Tasks as Manual
     * * BusinessRule - Sets the type of the Bpmn Tasks as BusinessRule
     * * User - Sets the type of the Bpmn Tasks as User
     * * Script - Sets the type of the Bpmn Tasks as Script
     *
     * @default 'None'
     */
    type: BpmnTasks;
    /**
     * Defines the type of the BPMN loops
     * * None - Sets the type of the Bpmn loop as None
     * * Standard - Sets the type of the Bpmn loop as Standard
     * * ParallelMultiInstance - Sets the type of the Bpmn loop as ParallelMultiInstance
     * * SequenceMultiInstance - Sets the type of the Bpmn loop as SequenceMultiInstance
     *
     * @default 'None'
     */
    loop: BpmnLoops;
    /**
     * Sets whether the task is global or not
     *
     * @default false
     */
    call: boolean;
    /**
     * Sets whether the task is triggered as a compensation of another specific activity
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     *  id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *  shape: {
     *   type: 'Bpmn', shape: 'Activity', activity: {
     *       activity: 'Task',
     *       task: { call: true, compensation: false, type: 'Service', loop: 'ParallelMultiInstance' }
     *   }} as BpmnShapeModel,
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes : nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default false
     */
    compensation: boolean;
}
/**
 * Defines the behavior of the bpmn Event shape
 */
export  class BpmnEvent extends base.ChildProperty<BpmnEvent> {
    /**
     * Sets the type of the BPMN Event
     * * Start - Sets the type of the Bpmn Event as Start
     * * Intermediate - Sets the type of the Bpmn Event as Intermediate
     * * End - Sets the type of the Bpmn Event as End
     * * NonInterruptingStart - Sets the type of the Bpmn Event as NonInterruptingStart
     * * NonInterruptingIntermediate - Sets the type of the Bpmn Event as NonInterruptingIntermediate
     * * ThrowingIntermediate - Sets the type of the Bpmn Event as ThrowingIntermediate
     *
     * @default 'Start'
     */
    /**
     *
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     *  id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *  shape: {
     *  type: 'Bpmn', shape: 'Event',
     *   event: { event: 'Start', trigger: 'None' } } as BpmnShapeModel,
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes : nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default 'Start'
     */
    event: BpmnEvents;
    /**
     * Defines the type of the trigger
     * * None - Sets the type of the trigger as None
     * * Message - Sets the type of the trigger as Message
     * * Escalation - Sets the type of the trigger as Escalation
     * * Link - Sets the type of the trigger as Link
     * * Error - Sets the type of the trigger as Error
     * * Compensation - Sets the type of the trigger as Compensation
     * * Signal - Sets the type of the trigger as Signal
     * * Multiple - Sets the type of the trigger as Multiple
     * * Parallel - Sets the type of the trigger as Parallel
     * * Cancel - Sets the type of the trigger as Cancel
     * * Conditional - Sets the type of the trigger as Conditional
     * * Terminate - Sets the type of the trigger as Terminate
     *
     * @default 'None'
     */
    trigger: BpmnTriggers;
    /**
     * Returns the name of class BpmnEvent
     *
     * @private
     */
    getClassName(): string;
}
/**
 * Defines the behavior of the bpmn sub event
 */
export  class BpmnSubEvent extends base.ChildProperty<BpmnSubEvent> {
    /**
     * Defines the type of the trigger
     * * None - Sets the type of the trigger as None
     * * Message - Sets the type of the trigger as Message
     * * Escalation - Sets the type of the trigger as Escalation
     * * Link - Sets the type of the trigger as Link
     * * Error - Sets the type of the trigger as Error
     * * Compensation - Sets the type of the trigger as Compensation
     * * Signal - Sets the type of the trigger as Signal
     * * Multiple - Sets the type of the trigger as Multiple
     * * Parallel - Sets the type of the trigger as Parallel
     * * Cancel - Sets the type of the trigger as Cancel
     * * Conditional - Sets the type of the trigger as Conditional
     * * Terminate - Sets the type of the trigger as Terminate
     *
     * @default 'None'
     */
    trigger: BpmnTriggers;
    /**
     * Sets the type of the BPMN Event
     * * Start - Sets the type of the Bpmn Event as Start
     * * Intermediate - Sets the type of the Bpmn Event as Intermediate
     * * End - Sets the type of the Bpmn Event as End
     * * NonInterruptingStart - Sets the type of the Bpmn Event as NonInterruptingStart
     * * NonInterruptingIntermediate - Sets the type of the Bpmn Event as NonInterruptingIntermediate
     * * ThrowingIntermediate - Sets the type of the Bpmn Event as ThrowingIntermediate
     *
     * @default 'Start'
     */
    event: BpmnEvents;
    /**
     * Sets the id of the BPMN sub event
     *
     * @default ''
     */
    id: string;
    /**
     * Defines the position of the sub event
     *
     * @default new Point(0.5,0.5)
     */
    offset: PointModel;
    /**
     * Defines the collection of textual annotations of the sub events
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    annotations: ShapeAnnotationModel[];
    /**
     * Defines the collection of connection points of the sub events
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    ports: PointPortModel[];
    /**
     * Sets the width of the node
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    width: number;
    /**
     * Sets the height of the node
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    height: number;
    /**
     * Defines the space to be left between the node and its immediate parent
     *
     * @default 0
     */
    margin: MarginModel;
    /**
     * Sets how to horizontally align a node with respect to its immediate parent
     * * Stretch - Stretches the diagram element throughout its immediate parent
     * * Left - Aligns the diagram element at the left of its immediate parent
     * * Right - Aligns the diagram element at the right of its immediate parent
     * * Center - Aligns the diagram element at the center of its immediate parent
     * * Auto - Aligns the diagram element based on the characteristics of its immediate parent
     *
     * @default 'Center'
     */
    horizontalAlignment: HorizontalAlignment;
    /**
     * Sets how to vertically align a node with respect to its immediate parent
     * * Stretch - Stretches the diagram element throughout its immediate parent
     * * Top - Aligns the diagram element at the top of its immediate parent
     * * Bottom - Aligns the diagram element at the bottom of its immediate parent
     * * Center - Aligns the diagram element at the center of its immediate parent
     * * Auto - Aligns the diagram element based on the characteristics of its immediate parent
     *
     * @default 'Center'
     */
    verticalAlignment: VerticalAlignment;
    /**
     * Sets the visibility of the sub event
     *
     * @default true
     */
    visible: boolean;
    /**
     * Returns the name of class BpmnSubEvent
     *
     * @private
     */
    getClassName(): string;
}
/**
 * Defines the behavior of the BpmnTransactionSubProcess
 */
export  class BpmnTransactionSubProcess extends base.ChildProperty<BpmnTransactionSubProcess> {
    /**
     * Defines the size and position of the success port
     */
    success: BpmnSubEventModel;
    /**
     * Defines the size and position of the failure port
     */
    failure: BpmnSubEventModel;
    /**
     * Defines the size and position of the cancel port
     */
    cancel: BpmnSubEventModel;
}
/**
 * Defines the behavior of the BPMNSubProcess
 */
export  class BpmnSubProcess extends base.ChildProperty<BpmnSubProcess> {
    /**
     * Defines the type of the sub process
     * * None - Sets the type of the Sub process as None
     * * Transaction - Sets the type of the Sub process as Transaction
     * * Event - Sets the type of the Sub process as Event
     *
     * @default 'None'
     */
    type: BpmnSubProcessTypes;
    /**
     * Defines whether the sub process is without any prescribed order or not
     *
     * @default false
     */
    adhoc: boolean;
    /**
     * Defines the boundary type of the BPMN process
     * * Default - Sets the type of the boundary as Default
     * * Call - Sets the type of the boundary as Call
     * * Event - Sets the type of the boundary as Event
     *
     * @default 'Default'
     */
    /**
     *
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     * id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100,
     * shape: {
     *               type: 'Bpmn', shape: 'Activity', activity: {
     *                   activity: 'SubProcess',
     *                   subProcess: { adhoc: false, boundary: 'Default', collapsed: true }
     *               },
     *           }
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes : nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     */
    boundary: BpmnBoundary;
    /**
     * Defines the whether the task is triggered as a compensation of another task
     *
     * @default false
     */
    compensation: boolean;
    /**
     * Defines the  type of the BPMNLoop
     * * None - Sets the type of the Bpmn loop as None
     * * Standard - Sets the type of the Bpmn loop as Standard
     * * ParallelMultiInstance - Sets the type of the Bpmn loop as ParallelMultiInstance
     * * SequenceMultiInstance - Sets the type of the Bpmn loop as SequenceMultiInstance
     *
     * @default 'None'
     */
    loop: BpmnLoops;
    /**
     * Defines the whether the shape is collapsed or not
     *
     * @default true
     */
    collapsed: boolean;
    /**
     * Defines the collection of events of the BPMN sub event
     *
     * @default 'undefined'
     */
    /**
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let node1$: NodeModel = {
     *           id: 'node1', width: 190, height: 190, offsetX: 300, offsetY: 200,
     *           shape: {
     *               type: 'Bpmn', shape: 'Activity', activity: {
     *                   activity: 'SubProcess',
     *                   subProcess: {
     *                       type: 'Event', loop: 'ParallelMultiInstance',
     *                       compensation: true, adhoc: false, boundary: 'Event', collapsed: true,
     *                       events: [{
     *                           height: 20, width: 20, offset: { x: 0, y: 0 }, margin: { left: 10, top: 10 },
     *                           horizontalAlignment: 'Left',
     *                           verticalAlignment: 'Top',
     *                           annotations: [{
     *                               id: 'label3', margin: { bottom: 10 },
     *                                horizontalAlignment: 'Center',
     *                               verticalAlignment: 'Top',
     *                               content: 'Event', offset: { x: 0.5, y: 1 },
     *                               style: {
     *                                   color: 'black', fontFamily: 'Fantasy', fontSize: 8
     *                               }
     *                           }],
     *                           event: 'Intermediate', trigger: 'Error'
     *                       }]
     *                   }
     *               }
     *           }
     *       };
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes : nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     */
    events: BpmnSubEventModel[];
    /**
     * Defines the transaction sub process
     */
    transaction: BpmnTransactionSubProcessModel;
    /**
     * Defines the transaction sub process
     *
     * @default []
     */
    processes: string[];
}
/**
 * Defines the behavior of the bpmn activity shape
 */
export  class BpmnActivity extends base.ChildProperty<BpmnActivity> {
    /**
     * Defines the type of the activity
     * * None - Sets the type of the Bpmn Activity as None
     * * Task - Sets the type of the Bpmn Activity as Task
     * * SubProcess - Sets the type of the Bpmn Activity as SubProcess
     *
     * @default 'Task'
     */
    activity: BpmnActivities;
    /**
     * Defines the BPMN task
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     *  id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *     shape: {
     *     type: 'Bpmn', shape: 'Activity', activity: {
     *     activity: 'Task', task: {
     *           type: 'Service'
     *       }
     *   }
     *  },
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes : nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default 'new BPMNTask()'
     */
    task: BpmnTaskModel;
    /**
     * Defines the type of the SubProcesses
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     *  id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *     shape: {
     *     type: 'Bpmn', shape: 'Activity', activity: {
     *     activity: 'SubProcess',
     *     subProcess: { collapsed: true } as BpmnSubProcessModel
     *   }
     *  },
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes : nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default 'None'
     */
    subProcess: BpmnSubProcessModel;
    /**
     * Returns the name of class BpmnActivity
     *
     * @private
     */
    getClassName(): string;
}
/**
 * Defines the behavior of the bpmn annotation
 *
 */
export  class BpmnAnnotation extends base.ChildProperty<BpmnAnnotation> {
    constructor(parent: any, propName: string, defaultValue: Object, isArray?: boolean);
    /**
     * Sets the text to annotate the bpmn shape
     *
     * @default ''
     */
    text: string;
    /**
     * Sets the id of the BPMN sub event
     *
     * @default ''
     */
    id: string;
    /**
     * Sets the angle between the bpmn shape and the annotation
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    angle: number;
    /**
     * Sets the height of the text
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    height: number;
    /**
     * Sets the width of the text
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    width: number;
    /**
     * Sets the distance between the bpmn shape and the annotation
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    length: number;
    /** @private */
    nodeId: string;
    /**
     * @private
     * Returns the name of class BpmnAnnotation
     */
    getClassName(): string;
}
/**
 * Defines the behavior of the bpmn shape
 */
export  class BpmnShape extends Shape {
    /**
     * Defines the type of node shape
     *
     * @default 'Basic'
     */
    type: Shapes;
    /**
     * Defines the type of the BPMN shape
     * * Event - Sets the type of the Bpmn Shape as Event
     * * Gateway - Sets the type of the Bpmn Shape as Gateway
     * * Message - Sets the type of the Bpmn Shape as Message
     * * DataObject - Sets the type of the Bpmn Shape as DataObject
     * * DataSource - Sets the type of the Bpmn Shape as DataSource
     * * Activity - Sets the type of the Bpmn Shape as Activity
     * * Group - Sets the type of the Bpmn Shape as Group
     * * TextAnnotation - Represents the shape as Text Annotation
     *
     * @default 'Event'
     */
    /**
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     *  id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *  shape: {
     *   type: 'Bpmn', shape: 'Gateway',
     *   gateway: { type: 'EventBased' } as BpmnGatewayModel
     *         } as BpmnShapeModel,
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes : nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     */
    shape: BpmnShapes;
    /**
     * Defines the type of the BPMN Event shape
     *
     * @default 'None'
     */
    event: BpmnEventModel;
    /**
     * Defines the type of the BPMN Gateway shape
     *
     * @default 'None'
     */
    gateway: BpmnGatewayModel;
    /**
     * Defines the type of the BPMN DataObject shape
     *
     * @default 'None'
     */
    dataObject: BpmnDataObjectModel;
    /**
     * Defines the type of the BPMN Activity shape
     *
     * @default 'None'
     */
    activity: BpmnActivityModel;
    /**
     * Defines the text of the bpmn annotation
     *
     * @default 'None'
     */
    annotation: BpmnAnnotationModel;
    /**
     * Defines the text of the bpmn annotation collection
     *
     * @default 'None'
     */
    annotations: BpmnAnnotationModel[];
    /**
     * Returns the name of class BpmnShape
     *
     * @private
     */
    getClassName(): string;
}
/**
 * Defines the behavior of the UMLActivity shape
 */
export  class UmlActivityShape extends Shape {
    /**
     * Defines the type of node shape
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let shape$: UmlActivityShapeModel = { type: 'UMLActivity', shape: 'Action' };
     * let nodes$: NodeModel[] = [{
     * id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100, shape: shape
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes : nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default 'Basic'
     */
    type: Shapes;
    /**
     * Defines the type of the UMLActivity shape
     * * Action - Sets the type of the UMLActivity Shape as Action
     * * Decision - Sets the type of the UMLActivity Shape as Decision
     * * MergeNode - Sets the type of the UMLActivity Shape as MergeNode
     * * InitialNode - Sets the type of the UMLActivity Shape as InitialNode
     * * FinalNode - Sets the type of the UMLActivity Shape as FinalNode
     * * ForkNode - Sets the type of the UMLActivity Shape as ForkNode
     * * JoinNode - Sets the type of the UMLActivity Shape as JoinNode
     * * TimeEvent - Sets the type of the UMLActivity Shape as TimeEvent
     * * AcceptingEvent - Sets the type of the UMLActivity Shape as AcceptingEvent
     * * SendSignal - Sets the type of the UMLActivity Shape as SendSignal
     * * ReceiveSignal - Sets the type of the UMLActivity Shape as ReceiveSignal
     * * StructuredNode - Sets the type of the UMLActivity Shape as StructuredNode
     * * Note - Sets the type of the UMLActivity Shape as Note
     *
     * @default 'Action'
     * @IgnoreSingular
     */
    shape: UmlActivityShapes;
    /**
     * Returns the name of class UmlActivityShape
     *
     * @private
     */
    getClassName(): string;
}
/**
 * Defines the behavior of the uml class method
 */
export  class MethodArguments extends base.ChildProperty<MethodArguments> {
    /**
     * Defines the name of the attributes
     *
     * @default ''
     * @IgnoreSingular
     */
    name: string;
    /**
     * Defines the type of the attributes
     *
     * @default ''
     * @IgnoreSingular
     */
    type: string;
    /**
     * Sets the shape style of the node
     *
     * @default new ShapeStyle()
     * @aspType object
     */
    style: ShapeStyleModel | TextStyleModel;
    /**
     * Returns the name of class MethodArguments
     *
     * @private
     */
    getClassName(): string;
}
/**
 * Defines the behavior of the uml class attributes
 */
export  class UmlClassAttribute extends MethodArguments {
    /**
     * Defines the type of the attributes
     *
     * @default 'Public'
     * @IgnoreSingular
     */
    scope: UmlScope;
    /**
     * Defines the separator of the attributes
     *
     * @default false
     * @IgnoreSingular
     */
    isSeparator: boolean;
    /**
     * Returns the name of class UmlClassAttribute
     *
     * @private
     */
    getClassName(): string;
}
/**
 * Defines the behavior of the uml class method
 */
export  class UmlClassMethod extends UmlClassAttribute {
    /**
     * Defines the type of the arguments
     *
     * @default ''
     * @IgnoreSingular
     */
    parameters: MethodArgumentsModel[];
    /**
     * Returns the name of class UmlClassMethod
     *
     * @private
     */
    getClassName(): string;
}
/**
 * Defines the behavior of the uml class shapes
 */
export  class UmlClass extends base.ChildProperty<UmlClass> {
    /**
     * Defines the name of the attributes
     *
     * @default ''
     * @IgnoreSingular
     */
    name: string;
    /**
     * Defines the text of the bpmn annotation collection
     *
     * @default 'None'
     */
    attributes: UmlClassAttributeModel[];
    /**
     * Defines the text of the bpmn annotation collection
     *
     * @default 'None'
     */
    methods: UmlClassMethodModel[];
    /**
     * Sets the shape style of the node
     *
     * @default new ShapeStyle()
     * @aspType object
     */
    style: TextStyleModel;
    /**
     * Returns the name of class UmlClass
     *
     * @private
     */
    getClassName(): string;
}
/**
 * Defines the behavior of the uml interface shapes
 */
export  class UmlInterface extends UmlClass {
    /**
     * Defines the separator of the attributes
     *
     * @default false
     * @IgnoreSingular
     */
    isSeparator: boolean;
    /**
     * Returns the name of class UmlInterface
     *
     * @private
     */
    getClassName(): string;
}
/**
 * Defines the behavior of the uml interface shapes
 */
export  class UmlEnumerationMember extends base.ChildProperty<UmlEnumerationMember> {
    /**
     * Defines the value of the member
     *
     * @default ''
     * @IgnoreSingular
     */
    name: string;
    /**
     * Defines the value of the member
     *
     * @default ''
     * @IgnoreSingular
     */
    value: string;
    /**
     * Defines the separator of the attributes
     *
     * @default false
     * @IgnoreSingular
     */
    isSeparator: boolean;
    /**
     * Sets the shape style of the node
     *
     * @default new ShapeStyle()
     * @aspType object
     */
    style: ShapeStyleModel | TextStyleModel;
    /**
     * Returns the name of class UmlEnumerationMember
     *
     * @private
     */
    getClassName(): string;
}
/**
 * Defines the behavior of the uml interface shapes
 */
export  class UmlEnumeration extends base.ChildProperty<UmlEnumeration> {
    /**
     * Defines the name of the attributes
     *
     * @default ''
     * @IgnoreSingular
     */
    name: string;
    /**
     * Defines the text of the bpmn annotation collection
     *
     * @default 'None'
     */
    members: UmlEnumerationMemberModel[];
    /**
     * Sets the shape style of the node
     *
     * @default new ShapeStyle()
     * @aspType object
     */
    style: ShapeStyleModel | TextStyleModel;
    /**
     * Returns the name of class UmlEnumeration
     *
     * @private
     */
    getClassName(): string;
}
/**
 * Defines the behavior of the UMLActivity shape
 */
export  class UmlClassifierShape extends Shape {
    /**
     * Defines the type of node shape
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let shape$: UmlActivityShapeModel = { type: 'UMLActivity', shape: 'Action' };
     * let nodes$: NodeModel[] = [{
     * id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100, shape: shape
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes : nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default 'Basic'
     */
    type: Shapes;
    /**
     * Defines the text of the bpmn annotation collection
     *
     * @default 'None'
     */
    classShape: UmlClassModel;
    /**
     * Defines the text of the bpmn annotation collection
     *
     * @default 'None'
     */
    interfaceShape: UmlInterfaceModel;
    /**
     * Defines the text of the bpmn annotation collection
     *
     * @default 'None'
     */
    enumerationShape: UmlEnumerationModel;
    /**
     * Defines the type of classifier
     *
     * @default 'Class'
     * @IgnoreSingular
     */
    classifier: ClassifierShape;
    /**
     * Returns the name of class UmlClassifierShape
     *
     * @private
     */
    getClassName(): string;
}
/**
 * Defines the behavior of the UMLActivity shape
 */
export  class DiagramShape extends base.ChildProperty<DiagramShape> {
    /**
     * Defines the type of node shape
     *
     */
    type: Shapes;
    /**
     * Defines the type of the basic shape
     *
     */
    basicShape: BasicShapes;
    /**
     * Defines the type of the flow shape
     */
    flowShape: FlowShapes;
    /**
     * Defines the type of the BPMN shape
     * * Event - Sets the type of the Bpmn Shape as Event
     * * Gateway - Sets the type of the Bpmn Shape as Gateway
     * * Message - Sets the type of the Bpmn Shape as Message
     * * DataObject - Sets the type of the Bpmn Shape as DataObject
     * * DataSource - Sets the type of the Bpmn Shape as DataSource
     * * Activity - Sets the type of the Bpmn Shape as Activity
     * * Group - Sets the type of the Bpmn Shape as Group
     * * TextAnnotation - Represents the shape as Text Annotation
     *
     * @default 'Event'
     */
    /**
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     *  id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *  shape: {
     *   type: 'Bpmn', shape: 'Gateway',
     *   gateway: { type: 'EventBased' } as BpmnGatewayModel
     *         } as BpmnShapeModel,
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes : nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default 'Event'
     */
    bpmnShape: BpmnShapes;
    /**
     * Defines the type of the UMLActivity shape
     * * Action - Sets the type of the UMLActivity Shape as Action
     * * Decision - Sets the type of the UMLActivity Shape as Decision
     * * MergeNode - Sets the type of the UMLActivity Shape as MergeNode
     * * InitialNode - Sets the type of the UMLActivity Shape as InitialNode
     * * FinalNode - Sets the type of the UMLActivity Shape as FinalNode
     * * ForkNode - Sets the type of the UMLActivity Shape as ForkNode
     * * JoinNode - Sets the type of the UMLActivity Shape as JoinNode
     * * TimeEvent - Sets the type of the UMLActivity Shape as TimeEvent
     * * AcceptingEvent - Sets the type of the UMLActivity Shape as AcceptingEvent
     * * SendSignal - Sets the type of the UMLActivity Shape as SendSignal
     * * ReceiveSignal - Sets the type of the UMLActivity Shape as ReceiveSignal
     * * StructuredNode - Sets the type of the UMLActivity Shape as StructuredNode
     * * Note - Sets the type of the UMLActivity Shape as Note
     *
     * @default 'Action'
     * @IgnoreSingular
     */
    umlActivityShape: UmlActivityShapes;
    /**
     * Defines the geometry of a path
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     * id: 'node1', width: 100, height: 100, offsetX: 300, offsetY: 100,
     *   shape: { type: 'Path', data: 'M540.3643,137.9336L546.7973,159.7016L570.3633,159.7296'+
     *   'L550.7723,171.9366L558.9053,194.9966L540.3643,179.4996L521.8223,194.9966L529.9553,171.9366'+
     *   'L510.3633,159.7296L533.9313,159.7016L540.3643,137.9336z' }
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes: nodes
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default ''
     */
    data: string;
    /**
     * Defines the geometry of a native element.
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     * id: 'node1', width: 100, height: 100,
     * shape: { scale: 'Stretch',
     *   type: 'Native', content: '<g><path d='M90,43.841c0,24.213-19.779,43.841-44.182,43.841c-7.747,0-15.025-1.98-21.357-5.455'+
     * 'L0,90l7.975-23.522' +
     * 'c-4.023-6.606-6.34-14.354-6.34-22.637C1.635,19.628,21.416,0,45.818,0C70.223,0,90,19.628,90,43.841z M45.818,6.982' +
     * 'c-20.484,0-37.146,16.535-37.146,36.859c0,8.065,2.629,15.534,7.076,21.61L11.107,79.14l14.275-4.537' +
     * 'c5.865,3.851,12.891,6.097,20.437,6.097c20.481,0,37.146-16.533,37.146-36.857S66.301,6.982,45.818,6.982z M68.129,53.938' +
     * 'c-0.273-0.447-0.994-0.717-2.076-1.254c-1.084-0.537-6.41-3.138-7.4-3.495c-0.993-0.358-1.717-0.538-2.438,0.537' +
     * 'c-0.721,1.076-2.797,3.495-3.43,4.212c-0.632,0.719-1.263,0.809-2.347,0.271c-1.082-0.537-4.571-1.673-8.708-5.333' +
     * 'c-3.219-2.848-5.393-6.364-6.025-7.441c-0.631-1.075-0.066-1.656,0.475-2.191c0.488-0.482,1.084-1.255,1.625-1.882' +
     * 'c0.543-0.628,0.723-1.075,1.082-1.793c0.363-0.717,0.182-1.344-0.09-1.883c-0.27-0.537-2.438-5.825-3.34-7.977' +
     * 'c-0.902-2.15-1.803-1.792-2.436-1.792c-0.631,0-1.354-0.09-2.076-0.09c-0.722,0-1.896,0.269-2.889,1.344' +
     * 'c-0.992,1.076-3.789,3.676-3.789,8.963c0,5.288,3.879,10.397,4.422,11.113c0.541,0.716,7.49,11.92,18.5,16.223' +
     * 'C58.2,65.771,58.2,64.336,60.186,64.156c1.984-0.179,6.406-2.599,7.312-5.107C68.398,56.537,68.398,54.386,68.129,53.938z'>'+
     * '</path></g>',
     *        }
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes: nodes
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default ''
     */
    content: SVGElement | HTMLElement;
    /**
     * Defines the text of the text element
     */
    textContent: string;
    /**
     * Defines the scale of the native element.
     * * None - Sets the stretch type for diagram as None
     * * Stretch - Sets the stretch type for diagram as Stretch
     * * Meet - Sets the stretch type for diagram as Meet
     * * Slice - Sets the stretch type for diagram as Slice
     *
     * @default 'Stretch'
     */
    scale: Stretch;
    /**
     * Defines the source of the image
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     * id: 'node1', width: 100, height: 100, offsetX: 300, offsetY: 100,
     * shape: { type: 'Image', source: 'https://www.w3schools.com/images/w3schools_green.jpg' }
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes: nodes
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default ''
     */
    source: string;
    /**
     * Defines the alignment of the image within the node boundary.
     * * None - Alignment value will be set as none
     * * XMinYMin - smallest X value of the view port and  smallest Y value of the view port
     * * XMidYMin - midpoint X value of the view port and  smallest Y value of the view port
     * * XMaxYMin - maximum X value of the view port and  smallest Y value of the view port
     * * XMinYMid - smallest X value of the view port and midpoint Y value of the view port
     * * XMidYMid - midpoint X value of the view port and midpoint Y value of the view port
     * * XMaxYMid - maximum X value of the view port and midpoint Y value of the view port
     * * XMinYMax - smallest X value of the view port and maximum Y value of the view port
     * * XMidYMax - midpoint X value of the view port and maximum Y value of the view port
     * * XMaxYMax - maximum X value of the view port and maximum Y value of the view port
     *
     * @default 'None'
     */
    align: ImageAlignment;
    /**
     * Defines the space to be let between$ the node and its immediate parent
     *
     * @default 0
     */
    margin: MarginModel;
    /**
     * Sets the corner of the node
     *
     * @default 0
     */
    cornerRadius: number;
    /**
     * Defines the collection of points to draw a polygon
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    points: PointModel[];
    /**
     * Defines the type of the BPMN DataObject shape
     *
     * @default 'None'
     */
    dataObject: BpmnDataObjectModel;
    /**
     * Defines the type of the BPMN Event shape
     *
     * @default 'None'
     */
    event: BpmnEventModel;
    /**
     * Defines the type of the BPMN Gateway shape
     *
     * @default 'None'
     */
    gateway: BpmnGatewayModel;
    /**
     * Defines the text of the bpmn annotation collection
     *
     * @default 'None'
     */
    annotations: BpmnAnnotationModel[];
    /**
     * Defines the type of the BPMN Activity shape
     *
     * @default 'None'
     */
    activity: BpmnActivityModel;
    /**
     * Defines the text of the bpmn annotation
     *
     * @default 'None'
     */
    annotation: BpmnAnnotationModel;
    /**
     * Defines the text of the bpmn annotation collection
     *
     * @default 'None'
     */
    enumerationShape: UmlEnumerationModel;
    /**
     * Defines the type of classifier
     *
     * @default 'Class'
     * @IgnoreSingular
     */
    classifier: ClassifierShape;
    /**
     * Defines the text of the bpmn annotation collection
     *
     * @default 'None'
     */
    classShape: UmlClassModel;
    /**
     * Defines the text of the bpmn annotation collection
     *
     * @default 'None'
     */
    interfaceShape: UmlInterfaceModel;
    /**
     * Returns the name of class UmlClassifierShape
     *
     * @private
     */
    getClassName(): string;
}
/**
 * Defines the behavior of nodes
 */
export  class Node extends NodeBase implements IElement {
    /**
     * Defines the collection of textual annotations of nodes/connectors
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    annotations: ShapeAnnotationModel[];
    /**
     * Sets the x-coordinate of the position of the node
     *
     * @default 0
     */
    offsetX: number;
    /**
     * Sets the layout properties using node property
     *
     * @default new NodeLayoutInfo()
     * @aspType object
     */
    layoutInfo: LayoutInfo;
    /**
     * Sets the y-coordinate of the position of the node
     *
     * @default 0
     */
    offsetY: number;
    /**
     * Defines the collection of connection points of nodes/connectors
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    ports: PointPortModel[];
    /**
     * Defines whether the node is expanded or not
     *
     * @default true
     */
    isExpanded: boolean;
    /**
     * Specifies the collection of the fixed user handle
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    fixedUserHandles: NodeFixedUserHandleModel[];
    /**
     * Defines the expanded state of a node
     *
     * @default {}
     */
    expandIcon: IconShapeModel;
    /**
     * Defines the collapsed state of a node
     *
     * @default {}
     */
    collapseIcon: IconShapeModel;
    /**
     * Sets the reference point, that will act as the offset values(offsetX, offsetY) of a node
     *
     * @default new Point(0.5,0.5)
     */
    pivot: PointModel;
    /**
     * Sets the width of the node
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    width: number;
    /**
     * Sets the height of the node
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    height: number;
    /**
     * Sets the minimum width of the node
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    minWidth: number;
    /**
     * Sets the minimum height of the node
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    minHeight: number;
    /**
     * Sets the maximum width of the node
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    maxWidth: number;
    /**
     * Sets the maximum height of the node
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    maxHeight: number;
    /**
     * Sets the rotate angle of the node
     *
     * @default 0
     */
    rotateAngle: number;
    /**
     * Sets the shape style of the node
     *
     * @default new ShapeStyle()
     * @aspType object
     */
    style: ShapeStyleModel | TextStyleModel;
    /**
     * Sets the background color of the shape
     *
     * @default 'transparent'
     */
    backgroundColor: string;
    /**
     * Sets the border color of the node
     *
     * @deprecated
     * @default 'none'
     */
    borderColor: string;
    /**
     * Sets the border width of the node
     *
     * @deprecated
     * @default 0
     */
    borderWidth: number;
    /**
     * Sets the data source of the node
     */
    data: Object;
    /**
     * Defines the shape of a node
     *
     * @default Basic Shape
     * @aspType object
     */
    shape: ShapeModel | FlowShapeModel | BasicShapeModel | ImageModel | PathModel | TextModel | BpmnShapeModel | NativeModel | HtmlModel | UmlActivityShapeModel | UmlClassifierShapeModel | SwimLaneModel | DiagramShapeModel;
    /**
     * Defines the size of the symbol preview
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    previewSize: SymbolSizeModel;
    /**
     * Defines the size of a drop symbol
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    dragSize: SymbolSizeModel;
    /**
     * Sets or gets the UI of a node
     *
     * @default null
     * @deprecated
     */
    wrapper: Container;
    /**
     * Enables/Disables certain features of nodes
     * * None - Disable all node Constraints
     * * Select - Enables node to be selected
     * * Drag - Enables node to be Dragged
     * * Rotate - Enables node to be Rotate
     * * Shadow - Enables node to display shadow
     * * PointerEvents - Enables node to provide pointer  option
     * * Delete - Enables node to delete
     * * InConnect - Enables node to provide in connect option
     * * OutConnect - Enables node to provide out connect option
     * * Individual - Enables node to provide individual resize option
     * * Expandable - Enables node to provide Expandable option
     * * AllowDrop - Enables node to provide allow to drop option
     * * Inherit - Enables node to inherit the interaction option
     * * ResizeNorthEast - Enable ResizeNorthEast of the node
     * * ResizeEast - Enable ResizeEast of the node
     * * ResizeSouthEast - Enable ResizeSouthEast of the node
     * * ResizeSouth - Enable ResizeSouthWest of the node
     * * ResizeSouthWest - Enable ResizeSouthWest of the node
     * * ResizeSouth - Enable ResizeSouth of the node
     * * ResizeSouthWest - Enable ResizeSouthWest of the node
     * * ResizeWest - Enable ResizeWest of the node
     * * ResizeNorth - Enable ResizeNorth of the node
     * * Resize - Enables the Aspect ratio fo the node
     * * AspectRatio - Enables the Aspect ratio fo the node
     * * Tooltip - Enables or disables tool tip for the Nodes
     * * InheritTooltip - Enables or disables tool tip for the Nodes
     * * ReadOnly - Enables the  ReadOnly support for Annotation
     *
     * @default 'Default'
     * @aspNumberEnum
     */
    constraints: NodeConstraints;
    /**
     * Defines the shadow of a shape/path
     *
     * @default null
     */
    shadow: ShadowModel;
    /**
     * Defines the children of group element
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    children: string[];
    /**
    * Defines the space between the group node edges and its children
    *
    * @aspDefaultValueIgnore
    * @default 0
    */
    padding: MarginModel;
    /**
     * Defines the type of the container
     *
     * @aspDefaultValueIgnore
     * @default null
     * @deprecated
     */
    container: ChildContainerModel;
    /**
     * Sets the horizontalAlignment of the node
     *
     * @default 'Stretch'
     */
    horizontalAlignment: HorizontalAlignment;
    /**
     * Sets the verticalAlignment of the node
     *
     * @default 'Stretch'
     */
    verticalAlignment: VerticalAlignment;
    /**
     * Used to define the rows for the grid container
     *
     * @aspDefaultValueIgnore
     * @deprecated
     * @default undefined
     */
    rows: RowDefinition[];
    /**
     * Used to define the column for the grid container
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    columns: ColumnDefinition[];
    /**
     * Used to define a index of row in the grid
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    rowIndex: number;
    /**
     * Used to define a index of column in the grid
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    columnIndex: number;
    /**
     * Merge the row use the property in the grid container
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    rowSpan: number;
    /**
     * Merge the column use the property in the grid container
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    columnSpan: number;
    /**
     * Set the branch for the mind map
     *
     * @aspDefaultValueIgnore
     * @default ''
     */
    branch: BranchTypes;
    /** @private */
    oldGradientValue: Object;
    /** @private */
    isCanvasUpdate: boolean;
    /** @private */
    status: Status;
    /** @private */
    parentId: string;
    /** @private */
    processId: string;
    /** @private */
    umlIndex: number;
    /** @private */
    outEdges: string[];
    /** @private */
    inEdges: string[];
    /** @private */
    isHeader: boolean;
    /** @private */
    isLane: boolean;
    /** @private */
    isPhase: boolean;
    /** @private */
    readonly actualSize: Size;
    constructor(parent: any, propName: string, defaultValue: Object, isArray?: boolean);
    /**
     * Allows to initialize the UI of a node
     */
    /** @private */
    init(diagram: any): DiagramElement;
    /** @private */
    initContainer(): Container;
    /** @private */
    initPorts(accessibilityContent: Function | string, container: Container): void;
    /** @private */
    initPort(accessibilityContent: Function | string, container: Container, port: Port): void;
    private getIconOffet;
    /** @private */
    initIcons(accessibilityContent: Function | string, layout: LayoutModel, container: Container, diagramId: string): void;
    /** @private */
    initfixedUserHandles(fixedUserHandle: NodeFixedUserHandleModel): DiagramElement;
    private getfixedUserHandleOffet;
    /** @private */
    initAnnotations(accessibilityContent: Function | string, container: Container, diagramId: string, virtualize?: boolean, annotationTemplate?: string): void;
    /** @private */
    initPortWrapper(ports: Port, Node?: NodeModel): DiagramElement;
    /** @private */
    initAnnotationWrapper(annotation: Annotation, diagramId?: string, virtualize?: boolean, value?: number, annotationTemplate?: string | Function): DiagramElement;
    private initIconContainer;
    private initIconSymbol;
    /**
     * @private
     *
     * Returns the name of class Node
     */
    getClassName(): string;
}
/**
 * Defines the behavior of header in swimLane
 */
export  class Header extends base.ChildProperty<Shape> {
    /**
     * Sets the id of the header
     *
     * @default ''
     */
    id: string;
    /**
     * Sets the content of the header
     *
     * @default ''
     */
    annotation: AnnotationModel;
    /**
     * Sets the style of the header
     *
     * @default ''
     */
    style: TextStyleModel;
    /**
     * Sets the height of the header
     *
     * @default 50
     */
    height: number;
    /**
     * Sets the width of the header
     *
     * @default 50
     */
    width: number;
}
/**
 * Defines the behavior of lane in swimLane
 */
export  class Lane extends base.ChildProperty<Shape> {
    /**
     * Sets the id of the lane
     *
     * @default ''
     */
    id: string;
    /**
     * Sets style of the lane
     *
     * @default ''
     */
    style: ShapeStyleModel;
    /**
     * Defines the collection of child nodes
     *
     * @default []
     */
    children: NodeModel[];
    /**
     * Defines the height of the lane
     *
     * @default 100
     */
    height: number;
    /**
     * Defines the height of the lane
     *
     * @default 100
     */
    width: number;
    /**
     * Defines the collection of header in the lane.
     *
     * @default new Header()
     */
    header: HeaderModel;
    /**
     * Defines when the lane to be interchanged or not
     *
     * @default true
     */
    canMove: boolean;
    /**
     * Allows the user to save custom information about lanes. Example: addInfo: {'lane': 'lane 1 info' }
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    addInfo: Object;
    /**
     * Returns the name of class Lane
     *
     * @private
     */
    getClassName(): string;
}
/**
 * Defines the behavior of phase in swimLane
 */
export  class Phase extends base.ChildProperty<Shape> {
    /**
     * Sets the id of the phase
     *
     * @default ''
     */
    id: string;
    /**
     * Sets the style of the phase
     *
     * @default ''
     */
    style: ShapeStyleModel;
    /**
     * Sets the header collection of the phase
     *
     * @default  new Header()
     */
    header: HeaderModel;
    /**
     * Sets the offset of the phase
     *
     * @default 100
     */
    offset: number;
    /**
     * Allows the user to save custom information about phases. Example: addInfo: {'phase': 'phase 1 info' }
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    addInfo: Object;
    /**
     * Returns the name of class Phase
     *
     * @private
     */
    getClassName(): string;
}
/**
 * Defines the behavior of swimLane shape
 */
export  class SwimLane extends Shape {
    /**
     * Defines the type of node shape.
     *
     * @default 'Basic'
     */
    type: Shapes;
    /**
     * Defines the size of phase.
     *
     * @default 20
     */
    phaseSize: number;
    /**
     * Defines the collection of phases.
     *
     * @default 'undefined'
     */
    phases: PhaseModel[];
    /**
     * Defines the orientation of the swimLane
     *
     * @default 'Horizontal'
     */
    orientation: Orientation;
    /**
     * Defines the collection of lanes
     *
     * @default 'undefined'
     */
    lanes: LaneModel[];
    /**
     * Defines the collection of header
     *
     * @default 'undefined'
     */
    header: HeaderModel;
    /**
     * Defines the whether the shape is a lane or not
     *
     * @default false
     */
    isLane: boolean;
    /**
     * Defines the whether the shape is a phase or not
     *
     * @default false
     */
    isPhase: boolean;
    /**
     * Defines space between children and lane
     *
     * @private
     *
     */
    padding: number;
    /**
     * Defines header by user or not
     *
     * @private
     *
     */
    hasHeader: boolean;
    /**
     * Returns the name of class Phase
     *
     * @private
     */
    getClassName(): string;
}
/**
 * Defines the behavior of container
 */
export  class ChildContainer {
    /**
     * Defines the type of the container
     *
     * @aspDefaultValueIgnore
     * @default Canvas
     */
    type: ContainerTypes;
    /**
     * Defines the type of the swimLane orientation.
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    orientation: Orientation;
    /**
     * Returns the name of class ChildContainer
     *
     * @private
     */
    getClassName(): string;
}
/**
 * Defines the size and position of selected items and defines the appearance of selector
 */
export  class Selector extends base.ChildProperty<Selector> implements IElement {
    /**
     * Defines the size and position of the container
     *
     * @default null
     */
    wrapper: Container;
    /**
     * Defines the size of the resize handler
     *
     * @default 14
     */
    handleSize: number;
    /**
     * Defines the collection of selected nodes
     *
     */
    nodes: NodeModel[];
    /**
     * Defines the collection of selected connectors
     *
     */
    connectors: ConnectorModel[];
    /**
     * @private
     */
    annotation: ShapeAnnotationModel | PathAnnotationModel;
    /**
     * Sets/Gets the width of the container
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    width: number;
    /**
     * Sets/Gets the height of the container
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    height: number;
    /**
     * Sets the rotate angle of the container
     *
     * @default 0
     */
    rotateAngle: number;
    /**
     * Sets the positionX of the container
     *
     * @default 0
     */
    offsetX: number;
    /**
     * Sets the positionY of the container
     *
     * @default 0
     */
    offsetY: number;
    /**
     * Sets the pivot of the selector
     *
     * @default { x: 0.5, y: 0.5 }
     */
    pivot: PointModel;
    /**
     * Defines how to pick the objects to be selected using rubber band selection
     * * CompleteIntersect - Selects the objects that are contained within the selected region
     * * PartialIntersect - Selects the objects that are partially intersected with the selected region
     *
     * @default 'CompleteIntersect'
     */
    rubberBandSelectionMode: RubberBandSelectionMode;
    /**
     * Defines the collection of user handle
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let nodes$: NodeModel[] = [{
     *           id: 'node1', width: 100, height: 100, offsetX: 100, offsetY: 100,
     *           annotations: [{ content: 'Default Shape' }]
     *       },
     *       {
     *           id: 'node2', width: 100, height: 100, offsetX: 300, offsetY: 100,
     *           shape: {
     *               type: 'Basic', shape: 'Ellipse'
     *           },
     *           annotations: [{ content: 'Path Element' }]
     *       }
     *       ];
     *       let connectors$: ConnectorModel[] = [{
     *           id: 'connector1',
     *           type: 'Straight',
     *           sourcePoint: { x: 100, y: 300 },
     *           targetPoint: { x: 200, y: 400 },
     *       }];
     * let handle$: UserHandleModel[] = [
     * { name: 'handle', margin: { top: 0, bottom: 0, left: 0, right: 0 }, offset: 0,
     * pathData: 'M 376.892,225.284L 371.279,211.95L 376.892,198.617L 350.225,211.95L 376.892,225.284 Z',
     * side: 'Top', horizontalAlignment: 'Center', verticalAlignment: 'Center',
     * pathColor: 'yellow' }];
     * let diagram$: Diagram = new Diagram({
     * ...
     *     connectors: connectors, nodes: nodes,
     *     selectedItems: { constraints: SelectorConstraints.All, userHandles: handle },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default []
     */
    userHandles: UserHandleModel[];
    /**
     * Controls the visibility of selector.
     * * None - Hides all the selector elements
     * * ConnectorSourceThumb - Shows/hides the source thumb of the connector
     * * ConnectorTargetThumb - Shows/hides the target thumb of the connector
     * * ResizeSouthEast - Shows/hides the bottom right resize handle of the selector
     * * ResizeSouthWest - Shows/hides the bottom left resize handle of the selector
     * * ResizeNorthEast - Shows/hides the top right resize handle of the selector
     * * ResizeNorthWest - Shows/hides the top left resize handle of the selector
     * * ResizeEast - Shows/hides the middle right resize handle of the selector
     * * ResizeWest - Shows/hides the middle left resize handle of the selector
     * * ResizeSouth - Shows/hides the bottom center resize handle of the selector
     * * ResizeNorth - Shows/hides the top center resize handle of the selector
     * * Rotate - Shows/hides the rotate handle of the selector
     * * UserHandles - Shows/hides the user handles of the selector
     * * Resize - Shows/hides all resize handles of the selector
     *
     * @default 'All'
     * @aspNumberEnum
     */
    constraints: SelectorConstraints;
    /**
     * set the constraint of the container
     * * Rotate - Enable Rotate Thumb
     * * ConnectorSource - Enable Connector source point
     * * ConnectorTarget - Enable Connector target point
     * * ResizeNorthEast - Enable ResizeNorthEast Resize
     * * ResizeEast - Enable ResizeEast Resize
     * * ResizeSouthEast - Enable ResizeSouthEast Resize
     * * ResizeSouth - Enable ResizeSouth Resize
     * * ResizeSouthWest - Enable ResizeSouthWest Resize
     * * ResizeWest - Enable ResizeWest Resize
     * * ResizeNorthWest - Enable ResizeNorthWest Resize
     * * ResizeNorth - Enable ResizeNorth Resize
     *
     * @private
     * @aspNumberEnum
     */
    thumbsConstraints: ThumbsConstraints;
    /**
     * setTooltipTemplate helps to customize the content of a tooltip
     *
     * @aspDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    setTooltipTemplate: Function | string;
    /**
     * Defines the collection of selected nodes and connectors
     * @default []
     */
    selectedObjects: (NodeModel | ConnectorModel)[];
    /**
     * Initializes the UI of the container
     */
    init(diagram: Diagram): Container;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/objects/port-model.d.ts
/**
 * Interface for a class Port
 */
export interface PortModel {
    /**
     * Defines the unique id of the port
     *
     * @default ''
     */
    id?: string;
    /**
     * Sets the horizontal alignment of the port with respect to its immediate parent(node/connector)
     * * Stretch - Stretches the diagram element throughout its immediate parent
     * * Left - Aligns the diagram element at the left of its immediate parent
     * * Right - Aligns the diagram element at the right of its immediate parent
     * * Center - Aligns the diagram element at the center of its immediate parent
     * * Auto - Aligns the diagram element based on the characteristics of its immediate parent
     *
     * @default 'Center'
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Sets the vertical alignment of the port with respect to its immediate parent(node/connector)
     * * Stretch - Stretches the diagram element throughout its immediate parent
     * * Top - Aligns the diagram element at the top of its immediate parent
     * * Bottom - Aligns the diagram element at the bottom of its immediate parent
     * * Center - Aligns the diagram element at the center of its immediate parent
     * * Auto - Aligns the diagram element based on the characteristics of its immediate parent
     *
     * @default 'Center'
     */
    verticalAlignment?: VerticalAlignment;
    /**
     * Defines the space that the port has to be moved from its actual position
     *
     * @default new Margin(0,0,0,0)
     */
    margin?: MarginModel;
    /**
     * Sets the width of the port
     *
     * @default 12
     */
    width?: number;
    /**
     * Sets the height of the port
     *
     * @default 12
     */
    height?: number;
    /**
     * Defines the appearance of the port
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     *   let port: PointPortModel[] =
     * [{ id: 'port1', visibility: PortVisibility.Visible, shape: 'Circle', offset: { x: 0, y: 0 } },];
     * let nodes$: NodeModel[] = [{
     * id: 'node1', width: 100, height: 100, offsetX: 100, offsetY: 100,
     * }];
     * nodes.ports = port;
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes : nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default {}
     */
    style?: ShapeStyleModel;
    /**
     * Defines the type of the port shape
     * * X - Sets the decorator shape as X
     * * Circle - Sets the decorator shape as Circle
     * * Square - Sets the decorator shape as Square
     * * Custom - Sets the decorator shape as Custom
     *
     * @default 'Square'
     */
    shape?: PortShapes;
    /**
     * Defines the type of the port visibility
     * * Visible - Always shows the port
     * * Hidden - Always hides the port
     * * Hover - Shows the port when the mouse hovers over a node
     * * Connect - Shows the port when a connection end point is dragged over a node
     *
     * @default 'Connect'
     * @aspNumberEnum
     */
    visibility?: PortVisibility;
    /**
     * Defines the geometry of the port
     *
     * @default ''
     */
    pathData?: string;
    /**
     * Defines the constraints of port
     *
     * @default 'Default'
     * @aspNumberEnum
     */
    constraints?: PortConstraints;
    /**
     * Allows the user to save custom information/data about a port
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    addInfo?: Object;
    /**
     * Defines the collection of the objects that are connected to a particular port
     *
     * @default undefined
     * @blazorDefaultValue new string[] { }
     */
    outEdges?: string[];
    /**
     * Defines the collection of the objects that are connected to a particular port
     *
     * @default undefined
     * @blazorDefaultValue new string[] { }
     */
    inEdges?: string[];
}
/**
 * Interface for a class PointPort
 */
export interface PointPortModel extends PortModel{
    /**
     * Defines the position of the port with respect to the boundaries of nodes/connector
     *
     * @default new Point(0.5,0.5)
     * @blazorType NodePortOffset
     */
    offset?: PointModel;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/objects/port.d.ts
/**
 * Defines the behavior of connection ports
 */
export  abstract class Port extends base.ChildProperty<Port> {
    /**
     * Defines the unique id of the port
     *
     * @default ''
     */
    id: string;
    /**
     * Sets the horizontal alignment of the port with respect to its immediate parent(node/connector)
     * * Stretch - Stretches the diagram element throughout its immediate parent
     * * Left - Aligns the diagram element at the left of its immediate parent
     * * Right - Aligns the diagram element at the right of its immediate parent
     * * Center - Aligns the diagram element at the center of its immediate parent
     * * Auto - Aligns the diagram element based on the characteristics of its immediate parent
     *
     * @default 'Center'
     */
    horizontalAlignment: HorizontalAlignment;
    /**
     * Sets the vertical alignment of the port with respect to its immediate parent(node/connector)
     * * Stretch - Stretches the diagram element throughout its immediate parent
     * * Top - Aligns the diagram element at the top of its immediate parent
     * * Bottom - Aligns the diagram element at the bottom of its immediate parent
     * * Center - Aligns the diagram element at the center of its immediate parent
     * * Auto - Aligns the diagram element based on the characteristics of its immediate parent
     *
     * @default 'Center'
     */
    verticalAlignment: VerticalAlignment;
    /**
     * Defines the space that the port has to be moved from its actual position
     *
     * @default new Margin(0,0,0,0)
     */
    margin: MarginModel;
    /**
     * Sets the width of the port
     *
     * @default 12
     */
    width: number;
    /**
     * Sets the height of the port
     *
     * @default 12
     */
    height: number;
    /**
     * Defines the appearance of the port
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     *   let port$: PointPortModel[] =
     * [{ id: 'port1', visibility: PortVisibility.Visible, shape: 'Circle', offset: { x: 0, y: 0 } },];
     * let nodes$: NodeModel[] = [{
     * id: 'node1', width: 100, height: 100, offsetX: 100, offsetY: 100,
     * }];
     * nodes.ports = port;
     * let diagram$: Diagram = new Diagram({
     * ...
     * nodes : nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     *
     * @default {}
     */
    style: ShapeStyleModel;
    /**
     * Defines the type of the port shape
     * * X - Sets the decorator shape as X
     * * Circle - Sets the decorator shape as Circle
     * * Square - Sets the decorator shape as Square
     * * Custom - Sets the decorator shape as Custom
     *
     * @default 'Square'
     */
    shape: PortShapes;
    /**
     * Defines the type of the port visibility
     * * Visible - Always shows the port
     * * Hidden - Always hides the port
     * * Hover - Shows the port when the mouse hovers over a node
     * * Connect - Shows the port when a connection end point is dragged over a node
     *
     * @default 'Connect'
     * @aspNumberEnum
     */
    visibility: PortVisibility;
    /**
     * Defines the geometry of the port
     *
     * @default ''
     */
    pathData: string;
    /**
     * Defines the constraints of port
     *
     * @default 'Default'
     * @aspNumberEnum
     */
    constraints: PortConstraints;
    /**
     * Allows the user to save custom information/data about a port
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    addInfo: Object;
    /**
     * Defines the collection of the objects that are connected to a particular port
     *
     * @default undefined
     * @blazorDefaultValue new string[] { }
     */
    outEdges: string[];
    /**
     * Defines the collection of the objects that are connected to a particular port
     *
     * @default undefined
     * @blazorDefaultValue new string[] { }
     */
    inEdges: string[];
    constructor(parent: any, propName: string, defaultValue: Object, isArray?: boolean);
}
/**
 * Defines the behavior of a port, that sticks to a point
 */
export  class PointPort extends Port {
    /**
     * Defines the position of the port with respect to the boundaries of nodes/connector
     *
     * @default new Point(0.5,0.5)
     * @blazorType NodePortOffset
     */
    offset: PointModel;
    constructor(parent: any, propName: string, defaultValue: Object, isArray?: boolean);
    /**
     * getClassName method \
     *
     * @returns { string } toBounds method .\
     *
     * @private
     */
    getClassName(): string;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/objects/preview-model.d.ts
/**
 * Interface for a class SymbolSize
 */
export interface SymbolSizeModel {
    /**
     * Sets the width of the symbols
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    width?: number;
    /**
     * Sets the height of the symbols
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    height?: number;
}
/**
 * Interface for a class SymbolPaletteInfo
 */
export interface SymbolPaletteInfoModel {
    /**
     * Defines the width of the symbol description
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    width?: number;
    /**
     * Defines the height of the symbol description
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    height?: number;
    /**
     * Defines whether the symbol has to be fit inside the size, that is defined by the symbol palette
     *
     * @default true
     */
    fit?: boolean;
    /**
     * Define the text to be displayed and how that is to be handled.
     *
     * @default null
     */
    description?: SymbolDescription;
    /**
     * Define the template of the symbol that is to be drawn over the palette
     *
     * @default null
     */
    template?: DiagramElement;
    /**
     * Define the text to be displayed when mouse hover on the shape.
     *
     * @default ''
     */
    tooltip?: string;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/objects/preview.d.ts
/**
 * customize the size of the individual palette items.
 */
export  class SymbolSize extends base.ChildProperty<SymbolSize> {
    /**
     * Sets the width of the symbols
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    width: number;
    /**
     * Sets the height of the symbols
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    height: number;
}
/**
 * Defines the size and description of a symbol
 */
export  class SymbolPaletteInfo extends base.ChildProperty<SymbolPaletteInfo> {
    /**
     * Defines the width of the symbol description
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    width: number;
    /**
     * Defines the height of the symbol description
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    height: number;
    /**
     * Defines whether the symbol has to be fit inside the size, that is defined by the symbol palette
     *
     * @default true
     */
    fit: boolean;
    /**
     * Define the text to be displayed and how that is to be handled.
     *
     * @default null
     */
    description: SymbolDescription;
    /**
     * Define the template of the symbol that is to be drawn over the palette
     *
     * @default null
     */
    template: DiagramElement;
    /**
     * Define the text to be displayed when mouse hover on the shape.
     *
     * @default ''
     */
    tooltip: string;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/objects/service.d.ts
/**
 * ServiceLocator
 *
 * @hidden
 */
export  class ServiceLocator {
    private services;
    register<T>(name: string, type: T): void;
    getService<T>(name: string): T;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/objects/snapping.d.ts
/**
 * Snapping
 */
export  class Snapping {
    private line;
    private diagram;
    private render;
    constructor(diagram: Diagram);
    /** @private */
    canSnap(): boolean;
    private getWrapperObject;
    setSnapLineColor(): string;
    /**
     * Snap to object
     *
     * @private
     */
    snapPoint(diagram: Diagram, selectedObject: SelectorModel, towardsLeft: boolean, towardsTop: boolean, delta: PointModel, startPoint: PointModel, endPoint: PointModel): PointModel;
    /**
     * @private
     */
    round(value: number, snapIntervals: number[], scale: number): number;
    private snapObject;
    /**
     * @private
     */
    snapConnectorEnd(point: PointModel): PointModel;
    private canBeTarget;
    private snapSize;
    /**
     * Snap to object on top
     *
     * @private
     */
    snapTop(horizontalSnap: Snap, verticalSnap: Snap, snapLine: SVGElement, deltaX: number, deltaY: number, shape: SelectorModel, ended: boolean, initialBoundsT: Rect): number;
    /**
     * Snap to object on right
     *
     * @private
     */
    snapRight(horizontalSnap: Snap, verticalSnap: Snap, snapLine: SVGElement, deltaX: number, deltaY: number, shape: SelectorModel, ended: boolean, initialBound: Rect): number;
    /**
     * Snap to object on left
     *
     * @private
     */
    snapLeft(horizontalSnap: Snap, verticalSnap: Snap, snapLine: SVGElement, deltaX: number, deltaY: number, shape: SelectorModel, ended: boolean, initialBoundsB: Rect): number;
    /**
     * Snap to object on bottom
     *
     * @private
     */
    snapBottom(horizontalSnap: Snap, verticalSnap: Snap, snapLine: SVGElement, deltaX: number, deltaY: number, shape: SelectorModel | DiagramElement, ended: boolean, initialRect: Rect): number;
    private createGuidelines;
    private renderAlignmentLines;
    private createHSpacingLines;
    private createVSpacingLines;
    private addHSpacingLines;
    private addVSpacingLines;
    private addSameWidthLines;
    private addSameHeightLines;
    private renderSpacingLines;
    /**
     * To Create Snap object with position, initial bounds, and final bounds \
     *
     * @returns {  void }  To Create Snap object with position, initial bounds, and final bounds .\
     * @param {Diagram} targetBounds - provide the targetBounds value.
     * @param {Rect} bounds - provide the angle value.
     * @param {string} snap - provide the angle value.
     * @private
     */
    createSnapObject(targetBounds: Rect, bounds: Rect, snap: string): SnapObject;
    /**
     *  Calculate the snap angle \
     *
     * @returns {  void }  Calculate the snap angle .\
     * @param {Diagram} diagram - provide the diagram value.
     * @param {number} angle - provide the angle value.
     * @private
     */
    snapAngle(diagram: Diagram, angle: number): number;
    private canConsider;
    private findNodes;
    private intersectsRect;
    private getAdornerLayerSvg;
    /**
     *  To remove grid lines on mouse move and mouse up \
     *
     * @returns {  void }  To remove grid lines on mouse move and mouse up .\
     * @param {Diagram} diagram - provide the source value.
     * @private
     */
    removeGuidelines(diagram: Diagram): void;
    private sortByDistance;
    private findEquallySpacedNodesAtLeft;
    private findEquallySpacedNodesAtRight;
    private findEquallySpacedNodesAtTop;
    private findEquallySpacedNodesAtBottom;
    /**
     * To get Adoner layer to draw snapLine
     *
     * @private
     */
    getLayer(): SVGElement;
    /**
     * Constructor for the snapping module
     *
     * @private
     */
    /**
     *To destroy the ruler
     *
     * @returns {void} To destroy the ruler
     */
    destroy(): void;
    /**
     * Core method to return the component name.
     *
     * @returns {string}  Core method to return the component name.
     * @private
     */
    protected getModuleName(): string;
}
export interface Snap {
    snapped: boolean;
    offset: number;
    left?: boolean;
    bottom?: boolean;
    right?: boolean;
    top?: boolean;
}
/**
 * @private
 */
export interface SnapObject {
    start: PointModel;
    end: PointModel;
    offsetX: number;
    offsetY: number;
    type: string;
}
/**
 * @private
 */
export interface Objects {
    obj: DiagramElement;
    distance: number;
}
/**
 * @private
 */
export interface SnapSize {
    source: NodeModel;
    difference: number;
    offset: number;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/objects/swim-lane.d.ts
/**
 * Swim lanes are used to visualize cross functional flow charts
 */
//node_modules/@syncfusion/ej2-diagrams/src/diagram/objects/tooltip-model.d.ts
/**
 * Interface for a class DiagramTooltip
 */
export interface DiagramTooltipModel {
    /**
     * Defines the content of the popups.Tooltip
     *
     * @default ''
     */
    content?: string | HTMLElement;
    /**
     * Defines the position of the popups.Tooltip
     *
     * @default 'TopLeft'
     * @aspDefaultValueIgnore
     * @blazorType Syncfusion.Blazor.Popups.popups.Position
     * @blazorDefaultValue Syncfusion.Blazor.Popups.popups.Position.TopLeft
     * @isEnumeration true
     */
    position?: popups.Position;
    /**
     * Defines the relative mode of the popups.Tooltip
     * * Object - sets the tooltip position relative to the node
     * * Mouse - sets the tooltip position relative to the mouse
     *
     * @default 'Mouse'
     */
    relativeMode?: TooltipRelativeMode;
    /**
     * Defines if the popups.Tooltip has tip pointer or not
     *
     * @default true
     */
    showTipPointer?: boolean;
    /**
     * Sets the width of the popups.Tooltip
     *
     * @default 'auto'
     */
    width?: number | string;
    /**
     * Sets the height of the popups.Tooltip
     *
     * @default 'auto'
     */
    height?: number | string;
    /**
     * Sets how to open the popups.Tooltip
     *
     * @default 'Auto'
     */
    openOn?: TooltipMode;
    /**
     * Allows to set the same or different animation option for the popups.Tooltip, when it is opened or closed.
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let diagram$: Diagram = new Diagram({
     * ...
     * constraints: DiagramConstraints.Default | DiagramConstraints.popups.Tooltip,
     * tooltip: { content: getcontent(), position: 'TopLeft', relativeMode: 'Object',
     * animation: { open: { effect: 'FadeZoomIn', delay: 0 },
     * close: { effect: 'FadeZoomOut', delay: 0 } } },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * function getcontent(): => {
     * ...
     * }
     * ```
     *
     * @aspDefaultValueIgnore
     * @blazorType Syncfusion.Blazor.Popups.popups.AnimationModel
     * @default { open: { effect: 'FadeIn', duration: 150, delay: 0 }, close: { effect: 'FadeOut', duration: 150, delay: 0 } }
     */
    animation?: popups.AnimationModel;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/objects/tooltip.d.ts
/**
 * Defines the tooltip that should be shown when the mouse hovers over node.
 * An object that defines the description, appearance and alignments of tooltip
 */
export  abstract class DiagramTooltip extends base.ChildProperty<DiagramTooltip> {
    /**
     * Defines the content of the popups.Tooltip
     *
     * @default ''
     */
    content: string | HTMLElement;
    /**
     * Defines the position of the popups.Tooltip
     *
     * @default 'TopLeft'
     * @aspDefaultValueIgnore
     * @blazorType Syncfusion.Blazor.Popups.popups.Position
     * @blazorDefaultValue Syncfusion.Blazor.Popups.popups.Position.TopLeft
     * @isEnumeration true
     */
    position: popups.Position;
    /**
     * Defines the relative mode of the popups.Tooltip
     * * Object - sets the tooltip position relative to the node
     * * Mouse - sets the tooltip position relative to the mouse
     *
     * @default 'Mouse'
     */
    relativeMode: TooltipRelativeMode;
    /**
     * Defines if the popups.Tooltip has tip pointer or not
     *
     * @default true
     */
    showTipPointer: boolean;
    /**
     * Sets the width of the popups.Tooltip
     *
     * @default 'auto'
     */
    width: number | string;
    /**
     * Sets the height of the popups.Tooltip
     *
     * @default 'auto'
     */
    height: number | string;
    /**
     * Sets how to open the popups.Tooltip
     *
     * @default 'Auto'
     */
    openOn: TooltipMode;
    /**
     * Allows to set the same or different animation option for the popups.Tooltip, when it is opened or closed.
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let diagram$: Diagram = new Diagram({
     * ...
     * constraints: DiagramConstraints.Default | DiagramConstraints.popups.Tooltip,
     * tooltip: { content: getcontent(), position: 'TopLeft', relativeMode: 'Object',
     * animation: { open: { effect: 'FadeZoomIn', delay: 0 },
     * close: { effect: 'FadeZoomOut', delay: 0 } } },
     * ...
     * });
     * diagram.appendTo('#diagram');
     * function getcontent(): => {
     * ...
     * }
     * ```
     *
     * @aspDefaultValueIgnore
     * @blazorType Syncfusion.Blazor.Popups.popups.AnimationModel
     * @default { open: { effect: 'FadeIn', duration: 150, delay: 0 }, close: { effect: 'FadeOut', duration: 150, delay: 0 } }
     */
    animation: popups.AnimationModel;
}
/**
 * initTooltip method \
 *
 * @returns { popups.Tooltip | BlazorTooltip } initTooltip method .\
 * @param {Diagram} diagram - provide the points value.
 *
 * @private
 */
export  function initTooltip(diagram: Diagram): popups.Tooltip | BlazorTooltip;
/**
 * updateTooltip method \
 *
 * @returns { popups.Tooltip } updateTooltip method .\
 * @param {Diagram} diagram - provide the points value.
 * @param {NodeModel | ConnectorModel} node - provide the points value.
 *
 * @private
 */
export  function updateTooltip(diagram: Diagram, node?: NodeModel | ConnectorModel): popups.Tooltip;
//node_modules/@syncfusion/ej2-diagrams/src/diagram/objects/undo-redo.d.ts
/**
 * Undo redo function used for revert and restore the changes
 */
export  class UndoRedo {
    private groupUndo;
    private childTable;
    private historyCount;
    private hasGroup;
    private groupCount;
    /**
     * initHistory method \
     *
     * @returns { void } initHistory method .\
     * @param {Diagram} diagram - provide the points value.
     *
     * @private
     */
    initHistory(diagram: Diagram): void;
    /**
     * addHistoryEntry method \
     *
     * @returns { void } addHistoryEntry method .\
     * @param {HistoryEntry} entry - provide the points value.
     * @param {Diagram} diagram - provide the points value.
     *
     * @private
     */
    addHistoryEntry(entry: HistoryEntry, diagram: Diagram): void;
    /**
     * applyLimit method \
     *
     * @returns { void } applyLimit method .\
     * @param {HistoryEntry} list - provide the list value.
     * @param {number} stackLimit - provide the list value.
     * @param {Diagram} diagram - provide the list value.
     * @param {boolean} limitHistory - provide the list value.
     *
     * @private
     */
    applyLimit(list: HistoryEntry, stackLimit: number, diagram: Diagram, limitHistory?: boolean): void;
    /**
     * clearHistory method \
     *
     * @returns { void } clearHistory method .\
     * @param {Diagram} diagram - provide the points value.
     *
     * @private
     */
    clearHistory(diagram: Diagram): void;
    private setEntryLimit;
    private limitHistoryStack;
    private removeFromStack;
    /**
     * undo method \
     *
     * @returns { void } undo method .\
     * @param {Diagram} diagram - provide the diagram value.
     *
     * @private
     */
    undo(diagram: Diagram): void;
    private getHistoryChangeEvent;
    private getHistoryList;
    private getHistroyObject;
    private undoGroupAction;
    private undoEntry;
    private checkNodeObject;
    private group;
    private unGroup;
    private ignoreProperty;
    private getProperty;
    private recordLaneOrPhaseCollectionChanged;
    private recordAnnotationChanged;
    private recordChildCollectionChanged;
    private recordStackPositionChanged;
    private recordGridSizeChanged;
    private recordLanePositionChanged;
    private recordPortChanged;
    private recordPropertyChanged;
    private recordOrderCommandChanged;
    private recordAddChildToGroupNode;
    private recordSegmentChanged;
    private segmentChanged;
    private recordPositionChanged;
    private positionChanged;
    private recordSizeChanged;
    private sizeChanged;
    private recordRotationChanged;
    private rotationChanged;
    private recordConnectionChanged;
    private connectionChanged;
    private recordCollectionChanged;
    private recordLabelCollectionChanged;
    private recordPortCollectionChanged;
    /**
     * redo method \
     *
     * @returns { void } redo method .\
     * @param {Diagram} diagram - provide the diagram value.
     *
     * @private
     */
    redo(diagram: Diagram): void;
    private redoGroupAction;
    private redoEntry;
    private getUndoEntry;
    private getRedoEntry;
    /**
     * Constructor for the undo redo module
     *
     * @private
     */
    constructor();
    /**
     * To destroy the undo redo module
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
    /**
     * @returns { string } toBounds method .\
     * Get getModuleName name.
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/primitives/matrix.d.ts
/**
 * Matrix module is used to transform points based on offsets, angle
 */
/** @private */
export  enum MatrixTypes {
    Identity = 0,
    Translation = 1,
    Scaling = 2,
    Unknown = 4
}
/** @private */
export  class Matrix {
    /**   @private  */
    m11: number;
    /**   @private  */
    m12: number;
    /**   @private  */
    m21: number;
    /**   @private  */
    m22: number;
    /**   @private  */
    offsetX: number;
    /**   @private  */
    offsetY: number;
    /**   @private  */
    type: MatrixTypes;
    constructor(m11: number, m12: number, m21: number, m22: number, offsetX: number, offsetY: number, type?: MatrixTypes);
}
/**
 * Will identify the  matrix .\
 *
 * @returns {Matrix}  Will identify the  matrix .
 * @private
 */
export  function identityMatrix(): Matrix;
/**
 * Will transform the points by matrix .\
 *
 * @returns {PointModel[]}  Will transform the points by matrix .
 *
 * @param {Matrix} matrix - provide the matrix value  .
 * @param {number} point -  provide the points value.
 * @private
 */
export  function transformPointByMatrix(matrix: Matrix, point: PointModel): PointModel;
/**
 * Will transform the points by matrix .\
 *
 * @returns {PointModel[]}  Will transform the points by matrix .
 *
 * @param {Matrix} matrix - provide the matrix value  .
 * @param {number} points -  provide the points value.
 * @private
 */
export  function transformPointsByMatrix(matrix: Matrix, points: PointModel[]): PointModel[];
/**
 * Will rotate the matrix .\
 *
 * @returns {void}  Will rotate the matrix .
 *
 * @param {Matrix} matrix - provide the matrix value  .
 * @param {number} angle - provide the angle value.
 * @param {number} centerX - provide the centerX value .
 * @param {number} centerY - provide the centerY value .
 * @private
 */
export  function rotateMatrix(matrix: Matrix, angle: number, centerX: number, centerY: number): void;
/**
 * Will scale the matrix .\
 *
 * @returns {void} Will scale the matrix .
 *
 * @param {Matrix} matrix - provide the matrix value  .
 * @param {number} scaleX - provide the scaleXvalue.
 * @param {number} scaleY - provide the scaleY value .
 * @param {number} centerX - provide the centerX value .
 * @param {number} centerY - provide the centerY value .
 * @private
 */
export  function scaleMatrix(matrix: Matrix, scaleX: number, scaleY: number, centerX?: number, centerY?: number): void;
/**
 * Will translate the matrix .\
 *
 * @returns {void} Will translate the matrix .
 *
 * @param {Matrix} matrix - provide the matrix value  .
 * @param {number} offsetX - provide the offset x value.
 * @param {number} offsetY - provide the offset y value .
 * @private
 */
export  function translateMatrix(matrix: Matrix, offsetX: number, offsetY: number): void;
/**
 * Will multiply the matrix .\
 *
 * @returns {void} Will multiply the matrix .
 *
 * @param {Matrix} matrix1 - Provide the matrix 1 value .
 * @param {Matrix} matrix2 - Provide the matrix 2 value .
 * @private
 */
export  function multiplyMatrix(matrix1: Matrix, matrix2: Matrix): void;
//node_modules/@syncfusion/ej2-diagrams/src/diagram/primitives/point-model.d.ts
/**
 * Interface for a class Point
 */
export interface PointModel {
    /**
     * Sets the x-coordinate of a position
     * @default 0
     */
    x?: number;
    /**
     * Sets the y-coordinate of a position
     * @default 0
     */
    y?: number;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/primitives/point.d.ts
/**
 * Defines and processes coordinates
 */
export  class Point extends base.ChildProperty<Point> {
    /**
     * Sets the x-coordinate of a position
     * @default 0
     */
    x: number;
    /**
     * Sets the y-coordinate of a position
     * @default 0
     */
    y: number;
    /**
     * equals method \
     *
     * @returns { boolean } equals method .\
     * @param {PointModel} point1 - provide the point1 value.
     * @param {PointModel} point2 - provide the point1 value.
     *
     * @private
     */
    static equals(point1: PointModel, point2: PointModel): boolean;
    /**
     * isEmptyPoint method \
     *
     * @returns { boolean } isEmptyPoint method .\
     * @param {PointModel} point - provide the points value.
     *
     * @private
     */
    static isEmptyPoint(point: PointModel): boolean;
    /**
     * transform method \
     *
     * @returns { PointModel } transform method .\
     * @param {PointModel} point - provide the points value.
     * @param {number} angle - provide the points value.
     * @param {number} length - provide the points value.
     *
     * @private
     */
    static transform(point: PointModel, angle: number, length: number): PointModel;
    /**
     * findLength method \
     *
     * @returns { number } findLength method .\
     * @param {PointModel} s - provide the points value.
     * @param {PointModel} e - provide the points value.
     *
     * @private
     */
    static findLength(s: PointModel, e: PointModel): number;
    /**
     * findAngle method \
     *
     * @returns { number } findAngle method .\
     * @param {PointModel} point1 - provide the points value.
     * @param {PointModel} point2 - provide the points value.
     *
     * @private
     */
    static findAngle(point1: PointModel, point2: PointModel): number;
    /**
     * distancePoints method \
     *
     * @returns { number } distancePoints method .\
     * @param {PointModel} pt1 - provide the points value.
     * @param {PointModel} pt2 - provide the points value.
     *
     * @private
     */
    static distancePoints(pt1: PointModel, pt2: PointModel): number;
    /**
     * getLengthFromListOfPoints method \
     *
     * @returns { number } getLengthFromListOfPoints method .\
     * @param {PointModel[]} points - provide the points value.
     *
     * @private
     */
    static getLengthFromListOfPoints(points: PointModel[]): number;
    /**
     * adjustPoint method \
     *
     * @returns { PointModel } adjustPoint method .\
     * @param {PointModel} source - provide the points value.
     * @param {PointModel} target - provide the points value.
     * @param {boolean} isStart - provide the isStart value.
     * @param {number} length - provide the length value.
     *
     * @private
     */
    static adjustPoint(source: PointModel, target: PointModel, isStart: boolean, length: number): PointModel;
    /**
     * direction method \
     *
     * @returns { string } direction method .\
     * @param {PointModel} pt1 - provide the points value.
     * @param {PointModel} pt2 - provide the points value.
     *
     * @private
     */
    static direction(pt1: PointModel, pt2: PointModel): string;
    /**
     * getClassName method \
     *
     * @returns { string } getClassName method .\
     *
     * @private
     */
    getClassName(): string;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/primitives/rect.d.ts
/**
 * Rect defines and processes rectangular regions
 */
export  class Rect {
    /**
     * Sets the x-coordinate of the starting point of a rectangular region
     *
     * @default 0
     */
    x: number;
    /**
     * Sets the y-coordinate of the starting point of a rectangular region
     *
     * @default 0
     */
    y: number;
    /**
     * Sets the width of a rectangular region
     *
     * @default 0
     */
    width: number;
    /**
     * Sets the height of a rectangular region
     *
     * @default 0
     */
    height: number;
    constructor(x?: number, y?: number, width?: number, height?: number);
    /**   @private  */
    static empty: Rect;
    /**   @private  */
    readonly left: number;
    /**
     * right method \
     *
     * @returns { Rect } right method .\
     *
     * @private
     */
    readonly right: number;
    /**
     * toBounds method \
     *
     * @returns { Rect } toBounds method .\
     *
     * @private
     */
    readonly top: number;
    /**
     * bottom method \
     *
     * @returns { Rect } bottom method .\
     *
     * @private
     */
    readonly bottom: number;
    /**
     * topLeft method \
     *
     * @returns { Rect } topLeft method .\
     *
     * @private
     */
    readonly topLeft: PointModel;
    /**
     * topRight method \
     *
     * @returns { Rect } topRight method .\
     *
     * @private
     */
    readonly topRight: PointModel;
    /**
     * bottomLeft method \
     *
     * @returns { Rect } bottomLeft method .\
     *
     * @private
     */
    readonly bottomLeft: PointModel;
    /**
     * bottomRight method \
     *
     * @returns { Rect } bottomRight method .\
     *
     * @private
     */
    readonly bottomRight: PointModel;
    /**
     * middleLeft method \
     *
     * @returns { Rect } middleLeft method .\
     *
     * @private
     */
    readonly middleLeft: PointModel;
    /**
     * middleRight method \
     *
     * @returns { Rect } middleRight method .\
     *
     * @private
     */
    readonly middleRight: PointModel;
    /**
     * topCenter method \
     *
     * @returns { Rect } topCenter method .\
     *
     * @private
     */
    readonly topCenter: PointModel;
    /**
     * bottomCenter method \
     *
     * @returns { Rect } bottomCenter method .\
     *
     * @private
     */
    readonly bottomCenter: PointModel;
    /**
     * center method \
     *
     * @returns { PointModel } center method .\
     *
     * @private
     */
    readonly center: PointModel;
    /**
     * equals method \
     *
     * @returns { boolean } equals method .\
     * @param {Rect} rect1 - provide the rect1 value.
     * @param {Rect} rect2 - provide the rect2 value.
     *
     * @private
     */
    equals(rect1: Rect, rect2: Rect): boolean;
    /**
     * uniteRect method \
     *
     * @returns { Rect } uniteRect method .\
     * @param {Rect} rect - provide the points value.
     *
     * @private
     */
    uniteRect(rect: Rect): Rect;
    /**
     * unitePoint method \
     *
     * @returns { void } unitePoint method .\
     * @param {PointModel} point - provide the points value.
     *
     * @private
     */
    unitePoint(point: PointModel): void;
    /**
     * Inflate method \
     *
     * @returns { Rect } Inflate method .\
     * @param {number} padding - provide the points value.
     *
     * @private
     */
    Inflate(padding: number): Rect;
    /**
     * intersects method \
     *
     * @returns { boolean } intersects method .\
     * @param {Rect} rect - provide the points value.
     *
     * @private
     */
    intersects(rect: Rect): boolean;
    /**
     * containsRect method \
     *
     * @returns { boolean } containsRect method .\
     * @param {Rect} rect - provide the points value.
     *
     * @private
     */
    containsRect(rect: Rect): boolean;
    /**
     * containsPoint method \
     *
     * @returns { boolean } containsPoint method .\
     * @param {PointModel} point - provide the points value.
     * @param {number} padding - provide the padding value.
     *
     * @private
     */
    containsPoint(point: PointModel, padding?: number): boolean;
    /**
     * toBounds method \
     *
     * @returns { Rect } toBounds method .\
     * @param {PointModel[]} points - provide the points value.
     *
     * @private
     */
    static toBounds(points: PointModel[]): Rect;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/primitives/size.d.ts
/**
 * Size defines and processes the size(width/height) of the objects
 */
export  class Size {
    /**
     * Sets the height of an object
     *
     * @default 0
     */
    height: number;
    /**
     * Sets the width of an object
     *
     * @default 0
     */
    width: number;
    constructor(width?: number, height?: number);
    /**
     * isEmpty method \
     *
     * @returns { boolean } isEmpty method .\
     *
     * @private
     */
    isEmpty(): boolean;
    /**
     * clone method \
     *
     * @returns { Size } clone method .\
     *
     * @private
     */
    clone(): Size;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/print-settings.d.ts
/**
 * Print and Export Settings
 */
export  class PrintAndExport {
    private diagram;
    constructor(diagram: Diagram);
    /**
     * To Export the diagram
     *
     * @private
     */
    exportDiagram(options: IExportOptions): string | SVGElement;
    private setCanvas;
    private canvasMultiplePage;
    private exportImage;
    /**   @private  */
    getObjectsBound(options?: IExportOptions): Rect;
    /**   @private  */
    getDiagramBounds(mode?: string, options?: IExportOptions): Rect;
    private setScaleValueforCanvas;
    private diagramAsSvg;
    private setTransform;
    private diagramAsCanvas;
    private updateWrapper;
    private scaleGradientValue;
    private updateObjectValue;
    private isImageExportable;
    private getPrintCanvasStyle;
    private getMultipleImage;
    private printImage;
    /**
     * To print the image
     *
     * @private
     */
    print(options: IExportOptions): void;
    private printImages;
    private getContent;
    /** @private */
    getDiagramContent(styleSheets?: StyleSheetList): string;
    /** @private */
    exportImages(image: string, options: IExportOptions): void;
    /**
     *To destroy the ruler
     *
     * @returns {void} To destroy the ruler
     */
    destroy(): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/rendering/canvas-interface.d.ts
/**
 * canvas interface
 */
/** @private */
export interface StyleAttributes {
    fill: string;
    stroke: string;
    strokeWidth: number;
    dashArray: string;
    opacity: number;
    shadow?: ShadowModel;
    gradient?: GradientModel;
    class?: string;
}
/** @private */
export interface BaseAttributes extends StyleAttributes {
    id: string;
    x: number;
    y: number;
    width: number;
    height: number;
    angle: number;
    pivotX: number;
    pivotY: number;
    visible: boolean;
    description?: string;
    canApplyStyle?: boolean;
    flip?: FlipDirection;
    shapeType?: string;
}
/** @private */
export interface LineAttributes extends BaseAttributes {
    startPoint: PointModel;
    endPoint: PointModel;
}
/** @private */
export interface CircleAttributes extends BaseAttributes {
    centerX: number;
    centerY: number;
    radius: number;
    id: string;
}
/** @private */
export interface Alignment {
    vAlign?: string;
    hAlign?: string;
}
/** @private */
export interface SegmentInfo {
    point?: PointModel;
    index?: number;
    angle?: number;
}
/** @private */
export interface RectAttributes extends BaseAttributes {
    cornerRadius?: number;
}
/** @private */
export interface PathAttributes extends BaseAttributes {
    data: string;
}
/** @private */
export interface ImageAttributes extends BaseAttributes {
    source: string;
    sourceX: number;
    sourceY: number;
    sourceWidth: number;
    sourceHeight: number;
    scale: Scale;
    alignment: ImageAlignment;
}
/** @private */
export interface NativeAttributes extends BaseAttributes {
    content: SVGElement;
    scale: Stretch;
}
/** @private */
export interface TextAttributes extends BaseAttributes {
    whiteSpace: string;
    content: string;
    breakWord: string;
    fontSize: number;
    textWrapping: TextWrap;
    fontFamily: string;
    bold: boolean;
    italic: boolean;
    textAlign: string;
    color: string;
    textOverflow: TextOverflow;
    textDecoration: string;
    doWrap: boolean;
    wrapBounds: TextBounds;
    childNodes: SubTextElement[];
    isHorizontalLane: boolean;
    parentOffsetX: number;
    parentOffsetY: number;
    parentWidth: number;
    parentHeight: number;
}
/**
 * Defines the properties of sub text element
 */
export interface SubTextElement {
    /** returns the text from sub text element */
    text: string;
    /** returns the start position, where the text element to be rendered */
    x: number;
    /** returns the left position, where text to be rendered  */
    dy: number;
    /** returns the width of the sub text element  */
    width: number;
}
/**
 * Defines the properties of text bounds
 */
export interface TextBounds {
    /** returns the start position, where the text element is rendered  */
    x: number;
    /** returns the width of the sub text element  */
    width: number;
}
/** @private */
export interface PathSegment {
    command?: string;
    angle?: number;
    largeArc?: boolean;
    x2?: number;
    sweep?: boolean;
    x1?: number;
    y1?: number;
    y2?: number;
    x0?: number;
    y0?: number;
    x?: number;
    y?: number;
    r1?: number;
    r2?: number;
    centp?: {
        x?: number;
        y?: number;
    };
    xAxisRotation?: number;
    rx?: number;
    ry?: number;
    a1?: number;
    ad?: number;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/rendering/canvas-renderer.d.ts
/**
 * Canvas Renderer
 */
/** @private */
export  class CanvasRenderer implements IRenderer {
    /**
     * Provide the context value for the canvas \
     *
     *  @returns {CanvasRenderingContext2D} Provide the context value for the canvas .\
     *  @param { HTMLCanvasElement} canvas - Return the dashed array values .
     *  @private
     */
    static getContext(canvas: HTMLCanvasElement): CanvasRenderingContext2D;
    private static setCanvasSize;
    /**
     * Draw the gradient for the diagram shapes .\
     *
     *  @returns {SVGElement} Draw the gradient for the diagram shapes.
     *  @param {StyleAttributes} options - Provide the options  for the gradient  element .
     *  @param {SVGElement} ctx - Provide canvas values .
     *  @param {string} x - Provide the x value for the gradient .
     *  @param {string} y - Provide the x value for the gradient .
     *  @private
     */
    renderGradient(options: StyleAttributes, ctx: CanvasRenderingContext2D, x?: number, y?: number): CanvasRenderingContext2D;
    /**
     * Draw the shawdow  for the rectangle shape in diagram \
     *
     *  @returns {void}  Draw the shawdow  for the rectangle shape in diagram .\
     *
     *  @param { SVGElement} options - Provide the base attributes .
     *  @param { RectAttributes} canvas - Provide the canvas values .
     *  @param { string} collection - Provide the collection value.
     *  @private
     */
    renderShadow(options: BaseAttributes, canvas: HTMLCanvasElement, collection?: Object[]): void;
    /**
     * Create canvas element for the diagram \
     *
     *  @returns {HTMLCanvasElement}    Create canvas element for the diagram .\
     *
     *  @param { SVGElement} id - Provide the id for the canvas.
     *  @param { Object} width - Provide the width for the canvas.
     *  @param { Object} height - Provide the height for the canvas.
     *  @private
     */
    static createCanvas(id: string, width: number, height: number): HTMLCanvasElement;
    private setStyle;
    private rotateContext;
    private setFontStyle;
    /**
     * Return the dashed array values \
     *
     *  @returns {number[]}  Return the dashed array values .\
     *  @param { SVGElement} dashArray - Return the dashed array values .
     *  @private
     */
    parseDashArray(dashArray: string): number[];
    private drawRoundedRect;
    /**
     * Draw the Rectangle for the diagram \
     *
     *  @returns {void}  Draw the Rectangle for the diagram .\
     *
     *  @param { SVGElement} canvas - Provide the SVG .
     *  @param { RectAttributes} options - Provide the Rect attributes .
     *  @private
     */
    drawRectangle(canvas: HTMLCanvasElement, options: RectAttributes, diagramId: string, isExport: boolean): void;
    /**
     * Draw the path element for the diagram\
     *
     *  @returns {void}  Draw the path element for the diagram .\
     *
     *  @param { SVGElement} canvas - Provide the SVG element .
     *  @param { PathAttributes} options - Provide the path element attributes .
     *  @private
     */
    drawPath(canvas: HTMLCanvasElement, options: PathAttributes): void;
    /**
     * Draw the path element for the diagram\
     *
     *  @returns {void}  Draw the path element for the diagram .\
     *
     *  @param { SVGElement} canvas - Provide the SVG element .
     *  @param {PathAttributes} options - Provide the path element attributes .
     *  @param {Object[]} collection - Provide the parent SVG element .
     *  @private
     */
    renderPath(canvas: HTMLCanvasElement, options: PathAttributes, collection: Object[]): void;
    /**
     * Draw the text element for the diagram\
     *
     *  @returns {void}  Draw the text element for the diagram .\
     *
     *  @param { SVGElement} canvas - Provide the SVG element .
     *  @param {TextAttributes} options - Provide the text element attributes .
     *  @param {SVGSVGElement} parentSvg - Provide the parent SVG element .
     *  @param {Object} ariaLabel - Provide the label properties .
     *  @param {string} diagramId - Provide the diagram id .
     *  @param {number} scaleValue - Provide the scale value .
     *  @param {Container} parentNode - Provide the parent node .
     *  @private
     */
    drawText(canvas: HTMLCanvasElement, options: TextAttributes, parentSvg?: SVGSVGElement, ariaLabel?: Object, diagramId?: string, scaleValue?: number, parentNode?: Container): void;
    private loadImage;
    /**
     * Draw the image element for the diagram\
     *
     *  @returns {void} Draw the image element for the diagram .
     *  @param { SVGElement | HTMLCanvasElement} canvas - Provide the SVG element .
     *  @param {ImageAttributes} obj - Provide the image attributes .
     *  @param {SVGSVGElement} parentSvg - Provide the parent SVG element .
     *  @param {boolean} fromPalette - Provide the pointer event value .
     *  @private
     */
    drawImage(canvas: HTMLCanvasElement, obj: ImageAttributes, parentSvg?: SVGSVGElement, fromPalette?: boolean): void;
    private image;
    private getSliceOffset;
    private getMeetOffset;
    private m;
    private r;
    private a;
    /**
     * Draw the SVG label.\
     *
     * @returns {PointModel} Draw the SVG label .
     *  @param {TextAttributes} text - Provide the canvas element .
     *  @param {Object} wrapBounds - Provide the canvas element .
     *  @param {SubTextElement []} childNodes - Provide the canvas element .
     * @private
     */
    labelAlign(text: TextAttributes, wrapBounds: TextBounds, childNodes: SubTextElement[]): PointModel;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/rendering/IRenderer.d.ts
/**
 * IRenderer interface defines the base of the SVG and Canvas renderer.
 */
/** @private */
export interface IRenderer {
    renderShadow(options: BaseAttributes, canvas: HTMLCanvasElement | SVGElement, collection: Object[]): void;
    parseDashArray(dashArray: string): number[];
    drawRectangle(canvas: HTMLCanvasElement | SVGElement, options: RectAttributes, diagramId: string, onlyRect?: boolean, isSelector?: boolean, parentSvg?: SVGSVGElement, ariaLabel?: Object): void;
    drawPath(canvas: HTMLCanvasElement | SVGElement, options: PathAttributes, diagramId: string, isSelector?: boolean, parentSvg?: SVGSVGElement, ariaLabel?: Object, scale?: number): void;
    renderPath(canvas: HTMLCanvasElement | SVGElement, options: PathAttributes, collection: Object[]): void;
    drawText(canvas: HTMLCanvasElement | SVGElement, options: TextAttributes, parentSvg?: SVGSVGElement, ariaLabel?: Object, diagramId?: string, scaleValue?: number, parentNode?: Container): void;
    drawImage(canvas: HTMLCanvasElement | SVGElement | ImageElement, obj: ImageAttributes, parentSvg?: SVGSVGElement, fromPalette?: boolean): void;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/rendering/renderer.d.ts
/**
 * Renderer module is used to render basic diagram elements
 */
/** @private */
export  class DiagramRenderer {
    /**   @private  */
    renderer: IRenderer;
    private diagramId;
    /** @private */
    isSvgMode: Boolean;
    private svgRenderer;
    private nativeSvgLayer;
    private diagramSvgLayer;
    private iconSvgLayer;
    /** @private */
    adornerSvgLayer: SVGSVGElement;
    /** @private */
    rendererActions: RendererAction;
    private groupElement;
    private element;
    private transform;
    constructor(name: string, svgRender: IRenderer, isSvgMode: boolean);
    /**
     * Method used to set the cur \
     *
     *  @param {HTMLElement} canvas - Provide the canvas .
     *  @param {string} cursor - Provide the element .
     * @returns {void }   Method used to set the layer  .\
     * @private
     */
    setCursor(canvas: HTMLElement, cursor: string): void;
    /**
     * Method used to set the layer \
     *
     * @returns {void }   Method used to set the layer  .\
     *
     * @private
     */
    setLayers(): void;
    private getAdornerLayer;
    private getParentSvg;
    private getParentElement;
    private getGroupElement;
    /**
     * Method used to render the diagram element \
     *
     * @returns {void }   Method used to render the diagram element  .\
     *
     * @param {DiagramElement} element - Provide the DiagramElement value.
     * @param {HTMLCanvasElement | SVGElement } canvas - Provide the canvas value.
     * @param {HTMLElement } htmlLayer - Provide the HTMLElement value.
     * @param {TransformFactor } transform - Provide the TransformFactor value.
     * @param {SVGSVGElement} parentSvg - Provide the SVGSVGElement value.
     * @param {boolean } createParent - Provide the boolean value.
     * @param {boolean } fromPalette - Provide the boolean value.
     * @param {number } indexValue - Provide the indexValue value.
     * @param {boolean } isPreviewNode - Provide the isPreviewNode value.
     * @private
     */
    renderElement(element: DiagramElement, canvas: HTMLCanvasElement | SVGElement, htmlLayer: HTMLElement, transform?: TransformFactor, parentSvg?: SVGSVGElement, createParent?: boolean, fromPalette?: boolean, indexValue?: number, isPreviewNode?: boolean, centerPoint?: object): void;
    /**
     * Method used to draw the selection rectangle for the node \
     *
     * @returns {void }  Method used to draw the selection rectangle for the node  .\
     *
     * @param {number} x - Provide the DiagramElement value.
     * @param {number } y - Provide the SVGElement value.
     * @param {number } w - Provide the TransformFactor value.
     * @param {number } h - Provide the TransformFactor value.
     * @param {HTMLCanvasElement | SVGElement } canvas - Provide the TransformFactor value.
     * @param {number } t - Provide the TransformFactor value.
     * @private
     */
    drawSelectionRectangle(x: number, y: number, w: number, h: number, canvas: HTMLCanvasElement | SVGElement, t: TransformFactor): void;
    /**
     * Method used to render the highlighter \
     *
     * @returns {void }  Method used to render the highlighter  .\
     *
     * @param {DiagramElement} element - Provide the DiagramElement value.
     * @param {SVGElement } canvas - Provide the SVGElement value.
     * @param {TransformFactor } transform - Provide the TransformFactor value.
     * @private
     */
    renderHighlighter(element: DiagramElement, canvas: SVGElement, transform: TransformFactor): void;
    /**
     * Method used to render the node selection rectangle \
     *
     * @returns {void }  Method used to render the node selection rectangle  .\
     *
     * @param {DiagramElement} element - Provide the DiagramElement value.
     * @param {SVGElement } canvas - Provide the SVGElement value.
     * @param {TransformFactor } transform - Provide the TransformFactor value.
     * @param {number } isFirst - Provide the boolean value.
     * @private
     */
    renderSelectionRectangle(element: DiagramElement, canvas: SVGElement, transform: TransformFactor, isFirst: boolean): void;
    /**
     * Method used to render the selection line for connector  \
     *
     * @returns {void } Method used to render the selection line for connector .\
     *
     * @param {PathElement} element - Provide the path element of the diagram .
     * @param { HTMLCanvasElement | SVGElement } canvas - Provide the canvas element value.
     * @param { TransformFactor } transform - Provide the transform value.
     * @param { boolean } isFirst - Provide the boolean value.
     * @private
     */
    renderSelectionLine(element: PathElement, canvas: HTMLCanvasElement | SVGElement, transform: TransformFactor, isFirst: boolean): void;
    /**
     * Method used to render the stack highlighter \
     *
     * @returns {void }  Method used to render the stack highlighter  .\
     *
     * @param {DiagramElement} element - Provide the DiagramElement value.
     * @param {SVGElement } canvas - Provide the SVGElement value.
     * @param {TransformFactor } transform - Provide the TransformFactor value.
     * @param {boolean} isVertical - Provide the Boolean value.
     * @param {PointModel } position - Provide the PointModel value.
     * @param {boolean } isUml - Provide the boolean value.
     * @param {boolean } isSwimlane - Provide the boolean value.
     * @private
     */
    renderStackHighlighter(element: DiagramElement, canvas: SVGElement, transform: TransformFactor, isVertical: boolean, position: PointModel, isUml?: boolean, isSwimlane?: boolean): void;
    /**
     * Method used to draw the line \
     *
     * @returns {void }  Method used to draw the line  .\
     *
     * @param {SVGElement} canvas - Provide the SVGElement value.
     * @param {LineAttributes } options - Provide the LineAttributes value.
     * @private
     */
    drawLine(canvas: SVGElement, options: LineAttributes): void;
    /**
     * Method used to draw the path \
     *
     * @returns {void }  Method used to draw the path  .\
     *
     * @param {SVGElement} canvas - Provide the canvas value.
     * @param {PathAttributes } options - Provide the PathAttributes value.
     * @private
     */
    drawPath(canvas: SVGElement, options: PathAttributes): void;
    /**
     * Method used to render the resize handle \
     *
     * @returns {void }  Method used to render the resize handle  .\
     *
     * @param {DiagramElement} element - Provide the DiagramElement value.
     * @param {HTMLCanvasElement | SVGElement } canvas - Provide the canvas element.
     * @param {  ThumbsConstraints } constraints - Provide the constraints value  .
     * @param { number} currentZoom - Provide the currentZoom value.
     * @param { SelectorConstraints } selectorConstraints - Provide the selectorConstraints value .
     * @param { TransformFactor } transform - Provide the transform  value.
     * @param { boolean } canMask - Provide the canMask boolean value.
     * @param { number } enableNode - Provide the enableNode value.
     * @param { boolean } nodeConstraints - Provide the nodeConstraints  value.
     * @param { boolean } isSwimlane - Provide the isSwimlane boolean value.
     * @private
     */
    renderResizeHandle(element: DiagramElement, canvas: HTMLCanvasElement | SVGElement, constraints: ThumbsConstraints, currentZoom: number, selectorConstraints?: SelectorConstraints, transform?: TransformFactor, canMask?: boolean, enableNode?: number, nodeConstraints?: boolean, isSwimlane?: boolean, handleSize?: number): void;
    /**
     * Method used to render the end point of the handle \
     *
     * @returns {void }  Method used to render the end point of the handle  .\
     *
     * @param {ConnectorModel} selector - Provide the ConnectorModel.
     * @param {HTMLCanvasElement | SVGElement } canvas - Provide the element.
     * @param {  ThumbsConstraints } constraints - Provide the constraints value  .
     * @param { SelectorConstraints} selectorConstraints - Provide the selectorConstraints value.
     * @param { TransformFactor } transform - Provide the transform value .
     * @param { boolean } connectedSource - Provide the connectedSource boolean value.
     * @param { boolean } connectedTarget - Provide the connectedTarget boolean value.
     * @param { boolean } isSegmentEditing - Provide the isSegmentEditing boolean value.
     * @private
     */
    renderEndPointHandle(selector: ConnectorModel, canvas: HTMLCanvasElement | SVGElement, constraints: ThumbsConstraints, selectorConstraints: SelectorConstraints, transform: TransformFactor, connectedSource: boolean, connectedTarget?: boolean, isSegmentEditing?: boolean, canShowBezierPoints?: boolean, handleSize?: number): void;
    /**
     * Method used to render the orthogonal thumb \
     *
     * @returns {void }  Method used to render the orthogonal thumb  .\
     *
     * @param {string} id - Provide the id for the element.
     * @param {DiagramElement } selector - Provide the selector element.
     * @param {  OrthogonalSegment } segment - Provide the segment value  .
     * @param { HTMLCanvasElement | SVGElement } canvas - Provide the canvas element value.
     * @param { boolean } visibility - Provide the visibility value .
     * @param { TransformFactor } t - Provide the TransformFactor value.
     * @private
     */
    renderOrthogonalThumbs(id: string, selector: DiagramElement, segment: OrthogonalSegment, canvas: HTMLCanvasElement | SVGElement, visibility: boolean, t: TransformFactor, connector: ConnectorModel): void;
    /**
     * Method used to render the orthogonal thumb \
     *
     * @returns {void }  Method used to render the orthogonal thumb  .\
     *
     * @param {string} id - Provide the id for the element.
     * @param {DiagramElement } selector - Provide the selector element.
     * @param {  TransformFactor } x - Provide the x value  .
     * @param { TransformFactor } y - Provide the y value.
     * @param { HTMLCanvasElement | SVGElement } canvas - Provide the canvas element.
     * @param { boolean } visible - Provide the visible boolean value.
     * @param { string } orientation - Provide the orientation value.
     * @param { TransformFactor } t - Provide the TransformFactor value.
     * @private
     */
    renderOrthogonalThumb(id: string, selector: DiagramElement, x: number, y: number, canvas: HTMLCanvasElement | SVGElement, visible: boolean, orientation: string, t: TransformFactor): void;
    /**
     * Method used to render the pivot line line\
     *
     * @returns {void } Method used to render the pivot line line .\
     *
     * @param {DiagramElement} element - Provide the diagram element value.
     * @param { HTMLCanvasElement | SVGElement } canvas - Provide the canvas element.
     * @param {  TransformFactor } transform - Provide the transform value  .
     * @param { SelectorConstraints } selectorConstraints - Provide the selector constraints value.
     * @param { boolean } canMask - Provide the canMask boolean value.
     * @private
     */
    renderPivotLine(element: DiagramElement, canvas: HTMLCanvasElement | SVGElement, transform?: TransformFactor, selectorConstraints?: SelectorConstraints, canMask?: boolean): void;
    /**
     * Method used to render the bezier line for the connector  \
     *
     * @returns {void } Method used to render the bezier line for the connector .\
     *
     * @param {string} id - Provide the id value for the bezier line.
     * @param { DiagramElement } wrapper - Provide the wrapper for the element.
     * @param {  HTMLCanvasElement | SVGElement } canvas - Provide the canvas element  .
     * @param { PointModel } start - Provide the pointmodel value.
     * @param { PointModel } end - Provide the pointmodel value.
     * @param { TransformFactor } transform - Provide the itransform value .
     * @private
     */
    renderBezierLine(id: string, wrapper: DiagramElement, canvas: HTMLCanvasElement | SVGElement, start: PointModel, end: PointModel, transform?: TransformFactor): void;
    /**
     * Method used to render the circular handle for the node element  \
     *
     * @returns {void } Method used to render the circular handle for the node element .\
     *
     * @param {string} id - Provide the id value.
     * @param { DiagramElement } selector - Provide the selector element value.
     * @param { number } cx - Provide cx value  .
     * @param { number } cy - Provide cx value.
     * @param { HTMLCanvasElement | SVGElement } canvas - Provide the canvas element.
     * @param { boolean } visible - Provide the visible property for the handle .
     * @param { number } enableSelector - Provide the value for the enableSelector .
     * @param { TransformFactor } t - Provide the transform value .
     * @param { boolean } connected - Provide the connected boolean value .
     * @param { boolean } canMask - Provide the canMask boolean value .
     * @param { Object } ariaLabel - Provide the label properties .
     * @param { number } count - Provide the count value  .
     * @param { string } className - Provide the class name for this element .
     * @private
     */
    /**
    *Feature (EJ2-44346) Provide support to increase the size of the resize thumb
    */
    renderCircularHandle(id: string, selector: DiagramElement, cx: number, cy: number, canvas: HTMLCanvasElement | SVGElement, visible: boolean, enableSelector?: number, t?: TransformFactor, connected?: boolean, canMask?: boolean, ariaLabel?: Object, count?: number, className?: string, handleSize?: number): void;
    /**
     * Method used to render border for the node element  \
     *
     * @returns {void } Method used to render border for the node element .\
     *
     * @param {SelectorModel} selector - Provide the selector model instance.
     * @param { HTMLCanvasElement | SVGElement } canvas - Provide the canvas element value.
     * @param { TransformFactor } transform - Provide the transform value  .
     * @param { number } enableNode - Provide enableNode boolean value.
     * @param { boolean } isBorderTickness - Provide the thickness value for the node.
     * @param { boolean } isSwimlane - Provide the isSwimlane boolean value .
     * @private
     */
    renderBorder(selector: DiagramElement, canvas: HTMLCanvasElement | SVGElement, transform?: TransformFactor, enableNode?: number, isBorderTickness?: boolean, isSwimlane?: boolean): void;
    /**
     * Method used to render user handle for the node element  \
     *
     * @returns {void } Method used to render user handle for the node element .\
     *
     * @param {SelectorModel} selectorItem - Provide the selector model instance.
     * @param { HTMLCanvasElement | SVGElement } canvas - Provide the canvas element value.
     * @param { TransformFactor } transform - Provide the transform value  .
     * @param { HTMLElement } diagramUserHandlelayer - Provide the HTMLElement value.
     * @private
     */
    renderUserHandler(selectorItem: SelectorModel, canvas: HTMLCanvasElement | SVGElement, transform?: TransformFactor, diagramUserHandlelayer?: HTMLElement): void;
    /**
     * Method used to render rotate thumb of the diagramnode element  \
     *
     * @returns {void } Method used to render rotate thumb of the diagramnode element .\
     *
     * @param {DiagramElement} wrapper - Provide the wrapper  element value.
     * @param { HTMLCanvasElement | SVGElement } canvas - Provide the canvas element value.
     * @param { TransformFactor } transform - Provide the transform value  .
     * @param { SelectorConstraints } selectorConstraints - Provide the selectorConstraints value.
     * @param { boolean } canMask - Provide the boolean value .
     * @private
     */
    renderRotateThumb(wrapper: DiagramElement, canvas: HTMLCanvasElement | SVGElement, transform?: TransformFactor, selectorConstraints?: SelectorConstraints, canMask?: boolean): void;
    /**
     * Method used to render the path element for the diagram  \
     *
     * @returns {void } Method used to render the path element for the diagram .\
     *
     * @param {PathElement} element - Provide the path element of the diagram .
     * @param { HTMLCanvasElement | SVGElement } canvas - Provide the canvas element value.
     * @param { TransformFactor } transform - Provide the transform value  .
     * @param { SVGSVGElement } parentSvg - Provide the parent SVG element .
     * @param { boolean } fromPalette - Provide the boolean value .
     * @param { boolean } isPreviewNode - Provide the boolean value .
     * @private
     */
    renderPathElement(element: PathElement, canvas: HTMLCanvasElement | SVGElement, transform?: TransformFactor, parentSvg?: SVGSVGElement, fromPalette?: boolean, isPreviewNode?: boolean): void;
    /**
     * Method used to update the grid line for the diagram  \
     *
     * @returns {void } Method used to update the grid line for the diagram .\
     *
     * @param {SnapSettingsModel} snapSettings - Provide the snapsetting value of the diagram .
     * @param { SVGSVGElement } gridSvg - Provide the SVG grid  element value.
     * @param { TransformFactor } t - Provide the transform value  .
     * @param { RulerSettingsModel } rulerSettings - Provide the ruler setting property .
     * @param { RulerModel } hRuler - Provide the horizontal ruler property value .
     * @param { RulerModel } vRuler - Provide the vertical ruler property value .
     * @private
     */
    renderSvgGridlines(snapSettings: SnapSettingsModel, gridSvg: SVGElement, t: TransformFactor, rulerSettings: RulerSettingsModel, hRuler: RulerModel, vRuler: RulerModel): void;
    private horizontalSvgGridlines;
    private renderDotGrid;
    private verticalSvgGridlines;
    /**
     * Method used to update the grid line for the diagram  \
     *
     * @returns {void } Method used to update the grid line for the diagram .\
     *
     * @param {SnapSettingsModel} snapSettings - Provide the snapsetting value of the diagram .
     * @param { SVGSVGElement } svgGrid - Provide the SVG grid  element value.
     * @param { TransformFactor } transform - Provide the transform value  .
     * @param { RulerSettingsModel } rulerSettings - Provide the ruler setting property .
     * @param { RulerModel } hRuler - Provide the horizontal ruler property value .
     * @param { RulerModel } vRuler - Provide the vertical ruler property value .
     * @private
     */
    updateGrid(snapSettings: SnapSettingsModel, svgGrid: SVGSVGElement, transform: TransformFactor, rulerSettings: RulerSettingsModel, hRuler: RulerModel, vRuler: RulerModel): void;
    private updateLineIntervals;
    private scaleSnapInterval;
    /**
     * Method used to render the text element  \
     *
     * @returns {void }Method used to render the text element  .\
     *
     * @param {TextElement} element - Provide the text element .
     * @param { HTMLCanvasElement | SVGElement} canvas - Provide the canvas element .
     * @param { TransformFactor } transform - Provide the transform value  .
     * @param { SVGSVGElement } parentSvg - Provide the SVG layer element .
     * @param { boolean } fromPalette - Provide the boolean value .
     * @private
     */
    renderTextElement(element: TextElement, canvas: HTMLCanvasElement | SVGElement, transform?: TransformFactor, parentSvg?: SVGSVGElement, fromPalette?: boolean, centerPoint?: object): void;
    private renderNativeElement;
    private renderHTMLElement;
    /**
     * Method used to render the image element  \
     *
     * @returns {void }Method used to render the image element  .\
     *
     * @param {ImageElement} element - Provide the image element .
     * @param { HTMLCanvasElement | SVGElement} canvas - Provide the canvas element .
     * @param { TransformFactor } transform - Provide the transform value  .
     * @param { SVGSVGElement } parentSvg - Provide the SVG layer element .
     * @param { boolean } fromPalette - Provide the boolean value .
     * @private
     */
    renderImageElement(element: ImageElement, canvas: HTMLCanvasElement | SVGElement, transform?: TransformFactor, parentSvg?: SVGSVGElement, fromPalette?: boolean): void;
    /**
     * Method used to render the container  \
     *
     * @returns {void} Method used to render the container .\
     *
     * @param {Container} group - Provide the container .
     * @param { HTMLCanvasElement | SVGElement} canvas - Provide the canvas element .
     * @param { HTMLElement } htmlLayer - Provide the html layer element  .
     * @param { TransformFactor } transform - Provide the transform value .
     * @param { SVGSVGElement } parentSvg - Provide the SVG layer element .
     * @param { boolean } createParent - Provide the boolean value .
     * @param { boolean } fromPalette - Provide the boolean value  .
     * @param { number } indexValue - Provide the indexValue value .
     * @param { boolean } isPreviewNode - Provide the boolean value .
     * @private
     */
    renderContainer(group: Container, canvas: HTMLCanvasElement | SVGElement, htmlLayer: HTMLElement, transform?: TransformFactor, parentSvg?: SVGSVGElement, createParent?: boolean, fromPalette?: boolean, indexValue?: number, isPreviewNode?: boolean, centerPoint?: object): void;
    renderFlipElement(element: DiagramElement, canvas: SVGElement | HTMLCanvasElement, flip: FlipDirection): void;
    /**
     * Method used to check the native parent  \
     *
     * @returns {void} Method used to check the native parent .\
     *
     * @param { DiagramElement[]} children - Provide the diagram element .
     * @param { number} count - Provide the count value .
     * @private
     */
    hasNativeParent(children: DiagramElement[], count?: number): DiagramElement;
    /**
     * Method used the draw the reactangle for the diagram  \
     *
     * @returns {void} Method used the draw the reactangle for the diagram .\
     *
     * @param { SVGElement} element - Provide the SVG elements .
     * @param { RectAttributes} canvas - Provide the Canvas element  .
     * @param { RectAttributes} transform - Provide transform value for the node  .
     * @param { RectAttributes} parentSvg -provide the parent SVG  .
     * @param { RectAttributes} isPreviewNode - Provide the preview boolean value  .
     * @private
     */
    renderRect(element: DiagramElement, canvas: HTMLCanvasElement | SVGElement, transform?: TransformFactor, parentSvg?: SVGSVGElement, isPreviewNode?: boolean): void;
    /**
     * Method used the draw the reactangle for the diagram  \
     *
     * @returns {void} Method used the draw the reactangle for the diagram .\
     *
     * @param { SVGElement} canvas - Provide the SVG elements .
     * @param { RectAttributes} options - Provide the attributes to draw the rectangle  .
     * @private
     */
    drawRect(canvas: SVGElement, options: RectAttributes): void;
    /**
     * Will get the base attributes for all the elements  \
     *
     * @returns {BaseAttributes} Will get the base attributes for all the elements .\
     *
     * @param { DiagramElement} element - Provide the diagram elements .
     * @param { TransformFactor} transform - Provide the transform value for the  elements .
     * @param { boolean} isPreviewNode - Provide the preview boolean value.
     * @private
     */
    getBaseAttributes(element: DiagramElement, transform?: TransformFactor, isPreviewNode?: boolean): BaseAttributes;
    /**
     * Will render the SVG background image  \
     *
     * @returns {void} Will render the SVG background image  .\
     *
     * @param { TransformFactor} background - Provide the transforms values .
     * @param { boolean} diagramElement - Provide element for the daigram.
     * @param { boolean} x - Provide the rendering mode of the daigram.
     * @param { boolean} y - Provide the rendering mode of the daigram.
     * @param { boolean} width - Provide the rendering mode of the daigram.
     * @param { boolean} height - Provide the rendering mode of the daigram.
     * @private
     */
    static renderSvgBackGroundImage(background: BackgroundModel, diagramElement: HTMLElement, x: number, y: number, width: number, height: number): void;
    /**
     * Method used to transform the layer  \
     *
     *  @returns {boolean} Method used to transform the layer  .\
     *  @param { TransformFactor} transform - Provide the transforms values .
     *  @param { boolean} svgMode - Provide the rendering mode of the daigram.
     *  @private
     */
    transformLayers(transform: TransformFactor, svgMode: boolean): boolean;
    /**
     * Method used to update the nodes in the diagram  \
     *
     *  @returns {void} Method used to update the nodes in the diagram  .\
     *  @param { HTMLCanvasElement} element - Provide the diagram element .
     *  @param { HTMLCanvasElement} diagramElementsLayer - Provide the diagram layer element .
     *  @param { HTMLCanvasElement} htmlLayer -Provide the html element .
     *  @param { HTMLCanvasElement} transform - Provide the transform value .
     *  @param { HTMLCanvasElement} insertIndex - Provide the index value.
     *  @private
     */
    updateNode(element: DiagramElement, diagramElementsLayer: HTMLCanvasElement, htmlLayer: HTMLElement, transform?: TransformFactor, insertIndex?: number, centerPoint?: object): void;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/rendering/svg-renderer.d.ts
/**
 * SVG Renderer
 */
/** @private */
export  class SvgRenderer implements IRenderer {
    /**
     * Draw the shawdow  for the rectangle shape in diagram \
     *
     *  @returns {void}  Draw the shawdow  for the rectangle shape in diagram .\
     *
     *  @param { SVGElement} options - Provide the base attributes .
     *  @param { RectAttributes} canvas - Provide the canvas values .
     *  @param { string} collection - Provide the collection value.
     *  @param { boolean} parentSvg - Provide the parent SVG values .
     *  @private
     */
    renderShadow(options: BaseAttributes, canvas: SVGElement, collection?: Object[], parentSvg?: SVGSVGElement): void;
    /**
     * Return the dashed array values \
     *
     *  @returns {number[]}  Return the dashed array values .\
     *  @param { SVGElement} dashArray - Return the dashed array values .
     *  @private
     */
    parseDashArray(dashArray: string): number[];
    /**
     * Draw the Rectangle for the diagram \
     *
     *  @returns {void}  Draw the Rectangle for the diagram .\
     *
     *  @param { SVGElement} svg - Provide the SVG .
     *  @param { RectAttributes} options - Provide the Rect attributes .
     *  @param { string} diagramId - Provide the diagram id .
     *  @param { boolean} onlyRect - Provide the boolean attribute for the shawdow rendering  .
     *  @param { boolean} isSelector - Provide the selector possobilities .
     *  @param { SVGSVGElement} parentSvg - Provide the parent svg element .
     *  @param { Object} ariaLabel - Provide the Arial label attributes .
     *  @private
     */
    drawRectangle(svg: SVGElement, options: RectAttributes, diagramId: string, onlyRect?: boolean, isSelector?: boolean, parentSvg?: SVGSVGElement, ariaLabel?: Object): void;
    /**
     * Update the diagram selection region \
     *
     *  @returns {void}  Update the diagram selection region .\
     *
     *  @param { SVGElement} gElement - Provide the element type.
     *  @param { RectAttributes} options - Provide the Rect attributes .
     *  @private
     */
    updateSelectionRegion(gElement: SVGElement, options: RectAttributes): void;
    /**
     * Create the g element for the diagram \
     *
     *  @returns {SVGGElement}   Create the g element for the diagram .\
     *
     *  @param { SVGElement} elementType - Provide the element type.
     *  @param { Object} attribute - Provide the attributes for the g element.
     *  @private
     */
    createGElement(elementType: string, attribute: Object): SVGGElement;
    /**
     * Draw the line for the diagram\
     *
     *  @returns {void}  Draw the line for the diagram .\
     *
     *  @param { SVGElement} gElement - Provide the g element .
     *  @param { LineAttributes} options - Provide the line element attributes .
     *  @private
     */
    drawLine(gElement: SVGElement, options: LineAttributes): void;
    /**
     * Draw the circle for the diagram\
     *
     *  @returns {void}  Draw the circle for the diagram .\
     *
     *  @param { SVGElement} gElement - Provide the g element .
     *  @param { CircleAttributes} options - Provide the circle element attributes .
     *  @param {string} enableSelector - Provide the selector constraints string .
     *  @param {Object} ariaLabel - Provide arial label value .
     *  @private
     */
    drawCircle(gElement: SVGElement, options: CircleAttributes, enableSelector?: number, ariaLabel?: Object): void;
    /**
     * Draw the path element for the diagram\
     *
     *  @returns {void}  Draw the path element for the diagram .\
     *
     *  @param { SVGElement} svg - Provide the SVG element .
     *  @param { PathAttributes} options - Provide the path element attributes .
     *  @param {string} diagramId - Provide the diagram id .
     *  @param {boolean} isSelector - Provide selector boolean value .
     *  @param {SVGSVGElement} parentSvg - Provide the parent SVG element .
     *  @param {Object} ariaLabel - Provide arial label value .
     *  @private
     */
    drawPath(svg: SVGElement, options: PathAttributes, diagramId: string, isSelector?: boolean, parentSvg?: SVGSVGElement, ariaLabel?: Object, scale?: number): void;
    /**
     * Draw the path element for the diagram\
     *
     *  @returns {void}  Draw the path element for the diagram .\
     *
     *  @param { SVGElement} svg - Provide the SVG element .
     *  @param {PathAttributes} options - Provide the path element attributes .
     *  @param {Object[]} collection - Provide the parent SVG element .
     *  @private
     */
    renderPath(svg: SVGElement, options: PathAttributes, collection: Object[]): void;
    private setSvgFontStyle;
    /**
     * Draw the text element for the diagram\
     *
     *  @returns {void}  Draw the text element for the diagram .\
     *
     *  @param { SVGElement} canvas - Provide the SVG element .
     *  @param {TextAttributes} options - Provide the text element attributes .
     *  @param {SVGSVGElement} parentSvg - Provide the parent SVG element .
     *  @param {Object} ariaLabel - Provide the label properties .
     *  @param {string} diagramId - Provide the diagram id .
     *  @param {number} scaleValue - Provide the scale value .
     *  @param {Container} parentNode - Provide the parent node .
     *  @private
     */
    drawText(canvas: SVGElement, options: TextAttributes, parentSvg?: SVGSVGElement, ariaLabel?: Object, diagramId?: string, scaleValue?: number, parentNode?: Container): void;
    private setText;
    /**
     * Draw the image element for the diagram\
     *
     *  @returns {void} Draw the image element for the diagram .
     *  @param { SVGElement | HTMLCanvasElement} canvas - Provide the SVG element .
     *  @param {ImageAttributes} obj - Provide the image attributes .
     *  @param {SVGSVGElement} parentSvg - Provide the parent SVG element .
     *  @param {boolean} fromPalette - Provide the pointer event value .
     *  @private
     */
    drawImage(canvas: SVGElement | HTMLCanvasElement, obj: ImageAttributes, parentSvg?: SVGSVGElement, fromPalette?: boolean): void;
    /**
     * Draw the HTML element for the diagram\
     *
     *  @returns {void} Draw the native element for the diagram.
     *  @param {DiagramHtmlElement} element - Provide the element .
     *  @param {HTMLElement} canvas - Provide the canvas element  .
     *  @param {TransformFactor} transform - Provide the transform value .
     *  @param {boolean} value - Provide the pointer event value .
     *  @param {number} indexValue - Provide the index value .
     *  @private
     */
    drawHTMLContent(element: DiagramHtmlElement, canvas: HTMLElement, transform?: TransformFactor, value?: boolean, indexValue?: number): void;
    /**
     * Draw the native element for the diagram\
     *
     *  @returns {void} Draw the native element for the diagram.
     *  @param {DiagramNativeElement} element - Provide the node element .
     *  @param {HTMLCanvasElement} canvas - Provide the SVG element  .
     *  @param {number} height - Provide the height for the shape .
     *  @param {number} width - Provide the width for the shape .
     *  @param {SVGSVGElement} parentSvg - Provide the parent svg for  the shape .
     *  @private
     */
    drawNativeContent(element: DiagramNativeElement, canvas: HTMLCanvasElement | SVGElement, height: number, width: number, parentSvg: SVGSVGElement): void;
    private setNativTransform;
    /**
     *used to crop the given native element into a rectangle of the given size .\
     *
     *  @returns {SVGElement} used to crop the given native element into a rectangle of the given size.
     *  @param {DiagramNativeElement} node - Provide the node element .
     *  @param {SVGElement} group - Provide the SVG element  .
     *  @param {number} height - Provide the height for the shape .
     *  @param {number} width - Provide the width for the shape .
     *  @param {SVGSVGElement} parentSvg - Provide the parent svg for  the shape .
     *  @private
     */
    drawClipPath(node: DiagramNativeElement, group: SVGElement, height: number, width: number, parentSvg: SVGSVGElement): SVGElement;
    /**
     * Draw the gradient for the diagram shapes .\
     *
     *  @returns {SVGElement} Draw the gradient for the diagram shapes.
     *  @param {StyleAttributes} options - Provide the options  for the gradient  element .
     *  @param {SVGElement} svg - Provide the SVG element  .
     *  @param {string} diagramId - Provide the diagram id .
     *  @private
     */
    renderGradient(options: StyleAttributes, svg: SVGElement, diagramId?: string): SVGElement;
    /**
     * Draw the Linear gradient for the diagram .\
     *
     *  @returns {SVGElement} Draw the Linear gradient for the diagram.
     *  @param {LinearGradientModel} linear - Provide the objects for the gradient  element .
     *  @private
     */
    createLinearGradient(linear: LinearGradientModel): SVGElement;
    /**
     * Draw the radial gradient for the diagram .\
     *
     *  @returns {SVGElement} Draw the radial gradient for the diagram.
     *  @param {RadialGradientModel} radial - Provide the objects for the gradient  element .
     *  @private
     */
    createRadialGradient(radial: RadialGradientModel): SVGElement;
    /**
     * Set the SVG style for the SVG elements in the diagram.\
     *
     *  @returns {void}
     *  @param {SVGElement} svg - Provide the canvas element .
     *  @param {StyleAttributes} style - Provide the canvas element .
     *  @param {string} diagramId - Provide the canvas element .
     *  @private
     */
    setSvgStyle(svg: SVGElement, style: StyleAttributes, diagramId?: string): void;
    /**
     * Draw the SVG label.\
     *
     * @returns {PointModel} Draw the SVG label .
     *  @param {TextAttributes} text - Provide the canvas element .
     *  @param {Object} wrapBound - Provide the canvas element .
     *  @param {SubTextElement []} childNodes - Provide the canvas element .
     * @private
     */
    svgLabelAlign(text: TextAttributes, wrapBound: TextBounds, childNodes: SubTextElement[]): PointModel;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/ruler/ruler.d.ts
/**
 * defines the helper methods for the ruler
 */
/**
 * renderOverlapElement method \
 *
 * @returns {void} renderOverlapElement method .\
 * @param { Diagram} diagram - provide the content  value.
 * @private
 */
export  function renderOverlapElement(diagram: Diagram): void;
/**
 * renderRuler method \
 *
 * @returns {void} renderRuler method .\
 * @param { Diagram} diagram - provide the content  value.
 * @param { boolean} isHorizontal - provide the content  value.
 * @private
 */
export  function renderRuler(diagram: Diagram, isHorizontal: boolean): void;
/**
 * updateRuler method \
 *
 * @returns {void} updateRuler method .\
 * @param { Diagram} diagram - provide the diagram  value.
 * @private
 */
export  function updateRuler(diagram: Diagram): void;
/**
 * removeRulerElements method \
 *
 * @returns {void} removeRulerElements method .\
 * @param { Diagram} diagram - provide the diagram  value.
 * @private
 */
export  function removeRulerElements(diagram: Diagram): void;
/**
 * getRulerSize method \
 *
 * @returns {void} getRulerSize method .\
 * @param { Diagram} diagram - provide the diagram  value.
 * @private
 */
export  function getRulerSize(diagram: Diagram): Size;
/**
 * getRulerGeometry method \
 *
 * @returns {void} getRulerGeometry method .\
 * @param { Diagram} diagram - provide the diagram  value.
 * @private
 */
export  function getRulerGeometry(diagram: Diagram): Size;
/**
 * removeRulerMarkers method \
 *
 * @returns {void} removeRulerMarkers method .\
 * @private
 */
export  function removeRulerMarkers(): void;
/**
 * drawRulerMarkers method \
 *
 * @returns {void} drawRulerMarkers method .\
 * @param { Diagram} diagram - provide the content  value.
 * @param { PointModel} currentPoint - provide the content  value.
 * @private
 */
export  function drawRulerMarkers(diagram: Diagram, currentPoint: PointModel): void;
//node_modules/@syncfusion/ej2-diagrams/src/diagram/utility/base-util.d.ts
/**
 * Implements the basic functionalities
 */
/**
 * Used to generate the random id \
 *
 * @returns { boolean }    Used to generate the random id .\
 *
 * @private
 */
export  function randomId(): string;
/**
 * Used to get the index value \
 *
 * @returns { boolean }    Used to get the index value .\
 * @param {Diagram} comp - provide the Diagram value.
 * @param {string} id - provide the id value.
 *
 * @private
 */
export  function getIndex(comp: Diagram, id: string): number;
/**
 * templateCompiler method\
 *
 * @returns { Function }    templateCompiler method .\
 * @param {string} template - provide the template value.
 *
 * @private
 */
export  function templateCompiler(template: string): Function;
/**
 * cornersPointsBeforeRotation method\
 *
 * @returns { Rect }    templateCompiler method .\
 * @param {DiagramElement} ele - provide the template value.
 *
 * @private
 */
export  function cornersPointsBeforeRotation(ele: DiagramElement): Rect;
/**
 * getBounds method\
 *
 * @returns { Rect }    getBounds method .\
 * @param {DiagramElement} element - provide the template value.
 *
 * @private
 */
export  function getBounds(element: DiagramElement): Rect;
/**
 * cloneObject method\
 *
 * @returns { Rect }    cloneObject method .\
 * @param {DiagramElement} obj - provide the obj value.
 * @param {DiagramElement} additionalProp - provide the additionalProp value.
 * @param {DiagramElement} key - provide the key value.
 * @param {DiagramElement} cloneBlazorProp - provide the cloneBlazorProp value.
 *
 * @private
 */
export  function cloneObject(obj: Object, additionalProp?: Function | string, key?: string, cloneBlazorProp?: boolean): Object;
/**
 * getInternalProperties method\
 *
 * @returns { string[] }    getInternalProperties method .\
 * @param {string} propName - provide the propName value.
 *
 * @private
 */
export  function getInternalProperties(propName: string): string[];
/**
 * cloneArray method\
 *
 * @returns {  Object[] }    getInternalProperties method .\
 * @param {string} sourceArray - provide the sourceArray value.
 * @param {string} additionalProp - provide the additionalProp value.
 * @param {string} key - provide the key value.
 * @param {string} cloneBlazorProp - provide the cloneBlazorProp value.
 *
 * @private
 */
export  function cloneArray(sourceArray: Object[], additionalProp?: Function | string, key?: string, cloneBlazorProp?: boolean): Object[];
/**
 * extendObject method\
 *
 * @returns {  Object}    getInternalProperties method .\
 * @param {string} options - provide the options value.
 * @param {string} childObject - provide the childObject value.
 *
 * @private
 */
export  function extendObject(options: Object, childObject: Object): Object;
/**
 * extendObject method\
 *
 * @returns {  Object}    getInternalProperties method .\
 * @param {string} sourceArray - provide the sourceArray value.
 * @param {string} childArray - provide the childArray value.
 *
 * @private
 */
export  function extendArray(sourceArray: Object[], childArray: Object[]): Object[];
/**
 * textAlignToString method\
 *
 * @returns {  Object}    textAlignToString method .\
 * @param {string} value - provide the sourceArray value.
 *
 * @private
 */
export  function textAlignToString(value: TextAlign): string;
/**
 * wordBreakToString method\
 *
 * @returns {  string }    wordBreakToString method .\
 * @param {TextWrap | TextDecoration} value - provide the value value.
 *
 * @private
 */
export  function wordBreakToString(value: TextWrap | TextDecoration): string;
/**
 * bBoxText method\
 *
 * @returns { number }    bBoxText method .\
 * @param {string} textContent - provide the textContent value.
 * @param {string} options - provide the options value.
 *
 * @private
 */
export  function bBoxText(textContent: string, options: TextAttributes): number;
/**
 * middleElement method\
 *
 * @returns {  number}    middleElement method .\
 * @param {number} i - provide the textContent value.
 * @param {number} j - provide the options value.
 *
 * @private
 */
export  function middleElement(i: number, j: number): number;
/**
 * overFlow method\
 *
 * @returns {  number}    overFlow method .\
 * @param {number} text - provide the text value.
 * @param {number} options - provide the options value.
 *
 * @private
 */
export  function overFlow(text: string, options: TextAttributes): string;
/**
 * whiteSpaceToString method\
 *
 * @returns {  number}    whiteSpaceToString method .\
 * @param {number} value - provide the value value.
 * @param {number} wrap - provide the wrap value.
 *
 * @private
 */
export  function whiteSpaceToString(value: WhiteSpace, wrap: TextWrap): string;
/**
 * rotateSize method\
 *
 * @returns {  number}    rotateSize method .\
 * @param {number} size - provide the size value.
 * @param {number} angle - provide the angle value.
 *
 * @private
 */
export  function rotateSize(size: Size, angle: number): Size;
/**
 * rotatePoint method\
 *
 * @returns {  number}    rotateSize method .\
 * @param {number} angle - provide the angle value.
 * @param {number} pivotX - provide the pivotX value.
 * @param {number} pivotY - provide the pivotY value.
 * @param {PointModel} point - provide the point value.
 * @private
 */
export  function rotatePoint(angle: number, pivotX: number, pivotY: number, point: PointModel): PointModel;
/**
 * getOffset method\
 *
 * @returns {  number}    getOffset method .\
 * @param {PointModel} topLeft - provide the angle value.
 * @param {DiagramElement} obj - provide the pivotX value.
 * @private
 */
export  function getOffset(topLeft: PointModel, obj: DiagramElement): PointModel;
/**
 * getFunction method\
 *
 * @returns {  Function }    getFunction method .\
 * @param {PointModel} value - provide the angle value.
 * @private
 */
export  function getFunction(value: Function | string): Function;
//node_modules/@syncfusion/ej2-diagrams/src/diagram/utility/connector.d.ts
/**
 * Connector modules are used to dock and update the connectors
 */
/**
 * intermeditatePoints method\
 *
 * @returns {  Function }    getFunction method .\
 * @param {PointModel} element - provide the angle value.
 * @param {PointModel} layoutOrientation - provide the angle value.
 * @param {PointModel} lineDistribution - provide the angle value.
 * @private
 */
export  function findConnectorPoints(element: Connector, layoutOrientation?: LayoutOrientation, lineDistribution?: boolean): PointModel[];
/**
 * swapBounds method \
 *
 * @returns { Corners }     swapBounds method .\
 * @param {PointModel} object - provide the sourceWrapper value.
 * @param {PointModel} bounds - provide the padding value.
 * @param {Rect} outerBounds - provide the padding value.
 *
 * @private
 */
export  function swapBounds(object: DiagramElement, bounds: Corners, outerBounds: Rect): Corners;
/**
 * Returns the margin of source node and the target node
 *
 * @returns { number } - findMargin method .\
 * @param { Connector } element - provide the element value
 * @private
 */
export  function findMargin(element: Connector): number;
/**
 * findAngle method \
 *
 * @returns { number } findAngle method .\
 * @param {DiagramElement} s - provide the s value.
 * @param {End} e - provide the e value.
 * @private
 */
export  function findAngle(s: PointModel, e: PointModel): number;
/**
 * findPoint method \
 *
 * @returns { number } findPoint method .\
 * @param {Corners} cor - provide the cor value.
 * @param {string} direction - provide the direction value.
 * @private
 */
export  function findPoint(cor: Corners, direction: string): PointModel;
/**
 * getIntersection method \
 *
 * @returns { PointModel } getIntersection method .\
 * @param {PointModel} ele - provide the ele value.
 * @param {number} bounds - provide the bounds value.
 * @param {number} sPt - provide the sPt value.
 * @param {number} tPt - provide the tPt value.
 * @param {number} isTar - provide the isTar value.
 * @private
 */
export  function getIntersection(ele: Connector, bounds: DiagramElement, sPt: PointModel, tPt: PointModel, isTar: boolean): PointModel;
/**
 * getIntersectionPoints method \
 *
 * @returns { PointModel } getIntersectionPoints method .\
 * @param {Segment} thisSegment - provide the ele value.
 * @param {Object[]} pts - provide the bounds value.
 * @param {boolean} minimal - provide the sPt value.
 * @param {PointModel} point - provide the sPt value.
 * @private
 */
export  function getIntersectionPoints(thisSegment: Segment, pts: Object[], minimal: boolean, point: PointModel): PointModel;
/**
 * orthoConnection2Segment method \
 *
 * @returns {  PointModel[] } orthoConnection2Segment method .\
 * @param {Rect | Corners} source - provide the source value.
 * @param {End} target - provide the target  value.
 * @private
 */
export  function orthoConnection2Segment(source: End, target: End): PointModel[];
/**
 * getPortDirection method \
 *
 * @returns {  boolean } getPortDirection method .\
 * @param {PointModel} point - provide the point  value.
 * @param {Corners} corner - provide the corner  value.
 * @param {Rect} bounds - provide the bounds  value.
 * @param {boolean} closeEdge - provide the closeEdge  value.
 * @private
 */
export  function getPortDirection(point: PointModel, corner: Corners, bounds: Rect, closeEdge: boolean): Direction;
/**
 * getOuterBounds method \
 *
 * @returns {  Rect } getOuterBounds method .\
 * @param {Connector} obj - provide the point  value.
 * @private
 */
export  function getOuterBounds(obj: Connector): Rect;
/**
 * getOppositeDirection method \
 *
 * @returns {  string } getOppositeDirection method .\
 * @param {string} direction - provide the direction  value.
 * @private
 */
export  function getOppositeDirection(direction: string): string;
/** @private */
export interface Intersection {
    enabled: boolean;
    intersectPt: PointModel;
}
/** @private */
export interface LengthFraction {
    lengthFractionIndex: number;
    fullLength: number;
    segmentIndex: number;
    pointIndex: number;
}
/** @private */
export interface BridgeSegment {
    bridgeStartPoint: PointModel[];
    bridges: Bridge[];
    segmentIndex: number;
}
/** @private */
export interface ArcSegment {
    angle: number;
    endPoint: PointModel;
    path: string;
    segmentPointIndex: number;
    startPoint: PointModel;
    sweep: number;
    target: string;
    rendered: boolean;
}
/** @private */
export interface Bridge {
    angle: number;
    endPoint: PointModel;
    path: string;
    segmentPointIndex: number;
    startPoint: PointModel;
    sweep: number;
    target: string;
    rendered: boolean;
}
/** @private */
export interface End {
    corners: Corners;
    point: PointModel;
    direction: Direction;
    margin: MarginModel;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/utility/constraints-util.d.ts
/**
 * constraints-util module contains the common constraints \
 *
 * @returns { number }   constraints-util module contains the common constraints  .\
 *
 * @param {ConnectorModel | NodeModel | PathAnnotationModel | ShapeAnnotationModel} node - Provide the DiagramElement value.
 * @private
 */
export  function canSelect(node: ConnectorModel | NodeModel | PathAnnotationModel | ShapeAnnotationModel): number;
/**
 * Used to check whether we can move the objects ot not\
 *
 * @returns { number }   Used to check whether we can move the objects ot not  .\
 *
 * @param {ConnectorModel | NodeModel | PathAnnotationModel | ShapeAnnotationModel} node - Used to check whether we can move the objects ot not.
 * @private
 */
export  function canMove(node: ConnectorModel | NodeModel | SelectorModel | ShapeAnnotationModel | PathAnnotationModel): number;
/**
 * Used to check the canEnablePointerEvents\
 *
 * @returns { number }   Used to check whether we can move the objects ot not  .\
 *
 * @param {ConnectorModel | NodeModel} node - Used to check whether we can move the objects ot not.
 * @param {Diagram} diagram - Used to check whether we can move the objects ot not.
 * @private
 */
export  function canEnablePointerEvents(node: ConnectorModel | NodeModel, diagram: Diagram): number;
/**
 * Used to check the canDelete of the element \
 *
 * @returns { number }   Used to check the canDelete of the element   .\
 *
 * @param {ConnectorModel | NodeModel} node - Used to check whether we can move the objects ot not.
 * @private
 */
export  function canDelete(node: ConnectorModel | NodeModel): number;
/**
 * Used to check the bridging of the element \
 *
 * @returns { number }   Used to check the bridging of the element   .\
 *
 * @param {ConnectorModel | NodeModel} connector - provide the connector value.
 * @param {ConnectorModel | NodeModel} diagram - provide the diagram value.
 * @private
 */
export  function canBridge(connector: Connector, diagram: Diagram): number;
/**
 * Used to check the routing  of the element \
 *
 * @returns { number }   Used to check the routing  of the element .\
 *
 * @param {ConnectorModel | NodeModel} connector - provide the connector value.
 * @param {ConnectorModel | NodeModel} diagram - provide the diagram value.
 * @private
 */
export  function canEnableRouting(connector: Connector, diagram: Diagram): number;
/**
 * Used to check the  source end dragof the element \
 *
 * @returns { number }   Used to check the  source end dragof the element. \
 *
 * @param {ConnectorModel | NodeModel} connector - provide the connector value.
 * @private
 */
export  function canDragSourceEnd(connector: Connector): number;
/**
 * Used to check the target end drag   of the element \
 *
 * @returns { number }   Used to check the target end drag   of the element .\
 *
 * @param {ConnectorModel | NodeModel} connector - provide the connector value.
 * @private
 */
export  function canDragTargetEnd(connector: Connector): number;
/**
 * Used to check the segment  drag   of the element \
 *
 * @returns { number }   Used to check the segment  drag   of the element .\
 *
 * @param {ConnectorModel | NodeModel} connector - provide the connector value.
 * @private
 */
export  function canDragSegmentThumb(connector: Connector): number;
/**
 * Used to check the routing  drag   of the element \
 *
 * @returns { number }   Used to check the segment  drag   of the element .\
 *
 * @param {NodeModel | ShapeAnnotationModel | PathAnnotationModel} node - provide the connector value.
 * @private
 */
export  function canRotate(node: NodeModel | ShapeAnnotationModel | PathAnnotationModel): number;
/**
 * Used to check shadown constraints   of the element \
 *
 * @returns { number }   Used to check shadown constraints   of the element .\
 *
 * @param {NodeModel} node - provide the connector value.
 * @private
 */
export  function canShadow(node: NodeModel): number;
/**
 * Used to check canInConnect constraints   of the element \
 *
 * @returns { number }   Used to check canInConnect constraints   of the element .\
 *
 * @param {NodeModel} node - provide the node value.
 * @private
 */
export  function canInConnect(node: NodeModel): number;
/**
 * Used to check canPortInConnect constraints   of the element \
 *
 * @returns { number }   Used to check canInConnect constraints   of the element .\
 *
 * @param {PointPortModel} port - provide the PointPortModel value.
 * @private
 */
export  function canPortInConnect(port: PointPortModel): number;
/**
 * Used to check canOutConnect constraints   of the element \
 *
 * @returns { number }   Used to check canInConnect constraints   of the element .\
 *
 * @param {NodeModel} node - provide the node value.
 * @private
 */
export  function canOutConnect(node: NodeModel): number;
/**
 * Used to check canPortOutConnect constraints   of the element \
 *
 * @returns { number }   Used to check canInConnect constraints   of the element .\
 *
 * @param {PointPortModel} port - provide the node value.
 * @private
 */
export  function canPortOutConnect(port: PointPortModel): number;
/**
 * Used to check canResize constraints   of the element \
 *
 * @returns { number }   Used to check canInConnect constraints   of the element .\
 *
 * @param {NodeModel | ShapeAnnotationModel | PathAnnotationModel} node - provide the node value.
 * @param {NodeModel | ShapeAnnotationModel | PathAnnotationModel} direction - provide the node value.
 * @private
 */
export  function canResize(node: NodeModel | ShapeAnnotationModel | PathAnnotationModel, direction?: string): number;
/**
 * Used to check canAllowDrop constraints   of the element \
 *
 * @returns { number }   Used to check canInConnect constraints   of the element .\
 *
 * @param {ConnectorModel | NodeModel} node - provide the node value.
 * @private
 */
export  function canAllowDrop(node: ConnectorModel | NodeModel): number;
/**
 * Used to check canVitualize constraints   of the element \
 *
 * @returns { number }   Used to check canInConnect constraints   of the element .\
 *
 * @param {Diagram} diagram - provide the Diagram value.
 * @private
 */
export  function canVitualize(diagram: Diagram): number;
/**
 * Used to check canEnableToolTip constraints   of the element \
 *
 * @returns { number }   Used to check canInConnect constraints   of the element .\
 *
 * @param {ConnectorModel | NodeModel} node - provide the node value.
 * @param {Diagram} diagram - provide the Diagram value.
 * @private
 */
export  function canEnableToolTip(node: ConnectorModel | NodeModel, diagram: Diagram): number;
/**
 * Used to check canSingleSelect constraints   of the element \
 *
 * @returns { number }   Used to check canInConnect constraints   of the element .\
 *
 * @param {Diagram} model - provide the Diagram value.
 * @private
 */
export  function canSingleSelect(model: Diagram): number;
/**
 * Used to check canMultiSelect constraints   of the element \
 *
 * @returns { number }   Used to check canInConnect constraints   of the element .\
 *
 * @param {Diagram} model - provide the Diagram value.
 * @private
 */
export  function canMultiSelect(model: Diagram): number;
/**
 * Used to check canZoomPan constraints   of the element \
 *
 * @returns { number }   Used to check canInConnect constraints   of the element .\
 *
 * @param {Diagram} model - provide the Diagram value.
 * @private
 */
export  function canZoomPan(model: Diagram): number;
/**
 * Used to check canContinuousDraw constraints   of the element \
 *
 * @returns { number }   Used to check canInConnect constraints   of the element .\
 *
 * @param {Diagram} model - provide the Diagram value.
 * @private
 */
export  function canContinuousDraw(model: Diagram): number;
/**
 * Used to check canDrawOnce constraints   of the element \
 *
 * @returns { number }   Used to check canInConnect constraints   of the element .\
 *
 * @param {Diagram} model - provide the Diagram value.
 * @private
 */
export  function canDrawOnce(model: Diagram): number;
/**
 * Used to check defaultTool constraints   of the element \
 *
 * @returns { number }   Used to check canInConnect constraints   of the element .\
 *
 * @param {Diagram} model - provide the Diagram value.
 * @private
 */
export  function defaultTool(model: Diagram): number;
/**
 * Used to check canZoom constraints   of the element \
 *
 * @returns { number }   Used to check canInConnect constraints   of the element .\
 *
 * @param {Diagram} model - provide the Diagram value.
 * @private
 */
export  function canZoom(model: Diagram): number;
/**
 * Used to check canPan constraints   of the element \
 *
 * @returns { number }   Used to check canInConnect constraints   of the element .\
 *
 * @param {Diagram} model - provide the Diagram value.
 * @private
 */
export  function canPan(model: Diagram): number;
/**
 * Used to check canUserInteract constraints   of the element \
 *
 * @returns { number }   Used to check canInConnect constraints   of the element .\
 *
 * @param {Diagram} model - provide the Diagram value.
 * @private
 */
export  function canUserInteract(model: Diagram): number;
/**
 * Used to check canApiInteract constraints   of the element \
 *
 * @returns { number }   Used to check canInConnect constraints   of the element .\
 *
 * @param {Diagram} model - provide the Diagram value.
 * @private
 */
export  function canApiInteract(model: Diagram): number;
/**
 * Used to check canPanX constraints   of the element \
 *
 * @returns { number }   Used to check canInConnect constraints   of the element .\
 *
 * @param {Diagram} model - provide the Diagram value.
 * @private
 */
export  function canPanX(model: Diagram): number;
/**
 * Used to check canPanY constraints   of the element \
 *
 * @returns { number }   Used to check canInConnect constraints   of the element .\
 *
 * @param {Diagram} model - provide the Diagram value.
 * @private
 */
export  function canPanY(model: Diagram): number;
/**
 * Used to check canZoomTextEdit constraints   of the element \
 *
 * @returns { number }   Used to check canInConnect constraints   of the element .\
 *
 * @param {Diagram} diagram - provide the Diagram value.
 * @private
 */
export  function canZoomTextEdit(diagram: Diagram): number;
/**
 * Used to check canPageEditable constraints   of the element \
 *
 * @returns { number }   Used to check canInConnect constraints   of the element .\
 *
 * @param {Diagram} model - provide the Diagram value.
 * @private
 */
export  function canPageEditable(model: Diagram): number;
/**
 * Used to check enableReadOnly constraints   of the element \
 *
 * @returns { number }   Used to check canInConnect constraints   of the element .\
 *
 * @param {Diagram} annotation - provide the annotation value.
 * @param {Diagram} node - provide the node value.
 * @private
 */
export  function enableReadOnly(annotation: AnnotationModel, node: NodeModel | ConnectorModel): number;
/**
 * Used to check canDraw constraints   of the element \
 *
 * @returns { number }   Used to check canInConnect constraints   of the element .\
 *
 * @param {PointPortModel | NodeModel} port - provide the Diagram value.
 * @param {Diagram} diagram - provide the Diagram value.
 * @private
 */
export  function canDraw(port: PointPortModel | NodeModel, diagram: Diagram): number;
/**
 * Used to check canDrag constraints   of the element \
 *
 * @returns { number }   Used to check canInConnect constraints   of the element .\
 *
 * @param {PointPortModel | NodeModel} port - provide the Diagram value.
 * @param {Diagram} diagram - provide the Diagram value.
 * @private
 */
export  function canDrag(port: PointPortModel | NodeModel, diagram: Diagram): number;
/**
 * Used to check canPreventClearSelection constraints   of the element \
 *
 * @returns { boolean }   Used to check canInConnect constraints   of the element .\
 *
 * @param {PointPortModel | NodeModel} diagramActions - provide the diagramActions value.
 * @private
 */
export  function canPreventClearSelection(diagramActions: DiagramAction): boolean;
/**
 * Used to check canDrawThumbs \
 *
 * @returns { boolean }   Used to check canInConnect constraints   of the element .\
 *
 * @param {RendererAction} rendererActions - provide the RendererAction value.
 * @private
 */
export  function canDrawThumbs(rendererActions: RendererAction): boolean;
/**
 * Used to check avoidDrawSelector \
 *
 * @returns { boolean }   Used to check canInConnect constraints   of the element .\
 *
 * @param {RendererAction} rendererActions - provide the RendererAction value.
 * @private
 */
export  function avoidDrawSelector(rendererActions: RendererAction): boolean;
//node_modules/@syncfusion/ej2-diagrams/src/diagram/utility/diagram-util.d.ts
/**
 * completeRegion method\
 *
 * @returns {  void }    completeRegion method .\
 * @param {Rect} region - provide the region value.
 * @param {(NodeModel | ConnectorModel)[]} selectedObjects - provide the selectedObjects value.
 * @private
 */
export  function completeRegion(region: Rect, selectedObjects: (NodeModel | ConnectorModel)[]): (NodeModel | ConnectorModel)[];
/**
 * findNodeByName method \
 *
 * @returns {  boolean } findNodeByName method .\
 * @param {(NodeModel | ConnectorModel)[]} nodes - provide the nodes  value.
 * @param {string} name - provide the orientation  value.
 * @private
 */
export  function findNodeByName(nodes: (NodeModel | ConnectorModel)[], name: string): boolean;
/**
 * findNodeByName method \
 *
 * @returns {  string } findNodeByName method .\
 * @param {(NodeModel | ConnectorModel)[]} drawingObject - provide the drawingObject  value.
 * @private
 */
export  function findObjectType(drawingObject: NodeModel | ConnectorModel): string;
/**
 * setSwimLaneDefaults method \
 *
 * @returns {  void } setSwimLaneDefaults method .\
 * @param {NodeModel | ConnectorModel} child - provide the child  value.
 * @param {NodeModel | ConnectorModel} node - provide the node  value.
 * @private
 */
export  function setSwimLaneDefaults(child: NodeModel | ConnectorModel, node: NodeModel | ConnectorModel): void;
/**
 * getSpaceValue method \
 *
 * @returns {  number } getSpaceValue method .\
 * @param {number[]} intervals - provide the intervals  value.
 * @param {boolean} isLine - provide the isLine  value.
 * @param {number} i - provide the i  value.
 * @param {number} space - provide the space  value.
 * @private
 */
export  function getSpaceValue(intervals: number[], isLine: boolean, i: number, space: number): number;
/**
 * getInterval method \
 *
 * @returns {  number[] } getInterval method .\
 * @param {number[]} intervals - provide the intervals  value.
 * @param {boolean} isLine - provide the isLine  value.
 * @private
 */
export  function getInterval(intervals: number[], isLine: boolean): number[];
/**
 * setPortsEdges method \
 *
 * @returns {  Node } setPortsEdges method .\
 * @param {Node} node - provide the node  value.
 * @private
 */
export  function setPortsEdges(node: Node): Node;
/**
 * setUMLActivityDefaults method \
 *
 * @returns {  void } setUMLActivityDefaults method .\
 * @param {NodeModel | ConnectorModel} child - provide the child  value.
 * @param {NodeModel | ConnectorModel} node - provide the node  value.
 * @private
 */
export  function setUMLActivityDefaults(child: NodeModel | ConnectorModel, node: NodeModel | ConnectorModel): void;
/**
 * setConnectorDefaults method \
 *
 * @returns {  void } setConnectorDefaults method .\
 * @param {ConnectorModel} child - provide the child  value.
 * @param {ConnectorModel} node - provide the node  value.
 * @private
 */
export  function setConnectorDefaults(child: ConnectorModel, node: ConnectorModel): void;
/**
 * findNearestPoint method \
 *
 * @returns {  PointModel } findNearestPoint method .\
 * @param {PointModel} reference - provide the reference  value.
 * @param {PointModel} start - provide the start  value.
 * @param {PointModel} end - provide the end  value.
 * @private
 */
export  function findNearestPoint(reference: PointModel, start: PointModel, end: PointModel): PointModel;
/**
 * isDiagramChild method \
 *
 * @returns {  boolean } isDiagramChild method .\
 * @param {HTMLElement} htmlLayer - provide the htmlLayer  value.
 * @private
 */
export  function isDiagramChild(htmlLayer: HTMLElement): boolean;
/**
 * groupHasType method \
 *
 * @returns {  boolean } groupHasType method .\
 * @param {NodeModel} node - provide the node  value.
 * @param {Shapes} type - provide the type  value.
 * @param {{}} nameTable - provide the nameTable  value.
 * @private
 */
export  function groupHasType(node: NodeModel, type: Shapes, nameTable: {}): boolean;
/**
 * groupHasType method \
 *
 * @returns {  void } groupHasType method .\
 * @param {NodeModel | ConnectorModel} actualNode - provide the actualNode  value.
 * @param { NodeModel | ConnectorModel} plainValue - provide the plainValue  value.
 * @param {object} defaultValue - provide the defaultValue  value.
 * @param {NodeModel | ConnectorModel} property - provide the property  value.
 * @param {string} oldKey - provide the oldKey  value.
 * @private
 */
export  function updateDefaultValues(actualNode: NodeModel | ConnectorModel, plainValue: NodeModel | ConnectorModel, defaultValue: object, property?: NodeModel | ConnectorModel, oldKey?: string): void;
/**
 * updateLayoutValue method \
 *
 * @returns {  void } updateLayoutValue method .\
 * @param {TreeInfo} actualNode - provide the actualNode  value.
 * @param { object} defaultValue - provide the defaultValue  value.
 * @param {INode[]} nodes - provide the nodes  value.
 * @param {INode} node - provide the node  value.
 * @private
 */
export  function updateLayoutValue(actualNode: TreeInfo, defaultValue: object, nodes?: INode[], node?: INode): void;
/**
 * isPointOverConnector method \
 *
 * @returns {  boolean } isPointOverConnector method .\
 * @param {ConnectorModel} connector - provide the connector  value.
 * @param { PointModel} reference - provide the reference  value.
 * @private
 */
export  function isPointOverConnector(connector: ConnectorModel, reference: PointModel): boolean;
/**
 * intersect3 method \
 *
 * @returns {  Intersection } intersect3 method .\
 * @param {ConnectorModel} lineUtil1 - provide the lineUtil1  value.
 * @param { PointModel} lineUtil2 - provide the lineUtil2  value.
 * @private
 */
export  function intersect3(lineUtil1: Segment, lineUtil2: Segment): Intersection;
/**
 * intersect2 method \
 *
 * @returns {  PointModel } intersect2 method .\
 * @param {PointModel} start1 - provide the start1  value.
 * @param { PointModel} end1 - provide the end1  value.
 * @param { PointModel} start2 - provide the start2  value.
 * @param { PointModel} end2 - provide the end2  value.
 * @private
 */
export  function intersect2(start1: PointModel, end1: PointModel, start2: PointModel, end2: PointModel): PointModel;
/**
 * getLineSegment method \
 *
 * @returns {  Segment } getLineSegment method .\
 * @param {number} x1 - provide the x1  value.
 * @param { number} y1 - provide the y1  value.
 * @param { number} x2 - provide the x2  value.
 * @param { number} y2 - provide the y2  value.
 * @private
 */
export  function getLineSegment(x1: number, y1: number, x2: number, y2: number): Segment;
/**
 * getPoints method \
 *
 * @returns {  PointModel[] } getPoints method .\
 * @param {number} element - provide the element  value.
 * @param { number} corners - provide the corners  value.
 * @param { number} padding - provide the padding  value.
 * @private
 */
export  function getPoints(element: DiagramElement, corners: Corners, padding?: number): PointModel[];
/**
 * getTooltipOffset method \
 *
 * @returns {  PointModel[] } getTooltipOffset method .\
 * @param {number} diagram - provide the diagram  value.
 * @param { number} mousePosition - provide the mousePosition  value.
 * @param { NodeModel | ConnectorModel} node - provide the node  value.
 * @param { string} type - provide the type  value.
 * @private
 */
export  function getTooltipOffset(diagram: Diagram, mousePosition: PointModel, node: NodeModel | ConnectorModel, type?: string): PointModel;
/**
 * Gets the fixed user handles symbol \
 *
 * @returns { DiagramElement } Gets the fixed user handles symbol .\
 * @param {ConnectorFixedUserHandleModel | NodeFixedUserHandleModel} options - provide the options  value.
 * @param { Canvas} fixedUserHandleContainer - provide the fixedUserHandleContainer  value.
 * @private
 */
export  function initfixedUserHandlesSymbol(options: ConnectorFixedUserHandleModel | NodeFixedUserHandleModel, fixedUserHandleContainer: Canvas): DiagramElement;
/**
 * sort method \
 *
 * @returns { (NodeModel | ConnectorModel)[] } sort method .\
 * @param {(NodeModel | ConnectorModel)[]} objects - provide the options  value.
 * @param { DistributeOptions} option - provide the fixedUserHandleContainer  value.
 * @private
 */
export  function sort(objects: (NodeModel | ConnectorModel)[], option: DistributeOptions): (NodeModel | ConnectorModel)[];
/**
 * getAnnotationPosition method \
 *
 * @returns {SegmentInfo } getAnnotationPosition method .\
 * @param {PointModel[]} pts - provide the pts  value.
 * @param { PathAnnotation | ConnectorFixedUserHandle} annotation - provide the annotation  value.
 * @param { Rect } bound - provide the bound  value.
 * @private
 */
export  function getAnnotationPosition(pts: PointModel[], annotation: PathAnnotation | ConnectorFixedUserHandle, bound: Rect): SegmentInfo;
/**
 * getOffsetOfConnector method \
 *
 * @returns {SegmentInfo } getOffsetOfConnector method .\
 * @param {PointModel[]} points - provide the pts  value.
 * @param { PathAnnotation | ConnectorFixedUserHandle} annotation - provide the annotation  value.
 * @private
 */
export  function getOffsetOfConnector(points: PointModel[], annotation: PathAnnotation | ConnectorFixedUserHandle): SegmentInfo;
/**
 * getAlignedPosition method \
 *
 * @returns {number } getAlignedPosition method .\
 * @param {PointModel[]} annotation - provide the annotation  value.
 * @private
 */
export  function getAlignedPosition(annotation: PathAnnotation | ConnectorFixedUserHandle): number;
/**
 * alignLabelOnSegments method \
 *
 * @returns {Alignment } alignLabelOnSegments method .\
 * @param {PathAnnotation | ConnectorFixedUserHandle} obj - provide the obj  value.
 * @param { number } ang - provide the ang  value.
 * @param { PointModel[] } pts - provide the pts  value.
 * @private
 */
export  function alignLabelOnSegments(obj: PathAnnotation | ConnectorFixedUserHandle, ang: number, pts: PointModel[]): Alignment;
/**
 * getBezierDirection method \
 *
 * @returns {string } getBezierDirection method .\
 * @param {PointModel} src - provide the src  value.
 * @param { PointModel } tar - provide the tar  value.
 * @private
 */
export  function getBezierDirection(src: PointModel, tar: PointModel): string;
/**
 * removeChildNodes method \
 *
 * @returns {void } removeChildNodes method .\
 * @param {NodeModel} node - provide the node  value.
 * @param { Diagram } diagram - provide the diagram  value.
 * @private
 */
export  function removeChildNodes(node: NodeModel, diagram: Diagram): void;
/**
 * getChild method \
 *
 * @returns {string[] } getChild method .\
 * @param {Canvas} child - provide the child  value.
 * @param { string[] } children - provide the children  value.
 * @private
 */
export  function getChild(child: Canvas, children: string[]): string[];
/**
 * serialize method \
 *
 * @returns {string } serialize method .\
 * @param {Diagram} model - provide the model  value.
 * @private
 */
export  function serialize(model: Diagram): string;
/** @private */
export  function deserialize(model: string, diagram: Diagram): Object;
/**
 * upgrade method \
 *
 * @returns {Diagram } upgrade method .\
 * @param {Diagram} dataObj - provide the model  value.
 * @private
 */
export  function upgrade(dataObj: Diagram): Diagram;
/**
 * updateStyle method \
 *
 * @returns {void } updateStyle method .\
 * @param {TextStyleModel} changedObject - provide the changedObject  value.
 * @param {DiagramElement} target - provide the target  value.
 * @private
 */
export  function updateStyle(changedObject: TextStyleModel, target: DiagramElement): void;
/**
 * updateHyperlink method \
 *
 * @returns {void } updateHyperlink method .\
 * @param {HyperlinkModel} changedObject - provide the changedObject  value.
 * @param {DiagramElement} target - provide the target  value.
 * @param {AnnotationModel} actualAnnotation - provide the actualAnnotation  value.
 * @private
 */
export  function updateHyperlink(changedObject: HyperlinkModel, target: DiagramElement, actualAnnotation: AnnotationModel): void;
/**
 * updateShapeContent method \
 *
 * @returns {void } updateShapeContent method .\
 * @param {DiagramElement} content - provide the content  value.
 * @param {Node} actualObject - provide the actualObject  value.
 * @param {Diagram} diagram - provide the diagram  value.
 * @private
 */
export  function updateShapeContent(content: DiagramElement, actualObject: Node, diagram: Diagram): void;
/**
 * updateShape method \
 *
 * @returns {void } updateShape method .\
 * @param {Node} node - provide the node  value.
 * @param {Node} actualObject - provide the actualObject  value.
 * @param {Node} oldObject - provide the oldObject  value.
 * @param {Diagram} diagram - provide the diagram  value.
 * @private
 */
export  function updateShape(node: Node, actualObject: Node, oldObject: Node, diagram: Diagram): void;
/**
 * updateContent method \
 *
 * @returns {void } updateContent method .\
 * @param {Node} newValues - provide the newValues  value.
 * @param {Node} actualObject - provide the actualObject  value.
 * @param {Diagram} diagram - provide the diagram  value.
 * @param {Node} oldObject - provide the oldObject  value.
 * @private
 */
export  function updateContent(newValues: Node, actualObject: Node, diagram: Diagram, oldObject: Node): void;
/**
 * updateUmlActivityNode method \
 *
 * @returns {void } updateUmlActivityNode method .\
 * @param {Node} actualObject - provide the newValues  value.
 * @param {Node} newValues - provide the actualObject  value.
 * @private
 */
export  function updateUmlActivityNode(actualObject: Node, newValues: Node): void;
/**
 * getUMLFinalNode method \
 *
 * @returns {Canvas } getUMLFinalNode method .\
 * @param {Node} node - provide the newValues  value.
 * @private
 */
export  function getUMLFinalNode(node: Node): Canvas;
/**
 * getUMLActivityShapes method \
 *
 * @returns {DiagramElement } getUMLActivityShapes method .\
 * @param {PathElement} umlActivityShape - provide the umlActivityShape  value.
 * @param {DiagramElement} content - provide the content  value.
 * @param {Node} node - provide the node  value.
 * @private
 */
export  function getUMLActivityShapes(umlActivityShape: PathElement, content: DiagramElement, node: Node): DiagramElement;
/**
 * removeGradient method \
 *
 * @returns {void } removeGradient method .\
 * @param {string} svgId - provide the umlActivityShape  value.
 * @private
 */
export  function removeGradient(svgId: string): void;
/**
 * removeItem method \
 *
 * @returns {void } removeItem method .\
 * @param {string[]} array - provide the umlActivityShape  value.
 * @param {string} item - provide the umlActivityShape  value.
 * @private
 */
export  function removeItem(array: string[], item: string): void;
/**
 * updateConnector method \
 *
 * @returns {void } updateConnector method .\
 * @param {Connector} connector - provide the connector  value.
 * @param {PointModel[]} points - provide the points  value.
 * @param {DiagramAction} diagramActions - provide the diagramActions  value.
 * @private
 */
export  function updateConnector(connector: Connector, points: PointModel[], diagramActions?: DiagramAction): void;
/**
 * getUserHandlePosition method \
 *
 * @returns {PointModel } getUserHandlePosition method .\
 * @param {SelectorModel} selectorItem - provide the connector  value.
 * @param {UserHandleModel} handle - provide the handle  value.
 * @param {TransformFactor} transform - provide the transform  value.
 * @private
 */
export  function getUserHandlePosition(selectorItem: SelectorModel, handle: UserHandleModel, transform?: TransformFactor): PointModel;
/**
 * canResizeCorner method \
 *
 * @returns {SelectorConstraints } canResizeCorner method .\
 * @param {string} selectorConstraints - provide the selectorConstraints  value.
 * @param {string} action - provide the selectorConstraints  value.
 * @param {ThumbsConstraints} thumbsConstraints - provide the thumbsConstraints  value.
 * @param {Selector} selectedItems - provide the selectedItems  value.
 * @private
 */
export  function canResizeCorner(selectorConstraints: SelectorConstraints, action: string, thumbsConstraints: ThumbsConstraints, selectedItems: Selector): boolean;
/**
 * canShowCorner method \
 *
 * @returns {boolean } canShowCorner method .\
 * @param {SelectorConstraints} selectorConstraints - provide the selectorConstraints  value.
 * @param {string} action - provide the thumbsConstraints  value.
 * @private
 */
export  function canShowCorner(selectorConstraints: SelectorConstraints, action: string): boolean;
/**
 * canShowControlPoints method \
 *
 * @returns {boolean } canShowControlPoints method .\
 * @param {ControlPointsVisibility} bezierControlPoints - provide the bezierControlPoints value.
 * @param {string} action - provide the value.
 * @private
 */
export  function canShowControlPoints(bezierControlPoints: ControlPointsVisibility, action: string): boolean;
/**
 * checkPortRestriction method \
 *
 * @returns {number } checkPortRestriction method .\
 * @param {PointPortModel} port - provide the port  value.
 * @param {PortVisibility} portVisibility - provide the portVisibility  value.
 * @private
 */
export  function checkPortRestriction(port: PointPortModel, portVisibility: PortVisibility): number;
/**
 * findAnnotation method \
 *
 * @returns {ShapeAnnotationModel | PathAnnotationModel | TextModel } findAnnotation method .\
 * @param { NodeModel | ConnectorModel} node - provide the port  value.
 * @param {string} id - provide the portVisibility  value.
 * @private
 */
export  function findAnnotation(node: NodeModel | ConnectorModel, id: string): ShapeAnnotationModel | PathAnnotationModel | TextModel;
/**
 * findPort method \
 *
 * @returns {PointPortModel} findPort method .\
 * @param { NodeModel | ConnectorModel} node - provide the port  value.
 * @param {string} id - provide the portVisibility  value.
 * @private
 */
export  function findPort(node: NodeModel | ConnectorModel, id: string): PointPortModel;
/**
 * getInOutConnectPorts method \
 *
 * @returns {PointPortModel} getInOutConnectPorts method .\
 * @param { NodeModel} node - provide the port  value.
 * @param {boolean} isInConnect - provide the portVisibility  value.
 * @private
 */
export  function getInOutConnectPorts(node: NodeModel, isInConnect: boolean): PointPortModel;
/**
 * findObjectIndex method \
 *
 * @returns {PointPortModel} findObjectIndex method .\
 * @param { NodeModel | ConnectorModel} node - provide the node  value.
 * @param {string} id - provide the string  value.
 * @param {boolean} annotation - provide the boolean  value.
 * @private
 */
export  function findObjectIndex(node: NodeModel | ConnectorModel, id: string, annotation?: boolean): string;
/**
 * getObjectFromCollection method \
 *
 * @returns {boolean} getObjectFromCollection method .\
 * @param { (NodeModel | ConnectorModel)[] } obj - provide the node  value.
 * @param {string} id - provide the string  value.
 * @private
 */
export  function getObjectFromCollection(obj: (NodeModel | ConnectorModel)[], id: string): boolean;
/**
 * scaleElement method \
 *
 * @returns {void} scaleElement method .\
 * @param { DiagramElement } element - provide the element  value.
 * @param {number} sw - provide the string  value.
 * @param {number} sh - provide the string  value.
 * @param {DiagramElement} refObject - provide the refObject  value.
 * @private
 */
export  function scaleElement(element: DiagramElement, sw: number, sh: number, refObject: DiagramElement): void;
/**
 * scaleElement method \
 *
 * @returns {void} scaleElement method .\
 * @param { Node } obj - provide the obj  value.
 * @param {number} x - provide the x  value.
 * @param {number} y - provide the y  value.
 * @param {DiagramElement} nameTable - provide the refObject  value.
 * @param {DiagramElement} drop - provide the drop  value.
 * @param {DiagramElement} diagram - provide the diagram  value.
 * @private
 */
export  function arrangeChild(obj: Node, x: number, y: number, nameTable: {}, drop: boolean, diagram: Diagram | SymbolPalette): void;
/**
 * insertObject method \
 *
 * @returns {void} insertObject method .\
 * @param { NodeModel | ConnectorModel } obj - provide the obj  value.
 * @param { string } key - provide the obj  value.
 * @param { Object[]} collection - provide the x  value.
 * @private
 */
export  function insertObject(obj: NodeModel | ConnectorModel, key: string, collection: Object[]): void;
/**
 * getElement method \
 *
 * @returns {Object} getElement method .\
 * @param { DiagramHtmlElement | DiagramNativeElement } element - provide the obj  value.
 * @private
 */
export  function getElement(element: DiagramHtmlElement | DiagramNativeElement): Object;
/**
 * getCollectionChangeEventArguements method \
 *
 * @returns {IBlazorCollectionChangeEventArgs} getCollectionChangeEventArguements method .\
 * @param { IBlazorCollectionChangeEventArgs } args1 - provide the args1  value.
 * @param { NodeModel | ConnectorModel } obj - provide the obj  value.
 * @param { EventState } state - provide the state  value.
 * @param { ChangeType } type - provide the type  value.
 * @private
 */
export  function getCollectionChangeEventArguements(args1: IBlazorCollectionChangeEventArgs, obj: NodeModel | ConnectorModel, state: EventState, type: ChangeType): IBlazorCollectionChangeEventArgs;
/**
 * getDropEventArguements method \
 *
 * @returns {IBlazorDropEventArgs} getDropEventArguements method .\
 * @param { MouseEventArgs } args - provide the args1  value.
 * @param { IBlazorDropEventArgs } arg - provide the obj  value.
 * @private
 */
export  function getDropEventArguements(args: MouseEventArgs, arg: IBlazorDropEventArgs): IBlazorDropEventArgs;
/**
 * getPoint method \
 *
 * @returns {PointModel} getPoint method .\
 * @param { number } x - provide the x  value.
 * @param { number } y - provide the y  value.
 * @param { number } w - provide the w  value.
 * @param { number } h - provide the y  value.
 * @param { number } angle - provide the y  value.
 * @param { number } offsetX - provide the y  value.
 * @param { number } offsetY - provide the y  value.
 * @param { PointModel } cornerPoint - provide the y  value.
 * @private
 */
export  function getPoint(x: number, y: number, w: number, h: number, angle: number, offsetX: number, offsetY: number, cornerPoint: PointModel): PointModel;
/**
 * Get the object as Node | Connector \
 *
 * @returns {Object} Get the object as Node | Connector .\
 * @param { number } obj - provide the x  value.
 * @private
 */
export  let getObjectType: Function;
/** @private */
export  let flipConnector: Function;
/** @private */
export  let updatePortEdges: Function;
/** @private */
export  let alignElement: Function;
/** @private */
export  let cloneSelectedObjects: Function;
/** @private */
export  let updatePathElement: Function;
/** @private */
export  let checkPort: Function;
/** @private */
export  let findPath: Function;
/** @private */
export  let getConnectorDirection: Function;
/** @private */
export  let findDistance: Function;
/**
 * cloneBlazorObject method \
 *
 * @returns {Object} cloneBlazorObject method .\
 * @param { object } args - provide the args  value.
 * @private
 */
export  function cloneBlazorObject(args: object): Object;
/**
 * checkBrowserInfo method \
 *
 * @returns {Object} checkBrowserInfo method .\
 * @private
 */
export  function checkBrowserInfo(): boolean;
/**
 * canMeasureDecoratorPath method \
 *
 * @returns {boolean} canMeasureDecoratorPath method .\
 * @param { string[] } objects - provide the args  value.
 * @private
 */
export  function canMeasureDecoratorPath(objects: string[]): boolean;
/**
 * getPreviewSize method \
 *
 * @returns {Size} getPreviewSize method .\
 * @param { SymbolPaletteModel } sourceElement - provide the args  value.
 * @param { Node } clonedObject - provide the args  value.
 * @param { DiagramElement } wrapper - provide the args  value.
 * @private
 */
export  function getPreviewSize(sourceElement: SymbolPaletteModel, clonedObject: Node, wrapper: DiagramElement): Size;
/**
 * getSymbolSize method \
 *
 * @returns {number} getSymbolSize method .\
 * @param { SymbolPaletteModel } sourceElement - provide the sourceElement  value.
 * @param { Node } clonedObject - provide the clonedObject  value.
 * @param { DiagramElement } wrapper - provide the wrapper  value.
 * @param { string } size - provide the size  value.
 * @private
 */
export  function getSymbolSize(sourceElement: SymbolPaletteModel, clonedObject: Node, wrapper: DiagramElement, size: string): number;
/**
 * findParent method \
 *
 * @returns {string} findParent method .\
 * @param { Node } clonedObject - provide the clonedObject  value.
 * @param { Diagram } wrapper - provide the diagram  element.
 * @param { string } size - provide the parent id.
 * @private
 */
export  function findParentInSwimlane(node: Node, diagram: Diagram, parent: string): string;
/**
 * selectionHasConnector method \
 *
 * @returns {boolean} selectionHasConnector method .\
 * @param { Diagram } wrapper - provide the diagram  element.
 * @param { selector } size - provide the selector element.
 * @private
 */
export  function selectionHasConnector(diagram: Diagram, selector: Selector): boolean;
//node_modules/@syncfusion/ej2-diagrams/src/diagram/utility/diff-map.d.ts
/**
 * Defines the behavior of commands
 */
export  class DeepDiffMapper {
    valueCreated: string;
    valueUpdated: string;
    valueDeleted: string;
    valueUnchanged: string;
    /** @private */
    newNodeObject: Object[];
    /** @private */
    newConnectorObject: Object[];
    /**   @private  */
    diagramObject: object;
    /** @private */
    updateObjectCollection(layers: object[], diagram?: Diagram): void;
    /**   @private  */
    getOldObject(id: String, isNode: boolean, diagram: Diagram): Node | Connector;
    /** @private */
    changeSegments(diff: Object, newObject: Object): Object;
    private removeNullValues;
    /** @private */
    removeNullObjectValues(segment: Object): Object;
    /** @private */
    getDifferenceValues(selectedObject: Node | Connector, args: MouseEventArgs, labelDrag?: boolean, diagram?: Diagram): void;
    /** @private */
    getLayerObject(oldDiagram: object, temp?: boolean, diagram?: Diagram): object | any;
    /** @private */
    getDiagramObjects(diffValue: any, object: string, isNode: boolean, args: MouseEventArgs, labelDrag?: boolean, diagram?: Diagram): any;
    private removeArrayValues;
    /** @private */
    removeEmptyValues(frame: object): object;
    map(obj1: any, obj2?: any, arrayName?: any): {};
    compareValues(value1: any, value2: any): string;
    isFunction(x: any): boolean;
    isArray(x: any): boolean;
    isDate(x: any): boolean;
    isObject(x: any): boolean;
    isValue(x: any): boolean;
    frameObject(final: any, obj: any): any;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/utility/dom-util.d.ts
/**
 * Defines the functionalities that need to access DOM
 */
/**
 * removeElementsByClass method \
 *
 * @returns {void} removeElementsByClass method .\
 * @param { string } className - provide the element  value.
 * @param {string} id - provide the string  value.
 * @private
 */
export  function removeElementsByClass(className: string, id?: string): void;
/**
 * findSegmentPoints method \
 *
 * @returns {PointModel[]} findSegmentPoints method .\
 * @param { PathElement } element - provide the element  value.
 * @private
 */
export  function findSegmentPoints(element: PathElement): PointModel[];
/**
 * getChildNode method \
 *
 * @returns {SVGElement[] | HTMLCollection} findSegmentPoints method .\
 * @param { SVGElement } node - provide the element  value.
 * @private
 */
export  function getChildNode(node: SVGElement): SVGElement[] | HTMLCollection;
/**
 * translatePoints method \
 *
 * @returns {PointModel[]} translatePoints method .\
 * @param { SVGElement } element - provide the element  value.
 * @param { PointModel[] } points - provide the element  value.
 * @private
 */
export  function translatePoints(element: PathElement, points: PointModel[]): PointModel[];
/**
 * measurePath method \
 *
 * @returns {Rect} measurePath method .\
 * @param { string } data - provide the element  value.
 * @private
 */
export  function measurePath(data: string): Rect;
/**
 * measureHtmlText method \
 *
 * @returns {TextBounds} measureHtmlText method .\
 * @param { TextStyleModel } style - provide the style  value.
 * @param { string } content - provide the content  value.
 * @param { string } width - provide the width  value.
 * @param { string } height - provide the height  value.
 * @param { string } maxWidth - provide the maxWidth  value.
 * @private
 */
export  function measureHtmlText(style: TextStyleModel, content: string, width: number, height: number, maxWidth?: number): Size;
/**
 * measureText method \
 *
 * @returns {Size} measureText method .\
 * @param { TextStyleModel } text - provide the text  value.
 * @param { string } style - provide the style  value.
 * @param { string } content - provide the content  value.
 * @param { number } maxWidth - provide the maxWidth  value.
 * @param { string } textValue - provide the textValue  value.
 * @private
 */
export  function measureText(text: TextElement, style: TextStyleModel, content: string, maxWidth?: number, textValue?: string): Size;
/**
 * measureImage method \
 *
 * @returns {Size} measureImage method .\
 * @param { string } source - provide the text  value.
 * @param { Size } contentSize - provide the style  value.
 * @param { string } id - provide the content  value.
 * @param { Function } callback - provide the maxWidth  value.
 * @private
 */
export  function measureImage(source: string, contentSize: Size, id?: string, callback?: Function): Size;
/**
 * measureNativeContent method \
 *
 * @returns {Rect} measureNativeContent method .\
 * @param { SVGElement } nativeContent - provide the text  value.
 * @private
 */
export  function measureNativeContent(nativeContent: SVGElement): Rect;
/**
 * measureNativeSvg method \
 *
 * @returns {Rect} measureNativeSvg method .\
 * @param { SVGElement } nativeContent - provide the text  value.
 * @private
 */
export  function measureNativeSvg(nativeContent: SVGElement): Rect;
/**
 * updatePath method \
 *
 * @returns {string} updatePath method .\
 * @param { SVGElement } element - provide the element  value.
 * @param { Rect } bounds - provide the bounds  value.
 * @param { PathElement } child - provide the child  value.
 * @param { BaseAttributes } options - provide the options  value.
 * @private
 */
export  function updatePath(element: PathElement, bounds: Rect, child: PathElement, options?: BaseAttributes): string;
/**
 * getDiagramLayerSvg method \
 *
 * @returns {string} getDiagramLayerSvg method .\
 * @param { string } diagramId - provide the element  value.
 * @private
 */
export  function getDiagramLayerSvg(diagramId: string): SVGSVGElement;
/**
 * getDiagramElement method \
 *
 * @returns {HTMLElement} getDiagramElement method .\
 * @param { string } elementId - provide the elementId  value.
 * @param { string } contentId - provide the elementId  value.
 * @private
 */
export  function getDiagramElement(elementId: string, contentId?: string): HTMLElement;
/**
 * getDomIndex method \
 *
 * @returns {HTMLElement} getDomIndex method .\
 * @param { string } viewId - provide the elementId  value.
 * @param { string } elementId - provide the elementId  value.
 * @param { string } layer - provide the elementId  value.
 * @private
 */
export  function getDomIndex(viewId: string, elementId: string, layer: string): number;
/**
 * getAdornerLayerSvg method \
 *
 * @returns {SVGSVGElement} getAdornerLayerSvg method .\
 * @param { string } diagramId - provide the diagramId  value.
 * @private
 */
export  function getAdornerLayerSvg(diagramId: string): SVGSVGElement;
/**
 * getSelectorElement method \
 *
 * @returns {SVGSVGElement} getSelectorElement method .\
 * @param { string } diagramId - provide the diagramId  value.
 * @private
 */
export  function getSelectorElement(diagramId: string): SVGElement;
/**
 * getAdornerLayer method \
 *
 * @returns {SVGSVGElement} getAdornerLayer method .\
 * @param { string } diagramId - provide the diagramId  value.
 * @private
 */
export  function getAdornerLayer(diagramId: string): SVGElement;
/**
 * getUserHandleLayer method \
 *
 * @returns {HTMLElement} getUserHandleLayer method .\
 * @param { string } diagramId - provide the diagramId  value.
 * @private
 */
export  function getUserHandleLayer(diagramId: string): HTMLElement;
/**
 * getDiagramLayer method \
 *
 * @returns {HTMLElement} getDiagramLayer method .\
 * @param { string } diagramId - provide the diagramId  value.
 * @private
 */
export  function getDiagramLayer(diagramId: string): SVGElement;
/**
 * getPortLayerSvg method \
 *
 * @returns {SVGSVGElement} getPortLayerSvg method .\
 * @param { string } diagramId - provide the diagramId  value.
 * @private
 */
export  function getPortLayerSvg(diagramId: string): SVGSVGElement;
/**
 * getNativeLayerSvg method \
 *
 * @returns {SVGSVGElement} getNativeLayerSvg method .\
 * @param { string } diagramId - provide the diagramId  value.
 * @private
 */
export  function getNativeLayerSvg(diagramId: string): SVGSVGElement;
/**
 * getGridLayerSvg method \
 *
 * @returns {SVGSVGElement} getNativeLayerSvg method .\
 * @param { string } diagramId - provide the diagramId  value.
 * @private
 */
export  function getGridLayerSvg(diagramId: string): SVGSVGElement;
/**
 * getBackgroundLayerSvg method \
 *
 * @returns {SVGSVGElement} getBackgroundLayerSvg method .\
 * @param { string } diagramId - provide the diagramId  value.
 * @private
 */
export  function getBackgroundLayerSvg(diagramId: string): SVGSVGElement;
/**
 * getBackgroundImageLayer method \
 *
 * @returns {SVGSVGElement} getBackgroundImageLayer method .\
 * @param { string } diagramId - provide the diagramId  value.
 * @private
 */
export  function getBackgroundImageLayer(diagramId: string): SVGSVGElement;
/**
 * getBackgroundLayer method \
 *
 * @returns {SVGSVGElement} getBackgroundLayer method .\
 * @param { string } diagramId - provide the diagramId  value.
 * @private
 */
export  function getBackgroundLayer(diagramId: string): SVGSVGElement;
/**
 * getGridLayer method \
 *
 * @returns {SVGSVGElement} getGridLayer method .\
 * @param { string } diagramId - provide the diagramId  value.
 * @private
 */
export  function getGridLayer(diagramId: string): SVGElement;
/**
 * getNativeLayer method \
 *
 * @returns {SVGSVGElement} getNativeLayer method .\
 * @param { string } diagramId - provide the diagramId  value.
 * @private
 */
export  function getNativeLayer(diagramId: string): SVGElement;
/**
 * getHTMLLayer method \
 *
 * @returns {SVGSVGElement} getHTMLLayer method .\
 * @param { string } diagramId - provide the diagramId  value.
 * @private
 */
export  function getHTMLLayer(diagramId: string): HTMLElement;
/**
 * createHtmlElement method \
 *
 * @returns {SVGSVGElement} createHtmlElement method .\
 * @param { string } elementType - provide the diagramId  value.
 * @param { Object } attribute - provide the diagramId  value.
 * @private
 */
export  function createHtmlElement(elementType: string, attribute: Object): HTMLElement;
/**
 * createSvgElement method \
 *
 * @returns {SVGSVGElement} createSvgElement method .\
 * @param { string } elementType - provide the elementType  value.
 * @param { Object } attribute - provide the attribute  value.
 * @private
 */
export  function createSvgElement(elementType: string, attribute: Object): SVGElement;
/** @hidden */
/**
 * parentsUntil method \
 *
 * @returns {SVGSVGElement} parentsUntil method .\
 * @param { Element } elem - provide the elementType  value.
 * @param { string } selector - provide the attribute  value.
 * @param { boolean } isID - provide the attribute  value.
 * @private
 */
export  function parentsUntil(elem: Element, selector: string, isID?: boolean): Element;
/**
 * hasClass method \
 *
 * @returns {SVGSVGElement} hasClass method .\
 * @param { HTMLElement } element - provide the element  value.
 * @param { string } className - provide the className  value.
 * @private
 */
export  function hasClass(element: HTMLElement, className: string): boolean;
/**
 * getScrollerWidth method \
 *
 * @returns {number} getScrollerWidth method .\
 * @private
 */
export  function getScrollerWidth(): number;
/**
 * addTouchPointer method \
 *
 * @returns {ITouches[]} addTouchPointer method .\
 * @param { ITouches[] } touchList - provide the touchList  value.
 * @param { PointerEvent } e - provide the e  value.
 * @param { TouchList } touches - provide the touches  value.
 * @private
 */
export  function addTouchPointer(touchList: ITouches[], e: PointerEvent, touches: TouchList): ITouches[];
/**
 * removes the element from dom \
 *
 * @returns {void} removes the element from dom .\
 * @param { ITouches[] } elementId - provide the elementId  value.
 * @param { PointerEvent } contentId - provide the contentId  value.
 * @private
 */
export  function removeElement(elementId: string, contentId?: string): void;
/**
 * getContent method   \
 *
 * @returns {void} getContent method .\
 * @param { DiagramHtmlElement | DiagramNativeElement } element - provide the elementId  value.
 * @param { boolean } isHtml - provide the boolean  value.
 * @param { Node | Annotation | PathAnnotation } nodeObject - provide the nodeObject  value.
 * @private
 */
export  function getContent(element: DiagramHtmlElement | DiagramNativeElement, isHtml: boolean, nodeObject?: Node | Annotation | PathAnnotation): HTMLElement | SVGElement;
/**
 * setAttributeSvg method   \
 *
 * @returns {void} setAttributeSvg method .\
 * @param { SVGElement } svg - provide the svg  value.
 * @param { Object } attributes - provide the boolean  value.
 * @private
 */
export  function setAttributeSvg(svg: SVGElement, attributes: Object): void;
/**
 * applyStyleAgainstCsp method   \
 *
 * @returns {void} applyStyleAgainstCsp method .\
 * @param { SVGElement } svg - provide the svg  value.
 * @param { string } attributes - provide the boolean  value.
 * @private
 */
export  function applyStyleAgainstCsp(svg: SVGElement | HTMLElement, attributes: string): void;
/**
 * setAttributeHtml method   \
 *
 * @returns {void} setAttributeHtml method .\
 * @param { HTMLElement } element - provide the svg  value.
 * @param { Object } attributes - provide the boolean  value.
 * @private
 */
export  function setAttributeHtml(element: HTMLElement, attributes: Object): void;
/**
 * createMeasureElements method   \
 *
 * @returns {void} createMeasureElements method .\
 * @private
 */
export  function createMeasureElements(): void;
/**
 * setChildPosition method   \
 *
 * @returns {number} setChildPosition method .\
 * @param {SubTextElement} temp - provide the temp  value.
 * @param {SubTextElement[]} childNodes - provide the childNodes  value.
 * @param {number} i - provide the i  value.
 * @param {TextAttributes} options - provide the options  value.
 * @private
 */
export  function setChildPosition(temp: SubTextElement, childNodes: SubTextElement[], i: number, options: TextAttributes): number;
/**
 * getTemplateContent method   \
 *
 * @returns {DiagramHtmlElement} getTemplateContent method .\
 * @param {DiagramHtmlElement} annotationcontent - provide the annotationcontent  value.
 * @param {Annotation} annotation - provide the annotation  value.
 * @param {number} annotationTemplate - provide the annotationTemplate  value.
 * @private
 */
export  function getTemplateContent(annotationcontent: DiagramHtmlElement, annotation: Annotation, annotationTemplate?: string | Function): DiagramHtmlElement;
/** @private */
export  function createUserHandleTemplates(userHandleTemplate: string, template: HTMLCollection, selectedItems: SelectorModel, diagramID: string): void;
//node_modules/@syncfusion/ej2-diagrams/src/diagram/utility/path-util.d.ts
/**
 * These utility methods help to process the data and to convert it to desired dimensions
 */
/**
 * processPathData method \
 *
 * @returns {Object[]} processPathData method .\
 * @param { string } data - provide the data  value.
 * @private
 */
export  function processPathData(data: string): Object[];
/**
 * parsePathData method \
 *
 * @returns {Object[]} parsePathData method .\
 * @param { string } data - provide the data  value.
 * @private
 */
export  function parsePathData(data: string): Object[];
/**
 * getRectanglePath method \
 *
 * @returns {string} getRectanglePath method .\
 * @param { number } cornerRadius - provide the data  value.
 * @param { number } height - provide the height  value.
 * @param { number } width - provide the width  value.
 * @private
 */
export  function getRectanglePath(cornerRadius: number, height: number, width: number): string;
/**
 * getPolygonPath method \
 *
 * @returns {string} getPolygonPath method .\
 * @param { PointModel[] } collection - provide the data  value.
 * @private
 */
export  function getPolygonPath(collection: PointModel[]): string;
/**
 * getFreeHandPath method \
 *
 * @returns {string} getFreeHandPath method .\
 * @param { PointModel[] } collection - provide the data  value.
 * @private
 */
export  function getFreeHandPath(collection: any): string;
/**
 * pathSegmentCollection method \
 *
 * @returns {string} pathSegmentCollection method .\
 * @param { Object[]} collection - provide the collection  value.
 * @private
 */
export  function pathSegmentCollection(collection: Object[]): Object[];
/**
 * transformPath method \
 *
 * @returns {string} transformPath method .\
 * @param { Object[]} arr - provide the collection  value.
 * @param { number} sX - provide the collection  value.
 * @param { number} sY - provide the collection  value.
 * @param { boolean} s - provide the collection  value.
 * @param {number} bX - provide the collection  value.
 * @param { number} bY - provide the collection  value.
 * @param { number} iX - provide the collection  value.
 * @param { number} iY - provide the collection  value.
 * @private
 */
export  function transformPath(arr: Object[], sX: number, sY: number, s: boolean, bX: number, bY: number, iX: number, iY: number): string;
/**
 * updatedSegment method \
 *
 * @returns {string} updatedSegment method .\
 * @param { PathSegment} segment - provide the collection  value.
 * @param { PathSegment} char - provide the collection  value.
 * @param { number} obj - provide the collection  value.
 * @param { boolean} isScale - provide the collection  value.
 * @param {number} sX - provide the collection  value.
 * @param { number} sY - provide the collection  value.
 * @private
 */
export  function updatedSegment(segment: PathSegment, char: string, obj: PathSegment, isScale: boolean, sX: number, sY: number): Object;
/**
 * scalePathData method \
 *
 * @returns {string} scalePathData method .\
 * @param { number} val - provide the val  value.
 * @param { number} scaleFactor - provide the scaleFactor  value.
 * @param { number} oldOffset - provide the oldOffset  value.
 * @param { number} newOffset - provide the newOffset  value.
 * @private
 */
export  function scalePathData(val: number, scaleFactor: number, oldOffset: number, newOffset: number): number;
/**
 * splitArrayCollection method \
 *
 * @returns {Object[]} splitArrayCollection method .\
 * @param { Object[]} arrayCollection - provide the val  value.
 * @private
 */
export  function splitArrayCollection(arrayCollection: Object[]): Object[];
/**
 * getPathString method \
 *
 * @returns {string} getPathString method .\
 * @param { Object[]} arrayCollection - provide the val  value.
 * @private
 */
export  function getPathString(arrayCollection: Object[]): string;
/**
 * getString method \
 *
 * @returns {string} getString method .\
 * @param { PathSegment} arrayCollection - provide the val  value.
 * @private
 */
export  function getString(obj: PathSegment): string;
//node_modules/@syncfusion/ej2-diagrams/src/diagram/utility/swim-lane-util.d.ts
/**
 * SwimLane modules are used to rendering and interaction.
 */
/** @private */
/**
 * initSwimLane method \
 *
 * @returns {void} initSwimLane method .\
 * @param { GridPanel} grid - provide the grid  value.
 * @param { Diagram} diagram - provide the diagram  value.
 * @param {NodeModel} node - provide the node  value.
 * @private
 */
export  function initSwimLane(grid: GridPanel, diagram: Diagram, node: NodeModel): void;
/**
 * addObjectToGrid method \
 *
 * @returns {Container} addObjectToGrid method .\
 * @param { Diagram} diagram - provide the diagram  value.
 * @param { GridPanel} grid - provide the grid  value.
 * @param {NodeModel} parent - provide the parent  value.
 * @param {NodeModel} object - provide the object  value.
 * @param {boolean} isHeader - provide the isHeader  value.
 * @param {boolean} isPhase - provide the isPhase  value.
 * @param {boolean} isLane - provide the isLane  value.
 * @param {string} canvas - provide the canvas  value.
 * @private
 */
export  function addObjectToGrid(diagram: Diagram, grid: GridPanel, parent: NodeModel, object: NodeModel, isHeader?: boolean, isPhase?: boolean, isLane?: boolean, canvas?: string): Container;
/**
 * headerDefine method \
 *
 * @returns {void} headerDefine method .\
 * @param { GridPanel} grid - provide the grid  value.
 * @param {Diagram} diagram - provide the diagram  value.
 * @param {NodeModel} object - provide the object  value.
 * @private
 */
export  function headerDefine(grid: GridPanel, diagram: Diagram, object: NodeModel): void;
/**
 * phaseDefine method \
 *
 * @returns {void} phaseDefine method .\
 * @param { GridPanel} grid - provide the grid  value.
 * @param {Diagram} diagram - provide the diagram  value.
 * @param {NodeModel} object - provide the object  value.
 * @param {number} indexValue - provide the indexValue  value.
 * @param {boolean} orientation - provide the orientation  value.
 * @param {number} phaseIndex - provide the phaseIndex  value.
 * @private
 */
export  function phaseDefine(grid: GridPanel, diagram: Diagram, object: NodeModel, indexValue: number, orientation: boolean, phaseIndex: number): void;
/**
 * laneCollection method \
 *
 * @returns {void} laneCollection method .\
 * @param { GridPanel} grid - provide the grid  value.
 * @param {Diagram} diagram - provide the diagram  value.
 * @param {NodeModel} object - provide the object  value.
 * @param {number} indexValue - provide the indexValue  value.
 * @param {number} laneIndex - provide the laneIndex  value.
 * @param {boolean} orientation - provide the orientation  value.
 * @private
 */
export  function laneCollection(grid: GridPanel, diagram: Diagram, object: NodeModel, indexValue: number, laneIndex: number, orientation: boolean): void;
/**
 * createRow method \
 *
 * @returns {void} createRow method .\
 * @param { RowDefinition[]} row - provide the row  value.
 * @param {number} height - provide the height  value.
 * @private
 */
export  function createRow(row: RowDefinition[], height: number): void;
/**
 * createColumn method \
 *
 * @returns {void} createColumn method .\
 * @param {number} width - provide the width  value.
 * @private
 */
export  function createColumn(width: number): ColumnDefinition;
/**
 * initGridRow method \
 *
 * @returns {void} initGridRow method .\
 * @param {RowDefinition[]} row - provide the row  value.
 * @param {boolean} orientation - provide the row  value.
 * @param {NodeModel} object - provide the row  value.
 * @private
 */
export  function initGridRow(row: RowDefinition[], orientation: boolean, object: NodeModel): void;
/**
 * initGridColumns method \
 *
 * @returns {void} initGridRow method .\
 * @param {ColumnDefinition[]} columns - provide the row  value.
 * @param {boolean} orientation - provide the row  value.
 * @param {NodeModel} object - provide the row  value.
 * @private
 */
export  function initGridColumns(columns: ColumnDefinition[], orientation: boolean, object: NodeModel): void;
/**
 * getConnectors method \
 *
 * @returns {void} getConnectors method .\
 * @param {Diagram} diagram - provide the row  value.
 * @param {GridPanel} grid - provide the row  value.
 * @param {number} rowIndex - provide the row  value.
 * @param {boolean} isRowUpdate - provide the row  value.
 * @private
 */
export  function getConnectors(diagram: Diagram, grid: GridPanel, rowIndex: number, isRowUpdate: boolean): string[];
/**
 * swimLaneMeasureAndArrange method \
 *
 * @returns {void} swimLaneMeasureAndArrange method .\
 * @param {NodeModel} obj - provide the row  value.
 * @private
 */
export  function swimLaneMeasureAndArrange(obj: NodeModel): void;
/**
 * ChangeLaneIndex method \
 *
 * @returns {void} ChangeLaneIndex method .\
 * @param {Diagram} diagram - provide the row  value.
 * @param {NodeModel} obj - provide the row  value.
 * @param {number} startRowIndex - provide the row  value.
 * @private
 */
export  function ChangeLaneIndex(diagram: Diagram, obj: NodeModel, startRowIndex: number): void;
/**
 * arrangeChildNodesInSwimLane method \
 *
 * @returns {void} arrangeChildNodesInSwimLane method .\
 * @param {Diagram} diagram - provide the row  value.
 * @param {NodeModel} obj - provide the row  value.
 * @private
 */
export  function arrangeChildNodesInSwimLane(diagram: Diagram, obj: NodeModel): void;
/**
 * updateChildOuterBounds method \
 *
 * @returns {void} updateChildOuterBounds method .\
 * @param {GridPanel} grid - provide the row  value.
 * @param {NodeModel} obj - provide the row  value.
 * @private
 */
export  function updateChildOuterBounds(grid: GridPanel, obj: NodeModel): void;
/**
 * checkLaneSize method \
 *
 * @returns {void} checkLaneSize method .\
 * @param {NodeModel} obj - provide the row  value.
 * @private
 */
export  function checkLaneSize(obj: NodeModel): void;
/**
 * checkPhaseOffset method \
 *
 * @returns {void} checkPhaseOffset method .\
 * @param {NodeModel} obj - provide the obj  value.
 * @param {Diagram} diagram - provide the obj  value.
 * @private
 */
export  function checkPhaseOffset(obj: NodeModel, diagram: Diagram): void;
/**
 * updateConnectorsProperties method \
 *
 * @returns {void} checkPhaseOffset method .\
 * @param {string[]} connectors - provide the obj  value.
 * @param {Diagram} diagram - provide the obj  value.
 * @private
 */
export  function updateConnectorsProperties(connectors: string[], diagram: Diagram): void;
/**
 * laneInterChanged method \
 *
 * @returns {void} laneInterChanged method .\
 * @param {Diagram} diagram - provide the diagram  value.
 * @param {NodeModel} obj - provide the obj  value.
 * @param {NodeModel} target - provide the target  value.
 * @param {PointModel} position - provide the position  value.
 * @private
 */
export  function laneInterChanged(diagram: Diagram, obj: NodeModel, target: NodeModel, position?: PointModel): void;
/**
 * updateSwimLaneObject method \
 *
 * @returns {void} updateSwimLaneObject method .\
 * @param {Diagram} diagram - provide the diagram  value.
 * @param {Node} obj - provide the obj  value.
 * @param {NodeModel} swimLane - provide the target  value.
 * @param {NodeModel} helperObject - provide the position  value.
 * @private
 */
export  function updateSwimLaneObject(diagram: Diagram, obj: Node, swimLane: NodeModel, helperObject: NodeModel): void;
/**
 * findLaneIndex method \
 *
 * @returns {number} findLaneIndex method .\
 * @param {NodeModel} swimLane - provide the diagram  value.
 * @param {NodeModel} laneObj - provide the obj  value.
 * @private
 */
export  function findLaneIndex(swimLane: NodeModel, laneObj: NodeModel): number;
/**
 * findPhaseIndex method \
 *
 * @returns {number} findPhaseIndex method .\
 * @param {NodeModel} phase - provide the diagram  value.
 * @param {NodeModel} swimLane - provide the obj  value.
 * @private
 */
export  function findPhaseIndex(phase: NodeModel, swimLane: NodeModel): number;
/**
 * findStartLaneIndex method \
 *
 * @returns {number} findStartLaneIndex method .\
 * @param {NodeModel} swimLane - provide the obj  value.
 * @private
 */
export  function findStartLaneIndex(swimLane: NodeModel): number;
/**
 * updatePhaseMaxWidth method \
 *
 * @returns {void} updatePhaseMaxWidth method .\
 * @param {NodeModel} parent - provide the obj  value.
 * @param {Diagram} diagram - provide the obj  value.
 * @param {Canvas} wrapper - provide the obj  value.
 * @param {number} columnIndex - provide the obj  value.
 * @private
 */
export  function updatePhaseMaxWidth(parent: NodeModel, diagram: Diagram, wrapper: Canvas, columnIndex: number): void;
/**
 * updateHeaderMaxWidth method \
 *
 * @returns {void} updateHeaderMaxWidth method .\
 * @param {NodeModel} diagram - provide the obj  value.
 * @param {NodeModel} swimLane - provide the obj  value.
 * @private
 */
export  function updateHeaderMaxWidth(diagram: Diagram, swimLane: NodeModel): void;
/**
 * addLane method \
 *
 * @returns {void} addLane method .\
 * @param {Diagram} diagram - provide the obj  value.
 * @param {NodeModel} parent - provide the obj  value.
 * @param {LaneModel} lane - provide the obj  value.
 * @param {number} count - provide the obj  value.
 * @private
 */
export  function addLane(diagram: Diagram, parent: NodeModel, lane: LaneModel, count?: number): void;
/**
 * addPhase method \
 *
 * @returns {void} addPhase method .\
 * @param {Diagram} diagram - provide the diagram  value.
 * @param {NodeModel} parent - provide the cell  value.
 * @param {PhaseModel} newPhase - provide the point  value.
 * @private
 */
export  function addPhase(diagram: Diagram, parent: NodeModel, newPhase: PhaseModel): void;
/**
 * addLastPhase method \
 *
 * @returns {void} addLastPhase method .\
 * @param {number} phaseIndex - provide the diagram  value.
 * @param {NodeModel} parent - provide the cell  value.
 * @param {HistoryEntry} entry - provide the point  value.
 * @param {GridPanel} grid - provide the grid  value.
 * @param {boolean} orientation - provide the orientation  value.
 * @param {PhaseModel} newPhase - provide the newPhase  value.
 * @private
 */
export  function addLastPhase(phaseIndex: number, parent: NodeModel, entry: HistoryEntry, grid: GridPanel, orientation: boolean, newPhase: PhaseModel): void;
/**
 * addHorizontalPhase method \
 *
 * @returns {void} addHorizontalPhase method .\
 * @param {Diagram} diagram - provide the diagram  value.
 * @param {NodeModel} node - provide the cell  value.
 * @param {GridPanel} grid - provide the point  value.
 * @param {number} index - provide the point  value.
 * @param {boolean} orientation - provide the point  value.
 * @private
 */
export  function addHorizontalPhase(diagram: Diagram, node: NodeModel, grid: GridPanel, index: number, orientation: boolean): void;
/**
 * addVerticalPhase method \
 *
 * @returns {void} addVerticalPhase method .\
 * @param {Diagram} diagram - provide the diagram  value.
 * @param {NodeModel} node - provide the cell  value.
 * @param {GridPanel} grid - provide the point  value.
 * @param {number} rowIndex - provide the point  value.
 * @param {boolean} orientation - provide the point  value.
 * @private
 */
export  function addVerticalPhase(diagram: Diagram, node: NodeModel, grid: GridPanel, rowIndex: number, orientation: boolean): void;
/**
 * arrangeChildInGrid method \
 *
 * @returns {void} arrangeChildInGrid method .\
 * @param {Diagram} diagram - provide the diagram  value.
 * @param {GridCell} nextCell - provide the nextCell  value.
 * @param {GridPanel} gridCell - provide the gridCell  value.
 * @param {Rect} rect - provide the rect  value.
 * @param {Container} parentWrapper - provide the parentWrapper  value.
 * @param {boolean} orientation - provide the orientation  value.
 * @param {GridCell} prevCell - provide the prevCell  value.
 * @private
 */
export  function arrangeChildInGrid(diagram: Diagram, nextCell: GridCell, gridCell: GridCell, rect: Rect, parentWrapper: Container, orientation: boolean, prevCell?: GridCell): void;
/**
 * swimLaneSelection method \
 *
 * @returns {void} swimLaneSelection method .\
 * @param {Diagram} diagram - provide the diagram  value.
 * @param {NodeModel} node - provide the node  value.
 * @param {string} corner - provide the corner  value.
 * @private
 */
export  function swimLaneSelection(diagram: Diagram, node: NodeModel, corner: string): void;
/**
 * pasteSwimLane method \
 *
 * @returns {void} pasteSwimLane method .\
 * @param {Diagram} swimLane - provide the diagram  value.
 * @param {NodeModel} diagram - provide the diagram  value.
 * @param {string} clipboardData - provide the clipboardData  value.
 * @param {string} laneNode - provide the laneNode  value.
 * @param {string} isLane - provide the isLane  value.
 * @param {string} isUndo - provide the isUndo  value.
 * @private
 */
export  function pasteSwimLane(swimLane: NodeModel, diagram: Diagram, clipboardData?: ClipBoardObject, laneNode?: NodeModel, isLane?: boolean, isUndo?: boolean): NodeModel;
/**
 * gridSelection method \
 *
 * @returns {void} gridSelection method .\
 * @param {Diagram} diagram - provide the diagram  value.
 * @param {SelectorModel} selectorModel - provide the selectorModel  value.
 * @param {string} id - provide the id  value.
 * @param {boolean} isSymbolDrag - provide the isSymbolDrag  value.
 * @private
 */
export  function gridSelection(diagram: Diagram, selectorModel: SelectorModel, id?: string, isSymbolDrag?: boolean): Canvas;
/**
 * removeLaneChildNode method \
 *
 * @returns {void} removeLaneChildNode method .\
 * @param {Diagram} diagram - provide the diagram  value.
 * @param {NodeModel} swimLaneNode - provide the diagram  value.
 * @param {NodeModel} currentObj - provide the currentObj  value.
 * @param {NodeModel} isChildNode - provide the isChildNode  value.
 * @param {number} laneIndex - provide the laneIndex  value.
 * @private
 */
export  function removeLaneChildNode(diagram: Diagram, swimLaneNode: NodeModel, currentObj: NodeModel, isChildNode?: NodeModel, laneIndex?: number): void;
/**
 * getGridChildren method \
 *
 * @returns {DiagramElement} getGridChildren method .\
 * @param {Diagram} obj - provide the obj  value.
 * @private
 */
export  function getGridChildren(obj: DiagramElement): DiagramElement;
/**
 * removeSwimLane method \
 *
 * @returns {void} removeSwimLane method .\
 * @param {Diagram} diagram - provide the obj  value.
 * @param {NodeModel} obj - provide the obj  value.
 * @private
 */
export  function removeSwimLane(diagram: Diagram, obj: NodeModel): void;
/**
 * removeLane method \
 *
 * @returns {void} removeLane method .\
 * @param {Diagram} diagram - provide the obj  value.
 * @param {NodeModel} lane - provide the obj  value.
 * @param {NodeModel} swimLane - provide the obj  value.
 * @param {LaneModel} lanes - provide the obj  value.
 * @private
 */
export  function removeLane(diagram: Diagram, lane: NodeModel, swimLane: NodeModel, lanes?: LaneModel): void;
/**
 * removeChildren method \
 *
 * @returns {void} removeChildren method .\
 * @param {Diagram} diagram - provide the obj  value.
 * @param {Canvas} canvas - provide the obj  value.
 * @private
 */
export  function removeChildren(diagram: Diagram, canvas: Canvas): void;
/**
 * removePhase method \
 *
 * @returns {void} removePhase method .\
 * @param {Diagram} diagram - provide the obj  value.
 * @param {NodeModel} phase - provide the obj  value.
 * @param {NodeModel} swimLane - provide the obj  value.
 * @param {PhaseModel} swimLanePhases - provide the obj  value.
 * @private
 */
export  function removePhase(diagram: Diagram, phase: NodeModel, swimLane: NodeModel, swimLanePhases?: PhaseModel): void;
/**
 * removeHorizontalPhase method \
 *
 * @returns {void} removeHorizontalPhase method .\
 * @param {Diagram} diagram - provide the obj  value.
 * @param {GridPanel} grid - provide the obj  value.
 * @param {NodeModel} phase - provide the obj  value.
 * @param {number} phaseIndex - provide the obj  value.
 * @private
 */
export  function removeHorizontalPhase(diagram: Diagram, grid: GridPanel, phase: NodeModel, phaseIndex?: number): void;
/**
 * removeVerticalPhase method \
 *
 * @returns {void} removeVerticalPhase method .\
 * @param {Diagram} diagram - provide the diagram  value.
 * @param {GridPanel} grid - provide the grid  value.
 * @param {NodeModel} phase - provide the phase  value.
 * @param {number} phaseIndex - provide the phaseIndex  value.
 * @param {number} swimLane - provide the swimLane  value.
 * @private
 */
export  function removeVerticalPhase(diagram: Diagram, grid: GridPanel, phase: NodeModel, phaseIndex: number, swimLane: NodeModel): void;
/**
 * considerSwimLanePadding method \
 *
 * @returns {void} considerSwimLanePadding method .\
 * @param {Diagram} diagram - provide the diagram  value.
 * @param {NodeModel} node - provide the grid  value.
 * @param {number} padding - provide the phase  value.
 * @private
 */
export  function considerSwimLanePadding(diagram: Diagram, node: NodeModel, padding: number): void;
/**
 * checkLaneChildrenOffset method \
 *
 * @returns {void} checkLaneChildrenOffset method .\
 * @param {NodeModel} swimLane - provide the diagram  value.
 * @private
 */
export  function checkLaneChildrenOffset(swimLane: NodeModel): void;
/**
 * findLane method \
 *
 * @returns {LaneModel} findLane method .\
 * @param {Node} laneNode - provide the laneNode  value.
 * @param {Diagram} diagram - provide the diagram  value.
 * @private
 */
export  function findLane(laneNode: Node, diagram: Diagram): LaneModel;
/**
 * canLaneInterchange method \
 *
 * @returns {boolean} canLaneInterchange method .\
 * @param {Node} laneNode - provide the laneNode  value.
 * @param {Diagram} diagram - provide the diagram  value.
 * @private
 */
export  function canLaneInterchange(laneNode: Node, diagram: Diagram): boolean;
/**
 * updateSwimLaneChildPosition method \
 *
 * @returns {void} updateSwimLaneChildPosition method .\
 * @param {Lane[]} lanes - provide the laneNode  value.
 * @param {Diagram} diagram - provide the diagram  value.
 * @private
 */
export  function updateSwimLaneChildPosition(lanes: Lane[], diagram: Diagram): void;
//node_modules/@syncfusion/ej2-diagrams/src/diagram/utility/uml-util.d.ts
/**
 * These utility methods help to process the data and to convert it to desired dimensions
 */
/**
 * getULMClassifierShapes method \
 *
 * @returns {DiagramElement} getULMClassifierShapes method .\
 * @param { DiagramElement} content - provide the content  value.
 * @param {NodeModel} node - provide the node  value.
 * @param {Diagram} diagram - provide the diagram  value.
 * @private
 */
export  function getULMClassifierShapes(content: DiagramElement, node: NodeModel, diagram: Diagram): DiagramElement;
/**
 * getClassNodes method \
 *
 * @returns {void} getClassNodes method .\
 * @param { Node} node - provide the node  value.
 * @param {Diagram} diagram - provide the diagram  value.
 * @param {UmlClassModel} classifier - provide the classifier  value.
 * @param {TextWrap} textWrap - provide the textWrap  value.
 * @private
 */
export  function getClassNodes(node: Node, diagram: Diagram, classifier: UmlClassModel, textWrap: TextWrap): void;
/**
 * getClassMembers method \
 *
 * @returns {void} getClassMembers method .\
 * @param { Node} node - provide the node  value.
 * @param {Diagram} diagram - provide the diagram  value.
 * @param {UmlClassModel} classifier - provide the classifier  value.
 * @param {TextWrap} textWrap - provide the textWrap  value.
 * @private
 */
export  function getClassMembers(node: Node, diagram: Diagram, classifier: UmlClassModel, textWrap: TextWrap): void;
/**
 * addSeparator method \
 *
 * @returns {void} addSeparator method .\
 * @param { Node} stack - provide the stack  value.
 * @param {Diagram} diagram - provide the diagram  value.
 * @private
 */
export  function addSeparator(stack: Node, diagram: Diagram): void;
/**
 * getStyle method \
 *
 * @returns {TextStyleModel} addSeparator method .\
 * @param { Node} stack - provide the stack  value.
 * @param {UmlClassModel} node - provide the node  value.
 * @private
 */
export  function getStyle(stack: Node, node: UmlClassModel): TextStyleModel;
//node_modules/@syncfusion/ej2-diagrams/src/index.d.ts
/**
 * Diagram component exported items
 */
//node_modules/@syncfusion/ej2-diagrams/src/overview/index.d.ts
/**
 * Overview Components
 */
//node_modules/@syncfusion/ej2-diagrams/src/overview/overview-model.d.ts
/**
 * Interface for a class Overview
 */
export interface OverviewModel extends base.ComponentModel{
    /**
     * Defines the width of the overview
     *
     * @default '100%'
     */
    width?: string | number;
    /**
     * Defines the height of the overview
     *
     * @default '100%'
     */
    height?: string | number;
    /**
     * Defines the ID of the overview
     *
     * @default ''
     */
    sourceID?: string;
    /**
     * Triggers after render the diagram elements
     *
     * @event
     * @blazorProperty 'Created'
     */
    created?: base.EmitType<Object>;
}
//node_modules/@syncfusion/ej2-diagrams/src/overview/overview.d.ts
/**
 * Overview control allows you to see a preview or an overall view of the entire content of a Diagram.
 * This helps you to look at the overall picture of a large Diagram
 * To navigate, pan, or zoom, on a particular position of the page.
 * ```html
 * <div id='diagram'/>
 * <div id="overview"></div>
 * ```
 * ```typescript
 * let overview: Overview;
 * let diagram$: Diagram = new Diagram({
 * width:'1000px', height:'500px' });
 * diagram.appendTo('#diagram');
 * let options: OverviewModel = {};
 * options.sourceID = 'diagram';
 * options.width = '250px';
 * options.height = '500px';
 * overview = new Overview(options);
 * overview.appendTo('#overview');
 * ```
 */
export  class Overview extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    /**
     * Defines the width of the overview
     *
     * @default '100%'
     */
    width: string | number;
    /**
     * Defines the height of the overview
     *
     * @default '100%'
     */
    height: string | number;
    /**
     * Defines the ID of the overview
     *
     * @default ''
     */
    sourceID: string;
    /**
     * Triggers after render the diagram elements
     *
     * @event
     * @blazorProperty 'Created'
     */
    created: base.EmitType<Object>;
    private parent;
    private canvas;
    private svg;
    /** @private */
    mode: RenderingMode;
    /** @private */
    id: string;
    private actionName;
    private startPoint;
    private currentPoint;
    private prevPoint;
    private resizeDirection;
    private scale;
    private inAction;
    private viewPortRatio;
    private horizontalOffset;
    private verticalOffset;
    /** @private */
    contentWidth: number;
    /** @private */
    contentHeight: number;
    /** @private */
    diagramLayer: HTMLCanvasElement | SVGGElement;
    private diagramLayerDiv;
    private model;
    private helper;
    private resizeTo;
    private event;
    private overviewid;
    /**   @private  */
    diagramRenderer: DiagramRenderer;
    constructor(options?: OverviewModel, element?: HTMLElement | string);
    /**
     * Updates the overview control when the objects are changed
     *
     * @param {OverviewModel} newProp - Lists the new values of the changed properties
     * @param {OverviewModel} oldProp - Lists the old values of the changed properties
     */
    onPropertyChanged(newProp: OverviewModel, oldProp: OverviewModel): void;
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @returns {string}  Get the properties to be maintained in the persisted state.
     */
    getPersistData(): string;
    /**
     * Initializes the values of private members.
     *
     * @returns {void}  Initializes the values of private members.
     * @private
     */
    protected preRender(): void;
    protected render(): void;
    private getSizeValue;
    private renderCanvas;
    private setParent;
    private getDiagram;
    private unWireEvents;
    private wireEvents;
    /**
     * renderDocument method\
     *
     * @returns {  void }    renderDocument method .\
     * @param {Overview} view - provide the angle value.
     * @private
     */
    renderDocument(view: Overview): void;
    /**
     * removeDocument method\
     *
     * @returns {  void }    removeDocument method .\
     * @param {Overview} view - provide the angle value.
     * @private
     */
    removeDocument(view: Overview): void;
    private renderHtmlLayer;
    private renderNativeLayer;
    private addOverviewRectPanel;
    private renderOverviewCorner;
    private updateOverviewRectangle;
    private updateHelper;
    private updateOverviewrect;
    private updateOverviewCorner;
    private translateOverviewRectangle;
    private renderOverviewRect;
    private scrollOverviewRect;
    private updateParentView;
    updateHtmlLayer(view: Overview): void;
    /** @private */
    /**
     * updateView method\
     *
     * @returns {  void }    removeDocument method .\
     * @param {Overview} view - provide the angle value.
     * @private
     */
    updateView(view: Overview): void;
    private scrolled;
    private updateCursor;
    private mouseMove;
    private documentMouseUp;
    private windowResize;
    /**
     * mouseDown method\
     *
     * @returns {  void }    mouseDown method .\
     * @param {PointerEvent | TouchEvent} evt - provide the angle value.
     * @private
     */
    mouseDown(evt: PointerEvent | TouchEvent): void;
    private mouseUp;
    private initHelper;
    private mousePosition;
    /**
     *To destroy the overview
     *
     * @returns {void} To destroy the overview
     */
    destroy(): void;
    /**
     * Core method to return the component name.
     *
     * @returns {string}  Core method to return the component name.
     * @private
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-diagrams/src/ruler/index.d.ts
/**
 * Exported Ruler files
 */
//node_modules/@syncfusion/ej2-diagrams/src/ruler/objects/interface/interfaces.d.ts
/**
 * defines the interface for the rulers
 */
/** @private */
export interface IArrangeTickOptions {
    ruler?: Ruler;
    tickLength?: number;
    tickInterval?: number;
}
//node_modules/@syncfusion/ej2-diagrams/src/ruler/ruler-model.d.ts
/**
 * Interface for a class Ruler
 */
export interface RulerModel extends base.ComponentModel{
    /**
     * Defines the unique interval of the ruler.
     *
     * @default 5
     */
    interval?: number;
    /**
     * Sets the segment width of the ruler.
     *
     * @default 100
     */
    segmentWidth?: number;
    /**
     * Defines the orientation of the ruler.
     *
     * @default 'Horizontal'
     */
    orientation?: RulerOrientation;
    /**
     * Defines the alignment of the tick in the ruler.
     *
     *
     * @default 'RightOrBottom'
     */
    tickAlignment?: TickAlignment;
    /**
     * Defines the color of the marker.
     *
     * @default 'red'
     */
    markerColor?: string;
    /**
     * Defines the thickness of the ruler.
     *
     * @default 25
     */
    thickness?: number;
    /**
     * Sets the segment width of the ruler.
     *
     * @default null
     * @deprecated
     */
    arrangeTick?: Function | string;
    /**
     * Defines the length of the ruler.
     *
     * @default 400
     */
    length?: number;
}
//node_modules/@syncfusion/ej2-diagrams/src/ruler/ruler.d.ts
/**
 * Set of TickAlignment available for Ruler.
 */
export  type TickAlignment = 'LeftOrTop' | 'RightOrBottom';
/**
 * Set of orientations available for Ruler.
 */
export  type RulerOrientation = 'Horizontal' | 'Vertical';
/**
 * Represents the Ruler component that measures the Diagram objects, indicate positions, and align Diagram elements.
 * ```html
 * <div id='ruler'>Show Ruler</div>
 * ```
 * ```typescript
 * <script>
 *   var rulerObj = new Ruler({ showRuler: true });
 *   rulerObj.appendTo('#ruler');
 * </script>
 * ```
 */
export  class Ruler extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    /**
     * Defines the unique interval of the ruler.
     *
     * @default 5
     */
    interval: number;
    /**
     * Sets the segment width of the ruler.
     *
     * @default 100
     */
    segmentWidth: number;
    /**
     * Defines the orientation of the ruler.
     *
     * @default 'Horizontal'
     */
    orientation: RulerOrientation;
    /**
     * Defines the alignment of the tick in the ruler.
     *
     *
     * @default 'RightOrBottom'
     */
    tickAlignment: TickAlignment;
    /**
     * Defines the color of the marker.
     *
     * @default 'red'
     */
    markerColor: string;
    /**
     * Defines the thickness of the ruler.
     *
     * @default 25
     */
    thickness: number;
    /**
     * Sets the segment width of the ruler.
     *
     * @default null
     * @deprecated
     */
    arrangeTick: Function | string;
    /**
     * Defines the length of the ruler.
     *
     * @default 400
     */
    length: number;
    /**   @private  */
    offset: number;
    /**   @private  */
    scale: number;
    /**   @private  */
    startValue: number;
    /**   @private  */
    defStartValue: number;
    /**   @private  */
    hRulerOffset: number;
    /**   @private  */
    vRulerOffset: number;
    /**
     *  Constructor for creating the Ruler base.Component
     *
     * @param {RulerModel} options The ruler model.
     * @param {string | HTMLElement} element The ruler element.
     */
    constructor(options?: RulerModel, element?: string | HTMLElement);
    /**
     * Initializes the values of private members.
     *
     * @returns {void}  Initializes the values of private members.
     * @private
     */
    protected preRender(): void;
    /**
     * Renders the rulers.
     *
     * @returns {void}  Renders the rulers.
     * @private
     */
    render(): void;
    /**
     * Core method to return the component name.
     *
     * @returns {string}  Core method to return the component name.
     * @private
     */
    getModuleName(): string;
    /**
     *To destroy the ruler
     *
     * @returns {void} To destroy the ruler
     */
    destroy(): void;
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @returns {string}  Get the properties to be maintained in the persisted state.
     */
    getPersistData(): string;
    /**
     * Refreshes the ruler when the Ruler properties are updated\
     *
     * @returns {  void}    Refreshes the ruler when the Ruler properties are updated .\
     * @param {RulerModel} newProp - provide the newProp value.
     * @param {RulerModel} oldProp - provide the oldProp value.
     * @private
     */
    onPropertyChanged(newProp: RulerModel, oldProp: RulerModel): void;
    private updateRulerGeometry;
    private renderRulerSpace;
    private updateRuler;
    private updateSegments;
    private updateSegment;
    private updateTickLabel;
    private getNewSegment;
    private createNewTicks;
    private getLinePoint;
    private createTick;
    private createTickLabel;
    /**
     * @private
     * @param {number} scale
     */
    /**
     * updateSegmentWidth method\
     *
     * @returns {number}    updateSegmentWidth method .\
     * @param {string} scale - provide the scale value.
     *
     * @private
     */
    updateSegmentWidth(scale: number): number;
    private createMarkerLine;
    /**
     * updateSegmentWidth method\
     *
     * @returns {void}    updateSegmentWidth method .\
     * @param {HTMLElement} rulerObj - Defines the ruler Object
     * @param {PointModel} currentPoint - Defines the current point for ruler Object
     * @param {number} offset - Defines the offset ruler Object
     *
     * @private
     */
    drawRulerMarker(rulerObj: HTMLElement, currentPoint: PointModel, offset: number): void;
    private getRulerGeometry;
    private getRulerSize;
    private getRulerSVG;
    /**
     * Method to bind events for the ruler \
     *
     * @returns {void}    Method to bind events for the ruler .\
     * @private
     */
    private wireEvents;
    /**
     *  Method to unbind events for the ruler \
     *
     * @returns {void}     Method to unbind events for the ruler .\
     * @private
     */
    private unWireEvents;
}
export interface RulerSegment {
    segment: SVGElement;
    label: SVGTextElement;
}
export interface SegmentTranslation {
    trans: number;
}
//node_modules/@syncfusion/ej2-diagrams/src/symbol-palette/index.d.ts
/**
 * Exported symbol palette files
 */
//node_modules/@syncfusion/ej2-diagrams/src/symbol-palette/symbol-palette-model.d.ts
/**
 * Interface for a class Palette
 */
export interface PaletteModel {
    /**
     * Defines the unique id of a symbol group
     *
     * @default ''
     */
    id?: string;
    /**
     * Sets the height of the symbol group
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    height?: number;
    /**
     * Sets whether the palette items to be expanded or not
     *
     * @default true
     */
    expanded?: boolean;
    /**
     * Defines the content of the symbol group
     *
     * @default ''
     */
    iconCss?: string;
    /**
     * Defines the title of the symbol group
     *
     * @default ''
     */
    title?: string;
    /**
     * Defines the collection of predefined symbols
     *
     * @aspType object
     */
    symbols?: (NodeModel | ConnectorModel)[];
}
/**
 * Interface for a class SymbolDragSize
 */
export interface SymbolDragSizeModel {
    /**
     * Sets the drag width of the symbols
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    width?: number;
    /**
     * Sets the drag height of the symbols
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    height?: number;
}
/**
 * Interface for a class SymbolPreview
 */
export interface SymbolPreviewModel {
    /**
     * Sets the preview width of the symbols
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    width?: number;
    /**
     * Sets the preview height of the symbols
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    height?: number;
    /**
     * Defines the distance to be left between the cursor and symbol
     *
     * @default {}
     */
    offset?: PointModel;
}
/**
 * Interface for a class SymbolPalette
 */
export interface SymbolPaletteModel extends base.ComponentModel{
    /**
     * Configures the key, when it pressed the symbol palette will be focused
     *
     * @default 'S'
     */
    accessKey?: string;
    /**
     * Defines the width of the symbol palette
     *
     * @default '100%'
     */
    width?: string | number;
    /**
     * Defines the height of the symbol palette
     *
     * @default '100%'
     */
    height?: string | number;
    /**
     * Defines the collection of symbol groups
     *
     * @default []
     */
    palettes?: PaletteModel[];
    /**
     * ```html
     * <div id="symbolpalette"></div>
     *  ```
     * ```typescript
     * let palette: SymbolPalette = new SymbolPalette({
     *   expandMode: 'Multiple',
     *   palettes: [
     *       { id: 'flow', expanded: false, symbols: getFlowShapes(), title: 'Flow Shapes' },
     *   ],
     *   width: '100%', height: '100%', symbolHeight: 50, symbolWidth: 50,
     *   symbolPreview: { height: 100, width: 100 },
     *   enableSearch: true,
     *   getNodeDefaults: setPaletteNodeDefaults,
     *   symbolMargin: { left: 12, right: 12, top: 12, bottom: 12 },
     *   getSymbolInfo: (symbol: NodeModel): SymbolInfo => {
     *       return { fit: true };
     *   }
     * });
     * palette.appendTo('#symbolpalette');
     * export function getFlowShapes(): NodeModel[] {
     *   let flowShapes: NodeModel[] = [
     *       { id: 'Terminator', shape: { type: 'Flow', shape: 'Terminator' }, style: { strokeWidth: 2 } },
     *       { id: 'Process', shape: { type: 'Flow', shape: 'Process' }, style: { strokeWidth: 2 } },
     *       { id: 'Decision', shape: { type: 'Flow', shape: 'Decision' }, style: { strokeWidth: 2 } }
     *   ];
     *   return flowShapes;
     * }
     * function setPaletteNodeDefaults(node: NodeModel): void {
     * if (node.id === 'Terminator' || node.id === 'Process') {
     *   node.width = 130;
     *   node.height = 65;
     * } else {
     *   node.width = 50;
     *   node.height = 50;
     * }
     * node.style.strokeColor = '#3A3A3A';
     * }
     * ```
     *
     * @deprecated
     */
    getSymbolInfo?: Function | string;
    /**
     * Defines the size, appearance and description of a symbol
     *
     */
    symbolInfo?: SymbolInfo;
    /**
     * Defines the symbols to be added in search palette
     *
     * @aspDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    filterSymbols?: Function | string;
    /**
     * Defines the symbols to be added in search palette
     *
     */
    ignoreSymbolsOnSearch?: string[];
    /**
     * Defines the content of a symbol
     *
     * @aspDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    getSymbolTemplate?: Function | string;
    /**
     * Defines the width of the symbol
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    symbolWidth?: number;
    /**
     * Defines the height of the symbol
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    symbolHeight?: number;
    /**
     * Defines the space to be left around a symbol
     *
     * @default {left:10,right:10,top:10,bottom:10}
     */
    symbolMargin?: MarginModel;
    /**
     * Defines whether the symbols can be dragged from palette or not
     *
     * @default true
     */
    allowDrag?: boolean;
    /**
     * Defines the size and position of the symbol preview
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    symbolPreview?: SymbolPreviewModel;
    /**
     * Defines the size of a drop symbol
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    symbolDragSize?: SymbolDragSizeModel;
    /**
     * Enables/Disables search option in symbol palette
     *
     * @default false
     */
    enableSearch?: boolean;
    /**
     * Enables/Disables animation when the palette header is expanded/collapsed
     *
     */
    enableAnimation?: boolean;
    /**
     * Defines how many palettes can be at expanded mode at a time
     *
     * @default 'Multiple'
     * @aspDefaultValueIgnore
     * @isEnumeration true
     */
    expandMode?: navigations.ExpandMode;
    /**
     * Triggers after the selection changes in the symbol palette
     *
     * @event
     */
    paletteSelectionChange?: base.EmitType<IPaletteSelectionChangeArgs>;
    /**
     * Triggers when the icon is expanded
     *
     * @event
     */
    paletteExpanding?: base.EmitType<IPaletteExpandArgs>;
    /**
     * Helps to return the default properties of node
     *
     * @deprecated
     */
    getNodeDefaults?: Function | string;
    /**
     * Helps to return the default properties of node
     *
     */
    nodeDefaults?: NodeModel;
    /**
     * Helps to return the default properties of connector
     *
     * @deprecated
     */
    getConnectorDefaults?: Function | string;
    /**
     * Helps to return the default properties of connectors
     *
     */
    connectorDefaults?: ConnectorModel;
}
//node_modules/@syncfusion/ej2-diagrams/src/symbol-palette/symbol-palette.d.ts
/**
 * A palette allows to display a group of related symbols and it textually annotates the group with its header.
 */
export  class Palette extends base.ChildProperty<Palette> {
    /**
     * Defines the unique id of a symbol group
     *
     * @default ''
     */
    id: string;
    /**
     * Sets the height of the symbol group
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    height: number;
    /**
     * Sets whether the palette items to be expanded or not
     *
     * @default true
     */
    expanded: boolean;
    /**
     * Defines the content of the symbol group
     *
     * @default ''
     */
    iconCss: string;
    /**
     * Defines the title of the symbol group
     *
     * @default ''
     */
    title: string;
    /**
     * Defines the collection of predefined symbols
     *
     * @aspType object
     */
    symbols: (NodeModel | ConnectorModel)[];
    /** @private */
    isInteraction: boolean;
    constructor(parent: any, propName: string, defaultValue: Object, isArray?: boolean);
}
/**
 * customize the drag size of the individual palette items.
 */
export  class SymbolDragSize extends base.ChildProperty<SymbolDragSize> {
    /**
     * Sets the drag width of the symbols
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    width: number;
    /**
     * Sets the drag height of the symbols
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    height: number;
}
/**
 * customize the preview size and position of the individual palette items.
 */
export  class SymbolPreview extends base.ChildProperty<SymbolPreview> {
    /**
     * Sets the preview width of the symbols
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    width: number;
    /**
     * Sets the preview height of the symbols
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    height: number;
    /**
     * Defines the distance to be left between the cursor and symbol
     *
     * @default {}
     */
    offset: PointModel;
}
/**
 * Represents the Symbol Palette base.Component.
 * ```html
 * <div id="symbolpalette"></div>
 * <script>
 *  var palette = new SymbolPalatte({ allowDrag:true });
 *  palette.appendTo("#symbolpalette");
 * </script>
 * ```
 */
/**
 * The symbol palette control allows to predefine the frequently used nodes and connectors
 * and to drag and drop those nodes/connectors to drawing area
 */
export  class SymbolPalette extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    /**
     * Configures the key, when it pressed the symbol palette will be focused
     *
     * @default 'S'
     */
    accessKey: string;
    /**
     * Defines the width of the symbol palette
     *
     * @default '100%'
     */
    width: string | number;
    /**
     * Defines the height of the symbol palette
     *
     * @default '100%'
     */
    height: string | number;
    /**
     * Defines the collection of symbol groups
     *
     * @default []
     */
    palettes: PaletteModel[];
    /**
     * Defines the size, appearance and description of a symbol
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    /**
     * ```html
     * <div id="symbolpalette"></div>
     *  ```
     * ```typescript
     * let palette$: SymbolPalette = new SymbolPalette({
     *   expandMode: 'Multiple',
     *   palettes: [
     *       { id: 'flow', expanded: false, symbols: getFlowShapes(), title: 'Flow Shapes' },
     *   ],
     *   width: '100%', height: '100%', symbolHeight: 50, symbolWidth: 50,
     *   symbolPreview: { height: 100, width: 100 },
     *   enableSearch: true,
     *   getNodeDefaults: setPaletteNodeDefaults,
     *   symbolMargin: { left: 12, right: 12, top: 12, bottom: 12 },
     *   getSymbolInfo: (symbol: NodeModel): SymbolInfo => {
     *       return { fit: true };
     *   }
     * });
     * palette.appendTo('#symbolpalette');
     * export function getFlowShapes(): NodeModel[] {
     *   let flowShapes$: NodeModel[] = [
     *       { id: 'Terminator', shape: { type: 'Flow', shape: 'Terminator' }, style: { strokeWidth: 2 } },
     *       { id: 'Process', shape: { type: 'Flow', shape: 'Process' }, style: { strokeWidth: 2 } },
     *       { id: 'Decision', shape: { type: 'Flow', shape: 'Decision' }, style: { strokeWidth: 2 } }
     *   ];
     *   return flowShapes;
     * }
     * function setPaletteNodeDefaults(node: NodeModel): void {
     * if (node.id === 'Terminator' || node.id === 'Process') {
     *   node.width = 130;
     *   node.height = 65;
     * } else {
     *   node.width = 50;
     *   node.height = 50;
     * }
     * node.style.strokeColor = '#3A3A3A';
     * }
     * ```
     *
     * @deprecated
     */
    getSymbolInfo: Function | string;
    /**
     * Defines the size, appearance and description of a symbol
     *
     */
    symbolInfo: SymbolInfo;
    /**
     * Defines the symbols to be added in search palette
     *
     * @aspDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    filterSymbols: Function | string;
    /**
     * Defines the symbols to be added in search palette
     *
     */
    ignoreSymbolsOnSearch: string[];
    /**
     * Defines the content of a symbol
     *
     * @aspDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    getSymbolTemplate: Function | string;
    /**
     * Defines the width of the symbol
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    symbolWidth: number;
    /**
     * Defines the height of the symbol
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    symbolHeight: number;
    /**
     * Defines the space to be left around a symbol
     *
     * @default {left:10,right:10,top:10,bottom:10}
     */
    symbolMargin: MarginModel;
    /**
     * Defines whether the symbols can be dragged from palette or not
     *
     * @default true
     */
    allowDrag: boolean;
    /**
     * Defines the size and position of the symbol preview
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    symbolPreview: SymbolPreviewModel;
    /**
     * Defines the size of a drop symbol
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    symbolDragSize: SymbolDragSizeModel;
    /**
     * Enables/Disables search option in symbol palette
     *
     * @default false
     */
    enableSearch: boolean;
    /**
     * Enables/Disables animation when the palette header is expanded/collapsed
     *
     */
    enableAnimation: boolean;
    /**
     * Defines how many palettes can be at expanded mode at a time
     *
     * @default 'Multiple'
     * @aspDefaultValueIgnore
     * @isEnumeration true
     */
    expandMode: navigations.ExpandMode;
    /**
     * Triggers after the selection changes in the symbol palette
     *
     * @event
     */
    paletteSelectionChange: base.EmitType<IPaletteSelectionChangeArgs>;
    /**
     * Triggers when the icon is expanded
     *
     * @event
     */
    paletteExpanding: base.EmitType<IPaletteExpandArgs>;
    /**
     * `bpmnModule` is used to add built-in BPMN Shapes to diagrams
     *
     * @private
     */
    bpmnModule: BpmnDiagrams;
    /**
     * Helps to return the default properties of node
     *
     * @deprecated
     */
    getNodeDefaults: Function | string;
    /**
     * Helps to return the default properties of node
     *
     */
    nodeDefaults: NodeModel;
    /**
     * Helps to return the default properties of connector
     *
     * @deprecated
     */
    getConnectorDefaults: Function | string;
    /**
     * Helps to return the default properties of connectors
     *
     */
    connectorDefaults: ConnectorModel;
    /** @private */
    selectedSymbols: NodeModel | ConnectorModel;
    /**   @private  */
    symbolTable: {};
    /**   @private  */
    childTable: {};
    private diagramRenderer;
    private svgRenderer;
    private accordionElement;
    private highlightedSymbol;
    private selectedSymbol;
    private info;
    private oldObject;
    private timer;
    private draggable;
    private laneTable;
    private isExpand;
    private isExpandMode;
    private isMethod;
    private paletteid;
    private checkOnRender;
    private l10n;
    /**
     *  Constructor for creating the symbol palette base.Component
     *
     * @param {SymbolPaletteModel} options The symbol palette model.
     * @param {string | HTMLElement} element The symbol palette element.
     */
    constructor(options?: SymbolPaletteModel, element?: Element);
    /**
     * Refreshes the panel when the symbol palette properties are updated\
     *
     * @returns {  void}    Refreshes the panel when the symbol palette properties are updated .\
     * @param {SymbolPaletteModel} newProp - Defines the new values of the changed properties.
     * @param {SymbolPaletteModel} oldProp - Defines the old values of the changed properties.
     */
    onPropertyChanged(newProp: SymbolPaletteModel, oldProp: SymbolPaletteModel): void;
    /**
     * updateBlazorProperties method\
     *
     * @returns {void}    updateBlazorProperties method .\
     * @param {SymbolPaletteModel} newProp - provide the scale value.
     *
     * @private
     */
    updateBlazorProperties(newProp: SymbolPaletteModel): void;
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @returns {string}  Get the properties to be maintained in the persisted state.
     */
    getPersistData(): string;
    /**
     * Initializes the values of private members.
     *
     * @returns {void}  Initializes the values of private members.
     * @private
     */
    protected preRender(): void;
    /**
     * EJ2-61531- Localization support for the symbol palette search box placeholder.
     * @returns defaultLocale
     */
    private defaultLocale;
    /**
     * Renders the rulers.
     *
     * @returns {void}  Renders the rulers.
     * @private
     */
    render(): void;
    /**
     * Core method to return the component name.
     *
     * @returns {string}  Core method to return the component name.
     * @private
     */
    getModuleName(): string;
    /**
     * To provide the array of modules needed for control rendering.
     *
     * @returns {base.ModuleDeclaration[]}  To provide the array of modules needed for control rendering .
     * @private
     */
    requiredModules(): base.ModuleDeclaration[];
    /**
     *To destroy the ruler
     *
     * @returns {void} To destroy the ruler
     */
    destroy(): void;
    /**
     * Add particular palettes to symbol palette at runtime.\
     *
     * @returns {  void}    Refreshes the ruler when the Ruler properties are updated .\
     * @param { PaletteModel[]} palettes -Defines the collection of palettes to be added.
     */
    addPalettes(palettes: PaletteModel[]): void;
    /**
     * removePalette method\
     *
     * @returns {void}    removePalette method .\
     * @param {string} paletteId - provide the scale value.
     *
     * @private
     */
    removePalette(paletteId: string): void;
    /**
     * Remove particular palettes to symbol palette at runtime \
     *
     * @returns {void}   Remove particular palettes to symbol palette at runtime .\
     * @param {string[]} palettes - provide the scale value.
     */
    removePalettes(palettes: string[]): void;
    /**
     * Method to initialize the items in the symbols \
     *
     * @returns {void}    Method to initialize the items in the symbols .\
     * @param {PaletteModel} symbolGroup - provide the scale value.
     *
     */
    private initSymbols;
    private renderPalette;
    /**
     * Used to add the palette item as nodes or connectors in palettes \
     *
     * @returns {void}    Used to add the palette item as nodes or connectors in palettes .\
     * @param {string} paletteName - provide the scale value.
     * @param {NodeModel | ConnectorModel} paletteSymbol - provide the scale value.
     * @param {boolean} isChild - provide the scale value.
     */
    addPaletteItem(paletteName: string, paletteSymbol: NodeModel | ConnectorModel, isChild?: boolean): void;
    /**
     * Used to remove the palette item as nodes or connectors in palettes \
     *
     * @returns {void}    Used to remove the palette item as nodes or connectors in palettes .\
     * @param {string} paletteName - provide the scale value.
     * @param {string} symbolId - provide the scale value.
     */
    removePaletteItem(paletteName: string, symbolId: string): void;
    private prepareSymbol;
    private getBlazorSymbolInfo;
    private getContainer;
    /**
    * Feature [EJ2- 47318] - Support for the change of the symbol description
    * Feature [EJ2- 50705] - Support to add margin between the text and symbols
    */
    private getSymbolDescription;
    private renderSymbols;
    private getSymbolPreview;
    private measureAndArrangeSymbol;
    private updateSymbolSize;
    private getSymbolContainer;
    private getGroupParent;
    private getHtmlSymbol;
    private getSymbolSize;
    private getMousePosition;
    private mouseMove;
    private mouseUp;
    private keyUp;
    private mouseDown;
    private keyDown;
    private initDraggable;
    private helper;
    private dragStart;
    private dragStop;
    private scaleSymbol;
    private scaleChildren;
    private measureChild;
    private scaleGroup;
    private refreshPalettes;
    private updatePalettes;
    private createTextbox;
    private getFilterSymbol;
    private searchPalette;
    private createSearchPalette;
    private wireEvents;
    private unWireEvents;
}
/**
 * Defines the size and description of a symbol
 */
export interface SymbolInfo {
    /**
     * Defines the width of the symbol to be drawn over the palette
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    width?: number;
    /**
     * Defines the height of the symbol to be drawn over the palette
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    height?: number;
    /**
     * Defines whether the symbol has to be fit inside the size, that is defined by the symbol palette
     *
     * @default true
     */
    fit?: boolean;
    /**
     * Define the template of the symbol that is to be drawn over the palette
     *
     * @default null
     */
    template?: DiagramElement;
    /**
     * Define the text to be displayed and how that is to be handled.
     *
     * @default null
     */
    description?: SymbolDescription;
    /**
     * Define the text to be displayed when mouse hover on the shape.
     *
     * @default ''
     */
    tooltip?: string;
}
/**
 * Defines the textual description of a symbol
 */
export interface SymbolDescription {
    /**
     * Defines the symbol description
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    text?: string;
    /**
     * Defines how to handle the text when its size exceeds the given symbol size
     * * Wrap - Wraps the text to next line, when it exceeds its bounds
     * * Ellipsis - It truncates the overflown text and represents the clipping with an ellipsis
     * * Clip - It clips the overflow text
     *
     * @default ellipsis
     */
    overflow?: TextOverflow;
    /**
     * Defines how to wrap the text
     * * WrapWithOverflow - Wraps the text so that no word is broken
     * * Wrap - Wraps the text and breaks the word, if necessary
     * * NoWrap - Text will no be wrapped
     *
     * @default Wrap
     */
    wrap?: TextWrap;
    /**
     * Sets the font color of a text
     *
     * @default 'black'
     */
    color?: string;
    /**
     * Sets the fill color of a shape/path
     *
     * @default 'white'
     */
    fill?: string;
    /**
     * Sets the font type of a text
     *
     * @default 'Arial'
     */
    fontFamily?: string;
    /**
     * Defines the font size of a text
     *
     * @default 12
     */
    fontSize?: number;
    /**
     * Enables/disables the bold style of text
     *
     * @default false
     */
    bold?: boolean;
    /**
     * Enables/disables the italic style of text
     *
     * @default false
     */
    italic?: boolean;
    /**
     * Defines how the text should be decorated. For example, with underline/over line
     * * Overline - Decorates the text with a line above the text
     * * Underline - Decorates the text with an underline
     * * LineThrough - Decorates the text by striking it with a line
     * * None - Text will not have any specific decoration
     *
     * @default 'None'
     */
    textDecoration?: TextDecoration;
    /**
     * Sets/Gets the margin of the element
     * The margin top and bottom alone works for the symbol description
     */
    margin?: MarginModel;
}
 }
export namespace documenteditor { 

//node_modules/@syncfusion/ej2-documenteditor/src/document-editor-container/document-editor-container-model.d.ts
/**
 * Interface for a class DocumentEditorContainer
 */
export interface DocumentEditorContainerModel extends base.ComponentModel{
    /**
     * Show or hide properties pane.
     *
     * @default true
     */
    showPropertiesPane?: boolean;
    /**
     * Enable or disable toolbar in document editor container.
     *
     * @default true
     */
    enableToolbar?: boolean;
    /**
     * Restrict editing operation.
     *
     * @default false
     */
    restrictEditing?: boolean;
    /**
     * Enable or disable spell checker in document editor container.
     *
     * @default false
     */
    enableSpellCheck?: boolean;
    /**
     * Enable or disable track changes in document editor container.
     *
     * @default false
     */
    enableTrackChanges?: boolean;
    /**
     * Layout Type
     *
     * @default Pages
     */
    layoutType?: LayoutType;
    /**
     * Gets or sets the current user.
     *
     * @default ''
     */
    currentUser?: string;
    /**
     * Gets or sets the color used for highlighting the editable ranges or regions of the `currentUser` in Document Editor. The default value is "#FFFF00".
     * > If the visibility of text affected due this highlight color matching with random color applied for the track changes, then modify the color value of this property to resolve text visibility problem.
     *
     * @default '#FFFF00'
     */
    userColor?: string;
    /**
     * Enable local paste
     *
     * @default false
     */
    enableLocalPaste?: boolean;
    /**
     * Sfdt service URL.
     *
     * @default ''
     */
    serviceUrl?: string;
    /**
     * Specifies the z-order for rendering that determines whether the dialog is displayed in front or behind of another component.
     *
     * @default 2000
     * @aspType int
     */
    zIndex?: number;
    /**
     * Enable rendering with strict Content Security policy.
     */
    enableCsp?: boolean;
    /**
     * Gets or set a value indicating whether comment is enabled or not
     *
     * @default true
     */
    enableComment?: boolean;
    /**
     * Defines the width of the DocumentEditorContainer component
     *
     * @default '100%'
     */
    width?: string;
    /**
     * Defines the height of the DocumentEditorContainer component
     *
     * @default '320px'
     */
    height?: string;
    /**
     * Enable partial lock and edit module.
     *
     * @default false
     */
    enableLockAndEdit?: boolean;
    /**
     * Triggers when the component is created
     *
     * @event created
     */
    created?: base.EmitType<Object>;
    /**
     * Triggers when the component is destroyed.
     *
     * @event destroyed
     */
    destroyed?: base.EmitType<Object>;
    /**
     * Triggers whenever the content changes in the document editor container.
     *
     * @event contentChange
     */
    contentChange?: base.EmitType<ContainerContentChangeEventArgs>;
    /**
     * Triggers whenever selection changes in the document editor container.
     *
     * @event selectionChange
     */
    selectionChange?: base.EmitType<ContainerSelectionChangeEventArgs>;
    /**
     * Triggers whenever document changes in the document editor container.
     *
     * @event documentChange
     */
    documentChange?: base.EmitType<ContainerDocumentChangeEventArgs>;
    /**
     * Triggers when toolbar item is clicked.
     *
     * @event toolbarClick
     */
    toolbarClick?: base.EmitType<navigations.ClickEventArgs>;
    /**
     * Triggers while selecting the custom context-menu option.
     *
     * @event customContextMenuSelect
     */
    customContextMenuSelect?: base.EmitType<CustomContentMenuEventArgs>;
    /**
     * Triggers before opening the custom context-menu option.
     *
     * @event customContextMenuBeforeOpen
     */
    customContextMenuBeforeOpen?: base.EmitType<BeforeOpenCloseCustomContentMenuEventArgs>;
    /**
     * Trigger before switching panes in DocumentEditor.
     *
     * @event beforePaneSwitch
     */
    beforePaneSwitch?: base.EmitType<BeforePaneSwitchEventArgs>;
    /**
     * Triggers on deleting a comment.
     *
     * @event commentDelete
     */
    commentDelete?: base.EmitType<CommentDeleteEventArgs>;
    /**
     * Triggers on comment actions(Post, edit, reply, resolve, reopen).
     *
     * @event beforeCommentAction
     */
    beforeCommentAction?: base.EmitType<CommentActionEventArgs>;
    /**
     * Triggers when the server action fails.
     *
     * @event serviceFailure
     */
    serviceFailure?: base.EmitType<ServiceFailureArgs>;
    /**
     * Triggers Keyboard shortcut of TrackChanges.
     *
     * @event trackChange
     */
    trackChange?: base.EmitType<TrackChangeEventArgs>;
    /**
     * Triggers when user interaction prevented in content control.
     *
     * @event contentControl
     */
    contentControl?: base.EmitType<Object>;
    /**
     * This event is triggered before a server request is started, allows you to modify the XMLHttpRequest object (setting additional headers, if needed).
     */
    beforeXmlHttpRequestSend?: base.EmitType<XmlHttpRequestEventArgs>;
    /**
     * Defines the settings for DocumentEditor customization.
     *
     * @default {}
     */
    documentEditorSettings?: DocumentEditorSettingsModel;
    /**
    * Gets the settings and properties of the document that is opened in Document editor component.
    *
    * @default {}
    */
    documentSettings?: DocumentSettingsModel;
    /**
     * Defines the settings of the DocumentEditorContainer service.
     */
    serverActionSettings?: ContainerServerActionSettingsModel;
    /**
     * Defines toolbar items for DocumentEditorContainer.
     *
     * @default ['New','Open','Separator','Undo','Redo','Separator','Image','Table','Hyperlink','Bookmark','TableOfContents','Separator','Header','Footer','PageSetup','PageNumber','Break','InsertFootnote','InsertEndnote','Separator','Find','Separator','Comments','TrackChanges','LocalClipboard','RestrictEditing','Separator','FormFields','UpdateFields']
     */
    toolbarItems?: (CustomToolbarItemModel | ToolbarItem)[];
    /**
     * Add custom headers to XMLHttpRequest.
     *
     * @default []
     */
    headers?: object[];
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor-container/document-editor-container.d.ts
/**
 * Document Editor container component.
 */
export  class DocumentEditorContainer extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    /**
     * Show or hide properties pane.
     *
     * @default true
     */
    showPropertiesPane: boolean;
    /**
     * Enable or disable toolbar in document editor container.
     *
     * @default true
     */
    enableToolbar: boolean;
    /**
     * Restrict editing operation.
     *
     * @default false
     */
    restrictEditing: boolean;
    /**
     * Enable or disable spell checker in document editor container.
     *
     * @default false
     */
    enableSpellCheck: boolean;
    /**
     * Enable or disable track changes in document editor container.
     *
     * @default false
     */
    enableTrackChanges: boolean;
    /**
     * Layout Type
     *
     * @default Pages
     */
    layoutType: LayoutType;
    /**
     * Gets or sets the current user.
     *
     * @default ''
     */
    currentUser: string;
    /**
     * Gets or sets the color used for highlighting the editable ranges or regions of the `currentUser` in Document Editor. The default value is "#FFFF00".
     * > If the visibility of text affected due this highlight color matching with random color applied for the track changes, then modify the color value of this property to resolve text visibility problem.
     *
     * @default '#FFFF00'
     */
    userColor: string;
    /**
     * Enable local paste
     *
     * @default false
     */
    enableLocalPaste: boolean;
    /**
     * Sfdt service URL.
     *
     * @default ''
     */
    serviceUrl: string;
    /**
     * Specifies the z-order for rendering that determines whether the dialog is displayed in front or behind of another component.
     *
     * @default 2000
     * @aspType int
     */
    zIndex: number;
    /**
     * Enable rendering with strict Content Security policy.
     */
    enableCsp: boolean;
    /**
     * Gets or set a value indicating whether comment is enabled or not
     *
     * @default true
     */
    enableComment: boolean;
    /**
     * Defines the width of the DocumentEditorContainer component
     *
     * @default '100%'
     */
    width: string;
    /**
     * Defines the height of the DocumentEditorContainer component
     *
     * @default '320px'
     */
    height: string;
    /**
     * Enable partial lock and edit module.
     *
     * @default false
     */
    enableLockAndEdit: boolean;
    /**
     * Triggers when the component is created
     *
     * @event created
     */
    created: base.EmitType<Object>;
    /**
     * Triggers when the component is destroyed.
     *
     * @event destroyed
     */
    destroyed: base.EmitType<Object>;
    /**
     * Triggers whenever the content changes in the document editor container.
     *
     * @event contentChange
     */
    contentChange: base.EmitType<ContainerContentChangeEventArgs>;
    /**
     * Triggers whenever selection changes in the document editor container.
     *
     * @event selectionChange
     */
    selectionChange: base.EmitType<ContainerSelectionChangeEventArgs>;
    /**
     * Triggers whenever document changes in the document editor container.
     *
     * @event documentChange
     */
    documentChange: base.EmitType<ContainerDocumentChangeEventArgs>;
    /**
     * Triggers when toolbar item is clicked.
     *
     * @event toolbarClick
     */
    toolbarClick: base.EmitType<navigations.ClickEventArgs>;
    /**
     * Triggers while selecting the custom context-menu option.
     *
     * @event customContextMenuSelect
     */
    customContextMenuSelect: base.EmitType<CustomContentMenuEventArgs>;
    /**
     * Triggers before opening the custom context-menu option.
     *
     * @event customContextMenuBeforeOpen
     */
    customContextMenuBeforeOpen: base.EmitType<BeforeOpenCloseCustomContentMenuEventArgs>;
    /**
     * Trigger before switching panes in DocumentEditor.
     *
     * @event beforePaneSwitch
     */
    beforePaneSwitch: base.EmitType<BeforePaneSwitchEventArgs>;
    /**
     * Triggers on deleting a comment.
     *
     * @event commentDelete
     */
    commentDelete: base.EmitType<CommentDeleteEventArgs>;
    /**
     * Triggers on comment actions(Post, edit, reply, resolve, reopen).
     *
     * @event beforeCommentAction
     */
    beforeCommentAction: base.EmitType<CommentActionEventArgs>;
    /**
     * Triggers when the server action fails.
     *
     * @event serviceFailure
     */
    serviceFailure: base.EmitType<ServiceFailureArgs>;
    /**
     * Triggers Keyboard shortcut of TrackChanges.
     *
     * @event trackChange
     */
    trackChange: base.EmitType<TrackChangeEventArgs>;
    /**
     * Triggers when user interaction prevented in content control.
     *
     * @event contentControl
     */
    contentControl: base.EmitType<Object>;
    /**
     * This event is triggered before a server request is started, allows you to modify the XMLHttpRequest object (setting additional headers, if needed).
     */
    beforeXmlHttpRequestSend: base.EmitType<XmlHttpRequestEventArgs>;
    /**
     * Document editor container's toolbar module
     *
     * @private
     */
    toolbarModule: Toolbar;
    /**
     * @private
     */
    localObj: base.L10n;
    /**
     * Document Editor instance
     */
    private documentEditorInternal;
    /**
     * @private
     */
    toolbarContainer: HTMLElement;
    /**
     * @private
     */
    editorContainer: HTMLElement;
    /**
     * @private
     */
    propertiesPaneContainer: HTMLElement;
    /**
     * @private
     */
    statusBarElement: HTMLElement;
    /**
     * Header footer Properties
     *
     * @private
     */
    headerFooterProperties: HeaderFooterProperties;
    /**
     * Image Properties Pane
     *
     * @private
     */
    imageProperties: ImageProperties;
    /**
     * @private
     */
    tocProperties: TocProperties;
    /**
     * @private
     */
    tableProperties: TableProperties;
    /**
     * @private
     */
    statusBar: StatusBar;
    /**
     * @private
     */
    containerTarget: HTMLElement;
    /**
     * @private
     */
    previousContext: string;
    /**
     * @private
     */
    characterFormat: CharacterFormatProperties;
    /**
     * @private
     */
    paragraphFormat: ParagraphFormatProperties;
    /**
     * @private
     */
    sectionFormat: SectionFormatProperties;
    /**
     * @private
     */
    showHeaderProperties: boolean;
    /**
     * Defines the settings for DocumentEditor customization.
     *
     * @default {}
     */
    documentEditorSettings: DocumentEditorSettingsModel;
    /**
    * Gets the settings and properties of the document that is opened in Document editor component.
    *
    * @default {}
    */
    documentSettings: DocumentSettingsModel;
    /**
     * Defines the settings of the DocumentEditorContainer service.
     */
    serverActionSettings: ContainerServerActionSettingsModel;
    /**
     * Defines toolbar items for DocumentEditorContainer.
     *
     * @default ['New','Open','Separator','Undo','Redo','Separator','Image','Table','Hyperlink','Bookmark','TableOfContents','Separator','Header','Footer','PageSetup','PageNumber','Break','InsertFootnote','InsertEndnote','Separator','Find','Separator','Comments','TrackChanges','LocalClipboard','RestrictEditing','Separator','FormFields','UpdateFields']
     */
    toolbarItems: (CustomToolbarItemModel | ToolbarItem)[];
    /**
     * Add custom headers to XMLHttpRequest.
     *
     * @default []
     */
    headers: object[];
    /**
     * Gets DocumentEditor instance.
     *
     * @aspType DocumentEditor
     * @returns {DocumentEditor} - Returns the DocumentEditor instance.
     */
    readonly documentEditor: DocumentEditor;
    /**
     * Gets toolbar instance.
     *
     * @returns {Toolbar} - Returns toolbar module.
     */
    readonly toolbar: Toolbar;
    /**
     * Initialize the constructor of DocumentEditorContainer
     *
     * @param { DocumentEditorContainerModel } options - Specified DocumentEditorContainer model as options.
     * @param { string | HTMLElement }element - Specifies the element that is rendered as a DocumentEditorContainer.
     */
    constructor(options?: DocumentEditorContainerModel, element?: string | HTMLElement);
    /**
     * default locale
     *
     * @private
     */
    defaultLocale: Object;
    getModuleName(): string;
    /**
     * @private
     */
    onPropertyChanged(newModel: DocumentEditorContainerModel, oldModel: DocumentEditorContainerModel): void;
    /**
     * @private
     */
    protected preRender(): void;
    /**
     * @private
     */
    protected render(): void;
    private restrictEditingToggleHelper;
    private setFormat;
    private setserverActionSettings;
    private customizeDocumentEditorSettings;
    /**
     * @private
     */
    getPersistData(): string;
    protected requiredModules(): base.ModuleDeclaration[];
    private initContainerElement;
    private createToolbarContainer;
    private initializeDocumentEditor;
    private wireEvents;
    private unWireEvents;
    private onCommentBegin;
    private onCommentEnd;
    private beforeXmlHttpSend;
    private onCommentDelete;
    private onCommentAction;
    private onTrackChange;
    private onBeforePaneSwitch;
    /**
     * @private
     */
    private fireServiceFailure;
    /**
     * @private
     */
    showHidePropertiesPane(show: boolean): void;
    private updateStyleCollection;
    /**
     * Resizes the container component and its sub elements based on given size or client size.
     * @param width
     * @param height
     */
    resize(width?: number, height?: number): void;
    /**
     * @private
     */
    onContentChange(): void;
    /**
     * @private
     */
    onDocumentChange(): void;
    /**
     * @private
     */
    onSelectionChange(): void;
    /**
     * @private
     */
    private onZoomFactorChange;
    private updateShowHiddenMarks;
    /**
     * @private
     */
    private onRequestNavigate;
    /**
     * @private
     */
    private onViewChange;
    /**
     * @private
     */
    private onCustomContextMenuSelect;
    /**
     * @private
     */
    private onCustomContextMenuBeforeOpen;
    /**
     * @private
     */
    showPropertiesPaneOnSelection(): void;
    /**
     * @private
     * @param property
     */
    showProperties(property: string): void;
    /**
     * Set the default character format for document editor container
     * @param characterFormat
     */
    setDefaultCharacterFormat(characterFormat: CharacterFormatProperties): void;
    /**
     * Set the default paragraph format for document editor container
     * @param paragraphFormat
     */
    setDefaultParagraphFormat(paragraphFormat: ParagraphFormatProperties): void;
    /**
     * Set the default section format for document editor container
     * @param sectionFormat
     */
    setDefaultSectionFormat(sectionFormat: SectionFormatProperties): void;
    /**
     * Destroys all managed resources used by this object.
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor-container/index.d.ts
/**
 * export document editor container
 */
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor-container/properties-pane/header-footer-pane.d.ts
/**
 * Represents document editor header and footer.
 */
/**
 * @private
 */
export  class HeaderFooterProperties {
    element: HTMLElement;
    private container;
    private firstPage;
    private oddOrEven;
    private pageNumber;
    private pageCount;
    private headerFromTop;
    private footerFromTop;
    private isHeaderTopApply;
    private isFooterTopApply;
    private isRtl;
    private readonly documentEditor;
    private readonly toolbar;
    /**
     * @private
     * @param {boolean} enable - enable/disable header footer pane.
     * @returns {void}
     */
    enableDisableElements(enable: boolean): void;
    constructor(container: DocumentEditorContainer, isRtl?: boolean);
    initHeaderFooterPane(): void;
    showHeaderFooterPane(isShow: boolean): void;
    private initializeHeaderFooter;
    private createDivTemplate;
    private wireEvents;
    private onClose;
    private changeFirstPageOptions;
    private changeoddOrEvenOptions;
    private changeHeaderValue;
    private onHeaderValue;
    private onFooterValue;
    private changeFooterValue;
    onSelectionChange(): void;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor-container/properties-pane/image-properties-pane.d.ts
/**
 * Image Property pane
 *
 * @private
 */
export  class ImageProperties {
    private container;
    private elementId;
    element: HTMLElement;
    private widthElement;
    private heightElement;
    private widthNumericBox;
    private heightNumericBox;
    private aspectRatioBtn;
    private isMaintainAspectRatio;
    private isWidthApply;
    private isHeightApply;
    private isRtl;
    private readonly documentEditor;
    constructor(container: DocumentEditorContainer, isRtl?: boolean);
    /**
     * @private
     * @param {boolean} enable - enable/disable image properties pane.
     * @returns {void}
     */
    enableDisableElements(enable: boolean): void;
    private initializeImageProperties;
    private initImageProp;
    private createImagePropertiesDiv;
    wireEvents(): void;
    private onImageWidth;
    private onImageHeight;
    private applyImageWidth;
    private applyImageHeight;
    private onAspectRatioBtnClick;
    showImageProperties(isShow: boolean): void;
    updateImageProperties(): void;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor-container/properties-pane/paragraph-properties.d.ts
/**
 * Paragraph Properties
 *
 * @private
 */
export  class Paragraph {
    private container;
    private textProperties;
    private leftAlignment;
    private rightAlignment;
    private centerAlignment;
    private justify;
    private increaseIndent;
    private decreaseIndent;
    private showHiddenMarks;
    private showHiddenMarksBtn;
    private leftAlignmentBtn;
    private rightAlignmentBtn;
    private centerAlignmentBtn;
    private justifyBtn;
    private increaseIndentBtn;
    private decreaseIndentBtn;
    private lineSpacing;
    private style;
    private isRetrieving;
    private styleName;
    appliedBulletStyle: string;
    appliedNumberingStyle: string;
    appliedLineSpacing: string;
    private noneNumberTag;
    private numberList;
    private lowLetter;
    private upLetter;
    private lowRoman;
    private upRoman;
    private noneBulletTag;
    private dotBullet;
    private circleBullet;
    private squareBullet;
    private flowerBullet;
    private arrowBullet;
    private tickBullet;
    localObj: base.L10n;
    private isRtl;
    private splitButtonClass;
    private bulletListBtn;
    private numberedListBtn;
    private borders;
    private bordersBtn;
    private readonly documentEditor;
    constructor(container: DocumentEditorContainer);
    initializeParagraphPropertiesDiv(wholeDiv: HTMLElement, isRtl?: boolean): void;
    private createSeparator;
    private createDivElement;
    private createButtonTemplate;
    private createLineSpacingDropdown;
    private createNumberListDropButton;
    private updateSelectedBulletListType;
    private updateSelectedNumberedListType;
    private removeSelectedList;
    /**
     * @private
     */
    applyLastAppliedNumbering(): void;
    private applyLastAppliedBullet;
    private createBulletListDropButton;
    private createNumberListTag;
    private createNumberNoneListTag;
    private createBulletListTag;
    private createStyleDropDownList;
    private updateOptions;
    updateStyleNames(): void;
    private createStyle;
    private constructStyleDropItems;
    private parseStyle;
    wireEvent(): void;
    unwireEvents(): void;
    /**
     * @private
     */
    toggleHiddenMarks(): void;
    private leftAlignmentAction;
    private lineSpacingAction;
    private setLineSpacing;
    private selectStyleValue;
    private applyStyleValue;
    private rightAlignmentAction;
    private centerAlignmentAction;
    private justifyAction;
    private increaseIndentAction;
    private decreaseIndentAction;
    private numberedNoneClick;
    private numberedNumberDotClick;
    private numberedUpRomanClick;
    private numberedUpLetterClick;
    private numberedLowLetterClick;
    private numberedLowRomanClick;
    private getLevelFormatNumber;
    private bulletDotClick;
    private bulletCircleClick;
    private bulletSquareClick;
    private bulletFlowerClick;
    private bulletArrowClick;
    private bulletTickClick;
    onSelectionChange(): void;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor-container/properties-pane/status-bar.d.ts
/**
 * Represents document editor status bar.
 *
 * @private
 */
export  class StatusBar {
    private container;
    private statusBarDiv;
    private pageCount;
    private zoom;
    private pageNumberInput;
    private editablePageNumber;
    startPage: number;
    localObj: base.L10n;
    private spellCheckButton;
    private currentLanguage;
    private allowSuggestion;
    private pageButton;
    private webButton;
    private pageBtn;
    private webBtn;
    private readonly documentEditor;
    private readonly editorPageCount;
    constructor(parentElement: HTMLElement, docEditor: DocumentEditorContainer);
    private initializeStatusBar;
    private addSpellCheckElement;
    private onZoom;
    private onSpellCheck;
    updateZoomContent(): void;
    private setSpellCheckValue;
    private setZoomValue;
    /**
     * Updates page count.
     *
     * @returns {void}
     */
    updatePageCount(): void;
    /**
     * Updates page number.
     *
     * @returns {void}
     */
    updatePageNumber(): void;
    updatePageNumberOnViewChange(args: ViewChangeEventArgs): void;
    private wireEvents;
    private updatePageNumberWidth;
    /**
     * @private
     * @returns {void}
     */
    toggleWebLayout(): void;
    /**
     * @private
     * @returns {void}
     */
    togglePageLayout(): void;
    private addRemoveClass;
    private createButtonTemplate;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor-container/properties-pane/table-of-content-pane.d.ts
/**
 * TOC Properties pane
 *
 * @private
 */
export  class TocProperties {
    private container;
    element: HTMLElement;
    private elementId;
    private template1Div;
    private showPageNumber;
    private rightalignPageNumber;
    private hyperlink;
    private borderBtn;
    private updateBtn;
    private cancelBtn;
    private borderLevelStyle;
    headerDiv: HTMLElement;
    private closeButton;
    private prevContext;
    localObj: base.L10n;
    private isRtl;
    private readonly documentEditor;
    private readonly toolbar;
    constructor(container: DocumentEditorContainer, isRtl?: boolean);
    /**
     * @private
     * @param {boolean} enable - enable/disable table of content pane.
     * @returns {void}
     */
    enableDisableElements(enable: boolean): void;
    private initializeTocPane;
    private updateTocProperties;
    private wireEvents;
    private onClose;
    private tocHeaderDiv;
    private initTemplates;
    private template1;
    private tocOptionsDiv;
    createDropDownButton(id: string, parentDiv: HTMLElement, iconCss: string, content: string[], selectedIndex: number): dropdowns.DropDownList;
    private contentStylesDropdown;
    private checkboxContent;
    private buttonDiv;
    showTocPane(isShow: boolean, previousContextType?: ContextType): void;
    private onInsertToc;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor-container/properties-pane/table-properties-pane.d.ts
/**
 * Represents table properties
 *
 * @private
 */
export  class TableProperties {
    private container;
    private tableProperties;
    propertiesTab: navigations.Tab;
    private elementId;
    tableTextProperties: TextProperties;
    imageProperty: ImageProperties;
    private shadingBtn;
    private borderBtn;
    private borderSize;
    private tableOutlineBorder;
    private tableAllBorder;
    private tableCenterBorder;
    private tableLeftBorder;
    private tableCenterVerticalBorder;
    private tableRightBorder;
    private tableTopBorder;
    private tableCenterHorizontalBorder;
    private tableBottomBorder;
    private horizontalMerge;
    private insertRowAbove;
    private insertRowBelow;
    private insertColumnLeft;
    private insertColumnRight;
    private deleteRow;
    private deleteColumn;
    private topMargin;
    private bottomMargin;
    private leftMargin;
    private rightMargin;
    private alignBottom;
    private alignCenterHorizontal;
    private alignTop;
    private borderSizeColorElement;
    element: HTMLElement;
    private prevContext;
    private isTopMarginApply;
    private isRightMarginApply;
    private isBottomMarginApply;
    private isLeftMarginApply;
    private borderColor;
    private parentElement;
    localObj: base.L10n;
    private isRtl;
    private groupButtonClass;
    private readonly documentEditor;
    constructor(container: DocumentEditorContainer, imageProperty: ImageProperties, isRtl?: boolean);
    private initializeTablePropPane;
    /**
     * @private
     * @param {boolean} enable - enable/disable table properties pane.
     * @returns {void}
     */
    enableDisableElements(enable: boolean): void;
    private addTablePropertyTab;
    private onTabSelection;
    private wireEvent;
    private getBorder;
    private onOutlineBorder;
    private onAllBorder;
    private onInsideBorder;
    private onLeftBorder;
    private onVerticalBorder;
    private onRightBorder;
    private onTopBorder;
    private onHorizontalBorder;
    private onBottomBorder;
    private onTopMargin;
    private onBottomMargin;
    private onLeftMargin;
    private onRightMargin;
    private applyTopMargin;
    private applyBottomMargin;
    private applyLeftMargin;
    private applyRightMargin;
    private applyAlignTop;
    private applyAlignBottom;
    private applyAlignCenterHorizontal;
    private onMergeCell;
    private onInsertRowAbove;
    private onInsertRowBelow;
    private onInsertColumnLeft;
    private onInsertColumnRight;
    private onDeleteRow;
    private onDeleteColumn;
    onSelectionChange(): void;
    private changeBackgroundColor;
    private initFillColorDiv;
    private initBorderStylesDiv;
    private initCellDiv;
    private initInsertOrDelCell;
    private initCellMargin;
    private initAlignText;
    private createCellMarginTextBox;
    private createBorderSizeDropDown;
    private onBorderSizeChange;
    private createDropdownOption;
    createDropDownButton(id: string, styles: string, parentDiv: HTMLElement, iconCss: string, content: string, items?: splitbuttons.ItemModel[], target?: HTMLElement): splitbuttons.DropDownButton;
    private createButtonTemplate;
    private createColorPickerTemplate;
    showTableProperties(isShow: boolean, propertyType: string): void;
    /**
     * @private
     */
    updateTabContainerHeight(): void;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor-container/properties-pane/text-properties-pane.d.ts
/**
 * Text Properties pane
 *
 * @private
 */
export  class TextProperties {
    element: HTMLElement;
    private container;
    private text;
    /**
     * @private
     */
    paragraph: Paragraph;
    private isInitial;
    private readonly documentEditor;
    /**
     * Initialize the Text properties pane.
     *
     * @param {DocumentEditorContainer} container DocumentEditorContainer instance.
     * @param {string} id Identifier element reference.
     * @param {boolean} isTableProperties Specified if text properties is inside the text properties.
     * @param {boolean} isRtl Specifies the RTL layout.
     */
    constructor(container: DocumentEditorContainer, id: string, isTableProperties: boolean, isRtl?: boolean);
    enableDisableElements(enable: boolean): void;
    updateStyles(): void;
    appliedHighlightColor: string;
    appliedBulletStyle: string;
    appliedNumberingStyle: string;
    showTextProperties(isShow: boolean): void;
    private initializeTextProperties;
    private generateUniqueID;
    wireEvents(): void;
    onSelectionChange(): void;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor-container/properties-pane/text-properties.d.ts
/**
 * Text Properties
 *
 * @private
 */
export  class Text {
    private container;
    private textProperties;
    private bold;
    private italic;
    private underline;
    private strikethrough;
    private subscript;
    private superscript;
    private boldBtn;
    private italicBtn;
    private underlineBtn;
    private strikethroughBtn;
    private subscriptBtn;
    private superscriptBtn;
    private clearFormatBtn;
    private fontColor;
    private highlightColor;
    private highlightColorElement;
    private fontColorInputElement;
    private highlightColorInputElement;
    private clearFormat;
    private fontSize;
    private fontFamily;
    private isRetrieving;
    appliedHighlightColor: string;
    localObj: base.L10n;
    private isRtl;
    private changeCaseDropdown;
    private readonly documentEditor;
    /**
     * Initialize text properties.
     *
     * @param {DocumentEditorContainer} container - DocumentEditorContainer instance.
     * @param {boolean} isRtl - Specifies the RTL layout.
     */
    constructor(container: DocumentEditorContainer, isRtl?: boolean);
    initializeTextPropertiesDiv(wholeDiv: HTMLElement, isRtl?: boolean): void;
    private createChangecase;
    private changeCase;
    private createHighlightColorSplitButton;
    private openPopup;
    private closePopup;
    private initializeHighlightColorElement;
    private createHightlighColorPickerDiv;
    private onHighLightColor;
    private applyHighlightColorAsBackground;
    private removeSelectedColorDiv;
    private applyHighlightColor;
    private getHighLightColor;
    private createDiv;
    private createButtonTemplate;
    private createFontColorPicker;
    private createDropDownListForSize;
    private createDropDownListForFamily;
    wireEvent(): void;
    unwireEvents(): void;
    private boldAction;
    private italicAction;
    private underlineAction;
    private strikethroughAction;
    private clearFormatAction;
    private subscriptAction;
    private superscriptAction;
    private changeFontColor;
    private changeFontFamily;
    private changeFontSize;
    onSelectionChange(): void;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor-container/tool-bar/index.d.ts
/**
 * Export toolbar module
 */
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor-container/tool-bar/tool-bar.d.ts
/**
 * Toolbar Module
 */
export  class Toolbar {
    /**
     * @private
     */
    toolbar: navigations.Toolbar;
    /**
     * @private
     */
    container: DocumentEditorContainer;
    /**
     * @private
     */
    filePicker: HTMLInputElement;
    /**
     * @private
     */
    imagePicker: HTMLInputElement;
    /**
     * @private
     */
    propertiesPaneButton: buttons.Button;
    /**
     * @private
     */
    /**
     * @private
     */
    isCommentEditing: boolean;
    private restrictDropDwn;
    private imgDropDwn;
    private breakDropDwn;
    private formFieldDropDown;
    private toolbarItems;
    private toolbarTimer;
    private buttonElement;
    private readonly documentEditor;
    /**
     * @private
     * @param {DocumentEditorContainer} container - DocumentEditorContainer object.
     */
    constructor(container: DocumentEditorContainer);
    private getModuleName;
    /**
     * Enables or disables the specified Toolbar item.
     *
     * @param  {number} itemIndex - Index of the toolbar items that need to be enabled or disabled.
     * @param  {boolean} isEnable  - Boolean value that determines whether the toolbar item should be enabled or disabled. By default, `isEnable` is set to true.
     * @returns {void}
     */
    enableItems(itemIndex: number, isEnable: boolean): void;
    /**
     * @private
     * @param {CustomToolbarItemModel|ToolbarItem} items - Toolbar items
     * @returns {void}
     */
    initToolBar(items: (CustomToolbarItemModel | ToolbarItem)[]): void;
    private renderToolBar;
    private initToolbarDropdown;
    private onBeforeRenderRestrictDropdown;
    private toggleRestrictIcon;
    private showHidePropertiesPane;
    private onWrapText;
    private wireEvent;
    private initToolbarItems;
    /**
     * @private
     * @param {CustomToolbarItemModel|ToolbarItem} items - Toolbar items
     * @returns {void}
     */
    reInitToolbarItems(items: (CustomToolbarItemModel | ToolbarItem)[]): void;
    private getToolbarItems;
    private clickHandler;
    private toggleLocalPaste;
    private toggleEditing;
    /**
     * @private
     * @param {boolean} enable - Enable/Disable restrictEditing changes toolbar item.
     * @returns {void}
     */
    toggleRestrictEditing(enable: boolean): void;
    private toggleButton;
    private toggleTrackChangesInternal;
    private togglePropertiesPane;
    private onDropDownButtonSelect;
    private onFileChange;
    private isSupportedFormatType;
    private convertToSfdt;
    private failureHandler;
    private successHandler;
    private onImageChange;
    private insertImage;
    private enableDisableFormField;
    /**
     * @private
     * @param {boolean} enable - Emable/Disable insert comment toolbar item.
     * @returns {void}
     */
    enableDisableInsertComment(enable: boolean): void;
    /**
     * @private
     * @param {boolean} enable - Emable/Disable track changes toolbar item.
     * @returns {void}
     */
    toggleTrackChanges(enable: boolean): void;
    /**
     * @private
     * @param {boolean} enable - Enable/Diable toolbar items.
     * @param {boolean} isProtectedContent - Define whether document is protected.
     * @returns {void}
     */
    enableDisableToolBarItem(enable: boolean, isProtectedContent: boolean): void;
    private containsItem;
    /**
     * @private
     * @returns {void}
     */
    enableDisableUndoRedo(): void;
    private onToc;
    /**
     * @private
     * @param {boolean} isShow - show/hide property pane.
     * @returns {void}
     */
    enableDisablePropertyPaneButton(isShow: boolean): void;
    /**
     * @private
     * @returns { void }
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/base/ajax-helper.d.ts
/**
 * @private
 */
export  class XmlHttpRequestHandler {
    /**
     * Specifies the URL to which request to be sent.
     *
     * @default null
     */
    url: string;
    /**
     * @private
     */
    contentType: string;
    /**
     * Specifies the responseType to which request response.
     *
     * @default null
     */
    responseType: XMLHttpRequestResponseType;
    /**
     * A boolean value indicating whether the request should be sent asynchronous or not.
     *
     * @default true
     */
    mode: boolean;
    xmlHttpRequest: XMLHttpRequest;
    /**
     * @private
     */
    customHeaders: Object[];
    /**
     * Send the request to server
     *
     * @param  {object} jsonObject - To send to service
     */
    send(jsonObject: object, httpRequestEventArgs?: XmlHttpRequestEventArgs): void;
    private sendRequest;
    private stateChange;
    private error;
    /**
     * Specifies callback function to be triggered after XmlHttpRequest is succeeded.
     * The callback will contain server response as the parameter.
     *
     * @event
     */
    onSuccess: Function;
    /**
     * Specifies callback function to be triggered after XmlHttpRequest is got failed.
     * The callback will contain server response as the parameter.
     *
     * @event
     */
    onFailure: Function;
    /**
     * Specifies callback function to be triggered after XmlHttpRequest is got error.
     * The callback will contain server response as the parameter.
     *
     * @event
     */
    onError: Function;
    private successHandler;
    private failureHandler;
    private errorHandler;
    private setCustomAjaxHeaders;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/base/constants.d.ts
/** @hidden */
export  const internalZoomFactorChange: string;
/** @hidden */
export  const contentChangeEvent: string;
/** @hidden */
export  const documentChangeEvent: string;
/** @hidden */
export  const selectionChangeEvent: string;
/** @hidden */
export  const zoomFactorChangeEvent: string;
/** @hidden */
export  const beforeFieldFillEvent: string;
/** @hidden */
export  const afterFieldFillEvent: string;
/** @hidden */
export  const afterFormFieldFillEvent: string;
/** @hidden */
export  const beforeFormFieldFillEvent: string;
/** @hidden */
export  const serviceFailureEvent: string;
/** @hidden */
export  const viewChangeEvent: string;
/** @hidden */
export  const customContextMenuSelectEvent: string;
/** @hidden */
export  const customContextMenuBeforeOpenEvent: string;
/** @hidden */
export  const contentControlEvent: string;
/** @hidden */
export  const commentBeginEvent: string;
/** @hidden */
export  const commentEndEvent: string;
/** @hidden */
export  const beforeCommentActionEvent: string;
/** @hidden */
export  const commentDeleteEvent: string;
/** @hidden */
export  const beforePaneSwitchEvent: string;
/** @hidden */
export  const requestNavigateEvent: string;
/** @hidden */
export  const actionCompleteEvent: string;
/** @hidden */
export  const trackChangeEvent: string;
/** @hidden */
export  const searchResultsChangeEvent: string;
/** @hidden */
export  const keyDownEvent: string;
/** @hidden */
export  const toolbarClickEvent: string;
/** @hidden */
export  const beforeFileOpenEvent: string;
/** @hidden */
export  const internalviewChangeEvent: string;
/** @hidden */
export  const beforeXmlHttpRequestSend: string;
/** @hidden */
export  const protectionTypeChangeEvent: string;
/** @hidden */
export  const internalDocumentEditorSettingsChange: string;
/** @hidden */
export  const internalStyleCollectionChange: string;
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/base/dictionary.d.ts
/**
 * @private
 */
export interface DictionaryInfo<K, V> {
}
/**
 * @private
 */
export  class Dictionary<K, V> implements DictionaryInfo<K, V> {
    private keysInternal;
    private valuesInternal;
    /**
     * @private
     */
    readonly length: number;
    /**
     * @private
     */
    readonly keys: K[];
    /**
     * @private
     */
    add(key: K, value: V): number;
    /**
     * @private
     */
    get(key: K): V;
    /**
     * @private
     */
    set(key: K, value: V): void;
    /**
     * @private
     */
    remove(key: K): boolean;
    /**
     * @private
     */
    containsKey(key: K): boolean;
    /**
     * @private
     */
    clear(): void;
    /**
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/base/events-helper.d.ts
/**
 * ServiceFailureArgs
 */
export interface ServiceFailureArgs {
    /** Status code of the service failure. */
    status: string;
    /** Status text of the service failure. */
    statusText: string;
    /** Service failed URL. */
    url: string;
}
/**
 * This event arguments provides the necessary information about form field fill event.
 */
export interface FormFieldFillEventArgs {
    /**
     * Specifies form field name.
     */
    fieldName?: string;
    /**
     * Specifies form field value.
     */
    value?: string | boolean | number;
    /**
     * Specifies whether form fill action is canceled or not.
     */
    isCanceled?: boolean;
}
/**
 * Specified form field data
 */
export interface FormFieldData {
    /**
     * Specifies form field name.
     */
    fieldName: string;
    /**
     * Specifies form field data.
     */
    value: string | boolean | number;
}
/**
 * This event arguments provides the necessary information about documentChange event.
 */
export interface DocumentChangeEventArgs {
    /**
     * Specifies the source DocumentEditor instance which triggers this documentChange event.
     *
     * @deprecated
     */
    source: DocumentEditor;
}
/**
 * This event arguments provides the necessary information about viewChange event.
 */
export interface ViewChangeEventArgs {
    /**
     * Specifies the page number that starts in the view port.
     */
    startPage: number;
    /**
     * Specifies the page number that ends in the view port.
     */
    endPage: number;
    /**
     * Specifies the source DocumentEditor instance which triggers this viewChange event.
     *
     * @deprecated
     */
    source: DocumentEditor;
}
/**
 * This event arguments provides the necessary information about zoomFactorChange event.
 */
export interface ZoomFactorChangeEventArgs {
    /**
     * Specifies the source DocumentEditor instance which triggers this zoomFactorChange event.
     *
     * @deprecated
     */
    source: DocumentEditor;
}
/**
 * This event arguments provides the necessary information about selectionChange event.
 */
export interface SelectionChangeEventArgs {
    /**
     * Specifies the source DocumentEditor instance which triggers this selectionChange event.
     *
     * @deprecated
     */
    source: DocumentEditor;
}
/**
 * This event arguments provides the necessary information about requestNavigate event.
 */
export interface RequestNavigateEventArgs {
    /**
     * Specifies the navigation link.
     */
    navigationLink: string;
    /**
     * Specifies the link type.
     */
    linkType: HyperlinkType;
    /**
     * Specifies the local reference if any.
     */
    localReference: string;
    /**
     * Specifies whether the event is handled or not.
     */
    isHandled: boolean;
    /**
     * Specifies the source DocumentEditor instance which triggers this requestNavigate event.
     *
     * @deprecated
     */
    source: DocumentEditor;
}
/**
 * This event arguments provides the necessary information about contentChange event.
 */
export interface ContentChangeEventArgs {
    /**
     * Specifies the source DocumentEditor instance which triggers this contentChange event.
     *
     * @deprecated
     */
    source: DocumentEditor;
}
/**
 * This event arguments provides the necessary information about key down event.
 */
export interface DocumentEditorKeyDownEventArgs {
    /**
     * Key down event argument
     */
    event: KeyboardEvent;
    /**
     * Specifies whether the event is handled or not
     */
    isHandled: boolean;
    /**
     * Specifies the source DocumentEditor instance which triggers this key down event.
     *
     * @deprecated
     */
    source: DocumentEditor;
}
/**
 * This event arguments provides the necessary information about searchResultsChange event.
 */
export interface SearchResultsChangeEventArgs {
    /**
     * Specifies the source DocumentEditor instance which triggers this searchResultsChange event.
     *
     * @deprecated
     */
    source: DocumentEditor;
}
/**
 * This event arguments provides the necessary information about customContentMenu event.
 */
export interface CustomContentMenuEventArgs {
    /**
     * Specifies the id of selected custom context menu item.
     */
    id: string;
}
/**
 * This event arguments provides the necessary information about BeforeOpenCloseCustomContentMenu event.
 */
export interface BeforeOpenCloseCustomContentMenuEventArgs {
    /**
     * Specifies the array of added custom context menu item ids.
     */
    ids: string[];
}
/**
 * This event args provides the necessary information about comment delete.
 */
export interface CommentDeleteEventArgs {
    /**
     * Comment author.
     */
    author: string;
    /**
     * Specifies whether the event is canceled or not.
     */
    cancel: boolean;
}
/**
 * This event args provides the necessary information about comment actions.
 */
export interface CommentActionEventArgs {
    /**
     * Comment author.
     */
    author: string;
    /**
     * Specifies whether the event is canceled or not.
     */
    cancel: boolean;
    /**
     * Specifies the comment action type.
     */
    type: CommentAction;
}
export interface BeforeFileOpenArgs {
    /**
     * The size of opened file in bytes.
     */
    fileSize: number;
    /**
     * Specifies file open is canceled.
     */
    isCanceled?: boolean;
}
/**
 * This event args provides the necessary information about track change.
 */
export interface TrackChangeEventArgs {
    /**
     * Specifies whether the track changes enabled or not.
     */
    isTrackChangesEnabled: boolean;
}
/**
 * This event arguments provides the necessary information about onBeforePane switch.
 */
export interface BeforePaneSwitchEventArgs {
    /**
     * Specifies current pane type.
     */
    type: string;
}
/**
 * This event arguments provides the necessary information about DocumentEditorContainer's contentChange event.
 */
export interface ContainerContentChangeEventArgs {
    /**
     * Specifies the source DocumentEditorContainer instance which triggers this contentChange event.
     *
     * @deprecated
     */
    source: DocumentEditorContainer;
}
/**
 * This event arguments provides the necessary information about DocumentEditorContainer's selectionChange event.
 */
export interface ContainerSelectionChangeEventArgs {
    /**
     * Specifies the source DocumentEditorContainer instance which triggers this selectionChange event.
     *
     * @deprecated
     */
    source: DocumentEditorContainer;
}
/**
 * This event arguments provides the necessary information about DocumentEditorContainer's documentChange event.
 */
export interface ContainerDocumentChangeEventArgs {
    /**
     * Specifies the source DocumentEditorContainer instance which triggers this documentChange event.
     *
     * @deprecated
     */
    source: DocumentEditorContainer;
}
/**
 * Defines customized toolbar items.
 */
export interface CustomToolbarItemModel {
    /**
     * Defines single/multiple classes separated by space used to specify an icon for the button.
     * The icon will be positioned before the text content if text is available, otherwise the icon alone will be rendered.
     *
     * @default ""
     */
    prefixIcon?: string;
    /**
     * Specifies the text to be displayed on the Toolbar button.
     *
     * @default ""
     */
    tooltipText?: string;
    /**
     * Specifies the unique ID to be used with button or input element of Toolbar items.
     *
     * @default ""
     */
    id?: string;
    /**
     * Specifies the text to be displayed on the Toolbar button.
     *
     * @default ""
     */
    text?: string;
    /**
     * Defines single/multiple classes (separated by space) to be used for customization of commands.
     *
     * @default ""
     */
    cssClass?: string;
}
/**
 * Defines the XMLHttpRequest customization properties
 */
export interface XmlHttpRequestEventArgs {
    /**
     * Gets the type of server action that is to be triggered.
     *
     * @default undefined
     * @returns {ServerActionType}
     */
    serverActionType: ServerActionType;
    /**
     * Gets or sets a value indicating whether to enable or disable withCredentials property of XMLHttpRequest object.
     *
     * @default false
     * @returns {boolean}
     */
    withCredentials: boolean;
    /**
     * Gets or sets the collection of custom headers to set in the XMLHttpRequest object.
     *
     * @default undefined
     * @returns {object[]}
     */
    headers: object[];
    /**
     * Gets or sets the timeout to set in the XMLHttpRequest object. It denotes number of milliseconds a request can take before automatically being terminated. The default value is 0, which means there is no timeout.
     *
     * @default 0
     * @returns {number}
     */
    timeout: number;
    /**
     * Gets or sets a value indicating whether this server request has been canceled.
     *
     * @default false
     * @returns {boolean}
     */
    cancel: boolean;
    /**
     * Gets the clipboard data which is to be converted as SFDT in the server-side.
     *
     * @default undefined
     * @returns {object}
     */
    clipboardData?: object;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/base/index.d.ts
/**
 * export types
 */
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/base/types.d.ts
/**
 * Specified the hyperlink type.
 */
export  type HyperlinkType = 
/**
 * Specifies the link to a file. The link that starts with "file:///".
 */
'File' | 
/**
 * Specifies the link to a web page. The link that starts with "http://", "https://", "www." etc.
 */
'WebPage' | 
/**
 * Specifies the link to an e-mail. The link that starts with "mailto:".
 */
'Email' | 
/**
 * Specifies the link to a bookmark. The link that refers to a bookmark.
 */
'Bookmark';
/**
 * Indicates inserted revision types
 */
export  type RevisionType = 'Insertion' | 'Deletion' | 'MoveTo' | 'MoveFrom';
/**
 * Indicates inserted revision types
 */
export  type ReviewTabType = 'Comments' | 'Changes';
/**
 * Enum underline for character format
 */
export  type Underline = 
/**
 * No underline will be drawn.
 */
'None' | 
/**
 * Draws single underline.
 */
'Single' | 
/**
 * Draws underline for words only.
 */
'Words' | 
/**
 * Draws double underline.
 */
'Double' | 
/**
 * Draws dotted underline.
 */
'Dotted' | 
/**
 * Draws thick underline.
 */
'Thick' | 
/**
 * Draws dash underline.
 */
'Dash' | 
/**
 * Draws dash long underline.
 */
'DashLong' | 
/**
 * Draws dot dash underline.
 */
'DotDash' | 
/**
 * Draws dot dot dash underline.
 */
'DotDotDash' | 
/**
 * Draws wavy underline.
 */
'Wavy' | 
/**
 *  Draws dotted heavy underline.
 */
'DottedHeavy' | 
/**
 * Draws dash heavy underline.
 */
'DashHeavy' | 
/**
 * Draws dash long heavy underline.
 */
'DashLongHeavy' | 
/**
 * Draws dot dash heavy underline.
 */
'DotDashHeavy' | 
/**
 * Draws dot dot dash heavy underline.
 */
'DotDotDashHeavy' | 
/**
 * Draws wavy heavy underline.
 */
'WavyHeavy' | 
/**
 * Draws wavy double underline.
 */
'WavyDouble';
/**
 * Enum strikethrough for character format
 */
export  type Strikethrough = 
/**
 * No strike will be drawn.
 */
'None' | 
/**
 * Draws single strike.
 */
'SingleStrike' | 
/**
 * Draws double strike.
 */
'DoubleStrike';
/**
 * Enum baseline alignment for character format
 */
export  type BaselineAlignment = 
/**
 * Specifies the text to be rendered normally.
 */
'Normal' | 
/**
 * Specifies the text to appear above the baseline of text.
 */
'Superscript' | 
/**
 * Specifies the text to appear below the baseline of text.
 */
'Subscript';
/**
 * Enum highlight color for character format
 */
export  type HighlightColor = 
/**
 * No highlight color will be applied.
 */
'NoColor' | 
/**
 * Highlights the content with yellow (#ffffff00) color.
 */
'Yellow' | 
/**
 * Highlights the content with bright green (#ff00ff00) color.
 */
'BrightGreen' | 
/**
 * Highlights the content with turquoise (#ff00ffff) color.
 */
'Turquoise' | 
/**
 * Highlights the content with pink (#ffff00ff) color.
 */
'Pink' | 
/**
 * Highlights the content with blue (#ff0000ff) color.
 */
'Blue' | 
/**
 *  Highlights the content with red (#ffff0000) color.
 */
'Red' | 
/**
 *  Highlights the content with dark blue (#ff000080) color.
 */
'DarkBlue' | 
/**
 * Highlights the content with teal (#ff008080) color.
 */
'Teal' | 
/**
 * Highlights the content with green (#ff008000) color.
 */
'Green' | 
/**
 * Highlights the content with violet (#ff800080) color.
 */
'Violet' | 
/**
 * Highlights the content with dark red (#ff800000) color.
 */
'DarkRed' | 
/**
 * Highlights the content with dark yellow (#ff808000)  color.
 */
'DarkYellow' | 
/**
 * Highlights the content with gray 50 (#ff808080) color.
 */
'Gray50' | 
/**
 * Highlights the content with gray 25 (#ffc0c0c0) color.
 */
'Gray25' | 
/**
 * Highlights the content with black (#ff000000) color.
 */
'Black';
/**
 * Enum LineSpacingType For Paragraph Format Preservation
 */
export  type LineSpacingType = 
/**
 * The line spacing can be greater than or equal to, but never less than,
 * the value specified in the LineSpacing property.
 */
'AtLeast' | 
/**
 * The line spacing never changes from the value specified in the LineSpacing property,
 * even if a larger font is used within the paragraph.
 */
'Exactly' | 
/**
 * The line spacing is specified in the LineSpacing property as the number of lines.
 * Single line spacing equals 12 points.
 */
'Multiple';
/**
 * Enum TextAlignment For Paragraph Format Preservation
 */
export  type TextAlignment = 
/**
 * Text is centered within the container.
 */
'Center' | 
/**
 * Text is aligned to the left edge of the container.
 */
'Left' | 
/**
 * Text is aligned to the right edge of the container.
 */
'Right' | 
/**
 * Text is justified within the container.
 */
'Justify';
/**
 * Enum for Header Footer
 */
export  type HeaderFooterType = 
/**
 * Header for even numbered pages.
 */
'EvenHeader' | 
/**
 * Header for odd numbered pages.
 */
'OddHeader' | 
/**
 * Footer for even numbered pages.
 */
'EvenFooter' | 
/**
 * Footer for odd numbered pages.
 */
'OddFooter' | 
/**
 * Header for the first page of the section.
 */
'FirstPageHeader' | 
/**
 * Footer for the first page of the section.
 */
'FirstPageFooter';
/**
 * Enum for List type
 */
export  type ListType = 
/**
 * Specifies the none list type.
 */
'None' | 
/**
 * Specifies the bullet list type.
 */
'Bullet' | 
/**
 * Specifies the numbering list type.
 */
'Numbering' | 
/**
 * Specifies the outline numbering list type.
 */
'OutlineNumbering';
/**
 * Enum for List Level Pattern
 */
export  type ListLevelPattern = 
/**
 * Specifies the default pattern for the list level.
 */
'Arabic' | 
/**
 * Specifies the upper roman (I, II, III, ...) pattern for the list level.
 */
'UpRoman' | 
/**
 * Specifies the lower roman (i, ii, iii, ...) pattern for the list level.
 */
'LowRoman' | 
/**
 * Specifies the uppercase letter (A, B, C, ...) pattern for the list level.
 */
'UpLetter' | 
/**
 * Specifies the lowercase letter (a, b, c, ...) pattern for the list level.
 */
'LowLetter' | 
/**
 * Specifies the ordinal (1st, 2nd, 3rd, ...) pattern for the list level.
 */
'Ordinal' | 
/**
 * Specifies the numbering (1, 2, 3, ...) pattern for the list level.
 */
'Number' | 
/**
 * Specifies the ordinal text (First, Second, Third, ...) pattern for the list level.
 */
'OrdinalText' | 
/**
 * Specifies the leading zero (01, 02, 03, ...) pattern for the list level.
 */
'LeadingZero' | 
/**
 * Specifies the bullet pattern for the list level.
 */
'Bullet' | 
/**
 * Specifies the far east pattern for the list level.
 */
'FarEast' | 
/**
 * Specifies the special pattern for the list level.
 */
'Special' | 
/**
 * Specifies no pattern for the list level.
 */
'None';
/**
 * Enum for follow character type
 */
export  type FollowCharacterType = 
/**
 * Specifies the list value to be followed with a single tab.
 */
'Tab' | 
/**
 * Specifies the list value to be followed with a single space.
 */
'Space' | 
/**
 * Specifies the list value to be followed with no follow character.
 */
'None';
/**
 * Enum for table alignment
 */
export  type TableAlignment = 
/**
 * Aligns the table to the left.
 */
'Left' | 
/**
 * Aligns the table to the center.
 */
'Center' | 
/**
 * Aligns the table to the right.
 */
'Right';
/**
 * Enum WidthType for table and cells
 */
export  type WidthType = 
/**
 * Specifies the width to be determined automatically.
 */
'Auto' | 
/**
 * Specifies the width in percentage.
 */
'Percent' | 
/**
 * Specifies the width in points.
 */
'Point';
/**
 * Enum for cell vertical alignment.
 */
export  type CellVerticalAlignment = 
/**
 * Aligns the content to the top.
 */
'Top' | 
/**
 * Aligns the content to the center.
 */
'Center' | 
/**
 * Aligns the content ot the bottom.
 */
'Bottom';
/**
 * Enum for row height type
 */
export  type HeightType = 
/**
 * Specifies the height to be determined automatically.
 */
'Auto' | 
/**
 * Specifies the least height in points.
 */
'AtLeast' | 
/**
 * Specifies the exact height in points.
 */
'Exactly';
/**
 * Enum for line style
 */
export  type LineStyle = 
/**
 * No border.
 */
'None' | 
/**
 * A single solid line.
 */
'Single' | 
/**
 * Dots.
 */
'Dot' | 
/**
 * A dash followed by a small gap.
 */
'DashSmallGap' | 
/**
 * A dash followed by a large gap.
 */
'DashLargeGap' | //dashed
/**
 * A dash followed by a dot.
 */
'DashDot' | //dotDash
/**
 * A dash followed by two dots.
 */
'DashDotDot' | //dotDotDash
/**
 * Double solid lines.
 */
'Double' | 
/**
 * Three solid thin lines.
 */
'Triple' | 
/**
 * An internal single thin solid line surrounded by a single thick solid line with
 * a small gap between them.
 */
'ThinThickSmallGap' | 
/**
 * An internal single thick solid line surrounded by a single thin solid line with
 * a small gap between them.
 */
'ThickThinSmallGap' | 
/**
 * An internal single thin solid line surrounded by a single thick solid line surrounded
 * by a single thin solid line with a small gap between all lines.
 */
'ThinThickThinSmallGap' | 
/**
 * An internal single thin solid line surrounded by a single thick solid line with
 * a medium gap between them.
 */
'ThinThickMediumGap' | 
/**
 * An internal single thick solid line surrounded by a single thin solid line with
 * a medium gap between them.
 */
'ThickThinMediumGap' | 
/**
 * An internal single thin solid line surrounded by a single thick solid line surrounded
 * by a single thin solid line with a medium gap between all lines.
 */
'ThinThickThinMediumGap' | 
/**
 * An internal single thin solid line surrounded by a single thick solid line with
 * a large gap between them.
 */
'ThinThickLargeGap' | 
/**
 * An internal single thick solid line surrounded by a single thin solid line with
 * a large gap between them.
 */
'ThickThinLargeGap' | 
/**
 * An internal single thin solid line surrounded by a single thick solid line surrounded
 * by a single thin solid line with a large gap between all lines.
 */
'ThinThickThinLargeGap' | 
/**
 * A single wavy solid line.
 */
'SingleWavy' | //wave.
/**
 * Double wavy solid lines.
 */
'DoubleWavy' | //doubleWave.
/**
 * A dash followed by a dot stroke, thus rendering a border similar to a barber
 * pole.
 */
'DashDotStroked' | 
/**
 * The border appears to have a 3-D embossed look.
 */
'Emboss3D' | 
/**
 * The border appears to have a 3-D engraved look.
 */
'Engrave3D' | 
/**
 * The border appears to be outset.
 */
'Outset' | 
/**
 * The border appears to be inset.
 */
'Inset' | 
/**
 * Additional enums supported in Microsoft word in the XML level as well as by DocIO.
 */
'Thick' | 
/**
 * Cleared border.
 */
'Cleared';
/**
 * Enum for texture style
 */
export  type TextureStyle = 
/**
 *  No shading
 */
'TextureNone' | 
/**
 * 2.5 percent shading.
 */
'Texture2Pt5Percent' | 
/**
 * 5 percent shading.
 */
'Texture5Percent' | 
/**
 * 7.5 percent shading.
 */
'Texture7Pt5Percent' | 
/**
 * 10 percent shading.
 */
'Texture10Percent' | 
/**
 * 12.5 percent shading.
 */
'Texture12Pt5Percent' | 
/**
 * 15 percent shading.
 */
'Texture15Percent' | 
/**
 * 17.5 percent shading.
 */
'Texture17Pt5Percent' | 
/**
 * 20 percent shading.
 */
'Texture20Percent' | 
/**
 * 22.5 percent shading.
 */
'Texture22Pt5Percent' | 
/**
 * 25 percent shading.
 */
'Texture25Percent' | 
/**
 * 27.5 percent shading.
 */
'Texture27Pt5Percent' | 
/**
 * 30 percent shading.
 */
'Texture30Percent' | 
/**
 * 32.5 percent shading.
 */
'Texture32Pt5Percent' | 
/**
 * 35 percent shading.
 */
'Texture35Percent' | 
/**
 * 37.5 percent shading.
 */
'Texture37Pt5Percent' | 
/**
 * 40 percent shading.
 */
'Texture40Percent' | 
/**
 * 42.5 percent shading.
 */
'Texture42Pt5Percent' | 
/**
 * 45 percent shading.
 */
'Texture45Percent' | 
/**
 * 47.5 percent shading.
 */
'Texture47Pt5Percent' | 
/**
 * 50 percent shading.
 */
'Texture50Percent' | 
/**
 * 52.5 percent shading.
 */
'Texture52Pt5Percent' | 
/**
 * 55 percent shading.
 */
'Texture55Percent' | 
/**
 * 57.5 percent shading.
 */
'Texture57Pt5Percent' | 
/**
 * 60 percent shading.
 */
'Texture60Percent' | 
/**
 * 62.5 percent shading.
 */
'Texture62Pt5Percent' | 
/**
 * 65 percent shading.
 */
'Texture65Percent' | 
/**
 * 67.5 percent shading.
 */
'Texture67Pt5Percent' | 
/**
 * 70 percent shading.
 */
'Texture70Percent' | 
/**
 * 72.5 percent shading.
 */
'Texture72Pt5Percent' | 
/**
 * 75 percent shading.
 */
'Texture75Percent' | 
/**
 * 77.5 percent shading.
 */
'Texture77Pt5Percent' | 
/**
 * 80 percent shading.
 */
'Texture80Percent' | 
/**
 * 82.5 percent shading.
 */
'Texture82Pt5Percent' | 
/**
 * 85 percent shading.
 */
'Texture85Percent' | 
/**
 * 87.5 percent shading.
 */
'Texture87Pt5Percent' | 
/**
 * 90 percent shading.
 */
'Texture90Percent' | 
/**
 * 92.5 percent shading.
 */
'Texture92Pt5Percent' | 
/**
 * 95 percent shading.
 */
'Texture95Percent' | 
/**
 * 97.5 percent shading.
 */
'Texture97Pt5Percent' | 
/**
 * Solid shading.
 */
'TextureSolid' | 
/**
 * Dark horizontal shading.
 */
'TextureDarkHorizontal' | 
/**
 * Dark vertical shading.
 */
'TextureDarkVertical' | 
/**
 * Dark diagonal down shading.
 */
'TextureDarkDiagonalDown' | 
/**
 * Dark diagonal up shading.
 */
'TextureDarkDiagonalUp' | 
/**
 * Dark horizontal cross shading.
 */
'TextureDarkCross' | 
/**
 * Dark diagonal cross shading.
 */
'TextureDarkDiagonalCross' | 
/**
 * Horizontal shading.
 */
'TextureHorizontal' | 
/**
 * Vertical shading.
 */
'TextureVertical' | 
/**
 * Diagonal down shading.
 */
'TextureDiagonalDown' | 
/**
 * Diagonal up shading.
 */
'TextureDiagonalUp' | 
/**
 * Horizontal cross shading.
 */
'TextureCross' | 
/**
 * Diagonal cross shading.
 */
'TextureDiagonalCross';
/**
 * Format type.
 */
export  type FormatType = 
/**
 * Microsoft Word Open XML Format.
 */
'Docx' | 
/**
 * HTML Format.
 */
'Html' | 
/**
 * Plain Text Format.
 */
'Txt' | 
/**
 * Syncfusion Document Text Format.
 */
'Sfdt';
/**
 * Enum for find option
 */
export  type FindOption = 
/**
 * Specifies default find option;
 Uses case-independent, arbitrary character boundaries.
 */
'None' | 
/**
 * Specifies the find option to match whole words only.
 */
'WholeWord' | 
/**
 * Specifies the find option to match case sensitive.
 */
'CaseSensitive' | 
/**
 * Specifies the find option to match case sensitive and whole words.
 */
'CaseSensitiveWholeWord';
/**
 * WColor interface
 *
 * @private
 */
export interface WColor {
    r: number;
    g: number;
    b: number;
}
/**
 * Enum for outline level
 */
export  type OutlineLevel = 
/**
 * Outline level 1.
 */
'Level1' | 
/**
 * Outline level 2.
 */
'Level2' | 
/**
 * Outline level 3.
 */
'Level3' | 
/**
 * Outline level 4.
 */
'Level4' | 
/**
 * Outline level 5.
 */
'Level5' | 
/**
 * Outline level 6.
 */
'Level6' | 
/**
 * Outline level 7.
 */
'Level7' | 
/**
 * Outline level 8.
 */
'Level8' | 
/**
 * Outline level 9.
 */
'Level9' | 
/**
 *  No outline level.
 */
'BodyText';
/**
 * Specifies style type.
 */
export  type StyleType = 
/**
 * Paragraph style.
 */
'Paragraph' | 
/**
 * Character style.
 */
'Character';
/**
 * Specifies table row placement.
 *
 * @private
 */
export  type RowPlacement = 
/**
 * Places the row above.
 */
'Above' | 
/**
 * Places the row below.
 */
'Below';
/**
 * Specifies table column placement.
 *
 * @private
 */
export  type ColumnPlacement = 
/**
 * Places the column left.
 */
'Left' | 
/**
 * Places the column right.
 */
'Right';
/**
 * Specifies the tab justification.
 */
export  type TabJustification = 
/**
 * Bar
 */
'Bar' | 
/**
 * Center
 */
'Center' | 
/**
 * Decimal
 */
'Decimal' | 
/**
 * Left
 */
'Left' | 
/**
 * List
 */
'List' | 
/**
 * Right
 */
'Right';
/**
 * Specifies the tab leader.
 */
export  type TabLeader = 
/**
 * None
 */
'None' | 
/**
 * Dotted
 */
'Dot' | 
/**
 * Hyphenated
 */
'Hyphen' | 
/**
 * Underscore
 */
'Underscore';
/**
 * Specifies the page fit type.
 */
export  type PageFitType = 
/**
 * Fits the page to 100%.
 */
'None' | 
/**
 * Fits atleast one page in view.
 */
'FitOnePage' | 
/**
 * Fits the page to its width in view.
 */
'FitPageWidth';
/**
 * Specifies the context type at selection.
 */
export  type ContextType = 
/**
 * Specified the curret context is in text.
 */
'Text' | 
/**
 * Specified the curret context is in image.
 */
'Image' | 
/**
 * Specified this curretn context is in list.
 */
'List' | 
/**
 * Specified the curret context is in text which is inside table.
 */
'TableText' | 
/**
 * Specified the curret context is in image which is inside table.
 */
'TableImage' | 
/**
 * Specified the curret context is in text which is inside header.
 */
'HeaderText' | 
/**
 * Specified the curret context is in image which is inside header.
 */
'HeaderImage' | 
/**
 * Specified the curret context is in text which is inside table & is in header region.
 */
'HeaderTableText' | 
/**
 * Specified the curret context is in text which is inside table & is in header region.
 */
'HeaderTableImage' | 
/**
 * Specified the curret context is in text which is inside footer.
 */
'FooterText' | 
/**
 * Specified the curret context is in image which is inside footer.
 */
'FooterImage' | 
/**
 * Specified the curret context is in text which is inside table & is in footer region.
 */
'FooterTableText' | 
/**
 * Specified the curret context is in image which is inside table & is in footer region.
 */
'FooterTableImage' | 
/**
 * Current context is in table of contents.
 */
'TableOfContents';
/**
 * Specifies the border type to be applied.
 */
export  type BorderType = 
/**
 * Outside border.
 */
'OutsideBorders' | 
/**
 * All border.
 */
'AllBorders' | 
/**
 * Insider borders.
 */
'InsideBorders' | 
/**
 * Left border.
 */
'LeftBorder' | 
/**
 * Inside vertical border.
 */
'InsideVerticalBorder' | 
/**
 * Right border.
 */
'RightBorder' | 
/**
 * Top border.
 */
'TopBorder' | 
/**
 * Insider horizontal border.
 */
'InsideHorizontalBorder' | 
/**
 * Bottom border.
 */
'BottomBorder' | 
/**
 * No border.
 */
'NoBorder';
/**
 * Specifies the dialog type.
 */
export  type DialogType = 
/**
 * Specifies hyperlink dialog.
 */
'Hyperlink' | 
/**
 * Specifies table dialog.
 */
'Table' | 
/**
 * Specifies bookmark dialog.
 */
'Bookmark' | 
/**
 * Specifies table of contents dialog.
 */
'TableOfContents' | 
/**
 * Specifies page setup dialog.
 */
'PageSetup' | 
/**
 * Specifies list dialog.
 */
'List' | 
/**
 * Specifies style dialog.
 */
'Style' | 
/**
 * Specifies styles dialog.
 */
'Styles' | 
/**
 * Specifies paragraph dialog.
 */
'Paragraph' | 
/**
 * Specifies font dialog.
 */
'Font' | 
/**
 * Specifies table properties dialog.
 */
'TableProperties' | 
/**
 * Specifies borders and shading dialog.
 */
'BordersAndShading' | 
/**
 * Specifies table options dialog.
 */
'TableOptions' | 
/**
 * Specifies spell check dialog.
 */
'SpellCheck';
/**
 * Action type
 *
 * @private
 */
export  type Action = 'Insert' | 'Delete' | 'BackSpace' | 'Selection' | 'MultiSelection' | 'Enter' | 'ImageResizing' | 'ReplaceAll' | 'Cut' | 'CharacterFormat' | 'Bold' | 'Italic' | 'FontSize' | 'FontFamily' | 'HighlightColor' | 'BaselineAlignment' | 'Strikethrough' | 'Underline' | 'InsertHyperlink' | 'InsertBookmark' | 'InsertElements' | 'DeleteBookmark' | 'FontColor' | 'InsertInline' | 'RemoveHyperlink' | 'AutoFormatHyperlink' | 'TextAlignment' | 'LeftIndent' | 'AfterSpacing' | 'BeforeSpacing' | 'RightIndent' | 'FirstLineIndent' | 'DifferentOddAndEvenPages' | 'LineSpacing' | 'LineSpacingType' | 'ListFormat' | 'ParagraphFormat' | 'SectionFormat' | 'List' | 'InsertRowAbove' | 'InsertRowBelow' | 'InsertTableBelow' | 'DeleteTable' | 'DeleteRow' | 'DeleteColumn' | 'InsertColumnLeft' | 'InsertColumnRight' | 'TableFormat' | 'RowFormat' | 'CellFormat' | 'TableProperties' | 'Paste' | 'RemoveComment' | 'DeleteCells' | 'ClearCells' | 'InsertTable' | 'RowResizing' | 'CellResizing' | 'MergeCells' | 'ClearFormat' | 'ClearCharacterFormat' | 'ClearParagraphFormat' | 'AutoList' | 'BordersAndShading' | 'TableMarginsSelection' | 'CellMarginsSelection' | 'CellOptions' | 'TableOptions' | 'TableAlignment' | 'TableLeftIndent' | 'CellSpacing' | 'DefaultCellLeftMargin' | 'DefaultCellRightMargin' | 'TablePreferredWidthType' | 'TablePreferredWidth' | 'CellPreferredWidthType' | 'CellPreferredWidth' | 'DefaultCellTopMargin' | 'DefaultCellBottomMargin' | 'CellContentVerticalAlignment' | 'CellLeftMargin' | 'CellRightMargin' | 'CellTopMargin' | 'CellBottomMargin' | 'RowHeight' | 'RowHeightType' | 'RowHeader' | 'AllowBreakAcrossPages' | 'PageHeight' | 'PageWidth' | 'LeftMargin' | 'RightMargin' | 'TopMargin' | 'BottomMargin' | 'DefaultCellSpacing' | 'ListCharacterFormat' | 'ContinueNumbering' | 'RestartNumbering' | 'ListSelect' | 'Shading' | 'Borders' | 'TOC' | 'StyleName' | 'ApplyStyle' | 'SectionBreak' | 'PageBreak' | 'IMEInput' | 'TableAutoFitToContents' | 'TableAutoFitToWindow' | 'TableFixedColumnWidth' | 'ParagraphBidi' | 'TableBidi' | 'ContextualSpacing' | 'RestrictEditing' | 'RemoveEditRange' | 'InsertComment' | 'DeleteComment' | 'RemoveInline' | 'DeleteAllComments' | 'InsertCommentWidget' | 'DeleteCommentWidget' | 'FormField' | 'UpdateFormField' | 'FormTextFormat' | 'Accept Change' | 'Reject Change' | 'Accept All' | 'Reject All' | 'ParaMarkTrack' | 'ParaMarkReject' | 'RemoveRowTrack' | 'AcceptTOC' | 'ClearRevisions' | 'TrackingPageBreak' | 'InsertTextParaReplace' | 'Uppercase' | 'PasteColumn' | 'PasteRow' | 'PasteOverwrite' | 'PasteNested' | 'SkipCommentInline' | 'DeleteCommentInline' | 'ResolveComment' | "TopBorder" | 'LeftBorder' | 'RightBorder' | 'BottomBorder' | 'HorizontalBorder' | 'VerticalBorder';
/**
 * Enum for direction
 */
export  type BiDirectionalOverride = 
/**
 * None
 */
'None' | 
/**
 * Left to Right
 */
'LTR' | 
/**
 * Right to left
 */
'RTL';
/**
 * Enum for table auto fit type
 */
export  type AutoFitType = 
/**
 * Fit the contents respect to contents.
 */
'FitToContents' | 
/**
 * Fit the contents respect to window/pageWidth.
 */
'FitToWindow' | 
/**
 * Fit the contents respect to fixed column width.
 */
'FixedColumnWidth';
/**
 * Specifies the type of protection
 *
 * @private
 */
export  type ProtectionType = 
/**
 * Do not apply protection to the document.
 */
'NoProtection' | 
/**
 * Allow read-only access to the document.
 */
'ReadOnly' | 
/**
 * Allow form filling only.
 */
'FormFieldsOnly' | 
/**
 * Allow only comments to be added to the document.
 */
'CommentsOnly' | 
/**
 * Allow only revisions to be made to existing content. All the changes will be tracked.
 */
'RevisionsOnly';
/**
 * Specifies the paste options
 */
export  type PasteOptions = 
/**
 * Apply source formatting options.
 */
'KeepSourceFormatting' | 
/**
 * Merge with existing formatting.
 */
'MergeWithExistingFormatting' | 
/**
 * Keep text only.
 */
'KeepTextOnly';
/**
 * Specifies the paste options for table
 *
 * @private
 */
export  type TablePasteOptions = 'InsertAsRows' | 'NestTable' | 'InsertAsColumns' | 'OverwriteCells' | 'DefaultPaste' | 'TextOnly';
/**
 * Specifies the layout type
 */
export  type LayoutType = 
/**
 * Specifies the content to be displayed in multiple pages.
 */
'Pages' | 
/**
 * Specifies the content to be displayed continuously in single page.
 */
'Continuous';
/**
 * Defines Predefined toolbar items.
 */
export  type ToolbarItem = 
/**
 * New option in the toolbar item.
 */
'New' | 
/**
 * Open option in the toolbar item.
 */
'Open' | 
/**
 * Seperator in the toolbar item.
 */
'Separator' | 
/**
 * Undo option in the toolbar item.
 */
'Undo' | 
/**
 * Redo option in the toolbar item.
 */
'Redo' | 
/**
 * Comments option in the toolbar item.
 */
'Comments' | 
/**
 * Track changes option in toolbar item.
 */
'TrackChanges' | 
/**
 * Insert image option in the toolbar item.
 */
'Image' | 
/**
 * Insert Table option in the toolbar item.
 */
'Table' | 
/**
 * Hyperlink option in the toolbar item.
 */
'Hyperlink' | 
/**
 * Bookmark option in the toolbar item.
 */
'Bookmark' | 
/**
 * Table of Contents in the toolbar item.
 */
'TableOfContents' | 
/**
 * Header option in the toolbar item.
 */
'Header' | 
/**
 * Footer option in the toolbar item.
 */
'Footer' | 
/**
 * PageSetup option in the toolbar item.
 */
'PageSetup' | 
/**
 * Insert page number option in the toolbar item.
 */
'PageNumber' | 
/**
 * Break option in the toolbar item.
 */
'Break' | 
/**
 * Find option in the toolbar item.
 */
'Find' | 
/**
 * Local clipboard option in the toolbar item.
 */
'LocalClipboard' | 
/**
 * RestrictEditing option in the toolbar item.
 */
'RestrictEditing' | 
/**
 * Form fiels option in the toolbar item.
 */
'FormFields' | 
/**
 * Update fields options in toolbar item.
 */
'UpdateFields' | 
/**
 * InsertFootnote option in the toolbar item.
 */
'InsertFootnote' | 
/**
 * InsertEndnote option in the toolbar item.
 */
'InsertEndnote';
/**
 * Specifies the type of Text formField
 *
 * @private
 */
export  type TextFormFieldType = 'Text' | 'Number' | 'Date';
/**
 * Specifies the type of Checkbox formField size
 *
 * @private
 */
export  type CheckBoxSizeType = 'Auto' | 'Exactly';
/**
 * Specifies the type of FormField
 *
 * @private
 */
export  type FormFieldType = 'Text' | 'CheckBox' | 'DropDown';
/**
 * Specifies the type of VerticalOrigin
 *
 * @private
 */
export  type VerticalOrigin = 'Margin' | 'Page' | 'Paragraph' | 'Line' | 'TopMargin' | 'BottomMargin' | 'InsideMargin' | 'OutsideMargin';
/**
 * Specifies the type of VerticalAlignment
 *
 * @private
 */
export  type VerticalAlignment = 'None' | 'Top' | 'Center' | 'Bottom' | 'Inside' | 'Outside';
/**
 * Specifies the type of HorizontalOrigin
 *
 * @private
 */
export  type HorizontalOrigin = 'Margin' | 'Page' | 'Column' | 'Character' | 'LeftMargin' | 'RightMargin' | 'InsideMargin' | 'OutsideMargin';
/**
 * Specifies the type of HorizontalAlignment
 *
 * @private
 */
export  type HorizontalAlignment = 'None' | 'Left' | 'Center' | 'Right' | 'Inside' | 'Outside';
/**
 * Specifies the type of Line Format Type
 *
 * @private
 */
export  type LineFormatType = 'None' | 'Solid';
/**
 * Specifies the type of Line Dashing
 *
 * @private
 */
export  type LineDashing = 'Solid' | 'Dash' | 'Dot' | 'DashDot' | 'DashDotDot' | 'DotGEL' | 'DashGEL' | 'LongDashGEL' | 'DashDotGEL' | 'LongDashDotGEL' | 'LongDashDotDotGEL';
/**
 * Specifies the type of Auto Shape Type
 *
 * @private
 */
export  type AutoShapeType = 'Rectangle' | 'Oval';
/**
 * Wrapping style
 *
 * @private
 */
export  type TextWrappingStyle = 'Inline' | 'InFrontOfText' | 'Behind' | 'Square' | 'TopAndBottom' | 'Tight';
/**
 * Wrapping Type
 *
 * @private
 */
export  type TextWrappingType = 'Both' | 'Left' | 'Right' | 'Largest';
/**
 * Form Filling Mode
 */
export  type FormFillingMode = 'Inline' | 'Popup';
/**
 * Specifies the list of Formatting Exceptions
 */
export  type FormattingExceptions = 'Bold' | 'Italic' | 'FontSize' | 'FontFamily' | 'HighlightColor' | 'BaselineAlignment' | 'Strikethrough' | 'Underline' | 'FontColor' | 'TextAlignment' | 'LeftIndent' | 'RightIndent' | 'LineSpacing' | 'LineSpacingType' | 'FirstLineIndent' | 'AfterSpacing' | 'BeforeSpacing' | 'ContextualSpacing' | 'ListFormat';
/**
 * Specifies the Content Control Widget type
 */
export  type ContentControlWidgetType = 'Block' | 'Inline' | 'Row' | 'Cell';
/**
 * Specifies the Content Control type
 */
export  type ContentControlType = 'BuildingBlockGallery' | 'CheckBox' | 'ComboBox' | 'Date' | 'DropDownList' | 'Group' | 'Picture' | 'RepeatingSection' | 'RichText' | 'Text';
/**
 * Specifies collaborative editing action
 */
export  type CollaborativeEditingAction = 'LockContent' | 'SaveContent' | 'UnlockContent';
/**
 * Specifies comment action
 */
export  type CommentAction = 'Delete' | 'Reply' | 'Edit' | 'Resolve' | 'Reopen' | 'Post';
/**
 * Specifies the Footnote type
 */
export  type FootnoteType = 'Footnote' | 'Endnote';
/**
 * Specifies the Restart index for footnote
 */
export  type FootnoteRestartIndex = 'DoNotRestart' | 'RestartForEachSection' | 'RestartForEachPage';
/**
 * Specifies the Footnote and Endnote number format
 */
export  type FootEndNoteNumberFormat = 'Arabic' | 'UpperCaseRoman' | 'LowerCaseRoman' | 'UpperCaseLetter' | 'LowerCaseLetter';
/**
 * Specifies the image format to export.
 */
export  type ImageFormat = 'Png' | 'Jpeg';
/**
 * Represents the compatibility mode of the document.
 */
export  type CompatibilityMode = 
/**
 * Specifies the Word 2003 compatibility mode.
 */
'Word2003' | 
/**
 * Specifies the Word 2007 compatibility mode.
 */
'Word2007' | 
/**
 * Specifies the Word 2010 compatibility mode.
 */
'Word2010' | 
/**
 * Specifies the Word 2013 compatibility mode.
 */
'Word2013';
/**
 * @private
 */
export  enum CharacterRangeType {
    LeftToRight = 0,
    RightToLeft = 1,
    WordSplit = 2,
    Number = 4,
    Tab = 6
}
export  enum FontScriptType {
    English = 0,
    Hindi = 1,
    Korean = 2,
    Chinese = 3,
    Arabic = 4,
    Hebrew = 5,
    Japanese = 6
}
/**
 * Specifies the server action types.
 */
export  type ServerActionType = 'Import' | 'RestrictEditing' | 'SpellCheck' | 'SystemClipboard';
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/base/unique-format.d.ts
/**
 * @private
 */
export  class WUniqueFormat {
    propertiesHash: Dictionary<number, object>;
    referenceCount: number;
    uniqueFormatType: number;
    constructor(type: number);
    /**
     * @private
     */
    isEqual(source: Dictionary<number, object>, property: string, modifiedValue: object): boolean;
    private isNotEqual;
    /**
     * @private
     */
    static getPropertyType(uniqueFormatType: number, property: string): number;
    private static getRowFormatType;
    private static getListFormatType;
    private static getTableFormatType;
    private static getListLevelType;
    private static getShadingPropertyType;
    private static getCellFormatPropertyType;
    private static getBorderPropertyType;
    private static getCharacterFormatPropertyType;
    private static getParaFormatPropertyType;
    private static getSectionFormatType;
    /**
     * @private
     */
    isBorderEqual(source: Dictionary<number, object>, modifiedProperty: string, modifiedValue: Object): boolean;
    /**
     * @private
     */
    isCharacterFormatEqual(source: Dictionary<number, object>, modifiedProperty: string, modifiedValue: object): boolean;
    private isParagraphFormatEqual;
    /**
     * @private
     */
    isCellFormatEqual(source: Dictionary<number, object>, modifiedProperty: string, modifiedValue: Object): boolean;
    /**
     * @private
     */
    isShadingEqual(source: Dictionary<number, object>, modifiedProperty: string, modifiedValue: Object): boolean;
    /**
     * @private
     */
    isRowFormatEqual(source: Dictionary<number, object>, modifiedProperty: string, modifiedValue: Object): boolean;
    /**
     * @private
     */
    isListFormatEqual(source: Dictionary<number, object>, modifiedProperty: string, modifiedValue: Object): boolean;
    /**
     * @private
     */
    isTableFormatEqual(source: Dictionary<number, object>, modifiedProperty: string, modifiedValue: Object): boolean;
    /**
     * @private
     */
    isListLevelEqual(source: Dictionary<number, object>, modifiedProperty: string, modifiedValue: Object): boolean;
    /**
     * @private
     */
    isSectionFormatEqual(source: Dictionary<number, object>, modifiedProperty: string, modifiedValue: Object): boolean;
    /**
     * @private
     */
    cloneItems(format: WUniqueFormat, property: string, value: object, uniqueFormatType: number): void;
    /**
     * @private
     */
    mergeProperties(format: WUniqueFormat): Dictionary<number, object>;
    /**
     * @private
     */
    cloneProperties(): Dictionary<number, object>;
    /**
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/base/unique-formats.d.ts
/**
 * @private
 */
export  class WUniqueFormats {
    /**
     * @private
     */
    items: WUniqueFormat[];
    constructor();
    /**
     * @private
     */
    addUniqueFormat(format: Dictionary<number, object>, type: number): WUniqueFormat;
    /**
     * @private
     */
    updateUniqueFormat(uniqueFormat: WUniqueFormat, property: string, value: object): WUniqueFormat;
    /**
     * @private
     */
    remove(uniqueFormat: WUniqueFormat): void;
    /**
     * @private
     */
    clear(): void;
    /**
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/document-editor-model.d.ts
/**
 * Interface for a class DocumentEditorSettings
 */
export interface DocumentEditorSettingsModel {
    /**
     * Specifies the user preferred Search Highlight Color of Document Editor.
     *
     * @default '#FFE97F'
     */
    searchHighlightColor?: string;
    /**
     * Specifies the user preferred font family of Document Editor.
     * @default ['Algerian','Arial','Calibri','Cambria','CambriaMath','Candara','CourierNew','Georgia','Impact','SegoePrint','SegoeScript','SegoeUI','Symbol','TimesNewRoman','Verdana','Wingdings']
     */
    fontFamilies?: string[];
    /**
     * Form field settings.
     */
    formFieldSettings?: FormFieldSettingsModel;
    /**
     * Collaborative editing settings.
     */
    collaborativeEditingSettings?: CollaborativeEditingSettingsModel;
    /**
     * Specifies the device pixel ratio for the image generated for printing.
     * > Increasing the device pixel ratio will increase the image file size, due to high resolution of image.
     */
    printDevicePixelRatio?: number;
    /**
     * Gets or sets a value indicating whether to use optimized text measuring approach to match Microsoft Word pagination.
     *
     * @default true
     * @aspType bool
     * @returns {boolean} - `true` use optimized text measuring approach to match Microsoft Word pagination;
 otherwise, `false`
     */
    enableOptimizedTextMeasuring?: boolean;
    /**
     * Gets or sets the maximum number of rows allowed while inserting a table in Document editor component.
     * > The maximum value is 32767, as per Microsoft Word application and you can set any value less than 32767 to this property. If you set any value greater than 32767, then Syncfusion Document editor will automatically reset as 32767.
     * @default 32767
     * @returns {number}
     */
    maximumRows?: number;
    /**
     * Gets or sets a value indicating whether to show the hidden characters like spaces, tab, paragraph marks, and breaks.
     * @default false
     * @aspType bool
     * @returns {boolean} - `false` hide the hidden characters like spaces, tab, paragraph marks, and breaks. Otherwise `true`.
     */
    showHiddenMarks?: boolean;
}
/**
 * Interface for a class DocumentSettings
 */
export interface DocumentSettingsModel {
    /**
     * Gets or sets the compatibility mode of the current document.
     *
     * @default `Word2013`
     * @returns {CompatibilityMode}
     */
    compatibilityMode?: CompatibilityMode;
}
/**
 * Interface for a class DocumentEditor
 */
export interface DocumentEditorModel extends base.ComponentModel{
    /**
     * Default Paste Formatting Options
     *
     * @default KeepSourceFormatting
     */
    defaultPasteOption?: PasteOptions;
    /**
     * Layout Type
     *
     * @default Pages
     */
    layoutType?: LayoutType;
    /**
     * Gets or sets the current user.
     *
     * @default ''
     */
    currentUser?: string;
    /**
     * Gets or sets the color used for highlighting the editable ranges or regions of the `currentUser` in Document Editor. The default value is "#FFFF00".
     * > If the visibility of text affected due this highlight color matching with random color applied for the track changes, then modify the color value of this property to resolve text visibility problem.
     *
     * @default '#FFFF00'
     */
    userColor?: string;
    /**
     * Gets or sets the page gap value in document editor
     *
     * @default 20
     */
    pageGap?: number;
    /**
     * Gets or sets the name of the document.
     *
     * @default ''
     */
    documentName?: string;
    /**
     * Defines the width of the DocumentEditor component
     *
     * @default '100%'
     */
    width?: string;
    /**
     * Defines the height of the DocumentEditor component
     *
     * @default '200px'
     */
    height?: string;
    /**
     * Sfdt Service URL
     *
     * @default ''
     */
    serviceUrl?: string;
    /**
     * Gets or sets the zoom factor in document editor.
     *
     * @default 1
     */
    zoomFactor?: number;
    /**
     * Specifies the z-order for rendering that determines whether the dialog is displayed in front or behind of another component.
     *
     * @default 2000
     * @aspType int
     */
    zIndex?: number;
    /**
     * Gets or sets a value indicating whether the document editor is in read only state or not.
     *
     * @default true
     */
    isReadOnly?: boolean;
    /**
     * Gets or sets a value indicating whether print needs to be enabled or not.
     *
     * @default false
     */
    enablePrint?: boolean;
    /**
     * Gets or sets a value indicating whether selection needs to be enabled or not.
     *
     * @default false
     */
    enableSelection?: boolean;
    /**
     * Gets or sets a value indicating whether editor needs to be enabled or not.
     *
     * @default false
     */
    enableEditor?: boolean;
    /**
     * Gets or sets a value indicating whether editor history needs to be enabled or not.
     *
     * @default false
     */
    enableEditorHistory?: boolean;
    /**
     * Gets or sets a value indicating whether Sfdt export needs to be enabled or not.
     *
     * @default false
     */
    enableSfdtExport?: boolean;
    /**
     * Gets or sets a value indicating whether word export needs to be enabled or not.
     *
     * @default false
     */
    enableWordExport?: boolean;
    /**
     * Gets or sets a value indicating whether text export needs to be enabled or not.
     *
     * @default false
     */
    enableTextExport?: boolean;
    /**
     * Gets or sets a value indicating whether options pane is enabled or not.
     *
     * @default false
     */
    enableOptionsPane?: boolean;
    /**
     * Gets or sets a value indicating whether context menu is enabled or not.
     *
     * @default false
     */
    enableContextMenu?: boolean;
    /**
     * Gets or sets a value indicating whether hyperlink dialog is enabled or not.
     *
     * @default false
     */
    enableHyperlinkDialog?: boolean;
    /**
     * Gets or sets a value indicating whether bookmark dialog is enabled or not.
     *
     * @default false
     */
    enableBookmarkDialog?: boolean;
    /**
     * Gets or sets a value indicating whether table of contents dialog is enabled or not.
     *
     * @default false
     */
    enableTableOfContentsDialog?: boolean;
    /**
     * Gets or sets a value indicating whether search module is enabled or not.
     *
     * @default false
     */
    enableSearch?: boolean;
    /**
     * Gets or sets a value indicating whether paragraph dialog is enabled or not.
     *
     * @default false
     */
    enableParagraphDialog?: boolean;
    /**
     * Gets or sets a value indicating whether list dialog is enabled or not.
     *
     * @default false
     */
    enableListDialog?: boolean;
    /**
     * Gets or sets a value indicating whether table properties dialog is enabled or not.
     *
     * @default false
     */
    enableTablePropertiesDialog?: boolean;
    /**
     * Gets or sets a value indicating whether borders and shading dialog is enabled or not.
     *
     * @default false
     */
    enableBordersAndShadingDialog?: boolean;
    /**
     * Gets or sets a value indicating whether notes dialog is enabled or not.
     *
     * @default false
     */
    enableFootnoteAndEndnoteDialog?: boolean;
    /**
     * Gets or sets a value indicating whether margin dialog is enabled or not.
     *
     * @default false
     */
    enablePageSetupDialog?: boolean;
    /**
     * Gets or sets a value indicating whether font dialog is enabled or not.
     *
     * @default false
     */
    enableStyleDialog?: boolean;
    /**
     * Gets or sets a value indicating whether font dialog is enabled or not.
     *
     * @default false
     */
    enableFontDialog?: boolean;
    /**
     * Gets or sets a value indicating whether table options dialog is enabled or not.
     *
     * @default false
     */
    enableTableOptionsDialog?: boolean;
    /**
     * Gets or sets a value indicating whether table dialog is enabled or not.
     *
     * @default false
     */
    enableTableDialog?: boolean;
    /**
     * Gets or sets a value indicating whether image resizer is enabled or not.
     *
     * @default false
     */
    enableImageResizer?: boolean;
    /**
     * Gets or sets a value indicating whether editor need to be spell checked.
     *
     * @default false
     */
    enableSpellCheck?: boolean;
    /**
     * Gets or set a value indicating whether comment is enabled or not
     *
     * @default false
     */
    enableComment?: boolean;
    /**
     * Gets or set a value indicating whether track changes is enabled or not
     *
     * @default false
     */
    enableTrackChanges?: boolean;
    /**
     * Gets or set a value indicating whether form fields is enabled or not.
     *
     * @default false
     */
    enableFormField?: boolean;
    /**
     * Gets or Sets a value indicating whether tab key can be accepted as input or not.
     *
     * @default false
     */
    acceptTab?: boolean;
    /**
     * Gets or Sets a value indicating whether holding Ctrl key is required to follow hyperlink on click. The default value is true.
     *
     * @default true
     */
    useCtrlClickToFollowHyperlink?: boolean;
    /**
     * Gets or sets the page outline color.
     *
     * @default '#000000'
     */
    pageOutline?: string;
    /**
     * Gets or sets a value indicating whether to enable cursor in document editor on read only state or not. The default value is false.
     *
     * @default false
     */
    enableCursorOnReadOnly?: boolean;
    /**
     * Gets or sets a value indicating whether local paste needs to be enabled or not.
     *
     * @default false
     */
    enableLocalPaste?: boolean;
    /**
     * Enable partial lock and edit module.
     *
     * @default false
     */
    enableLockAndEdit?: boolean;
    /**
     * Defines the settings for DocumentEditor customization.
     *
     * @default {}
     */
    documentEditorSettings?: DocumentEditorSettingsModel;
    /**
     * Gets the settings and properties of the document that is opened in Document editor component.
     *
     * @default {}
     */
    documentSettings?: DocumentSettingsModel;
    /**
     * Defines the settings of the DocumentEditor services
     */
    serverActionSettings?: ServerActionSettingsModel;
    /**
     * Add custom headers to XMLHttpRequest.
     *
     * @default []
     */
    headers?: object[];
    /**
     * Show comment in the document.
     *
     * @default false
     */
    showComments?: boolean;
    /**
     * Shows revision changes in the document.
     *
     * @default false
     */
    showRevisions?: boolean;
    /**
     * Triggers whenever document changes in the document editor.
     *
     * @event documentChange
     */
    documentChange?: base.EmitType<DocumentChangeEventArgs>;
    /**
     * Triggers whenever container view changes in the document editor.
     *
     * @event viewChange
     */
    viewChange?: base.EmitType<ViewChangeEventArgs>;
    /**
     * Triggers whenever zoom factor changes in the document editor.
     *
     * @event zoomFactorChange
     */
    zoomFactorChange?: base.EmitType<ZoomFactorChangeEventArgs>;
    /**
     * Triggers whenever selection changes in the document editor.
     *
     * @event selectionChange
     */
    selectionChange?: base.EmitType<SelectionChangeEventArgs>;
    /**
     * Triggers whenever hyperlink is clicked or tapped in the document editor.
     *
     * @event requestNavigate
     */
    requestNavigate?: base.EmitType<RequestNavigateEventArgs>;
    /**
     * Triggers whenever content changes in the document editor.
     *
     * @event contentChange
     */
    contentChange?: base.EmitType<ContentChangeEventArgs>;
    /**
     * Triggers whenever key is pressed in the document editor.
     *
     * @event keyDown
     */
    keyDown?: base.EmitType<DocumentEditorKeyDownEventArgs>;
    /**
     * Triggers whenever search results changes in the document editor.
     *
     * @event searchResultsChange
     */
    searchResultsChange?: base.EmitType<SearchResultsChangeEventArgs>;
    /**
     * Triggers when the component is created
     *
     * @event created
     */
    created?: base.EmitType<Object>;
    /**
     * Triggers when the component is destroyed.
     *
     * @event destroyed
     */
    destroyed?: base.EmitType<Object>;
    /**
     * Triggers while selecting the custom context-menu option.
     *
     * @event customContextMenuSelect
     */
    customContextMenuSelect?: base.EmitType<CustomContentMenuEventArgs>;
    /**
     * Triggers before opening the custom context-menu option.
     *
     * @event customContextMenuBeforeOpen
     */
    customContextMenuBeforeOpen?: base.EmitType<BeforeOpenCloseCustomContentMenuEventArgs>;
    /**
     * Triggers before opening comment pane.
     *
     * @event beforePaneSwitch
     */
    beforePaneSwitch?: base.EmitType<BeforePaneSwitchEventArgs>;
    /**
     * Triggers after inserting comment.
     *
     * @event commentBegin
     */
    commentBegin?: base.EmitType<Object>;
    /**
     * Triggers after posting comment.
     *
     * @event commentEnd
     */
    commentEnd?: base.EmitType<Object>;
    /**
     * Triggers before a file is opened.
     *
     * @event beforeFileOpen
     */
    beforeFileOpen?: base.EmitType<BeforeFileOpenArgs>;
    /**
     * Triggers after inserting comment.
     *
     * @event commentDelete
     */
    commentDelete?: base.EmitType<CommentDeleteEventArgs>;
    /**
     * Triggers on comment actions(Post, edit, reply, resolve, reopen).
     *
     * @event beforeCommentAction
     */
    beforeCommentAction?: base.EmitType<CommentActionEventArgs>;
    /**
     * Triggers when TrackChanges enabled / disabled.
     *
     * @event trackChange
     */
    trackChange?: base.EmitType<TrackChangeEventArgs>;
    /**
     * Triggers before form field fill.
     *
     * @event beforeFormFieldFill
     */
    beforeFormFieldFill?: base.EmitType<FormFieldFillEventArgs>;
    /**
     * Triggers when the server side action fails.
     *
     * @event serviceFailure
     */
    serviceFailure?: base.EmitType<ServiceFailureArgs>;
    /**
     * Triggers after form field fill.
     *
     * @event afterFormFieldFill
     */
    afterFormFieldFill?: base.EmitType<FormFieldFillEventArgs>;
    /**
     * Triggers when the document editor collaborative actions (such as LockContent, SaveContent, UnlockContent) gets completed.
     *
     * @event actionComplete
     */
    actionComplete?: base.EmitType<CollaborativeEditingEventArgs>;
    /**
     * Triggers when user interaction prevented in content control.
     *
     * @event contentControl
     */
    contentControl?: base.EmitType<Object>;
    /**
     * This event is triggered before a server request is started, allows you to modify the XMLHttpRequest object (setting additional headers, if needed).
     */
    beforeXmlHttpRequestSend?: base.EmitType<XmlHttpRequestEventArgs>;
}
/**
 * Interface for a class ServerActionSettings
 */
export interface ServerActionSettingsModel {
    /**
     * Specifies the system clipboard action of Document Editor.
     *
     * @default 'SystemClipboard'
     */
    systemClipboard?: string;
    /**
     * Specifies the spell check action of Document Editor.
     *
     * @default 'SpellCheck'
     */
    spellCheck?: string;
    /**
     * Specifies the restrict editing encryption/decryption action of Document Editor.
     *
     * @default 'RestrictEditing'
     */
    restrictEditing?: string;
    /**
     * Specifies the server action name to lock selected region.
     *
     * @default 'CanLock'
     */
    canLock?: string;
    /**
     * Specifies the server action name to pull pending actions.
     *
     * @default 'GetPendingActions'
     */
    getPendingActions?: string;
}
/**
 * Interface for a class FormFieldSettings
 */
export interface FormFieldSettingsModel {
    /**
     * Get or Set form fields shading color.
     * You can customize shading color in application level, but cannot be exported in file level
     *
     * @default '#cfcfcf'
     */
    shadingColor?: string;
    /**
     * Get or Set whether apply shadings for field or not.
     *
     * @default true
     */
    applyShading?: boolean;
    /**
     * Get or Set field selection color.
     *
     * @default '#cccccc'
     */
    selectionColor?: string;
    /**
     * Get or Set form filling mode type.
     *
     * @default 'Popup'
     */
    formFillingMode?: FormFillingMode;
    /**
     * Get or Set formatting exception.
     *
     * @default []
     */
    formattingExceptions?: FormattingExceptions[];
}
/**
 * Interface for a class CollaborativeEditingSettings
 */
export interface CollaborativeEditingSettingsModel {
    /**
     * Get or set collaborative editing room name.
     *
     * @default ''
     */
    roomName?: string;
    /**
     * Get or set editable region color.
     */
    editableRegionColor?: string;
    /**
     * Get or set locked region color.
     */
    lockedRegionColor?: string;
    /**
     * Get or set timeout for syncing content in milliseconds.
     */
    saveTimeout?: number;
}
/**
 * Interface for a class ContainerServerActionSettings
 */
export interface ContainerServerActionSettingsModel extends ServerActionSettingsModel{
    /**
     * Specifies the load action of Document Editor.
     *
     * @default 'Import'
     */
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/document-editor.d.ts
/**
 * The `DocumentEditorSettings` module is used to provide the customize property of Document Editor.
 */
export  class DocumentEditorSettings extends base.ChildProperty<DocumentEditorSettings> {
    /**
     * Specifies the user preferred Search Highlight Color of Document Editor.
     *
     * @default '#FFE97F'
     */
    searchHighlightColor: string;
    /**
     * Specifies the user preferred font family of Document Editor.
     * @default ['Algerian','Arial','Calibri','Cambria','CambriaMath','Candara','CourierNew','Georgia','Impact','SegoePrint','SegoeScript','SegoeUI','Symbol','TimesNewRoman','Verdana','Wingdings']
     */
    fontFamilies: string[];
    /**
     * Form field settings.
     */
    formFieldSettings: FormFieldSettingsModel;
    /**
     * Collaborative editing settings.
     */
    collaborativeEditingSettings: CollaborativeEditingSettingsModel;
    /**
     * Specifies the device pixel ratio for the image generated for printing.
     * > Increasing the device pixel ratio will increase the image file size, due to high resolution of image.
     */
    printDevicePixelRatio: number;
    /**
     * Gets or sets a value indicating whether to use optimized text measuring approach to match Microsoft Word pagination.
     *
     * @default true
     * @aspType bool
     * @returns {boolean} - `true` use optimized text measuring approach to match Microsoft Word pagination;
 otherwise, `false`
     */
    enableOptimizedTextMeasuring: boolean;
    /**
     * Gets or sets the maximum number of rows allowed while inserting a table in Document editor component.
     * > The maximum value is 32767, as per Microsoft Word application and you can set any value less than 32767 to this property. If you set any value greater than 32767, then Syncfusion Document editor will automatically reset as 32767.
     * @default 32767
     * @returns {number}
     */
    maximumRows: number;
    /**
     * Gets or sets a value indicating whether to show the hidden characters like spaces, tab, paragraph marks, and breaks.
     * @default false
     * @aspType bool
     * @returns {boolean} - `false` hide the hidden characters like spaces, tab, paragraph marks, and breaks. Otherwise `true`.
     */
    showHiddenMarks: boolean;
}
/**
 * Represents the settings and properties of the document that is opened in Document editor component.
 */
export  class DocumentSettings extends base.ChildProperty<DocumentSettings> {
    /**
     * Gets or sets the compatibility mode of the current document.
     *
     * @default `Word2013`
     * @returns {CompatibilityMode}
     */
    compatibilityMode: CompatibilityMode;
}
/**
 * The Document editor component is used to draft, save or print rich text contents as page by page.
 */
export  class DocumentEditor extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    private enableHeaderFooterIn;
    /**
     * @private
     * @returns {boolean} - Returns true if header and footer is enabled.
     */
    enableHeaderAndFooter: boolean;
    /**
     * @private
     */
    viewer: LayoutViewer;
    /**
     * @private
     */
    documentHelper: DocumentHelper;
    /**
     * @private
     */
    isShiftingEnabled: boolean;
    /**
     * @private
     */
    isLayoutEnabled: boolean;
    /**
     * @private
     */
    isPastingContent: boolean;
    /**
     * @private
     */
    parser: SfdtReader;
    private isDocumentLoadedIn;
    private disableHistoryIn;
    /**
     * @private
     */
    findResultsList: string[];
    /**
     * @private
     */
    printModule: Print;
    /**
     * @private
     */
    sfdtExportModule: SfdtExport;
    /**
     * @private
     */
    selectionModule: Selection;
    /**
     * @private
     */
    editorModule: Editor;
    /**
     * @private
     */
    wordExportModule: WordExport;
    /**
     * @private
     */
    textExportModule: TextExport;
    /**
     * @private
     */
    editorHistoryModule: EditorHistory;
    /**
     * @private
     */
    tableOfContentsDialogModule: TableOfContentsDialog;
    /**
     * @private
     */
    tablePropertiesDialogModule: TablePropertiesDialog;
    /**
     * @private
     */
    bordersAndShadingDialogModule: BordersAndShadingDialog;
    /**
     * @private
     */
    listDialogModule: ListDialog;
    /**
     * @private
     */
    styleDialogModule: StyleDialog;
    /**
     * @private
     */
    cellOptionsDialogModule: CellOptionsDialog;
    /**
     * @private
     */
    tableOptionsDialogModule: TableOptionsDialog;
    /**
     * @private
     */
    tableDialogModule: TableDialog;
    /**
     * @private
     */
    spellCheckDialogModule: SpellCheckDialog;
    /**
     * @private
     */
    pageSetupDialogModule: PageSetupDialog;
    /**
     * @private
     */
    footNotesDialogModule: NotesDialog;
    /**
     * @private
     */
    paragraphDialogModule: ParagraphDialog;
    /**
     * @private
     */
    checkBoxFormFieldDialogModule: CheckBoxFormFieldDialog;
    /**
     * @private
     */
    textFormFieldDialogModule: TextFormFieldDialog;
    /**
     * @private
     */
    dropDownFormFieldDialogModule: DropDownFormFieldDialog;
    /**
     * @private
     */
    optionsPaneModule: OptionsPane;
    /**
     * @private
     */
    hyperlinkDialogModule: HyperlinkDialog;
    /**
     * @private
     */
    bookmarkDialogModule: BookmarkDialog;
    /**
     * @private
     */
    stylesDialogModule: StylesDialog;
    /**
     * @private
     */
    contextMenuModule: ContextMenu;
    /**
     * @private
     */
    imageResizerModule: ImageResizer;
    /**
     * @private
     */
    searchModule: Search;
    /**
     * @private
     */
    optimizedModule: Optimized;
    /**
     * @private
     */
    regularModule: Regular;
    private createdTriggered;
    /**
     * Collaborative editing module
     */
    collaborativeEditingModule: CollaborativeEditing;
    /**
     * Holds regular or optimized module based on DocumentEditorSettting `enableOptimizedTextMeasuring` property.
     *
     * @private
     */
    textMeasureHelper: Regular | Optimized;
    /**
     * Default Paste Formatting Options
     *
     * @default KeepSourceFormatting
     */
    defaultPasteOption: PasteOptions;
    /**
     * Layout Type
     *
     * @default Pages
     */
    layoutType: LayoutType;
    /**
     * Gets or sets the current user.
     *
     * @default ''
     */
    currentUser: string;
    /**
     * Gets or sets the color used for highlighting the editable ranges or regions of the `currentUser` in Document Editor. The default value is "#FFFF00".
     * > If the visibility of text affected due this highlight color matching with random color applied for the track changes, then modify the color value of this property to resolve text visibility problem.
     *
     * @default '#FFFF00'
     */
    userColor: string;
    /**
     * Gets or sets the page gap value in document editor
     *
     * @default 20
     */
    pageGap: number;
    /**
     * Gets or sets the name of the document.
     *
     * @default ''
     */
    documentName: string;
    /**
     * @private
     */
    spellCheckerModule: SpellChecker;
    /**
     * Defines the width of the DocumentEditor component
     *
     * @default '100%'
     */
    width: string;
    /**
     * Defines the height of the DocumentEditor component
     *
     * @default '200px'
     */
    height: string;
    /**
     * Sfdt Service URL
     *
     * @default ''
     */
    serviceUrl: string;
    /**
     * Gets or sets the zoom factor in document editor.
     *
     * @default 1
     */
    zoomFactor: number;
    /**
     * Specifies the z-order for rendering that determines whether the dialog is displayed in front or behind of another component.
     *
     * @default 2000
     * @aspType int
     */
    zIndex: number;
    /**
     * Gets or sets a value indicating whether the document editor is in read only state or not.
     *
     * @default true
     */
    isReadOnly: boolean;
    /**
     * Gets or sets a value indicating whether print needs to be enabled or not.
     *
     * @default false
     */
    enablePrint: boolean;
    /**
     * Gets or sets a value indicating whether selection needs to be enabled or not.
     *
     * @default false
     */
    enableSelection: boolean;
    /**
     * Gets or sets a value indicating whether editor needs to be enabled or not.
     *
     * @default false
     */
    enableEditor: boolean;
    /**
     * Gets or sets a value indicating whether editor history needs to be enabled or not.
     *
     * @default false
     */
    enableEditorHistory: boolean;
    /**
     * Gets or sets a value indicating whether Sfdt export needs to be enabled or not.
     *
     * @default false
     */
    enableSfdtExport: boolean;
    /**
     * Gets or sets a value indicating whether word export needs to be enabled or not.
     *
     * @default false
     */
    enableWordExport: boolean;
    /**
     * Gets or sets a value indicating whether text export needs to be enabled or not.
     *
     * @default false
     */
    enableTextExport: boolean;
    /**
     * Gets or sets a value indicating whether options pane is enabled or not.
     *
     * @default false
     */
    enableOptionsPane: boolean;
    /**
     * Gets or sets a value indicating whether context menu is enabled or not.
     *
     * @default false
     */
    enableContextMenu: boolean;
    /**
     * Gets or sets a value indicating whether hyperlink dialog is enabled or not.
     *
     * @default false
     */
    enableHyperlinkDialog: boolean;
    /**
     * Gets or sets a value indicating whether bookmark dialog is enabled or not.
     *
     * @default false
     */
    enableBookmarkDialog: boolean;
    /**
     * Gets or sets a value indicating whether table of contents dialog is enabled or not.
     *
     * @default false
     */
    enableTableOfContentsDialog: boolean;
    /**
     * Gets or sets a value indicating whether search module is enabled or not.
     *
     * @default false
     */
    enableSearch: boolean;
    /**
     * Gets or sets a value indicating whether paragraph dialog is enabled or not.
     *
     * @default false
     */
    enableParagraphDialog: boolean;
    /**
     * Gets or sets a value indicating whether list dialog is enabled or not.
     *
     * @default false
     */
    enableListDialog: boolean;
    /**
     * Gets or sets a value indicating whether table properties dialog is enabled or not.
     *
     * @default false
     */
    enableTablePropertiesDialog: boolean;
    /**
     * Gets or sets a value indicating whether borders and shading dialog is enabled or not.
     *
     * @default false
     */
    enableBordersAndShadingDialog: boolean;
    /**
     * Gets or sets a value indicating whether notes dialog is enabled or not.
     *
     * @default false
     */
    enableFootnoteAndEndnoteDialog: boolean;
    /**
     * Gets or sets a value indicating whether margin dialog is enabled or not.
     *
     * @default false
     */
    enablePageSetupDialog: boolean;
    /**
     * Gets or sets a value indicating whether font dialog is enabled or not.
     *
     * @default false
     */
    enableStyleDialog: boolean;
    /**
     * Gets or sets a value indicating whether font dialog is enabled or not.
     *
     * @default false
     */
    enableFontDialog: boolean;
    /**
     * @private
     */
    fontDialogModule: FontDialog;
    /**
     * Gets or sets a value indicating whether table options dialog is enabled or not.
     *
     * @default false
     */
    enableTableOptionsDialog: boolean;
    /**
     * Gets or sets a value indicating whether table dialog is enabled or not.
     *
     * @default false
     */
    enableTableDialog: boolean;
    /**
     * Gets or sets a value indicating whether image resizer is enabled or not.
     *
     * @default false
     */
    enableImageResizer: boolean;
    /**
     * Gets or sets a value indicating whether editor need to be spell checked.
     *
     * @default false
     */
    enableSpellCheck: boolean;
    /**
     * Gets or set a value indicating whether comment is enabled or not
     *
     * @default false
     */
    enableComment: boolean;
    /**
     * Gets or set a value indicating whether track changes is enabled or not
     *
     * @default false
     */
    enableTrackChanges: boolean;
    /**
     * Gets or set a value indicating whether form fields is enabled or not.
     *
     * @default false
     */
    enableFormField: boolean;
    /**
     * Gets or Sets a value indicating whether tab key can be accepted as input or not.
     *
     * @default false
     */
    acceptTab: boolean;
    /**
     * Gets or Sets a value indicating whether holding Ctrl key is required to follow hyperlink on click. The default value is true.
     *
     * @default true
     */
    useCtrlClickToFollowHyperlink: boolean;
    /**
     * Gets or sets the page outline color.
     *
     * @default '#000000'
     */
    pageOutline: string;
    /**
     * Gets or sets a value indicating whether to enable cursor in document editor on read only state or not. The default value is false.
     *
     * @default false
     */
    enableCursorOnReadOnly: boolean;
    /**
     * Gets or sets a value indicating whether local paste needs to be enabled or not.
     *
     * @default false
     */
    enableLocalPaste: boolean;
    /**
     * Enable partial lock and edit module.
     *
     * @default false
     */
    enableLockAndEdit: boolean;
    /**
     * Defines the settings for DocumentEditor customization.
     *
     * @default {}
     */
    documentEditorSettings: DocumentEditorSettingsModel;
    /**
     * Gets the settings and properties of the document that is opened in Document editor component.
     *
     * @default {}
     */
    documentSettings: DocumentSettingsModel;
    /**
     * Defines the settings of the DocumentEditor services
     */
    serverActionSettings: ServerActionSettingsModel;
    /**
     * Add custom headers to XMLHttpRequest.
     *
     * @default []
     */
    headers: object[];
    /**
     * Show comment in the document.
     *
     * @default false
     */
    showComments: boolean;
    /**
     * Shows revision changes in the document.
     *
     * @default false
     */
    showRevisions: boolean;
    /**
     * Triggers whenever document changes in the document editor.
     *
     * @event documentChange
     */
    documentChange: base.EmitType<DocumentChangeEventArgs>;
    /**
     * Triggers whenever container view changes in the document editor.
     *
     * @event viewChange
     */
    viewChange: base.EmitType<ViewChangeEventArgs>;
    /**
     * Triggers whenever zoom factor changes in the document editor.
     *
     * @event zoomFactorChange
     */
    zoomFactorChange: base.EmitType<ZoomFactorChangeEventArgs>;
    /**
     * Triggers whenever selection changes in the document editor.
     *
     * @event selectionChange
     */
    selectionChange: base.EmitType<SelectionChangeEventArgs>;
    /**
     * Triggers whenever hyperlink is clicked or tapped in the document editor.
     *
     * @event requestNavigate
     */
    requestNavigate: base.EmitType<RequestNavigateEventArgs>;
    /**
     * Triggers whenever content changes in the document editor.
     *
     * @event contentChange
     */
    contentChange: base.EmitType<ContentChangeEventArgs>;
    /**
     * Triggers whenever key is pressed in the document editor.
     *
     * @event keyDown
     */
    keyDown: base.EmitType<DocumentEditorKeyDownEventArgs>;
    /**
     * Triggers whenever search results changes in the document editor.
     *
     * @event searchResultsChange
     */
    searchResultsChange: base.EmitType<SearchResultsChangeEventArgs>;
    /**
     * Triggers when the component is created
     *
     * @event created
     */
    created: base.EmitType<Object>;
    /**
     * Triggers when the component is destroyed.
     *
     * @event destroyed
     */
    destroyed: base.EmitType<Object>;
    /**
     * Triggers while selecting the custom context-menu option.
     *
     * @event customContextMenuSelect
     */
    customContextMenuSelect: base.EmitType<CustomContentMenuEventArgs>;
    /**
     * Triggers before opening the custom context-menu option.
     *
     * @event customContextMenuBeforeOpen
     */
    customContextMenuBeforeOpen: base.EmitType<BeforeOpenCloseCustomContentMenuEventArgs>;
    /**
     * Triggers before opening comment pane.
     *
     * @event beforePaneSwitch
     */
    beforePaneSwitch: base.EmitType<BeforePaneSwitchEventArgs>;
    /**
     * Triggers after inserting comment.
     *
     * @event commentBegin
     */
    commentBegin: base.EmitType<Object>;
    /**
     * Triggers after posting comment.
     *
     * @event commentEnd
     */
    commentEnd: base.EmitType<Object>;
    /**
     * Triggers before a file is opened.
     *
     * @event beforeFileOpen
     */
    beforeFileOpen: base.EmitType<BeforeFileOpenArgs>;
    /**
     * Triggers after inserting comment.
     *
     * @event commentDelete
     */
    commentDelete: base.EmitType<CommentDeleteEventArgs>;
    /**
     * Triggers on comment actions(Post, edit, reply, resolve, reopen).
     *
     * @event beforeCommentAction
     */
    beforeCommentAction: base.EmitType<CommentActionEventArgs>;
    /**
     * Triggers when TrackChanges enabled / disabled.
     *
     * @event trackChange
     */
    trackChange: base.EmitType<TrackChangeEventArgs>;
    /**
     * Triggers before form field fill.
     *
     * @event beforeFormFieldFill
     */
    beforeFormFieldFill: base.EmitType<FormFieldFillEventArgs>;
    /**
     * Triggers when the server side action fails.
     *
     * @event serviceFailure
     */
    serviceFailure: base.EmitType<ServiceFailureArgs>;
    /**
     * Triggers after form field fill.
     *
     * @event afterFormFieldFill
     */
    afterFormFieldFill: base.EmitType<FormFieldFillEventArgs>;
    /**
     * Triggers when the document editor collaborative actions (such as LockContent, SaveContent, UnlockContent) gets completed.
     *
     * @event actionComplete
     */
    actionComplete: base.EmitType<CollaborativeEditingEventArgs>;
    /**
     * Triggers when user interaction prevented in content control.
     *
     * @event contentControl
     */
    contentControl: base.EmitType<Object>;
    /**
     * This event is triggered before a server request is started, allows you to modify the XMLHttpRequest object (setting additional headers, if needed).
     */
    beforeXmlHttpRequestSend: base.EmitType<XmlHttpRequestEventArgs>;
    /**
     * @private
     */
    characterFormat: CharacterFormatProperties;
    /**
     * @private
     */
    paragraphFormat: ParagraphFormatProperties;
    /**
     * @private
     */
    sectionFormat: SectionFormatProperties;
    /**
     * @private
     */
    commentReviewPane: CommentReviewPane;
    /**
     * @private
     */
    trackChangesPane: TrackChangesPane;
    /**
     * @private
     */
    revisionsInternal: RevisionCollection;
    /**
     * Gets the total number of pages.
     *
     * @returns {number} - Returns the page count.
     */
    readonly pageCount: number;
    /**
     * Gets the selection object of the document editor.
     *
     * @default undefined
     * @aspType Selection
     * @returns {Selection} - Returns the selection object.
     */
    readonly selection: Selection;
    /**
     * Gets the editor object of the document editor.
     *
     * @aspType Editor
     * @returns {Editor} - Returns the editor object.
     */
    readonly editor: Editor;
    /**
     * Gets the editor history object of the document editor.
     *
     * @aspType EditorHistory
     * @returns {EditorHistory} - Returns the editor history object.
     */
    readonly editorHistory: EditorHistory;
    /**
     * Gets the search object of the document editor.
     *
     * @aspType Search
     * @returns { Search } - Returns the search object.
     */
    readonly search: Search;
    /**
     * Gets the context menu object of the document editor.
     *
     * @aspType ContextMenu
     * @returns {ContextMenu} - Returns the context menu object.
     */
    readonly contextMenu: ContextMenu;
    /**
     * Gets the spell check dialog object of the document editor.
     *
     * @returns {SpellCheckDialog} - Returns the spell check dialog object.
     */
    readonly spellCheckDialog: SpellCheckDialog;
    /**
     * Gets the spell check object of the document editor.
     *
     * @aspType SpellChecker
     * @returns {SpellChecker} - Returns the spell checker object.
     */
    readonly spellChecker: SpellChecker;
    /**
     * @private
     * @returns {string }- Returns the container id.
     */
    readonly containerId: string;
    /**
     * @private
     * @returns {boolean} - Returns true if document is loaded.
     */
    isDocumentLoaded: boolean;
    /**
     * Gets the revision collection which contains information about changes made from original document
     *
     * @returns {RevisionCollection} - Returns the revision collection object.
     */
    readonly revisions: RevisionCollection;
    /**
     * Determines whether history needs to be enabled or not.
     *
     * @default - false
     * @private
     * @returns {boolean} - Returns true if history module is enabled.
     */
    readonly enableHistoryMode: boolean;
    /**
     * Gets the start text position in the document.
     *
     * @default undefined
     * @private
     * @returns {TextPosition} - Returns the document start.
     */
    readonly documentStart: TextPosition;
    /**
     * Gets the end text position in the document.
     *
     * @default undefined
     * @private
     * @returns {TextPosition} - Returns the document end.
     */
    readonly documentEnd: TextPosition;
    /**
     * @private
     * @returns {TextPosition} - Returns isReadOnlyMode.
     */
    readonly isReadOnlyMode: boolean;
    /**
     * @private
     * @returns {TextPosition} - Returns isSpellCheck.
     */
    readonly isSpellCheck: boolean;
    /**
     * Specifies to enable image resizer option
     *
     * @private
     * @returns {boolean} - Returns enableImageResizerMode.
     */
    readonly enableImageResizerMode: boolean;
    /**
     * Initialize the constructor of DocumentEditor
     *
     * @param {DocumentEditorModel} options - Specifies the document editor model.
     * @param {string | HTMLElement} element - Specifies the element.
     */
    constructor(options?: DocumentEditorModel, element?: string | HTMLElement);
    protected preRender(): void;
    private initHelper;
    protected render(): void;
    /**
     * Get component name
     *
     * @private
     * @returns {string} - Returns module name.
     */
    getModuleName(): string;
    /**
     * Called internally if any of the property value changed.
     *
     * @private
     * @param {DocumentEditorModel} model - Specifies the new model.
     * @param {DocumentEditorModel} oldProp - Specifies the old model.
     * @returns {void}
     */
    onPropertyChanged(model: DocumentEditorModel, oldProp: DocumentEditorModel): void;
    private localizeDialogs;
    /**
     * Set the default character format for document editor
     *
     * @param {CharacterFormatProperties} characterFormat - Specifies the character format.
     * @returns {void}
     */
    setDefaultCharacterFormat(characterFormat: CharacterFormatProperties): void;
    /**
     * Set the default paragraph format for document editor
     *
     * @param {ParagraphFormatProperties} paragraphFormat - Specifies the paragraph format.
     * @returns {void}
     */
    setDefaultParagraphFormat(paragraphFormat: ParagraphFormatProperties): void;
    /**
     * Set the default section format for document editor
     *
     * @param {SectionFormatProperties} sectionFormat - Specifies the section format.
     * @returns {void}
     */
    setDefaultSectionFormat(sectionFormat: SectionFormatProperties): void;
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @private
     * @returns {string} - Returns the persisted data.
     */
    getPersistData(): string;
    private clearPreservedCollectionsInViewer;
    /**
     * @private
     * @returns {HTMLElement} - Returns the document editor element.
     */
    getDocumentEditorElement(): HTMLElement;
    /**
     * @private
     * @returns {void}
     */
    fireContentChange(): void;
    /**
     * @private
     * @returns {void}
     */
    fireDocumentChange(): void;
    /**
     * @private
     * @returns {void}
     */
    fireSelectionChange(): void;
    /**
     * @private
     * @returns {void}
     */
    fireZoomFactorChange(): void;
    /**
     * @private
     * @returns {void}
     */
    fireBeformFieldFill(): void;
    /**
     * @private
     * @returns {void}
     */
    fireAfterFormFieldFill(): void;
    /**
     * @private
     * @param {ServiceFailureArgs} eventArgs - Specifies the event args.
     * @returns {void}
     */
    fireServiceFailure(eventArgs: ServiceFailureArgs): void;
    /**
     * @private
     * @returns {void}
     */
    fireViewChange(): void;
    /**
     * @private
     * @param {string} item - Specifies the menu items.
     * @returns {void}
     */
    fireCustomContextMenuSelect(item: string): void;
    /**
     * @private
     * @param {string[]} item - Specifies the menu items.
     * @returns {void}
     */
    fireCustomContextMenuBeforeOpen(item: string[]): void;
    /**
     * Shows the Paragraph dialog
     *
     * @private
     * @param {WParagraphFormat} paragraphFormat - Specifies the paragraph format.
     * @returns {void}
     */
    showParagraphDialog(paragraphFormat?: WParagraphFormat): void;
    /**
     * Shows the margin dialog
     *
     * @private
     * @returns {void}
     */
    showPageSetupDialog(): void;
    /**
     * Shows the Footnote dialog
     *
     * @private
     * @returns {void}
     */
    showFootNotesDialog(): void;
    /**
     * Shows the font dialog
     *
     * @private
     * @param {WCharacterFormat} characterFormat - Specifies character format.
     * @returns {void}
     */
    showFontDialog(characterFormat?: WCharacterFormat): void;
    /**
     * Shows the cell option dialog
     *
     * @private
     * @returns {void}
     */
    showCellOptionsDialog(): void;
    /**
     * Shows the table options dialog.
     *
     * @private
     * @returns {void}
     */
    showTableOptionsDialog(): void;
    /**
     * Shows insert table dialog
     *
     * @private
     * @returns {void}
     */
    showTableDialog(): void;
    /**
     * Shows the table of content dialog
     *
     * @private
     * @returns {void}
     */
    showTableOfContentsDialog(): void;
    /**
     * Shows the style dialog
     *
     * @private
     * @returns {void}
     */
    showStyleDialog(): void;
    /**
     * Shows the hyperlink dialog
     *
     * @private
     * @returns {void}
     */
    showHyperlinkDialog(): void;
    /**
     * Shows the bookmark dialog.
     *
     * @private
     * @returns {void}
     */
    showBookmarkDialog(): void;
    /**
     * Shows the styles dialog.
     *
     * @private
     * @returns {void}
     */
    showStylesDialog(): void;
    /**
     * Shows the List dialog
     *
     * @private
     * @returns {void}
     */
    showListDialog(): void;
    /**
     * Shows the table properties dialog
     *
     * @private
     * @returns {void}
     */
    showTablePropertiesDialog(): void;
    /**
     * Shows the borders and shading dialog
     *
     * @private
     * @returns {void}
     */
    showBordersAndShadingDialog(): void;
    protected requiredModules(): base.ModuleDeclaration[];
    /**
     * @private
     */
    defaultLocale: Object;
    /**
     * Opens the given Sfdt text.
     *
     * @param {string} sfdtText - Specifies the sfdt text.
     * @returns {void}
     */
    open(sfdtText: string): void;
    /**
     * Scrolls view to start of the given page number if exists.
     *
     * @param {number} pageNumber - Specifies the page number.
     * @returns {void}
     */
    scrollToPage(pageNumber: number): boolean;
    /**
     * Enables all the modules.
     *
     * @returns {void}
     */
    enableAllModules(): void;
    /**
     * Resizes the component and its sub elements based on given size or container size.
     *
     * @param {number} width - Specifies the width
     * @param {number} height - Specifies the hight
     * @returns {void}
     */
    resize(width?: number, height?: number): void;
    /**
     * Get all form field names.
     *
     * @returns {string[]} - Returns form field names.
     */
    getFormFieldNames(): string[];
    /**
     * Get form field by name
     *
     * @param {string} name - Form field name.
     * @returns {TextFormFieldInfo | CheckBoxFormFieldInfo | DropDownFormFieldInfo} - Returns form field info.
     */
    getFormFieldInfo(name: string): TextFormFieldInfo | CheckBoxFormFieldInfo | DropDownFormFieldInfo;
    /**
     * Set form field.
     *
     * @param {string} name - Specifies the form field name
     * @param {TextFormFieldInfo | CheckBoxFormFieldInfo | DropDownFormFieldInfo} formFieldInfo - Form Field info.
     * @returns {void}
     */
    setFormFieldInfo(name: string, formFieldInfo: TextFormFieldInfo | CheckBoxFormFieldInfo | DropDownFormFieldInfo): void;
    /**
     * Reset form field value to default.
     *
     * @param {string} name - Specifies the form field name
     * @returns {void}
     */
    resetFormFields(name?: string): void;
    /**
     * Import form field values.
     *
     * @param {FormFieldData[]} formData - Specifies the form field values.
     * @returns {void}
     */
    /**
     * Export form field values.
     *
     * @returns {FormFieldData[]} - Returns the form field data.
     */
    exportFormData(): FormFieldData[];
    /**
     * Updated fields in document.
     * Currently cross reference field only supported.
     *
     * @returns {void}
     */
    updateFields(): void;
    /**
     * Shifts the focus to the document.
     *
     * @returns {void}
     */
    focusIn(): void;
    /**
     * Fits the page based on given fit type.
     *
     * @param {PageFitType} pageFitType - Default value of ‘pageFitType’ parameter is 'None'
     * @returns {void}
     */
    fitPage(pageFitType?: PageFitType): void;
    /**
     * Export the specified page as Image.
     *
     * @param {number} pageNumber - Specifies the page number starts from index `1`.
     * @param {number} format - Specifies the image format.
     * @returns {HTMLImageElement} - Returns the html image element.
     */
    exportAsImage(pageNumber: number, format: ImageFormat): HTMLImageElement;
    /**
     * Prints the document.
     *
     * @param {Window} printWindow - Default value of 'printWindow' parameter is undefined.
     * @returns {void}
     */
    print(printWindow?: Window): void;
    /**
     * Serialize the data to JSON string.
     *
     * @returns {string} - Returns the data as JSON string.
     */
    serialize(): string;
    /**
     * Saves the document.
     *
     * @param {string} fileName - Specifies the file name.
     * @param {FormatType} formatType - Specifies the format type.
     * @returns {void}
     */
    save(fileName: string, formatType?: FormatType): void;
    /**
     * Saves the document as blob.
     *
     * @param {FormatType} formatType - Specifies the format type.
     * @returns {Promise<Blob>} - Returns the document as blob.
     */
    saveAsBlob(formatType?: FormatType): Promise<Blob>;
    /**
     * Opens a blank document.
     *
     * @returns {void}
     */
    openBlank(): void;
    /**
     * Gets the style names based on given style type.
     *
     * @param {StyleType} styleType - Specifies the style type.
     * @returns {string[]} - Returns the style names.
     */
    getStyleNames(styleType?: StyleType): string[];
    /**
     * Gets the style objects on given style type.
     *
     * @param {StyleType} styleType - Specifies the style type.
     * @returns {Object[]} - Returns the Specifies styles.
     */
    getStyles(styleType?: StyleType): Object[];
    /**
     * Gets the bookmarks.
     *
     * @returns {string[]} - Returns the bookmark collection.
     */
    getBookmarks(): string[];
    /**
     * Shows the dialog.
     *
     * @param {DialogType} dialogType - Specifies the dialog type.
     * @returns {void}
     */
    showDialog(dialogType: DialogType): void;
    /**
     * @private
     * @returns {void}
     */
    toggleShowHiddenMarksInternal(): void;
    /**
     * Shows the options pane.
     *
     * @returns {void}
     */
    showOptionsPane(): void;
    /**
     * Shows the restrict editing pane.
     *
     * @param {boolean} show Specifies to show or hide restrict editing pane.
     * @returns {void}
     */
    showRestrictEditingPane(show?: boolean): void;
    /**
     * Shows the spell check dialog.
     *
     * @private
     * @returns {void}
     */
    showSpellCheckDialog(): void;
    /**
     * Destroys all managed resources used by this object.
     *
     * @returns {void}
     */
    destroy(): void;
    private clearSpellCheck;
    private destroyDependentModules;
}
/**
 * The `ServerActionSettings` module is used to provide the server action methods of Document Editor.
 */
export  class ServerActionSettings extends base.ChildProperty<ServerActionSettings> {
    /**
     * Specifies the system clipboard action of Document Editor.
     *
     * @default 'SystemClipboard'
     */
    systemClipboard: string;
    /**
     * Specifies the spell check action of Document Editor.
     *
     * @default 'SpellCheck'
     */
    spellCheck: string;
    /**
     * Specifies the restrict editing encryption/decryption action of Document Editor.
     *
     * @default 'RestrictEditing'
     */
    restrictEditing: string;
    /**
     * Specifies the server action name to lock selected region.
     *
     * @default 'CanLock'
     */
    canLock: string;
    /**
     * Specifies the server action name to pull pending actions.
     *
     * @default 'GetPendingActions'
     */
    getPendingActions: string;
}
/**
 * Form field settings.
 */
export  class FormFieldSettings extends base.ChildProperty<FormFieldSettings> {
    /**
     * Get or Set form fields shading color.
     * You can customize shading color in application level, but cannot be exported in file level
     *
     * @default '#cfcfcf'
     */
    shadingColor: string;
    /**
     * Get or Set whether apply shadings for field or not.
     *
     * @default true
     */
    applyShading: boolean;
    /**
     * Get or Set field selection color.
     *
     * @default '#cccccc'
     */
    selectionColor: string;
    /**
     * Get or Set form filling mode type.
     *
     * @default 'Popup'
     */
    formFillingMode: FormFillingMode;
    /**
     * Get or Set formatting exception.
     *
     * @default []
     */
    formattingExceptions: FormattingExceptions[];
}
/**
 * Collaborative editing settings.
 */
export  class CollaborativeEditingSettings extends base.ChildProperty<CollaborativeEditingSettings> {
    /**
     * Get or set collaborative editing room name.
     *
     * @default ''
     */
    roomName: string;
    /**
     * Get or set editable region color.
     */
    editableRegionColor: string;
    /**
     * Get or set locked region color.
     */
    lockedRegionColor: string;
    /**
     * Get or set timeout for syncing content in milliseconds.
     */
    saveTimeout: number;
}
/**
 * The `ServerActionSettings` module is used to provide the server action methods of Document Editor Container.
 */
export  class ContainerServerActionSettings extends ServerActionSettings {
    /**
     * Specifies the load action of Document Editor.
     *
     * @default 'Import'
     */
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/comments/comment.d.ts
/**
 * @private
 */
export  class CommentReviewPane {
    owner: DocumentEditor;
    reviewPane: HTMLElement;
    toolbarElement: HTMLElement;
    toolbar: navigations.Toolbar;
    commentPane: CommentPane;
    headerContainer: HTMLElement;
    previousSelectedCommentInt: CommentElementBox;
    isNewComment: boolean;
    private confirmDialog;
    reviewTab: navigations.Tab;
    parentPaneElement: HTMLElement;
    isUserClosed: boolean;
    element: HTMLElement;
    isCommentTabVisible: boolean;
    /**
     * @private
     */
    selectedTab: number;
    previousSelectedComment: CommentElementBox;
    constructor(owner: DocumentEditor);
    selectReviewTab(tab: ReviewTabType): void;
    showHidePane(show: boolean, tab: ReviewTabType): void;
    reviewPaneHelper(args: any): void;
    updateTabHeaderWidth(): void;
    initReviewPane(localValue: base.L10n): void;
    private addReviewTab;
    /**
     * @param {SelectEventArgs} arg - Specify the selection event args.
     * @returns {void}
     */
    private onTabSelection;
    initPaneHeader(localValue: base.L10n): HTMLElement;
    closePane(): void;
    private discardButtonClick;
    private closeDialogUtils;
    initToolbar(localValue: base.L10n): HTMLElement;
    insertComment(): void;
    addComment(comment: CommentElementBox, isNewComment: boolean, selectComment: boolean): void;
    deleteComment(comment: CommentElementBox): void;
    selectComment(comment: CommentElementBox): void;
    resolveComment(comment: CommentElementBox): void;
    reopenComment(comment: CommentElementBox): void;
    addReply(comment: CommentElementBox, newComment: boolean, selectComment: boolean): void;
    navigatePreviousComment(): void;
    navigateNextComment(): void;
    enableDisableItems(): void;
    enableDisableToolbarItem(): void;
    initCommentPane(): void;
    layoutComments(): void;
    private isUnreferredComment;
    clear(): void;
    discardComment(comment: CommentElementBox): void;
    destroy(): void;
}
/**
 * @private
 */
export  class CommentPane {
    private owner;
    parentPane: CommentReviewPane;
    noCommentIndicator: HTMLElement;
    parent: HTMLElement;
    comments: Dictionary<CommentElementBox, CommentView>;
    commentPane: HTMLElement;
    private isEditModeInternal;
    currentEditingComment: CommentView;
    isInsertingReply: boolean;
    isEditMode: boolean;
    constructor(owner: DocumentEditor, pane: CommentReviewPane);
    initCommentPane(): void;
    addComment(comment: CommentElementBox): void;
    updateHeight(): void;
    insertReply(replyComment: CommentElementBox): void;
    insertComment(comment: CommentElementBox): void;
    removeSelectionMark(className: string): void;
    selectComment(comment: CommentElementBox): void;
    getCommentStart(comment: CommentElementBox): CommentCharacterElementBox;
    private getFirstCommentInLine;
    deleteComment(comment: CommentElementBox): void;
    resolveComment(comment: CommentElementBox): void;
    reopenComment(comment: CommentElementBox): void;
    updateCommentStatus(): void;
    clear(): void;
    removeChildElements(): void;
    destroy(): void;
}
/**
 * @private
 */
export  class CommentView {
    private owner;
    comment: CommentElementBox;
    commentPane: CommentPane;
    parentElement: HTMLElement;
    menuBar: HTMLElement;
    commentView: HTMLElement;
    commentText: HTMLElement;
    commentDate: HTMLElement;
    isReply: boolean;
    textAreaContainer: HTMLElement;
    textArea: HTMLTextAreaElement;
    postButton: buttons.Button;
    cancelButton: buttons.Button;
    dropDownButton: splitbuttons.DropDownButton;
    drawerElement: HTMLElement;
    drawerAction: HTMLElement;
    drawerSpanElement: HTMLSpanElement;
    isDrawerExpand: boolean;
    replyViewContainer: HTMLElement;
    replyViewTextBox: HTMLTextAreaElement;
    replyPostButton: buttons.Button;
    replyCancelButton: buttons.Button;
    replyFooter: HTMLElement;
    reopenButton: buttons.Button;
    deleteButton: buttons.Button;
    resolveView: HTMLElement;
    constructor(owner: DocumentEditor, commentPane: CommentPane, comment: CommentElementBox);
    layoutComment(isReply: boolean): HTMLElement;
    private initCommentHeader;
    private selectComment;
    private initCommentView;
    private initEditView;
    private initDateView;
    private initDrawer;
    private initReplyView;
    private initResolveOption;
    private reopenButtonClick;
    private deleteComment;
    private updateReplyTextAreaHeight;
    private enableDisableReplyPostButton;
    private enableReplyView;
    private postReply;
    cancelReply(): void;
    private updateTextAreaHeight;
    showMenuItems(): void;
    hideMenuItemOnMouseLeave(): void;
    hideMenuItems(): void;
    enableDisablePostButton(): void;
    editComment(): void;
    resolveComment(): void;
    reopenComment(): void;
    postComment(): void;
    showCommentView(): void;
    cancelEditing(): void;
    showOrHideDrawer(): void;
    hideDrawer(): void;
    showDrawer(): void;
    private userOptionSelectEvent;
    unwireEvent(): void;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/comments/index.d.ts
/**
 * Comments
 */
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/context-menu.d.ts
/**
 * Context navigations.ContextMenu class
 */
export  class ContextMenu {
    private documentHelper;
    /**
     * @private
     */
    contextMenuInstance: navigations.ContextMenu;
    /**
     * @private
     */
    contextMenu: HTMLElement;
    /**
     * @private
     */
    menuItems: navigations.MenuItemModel[];
    /**
     * @private
     */
    customMenuItems: navigations.MenuItemModel[];
    /**
     * @private
     */
    locale: base.L10n;
    /**
     * @private
     */
    ids: string[];
    /**
     * @private
     */
    enableCustomContextMenu: boolean;
    /**
     * @private
     */
    enableCustomContextMenuBottom: boolean;
    private currentContextInfo;
    private noSuggestion;
    private spellContextItems;
    private customItems;
    /**
     * @param {DocumentHelper} documentHelper - Specifies the document helper.
     * @private
     */
    constructor(documentHelper: DocumentHelper);
    private readonly viewer;
    private readonly spellChecker;
    private getModuleName;
    /**
     * Initialize context menu.
     *
     * @param localValue Localize value.
     * @private
     */
    initContextMenu(localValue: base.L10n, isRtl?: boolean): void;
    /**
     * Disable browser context menu.
     */
    private disableBrowserContextmenu;
    /**
     * Handles context menu items.
     * @param  {string} item Specifies which item is selected.
     * @private
     */
    handleContextMenuItem(item: string): void;
    /**
     * Method to call the selected item
     * @param {string} content
     */
    private callSelectedOption;
    /**
     * To add and customize custom context menu
     * @param {navigations.MenuItemModel[]} items - To add custom menu item
     * @param {boolean} isEnable - To hide existing menu item and show custom menu item alone
     * @param {boolean} isBottom - To show the custom menu item in bottom of the existing item
     * @returns {void}
     */
    addCustomMenu(items: navigations.MenuItemModel[], isEnable?: boolean, isBottom?: boolean): void;
    /**
     * Context navigations.ContextMenu Items.
     * @param {navigations.MenuItemModel[]} menuItems - To add MenuItem to context menu
     * @private
     */
    addMenuItems(menuItems: navigations.MenuItemModel[]): navigations.MenuItemModel[];
    /**
     * Handles on context menu key pressed.
     * @param  {MouseEvent} event
     * @private
     */
    onContextMenuInternal: (event: MouseEvent | TouchEvent) => void;
    /**
     * Opens context menu.
     * @param {MouseEvent | TouchEvent} event
     */
    private showContextMenuOnSel;
    /**
     * Method to hide spell context items
     */
    hideSpellContextItems(): void;
    /**
     * Method to process suggestions to add in context menu
     * @param {any} allSuggestions
     * @param {string[]} splittedSuggestion
     * @param {MouseEvent} event
     * @private
     */
    processSuggestions(allSuggestions: any, splittedSuggestion: string[], event: MouseEvent | TouchEvent): void;
    /**
     * Method to add inline menu
     * @private
     */
    constructContextmenu(allSuggestion: any[], splittedSuggestion: any): any[];
    private showHideElements;
    /**
     * Disposes the internal objects which are maintained.
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/dialogs/bookmark-dialog.d.ts
/**
 * The Bookmark dialog is used to add, navigate or delete bookmarks.
 */
export  class BookmarkDialog {
    /**
     * @private
     */
    documentHelper: DocumentHelper;
    private target;
    private listviewInstance;
    private textBoxInput;
    private addButton;
    private deleteButton;
    private gotoButton;
    /**
     * @param {DocumentHelper} documentHelper - Specifies the document helper.
     * @private
     */
    constructor(documentHelper: DocumentHelper);
    private getModuleName;
    /**
     * @private
     * @param {base.L10n} localValue - Specifies the locale.
     * @param {string[]} bookmarks - Specifies bookmark collection.
     * @param {boolean} isRtl - Specifies is rtl.
     * @returns {void}
     */
    initBookmarkDialog(localValue: base.L10n, bookmarks: string[], isRtl?: boolean): void;
    /**
     * @private
     * @returns {void}
     */
    show(): void;
    /**
     * @private
     * @returns {void}
     */
    onKeyUpOnTextBox: () => void;
    private enableOrDisableButton;
    /**
     * @private
     * @returns {void}
     */
    private addBookmark;
    private selectHandler;
    private focusTextBox;
    private removeObjects;
    /**
     * @private
     * @returns {void}
     */
    private gotoBookmark;
    /**
     * @private
     * @returns {void}
     */
    private deleteBookmark;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/dialogs/borders-and-shading-dialog.d.ts
/**
 * The Borders and Shading dialog is used to modify borders and shading options for selected table or cells.
 */
export  class BordersAndShadingDialog {
    documentHelper: DocumentHelper;
    private dialog;
    private target;
    private cellFormat;
    private tableFormat;
    private paragraphFormat;
    private borderStyle;
    private borderColorPicker;
    private noneDiv;
    private boxDiv;
    private allDiv;
    private customDiv;
    private noneDivTransparent;
    private boxDivTransparent;
    private allDivTransparent;
    private customDivTransparent;
    private previewDiv;
    private previewRightDiagonalDiv;
    private previewLeftDiagonalDiv;
    private previewVerticalDiv;
    private previewHorizontalDiv;
    private previewDivTopTopContainer;
    private previewDivTopTop;
    private previewDivTopCenterContainer;
    private previewDivTopCenter;
    private previewDivTopBottomContainer;
    private previewDivTopBottom;
    private previewDivLeftDiagonalContainer;
    private previewDivLeftDiagonal;
    private previewDivBottomLeftContainer;
    private previewDivBottomLeft;
    private previewDivBottomcenterContainer;
    private previewDivBottomcenter;
    private previewDivBottomRightContainer;
    private previewDivBottomRight;
    private previewDivDiagonalRightContainer;
    private previewDivDiagonalRight;
    private previewDivTopTopTransParent;
    private previewDivTopCenterTransParent;
    private previewDivTopBottomTransParent;
    private previewDivLeftDiagonalTransParent;
    private previewDivBottomLeftTransparent;
    private previewDivBottomcenterTransparent;
    private previewDivBottomRightTransparent;
    private previewDivDiagonalRightTransparent;
    private shadingContiner;
    private shadingColorPicker;
    private ulelementShading;
    private borderWidth;
    private isShadingChanged;
    /**
     * @param {DocumentHelper} documentHelper - Specifies the document helper.
     * @private
     */
    constructor(documentHelper: DocumentHelper);
    private getModuleName;
    /**
     * @private
     * @param {base.L10n} localeValue - Specifies the locale.
     * @param {boolean} isRtl - Specifies is rtl.
     * @returns {void}
     */
    initBordersAndShadingsDialog(localeValue: base.L10n, isRtl?: boolean): void;
    /**
     * @private
     * @returns {void}
     */
    private applyBordersShadingsProperties;
    private applyFormat;
    private getBorder;
    private checkClassName;
    /**
     * @private
     * @returns {void}
     */
    closeDialog: () => void;
    /**
     * @private
     * @returns {void}
     */
    private closeBordersShadingsDialog;
    /**
     * @private
     * @returns {void}
     */
    show(): void;
    /**
     * @private
     * @param {Event} event - Specifies the event args.
     * @returns {void}
     */
    private handleSettingCheckBoxAction;
    private updateClassForSettingDivElements;
    private setSettingPreviewDivElement;
    private isShowHidePreviewTableElements;
    /**
     * @private
     * @param {Event} event - Specifies the event args.
     * @returns {void}
     */
    private handlePreviewCheckBoxAction;
    private handlePreviewCheckBoxShowHide;
    private showHidePreviewDivElements;
    private setPropertyPreviewDivElement;
    /**
     * @private
     * @returns {void}
     */
    private applyTableCellPreviewBoxes;
    /**
     * @private
     * @param {ColorPickerEventArgs} args - Specifies the event args.
     * @returns {void}
     */
    private applyPreviewTableBackgroundColor;
    /**
     * @private
     * @param {ColorPickerEventArgs} args - Specifies the event args.
     * @returns {void}
     */
    private applyPreviewTableBorderColor;
    private loadBordersShadingsPropertiesDialog;
    private getSelectionBorderFormat;
    private copyToBorder;
    private cloneBorders;
    private getLineStyle;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/dialogs/bullets-and-numbering-dialog.d.ts
/**
 * The Bullets and Numbering dialog is used to apply list format for a paragraph style.
 */
export  class BulletsAndNumberingDialog {
    documentHelper: DocumentHelper;
    private target;
    private isBullet;
    private symbol;
    private fontFamily;
    private numberFormat;
    private listLevelPattern;
    private listFormat;
    private abstractList;
    private tabObj;
    /**
     * @private
     */
    numberListDiv: HTMLElement;
    /**
     * @private
     */
    bulletListDiv: HTMLElement;
    /**
     * @param {DocumentHelper} documentHelper - Specifies the document helper.
     * @private
     */
    constructor(documentHelper: DocumentHelper);
    /**
     * @private
     * @returns {string} Returns module name
     */
    getModuleName(): string;
    /**
     * @private
     * @param {base.L10n} locale - Specifies the locale.
     * @returns {void}
     */
    initNumberingBulletDialog(locale: base.L10n): void;
    private onTabSelect;
    private createNumberList;
    private createNumberListTag;
    private createNumberNoneListTag;
    private createBulletListTag;
    private createBulletList;
    /**
     * @private
     * @param {WListFormat} listFormat - Specifies the list format.
     * @param {WAbstractList} abstractList - Specifies the abstract list.
     * @returns {void}
     */
    showNumberBulletDialog(listFormat: WListFormat, abstractList: WAbstractList): void;
    /**
     * @param args
     * @private
     */
    numberListClick: (args: any) => void;
    private setActiveElement;
    /**
     * @param args
     * @private
     */
    bulletListClick: (args: any) => void;
    /**
     * @private
     * @returns {void}
     */
    loadNumberingBulletDialog: () => void;
    /**
     * @private
     * @returns {void}
     */
    closeNumberingBulletDialog: () => void;
    /**
     * @private
     * @returns {void}
     */
    onCancelButtonClick: () => void;
    /**
     * @private
     * @returns {void}
     */
    onOkButtonClick: () => void;
    /**
     * @private
     * @returns {void}
     */
    unWireEventsAndBindings(): void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/dialogs/cell-options-dialog.d.ts
/**
 * The Cell options dialog is used to modify margins of selected cells.
 */
export  class CellOptionsDialog {
    /**
     * @private
     */
    documentHelper: DocumentHelper;
    owner: LayoutViewer;
    /**
     * @private
     */
    dialog: popups.Dialog;
    /**
     * @private
     */
    target: HTMLElement;
    private sameAsTableCheckBox;
    /**
     * @private
     */
    sameAsTable: boolean;
    /**
     * @private
     */
    topMarginBox: inputs.NumericTextBox;
    /**
     * @private
     */
    leftMarginBox: inputs.NumericTextBox;
    /**
     * @private
     */
    bottomMarginBox: inputs.NumericTextBox;
    /**
     * @private
     */
    rightMarginBox: inputs.NumericTextBox;
    /**
     * @private
     */
    cellFormatIn: WCellFormat;
    /**
     * @param {DocumentHelper} documentHelper - Specifies the document helper.
     * @private
     */
    constructor(documentHelper: DocumentHelper);
    /**
     * @private
     * @returns {WCellFormat} - Returns cell format.
     */
    readonly cellFormat: WCellFormat;
    private getModuleName;
    /**
     * @private
     * @param {base.L10n} localValue - Specifies the locale.
     * @param {boolean} isRtl - Specifies is rtl.
     * @returns {void}
     */
    initCellMarginsDialog(localValue: base.L10n, isRtl?: boolean): void;
    /**
     * @private
     * @returns {void}
     */
    show(): void;
    /**
     * @private
     * @returns {void}
     */
    removeEvents: () => void;
    /**
     * @private
     * @returns {void}
     */
    changeSameAsTable: () => void;
    /**
     * @private
     * @returns {void}
     */
    loadCellMarginsDialog(): void;
    private loadCellProperties;
    /**
     * @private
     * @returns {void}
     */
    applyTableCellProperties: () => void;
    /**
     * @private
     * @param {WCellFormat} cellFormat Specifies cell format.
     * @returns {void}
     */
    applySubCellOptions(cellFormat: WCellFormat): void;
    applyCellMarginValue(row: TableRowWidget, start: TextPosition, end: TextPosition, cellFormat: WCellFormat): void;
    private applyCellMarginsInternal;
    private applyCellMarginsForCells;
    private iterateCells;
    private applySubCellMargins;
    private applyTableOptions;
    /**
     * @private
     * @returns {void}
     */
    closeCellMarginsDialog: () => void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
    /**
     * @private
     * @param {CellOptionsDialog | TableOptionsDialog} dialog - Specifies cell options dialog.
     * @param {HTMLDivElement} div - Specifies the html element.
     * @param {base.L10n} locale - Specifies the locale
     * @returns {void}
     */
    static getCellMarginDialogElements(dialog: CellOptionsDialog | TableOptionsDialog, div: HTMLDivElement, locale: base.L10n, cellOptions: boolean): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/dialogs/font-dialog.d.ts
/**
 * The Font dialog is used to modify formatting of selected text.
 */
export  class FontDialog {
    private fontStyleInternal;
    documentHelper: DocumentHelper;
    private target;
    private fontNameList;
    private fontStyleText;
    private fontSizeText;
    private colorPicker;
    private fontColorDiv;
    private underlineDrop;
    private strikethroughBox;
    private doublestrikethrough;
    private superscript;
    private subscript;
    private allcaps;
    private bold;
    private italic;
    private underline;
    private strikethrough;
    private baselineAlignment;
    private fontSize;
    private fontFamily;
    private fontColor;
    private allCaps;
    private isListDialog;
    /**
     * @private
     */
    characterFormat: WCharacterFormat;
    /**
     * @private
     * @returns {string} returns font style
     */
    /**
    * @private
    * @param {string} value Specifies font style
    */
    fontStyle: string;
    /**
     * @param {DocumentHelper} documentHelper - Specifies the document helper.
     * @private
     */
    constructor(documentHelper: DocumentHelper);
    /**
     * @private
     * @returns {string} Returns module name
     */
    getModuleName(): string;
    private createInputElement;
    /**
     * @private
     * @param {base.L10n} locale - Specifies the locale.
     * @param {boolean} isRtl - Specifies is rtl.
     * @returns {void}
     */
    initFontDialog(locale: base.L10n, isRtl?: boolean): void;
    private getFontSizeDiv;
    private getFontDiv;
    /**
     * @param characterFormat
     * @private
     */
    showFontDialog(characterFormat?: WCharacterFormat, isListDialog?: boolean): void;
    /**
     * @private
     * @returns {void}
     */
    loadFontDialog: () => void;
    /**
     * @private
     * @returns {void}
     */
    closeFontDialog: () => void;
    /**
     * @private
     * @returns {void}
     */
    onCancelButtonClick: () => void;
    /**
     * @private
     * @returns {void}
     */
    onInsertFontFormat: () => void;
    /**
     * @private
     * @param {Selection} selection Specifies the selection
     * @param {WCharacterFormat} format Specifies the character format
     * @returns {void}
     */
    onCharacterFormat(selection: Selection, format: WCharacterFormat): void;
    private enableCheckBoxProperty;
    /**
     * @private
     * @returns {void}
     */
    private fontSizeUpdate;
    /**
     * @private
     * @returns {void}
     */
    private fontStyleUpdate;
    /**
     * @private
     * @returns {void}
     */
    private fontFamilyUpdate;
    /**
     * @private
     * @returns {void}
     */
    private underlineUpdate;
    /**
     * @private
     * @returns {void}
     */
    private fontColorUpdate;
    /**
     * @private
     * @returns {void}
     */
    private singleStrikeUpdate;
    /**
     * @private
     * @returns {void}
     */
    private doubleStrikeUpdate;
    /**
     * @private
     * @returns {void}
     */
    private superscriptUpdate;
    /**
     * @private
     * @returns {void}
     */
    private subscriptUpdate;
    /**
     * @private
     * @returns {void}
     */
    private allcapsUpdate;
    /**
     * @private
     * @returns {void}
     */
    unWireEventsAndBindings(): void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/dialogs/form-field-check-box-dialog.d.ts
/**
 * Form field checkbox dialog is used to modify the value in checkbox form field.
 */
export  class CheckBoxFormFieldDialog {
    private target;
    private owner;
    private autoButton;
    private exactButton;
    private notCheckedButton;
    private checkedButton;
    private bookmarkInputText;
    private tooltipInputText;
    private checBoxEnableElement;
    private exactlyNumber;
    private exactNumberDiv;
    private fieldBegin;
    /**
     * @param {DocumentHelper} owner - Specifies the document helper.
     * @private
     */
    constructor(owner: DocumentEditor);
    private readonly documentHelper;
    private getModuleName;
    /**
     * @private
     * @param {L10n} locale - Specifies the locale.
     * @param {boolean} isRtl - Specifies is rtl.
     * @returns {void}
     */
    private initCheckBoxDialog;
    /**
     * @private
     * @returns {void}
     */
    show(): void;
    /**
     * @private
     * @returns {void}
     */
    loadCheckBoxDialog(): void;
    /**
     * @private
     * @param {buttons.ChangeArgs} event - Specifies the event args.
     * @returns {void}
     */
    changeBidirectional: (event: buttons.ChangeArgs) => void;
    /**
     * @private
     * @param {buttons.ChangeArgs} event - Specifies the event args.
     * @returns {void}
     */
    changeBidirect: (event: buttons.ChangeArgs) => void;
    /**
     * @private
     * @returns {void}
     */
    onCancelButtonClick: () => void;
    /**
     * @private
     * @returns {void}
     */
    insertCheckBoxField: () => void;
    /**
     * @private
     * @returns {void}
     */
    private closeCheckBoxField;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/dialogs/form-field-drop-down-dialog.d.ts
/**
 * Form field drop-down dialog is used to modify the value in drop-down form field.
 */
export  class DropDownFormFieldDialog {
    private target;
    private owner;
    private drpDownItemsInput;
    private listviewInstance;
    private addButton;
    private editButton;
    private removeButton;
    private tooltipInput;
    private bookmarkInput;
    private dropDownEnable;
    private moveUpButton;
    private moveDownButton;
    private currentSelectedItem;
    private dropDownInstance;
    private fieldBegin;
    private dropDownItems;
    constructor(owner: DocumentEditor);
    private readonly documentHelper;
    private getModuleName;
    /**
     * @private
     * @param {L10n} localValue - Specifies the locale value
     * @param {boolean} isRtl - Specifies the is rtl
     * @returns {void}
     */
    private initTextDialog;
    /**
     * @private
     * @returns {void}
     */
    show(): void;
    /**
     * @private
     * @returns {void}
     */
    loadDropDownDialog(): void;
    private updateList;
    /**
     * @private
     * @returns {void}
     */
    addItemtoList: () => void;
    /**
     * @private
     * @returns {void}
     */
    removeItemFromList: () => void;
    /**
     * @private
     * @returns {void}
     */
    private selectHandler;
    /**
     * @private
     * @returns {void}
     */
    moveUpItem: () => void;
    /**
     * @private
     * @returns {void}
     */
    moveDownItem: () => void;
    private getSelectedIndex;
    private moveUp;
    private moveDown;
    /**
     * @private
     * @returns {void}
     */
    onKeyUpOnTextBox: () => void;
    private enableOrDisableButton;
    /**
     * @private
     * @returns {void}
     */
    onCancelButtonClick: () => void;
    /**
     * @private
     * @returns {void}
     */
    insertDropDownField: () => void;
    /**
     * @private
     * @returns {void}
     */
    private closeDropDownField;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/dialogs/form-field-popup.d.ts
/**
 * @private
 */
export  class FormFieldPopUp {
    private target;
    private textBoxContainer;
    private textBoxInput;
    private numberInput;
    private dateInput;
    private dropDownInput;
    private numbericInput;
    private popupObject;
    private owner;
    private formField;
    private textBoxInstance;
    private numericTextBoxInstance;
    private datePickerInstance;
    private ddlInstance;
    private dataPickerOkButton;
    /**
     * @param {DocumentEditor} owner - Specifies the document editor.
     * @private
     */
    constructor(owner: DocumentEditor);
    private initPopup;
    private initTextBoxInput;
    private initNumericTextBox;
    private initDatePicker;
    private initDropDownList;
    /**
     * @returns {void}
     */
    private applyTextFormFieldValue;
    /**
     * @returns {void}
     */
    private applyNumberFormFieldValue;
    /**
     * @returns {void}
     */
    private applyDateFormFieldValue;
    /**
     * @returns {void}
     */
    private applyDropDownFormFieldValue;
    /**
     * @param {ChangedEventArgs} args - Specifies the event args.
     * @returns {void}
     */
    private enableDisableDatePickerOkButton;
    /**
     * @private
     * @param {FieldElementBox} formField - Specifies the field element.
     * @returns {void}
     */
    showPopUp(formField: FieldElementBox): void;
    /**
     * @private
     * @returns {void}
     */
    private closeButton;
    /**
     * @private
     * @returns {void}
     */
    hidePopup: () => void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/dialogs/form-field-text-dialog.d.ts
/**
 * Form field text dialog is used to modify the value in text form field.
 */
export  class TextFormFieldDialog {
    private target;
    private owner;
    private defaultTextInput;
    private maxLengthNumber;
    private tooltipTextInput;
    private bookmarkTextInput;
    private fillInEnable;
    private defaultTextLabel;
    private defaultTextDiv;
    private textFormatLabel;
    private typeDropDown;
    private textFormatDropDown;
    private fieldBegin;
    private localObj;
    /**
     * @param {DocumentHelper} owner - Specifies the document helper.
     * @private
     */
    constructor(owner: DocumentEditor);
    private readonly documentHelper;
    private getModuleName;
    /**
     * @private
     * @param {base.L10n} locale - Specifies the locale.
     * @returns {void}
     */
    private initTextDialog;
    /**
     * @private
     * @returns {void}
     */
    show(): void;
    /**
     * @private
     * @param {dropdowns.ChangeEventArgs} args - Specifies the event args.
     * @returns {void}
     */
    changeTypeDropDown(args: dropdowns.ChangeEventArgs): void;
    /**
     * @private
     * @returns {void}
     */
    loadTextDialog(local?: base.L10n): void;
    /**
     * @private
     * @returns {void}
     */
    updateTextFormtas: () => void;
    private updateFormats;
    /**
     * @private
     * @returns {void}
     */
    onCancelButtonClick: () => void;
    /**
     * @private
     * @returns {boolean} returns is valid date format.
     */
    isValidDateFormat(): boolean;
    /**
     * @private
     * @returns {void}
     */
    insertTextField: () => void;
    /**
     * @private
     * @returns {void}
     */
    private closeTextField;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/dialogs/hyperlink-dialog.d.ts
/**
 * The Hyperlink dialog is used to insert or edit hyperlink at selection.
 */
export  class HyperlinkDialog {
    private displayText;
    private navigationUrl;
    private displayTextBox;
    private screenTipTextBox;
    private screenTipText;
    private addressText;
    private urlTextBox;
    private insertButton;
    private bookmarkDropdown;
    private bookmarkCheckbox;
    private bookmarkDiv;
    private target;
    /**
     * @private
     */
    documentHelper: DocumentHelper;
    private bookmarks;
    private localObj;
    /**
     * @param {DocumentHelper} documentHelper - Specifies the document helper.
     * @private
     */
    constructor(documentHelper: DocumentHelper);
    private getModuleName;
    /**
     * @private
     * @param {base.L10n} localValue - Specifies the locale value
     * @param {boolean} isRtl - Specifies the is rtl
     * @returns {void}
     */
    initHyperlinkDialog(localValue: base.L10n, isRtl?: boolean): void;
    /**
     * @private
     * @returns {void}
     */
    show(): void;
    /**
     * @private
     * @returns {void}
     */
    hide(): void;
    /**
     * @private
     * @param {KeyboardEvent} event - Specifies the event args.
     * @returns {void}
     */
    onKeyUpOnUrlBox: (event: KeyboardEvent) => void;
    /**
     * @private
     * @returns {void}
     */
    onKeyUpOnDisplayBox: () => void;
    onScreenTipTextBox: () => void;
    private enableOrDisableInsertButton;
    /**
     * @private
     * @returns {void}
     */
    onInsertButtonClick: () => void;
    /**
     * @private
     * @returns {void}
     */
    onCancelButtonClick: () => void;
    /**
     * @private
     * @returns {void}
     */
    loadHyperlinkDialog: () => void;
    /**
     * @private
     * @returns {void}
     */
    closeHyperlinkDialog: () => void;
    /**
     * @private
     * @returns {void}
     */
    onInsertHyperlink(): void;
    /**
     * @private
     * @param {CheckBoxChangeArgs} args - Specifies the event args.
     * @returns {void}
     */
    private onUseBookmarkChange;
    /**
     * @private
     * @returns {void}
     */
    private onBookmarkchange;
    /**
     * @private
     * @returns {void}
     */
    clearValue(): void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/dialogs/index.d.ts
/**
 * Export dialogs
 */
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/dialogs/list-dialog.d.ts
/**
 * The List dialog is used to create or modify lists.
 */
export  class ListDialog {
    /**
     * @private
     */
    dialog: popups.Dialog;
    private target;
    /**
     * @private
     */
    documentHelper: DocumentHelper;
    private viewModel;
    private startAt;
    private textIndent;
    private alignedAt;
    private listLevelElement;
    private followNumberWith;
    private numberStyle;
    private numberFormat;
    private restartBy;
    private formatInfoToolTip;
    private numberFormatDiv;
    /**
     * @private
     */
    isListCharacterFormat: boolean;
    /**
     * @private
     * @returns {WListLevel} Returns list level
     */
    readonly listLevel: WListLevel;
    /**
     * @private
     * @returns {WList} Returns list
     */
    readonly list: WList;
    /**
     * @private
     * @returns {number} Returns level number
     */
    readonly levelNumber: number;
    /**
     * @param {DocumentHelper} documentHelper - Specifies the document helper.
     * @private
     */
    constructor(documentHelper: DocumentHelper);
    private readonly owner;
    /**
     * @private
     * @returns {string} Returns module name
     */
    getModuleName(): string;
    /**
     * @private
     * @returns {void}
     */
    showListDialog(): void;
    /**
     * Shows the table properties dialog
     *
     * @private
     * @param {base.L10n} locale - Specifies the locale value
     * @param {boolean} isRtl - Specifies the is rtl
     * @returns {void}
     */
    initListDialog(locale: base.L10n, isRtl?: boolean): void;
    private wireAndBindEvent;
    /**
     * @private
     * @param {ChangeEventArgs} args - Specifies the change event args.
     * @returns {void}
     */
    private onTextIndentChanged;
    /**
     * @private
     * @param {ChangeEventArgs} args - Specifies the change event args.
     * @returns {void}
     */
    private onStartValueChanged;
    /**
     * @private
     * @param {ChangeEventArgs} args - Specifies the change event args.
     * @returns {void}
     */
    private onListLevelValueChanged;
    /**
     * @private
     * @param {any} args - Specifies the change event args.
     * @returns {void}
     */
    private onNumberFormatChanged;
    /**
     * @private
     * @param {ChangeEventArgs} args - Specifies the change event args.
     * @returns {void}
     */
    private onAlignedAtValueChanged;
    private updateRestartLevelBox;
    /**
     * @private
     * @param {ChangeEventArgs} args - Specifies the change event args.
     * @returns {void}
     */
    private onFollowCharacterValueChanged;
    /**
     * @private
     * @param {ChangeEventArgs} args - Specifies the change event args.
     * @returns {void}
     */
    private onLevelPatternValueChanged;
    private listPatternConverter;
    private followCharacterConverter;
    /**
     * @private
     * @returns {void}
     */
    private loadListDialog;
    private calculateAlignedAt;
    private updateDialogValues;
    /**
     * @private
     * @returns {void}
     */
    private showFontDialog;
    /**
     * @private
     */
    updateCharacterFormat(format: WCharacterFormat): void;
    /**
     * @private
     * @returns {void}
     */
    private onApplyList;
    /**
     * @private
     * @returns {void}
     */
    private onCancelButtonClick;
    /**
     * @private
     * @returns {void}
     */
    private closeListDialog;
    private disposeBindingForListUI;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/dialogs/list-view-model.d.ts
/**
 * List view model implementation
 *
 * @private
 */
export  class ListViewModel {
    private listIn;
    private levelNumberIn;
    dialog: ListDialog;
    levelNumber: number;
    list: WList;
    readonly listLevel: WListLevel;
    listLevelPattern: ListLevelPattern;
    followCharacter: FollowCharacterType;
    /**
     * @private
     */
    constructor();
    private createList;
    private addListLevels;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/dialogs/notes-dialog.d.ts
/**
 * The notes dialog is used to insert footnote.
 */
export  class NotesDialog {
    private footCount;
    private target;
    /**
     * @private
     */
    documentHelper: DocumentHelper;
    editor: Editor;
    private notesList;
    private startValueTextBox;
    private list;
    /**
     * @private
     */
    private noteNumberFormat;
    private sectionFormat;
    /**
     * @param {DocumentHelper} documentHelper - Specifies the document helper.
     * @private
     */
    constructor(documentHelper: DocumentHelper);
    private getModuleName;
    /**
     * @private
     * @param {base.L10n} localValue - Specifies the locale value
     * @param {boolean} isRtl - Specifies the is rtl
     * @returns {void}
     */
    notesDialog(localValue: base.L10n, isRtl?: boolean): void;
    /**
     * @private
     * @returns {void}
     */
    show(): void;
    /**
     * @private
     * @returns {void}
     */
    onCancelButtonClick: () => void;
    /**
     * @private
     * @returns {void}
     */
    loadFontDialog: () => void;
    /**
     * @private
     * @returns {void}
     */
    onInsertFootnoteClick: () => void;
    private types;
    private reversetype;
    private endnoteListValue;
    /**
     * @private
     * @returns {void}
     */
    unWireEventsAndBindings: () => void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/dialogs/page-setup-dialog.d.ts
/**
 * The Page setup dialog is used to modify formatting of selected sections.
 */
export  class PageSetupDialog {
    private target;
    /**
     * @private
     */
    documentHelper: DocumentHelper;
    /**
     * @private
     */
    topMarginBox: inputs.NumericTextBox;
    /**
     * @private
     */
    bottomMarginBox: inputs.NumericTextBox;
    /**
     * @private
     */
    leftMarginBox: inputs.NumericTextBox;
    /**
     * @private
     */
    rightMarginBox: inputs.NumericTextBox;
    /**
     * @private
     */
    widthBox: inputs.NumericTextBox;
    /**
     * @private
     */
    heightBox: inputs.NumericTextBox;
    /**
     * @private
     */
    headerBox: inputs.NumericTextBox;
    /**
     * @private
     */
    footerBox: inputs.NumericTextBox;
    private paperSize;
    private checkBox1;
    private checkBox2;
    private landscape;
    private portrait;
    private isPortrait;
    private marginTab;
    private paperTab;
    private layoutTab;
    /**
     * @param {DocumentHelper} documentHelper - Specifies the document helper.
     * @private
     */
    constructor(documentHelper: DocumentHelper);
    private getModuleName;
    /**
     * @private
     * @param {base.L10n} locale - Specifies the locale value
     * @param {boolean} isRtl - Specifies the is rtl
     * @returns {void}
     */
    initPageSetupDialog(locale: base.L10n, isRtl?: boolean): void;
    /**
     * @private
     * @param {HTMLDivElement} element - Specifies the div element
     * @param {base.L10n} locale - Specifies the locale value
     * @param {boolean} isRtl - Specifies the is rtl
     * @returns {void}
     */
    initMarginProperties(element: HTMLDivElement, locale: base.L10n, isRtl?: boolean): void;
    /**
     * @private
     * @param {HTMLDivElement} element - Specifies the div element
     * @param {base.L10n} locale - Specifies the locale value
     * @param {boolean} isRtl - Specifies the is rtl
     * @returns {void}
     */
    initPaperSizeProperties(element: HTMLDivElement, locale: base.L10n, isRtl?: boolean): void;
    /**
     * @private
     * @param {HTMLDivElement} element - Specifies the div element
     * @param {base.L10n} locale - Specifies the locale value
     * @param {boolean} isRtl - Specifies the is rtl
     * @returns {void}
     */
    initLayoutProperties(element: HTMLDivElement, locale: base.L10n, isRtl?: boolean): void;
    /**
     * @private
     * @returns {void}
     */
    show(): void;
    /**
     * @private
     * @returns {void}
     */
    loadPageSetupDialog: () => void;
    private setPageSize;
    /**
     * @private
     * @returns {void}
     */
    closePageSetupDialog: () => void;
    /**
     * @private
     * @returns {void}
     */
    onCancelButtonClick: () => void;
    /**
     * @private
     * @param {KeyboardEvent} event - Specifies the event args.
     * @returns {void}
     */
    keyUpInsertPageSettings: (event: KeyboardEvent) => void;
    /**
     * @private
     * @returns {void}
     */
    applyPageSetupProperties: () => void;
    /**
     * @private
     * @param {dropdowns.ChangeEventArgs} event - Specifies the event args.
     * @returns {void}
     */
    changeByPaperSize: (event: dropdowns.ChangeEventArgs) => void;
    /**
     * @private
     * @returns {void}
     */
    onPortrait: () => void;
    /**
     * @private
     * @returns {void}
     */
    onLandscape: () => void;
    /**
     * @private
     * @returns {void}
     */
    unWireEventsAndBindings: () => void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/dialogs/paragraph-dialog.d.ts
/**
 * The Paragraph dialog is used to modify formatting of selected paragraphs.
 */
export  class ParagraphDialog {
    /**
     * @private
     */
    documentHelper: DocumentHelper;
    private target;
    private alignment;
    private lineSpacing;
    private special;
    private leftIndentIn;
    private rightIndentIn;
    private byIn;
    private beforeSpacingIn;
    private afterSpacingIn;
    private atIn;
    private rtlButton;
    private ltrButton;
    private contextSpacing;
    private keepWithNext;
    private keepLinesTogether;
    private widowControlIn;
    private leftIndent;
    private rightIndent;
    private beforeSpacing;
    private afterSpacing;
    private spaceBeforeAuto;
    private spaceAfterAuto;
    private textAlignment;
    private firstLineIndent;
    private lineSpacingIn;
    private lineSpacingType;
    private paragraphFormat;
    private bidi;
    private contextualSpacing;
    isStyleDialog: boolean;
    private directionDiv;
    keepWithNextValue: boolean;
    keepLineTogetherValue: boolean;
    widowControlValue: boolean;
    private tabObj;
    private paginationDiv;
    /**
     * @param {DocumentHelper} documentHelper - Specifies the document helper.
     * @private
     */
    constructor(documentHelper: DocumentHelper);
    private readonly owner;
    /**
     * @private
     * @returns {string} Returns module name
     */
    getModuleName(): string;
    /**
     * @private
     * @param {base.L10n} locale - Specifies the locale.
     * @returns {void}
     */
    initParagraphDialog(locale: base.L10n): void;
    /**
     * @private
     * @param {KeyboardEvent} event - Specifies the event args.
     * @returns {void}
     */
    keyUpParagraphSettings: (event: KeyboardEvent) => void;
    /**
     * @private
     * @param {KeyboardEvent} event - Specifies the event args.
     * @returns {void}
     */
    private changeBeforeSpacing;
    /**
     * @private
     * @param {NumericFocusEventArgs} event - Specifies the event args.
     * @returns {void}
     */
    private focusBeforeSpacing;
    /**
     * @private
     * @param {NumericFocusEventArgs} event - Specifies the event args.
     * @returns {void}
     */
    private blurBeforeSpacing;
    /**
    * @private
    * @param {ClickEventArgs} event - Specifies the event args.
    * @returns {void}
    */
    private clickBeforeSpacing;
    /**
     * @private
     * @param {NumericChangeArgs} event - Specifies the event args.
     * @returns {void}
     */
    private changeAfterSpacing;
    /**
     * @private
     * @param {NumericFocusEventArgs} event - Specifies the event args.
     * @returns {void}
     */
    private focusAfterSpacing;
    /**
     * @private
     * @param {NumericFocusEventArgs} event - Specifies the event args.
     * @returns {void}
     */
    private blurAfterSpacing;
    /**
    * @private
    * @param {ClickEventArgs} event - Specifies the event args.
    * @returns {void}
    */
    private clickAfterSpacing;
    /**
     * @private
     * @param {NumericChangeArgs} event - Specifies the event args.
     * @returns {void}
     */
    private changeLeftIndent;
    /**
     * @private
     * @param {NumericChangeArgs} event - Specifies the event args.
     * @returns {void}
     */
    private changeRightIndent;
    /**
     * @private
     * @param {NumericChangeArgs} event - Specifies the event args.
     * @returns {void}
     */
    private changeLineSpacingValue;
    /**
     * @private
     * @param {NumericChangeArgs} event - Specifies the event args.
     * @returns {void}
     */
    private changeFirstLineIndent;
    /**
     * @private
     * @param {DropDownChangeArgs} event - Specifies the event args.
     * @returns {void}
     */
    private changeByTextAlignment;
    /**
     * @private
     * @param {ChangeArgs} event - Specifies change event args.
     * @returns {void}
     */
    private changeBidirectional;
    /**
     * @private
     * @param {ChangeEventArgs} args - Specifies change event args.
     * @returns {void}
     */
    private changeContextualSpacing;
    /**
     * @private
     * @param {ChangeEventArgs} args - Specifies change event args.
     * @returns {void}
     */
    private changeKeepWithNext;
    /**
     * @private
     * @param {ChangeEventArgs} args - Specifies change event args.
     * @returns {void}
     */
    private changeKeepLinesTogether;
    /**
     * @private
     * @param {ChangeEventArgs} args - Specifies change event args.
     * @returns {void}
     */
    private changeWidowControl;
    private changeAlignmentByBidi;
    /**
     * @private
     * @returns {void}
     */
    changeByValue: () => void;
    /**
     * @private
     * @returns {void}
     */
    changeBySpacing: () => void;
    /**
     * @private
     * @returns {void}
     */
    loadParagraphDialog: () => void;
    private getAlignmentValue;
    /**
     * @private
     * @returns {void}
     */
    applyParagraphFormat: () => void;
    /**
     * Applies Paragraph Format
     *
     * @private
     * @param {WParagraphFormat} paragraphFormat - Specifies the paragraph format.
     * @returns {void}
     */
    onParagraphFormat(paragraphFormat: WParagraphFormat): void;
    /**
     * @private
     * @returns {void}
     */
    closeParagraphDialog: () => void;
    /**
     * @private
     * @param {WParagraphFormat} paragraphFormat - Specifies the paragraph format.
     * @returns {void}
     */
    show(paragraphFormat?: WParagraphFormat): void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/dialogs/spellCheck-dialog.d.ts
/**
 * Spell check dialog
 */
export  class SpellCheckDialog {
    private target;
    private elementBox;
    /**
     * @private
     */
    localValue: base.L10n;
    private errorText;
    private spellingListView;
    private suggestionListView;
    private selectedText;
    documentHelper: DocumentHelper;
    private isSpellChecking;
    /**
     * @param {DocumentHelper} documentHelper - Specifies the document helper.
     * @private
     */
    constructor(documentHelper: DocumentHelper);
    private readonly parent;
    private getModuleName;
    /**
     * @param {SelectEventArgs} args - Specifies the event args.
     * @returns {void}
     */
    private selectHandler;
    /**
     * @private
     * @returns {void}
     */
    onCancelButtonClick: () => void;
    /**
     * @private
     * @returns {void}
     */
    onIgnoreClicked: () => void;
    private removeErrors;
    /**
     * @private
     * @returns {void}
     */
    onIgnoreAllClicked: () => void;
    /**
     * @private
     * @returns {void}
     */
    addToDictClicked: () => void;
    /**
     * @private
     * @returns {void}
     */
    changeButtonClicked: () => void;
    /**
     * @private
     * @returns {void}
     */
    changeAllButtonClicked: () => void;
    /**
     * @private
     * @param {string} error - Specifies error element box.
     * @param {ElementBox} elementbox - Specifies the element box.
     * @returns {void}
     */
    show(error?: string, elementbox?: ElementBox): void;
    /**
     * @private
     * @param {string} error - Specifies error element box.
     * @param {ElementBox} elementbox - Specifies the element box.
     * @returns {void}
     */
    updateSuggestionDialog(error: string, elementBox: ElementBox): void;
    private handleRetrievedSuggestion;
    /**
     * @private
     * @param {base.L10n} localValue - Specifies the locale value.
     * @param {string} error - Specifies the error text.
     * @param {string[]} suggestion - Specifies the suggestion.
     * @param {boolean} isRtl - Specifies the is rtl
     * @returns {void}
     */
    initSpellCheckDialog(localValue: base.L10n, error?: string, suggestion?: string[], isRtl?: boolean): void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/dialogs/style-dialog.d.ts
/**
 * The Style dialog is used to create or modify styles.
 */
export  class StyleDialog {
    documentHelper: DocumentHelper;
    private target;
    private styleType;
    private styleBasedOn;
    private styleParagraph;
    private onlyThisDocument;
    private template;
    private isEdit;
    private editStyleName;
    private style;
    private abstractList;
    private numberingBulletDialog;
    private okButton;
    private styleNameElement;
    private isUserNextParaUpdated;
    private fontFamily;
    private fontSize;
    private characterFormat;
    private paragraphFormat;
    private localObj;
    private bold;
    private italic;
    private underline;
    private fontColor;
    private leftAlign;
    private rightAlign;
    private centerAlign;
    private justify;
    private singleLineSpacing;
    private doubleLineSpacing;
    private onePointFiveLineSpacing;
    private styleDropdwn;
    /**
     * @param {DocumentHelper} documentHelper - Specifies the document helper.
     * @private
     */
    constructor(documentHelper: DocumentHelper);
    /**
     * @private
     * @returns {string} Returns module name
     */
    getModuleName(): string;
    /**
     * @private
     * @param {base.L10n} localValue - Specifies the locale value
     * @param {boolean} isRtl - Specifies the is rtl
     * @returns {void}
     */
    initStyleDialog(localValue: base.L10n, isRtl?: boolean): void;
    private createFormatDropdown;
    /**
     *
     * @param {DropDownButtonMenuEventArgs} args - Specifies the event args.
     * @returns {void}
     */
    private openDialog;
    private createFontOptions;
    /**
     * @private
     * @returns {void}
     */
    private setBoldProperty;
    /**
     * @private
     * @returns {void}
     */
    private setItalicProperty;
    /**
     * @private
     * @returns {void}
     */
    private setUnderlineProperty;
    /**
     * @private
     * @returns {void}
     */
    private fontButtonClicked;
    /**
     * @private
     * @param {dropdowns.ChangeEventArgs} args - Specifies the event args.
     * @returns {void}
     */
    private fontSizeUpdate;
    /**
     * @private
     * @param {dropdowns.ChangeEventArgs} args - Specifies the event args.
     * @returns {void}
     */
    private fontFamilyChanged;
    /**
     * @private
     * @param {ColorPickerEventArgs} args - Specifies the event args.
     * @returns {void}
     */
    private fontColorUpdate;
    private createParagraphOptions;
    /**
     * @private
     * @returns {void}
     */
    private setLeftAlignment;
    /**
     * @private
     * @returns {void}
     */
    private setRightAlignment;
    /**
     * @private
     * @returns {void}
     */
    private setCenterAlignment;
    /**
     * @private
     * @returns {void}
     */
    private setJustifyAlignment;
    private createButtonElement;
    /**
     * @private
     * @returns {void}
     */
    private increaseBeforeAfterSpacing;
    /**
     * @private
     * @returns {void}
     */
    private decreaseBeforeAfterSpacing;
    private toggleDisable;
    /**
     * @private
     * @returns {void}
     */
    updateNextStyle: (args: FocusEvent) => void;
    /**
     * @private
     * @returns {void}
     */
    updateOkButton: () => void;
    /**
     * @private
     * @param {dropdowns.ChangeEventArgs} args - Specifies the event args.
     * @returns {void}
     */
    styleTypeChange: (args: dropdowns.ChangeEventArgs) => void;
    /**
     * @returns {void}
     */
    private styleBasedOnChange;
    /**
     * @private
     * @param {dropdowns.SelectEventArgs} args - Specifies the event args.
     * @returns {void}
     */
    styleParagraphChange: (args: dropdowns.SelectEventArgs) => void;
    /**
     * @private
     * @returns {void}
     */
    showFontDialog: () => void;
    /**
     * @private
     * @returns {void}
     */
    showParagraphDialog: () => void;
    /**
     * @private
     * @returns {void}
     */
    showNumberingBulletDialog: () => void;
    /**
     * @private
     * @param {string} styleName - Specifies the style name.
     * @param {string} header - Specifies the header.
     * @returns {void}
     */
    show(styleName?: string, header?: string): void;
    /**
     * @private
     * @returns {void}
     */
    onOkButtonClick: () => void;
    private updateList;
    private createLinkStyle;
    /**
     * @private
     * @returns {void}
     */
    private loadStyleDialog;
    /**
     * @private
     * @param {base.L10n} characterFormat - Specifies the character format
     * @returns {void}
     */
    updateCharacterFormat(characterFormat?: WCharacterFormat): void;
    /**
     * @private
     * @returns {void}
     */
    updateParagraphFormat(paragraphFOrmat?: WParagraphFormat): void;
    private enableOrDisableOkButton;
    private getTypeValue;
    private updateStyleNames;
    private getStyle;
    /**
     * @private
     * @returns {void}
     */
    onCancelButtonClick: () => void;
    /**
     * @private
     * @returns {void}
     */
    closeStyleDialog: () => void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/dialogs/styles-dialog.d.ts
/**
 * The Styles dialog is used to create or modify styles.
 */
export  class StylesDialog {
    /**
     * @private
     */
    documentHelper: DocumentHelper;
    private target;
    private listviewInstance;
    private styleName;
    private localValue;
    /**
     * @param {DocumentHelper} documentHelper - Specifies the document helper.
     * @private
     */
    constructor(documentHelper: DocumentHelper);
    private getModuleName;
    /**
     * @private
     * @param {base.L10n} localValue - Specifies the locale value.
     * @param {string[]} styles - Specifies the styles.
     * @param {boolean} isRtl - Specifies the is rtl.
     * @returns {void}
     */
    initStylesDialog(localValue: base.L10n, styles: string[], isRtl?: boolean): void;
    /**
     * @private
     * @returns {void}
     */
    show(): void;
    private updateStyleNames;
    private defaultStyleName;
    /**
     * @private
     * @returns {void}
     */
    private modifyStyles;
    /**
     * @param {SelectEventArgs} args - Specifies the event args.
     * @returns {void}
     */
    private selectHandler;
    /**
     * @private
     * @returns {void}
     */
    private hideObjects;
    /**
     * @private
     * @returns {void}
     */
    private addNewStyles;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/dialogs/table-dialog.d.ts
/**
 * The Table dialog is used to insert table at selection.
 */
export  class TableDialog {
    private columnsCountBox;
    private rowsCountBox;
    private target;
    /**
     * @private
     */
    documentHelper: DocumentHelper;
    private columnValueTexBox;
    private rowValueTextBox;
    private localeValue;
    /**
     * @param {DocumentHelper} documentHelper - Specifies the document helper
     * @private
     */
    constructor(documentHelper: DocumentHelper);
    private getModuleName;
    /**
     * @private
     * @param {base.L10n} localValue - Specified the locale value.
     * @returns {void}
     */
    initTableDialog(localValue: base.L10n): void;
    /**
     * @private
     * @returns {void}
     */
    show(): void;
    /**
     * @private
     * @returns {void}
     */
    onCancelButtonClick: () => void;
    /**
     * @private
     * @returns {void}
     */
    onInsertTableClick: () => void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/dialogs/table-of-contents-dialog.d.ts
/**
 * The Table of contents dialog is used to insert or edit table of contents at selection.
 */
export  class TableOfContentsDialog {
    private target;
    /**
     * @private
     */
    documentHelper: DocumentHelper;
    private pageNumber;
    private rightAlign;
    private tabLeader;
    private showLevel;
    private hyperlink;
    private style;
    private heading1;
    private heading2;
    private heading3;
    private heading4;
    private heading5;
    private heading6;
    private heading7;
    private heading8;
    private heading9;
    private normal;
    private outline;
    private textBoxInput;
    private listViewInstance;
    /**
     * @param {DocumentHelper} documentHelper - Specifies the document helper.
     * @private
     */
    constructor(documentHelper: DocumentHelper);
    private getModuleName;
    /**
     * @private
     * @param {base.L10n} localValue - Specifies the locale value
     * @param {boolean} isRtl - Specifies the is rtl
     * @returns {void}
     */
    initTableOfContentDialog(locale: base.L10n, isRtl?: boolean): void;
    private styleLocaleValue;
    /**
     * @private
     */
    show(): void;
    /**
     * @private
     * @returns {void}
     */
    loadTableofContentDialog: () => void;
    /**
     * @private
     * @returns {void}
     */
    closeTableOfContentDialog: () => void;
    /**
     * @private
     * @returns {void}
     */
    onCancelButtonClick: () => void;
    /**
     * @param {SelectEventArgs} args - Specifies the event args.
     * @returns {void}
     */
    private selectHandler;
    /**
     * @private
     * @returns {void}
     */
    private showStyleDialog;
    private changeShowLevelValue;
    private changeByValue;
    /**
     * @returns {void}
     */
    private reset;
    /**
     * @param {KeyboardEvent} args - Specifies the event args.
     * @returns {void}
     */
    private changeStyle;
    private checkLevel;
    private getElementValue;
    /**
     * @param {KeyboardEvent} args - Specifies the event args.
     * @returns {void}
     */
    private changeHeadingStyle;
    /**
     * @param {buttons.ChangeEventArgs} args - Specifies the event args.
     * @returns {void}
     */
    changePageNumberValue: (args: buttons.ChangeEventArgs) => void;
    /**
     * @param {buttons.ChangeEventArgs} args - Specifies the event args.
     * @returns {void}
     */
    changeRightAlignValue: (args: buttons.ChangeEventArgs) => void;
    /**
     * @param {buttons.ChangeEventArgs} args - Specifies the event args.
     * @returns {void}
     */
    changeStyleValue: (args: buttons.ChangeEventArgs) => void;
    private getHeadingLevel;
    private applyLevelSetting;
    /**
     * @private
     * @returns {void}
     */
    applyTableOfContentProperties: () => void;
    /**
     * @private
     * @returns {void}
     */
    unWireEventsAndBindings: () => void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/dialogs/table-options-dialog.d.ts
/**
 * The Table options dialog is used to modify default cell margins and cell spacing of selected table.
 */
export  class TableOptionsDialog {
    /**
     * @private
     */
    documentHelper: DocumentHelper;
    /**
     * @private
     */
    dialog: popups.Dialog;
    /**
     * @private
     */
    target: HTMLElement;
    private cellspacingTextBox;
    private allowSpaceCheckBox;
    private cellSpaceTextBox;
    /**
     * @private
     */
    leftMarginBox: inputs.NumericTextBox;
    /**
     * @private
     */
    topMarginBox: inputs.NumericTextBox;
    /**
     * @private
     */
    rightMarginBox: inputs.NumericTextBox;
    /**
     * @private
     */
    bottomMarginBox: inputs.NumericTextBox;
    /**
     * @private
     */
    tableFormatIn: WTableFormat;
    /**
     * @param {DocumentHelper} documentHelper - Specifies the document helper.
     * @private
     */
    constructor(documentHelper: DocumentHelper);
    /**
     * @private
     * @returns {WTableFormat} - Returns table format.
     */
    readonly tableFormat: WTableFormat;
    private getModuleName;
    /**
     * @private
     * @param {base.L10n} localValue - Specifies the locale value
     * @param {boolean} isRtl - Specifies the is rtl
     * @returns {void}
     */
    initTableOptionsDialog(localValue: base.L10n, isRtl?: boolean): void;
    /**
     * @private
     * @returns {void}
     */
    loadCellMarginsDialog(): void;
    /**
     * @private
     * @returns {void}
     */
    applyTableCellProperties: () => void;
    /**
     * @private
     * @param {WTableFormat} tableFormat Specifies table format.
     * @returns {void}
     */
    applySubTableOptions(tableFormat: WTableFormat): void;
    /**
     * @private
     * @param {WTableFormat} tableFormat Specifies table format.
     * @returns {void}
     */
    applyTableOptionsHelper(tableFormat: WTableFormat): void;
    private applyTableOptionsHistory;
    private applySubTableOptionsHelper;
    /**
     * @private
     * @param {WTableFormat} tableFormat Specifies the table format
     */
    applyTableOptions(tableFormat: WTableFormat): void;
    /**
     * @private
     * @returns {void}
     */
    closeCellMarginsDialog: () => void;
    /**
     * @private
     * @returns {void}
     */
    show(): void;
    /**
     * @private
     * @returns {void}
     */
    changeAllowSpaceCheckBox: () => void;
    /**
     * @private
     * @returns {void}
     */
    removeEvents: () => void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/dialogs/table-properties-dialog.d.ts
/**
 * The Table properties dialog is used to modify properties of selected table.
 */
export  class TablePropertiesDialog {
    private dialog;
    private target;
    private cellAlignment;
    private tableAlignment;
    documentHelper: DocumentHelper;
    private preferCheckBox;
    private tableWidthType;
    private preferredWidth;
    private rowHeightType;
    private rowHeightCheckBox;
    private rowHeight;
    private cellWidthType;
    private preferredCellWidthCheckBox;
    private preferredCellWidth;
    private tableTab;
    private rowTab;
    private cellTab;
    private left;
    private center;
    private right;
    private leftIndent;
    private allowRowBreak;
    private repeatHeader;
    private cellTopAlign;
    private cellCenterAlign;
    private cellBottomAlign;
    private indentingLabel;
    private hasTableWidth;
    private hasCellWidth;
    private bidi;
    /**
     * @private
     */
    isTableBordersAndShadingUpdated: boolean;
    /**
     * @private
     */
    isCellBordersAndShadingUpdated: boolean;
    private tableFormatIn;
    private rowFormatInternal;
    private cellFormatIn;
    private tableWidthBox;
    private rowHeightBox;
    private cellWidthBox;
    private leftIndentBox;
    private bordersAndShadingButton;
    private tableOptionButton;
    private cellOptionButton;
    private rowHeightValue;
    private tabObj;
    private rtlButton;
    private ltrButton;
    private localValue;
    private paraFormatIn;
    /**
     * @private
     */
    isCellOptionsUpdated: boolean;
    /**
     * @private
     */
    isTableOptionsUpdated: boolean;
    private cellFormat;
    private tableFormat;
    private paraFormat;
    private readonly rowFormat;
    /**
     * @param {DocumentHelper} documentHelper - Specifies the document helper.
     * @private
     */
    constructor(documentHelper: DocumentHelper);
    private getModuleName;
    /**
     * @private
     * @param {base.L10n} localValue - Specifies the locale value
     * @param {boolean} isRtl - Specifies the is rtl
     * @returns {void}
     */
    initTablePropertyDialog(localValue: base.L10n, isRtl?: boolean): void;
    /**
     * @private
     * @returns {void}
     */
    show(): void;
    /**
     * @returns {void}
     */
    private onBeforeOpen;
    /**
     * @private
     * @returns {void}
     */
    onCloseTablePropertyDialog: () => void;
    /**
     * @private
     * @returns {void}
     */
    applyTableProperties: () => void;
    /**
     * @private
     * @param {TableWidget} table - Specifies the table widget.
     * @returns {void}
     */
    calculateGridValue(table: TableWidget): void;
    /**
     * @private
     * @returns {void}
     */
    applyTableSubProperties: () => void;
    /**
     * @private
     * @returns {void}
     */
    loadTableProperties(): void;
    /**
     * @private
     * @returns {void}
     */
    unWireEvent: () => void;
    /**
     * @private
     * @returns {void}
     */
    wireEvent(): void;
    /**
     * @private
     * @returns {void}
     */
    closeTablePropertiesDialog: () => void;
    private initTableProperties;
    /**
     * @private
     * @param {Event} event - Specified the event.
     * @returns {void}
     */
    private changeBidirectional;
    /**
     * @private
     * @returns {void}
     */
    onTableWidthChange(): void;
    /**
     * @private
     * @returns {void}
     */
    onTableWidthTypeChange(): void;
    /**
     * @private
     * @returns {void}
     */
    onLeftIndentChange(): void;
    private setTableProperties;
    private activeTableAlignment;
    /**
     * @private
     * @returns {void}
     */
    changeTableCheckBox: () => void;
    /**
     * @private
     * @param {Event} event - Specified the event.
     * @returns {void}
     */
    changeTableAlignment: (event: Event) => void;
    /**
     * @private
     * @returns {string} Resturns table alignment
     */
    getTableAlignment(): string;
    private updateClassForAlignmentProperties;
    private initTableRowProperties;
    private setTableRowProperties;
    /**
     * @private
     * @returns {void}
     */
    onRowHeightChange(): void;
    /**
     * @private
     * @returns {void}
     */
    onRowHeightTypeChange(): void;
    /**
     * @private
     * @returns {void}
     */
    changeTableRowCheckBox: () => void;
    private onAllowBreakAcrossPage;
    private onRepeatHeader;
    /**
     * @private
     * @returns {boolean} Returns enable repeat header
     */
    enableRepeatHeader(): boolean;
    private initTableCellProperties;
    private setTableCellProperties;
    private updateClassForCellAlignment;
    private formatNumericTextBox;
    /**
     * @private
     * @returns {string} - Returns the alignement.
     */
    getCellAlignment(): string;
    /**
     * @private
     * @returns {void}
     */
    changeTableCellCheckBox: () => void;
    /**
     * @private
     * @returns {void}
     */
    onCellWidthChange(): void;
    /**
     * @private
     * @returns {void}
     */
    onCellWidthTypeChange(): void;
    /**
     * @private
     * @param {Event} event - Specified the event
     * @returns {void}
     */
    changeCellAlignment: (event: Event) => void;
    /**
     * @private
     *
     * @returns {void}
     */
    showTableOptionsDialog: () => void;
    /**
     * @private
     *
     * @returns {void}
     */
    showBordersShadingsPropertiesDialog: () => void;
    /**
     * @private
     *
     * @returns {void}
     */
    showCellOptionsDialog: () => void;
    /**
     * @private
     *
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/editor-history/base-history-info.d.ts
/**
 * @private
 */
export  class BaseHistoryInfo {
    private ownerIn;
    documentHelper: DocumentHelper;
    private actionIn;
    private removedNodesIn;
    private modifiedPropertiesIn;
    private modifiedNodeLength;
    private selectionStartIn;
    private selectionEndIn;
    private insertPositionIn;
    private endPositionIn;
    private currentPropertyIndex;
    private ignoredWord;
    /**
     * @private
     */
    lastElementRevision: ElementBox;
    /**
     * @private
     */
    endRevisionLogicalIndex: string;
    readonly owner: DocumentEditor;
    readonly editorHistory: EditorHistory;
    action: Action;
    readonly modifiedProperties: Object[];
    readonly removedNodes: IWidget[];
    selectionStart: string;
    selectionEnd: string;
    insertPosition: string;
    endPosition: string;
    constructor(node: DocumentEditor);
    private readonly viewer;
    updateSelection(): void;
    setBookmarkInfo(bookmark: BookmarkElementBox): void;
    setFormFieldInfo(field: FieldElementBox, value: string | number | boolean): void;
    setEditRangeInfo(editStart: EditRangeStartElementBox): void;
    private revertFormTextFormat;
    private revertFormField;
    private revertBookmark;
    private revertComment;
    private revertEditRangeRegion;
    revert(): void;
    private highlightListText;
    private removeContent;
    updateEndRevisionInfo(): void;
    private retrieveEndPosition;
    /**
     * Method to retrieve exact spitted node which is marked as last available element.
     *
     * @param {ElementBox} elementBox - Specifies the element box
     * @returns {ElementBox} - Returns element box
     */
    private checkAdjacentNodeForMarkedRevision;
    private revertModifiedProperties;
    private redoAction;
    private revertModifiedNodes;
    private insertRemovedNodes;
    undoRevisionForElements(start: TextPosition, end: TextPosition, id: string): void;
    private revertResizing;
    private revertTableDialogProperties;
    addModifiedPropertiesForSection(format: WSectionFormat, property: string, value: Object): Object;
    addModifiedProperties(format: WCharacterFormat, property: string, value: Object): Object;
    addModifiedPropertiesForParagraphFormat(format: WParagraphFormat, property: string, value: Object): Object;
    addModifiedPropertiesForContinueNumbering(paragraphFormat: WParagraphFormat, value: Object): Object;
    addModifiedPropertiesForRestartNumbering(listFormat: WListFormat, value: Object): Object;
    addModifiedPropertiesForList(listLevel: WListLevel): Object;
    private revertProperties;
    addModifiedCellOptions(applyFormat: WCellFormat, format: WCellFormat, table: TableWidget): WCellFormat;
    private copyCellOptions;
    addModifiedTableOptions(format: WTableFormat): void;
    private copyTableOptions;
    private getProperty;
    private getCharacterPropertyValue;
    addModifiedTableProperties(format: WTableFormat, property: string, value: Object): Object;
    addModifiedRowProperties(rowFormat: WRowFormat, property: string, value: Object): Object;
    addModifiedCellProperties(cellFormat: WCellFormat, property: string, value: Object): Object;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/editor-history/editor-history.d.ts
/**
 *  `EditorHistory` Module class is used to handle history preservation
 */
export  class EditorHistory {
    private undoLimitIn;
    private redoLimitIn;
    private undoStackIn;
    private redoStackIn;
    private historyInfoStack;
    private owner;
    /**
     * @private
     */
    isUndoing: boolean;
    /**
     * @private
     */
    isRedoing: boolean;
    /**
     * @private
     */
    currentBaseHistoryInfo: BaseHistoryInfo;
    /**
     * @private
     * @returns {HistoryInfo} - Returns the history info.
     */
    /**
    * @private
    * @param {HistoryInfo} value - Specified the value.
    */
    currentHistoryInfo: HistoryInfo;
    /**
     * @private
     */
    modifiedParaFormats: Dictionary<BaseHistoryInfo, ModifiedParagraphFormat[]>;
    documentHelper: DocumentHelper;
    /**
     * gets undo stack
     *
     * @private
     * @returns {BaseHistoryInfo[]} - Returns the undo stack.
     */
    readonly undoStack: BaseHistoryInfo[];
    /**
     * gets redo stack
     *
     * @private
     * @returns {BaseHistoryInfo[]} - Returns the redo stack.
     */
    readonly redoStack: BaseHistoryInfo[];
    /**
     * Gets or Sets the limit of undo operations can be done.
     *
     * @aspType int
     * @returns {number} - Returns the redo limit
     */
    /**
    * Sets the limit of undo operations can be done.
    *
    * @aspType int
    * @param {number} value - Specified the value.
    */
    undoLimit: number;
    /**
     * Gets or Sets the limit of redo operations can be done.
     *
     * @aspType int
     * @returns {number} - Returns the redo limit
     */
    /**
    * Gets or Sets the limit of redo operations can be done.
    *
    * @aspType int
    * @param {number} value - Specified the value.
    */
    redoLimit: number;
    /**
     * @param {DocumentEditor} node - Specified the document editor.
     * @private
     */
    constructor(node: DocumentEditor);
    private readonly viewer;
    private getModuleName;
    /**
     * Determines whether undo operation can be done.
     *
     * @returns {boolean} - Returns the canUndo.
     */
    canUndo(): boolean;
    /**
     * Determines whether redo operation can be done.
     *
     * @returns {boolean} - Returns the canRedo.
     */
    canRedo(): boolean;
    /**
     * initialize EditorHistory
     *
     * @private
     * @param {Action} action - Specifies the action.
     * @returns {void}
     */
    initializeHistory(action: Action): void;
    /**
     * Initialize complex history
     *
     * @private
     * @param {Selection} selection - Specifies the selection.
     * @param {Action} action - Specifies the action.
     * @returns {void}
     */
    initComplexHistory(selection: Selection, action: Action): void;
    /**
     * @private
     * @param {Point} startingPoint - Specifies the start point.
     * @param {TableResizer} tableResize - Spcifies the table resizer.
     * @returns {void}
     */
    initResizingHistory(startingPoint: Point, tableResize: TableResizer): void;
    /**
     * Update resizing history
     *
     * @private
     * @param {Point} point - Specifies the point.
     * @param {TableResizer} tableResize - Specifies the table resizer.
     * @returns {void}
     */
    updateResizingHistory(point: Point, tableResize: TableResizer): void;
    /**
     * Record the changes
     *
     * @private
     * @param {BaseHistoryInfo} baseHistoryInfo - Specified the base history info.
     * @returns {void}
     */
    recordChanges(baseHistoryInfo: BaseHistoryInfo): void;
    /**
     * update EditorHistory
     *
     * @private
     * @returns {void}
     */
    updateHistory(): void;
    /**
     * @private
     * @returns {boolean} -Returns isHandleComplexHistory
     */
    isHandledComplexHistory(): boolean;
    /**
     * Update complex history
     *
     * @private
     * @returns {void}
     */
    updateComplexHistory(): void;
    /**
     * @private
     *
     * @returns {void}
     */
    updateComplexHistoryInternal(): void;
    /**
     * update list changes for history preservation
     *
     * @private
     * @param  {WAbstractList} currentAbstractList - Specfies the abstractlist.
     * @param  {WList} list - Specifies the list.
     * @returns {Dictionary<number, ModifiedLevel>} - Returns the modified action.
     */
    updateListChangesInHistory(currentAbstractList: WAbstractList, list: WList): Dictionary<number, ModifiedLevel>;
    /**
     * Apply list changes
     *
     * @private
     * @param  {Selection} selection - Specifies the selection.
     * @param  {Dictionary<number, ModifiedLevel>} modifiedLevelsInternal - Specifies the modified levels.
     * @returns {void}
     */
    applyListChanges(selection: Selection, modifiedLevelsInternal: Dictionary<number, ModifiedLevel>): void;
    /**
     * Update list changes
     *
     * @private
     * @param  {Dictionary<number, ModifiedLevel>} modifiedCollection - Specifies the modified colection.
     * @returns {void }
     */
    updateListChanges(modifiedCollection: Dictionary<number, ModifiedLevel>): void;
    /**
     * Reverts the last editing action.
     *
     * @returns {void}
     */
    undo(): void;
    /**
     * Performs the last reverted action.
     *
     * @returns {void}
     */
    redo(): void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
    /**
     * @private
     * @returns {void}
     */
    clearHistory(): void;
    private clearUndoStack;
    private clearRedoStack;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/editor-history/history-helper.d.ts
/**
 * @private
 */
export interface BookmarkInfo extends IWidget {
    bookmark: BookmarkElementBox;
    startIndex: number;
    endIndex: number;
}
/**
 * @private
 */
export interface EditRangeInfo extends IWidget {
    editStart: EditRangeStartElementBox;
    startIndex: number;
    endIndex: number;
}
/**
 * @private
 */
export  class ModifiedLevel {
    private ownerListLevelIn;
    private modifiedListLevelIn;
    ownerListLevel: WListLevel;
    modifiedListLevel: WListLevel;
    constructor(owner: WListLevel, modified: WListLevel);
    destroy(): void;
}
/**
 * @private
 */
export  class ModifiedParagraphFormat {
    private ownerFormatIn;
    private modifiedFormatIn;
    ownerFormat: WParagraphFormat;
    modifiedFormat: WParagraphFormat;
    constructor(ownerFormat: WParagraphFormat, modifiedFormat: WParagraphFormat);
    destroy(): void;
}
/**
 * @private
 */
export  class RowHistoryFormat {
    startingPoint: Point;
    rowFormat: WRowFormat;
    rowHeightType: HeightType;
    displacement: number;
    constructor(startingPoint: Point, rowFormat: WRowFormat);
    revertChanges(isRedo: boolean, owner: DocumentEditor): void;
}
/**
 * @private
 */
export  class TableHistoryInfo {
    tableHolder: WTableHolder;
    tableFormat: TableFormatHistoryInfo;
    rows: RowFormatHistoryInfo[];
    tableHierarchicalIndex: string;
    startingPoint: Point;
    owner: DocumentEditor;
    constructor(table: TableWidget, owner: DocumentEditor);
    copyProperties(table: TableWidget): void;
    destroy(): void;
}
/**
 * @private
 */
export  class TableFormatHistoryInfo {
    leftIndent: number;
    preferredWidth: number;
    preferredWidthType: WidthType;
    allowAutoFit: boolean;
}
/**
 * @private
 */
export  class RowFormatHistoryInfo {
    gridBefore: number;
    gridAfter: number;
    gridBeforeWidth: number;
    gridBeforeWidthType: WidthType;
    gridAfterWidth: number;
    gridAfterWidthType: WidthType;
    cells: CellFormatHistoryInfo[];
    constructor();
}
/**
 * @private
 */
export  class CellFormatHistoryInfo {
    columnSpan: number;
    columnIndex: number;
    preferredWidth: number;
    preferredWidthType: WidthType;
}
/**
 * @private
 */
export  class CellHistoryFormat {
    /**
     * @private
     */
    startingPoint: Point;
    /**
     * @private
     */
    startIndex: number;
    /**
     * @private
     */
    endIndex: number;
    /**
     * @private
     */
    tableHierarchicalIndex: string;
    /**
     * @private
     */
    startX: number;
    /**
     * @private
     */
    startY: number;
    /**
     * @private
     */
    displacement: number;
    constructor(point: Point);
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/editor-history/history-info.d.ts
/**
 * EditorHistory preservation class
 */
/**
 * @private
 */
export  class HistoryInfo extends BaseHistoryInfo {
    documentHelper: DocumentHelper;
    /**
     * @private
     */
    modifiedActions: BaseHistoryInfo[];
    private isChildHistoryInfo;
    editRangeStart: EditRangeStartElementBox;
    readonly hasAction: boolean;
    constructor(node: DocumentEditor, isChild: boolean);
    addModifiedAction(baseHistoryInfo: BaseHistoryInfo): void;
    revert(): void;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/editor-history/index.d.ts
/**
 * EditorHistory implementation
 */
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/editor/collaborative-editing.d.ts
/**
 * Collaborative editing module
 */
export  class CollaborativeEditing {
    private owner;
    private version;
    private lockStart;
    private saveTimer;
    private readonly documentHelper;
    private readonly selection;
    private readonly collaborativeEditingSettings;
    constructor(editor: DocumentEditor);
    private getModuleName;
    /**
     * To update the action which need to perform.
     *
     * @param {CollaborativeEditingEventArgs} data - Specifies the data.
     * @returns {void}
     */
    updateAction(data: CollaborativeEditingEventArgs | CollaborativeEditingEventArgs[]): void;
    private transFormLockRegion;
    /**
     * Lock selected region from editing by other users.
     *
     * @param {string} user - Specifies the user.
     * @returns {void}
     */
    lockContent(user: string): void;
    /**
     * @private
     * @returns {boolean} - Returns can lock.
     */
    canLock(): boolean;
    private getPreviousLockedRegion;
    /**
     * @private
     * @param {string} user - Specifies the user.
     * @returns {void}
     */
    unlockContent(user: string): void;
    private removeEditRange;
    /**
     * Save locked content to other clients.
     *
     * @private
     * @returns {void}
     */
    saveContent(): void;
    private saveContentInternal;
    private serializeEditableRegion;
    private successHandler;
    private failureHandler;
    /**
     * Locker specified region for specified user.
     *
     * @private
     * @param {string} start - Specified the selection start.
     * @param {string} end - Specifies the selection end.
     * @param {string} user - Specifies the user
     * @returns {void}
     */
    lockRegion(start: string, end: string, user: string): void;
    private lockRegionInternal;
    private insertElements;
    private insertElementsInternal;
    private insertElementInternal;
    private setEditableRegion;
    private isSelectionInEditableRange;
    /**
     * Updated modified content from remote user
     *
     * @returns {void}
     */
    updateRegion(user: string, content: string): void;
    private updateRevisionCollection;
    private getRevisionTextPosition;
    private tranformSelection;
    private tranformHistoryPosition;
    private transformHistory;
    private transformBaseHistoryInfo;
    private tranformPosition;
    private getParentBlock;
    private removeDuplicateCollection;
    private removeFieldInBlock;
    private removeFieldTable;
    private removeComment;
    private updateNextBlocksIndex;
    /**
     * Update locked region highlight.
     *
     * @private
     * @param {string} user - Specified the user.
     * @param {boolean} isLocked - Specifies the isLocked.
     * @returns {void}
     */
    updateLockRegion(user?: string, isLocked?: boolean): void;
    private updateLockInfo;
    /**
     * Pull pending actions from server.
     *
     * @returns {void}
     */
    pullAction(): void;
    /**
     * Destroy collaborative editing module.
     *
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/editor/editor-helper.d.ts
/**
 * @private
 */
export  class HelperMethods {
    /**
     * @private
     */
    static wordBefore: string;
    /**
     * @private
     */
    static wordAfter: string;
    /**
     * @private
     */
    static wordSplitCharacters: string[];
    /**
     * Inserts text at specified index in string.
     *
     * @private
     * @param {string} spanText - Specifies the span text.
     * @param {number} index - Specifies the index
     * @param {string} text - Specifies the text
     * @returns {string} - Returns modified string
     */
    static insert(spanText: string, index: number, text: string): string;
    /**
     * Removes text from specified index in string.
     *
     * @private
     * @param {string} text - Specifies the text
     * @param {number} index - Specifies the index
     * @returns {string} - Returns modified string
     */
    static remove(text: string, index: number): string;
    static indexOfAny(text: string, wordSplitCharacter: string[]): any;
    static lastIndexOfAny(text: string, wordSplitCharacter: string[]): number;
    /**
     * Convert ARGB to RGB
     * @private
     * @param {string} color
     * @returns {string}
     */
    static convertArgbToRgb(color: string): string;
    static convertRgbToHex(val: number): string;
    static convertHexToRgb(colorCode: string): any;
    static addCssStyle(css: string): void;
    static getHighlightColorCode(highlightColor: HighlightColor): string;
    static isVeryDark(backColor: string): boolean;
    static getColor(color: string): string;
    static convertPointToPixel(point: number): number;
    static convertPixelToPoint(pixel: number): number;
    static isLinkedFieldCharacter(inline: ElementBox): boolean;
    /**
     * Removes white space in a string.
     *
     * @private
     * @param {string} text - Specifies text to trim.
     * @returns {string} - Returns modified text.
     */
    static removeSpace(text: string): string;
    /**
     * Trims white space at start of the string.
     *
     * @private
     * @param {string} text - Specifies text to trim.
     * @returns {string} - Returns modified text.
     */
    static trimStart(text: string): string;
    /**
     * Trims white space at end of the string.
     *
     * @private
     * @param {string} text - Specifies text to trim.
     * @returns {string} - Returns modified text.
     */
    static trimEnd(text: string): string;
    /**
     * Checks whether string ends with whitespace.
     *
     * @private
     * @param {string} text - Specifies the text.
     * @returns {boolean} - Returns true if text ends with specified text.
     */
    static endsWith(text: string): boolean;
    static addSpace(length: number): string;
    static writeCharacterFormat(characterFormat: any, isInline: boolean, format: WCharacterFormat): void;
    static toWriteInline(format: WCharacterFormat, propertyName: string): any;
    static round(value: number, decimalDigits: number): number;
    static reverseString(text: string): string;
    static formatClippedString(base64ImageString: string): ImageFormatInfo;
    private static startsWith;
    static formatText(format: string, value: string): string;
    static formatNumber(format: string, value: string): string;
    static formatDate(format: string, value: string): string;
    private static capitaliseFirst;
    private static lowerFirstChar;
    private static capitaliseFirstInternal;
    static getModifiedDate(date: string): string;
    static getUtcDate(): string;
    static getLocaleDate(date: string): Date;
    static getCompatibilityModeValue(compatibilityMode: CompatibilityMode): string;
    /**
     * @private
     * @returns {string} - Returns the unique id for document editor.
     */
    static getUniqueElementId(): string;
}
/**
 * @private
 */
export  class Point {
    private xIn;
    private yIn;
    x: number;
    y: number;
    constructor(xPosition: number, yPosition: number);
    copy(point: Point): void;
    /**
     * Destroys the internal objects maintained.
     *
     * @returns {void}
     */
    destroy(): void;
}
/**
 * @private
 */
export  class Base64 {
    private keyStr;
    encodeString(input: string): string;
    private unicodeEncode;
    decodeString(input: string): Uint8Array;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
}
/**
 * TextSearchResultInfo
 */
export interface TextSearchResultInfo {
    startOffset: string;
    endOffset: string;
}
/**
 * ListSearchResultInfo
 */
export interface ListSearchResultInfo {
    paragraph: ParagraphWidget;
    listId: number;
}
/**
 * Locked region selection info.
 */
export interface LockSelectionInfo {
    /**
     * Selection start of the locked region.
     */
    start: string;
    /**
     * Selection end of the locked region.
     */
    end: string;
    /**
     * Specifies collaborative editing room name.
     */
    roomName: string;
    /**
     * Specifies author of the locked region.
     */
    author: string;
    /**
     * Version of the collaborative editing session.
     */
    version: number;
    /**
     * @private
     */
    previousLockInfo?: LockSelectionInfo;
}
/**
 * Document Editor data
 */
export interface CollaborativeEditingEventArgs {
    /**
     * Specifies current action in collaborative session.
     */
    action: CollaborativeEditingAction;
    /**
     * Specifies selection info.
     */
    selectionInfo?: LockSelectionInfo;
    /**
     * Collaborative session version.
     */
    version?: number;
    /**
     * Specifies modified data in SFDT format.
     */
    data?: string;
    /**
     * Specifies author of the edit action.
     */
    author?: string;
    /**
     * Specifies collaborative editing room name.
     */
    roomName?: string;
}
/**
 * @private
 */
export interface SubWidthInfo {
    subWidth: number;
    spaceCount: number;
    totalSpaceCount: number;
}
/**
 * @private
 */
export interface LineElementInfo {
    topMargin: number;
    bottomMargin: number;
    addSubWidth: boolean;
    whiteSpaceCount: number;
}
/**
 * @private
 */
export interface Color {
    r: number;
    g: number;
    b: number;
}
/**
 * @private
 */
export interface CaretHeightInfo {
    height: number;
    topMargin: number;
    isItalic?: boolean;
}
/**
 * @private
 */
export interface SizeInfo {
    width: number;
    height: number;
    topMargin: number;
    bottomMargin: number;
}
/**
 * @private
 */
export interface FirstElementInfo {
    element: ElementBox;
    left: number;
}
/**
 * @private
 */
export interface IndexInfo {
    index: string;
}
/**
 * @private
 */
export interface ImagePointInfo {
    selectedElement: HTMLElement;
    resizePosition: string;
}
/**
 * @private
 */
export interface HyperlinkTextInfo {
    displayText: string;
    isNestedField: boolean;
    format: WCharacterFormat;
}
/**
 * @private
 */
export interface BodyWidgetInfo {
    bodyWidget: BodyWidget;
    index: number;
}
/**
 * @private
 */
export interface ParagraphInfo {
    paragraph: ParagraphWidget;
    offset: number;
}
/**
 * @private
 */
export interface ErrorInfo {
    errorFound: boolean;
    elements: any[];
}
/**
 * @private
 */
export interface SpaceCharacterInfo {
    width: number;
    wordLength: number;
    isBeginning: boolean;
}
/**
 * @private
 */
export interface SpecialCharacterInfo {
    beginningWidth: number;
    endWidth: number;
    wordLength: number;
}
/**
 * @private
 */
export interface ContextElementInfo {
    element: ElementBox;
    text: string;
}
/**
 * @private
 */
export interface WordSpellInfo {
    hasSpellError: boolean;
    isElementPresent: boolean;
}
/**
 * @private
 */
export interface TextInLineInfo {
    elementsWithOffset: Dictionary<TextElementBox, number>;
    fullText: string;
}
/**
 * @private
 */
export interface CellInfo {
    start: number;
    end: number;
}
/**
 * @private
 */
export interface FieldCodeInfo {
    isNested: boolean;
    isParsed: boolean;
}
/**
 * @private
 */
export interface LineInfo {
    line: LineWidget;
    offset: number;
}
/**
 * @private
 */
export interface ElementInfo {
    element: ElementBox;
    index: number;
}
/**
 * @private
 */
export interface RevisionMatchedInfo {
    element: ElementBox;
    isMatched: boolean;
}
/**
 * @private
 */
export interface RevisionInfo {
    type: RevisionType;
    color: string;
}
/**
 * @private
 */
export interface MatchResults {
    matches: RegExpExecArray[];
    elementInfo: Dictionary<TextElementBox, number>;
    textResults: TextSearchResults;
}
/**
 * @private
 */
export interface TextPositionInfo {
    element: ElementBox;
    index: number;
    caretPosition: Point;
    isImageSelected: boolean;
}
/**
 * @private
 */
export interface ShapeInfo {
    element: ElementBox;
    caretPosition: Point;
    isShapeSelected: boolean;
    isInShapeBorder: boolean;
}
/**
 * @private
 */
export interface PageInfo {
    height: number;
    width: number;
    viewerWidth: number;
    viewerHeight: number;
}
/**
 * @private
 */
export interface CanvasInfo {
    height: number;
    width: number;
    viewerWidth: number;
    viewerHeight: number;
    containerHeight: number;
    containerWidth: number;
}
/**
 * @private
 */
export interface CellCountInfo {
    count: number;
    cellFormats: WCellFormat[];
}
/**
 * @private
 */
export interface BlockInfo {
    node: Widget;
    position: IndexInfo;
}
/**
 * @private
 */
export interface WidthInfo {
    minimumWordWidth: number;
    maximumWordWidth: number;
}
/**
 * @private
 */
export interface RtlInfo {
    isRtl: boolean;
    id: number;
}
/**
 * @private
 */
export interface ImageFormatInfo {
    extension: string;
    formatClippedString: string;
}
/**
 * @private
 */
export interface PositionInfo {
    startPosition: TextPosition;
    endPosition: TextPosition;
}
/**
 * @private
 */
export interface BorderRenderInfo {
    skipTopBorder: boolean;
    skipBottomBorder: boolean;
}
/**
 * Specifies the field information.
 */
export interface FieldInfo {
    /**
     *  Specifies the field code.
     */
    code: string;
    /**
     *  Specifies the field result.
     */
    result: string;
}
/**
 * Text form field info
 */
export interface TextFormFieldInfo {
    /**
     * Specifies text form field type.
     */
    type: TextFormFieldType;
    /**
     * Text form field default value.
     */
    defaultValue: string;
    /**
     * Text form field format
     */
    format: string;
    /**
     * Maximum text length.
     */
    maxLength: number;
    /**
     * Enable or disable form field.
     */
    enabled: boolean;
    /**
     * Tooltip text.
     */
    helpText: string;
}
/**
 * CheckBox form field info
 */
export interface CheckBoxFormFieldInfo {
    /**
     * CheckBox form field size type.
     */
    sizeType: CheckBoxSizeType;
    /**
     * CheckBox form field size.
     */
    size: number;
    /**
     * CheckBox form field default value.
     */
    defaultValue: boolean;
    /**
     * Enable or disable form field.
     */
    enabled: boolean;
    /**
     * Tooltip text.
     */
    helpText: string;
}
/**
 * DropDown form field info
 */
export interface DropDownFormFieldInfo {
    /**
     * DropDown items
     */
    dropdownItems: string[];
    /**
     * Enable or disable form field.
     */
    enabled: boolean;
    /**
     * Tooltip text.
     */
    helpText: string;
}
/**
 * @private
 */
export interface BorderInfo {
    border: WBorder;
    width: number;
}
/**
 * @private
 */
export interface LtrRtlTextInfo {
    value?: boolean;
}
/**
 * @private
 */
export interface FootNoteWidgetsInfo {
    footNoteWidgets: BodyWidget[];
    toBodyWidget: BodyWidget;
    fromBodyWidget: BodyWidget;
}
/**
 * @private
 */
export interface SelectedCommentInfo {
    commentStartInfo: CommentCharacterElementBox[];
    commentEndInfo: CommentCharacterElementBox[];
}
/**
 * @private
 */
export  class WrapPosition {
    x: number;
    width: number;
    readonly right: number;
    constructor(x: number, width: number);
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/editor/editor.d.ts
/**
 * Editor module
 */
export  class Editor {
    documentHelper: DocumentHelper;
    private nodes;
    private editHyperlinkInternal;
    private startOffset;
    private startParagraph;
    private endOffset;
    private pasteRequestHandler;
    private endParagraph;
    private currentProtectionType;
    private alertDialog;
    private formFieldCounter;
    private skipFieldDeleteTracking;
    private isForHyperlinkFormat;
    private isTrackingFormField;
    private previousBlockToLayout;
    private isInsertText;
    /**
     * @private
     */
    removeEditRange: boolean;
    /**
     * @private
     */
    isRemoveRevision: boolean;
    /**
     * @private
     */
    isFootNoteInsert: boolean;
    /**
     * @private
     */
    isTableInsert: boolean;
    /**
     * @private
     */
    isFootNote: boolean;
    /**
     * @private
     */
    isHandledComplex: boolean;
    /**
     * @private
     */
    isUserInsert: boolean;
    /**
     * @private
     */
    tableResize: TableResizer;
    /**
     * @private
     */
    tocStyles: TocLevelSettings;
    /**
     * @private
     */
    triggerPageSpellCheck: boolean;
    /**
     * @private
     */
    chartType: boolean;
    private removedBookmarkElements;
    /**
     * @private
     */
    tocBookmarkId: number;
    /**
     * @private
     */
    copiedData: string;
    private animationTimer;
    private pageRefFields;
    private delBlockContinue;
    private delBlock;
    private delSection;
    /**
     * @private
     */
    isInsertingTOC: boolean;
    private editStartRangeCollection;
    private skipReplace;
    private skipTableElements;
    private removedTextNodes;
    /**
     * @private
     */
    listNumberFormat: string;
    /**
     * @private
     */
    listLevelPattern: ListLevelPattern;
    /**
     * @private
     */
    listLevelNumber: number;
    /**
     * @private
     */
    isXmlMapped: boolean;
    private combineLastBlock;
    /**
     * @private
     * @returns {boolean} - Returns the restrict formatting
     */
    readonly restrictFormatting: boolean;
    /**
     * @private
     * @returns {boolean} - Returns the restrict editing
     */
    readonly restrictEditing: boolean;
    /**
     * @private
     * @returns {boolean} - Returns the can edit content control.
     */
    readonly canEditContentControl: boolean;
    copiedContent: any;
    /**
     * @private
     */
    copiedTextContent: string;
    /**
     * @private
     */
    previousParaFormat: WParagraphFormat;
    private previousCharFormat;
    private previousSectionFormat;
    private currentPasteOptions;
    private pasteTextPosition;
    isPaste: boolean;
    isPasteListUpdated: boolean;
    isHtmlPaste: boolean;
    base64: Base64;
    /**
     * @private
     */
    isInsertField: boolean;
    /**
     * Initialize the editor module
     *
     * @param {DocumentHelper} documentHelper - Document helper
     * @private
     */
    constructor(documentHelper: DocumentHelper);
    private readonly viewer;
    private readonly editorHistory;
    /**
     * @private
     */
    isBordersAndShadingDialog: boolean;
    private readonly selection;
    private readonly owner;
    private getModuleName;
    /**
     * Sets the field information for the selected field.
     *
     * @param { FieldInfo } fieldInfo – Specifies the field information.
     * @returns {void}
     * > Nested field gets replaced completely with the specified field information.
     */
    setFieldInfo(fieldInfo: FieldInfo): void;
    /**
     * Inserts the specified field at cursor position
     *
     * @param {string} code - Specify the field code
     * @param {string} result - Specify the field result
     * @returns {void}
     */
    insertField(code: string, result?: string): void;
    private isLinkedStyle;
    /**
     * To update style for paragraph
     *
     * @param {string} style - style name
     * @param {boolean} clearDirectFormatting - Removes manual formatting (formatting not applied using a style)
     * from the selected text, to match the formatting of the applied style. Default value is false.
     * @returns {void}
     */
    applyStyle(style: string, clearDirectFormatting?: boolean): void;
    /**
     * Moves the selected content in the document editor control to clipboard.
     *
     * @returns {void}
     */
    cut(): void;
    /**
     * Insert editing region where everyone can edit.
     *
     * @returns {void}
     */
    insertEditingRegion(): void;
    /**
     * Insert editing region where mentioned user can edit.
     *
     * @returns {void}
     */
    insertEditingRegion(user: string): void;
    /**
     * Enforce document protection by protection type.
     *
     * @returns {void}
     */
    enforceProtection(credential: string, protectionType: ProtectionType): void;
    /**
     * Enforce document protection.
     *
     * @returns {void}
     */
    enforceProtection(credential: string, limitToFormatting: boolean, isReadOnly: boolean): void;
    private getCommentHierarchicalIndex;
    private alertBox;
    /**
     * Insert comment
     *
     * @param {string} text - comment text.
     * @returns {void}
     */
    insertComment(text?: string): void;
    private insertCommentInternal;
    /**
     * Delete all the comments in current document
     *
     * @returns {void}
     */
    deleteAllComments(): void;
    /**
     * Delete current selected comment.
     *
     * @returns {void}
     */
    deleteComment(): void;
    /**
     * @param {CommentElementBox} comment - Specified the comment element box
     * @private
     * @returns {void}
     */
    deleteCommentInternal(comment: CommentElementBox): void;
    private deleteCommentWidgetInternal;
    /**
     * @param {CommentElementBox} comment - Specified the comment element box
     * @private
     * @returns {void}
     */
    deleteCommentWidget(comment: CommentElementBox): void;
    /**
     * @param {CommentElementBox} comment - Specified the comment element box
     * @private
     * @returns {void}
     */
    resolveComment(comment: CommentElementBox): void;
    /**
     * @param {CommentElementBox} comment - Specified the comment element box
     * @private
     * @returns {void}
     */
    reopenComment(comment: CommentElementBox): void;
    /**
     * @private
     */
    resolveOrReopenComment(comment: CommentElementBox, resolve: boolean): void;
    /**
     * @param {CommentElementBox} parentComment - Specified the parent comment
     * @param {string} text - Specified the text.
     * @private
     * @returns {void}
     */
    replyComment(parentComment: CommentElementBox, text?: string): void;
    private removeInline;
    /**
     * @param {CommentElementBox} commentWidget - Specifies the comment
     * @param {boolean} isNewComment - Specifies is new comment
     * @param {boolean} showComments - Specifies show comments
     * @param {boolean} selectComment - Specified select comment
     * @private
     * @returns {void}
     */
    addCommentWidget(commentWidget: CommentElementBox, isNewComment: boolean, showComments: boolean, selectComment: boolean): void;
    /**
     * @param {CommentElementBox} comment - Specifies comment element box
     * @param {string} hierarchicalIndex - Specifies the hierachical index.
     * @private
     * @returns {void}
     */
    addReplyComment(comment: CommentElementBox, hierarchicalIndex: string): void;
    /**
     * @param {string} password - Specifies the password
     * @param {string} protectionType - Specifies the protection type
     * @private
     * @returns {void}
     */
    addProtection(password: string, protectionType: ProtectionType): void;
    private protectionFailureHandler;
    private enforceProtectionInternal;
    private toggleTrackChangesProtection;
    private protectDocument;
    /**
     * Stop document protection.
     *
     * @param {string} password - Specifies the password
     * @returns {void}
     */
    stopProtection(password: string): void;
    private onUnProtectionSuccess;
    private validateHashValue;
    /**
     * @private
     * @returns {void}
     */
    unProtectDocument(): void;
    /**
     * Notify content change event
     *
     * @private
     * @returns {void}
     */
    fireContentChange(): void;
    /**
     * Update physical location for text position
     *
     * @param {boolean} isSelectionChanged - Specifies the selection change
     * @private
     * @returns {void}
     */
    updateSelectionTextPosition(isSelectionChanged: boolean): void;
    /**
     * @private
     * @returns {void}
     */
    onTextInputInternal: () => void;
    /**
     * Predict text
     *
     * @private
     * @returns {void}
     */
    predictText(): void;
    private getPrefixAndSuffix;
    /**
     * Fired on paste.
     *
     * @param {ClipboardEvent} event - Specfies clipboard event
     * @private
     * @returns {void}
     */
    onPaste: (event: ClipboardEvent) => void;
    /**
     * key action
     * @private
     * @returns {void}
     */
    onKeyDownInternal(event: KeyboardEvent, ctrl: boolean, shift: boolean, alt: boolean): void;
    /**
     * @private
     * @returns {void}
     */
    handleShiftEnter(): void;
    /**
     * Handles back key.
     *
     * @private
     * @returns {void}
     */
    handleBackKey(): void;
    /**
     * Handles delete
     *
     * @private
     * @returns {void}
     */
    handleDelete(): void;
    /**
     * Handles enter key.
     *
     * @private
     * @returns {void}
     */
    handleEnterKey(): void;
    /**
     * Handles Control back key.
     *
     * @private
     * @returns {void}
     */
    handleCtrlBackKey(): void;
    /**
     * Handles Ctrl delete
     *
     * @private
     * @returns {void}
     */
    handleCtrlDelete(): void;
    /**
     * @private
     * @returns {void}
     */
    handleTextInput(text: string): void;
    /**
     * Copies to format.
     * @param {WCharacterFormat} format
     * @private
     * @returns {void}
     */
    copyInsertFormat(format: WCharacterFormat, copy: boolean): WCharacterFormat;
    private getResultContentControlText;
    private updateXmlMappedContentControl;
    private updateCustomXml;
    /**
     * Inserts the specified text at cursor position
     * @param {string} text - text to insert
     */
    insertText(text: string): void;
    /**
     * @private
     * @returns {void}
     */
    insertTextInternal(text: string, isReplace: boolean, revisionType?: RevisionType, allowLayout?: boolean): void;
    private updateElementInFieldRevision;
    retrieveFieldResultantText(item: FieldElementBox): string;
    private checkToCombineRevisionsinBlocks;
    private checkToMapRevisionWithNextNode;
    private checkToMapRevisionWithPreviousNode;
    private checkToMapRevisionWithInlineText;
    private combineElementRevisions;
    private applyMatchedRevisionInorder;
    private copyElementRevision;
    private mapMatchedRevisions;
    private isRevisionAlreadyIn;
    private getMatchedRevisionsToCombine;
    private decideInlineForTrackChanges;
    /**
     * @private
     * @returns {void}
     */
    insertIMEText(text: string, isUpdate: boolean): void;
    /**
     * Insert Section break at cursor position
     *
     * @returns {void}
     */
    insertSectionBreak(): void;
    private combineRevisionWithBlocks;
    private checkToCombineRevisionWithNextPara;
    private checkToCombineRevisionWithPrevPara;
    private combineRevisionWithNextPara;
    private combineRevisionWithPrevPara;
    removeRevision(revisionToRemove: Revision): any;
    clearElementRevision(revision: Revision): void;
    /**
     * @private
     * @returns {void}
     */
    insertRevision(item: any, type: RevisionType, author?: string, date?: string, spittedRange?: object[]): void;
    /**
     * Method help to clear previous revisions and include new revision at specified index
     *
     * @param range - range of elements to be cleared
     * @param revision - revision to be inserted
     * @param index - index at which to be included in the revision range
     * @returns {void}
     */
    private clearAndUpdateRevisons;
    private splitRevisionByElement;
    /**
     * Method to update revision for the splitted text element
     * @param inline - Original text element
     * @param splittedSpan - Splitted element
     */
    private updateRevisionForSpittedTextElement;
    private isRevisionMatched;
    private compareElementRevision;
    private canInsertRevision;
    private insertRevisionAtEnd;
    private insertRevisionAtPosition;
    private insertRevisionAtBegining;
    private splitRevisionForSpittedElement;
    /**
     * Method to combine element revision if not inserts new revision
     */
    private combineElementRevision;
    private combineRevisions;
    /**
     * Method to update the revision for whole block
     *
     * @private
     * @returns {void}
     */
    insertRevisionForBlock(widget: ParagraphWidget, revisionType: RevisionType, isTOC?: boolean, revision?: Revision, skipReLayout?: boolean): void;
    private updateRevisionCollection;
    /**
     * @private
     * @returns {BodyWidget}
     */
    insertSection(selection: Selection, selectFirstBlock: boolean, isUndoing?: boolean): BlockWidget;
    /**
     * @private
     */
    splitBodyWidget(bodyWidget: BodyWidget, sectionFormat: WSectionFormat, startBlock: BlockWidget): BodyWidget;
    private insertRemoveHeaderFooter;
    private updateBlockIndex;
    /**
     * @private
     * @returns {void}
     */
    updateSectionIndex(sectionFormat: WSectionFormat, startBodyWidget: BodyWidget, increaseIndex: boolean): void;
    private checkAndConvertList;
    private checkNextLevelAutoList;
    private getNumber;
    private getListLevelPattern;
    private autoConvertList;
    private checkNumberFormat;
    private checkLeadingZero;
    private getPageFromBlockWidget;
    /**
     * @private
     * @returns {void}
     */
    insertTextInline(element: ElementBox, selection: Selection, text: string, index: number, skipReLayout?: boolean): void;
    private insertFieldBeginText;
    private insertBookMarkText;
    private insertFieldSeparatorText;
    private insertFieldEndText;
    private insertImageText;
    /**
     * @private
     */
    private isListTextSelected;
    private checkAndConvertToHyperlink;
    private autoFormatHyperlink;
    private appylingHyperlinkFormat;
    private createHyperlinkElement;
    private insertHyperlinkfield;
    /**
     * @private
     */
    unlinkRangeFromRevision(inline: any, removeCollection?: boolean): void;
    /**
     * @private
     */
    unlinkWholeRangeInRevision(item: any, revision: Revision): void;
    /**
     * @private
     * @returns {void}
     */
    unLinkFieldCharacter(inline: ElementBox): void;
    private getCharacterFormat;
    /**
     * Insert Hyperlink
     *
     * @param {string} address - Hyperlink URL
     * @param {string} displayText - Display text for the hyperlink
     * @param {string} screenTip - The screen tip text.
     * @returns {void}
     */
    insertHyperlink(address: string, displayText?: string, screenTip?: string): void;
    /**
     * @private
     */
    insertHyperlinkInternal(url: string, displayText: string, remove: boolean, isBookmark?: boolean): void;
    private insertHyperlinkInternalInternal;
    private insertHyperlinkByFormat;
    private initInsertInline;
    private insertElementInCurrentLine;
    /**
     * Edit Hyperlink
     * @param {Selection} selection - Specified the selection
     * @param {string} url - Specifies the url
     * @param {string} displayText - Specified the display test
     * @param {boolean} isBookmark - Specifies is bookmark
     * @private
     * @returns {boolean} - Return tru of hyperlink is edited.
     */
    editHyperlink(selection: Selection, url: string, displayText: string, isBookmark?: boolean): boolean;
    private insertClonedFieldResult;
    private getClonedFieldResultWithSel;
    private getClonedFieldResult;
    /**
     * Removes the hyperlink if selection is within hyperlink.
     *
     * @returns {void}
     */
    removeHyperlink(): void;
    /**
     * Paste copied clipboard content on Paste event
     * @param {ClipboardEvent} event - Specifies the paste event
     * @param {any} pasteWindow - Specifies the paste window
     * @private
     */
    pasteInternal(event: ClipboardEvent, pasteWindow?: any): void;
    private pasteImage;
    /**
     * @private
     * @returns {void}
     */
    onPasteImage(data: string): void;
    private pasteAjax;
    /**
     * @private
     * @returns {void}
     */
    pasteFormattedContent(result: any): void;
    private onPasteFailure;
    /**
     * Pastes provided sfdt content or the data present in local clipboard if any.
     *
     * @param {string} sfdt? insert the specified sfdt content at current position
     * @returns {void}
     */
    paste(sfdt?: string, defaultPasteOption?: PasteOptions): void;
    private getUniqueListOrAbstractListId;
    private checkSameLevelFormat;
    private listLevelPatternInCollection;
    private isEqualParagraphFormat;
    private getBlocksToUpdate;
    private updateListIdForBlocks;
    private updatePasteContent;
    /**
     * @private
     */
    getBlocks(pasteContent: any, isPaste: boolean, sections?: BodyWidget[], comments?: CommentElementBox[], revision?: Revision[]): BodyWidget[];
    private applyMergeFormat;
    private applyFormatInternal;
    /**
     * @private
     */
    applyPasteOptions(options: PasteOptions, isPasteOptionTextOnly?: boolean): void;
    /**
     * @private
     */
    applyTablePasteOptions(options: TablePasteOptions): void;
    /**
     * @private
     * @returns {void}
     */
    pasteContents(content: any, currentFormat?: WParagraphFormat): void;
    private pasteContentsInternal;
    private defaultPaste;
    private pasteAsNewColumn;
    private pasteAsNestedTable;
    private pasteOverwriteCell;
    private pasteAsNewRow;
    private tableUpdate;
    private rowspannedCollection;
    private insertSpannedCells;
    private addRows;
    private pasteContent;
    private pasteCopiedData;
    private generateTableRevision;
    private isSectionEmpty;
    /**
     * Insert table on undo
     *
     * @param {TableWidget} table - Specifies the table
     * @param {TableWidget} newTable - Speciefies the new table
     * @param {boolean} moveRows - Specifies the new row
     * @private
     * @private {void}
     */
    insertTableInternal(table: TableWidget, newTable: TableWidget, moveRows: boolean): void;
    private canConstructRevision;
    private constructRevisionsForTable;
    private constructRevisionsForBlock;
    /**
     * @private
     * @param paraWidget
     * @param startoffset
     * @param endoffset
     * @param revisionId
     * @param isParaMarkIncluded
     * @returns {void}
     */
    applyRevisionForCurrentPara(paraWidget: ParagraphWidget, startoffset: number, endoffset: number, revisionId: string, isParaMarkIncluded: boolean): void;
    /**
     * Insert table on undo
     *
     * @param {Selection} selection - Specified the selection
     * @param {WBlock} block - Spcifies the block
     * @param {WTable} table - Specifies the table.
     * @private
     * @returns {void}
     */
    insertBlockTable(selection: Selection, block: BlockWidget, table: TableWidget): void;
    /**
     * On cut handle selected content remove and relayout
     *
     * @param {Selection} selection - Specified the selection
     * @private
     * @returns {void}
     */
    handleCut(selection: Selection): void;
    private insertInlineInternal;
    private insertElement;
    private updateRevisionForElement;
    private insertElementInternal;
    private incrementCommentIndex;
    /**
     * @private
     * @returns {void}
     */
    constructRevisionFromID(insertElement: any, isEnd: boolean, prevElement?: ElementBox): void;
    /**
     * Insert block on undo
     *
     * @param {Selection} selection - Specifies the selection
     * @param {WBlock} block - Specifes the block
     * @private
     * @returns {void}
     */
    insertBlock(block: BlockWidget): void;
    private insertBlockInternal;
    /**
     * Inserts the image with specified size at cursor position in the document editor.
     *
     * @param {string} imageString  Base64 string, web URL or file URL.
     * @param {number} width? Image width
     * @param {number} height? Image height
     * @returns {void}
     */
    insertImage(imageString: string, width?: number, height?: number): void;
    /**
     * Inserts the image with specified size at cursor position in the document editor.
     *
     * @private
     * @param {string} imageString Base64 string, web URL or file URL.
     * @param {boolean} isUiInteracted Is image instered from UI interaction.
     * @param {number} width? Image width
     * @param {number} height? Image height
     * @returns {void}
     */
    insertImageInternal(imageString: string, isUiInteracted: boolean, width?: number, height?: number): void;
    /**
     * Inserts a table of specified size at cursor position
     *  in the document editor.
     *
     * @param {number} rows Default value of ‘rows’ parameter is 1.
     * @param {number} columns Default value of ‘columns’ parameter is 1.
     * @returns {void}
     */
    insertTable(rows?: number, columns?: number): void;
    /**
     * Inserts the specified number of rows to the table above or below to the row at cursor position.
     *
     * @param {boolean} above The above parameter is optional and if omitted,
     * it takes the value as false and inserts below the row at cursor position.
     * @param {number} count The count parameter is optional and if omitted, it takes the value as 1.
     * @returns {void}
     */
    insertRow(above?: boolean, count?: number): void;
    private rowInsertion;
    /**
     * Fits the table based on AutoFitType.
     *
     * @param {AutoFitType} - auto fit type
     * @returns {void}
     */
    autoFitTable(fitType: AutoFitType): void;
    private updateCellFormatForInsertedRow;
    private updateRowspan;
    private insertTableRows;
    /**
     * Inserts the specified number of columns to the table left or right to the column at cursor position.
     *
     * @param {number} left The left parameter is optional and if omitted, it takes the value as false and
     * inserts to the right of column at cursor position.
     * @param {number} count The count parameter is optional and if omitted, it takes the value as 1.
     * @returns {void}
     */
    insertColumn(left?: boolean, count?: number): void;
    private copyCellFormats;
    private tableReLayout;
    /**
     * Creates table with specified rows and columns.
     * @private
     *
     * @returns {TableWidget}
     */
    createTable(rows: number, columns: number): TableWidget;
    private createRowAndColumn;
    private createColumn;
    private getColumnCountToInsert;
    private getRowCountToInsert;
    private getOwnerCell;
    private getOwnerRow;
    private getOwnerTable;
    /**
     * Merge Selected cells
     *
     * @private
     * @returns {void}
     */
    mergeSelectedCellsInTable(): void;
    private confirmCellMerge;
    private mergeSelectedCells;
    private mergeBorders;
    private updateBlockIndexAfterMerge;
    /**
     * Determines whether merge cell operation can be done.
     *
     * @returns {boolean} - Returns can merge cells.
     */
    canMergeCells(): boolean;
    private canMergeSelectedCellsInTable;
    private checkCellWidth;
    private checkCellWithInSelection;
    private checkPrevOrNextCellIsWithinSel;
    private checkCurrentCell;
    private checkRowSpannedCells;
    /**
     * @private
     * @returns {void}
     */
    insertNewParagraphWidget(newParagraph: ParagraphWidget, insertAfter: boolean): void;
    private insertParagraph;
    private moveInlines;
    private moveContent;
    private updateRevisionForMovedContent;
    /**
     * update complex changes when history is not preserved
     *
     * @param {number} action - Specifies the action
     * @param {string} start - Specifies the selection start
     * @param {string} end - Specified the selection end
     * @private
     * @returns {void}
     */
    updateComplexWithoutHistory(action?: number, start?: string, end?: string): void;
    /**
     * Re-layout content.
     *
     * @param {Selection} selection - Specifies the selection
     * @param isSelectionChanged - Specifies the selection changed
     * @private
     * @returns {void}
     */
    reLayout(selection: Selection, isSelectionChanged?: boolean, isLayoutChanged?: boolean): void;
    /**
     * @private
     * @returns {void}
     */
    updateHeaderFooterWidget(headerFooterWidget?: HeaderFooterWidget): void;
    private updateHeaderFooterWidgetToPage;
    private updateHeaderFooterWidgetToPageInternal;
    /**
     * @private
     * @returns {void}
     */
    removeFieldInWidget(widget: Widget, isBookmark?: boolean, isContentControl?: boolean): void;
    /**
     * @private
     * @returns {void}
     */
    removeFieldInBlock(block: BlockWidget, isBookmark?: boolean, isContentControl?: boolean): void;
    private removeFieldTable;
    private shiftFootnotePageContent;
    /**
     * @private
     * @returns {void}
     */
    shiftPageContent(type: HeaderFooterType, sectionFormat: WSectionFormat): void;
    private checkAndShiftFromBottom;
    private allowFormattingInFormFields;
    private getContentControl;
    private checkPlainTextContentControl;
    /**
     * Applies character format for selection.
     *
     * @param {string} property - Specifies the property
     * @param {Object} value - Specifies the value
     * @param {boolean} update - Spcifies the update
     * @private
     * @returns {void}
     */
    onApplyCharacterFormat(property: string, value: Object, update?: boolean, applyStyle?: boolean): void;
    private applyCharacterFormatForListText;
    private applyListCharacterFormatByValue;
    /**
     * @private
     * @returns {void}
     */
    updateListCharacterFormat(selection: Selection, property: string, value: Object): void;
    private updateListTextSelRange;
    /**
     * @private
     * @returns {void}
     */
    updateInsertPosition(): void;
    /**
     * Preserve paragraph and offset value for selection
     *
     * @private
     * @returns {void}
     */
    setOffsetValue(selection: Selection): void;
    /**
     * Toggles the highlight color property of selected contents.
     *
     * @param {HighlightColor} highlightColor Default value of ‘underline’ parameter is Yellow.
     * @returns {void}
     */
    toggleHighlightColor(highlightColor?: HighlightColor): void;
    /**
     * Toggles the subscript formatting of selected contents.
     *
     * @returns {void}
     */
    toggleSubscript(): void;
    /**
     * Toggles the superscript formatting of selected contents.
     *
     * @returns {void}
     */
    toggleSuperscript(): void;
    /**
     * Increases the left indent of selected paragraphs to a factor of 36 points.
     *
     * @returns {void}
     */
    increaseIndent(): void;
    /**
     * Decreases the left indent of selected paragraphs to a factor of 36 points.
     *
     * @returns {void}
     */
    decreaseIndent(): void;
    /**
     * Clears the list format for selected paragraphs.
     *
     * @returns {void}
     */
    clearList(): void;
    /**
     *$ Applies the bullet list to selected paragraphs.
     *
     *$ @param {string} bullet Bullet character
     *$ @param {string} fontFamily Bullet font family
     * @returns {void}
     */
    applyBullet(bullet: string, fontFamily: string): void;
    /**
     * Applies the numbering list to selected paragraphs.
     *
     * @param {string} numberFormat  “%n” representations in ‘numberFormat’ parameter will be replaced by respective list level’s value.
     * `“%1)” will be displayed as “1)” `
     * @param {ListLevelPattern} listLevelPattern  Default value of ‘listLevelPattern’ parameter is ListLevelPattern.Arabic
     * @returns {void}
     */
    applyNumbering(numberFormat: string, listLevelPattern?: ListLevelPattern): void;
    /**
     * Toggles the baseline alignment property of selected contents.
     *
     * @param {BaselineAlignment} baseAlignment Specifies the baseline alignment
     * @returns {void}
     */
    toggleBaselineAlignment(baseAlignment: BaselineAlignment): void;
    private clearFormattingInternal;
    /**
     * Clears the formatting.
     *
     * @returns {void}
     */
    clearFormatting(): void;
    private updateProperty;
    private getCompleteStyles;
    /**
     * Initialize default styles
     *
     * @private
     * @returns {void}
     */
    intializeDefaultStyles(): void;
    /**
     * Creates a new instance of Style.
     *
     * @returns {void}
     */
    createStyle(styleString: string): void;
    /**
     * Create a Style.
     * @private
     * @returns {object}
     */
    createStyleIn(styleString: string): Object;
    private getUniqueStyleName;
    private getUniqueName;
    /**
     * Update Character format for selection
     * @private
     */
    updateSelectionCharacterFormatting(property: string, values: Object, update: boolean): void;
    private updateCharacterFormat;
    private updateCharacterFormatWithUpdate;
    private applyCharFormatSelectedContent;
    private applyCharFormatForSelectedPara;
    private splittedLastParagraph;
    private getNextParagraphForCharacterFormatting;
    private applyCharFormat;
    /**
     * Toggles the bold property of selected contents.
     *
     * @returns {void}
     */
    toggleBold(): void;
    /**
     * Toggles the bold property of selected contents.
     *
     * @returns {void}
     */
    toggleItalic(): void;
    /**
     * Change the selected text to uppercase.
     * @private
     */
    changeCase(property: string): void;
    /**
     * Change the selected text case.
     * @private
     */
    changeSelectedTextCase(selection: Selection, startPosition: TextPosition, endPosition: TextPosition, property: string, removedTextNodes?: IWidget[]): void;
    private changeTextCase;
    private changeCaseParagraph;
    private changeCaseInline;
    private addRemovedTextNodes;
    private changeCaseInlineInternal;
    private changeCaseNextBlock;
    private getNextBlockForChangeCase;
    private getChangeCaseText;
    private changeCaseForTable;
    private changeCaseForSelectedCell;
    private changeCaseForSelectedPara;
    private changeCaseForSelTable;
    private changeCaseParaFormatInCell;
    private changeCaseParaForTableCell;
    private changeCaseParaForCellInternal;
    private changeCaseParaFormatTableInternal;
    private changeCaseParaForRow;
    /**
     * Toggle All Caps formatting for the selected content.
     *
     * @returns {void}
     */
    toggleAllCaps(): void;
    private getCurrentSelectionValue;
    private getSelectedCharacterFormat;
    /**
     * Toggles the underline property of selected contents.
     *
     * @param underline Default value of ‘underline’ parameter is Single.
     * @returns {void}
     */
    toggleUnderline(underline?: Underline): void;
    /**
     * Toggles the strike through property of selected contents.
     *
     * @param {Strikethrough} strikethrough Default value of strikethrough parameter is SingleStrike.
     * @returns {void}
     */
    toggleStrikethrough(strikethrough?: Strikethrough): void;
    private updateFontSize;
    private applyCharFormatInline;
    private formatInline;
    private updateRevisionForFormattedContent;
    private applyCharFormatCell;
    private applyCharFormatForSelectedCell;
    private applyCharFormatRow;
    private applyCharFormatForTable;
    private applyCharFormatForSelTable;
    private applyCharFormatForTableCell;
    private updateSelectedCellsInTable;
    private getCharacterFormatValueOfCell;
    /**
     * Apply Character format for selection
     *
     * @private
     * @returns {void}
     */
    applyCharFormatValueInternal(selection: Selection, format: WCharacterFormat, property: string, value: Object): void;
    private copyInlineCharacterFormat;
    private applyCharFormatValue;
    /**
     * @private
     * @returns {void}
     */
    onImageFormat(elementBox: ImageElementBox, width: number, height: number): void;
    /**
     * Toggles the text alignment of selected paragraphs.
     *
     * @param {TextAlignment} textAlignment - Specified the text alignment.
     * @returns {void}
     */
    toggleTextAlignment(textAlignment: TextAlignment): void;
    /**
     * @private
     */
    setPreviousBlockToLayout(): void;
    /**
     * Apply borders for selected paragraph borders
     * @private
     */
    applyParagraphBorders(property: string, bordersType: string, value: Object): void;
    /**
     * Applies paragraph format for the selection ranges.
     *
     * @param {string} property - Specifies the property
     * @param {Object} value - Specifies the value
     * @param {boolean} update - Specifies the update
     * @param {boolean} isSelectionChanged - Specifies the selection change.
     * @private
     * @returns {void}
     */
    onApplyParagraphFormat(property: string, value: Object, update: boolean, isSelectionChanged: boolean): void;
    /**
     * Updates the indent value in the ListLevel
     * @param {Object} value - Specifies the value
     * @param {ParagraphWidget} currentPara - Specifies the selected paragraph
     * @private
     * @returns {void}
     */
    updateListLevelIndent(value: Object, currentPara: ParagraphWidget): void;
    /**
     * To check the current selection is first paragraph for list
     * @param {Selection} selection - Specifies the selection
     * @param {ParagraphWidget} currentPara - Specifies the current paragraph
     * @private
     * @returns {boolean}
     */
    isFirstParaForList(selection: Selection, currentPara: ParagraphWidget): boolean;
    /**
     * Update the list level
     *
     * @param {boolean} increaseLevel - Specifies the increase level
     * @private
     * @returns {void}
     */
    updateListLevel(increaseLevel: boolean): void;
    /**
     * Applies list
     *
     * @param {WList} list - Specified the list
     * @param {number} listLevelNumber - Specified the list level number
     * @private
     * @returns {void}
     */
    onApplyListInternal(list: WList, listLevelNumber: number): void;
    /**
     * Apply paragraph format to selection range
     *
     * @param {string} property - Specifies the property
     * @param {Object} value - Specifies the value
     * @param {boolean} update - Specifies the update
     * @private
     * @returns {void}
     */
    updateSelectionParagraphFormatting(property: string, value: Object, update: boolean): void;
    private getIndentIncrementValue;
    private getIndentIncrementValueInternal;
    private updateParagraphFormatInternal;
    /**
     * Update paragraph format on undo
     *
     * @param {string} property - Specifies the property
     * @param {Object} value - Specifies the value
     * @param {boolean} update - Specifies the update
     * @private
     * @returns {void}
     */
    updateParagraphFormat(property: string, value: Object, update: boolean): void;
    private applyParaFormatSelectedContent;
    /**
     * Apply Paragraph format
     *
     * @param {ParagraphWidget} paragraph - Specifies the selection
     * @param {string} property - Specifies the property
     * @param {Object} value - Specifies the value
     * @param {boolean} update - Specifies the update
     * @private
     * @returns {void}
     */
    applyParaFormatProperty(paragraph: ParagraphWidget, property: string, value: Object, update: boolean): void;
    private copyParagraphFormat;
    /**
     * Copies list level paragraph format
     *
     * @param {WParagraphFormat} oldFormat - Specifies the old format
     * @param {WParagraphFormat} newFormat - Specifies the new format
     * @private
     * @returns {void}
     */
    copyFromListLevelParagraphFormat(oldFormat: WParagraphFormat, newFormat: WParagraphFormat): void;
    /**
     * To apply continue numbering from the previous list
     *
     * @returns {void}
     */
    applyContinueNumbering(): void;
    private applyContinueNumberingInternal;
    private getContinueNumberingInfo;
    /**
     * @private
     * @returns {void}
     */
    revertContinueNumbering(selection: Selection, format: WParagraphFormat): void;
    private changeListId;
    private getParagraphFormat;
    private checkNumberArabic;
    /**
     * @private
     * @returns {void}
     */
    applyRestartNumbering(selection: Selection): void;
    /**
     * @private
     * @returns {void}
     */
    restartListAt(selection: Selection): void;
    /**
     * @private
     * @returns {void}
     */
    restartListAtInternal(selection: Selection, listId: number): void;
    private changeRestartNumbering;
    private applyParaFormat;
    private applyCharacterStyle;
    private applyParaFormatInCell;
    private applyParaFormatCellInternal;
    private getParaFormatValueInCell;
    private applyParagraphFormatRow;
    private applyParaFormatTableCell;
    private applyParaFormatTable;
    private getNextParagraphForFormatting;
    private applyParagraphFormatTableInternal;
    /**
     * Apply section format selection changes
     *
     * @param {string} property - Specifies the property
     * @param {Object} value - Specifies the value
     * @private
     * @returns {void}
     */
    onApplySectionFormat(property: string, value: Object): void;
    /**
     * Update section format
     *
     * @param {string} property - Specifies the property
     * @param {Object} value - Specifies the value
     * @private
     * @returns {void}
     */
    updateSectionFormat(property: string, value: Object): void;
    /**
     * Apply table format property changes
     *
     * @param {string} property - Specifies the property
     * @param {Object} value - Specifies the value
     * @private
     * @returns {void}
     */
    onApplyTableFormat(property: string, value: Object): void;
    private getTableFormatAction;
    /**
     * Apply table row format property changes
     *
     * @param {string} property - Specifies the property
     * @param {Object} value - Specifies the value
     * @private
     * @returns {void}
     */
    onApplyTableRowFormat(property: string, value: Object): void;
    private getRowAction;
    /**
     * Apply table cell property changes
     *
     * @param {string} property - Specifies the property
     * @param {Object} value - Specifies the value
     * @private
     * @returns {void}
     */
    onApplyTableCellFormat(property: string, value: Object): void;
    private getTableCellAction;
    private applyPropertyValueForSection;
    /**
     * @private
     * @returns {void}
     */
    layoutWholeDocument(isLayoutChanged?: boolean): void;
    private combineSection;
    private combineSectionChild;
    private updateSelectionTableFormat;
    /**
     * Update Table Format on undo
     *
     * @param {Selection} selection - Specifies the selection
     * @param {string} property - Specifies the property
     * @param {Object} value - Specifies the value
     * @private
     * @returns {void}
     */
    updateTableFormat(selection: Selection, property: string, value: object): void;
    /**
     * update cell format on undo
     *
     * @param {Selection} selection - Specifies the selection
     * @param {string} property - Specifies the property
     * @param {Object} value - Specifies the value
     * @private
     * @returns {void}
     */
    updateCellFormat(selection: Selection, property: string, value: Object): void;
    /**
     * Update row format on undo
     *
     * @param {Selection} selection - Specifies the selection
     * @param {string} property - Specifies the property
     * @param {Object} value - Specifies the value
     * @private
     * @returns {void}
     */
    updateRowFormat(selection: Selection, property: string, value: Object): void;
    private initHistoryPosition;
    private startSelectionReLayouting;
    private reLayoutSelectionOfTable;
    private reLayoutSelection;
    private reLayoutSelectionOfBlock;
    /**
     * @private
     * @returns {void}
     */
    layoutItemBlock(block: BlockWidget, shiftNextWidget: boolean): void;
    /**
     * @private
     * @returns {boolean}
     */
    removeSelectedContents(selection: Selection): boolean;
    private removeSelectedContentInternal;
    private checkMultipleSectionSelected;
    private getBodyWidgetIndex;
    private removeSelectedContent;
    private deleteSelectedContent;
    /**
     * Merge the selected cells.
     *
     * @returns {void}
     */
    mergeCells(): void;
    /**
     * Deletes the entire table at selection.
     *
     * @returns {void}
     */
    deleteTable(): void;
    /**
     * Deletes the selected column(s).
     *
     * @returns {void}
     */
    deleteColumn(): void;
    private onDeleteColumnConfirmed;
    /**
     * Deletes the selected row(s).
     *
     * @returns {void}
     */
    deleteRow(): void;
    private trackRowDeletion;
    private trackInnerTable;
    private returnDeleteRevision;
    private removeRow;
    /**
     * @private
     * @param {TableWidget} table Specifies the table widget
     * @returns {void}
     */
    updateTable(table: TableWidget): void;
    private getParagraphForSelection;
    private deletePara;
    private deleteSection;
    private combineSectionInternal;
    private checkAndInsertBlock;
    private splitParagraph;
    private removeCommentsInBlock;
    private removeCommentInPara;
    private removeCommentsInline;
    /**
     * @private
     * @returns {void}
     */
    removeBlock(block: BlockWidget, isSkipShifting?: boolean, skipElementRemoval?: boolean): void;
    private removePrevParaMarkRevision;
    private isPasteRevertAction;
    private toCheckForTrack;
    private removeFootnote;
    private removeEndnote;
    private removeAutoShape;
    /**
     * @private
     * @returns {void}
     */
    removeField(block: BlockWidget, isBookmark?: boolean, isContentControl?: boolean): void;
    /**
     * @private
     * @param {IWidget} node Specifies the node.
     * @returns {void}
     */
    addRemovedNodes(node: IWidget, isInsertBefore?: boolean): void;
    private deleteBlock;
    private deleteTableCell;
    private deleteCellsInTable;
    /**
     * @private
     */
    removeDeletedCellRevision(row: TableRowWidget): any;
    private onConfirmedTableCellsDeletion;
    private onConfirmedCellDeletion;
    private removeRevisionForRow;
    private removeRevisionsInRow;
    /**
     * @private
     */
    removeRevisionForCell(cellWidget: TableCellWidget, removeCollection: boolean): any;
    private removeRevisionForInnerTable;
    /**
     * @private
     */
    removeRevisionForBlock(paraWidget: ParagraphWidget, revision: Revision, skipParaMark: boolean, addToRevisionInfo: boolean): any;
    private unlinkRangeByRevision;
    private isWholeRowSelected;
    private deleteCell;
    private paragrapghBookmarkCollection;
    private deleteContainer;
    private deleteTableBlock;
    private splitTable;
    private updateEditPosition;
    private deleteContent;
    private setActionInternal;
    private checkClearCells;
    private isEndInAdjacentTable;
    /**
     * @private
     * @param table
     * @returns {TableWidget}
     */
    cloneTableToHistoryInfo(table: TableWidget): TableWidget;
    private insertParagraphPaste;
    private removeInlines;
    private skipTracking;
    private canHandleDeletion;
    /**
     *
     * @param comment
     * Deletes comment start and end markers along with its comment widgets.
     */
    private deleteCommentInSelection;
    /**
     * @private
     */
    removeContent(lineWidget: LineWidget, startOffset: number, endOffset: number, editAction?: number): void;
    /**
     * Deletes comment widgets from comment pane along with history preservation.
     */
    private deleteCommentWidgetInline;
    private clearFieldElementRevisions;
    private addRemovedRevisionInfo;
    /**
     * @private
     * @returns {void}
     */
    removeEmptyLine(paragraph: ParagraphWidget): void;
    /**
     * Clone the list level
     *
     * @param {WListLevel} source - Specifies the source
     * @private
     * @returns {WListLevel} - Returns the list level
     */
    cloneListLevel(source: WListLevel): WListLevel;
    /**
     * Copies the list level
     *
     * @param {WListLevel} destination - Specifies the destination
     * @param {WListLevel} listLevel - Specifies the list level
     * @private
     * @returns {void}
     */
    copyListLevel(destination: WListLevel, listLevel: WListLevel): void;
    /**
     * Clone level override
     *
     * @param {WLevelOverride} source  @returns {void} - Specifies the level override
     * @private
     * @returns {WLevelOverride} - Returns the level overeide
     */
    cloneLevelOverride(source: WLevelOverride): WLevelOverride;
    /**
     * Update List Paragraph
     * @private
     * @returns {void}
     */
    updateListParagraphs(): void;
    /**
     * @private
     * @returns {void}
     */
    updateListParagraphsInBlock(block: BlockWidget): void;
    /**
     * Applies list format
     *
     * @param {WList} list - Specifies the list.
     * @private
     * @returns {void}
     */
    onApplyList(list: WList): void;
    /**
     * Applies bullets or numbering list
     *
     * @param {string} format - Specifies the format
     * @param {ListLevelPattern} listLevelPattern - Specifies the list level patterns
     * @param {string} fontFamily - Specifies the font family.
     * @private
     * @returns {void}
     */
    applyBulletOrNumbering(format: string, listLevelPattern: ListLevelPattern, fontFamily: string): void;
    private addListLevels;
    /**
     * Insert page break at cursor position
     *
     * @returns {void}
     */
    insertPageBreak(): void;
    /**
     * @private
     * @returns {void}
     */
    onEnter(isInsertPageBreak?: boolean): void;
    private splitParagraphInternal;
    private insertParaRevision;
    private applyRevisionForParaMark;
    private checkParaMarkMatchedWithElement;
    private checkToMatchEmptyParaMark;
    private checkToMatchEmptyParaMarkBack;
    /**
     * @private
     * @returns {void}
     */
    updateNextBlocksIndex(block: BlockWidget, increaseIndex: boolean): void;
    private updateIndex;
    /**
     * @private
     * @returns {void}
     */
    updateEndPosition(): void;
    private checkAndRemoveComments;
    private updateHistoryForComments;
    /**
     * @private
     * @returns {void}
     */
    onBackSpace(): void;
    /**
     * @private
     * @returns {boolean}
     */
    insertRemoveBookMarkElements(): boolean;
    /**
     * @private
     * @param {Selection} selection - Specifies the selection
     * @param {boolean} isBackSpace - Specifies is backspace.
     * @returns {boolean}
     */
    deleteSelectedContents(selection: Selection, isBackSpace: boolean): boolean;
    private removeWholeElement;
    private getSelectedComments;
    /**
     * Remove single character on left of cursor position
     *
     * @param {Selection} selection - Specifies the selection
     * @param {boolean} isRedoing - Specified the is redoing.
     * @private
     * @returns {void}
     */
    singleBackspace(selection: Selection, isRedoing: boolean): void;
    private setPositionForHistory;
    private removeAtOffset;
    private removeCharacter;
    private removeCharacterInLine;
    private removeRevisionsInformation;
    private handleDeleteTracking;
    private toCombineOrInsertRevision;
    private updateLastElementRevision;
    private updateEndRevisionIndex;
    private retrieveRevisionInOder;
    private handleDeletionForInsertRevision;
    private handleDeleteBySplitting;
    private updateCursorForInsertRevision;
    private checkToCombineRevisionsInSides;
    /**
     * Remove the current selected content or one character right of cursor.
     *
     * @returns {void}
     */
    delete(): void;
    private deleteEditElement;
    private removeContentControlMark;
    /**
     * Remove single character on right of cursor position
     *
     * @param {Selection} selection - Specifies the selection
     * @param {boolean} isRedoing - Specified the is redoing.
     * @private
     * @returns {void}
     */
    singleDelete(selection: Selection, isRedoing: boolean): void;
    private singleDeleteInternal;
    private deleteParagraphMark;
    private handleDeleteParaMark;
    private insertDeleteParaMarkRevision;
    private retrieveRevisionByType;
    private combineRevisionOnDeleteParaMark;
    private updateEditPositionOnMerge;
    private checkEndPosition;
    private checkInsertPosition;
    private checkIsNotRedoing;
    /**
     * deleteSelectedContentInternal
     * @private
     */
    deleteSelectedContentInternal(selection: Selection, isBackSpace: boolean, startPosition: TextPosition, endPosition: TextPosition): boolean;
    /**
     * Init EditorHistory
     *
     * @private
     * @param {Action} action Specified the action.
     * @returns {void}
     */
    initHistory(action: Action): void;
    /**
     * Init Complex EditorHistory
     *
     * @private
     * @param {Action} action Specified the action.
     * @returns {void}
     */
    initComplexHistory(action: Action): void;
    /**
     * Insert image
     *
     * @private
     * @param {string} base64String Base64 string, web URL or file URL.
     * @param {number} width Image width
     * @param {number} height Image height
     * @returns {void}
     */
    insertPicture(base64String: string, width: number, height: number, isUiInteracted: boolean): void;
    private generateFallBackImage;
    private insertPictureInternal;
    private fitImageToPage;
    /**
     * @param {selection} Selection context.
     * @param {elementBox} Elementbox
     * @param selection
     * @param elementBox
     * @private
     */
    insertInlineInSelection(selection: Selection, elementBox: ElementBox): void;
    /**
     * @private
     * @returns {void}
     */
    onPortrait(): void;
    /**
     * @private
     * @returns {void}
     */
    onLandscape(): void;
    private copyValues;
    /**
     * @param property
     * @private
     * @returns {void}
     */
    changeMarginValue(property: string): void;
    /**
     * @param property
     * @private
     * @returns {void}
     */
    onPaperSize(property: string): void;
    /**
     * @param blockAdv
     * @param updateNextBlockList
     * @param blockAdv
     * @param updateNextBlockList
     * @private
     * @returns {void}
     */
    updateListItemsTillEnd(blockAdv: BlockWidget, updateNextBlockList: boolean): void;
    /**
     * @param block
     * @private
     * @returns {void}
     */
    updateWholeListItems(block: BlockWidget, isFindingListParagraph?: boolean, listID?: number): ParagraphWidget;
    private getNextBlockForList;
    private updateListItems;
    private updateListItemsForTable;
    private updateListItemsForRow;
    private updateListItemsForCell;
    /**
     * @param block
     * @private
     * @returns {void}
     */
    updateRenderedListItems(block: BlockWidget): void;
    private updateRenderedListItemsForTable;
    private updateRenderedListItemsForRow;
    private updateRenderedListItemsForCell;
    private updateListItemsForPara;
    private updateRenderedListItemsForPara;
    private updateListNumber;
    /**
     * Get offset value to update in selection
     *
     * @param selection
     * @private
     * @returns {void}
     */
    getOffsetValue(selection: Selection): void;
    private setPositionParagraph;
    /**
     * @param textPosition
     * @param editPosition
     * @param textPosition
     * @param editPosition
     * @private
     * @returns {void}
     */
    setPositionForCurrentIndex(textPosition: TextPosition, editPosition: string): void;
    /**
     * Insert page number in the current cursor position.
     *
     * @param {string} numberFormat - Optional switch that overrides the numeral style of the page number.
     * @returns {void}
     */
    insertPageNumber(numberFormat?: string): void;
    /**
     * @param numberFormat
     * @private
     * @returns {void}
     */
    insertPageCount(numberFormat?: string): void;
    private createFields;
    /**
     * Insert Bookmark at current selection range
     *
     * @param {string} name - Name of bookmark
     * @returns {void}
     */
    insertBookmark(name: string): void;
    /**
     * Deletes specific bookmark
     *
     * @param {string} bookmarkName - Name of bookmark to delete.
     * @returns {void}
     */
    deleteBookmark(bookmarkName: string): void;
    /**
     * @param bookmark
     * @private
     * @returns {void}
     */
    deleteBookmarkInternal(bookmark: BookmarkElementBox): void;
    private getSelectionInfo;
    private insertElements;
    private insertElementsInternal;
    /**
     * @param index
     * @private
     * @returns {CommentElementBox}
     */
    getCommentElementBox(index: string): CommentElementBox;
    /**
     * @param position
     * @private
     * @returns {BlockInfo}
     */
    getBlock(position: IndexInfo): BlockInfo;
    private getBlockInternal;
    /**
     * @param position
     * @param isInsertPosition
     * @private
     * @returns {void}
     */
    updateHistoryPosition(position: TextPosition | string, isInsertPosition: boolean): void;
    /**
     * Applies the borders based on given settings.
     *
     * @param {BorderSettings} settings
     * @returns {void}
     */
    applyBorders(settings: BorderSettings): void;
    private applyAllBorders;
    private applyInsideBorders;
    private getTopBorderCellsOnSelection;
    private getLeftBorderCellsOnSelection;
    private getRightBorderCellsOnSelection;
    private getBottomBorderCellsOnSelection;
    private clearAllBorderValues;
    private clearBorder;
    private getAdjacentCellToApplyBottomBorder;
    private getAdjacentBottomBorderOnEmptyCells;
    private getAdjacentCellToApplyRightBorder;
    private getSelectedCellsNextWidgets;
    private getBorder;
    /**
     * Applies borders
     *
     * @param {WBorders} sourceBorders
     * @param {WBorders} applyBorders
     * @private
     * @returns {void}
     */
    applyBordersInternal(sourceBorders: WBorders, applyBorders: WBorders): void;
    /**
     * Apply shading to table
     *
     * @param {WShading} sourceShading
     * @param {WShading} applyShading
     * @private
     * @returns {void}
     */
    applyShading(sourceShading: WShading, applyShading: WShading): void;
    private applyBorder;
    /**
     * Apply Table Format changes
     *
     * @param {WTableFormat} format Specifies table format
     * @param {boolean} isShading Specifies shading.
     * @private
     * @returns {void}
     */
    onTableFormat(format: WTableFormat, isShading?: boolean): void;
    private applyTableFormat;
    private applyTablePropertyValue;
    private handleTableFormat;
    private updateGridForTableDialog;
    /**
     * Applies Row Format Changes
     *
     * @param {WRowFormat} format Specifies row format
     * @private
     * @returns {void}
     */
    onRowFormat(format: WRowFormat): void;
    private applyRowFormat;
    private applyRowPropertyValue;
    private handleRowFormat;
    /**
     * Applies Cell Format changes
     *
     * @param {WCellFormat} format Specifies cell format
     * @private
     * @returns {void}
     */
    onCellFormat(format: WCellFormat): void;
    /**
     * Applies Paragraph Format changes
     *
     * @param {WParagraphFormat} format Specifies cell format
     * @private
     * @returns {void}
     */
    onParaFormat(format: WParagraphFormat): void;
    /**
     * @param selection
     * @param value
     * @private
     * @returns {void}
     */
    updateCellMargins(selection: Selection, value: WCellFormat): void;
    private updateFormatForCell;
    private getSelectedCellInColumn;
    private getColumnCells;
    private getTableWidth;
    private applyCellPropertyValue;
    private handleCellFormat;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
    /**
     * Updates the table of contents.
     *
     * @param tocField
     * @private
     * @returns {void}
     */
    updateToc(tocField?: FieldElementBox): void;
    private getTocSettings;
    private decodeTSwitch;
    /**
     * Inserts, modifies or updates the table of contents based on given settings.
     *
     * @param {TableOfContentsSettings} tableOfContentsSettings
     * @returns {void}
     */
    insertTableOfContents(tableOfContentsSettings?: TableOfContentsSettings): void;
    private appendEmptyPara;
    private constructTocFieldCode;
    private constructTSwitch;
    private appendEndField;
    private validateTocSettings;
    /**
     * Builds the TOC
     *
     * @private
     * @returns {ParagraphWidget[]}
     *
     */
    buildToc(tocSettings: TableOfContentsSettings, fieldCode: string, isFirstPara: boolean, isStartParagraph?: boolean): ParagraphWidget[];
    private createOutlineLevels;
    private createHeadingLevels;
    private isHeadingStyle;
    private isOutlineLevelStyle;
    private createTocFieldElement;
    private createTOCWidgets;
    private insertTocHyperlink;
    private insertTocPageNumber;
    private updatePageRef;
    /**
     * Inserts toc bookmark.
     *
     * @param widget
     * @returns {string}
     */
    private insertTocBookmark;
    private generateBookmarkName;
    /**
     * Change cell content alignment
     *
     * @param verticalAlignment
     * @param textAlignment
     * @param verticalAlignment
     * @param textAlignment
     * @private
     * @returns {void}
     */
    onCellContentAlignment(verticalAlignment: CellVerticalAlignment, textAlignment: TextAlignment): void;
    /**
     * @param user
     * @private
     * @returns {void}
     */
    insertEditRangeElement(user: string): void;
    private insertEditRangeInsideTable;
    private addRestrictEditingForSelectedArea;
    /**
     * @param user
     * @private
     * @returns {void}
     */
    addEditElement(user: string): EditRangeStartElementBox;
    /**
     * @param protectionType
     * @private
     * @returns {void}
     */
    protect(protectionType: ProtectionType): void;
    private addEditCollectionToDocument;
    /**
     * @param editStart
     * @param user
     * @private
     * @returns {void}
     */
    updateRangeCollection(editStart: EditRangeStartElementBox, user: string): void;
    /**
     * @param user
     * @private
     * @returns {void}
     */
    removeUserRestrictions(user: string): void;
    /**
     * @param editStart
     * @param currentUser
     * @private
     * @returns {void}
     */
    removeUserRestrictionsInternal(editStart: EditRangeStartElementBox, currentUser?: string): void;
    /**
     * @private
     * @returns {void}
     */
    removeAllEditRestrictions(): void;
    /**
     * Insert specified form field at current selection.
     *
     * @param {FormFieldType} type Form field type
     * @returns {void}
     */
    insertFormField(type: FormFieldType): void;
    private insertFormFieldInternal;
    private getFormFieldData;
    /**
     * @param field
     * @param info
     * @private
     * @returns {void}
     */
    setFormField(field: FieldElementBox, info: TextFormFieldInfo | CheckBoxFormFieldInfo | DropDownFormFieldInfo): void;
    /**
     * @param type
     * @param formData
     * @param type
     * @param formData
     * @private
     * @returns {boolean}
     */
    editFormField(type: FormFieldType, formData: FormField): boolean;
    private getDefaultText;
    private getFormFieldCode;
    /**
     * @param field
     * @param reset
     * @param value
     * @param field
     * @param reset
     * @param value
     * @private
     * @returns {void}
     */
    toggleCheckBoxFormField(field: FieldElementBox, reset?: boolean, value?: boolean): void;
    /**
     * @param field
     * @param value
     * @param reset
     * @private
     * @returns {void}
     */
    updateFormField(field: FieldElementBox, value: string | number, reset?: boolean): void;
    private updateFormFieldInternal;
    private updateFormFieldResult;
    private checkBookmarkAvailability;
    private getBookmarkName;
    /**
     * @param formField
     * @private
     * @returns {void}
     */
    applyFormTextFormat(formField: FieldElementBox): void;
    private insertSpaceInFormField;
    /**
     * @param formField
     * @private
     * @returns {string}
     */
    getFieldResultText(formField?: FieldElementBox): string;
    /**
     * @param field
     * @param text
     * @private
     * @returns {void}
     */
    applyTextFormatInternal(field: FieldElementBox, text: string): void;
    private constructCommentInitial;
    /**
     * Insert Footnote at current selection
     *
     * @returns {void}
     */
    insertFootnote(): void;
    private updateFootnoteCollection;
    /**
     * Insert Endnote at current selection
     *
     * @returns {void}
     */
    insertEndnote(): void;
    private updateEndnoteCollection;
    private updateEndNoteIndex;
    private separator;
    private continuationSeparator;
    private updateFootNoteIndex;
}
/**
 * @private
 */
export interface SelectionInfo {
    start: string;
    end: string;
}
/**
 * @private
 */
export interface ContinueNumberingInfo {
    currentList: WList;
    listLevelNumber: number;
    listPattern: ListLevelPattern;
}
/**
 * Specifies the settings for border.
 */
export interface BorderSettings {
    /**
     * Specifies the border type.
     */
    type: BorderType;
    /**
     * Specifies the border color.
     */
    borderColor?: string;
    /**
     * Specifies the line width.
     */
    lineWidth?: number;
    /**
     * Specifies the border style.
     */
    borderStyle?: LineStyle;
}
/**
 * @private
 */
export interface TocLevelSettings {
    [key: string]: number;
}
/**
 * @private
 */
export interface PageRefFields {
    [key: string]: FieldTextElementBox;
}
/**
 * Specifies the settings for table of contents.
 */
export interface TableOfContentsSettings {
    /**
     * Specifies the start level.
     */
    startLevel?: number;
    /**
     * Specifies the end level.
     */
    endLevel?: number;
    /**
     * Specifies whether hyperlink can be included.
     */
    includeHyperlink?: boolean;
    /**
     * Specifies whether page number can be included.
     */
    includePageNumber?: boolean;
    /**
     * Specifies whether the page number can be right aligned.
     */
    rightAlign?: boolean;
    /**
     * Specifies the tab leader.
     */
    tabLeader?: TabLeader;
    /**
     * @private
     */
    levelSettings?: TocLevelSettings;
    /**
     * Specifies whether outline levels can be included.
     */
    includeOutlineLevels?: boolean;
}
/**
 * Defines the character format properties of document editor
 */
export interface CharacterFormatProperties {
    /**
     * Defines the bold formatting
     */
    bold?: boolean;
    /**
     * Defines the italic formatting
     */
    italic?: boolean;
    /**
     * Defines the font size
     */
    fontSize?: number;
    /**
     * Defines the font family
     */
    fontFamily?: string;
    /**
     * Defines the underline property
     */
    underline?: Underline;
    /**
     * Defines the strikethrough
     */
    strikethrough?: Strikethrough;
    /**
     * Defines the subscript or superscript property
     */
    baselineAlignment?: BaselineAlignment;
    /**
     * Defines the highlight color
     */
    highlightColor?: HighlightColor;
    /**
     * Defines the font color
     */
    fontColor?: string;
    /**
     * Defines the bidirectional property
     */
    bidi?: boolean;
    /**
     * Defines the allCaps formatting
     */
    allCaps?: boolean;
}
/**
 * Defines the paragraph format properties of document editor
 */
export interface ParagraphFormatProperties {
    /**
     * Defines the left indent
     */
    leftIndent?: number;
    /**
     * Defines the right indent
     */
    rightIndent?: number;
    /**
     * Defines the first line indent
     */
    firstLineIndent?: number;
    /**
     * Defines the text alignment property
     */
    textAlignment?: TextAlignment;
    /**
     * Defines the spacing value after the paragraph
     */
    afterSpacing?: number;
    /**
     * Defines the spacing value before the paragraph
     */
    beforeSpacing?: number;
    /**
     * Defines the spacing between the lines
     */
    lineSpacing?: number;
    /**
     * Defines the spacing type(AtLeast,Exactly or Multiple) between the lines
     */
    lineSpacingType?: LineSpacingType;
    /**
     * Defines the bidirectional property of paragraph
     */
    bidi?: boolean;
    /**
     * Defines the keep with next property of paragraph
     */
    keepWithNext?: boolean;
    /**
     * Defines the keep lines together property of paragraph
     */
    keepLinesTogether?: boolean;
    /**
     * Defines the widow control property of paragraph
     */
    widowControl?: boolean;
}
/**
 * Defines the section format properties of document editor
 */
export interface SectionFormatProperties {
    /**
     * Defines the header distance.
     */
    headerDistance?: number;
    /**
     * Defines the footer distance.
     */
    footerDistance?: number;
    /**
     * Defines the page width.
     */
    pageWidth?: number;
    /**
     * Defines the page height.
     */
    pageHeight?: number;
    /**
     * Defines the left margin of the page.
     */
    leftMargin?: number;
    /**
     * Defines the top margin of the page.
     */
    topMargin?: number;
    /**
     * Defines the bottom margin of the page.
     */
    bottomMargin?: number;
    /**
     * Defines the right margin of the page.
     */
    rightMargin?: number;
}
/**
 * @private
 */
export interface TabPositionInfo {
    defaultTabWidth: number;
    fPosition: number;
    position: number;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/editor/image-resizer.d.ts
/**
 * Image resizer implementation.
 */
export  class ImageResizer {
    private documentHelper;
    /**
     * @private
     */
    owner: DocumentEditor;
    private currentImageElementBoxIn;
    /**
     * @private
     */
    resizeContainerDiv: HTMLDivElement;
    /**
     * @private
     */
    topLeftRect: HTMLDivElement;
    /**
     * @private
     */
    topMiddleRect: HTMLDivElement;
    /**
     * @private
     */
    topRightRect: HTMLDivElement;
    /**
     * @private
     */
    bottomLeftRect: HTMLDivElement;
    /**
     * @private
     */
    bottomMiddleRect: HTMLDivElement;
    /**
     * @private
     */
    bottomRightRect: HTMLDivElement;
    /**
     * @private
     */
    leftMiddleRect: HTMLDivElement;
    /**
     * @private
     */
    rightMiddleRect: HTMLDivElement;
    /**
     * @private
     */
    topLeftRectParent: HTMLDivElement;
    /**
     * @private
     */
    topMiddleRectParent: HTMLDivElement;
    /**
     * @private
     */
    topRightRectParent: HTMLDivElement;
    /**
     * @private
     */
    bottomLeftRectParent: HTMLDivElement;
    /**
     * @private
     */
    bottomMiddleRectParent: HTMLDivElement;
    /**
     * @private
     */
    bottomRightRectParent: HTMLDivElement;
    /**
     * @private
     */
    leftMiddleRectParent: HTMLDivElement;
    /**
     * @private
     */
    rightMiddleRectParent: HTMLDivElement;
    /**
     * @private
     */
    resizeMarkSizeIn: number;
    /**
     * @private
     */
    selectedImageWidget: Dictionary<IWidget, SelectedImageInfo>;
    /**
     * @private
     */
    baseHistoryInfo: BaseHistoryInfo;
    private imageResizerDiv;
    /**
     * @private
     */
    isImageResizing: boolean;
    /**
     * @private
     */
    isImageResizerVisible: boolean;
    /**
     * @private
     */
    currentPage: Page;
    /**
     * @private
     */
    isImageMoveToNextPage: boolean;
    /**
     * @private
     */
    imageResizerDivElement: HTMLDivElement;
    /**
     * @private
     */
    imageResizerPoints: ImageResizingPoints;
    /**
     * @private
     */
    selectedResizeElement: HTMLElement;
    /**
     * @private
     */
    topValue: number;
    /**
     * @private
     */
    leftValue: number;
    /**
     * Gets or Sets the current image element box.
     *
     * @private
     * @returns {ImageElementBox | ShapeElementBox} - Returns the image element.
     */
    /**
    * @param {ImageElementBox | ShapeElementBox} value - Specifies the current element box.
    */
    currentImageElementBox: ImageElementBox | ShapeElementBox;
    /**
     * Gets or Sets the resize mark size.
     *
     * @private
     * @returns {number} - Returns resize mark size
     */
    /**
    * @private
    * @param {number} value - Specifies resize mark size.
    */
    resizeMarkSize: number;
    /**
     * @returns {boolean} - Returns the shape size.
     */
    readonly isShapeResize: boolean;
    /**
     * Constructor for image resizer module.
     *
     * @param {DocumentEditor} node - Specfies the document editor
     * @param {DocumentHelper} documentHelper - Specified the document helper
     * @private
     */
    constructor(node: DocumentEditor, documentHelper: DocumentHelper);
    private readonly viewer;
    private getModuleName;
    /**
     * Sets image resizer position.
     *
     * @param {number} x - Specifies for image resizer left value.
     * @param {number} y - Specifies for image resizer top value.
     * @param {number} width - Specifies for image resizer width value.
     * @param {number} height - Specifies for image resizer height value.
     * @private
     * @returns {void}
     */
    setImageResizerPositions(x: number, y: number, width: number, height: number): void;
    /**
     * Creates image resizer DOM element.
     *
     * @private
     * @returns {void}
     */
    initializeImageResizer(): void;
    /**
     * Position an image resizer
     *
     * @private
     * @param {ImageElementBox} elementBox - Specifies the image position.
     * @returns {void}
     */
    positionImageResizer(elementBox: ImageElementBox | ShapeElementBox): void;
    /**
     * Shows the image resizer.
     *
     * @private
     * @returns {void}
     */
    showImageResizer(): void;
    /**
     * Hides the image resizer.
     *
     * @private
     * @returns {void}
     */
    hideImageResizer(): void;
    /**
     * Initialize the resize marks.
     *
     * @private
     * @param {HTMLElement} resizeDiv - Specifies to appending resizer container div element.
     * @param {ImageResizer} imageResizer - Specifies to creating div element of each position.
     * @returns {void}
     */
    initResizeMarks(resizeDiv: HTMLElement, imageResizer: ImageResizer): HTMLDivElement;
    /**
     * Sets the image resizer position.
     *
     * @private
     * @param {number} left - Specifies for image resizer left value.
     * @param {number} top - Specifies for image resizer top value.
     * @param {number} width - Specifies for image resizer width value.
     * @param {number} height - Specifies for image resizer height value.
     * @param {ImageResizer} imageResizer - Specifies for image resizer.
     * @returns {void}
     */
    setImageResizerPosition(left: number, top: number, width: number, height: number, imageResizer: ImageResizer): void;
    /**
     * Sets the image resizing points.
     *
     * @private
     * @param {ImageResizer} imageResizer - Specifies for position of each resizing elements.
     * @returns {void}
     */
    setImageResizingPoints(imageResizer: ImageResizer): void;
    /**
     * Initialize the resize container div element.
     *
     * @private
     * @param {ImageResizer} imageResizer - Specifies for creating resize container div element.
     * @returns {void}
     */
    initResizeContainerDiv(imageResizer: ImageResizer): void;
    /**
     * Apply the properties of each resize rectangle element.
     *
     * @private
     * @param {HTMLDivElement} resizeRectElement - Specifies for applying properties to resize rectangle element.
     * @returns {void}
     */
    applyProperties(resizeRectElement: HTMLDivElement): void;
    /**
     * Handles an image resizing.
     *
     * @private
     * @param {number} x  - Specifies for left value while resizing.
     * @param {number} y - Specifies for top value while resizing.
     * @returns {void}
     */
    private handleImageResizing;
    /**
     * Handles image resizing on mouse.
     *
     * @private
     * @param {MouseEvent} event - Specifies for image resizing using mouse event.
     * @returns {void}
     */
    handleImageResizingOnMouse(event: MouseEvent): void;
    private topMiddleResizing;
    private leftMiddleResizing;
    private topRightResizing;
    private topLeftResizing;
    private bottomRightResizing;
    private bottomLeftResizing;
    private getOuterResizingPoint;
    private getInnerResizingPoint;
    /**
     * Handles image resizing on touch.
     *
     * @private
     * @param {TouchEvent} touchEvent - Specifies for image resizing using touch event.
     * @returns {void}
     */
    handleImageResizingOnTouch(touchEvent: TouchEvent): void;
    /**
     * Gets the image point of mouse.
     *
     * @private
     * @param {Point} touchPoint - Specifies for resizer cursor position.
     * @returns {ImagePointInfo} - Returns image point
     */
    getImagePoint(touchPoint: Point): ImagePointInfo;
    private applyPropertiesForMouse;
    /**
     * Gets the image point of touch.
     *
     * @private
     * @param {Point} touchPoints - Specifies for resizer cursor position.
     * @returns {ImagePointInfo} - Returns image point info.
     */
    getImagePointOnTouch(touchPoints: Point): ImagePointInfo;
    private applyPropertiesForTouch;
    /**
     * @private
     * @returns {void}
     */
    mouseUpInternal(): void;
    /**
     * Initialize history for image resizer.
     *
     * @private
     * @param {ImageResizer} imageResizer - Specifies for image resizer.
     * @param {WImage} imageContainer - Specifies for an image.
     * @returns {void}
     */
    initHistoryForImageResizer(imageContainer: ImageElementBox): void;
    /**
     * Updates histroy for image resizer.
     *
     * @private
     * @returns {void}
     */
    updateHistoryForImageResizer(): void;
    /**
     * Updates image resize container when applying zooming
     *
     * @private
     * @returns {void}
     */
    updateImageResizerPosition(): void;
    /**
     * Dispose the internal objects which are maintained.
     *
     * @private
     * @returns {void}
     */
    destroy(): void;
}
/**
 * @private
 */
export  class ImageResizingPoints {
    /**
     * @private
     */ resizeContainerDiv: Point;
    /**
     * @private
     */
    topLeftRectParent: Point;
    /**
     * @private
     */
    topMiddleRectParent: Point;
    /**
     * @private
     */
    topRightRectParent: Point;
    /**
     * @private
     */
    bottomLeftRectParent: Point;
    /**
     * @private
     */
    bottomMiddleRectParent: Point;
    /**
     * @private
     */
    bottomRightRectParent: Point;
    /**
     * @private
     */
    leftMiddleRectParent: Point;
    /**
     * @private
     */
    rightMiddleRectParent: Point;
}
/**
 * @private
 */
export  class SelectedImageInfo {
    private heightIn;
    private widthIn;
    height: number;
    width: number;
    /**
     * Constructor for selected image info class.
     * @param {number} height - Specifies for height value.
     * @param {number} width - Specifies for width value.
     */
    constructor(height: number, width: number);
}
/**
 * @private
 */
export interface LeftTopInfo {
    left: number;
    top: number;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/editor/index.d.ts
/**
 * Editor Export
 */
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/editor/table-resizer.d.ts
/**
 * @private
 */
export  class TableResizer {
    owner: DocumentEditor;
    documentHelper: DocumentHelper;
    resizeNode: number;
    resizerPosition: number;
    currentResizingTable: TableWidget;
    startingPoint: Point;
    constructor(node: DocumentEditor);
    private readonly viewer;
    private getModuleName;
    updateResizingHistory(touchPoint: Point): void;
    handleResize(point: Point): void;
    isInRowResizerArea(touchPoint: Point): boolean;
    isInCellResizerArea(touchPoint: Point): boolean;
    getCellReSizerPosition(touchPoint: Point): number;
    private getCellReSizerPositionInternal;
    private getRowReSizerPosition;
    handleResizing(touchPoint: Point): void;
    resizeTableRow(dragValue: number): void;
    private getTableWidget;
    private getTableWidgetFromWidget;
    getTableCellWidget(cursorPoint: Point): TableCellWidget;
    updateRowHeight(row: TableRowWidget, dragValue: number): void;
    resizeTableCellColumn(dragValue: number): void;
    private resizeColumnWithSelection;
    private resizeColumnAtStart;
    private updateWidthForCells;
    private resizeColumnAtLastColumnIndex;
    private resizeCellAtMiddle;
    updateGridValue(table: TableWidget, isUpdate: boolean, dragValue?: number): void;
    private getColumnCells;
    private updateGridBefore;
    private getLeastGridBefore;
    private increaseOrDecreaseWidth;
    private changeWidthOfCells;
    private updateRowsGridAfterWidth;
    private getRowWidth;
    private getMaxRowWidth;
    private isColumnSelected;
    applyProperties(table: TableWidget, tableHistoryInfo: TableHistoryInfo): void;
    private getActualWidth;
    setPreferredWidth(table: TableWidget): void;
    private updateCellPreferredWidths;
    private updateGridBeforeWidth;
    updateGridAfterWidth(width: number, row: TableRowWidget): void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/format/border.d.ts
/**
 * @private
 */
export  class WBorder {
    private uniqueBorderFormat;
    private static uniqueBorderFormats;
    private static uniqueFormatType;
    ownerBase: WBorders;
    color: string;
    lineStyle: LineStyle;
    lineWidth: number;
    shadow: boolean;
    space: number;
    hasNoneStyle: boolean;
    readonly isBorderDefined: boolean;
    constructor(node?: WBorders);
    private getPropertyValue;
    private setPropertyValue;
    private initializeUniqueBorder;
    private addUniqueBorderFormat;
    private static getPropertyDefaultValue;
    getLineWidth(): number;
    private getBorderLineWidthArray;
    getBorderWeight(): number;
    private getBorderNumber;
    private getNumberOfLines;
    getPrecedence(): number;
    hasValues(): boolean;
    hasValue(property: string): boolean;
    cloneFormat(): WBorder;
    destroy(): void;
    /**
     * @private
     */
    isEqualFormat(border: WBorder, includeSpace?: boolean): boolean;
    copyFormat(border: WBorder): void;
    static clear(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/format/borders.d.ts
/**
 * @private
 */
export  class WBorders implements IWidget {
    private leftIn;
    private rightIn;
    private topIn;
    private bottomIn;
    private horizontalIn;
    private verticalIn;
    private diagonalUpIn;
    private diagonalDownIn;
    isParsing: boolean;
    ownerBase: Object;
    left: WBorder;
    right: WBorder;
    top: WBorder;
    bottom: WBorder;
    horizontal: WBorder;
    vertical: WBorder;
    diagonalUp: WBorder;
    diagonalDown: WBorder;
    constructor(node?: Object);
    private getPropertyValue;
    private getDefaultValue;
    private documentParagraphFormat;
    getBorder(property: string): WBorder;
    destroy(): void;
    cloneFormat(): WBorders;
    copyFormat(borders: WBorders): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/format/cell-format.d.ts
/**
 * @private
 */
export  class WCellFormat {
    private uniqueCellFormat;
    private static uniqueCellFormats;
    private static uniqueFormatType;
    borders: WBorders;
    shading: WShading;
    ownerBase: Object;
    leftMargin: number;
    rightMargin: number;
    topMargin: number;
    bottomMargin: number;
    cellWidth: number;
    columnSpan: number;
    rowSpan: number;
    preferredWidth: number;
    verticalAlignment: CellVerticalAlignment;
    preferredWidthType: WidthType;
    constructor(node?: Object);
    getPropertyValue(property: string): Object;
    private setPropertyValue;
    private initializeUniqueCellFormat;
    private addUniqueCellFormat;
    private static getPropertyDefaultValue;
    containsMargins(): boolean;
    destroy(): void;
    cloneFormat(): WCellFormat;
    hasValue(property: string): boolean;
    copyFormat(format: WCellFormat): void;
    static clear(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/format/character-format.d.ts
/**
 * @private
 */
export  class WCharacterFormat {
    uniqueCharacterFormat: WUniqueFormat;
    private static uniqueCharacterFormats;
    private static uniqueFormatType;
    ownerBase: Object;
    baseCharStyle: WStyle;
    /**
     * @private
     */
    removedIds: string[];
    /**
     * @private
     */
    revisions: Revision[];
    bold: boolean;
    italic: boolean;
    fontSize: number;
    fontFamily: string;
    underline: Underline;
    strikethrough: Strikethrough;
    baselineAlignment: BaselineAlignment;
    highlightColor: HighlightColor;
    fontColor: string;
    bidi: boolean;
    localeIdBidi: number;
    bdo: BiDirectionalOverride;
    boldBidi: boolean;
    italicBidi: boolean;
    fontSizeBidi: number;
    fontFamilyBidi: string;
    allCaps: boolean;
    complexScript: boolean;
    constructor(node?: Object);
    getPropertyValue(property: string): Object;
    private getDefaultValue;
    private documentCharacterFormat;
    private checkBaseStyle;
    private checkCharacterStyle;
    private setPropertyValue;
    private initializeUniqueCharacterFormat;
    private addUniqueCharacterFormat;
    private static getPropertyDefaultValue;
    isEqualFormat(format: WCharacterFormat): boolean;
    isSameFormat(format: WCharacterFormat): boolean;
    cloneFormat(): WCharacterFormat;
    hasValue(property: string): boolean;
    clearFormat(): void;
    destroy(): void;
    copyFormat(format: WCharacterFormat): void;
    updateUniqueCharacterFormat(format: WCharacterFormat): void;
    static clear(): void;
    applyStyle(baseCharStyle: WStyle): void;
    getValue(property: string): Object;
    mergeFormat(format: WCharacterFormat): void;
    hasValueWithParent(property: string): boolean;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/format/index.d.ts
/**
 * Formats Modules
 */
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/format/list-format.d.ts
/**
 * @private
 */
export  class WListFormat {
    private uniqueListFormat;
    private static uniqueListFormats;
    private static uniqueFormatType;
    ownerBase: Object;
    baseStyle: WStyle;
    list: WList;
    listId: number;
    listLevelNumber: number;
    readonly listLevel: WListLevel;
    constructor(node?: Object);
    private getPropertyValue;
    private setPropertyValue;
    private initializeUniqueListFormat;
    private addUniqueListFormat;
    private static getPropertyDefaultValue;
    copyFormat(format: WListFormat): void;
    hasValue(property: string): boolean;
    clearFormat(): void;
    destroy(): void;
    static clear(): void;
    applyStyle(baseStyle: WStyle): void;
    getValue(property: string): Object;
    mergeFormat(format: WListFormat): void;
    cloneListFormat(): WListFormat;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/format/paragraph-format.d.ts
/**
 * @private
 */
export  class WTabStop {
    private positionIn;
    private deletePositionIn;
    private justification;
    private leader;
    position: number;
    deletePosition: number;
    tabJustification: TabJustification;
    tabLeader: TabLeader;
    destroy(): void;
}
/**
 * @private
 */
export  class WParagraphFormat {
    uniqueParagraphFormat: WUniqueFormat;
    private static uniqueParagraphFormats;
    private static uniqueFormatType;
    borders: WBorders;
    listFormat: WListFormat;
    ownerBase: Object;
    baseStyle: WStyle;
    tabs: WTabStop[];
    getUpdatedTabs(): WTabStop[];
    private getTabStopsFromListFormat;
    private hasTabStop;
    leftIndent: number;
    rightIndent: number;
    firstLineIndent: number;
    beforeSpacing: number;
    afterSpacing: number;
    spaceBeforeAuto: boolean;
    spaceAfterAuto: boolean;
    lineSpacing: number;
    lineSpacingType: LineSpacingType;
    textAlignment: TextAlignment;
    keepWithNext: boolean;
    keepLinesTogether: boolean;
    widowControl: boolean;
    outlineLevel: OutlineLevel;
    bidi: boolean;
    contextualSpacing: boolean;
    constructor(node?: Object);
    private getListFormatParagraphFormat;
    /**
    * @private
    */
    getListPargaraphFormat(property: string): WParagraphFormat;
    getPropertyValue(property: string): Object;
    private getDefaultValue;
    /**
    * @private
    */
    getDocumentParagraphFormat(): WParagraphFormat;
    /**
    * @private
    */
    getDocumentHelperObject(): DocumentHelper;
    private setPropertyValue;
    private initializeUniqueParagraphFormat;
    private addUniqueParaFormat;
    private static getPropertyDefaultValue;
    clearIndent(): void;
    clearPropertyValue(property: string): void;
    clearFormat(): void;
    destroy(): void;
    copyFormat(format: WParagraphFormat): void;
    updateUniqueParagraphFormat(format: WParagraphFormat): void;
    cloneFormat(): WParagraphFormat;
    private hasValue;
    static clear(): void;
    applyStyle(baseStyle: WStyle): void;
    getValue(property: string): Object;
    mergeFormat(format: WParagraphFormat, isStyle?: boolean): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/format/row-format.d.ts
/**
 * @private
 */
export  class WRowFormat {
    private uniqueRowFormat;
    private static uniqueRowFormats;
    private static uniqueFormatType;
    /**
     * @private
     */
    borders: WBorders;
    /**
     * @private
     */
    ownerBase: TableRowWidget;
    /**
     * @private
     */
    beforeWidth: number;
    /**
     * @private
     */
    afterWidth: number;
    /**
     * @private
     */
    revisions: Revision[];
    /**
     * @private
     */
    removedIds: string[];
    gridBefore: number;
    gridBeforeWidth: number;
    gridBeforeWidthType: WidthType;
    gridAfter: number;
    gridAfterWidth: number;
    gridAfterWidthType: WidthType;
    allowBreakAcrossPages: boolean;
    isHeader: boolean;
    rightMargin: number;
    height: number;
    heightType: HeightType;
    bottomMargin: number;
    leftIndent: number;
    topMargin: number;
    leftMargin: number;
    constructor(node?: TableRowWidget);
    getPropertyValue(property: string): Object;
    private setPropertyValue;
    private initializeUniqueRowFormat;
    private addUniqueRowFormat;
    private static getPropertyDefaultValue;
    containsMargins(): boolean;
    cloneFormat(): WRowFormat;
    hasValue(property: string): boolean;
    copyFormat(format: WRowFormat): void;
    destroy(): void;
    static clear(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/format/section-format.d.ts
/**
 * @private
 */
export  class WSectionFormat {
    private uniqueSectionFormat;
    private static uniqueSectionFormats;
    private static uniqueFormatType;
    ownerBase: Object;
    headerDistance: number;
    footerDistance: number;
    differentFirstPage: boolean;
    differentOddAndEvenPages: boolean;
    pageHeight: number;
    rightMargin: number;
    pageWidth: number;
    leftMargin: number;
    bottomMargin: number;
    topMargin: number;
    bidi: boolean;
    restartPageNumbering: boolean;
    pageStartingNumber: number;
    endnoteNumberFormat: FootEndNoteNumberFormat;
    restartIndexForEndnotes: FootnoteRestartIndex;
    restartIndexForFootnotes: FootnoteRestartIndex;
    footNoteNumberFormat: FootEndNoteNumberFormat;
    initialFootNoteNumber: number;
    initialEndNoteNumber: number;
    pageNumberStyle: FootEndNoteNumberFormat;
    constructor(node?: Object);
    destroy(): void;
    private hasValue;
    private static getPropertyDefaultValue;
    getPropertyValue(property: string): Object;
    private setPropertyValue;
    private initializeUniqueSectionFormat;
    private addUniqueSectionFormat;
    copyFormat(format: WSectionFormat, history?: EditorHistory): void;
    updateUniqueSectionFormat(format: WSectionFormat): void;
    cloneFormat(): WSectionFormat;
    static clear(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/format/shading.d.ts
/**
 * @private
 */
export  class WShading {
    private uniqueShadingFormat;
    private static uniqueShadingFormats;
    private static uniqueFormatType;
    ownerBase: Object;
    backgroundColor: string;
    foregroundColor: string;
    textureStyle: TextureStyle;
    constructor(node?: Object);
    private getPropertyValue;
    private setPropertyValue;
    private static getPropertyDefaultValue;
    private initializeUniqueShading;
    private addUniqueShading;
    destroy(): void;
    cloneFormat(): WShading;
    copyFormat(shading: WShading): void;
    hasValue(property: string): boolean;
    static clear(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/format/style.d.ts
/**
 * @private
 */
export  abstract class WStyle {
    ownerBase: Object;
    type: StyleType;
    next: WStyle;
    basedOn: WStyle;
    link: WStyle;
    name: string;
}
/**
 * @private
 */
export  class WParagraphStyle extends WStyle {
    /**
     * Specifies the paragraph format
     *
     * @default undefined
     */
    paragraphFormat: WParagraphFormat;
    /**
     * Specifies the character format
     *
     * @default undefined
     */
    characterFormat: WCharacterFormat;
    constructor(node?: Object);
    destroy(): void;
    copyStyle(paraStyle: WParagraphStyle): void;
}
/**
 * @private
 */
export  class WCharacterStyle extends WStyle {
    /**
     * Specifies the character format
     *
     * @default undefined
     */
    characterFormat: WCharacterFormat;
    constructor(node?: Object);
    destroy(): void;
    copyStyle(charStyle: WCharacterStyle): void;
}
/**
 * @private
 */
export  class WStyles {
    private collection;
    readonly length: number;
    remove(item: WParagraphStyle | WCharacterStyle): void;
    push(item: WParagraphStyle | WCharacterStyle): number;
    getItem(index: number): Object;
    indexOf(item: WParagraphStyle | WCharacterStyle): number;
    contains(item: WParagraphStyle | WCharacterStyle): boolean;
    clear(): void;
    findByName(name: string, type?: StyleType): Object;
    getStyleNames(type?: StyleType): string[];
    getStyles(type?: StyleType): Object[];
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/format/table-format.d.ts
/**
 * @private
 */
export  class WTableFormat {
    private uniqueTableFormat;
    private static uniqueTableFormats;
    private static uniqueFormatType;
    borders: WBorders;
    shading: WShading;
    ownerBase: TableWidget;
    private _styleName;
    allowAutoFit: boolean;
    cellSpacing: number;
    leftMargin: number;
    topMargin: number;
    rightMargin: number;
    bottomMargin: number;
    tableAlignment: TableAlignment;
    leftIndent: number;
    preferredWidth: number;
    preferredWidthType: WidthType;
    bidi: boolean;
    horizontalPositionAbs: HorizontalAlignment;
    horizontalPosition: number;
    styleName: string;
    constructor(owner?: TableWidget);
    getPropertyValue(property: string): Object;
    private setPropertyValue;
    private initializeUniqueTableFormat;
    private addUniqueTableFormat;
    private static getPropertyDefaultValue;
    private assignTableMarginValue;
    initializeTableBorders(): void;
    destroy(): void;
    cloneFormat(): WTableFormat;
    hasValue(property: string): boolean;
    copyFormat(format: WTableFormat): void;
    static clear(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/index.d.ts
/**
 * Document Editor implementation
 */
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/list/abstract-list.d.ts
/**
 * @private
 */
export  class WAbstractList {
    private abstractListIdIn;
    levels: WListLevel[];
    abstractListId: number;
    destroy(): void;
    clone(): WAbstractList;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/list/index.d.ts
/**
 * List implementation
 */
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/list/level-override.d.ts
/**
 * @private
 */
export  class WLevelOverride {
    startAt: number;
    levelNumber: number;
    overrideListLevel: WListLevel;
    destroy(): void;
    clone(): WLevelOverride;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/list/list-level.d.ts
/**
 * @private
 */
export  class WListLevel {
    static dotBullet: string;
    static squareBullet: string;
    static arrowBullet: string;
    static circleBullet: string;
    private uniqueListLevel;
    private static uniqueListLevels;
    private static uniqueFormatType;
    paragraphFormat: WParagraphFormat;
    characterFormat: WCharacterFormat;
    ownerBase: WAbstractList | WLevelOverride;
    listLevelPattern: ListLevelPattern;
    followCharacter: FollowCharacterType;
    startAt: number;
    numberFormat: string;
    restartLevel: number;
    constructor(node: WAbstractList | WLevelOverride);
    getPropertyValue(property: string): Object;
    setPropertyValue(property: string, value: Object): void;
    initializeUniqueWListLevel(property: string, propValue: object): void;
    addUniqueWListLevel(property: string, modifiedProperty: string, propValue: object, uniqueCharFormatTemp: Dictionary<number, object>): void;
    static getPropertyDefaultValue(property: string): Object;
    destroy(): void;
    static clear(): void;
    clone(node: WAbstractList | WLevelOverride): WListLevel;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/list/list.d.ts
/**
 * @private
 */
export  class WList {
    listId: number;
    sourceListId: number;
    abstractListId: number;
    abstractList: WAbstractList;
    levelOverrides: WLevelOverride[];
    getListLevel(levelNumber: number): WListLevel;
    getLevelOverride(levelNumber: number): WLevelOverride;
    destroy(): void;
    mergeList(list: WList): void;
    clone(): WList;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/print.d.ts
/**
 * Print class
 */
export  class Print {
    private getModuleName;
    /**
     * Prints the current viewer
     *
     * @private
     * @param {DocumentHelper} documentHelper - Specifies the document helper.
     * @param {Window} printWindow - Specifies the print window.
     * @returns {void}
     */
    print(documentHelper: DocumentHelper, printWindow?: Window): void;
    /**
     * Opens print window and displays current page to print.
     *
     * @private
     * @param {DocumentHelper} documentHelper - Specifies the document helper.
     * @param {string} browserUserAgent - Specifies the browser user agent.
     * @param {Window} printWindow - Specifies the print window.
     * @returns {void}
     */
    printWindow(documentHelper: DocumentHelper, browserUserAgent: string, printWindow?: Window): void;
    /**
     * Generate Document Image.
     *
     * @param documentHelper
     * @param pageNumber
     * @param imageType
     * @private
     */
    exportAsImage(documentHelper: DocumentHelper, pageNumber: number, imageType: string): HTMLImageElement;
    /**
     * Generates print content.
     *
     * @private
     * @param {DocumentHelper} documentHelper - Specifies the document helper.
     * @param {HTMLDivElement} element - Specifies the element.
     * @returns {void}
     */
    generatePrintContent(documentHelper: DocumentHelper, element: HTMLDivElement): void;
    /**
     * Gets page width.
     *
     * @private
     * @param {Page} pages - Specifies the pages.
     * @returns {number} - Returns the page width.
     */
    getPageWidth(pages: Page[]): number;
    /**
     * Gets page height.
     *
     * @private
     * @param {Page} pages - Specifies the pages.
     * @returns {number} - Returns the page height.
     */
    getPageHeight(pages: Page[]): number;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/restrict-editing/add-user-dialog.d.ts
/**
 * @private
 */
export  class AddUserDialog {
    private documentHelper;
    private target;
    private textBoxInput;
    private userList;
    private addButton;
    constructor(documentHelper: DocumentHelper);
    initUserDialog(localValue: base.L10n, isRtl?: boolean): void;
    /**
     * @private
     * @returns {void}
     */
    show: () => void;
    /**
     * @private
     * @returns {void}
     */
    loadUserDetails: () => void;
    /**
     * @private
     * @returns {void}
     */
    okButtonClick: () => void;
    /**
     * @private
     * @returns {void}
     */
    hideDialog: () => void;
    /**
     * @private
     * @returns {void}
     */
    onKeyUpOnDisplayBox: () => void;
    /**
     * @returns {void}
     */
    addButtonClick: () => void;
    validateUserName(value: string): boolean;
    /**
     * @returns {void}
     */
    deleteButtonClick: () => void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/restrict-editing/enforce-protection-dialog.d.ts
/**
 * @private
 */
export  class EnforceProtectionDialog {
    private documentHelper;
    private target;
    private passwordTextBox;
    private confirmPasswordTextBox;
    private localeValue;
    private owner;
    /**
     * @private
     */
    password: string;
    constructor(documentHelper: DocumentHelper, owner: RestrictEditing);
    readonly viewer: LayoutViewer;
    initDialog(localValue: base.L10n): void;
    /**
     * @private
     * @returns {void}
     */
    show: () => void;
    /**
     * @returns {void}
     */
    hideDialog: () => void;
    /**
     * @private
     * @returns {void}
     */
    okButtonClick: () => void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
}
/**
 * @private
 */
export  class UnProtectDocumentDialog {
    private documentHelper;
    private target;
    private passwordTextBox;
    private owner;
    private localObj;
    private currentHashValue;
    private currentSaltValue;
    readonly viewer: LayoutViewer;
    constructor(documentHelper: DocumentHelper, owner: RestrictEditing);
    initDialog(localValue: base.L10n): void;
    /**
     * @private
     * @returns {void}
     */
    show: () => void;
    /**
     * @private
     * @returns {void}
     */
    okButtonClick: () => void;
    /**
     * @private
     * @returns {void}
     */
    hideDialog: () => void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/restrict-editing/index.d.ts
/**
 * Restrict editing
 */
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/restrict-editing/restrict-editing-pane.d.ts
/**
 * @private
 */
export  class RestrictEditing {
    private documentHelper;
    restrictPane: HTMLElement;
    private addUser;
    private enforceProtection;
    private allowFormat;
    private allowPrint;
    private allowCopy;
    private addUserDialog;
    enforceProtectionDialog: EnforceProtectionDialog;
    stopProtection: HTMLButtonElement;
    addRemove: boolean;
    private protectionTypeDrop;
    private userWholeDiv;
    /**
     * @private
    */
    unProtectDialog: UnProtectDocumentDialog;
    stopProtectionDiv: HTMLElement;
    contentDiv1: HTMLElement;
    contentDiv2: HTMLElement;
    restrictPaneWholeDiv: HTMLElement;
    private closeButton;
    protectionType: ProtectionType;
    private localObj;
    currentHashValue: string;
    currentSaltValue: string;
    previousProtectionType: string;
    isShowRestrictPane: boolean;
    base64: Base64;
    addedUser: lists.ListView;
    stopReadOnlyOptions: HTMLElement;
    isAddUser: boolean;
    usersCollection: string[];
    highlightCheckBox: buttons.CheckBox;
    constructor(documentHelper: DocumentHelper);
    readonly viewer: LayoutViewer;
    showHideRestrictPane(isShow: boolean): void;
    private initPane;
    initRestrictEditingPane(localObj: base.L10n): void;
    showStopProtectionPane(show: boolean): void;
    /**
     * @returns {void}
     */
    private closePane;
    private wireEvents;
    private enableFormatting;
    private stopProtectionTriggered;
    private protectionTypeDropChanges;
    private onYesButtonClick;
    private onCancelButtonClick;
    private onNoButtonClick;
    private selectHandler;
    highlightClicked(args: any): void;
    private protectDocument;
    createCheckBox(label: string, element: HTMLInputElement): buttons.CheckBox;
    loadPaneValue(): void;
    navigateNextRegion(): void;
    addUserCollection(): void;
    /**
     * @returns {void}
     */
    showAllRegion: () => void;
    updateUserInformation(): void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/search/index.d.ts
/**
 * Search Export
 */
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/search/options-pane.d.ts
/**
 * Options Pane class.
 */
export  class OptionsPane {
    private documentHelper;
    /**
     * @private
     */
    optionsPane: HTMLElement;
    /**
     * @private
     */
    isOptionsPaneShow: boolean;
    private resultsListBlock;
    private messageDiv;
    private results;
    private searchInput;
    private searchDiv;
    private searchTextBoxContainer;
    private replaceWith;
    private findDiv;
    private replaceDiv;
    private replaceButton;
    private replaceAllButton;
    private occurrenceDiv;
    private findOption;
    private matchCase;
    private wholeWord;
    private searchText;
    private resultsText;
    private messageDivText;
    private replaceButtonText;
    private replaceAllButtonText;
    private focusedIndex;
    private focusedElement;
    private resultContainer;
    private navigateToPreviousResult;
    private navigateToNextResult;
    private closeButton;
    private isOptionsPane;
    private findTab;
    private findTabButton;
    private replaceTabButton;
    private searchIcon;
    private matchDiv;
    private replacePaneText;
    private findPaneText;
    private matchDivReplaceText;
    private matchInput;
    private wholeInput;
    private regularInput;
    /**
     * @private
     */
    tabInstance: navigations.Tab;
    private findTabContentDiv;
    private replaceTabContentDiv;
    /**
     * @private
     */
    isReplace: boolean;
    private localeValue;
    constructor(documentHelper: DocumentHelper);
    private readonly viewer;
    private getModuleName;
    /**
     * Initialize the options pane.
     *
     * @private
     * @param {base.L10n} localeValue - Specifies the localization based on culture.
     * @param {boolean} isRtl - Specifies the Rtl.
     * @returns {void}
     */
    initOptionsPane(localeValue: base.L10n, isRtl?: boolean): void;
    private createReplacePane;
    private selectedTabItem;
    /**
     * @returns {void}
     */
    private searchOptionChange;
    private navigateSearchResult;
    /**
     * Apply find option based on whole words value.
     *
     * @private
     * @returns {void}
     */
    wholeWordsChange(): void;
    /**
     * Apply find option based on match value.
     *
     * @private
     * @returns {void}
     */
    matchChange(): void;
    /**
     * Binding events from the element when optins pane creation.
     *
     * @private
     * @returns {void}
     */
    onWireEvents(): void;
    /**
     * Fires on key down actions done.
     *
     * @private
     * @returns {void}
     */
    onKeyDownInternal(): void;
    /**
     * Enable find pane only.
     *
     * @private
     * @returns {void}
     */
    onFindPane(): void;
    private getMessageDivHeight;
    /**
     * @returns {void}
     */
    private onEnableDisableReplaceButton;
    /**
     * Enable replace pane only.
     *
     * @private
     * @returns {void}
     */
    onReplacePane(): void;
    /**
     * Fires on key down on options pane.
     *
     * @private
     * @param {KeyboardEvent} event - Specifies the focus of current element.
     * @returns {void}
     */
    onKeyDownOnOptionPane: (event: KeyboardEvent) => void;
    /**
     * Fires on replace.
     *
     * @private
     * @returns {void}
     */
    onReplaceButtonClick: () => void;
    /**
     * Fires on replace all.
     *
     * @private
     * @returns {void}
     */
    onReplaceAllButtonClick: () => void;
    /**
     * Replace all.
     *
     * @private
     * @returns {void}
     */
    replaceAll(): void;
    private hideMatchDiv;
    /**
     * Fires on search icon.
     *
     * @private
     * @returns {void}
     */
    searchIconClickInternal: () => void;
    /**
     * Fires on getting next results.
     *
     * @private
     * @returns {void}
     */
    navigateNextResultButtonClick: () => void;
    private updateListItems;
    /**
     * Fires on getting previous results.
     *
     * @private
     * @returns {void}
     */
    navigatePreviousResultButtonClick: () => void;
    /**
     * Scrolls to position.
     *
     * @private
     * @param {HTMLElement} list - Specifies the list element.
     * @returns {void}
     */
    scrollToPosition(list: HTMLElement): void;
    /**
     * Fires on key down
     *
     * @private
     * @param {KeyboardEvent} event - Speficies key down actions.
     * @returns {void}
     */
    onKeyDown: (event: KeyboardEvent) => void;
    /**
     * Clear the focus elements.
     *
     * @private
     * @returns {void}
     */
    clearFocusElement(): void;
    /**
     * Close the optios pane.
     *
     * @private
     * @returns {void}
     */
    close: () => void;
    /**
     * Fires on results list block.
     *
     * @private
     * @param {MouseEvent} args - Specifies which list was clicked.
     * @returns {void}
     */
    resultListBlockClick: (args: MouseEvent) => void;
    /**
     * Show or hide option pane based on boolean value.
     *
     * @private
     * @param {boolean} show - Specifies showing or hiding the options pane.
     * @returns {void}
     */
    showHideOptionsPane(show: boolean): void;
    /**
     * Clears search results.
     *
     * @private
     * @returns {void}
     */
    clearSearchResultItems(): void;
    /**
     * Dispose the internal objects which are maintained.
     *
     * @private
     * @returns {void}
     */
    destroy(): void;
    /**
     * Dispose the internal objects which are maintained.
     *
     * @returns {void}
     */
    private destroyInternal;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/search/search-results.d.ts
/**
 * Search Result info
 */
export  class SearchResults {
    private searchModule;
    /**
     * Gets the length of search results.
     *
     * @aspType int
     * @returns {number} - Returns search results length.
     */
    readonly length: number;
    /**
     * Gets the index of current search result.
     *
     * @aspType int
     * @returns {number} - Returns current search result index.
     */
    /**
    * Set the index of current search result.
    *
    * @param {number} value - Specifies the search result index.
    * @aspType int
    */
    index: number;
    constructor(search: Search);
    /**
     * Get start and end offset of searched text results.
     *
     * @returns {TextSearchResults[]} - Returns the text search results.
     */
    getTextSearchResultsOffset(): TextSearchResultInfo[];
    private getOffset;
    private getModuleName;
    /**
     * Replace text in current search result.
     *
     * @private
     * @param {string} textToReplace - text to replace
     * @returns {void}
     */
    replace(textToReplace: string): void;
    /**
     * Replace all the instance of search result.
     *
     * @param {string} textToReplace text to replace
     * @returns {void}
     */
    replaceAll(textToReplace: string): void;
    /**
     * @private
     * @returns {void}
     */
    navigate(): void;
    /**
     * Clears all the instance of search result.
     *
     * @returns {void}
     */
    clear(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/search/search.d.ts
/**
 * Search module
 */
export  class Search {
    private owner;
    /**
     * @private
     */
    textSearch: TextSearch;
    /**
     * @private
     */
    textSearchResults: TextSearchResults;
    /**
     * @private
     */
    searchResultsInternal: SearchResults;
    /**
     * @private
     */
    searchHighlighters: Dictionary<LineWidget, SearchWidgetInfo[]>;
    /**
     * @private
     */
    isRepalceTracking: boolean;
    readonly viewer: LayoutViewer;
    /**
     * Gets the search results object.
     *
     * @aspType SearchResults
     * @returns {SearchResults} - Returns the search results object.
     */
    readonly searchResults: SearchResults;
    constructor(owner: DocumentEditor);
    readonly documentHelper: DocumentHelper;
    private getModuleName;
    /**
     * Finds the immediate occurrence of specified text from cursor position in the document.
     *
     * @param {string} text - Specifies text to find.
     * @param {FindOption} findOptions - Default value of ‘findOptions’ parameter is 'None'.
     * @returns {void}
     */
    find(text: string, findOptions?: FindOption): void;
    /**
     * Finds all occurrence of specified text in the document.
     *
     * @param {string} text - Specifies text to find.
     * @param {FindOption} findOptions - Default value of ‘findOptions’ parameter is 'None'.
     * @returns {void}
     */
    findAll(text: string, findOptions?: FindOption): void;
    /**
     * Replace the searched string with specified string
     *
     * @private
     * @param  {string} replaceText  - Specifies text to replace.
     * @param  {TextSearchResult} result - Specifies the result.
     * @param  {TextSearchResults} results - Specifies the results.
     * @returns {number} - Returns replaced text count.
     */
    replace(replaceText: string, result: TextSearchResult, results: TextSearchResults): number;
    /**
     * Find the textToFind string in current document and replace the specified string.
     *
     * @private
     * @param {string} textToReplace - Specifies the text to replace.
     * @param {FindOption} findOptions - Default value of ‘findOptions’ parameter is FindOption.None.
     * @returns {void}
     */
    replaceInternal(textToReplace: string, findOptions?: FindOption): void;
    /**
     * Replace all the searched string with specified string
     *
     * @private
     * @param  {string} replaceText - Specifies the replace text.
     * @param  {TextSearchResults} results - Specfies the results.
     * @returns {number} - Returns the replace count.
     */
    replaceAll(replaceText: string, results: TextSearchResults): number;
    /**
     * Find the textToFind string in current document and replace the specified string.
     *
     * @private
     * @param {string} textToReplace - Specifies the text to replace.
     * @param {FindOption} findOptions - Default value of ‘findOptions’ parameter is FindOption.None.
     * @returns {void}
     */
    replaceAllInternal(textToReplace: string, findOptions?: FindOption): void;
    /**
     * @private
     * @param {TextSearchResult} textSearchResult - Specifies the text search results.
     * @returns {void}
     */
    navigate(textSearchResult: TextSearchResult): void;
    /**
     * @private
     * @param {TextSearchResults} textSearchResults - Specifies the text search results.
     * @returns {void}
     */
    highlight(textSearchResults: TextSearchResults): void;
    private highlightResult;
    private highlightSearchResult;
    private createHighlightBorder;
    private addSearchHighlightBorder;
    private highlightSearchResultParaWidget;
    /**
     * @private
     * @param {string} result - Specified the result.
     * @returns {void}
     */
    addSearchResultItems(result: string): void;
    /**
     * @private
     * @param {TextSearchResults} textSearchResults - Specified text search result.
     * @returns {void}
     */
    addFindResultView(textSearchResults: TextSearchResults): void;
    /**
     * @private
     * @returns {void}
     */
    addFindResultViewForSearch(result: TextSearchResult): void;
    /**
     * Clears search highlight.
     *
     * @private
     * @returns {void}
     */
    clearSearchHighlight(): void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/search/text-search-result.d.ts
/**
 * @private
 */
export  class TextSearchResult {
    documentHelper: DocumentHelper;
    private startIn;
    private endIn;
    private owner;
    /**
     * @private
     */
    isHeader: boolean;
    /**
     * @private
     */
    isFooter: boolean;
    start: TextPosition;
    end: TextPosition;
    readonly text: string;
    constructor(owner: DocumentEditor);
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/search/text-search-results.d.ts
/**
 * @private
 */
export  class TextSearchResults {
    innerList: TextSearchResult[];
    currentIndex: number;
    private owner;
    readonly length: number;
    readonly currentSearchResult: TextSearchResult;
    constructor(owner: DocumentEditor);
    addResult(): TextSearchResult;
    clearResults(): void;
    indexOf(result: TextSearchResult): number;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/search/text-search.d.ts
/**
 * @private
 */
export  class TextSearch {
    private wordBefore;
    private wordAfter;
    private owner;
    private documentHelper;
    constructor(owner: DocumentEditor);
    find(pattern: string | RegExp, findOption?: FindOption): TextSearchResult;
    findNext(pattern: string | RegExp, findOption?: FindOption, hierarchicalPosition?: string): TextSearchResult;
    stringToRegex(textToFind: string, option: FindOption): RegExp;
    isPatternEmpty(pattern: RegExp): boolean;
    findAll(pattern: string | RegExp, findOption?: FindOption, hierarchicalPosition?: string): TextSearchResults;
    getElementInfo(inlineElement: ElementBox, indexInInline: number, includeNextLine?: boolean): TextInLineInfo;
    updateMatchedTextLocation(matches: RegExpExecArray[], results: TextSearchResults, textInfo: Dictionary<TextElementBox, number>, indexInInline: number, inlines: ElementBox, isFirstMatch: boolean, selectionEnd: TextPosition, startPosition?: number): void;
    private findDocument;
    private findInlineText;
    private findInline;
    getTextPosition(lineWidget: LineWidget, hierarchicalIndex: string): TextPosition;
}
/**
 * @private
 */
export  class SearchWidgetInfo {
    private leftInternal;
    private widthInternal;
    left: number;
    width: number;
    constructor(left: number, width: number);
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/selection/index.d.ts
/**
 * Selection Export
 */
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/selection/selection-format.d.ts
/**
 * Selection character format implementation
 */
export  class SelectionCharacterFormat {
    /**
     * @private
     */
    selection: Selection;
    private boldIn;
    private italicIn;
    private underlineIn;
    private strikeThroughIn;
    private baselineAlignmentIn;
    private highlightColorIn;
    private fontSizeIn;
    private fontFamilyIn;
    private fontColorIn;
    private allCapsIn;
    /**
     * @private
     */
    boldBidi: boolean;
    /**
     * @private
     */
    italicBidi: boolean;
    /**
     * @private
     */
    fontSizeBidi: number;
    /**
     * @private
     */
    fontFamilyBidi: string;
    /**
     * @private
     */
    bidi: boolean;
    /**
     * @private
     */
    private bdo;
    /**
     * @private
     */
    styleName: string;
    /**
     * Gets the font size of selected contents.
     *
     * @aspType int
     */
    /**
    * Sets the font size of selected contents.
    *
    * @aspType int
    */
    fontSize: number;
    /**
     * Gets or sets the font family of selected contents.
     *
     * @aspType string
     */
    /**
    * Sets the font family of selected contents.
    *
    * @aspType string
    */
    fontFamily: string;
    /**
     * Gets or sets the font color of selected contents.
     *
     * @aspType string
     */
    /**
    * Sets the font color of selected contents.
    *
    * @aspType string
    */
    fontColor: string;
    /**
     * Gets or sets the bold formatting of selected contents.
     *
     * @aspType bool
     */
    /**
    * Sets the bold formatting of selected contents.
    *
    * @aspType bool
    */
    bold: boolean;
    /**
     * Gets or sets the italic formatting of selected contents.
     *
     * @aspType bool
     */
    /**
    * Sets the italic formatting of selected contents.
    *
    * @aspType bool
    */
    italic: boolean;
    /**
     * Gets or sets the strikethrough property of selected contents.
     */
    /**
    * Sets the strikethrough property of selected contents.
    */
    strikethrough: Strikethrough;
    /**
     * Gets or sets the baseline alignment property of selected contents.
     */
    /**
    * Sets the baseline alignment property of selected contents.
    */
    baselineAlignment: BaselineAlignment;
    /**
     * Gets or sets the underline style of selected contents.
     */
    /**
    * Sets the underline style of selected contents.
    */
    underline: Underline;
    /**
     * Gets or sets the highlight color of selected contents.
     */
    /**
    * Sets the highlight color of selected contents.
    */
    highlightColor: HighlightColor;
    /**
     * Gets or sets the allCaps formatting of selected contents.
     *
     * @aspType bool
     */
    /**
    * Sets the allCaps formatting of selected contents.
    *
    * @aspType bool
    */
    allCaps: boolean;
    /**
     * @param selection
     * @private
     */
    constructor(selection: Selection);
    private getPropertyValue;
    /**
     * Notifies whenever property gets changed.
     *
     * @param {string} propertyName
     */
    private notifyPropertyChanged;
    /**
     * Copies the source format.
     *
     * @param {WCharacterFormat} format
     * @returns {void}
     * @private
     */
    copyFormat(format: WCharacterFormat): void;
    /**
     * Combines the format.
     *
     * @param {WCharacterFormat} format
     * @private
     */
    combineFormat(format: WCharacterFormat): void;
    /**
     * @private
     */
    canRetrieveNextCharacterFormat(): boolean;
    /**
     * Clones the format.
     *
     * @param {SelectionCharacterFormat} selectionCharacterFormat
     * @returns {void}
     * @private
     */
    cloneFormat(selectionCharacterFormat: SelectionCharacterFormat): void;
    /**
     * Checks whether current format is equal to the source format or not.
     *
     * @param {SelectionCharacterFormat} format
     * @returns boolean
     * @private
     */
    isEqualFormat(format: SelectionCharacterFormat): boolean;
    /**
     * Clears the format.
     *
     * @returns {void}
     * @private
     */
    clearFormat(): void;
    /**
     * Destroys the maintained resources.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
/**
 * Selection Border implementation
 */
export  class SelectionBorder {
    private selection;
    private colorIn;
    private lineStyleIn;
    private lineWidthIn;
    private shadowIn;
    private spaceIn;
    private ownerBase;
    private borderType;
    /**
     * Gets or sets the color for selected paragraph borders.
     *
     * @default undefined
     * @aspType string
     */
    /**
    * Sets the color for selected paragraph borders.
    *
    * @default undefined
    * @aspType string
    */
    color: string;
    /**
     * Gets or sets the lineStyle for selected paragraph borders.
     *
     * @default undefined
     * @aspType LineStyle
     */
    /**
    * Sets the lineStyle for selected paragraph borders.
    *
    * @default undefined
    * @aspType LineStyle
    */
    lineStyle: LineStyle;
    /**
     * Gets or sets the lineWidth for selected paragraph borders.
     *
     * @default undefined
     * @aspType number
     */
    /**
    * Sets the lineWidth for selected paragraphs borders.
    *
    * @default undefined
    * @aspType number
    */
    lineWidth: number;
    /**
     * Gets or sets the shadow for selected paragraph borders.
     *
     * @default undefined
     * @aspType boolean
     */
    /**
    * Sets the shadow for selected paragraphs borders.
    *
    * @default undefined
    * @aspType boolean
    */
    shadow: boolean;
    /**
     * Gets or sets the space for selected paragraphs borders.
     *
     * @default undefined
     * @aspType number
     */
    /**
    * Sets the space for selected paragraphs borders.
    *
    * @default undefined
    * @aspType number
    */
    space: number;
    /**
     * @param SelectionBorders
     * @private
     */
    constructor(selection?: Selection, borderType?: string, node?: SelectionBorders);
    /**
     *Copies the format.
     *
     * @param {WBorder} border
     * @returns {void}
     * @private
     */
    copyFormat(border: WBorder): void;
    /**
     * Combines the format.
     *
     * @param {WBorder} border
     * @returns {void}
     * @private
     */
    combineFormat(border: WBorder): void;
    private getPropertyValue;
    /**
     * Notifies whenever the property gets changed.
     * @param {string} propertyName
     * @returns {void}
     */
    private notifyPropertyChanged;
    /**
     * Destroys the managed resources.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
/**
 * Selection Borders implementation
 */
export  class SelectionBorders {
    private selection;
    private topIn;
    private bottomIn;
    private leftIn;
    private rightIn;
    private horizontalIn;
    private verticalIn;
    private ownerBase;
    /**
     * Gets the top Border for selected paragraphs.
     *
     * @default undefined
     * @aspType SelectionBorder
     */
    readonly top: SelectionBorder;
    /**
     * Gets the bottom Border for selected paragraphs.
     *
     * @default undefined
     * @aspType SelectionBorder
     */
    readonly bottom: SelectionBorder;
    /**
     * Gets the left Border for selected paragraphs.
     *
     * @default undefined
     * @aspType SelectionBorder
     */
    readonly left: SelectionBorder;
    /**
     * Gets the right Border for selected paragraphs.
     *
     * @default undefined
     * @aspType SelectionBorder
     */
    readonly right: SelectionBorder;
    /**
     * Gets the horizontal Border for selected paragraphs.
     *
     * @default undefined
     * @aspType SelectionBorder
     */
    readonly horizontal: SelectionBorder;
    /**
     * Gets the vertical Border for selected paragraphs.
     *
     * @default undefined
     * @aspType SelectionBorder
     */
    readonly vertical: SelectionBorder;
    /**
     * @param Object
     * @private
     */
    constructor(selection: Selection, node?: Object);
    /**
     * Copies the format.
     *
     * @param {WBorders} borders
     * @returns {void}
     * @private
     */
    copyFormat(borders: WBorders): void;
    /**
     * Combines the format.
     *
     * @param {WBorders} borders
     * @private
     */
    combineFormat(borders: WBorders): void;
    /**
     * Destroys the managed resources.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
/**
 * Selection paragraph format implementation
 */
export  class SelectionParagraphFormat {
    private selection;
    private leftIndentIn;
    private rightIndentIn;
    private beforeSpacingIn;
    private afterSpacingIn;
    private spaceAfterAutoIn;
    private spaceBeforeAutoIn;
    private textAlignmentIn;
    private firstLineIndentIn;
    private lineSpacingIn;
    private lineSpacingTypeIn;
    private bidiIn;
    private keepWithNextIn;
    private keepLinesTogetherIn;
    private widowControlIn;
    private contextualSpacingIn;
    private bordersIn;
    /**
     * Gets the borders for selected paragraphs.
     *
     * @default undefined
     * @aspType SelectionBorders
     */
    readonly borders: SelectionBorders;
    /**
     * @private
     */
    listId: number;
    private listLevelNumberIn;
    private documentHelper;
    /**
     * @private
     */
    styleName: string;
    /**
     * Gets or Sets the left indent for selected paragraphs.
     *
     * @default undefined
     * @aspType int
     */
    /**
    * Sets the left indent for selected paragraphs.
    *
    * @default undefined
    * @aspType int
    */
    leftIndent: number;
    /**
     * Gets or Sets the right indent for selected paragraphs.
     *
     * @default undefined
     * @aspType int
     */
    /**
    * Sets the right indent for selected paragraphs.
    *
    * @default undefined
    * @aspType int
    */
    rightIndent: number;
    /**
     * Gets or Sets the first line indent for selected paragraphs.
     *
     * @default undefined
     * @aspType int
     */
    /**
    * Sets the first line indent for selected paragraphs.
    *
    * @default undefined
    * @aspType int
    */
    firstLineIndent: number;
    /**
     * Gets or Sets the text alignment for selected paragraphs.
     *
     * @default undefined
     */
    /**
    * Sets the text alignment for selected paragraphs.
    *
    * @default undefined
    */
    textAlignment: TextAlignment;
    /**
     * Sets the after spacing for selected paragraphs.
     *
     * @default undefined
     * @aspType int
     */
    /**
    * Gets or Sets the after spacing for selected paragraphs.
    *
    * @default undefined
    * @aspType int
    */
    afterSpacing: number;
    /**
     * Gets or Sets the before spacing for selected paragraphs.
     *
     * @default undefined
     * @aspType int
     */
    /**
    * Sets the before spacing for selected paragraphs.
    *
    * @default undefined
    * @aspType int
    */
    beforeSpacing: number;
    /**
     * Gets or Sets the space after auto for selected paragraphs.
     *
     * @default false
     * @aspType bool
     */
    /**
    *  Sets the space after auto for selected paragraphs.
    *
    * @aspType bool
    * @blazorType bool
    */
    spaceAfterAuto: boolean;
    /**
     * Gets or Sets the space before auto for selected paragraphs.
     *
     * @default false
     * @aspType bool
     */
    /**
    *  Sets the space before auto for selected paragraphs.
    *
    * @aspType bool
    * @blazorType bool
    */
    spaceBeforeAuto: boolean;
    /**
     * Gets or Sets the line spacing for selected paragraphs.
     *
     * @default undefined
     * @aspType int
     */
    /**
    * Sets the line spacing for selected paragraphs.
    *
    * @default undefined
    * @aspType int
    */
    lineSpacing: number;
    /**
     * Gets or Sets the line spacing type for selected paragraphs.
     *
     * @default undefined
     */
    /**
    * Gets or Sets the line spacing type for selected paragraphs.
    *
    * @default undefined
    */
    lineSpacingType: LineSpacingType;
    /**
     * Sets the list level number for selected paragraphs.
     *
     * @default undefined
     * @aspType int
     */
    /**
    * Gets or Sets the list level number for selected paragraphs.
    *
    * @default undefined
    * @aspType int
    */
    listLevelNumber: number;
    /**
     * Gets or Sets the bidirectional property for selected paragraphs
     *
     * @aspType bool
     */
    /**
    * Sets the bidirectional property for selected paragraphs
    *
    * @aspType bool
    */
    bidi: boolean;
    /**
     * Gets or sets a value indicating whether the specified paragraph remains on the same page as the paragraph that follows it while paginating the document.
     *
     * @default false
     * @aspType bool
     * @returns {boolean} - `true` if the specified paragraph remains on the same page as the paragraph that follows it;
 otherwise, `false`.
     */
    /**
    * Sets a value indicating whether the specified paragraph remains on the same page as the paragraph that follows it while paginating the document.
    *
    * @aspType bool
    * @blazorType bool
    */
    keepWithNext: boolean;
    /**
     * Gets or sets a value indicating whether all lines in the specified paragraphs remain on the same page while paginating the document.
     *
     * @default false
     * @aspType bool
     * @returns {boolean} - `true` if all lines in the specified paragraphs remain on the same page;
 otherwise, `false`.
     */
    /**
    * Sets a value indicating whether all lines in the specified paragraphs remain on the same page while paginating the document.
    *
    * @aspType bool
    * @blazorType bool
    */
    keepLinesTogether: boolean;
    /**
     * Gets or sets a value indicating whether the first and last lines of the paragraph are to remain on the same page as the rest of the paragraph when paginating the document.
     *
     * @default true
     * @aspType bool
     * @returns {boolean} - `true` if the first and last lines of the paragraph are to remain on the same page;
 otherwise, `false`.
     */
    /**
    * Sets a value indicating whether the first and last lines of the paragraph are to remain on the same page as the rest of the paragraph when paginating the document.
    *
    * @default true
    * @aspType bool
    */
    widowControl: boolean;
    /**
     * Gets or sets a value indicating whether to add space between the paragraphs of same style.
     *
     * @aspType bool
     */
    /**
    * Sets a value indicating whether to add space between the paragraphs of same style.
    *
    * @aspType bool
    */
    contextualSpacing: boolean;
    private validateLineSpacing;
    /**
     * Gets the list text for selected paragraphs.
     *
     * @aspType string
     */
    readonly listText: string;
    /**
     * @param selection
     * @param documentHelper
     * @private
     */
    constructor(selection: Selection, documentHelper: DocumentHelper);
    private getPropertyValue;
    /**
     * Notifies whenever the property gets changed.
     *
     * @param {string} propertyName
     */
    private notifyPropertyChanged;
    /**
     * Copies the format.
     *
     * @param {WParagraphFormat} format
     * @returns {void}
     * @private
     */
    copyFormat(format: WParagraphFormat): void;
    /**
     * Copies to format.
     *
     * @param {WParagraphFormat} format
     * @private
     */
    copyToFormat(format: WParagraphFormat): void;
    /**
     * Combines the format.
     *
     * @param {WParagraphFormat} format
     * @private
     */
    combineFormat(format: WParagraphFormat): void;
    /**
     * Clears the format.
     *
     * @returns {void}
     * @private
     */
    clearFormat(): void;
    /**
     * Gets the clone of list at current selection.
     *
     * @returns WList
     * @private
     */
    getList(): WList;
    /**
     * Modifies the list at current selection.
     *
     * @param {WList} listAdv
     * @private
     */
    setList(listAdv: WList, isListDialog?: boolean): void;
    /**
     * Destroys the managed resources.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
/**
 * Selection section format implementation
 */
export  class SelectionSectionFormat {
    private selection;
    private differentFirstPageIn;
    private differentOddAndEvenPagesIn;
    private headerDistanceIn;
    private footerDistanceIn;
    private pageHeightIn;
    private pageWidthIn;
    private leftMarginIn;
    private topMarginIn;
    private rightMarginIn;
    private bottomMarginIn;
    private restartPageNumberingIn;
    private pageStartingNumberIn;
    private endnoteNumberFormatIn;
    private footNoteNumberFormatIn;
    private restartIndexForFootnotesIn;
    private restartIndexForEndnotesIn;
    private initialFootNoteNumberIn;
    private initialEndNoteNumberIn;
    /**
     * private
     */
    bidi: boolean;
    /**
     * Gets or sets the page height.
     *
     * @aspType int
     */
    /**
    * Gets or sets the page height.
    *
    * @aspType int
    */
    pageHeight: number;
    /**
     * Gets or sets the page width.
     *
     * @aspType int
     */
    /**
    * Gets or sets the page width.
    *
    * @aspType int
    */
    pageWidth: number;
    /**
     * Gets or sets the page left margin.
     *
     * @aspType int
     */
    /**
    * Gets or sets the page left margin.
    *
    * @aspType int
    */
    leftMargin: number;
    /**
     * Gets or sets the page bottom margin.
     *
     * @aspType int
     */
    /**
    * Gets or sets the page bottom margin.
    *
    * @aspType int
    */
    bottomMargin: number;
    /**
     * Gets or sets the page top margin.
     *
     * @aspType int
     */
    /**
    * Gets or sets the page top margin.
    *
    * @aspType int
    */
    topMargin: number;
    /**
     * Gets or sets the page right margin.
     *
     * @aspType int
     */
    /**
    * Gets or sets the page right margin.
    *
    * @aspType int
    */
    rightMargin: number;
    /**
     * Gets or sets the header distance.
     *
     * @aspType int
     */
    /**
    * Gets or sets the header distance.
    *
    * @aspType int
    */
    headerDistance: number;
    /**
     * Gets or sets the starting page number.
     *
     * @aspType int
     */
    /**
    * Gets or sets the starting page number.
    *
    * @aspType int
    */
    pageStartingNumber: number;
    /**
     * Gets or sets a value indicating whether to restart page numbering.
     *
     * @aspType bool
     */
    /**
    * Gets or sets a value indicating whether to restart page numbering.
    *
    * @aspType bool
    */
    restartPageNumbering: boolean;
    /**
     * Gets or sets the footer distance.
     *
     * @aspType int
     */
    /**
    * Gets or sets the footer distance.
    *
    * @aspType int
    */
    footerDistance: number;
    /**
     * Gets or sets a value indicating whether the section has different first page.
     *
     * @aspType bool
     */
    /**
    * Gets or sets a value indicating whether the section has different first page.
    *
    * @aspType bool
    */
    differentFirstPage: boolean;
    /**
     * Gets or sets a value indicating whether the section has different odd and even page.
     *
     * @aspType bool
     */
    /**
    * Gets or sets a value indicating whether the section has different odd and even page.
    *
    * @aspType bool
    */
    differentOddAndEvenPages: boolean;
    /**
     * Gets or sets the number format of endnote.
     */
    /**
    * Gets or sets the number format of endnote.
    */
    endnoteNumberFormat: FootEndNoteNumberFormat;
    /**
     * Gets or sets the number format of footnote.
     */
    /**
    * Gets or sets the number format of footnote.
    */
    footNoteNumberFormat: FootEndNoteNumberFormat;
    /**
     * Gets or sets the number format of footnote.
     */
    /**
    * Gets or sets the number format of footnote.
    */
    initialFootNoteNumber: number;
    /**
     * Gets or sets the number format of footnote.
     */
    /**
    * Gets or sets the number format of footnote.
    */
    initialEndNoteNumber: number;
    /**
     * Gets or sets the restart index of footnote
     */
    /**
    * Gets or sets the restart index of footnote
    */
    restartIndexForFootnotes: FootnoteRestartIndex;
    /**
     * Gets or sets the restart index of endnote
     */
    /**
    * Gets or sets the restart index of endnote
    */
    restartIndexForEndnotes: FootnoteRestartIndex;
    /**
     * @param selection
     * @private
     */
    constructor(selection: Selection);
    /**
     * Copies the format.
     *
     * @param {WSectionFormat} format
     * @returns {void}
     * @private
     */
    copyFormat(format: WSectionFormat): void;
    private notifyPropertyChanged;
    private getPropertyvalue;
    /**
     * Combines the format.
     *
     * @param {WSectionFormat} format
     * @private
     */
    combineFormat(format: WSectionFormat): void;
    /**
     * Clears the format.
     *
     * @returns {void}
     * @private
     */
    clearFormat(): void;
    /**
     * Destroys the managed resources.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
/**
 * Selection table format implementation
 */
export  class SelectionTableFormat {
    private selection;
    private tableIn;
    private leftIndentIn;
    private backgroundIn;
    private tableAlignmentIn;
    private cellSpacingIn;
    private leftMarginIn;
    private rightMarginIn;
    private topMarginIn;
    private bottomMarginIn;
    private preferredWidthIn;
    private preferredWidthTypeIn;
    private bidiIn;
    /**
     * Gets or sets the table.
     *
     * @private
     */
    table: TableWidget;
    /**
     * Gets or Sets the left indent for selected table.
     *
     * @aspType int
     */
    /**
    * Gets or Sets the left indent for selected table.
    *
    * @aspType int
    */
    leftIndent: number;
    /**
     * Gets or Sets the default top margin of cell for selected table.
     *
     * @default undefined
     * @aspType int
     */
    /**
    * Gets or Sets the default top margin of cell for selected table.
    *
    * @default undefined
    * @aspType int
    */
    topMargin: number;
    /**
     * Gets or Sets the background for selected table.
     *
     * @default undefined
     * @aspType string
     */
    /**
    * Gets or Sets the background for selected table.
    *
    * @default undefined
    * @aspType string
    */
    background: string;
    /**
     * Gets or Sets the table alignment for selected table.
     *
     * @default undefined
     */
    /**
    * Gets or Sets the table alignment for selected table.
    *
    * @default undefined
    */
    tableAlignment: TableAlignment;
    /**
     * Gets or Sets the default left margin of cell for selected table.
     *
     * @default undefined
     * @aspType int
     */
    /**
    * Gets or Sets the default left margin of cell for selected table.
    *
    * @default undefined
    * @aspType int
    */
    leftMargin: number;
    /**
     * Gets or Sets the default bottom margin of cell for selected table.
     *
     * @default undefined
     * @aspType int
     */
    /**
    * Gets or Sets the default bottom margin of cell for selected table.
    *
    * @default undefined
    * @aspType int
    */
    bottomMargin: number;
    /**
     * Gets or Sets the cell spacing for selected table.
     *
     * @default undefined
     * @aspType int
     */
    /**
    * Gets or Sets the cell spacing for selected table.
    *
    * @default undefined
    * @aspType int
    */
    cellSpacing: number;
    /**
     * Gets or Sets the default right margin of cell for selected table.
     *
     * @default undefined
     * @aspType int
     */
    /**
    * Gets or Sets the default right margin of cell for selected table.
    *
    * @default undefined
    * @aspType int
    */
    rightMargin: number;
    /**
     * Gets or Sets the preferred width for selected table.
     *
     * @default undefined
     * @aspType int
     */
    /**
    * Gets or Sets the preferred width for selected table.
    *
    * @default undefined
    * @aspType int
    */
    preferredWidth: number;
    /**
     * Gets or Sets the preferred width type for selected table.
     *
     * @default undefined
     */
    /**
    * Gets or Sets the preferred width type for selected table.
    *
    * @default undefined
    */
    preferredWidthType: WidthType;
    /**
     * Gets or sets the bidi property
     *
     * @aspType bool
     */
    /**
    * Gets or sets the bidi property
    *
    * @aspType bool
    */
    bidi: boolean;
    /**
     * @param selection
     * @private
     */
    constructor(selection: Selection);
    private getPropertyValue;
    private notifyPropertyChanged;
    /**
     * Copies the format.
     *
     * @param {WTableFormat} format Format to copy.
     * @returns {void}
     * @private
     */
    copyFormat(format: WTableFormat): void;
    /**
     * Clears the format.
     *
     * @returns {void}
     * @private
     */
    clearFormat(): void;
    /**
     * Destroys the managed resources.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
/**
 * Selection cell format implementation
 */
export  class SelectionCellFormat {
    private selection;
    private verticalAlignmentIn;
    private leftMarginIn;
    private rightMarginIn;
    private topMarginIn;
    private bottomMarginIn;
    private backgroundIn;
    private preferredWidthIn;
    private preferredWidthTypeIn;
    /**
     * Gets or sets the vertical alignment of the selected cells.
     *
     * @default undefined
     */
    /**
    * Gets or sets the vertical alignment of the selected cells.
    *
    * @default undefined
    */
    verticalAlignment: CellVerticalAlignment;
    /**
     * Gets or Sets the left margin for selected cells.
     *
     * @default undefined
     * @aspType int
     */
    /**
    * Gets or Sets the left margin for selected cells.
    * @default undefined
    * @aspType int
    */
    leftMargin: number;
    /**
     * Gets or Sets the right margin for selected cells.
     * @default undefined
     * @aspType int
     */
    /**
    * Gets or Sets the right margin for selected cells.
    * @default undefined
    * @aspType int
    */
    rightMargin: number;
    /**
     * Gets or Sets the top margin for selected cells.
     * @default undefined
     * @aspType int
     */
    /**
    * Gets or Sets the top margin for selected cells.
    * @default undefined
    * @aspType int
    */
    topMargin: number;
    /**
     * Gets or Sets the bottom margin for selected cells.
     * @default undefined
     * @aspType int
     */
    /**
    * Gets or Sets the bottom margin for selected cells.
    * @default undefined
    * @aspType int
    */
    bottomMargin: number;
    /**
     * Gets or Sets the background for selected cells.
     * @default undefined
     * @aspType string
     */
    /**
    * Gets or Sets the background for selected cells.
    * @default undefined
    * @aspType string
    */
    background: string;
    /**
     * Gets or Sets the preferred width type for selected cells.
     * @default undefined
     */
    /**
    * Gets or Sets the preferred width type for selected cells.
    * @default undefined
    */
    preferredWidthType: WidthType;
    /**
     * Gets or Sets the preferred width  for selected cells.
     * @default undefined
     * @aspType int
     */
    /**
    * Gets or Sets the preferred width  for selected cells.
    * @default undefined
    * @aspType int
    */
    preferredWidth: number;
    /**
     * @private
     */
    constructor(selection: Selection);
    private notifyPropertyChanged;
    private getPropertyValue;
    /**
     * Copies the format.
     *
     * @private
     * @param {WCellFormat} format - Source Format to copy.
     * @returns {void}
     */
    copyFormat(format: WCellFormat): void;
    /**
     * Clears the format.
     *
     * @private
     * @returns {void}
     */
    clearCellFormat(): void;
    /**
     * Combines the format.
     *
     * @param {WCellFormat} format - Returns cell format
     * @private
     */
    combineFormat(format: WCellFormat): void;
    /**
     * Clears the format.
     *
     * @private
     * @returns {void}
     */
    clearFormat(): void;
    /**
     * Destroys the manages resources.
     *
     * @private
     * @returns {void}
     */
    destroy(): void;
}
/**
 * Selection row format implementation
 */
export  class SelectionRowFormat {
    private selection;
    private heightIn;
    private heightTypeIn;
    private isHeaderIn;
    private allowRowBreakAcrossPagesIn;
    /**
     * Gets or Sets the height for selected rows.
     *
     * @default undefined
     * @aspType int
     * @returns {number} - Returns the height
     */
    /**
    * Gets or Sets the height for selected rows.
    *
    * @default undefined
    * @aspType int
    * @param {number} value - Specified the value
    */
    height: number;
    /**
     * Gets or Sets the height type for selected rows.
     *
     * @default undefined
     * @returns {HeightType} - Returns height type
     */
    /**
    * Gets or Sets the height type for selected rows.
    *
    * @default undefined
    * @param {HeightType} value - Specified the value
    */
    heightType: HeightType;
    /**
     * Gets or Sets a value indicating whether the selected rows are header rows or not.
     *
     * @default undefined
     * @aspType bool
     * @returns {boolean} - Returns the is header
     */
    /**
    * Gets or Sets a value indicating whether the selected rows are header rows or not.
    *
    * @default undefined
    * @aspType bool
    * @param {boolean} value - Specified the value
    */
    isHeader: boolean;
    /**
     * Gets or Sets a value indicating whether to allow break across pages for selected rows.
     *
     * @default undefined
     * @aspType bool
     * @returns {boolean} - Returns the allow break across page
     */
    /**
    * Gets or Sets a value indicating whether to allow break across pages for selected rows.
    *
    * @default undefined
    * @param {boolean} value - Specified the value
    * @aspType bool
    */
    allowBreakAcrossPages: boolean;
    /**
     * @param {Selection} selection - Specifies the selection
     * @private
     */
    constructor(selection: Selection);
    private notifyPropertyChanged;
    private getPropertyValue;
    /**
     * Copies the format.
     *
     * @param {WRowFormat} format - Specified row format
     * @private
     * @returns {void}
     */
    copyFormat(format: WRowFormat): void;
    /**
     * Combines the format.
     *
     * @param {WRowFormat} format - Secifies row format
     * @private
     */
    combineFormat(format: WRowFormat): void;
    /**
     * Clears the row format.
     *
     * @private
     * @returns {void}
     */
    clearRowFormat(): void;
    /**
     * Clears the format.
     *
     * @private
     * @returns {void}
     */
    clearFormat(): void;
    /**
     * Destroys the managed resources.
     *
     * @private
     * @returns {void}
     */
    destroy(): void;
}
/**
 * Selection image format implementation
 */
export  class SelectionImageFormat {
    /**
     * @private
     */
    image: ImageElementBox;
    /**
     * @private
     */
    selection: Selection;
    /**
     * Gets the width of the image.
     *
     * @aspType int
     * @returns {number} - Returns image width
     */
    readonly width: number;
    /**
     * Gets the height of the image.
     *
     * @aspType int
     * @returns {number} - Returns image height
     */
    readonly height: number;
    /**
     * @param {Selection} selection - Specifies selecion module
     * @private
     */
    constructor(selection: Selection);
    /**
     * Resizes the image based on given size.
     *
     * @param {number} width - Specified the image width
     * @param {number} height - Specifies the image height
     * @private
     * @returns {void}
     */
    resize(width: number, height: number): void;
    /**
     * Update image width and height
     *
     * @param {number} width - Specified the image width
     * @param {number} height - Specifies the image height
     * @private
     * @returns {void}
     */
    updateImageFormat(width: number, height: number): void;
    /**
     * @param {ImageElementBox} image - Specifies image element box
     * @private
     * @returns {void}
     */
    copyImageFormat(image: ImageElementBox): void;
    /**
     * @private
     * @returns {void}
     */
    clearImageFormat(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/selection/selection-helper.d.ts
/**
 * @private
 */
export  class TextPosition {
    /**
     * @private
     */
    currentWidget: LineWidget;
    /**
     * @private
     */
    offset: number;
    /**
     * @private
     */
    owner: DocumentEditor;
    /**
     * @private
     */
    location: Point;
    private documentHelper;
    /**
     * @private
     */
    isUpdateLocation: boolean;
    /**
     * @private
     */
    readonly paragraph: ParagraphWidget;
    /**
     * @private
     */
    readonly isAtParagraphStart: boolean;
    /**
     * @private
     */
    readonly isAtParagraphEnd: boolean;
    /**
     * @private
     */
    readonly isCurrentParaBidi: boolean;
    /**
     * @private
     */
    readonly selection: Selection;
    /**
     * Gets the hierarchical position of logical text position in the document
     *
     * @returns {string}
     */
    readonly hierarchicalPosition: string;
    constructor(owner: DocumentEditor);
    private readonly viewer;
    /**
     * Return clone of current text position
     *
     * @private
     */
    clone(): TextPosition;
    /**
     * @private
     */
    containsRtlText(widget: LineWidget): boolean;
    /**
     * Set text position for paragraph and inline
     *
     * @private
     */
    setPositionForSelection(line: LineWidget, element: ElementBox, index: number, physicalLocation: Point): void;
    /**
     * Set text position
     *
     * @private
     */
    setPositionFromLine(line: LineWidget, offset: number, location?: Point): void;
    /**
     * Set text position
     *
     * @private
     */
    setPosition(line: LineWidget, positionAtStart: boolean): void;
    /**
     * Set position for text position
     *
     * @private
     */
    setPositionInternal(textPosition: TextPosition): void;
    /**
     * Set position for current index
     *
     * @private
     */
    setPositionForCurrentIndex(hierarchicalIndex: string): void;
    /**
     * Get Page
     *
     */
    getPage(position: IndexInfo): Page;
    /**
     * @private
     */
    getParagraphWidget(position: IndexInfo): LineWidget;
    /**
     * @private
     */
    getLineWidget(widget: Widget, position: IndexInfo, page?: Page): LineWidget;
    /**
     * Update physical location of paragraph
     *
     * @private
     */
    updatePhysicalPosition(moveNextLine: boolean): void;
    /**
     * Return true if text position are in same paragraph and offset
     *
     * @private
     */
    isAtSamePosition(textPosition: TextPosition): boolean;
    /**
     * Return true if text position is in same paragraph index
     * @private
     */
    isInSameParagraphIndex(textPosition: TextPosition): boolean;
    /**
     * Return true if text position is in same paragraph
     *
     * @private
     */
    isInSameParagraph(textPosition: TextPosition): boolean;
    /**
     * Return true is current text position exist before given text position
     *
     * @private
     */
    isExistBefore(textPosition: TextPosition): boolean;
    /**
     * Return true is current text position exist after given text position
     *
     * @private
     */
    isExistAfter(textPosition: TextPosition): boolean;
    /**
     * Return hierarchical index of current text position
     *
     * @private
     */
    getHierarchicalIndexInternal(): string;
    /**
     * @private
     */
    getHierarchicalIndex(line: LineWidget, hierarchicalIndex: string): string;
    /**
     * @private
     */
    setPositionParagraph(line: LineWidget, offsetInLine: number): void;
    /**
     * @private
     */
    setPositionForLineWidget(lineWidget: LineWidget, offset: number): void;
    /**
     * move to next text position
     *
     * @private
     */
    moveNextPosition(isNavigate?: boolean): void;
    /**
     * Move text position to previous paragraph inside table
     *
     * @private
     */
    moveToPreviousParagraphInTable(selection: Selection): void;
    private updateOffsetToNextParagraph;
    private updateOffsetToPrevPosition;
    /**
     * Moves the text position to start of the next paragraph.
     */
    moveToNextParagraphStartInternal(): void;
    /**
     * Move to previous position
     *
     * @private
     */
    movePreviousPosition(): void;
    /**
     * Move to next position
     *
     * @private
     */
    moveNextPositionInternal(fieldBegin: FieldElementBox): void;
    /**
     * Move text position backward
     *
     * @private
     */
    moveBackward(): void;
    /**
     * Move text position forward
     *
     * @private
     */
    moveForward(): void;
    /**
     * Move to given inline
     *
     * @private
     */
    moveToInline(inline: ElementBox, index: number): void;
    /**
     * Return true is start element exist before end element
     *
     * @private
     */
    static isForwardSelection(start: string, end: string): boolean;
    /**
     * Move to previous position offset
     *
     * @param fieldEnd
     * @private
     */
    movePreviousPositionInternal(fieldEnd: FieldElementBox): void;
    /**
     * Moves the text position to start of the word.
     *
     * @param type
     * @private
     */
    moveToWordStartInternal(type: number): void;
    getNextWordOffset(inline: ElementBox, indexInInline: number, type: number, isInField: boolean, endSelection: boolean, endPosition: TextPosition, excludeSpace: boolean): void;
    getNextWordOffsetFieldBegin(fieldBegin: FieldElementBox, indexInInline: number, type: number, isInField: boolean, endSelection: boolean, endPosition: TextPosition, excludeSpace: boolean): void;
    getNextWordOffsetImage(image: ImageElementBox, indexInInline: number, type: number, isInField: boolean, endSelection: boolean, endPosition: TextPosition, excludeSpace: boolean): void;
    private getNextWordOffsetSpan;
    private getNextWordOffsetFieldSeparator;
    private getNextWordOffsetComment;
    private getNextWordOffsetFieldEnd;
    private getPreviousWordOffset;
    private getPreviousWordOffsetBookMark;
    private getPreviousWordOffsetFieldEnd;
    private getPreviousWordOffsetFieldSeparator;
    private getPreviousWordOffsetComment;
    private getPreviousWordOffsetFieldBegin;
    private getPreviousWordOffsetImage;
    private getPreviousWordOffsetSpan;
    private setPreviousWordOffset;
    /**
     * Validate if text position is in field forward
     *
     * @private
     */
    validateForwardFieldSelection(currentIndex: string, selectionEndIndex: string): void;
    /**
     * Validate if text position is in field backward
     *
     * @private
     */
    validateBackwardFieldSelection(currentIndex: string, selectionEndIndex: string): void;
    /**
     * @private
     */
    paragraphStartInternal(selection: Selection, moveToPreviousParagraph: boolean): void;
    /**
     * @private
     */
    calculateOffset(): void;
    /**
     * Moves the text position to start of the paragraph.
     *
     * @private
     */
    moveToParagraphStartInternal(selection: Selection, moveToPreviousParagraph: boolean): void;
    /**
     * Moves the text position to end of the paragraph.
     *
     * @private
     */
    moveToParagraphEndInternal(selection: Selection, moveToNextParagraph: boolean): void;
    /**
     * @private
     */
    moveUp(selection: Selection, left: number): void;
    /**
     * @private
     */
    moveDown(selection: Selection, left: number): void;
    /**
     * Moves the text position to start of the line.
     *
     * @private
     */
    moveToLineStartInternal(selection: Selection, moveToPreviousLine: boolean): void;
    /**
     * Check paragraph is inside table
     *
     * @private
     */
    moveToNextParagraphInTableCheck(): boolean;
    /**
     * Moves the text position to end of the word.
     *
     * @private
     */
    moveToWordEndInternal(type: number, excludeSpace: boolean): void;
    /**
     * move text position to next paragraph inside table
     *
     * @private
     */
    moveToNextParagraphInTable(): void;
    /**
     * Moves the text position to start of the previous paragraph.
     *
     */
    moveToPreviousParagraph(selection: Selection): void;
    /**
     * Move to previous line from current position
     *
     * @private
     */
    moveToPreviousLine(selection: Selection, left: number): void;
    /**
     * @param {Selection} selection Specifies the selection
     * @param {boolean} moveToNextLine Specifies the move to next line
     * @private
     */
    moveToLineEndInternal(selection: Selection, moveToNextLine: boolean): void;
    /**
     * Move to next line
     *
     * @param {number} left Specified the left
     * @private
     * @returns {void}
     */
    moveToNextLine(left: number): void;
    private moveUpInTable;
    private moveDownInTable;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
}
/**
 * @private
 */
export  class SelectionWidgetInfo {
    private leftIn;
    private widthIn;
    color: string;
    floatingItems: ShapeBase[];
    /**
     * @private
     */
    /**
    * @private
    */
    left: number;
    /**
     * @private
     */
    /**
    * @private
    */
    width: number;
    constructor(left: number, width: number);
    /**
     * @private
     */
    destroy(): void;
}
/**
 * @private
 */
export  class Hyperlink {
    private linkInternal;
    private localRef;
    private typeInternal;
    private opensNewWindow;
    private isCrossRefField;
    private screenTipText;
    /**
    * Gets screentip text.
    *
    * @returns string
    * @private
    */
    readonly screenTip: string;
    /**
     * Gets navigation link.
     *
     * @returns string
     * @private
     */
    readonly navigationLink: string;
    /**
     * Gets the local reference if any.
     *
     * @returns string
     * @private
     */
    readonly localReference: string;
    /**
     * Gets hyper link type.
     *
     * @returns HyperLinkType
     * @private
     */
    readonly linkType: HyperlinkType;
    /**
     * @private
     */
    readonly isCrossRef: boolean;
    constructor(fieldBeginAdv: FieldElementBox, selection: Selection);
    private parseFieldValues;
    private parseFieldValue;
    private setLinkType;
    /**
     * @private
     */
    destroy(): void;
}
/**
 * @private
 */
export  class ImageInfo {
    /**
     * @private
     */
    width: number;
    /**
     * @private
     */
    height: number;
    /**
     * Constructor for image format class
     *
     * @param imageContainer - Specifies for image width and height values.
     */
    constructor(imageContainer: ImageElementBox);
    /**
     * Dispose the internal objects which are maintained.
     *
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/selection/selection.d.ts
/**
 * Selection
 */
export  class Selection {
    /**
     * @private
     */
    owner: DocumentEditor;
    /**
     * @private
     */
    upDownSelectionLength: number;
    /**
     * @private
     */
    isSkipLayouting: boolean;
    /**
    * @private
    */
    isImageSelected: boolean;
    private documentHelper;
    private contextTypeInternal;
    /**
     * @private
     */
    caret: HTMLDivElement;
    /**
     * @private
     */
    isRetrieveFormatting: boolean;
    private characterFormatIn;
    private paragraphFormatIn;
    private sectionFormatIn;
    private tableFormatIn;
    private cellFormatIn;
    private rowFormatIn;
    private imageFormatInternal;
    /**
     * @private
     */
    skipFormatRetrieval: boolean;
    isModifyingSelectionInternally: boolean;
    private startInternal;
    private endInternal;
    private htmlWriterIn;
    private toolTipElement;
    private toolTipObject;
    private toolTipField;
    private isMoveDownOrMoveUp;
    private pasteDropDwn;
    /**
     * @private
     */
    pasteElement: HTMLElement;
    /**
     * @private
     */
    currentPasteAction: TablePasteOptions;
    /**
     * @private
     */
    isViewPasteOptions: boolean;
    /**
     * @private
     */
    skipEditRangeRetrieval: boolean;
    /**
     * @private
     */
    editPosition: string;
    /**
     * @private
     */
    selectedWidgets: Dictionary<IWidget, object>;
    /**
     * @private
     */
    isHighlightEditRegionIn: boolean;
    /**
     * @private
     */
    private isHighlightFormFields;
    /**
     * @private
     */
    editRangeCollection: EditRangeStartElementBox[];
    /**
     * @private
     */
    isHightlightEditRegionInternal: boolean;
    /**
     * @private
     */
    isCurrentUser: boolean;
    /**
     * @private
     */
    isHighlightNext: boolean;
    /**
     * @private
     */
    hightLightNextParagraph: BlockWidget;
    /**
     * @private
     */
    isWebLayout: boolean;
    /**
     * @private
     */
    editRegionHighlighters: Dictionary<LineWidget, SelectionWidgetInfo[]>;
    /**
     * @private
     */
    formFieldHighlighters: Dictionary<LineWidget, SelectionWidgetInfo[]>;
    private isSelectList;
    /**
     * @private
     */
    previousSelectedFormField: FieldElementBox;
    /**
     * @private
     */
    isFormatUpdated: boolean;
    /**
     * @private
     * @returns {boolean} - Retuens true if highlighting editing region
     */
    /**
    * @private
    */
    isHighlightEditRegion: boolean;
    /**
     * @private
     */
    readonly htmlWriter: HtmlExport;
    /**
     * Gets the start text position of last range in the selection
     *
     * @private
     * @returns {TextPosition} - Returns selection start position.
     */
    /**
    * @private
    */
    start: TextPosition;
    /**
     * Gets the instance of selection character format.
     *
     * @default undefined
     * @aspType SelectionCharacterFormat
     * @returns {SelectionCharacterFormat} - Returns selection character format.
     */
    readonly characterFormat: SelectionCharacterFormat;
    /**
     * Gets the instance of selection paragraph format.
     *
     * @default undefined
     * @aspType SelectionParagraphFormat
     * @returns {SelectionParagraphFormat} - Returns selection paragraph format.
     */
    readonly paragraphFormat: SelectionParagraphFormat;
    /**
     * Gets the instance of selection section format.
     *
     * @default undefined
     * @aspType SelectionSectionFormat
     * @returns {SelectionSectionFormat} - Returns selection section format.
     */
    readonly sectionFormat: SelectionSectionFormat;
    /**
     * Gets the instance of selection table format.
     *
     * @default undefined
     * @aspType SelectionTableFormat
     * @returns {SelectionTableFormat} - Returns selection table format.
     */
    readonly tableFormat: SelectionTableFormat;
    /**
     * Gets the instance of selection cell format.
     *
     * @default undefined
     * @aspType SelectionCellFormat
     * @returns {SelectionCellFormat} - Returns selection cell format.
     */
    readonly cellFormat: SelectionCellFormat;
    /**
     * Gets the instance of selection row format.
     *
     * @default undefined
     * @aspType SelectionRowFormat
     * @returns {SelectionRowFormat} - Returns selection row format.
     */
    readonly rowFormat: SelectionRowFormat;
    /**
     * Gets the instance of selection image format.
     *
     * @default undefined
     * @aspType SelectionImageFormat
     * @returns {SelectionImageFormat} - Returns selection image format.
     */
    readonly imageFormat: SelectionImageFormat;
    /**
     * Gets the start text position of selection range.
     *
     * @private
     * @returns {TextPosition} - Returns selection end position.
     */
    /**
    * For internal use
    *
    * @private
    */
    end: TextPosition;
    /**
     * Gets the page number where the selection starts.
     *
     * @returns {number} - Returns the selection start page number.
     */
    readonly startPage: number;
    /**
     * Gets the page number where the selection ends.
     *
     * @returns {number} - Returns the selection end page number.
     */
    readonly endPage: number;
    /**
     * Determines whether the selection direction is forward or not.
     *
     * @default false
     * @private
     * @returns {boolean} - Returns isForward
     */
    readonly isForward: boolean;
    /**
     * Determines whether the selection is in footnote or not.
     *
     * @default false
     * @returns {boolean} - Returns true if selection is in footnote
     * @private
     */
    readonly isinFootnote: boolean;
    /**
     * Determines whether the selection is in endnote or not.
     *
     * @default false
     * @returns {boolean}
     * @private
     */
    readonly isinEndnote: boolean;
    /**
     * Determines whether the start and end positions are same or not.
     *
     * @default false
     * @returns {boolean}
     * @private
     */
    readonly isEmpty: boolean;
    /**
     * Returns start hierarchical index.
     */
    readonly startOffset: string;
    /**
     * Returns end hierarchical index.
     */
    readonly endOffset: string;
    /**
     * @private
     */
    readonly isInShape: boolean;
    /**
     * Gets the text within selection.
     *
     * @default ''
     * @aspType string
     * @returns {string}
     */
    readonly text: string;
    /**
     * Gets the context type of the selection.
     */
    readonly contextType: ContextType;
    /**
     * Gets bookmark name collection.
     */
    readonly bookmarks: string[];
    /**
    * Gets the selected content of the document as SFDT(Syncfusion Document Text) file format.
    *
    * @default undefined
    * @returns {string}
    */
    readonly sfdt: string;
    /**
     * Gets the bookmark name collection in current selection
     *
     * @param includeHidden - Decide whether to include hidden bookmark name in current selection or not.
     */
    getBookmarks(includeHidden?: boolean): string[];
    /**
     * @private
     */
    readonly isCleared: boolean;
    /**
     * Returns true if selection is in field
     */
    readonly isInField: boolean;
    /**
     * Gets the field information for the selected field.
     *
     * @returns { FieldInfo } – Return {FieldInfo} if selection is in field, otherwise `undefined`
     * > Returns `undefined` for text, image, table, shape. For nested fields, it returns combined field code and result.
     */
    getFieldInfo(): FieldInfo;
    /**
     * @param documentEditor
     * @private
     */
    constructor(documentEditor: DocumentEditor);
    private getSelBookmarks;
    private readonly viewer;
    private getModuleName;
    private checkLayout;
    /**
     * Moves the selection to the header of current page.
     *
     * @returns {void}
     */
    goToHeader(): void;
    /**
     * Moves the selection to the footer of current page.
     *
     * @returns {void}
     */
    goToFooter(): void;
    /**
     * Closes the header and footer region.
     *
     * @returns {void}
     */
    closeHeaderFooter(): void;
    /**
     * Moves the selection to the start of specified page number.
     *
     * @param pageNumber
     * @returns {void}
     */
    goToPage(pageNumber: number): void;
    /**
     * Selects the entire table if the context is within table.
     *
     * @returns {void}
     */
    selectTable(): void;
    /**
     * Selects the entire row if the context is within table.
     *
     * @returns {void}
     */
    selectRow(): void;
    /**
     * Selects the entire column if the context is within table.
     *
     * @returns {void}
     */
    selectColumn(): void;
    /**
     * Selects the entire cell if the context is within table.
     *
     * @returns {void}
     */
    selectCell(): void;
    /**
     * Selects content based on selection settings
     *
     * @returns {void}
     */
    select(selectionSettings: SelectionSettings): void;
    /**
     * Selects content based on start and end hierarchical index.
     *
     * @param start start hierarchical index.
     * @param end end hierarchical index.
     * @returns {void}
     */
    select(start: string, end: string): void;
    /**
     * Selects based on start and end hierarchical index.
     *
     * @param start
     * @param end
     * @returns {void}
     */
    selectByHierarchicalIndex(start: string, end: string): void;
    /**
     * Select the current field if selection is in field
     *
     * @param fieldStart
     * @returns {void}
     */
    selectField(fieldStart?: FieldElementBox): void;
    /**
     * @private
     * @param fieldStart
     * @returns {void}
     */
    selectFieldInternal(fieldStart: FieldElementBox, isKeyBoardEvent?: boolean, isReplacingFormResult?: boolean): void;
    /**
     * @param shape
     * @private
     * @returns {void}
     */
    selectShape(shape: ShapeElementBox): void;
    /**
     * Toggles the bold property of selected contents.
     *
     * @private
     * @returns {void}
     */
    toggleBold(): void;
    /**
     * Toggles the italic property of selected contents.
     *
     * @private
     * @returns {void}
     */
    toggleItalic(): void;
    /**
     * Toggles the allCaps property of selected contents.
     *
     * @private
     * @returns {void}
     */
    toggleAllCaps(): void;
    /**
     * Toggles the underline property of selected contents.
     *
     * @param {Underline} underline Default value of ‘underline’ parameter is Single.
     * @private
     * @returns {void}
     */
    toggleUnderline(underline?: Underline): void;
    /**
     * Toggles the strike through property of selected contents.
     *
     * @param {Strikethrough} strikethrough Default value of strikethrough parameter is SingleStrike.
     * @private
     * @returns {void}
     */
    toggleStrikethrough(strikethrough?: Strikethrough): void;
    /**
     * Toggles the highlight color property of selected contents.
     *
     * @param {HighlightColor} highlightColor Default value of ‘underline’ parameter is Yellow.
     * @private
     * @returns {void}
     */
    toggleHighlightColor(highlightColor?: HighlightColor): void;
    /**
     * Toggles the subscript formatting of selected contents.
     *
     * @private
     * @returns {void}
     */
    toggleSubscript(): void;
    /**
     * Toggles the superscript formatting of selected contents.
     *
     * @private
     * @returns {void}
     */
    toggleSuperscript(): void;
    /**
     * Toggles the text alignment property of selected contents.
     *
     * @param {TextAlignment} textAlignment Default value of ‘textAlignment parameter is TextAlignment.Left.
     * @private
     * @returns {void}
     */
    toggleTextAlignment(textAlignment: TextAlignment): void;
    /**
     * Increases the left indent of selected paragraphs to a factor of 36 points.
     *
     * @private
     * @returns {void}
     */
    increaseIndent(): void;
    /**
     * Decreases the left indent of selected paragraphs to a factor of 36 points.
     *
     * @private
     * @returns {void}
     */
    decreaseIndent(): void;
    /**
     * Fires the `requestNavigate` event if current selection context is in hyperlink.
     *
     * @returns {void}
     */
    navigateHyperlink(): void;
    /**
     * Navigate Hyperlink
     *
     * @param fieldBegin
     * @private
     * @returns {void}
     */
    fireRequestNavigate(fieldBegin: FieldElementBox): void;
    /**
     * Copies the hyperlink URL if the context is within hyperlink.
     *
     * @returns {void}
     */
    copyHyperlink(): void;
    private isHideSelection;
    /**
     * @private
     * @returns {void}
     */
    highlightSelection(isSelectionChanged: boolean): void;
    private createHighlightBorder;
    private renderHighlight;
    private getWrapPosition;
    private splitSelectionHighlightPosition;
    private addEditRegionHighlight;
    private addFormFieldHighlight;
    private createHighlightBorderInsideTable;
    private clipSelection;
    /**
     * Add selection highlight
     *
     * @private
     * @returns {void}
     */
    addSelectionHighlight(canvasContext: CanvasRenderingContext2D, widget: LineWidget, top: number, page?: Page): void;
    private renderDashLine;
    /**
     * Add Selection highlight inside table
     *
     * @private
     * @returns {void}
     */
    addSelectionHighlightTable(canvasContext: CanvasRenderingContext2D, tableCellWidget: TableCellWidget, page?: Page): void;
    private removeSelectionHighlight;
    /**
     * Selects Current word
     *
     * @param excludeSpace
     * @returns {void}
     */
    selectCurrentWord(excludeSpace?: boolean): void;
    /**
     * Selects current paragraph
     *
     * @returns {void}
     */
    selectParagraph(): void;
    /**
     * Selects current line.
     *
     * @returns {void}
     */
    selectLine(): void;
    /**
     * Moves selection to start of the document.
     *
     * @returns {void}
     */
    moveToDocumentStart(): void;
    /**
     * Moves selection to end of the document.
     *
     * @returns {void}
     */
    moveToDocumentEnd(): void;
    /**
     * Moves selection to current paragraph start.
     *
     * @returns {void}
     */
    moveToParagraphStart(): void;
    /**
     * Moves selection to current paragraph end.
     *
     * @returns {void}
     */
    moveToParagraphEnd(): void;
    /**
     * Moves selection to next line.
     *
     * @returns {void}
     */
    moveToNextLine(): void;
    /**
     * Moves selection to previous line.
     *
     * @returns {void}
     */
    moveToPreviousLine(): void;
    /**
     * Moves selection to next character.
     *
     * @returns {void}
     */
    moveToNextCharacter(): void;
    /**
     * Moves selection to previous character.
     *
     * @returns {void}
     */
    moveToPreviousCharacter(): void;
    private selectCurrentWordRange;
    /**
     * Extends selection to paragraph start.
     *
     * @returns {void}
     */
    extendToParagraphStart(): void;
    /**
     * Extend selection to paragraph end.
     *
     * @returns {void}
     */
    extendToParagraphEnd(): void;
    /**
     * Move to next text position
     *
     * @private
     * @returns {void}
     */
    moveNextPosition(): void;
    /**
     * Move to next paragraph
     *
     * @private
     * @returns {void}
     */
    moveToNextParagraph(): void;
    /**
     * To navigate to next footnote from current selection
     *
     * @returns {void}
     */
    nextFootnote(): void;
    /**
     * To navigate to previous footnote from current selection
     *
     * @returns {void}
     */
    previousFootnote(): void;
    /**
     * To navigate to next Endnote from current selection
     *
     * @returns {void}
     */
    nextEndnote(): void;
    /**
     * To navigate to previous Endnote from current selection
     *
     * @returns {void}
     */
    previousEndnote(): void;
    /**
     * Move to previous text position
     *
     * @private
     * @returns {void}
     */
    movePreviousPosition(): void;
    /**
     * Move to previous paragraph
     *
     * @private
     * @returns {void}
     */
    moveToPreviousParagraph(): void;
    /**
     * Extends selection to previous line.
     *
     * @returns {void}
     */
    extendToPreviousLine(): void;
    /**
     * Extend selection to line end
     *
     * @returns {void}
     */
    extendToLineEnd(): void;
    /**
     * Extends selection to line start.
     *
     * @returns {void}
     */
    extendToLineStart(): void;
    /**
     * @private
     * @returns {void}
     */
    moveUp(): void;
    /**
     * @private
     * @returns {void}
     */
    moveDown(): void;
    private updateForwardSelection;
    private updateBackwardSelection;
    /**
     * @private
     * @returns {void}
     */
    getFirstBlockInFirstCell(table: TableWidget): BlockWidget;
    /**
     * @private
     * @returns {void}
     */
    getFirstCellInRegion(row: TableRowWidget, startCell: TableCellWidget, selectionLength: number, isMovePrevious: boolean): TableCellWidget;
    /**
     * @private
     * @returns {void}
     */
    getFirstParagraph(tableCell: TableCellWidget): ParagraphWidget;
    /**
     * Get last block in last cell
     *
     * @private
     * @returns {void}
     */
    getLastBlockInLastCell(table: TableWidget): BlockWidget;
    /**
     * Moves selection to start of the current line.
     *
     * @returns {void}
     */
    moveToLineStart(): void;
    /**
     * Moves selection to end of the current line.
     *
     * @returns {void}
     */
    moveToLineEnd(): void;
    /**
     * Get Page top
     *
     * @private
     * @returns {void}
     */
    getPageTop(page: Page): number;
    /**
     * Move text position to cursor point
     *
     * @private
     * @returns {void}
     */
    moveTextPosition(cursorPoint: Point, textPosition: TextPosition, isMouseLeave?: boolean): void;
    /**
     * Get document start position
     *
     * @private
     * @returns {TextPosition}
     */
    getDocumentStart(): TextPosition;
    /**
     * Get document end position
     *
     * @private
     * @returns {TextPosition}
     */
    getDocumentEnd(): TextPosition;
    /**
     * @private
     * @returns {void}
     */
    handleControlEndKey(): void;
    /**
     * @private
     * @returns {void}
     */
    handleControlHomeKey(): void;
    /**
     * @private
     * @returns {void}
     */
    handleControlLeftKey(): void;
    /**
     * @private
     * @returns {void}
     */
    handleControlRightKey(): void;
    /**
     * Handles control down key.
     *
     * @private
     * @returns {void}
     */
    handleControlDownKey(): void;
    /**
     * Handles control up key.
     *
     * @private
     * @returns {void}
     */
    handleControlUpKey(): void;
    /**
     * @private
     * @returns {void}
     */
    handleShiftLeftKey(): void;
    /**
     * Handles shift up key.
     *
     * @private
     * @returns {void}
     */
    handleShiftUpKey(): void;
    /**
     * Handles shift right key.
     *
     * @private
     * @returns {void}
     */
    handleShiftRightKey(): void;
    /**
     * Handles shift down key.
     *
     * @private
     * @returns {void}
     */
    handleShiftDownKey(): void;
    /**
     * @private
     * @returns {void}
     */
    handleControlShiftLeftKey(): void;
    /**
     * Handles control shift up key.
     *
     * @private
     * @returns {void}
     */
    handleControlShiftUpKey(): void;
    /**
     * Handles control shift right key
     *
     * @private
     * @returns {void}
     */
    handleControlShiftRightKey(): void;
    /**
     * Handles control shift down key.
     *
     * @private
     * @returns {void}
     */
    handleControlShiftDownKey(): void;
    /**
     * Handles left key.
     *
     * @private
     * @returns {void}
     */
    handleLeftKey(): void;
    /**
     * Handles up key.
     *
     * @private
     * @returns {void}
     */
    handleUpKey(): void;
    /**
     * Handles right key.
     *
     * @private
     * @returns {void}
     */
    handleRightKey(): void;
    /**
     * Handles end key.
     *
     * @private
     * @returns {void}
     */
    handleEndKey(): void;
    /**
     * Handles home key.
     *
     * @private
     * @returns {void}
     */
    handleHomeKey(): void;
    /**
     * Handles down key.
     *
     * @private
     * @returns {void}
     */
    handleDownKey(): void;
    /**
     * Handles shift end key.
     *
     * @private
     * @returns {void}
     */
    handleShiftEndKey(): void;
    /**
     * Handles shift home key.
     *
     * @private
     * @returns {void}
     */
    handleShiftHomeKey(): void;
    /**
     * Handles control shift end key.
     *
     * @private
     * @returns {void}
     */
    handleControlShiftEndKey(): void;
    /**
     * Handles control shift home key.
     *
     * @private
     * @returns {void}
     */
    handleControlShiftHomeKey(): void;
    /**
     * @private
     * @returns {void}
     */
    handleSpaceBarKey(): void;
    /**
     * Handles tab key.
     *
     * @param isNavigateInCell
     * @param isShiftTab
     * @private
     * @returns {void}
     */
    handleTabKey(isNavigateInCell: boolean, isShiftTab: boolean): void;
    /**
    * @private
    * @returns {void}
    */
    handlePageUpPageDownKey(isPageDown: boolean, shiftKey: boolean): void;
    private getFormFieldInFormFillMode;
    private selectPrevNextFormField;
    /**
     * @private
     * @returns {void}
     */
    navigateToNextFormField(): void;
    /**
     * @private
     * @returns {void}
     */
    selectTextElementStartOfField(formField: FieldElementBox): void;
    private triggerFormFillEvent;
    private selectPreviousCell;
    private selectNextCell;
    /**
     * Select given table cell
     *
     * @private
     * @returns {void}
     */
    selectTableCellInternal(tableCell: TableCellWidget, clearMultiSelection: boolean): void;
    /**
     * Select while table
     *
     * @private
     * @returns {void}
     */
    private selectTableInternal;
    /**
     * Select single column
     *
     * @private
     * @returns {void}
     */
    selectColumnInternal(): void;
    /**
     * Select single row
     *
     * @private
     * @returns {void}
     */
    selectTableRow(): void;
    /**
     * Select single cell
     *
     * @private
     * @returns {void}
     */
    selectTableCell(): void;
    /**
     * Selects the entire document.
     *
     * @returns {void}
     */
    selectAll(): void;
    /**
     * Extends selection backward.
     *
     * @returns {void}
     */
    extendBackward(): void;
    /**
     * Extends selection forward.
     *
     * @returns {void}
     */
    extendForward(): void;
    /**
     * Extend selection to word start and end
     *
     * @private
     * @returns {void}
     */
    extendToWordStartEnd(): boolean;
    /**
     * Extends selection to word start.
     *
     * @returns {void}
     */
    extendToWordStart(): void;
    /**
     * Extends selection to word end.
     *
     * @returns {void}
     */
    extendToWordEnd(): void;
    /**
     * Extends selection to word start
     *
     * @private
     * @returns {void}
     */
    extendToWordStartInternal(isNavigation: boolean): void;
    /**
     * Extends selection to word end.
     *
     * @returns {void}
     */
    extendToWordEndInternal(isNavigation: boolean): void;
    /**
     * Extend selection to next line.
     *
     * @returns {void}
     */
    extendToNextLine(): void;
    private getTextPosition;
    /**
     * Get Selected text
     *
     * @private
     * @returns {void}
     */
    getText(includeObject: boolean): string;
    /**
     * Get selected text
     *
     * @private
     * @returns {string}
     */
    getTextInternal(start: TextPosition, end: TextPosition, includeObject: boolean): string;
    /**
     * @private
     * @param block
     * @param offset
     * @returns {string}
     */
    getHierarchicalIndex(block: Widget, offset: string): string;
    /**
     * @private
     * @returns {string}
     */
    getHierarchicalIndexByPosition(position: TextPosition): string;
    /**
     * @private
     * @returns {TextPosition}
     */
    getTextPosBasedOnLogicalIndex(hierarchicalIndex: string): TextPosition;
    /**
     * Get offset value to update in selection
     *
     * @private
     * @returns {LineInfo}
     */
    getLineInfoBasedOnParagraph(paragraph: ParagraphWidget, offset: number): LineInfo;
    /**
     * @private
     * @returns {ParagraphInfo}
     */
    getParagraph(position: IndexInfo): ParagraphInfo;
    /**
     * Gets body widget based on position.
     *
     * @private
     * @returns {BlockContainer}
     */
    getBodyWidget(position: IndexInfo): BlockContainer;
    private getFootNoteWidget;
    private getHeaderFooterWidget;
    /**
     * @private
     * @returns {BodyWidget}
     */
    getBodyWidgetInternal(sectionIndex: number, blockIndex: number): BodyWidget;
    private getParagraphInternal;
    /**
     * @private
     * @returns {Widget}
     */
    getBlockByIndex(container: Widget, blockIndex: number): Widget;
    /**
     * Get logical offset of paragraph.
     *
     * @private
     * @returns {ParagraphInfo}
     */
    getParagraphInfo(position: TextPosition): ParagraphInfo;
    /**
     * @private
     * @returns {ParagraphInfo}
     */
    getParagraphInfoInternal(line: LineWidget, lineOffset: number): ParagraphInfo;
    /**
     * @private
     * @returns {ListTextElementBox}
     */
    getListTextElementBox(paragarph: ParagraphWidget): ListTextElementBox;
    /**
     * @private
     * @returns {WListLevel}
     */
    getListLevel(paragraph: ParagraphWidget): WListLevel;
    private getTextInline;
    /**
     * Returns field code.
     *
     * @private
     * @param fieldBegin
     * @returns {string}
     */
    getFieldCode(fieldBegin: FieldElementBox): string;
    private getFieldCodeInternal;
    /**
     * @private
     * @returns {FieldElementBox}
     */
    getTocFieldInternal(): FieldElementBox;
    /**
     * Get next paragraph in bodyWidget
     *
     * @private
     * @returns {ParagraphWidget}
     */
    getNextParagraph(section: BodyWidget): ParagraphWidget;
    /**
     * @private
     * @returns {ParagraphWidget}
     */
    getPreviousParagraph(section: BodyWidget): ParagraphWidget;
    /**
     * Get first paragraph in cell
     *
     * @private
     * @returns {ParagraphWidget}
     */
    getFirstParagraphInCell(cell: TableCellWidget): ParagraphWidget;
    /**
     * Get first paragraph in first cell
     *
     * @private
     * @returns {TableWidget}
     */
    getFirstParagraphInFirstCell(table: TableWidget): ParagraphWidget;
    /**
     * Get last paragraph in last cell
     *
     * @private
     * @returns {ParagraphWidget}
     */
    getLastParagraphInLastCell(table: TableWidget): ParagraphWidget;
    /**
     * Get last paragraph in first row
     *
     * @private
     * @returns {ParagraphWidget}
     */
    getLastParagraphInFirstRow(table: TableWidget): ParagraphWidget;
    /**
     * Get Next start inline
     *
     * @private
     * @returns {ElementBox}
     */
    getNextStartInline(line: LineWidget, offset: number): ElementBox;
    /**
     * Get previous text inline
     *
     * @private
     * @returns {ElementBox}
     */
    getPreviousTextInline(inline: ElementBox): ElementBox;
    /**
     * Get next text inline
     *
     * @private
     * @returns {ElementBox}
     */
    getNextTextInline(inline: ElementBox): ElementBox;
    /**
     * Get container table
     *
     * @private
     * @returns {TableWidget}
     */
    getContainerTable(block: BlockWidget): TableWidget;
    /**
     * @private
     * @param element
     * @returns
     */
    isElementInSelection(element: ElementBox, isStart: boolean): boolean;
    /**
     * @private
     */
    isSelectionInsideElement(element: ElementBox): boolean;
    /**
     * @private
     * @returns {boolean}
     */
    isExistBefore(start: BlockWidget, block: BlockWidget): boolean;
    /**
     * @private
     * @returns {boolean}
     */
    isExistAfter(start: BlockWidget, block: BlockWidget): boolean;
    /**
     * Return true if current inline in exist before inline
     *
     * @private
     * @returns {boolean}
     */
    isExistBeforeInline(currentInline: ElementBox, inline: ElementBox): boolean;
    /**
     * Return true id current inline is exist after inline
     *
     * @private
     * @returns {boolean}
     */
    isExistAfterInline(currentInline: ElementBox, inline: ElementBox, isRetrieve?: boolean): boolean;
    /**
     * Get next rendered block
     *
     * @private
     * @returns {BlockWidget}
     */
    getNextRenderedBlock(block: BlockWidget): BlockWidget;
    /**
     * Get next rendered block
     *
     * @private
     * @returns {BlockWidget}
     */
    getPreviousRenderedBlock(block: BlockWidget): BlockWidget;
    /**
     * Get Next paragraph in block
     *
     * @private
     * @returns {ParagraphWidget}
     */
    getNextParagraphBlock(block: BlockWidget): ParagraphWidget;
    /**
     * @private
     * @returns {ParagraphWidget}
     */
    getFirstBlockInNextHeaderFooter(block: BlockWidget): ParagraphWidget;
    /**
     * @private
     * @returns {ParagraphWidget}
     */
    getLastBlockInPreviousHeaderFooter(block: BlockWidget): ParagraphWidget;
    /**
     * Get previous paragraph in block
     *
     * @private
     * @returns {ParagraphWidget}
     */
    getPreviousParagraphBlock(block: BlockWidget): ParagraphWidget;
    /**
     * Get first paragraph in block
     *
     * @private
     * @returns {ParagraphWidget}
     */
    getFirstParagraphBlock(block: BlockWidget): ParagraphWidget;
    /**
     * Get last paragraph in block
     *
     * @private
     * @returns {ParagraphWidget}
     */
    getLastParagraphBlock(block: BlockWidget): ParagraphWidget;
    /**
     * Return true if paragraph has valid inline
     *
     * @private
     * @returns {ParagraphWidget}
     */
    hasValidInline(paragraph: ParagraphWidget, start: ElementBox, end: ElementBox): boolean;
    /**
     * Get paragraph length
     *
     * @private
     * @returns {number}
     */
    getParagraphLength(paragraph: ParagraphWidget, endLine?: LineWidget, elementInfo?: ElementInfo): number;
    /**
     * Get Line length
     *
     * @private
     * @returns {number}
     */
    getLineLength(line: LineWidget, elementInfo?: ElementInfo): number;
    /**
     * Get line information
     *
     * @private
     * @returns {LineInfo}
     */
    getLineInfo(paragraph: ParagraphWidget, offset: number): LineInfo;
    /**
     * @private
     * @returns {ElementInfo}
     */
    getElementInfo(line: LineWidget, offset: number): ElementInfo;
    /**
     * Get paragraph start offset
     *
     * @private
     * @returns {number}
     */
    getStartOffset(paragraph: ParagraphWidget): number;
    /**
     * @private
     */
    getStartLineOffset(line: LineWidget): number;
    /**
     * Get previous paragraph from selection
     *
     * @private
     */
    getPreviousSelectionCell(cell: TableCellWidget): ParagraphWidget;
    /**
     * Get previous paragraph selection in selection
     *
     * @private
     */
    getPreviousSelectionRow(row: TableRowWidget): ParagraphWidget;
    /**
     * @private
     */
    getNextSelectionBlock(block: BlockWidget): ParagraphWidget;
    /**
     * Get next paragraph from selected cell
     *
     * @private
     */
    getNextSelectionCell(cell: TableCellWidget): ParagraphWidget;
    /**
     * Get next paragraph in selection
     *
     * @private
     */
    getNextSelectionRow(row: TableRowWidget): ParagraphWidget;
    /**
     * Get next block with selection
     *
     * @private
     */
    getNextSelection(section: BodyWidget): ParagraphWidget;
    /**
     * @private
     */
    getNextParagraphSelection(row: TableRowWidget): ParagraphWidget;
    /**
     * @private
     */
    getPreviousSelectionBlock(block: BlockWidget): ParagraphWidget;
    /**
     * Get previous paragraph in selection
     *
     * @private
     */
    getPreviousSelection(section: BodyWidget): ParagraphWidget;
    /**
     * @private
     */
    getPreviousParagraphSelection(row: TableRowWidget): ParagraphWidget;
    /**
     * Get last cell in the selected region
     *
     * @private
     */
    getLastCellInRegion(row: TableRowWidget, startCell: TableCellWidget, selLength: number, isMovePrev: boolean): TableCellWidget;
    /**
     * Get Container table
     *
     * @private
     */
    getCellInTable(table: TableWidget, tableCell: TableCellWidget): TableCellWidget;
    /**
     * Get first paragraph in last row
     *
     * @private
     */
    getFirstParagraphInLastRow(table: TableWidget): ParagraphWidget;
    /**
     * Get previous valid offset
     *
     * @private
     */
    getPreviousValidOffset(paragraph: ParagraphWidget, offset: number): number;
    /**
     * Get next valid offset
     *
     * @private
     */
    getNextValidOffset(line: LineWidget, offset: number): number;
    /**
     * Get paragraph mark size info
     *
     * @private
     */
    getParagraphMarkSize(paragraph: ParagraphWidget, topMargin: number, bottomMargin: number): SizeInfo;
    /**
     * @private
     */
    getPhysicalPositionInternal(line: LineWidget, offset: number, moveNextLine: boolean): Point;
    /**
     * Highlight selected content
     *
     * @private
     */
    highlightSelectedContent(start: TextPosition, end: TextPosition): void;
    private showResizerForShape;
    /**
     * @private
     * @returns {void}
     */
    highlight(paragraph: ParagraphWidget, start: TextPosition, end: TextPosition): void;
    private highlightNextBlock;
    /**
     * Get start line widget
     * @private
     * @returns {ElementInfo}
     */
    getStartLineWidget(paragraph: ParagraphWidget, start: TextPosition, startElement: ElementBox, selectionStartIndex: number): ElementInfo;
    /**
     * Get end line widget
     * @private
     */
    getEndLineWidget(end: TextPosition, endElement: ElementBox, selectionEndIndex: number): ElementInfo;
    /**
     * Get line widget
     * @private
     */
    getLineWidgetInternal(line: LineWidget, offset: number, moveToNextLine: boolean): LineWidget;
    /**
     * Get last line widget
     * @private
     */
    getLineWidgetParagraph(offset: number, line: LineWidget): LineWidget;
    /**
     * Highlight selected cell
     * @private
     */
    highlightCells(table: TableWidget, startCell: TableCellWidget, endCell: TableCellWidget): void;
    /**
     * highlight selected table
     *
     * @private
     */
    highlightTable(table: TableWidget, start: TextPosition, end: TextPosition): void;
    /**
     * Get cell left
     *
     * @private
     */
    getCellLeft(row: TableRowWidget, cell: TableCellWidget): number;
    /**
     * Get next paragraph for row
     *
     * @private
     */
    getNextParagraphRow(row: BlockWidget): ParagraphWidget;
    /**
     * Get previous paragraph from row
     *
     * @private
     */
    getPreviousParagraphRow(row: TableRowWidget): ParagraphWidget;
    /**
     * Return true if row contain cell
     *
     * @private
     */
    containsRow(row: TableRowWidget, tableCell: TableCellWidget): boolean;
    /**
     * Highlight selected row
     *
     * @private
     */
    highlightRow(row: TableRowWidget, start: number, end: number): void;
    /**
     * @private
     */
    highlightInternal(row: TableRowWidget, start: TextPosition, end: TextPosition): void;
    /**
     * Get last paragraph in cell
     *
     * @private
     */
    getLastParagraph(cell: TableCellWidget): ParagraphWidget;
    /**
     * Return true is source cell contain cell
     *
     * @private
     */
    containsCell(sourceCell: TableCellWidget, cell: TableCellWidget): boolean;
    /**
     * Return true if cell is selected
     *
     * @private
     */
    isCellSelected(cell: TableCellWidget, startPosition: TextPosition, endPosition: TextPosition): boolean;
    /**
     * Return Container cell
     *
     * @private
     */
    getContainerCellOf(cell: TableCellWidget, tableCell: TableCellWidget): TableCellWidget;
    /**
     * Get Selected cell
     *
     * @private
     */
    getSelectedCell(cell: TableCellWidget, containerCell: TableCellWidget): TableCellWidget;
    /**
     * @private
     */
    getSelectedCells(): TableCellWidget[];
    /**
     * @private
     * @return
     */
    getLevelFormatNumber(): string;
    /**
     * Get Next paragraph from cell
     *
     * @private
     */
    getNextParagraphCell(cell: TableCellWidget): ParagraphWidget;
    /**
     * Get previous paragraph from cell
     *
     * @private
     */
    getPreviousParagraphCell(cell: TableCellWidget): ParagraphWidget;
    /**
     * Get cell's container cell
     *
     * @private
     */
    getContainerCell(cell: TableCellWidget): TableCellWidget;
    /**
     * Highlight selected cell
     *
     * @private
     */
    highlightCell(cell: TableCellWidget, selection: Selection, start: TextPosition, end: TextPosition): void;
    /**
     * @private
     */
    highlightContainer(cell: TableCellWidget, start: TextPosition, end: TextPosition): void;
    /**
     * Get previous valid element
     *
     * @private
     */
    getPreviousValidElement(inline: ElementBox): ElementBox;
    /**
     * Get next valid element
     *
     * @private
     */
    getNextValidElement(inline: ElementBox): ElementBox;
    /**
     * Return next valid inline with index
     *
     * @private
     */
    validateTextPosition(inline: ElementBox, index: number): ElementInfo;
    /**
     * Get inline physical location
     *
     * @private
     */
    getPhysicalPositionInline(inline: ElementBox, index: number, moveNextLine: boolean): Point;
    /**
     * Get field character position
     *
     * @private
     */
    getFieldCharacterPosition(firstInline: ElementBox): Point;
    /**
     * @private
     */
    getNextValidElementForField(firstInline: ElementBox): ElementBox;
    /**
     * Get paragraph end position
     *
     * @private
     */
    getEndPosition(widget: ParagraphWidget): Point;
    /**
     * Get element box
     *
     * @private
     */
    getElementBox(currentInline: ElementBox, index: number, moveToNextLine: boolean): ElementInfo;
    /**
     * @private
     */
    getPreviousTextElement(inline: ElementBox): ElementBox;
    /**
     * Get next text inline
     *
     * @private
     */
    getNextTextElement(inline: ElementBox): ElementBox;
    /**
     * @private
     */
    getNextRenderedElementBox(inline: ElementBox, indexInInline: number): ElementBox;
    /**
     * @private
     */
    getElementBoxInternal(inline: ElementBox, index: number): ElementInfo;
    /**
     * Get Line widget
     *
     * @private
     */
    getLineWidget(inline: ElementBox, index: number): LineWidget;
    /**
     * @private
     */
    getLineWidgetInternalInline(inline: ElementBox, index: number, moveToNextLine: boolean): LineWidget;
    /**
     * Get next line widget
     *
     * @private
     */
    private getNextLineWidget;
    private getCaretHeight;
    private getFieldCharacterHeight;
    /**
     * Get rendered inline
     *
     * @private
     */
    getRenderedInline(inline: FieldElementBox, inlineIndex: number): ElementInfo;
    /**
     * Get rendered field
     *
     * @private
     */
    getRenderedField(fieldBegin: FieldElementBox): FieldElementBox;
    /**
     * Return true is inline is tha last inline
     *
     * @private
     */
    isLastRenderedInline(inline: ElementBox, index: number): boolean;
    /**
     * Get page
     *
     * @private
     */
    getPage(widget: Widget): Page;
    /**
     * Clear Selection highlight
     *
     * @private
     */
    clearSelectionHighlightInSelectedWidgets(): boolean;
    /**
     * Clear selection highlight
     *
     * @private
     */
    clearChildSelectionHighlight(widget: Widget): void;
    /**
     * Get line widget from paragraph widget
     *
     * @private
     */
    getLineWidgetBodyWidget(widget: Widget, point: Point): LineWidget;
    /**
     * Get line widget from paragraph widget
     *
     * @private
     */
    getLineWidgetParaWidget(widget: ParagraphWidget, point: Point): LineWidget;
    private highlightParagraph;
    /**
     * Get line widget form table widget
     *
     * @private
     */
    getLineWidgetTableWidget(widget: TableWidget, point: Point): LineWidget;
    /**
     * Get line widget fom row
     *
     * @private
     */
    getLineWidgetRowWidget(widget: TableRowWidget, point: Point): LineWidget;
    /**
     * @private
     */
    getFirstBlock(cell: TableCellWidget): BlockWidget;
    /**
     * Highlight selected cell widget
     *
     * @private
     */
    highlightCellWidget(widget: TableCellWidget): void;
    /**
     * Clear selection highlight
     *
     * @private
     */
    clearSelectionHighlight(widget: IWidget): void;
    /**
     * Get line widget from cell widget
     *
     * @private
     */
    getLineWidgetCellWidget(widget: TableCellWidget, point: Point): LineWidget;
    /**
     * update text position
     *
     * @private
     */
    updateTextPosition(widget: LineWidget, point: Point): void;
    /**
     * @private
     */
    updateTextPositionIn(widget: LineWidget, inline: ElementBox, index: number, caretPosition: Point, includeParagraphMark: boolean): TextPositionInfo;
    /**
     * @private
     */
    checkAllFloatingElements(widget: LineWidget, caretPosition: Point): ShapeInfo;
    /**
     * Get text length if the line widget
     *
     * @private
     */
    getTextLength(widget: LineWidget, element: ElementBox): number;
    /**
     * Get Line widget left
     *
     * @private
     */
    getLeft(widget: LineWidget): number;
    /**
     * Get line widget top
     *
     * @private
     */
    getTop(widget: LineWidget): number;
    /**
     * Get first element the widget
     *
     * @private
     */
    getFirstElement(widget: LineWidget, left: number): FirstElementInfo;
    /**
     * Return inline index
     *
     * @private
     */
    getIndexInInline(elementBox: ElementBox): number;
    /**
     * Return true if widget is first inline of paragraph
     *
     * @private
     */
    isParagraphFirstLine(widget: LineWidget): boolean;
    /**
     * @param widget
     * @private
     */
    isParagraphLastLine(widget: LineWidget): boolean;
    /**
     * Return line widget width
     *
     * @private
     */
    getWidth(widget: LineWidget, includeParagraphMark: boolean): number;
    /**
     * Return line widget left
     *
     * @private
     */
    getLeftInternal(widget: LineWidget, elementBox: ElementBox, index: number): number;
    /**
     * Return line widget start offset
     * @private
     */
    getLineStartLeft(widget: LineWidget): number;
    /**
     * Update text position
     * @private
     */
    updateTextPositionWidget(widget: LineWidget, point: Point, textPosition: TextPosition, includeParagraphMark: boolean): void;
    /**
     * Clear selection highlight
     * @private
     */
    clearSelectionHighlightLineWidget(widget: LineWidget): void;
    /**
     * Return first element from line widget
     * @private
     */
    getFirstElementInternal(widget: LineWidget): ElementBox;
    /**
     * Select content between given range
     * @private
     */
    selectRange(startPosition: TextPosition, endPosition: TextPosition): void;
    /**
     * Selects current paragraph
     * @private
     */
    selectParagraphInternal(paragraph: ParagraphWidget, positionAtStart: boolean): void;
    /**
     * @private
     */
    setPositionForBlock(block: BlockWidget, selectFirstBlock: boolean): TextPosition;
    /**
     * Select content in given text position
     * @private
     */
    selectContent(textPosition: TextPosition, clearMultiSelection: boolean): void;
    /**
     * Select paragraph
     * @private
     */
    selectInternal(lineWidget: LineWidget, element: ElementBox, index: number, physicalLocation: Point): void;
    /**
     * @private
     */
    selects(lineWidget: LineWidget, offset: number, skipSelectionChange: boolean): void;
    /**
     * Select content between start and end position
     * @private
     */
    selectPosition(startPosition: TextPosition, endPosition: TextPosition): void;
    /**
     * Notify selection change event
     * @private
     */
    fireSelectionChanged(isSelectionChanged: boolean, isKeyBoardNavigation?: boolean): void;
    /**
     * Retrieve all current selection format
     * @private
     */
    retrieveCurrentFormatProperties(): void;
    /**
     * @private
     */
    retrieveImageFormat(start: TextPosition, end: TextPosition): void;
    /**
     * Returns the context type of previous character or element.
     * @param isElement - Decides whether to get previous context type from element or character. By default, character.
     */
    getPreviousContextType(isElement?: boolean): string;
    /**
     * Returns the context type of next character or element.
     * @param isElement - Decides whether to get next context type from element or character. By default, character.
     */
    getNextContextType(isElement?: boolean): string;
    private getContextElement;
    private setCurrentContextType;
    private addItemRevisions;
    /**
     * @private
     */
    hasRevisions(): boolean;
    private getCurrentRevision;
    private processLineRevisions;
    /**
     * @private
     * @param isFromAccept
     */
    handleAcceptReject(isFromAccept: boolean): void;
    private acceptReject;
    private getselectedRevisionElements;
    private getSelectedLineRevisions;
    private addRevisionsCollec;
    /**
     * Retrieve selection table format
     * @private
     */
    retrieveTableFormat(start: TextPosition, end: TextPosition): void;
    /**
     * Retrieve selection cell format
     * @private
     */
    retrieveCellFormat(start: TextPosition, end: TextPosition): void;
    /**
     * Retrieve selection row format
     * @private
     */
    retrieveRowFormat(start: TextPosition, end: TextPosition): void;
    /**
     * Get selected cell format
     * @private
     */
    getCellFormat(table: TableWidget, start: TextPosition, end: TextPosition): void;
    /**
     * Get selected row format
     * @private
     */
    getRowFormat(table: TableWidget, start: TextPosition, end: TextPosition): void;
    /**
     * Return table with given text position
     * @private
     */
    getTable(startPosition: TextPosition, endPosition: TextPosition): TableWidget;
    private getContainerWidget;
    /**
     * Retrieve selection section format
     * @private
     */
    retrieveSectionFormat(start: TextPosition, end: TextPosition): void;
    /**
     * Retrieve selection paragraph format
     * @private
     */
    retrieveParagraphFormat(start: TextPosition, end: TextPosition): void;
    /**
     * @private
     */
    getParagraphFormatForSelection(paragraph: ParagraphWidget, selection: Selection, start: TextPosition, end: TextPosition): void;
    /**
     * @private
     */
    getParagraphFormatInternalInParagraph(paragraph: ParagraphWidget, start: TextPosition, end: TextPosition): void;
    /**
     * @private
     */
    getParagraphFormatInternalInBlock(block: BlockWidget, start: TextPosition, end: TextPosition): void;
    /**
     * @private
     */
    getParagraphFormatInternalInTable(table: TableWidget, start: TextPosition, end: TextPosition): void;
    /**
     * Get paragraph format in cell
     * @private
     */
    getParagraphFormatInCell(cell: TableCellWidget): void;
    /**
     * @private
     */
    getParagraphFormatInBlock(block: BlockWidget): void;
    /**
     * @private
     */
    getParagraphFormatInTable(tableAdv: TableWidget): void;
    /**
     * @private
     */
    getParagraphFormatInParagraph(paragraph: ParagraphWidget): void;
    /**
     * Get paragraph format in cell
     * @private
     */
    getParagraphFormatInternalInCell(cellAdv: TableCellWidget, start: TextPosition, end: TextPosition): void;
    /**
     * @private
     */
    getParaFormatForCell(table: TableWidget, startCell: TableCellWidget, endCell: TableCellWidget): void;
    /**
     * Get paragraph format ins row
     * @private
     */
    getParagraphFormatInRow(tableRow: TableRowWidget, start: TextPosition, end: TextPosition): void;
    /**
     * Retrieve Selection character format
     * @private
     */
    retrieveCharacterFormat(start: TextPosition, end: TextPosition): void;
    /**
     * @private
     */
    getCharacterFormatForSelection(paragraph: ParagraphWidget, selection: Selection, startPosition: TextPosition, endPosition: TextPosition): void;
    /**
     * Get Character format
     * @private
     */
    getCharacterFormatForTableRow(tableRowAdv: TableRowWidget, start: TextPosition, end: TextPosition): void;
    /**
     * Get Character format in table
     * @private
     */
    getCharacterFormatInTableCell(tableCell: TableCellWidget, selection: Selection, start: TextPosition, end: TextPosition): void;
    /**
     * @private
     */
    getCharacterFormatInternalInTable(table: TableWidget, startCell: TableCellWidget, endCell: TableCellWidget, startPosition: TextPosition, endPosition: TextPosition): void;
    /**
     * Get character format with in selection
     * @private
     */
    getCharacterFormat(paragraph: ParagraphWidget, start: TextPosition, end: TextPosition): void;
    private setCharacterFormat;
    /**
     * @private
     */
    getCharacterFormatForBlock(block: BlockWidget, start: TextPosition, end: TextPosition): void;
    /**
     * @private
     */
    getCharacterFormatInTable(table: TableWidget, start: TextPosition, end: TextPosition): void;
    /**
     * Get character format in selection
     * @private
     */
    getCharacterFormatForSelectionCell(cell: TableCellWidget, start: TextPosition, end: TextPosition): void;
    /**
     * @private
     */
    getCharacterFormatInternal(paragraph: ParagraphWidget, selection: Selection): void;
    /**
     * Get next valid character format from inline
     * @private
     */
    getNextValidCharacterFormat(inline: ElementBox): WCharacterFormat;
    /**
     * Get next valid paragraph format from field
     * @private
     */
    getNextValidCharacterFormatOfField(fieldBegin: FieldElementBox): WCharacterFormat;
    /**
     * Return true if cursor point with in selection range
     * @private
     */
    checkCursorIsInSelection(widget: IWidget, point: Point): boolean;
    /**
     * Copy paragraph for to selection paragraph format
     * @private
     */
    copySelectionParagraphFormat(): WParagraphFormat;
    /**
     * Get hyperlink display text
     * @private
     */
    getHyperlinkDisplayText(paragraph: ParagraphWidget, fieldSeparator: FieldElementBox, fieldEnd: FieldElementBox, isNestedField: boolean, format: WCharacterFormat): HyperlinkTextInfo;
    /**
     * Navigates hyperlink on mouse Event.
     * @private
     */
    navigateHyperLinkOnEvent(cursorPoint: Point, isTouchInput: boolean): void;
    /**
     * @private
     */
    getLinkText(fieldBegin: FieldElementBox, copyAddress?: boolean): string;
    /**
     * Set Hyperlink content to tool tip element
     * @private
     */
    setHyperlinkContentToToolTip(fieldBegin: FieldElementBox, widget: LineWidget, xPos: number, isFormField?: boolean): void;
    /**
    * Get screenTip text
    * @private
    */
    getScreenTipText(fieldBegin: FieldElementBox): string;
    /**
     * Set Hyperlink content to tool tip element
     * @private
     */
    setFootnoteContentToToolTip(footnote: FootnoteElementBox, widget: LineWidget, xPos: number): void;
    /**
     * Set locked content info to tool tip element
     * @private
     */
    setLockInfoTooptip(widget: LineWidget, xPos: number, user: string): void;
    /**
     * @private
     */
    getTooltipPosition(widget: LineWidget, xPos: number, toolTipElement: HTMLElement, isFormField: boolean): Point;
    /**
     * @private
     */
    createPasteElement(top: string, left: string): void;
    /**
     * @private
     */
    pasteOptions: (event: splitbuttons.MenuEventArgs) => void;
    /**
     * Show hyperlink tooltip
     * @private
     */
    showToolTip(x: number, y: number): void;
    /**
     * Hide tooltip object
     * @private
     */
    hideToolTip(): void;
    /**
     * Return hyperlink field
     * @private
     */
    getHyperLinkFieldInCurrentSelection(widget: LineWidget, cursorPosition: Point, isFormField?: boolean): FieldElementBox;
    /**
     * Return FootnoteElementBox
     * @private
     */
    getFootNoteElementInCurrentSelection(lineWidget: LineWidget, position: Point): FootnoteElementBox;
    /**
     * Return field if paragraph contain hyperlink field
     * @private
     */
    getHyperlinkField(isRetrieve?: boolean): FieldElementBox;
    /**
     * @private
     */
    getHyperLinkFields(paragraph: ParagraphWidget, checkedFields: FieldElementBox[], isRetrieve: boolean, checkFormField?: boolean): FieldElementBox;
    /**
     * @private
     */
    getHyperLinkFieldInternal(paragraph: Widget, inline: ElementBox, fields: FieldElementBox[], isRetrieve: boolean, checkFormField: boolean): FieldElementBox;
    /**
     * @private
     */
    getBlock(currentIndex: string): BlockWidget;
    /**
     * Return Block relative to position
     * @private
     */
    getBlockInternal(widget: Widget, position: string): BlockWidget;
    /**
     * Return true if inline is in field result
     * @private
     */
    inlineIsInFieldResult(fieldBegin: FieldElementBox, fieldEnd: ElementBox, fieldSeparator: FieldElementBox, inline: ElementBox, isRetrieve?: boolean): boolean;
    /**
     * Retrieve true if paragraph is in field result
     * @private
     */
    paragraphIsInFieldResult(fieldBegin: FieldElementBox, paragraph: ParagraphWidget): boolean;
    /**
     * Return true if image is In field
     * @private
     */
    isImageField(): boolean;
    /**
     * Return true if selection is in Form field
     * @private
     */
    isFormField(): boolean;
    /**
     * Return true if selection is in reference field
     * @private
     */
    isReferenceField(field?: FieldElementBox): boolean;
    /**
     * Return true if selection is in text form field
     * @private
     */
    isInlineFormFillMode(field?: FieldElementBox): boolean;
    /**
     * @private
     */
    getFormFieldType(formField?: FieldElementBox): FormFieldType;
    /**
     * Get selected form field type
     * @private
     */
    getCurrentFormField(checkFieldResult?: boolean): FieldElementBox;
    /**
     * @private
     */
    getCurrentTextFrame(): TextFrame;
    /**
     * @private
     */
    isTableSelected(): boolean;
    /**
     * Select List Text
     * @private
     */
    selectListText(): void;
    /**
     * Manually select the list text
     * @private
     */
    highlightListText(linewidget: LineWidget): void;
    /**
     * @private
     */
    updateImageSize(imageFormat: ImageInfo): void;
    /**
     * Gets selected table content
     * @private
     */
    private getSelectedCellsInTable;
    /**
     * Copies the selected content to clipboard.
     *
     * @returns {void}
     */
    copy(): void;
    /**
     * @private
     *
     * @returns {void}
     */
    copySelectedContent(isCut: boolean): void;
    /**
     * Write the selected content as SFDT.
     * @returns SFDT Object.
     */
    private writeSfdt;
    /**
     * @private
     */
    getHtmlContent(): string;
    private copyToClipboard;
    /**
     * Shows caret in current selection position.
     *
     * @private
     * @returns {void}
     */
    showCaret(): void;
    /**
     * To set the editable div caret position
     *
     * @private
     * @returns {void}
     */
    setEditableDivCaretPosition(index: number): void;
    /**
     * Hides caret.
     *
     * @private
     * @returns {void}
     */
    hideCaret: () => void;
    /**
     * Initializes caret.
     *
     * @private
     * @returns {void}
     */
    initCaret(): void;
    /**
     * Updates caret position.
     *
     * @private
     * @returns {void}
     */
    updateCaretPosition(): void;
    /**
     * @private
     * @returns {void}
     */
    showHidePasteOptions(top: string, left: string): void;
    /**
     * @private
     */
    getRect(position: TextPosition): Point;
    /**
     * Gets current selected page
     * @private
     */
    getSelectionPage(position: TextPosition): Page;
    /**
     * Updates caret size.
     * @private
     */
    updateCaretSize(textPosition: TextPosition, skipUpdate?: boolean): CaretHeightInfo;
    /**
     * Updates caret to page.
     * @private
     * @returns {void}
     */
    updateCaretToPage(startPosition: TextPosition, endPage: Page): void;
    /**
     * Gets caret bottom position.
     * @private
     */
    getCaretBottom(textPosition: TextPosition, isEmptySelection: boolean): number;
    /**
     * Checks for cursor visibility.
     *
     * @private
     * @returns {void}
     */
    checkForCursorVisibility(): void;
    /**
     * Keyboard shortcuts
     *
     * @private
     * @returns {void}
     */
    onKeyDownInternal(event: KeyboardEvent, ctrl: boolean, shift: boolean, alt: boolean): void;
    /**
     * @private
     */
    checkAndEnableHeaderFooter(point: Point, pagePoint: Point): boolean;
    /**
     * @private
     */
    isCursorInsidePageRect(point: Point, page: Page): boolean;
    /**
     * @private
     */
    isCursorInHeaderRegion(point: Point, page: Page): boolean;
    /**
     * @private
     */
    isCursorInFooterRegion(point: Point, page: Page): boolean;
    /**
     * @private
     */
    enableHeadersFootersRegion(widget: HeaderFooterWidget, page: Page): boolean;
    /**
     * @private
     */
    shiftBlockOnHeaderFooterEnableDisable(): void;
    /**
     * @private
     */
    updateTextPositionForBlockContainer(widget: BlockContainer): void;
    /**
     * Disable Header footer
     * @private
     */
    disableHeaderFooter(): void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
    /**
     * Navigates to the specified bookmark.
     * @param name
     * @param moveToStart
     * @private
     */
    navigateBookmark(name: string, moveToStart?: boolean): void;
    /**
     * Selects the specified bookmark.
     * @param name
     */
    selectBookmark(name: string): void;
    /**
     * Returns the toc field from the selection.
     * @private
     */
    getTocField(): FieldElementBox;
    /**
     * Returns true if the paragraph has toc style.
     */
    private isTocStyle;
    /**
     * Return true if selection is in TOC
     * @private
     */
    isTOC(): boolean;
    /**
     * @private
     */
    getElementsForward(lineWidget: LineWidget, startElement: ElementBox, endElement: ElementBox, bidi: boolean): ElementBox[];
    /**
     * @private
     */
    getElementsBackward(lineWidget: LineWidget, startElement: ElementBox, endElement: ElementBox, bidi: boolean): ElementBox[];
    /**
     * Navigate to previous comment in the document.
     *
     * @returns {void}
     */
    navigatePreviousComment(): void;
    /**
     * Navigate to next comment in the document.
     *
     * @returns {void}
     */
    navigateNextComment(): void;
    private commentNavigateInternal;
    /**
     * Navigate to previous revision in the document.
     *
     * @returns {void}
     */
    navigatePreviousRevision(): void;
    /**
     * Navigate to next revision in the document.
     *
     * @returns {void}
     */
    navigateNextRevision(): void;
    /**
     * Method to navigate revisions
     *
     * @private
     * @returns {void}
     */
    private revisionNavigateInternal;
    /**
     * @private
     * @returns {void}
     */
    selectComment(comment: CommentElementBox): void;
    /**
     * @private
     * @param revision
     * @returns {void}
     */
    selectRevision(revision: Revision): void;
    /**
     * @private
     */
    selectTableRevision(revision: Revision[]): void;
    /**
     * @private
     * @returns {void}
     */
    updateEditRangeCollection(): void;
    /**
     * @private
     * @returns {void}
     */
    onHighlight(): void;
    /**
     * @private
     * @returns {void}
     */
    highlightEditRegion(): void;
    /**
     * @private
     * @returns {void}
     */
    highlightFormFields(): void;
    /**
     * @private
     * @returns {void}
     */
    unHighlightEditRegion(): void;
    /**
     * @private
     * @returns {void}
     */
    highlightEditRegionInternal(editRangeStart: EditRangeStartElementBox): void;
    /**
     * Shows all the editing region, where current user can edit.
     *
     * @returns {void}
     */
    showAllEditingRegion(): void;
    private highlightEditRegions;
    /**
     * Navigate to next editing region, where current user can edit.
     *
     * @returns {void}
     */
    navigateToNextEditingRegion(): void;
    private sortEditRangeCollection;
    /**
     * Highlight all the editing region, where current user can edit.
     *
     * @returns {void}
     */
    toggleEditingRegionHighlight(): void;
    /**
     * @private
     */
    getEditRangeStartElement(): EditRangeStartElementBox;
    /**
     * Returns true if selection is inside the edit region
     *
     * @returns {boolean}
     */
    isSelectionInEditRegion(): boolean;
    checkSelectionIsAtEditRegion(start?: TextPosition, end?: TextPosition): boolean;
    private isSelectionInsideEditRange;
    /**
     * @private
     */
    getPosition(element: ElementBox): PositionInfo;
    /**
     * @private
     */
    checkContentControlLocked(checkFormat?: boolean): boolean;
    /**
     * @private
     */
    getElementPosition(element: ElementBox, isEnd?: boolean): PositionInfo;
    /**
     * Update ref field.
     * @private
     */
    updateRefField(field?: FieldElementBox): void;
    /**
     *
     * @private
     * @returns {void}
     */
    footnoteReferenceElement(start: TextPosition, end: TextPosition, inline?: ElementBox): void;
}
/**
 *  Specifies the settings for selection.
 */
export interface SelectionSettings {
    /**
     * Specifies selection left position
     */
    x: number;
    /**
     * Specifies selection top position
     */
    y: number;
    /**
     * Specifies whether to extend or update selection
     */
    extend?: boolean;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/spell-check/index.d.ts
/**
 * Spell checker export
 */
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/spell-check/spell-checker.d.ts
/**
 * The spell checker module
 */
export  class SpellChecker {
    private langIDInternal;
    /**
     * Specifies whether spell check has to be performed or not.
     */
    private enableSpellCheckInternal;
    /**
     * @private
     */
    uniqueSpelledWords: any;
    private spellSuggestionInternal;
    /**
     * @private
     */
    errorWordCollection: Dictionary<string, ElementBox[]>;
    /**
     * @private
     */
    uniqueWordsCollection: Dictionary<string, boolean>;
    /**
     * @private
     */
    ignoreAllItems: string[];
    /**
     * @private
     */
    documentHelper: DocumentHelper;
    /**
     * @private
     */
    currentContextInfo: ContextElementInfo;
    /**
     * @private
     */
    uniqueKey: string;
    private removeUnderlineInternal;
    private spellCheckSuggestion;
    /**
     * @default 1000
     */
    private uniqueWordsCountInternal;
    /**
     * @private
     */
    errorSuggestions: Dictionary<string, string[]>;
    private performOptimizedCheck;
    private textSearchResults;
    /**
     * Gets module name.
     */
    private getModuleName;
    /**
     * Gets the boolean indicating whether optimized spell check to be performed.
     *
     * @aspType bool
     * @returns {boolean} Returns enableOptimizedSpellCheck
     */
    /**
    * Sets the boolean indicating whether optimized spell check to be performed.
    *
    * @aspType bool
    */
    enableOptimizedSpellCheck: boolean;
    /**
     * Gets the spell checked Unique words.
     *
     * @aspType int
     */
    /**
    * Sets the spell checked Unique words.
    *
    * @aspType int
    */
    uniqueWordsCount: number;
    /**
     * Gets the languageID.
     *
     * @aspType int
     */
    /**
    * Sets the languageID.
    *
    * @aspType int
    */
    languageID: number;
    /**
     * Getter indicates whether suggestion enabled.
     *
     * @aspType bool
     */
    /**
    * Setter to enable or disable suggestion
    *
    * @aspType bool
    */
    allowSpellCheckAndSuggestion: boolean;
    /**
     * Getter indicates whether underline removed for mis-spelled word.
     *
     * @aspType bool
     */
    /**
    * Setter to enable or disable underline for mis-spelled word
    *
    * @aspType bool
    */
    removeUnderline: boolean;
    /**
     * Getter indicates whether spell check has to be performed or not.
     *
     * @aspType bool
     */
    /**
    * Setter to enable or disable spell check has to be performed or not
    *
    * @aspType bool
    */
    enableSpellCheck: boolean;
    constructor(documentHelper: DocumentHelper);
    private readonly viewer;
    /**
     * Method to manage replace logic
     *
     * @private
     */
    manageReplace(content: string, dialogElement?: ElementBox): void;
    /**
     * Method to handle replace logic
     *
     * @private
     */
    handleReplace(content: string): void;
    /**
     * Method to retrieve exact element info
     *
     * @private
     */
    retrieveExactElementInfo(startInlineObj: ElementInfo): void;
    /**
     * Method to handle to ignore error Once
     *
     * @private
     */
    handleIgnoreOnce(startInlineObj: ElementInfo): void;
    /**
     * Method to handle ignore all items
     *
     * @private
     */
    handleIgnoreAllItems(contextElement?: ContextElementInfo): void;
    /**
     * Method to handle dictionary
     *
     * @private
     */
    handleAddToDictionary(contextElement?: ContextElementInfo): void;
    /**
     * Method to append/remove special characters
     *
     * @private
     */
    manageSpecialCharacters(exactText: string, replaceText: string, isRemove?: boolean): string;
    /**
     * Method to remove errors
     *
     * @private
     */
    removeErrorsFromCollection(contextItem: ContextElementInfo): void;
    /**
     * Method to retrieve exact text
     *
     * @private
     */
    retriveText(): ContextElementInfo;
    /**
     * Method to handle suggestions
     *
     * @private
     */
    handleSuggestions(allsuggestions: any): string[];
    /**
     * Method to check whether text element has errors
     *
     * @private
     */
    checktextElementHasErrors(text: string, element: any, left: number): ErrorInfo;
    private updateStatusForGlobalErrors;
    /**
     * Method to handle document error collection.
     *
     * @param {string} errorInElement
     * @private
     */
    handleErrorCollection(errorInElement: TextElementBox): boolean;
    private constructInlineMenu;
    /**
     * Method to retrieve error element text
     *
     * @private
     */
    findCurretText(): ContextElementInfo;
    private addErrorCollection;
    private addCorrectWordCollection;
    /**
     * @private
     */
    isInUniqueWords(text: string): boolean;
    /**
     * @private
     */
    isErrorWord(text: string): boolean;
    /**
     * @private
     */
    isCorrectWord(text: string): boolean;
    private compareErrorTextElement;
    /**
     * Method to compare text elements
     *
     * @private
     */
    compareTextElement(errorElement: TextElementBox, errorCollection: ElementBox[]): boolean;
    /**
     * Method to handle Word by word spell check
     *
     * @private
     */
    handleWordByWordSpellCheck(jsonObject: any, elementBox: TextElementBox, left: number, top: number, underlineY: number, baselineAlignment: BaselineAlignment, isSamePage: boolean): void;
    /**
     * Method to check errors for combined elements
     *
     * @private
     */
    checkElementCanBeCombined(elementBox: TextElementBox, underlineY: number, beforeIndex: number, callSpellChecker: boolean, textToCombine?: string, isNext?: boolean, isPrevious?: boolean, canCombine?: boolean): boolean;
    private lookThroughPreviousLine;
    private lookThroughNextLine;
    /**
     * Method to handle combined elements
     *
     * @param {TextElementBox} elementBox
     * @param {string} currentText
     * @param {number} underlineY
     * @param {number} beforeIndex
     * @private
     */
    handleCombinedElements(elementBox: TextElementBox, currentText: string, underlineY: number, beforeIndex: number): void;
    /**
     * Method to check error element collection has unique element
     *
     * @param {ErrorTextElementBox[]} errorCollection
     * @param {ErrorTextElementBox} elementToCheck
     * @private
     */
    checkArrayHasSameElement(errorCollection: ErrorTextElementBox[], elementToCheck: ErrorTextElementBox): boolean;
    /**
     * @private
     */
    handleSplitWordSpellCheck(jsonObject: any, currentText: string, elementBox: TextElementBox, isSamePage: boolean, underlineY: number, iteration: number, markIndex: number, isLastItem?: boolean): void;
    private handleMatchedResults;
    /**
     * Calls the spell checker service
     * @private
     */
    callSpellChecker(languageID: number, word: string, checkSpelling: boolean, checkSuggestion: boolean, addWord?: boolean, isByPage?: boolean): Promise<any>;
    private setCustomHeaders;
    /**
     * Method to check for next error
     *
     * @private
     * @returns {void}
     */
    checkForNextError(): void;
    /**
     * Method to create error element with matched results
     *
     * @param {TextSearchResult} result
     * @param {ElementBox} errorElement
     * @private
     */
    createErrorElementWithInfo(result: TextSearchResult, errorElement: ElementBox): ErrorTextElementBox;
    /**
     * Method to get matched results from element box
     *
     * @private
     * @param {ElementBox} errorElement - Specifies the error element box.
     * @param {string} currentText - Specifies the current text
     * @returns {MatchResults} - Returns match results info.
     */
    getMatchedResultsFromElement(errorElement: ElementBox, currentText?: string): MatchResults;
    /**
     * Method to update error element information
     *
     * @private
     * @param {string} error - Specifies the error word.
     * @param {ErrorTextElementBox} errorElement - Specifies the error element box.
     * @returns {void}
     */
    updateErrorElementTextBox(error: string, errorElement: ErrorTextElementBox): void;
    /**
     * Method to retrieve space information in a text
     *
     * @private
     * @param {string} text - Specifies the text
     * @param {WCharacterFormat} characterFormat - Specifies the character format.
     * @returns {SpecialCharacterInfo} - Returs special character info.
     */
    getWhiteSpaceCharacterInfo(text: string, characterFormat: WCharacterFormat): SpaceCharacterInfo;
    /**
     * Retrieve Special character info
     *
     * @private
     * @param {string} text - Specifies the text
     * @param {WCharacterFormat} characterFormat - Specifies the character format.
     * @returns {SpecialCharacterInfo} - Returs special character info.
     */
    getSpecialCharactersInfo(text: string, characterFormat: WCharacterFormat): SpecialCharacterInfo;
    /**
     * Method to retrieve next available combined element
     *
     * @private
     * @param {ElementBox} element - Specified the element.
     * @returns {ElementBox} - Returns combined element.
     */
    getCombinedElement(element: ElementBox): ElementBox;
    private checkCombinedElementsBeIgnored;
    /**
     * Method to update error collection
     *
     * @private
     * @param {TextElementBox} currentElement - Specifies current element.
     * @param {TextElementBox} splittedElement - Specifies splitted element.
     * @returns {void}
     */
    updateSplittedElementError(currentElement: TextElementBox, splittedElement: TextElementBox): void;
    /**
     * @private
     * @param {Page} page - Specifies the page.
     * @returns {string} - Returns page content.
     */
    getPageContent(page: Page): string;
    /**
     * @private
     * @param {any[]} spelledWords - Specifies spelledWords
     * @returns {void}
     */
    updateUniqueWords(spelledWords: any[]): void;
    private checkForUniqueWords;
    /**
     * Method to clear cached words for spell check
     *
     * @returns {void}
     */
    clearCache(): void;
    private createGuid;
    /**
     * Check spelling in page data
     *
     * @private
     * @param {string} wordToCheck - Specifies wordToCheck
     * @returns {WordSpellInfo} - Retruns WordSpellInfo
     */
    checkSpellingInPageInfo(wordToCheck: string): WordSpellInfo;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/text-helper/index.d.ts
/**
 * Text measuring logics.
 */
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/text-helper/optimized.d.ts
/**
 *  Class which performs optimized text measuring logic to find font height.
 */
export  class Optimized {
    private documentHelper;
    /**
     * Font height collection cache object
     */
    private optimizedHeightCollection;
    private getModuleName;
    /**
     * Constructor to initialize Optimized module.
     *
     * @param {DocumentHelper} documentHelper - the document helper object.
     */
    constructor(documentHelper: DocumentHelper);
    /**
     * Construct key based on the character format.
     *
     * @param {WCharacterFormat} characterFormat - the character format to construct key.
     * @returns {string} - the constructed key.
     */
    private getkeyFromCharFormat;
    /**
     * Method to retrieve font information with optimized text measuring logic.
     *
     * @param {WCharacterFormat} characterFormat -character format to apply.
     * @returns {string} - returns font size information.
     */
    private getFontInfo;
    /**
     * @private
     * @param {WCharacterFormat} characterFormat - character format to apply.
     * @returns {TextSizeInfo} returns text size information.
     */
    getHeightInternal(characterFormat: WCharacterFormat): TextSizeInfo;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/text-helper/regular.d.ts
/**
 * Class which performs regular text measuring logic to find font height.
 */
export  class Regular {
    /**
     * @private
     */
    documentHelper: DocumentHelper;
    /**
     * Gets module name.
     *
     * @returns {string} - the module name.
     */
    private getModuleName;
    /**
     * Constructor to initialize Regular module.
     *
     * @param {DocumentHelper} documentHelper - the document helper object
     */
    constructor(documentHelper: DocumentHelper);
    /**
     * @private
     * @param {WCharacterFormat} characterFormat - character format to apply.
     * @returns {TextSizeInfo} returns text size information.
     */
    getHeightInternal(characterFormat: WCharacterFormat): TextSizeInfo;
    applyStyle(spanElement: HTMLSpanElement, characterFormat: WCharacterFormat): void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/track-changes/index.d.ts
/**
 * Track changes
 */
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/track-changes/track-changes-pane.d.ts
/**
 * Track changes pane
 */
export  class TrackChangesPane {
    /***
     * @private
     */
    isChangesTabVisible: boolean;
    private owner;
    private trackChangeDiv;
    private toolbarElement;
    closeButton: HTMLElement;
    private noChangeDivElement;
    /**
     * @private
     */
    toolbar: navigations.Toolbar;
    changesInfoDiv: HTMLElement;
    private locale;
    private commentReviewPane;
    private userDropDownitems;
    private userDropDownButton;
    private viewTypeDropDownButton;
    private userDropDown;
    private selectedUser;
    private selectedType;
    private users;
    private menuoptionEle;
    private menuDropDownButton;
    private enableButtons;
    private currentSelectedRevisionInternal;
    private viewTypeitems;
    changes: Dictionary<Revision, ChangesSingleView>;
    revisions: Revision[];
    private sortedRevisions;
    private noChangesVisibleInternal;
    isTrackingPageBreak: boolean;
    /***
     * @private
     */
    tableRevisions: Dictionary<Revision, Revision[]>;
    renderedChanges: Dictionary<Revision, ChangesSingleView>;
    setNoChangesVisibility: boolean;
    currentSelectedRevision: Revision;
    constructor(owner: DocumentEditor, commentReviewPane: CommentReviewPane);
    private initTrackChangePane;
    private initPaneHeader;
    private beforeDropDownItemRender;
    private onUserOpen;
    private enableDisableToolbarItem;
    private getSpanView;
    private onMenuSelect;
    onSelection(revision: Revision): void;
    private onUserSelect;
    private onTypeSelect;
    private updateMenuOptions;
    private sortCollectionToDisplay;
    enableDisableButton(enableButton: boolean): void;
    isUpdateTrackChanges(revisionCount: number): boolean;
    updateTrackChanges(show?: boolean): void;
    /**
     * @private
     */
    groupTableRevisions(revisions: Revision[], startIndex: number): Revision[];
    updateUsers(): void;
    updateHeight(): void;
    private removeAllChanges;
    /**
     * @private
     */
    clear(): void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
    private addChanges;
    /**
         * @private
         * @returns {void}
         */
    navigatePreviousChanges(): void;
    /**
         * @private
         * @returns {void}
         */
    navigateNextChanges(): void;
    private revisionNavigateInternal;
}
export  class ChangesSingleView {
    private trackChangesPane;
    private locale;
    private owner;
    outerSingleDiv: HTMLElement;
    user: string;
    revisionType: string;
    revision: Revision;
    singleInnerDiv: HTMLElement;
    acceptButtonElement: HTMLButtonElement;
    rejectButtonElement: HTMLButtonElement;
    private acceptButton;
    private rejectButton;
    changesCount: HTMLElement;
    /***
     * @private
     */
    tableElement: HTMLTableElement;
    constructor(owner: DocumentEditor, trackChangesPane: TrackChangesPane);
    updateRevisionIndexAndCount(currentIndex: number, totalCount: number): void;
    createSingleChangesDiv(revision: Revision): HTMLElement;
    /**
     * @private
     */
    appendRowToTable(rowFormat: WRowFormat, insertIndex: number): void;
    private selectRevision;
    private layoutElementText;
    private addSpan;
    private acceptButtonClick;
    private rejectButtonClick;
    private removeFromParentCollec;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/track-changes/track-changes.d.ts
/**
 * The revision class which holds the information related to changes made in the document
 */
export  class Revision {
    /**
     * Gets or sets the author name who made the change
     *
     * @private
     */
    author: string;
    /**
     * Indicates when the track changes made
     *
     * @private
     */
    date: string;
    /**
     * Indicates the type of track changes revision
     *
     * @private
     */
    revisionType: RevisionType;
    /**
     * Holds the reference of the items which are under this revision.
     *
     * @private
     */
    range: object[];
    /**
     * @private
     */
    revisionID: string;
    private owner;
    /**
     * Used to update cursor position by ensuring items were removed or not
     */
    private isContentRemoved;
    private isTableRevision;
    /**
     * Indicates whether to skip unlinking ranges for table elements.
     */
    private canSkipTableItems;
    private skipUnLinkElement;
    constructor(documentHelper: DocumentEditor, author: string, date: string);
    private handleAcceptReject;
    private handleGroupAcceptReject;
    /**
     * Method which accepts the selected revision, revision marks will be removed and changes will be included in the viewer.
     *
     * @returns {void}
     */
    accept(): void;
    /**
     * Method which rejects the selected revision, revision marks will be removed leaving the original content.
     */
    reject(): void;
    /**
     * Unlinks revision and its assosiated range
     * @private
     * @param item
     * @param revision
     * @param isFromAccept
     */
    unlinkRangeItem(item: any, revision: Revision, isFromAccept: boolean): boolean;
    private updateRevisionID;
    private removeRevisionItemsFromRange;
    /**
     * Method to clear linked ranges in revision
     *
     * @private
     * @param {any} item - Specifies the item
     * @returns {void}
     */
    removeRangeRevisionForItem(item: any): void;
    /**
     * @private
     * @param {Element} element - Specifies the element.
     * @returns {boolean} Resturs skip element removal
     */
    skipeElementRemoval(element: ElementBox): boolean;
    private removeRevisionFromRow;
    private removeItem;
    private canSkipCloning;
    /**
     * @private
     *
     */
    destroy(): void;
    /**
     * @private
     * @returns {Revision} - Returns revision
     */
    clone(): Revision;
    /**
     * Method to clone the revisions for the element
     *
     * @param {Revision[]} revisions - revision array.
     * @returns {string[]} - returns clones revisions.
     */
    static cloneRevisions(revisions: Revision[]): string[];
}
/**
 * Represents the revision collections in the document.
 */
export  class RevisionCollection {
    /**
     * @private
     */
    changes: Revision[];
    private owner;
    /**
     * @private
     */
    skipGroupAcceptReject: boolean;
    /**
     * @private
     */
    get(index: number): Revision;
    readonly length: number;
    constructor(owner: DocumentEditor);
    remove(revision: Revision): any;
    /**
     * Method which accepts all the revision in the revision collection
     *
     * @returns {void}
     */
    acceptAll(): void;
    /**
     * Method which rejects all the revision in the revision collection
     *
     * @returns {void}
     */
    rejectAll(): void;
    /**
     * @private
     * @param {boolean} isfromAcceptAll - Specifies the is accept all.
     * @param {Revision[]} changes - Specifies the revisions.
     * @returns {void}
     */
    handleRevisionCollection(isfromAcceptAll: boolean, changes?: Revision[]): void;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/viewer/index.d.ts
/**
 * Viewer Export
 */
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/viewer/layout.d.ts
/**
 * @private
 */
export  class Layout {
    private documentHelper;
    private value;
    private previousPara;
    /**
     * @private
     */
    islayoutFootnote: boolean;
    /**
     * @private
     */
    allowLayout: boolean;
    /**
     * @private
     */
    footHeight: number;
    /**
     * @private
     */
    existFootnoteHeight: number;
    /**
     * @private
     */
    isfootMove: boolean;
    /**
     * @private
     */
    footnoteHeight: number;
    /**
     * @private
     */
    isTableFootNote: boolean;
    /**
     * @private
     */
    isRelayout: boolean;
    /**
     * @private
     */
    isRelayoutneed: boolean;
    /**
     * @private
     */
    isOverlapFloatTable: boolean;
    isInitialLoad: boolean;
    private fieldBegin;
    private maxTextHeight;
    private maxBaseline;
    private maxTextBaseline;
    private isFieldCode;
    private isRtlFieldCode;
    private isRTLLayout;
    currentCell: TableCellWidget;
    isFootnoteContentChanged: boolean;
    isEndnoteContentChanged: boolean;
    private keepWithNext;
    private is2013Justification;
    private nextElementToLayout;
    /**
     * @private
     */
    startat: number;
    isLayoutWhole: boolean;
    /**
     * @private
     */
    isBidiReLayout: boolean;
    /**
     * @private
     */
    defaultTabWidthPixel: number;
    /**
     * @private
     */
    isRelayoutFootnote: boolean;
    private isRelayoutOverlap;
    private startOverlapWidget;
    private endOverlapWidget;
    private isWrapText;
    private isYPositionUpdated;
    private isXPositionUpdated;
    private hasFloatingElement;
    private isFootNoteLayoutStart;
    wrapPosition: WrapPosition[];
    private shiftedFloatingItemsFromTable;
    isDocumentContainsRtl: boolean;
    private layoutedFootnoteElement;
    private isSameStyle;
    constructor(documentHelper: DocumentHelper);
    private readonly viewer;
    layout(): void;
    /**
     * Releases un-managed and - optionally - managed resources.
     *
     * @returns {void}
     */
    destroy(): void;
    layoutItems(sections: BodyWidget[], isReLayout: boolean): void;
    /**
     * @private
     */
    layoutComments(comments: CommentElementBox[]): void;
    private layoutSection;
    layoutHeaderFooter(section: BodyWidget, viewer: PageLayoutViewer, page: Page): void;
    updateHeaderFooterToParent(node: HeaderFooterWidget): HeaderFooterWidget;
    private updateRevisionsToHeaderFooter;
    private updateRevisionRange;
    private linkFieldInHeaderFooter;
    private linkFieldInParagraph;
    private getCommentById;
    linkFieldInTable(widget: TableWidget): void;
    layoutHeaderFooterItems(viewer: LayoutViewer, widget: HeaderFooterWidget): HeaderFooterWidget;
    private shiftChildLocation;
    private shiftChildLocationForTableWidget;
    private shiftChildLocationForTableRowWidget;
    private shiftChildLocationForTableCellWidget;
    private layoutBlock;
    private updateTableYPositionBasedonTextWrap;
    private checkAndRelayoutPreviousOverlappingBlock;
    private addParagraphWidget;
    private addLineWidget;
    isFirstElementWithPageBreak(paragraphWidget: ParagraphWidget): boolean;
    /**
     * Layouts specified paragraph.
     *
     * @private
     * @param footnote
     */
    layoutfootNote(footnote: FootNoteWidget): BlockContainer;
    private shiftChildWidgetInFootnote;
    private getBodyWidgetHeight;
    private layoutParagraph;
    private clearLineMeasures;
    private layoutFloatElements;
    private layoutShape;
    private moveElementFromNextLine;
    private layoutLine;
    private layoutElement;
    /**
    * @private
    */
    adjustPosition(element: ElementBox, bodyWidget: BlockContainer): void;
    private updateWrapPosition;
    private isFirstitemInPage;
    private isTextFitBelow;
    private isNeedToWrapForSquareTightAndThrough;
    private isNeedToWrapForSquareTightAndThroughForTable;
    private isNeedToWrapLeafWidget;
    private getMinWidth;
    private getNextTextRangeWidth;
    private isLeafWidgetNextSiblingIsTextRange;
    private isNextSibligSizeNeedToBeMeasure;
    private isNeedDoIntermediateWrapping;
    private isFloatingItemOnLeft;
    private getNextSibling;
    private adjustClientAreaBasedOnTextWrap;
    private adjustClientAreaBasedOnTextWrapForTable;
    private startAt;
    private layoutFootEndNoteElement;
    private layoutEndNoteElement;
    hasValidElement(paragraph: ParagraphWidget): boolean;
    private updateFieldText;
    private checkLineWidgetWithClientArea;
    private checkAndSplitTabOrLineBreakCharacter;
    private moveFromNextPage;
    private cutClientWidth;
    private layoutFieldCharacters;
    private checkAndUpdateFieldData;
    private layoutEmptyLineWidget;
    private adjustPositionBasedOnTopAndBottom;
    private layoutListItems;
    private layoutList;
    private addBodyWidget;
    /**
     * @private
     */
    addListLevels(abstractList: WAbstractList): void;
    private addSplittedLineWidget;
    private addElementToLine;
    private splitElementForClientArea;
    private splitByWord;
    private splitErrorCollection;
    private splitByCharacter;
    private updateRevisionForSplittedElement;
    private splitTextElementWordByWord;
    private isSplitByHyphen;
    private splitTextForClientArea;
    private splitByLineBreakOrTab;
    private moveToNextLine;
    private checkInbetweenShapeOverlap;
    private getLineY;
    private updateLineWidget;
    private moveToNextPage;
    /**
     * @param {ParagraphWidget} paragarph - the paragraph
     * @param {BodyWidget} body - the bodyWidget
     * @param {boolean} add - to specify add or remove floating elements from body widget.
     */
    private addRemoveFloatElementsFromBody;
    /**
     * Align block based on keep with next and keep lines together property.
     */
    private alignBlockElement;
    private getPreviousBlock;
    private splitRow;
    private splitParagraph;
    private updateClientPositionForBlock;
    private updateClientAreaForNextBlock;
    private layoutStartEndBlocks;
    private alignLineElements;
    private updateWidgetToPage;
    private shiftFooterChildLocation;
    private shiftFootnoteChildLocation;
    private checkPreviousElement;
    clearListElementBox(paragraph: ParagraphWidget): void;
    /**
 * @private
 */
    clearInvalidList(list: WList): void;
    getListNumber(listFormat: WListFormat, isAutoList?: boolean): string;
    private ClearSubListLevelValues;
    getListStartValue(listLevelNumber: number, list: WList): number;
    private updateListValues;
    private getListText;
    getAsLetter(number: number): string;
    getListTextListLevel(listLevel: WListLevel, listValue: number): string;
    getFootEndNote(numberFormat: FootEndNoteNumberFormat, value: number): string;
    private generateNumber;
    private getAsLeadingZero;
    getAsRoman(number: number): string;
    getListLevel(list: WList, listLevelNumber: number): WListLevel;
    private getTabWidth;
    private getJustificationTabWidth;
    private getRightTabWidth;
    private getSplitIndexByWord;
    private getTextSplitIndexByCharacter;
    private getSubWidth;
    private getSubWidthBasedOnTextWrap;
    /**
     * Returns the total space width in line widget.
     * @param {LineWidget} lineWidget - the line widget
     * @returns {number} the total space width.
     */
    private getTotalSpaceWidth;
    private getSubWidthInfo;
    getBeforeSpacing(paragraph: ParagraphWidget, pageIndex?: number): number;
    getAfterSpacing(paragraph: ParagraphWidget): number;
    getLineSpacing(paragraph: ParagraphWidget, maxHeight: number, alterLineSpacing?: boolean): number;
    private isParagraphFirstLine;
    private isParagraphLastLine;
    private getTextIndexAfterSpace;
    moveNextWidgetsToTable(tableWidget: TableWidget[], currentRow: TableRowWidget, moveFromNext: boolean): void;
    private addTableCellWidget;
    private checkPreviousMargins;
    private addWidgetToTable;
    private layoutFootnoteInSplittedRow;
    private getFootNoteHeight;
    private getFootnoteHeightInternal;
    updateRowHeightBySpannedCell(tableWidget: TableWidget, row: TableRowWidget, insertIndex: number): void;
    private updateRowHeight;
    private updateSpannedRowCollection;
    private updateRowHeightByCellSpacing;
    private isRowSpanEnd;
    isVerticalMergedCellContinue(row: TableRowWidget): boolean;
    private splitWidgets;
    private getSplittedWidgetForRow;
    private getFootNoteHeightInLine;
    private getFootnoteFromLine;
    updateWidgetsToTable(tableWidgets: TableWidget[], rowWidgets: TableRowWidget[], row: TableRowWidget, rearrangeRow: boolean): void;
    getHeader(table: TableWidget): TableRowWidget;
    private getHeaderHeight;
    private updateWidgetToRow;
    private updateHeightForRowWidget;
    private updateHeightForCellWidget;
    getRowHeight(row: TableRowWidget, rowCollection: TableRowWidget[]): number;
    private splitSpannedCellWidget;
    private insertSplittedCellWidgets;
    private insertRowSpannedWidget;
    private insertEmptySplittedCellWidget;
    private getSplittedWidget;
    getListLevelPattern(value: number): ListLevelPattern;
    private createCellWidget;
    private createTableWidget;
    private getSplittedWidgetForPara;
    getSplittedWidgetForTable(bottom: number, tableCollection: TableWidget[], tableWidget: TableWidget, footNoteCollection: FootnoteElementBox[]): TableWidget;
    private isFirstLineFitForPara;
    isFirstLineFitForTable(bottom: number, tableWidget: TableWidget): boolean;
    private isFirstLineFitForRow;
    private isFirstLineFitForCell;
    private updateWidgetLocation;
    updateChildLocationForTable(top: number, tableWidget: TableWidget): void;
    updateChildLocationForRow(top: number, rowWidget: TableRowWidget): void;
    private updateChildLocationForCellOrShape;
    updateCellVerticalPosition(cellWidget: TableCellWidget, isUpdateToTop: boolean, isInsideTable: boolean): void;
    private updateCellContentVerticalPosition;
    private updateShapeInsideCell;
    private updateTableWidgetLocation;
    private getDisplacement;
    private getCellContentHeight;
    private considerPositionTableHeight;
    getTableLeftBorder(borders: WBorders): WBorder;
    getTableRightBorder(borders: WBorders): WBorder;
    getTableTopBorder(borders: WBorders): WBorder;
    getTableBottomBorder(borders: WBorders): WBorder;
    getCellDiagonalUpBorder(tableCell: TableCellWidget): WBorder;
    getCellDiagonalDownBorder(tableCell: TableCellWidget): WBorder;
    getTableWidth(table: TableWidget): number;
    layoutNextItemsBlock(blockAdv: BlockWidget, viewer: LayoutViewer, isFootnoteReLayout?: boolean): void;
    /**
     * Update the client area for the line widget.
     *
     * @param {LineWidget} startLineWidget LineWidget instance.
     * @private
     */
    updateClientAreaForLine(startLineWidget: LineWidget): void;
    getParentTable(block: BlockWidget): TableWidget;
    reLayoutParagraph(paragraphWidget: ParagraphWidget, lineIndex: number, elementBoxIndex: number, isBidi?: boolean, isSkip?: boolean): void;
    private getParentRow;
    private reLayoutRow;
    reLayoutTable(block: BlockWidget, isFootnoteReLayout?: boolean): void;
    private getYPosition;
    private clearFootnoteReference;
    /**
     * @private
     */
    clearTableWidget(table: TableWidget, clearPosition: boolean, clearHeight: boolean, clearGrid?: boolean, updateClientHeight?: boolean): void;
    /**
     * @private
     */
    clearRowWidget(row: TableRowWidget, clearPosition: boolean, clearHeight: boolean, clearGrid: boolean): void;
    /**
     * @private
     */
    clearCellWidget(cell: TableCellWidget, clearPosition: boolean, clearHeight: boolean, clearGrid: boolean): void;
    /**
     * @private
     */
    clearBlockWidget(blocks: IWidget[], clearPosition: boolean, clearHeight: boolean, clearGrid: boolean): void;
    layoutBodyWidgetCollection(blockIndex: number, bodyWidget: Widget, block: BlockWidget, shiftNextWidget: boolean, isSkipShifting?: boolean): void;
    private checkAndGetBlock;
    layoutTable(table: TableWidget, startIndex: number): BlockWidget;
    private updateClientAreaForWrapTable;
    addTableWidget(area: Rect, table: TableWidget[], create?: boolean): TableWidget;
    updateWidgetsToPage(tables: TableWidget[], rows: TableRowWidget[], table: TableWidget, rearrangeRow: boolean, endRowWidget?: TableRowWidget): void;
    updateHeightForTableWidget(tables: TableWidget[], rows: TableRowWidget[], tableWidget: TableWidget, endRowWidget?: TableRowWidget): void;
    layoutRow(tableWidget: TableWidget[], row: TableRowWidget, isRowLayout?: boolean): TableRowWidget;
    private updateExistingFootnoteHeight;
    private isIntersecting;
    private getAdjacentRowCell;
    private addTableRowWidget;
    private getMaxTopCellMargin;
    private getMaxBottomCellMargin;
    private layoutCell;
    private isInsertTable;
    private updateTopBorders;
    shiftLayoutedItems(reLayout: boolean): void;
    private checkAndShiftEndnote;
    updateFieldElements(): void;
    private reLayoutOrShiftWidgets;
    private isNeedToRelayout;
    private shiftWidgetsBlock;
    private shiftWidgetsForPara;
    /**
     * @private
     * Get the footnote of the block widget.
     *
     * @param {BlockWidget} widget BlockWidget instance.
     * @returns
     */
    getFootNotesOfBlock(widget: BlockWidget, footnoteElements?: FootnoteElementBox[]): FootnoteElementBox[];
    private getFootNotesWidgetsInLine;
    private getFootNoteWidgetsBy;
    /**
     * @param widget
     * @private
     */
    getFootNoteWidgetsOf(widget: BlockWidget, isShifting?: boolean): BodyWidget[];
    getFootNodeWidgetsToShiftToPage(paragraph: ParagraphWidget): FootNoteWidgetsInfo;
    shiftTableWidget(table: TableWidget, viewer: LayoutViewer, isClearHeight?: boolean): TableWidget;
    shiftRowWidget(tables: TableWidget[], row: TableRowWidget, isClearHeight?: boolean): TableRowWidget;
    private updateFootnoteToBody;
    private getFootnoteBody;
    shiftCellWidget(cell: TableCellWidget, maxCellMarginTop: number, maxCellMarginBottom: number, isClearHeight: boolean): void;
    shiftParagraphWidget(paragraph: ParagraphWidget): void;
    private updateContainerForTable;
    private shiftWidgetsForTable;
    private updateVerticalPositionToTop;
    private splitWidget;
    private getMaximumLineHeightToSplit;
    /**
     * @private
     * @param footnoteWidgets
     * @param fromBodyWidget
     * @param toBodyWidget
     */
    moveFootNotesToPage(footnoteWidgets: BodyWidget[], fromBodyWidget: BodyWidget, toBodyWidget: BodyWidget): void;
    private addEmptyFootNoteToBody;
    private getMaxElementHeight;
    private createOrGetNextBodyWidget;
    private isFitInClientArea;
    private isLineInFootNote;
    private shiftToPreviousWidget;
    private updateParagraphWidgetInternal;
    private shiftNextWidgets;
    updateContainerWidget(widget: Widget, bodyWidget: BodyWidget, index: number, destroyAndScroll: boolean, footWidget?: BodyWidget[]): void;
    private getBodyWidgetOfPreviousBlock;
    moveBlocksToNextPage(block: BlockWidget, moveFootnoteFromLastBlock: boolean): BodyWidget;
    private createSplitBody;
    reLayoutLine(paragraph: ParagraphWidget, lineIndex: number, isBidi: boolean, isSkip?: boolean): void;
    isContainsRtl(lineWidget: LineWidget): boolean;
    private shiftElementsForRTLLayouting;
    private isNumberNonReversingCharacter;
    private isNumberReverseLangForSlash;
    private isNumberReverseLangForOthers;
    private isStartMarker;
    private isEndMarker;
    private getNextValidWidget;
    private hasTextRangeBidi;
    private isContainsRTLText;
    private updateCharacterRange;
    private reorderElements;
    private isInsertWordSplitToLeft;
    private shiftLayoutFloatingItems;
    private getFloatingItemPoints;
    private getLeftMarginHorizPosition;
    private getRightMarginHorizPosition;
    private getVerticalPosition;
    private getHorizontalPosition;
    private updateTableFloatPoints;
    isTocField(element: FieldElementBox): boolean;
    private getTotalColumnSpan;
    private getMaximumRightCellBorderWidth;
    private getDefaultBorderSpacingValue;
    private getMinimumWidthRequiredForTable;
    private shiftFloatingItemsFromTable;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/viewer/page.d.ts
/**
 * @private
 */
export  class Rect {
    /**
     * @private
     */
    width: number;
    /**
     * @private
     */
    height: number;
    /**
     * @private
     */
    x: number;
    /**
     * @private
     */
    y: number;
    readonly right: number;
    readonly bottom: number;
    constructor(x: number, y: number, width: number, height: number);
    /**
     * @param currentBound
     * @private
     */
    isIntersecting(currentBound: Rect): boolean;
    /**
     * @private
     */
    clone(): Rect;
}
/**
 * @private
 */
export  class Padding {
    right: number;
    left: number;
    top: number;
    bottom: number;
    constructor(right: number, left: number, top: number, bottom: number);
}
/**
 * @private
 */
export  class Margin {
    /**
     * @private
     */
    left: number;
    /**
     * @private
     */
    top: number;
    /**
     * @private
     */
    right: number;
    /**
     * @private
     */
    bottom: number;
    constructor(leftMargin: number, topMargin: number, rightMargin: number, bottomMargin: number);
    clone(): Margin;
    destroy(): void;
}
/**
 * @private
 */
export interface IWidget {
}
/**
 * @private
 */
export  abstract class Widget implements IWidget {
    /**
     * @private
     */
    childWidgets: IWidget[];
    /**
     * @private
     */
    x: number;
    /**
     * @private
     */
    y: number;
    /**
     * @private
     */
    width: number;
    /**
     * @private
     */
    height: number;
    /**
     * @private
     */
    margin: Margin;
    /**
     * @private
     */
    containerWidget: Widget;
    /**
     * @private
     */
    index: number;
    readonly indexInOwner: number;
    readonly firstChild: IWidget;
    readonly lastChild: IWidget;
    readonly previousWidget: Widget;
    readonly nextWidget: Widget;
    readonly previousRenderedWidget: Widget;
    readonly nextRenderedWidget: Widget;
    readonly previousSplitWidget: Widget;
    readonly nextSplitWidget: Widget;
    abstract equals(widget: Widget): boolean;
    abstract getTableCellWidget(point: Point): TableCellWidget;
    getPreviousSplitWidgets(): Widget[];
    getSplitWidgets(): Widget[];
    combineWidget(viewer: LayoutViewer): Widget;
    private combine;
    addWidgets(childWidgets: IWidget[]): void;
    removeChild(index: number): void;
    abstract destroyInternal(viewer: LayoutViewer): void;
    destroy(): void;
}
/**
 * @private
 */
export  abstract class BlockContainer extends Widget {
    /**
     * @private
     */
    page: Page;
    /**
     * @private
     */
    floatingElements: (ShapeBase | TableWidget)[];
    /**
     * @private
     */
    footNoteReference: FootnoteElementBox;
    /**
    * @private
    */
    removedHeaderFooters: HeaderFooters[];
    /**
     * @private
     */
    sectionFormatIn: WSectionFormat;
    sectionFormat: WSectionFormat;
    readonly sectionIndex: number;
    getHierarchicalIndex(hierarchicalIndex: string): string;
}
/**
 * @private
 */
export  class BodyWidget extends BlockContainer {
    /**
     * Initialize the constructor of BodyWidget
     */
    constructor();
    equals(widget: Widget): boolean;
    getHierarchicalIndex(hierarchicalIndex: string): string;
    getTableCellWidget(touchPoint: Point): TableCellWidget;
    destroyInternal(viewer: LayoutViewer): void;
    destroy(): void;
}
/**
 * @private
 */
export interface HeaderFooters {
    [key: number]: HeaderFooterWidget;
}
/**
 * @private
 */
export  class HeaderFooterWidget extends BlockContainer {
    /**
     * @private
     */
    headerFooterType: HeaderFooterType;
    /**
     * @private
     */
    parentHeaderFooter: HeaderFooterWidget;
    /**
     * @private
     */
    isEmpty: boolean;
    constructor(type: HeaderFooterType);
    getTableCellWidget(point: Point): TableCellWidget;
    equals(widget: Widget): boolean;
    clone(): HeaderFooterWidget;
    destroyInternal(viewer: LayoutViewer): void;
}
/**
 * @private
 */
export  abstract class BlockWidget extends Widget {
    /**
     * @private
     */
    isLayouted: boolean;
    /**
     * @private
     */
    leftBorderWidth: number;
    /**
     * @private
     */
    rightBorderWidth: number;
    /**
     * @private
     */
    topBorderWidth: number;
    /**
     * @private
     */
    bottomBorderWidth: number;
    /**
     * @private
     */
    locked: boolean;
    /**
     * @private
     */
    lockedBy: string;
    /**
     * @private
     */
    contentControlProperties: ContentControlProperties;
    readonly bodyWidget: BlockContainer;
    readonly leftIndent: number;
    readonly rightIndent: number;
    readonly isInsideTable: boolean;
    readonly isInHeaderFooter: boolean;
    readonly associatedCell: TableCellWidget;
    /**
     * Check whether the paragraph contains only page break.
     *
     * @private
     * @returns {boolean}: Returns true if paragraph contains page break alone.
     */
    isPageBreak(): boolean;
    getHierarchicalIndex(hierarchicalIndex: string): string;
    abstract getMinimumAndMaximumWordWidth(minimumWordWidth: number, maximumWordWidth: number): WidthInfo;
    abstract clone(): BlockWidget;
    getIndex(): number;
    getContainerWidth(): number;
    readonly bidi: boolean;
}
/**
 * @private
 */
export  class FootNoteWidget extends BlockContainer {
    getMinimumAndMaximumWordWidth(minimumWordWidth: number, maximumWordWidth: number): WidthInfo;
    /**
     * @private
     */
    footNoteType: FootnoteType;
    /**
     * @private
     */
    containerWidget: BodyWidget;
    /**
     * @private
     */
    bodyWidgets: BodyWidget[];
    /**
     * @private
     */
    block: BlockWidget;
    getTableCellWidget(point: Point): TableCellWidget;
    equals(widget: Widget): boolean;
    clone(): FootNoteWidget;
    destroyInternal(viewer: LayoutViewer): void;
}
/**
 * @private
 */
export  class ParagraphWidget extends BlockWidget {
    /**
     * @private
     */
    paragraphFormat: WParagraphFormat;
    /**
     * @private
     */
    characterFormat: WCharacterFormat;
    /**
     * @private
     */
    isChangeDetected: boolean;
    /**
     * @private
     * The clientX having previous left value of empty paragraph
     */
    clientX: number;
    /**
     * @private
     */
    floatingElements: ShapeBase[];
    readonly isEndsWithPageBreak: boolean;
    /**
     * Initialize the constructor of ParagraphWidget
     */
    constructor();
    equals(widget: Widget): boolean;
    isContainsShapeAlone(): boolean;
    isEmpty(): boolean;
    getInline(offset: number, indexInInline: number): ElementInfo;
    getLength(): number;
    getTableCellWidget(point: Point): TableCellWidget;
    getMinimumAndMaximumWordWidth(minimumWordWidth: number, maximumWordWidth: number): WidthInfo;
    private measureParagraph;
    private isArabicChar;
    private isHebrewChar;
    private isHindiChar;
    private isKoreanChar;
    private isJapanese;
    private isChineseChar;
    private getFontScriptType;
    splitTextByFontScriptType(inputText: string, fontScriptTypes: FontScriptType[]): string[];
    splitTextRangeByScriptType(lineIndex: number): void;
    /**
     * @private
     */
    splitLtrAndRtlText(lineIndex: number): void;
    private updateTextElementInRevisionRange;
    /**
     * Combine the spans by consecutive LTR and RTL texts.
     * @private
     */
    combineconsecutiveRTL(lineIndex: number): void;
    clone(): ParagraphWidget;
    destroyInternal(viewer: LayoutViewer): void;
    destroy(): void;
}
/**
 * @private
 */
export  class TablePosition {
    /**
     * @private
     */
    allowOverlap: boolean;
    /**
     * @private
     */
    distanceTop: number;
    /**
     * @private
     */
    distanceRight: number;
    /**
     * @private
     */
    distanceLeft: number;
    /**
     * @private
     */
    distanceBottom: number;
    /**
    * @private
    */
    verticalOrigin: string;
    /**
     * @private
     */
    verticalAlignment: VerticalAlignment;
    /**
     * @private
     */
    verticalPosition: number;
    /**
     * @private
     */
    horizontalOrigin: string;
    /**
     * @private
     */
    horizontalAlignment: HorizontalAlignment;
    /**
     * @private
     */
    horizontalPosition: number;
    /**
     * @private
     */
    clone(): TablePosition;
}
/**
 * @private
 */
export  class TableWidget extends BlockWidget {
    private flags;
    /**
     * @private
     */
    leftMargin: number;
    /**
     * @private
     */
    topMargin: number;
    /**
     * @private
     */
    rightMargin: number;
    /**
     * @private
     */
    bottomMargin: number;
    /**
     * @private
     */
    tableFormat: WTableFormat;
    /**
     * @private
     */
    spannedRowCollection: Dictionary<number, number>;
    /**
     * @private
     */
    tableHolder: WTableHolder;
    /**
     * @private
     */
    headerHeight: number;
    /**
     * @private
     */
    description: string;
    /**
     * @private
     */
    title: string;
    /**
     * @private
     */
    tableCellInfo: Dictionary<number, Dictionary<number, number>>;
    /**
     * @private
     */
    isDefaultFormatUpdated: boolean;
    /**
     * @private
     */
    wrapTextAround: boolean;
    /**
     * @private
     */
    positioning: TablePosition;
    /**
     * @private
     */
    isContainInsideTable: boolean;
    /**
     * @private
     */
    footnoteElement: FootnoteElementBox[];
    /**
     * @private
     */
    /**
    * @private
    */
    isGridUpdated: boolean;
    /**
     * @private
     */
    /**
    * @private
    */
    continueHeader: boolean;
    /**
     * @private
     */
    /**
    * @private
    */
    header: boolean;
    isBidiTable: boolean;
    constructor();
    /**
     * @private
     */
    equals(widget: Widget): boolean;
    /**
     * @private
     */
    combineRows(viewer: LayoutViewer): void;
    /**
     * @private
     */
    contains(tableCell: TableCellWidget): boolean;
    /**
     * @private
     */
    getOwnerWidth(isBasedOnViewer: boolean): number;
    /**
     * @private
     */
    getTableWidth(): number;
    /**
     * @private
     */
    getTableCellWidth(): number;
    /**
     * @private
     */
    getTableClientWidth(clientWidth: number): number;
    /**
     * @private
     */
    getCellWidth(preferredWidth: number, preferredWidthType: WidthType, containerWidth: number, cell: TableCellWidget): number;
    private getMinimumPreferredWidth;
    /**
     * @private
     */
    fitCellsToClientArea(clientWidth: number): void;
    /**
     * @private
     */
    getTableCellWidget(point: Point): TableCellWidget;
    /**
     * @private
     */
    calculateGrid(isInsertRow?: boolean): void;
    private updateColumnSpans;
    /**
     * @private
     */
    getMinimumAndMaximumWordWidth(minimumWordWidth: number, maximumWordWidth: number): WidthInfo;
    /**
     * @private
     */
    checkTableColumns(): void;
    /**
     * @private
     */
    isAutoFit(): boolean;
    /**
     * @private
     */
    buildTableColumns(): void;
    /**
     * @private
     */
    setWidthToCells(tableWidth: number, isAutoWidth: boolean): void;
    /**
     * @private
     */
    updateProperties(updateAllowAutoFit: boolean, currentSelectedTable: TableWidget, autoFitBehavior: AutoFitType): void;
    /**
     * @private
     */
    getMaxRowWidth(clientWidth: number): number;
    /**
     * @private
     */
    updateWidth(dragValue: number): void;
    /**
     * @private
     */
    convertPointToPercent(tablePreferredWidth: number, ownerWidth: number): number;
    updateChildWidgetLeft(left: number): void;
    /**
     * Shift the widgets for right to left aligned table.
     * @private
     */
    shiftWidgetsForRtlTable(clientArea: Rect, tableWidget: TableWidget): void;
    /**
     * @private
     */
    clone(): TableWidget;
    /**
     * @private
     */
    static getTableOf(node: WBorders): TableWidget;
    /**
     * @private
     */
    fitChildToClientArea(): void;
    /**
     * @private
     */
    getColumnCellsForSelection(startCell: TableCellWidget, endCell: TableCellWidget): TableCellWidget[];
    /**
     * Splits width equally for all the cells.
     * @param tableClientWidth
     * @private
     */
    splitWidthToTableCells(tableClientWidth: number, isZeroWidth?: boolean): void;
    /**
     * @private
     */
    insertTableRowsInternal(tableRows: TableRowWidget[], startIndex: number, isInsertRow?: boolean): void;
    /**
     * @private
     */
    updateRowIndex(startIndex: number): void;
    /**
     * @private
     */
    getCellStartOffset(cell: TableCellWidget): number;
    /**
     * @private
     */
    destroyInternal(viewer: LayoutViewer): void;
    /**
     * @private
     */
    destroy(): void;
}
/**
 * @private
 */
export  class TableRowWidget extends BlockWidget {
    /**
     * @private
     */
    topBorderWidth: number;
    /**
     * @private
     */
    bottomBorderWidth: number;
    /**
     * @private
     */
    rowFormat: WRowFormat;
    /**
     * @private
     */
    contentControlProperties: ContentControlProperties;
    /**
     * @private
     */
    readonly rowIndex: number;
    /**
     * @private
     */
    readonly ownerTable: TableWidget;
    /**
     * @private
     */
    readonly nextRow: TableRowWidget;
    constructor();
    /**
     * @private
     */
    equals(widget: Widget): boolean;
    /**
     * @private
     */
    combineCells(viewer: LayoutViewer): void;
    /**
     * @private
     */
    static getRowOf(node: WBorders): TableRowWidget;
    /**
     * @private
     */
    getCell(rowIndex: number, cellIndex: number): TableCellWidget;
    /**
     * @private
     */
    splitWidthToRowCells(tableClientWidth: number, isZeroWidth?: boolean): void;
    /**
     * @private
     */
    getGridCount(tableGrid: number[], cell: TableCellWidget, index: number, containerWidth: number, tempSpan: number[]): number;
    private getOffsetIndex;
    private getCellOffset;
    /**
     * @private
     */
    updateRowBySpannedCells(): void;
    /**
     * @private
     */
    getPreviousRowSpannedCells(include?: boolean): TableCellWidget[];
    /**
     * @private
     */
    isCellsHaveSameWidthUnit(): boolean;
    /**
     * @private
     */
    updateUniformWidthUnitForCells(): void;
    /**
     * @private
     */
    getTableCellWidget(point: Point): TableCellWidget;
    /**
     * @private
     */
    getCellWidget(columnIndex: number, columnSpan: number): TableCellWidget;
    getVerticalMergeStartCell(columnIndex: number, columnSpan: number): TableCellWidget;
    /**
     * @private
     */
    getMinimumAndMaximumWordWidth(minimumWordWidth: number, maximumWordWidth: number): WidthInfo;
    /**
     * @private
     */
    destroyInternal(viewer: LayoutViewer): void;
    /**
     * @private
     */
    clone(): TableRowWidget;
    /**
     * Updates the child widgets left.
     * @param left
     * @private
     */
    updateChildWidgetLeft(left: number): void;
    /**
     * Shift the widgets for RTL table.
     * @param tableWidget
     * @private
     */
    shiftWidgetForRtlTable(): void;
    /**
     * @private
     */
    destroy(): void;
}
/**
 * @private
 */
export  class TableCellWidget extends BlockWidget {
    /**
     * @private
     */
    rowIndex: number;
    /**
     * @private
     */
    cellFormat: WCellFormat;
    /**
     * @private
     */
    columnIndex: number;
    private sizeInfoInternal;
    /**
     * @private
     */
    contentControlProperties: ContentControlProperties;
    /**
     * @private
     */
    updatedTopBorders: BorderInfo[];
    /**
     * @private
     */
    readonly ownerColumn: WColumn;
    /**
     * @private
     */
    readonly leftMargin: number;
    /**
     * @private
     */
    readonly topMargin: number;
    /**
     * @private
     */
    readonly rightMargin: number;
    /**
     * @private
     */
    readonly bottomMargin: number;
    /**
     * @private
     */
    readonly cellIndex: number;
    /**
     * @private
     */
    readonly ownerTable: TableWidget;
    /**
     * @private
     */
    readonly ownerRow: TableRowWidget;
    /**
     * @private
     */
    readonly sizeInfo: ColumnSizeInfo;
    constructor();
    /**
     * @private
     */
    equals(widget: Widget): boolean;
    /**
     * @private
     */
    getContainerTable(): TableWidget;
    /**
     * @private
     */
    getPreviousSplitWidget(): TableCellWidget;
    /**
     * @private
     */
    getNextSplitWidget(): TableCellWidget;
    /**
     * @private
     */
    getNextSplitCell(): Widget;
    /**
     * @private
     */
    getTableCellWidget(point: Point): TableCellWidget;
    /**
     * @private
     */
    updateWidth(preferredWidth: number): void;
    /**
     * @private
     */
    getCellWidth(block: BlockWidget): number;
    /**
     * @private
     */
    convertPointToPercent(cellPreferredWidth: number): number;
    /**
     * @private
     */
    static getCellLeftBorder(tableCell: TableCellWidget): WBorder;
    private static getPreviousCell;
    /**
     * @private
     */
    getLeftBorderWidth(): number;
    /**
     * @private
     */
    getRightBorderWidth(): number;
    /**
     * @private
     */
    getCellSpacing(): number;
    /**
     * @private
     */
    getCellSizeInfo(isAutoFit: boolean): ColumnSizeInfo;
    /**
     * @private
     */
    getMinimumPreferredWidth(): number;
    /**
     * @private
     */
    getPreviousCellLeftBorder(leftBorder: WBorder, previousCell: TableCellWidget): WBorder;
    /**
     * @private
     */
    getBorderBasedOnPriority(border: WBorder, adjacentBorder: WBorder): WBorder;
    /**
     * @private
     */
    getLeftBorderToRenderByHierarchy(leftBorder: WBorder, rowBorders: WBorders, tableBorders: WBorders): WBorder;
    /**
     * @private
     */
    static getCellRightBorder(tableCell: TableCellWidget): WBorder;
    private static getNextCell;
    /**
     * @private
     */
    getAdjacentCellRightBorder(rightBorder: WBorder, nextCell: TableCellWidget): WBorder;
    /**
     * @private
     */
    getRightBorderToRenderByHierarchy(rightBorder: WBorder, rowBorders: WBorders, tableBorders: WBorders): WBorder;
    /**
     * @private
     */
    static getCellTopBorder(tableCell: TableCellWidget): WBorder;
    private getTopAdjacentCell;
    /**
     * @private
     */
    getPreviousCellTopBorder(topBorder: WBorder, previousTopCell: TableCellWidget): WBorder;
    /**
     * @private
     */
    getTopBorderToRenderByHierarchy(topBorder: WBorder, rowBorders: WBorders, tableBorders: WBorders): WBorder;
    /**
     * @private
     */
    static getCellBottomBorder(tableCell: TableCellWidget): WBorder;
    /**
     * @private
     */
    getAdjacentCellBottomBorder(bottomBorder: WBorder, nextBottomCell: TableCellWidget): WBorder;
    /**
     * @private
     */
    getBottomBorderToRenderByHierarchy(bottomBorder: WBorder, rowBorders: WBorders, tableBorders: WBorders): WBorder;
    /**
     * @private
     */
    static getCellOf(node: WBorders): TableCellWidget;
    /**
     * Updates the Widget left.
     * @private
     */
    updateWidgetLeft(x: number): void;
    /**
     * @private
     */
    updateChildWidgetLeft(left: number): void;
    /**
     * @private
     */
    getMinimumAndMaximumWordWidth(minimumWordWidth: number, maximumWordWidth: number): WidthInfo;
    /**
     * @private
     */
    destroyInternal(viewer: LayoutViewer): void;
    /**
     * @private
     */
    clone(): TableCellWidget;
    /**
     * @private
     */
    destroy(): void;
}
/**
 * @private
 */
export  class LineWidget implements IWidget {
    /**
     * @private
     */
    children: ElementBox[];
    /**
     * @private
     */
    layoutedElements: ElementBox[];
    /**
     * @private
     */
    paragraph: ParagraphWidget;
    /**
     * @private
     */
    x: number;
    /**
     * @private
     */
    y: number;
    /**
     * @private
     */
    width: number;
    /**
     * @private
     */
    height: number;
    /**
     * @private
     */
    marginTop: number;
    /**
     * @private
     */
    maxBaseLine: number;
    /**
     * Rendered elements contains reordered element for RTL layout
     */
    readonly renderedElements: ElementBox[];
    /**
    * @private
    */
    margin: Margin;
    /**
     * @private
     */
    readonly indexInOwner: number;
    /**
     * @private
     */
    readonly nextLine: LineWidget;
    /**
     * @private
     */
    readonly previousLine: LineWidget;
    /**
     * @private
     */
    readonly isEndsWithPageBreak: boolean;
    /**
     * @private
     */
    readonly isEndsWithLineBreak: boolean;
    /**
     * Initialize the constructor of LineWidget
     */
    constructor(paragraphWidget: ParagraphWidget);
    /**
     * @private
     */
    isFirstLine(): boolean;
    /**
     * @private
     */
    isLastLine(): boolean;
    /**
     * @private
     */
    getOffset(inline: ElementBox, index: number): number;
    /**
     * @private
     */
    getEndOffset(): number;
    /**
     * @private
     */
    getInline(offset: number, indexInInline: number, bidi?: boolean, isInsert?: boolean): ElementInfo;
    /**
     * Method to retrieve next element
     * @param line
     * @param index
     */
    private getNextTextElement;
    /**
     * @private
     */
    getHierarchicalIndex(hierarchicalIndex: string): string;
    /**
     * @private
     */
    clone(): LineWidget;
    /**
     * @private
     */
    destroy(): void;
}
/**
 * @private
 */
export  abstract class ElementBox {
    /**
     * @private
     */
    x: number;
    /**
     * @private
     */
    y: number;
    /**
     * @private
     */
    width: number;
    /**
     * @private
     */
    height: number;
    /**
     * @private
     */
    margin: Margin;
    /**
     * @private
     */
    padding: Margin;
    /**
     * @private
     */
    line: LineWidget;
    /**
     * @private
     */
    characterFormat: WCharacterFormat;
    /**
     * @private
     */
    static objectCharacter: string;
    /**
     * @private
     */
    isRightToLeft: boolean;
    /**
     * @private
     */
    canTrigger: boolean;
    /**
     * @private
     */
    ischangeDetected: boolean;
    /**
     * @private
     */
    isVisible: boolean;
    /**
     * @private
     */
    isSpellChecked?: boolean;
    /**
     * @private
     */
    revisions: Revision[];
    /**
     * @private
     */
    canTrack: boolean;
    /**
     * @private
     */
    removedIds: string[];
    /**
     * @private
     */
    isMarkedForRevision: boolean;
    /**
     * @private
     */
    contentControlProperties: ContentControlProperties;
    /**
     * @private
     */
    characterRange: CharacterRangeType;
    /**
     * @private
     */
    readonly isPageBreak: boolean;
    /**
     * @private
     * Method to indicate whether current element is trackable.
     */
    readonly isValidNodeForTracking: boolean;
    /**
     * @private
     */
    readonly isCheckBoxElement: boolean;
    /**
     * @private
     */
    linkFieldCharacter(documentHelper: DocumentHelper): void;
    /**
     * @private
     */
    linkFieldTraversingBackward(line: LineWidget, fieldEnd: FieldElementBox, previousNode: ElementBox): boolean;
    /**
     * @private
     */
    linkFieldTraversingForward(line: LineWidget, fieldBegin: FieldElementBox, previousNode: ElementBox): boolean;
    /**
     * @private
     */
    linkFieldTraversingBackwardSeparator(line: LineWidget, fieldSeparator: FieldElementBox, previousNode: ElementBox): boolean;
    /**
     * @private
     */
    readonly length: number;
    /**
     * @private
     */
    readonly indexInOwner: number;
    /**
     * @private
     */
    readonly previousElement: ElementBox;
    /**
     * @private
     */
    readonly nextElement: ElementBox;
    /**
     * @private
     */
    readonly nextNode: ElementBox;
    /**
     * @private
     */
    readonly nextValidNodeForTracking: ElementBox;
    /**
     * @private
     */
    readonly previousValidNodeForTracking: ElementBox;
    /**
     * @private
     */
    readonly previousNode: ElementBox;
    /**
     * @private
     */
    readonly paragraph: ParagraphWidget;
    /**
     * Initialize the constructor of ElementBox
     */
    constructor();
    /**
     * @private
     */
    abstract getLength(): number;
    /**
     * @private
     */
    abstract clone(): ElementBox;
    /**
     * @private
     */
    destroy(): void;
}
/**
 * @private
 */
export  class FieldElementBox extends ElementBox {
    /**
     * @private
     */
    fieldType: number;
    /**
     * @private
     */
    fieldCodeType: string;
    /**
     * @private
     */
    hasFieldEnd: boolean;
    /**
     * @private
     */
    formFieldData: FormField;
    /**
    * @private
    */
    fieldBeginInternal: FieldElementBox;
    private fieldSeparatorInternal;
    private fieldEndInternal;
    fieldBegin: FieldElementBox;
    fieldSeparator: FieldElementBox;
    fieldEnd: FieldElementBox;
    /**
     * @private
     */
    readonly resultText: string;
    constructor(type: number);
    /**
     * @private
     */
    getLength(): number;
    /**
     * @private
     */
    clone(): FieldElementBox;
    /**
     * @private
     */
    destroy(): void;
}
/**
 * @private
 */
export  abstract class FormField {
    name: string;
    /**
     * @private
     */
    enabled: boolean;
    /**
     * @private
     */
    helpText: string;
    /**
     * @private
     */
    statusText: string;
    /**
     * @private
     */
    abstract clone(): FormField;
    /**
     * @private
     */
    abstract getFormFieldInfo(): TextFormFieldInfo | CheckBoxFormFieldInfo | DropDownFormFieldInfo;
    /**
     * @private
     */
    abstract copyFieldInfo(info: TextFormFieldInfo | CheckBoxFormFieldInfo | DropDownFormFieldInfo): void;
}
/**
 * @private
 */
export  class TextFormField extends FormField {
    /**
     * @private
     */
    type: TextFormFieldType;
    /**
     * @private
     */
    maxLength: number;
    /**
     * @private
     */
    defaultValue: string;
    /**
     * @private
     */
    format: string;
    /**
     * @private
     */
    clone(): TextFormField;
    /**
     * @private
     */
    getFormFieldInfo(): TextFormFieldInfo;
    /**
     * @private
     */
    copyFieldInfo(info: TextFormFieldInfo): void;
}
/**
 * @private
 */
export  class CheckBoxFormField extends FormField {
    /**
     * @private
     */
    sizeType: CheckBoxSizeType;
    /**
     * @private
     */
    size: number;
    /**
     * @private
     */
    defaultValue: boolean;
    /**
     * @private
     */
    checked: boolean;
    /**
     * @private
     */
    clone(): CheckBoxFormField;
    /**
     * @private
     */
    getFormFieldInfo(): CheckBoxFormFieldInfo;
    /**
     * @private
     */
    copyFieldInfo(info: CheckBoxFormFieldInfo): void;
}
/**
 * @private
 */
export  class DropDownFormField extends FormField {
    /**
     * @private
     */
    dropdownItems: string[];
    /**
     * @private
     */
    selectedIndex: number;
    /**
     * @private
     */
    clone(): DropDownFormField;
    /**
     * @private
     */
    getFormFieldInfo(): DropDownFormFieldInfo;
    /**
     * @private
     */
    copyFieldInfo(info: DropDownFormFieldInfo): void;
}
/**
 * @private
 */
export  class TextElementBox extends ElementBox {
    /**
     * @private
     */
    baselineOffset: number;
    /**
     * @private
     */
    text: string;
    /**
     * @private
     */
    trimEndWidth: number;
    /**
     * @private
     */
    errorCollection?: ErrorTextElementBox[];
    /**
     * @private
     */
    ignoreOnceItems?: string[];
    /**
     * @private
     */
    istextCombined?: boolean;
    /**
     * @private
     */
    scriptType?: FontScriptType;
    constructor();
    /**
     * @private
     */
    getLength(): number;
    /**
     * @private
     */
    clone(): TextElementBox;
    /**
     * @private
     */
    destroy(): void;
}
/**
 * @private
 */
export  class Footnote {
    /**
     * @private
     */
    separator: BlockWidget[];
    /**
     * @private
     */
    continuationSeparator: BlockWidget[];
    /**
     * @private
     */
    continuationNotice: BlockWidget[];
    constructor();
    /**
     * @private
     */
    clear(): void;
    destroy(): void;
}
/**
 * @private
 */
export  class FootnoteElementBox extends TextElementBox {
    /**
     * @private
     */
    footnoteType: FootnoteType;
    /**
     * @private
     */
    characterFormat: WCharacterFormat;
    /**
     * @private
     */
    bodyWidget: BodyWidget;
    /**
     * @private
     */
    symbolCode: string;
    /**
     * @private
     */
    height: number;
    /**
     * @private
     */
    index: boolean;
    isLayout: boolean;
    /**
     * @private
     */
    symbolFontName: string;
    /**
     * @private
     */
    customMarker: string;
    constructor();
    clone(): FootnoteElementBox;
    getLength(): number;
    destroy(): void;
}
/**
 * @private
 */
export  class ErrorTextElementBox extends TextElementBox {
    private startIn;
    private endIn;
    start: TextPosition;
    end: TextPosition;
    constructor();
    destroy(): void;
}
/**
 * @private
 */
export  class FieldTextElementBox extends TextElementBox {
    /**
     * @private
     */
    fieldBegin: FieldElementBox;
    private fieldText;
    text: string;
    constructor();
    /**
     * @private
     */
    clone(): FieldTextElementBox;
}
/**
 * @private
 */
export  class TabElementBox extends TextElementBox {
    /**
     * @private
     */
    tabText: string;
    /**
     * @private
     */
    tabLeader: TabLeader;
    /**
     * @private
     */
    destroy(): void;
    constructor();
    /**
     * @private
     */
    clone(): TabElementBox;
}
/**
 * @private
 */
export  class BookmarkElementBox extends ElementBox {
    private bookmarkTypeIn;
    private refereneceIn;
    private nameIn;
    /**
     * @private
     */
    readonly bookmarkType: number;
    /**
     * @private
     */
    /**
    * @private
    */
    name: string;
    /**
     * @private
     */
    /**
    * @private
    */
    reference: BookmarkElementBox;
    constructor(type: number);
    /**
     * @private
     */
    getLength(): number;
    /**
     * @private
     */
    destroy(): void;
    /**
     * Clones the bookmark element box.
     * @param element - book mark element
     */
    /**
     * @private
     */
    clone(): BookmarkElementBox;
}
/**
 * @private
 */
export  class ContentControl extends ElementBox {
    /**
     * @private
     */
    contentControlProperties: ContentControlProperties;
    /**
     * @private
     */
    type: number;
    /**
     * @private
     */
    reference: ContentControl;
    /**
     * @private
     */
    contentControlWidgetType: ContentControlWidgetType;
    constructor(widgetType: ContentControlWidgetType);
    /**
     * @private
     */
    getLength(): number;
    /**
     * @private
     */
    clone(): ElementBox;
    /**
     * @private
     */
    destroy(): void;
}
/**
 * @private
 */
/**
 * @private
 */
export  class ContentControlProperties {
    /**
     * @private
     */
    contentControlWidgetType: ContentControlWidgetType;
    /**
     * @private
     */
    lockContentControl: boolean;
    /**
     * @private
     */
    lockContents: boolean;
    /**
     * @private
     */
    tag: string;
    /**
     * @private
     */
    color: string;
    /**
     * @private
     */
    title: string;
    /**
     * @private
     */
    appearance: string;
    /**
     * @private
     */
    type: ContentControlType;
    /**
     * @private
     */
    hasPlaceHolderText: boolean;
    /**
     * @private
     */
    multiline: boolean;
    /**
     * @private
     */
    isTemporary: boolean;
    /**
     * @private
     */
    isChecked: boolean;
    /**
     * @private
     */
    dateCalendarType: string;
    /**
     * @private
     */
    dateStorageFormat: string;
    /**
     * @private
     */
    dateDisplayLocale: string;
    /**
     * @private
     */
    dateDisplayFormat: string;
    /**
     * @private
     */
    uncheckedState: CheckBoxState;
    /**
     * @private
     */
    checkedState: CheckBoxState;
    /**
     * @private
     */
    contentControlListItems: ContentControlListItems[];
    /**
     * @private
     */
    xmlMapping: XmlMapping;
    /**
     * @private
     */
    characterFormat: WCharacterFormat;
    constructor(widgetType: ContentControlWidgetType);
    /**
     * @private
     */
    destroy(): void;
    /**
     * @private
     */
    clone(): ContentControlProperties;
}
/**
 * @private
 */
export  class ContentControlListItems {
    /**
     * @private
     */
    displayText: string;
    /**
     * @private
     */
    value: string;
    /**
     * @private
     */
    destroy(): void;
    /**
     * @private
     */
    clone(): ContentControlListItems;
}
/**
 * @private
 */
export  class CheckBoxState {
    /**
     * @private
     */
    font: string;
    /**
     * @private
     */
    value: string;
    /**
     * @private
     */
    destroy(): void;
    /**
     * @private
     */
    clone(): CheckBoxState;
}
/**
 * @private
 */
export  class XmlMapping {
    /**
     * @private
     */
    isMapped: boolean;
    /**
     * @private
     */
    isWordMl: boolean;
    /**
     * @private
     */
    prefixMapping: string;
    /**
     * @private
     */
    xPath: string;
    /**
     * @private
     */
    storeItemId: string;
    /**
     * @private
     */
    customXmlPart: CustomXmlPart;
    /**
     * @private
     */
    destroy(): void;
    /**
     * @private
     */
    clone(): XmlMapping;
}
/**
 * @private
 */
export  class CustomXmlPart {
    /**
     * @private
     */
    id: string;
    /**
     * @private
     */
    xml: string;
    /**
     * @private
     */
    destroy(): void;
    /**
     * @private
     */
    clone(): CustomXmlPart;
}
/**
 * @private
 */
export  class ShapeCommon extends ElementBox {
    /**
     * @private
     */
    shapeId: number;
    /**
     * @private
     */
    name: string;
    /**
     * @private
     */
    alternativeText: string;
    /**
     * @private
     */
    title: string;
    /**
     * @private
     */
    visible: boolean;
    /**
     * @private
     */
    width: number;
    /**
     * @private
     */
    height: number;
    /**
     * @private
     */
    widthScale: number;
    /**
     * @private
     */
    heightScale: number;
    /**
     * @private
     */
    lineFormat: LineFormat;
    /**
     * @private
     */
    fillFormat: FillFormat;
    /**
     *
     * @private
     */
    getLength(): number;
    /**
     * @private
     */
    clone(): ShapeCommon;
}
/**
 * @private
 */
export  class ShapeBase extends ShapeCommon {
    /**
     * @private
     */
    verticalPosition: number;
    /**
     * @private
     */
    verticalOrigin: VerticalOrigin;
    /**
     * @private
     */
    verticalAlignment: VerticalAlignment;
    /**
     * @private
     */
    verticalRelativePercent: number;
    /**
     * @private
     */
    horizontalPosition: number;
    /**
     * @private
     */
    horizontalOrigin: HorizontalOrigin;
    /**
     * @private
     */
    horizontalAlignment: HorizontalAlignment;
    /**
     * @private
     */
    horizontalRelativePercent: number;
    /**
     * @private
     */
    zOrderPosition: number;
    /**
     * @private
     */
    allowOverlap: boolean;
    /**
     * @private
     */
    textWrappingStyle: TextWrappingStyle;
    /**
     * @private
     */
    textWrappingType: TextWrappingType;
    /**
     * @private
     */
    distanceBottom: number;
    /**
     * @private
     */
    distanceLeft: number;
    /**
     * @private
     */
    distanceRight: number;
    /**
     * @private
     */
    distanceTop: number;
    /**
     * @private
     */
    layoutInCell: boolean;
    /**
     * @private
     */
    lockAnchor: boolean;
}
/**
 * @private
 */
export  class ShapeElementBox extends ShapeBase {
    /**
     * @private
     */
    textFrame: TextFrame;
    /**
     * @private
     */
    autoShapeType: AutoShapeType;
    /**
     * @private
     */
    clone(): ShapeElementBox;
}
/**
 * @private
 */
export  class TextFrame extends Widget {
    /**
     * @private
     */
    containerShape: ElementBox;
    /**
     * @private
     */
    textVerticalAlignment: VerticalAlignment;
    /**
     * @private
     */
    marginLeft: number;
    /**
     * @private
     */
    marginRight: number;
    /**
     * @private
     */
    marginTop: number;
    /**
     * @private
     */
    marginBottom: number;
    equals(): boolean;
    destroyInternal(): void;
    getHierarchicalIndex(index: string): string;
    getTableCellWidget(): TableCellWidget;
    /**
     * @private
     */
    clone(): TextFrame;
}
/**
 * @private
 */
export  class LineFormat {
    /**
     * @private
     */
    line: boolean;
    /**
     * @private
     */
    lineFormatType: LineFormatType;
    /**
     * @private
     */
    color: string;
    /**
     * @private
     */
    weight: number;
    /**
     * @private
     */
    dashStyle: LineDashing;
    /**
     * @private
     */
    clone(): LineFormat;
}
/**
 * @private
 */
export  class FillFormat {
    /**
     * @private
     */
    color: string;
    /**
     * @private
     */
    fill: boolean;
    /**
     * @private
     */
    clone(): FillFormat;
}
/**
 * @private
 */
export  class ImageElementBox extends ShapeBase {
    private imageStr;
    private imgElement;
    private isInlineImageIn;
    private crop;
    /**
     * @private
     */
    isCrop: boolean;
    /**
     * @private
     */
    cropX: number;
    /**
     * @private
     */
    cropY: number;
    /**
     * @private
     */
    cropWidth: number;
    /**
     * @private
     */
    cropHeight: number;
    /**
     * @private
     */
    cropWidthScale: number;
    /**
     * @private
     */
    cropHeightScale: number;
    /**
     * @private
     */
    left: number;
    /**
     * @private
     */
    top: number;
    /**
     * @private
     */
    right: number;
    /**
     * @private
     */
    bottom: number;
    /**
     * @private
     */
    isMetaFile: boolean;
    /**
     * @private
     */
    isCompressed: boolean;
    /**
     * @private
     */
    metaFileImageString: string;
    /**
     * @private
     */
    readonly isInlineImage: boolean;
    /**
     * @private
     */
    readonly element: HTMLImageElement;
    /**
     * @private
     */
    readonly length: number;
    /**
     * @private
     */
    /**
    * @private
    */
    imageString: string;
    constructor(isInlineImage?: boolean);
    /**
     * @private
     */
    getLength(): number;
    /**
     * @private
     */
    clone(): ImageElementBox;
    /**
     * @private
     */
    destroy(): void;
}
/**
 * @private
 */
export  class ListTextElementBox extends ElementBox {
    /**
     * @private
     */
    baselineOffset: number;
    /**
     * @private
     */
    text: string;
    /**
     * @private
     */
    trimEndWidth: number;
    /**
     * @private
     */
    listLevel: WListLevel;
    /**
     * @private
     */
    isFollowCharacter: boolean;
    constructor(listLevel: WListLevel, isListFollowCharacter: boolean);
    /**
     * @private
     */
    getLength(): number;
    /**
     * @private
     */
    clone(): ListTextElementBox;
    /**
     * @private
     */
    destroy(): void;
}
/**
 * @private
 */
export  class EditRangeEndElementBox extends ElementBox {
    /**
     * @private
     */
    editRangeStart: EditRangeStartElementBox;
    editRangeId: number;
    constructor();
    /**
     * @private
     */
    getLength(): number;
    /**
     * @private
     */
    destroy(): void;
    /**
     * @private
     */
    clone(): EditRangeEndElementBox;
}
/**
 * @private
 */
export  class EditRangeStartElementBox extends ElementBox {
    /**
     * @private
     */
    columnFirst: number;
    /**
     * @private
     */
    columnLast: number;
    /**
     * @private
     */
    user: string;
    /**
     * @private
     */
    group: string;
    /**
     * @private
     */
    editRangeEnd: EditRangeEndElementBox;
    editRangeId: number;
    /**
     * Edit range mark
     * @private
     */
    editRangeMark: HTMLElement;
    constructor();
    /**
     * @private
     */
    getLength(): number;
    /**
     * @private
     */
    renderLockMark(currentUser: string, locale: base.L10n): void;
    /**
     * @private
     */
    removeEditRangeMark(): void;
    /**
     * @private
     */
    destroy(): void;
    /**
     * @private
     */
    clone(): EditRangeStartElementBox;
}
/**
 * @private
 */
export  class ChartElementBox extends ImageElementBox {
    /**
     * @private
     */
    private div;
    /**
     * @private
     */
    private officeChartInternal;
    /**
     * @private
     */
    private chartTitle;
    /**
     * @private
     */
    private chartType;
    /**
     * @private
     */
    private gapWidth;
    /**
     * @private
     */
    private overlap;
    /**
     * @private
     */
    private chartElement;
    /**
     * @private
     */
    chartArea: ChartArea;
    /**
     * @private
     */
    chartPlotArea: ChartArea;
    /**
     * @private
     */
    chartCategory: ChartCategory[];
    /**
     * @private
     */
    chartSeries: ChartSeries[];
    /**
     * @private
     */
    chartTitleArea: ChartTitleArea;
    /**
     * @private
     */
    chartLegend: ChartLegend;
    /**
     * @private
     */
    chartPrimaryCategoryAxis: ChartCategoryAxis;
    /**
     * @private
     */
    chartPrimaryValueAxis: ChartCategoryAxis;
    /**
     * @private
     */
    chartDataTable: ChartDataTable;
    /**
     * @private
     */
    getLength(): number;
    /**
     * @private
     */
    /**
    * @private
    */
    title: string;
    /**
     * @private
     */
    /**
    * @private
    */
    type: string;
    /**
     * @private
     */
    /**
    * @private
    */
    chartGapWidth: number;
    /**
     * @private
     */
    /**
    * @private
    */
    chartOverlap: number;
    /**
     * @private
     */
    readonly targetElement: HTMLDivElement;
    /**
     * @private
     */
    /**
    * @private
    */
    officeChart: officeChart.ChartComponent;
    /**
     * @private
     */
    constructor();
    private onChartLoaded;
    /**
     * @private
     */
    clone(): ChartElementBox;
    /**
     * @private
     */
    destroy(): void;
}
/**
 * @private
 */
export  class ChartArea {
    /**
     * @private
     */
    private foreColor;
    /**
     * @private
     */
    /**
    * @private
    */
    chartForeColor: string;
    /**
     * @private
     */
    clone(): ChartArea;
    /**
     * @private
     */
    destroy(): void;
}
/**
 * @private
 */
export  class ChartCategory {
    /**
     * @private
     */
    private categoryXName;
    /**
     * @private
     */
    chartData: ChartData[];
    /**
     * @private
     */
    /**
    * @private
    */
    xName: string;
    /**
     * @private
     */
    clone(): ChartCategory;
    /**
     * @private
     */
    destroy(): void;
}
/**
 * @private
 */
export  class ChartData {
    private yValue;
    private xValue;
    private size;
    /**
     * @private
     */
    /**
    * @private
    */
    yAxisValue: number;
    /**
     * @private
     */
    /**
    * @private
    */
    xAxisValue: number;
    /**
     * @private
     */
    /**
    * @private
    */
    bubbleSize: number;
    /**
     * @private
     */
    clone(): ChartData;
    /**
     * @private
     */
    destroy(): void;
}
/**
 * @private
 */
export  class ChartLegend {
    /**
     * @private
     */
    private legendPostion;
    /**
     * @private
     */
    chartTitleArea: ChartTitleArea;
    /**
     * @private
     */
    /**
    * @private
    */
    chartLegendPostion: string;
    /**
     * @private
     */
    constructor();
    /**
     * @private
     */
    clone(): ChartLegend;
    /**
     * @private
     */
    destroy(): void;
}
/**
 * @private
 */
export  class ChartSeries {
    /**
     * @private
     */
    chartDataFormat: ChartDataFormat[];
    /**
     * @private
     */
    errorBar: ChartErrorBar;
    /**
     * @private
     */
    seriesFormat: ChartSeriesFormat;
    /**
     * @private
     */
    trendLines: ChartTrendLines[];
    /**
     * @private
     */
    private name;
    /**
     * @private
     */
    private sliceAngle;
    /**
     * @private
     */
    private holeSize;
    /**
     * @private
     */
    dataLabels: ChartDataLabels;
    /**
     * @private
     */
    /**
    * @private
    */
    seriesName: string;
    /**
     * @private
     */
    /**
    * @private
    */
    firstSliceAngle: number;
    /**
     * @private
     */
    /**
    * @private
    */
    doughnutHoleSize: number;
    constructor();
    /**
     * @private
     */
    clone(): ChartSeries;
    /**
     * @private
     */
    destroy(): void;
}
/**
 * @private
 */
export  class ChartErrorBar {
    /**
     * @private
     */
    private type;
    /**
     * @private
     */
    private direction;
    /**
     * @private
     */
    private errorValue;
    /**
     * @private
     */
    private endStyle;
    /**
     * @private
     */
    /**
    * @private
    */
    errorType: string;
    /**
     * @private
     */
    /**
    * @private
    */
    errorDirection: string;
    /**
     * @private
     */
    /**
    * @private
    */
    errorEndStyle: string;
    /**
    * @private
    */
    numberValue: number;
    /**
     * @private
     */
    clone(): ChartErrorBar;
    /**
     * @private
     */
    destroy(): void;
}
/**
 * @private
 */
export  class ChartSeriesFormat {
    /**
     * @private
     */
    private style;
    /**
     * @private
     */
    private color;
    /**
     * @private
     */
    private size;
    /**
     * @private
     */
    /**
    * @private
    */
    markerStyle: string;
    /**
     * @private
     */
    /**
    * @private
    */
    markerColor: string;
    /**
     * @private
     */
    /**
    * @private
    */
    numberValue: number;
    /**
     * @private
     */
    clone(): ChartSeriesFormat;
    /**
     * @private
     */
    destroy(): void;
}
/**
 * @private
 */
export  class ChartDataLabels {
    /**
     * @private
     */
    private position;
    /**
     * @private
     */
    private name;
    /**
     * @private
     */
    private color;
    /**
     * @private
     */
    private size;
    /**
     * @private
     */
    private isLegend;
    /**
     * @private
     */
    private isBubble;
    /**
     * @private
     */
    private isCategory;
    /**
     * @private
     */
    private isSeries;
    /**
     * @private
     */
    private isValueEnabled;
    /**
     * @private
     */
    private isPercentageEnabled;
    /**
     * @private
     */
    private showLeaderLines;
    /**
     * @private
     */
    /**
    * @private
    */
    labelPosition: string;
    /**
     * @private
     */
    /**
    * @private
    */
    fontName: string;
    /**
     * @private
     */
    /**
    * @private
    */
    fontColor: string;
    /**
     * @private
     */
    /**
    * @private
    */
    fontSize: number;
    /**
     * @private
     */
    /**
    * @private
    */
    isLegendKey: boolean;
    /**
     * @private
     */
    /**
    * @private
    */
    isBubbleSize: boolean;
    /**
     * @private
     */
    /**
    * @private
    */
    isCategoryName: boolean;
    /**
     * @private
     */
    /**
    * @private
    */
    isSeriesName: boolean;
    /**
     * @private
     */
    /**
    * @private
    */
    isValue: boolean;
    /**
     * @private
     */
    /**
    * @private
    */
    isPercentage: boolean;
    /**
     * @private
     */
    /**
    * @private
    */
    isLeaderLines: boolean;
    /**
     * @private
     */
    clone(): ChartDataLabels;
    /**
     * @private
     */
    destroy(): void;
}
/**
 * @private
 */
export  class ChartTrendLines {
    /**
     * @private
     */
    private type;
    /**
     * @private
     */
    private name;
    /**
     * @private
     */
    private backward;
    /**
     * @private
     */
    private forward;
    /**
     * @private
     */
    private intercept;
    /**
     * @private
     */
    private displayRSquared;
    /**
     * @private
     */
    private displayEquation;
    /**
     * @private
     */
    /**
    * @private
    */
    trendLineType: string;
    /**
     * @private
     */
    /**
    * @private
    */
    trendLineName: string;
    /**
     * @private
     */
    /**
    * @private
    */
    interceptValue: number;
    /**
     * @private
     */
    /**
    * @private
    */
    forwardValue: number;
    /**
     * @private
     */
    /**
    * @private
    */
    backwardValue: number;
    /**
     * @private
     */
    /**
    * @private
    */
    isDisplayRSquared: boolean;
    /**
     * @private
     */
    /**
    * @private
    */
    isDisplayEquation: boolean;
    /**
     * @private
     */
    clone(): ChartTrendLines;
    /**
     * @private
     */
    destroy(): void;
}
/**
 * @private
 */
export  class ChartTitleArea {
    /**
     * @private
     */
    private fontName;
    /**
     * @private
     */
    private fontSize;
    /**
     * @private
     */
    dataFormat: ChartDataFormat;
    /**
     * @private
     */
    layout: ChartLayout;
    /**
     * @private
     */
    /**
    * @private
    */
    chartfontName: string;
    /**
     * @private
     */
    /**
    * @private
    */
    chartFontSize: number;
    /**
     * @private
     */
    constructor();
    /**
     * @private
     */
    clone(): ChartTitleArea;
    /**
     * @private
     */
    destroy(): void;
}
/**
 * @private
 */
export  class ChartDataFormat {
    /**
     * @private
     */
    line: ChartFill;
    /**
     * @private
     */
    fill: ChartFill;
    /**
     * @private
     */
    constructor();
    /**
     * @private
     */
    clone(): ChartDataFormat;
    /**
     * @private
     */
    destroy(): void;
}
/**
 * @private
 */
export  class ChartFill {
    /**
     * @private
     */
    private fillColor;
    /**
     * @private
     */
    private fillRGB;
    /**
     * @private
     */
    /**
    * @private
    */
    color: string;
    /**
     * @private
     */
    /**
    * @private
    */
    rgb: string;
    /**
     * @private
     */
    clone(): ChartFill;
    /**
     * @private
     */
    destroy(): void;
}
/**
 * @private
 */
export  class ChartLayout {
    /**
     * @private
     */
    private layoutX;
    /**
     * @private
     */
    private layoutY;
    /**
     * @private
     */
    /**
    * @private
    */
    chartLayoutLeft: number;
    /**
     * @private
     */
    /**
    * @private
    */
    chartLayoutTop: number;
    /**
     * @private
     */
    clone(): ChartLayout;
    /**
     * @private
     */
    destroy(): void;
}
/**
 * @private
 */
export  class ChartCategoryAxis {
    /**
     * @private
     */
    private title;
    /**
     * @private
     */
    private fontSize;
    /**
     * @private
     */
    private fontName;
    /**
     * @private
     */
    private categoryType;
    /**
     * @private
     */
    private numberFormat;
    /**
     * @private
     */
    chartTitleArea: ChartTitleArea;
    /**
     * @private
     */
    private hasMajorGridLines;
    /**
     * @private
     */
    private hasMinorGridLines;
    /**
     * @private
     */
    private majorTickMark;
    /**
     * @private
     */
    private minorTickMark;
    /**
     * @private
     */
    private tickLabelPostion;
    /**
     * @private
     */
    private majorUnit;
    /**
     * @private
     */
    private minimumValue;
    /**
     * @private
     */
    private maximumValue;
    /**
     * @private
     */
    /**
    * @private
    */
    majorTick: string;
    /**
     * @private
     */
    /**
    * @private
    */
    minorTick: string;
    /**
     * @private
     */
    /**
    * @private
    */
    tickPosition: string;
    /**
     * @private
     */
    /**
    * @private
    */
    minorGridLines: boolean;
    /**
     * @private
     */
    /**
    * @private
    */
    majorGridLines: boolean;
    /**
     * @private
     */
    /**
    * @private
    */
    interval: number;
    /**
     * @private
     */
    /**
    * @private
    */
    max: number;
    /**
     * @private
     */
    /**
    * @private
    */
    min: number;
    /**
     * @private
     */
    /**
    * @private
    */
    categoryAxisTitle: string;
    /**
     * @private
     */
    /**
    * @private
    */
    categoryAxisType: string;
    /**
     * @private
     */
    /**
    * @private
    */
    categoryNumberFormat: string;
    /**
     * @private
     */
    /**
    * @private
    */
    axisFontSize: number;
    /**
     * @private
     */
    /**
    * @private
    */
    axisFontName: string;
    constructor();
    /**
     * @private
     */
    clone(): ChartCategoryAxis;
    /**
     * @private
     */
    destroy(): void;
}
/**
 * @private
 */
export  class ChartDataTable {
    /**
     * @private
     */
    private isSeriesKeys;
    /**
     * @private
     */
    private isHorzBorder;
    /**
     * @private
     */
    private isVertBorder;
    /**
     * @private
     */
    private isBorders;
    /**
     * @private
     */
    /**
    * @private
    */
    showSeriesKeys: boolean;
    /**
     * @private
     */
    /**
    * @private
    */
    hasHorzBorder: boolean;
    /**
     * @private
     */
    /**
    * @private
    */
    hasVertBorder: boolean;
    /**
     * @private
     */
    /**
    * @private
    */
    hasBorders: boolean;
    /**
     * @private
     */
    clone(): ChartDataTable;
    /**
     * @private
     */
    destroy(): void;
}
/**
 * @private
 */
export  class CommentCharacterElementBox extends ElementBox {
    commentType: number;
    commentId: string;
    private commentInternal;
    commentMark: HTMLElement;
    comment: CommentElementBox;
    getLength(): number;
    clone(): ElementBox;
    constructor(type: number);
    renderCommentMark(): void;
    selectComment(): void;
    removeCommentMark(): void;
    destroy(): void;
}
/**
 * @private
 */
export  class CommentElementBox extends CommentCharacterElementBox {
    private commentStartIn;
    private commentEndIn;
    private createdDate;
    private authorIn;
    private initialIn;
    private done;
    private textIn;
    replyComments: CommentElementBox[];
    isReply: boolean;
    ownerComment: CommentElementBox;
    commentStart: CommentCharacterElementBox;
    commentEnd: CommentCharacterElementBox;
    author: string;
    initial: string;
    isResolved: boolean;
    readonly date: string;
    text: string;
    constructor(date: string);
    getLength(): number;
    clone(): ElementBox;
    destroy(): void;
}
/**
 * @private
 */
export  class Page {
    /**
     * Specifies the Viewer
     * @private
     */
    documentHelper: DocumentHelper;
    /**
     * Specifies the Bonding Rectangle
     * @private
     */
    boundingRectangle: Rect;
    /**
     * @private
     */
    repeatHeaderRowTableWidget: boolean;
    /**
     * Specifies the bodyWidgets
     * @default []
     * @private
     */
    bodyWidgets: BodyWidget[];
    /**
     * @private
     */
    headerWidgetIn: HeaderFooterWidget;
    /**
     * @private
     */
    footerWidgetIn: HeaderFooterWidget;
    /**
     * @private
     */
    footnoteWidget: FootNoteWidget;
    /**
     * @private
     */
    endnoteWidget: FootNoteWidget;
    /**
     * @private
     */
    currentPageNum: number;
    /**
     * @private
     */
    allowNextPageRendering: boolean;
    /**
     * @private
     */
    /**
    * @private
    */
    headerWidget: HeaderFooterWidget;
    /**
     * @private
     */
    /**
    * @private
    */
    footerWidget: HeaderFooterWidget;
    /**
     * @private
     */
    readonly index: number;
    /**
     * @private
     */
    readonly previousPage: Page;
    /**
     * @private
     */
    readonly nextPage: Page;
    /**
     * @private
     */
    readonly sectionIndex: number;
    /**
     * Initialize the constructor of Page
     */
    constructor(documentHelper: DocumentHelper);
    readonly viewer: LayoutViewer;
    destroy(): void;
}
/**
 * @private
 */
export  class WTableHolder {
    private tableColumns;
    /**
     * @private
     */
    tableWidth: number;
    readonly columns: WColumn[];
    /**
     * @private
     */
    resetColumns(): void;
    /**
     * @private
     */
    getPreviousSpannedCellWidth(previousColumnIndex: number, curColumnIndex: number): number;
    /**
     * @private
     */
    addColumns(currentColumnIndex: number, columnSpan: number, width: number, sizeInfo: ColumnSizeInfo, offset: number, preferredWidthType: WidthType): void;
    /**
     * @private
     */
    getTotalWidth(type: number): number;
    /**
     * @private
     */
    isFitColumns(containerWidth: number, preferredTableWidth: number, isAutoWidth: boolean): boolean;
    /**
     * @private
     */
    isAllColumnHasPointWidthType(): boolean;
    /**
     * @private
     */
    autoFitColumn(containerWidth: number, preferredTableWidth: number, isAuto: boolean, isNestedTable: boolean, hasSpannedCells: boolean, indent?: number): void;
    /**
     * @private
     */
    getValidColumnIndex(index: number): number;
    /**
     * @private
     */
    fitColumns(containerWidth: number, preferredTableWidth: number, isAutoWidth: boolean, indent?: number): void;
    /**
     * @private
     */
    getCellWidth(columnIndex: number, columnSpan: number, preferredTableWidth: number): number;
    /**
     * @private
     */
    validateColumnWidths(): void;
    private getPreviousValidOffset;
    /**
     * @private
     */
    clone(): WTableHolder;
    /**
     * @private
     */
    destroy(): void;
}
/**
 * @private
 */
export  class WColumn {
    /**
     * @private
     */
    preferredWidth: number;
    /**
     * @private
     */
    minWidth: number;
    /**
     * @private
     */
    maxWidth: number;
    /**
     * @private
     */
    endOffset: number;
    /**
     * @private
     */
    minimumWordWidth: number;
    /**
     * @private
     */
    maximumWordWidth: number;
    /**
     * @private
     */
    minimumWidth: number;
    /**
     * @private
     */
    widthType: WidthType;
    /**
     * @private
     */
    clone(): WColumn;
    /**
     * @private
     */
    destroy(): void;
}
/**
 * @private
 */
export  class ColumnSizeInfo {
    /**
     * @private
     */
    minimumWordWidth: number;
    /**
     * @private
     */
    maximumWordWidth: number;
    /**
     * @private
     */
    minimumWidth: number;
    /**
     * @private
     */
    hasMinimumWidth: boolean;
    /**
     * @private
     */
    hasMinimumWordWidth: boolean;
    /**
     * @private
     */
    hasMaximumWordWidth: boolean;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/viewer/render.d.ts
/**
 * @private
 */
export  class Renderer {
    isPrinting: boolean;
    private pageLeft;
    private pageTop;
    private documentHelper;
    private pageIndex;
    private pageCanvasIn;
    private isFieldCode;
    private leftPosition;
    private topPosition;
    private height;
    readonly pageCanvas: HTMLCanvasElement;
    readonly spellChecker: SpellChecker;
    private readonly selectionCanvas;
    private readonly pageContext;
    private readonly selectionContext;
    constructor(documentHelper: DocumentHelper);
    private readonly viewer;
    renderWidgets(page: Page, left: number, top: number, width: number, height: number): void;
    private setPageSize;
    private renderHFWidgets;
    private renderHeaderSeparator;
    private getFooterHeight;
    private getHeaderFooterType;
    renderDashLine(context: CanvasRenderingContext2D, x: number, y: number, width: number, fillStyle: string, isSmallDash: boolean): void;
    renderSolidLine(context: CanvasRenderingContext2D, x: number, y: number, width: number, fillStyle: string): void;
    private renderHeaderFooterMark;
    private renderHeaderFooterMarkText;
    private render;
    private renderFloatingItems;
    private renderShapeElementBox;
    private renderWidget;
    private renderLockRegionBorder;
    private renderHeader;
    private renderParagraphWidget;
    private renderParagraphBorder;
    private getContainerWidth;
    private getTopMargin;
    private getBottomMargin;
    private renderfootNoteWidget;
    private renderTableWidget;
    private renderTableRowWidget;
    private renderTableCellWidget;
    private checkHeaderFooterLineWidget;
    private renderEditRegionHighlight;
    private renderSearchHighlight;
    private renderSelectionHighlight;
    private renderSelectionHighlightOnTable;
    private renderLine;
    private retriveCharacterformat;
    private toSkipFieldCode;
    getUnderlineYPosition(lineWidget: LineWidget): number;
    private renderListTextElementBox;
    private getDefaultFontColor;
    private renderTextElementBox;
    private tabMark;
    private replaceSpace;
    private inverseCharacter;
    private getBackgroundColorHeirachy;
    private handleChangeDetectedElements;
    handleUnorderedElements(currentText: string, elementBox: TextElementBox, underlineY: number, iteration: number, markIndex: number, isLastItem?: boolean, beforeIndex?: number): void;
    renderWavyLine(elementBox: TextElementBox, left: number, top: number, underlineY: number, color: string, underline: Underline, baselineAlignment: BaselineAlignment, backgroundColor?: string): void;
    drawWavy(from: Point, to: Point, frequency: number, amplitude: number, step: number, color: string, height: number, backColor: string, negative?: number): void;
    /**
     * @private
     */
    getTabLeader(elementBox: TabElementBox): string;
    private getTabLeaderString;
    private clipRect;
    private renderUnderline;
    private renderStrikeThrough;
    private renderImageElementBox;
    private renderTableOutline;
    private renderTableCellOutline;
    private renderCellBackground;
    private drawTextureStyle;
    private getForeColor;
    private getColorValue;
    private renderSingleBorder;
    getScaledValue(value: number, type?: number): number;
    private checkRevisionType;
    private getRevisionColor;
    private getRevisionType;
    private getFormfieldInLine;
    /**
     * Destroys the internal objects which is maintained.
     *
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/viewer/sfdt-reader.d.ts
/**
 * @private
 */
export  class SfdtReader {
    private documentHelper;
    private fieldSeparator;
    /**
     * @private
     */
    commentStarts: Dictionary<string, CommentCharacterElementBox>;
    /**
     * @private
     */
    commentEnds: Dictionary<string, CommentCharacterElementBox>;
    /**
     * @private
     */
    commentsCollection: Dictionary<string, CommentElementBox>;
    /**
     * @private
     */
    revisionCollection: Dictionary<string, Revision>;
    private isPageBreakInsideTable;
    private referedRevisions;
    private editableRanges;
    private isParseHeader;
    footnotes: Footnote;
    endnotes: Footnote;
    /**
     * @private
     */
    isCutPerformed: boolean;
    /**
     * @private
     */
    isPaste: boolean;
    /**
     * @private
     */
    isHtmlPaste: boolean;
    private readonly isPasting;
    constructor(documentHelper: DocumentHelper);
    private readonly viewer;
    convertJsonToDocument(json: string): BodyWidget[];
    private generalizeRevisions;
    private parseFootnotes;
    private parseEndtnotes;
    private parseCustomXml;
    private parseDocumentProtection;
    private parseStyles;
    parseRevisions(data: any, revisions: Revision[]): void;
    parseRevision(data: any): Revision;
    private checkAndApplyRevision;
    parseComments(data: any, comments: CommentElementBox[]): void;
    private parseComment;
    private parseCommentText;
    parseStyle(data: any, style: any, styles: WStyles): void;
    private getStyle;
    parseAbstractList(data: any, abstractLists: WAbstractList[]): void;
    private parseListLevel;
    parseList(data: any, listCollection: WList[]): void;
    private parseLevelOverride;
    private parseSections;
    parseHeaderFooter(data: any, headersFooters: any): HeaderFooters;
    private parseTextBody;
    addCustomStyles(data: any): void;
    parseBody(data: any, blocks: BlockWidget[], container?: Widget, isSectionBreak?: boolean, contentControlProperties?: ContentControlProperties): void;
    private parseTable;
    private parseTablePositioning;
    private parseRowGridValues;
    private parseContentControlProperties;
    private parseParagraph;
    private applyCharacterStyle;
    private parseEditableRangeStart;
    private addEditRangeCollection;
    private parseChartTitleArea;
    private parseChartDataFormat;
    private parseChartLayout;
    private parseChartLegend;
    private parseChartCategoryAxis;
    private parseChartDataTable;
    private parseChartArea;
    private parseChartData;
    private parseChartSeries;
    private parseChartDataLabels;
    private parseChartSeriesDataPoints;
    private parseChartTrendLines;
    private parseTableFormat;
    private parseCellFormat;
    private parseCellMargin;
    private parseRowFormat;
    private parseBorders;
    private parseBorder;
    private parseShading;
    /**
     * @private
     */
    parseCharacterFormat(sourceFormat: any, characterFormat: WCharacterFormat, writeInlineFormat?: boolean): void;
    private getColor;
    parseParagraphFormat(sourceFormat: any, paragraphFormat: WParagraphFormat): void;
    private parseListFormat;
    parseSectionFormat(data: any, sectionFormat: WSectionFormat): void;
    private parseTabStop;
    private validateImageUrl;
    private containsFieldBegin;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/viewer/text-helper.d.ts
/**
 * @private
 */
export interface TextSizeInfo {
    Height?: number;
    BaselineOffset?: number;
    Width?: number;
}
/**
 * @private
 */
export interface FontSizeInfo {
    HeightFactor?: number;
    BaselineFactor?: number;
}
/**
 * @private
 */
export interface TextHeightInfo {
    [key: string]: TextSizeInfo;
}
/**
 * @private
 */
export interface FontHeightInfo {
    [key: string]: FontSizeInfo;
}
/**
 * @private
 */
export  class TextHelper {
    private documentHelper;
    private context;
    private paragraphMarkInfo;
    private static wordSplitCharacters;
    private static numberNonReversingCharacters;
    private readonly paragraphMark;
    private readonly lineBreakMark;
    getEnSpaceCharacter(): string;
    repeatChar(char: string, count: number): string;
    constructor(documentHelper: DocumentHelper);
    getParagraphMarkWidth(characterFormat: WCharacterFormat): number;
    getParagraphMarkSize(characterFormat: WCharacterFormat): TextSizeInfo;
    getTextSize(elementBox: TextElementBox, characterFormat: WCharacterFormat): number;
    getHeight(characterFormat: WCharacterFormat): TextSizeInfo;
    getFormatText(characterFormat: WCharacterFormat): string;
    measureTextExcludingSpaceAtEnd(text: string, characterFormat: WCharacterFormat): number;
    getWidth(text: string, characterFormat: WCharacterFormat): number;
    setText(textToRender: string, isBidi: boolean, bdo: BiDirectionalOverride, isRender?: boolean): string;
    measureText(text: string, characterFormat: WCharacterFormat): TextSizeInfo;
    updateTextSize(elementBox: ListTextElementBox, paragraph: ParagraphWidget): void;
    containsSpecialCharAlone(text: string): boolean;
    containsNumberAlone(text: string): boolean;
    containsCombinationText(element: TextElementBox): boolean;
    inverseCharacter(ch: string): string;
    containsSpecialChar(text: string): boolean;
    /**
     * @private
     * @param {string} text - Specifies the text
     * @returns {boolean} - Returns true if given text it right to left.
     */
    isRTLText(text: string): boolean;
    /**
     * @private
     * @param {string} text - Specifies the text
     * @returns {RtlInfo} - Returns the text info.
     */
    getRtlLanguage(text: string): RtlInfo;
    /**
     * @private
     */
    splitTextByConsecutiveLtrAndRtl(text: string, isTextBidi: boolean, isRTLLang: boolean, characterRangeTypes: CharacterRangeType[], isPrevLTRText: LtrRtlTextInfo, hasRTLCharacter: LtrRtlTextInfo): string[];
    /**
     * @private
     */
    isRightToLeftLanguage(lang: number): boolean;
    private isNumber;
    /**
     * @private
     */
    isWordSplitChar(character: string): boolean;
    /**
     * @private
     */
    static isNumberNonReversingCharacter(character: string, isTextBidi: boolean): boolean;
    /**
     * @private
     */
    isNonWordSplitCharacter(character: string): boolean;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/viewer/viewer.d.ts
/**
 * @private
 */
export  class DocumentHelper {
    /**
     * @private
     */
    scrollbarWidth: number;
    /**
     * @private
     */
    isWebPrinting: boolean;
    /**
     * @private
     */
    isHeaderFooter: boolean;
    /**
     * @private
     */
    owner: DocumentEditor;
    /**
     * @private
     */
    pageContainer: HTMLElement;
    /**
     * @private
     */
    viewerContainer: HTMLElement;
    /**
     * @private
     */
    optionsPaneContainer: HTMLElement;
    /**
     * @private
     */
    reviewPaneContainer: HTMLElement;
    /**
     * @private
     */
    pages: Page[];
    /**
     * @private
     */
    currentPage: Page;
    private selectionStartPageIn;
    private selectionEndPageIn;
    /**
     * @private
     */
    iframe: HTMLIFrameElement;
    /**
     * @private
     */
    editableDiv: HTMLElement;
    /**
     * @private
     */
    isShowReviewPane: boolean;
    /**
     * @private
     */
    fieldStacks: FieldElementBox[];
    /**
     * @private
     */
    showRevision: boolean;
    /**
     * @private
     */
    splittedCellWidgets: TableCellWidget[];
    /**
     * @private
     */
    tableLefts: number[];
    /**
     * @private
     */
    tapCount: number;
    private timer;
    private isTimerStarted;
    /**
     * @private
     */
    isFirstLineFitInShiftWidgets: boolean;
    /**
     * @private
     */
    preZoomFactor: number;
    /**
     * @private
     */
    preDifference: number;
    /**
     * @private
     */
    fieldEndParagraph: ParagraphWidget;
    /**
     * @private
     */
    fieldToLayout: FieldElementBox;
    /**
     * @private
     */
    backgroundColor: string;
    /**
     * @private
     */
    layout: Layout;
    /**
     * @private
     */
    render: Renderer;
    private containerCanvasIn;
    private selectionCanvasIn;
    /**
     * @private
     */
    zoomModule: Zoom;
    /**
     * @private
     */
    isMouseDown: boolean;
    private isMouseEntered;
    private scrollMoveTimer;
    /**
     * @private
     */
    isSelectionChangedOnMouseMoved: boolean;
    /**
     * @private
     */
    isControlPressed: boolean;
    /**
     * @private
     */
    touchStart: HTMLElement;
    /**
     * @private
     */
    touchEnd: HTMLElement;
    /**
     * @private
     */
    isTouchInput: boolean;
    /**
     * @private
     */
    isTouchMoved: boolean;
    /**
     * @private
     */
    useTouchSelectionMark: boolean;
    /**
     * @private
     */
    touchDownOnSelectionMark: number;
    /**
     * @private
     */
    textHelper: TextHelper;
    /**
     * @private
     */
    isComposingIME: boolean;
    /**
     * @private
     */
    lastComposedText: string;
    /**
     * @private
     */
    isCompositionStart: boolean;
    /**
     * @private
     */
    isCompositionUpdated: boolean;
    /**
     * @private
     */
    isCompositionCanceled: boolean;
    /**
     * @private
     */
    isCompositionEnd: boolean;
    /**
     * @private
     */
    prefix: string;
    /**
     * @private
     */
    suffix: string;
    private dialogInternal;
    private dialogTarget1;
    private dialogTarget2;
    private dialogInternal2;
    private dialogInternal3;
    private dialogTarget3;
    /**
     * @private
     */
    fields: FieldElementBox[];
    /**
     * @private
     */
    blockToShift: BlockWidget;
    /**
     * @private
     */
    heightInfoCollection: TextHeightInfo;
    private animationTimer;
    /**
     * @private
     */
    isListTextSelected: boolean;
    /**
     * @private
     */
    selectionLineWidget: LineWidget;
    /**
     * @private
     */
    characterFormat: WCharacterFormat;
    /**
     * @private
     */
    paragraphFormat: WParagraphFormat;
    /**
     * @private
     */
    renderedLists: Dictionary<WAbstractList, Dictionary<number, number>>;
    /**
     * @private
     */
    renderedLevelOverrides: WLevelOverride[];
    /**
     * @private
     */
    headersFooters: HeaderFooters[];
    private fieldSeparator;
    /**
     * @private
     */
    defaultTabWidth: number;
    /**
     * @private
     */
    dontUseHtmlParagraphAutoSpacing: boolean;
    /**
     * @private
     */
    alignTablesRowByRow: boolean;
    /**
     * @private
     */
    compatibilityMode: CompatibilityMode;
    /**
     * @private
     */
    lists: WList[];
    /**
     * @private
     */
    comments: CommentElementBox[];
    /**
     * @private
     */
    authors: Dictionary<string, string>;
    /**
     * @private
     */
    revisionsInternal: Dictionary<string, Revision>;
    /**
     * @private
     */
    commentUserOptionId: number;
    /**
     * @private
     */
    abstractLists: WAbstractList[];
    /**
     * @private
     */
    styles: WStyles;
    /**
     * @private
     */
    listParagraphs: ParagraphWidget[];
    /**
     * @private
     */
    preDefinedStyles: Dictionary<string, string>;
    /**
     * @private
     */
    isRowOrCellResizing: boolean;
    /**
     * @private
     */
    bookmarks: Dictionary<string, BookmarkElementBox>;
    /**
     * @private
     */
    formFields: FieldElementBox[];
    /**
     * @private
     */
    editRanges: Dictionary<string, EditRangeStartElementBox[]>;
    private isMouseDownInFooterRegion;
    private pageFitTypeIn;
    /**
     * @private
     */
    fieldCollection: FieldElementBox[];
    /**
     * @private
     */
    isPageField: boolean;
    /**
     * @private
     */
    mouseDownOffset: Point;
    /**
     * @private
     */
    zoomX: number;
    /**
     * @private
     */
    zoomY: number;
    private zoomFactorInternal;
    /**
     * If movecaretposition is 1, Home key is pressed
     * If moveCaretPosition is 2, End key is pressed
     *
     * @private
     */
    moveCaretPosition: number;
    /**
     * @private
     */
    isTextInput: boolean;
    /**
     * @private
     */
    isScrollHandler: boolean;
    /**
     * @private
     */
    triggerElementsOnLoading: boolean;
    /**
     * @private
     */
    triggerSpellCheck: boolean;
    /**
     * @private
     */
    scrollTimer: number;
    resizeTimer: number;
    /**
     * @private
     * @default false
     */
    isScrollToSpellCheck: boolean;
    /**
     * preserve the format
     *
     * @private
     */
    restrictFormatting: boolean;
    /**
     * preserve the document protection type either readonly or no protection
     *
     * @private
     */
    protectionType: ProtectionType;
    /**
     * Preserve the password protection is enforced or not
     *
     * @private
     */
    isDocumentProtected: boolean;
    /**
     * preserve the hash value of password
     *
     * @private
     */
    hashValue: string;
    /**
     * @private
     */
    saltValue: string;
    /**
     * @private
     */
    userCollection: string[];
    /**
     * @private
     */
    restrictEditingPane: RestrictEditing;
    formFillPopup: FormFieldPopUp;
    /**
     * @private
     */
    cachedPages: number[];
    longTouchTimer: number;
    /**
     * @private
     */
    skipScrollToPosition: boolean;
    /**
     * @private
     */
    isIosDevice: boolean;
    /**
     * @private
     */
    isMobileDevice: boolean;
    /**
     * @private
     */
    visibleBoundsIn: Rect;
    /**
     * @private
     */
    currentSelectedCommentInternal: CommentElementBox;
    /**
     * @private
     */
    currentSelectedRevisionInternal: Revision;
    /**
     * @private
     */
    resizerTimer: number;
    /**
     * @private
     */
    isFormFilling: boolean;
    /**
     * @private
     */
    customXmlData: Dictionary<string, string>;
    /**
     * @private
     */
    contentControlCollection: ContentControl[];
    /**
     * @private
     */
    footnotes: Footnote;
    /**
     * @private
     */
    endnotes: Footnote;
    /**
     * @private
     */
    endnoteNumberFormat: FootEndNoteNumberFormat;
    /**
     * @private
     */
    footNoteNumberFormat: FootEndNoteNumberFormat;
    /**
     * @private
     */
    restartIndexForFootnotes: FootnoteRestartIndex;
    /**
     * @private
     */
    restartIndexForEndnotes: FootnoteRestartIndex;
    /**
     * @private
     */
    footnoteCollection: FootnoteElementBox[];
    /**
     * @private
     */
    endnoteCollection: FootnoteElementBox[];
    /**
     * @private
     */
    isFootnoteWidget: boolean;
    /**
     * Gets visible bounds.
     *
     * @private
     * @returns {Rect} - Returns visible bounds.
     */
    readonly visibleBounds: Rect;
    /**
     * @private
     */
    readonly viewer: LayoutViewer;
    /**
     * Gets container canvas.
     *
     * @private
     * @returns {HTMLCanvasElement} - Returns page canvas.
     */
    readonly containerCanvas: HTMLCanvasElement;
    /**
     * Gets selection canvas.
     *
     * @private
     * @returns {HTMLCanvasElement} - Returns selection canvas.
     */
    readonly selectionCanvas: HTMLCanvasElement;
    /**
     * Gets container context.
     *
     * @private
     * @returns {CanvasRenderingContext2D} - Returns page canvas context.
     */
    readonly containerContext: CanvasRenderingContext2D;
    /**
     * Gets selection context.
     *
     * @private
     * @returns {CanvasRenderingContext2D} - Returns selection canvas context.
     */
    readonly selectionContext: CanvasRenderingContext2D;
    /**
     * Gets the current rendering page.
     *
     * @returns {Page} - Returns current rendering page.
     */
    readonly currentRenderingPage: Page;
    /**
     * Gets or sets zoom factor.
     *
     * @private
     * @returns {number} - Returns zoom factor value.
     */
    zoomFactor: number;
    /**
     * Gets the selection.
     *
     * @private
     * @returns {Selection} - Returns selection module.
     */
    readonly selection: Selection;
    /**
     * Gets or sets selection start page.
     *
     * @private
     * @returns {Page} - Return selection start page.
     */
    selectionStartPage: Page;
    /**
     * Gets or sets selection end page.
     *
     * @private
     * @returns {Page} - Return selection end page.
     */
    selectionEndPage: Page;
    /**
     * Gets the initialized default dialog.
     *
     * @private
     * @returns {popups.Dialog} - Returns dialog instance.
     */
    readonly dialog: popups.Dialog;
    /**
     * Gets the initialized default dialog.
     *
     * @private
     * @returns {popups.Dialog} - Returns dialog instance.
     */
    readonly dialog2: popups.Dialog;
    /**
     * Gets the initialized default dialog.
     *
     * @private
     * @returns {popups.Dialog} - Returns dialog instance.
     */
    readonly dialog3: popups.Dialog;
    /**
     * @private
     * @returns {void}
     */
    currentSelectedComment: CommentElementBox;
    /**
     * @private
     * @returns {void}
     */
    currentSelectedRevision: Revision;
    /**
     * @private
     * @returns {void}
     */
    readonly isInlineFormFillProtectedMode: boolean;
    /**
     * @private
     * @returns {void}
     */
    readonly isFormFillProtectedMode: boolean;
    /**
     * @private
     * @returns {Boolean}
     */
    readonly isCommentOnlyMode: boolean;
    readonly isTrackedOnlyMode: boolean;
    constructor(owner: DocumentEditor);
    private initalizeStyles;
    /**
     * @private
     * @returns {void}
     */
    clearDocumentItems(): void;
    /**
     * @private
     * @returns {void}
     */
    setDefaultDocumentFormat(): void;
    private setDefaultCharacterValue;
    private setDefaultParagraphValue;
    /**
     * @private
     * @param {number} id - Specfies abstract list id.
     * @returns {WAbstractList} - Returns abstract list.
     */
    getAbstractListById(id: number): WAbstractList;
    /**
     * @private
     * @param {number} id - Specfies list id.
     * @returns {WAbstractList} - Returns list.
     */
    getListById(id: number): WList;
    /**
     * @private
     * @param {WListLevel} listLevel - Specfies list level.
     * @returns {number} - Returns list level number.
     */
    static getListLevelNumber(listLevel: WListLevel): number;
    /**
     * Gets the bookmarks.
     *
     * @private
     * @param {boolean} includeHidden - Include hidden bookmark.
     * @returns {string[]} - Returns bookmars present in current document.
     */
    getBookmarks(includeHidden?: boolean): string[];
    selectComment(comment: CommentElementBox): void;
    showComments(show: boolean): void;
    showRevisions(show: boolean): void;
    /**
     * Initializes components.
     *
     * @private
     * @returns {void}
     */
    initializeComponents(): void;
    private measureScrollbarWidth;
    private createEditableDiv;
    private createEditableIFrame;
    private initIframeContent;
    /**
     * Wires events and methods.
     *
     * @returns {void}
     */
    private wireEvent;
    private wireInputEvents;
    private onIframeLoad;
    /**
     * @private
     * @param {TextEvent} event - Specifies text event.
     * @returns {void}
     */
    private onTextInput;
    /**
     * Fires when composition starts.
     *
     * @private
     * @returns {void}
     */
    private compositionStart;
    /**
     * Fires on every input during composition.
     *
     * @private
     * @returns {void}
     */
    private compositionUpdated;
    /**
     * Fires when user selects a character/word and finalizes the input.
     *
     * @private
     * @param {CompositionEvent} event - Specifies text compisition event.
     * @returns {void}
     */
    private compositionEnd;
    private getEditableDivTextContent;
    updateAuthorIdentity(): void;
    getAvatar(userInfo: HTMLElement, userName: HTMLElement, comment: CommentElementBox, revision: Revision): void;
    /**
     * @private
     * @param {string} author - Specifies author name.
     * @returns {string} - Return autor color.
     */
    getAuthorColor(author: string): string;
    generateRandomColor(): string;
    /**
     * @private
     * @returns {void}
     */
    positionEditableTarget(): void;
    private onImageResizer;
    /**
     * @private
     * @param {KeyboardEvent} event - Specifies keyboard event
     * @returns {void}
     */
    onKeyPressInternal: (event: KeyboardEvent) => void;
    /**
     * @private
     * @param {KeyboardEvent} event - Specifies keyboard event
     * @returns {void}
     */
    private onTextInputInternal;
    /**
     * Fired on paste.
     *
     * @private
     * @param {ClipboardEvent} event - Specifies clipboard event.
     * @returns {void}
     */
    onPaste: (event: ClipboardEvent) => void;
    private initDialog;
    private initDialog3;
    hideDialog(): void;
    private initDialog2;
    /**
     * Fires when editable div loses focus.
     *
     * @private
     * @returns {void}
     */
    onFocusOut: () => void;
    /**
     * Updates focus to editor area.
     *
     * @private
     * @returns {void}
     */
    updateFocus: () => void;
    /**
     * Clears the context.
     *
     * @private
     * @returns {void}
     */
    clearContent(): void;
    /**
     * Fired when the document gets changed.
     *
     * @private
     * @param {BodyWidget[]} sections - Specified document content.
     * @returns {void}
     */
    onDocumentChanged(sections: BodyWidget[]): void;
    /**
     * Fires on scrolling.
     *
     * @returns {void}
     */
    private scrollHandler;
    /**
     * Fires when the window gets resized.
     *
     * @private
     * @returns {void}
     */
    onWindowResize: () => void;
    /**
     * @private
     * @param {MouseEvent} event - Specified mouse event.
     * @returns {void}
     */
    onContextMenu: (event: MouseEvent) => void;
    /**
     * Initialize touch ellipse.
     *
     * @returns {void}
     */
    private initTouchEllipse;
    /**
     * Updates touch mark position.
     *
     * @private
     * @returns {void}
     */
    updateTouchMarkPosition(): void;
    /**
     * Called on mouse down.
     *
     * @private
     * @param {MouseEvent} event - Specifies mouse event.
     * @returns {void}
     */
    onMouseDownInternal: (event: MouseEvent) => void;
    /**
     * Called on mouse move.
     *
     * @private
     * @param {MouseEvent} event - Specified mouse event.
     * @returns {void}
     */
    onMouseMoveInternal: (event: MouseEvent) => void;
    /**
     * @private
     * @param {MouseEvent} event - Specifies mouse event
     * @returns {void}
     */
    onMouseLeaveInternal: (event: MouseEvent) => void;
    private scrollForwardOnSelection;
    private scrollBackwardOnSelection;
    /**
     * @private
     * @returns {void}
     */
    onMouseEnterInternal: (event?: MouseEvent) => void;
    /**
     * Fired on double tap.
     *
     * @private
     * @param {MouseEvent} event - Specifies mouse event.
     * @returns {void}
     */
    onDoubleTap: (event: MouseEvent) => void;
    /**
     * Called on mouse up.
     *
     * @private
     * @param {MouseEvent} event - Specifies mouse event.
     * @return {void}
     */
    onMouseUpInternal: (event: MouseEvent) => void;
    private isSelectionInListText;
    isInShapeBorder(floatElement: ShapeBase, cursorPoint: Point): boolean;
    /**
     * Check whether touch point is inside the rectangle or not.
     *
     * @private
     * @param {number} x - Specifies left position.
     * @param {number} y - Specifies top position.
     * @param {number} width - Specifies width.
     * @param {number} height - Specifies height
     * @param {Point} touchPoint - Specifies the point to check.
     * @returns {boolean} - Return true if points intersect.
     */
    isInsideRect(x: number, y: number, width: number, height: number, touchPoint: Point): boolean;
    getLeftValue(widget: LineWidget): number;
    /**
     * Checks whether left mouse button is pressed or not.
     *
     * @param {MouseEvent} event - Specifies mouse event.
     * @returns {boolean} - Returns true if left mouse button is clicked.
     */
    private isLeftButtonPressed;
    /**
     * Fired on touch start.
     *
     * @private
     * @param {TouchEvent} event - Specifies touch event.
     * @returns {void}
     */
    onTouchStartInternal: (event: Event) => void;
    /**
     * Fired on long touch
     *
     * @private
     * @param {TouchEvent} event - Specifies touch event.
     * @returns {void}
     */
    onLongTouch: (event: TouchEvent) => void;
    /**
     *
     * @private
     * @param {TouchEvent} event - Specifies touch event.
     * @returns {void}
     */
    onTouchMoveInternal: (event: TouchEvent) => void;
    /**
     * Fired on touch up.
     *
     * @private
     * @param {TouchEvent} event - Specifies touch event.
     * @returns {void}
     */
    onTouchUpInternal: (event: TouchEvent) => void;
    private updateSelectionOnTouch;
    /**
     * Gets touch offset value.
     *
     * @private
     * @param {TouchEvent} event - Specifies touch event
     * @returns {Point}  - Returns modified touch offset
     */
    getTouchOffsetValue(event: TouchEvent): Point;
    /**
     * Fired on pinch zoom in.
     *
     * @private
     * @param {TouchEvent} event - Specifies touch event
     * @returns {void}
     */
    onPinchInInternal(event: TouchEvent): void;
    private onPinchOutInternal;
    getPageWidth(page: Page): number;
    /**
     * @private
     */
    linkPageToHeaderFooter(currentPage: Page): void;
    /**
     * Removes specified page.
     * @private
     * @param {Page} page - Specifies page to remove
     * @returns {void}
     */
    removePage(page: Page): void;
    /**
     * Updates viewer size on window resize.
     *
     * @private
     * @returns {void}
     */
    updateViewerSize(): void;
    private updateViewerSizeInternal;
    /**
     * Inserts page in specified index.
     *
     * @private
     * @param {number} index - Specifes index to insert page
     * @param {Page} page - Page to insert.
     * @returns {void}
     */
    insertPage(index: number, page: Page): void;
    updateTextPositionForSelection(cursorPoint: Point, tapCount: number): void;
    scrollToPosition(startPosition: TextPosition, endPosition: TextPosition, skipCursorUpdate?: boolean): void;
    getLineWidget(cursorPoint: Point): LineWidget;
    getLineWidgetInternal(cursorPoint: Point, isMouseDragged: boolean): LineWidget;
    private checkInlineShapeItems;
    /**
     * @private
     */
    checkPointIsInLine(widget: LineWidget, cursorPoint: Point): boolean;
    private isInFootnoteWidget;
    private checkFloatingItems;
    isBlockInHeader(block: Widget): boolean;
    clearSelectionHighlight(): void;
    /**
     * Fired on keyup event.
     *
     * @private
     * @param {KeyboardEvent} event - Specifies keyboard event.
     * @returns {void}
     */
    onKeyUpInternal: (event: KeyboardEvent) => void;
    /**
     * Fired on keydown.
     *
     * @private
     * @param {KeyboardEvent} event - Specifies keyboard event.
     * @returns {void}
     */
    onKeyDownInternal: (event: KeyboardEvent) => void;
    /**
     * @private
     * @returns {void}
     */
    removeEmptyPages(): void;
    /**
     * @private
     * @returns {void}
     */
    scrollToBottom(): void;
    getFieldResult(fieldBegin: FieldElementBox, page: Page): string;
    private getFieldText;
    private isEmptyShape;
    /**
     * Destroys the internal objects maintained for control.
     *
     * @returns {void}
     */
    destroy(): void;
    /**
     * Un-Wires events and methods
     *
     * @returns {void}
     */
    private unWireEvent;
    updateCursor(event: MouseEvent): void;
    /**
     * @private
     */
    updateDialogTabHeight(dialogElement: HTMLElement, targetElement: HTMLElement): number;
    /**
     *
     * @private
     */
    canRenderBorder(paragraph: ParagraphWidget): BorderRenderInfo;
    /**
    * @private
    */
    getParagraphLeftPosition(paragraphWidet: ParagraphWidget): number;
    /**
     * @private
     */
    isPageInVisibleBound(page: Page, pageTop: number): boolean;
}
/**
 * @private
 */
export  abstract class LayoutViewer {
    owner: DocumentEditor;
    constructor(owner: DocumentEditor);
    readonly documentHelper: DocumentHelper;
    /**
     * @private
     */
    visiblePages: Page[];
    /**
     * @private
     */
    padding: Padding;
    /**
     * @private
     */
    clientActiveArea: Rect;
    /**
     * @private
     */
    clientArea: Rect;
    /**
     * @private
     */
    textWrap: boolean;
    /**
     * @private
     */
    preVisibleWidth: number;
    /**
     * @private
     */
    private pageFitTypeIn;
    /**
     * @private
     */
    containerTop: number;
    /**
     * @private
     */
    containerLeft: number;
    /**
     * Gets or sets page fit type.
     * @private
     */
    pageFitType: PageFitType;
    updateClientArea(sectionFormat: WSectionFormat, page: Page, isReLayout?: boolean): void;
    updateClientAreaTopOrLeft(tableWidget: TableWidget, beforeLayout: boolean): void;
    updateClientAreaForTable(tableWidget: TableWidget): void;
    updateClientAreaForRow(row: TableRowWidget, beforeLayout: boolean): void;
    updateClientAreaForCell(cell: TableCellWidget, beforeLayout: boolean): void;
    updateClientAreaForTextBoxShape(textBox: ShapeElementBox, beforeLayout: boolean): void;
    updateClientAreaByWidgetFootNote(widget: FootNoteWidget): void;
    /**
     * @private
     */
    updateClientAreaForTextWrap(area: Rect): void;
    updateClientAreaByWidget(widget: ParagraphWidget): void;
    updateClientAreaLocation(widget: Widget, area: Rect): void;
    updateClientAreaForBlock(block: BlockWidget, beforeLayout: boolean, tableCollection?: TableWidget[]): void;
    private tableAlignmentForBidi;
    cutFromLeft(x: number): void;
    cutFromTop(y: number): void;
    updateClientWidth(width: number): void;
    findFocusedPage(currentPoint: Point, updateCurrentPage: boolean, updateHeaderFooterPage?: boolean): Point;
    getPageHeightAndWidth(height: number, width: number, viewerWidth: number, viewerHeight: number): PageInfo;
    renderVisiblePages(): void;
    handleZoom(): void;
    updateCanvasWidthAndHeight(viewerWidth: number, viewerHeight: number, containerHeight: number, containerWidth: number, width: number, height: number): CanvasInfo;
    updateScrollBarPosition(containerWidth: number, containerHeight: number, viewerWidth: number, viewerHeight: number, width: number, height: number): void;
    /**
     * @private
     */
    abstract readonly pageGap: number;
    /**
     * @private
     */
    abstract createNewPage(section: BodyWidget, index?: number): Page;
    /**
     * @private
     */
    abstract renderPage(page: Page, x: number, y: number, width: number, height: number): void;
    /**
     * @private
     */
    abstract updateScrollBars(): void;
    /**
     * private
     */
    abstract scrollToPage(pageIndex: number): void;
    /**
     * @private
     */
    abstract onPageFitTypeChanged(pageFitType: PageFitType): void;
    destroy(): void;
}
/**
 * @private
 */
export  class PageLayoutViewer extends LayoutViewer {
    private pageLeft;
    /**
     * @private
     */
    readonly pageGap: number;
    /**
     * Initialize the constructor of PageLayoutViewer
     */
    constructor(owner: DocumentEditor);
    readonly documentHelper: DocumentHelper;
    createNewPage(section: BodyWidget, index?: number): Page;
    updatePageBoundingRectangle(section: BodyWidget, page: Page, yPosition: number): void;
    onPageFitTypeChanged(pageFitType: PageFitType): void;
    getCurrentPageHeaderFooter(section: BodyWidget, isHeader: boolean): HeaderFooterWidget;
    getHeaderFooterType(section: BodyWidget, isHeader: boolean): HeaderFooterType;
    getCurrentHeaderFooter(type: HeaderFooterType, sectionIndex: number): HeaderFooterWidget;
    private createHeaderFooterWidget;
    getHeaderFooter(type: HeaderFooterType): number;
    updateHFClientArea(sectionFormat: WSectionFormat, isHeader: boolean): void;
    updateHeaderFooterClientAreaWithTop(sectionFormat: WSectionFormat, isHeader: boolean, page: Page): void;
    updateFootnoteClientArea(sectionFormat: WSectionFormat, footnote: FootNoteWidget, footNoteType?: FootnoteType, para?: ParagraphWidget): void;
    scrollToPage(pageIndex: number): void;
    updateScrollBars(): void;
    updateVisiblePages(): void;
    private addVisiblePage;
    renderPage(page: Page, x: number, y: number, width: number, height: number): void;
}
export  class WebLayoutViewer extends LayoutViewer {
    constructor(owner: DocumentEditor);
    readonly documentHelper: DocumentHelper;
    /**
     * @private
     */
    visiblePages: Page[];
    /**
     * @private
     */
    readonly pageGap: number;
    /**
     * Creates new page.
     * @private
     */
    createNewPage(section: BodyWidget, index?: number): Page;
    onPageFitTypeChanged(pageFitType: PageFitType): void;
    scrollToPage(pageIndex: number): void;
    getContentHeight(): number;
    /**
     * @private
     */
    getContentWidth(): number;
    updateScrollBars(): void;
    updateVisiblePages(): void;
    addVisiblePage(page: Page, x: number, y: number): void;
    /**
     * @private
     */
    renderPage(page: Page, x: number, y: number, width: number, height: number): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/viewer/zooming.d.ts
/**
 * @private
 */
export  class Zoom {
    private documentHelper;
    setZoomFactor(): void;
    constructor(documentHelper: DocumentHelper);
    private readonly viewer;
    private onZoomFactorChanged;
    private zoom;
    /**
     * @private
     * @param {WheelEvent} event Specifies the mouse wheen event
     * @returns {void}
     */
    onMouseWheelInternal: (event: WheelEvent) => void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/writer/html-export.d.ts
/**
 * @private
 */
export  class HtmlExport {
    private document;
    private characterFormat;
    private paragraphFormat;
    private prevListLevel;
    private isOrdered;
    /**
     * @private
     */
    fieldCheck: number;
    writeHtml(document: any): string;
    private serializeSection;
    private serializeParagraph;
    private closeList;
    private getListLevel;
    private getHtmlList;
    private serializeInlines;
    private serializeContentInlines;
    private serializeSpan;
    /**
     * @private
     * @param {string} style - style name.
     * @returns {string} - return heading tag.
     */
    getStyleName(style: string): string;
    private serializeImageContainer;
    serializeCell(cell: any): string;
    private convertVerticalAlignment;
    private serializeTable;
    private serializeRow;
    private serializeParagraphStyle;
    private serializeInlineStyle;
    private serializeTableBorderStyle;
    private serializeCellBordersStyle;
    private serializeBorderStyle;
    private convertBorderLineStyle;
    private serializeCharacterFormat;
    private serializeTextDecoration;
    /**
     * @private
     */
    serializeParagraphFormat(paragraphFormat: any, isList: boolean): string;
    private createAttributesTag;
    private createTag;
    private endTag;
    createTableStartTag(table: any): string;
    private serializeTableWidth;
    private createTableEndTag;
    private createRowStartTag;
    private createRowEndTag;
    private decodeHtmlNames;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/writer/index.d.ts
/**
 * Export Export
 */
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/writer/sfdt-export.d.ts
/**
 * Exports the document to Sfdt format.
 */
export  class SfdtExport {
    private startLine;
    private endLine;
    private endOffset;
    private endCell;
    private startColumnIndex;
    private endColumnIndex;
    private lists;
    private document;
    private writeInlineStyles;
    private nextBlock;
    private blockContent;
    private startContent;
    private multipleLineContent;
    private nestedContent;
    private contentType;
    private editRangeId;
    private selectedCommentsId;
    private selectedRevisionId;
    private startBlock;
    private endBlock;
    private nestedBlockContent;
    private nestedBlockEnabled;
    private blocks;
    private contentInline;
    private isContentControl;
    private isBlockClosed;
    /**
     * @private
     */
    private isExport;
    /**
     * @private
     */
    isPartialExport: boolean;
    private documentHelper;
    private checkboxOrDropdown;
    /**
     * @private
     */
    copyWithTrackChange: boolean;
    constructor(documentHelper: DocumentHelper);
    private readonly viewer;
    private readonly owner;
    private getModuleName;
    private clear;
    /**
     * Serialize the data as Syncfusion document text.
     *
     * @private
     */
    serialize(): string;
    /**
     * @private
     * @param documentHelper - Specifies document helper instance.
     * @returns {Promise<Blob>}
     */
    saveAsBlob(documentHelper: DocumentHelper): Promise<Blob>;
    private updateEditRangeId;
    /**
     * @private
     */
    write(line?: LineWidget, startOffset?: number, endLine?: LineWidget, endOffset?: number, writeInlineStyles?: boolean, isExport?: boolean): any;
    private getNextBlock;
    /**
     * @private
     */
    Initialize(): void;
    /**
     * @private
     */
    writePage(page: Page): any;
    private writeBodyWidget;
    private writeHeaderFooters;
    private writeHeaderFooter;
    private createSection;
    private writeBlock;
    private writeParagraphs;
    private contentControlProperty;
    private tounCheckedState;
    private toCheckedState;
    private blockContentControl;
    private tableContentControl;
    private tableContentControls;
    private writeParagraph;
    private writeInlines;
    private inlineContentControl;
    private nestedContentProperty;
    private inlineContentControls;
    private writeInline;
    private writeShape;
    writeChart(element: ChartElementBox, inline: any): void;
    private writeChartTitleArea;
    private writeChartDataFormat;
    private writeChartLayout;
    private writeChartArea;
    private writeChartLegend;
    private writeChartCategoryAxis;
    private writeChartDataTable;
    private writeChartCategory;
    private createChartCategory;
    private writeChartData;
    private createChartData;
    private createChartSeries;
    private writeChartSeries;
    private writeChartDataLabels;
    private writeChartTrendLines;
    private writeLines;
    private writeLine;
    private writeInlinesFootNote;
    private writeInlinesContentControl;
    private createParagraph;
    /**
     * @private
     */
    writeCharacterFormat(format: WCharacterFormat, isInline?: boolean): any;
    private writeParagraphFormat;
    private writeTabs;
    /**
     * @private
     */
    writeListFormat(format: WListFormat, isInline?: boolean): any;
    private writeTable;
    private writeRow;
    private writeRowInternal;
    private writeCell;
    private createTable;
    private writeTablePositioning;
    private createRow;
    private createCell;
    private writeShading;
    private writeBorder;
    private writeParagraphBorders;
    private writeBorders;
    private writeCellFormat;
    private writeRowFormat;
    private writeRowRevisions;
    private writeTableFormat;
    private footnotes;
    private seprators;
    private endnotes;
    private endnoteSeparator;
    private writeStyles;
    private writeStyle;
    writeRevisions(documentHelper: DocumentHelper): void;
    private writeRevision;
    writeComments(documentHelper: DocumentHelper): void;
    writeCustomXml(documentHelper: DocumentHelper): void;
    private writeComment;
    private commentInlines;
    private writeLists;
    private writeAbstractList;
    private writeList;
    private writeLevelOverrides;
    private writeListLevel;
    private getParentBlock;
    private getParentCell;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/writer/text-export.d.ts
/**
 * Exports the document to Text format.
 */
export  class TextExport {
    private getModuleName;
    /**
     * @private
     */
    pageContent: string;
    private curSectionIndex;
    private sections;
    private document;
    private lastPara;
    private mSections;
    private inField;
    /**
     * @private
     * @param {DocumentHelper} documentHelper - Document helper.
     * @param {string} fileName - Specified file name.
     * @return {void}
     */
    save(documentHelper: DocumentHelper, fileName: string): void;
    /**
     * Save text document as Blob.
     *
     * @private
     * @param {DocumentHelper} documentHelper - Document helper.
     * @return {Promise<Blob>} - Returns promise object.
     */
    saveAsBlob(documentHelper: DocumentHelper): Promise<Blob>;
    private serialize;
    /**
     * @private
     * @param document
     */
    setDocument(document: any): void;
    /**
     * @private
     * @param streamWriter - Stream writer instance.
     * @return {void}
     */
    writeInternal(streamWriter?: fileUtils.StreamWriter): void;
    private writeBody;
    private writeParagraph;
    private writeTable;
    private writeHeadersFooters;
    private writeHeaderFooter;
    private writeSectionEnd;
    private writeNewLine;
    private writeText;
    private updateLastParagraph;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/writer/word-export.d.ts
/**
 * Exports the document to Word format.
 */
export  class WordExport {
    private getModuleName;
    private customXMLItemsPath;
    private customXMLItemsPropspath;
    private itemPropsPath;
    private documentPath;
    private stylePath;
    private chartPath;
    private numberingPath;
    private settingsPath;
    private headerPath;
    private footerPath;
    private imagePath;
    private footnotesPath;
    private endnotesPath;
    private appPath;
    private corePath;
    private contentTypesPath;
    private defaultEmbeddingPath;
    private commentsPath;
    private commentsExtendedPath;
    private generalRelationPath;
    private wordRelationPath;
    private customXMLRelPath;
    private excelRelationPath;
    private footnotesRelationPath;
    private endnotesRelationPath;
    private headerRelationPath;
    private footerRelationPath;
    private xmlContentType;
    private fontContentType;
    private documentContentType;
    private settingsContentType;
    private commentsContentType;
    private commentsExContentType;
    private endnoteContentType;
    private footerContentType;
    private footnoteContentType;
    private headerContentType;
    private numberingContentType;
    private stylesContentType;
    private webSettingsContentType;
    private appContentType;
    private coreContentType;
    private customContentType;
    private customXmlContentType;
    private relationContentType;
    private chartsContentType;
    private tableStyleContentType;
    private chartColorStyleContentType;
    private commentsRelType;
    private commentsExRelType;
    private settingsRelType;
    private endnoteRelType;
    private footerRelType;
    private footnoteRelType;
    private headerRelType;
    private documentRelType;
    private numberingRelType;
    private stylesRelType;
    private chartRelType;
    private fontRelType;
    private tableStyleRelType;
    private coreRelType;
    private appRelType;
    private customRelType;
    private imageRelType;
    private hyperlinkRelType;
    private controlRelType;
    private packageRelType;
    private customXmlRelType;
    private customUIRelType;
    private attachedTemplateRelType;
    private chartColorStyleRelType;
    private wNamespace;
    private wpNamespace;
    private pictureNamespace;
    private aNamespace;
    private a14Namespace;
    private svgNamespace;
    private rNamespace;
    private rpNamespace;
    private vNamespace;
    private oNamespace;
    private xmlNamespace;
    private w10Namespace;
    private cpNamespace;
    private dcNamespace;
    private docPropsNamespace;
    private veNamespace;
    private mNamespace;
    private wneNamespace;
    private customPropsNamespace;
    private vtNamespace;
    private chartNamespace;
    private slNamespace;
    private dtNamespace;
    private wmlNamespace;
    private w14Namespace;
    private wpCanvasNamespace;
    private wpDrawingNamespace;
    private wpGroupNamespace;
    private wpInkNamespace;
    private wpShapeNamespace;
    private w15Namespace;
    private diagramNamespace;
    private eNamespace;
    private pNamespace;
    private certNamespace;
    private cxNamespace;
    private c15Namespace;
    private c7Namespace;
    private csNamespace;
    private spreadSheetNamespace;
    private spreadSheet9;
    private cRelationshipsTag;
    private cRelationshipTag;
    private cIdTag;
    private cTypeTag;
    private cTargetTag;
    private cUserShapesTag;
    private cExternalData;
    private twipsInOnePoint;
    private twentiethOfPoint;
    private borderMultiplier;
    private percentageFactor;
    private emusPerPoint;
    private cConditionalTableStyleTag;
    private cTableFormatTag;
    private cTowFormatTag;
    private cCellFormatTag;
    private cParagraphFormatTag;
    private cCharacterFormatTag;
    private packageType;
    private relsPartPath;
    private documentRelsPartPath;
    private webSettingsPath;
    private wordMLDocumentPath;
    private wordMLStylePath;
    private wordMLNumberingPath;
    private wordMLSettingsPath;
    private wordMLHeaderPath;
    private wordMLFooterPath;
    private wordMLCommentsPath;
    private wordMLImagePath;
    private wordMLFootnotesPath;
    private wordMLEndnotesPath;
    private wordMLAppPath;
    private wordMLCorePath;
    private wordMLCustomPath;
    private wordMLFontTablePath;
    private wordMLChartsPath;
    private wordMLDefaultEmbeddingPath;
    private wordMLEmbeddingPath;
    private wordMLDrawingPath;
    private wordMLThemePath;
    private wordMLFontsPath;
    private wordMLDiagramPath;
    private wordMLControlPath;
    private wordMLVbaProject;
    private wordMLVbaData;
    private wordMLVbaProjectPath;
    private wordMLVbaDataPath;
    private wordMLWebSettingsPath;
    private wordMLCustomItemProp1Path;
    private wordMLFootnoteRelPath;
    private wordMLEndnoteRelPath;
    private wordMLSettingsRelPath;
    private wordMLNumberingRelPath;
    private wordMLFontTableRelPath;
    private wordMLCustomXmlPropsRelType;
    private wordMLControlRelType;
    private wordMLDiagramContentType;
    private dsNamespace;
    private excelFiles;
    private section;
    private lastSection;
    private blockOwner;
    private paragraph;
    private table;
    private row;
    private headerFooter;
    private endNoteFootnote;
    private document;
    private mSections;
    private mLists;
    private mAbstractLists;
    private mStyles;
    private defCharacterFormat;
    private defParagraphFormat;
    private defaultTabWidthValue;
    private dontUseHtmlParagraphAutoSpacing;
    private mRelationShipID;
    private cRelationShipId;
    private eRelationShipId;
    private efRelationShipId;
    private mDocPrID;
    private chartCount;
    private seriesCount;
    private chartStringCount;
    private chart;
    private mDifferentFirstPage;
    private mHeaderFooterColl;
    private mFootEndnotesColl;
    private mVerticalMerge;
    private mGridSpans;
    private mDocumentImages;
    private mSvgImages;
    private mCustomXML;
    private mDocumentCharts;
    private mExternalLinkImages;
    private mHeaderFooterImages;
    private mHeaderFooterSvgImages;
    private mArchive;
    private mArchiveExcel;
    private mBookmarks;
    private formatting;
    private enforcement;
    private hashValue;
    private saltValue;
    private protectionType;
    private fileName;
    private spanCellFormat;
    private mComments;
    private revisions;
    private customXMLProps;
    private paraID;
    private commentParaID;
    private commentParaIDInfo;
    private replyCommentIdCollection;
    private isInsideComment;
    private commentId;
    private currentCommentId;
    private jsonObject;
    private trackChangesId;
    private prevRevisionIds;
    private isRevisionContinuous;
    private formFieldShading;
    private trackChanges;
    private compatibilityMode;
    private readonly bookmarks;
    private readonly documentImages;
    private readonly svgImages;
    private readonly externalImages;
    private readonly headerFooterImages;
    private readonly headerFooterSvgImages;
    private readonly documentCharts;
    private readonly headersFooters;
    private readonly endnotesFootnotes;
    /**
     * @private
     * @param {DocumentHelper} documentHelper - Document helper
     * @param {string} fileName - file name
     * @returns {void}
     */
    save(documentHelper: DocumentHelper, fileName: string): void;
    private saveInternal;
    /**
     * @private
     * @param {DocumentHelper} documentHelper - Document helper
     * @returns {Promise<Blob>} - Return Promise
     */
    saveAsBlob(documentHelper: DocumentHelper): Promise<Blob>;
    private serializeExcelFiles;
    /**
     * @private
     * @returns {void}
     */
    saveExcel(): void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
    private serialize;
    private setDocument;
    private clearDocument;
    private serializeDocument;
    private writeCommonAttributeStrings;
    private writeDup;
    private writeCustom;
    private serializeDocumentBody;
    private serializeSection;
    private serializeComments;
    private serializeCommentCommonAttribute;
    private serializeCommentInternal;
    private retrieveCommentText;
    private serializeCommentsExtended;
    private serializeCommentsExInternal;
    private serializeSectionProperties;
    private serializeFootNotesPr;
    private getFootNoteNumberFormat;
    private getFootNoteNumberRestart;
    private getPageNumberFormat;
    private serializeEndNotesPr;
    private serializeColumns;
    private serializePageSetup;
    private serializePageSize;
    private serializePageMargins;
    private serializePageNumberType;
    private serializeSectionType;
    private serializeHFReference;
    private addHeaderFooter;
    private serializeBodyItems;
    private serializeContentControl;
    private serializeContentProperties;
    private toUnicode;
    private serializeContentControlList;
    private serializeContentParagraph;
    private serializeContentControlDate;
    private serializeBodyItem;
    private serializeParagraph;
    private serializeRevisionStart;
    private serializeTrackChanges;
    private retrieveRevision;
    private serializeParagraphItems;
    private serializeEFReference;
    private addFootnotesEndnotes;
    private serializeEndnotesFootnote;
    private serializeInlineEndnotes;
    private serializeInlineFootnotes;
    private writeEFCommonAttributes;
    private serializeFootnotes;
    private serializeEndnotes;
    private serializeRevisionEnd;
    private serializeComment;
    private serializeCommentItems;
    private serializeBiDirectionalOverride;
    private serializeEditRange;
    private serializeBookMark;
    private getBookmarkId;
    private serializePicture;
    private serializeShape;
    private serializeDrawing;
    private serializeWrappingPictureAndShape;
    private serializeInlinePictureAndShape;
    private serializePictureAndShapeDistance;
    private writeDefaultDistAttribute;
    private serializeInlineCharts;
    private serializeDrawingGraphicsChart;
    private getNextChartName;
    private serializeChart;
    private serializeChartStructure;
    private serializeChartXML;
    private serializeChartColors;
    private serializeChartColor;
    private serializeChartExcelData;
    private serializeWorkBook;
    private serializeExcelStyles;
    private serializeExcelData;
    private serializeSharedString;
    private serializeExcelSheet;
    private serializeExcelContentTypes;
    private serializeExcelRelation;
    private serializeExcelGeneralRelations;
    private getNextExcelRelationShipID;
    private getNextChartRelationShipID;
    private serializeChartData;
    private serializeChartPlotArea;
    private serializeChartLegend;
    private serializeChartErrorBar;
    private errorBarValueType;
    private serializeCategoryAxis;
    private serializeValueAxis;
    private serializeAxis;
    private parseChartTrendLines;
    private chartTrendLineType;
    private parseChartDataLabels;
    private serializeShapeProperties;
    private serializeDefaultShapeProperties;
    private serializeDefaultLineProperties;
    private serializeTextProperties;
    private serializeChartTitleFont;
    private serializeChartSolidFill;
    private serializeFont;
    private parseChartSeriesColor;
    private parseChartDataPoint;
    private serializeChartCategory;
    private serializeChartValue;
    private serializeChartYValue;
    private chartType;
    private chartGrouping;
    private chartLegendPosition;
    private updatechartId;
    private addChartRelation;
    private startsWith;
    private serializeShapeDrawingGraphics;
    private serializeShapeWrapStyle;
    private serializeDrawingGraphics;
    private serializeBlipExtensions;
    private updateShapeId;
    private addImageRelation;
    private updateHFImageRels;
    private serializeTable;
    private getMergeCellFormat;
    private serializeTableCell;
    private serializeTableGrid;
    private serializeTableRows;
    private serializeRow;
    private serializeRowFormat;
    private serializeCells;
    private serializeCell;
    private createCellForMerge;
    private serializeCellFormat;
    private serializeCellWidth;
    private serializeCellMerge;
    private createMerge;
    private serializeColumnSpan;
    private checkMergeCell;
    private serializeGridSpan;
    private serializeTableCellDirection;
    private serializeCellVerticalAlign;
    private serializeGridColumns;
    private serializeTableFormat;
    private serializeTablePositioning;
    private serializeTableMargins;
    private serializeRowMargins;
    private serializeCellMargins;
    private serializeMargins;
    private serializeShading;
    private getTextureStyle;
    private serializeParagraphBorders;
    private serializeTableBorders;
    private serializeBorders;
    private serializeTblLayout;
    private serializeBorder;
    private getBorderStyle;
    private serializeTableIndentation;
    private serializeCellSpacing;
    private serializeTableWidth;
    private serializeTableAlignment;
    private serializeFieldCharacter;
    private serializeTextRange;
    private retrieveDeleteRevision;
    private serializeParagraphFormat;
    private getOutlineLevelValue;
    private serializeTabs;
    private serializeTab;
    private getTabLeader;
    private getTabJustification;
    private serializeListFormat;
    private serializeParagraphAlignment;
    private serializeParagraphSpacing;
    private serializeIndentation;
    private serializeCustomXMLMapping;
    private customXMLRelation;
    private createXMLItem;
    private createXMLItemProps;
    private serializeStyles;
    private serializeDefaultStyles;
    private serializeDocumentStyles;
    private serializeCharacterFormat;
    private getColor;
    private getUnderlineStyle;
    private getHighlightColor;
    private serializeBoolProperty;
    private serializeNumberings;
    private serializeAbstractListStyles;
    private serializeListInstances;
    private generateHex;
    private roundToTwoDecimal;
    private serializeListLevel;
    private serializeLevelOverrides;
    private getLevelPattern;
    private serializeLevelText;
    private serializeLevelFollow;
    private serializeDocumentProtectionSettings;
    private serializeSettings;
    private serializeCoreProperties;
    private serializeAppProperties;
    private serializeFontTable;
    private serializeSettingsRelation;
    private serializeHeaderFooters;
    private serializeHeaderFooter;
    private serializeHeader;
    private serializeHFRelations;
    private writeHFCommonAttributes;
    private serializeFooter;
    private serializeDocumentRelations;
    private serializeChartDocumentRelations;
    private serializeChartRelations;
    private serializeImagesRelations;
    private serializeSvgImageRelation;
    /**
     * @private
     */
    encodedString(input: string): Uint8Array;
    private serializeExternalLinkImages;
    private serializeHeaderFooterRelations;
    private serializeHFRelation;
    private serializeRelationShip;
    private getNextRelationShipID;
    private getEFNextRelationShipID;
    private serializeGeneralRelations;
    private serializeContentTypes;
    private serializeHFContentTypes;
    private serializeHeaderFootersContentType;
    private SerializeEFContentTypes;
    private serializeEFContentType;
    private serializeOverrideContentType;
    private serializeDefaultContentType;
    private resetRelationShipID;
    private resetExcelRelationShipId;
    private resetChartRelationShipId;
    private close;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/index.d.ts
/**
 * export document editor
 */
//node_modules/@syncfusion/ej2-documenteditor/src/index.d.ts
/**
 * export document editor modules
 */
 }
export namespace drawings { 

//node_modules/@syncfusion/ej2-drawings/src/drawing/core/appearance-model.d.ts
/**
 * Interface for a class Thickness
 */
export interface ThicknessModel {
}
/**
 * Interface for a class Margin
 */
export interface MarginModel {
    /**
     * Sets the space to be left from the left side of the immediate parent of an element
     * @default 0
     */
    left?: number;
    /**
     * Sets the space to be left from the right side of the immediate parent of an element
     * @default 0
     */
    right?: number;
    /**
     * Sets the space to be left from the top side of the immediate parent of an element
     * @default 0
     */
    top?: number;
    /**
     * Sets the space to be left from the bottom side of the immediate parent of an element
     * @default 0
     */
    bottom?: number;
}
/**
 * Interface for a class Stop
 */
export interface StopModel {
    /**
     * Sets the color to be filled over the specified region
     * @default ''
     */
    color?: string;
    /**
     * Sets the position where the previous color transition ends and a new color transition starts
     * @default 0
     */
    offset?: number;
    /**
     * Describes the transparency level of the region
     * @default 1
     */
    opacity?: number;
}
/**
 * Interface for a class Gradient
 */
export interface GradientModel {
    /**
     * Defines the stop collection of gradient
     * @default []
     */
    stops?: StopModel[];
    /**
     * Defines the type of gradient
     * * Linear - Sets the type of the gradient as Linear
     * * Radial - Sets the type of the gradient as Radial
     * @default 'None'
     */
    type?: GradientType;
    /**
     * Defines the id of gradient
     * @default ''
     */
    id?: string;
}
/**
 * Interface for a class LinearGradient
 */
export interface LinearGradientModel extends GradientModel{
    /**
     * Defines the x1 value of linear gradient
     * @default 0
     */
    x1?: number;
    /**
     * Defines the x2 value of linear gradient
     * @default 0
     */
    x2?: number;
    /**
     * Defines the y1 value of linear gradient
     * @default 0
     */
    y1?: number;
    /**
     * Defines the y2 value of linear gradient
     * @default 0
     */
    y2?: number;
}
/**
 * Interface for a class RadialGradient
 */
export interface RadialGradientModel extends GradientModel{
    /**
     * Defines the cx value of radial gradient
     * @default 0
     */
    cx?: number;
    /**
     * Defines the cy value of radial gradient
     * @default cy
     */
    cy?: number;
    /**
     * Defines the fx value of radial gradient
     * @default 0
     */
    fx?: number;
    /**
     * Defines the fy value of radial gradient
     * @default fy
     */
    fy?: number;
    /**
     * Defines the r value of radial gradient
     * @default 50
     */
    r?: number;
}
/**
 * Interface for a class ShapeStyle
 */
export interface ShapeStyleModel {
    /**
     * Sets the fill color of a shape/path
     * @default 'white'
     */
    fill?: string;
    /**
     * Sets the stroke color of a shape/path
     * @default 'black'
     */
    strokeColor?: string;
    /**
     * Defines the pattern of dashes and spaces to stroke the path/shape
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```
     *  let nodes: NodeModel[] = [{  id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100,
     * style: { fill: 'red', strokeColor: 'blue', strokeWidth: 5, 
     * strokeDashArray: '2 2', opacity: 0.6 } as ShapeStyleModel,
     * }];
     * let diagram: Diagram = new Diagram({
     * ...
     *   nodes: nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     * @default ''
     */
    strokeDashArray?: string;
    /**
     * Defines the stroke width of the path/shape
     * @default 1
     */
    strokeWidth?: number;
    /**
     * Sets the opacity of a shape/path
     * @default 1
     */
    opacity?: number;
    /**
     * Defines the gradient of a shape/path
     * @default null
     * @aspType object
     */
    gradient?: GradientModel | LinearGradientModel | RadialGradientModel;
}
/**
 * Interface for a class StrokeStyle
 */
export interface StrokeStyleModel extends ShapeStyleModel{
    /**
     * Sets the fill color of a shape/path
     * @default 'transparent'
     */
    fill?: string;
}
/**
 * Interface for a class TextStyle
 */
export interface TextStyleModel extends ShapeStyleModel{
    /**
     * Sets the font color of a text
     * @default 'black'
     */
    color?: string;
    /**
     * Sets the font type of a text
     * @default 'Arial'
     */
    fontFamily?: string;
    /**
     * Defines the font size of a text
     * @default 12
     */
    fontSize?: number;
    /**
     * Enables/disables the italic style of text
     * @default false
     */
    italic?: boolean;
    /**
     * Enables/disables the bold style of text
     * @default false
     */
    bold?: boolean;
    /**
     * Defines how the white space and new line characters have to be handled
     * * PreserveAll - Preserves all empty spaces and empty lines
     * * CollapseSpace - Collapses the consequent spaces into one
     * * CollapseAll - Collapses all consequent empty spaces and empty lines
     * @default 'CollapseSpace'
     */
    whiteSpace?: WhiteSpace;
    /**
     * Defines how the text should be wrapped, when the text size exceeds some specific bounds
     * * WrapWithOverflow - Wraps the text so that no word is broken
     * * Wrap - Wraps the text and breaks the word, if necessary
     * * NoWrap - Text will no be wrapped
     * @default  'WrapWithOverflow'
     */
    textWrapping?: TextWrap;
    /**
     * Defines how the text should be aligned within its bounds
     * * Left - Aligns the text at the left of the text bounds
     * * Right - Aligns the text at the right of the text bounds
     * * Center - Aligns the text at the center of the text bounds
     * * Justify - Aligns the text in a justified manner
     * @default 'Center'
     */
    textAlign?: TextAlign;
    /**
     * Defines how the text should be decorated. For example, with underline/over line
     * * Overline - Decorates the text with a line above the text
     * * Underline - Decorates the text with an underline
     * * LineThrough - Decorates the text by striking it with a line
     * * None - Text will not have any specific decoration
     * @default 'None'
     */
    textDecoration?: TextDecoration;
    /**
     * Defines how to handle the text when it exceeds the given size.
     * * Wrap - Wraps the text to next line, when it exceeds its bounds
     * * Ellipsis - It truncates the overflown text and represents the clipping with an ellipsis
     * * Clip - It clips the overflow text
     * @default 'Wrap'
     */
    textOverflow?: TextOverflow;
    /**
     * Sets the fill color of a shape/path
     * @default 'transparent'
     */
    fill?: string;
}
//node_modules/@syncfusion/ej2-drawings/src/drawing/core/appearance.d.ts
/**
 * Layout Model module defines the styles and types to arrange objects in containers
 */
export  class Thickness {
    /**
     * Sets the left value of the thickness
     * @default 0
     */
    left: number;
    /**
     * Sets the right value of the thickness
     * @default 0
     */
    right: number;
    /**
     * Sets the top value of the thickness
     * @default 0
     */
    top: number;
    /**
     * Sets the bottom value of the thickness
     * @default 0
     */
    bottom: number;
    constructor(left: number, right: number, top: number, bottom: number);
}
/**
 * Defines the space to be left between an object and its immediate parent
 */
export  class Margin extends base.ChildProperty<Margin> {
    /**
     * Sets the space to be left from the left side of the immediate parent of an element
     * @default 0
     */
    left: number;
    /**
     * Sets the space to be left from the right side of the immediate parent of an element
     * @default 0
     */
    right: number;
    /**
     * Sets the space to be left from the top side of the immediate parent of an element
     * @default 0
     */
    top: number;
    /**
     * Sets the space to be left from the bottom side of the immediate parent of an element
     * @default 0
     */
    bottom: number;
}
/**
 * Defines the different colors and the region of color transitions
 * ```html
 * <div id='diagram'></div>
 * ```
 * ```typescript
 * let stopscol: StopModel[] = [];
 * let stops1: StopModel = { color: 'white', offset: 0, opacity: 0.7 };
 * stopscol.push(stops1);
 * let stops2: StopModel = { color: 'red', offset: 0, opacity: 0.3 };
 * stopscol.push(stops2);
 * let gradient: RadialGradientModel = { cx: 50, cy: 50, fx: 50, fy: 50, stops: stopscol, type: 'Radial' };
 * let nodes$: NodeModel[] = [{ id: 'node1', width: 100, height: 100,
 * style: { gradient: gradient }
 * }];
 * let diagram$: Diagram = new Diagram({
 * ...
 *   nodes: nodes,
 * ...
 * });
 * diagram.appendTo('#diagram');
 * ```
 */
export  class Stop extends base.ChildProperty<Stop> {
    /**
     * Sets the color to be filled over the specified region
     * @default ''
     */
    color: string;
    /**
     * Sets the position where the previous color transition ends and a new color transition starts
     * @default 0
     */
    offset: number;
    /**
     * Describes the transparency level of the region
     * @default 1
     */
    opacity: number;
    /**
     * @private
     * Returns the name of class Stop
     */
    getClassName(): string;
}
/**
 * Paints the node with a smooth transition from one color to another color
 */
export  class Gradient extends base.ChildProperty<Gradient> {
    /**
     * Defines the stop collection of gradient
     * @default []
     */
    stops: StopModel[];
    /**
     * Defines the type of gradient
     * * Linear - Sets the type of the gradient as Linear
     * * Radial - Sets the type of the gradient as Radial
     * @default 'None'
     */
    type: GradientType;
    /**
     * Defines the id of gradient
     * @default ''
     */
    id: string;
}
/**
 * Defines the linear gradient of styles
 * ```html
 * <div id='diagram'></div>
 * ```
 * ```typescript
 * let stopscol: StopModel[] = [];
 * let stops1: StopModel = { color: 'white', offset: 0, opacity: 0.7 };
 * stopscol.push(stops1);
 * let stops2: StopModel = { color: 'red', offset: 0, opacity: 0.3 };
 * stopscol.push(stops2);
 * let gradient: LinearGradientModel = { x1: 0, x2: 50, y1: 0, y2: 50, stops: stopscol, type: 'Linear' };
 * let nodes$: NodeModel[] = [{ id: 'node1', width: 100, height: 100,
 * style: { gradient: gradient }
 * }];
 * let diagram$: Diagram = new Diagram({
 * ...
 *   nodes: nodes,
 * ...
 * });
 * diagram.appendTo('#diagram');
 * ```
 */
/**
 * Paints the node with linear color transitions
 */
export  class LinearGradient extends Gradient {
    /**
     * Defines the x1 value of linear gradient
     * @default 0
     */
    x1: number;
    /**
     * Defines the x2 value of linear gradient
     * @default 0
     */
    x2: number;
    /**
     * Defines the y1 value of linear gradient
     * @default 0
     */
    y1: number;
    /**
     * Defines the y2 value of linear gradient
     * @default 0
     */
    y2: number;
}
/**
 * A focal point defines the beginning of the gradient, and a circle defines the end point of the gradient
 * ```html
 * <div id='diagram'></div>
 * ```
 * ```typescript
 * let stopscol: StopModel[] = [];
 * let stops1: StopModel = { color: 'white', offset: 0, opacity: 0.7 };
 * stopscol.push(stops1);
 * let stops2: StopModel = { color: 'red', offset: 0, opacity: 0.3 };
 * stopscol.push(stops2);
 * let gradient: RadialGradientModel = { cx: 50, cy: 50, fx: 50, fy: 50, stops: stopscol, type: 'Radial' };
 * let nodes$: NodeModel[] = [{ id: 'node1', width: 100, height: 100,
 * style: { gradient: gradient }
 * }];
 * let diagram$: Diagram = new Diagram({
 * ...
 *   nodes: nodes,
 * ...
 * });
 * diagram.appendTo('#diagram');
 * ```
 */
export  class RadialGradient extends Gradient {
    /**
     * Defines the cx value of radial gradient
     * @default 0
     */
    cx: number;
    /**
     * Defines the cy value of radial gradient
     * @default cy
     */
    cy: number;
    /**
     * Defines the fx value of radial gradient
     * @default 0
     */
    fx: number;
    /**
     * Defines the fy value of radial gradient
     * @default fy
     */
    fy: number;
    /**
     * Defines the r value of radial gradient
     * @default 50
     */
    r: number;
}
/**
 * Defines the style of shape/path
 */
export  class ShapeStyle extends base.ChildProperty<ShapeStyle> {
    /**
     * Sets the fill color of a shape/path
     * @default 'white'
     */
    fill: string;
    /**
     * Sets the stroke color of a shape/path
     * @default 'black'
     */
    strokeColor: string;
    /**
     * Defines the pattern of dashes and spaces to stroke the path/shape
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```
     *  let nodes$: NodeModel[] = [{  id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100,
     * style: { fill: 'red', strokeColor: 'blue', strokeWidth: 5,
     * strokeDashArray: '2 2', opacity: 0.6 } as ShapeStyleModel,
     * }];
     * let diagram$: Diagram = new Diagram({
     * ...
     *   nodes: nodes,
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     * @default ''
     */
    strokeDashArray: string;
    /**
     * Defines the stroke width of the path/shape
     * @default 1
     */
    strokeWidth: number;
    /**
     * Sets the opacity of a shape/path
     * @default 1
     */
    opacity: number;
    /**
     * Defines the gradient of a shape/path
     * @default null
     * @aspType object
     */
    gradient: GradientModel | LinearGradientModel | RadialGradientModel;
}
/**
 * Defines the stroke style of a path
 */
export  class StrokeStyle extends ShapeStyle {
    /**
     * Sets the fill color of a shape/path
     * @default 'transparent'
     */
    fill: string;
}
/**
 * Defines the appearance of text
 * ```html
 * <div id='diagram'></div>
 * ```
 * ```typescript
 * let style: TextStyleModel = { strokeColor: 'black', opacity: 0.5, strokeWidth: 1 };
 * let node: NodeModel;
 * node = {
 * ...
 * id: 'node', width: 100, height: 100, offsetX: 100, offsetY: 100,
 * annotations : [{
 * content: 'text', style: style }];
 * ...
 * };
 * let diagram$: Diagram = new Diagram({
 * ...
 *   nodes: [node],
 * ...
 * });
 * diagram.appendTo('#diagram');
 * ```
 */
export  class TextStyle extends ShapeStyle {
    /**
     * Sets the font color of a text
     * @default 'black'
     */
    color: string;
    /**
     * Sets the font type of a text
     * @default 'Arial'
     */
    fontFamily: string;
    /**
     * Defines the font size of a text
     * @default 12
     */
    fontSize: number;
    /**
     * Enables/disables the italic style of text
     * @default false
     */
    italic: boolean;
    /**
     * Enables/disables the bold style of text
     * @default false
     */
    bold: boolean;
    /**
     * Defines how the white space and new line characters have to be handled
     * * PreserveAll - Preserves all empty spaces and empty lines
     * * CollapseSpace - Collapses the consequent spaces into one
     * * CollapseAll - Collapses all consequent empty spaces and empty lines
     * @default 'CollapseSpace'
     */
    whiteSpace: WhiteSpace;
    /**
     * Defines how the text should be wrapped, when the text size exceeds some specific bounds
     * * WrapWithOverflow - Wraps the text so that no word is broken
     * * Wrap - Wraps the text and breaks the word, if necessary
     * * NoWrap - Text will no be wrapped
     * @default  'WrapWithOverflow'
     */
    textWrapping: TextWrap;
    /**
     * Defines how the text should be aligned within its bounds
     * * Left - Aligns the text at the left of the text bounds
     * * Right - Aligns the text at the right of the text bounds
     * * Center - Aligns the text at the center of the text bounds
     * * Justify - Aligns the text in a justified manner
     * @default 'Center'
     */
    textAlign: TextAlign;
    /**
     * Defines how the text should be decorated. For example, with underline/over line
     * * Overline - Decorates the text with a line above the text
     * * Underline - Decorates the text with an underline
     * * LineThrough - Decorates the text by striking it with a line
     * * None - Text will not have any specific decoration
     * @default 'None'
     */
    textDecoration: TextDecoration;
    /**
     * Defines how to handle the text when it exceeds the given size.
     * * Wrap - Wraps the text to next line, when it exceeds its bounds
     * * Ellipsis - It truncates the overflown text and represents the clipping with an ellipsis
     * * Clip - It clips the overflow text
     * @default 'Wrap'
     */
    textOverflow: TextOverflow;
    /**
     * Sets the fill color of a shape/path
     * @default 'transparent'
     */
    fill: string;
}
//node_modules/@syncfusion/ej2-drawings/src/drawing/core/containers/canvas.d.ts
/**
 * Canvas module is used to define a plane(canvas) and to arrange the children based on margin
 */
export  class Canvas extends Container {
    /**
     * Not applicable for canvas
     *  @private
     */
    measureChildren: boolean;
    /**
     * Measures the minimum space that the canvas requires
     * @param availableSize
     */
    measure(availableSize: Size): Size;
    /**
     * Arranges the child elements of the canvas
     */
    arrange(desiredSize: Size): Size;
    /**
     * Aligns the child element based on its parent
     * @param child
     * @param childSize
     * @param parentSize
     * @param x
     * @param y
     */
    private alignChildBasedOnParent;
    /**
     * Aligns the child elements based on a point
     * @param child
     * @param x
     * @param y
     */
    private alignChildBasedOnaPoint;
}
//node_modules/@syncfusion/ej2-drawings/src/drawing/core/containers/container.d.ts
/**
 * Container module is used to group related objects
 */
export  class Container extends DrawingElement {
    /**
     * Gets/Sets the collection of child elements
     */
    children: DrawingElement[];
    private desiredBounds;
    /** @private */
    measureChildren: boolean;
    /**
     * returns whether the container has child elements or not
     */
    hasChildren(): boolean;
    /**   @private  */
    prevRotateAngle: number;
    /**
     * Measures the minimum space that the container requires
     *
     * @param availableSize
     */
    measure(availableSize: Size): Size;
    /**
     * Arranges the container and its children
     * @param desiredSize
     */
    arrange(desiredSize: Size): Size;
    /**
     * Stretches the child elements based on the size of the container
     * @param size
     */
    protected stretchChildren(size: Size): void;
    /**
     * Finds the offset of the child element with respect to the container
     * @param child
     * @param center
     */
    protected findChildOffsetFromCenter(child: DrawingElement, center: PointModel): void;
    private GetChildrenBounds;
}
//node_modules/@syncfusion/ej2-drawings/src/drawing/core/containers/index.d.ts
/**
 * Diagram component exported items
 */
//node_modules/@syncfusion/ej2-drawings/src/drawing/core/elements/drawing-element.d.ts
/**
 * DiagramElement module defines the basic unit of diagram
 */
export  class DrawingElement {
    /**
     * Sets the unique id of the element
     */
    id: string;
    /**
     * Sets/Gets the reference point of the element
     * ```html
     * <div id='diagram'></div>
     * ```
     * ```typescript
     * let stackPanel: StackPanel = new StackPanel();
     * stackPanel.offsetX = 300;
 stackPanel.offsetY = 200;
     * stackPanel.width = 100;
 stackPanel.height = 100;
     * stackPanel.style.fill = 'red';
     * stackPanel.pivot = { x: 0.5, y: 0.5 };
     * let diagram$: Diagram = new Diagram({
     * ...
     * basicElements: [stackPanel],
     * ...
     * });
     * diagram.appendTo('#diagram');
     * ```
     */
    pivot: PointModel;
    rotateValue: IRotateValue;
    /**
     * Sets or gets whether the content of the element needs to be measured
     */
    isDirt: boolean;
    /**
     * Sets/Gets the x-coordinate of the element
     */
    offsetX: number;
    /**
     * Sets/Gets the y-coordinate of the element
     */
    offsetY: number;
    /**
     * Set the corner of the element
     */
    cornerRadius: number;
    /**
     * Sets/Gets the minimum height of the element
     */
    minHeight: number;
    /**
     * Sets/Gets the minimum width of the element
     */
    minWidth: number;
    /**
     * Sets/Gets the maximum width of the element
     */
    maxWidth: number;
    /**
     * Sets/Gets the maximum height of the element
     */
    maxHeight: number;
    /**
     * Sets/Gets the width of the element
     */
    width: number;
    /**
     * Sets/Gets the height of the element
     */
    height: number;
    /**
     * Sets/Gets how the element has to be horizontally arranged with respect to its immediate parent
     * * Stretch - Stretches the diagram element throughout its immediate parent
     * * Left - Aligns the diagram element at the left of its immediate parent
     * * Right - Aligns the diagram element at the right of its immediate parent
     * * Center - Aligns the diagram element at the center of its immediate parent
     * * Auto - Aligns the diagram element based on the characteristics of its immediate parent
     */
    horizontalAlignment: HorizontalAlignment;
    /**
     * Sets/Gets how the element has to be vertically arranged with respect to its immediate parent
     * * Stretch - Stretches the diagram element throughout its immediate parent
     * * Top - Aligns the diagram element at the top of its immediate parent
     * * Bottom - Aligns the diagram element at the bottom of its immediate parent
     * * Center - Aligns the diagram element at the center of its immediate parent
     * * Auto - Aligns the diagram element based on the characteristics of its immediate parent
     */
    verticalAlignment: VerticalAlignment;
    /**
     * Sets or gets whether the content of the element to be visible
     */
    visible: boolean;
    /**
     * Sets/Gets the rotate angle of the element
     */
    rotateAngle: number;
    /**
     * Sets/Gets the margin of the element
     */
    margin: MarginModel;
    /**
     * Sets whether the element has to be aligned with respect to a point/with respect to its immediate parent
     * * Point - Diagram elements will be aligned with respect to a point
     * * Object - Diagram elements will be aligned with respect to its immediate parent
     */
    relativeMode: RelativeMode;
    /**
     * Sets whether the element has to be transformed based on its parent or not
     * * Self - Sets the transform type as Self
     * * Parent - Sets the transform type as Parent
     */
    /** @private */
    transform: RotateTransform;
    /**
     * Sets the style of the element
     */
    style: ShapeStyleModel;
    /**
     * Gets the minimum size that is required by the element
     */
    desiredSize: Size;
    /**
     * Gets the size that the element will be rendered
     */
    actualSize: Size;
    /**
     * Gets the rotate angle that is set to the immediate parent of the element
     */
    parentTransform: number;
    /** @private */
    preventContainer: boolean;
    /**
     * Gets/Sets the boundary of the element
     */
    bounds: Rect;
    /**
     * Gets/Sets the corners of the rectangular bounds
     */
    /** @private */
    corners: Corners;
    /**
     * Defines whether the element has to be measured or not
     */
    staticSize: boolean;
    /**
     * check whether the element is rect or not
     */
    /** @private */
    isRectElement: boolean;
    /** @private */
    isCalculateDesiredSize: boolean;
    /**
     * Defines whether the element is group or port
     */
    /** @private */
    elementActions: ElementAction;
    /**
     * Sets the offset of the element with respect to its parent
     * @param x
     * @param y
     * @param mode
     */
    setOffsetWithRespectToBounds(x: number, y: number, mode: UnitMode): void;
    /**
     * Gets the position of the element with respect to its parent
     * @param size
     */
    getAbsolutePosition(size: Size): PointModel;
    private position;
    private unitMode;
    /**   @private  */
    float: boolean;
    /**
    * used to set the outer bounds value
    * @private
    */
    outerBounds: Rect;
    private floatingBounds;
    /**
     * Measures the minimum space that the element requires
     * @param availableSize
     */
    measure(availableSize: Size): Size;
    /**
     * Arranges the element
     * @param desiredSize
     */
    arrange(desiredSize: Size): Size;
    /**
     * Updates the bounds of the element
     */
    updateBounds(): void;
    /**
     * Validates the size of the element with respect to its minimum and maximum size
     * @param desiredSize
     * @param availableSize
     */
    protected validateDesiredSize(desiredSize: Size, availableSize: Size): Size;
}
/** @private */
export interface Corners {
    topLeft: PointModel;
    topCenter: PointModel;
    topRight: PointModel;
    middleLeft: PointModel;
    center: PointModel;
    middleRight: PointModel;
    bottomLeft: PointModel;
    bottomCenter: PointModel;
    bottomRight: PointModel;
    left: number;
    right: number;
    top: number;
    bottom: number;
    width: number;
    height: number;
}
//node_modules/@syncfusion/ej2-drawings/src/drawing/core/elements/image-element.d.ts
/**
 * ImageElement defines a basic image elements
 */
export  class ImageElement extends DrawingElement {
    /**
     * set the id for each element
     */
    constructor();
    /**
     * sets or gets the image source
     */
    private imageSource;
    /**
     * Gets the source for the image element
     */
    /**
    * Sets the source for the image element
    */
    source: string;
    /**
     * sets scaling factor of the image
     */
    imageScale: Scale;
    /**
     * sets the alignment of the image
     */
    imageAlign: ImageAlignment;
    /**
     * Sets how to stretch the image
     */
    stretch: Stretch;
    /**
     * Saves the actual size of the image
     */
    contentSize: Size;
    /**
     * Measures minimum space that is required to render the image
     * @param availableSize
     */
    measure(availableSize: Size): Size;
    /**
     * Arranges the image
     * @param desiredSize
     */
    arrange(desiredSize: Size): Size;
}
//node_modules/@syncfusion/ej2-drawings/src/drawing/core/elements/index.d.ts
/**
 * Diagram component exported items
 */
//node_modules/@syncfusion/ej2-drawings/src/drawing/core/elements/path-element.d.ts
/**
 * PathElement takes care of how to align the path based on offsetX and offsetY
 */
export  class PathElement extends DrawingElement {
    /**
     * set the id for each element
     */
    constructor();
    /**
     * Gets or sets the geometry of the path element
     */
    private pathData;
    /**
     * Gets the geometry of the path element
     */
    /**
    * Sets the geometry of the path element
    */
    data: string;
    /**
     * Gets/Sets whether the path has to be transformed to fit the given x,y, width, height
     */
    transformPath: boolean;
    /**
     * Gets/Sets the equivalent path, that will have the origin as 0,0
     */
    absolutePath: string;
    /**   @private  */
    canMeasurePath: boolean;
    /**   @private  */
    absoluteBounds: Rect;
    private points;
    private pointTimer;
    /**
     * Measures the minimum space that is required to render the element
     * @param availableSize
     */
    measure(availableSize: Size): Size;
    /**
     * Arranges the path element
     * @param desiredSize
     */
    arrange(desiredSize: Size): Size;
    /**
     * Translates the path to 0,0 and scales the path based on the actual size
     * @param pathData
     * @param bounds
     * @param actualSize
     */
    updatePath(pathData: string, bounds: Rect, actualSize: Size): string;
}
//node_modules/@syncfusion/ej2-drawings/src/drawing/core/elements/text-element.d.ts
/**
 * TextElement is used to display text/annotations
 */
export  class TextElement extends DrawingElement {
    /**
     * set the id for each element
     */
    constructor();
    /**
     * sets or gets the image source
     */
    private textContent;
    /** @private */
    canMeasure: boolean;
    /** @private */
    canConsiderBounds: boolean;
    /** @private */
    doWrap: boolean;
    /**
     * gets the content for the text element
     */
    /**
    * sets the content for the text element
    */
    content: string;
    private textNodes;
    /**
     * sets the content for the text element
     */
    /**
    * gets the content for the text element
    */
    childNodes: SubTextElement[];
    private textWrapBounds;
    /**
     * gets the wrapBounds for the text
     */
    /**
    * sets the wrapBounds for the text
    */
    wrapBounds: TextBounds;
    /** @private */
    refreshTextElement(): void;
    /**
     * Defines the appearance of the text element
     */
    style: TextStyleModel;
    /**
     * Measures the minimum size that is required for the text element
     * @param availableSize
     */
    measure(availableSize: Size): Size;
    /**
     * Arranges the text element
     * @param desiredSize
     */
    arrange(desiredSize: Size): Size;
}
//node_modules/@syncfusion/ej2-drawings/src/drawing/core/index.d.ts
/**
 * Diagram component exported items
 */
//node_modules/@syncfusion/ej2-drawings/src/drawing/enum/enum.d.ts
/**
 * enum module defines the public enumerations
 */
/**
 * Defines how to handle the text when it exceeds the element bounds
 * Wrap - Wraps the text to next line, when it exceeds its bounds
 * Ellipsis - It truncates the overflown text and represents the clipping with an ellipsis
 * Clip - It clips the overflow text
 */
export  type TextOverflow = 
/** Wrap - Wraps the text to next line, when it exceeds its bounds */
'Wrap' | 
/** Ellipsis - It truncates the overflown text and represents the clipping with an ellipsis */
'Ellipsis' | 
/** Clip - It clips the overflow text */
'Clip';
/**
 * Defines how to decorate the text
 * Overline - Decorates the text with a line above the text
 * Underline - Decorates the text with an underline
 * LineThrough - Decorates the text by striking it with a line
 * None - Text will not have any specific decoration
 */
export  type TextDecoration = 
/** Overline - Decorates the text with a line above the text */
'Overline' | 
/** Underline - Decorates the text with an underline */
'Underline' | 
/** LineThrough - Decorates the text by striking it with a line */
'LineThrough' | 
/** None - Text will not have any specific decoration */
'None';
/**
 * Defines how the text has to be aligned
 * Left - Aligns the text at the left of the text bounds
 * Right - Aligns the text at the right of the text bounds
 * Center - Aligns the text at the center of the text bounds
 * Justify - Aligns the text in a justified manner
 */
export  type TextAlign = 
/** Left - Aligns the text at the left of the text bounds */
'Left' | 
/** Right - Aligns the text at the right of the text bounds */
'Right' | 
/** Center - Aligns the text at the center of the text bounds */
'Center' | 
/** Justify - Aligns the text in a justified manner */
'Justify';
/**
 * Defines how to wrap the text when it exceeds the element bounds
 * WrapWithOverflow - Wraps the text so that no word is broken
 * Wrap - Wraps the text and breaks the word, if necessary
 * NoWrap - Text will no be wrapped
 */
export  type TextWrap = 
/** WrapWithOverflow - Wraps the text so that no word is broken */
'WrapWithOverflow' | 
/** Wrap - Wraps the text and breaks the word, if necessary */
'Wrap' | 
/** NoWrap - Text will no be wrapped */
'NoWrap';
/**
 * Defines how the diagram elements have to be aligned with respect to its immediate parent
 * * Stretch - Stretches the diagram element throughout its immediate parent
 * * Top - Aligns the diagram element at the top of its immediate parent
 * * Bottom - Aligns the diagram element at the bottom of its immediate parent
 * * Center - Aligns the diagram element at the center of its immediate parent
 * * Auto - Aligns the diagram element based on the characteristics of its immediate parent
 */
export  type VerticalAlignment = 
/**
 * Stretch - Stretches the diagram element throughout its immediate parent
 */
'Stretch' | 
/**
 * Top - Aligns the diagram element at the top of its immediate parent
 */
'Top' | 
/**
 * Bottom - Aligns the diagram element at the bottom of its immediate parent
 */
'Bottom' | 
/**
 * Center - Aligns the diagram element at the center of its immediate parent
 */
'Center' | 
/**
 * Auto - Aligns the diagram element based on the characteristics of its immediate parent
 */
'Auto';
/**
 * Defines how the diagram elements have to be aligned with respect to its immediate parent
 * * Stretch - Stretches the diagram element throughout its immediate parent
 * * Left - Aligns the diagram element at the left of its immediate parent
 * * Right - Aligns the diagram element at the right of its immediate parent
 * * Center - Aligns the diagram element at the center of its immediate parent
 * * Auto - Aligns the diagram element based on the characteristics of its immediate parent
 */
export  type HorizontalAlignment = 
/**
 * Stretch - Stretches the diagram element throughout its immediate parent
 */
'Stretch' | 
/**
 * Left - Aligns the diagram element at the left of its immediate parent
 */
'Left' | 
/**
 * Right - Aligns the diagram element at the right of its immediate parent
 */
'Right' | 
/**
 * Center - Aligns the diagram element at the center of its immediate parent
 */
'Center' | 
/**
 * Auto - Aligns the diagram element based on the characteristics of its immediate parent
 */
'Auto';
/**
 * Defines the reference with respect to which the diagram elements have to be aligned
 * Point - Diagram elements will be aligned with respect to a point
 * Object - Diagram elements will be aligned with respect to its immediate parent
 */
export  type RelativeMode = 
/** Point - Diagram elements will be aligned with respect to a point */
'Point' | 
/** Object - Diagram elements will be aligned with respect to its immediate parent */
'Object';
/**
 * Defines the type of the gradient
 * Linear - Sets the type of the gradient as Linear
 * Radial - Sets the type of the gradient as Radial
 */
export  type GradientType = 
/** None - Sets the type of the gradient as None */
'None' | 
/** Linear - Sets the type of the gradient as Linear */
'Linear' | 
/** Radial - Sets the type of the gradient as Radial */
'Radial';
/**
 * Defines the unit mode
 * Absolute - Sets the unit mode type as Absolute
 * Fraction - Sets the unit mode type as Fraction
 */
export  type UnitMode = 
/** Absolute - Sets the unit mode type as Absolute */
'Absolute' | 
/** Fraction - Sets the unit mode type as Fraction */
'Fraction';
/**
 * Defines the container/canvas transform
 * Self - Sets the transform type as Self
 * Parent - Sets the transform type as Parent
 */
export  enum RotateTransform {
    /** Self - Sets the transform type as Self */
    Self = 1,
    /** Parent - Sets the transform type as Parent */
    Parent = 2
}
/** Enables/Disables The element actions
 * None - Diables all element actions are none
 * ElementIsPort - Enable element action is port
 * ElementIsGroup - Enable element action as Group
 * @private
 */
export  enum ElementAction {
    /** Disables all element actions are none  */
    None = 0,
    /** Enable the element action is Port  */
    ElementIsPort = 2,
    /** Enable the element action as Group  */
    ElementIsGroup = 4
}
/**
 * Defines how the annotations have to be aligned with respect to its immediate parent
 * Center - Aligns the annotation at the center of a connector segment
 * Before - Aligns the annotation before a connector segment
 * After - Aligns the annotation after a connector segment
 */
export  type AnnotationAlignment = 
/**
 * Center - Aligns the annotation at the center of a connector segment
 */
'Center' | 
/**
 * Before - Aligns the annotation before a connector segment
 */
'Before' | 
/**
 * After - Aligns the annotation after a connector segment
 */
'After';
/**
 * Defines the type of the annotation
 * Shape - Sets the annotation type as Shape
 * Path - Sets the annotation type as Path
 */
export  type AnnotationTypes = 
/**
 * Shape - Sets the annotation type as Shape
 */
'Shape' | 
/**
 * Path - Sets the annotation type as Path
 */
'Path';
/**
 * Defines the decorator shape of the connector
 * None - Sets the decorator shape as None
 * Arrow - Sets the decorator shape as Arrow
 * Diamond - Sets the decorator shape as Diamond
 * Butt - Sets the decorator shape as Butt
 * Path - Sets the decorator shape as Path
 * OpenArrow - Sets the decorator shape as OpenArrow
 * Circle - Sets the decorator shape as Circle
 * Square - Sets the decorator shape as Square
 * Fletch - Sets the decorator shape as Fletch
 * OpenFetch - Sets the decorator shape as OpenFetch
 * IndentedArrow - Sets the decorator shape as Indented Arrow
 * OutdentedArrow - Sets the decorator shape as Outdented Arrow
 * DoubleArrow - Sets the decorator shape as DoubleArrow
 */
export  type DecoratorShapes = 
/** None - Sets the decorator shape as None */
'None' | 
/** Arrow - Sets the decorator shape as Arrow */
'Arrow' | 
/** Diamond - Sets the decorator shape as Diamond */
'Diamond' | 
/** Butt - Sets the decorator shape as Butt */
'Butt' | 
/** OpenArrow - Sets the decorator shape as OpenArrow */
'OpenArrow' | 
/** Circle - Sets the decorator shape as Circle */
'Circle' | 
/** Square - Sets the decorator shape as Square */
'Square' | 
/** Fletch - Sets the decorator shape as Fletch */
'Fletch' | 
/** OpenFetch - Sets the decorator shape as OpenFetch */
'OpenFetch' | 
/** IndentedArrow - Sets the decorator shape as Indented Arrow */
'IndentedArrow' | 
/** OutdentedArrow - Sets the decorator shape as Outdented Arrow */
'OutdentedArrow' | 
/** DoubleArrow - Sets the decorator shape as DoubleArrow */
'DoubleArrow' | 
/** Custom - Sets the decorator shape as Custom */
'Custom';
/**
 * Enables/Disables shape of the uml classifier shapes
 * * Package - Indicates the scope is public.
 * * Class - Indicates the scope is protected.
 * * Interface - Indicates the scope is private.
 * * Enumeration - Indicates the scope is package.
 * * CollapsedPackage - Indicates the scope is public.
 * * Inheritance - Indicates the scope is protected.
 * * Association - Indicates the scope is private.
 * * Aggregation - Indicates the scope is package.
 * * Composition - Indicates the scope is public.
 * * Realization - Indicates the scope is protected.
 * * DirectedAssociation - Indicates the scope is private.
 * * Dependency - Indicates the scope is package.
 */
export  type ClassifierShape = 'Class' | 'Interface' | 'Enumeration' | 'Inheritance' | 'Association' | 'Aggregation' | 'Composition' | 'Realization' | 'Dependency';
/**
 * Defines the direction the uml connectors
 * * Default - Indicates the direction is Default.
 * * Directional - Indicates the direction is single Directional.
 * * BiDirectional - Indicates the direction is BiDirectional.
 */
export  type AssociationFlow = 'Default' | 'Directional' | 'BiDirectional';
/**
 * Define the Multiplicity of uml connector shapes
 * * OneToOne - Indicates the connector multiplicity is OneToOne.
 * * OneToMany - Indicates the connector multiplicity is OneToMany.
 * * ManyToOne - Indicates the connector multiplicity is ManyToOne.
 * * ManyToOne - Indicates the connector multiplicity is ManyToOne.
 */
export  type Multiplicity = 'OneToOne' | 'OneToMany' | 'ManyToOne' | 'ManyToOne';
/**
 * Defines the segment type of the connector
 * Straight - Sets the segment type as Straight
 */
export  type Segments = 
/** Straight - Sets the segment type as Straight */
'Straight';
/**
 * Defines the constraints to enable/disable certain features of connector.
 * * None - Interaction of the connectors cannot be done.
 * * Select - Selects the connector.
 * * Delete - Delete the connector.
 * * Drag - Drag the connector.
 * * DragSourceEnd - Drag the source end of the connector.
 * * DragTargetEnd - Drag the target end of the connector.
 * * DragSegmentThump - Drag the segment thumb of the connector.
 * * AllowDrop - Allow to drop a node.
 * * Bridging - Creates bridge  on intersection of two connectors.
 * * BridgeObstacle -
 * * InheritBridging - Creates bridge  on intersection of two connectors.
 * * PointerEvents - Sets the pointer events.
 * * Tooltip - Displays a tooltip for the connectors.
 * * InheritToolTip - Displays a tooltip for the connectors.
 * * Interaction - Features of the connector used for interaction.
 * * ReadOnly - Enables ReadOnly
 * * Default - Default features of the connector.
 * @aspNumberEnum
 * @IgnoreSingular
 */
export  enum ConnectorConstraints {
    /** Disable all connector Constraints. */
    None = 1,
    /** Enables connector to be selected. */
    Select = 2,
    /** Enables connector to be Deleted. */
    Delete = 4,
    /** Enables connector to be Dragged. */
    Drag = 8,
    /** Enables connectors source end to be selected. */
    DragSourceEnd = 16,
    /** Enables connectors target end to be selected. */
    DragTargetEnd = 32,
    /** Enables control point and end point of every segment in a connector for editing. */
    DragSegmentThumb = 64,
    /** Enables AllowDrop constraints to the  connector. */
    AllowDrop = 128,
    /** Enables bridging to the connector. */
    Bridging = 256,
    /** Enables or Disables Bridge Obstacles with overlapping of connectors. */
    BridgeObstacle = 512,
    /** Enables bridging to the connector. */
    InheritBridging = 1024,
    /** Used to set the pointer events. */
    PointerEvents = 2048,
    /** Enables or disables tool tip for the connectors */
    Tooltip = 4096,
    /** Enables or disables tool tip for the connectors */
    InheritTooltip = 8192,
    /** Enables Interaction. */
    Interaction = 4218,
    /** Enables ReadOnly */
    ReadOnly = 16384,
    /** Enables all constraints. */
    Default = 11838
}
/**
 * Defines the objects direction
 * Left - Sets the direction type as Left
 * Right - Sets the direction type as Right
 * Top - Sets the direction type as Top
 * Bottom - Sets the direction type as Bottom
 */
export  type Direction = 
/** Left - Sets the direction type as Left */
'Left' | 
/** Right - Sets the direction type as Right */
'Right' | 
/** Top - Sets the direction type as Top */
'Top' | 
/** Bottom - Sets the direction type as Bottom */
'Bottom';
/**
 * Defines the orientation of the layout
 * * TopToBottom - Renders the layout from top to bottom
 * * BottomToTop - Renders the layout from bottom to top
 * * LeftToRight - Renders the layout from left to right
 * * RightToLeft - Renders the layout from right to left
 */
export  type LayoutOrientation = 
/**
 * TopToBottom - Renders the layout from top to bottom
 */
'TopToBottom' | 
/**
 * BottomToTop - Renders the layout from bottom to top
 */
'BottomToTop' | 
/**
 * LeftToRight - Renders the layout from left to right
 */
'LeftToRight' | 
/**
 * RightToLeft - Renders the layout from right to left
 */
'RightToLeft';
/**
 * Detect the status of Crud operation performed in the diagram
 */
export  type Status = 'None' | 'New' | 'Update';
/** Enables/Disables the handles of the selector
 * Rotate - Enable Rotate Thumb
 * ConnectorSource - Enable Connector source point
 * ConnectorTarget - Enable Connector target point
 * ResizeNorthEast - Enable ResizeNorthEast Resize
 * ResizeEast - Enable ResizeEast Resize
 * ResizeSouthEast - Enable ResizeSouthEast Resize
 * ResizeSouth - Enable ResizeSouth Resize
 * ResizeSouthWest - Enable ResizeSouthWest Resize
 * ResizeWest - Enable ResizeWest Resize
 * ResizeNorthWest - Enable ResizeNorthWest Resize
 * ResizeNorth - Enable ResizeNorth Resize
 * Default - Enables all constraints
 * @private
 */
export  enum ThumbsConstraints {
    /** Enable Rotate Thumb  */
    Rotate = 2,
    /** Enable Connector source point  */
    ConnectorSource = 4,
    /** Enable Connector target point  */
    ConnectorTarget = 8,
    /** Enable ResizeNorthEast Resize  */
    ResizeNorthEast = 16,
    /** Enable ResizeEast Resize  */
    ResizeEast = 32,
    /** Enable ResizeSouthEast Resize */
    ResizeSouthEast = 64,
    /** Enable ResizeSouth Resize */
    ResizeSouth = 128,
    /** Enable ResizeSouthWest Resize */
    ResizeSouthWest = 256,
    /** Enable ResizeWest Resize */
    ResizeWest = 512,
    /** Enable ResizeNorthWest Resize */
    ResizeNorthWest = 1024,
    /** Enable ResizeNorth Resize */
    ResizeNorth = 2048,
    /** Enables all constraints */
    Default = 4094
}
/**
 * Defines the visibility of the selector handles
 * None - Hides all the selector elements
 * ConnectorSourceThumb - Shows/hides the source thumb of the connector
 * ConnectorTargetThumb - Shows/hides the target thumb of the connector
 * ResizeSouthEast - Shows/hides the bottom right resize handle of the selector
 * ResizeSouthWest - Shows/hides the bottom left resize handle of the selector
 * ResizeNorthEast - Shows/hides the top right resize handle of the selector
 * ResizeNorthWest - Shows/hides the top left resize handle of the selector
 * ResizeEast - Shows/hides the middle right resize handle of the selector
 * ResizeWest - Shows/hides the middle left resize handle of the selector
 * ResizeSouth - Shows/hides the bottom center resize handle of the selector
 * ResizeNorth - Shows/hides the top center resize handle of the selector
 * Rotate - Shows/hides the rotate handle of the selector
 * UserHandles - Shows/hides the user handles of the selector
 * Resize - Shows/hides all resize handles of the selector
 * @aspNumberEnum
 * @IgnoreSingular
 */
export  enum SelectorConstraints {
    /** Hides all the selector elements */
    None = 1,
    /** Shows/hides the source thumb of the connector */
    ConnectorSourceThumb = 2,
    /** Shows/hides the target thumb of the connector */
    ConnectorTargetThumb = 4,
    /** Shows/hides the bottom right resize handle of the selector */
    ResizeSouthEast = 8,
    /** Shows/hides the bottom left resize handle of the selector */
    ResizeSouthWest = 16,
    /** Shows/hides the top right resize handle of the selector */
    ResizeNorthEast = 32,
    /** Shows/hides the top left resize handle of the selector */
    ResizeNorthWest = 64,
    /** Shows/hides the middle right resize handle of the selector  */
    ResizeEast = 128,
    /** Shows/hides the middle left resize handle of the selector */
    ResizeWest = 256,
    /** Shows/hides the bottom center resize handle of the selector */
    ResizeSouth = 512,
    /** Shows/hides the top center resize handle of the selector */
    ResizeNorth = 1024,
    /**  Shows/hides the rotate handle of the selector */
    Rotate = 2048,
    /** Shows/hides the user handles of the selector */
    UserHandle = 4096,
    /** Shows/hides the default tooltip of nodes and connectors */
    ToolTip = 8192,
    /** Shows/hides all resize handles of the selector */
    ResizeAll = 2046,
    /** Shows all handles of the selector  */
    All = 16382
}
/**
 * Defines how to handle the empty space and empty lines of a text
 * PreserveAll - Preserves all empty spaces and empty lines
 * CollapseSpace - Collapses the consequent spaces into one
 * CollapseAll - Collapses all consequent empty spaces and empty lines
 */
export  type WhiteSpace = 
/** PreserveAll - Preserves all empty spaces and empty lines */
'PreserveAll' | 
/** CollapseSpace - Collapses the consequent spaces into one */
'CollapseSpace' | 
/** CollapseAll - Collapses all consequent empty spaces and empty lines */
'CollapseAll';
/** @private */
export  enum NoOfSegments {
    Zero = 0,
    One = 1,
    Two = 2,
    Three = 3,
    Four = 4,
    Five = 5
}
/**
 * None - Alignment value will be set as none
 * XMinYMin - smallest X value of the view port and  smallest Y value of the view port
 * XMidYMin - midpoint X value of the view port and  smallest Y value of the view port
 * XMaxYMin - maximum X value of the view port and  smallest Y value of the view port
 * XMinYMid - smallest X value of the view port and midpoint Y value of the view port
 * XMidYMid - midpoint X value of the view port and midpoint Y value of the view port
 * XMaxYMid - maximum X value of the view port and midpoint Y value of the view port
 * XMinYMax - smallest X value of the view port and maximum Y value of the view port
 * XMidYMax - midpoint X value of the view port and maximum Y value of the view port
 * XMaxYMax - maximum X value of the view port and maximum Y value of the view port
 */
export  type ImageAlignment = 
/** None - Alignment value will be set as none */
'None' | 
/** XMinYMin - smallest X value of the view port and  smallest Y value of the view port */
'XMinYMin' | 
/** XMidYMin - midpoint X value of the view port and  smallest Y value of the view port */
'XMidYMin' | 
/** XMaxYMin - maximum X value of the view port and  smallest Y value of the view port */
'XMaxYMin' | 
/** XMinYMid - smallest X value of the view port and midpoint Y value of the view port */
'XMinYMid' | 
/** XMidYMid - midpoint X value of the view port and midpoint Y value of the view port */
'XMidYMid' | 
/** XMaxYMid - maximum X value of the view port and midpoint Y value of the view port */
'XMaxYMid' | 
/** XMinYMax - smallest X value of the view port and maximum Y value of the view port */
'XMinYMax' | 
/** XMidYMax - midpoint X value of the view port and maximum Y value of the view port */
'XMidYMax' | 
/** XMaxYMax - maximum X value of the view port and maximum Y value of the view port */
'XMaxYMax';
/**
 * Defines the diagrams stretch
 * None - Sets the stretch type for diagram as None
 * Stretch - Sets the stretch type for diagram as Stretch
 * Meet - Sets the stretch type for diagram as Meet
 * Slice - Sets the stretch type for diagram as Slice
 */
export  type Stretch = 
/** None - Sets the stretch type for diagram as None */
'None' | 
/** Stretch - Sets the stretch type for diagram as Stretch */
'Stretch' | 
/** Meet - Sets the stretch type for diagram as Meet */
'Meet' | 
/** Slice - Sets the stretch type for diagram as Slice */
'Slice';
/**
 * None - Scale value will be set as None for the image
 * Meet - Scale value Meet will be set for the image
 * Slice - Scale value Slice will be set for the image
 */
export  type Scale = 
/** None - Scale value will be set as None for the image */
'None' | 
/** Meet - Scale value Meet will be set for the image */
'Meet' | 
/** Slice - Scale value Slice will be set for the image */
'Slice';
//node_modules/@syncfusion/ej2-drawings/src/drawing/enum/index.d.ts
/**
 * Diagram component exported items
 */
//node_modules/@syncfusion/ej2-drawings/src/drawing/index.d.ts
/**
 * Diagram component exported items
 */
//node_modules/@syncfusion/ej2-drawings/src/drawing/objects/interface/IElement.d.ts
/**
 * IElement interface defines the base of the diagram objects (node/connector)
 */
export interface IElement {
    /** returns the wrapper of the diagram element */
    wrapper: Container;
    init(diagram: Container, getDescription?: Function): void;
}
/**
 * IRotateValue interface Rotated label values
 */
export interface IRotateValue {
    /** returns the x position of the label */
    x?: number;
    /** returns the y position of the label */
    y?: number;
    /** returns the angle of the label */
    angle?: number;
}
//node_modules/@syncfusion/ej2-drawings/src/drawing/objects/interface/index.d.ts
/**
 * Diagram component exported items
 */
//node_modules/@syncfusion/ej2-drawings/src/drawing/primitives/index.d.ts
/**
 * Diagram component exported items
 */
//node_modules/@syncfusion/ej2-drawings/src/drawing/primitives/matrix.d.ts
/**
 * Matrix module is used to transform points based on offsets, angle
 */
/** @private */
export  enum MatrixTypes {
    Identity = 0,
    Translation = 1,
    Scaling = 2,
    Unknown = 4
}
/** @private */
export  class Matrix {
    /**   @private  */
    m11: number;
    /**   @private  */
    m12: number;
    /**   @private  */
    m21: number;
    /**   @private  */
    m22: number;
    /**   @private  */
    offsetX: number;
    /**   @private  */
    offsetY: number;
    /**   @private  */
    type: MatrixTypes;
    constructor(m11: number, m12: number, m21: number, m22: number, offsetX: number, offsetY: number, type?: MatrixTypes);
}
/** @private */
export  function identityMatrix(): Matrix;
/** @private */
export  function transformPointByMatrix(matrix: Matrix, point: PointModel): PointModel;
/** @private */
export  function transformPointsByMatrix(matrix: Matrix, points: PointModel[]): PointModel[];
/** @private */
export  function rotateMatrix(matrix: Matrix, angle: number, centerX: number, centerY: number): void;
/** @private */
export  function scaleMatrix(matrix: Matrix, scaleX: number, scaleY: number, centerX?: number, centerY?: number): void;
/** @private */
export  function translateMatrix(matrix: Matrix, offsetX: number, offsetY: number): void;
/** @private */
export  function multiplyMatrix(matrix1: Matrix, matrix2: Matrix): void;
//node_modules/@syncfusion/ej2-drawings/src/drawing/primitives/point-model.d.ts
/**
 * Interface for a class Point
 */
export interface PointModel {
    /**
     * Sets the x-coordinate of a position
     * @default 0
     */
    x?: number;
    /**
     * Sets the y-coordinate of a position
     * @default 0
     */
    y?: number;
}
//node_modules/@syncfusion/ej2-drawings/src/drawing/primitives/point.d.ts
/**
 * Defines and processes coordinates
 */
export  class Point extends base.ChildProperty<Point> {
    /**
     * Sets the x-coordinate of a position
     * @default 0
     */
    x: number;
    /**
     * Sets the y-coordinate of a position
     * @default 0
     */
    y: number;
    /**   @private  */
    static equals(point1: PointModel, point2: PointModel): boolean;
    /**
     * check whether the points are given
     */
    static isEmptyPoint(point: PointModel): boolean;
    /**   @private  */
    static transform(point: PointModel, angle: number, length: number): PointModel;
    /**   @private  */
    static findLength(s: PointModel, e: PointModel): number;
    /**   @private  */
    static findAngle(point1: PointModel, point2: PointModel): number;
    /**   @private  */
    static distancePoints(pt1: PointModel, pt2: PointModel): number;
    /**   @private  */
    static getLengthFromListOfPoints(points: PointModel[]): number;
    /**   @private  */
    static adjustPoint(source: PointModel, target: PointModel, isStart: boolean, length: number): PointModel;
    /**   @private  */
    static direction(pt1: PointModel, pt2: PointModel): string;
    /**
     * @private
     * Returns the name of class Point
     */
    getClassName(): string;
}
//node_modules/@syncfusion/ej2-drawings/src/drawing/primitives/rect.d.ts
/**
 * Rect defines and processes rectangular regions
 */
export  class Rect {
    /**
     * Sets the x-coordinate of the starting point of a rectangular region
     * @default 0
     */
    x: number;
    /**
     * Sets the y-coordinate of the starting point of a rectangular region
     * @default 0
     */
    y: number;
    /**
     * Sets the width of a rectangular region
     * @default 0
     */
    width: number;
    /**
     * Sets the height of a rectangular region
     * @default 0
     */
    height: number;
    constructor(x?: number, y?: number, width?: number, height?: number);
    /**   @private  */
    static empty: Rect;
    /**   @private  */
    readonly left: number;
    /**   @private  */
    readonly right: number;
    /**   @private  */
    readonly top: number;
    /**   @private  */
    readonly bottom: number;
    /**   @private  */
    readonly topLeft: PointModel;
    /**   @private  */
    readonly topRight: PointModel;
    /**   @private  */
    readonly bottomLeft: PointModel;
    /**   @private  */
    readonly bottomRight: PointModel;
    /**   @private  */
    readonly middleLeft: PointModel;
    /**   @private  */
    readonly middleRight: PointModel;
    /**   @private  */
    readonly topCenter: PointModel;
    /**   @private  */
    readonly bottomCenter: PointModel;
    /**   @private  */
    readonly center: PointModel;
    /**   @private  */
    equals(rect1: Rect, rect2: Rect): boolean;
    /**   @private  */
    uniteRect(rect: Rect): Rect;
    /**   @private  */
    unitePoint(point: PointModel): void;
    intersection(rect: Rect): Rect;
    /**   @private  */
    Inflate(padding: number): Rect;
    /**   @private  */
    intersects(rect: Rect): boolean;
    /**   @private  */
    containsRect(rect: Rect): boolean;
    /**   @private  */
    containsPoint(point: PointModel, padding?: number): boolean;
    toPoints(): PointModel[];
    /**   @private  */
    static toBounds(points: PointModel[]): Rect;
    scale(scaleX: number, scaleY: number): void;
    offset(offsetX: number, offsetY: number): void;
}
//node_modules/@syncfusion/ej2-drawings/src/drawing/primitives/size.d.ts
/**
 * Size defines and processes the size(width/height) of the objects
 */
export  class Size {
    /**
     * Sets the height of an object
     * @default 0
     */
    height: number;
    /**
     * Sets the width of an object
     * @default 0
     */
    width: number;
    constructor(width?: number, height?: number);
    /**   @private  */
    clone(): Size;
}
//node_modules/@syncfusion/ej2-drawings/src/drawing/rendering/canvas-interface.d.ts
/**
 * canvas interface
 */
/** @private */
export interface StyleAttributes {
    fill: string;
    stroke: string;
    strokeWidth: number;
    dashArray: string;
    opacity: number;
    gradient?: GradientModel;
    class?: string;
}
/** @private */
export interface BaseAttributes extends StyleAttributes {
    id: string;
    x: number;
    y: number;
    width: number;
    height: number;
    angle: number;
    pivotX: number;
    pivotY: number;
    visible: boolean;
    description?: string;
    canApplyStyle?: boolean;
}
/** @private */
export interface LineAttributes extends BaseAttributes {
    startPoint: PointModel;
    endPoint: PointModel;
}
/** @private */
export interface CircleAttributes extends BaseAttributes {
    centerX: number;
    centerY: number;
    radius: number;
    id: string;
}
/** @private */
export interface Alignment {
    vAlign?: string;
    hAlign?: string;
}
/** @private */
export interface SegmentInfo {
    point?: PointModel;
    index?: number;
    angle?: number;
}
/** @private */
export interface RectAttributes extends BaseAttributes {
    cornerRadius?: number;
}
/** @private */
export interface PathAttributes extends BaseAttributes {
    data: string;
}
/** @private */
export interface TextAttributes extends BaseAttributes {
    whiteSpace: string;
    content: string;
    breakWord: string;
    fontSize: number;
    textWrapping: TextWrap;
    fontFamily: string;
    bold: boolean;
    italic: boolean;
    textAlign: string;
    color: string;
    textOverflow: TextOverflow;
    textDecoration: string;
    doWrap: boolean;
    wrapBounds: TextBounds;
    childNodes: SubTextElement[];
}
/** @private */
export interface SubTextElement {
    text: string;
    x: number;
    dy: number;
    width: number;
}
/** @private */
export interface TextBounds {
    x: number;
    width: number;
}
/** @private */
export interface PathSegment {
    command?: string;
    angle?: number;
    largeArc?: boolean;
    x2?: number;
    sweep?: boolean;
    x1?: number;
    y1?: number;
    y2?: number;
    x0?: number;
    y0?: number;
    x?: number;
    y?: number;
    r1?: number;
    r2?: number;
    centp?: {
        x?: number;
        y?: number;
    };
    xAxisRotation?: number;
    rx?: number;
    ry?: number;
    a1?: number;
    ad?: number;
}
/** @private */
export interface ImageAttributes extends BaseAttributes {
    source: string;
    sourceX: number;
    sourceY: number;
    sourceWidth: number;
    sourceHeight: number;
    scale: Scale;
    alignment: ImageAlignment;
}
//node_modules/@syncfusion/ej2-drawings/src/drawing/rendering/canvas-renderer.d.ts
/**
 * Canvas Renderer
 */
/** @private */
export  class CanvasRenderer {
    /**   @private  */
    static getContext(canvas: HTMLCanvasElement): CanvasRenderingContext2D;
    private setStyle;
    private rotateContext;
    private setFontStyle;
    /**   @private  */
    parseDashArray(dashArray: string): number[];
    /**   @private  */
    drawRectangle(canvas: HTMLCanvasElement, options: RectAttributes): void;
    /**   @private  */
    drawPath(canvas: HTMLCanvasElement, options: PathAttributes): void;
    /**   @private  */
    renderPath(canvas: HTMLCanvasElement, options: PathAttributes, collection: Object[]): void;
    /**   @private  */
    drawText(canvas: HTMLCanvasElement, options: TextAttributes): void;
    private m;
    private r;
    private a;
    private getMeetOffset;
    private getSliceOffset;
    private image;
    private loadImage;
    /**   @private  */
    drawImage(canvas: HTMLCanvasElement, obj: ImageAttributes, parentSvg?: SVGSVGElement, fromPalette?: boolean): void;
    /**   @private  */
    labelAlign(text: TextAttributes, wrapBounds: TextBounds, childNodes: SubTextElement[]): PointModel;
}
export  function refreshDiagramElements(canvas: HTMLCanvasElement, drawingObjects: DrawingElement[], renderer: DrawingRenderer): void;
//node_modules/@syncfusion/ej2-drawings/src/drawing/rendering/index.d.ts
/**
 * Diagram component exported items
 */
//node_modules/@syncfusion/ej2-drawings/src/drawing/rendering/IRenderer.d.ts
/**
 * IRenderer interface defines the base of the SVG and Canvas renderer.
 */
/** @private */
export interface IRenderer {
    parseDashArray(dashArray: string): number[];
    drawRectangle(canvas: HTMLCanvasElement | SVGElement, options: RectAttributes, diagramId: string, onlyRect?: boolean, isSelector?: boolean, parentSvg?: SVGSVGElement, ariaLabel?: Object): void;
}
//node_modules/@syncfusion/ej2-drawings/src/drawing/rendering/renderer.d.ts
/**
 * Renderer module is used to render basic diagram elements
 */
/** @private */
export  class DrawingRenderer {
    /**   @private  */
    renderer: CanvasRenderer;
    private diagramId;
    /** @private */
    adornerSvgLayer: SVGSVGElement;
    /** @private */
    isSvgMode: Boolean;
    /** @private */
    private element;
    constructor(name: string, isSvgMode: Boolean);
    /**   @private  */
    renderElement(element: DrawingElement, canvas: HTMLCanvasElement | SVGElement, htmlLayer: HTMLElement, transform?: Transforms, parentSvg?: SVGSVGElement, createParent?: boolean, fromPalette?: boolean, indexValue?: number): void;
    /**   @private  */
    renderImageElement(element: ImageElement, canvas: HTMLCanvasElement | SVGElement, transform?: Transforms, parentSvg?: SVGSVGElement, fromPalette?: boolean): void;
    /**   @private  */
    renderPathElement(element: PathElement, canvas: HTMLCanvasElement | SVGElement, transform?: Transforms, parentSvg?: SVGSVGElement, fromPalette?: boolean): void;
    /**   @private  */
    renderTextElement(element: TextElement, canvas: HTMLCanvasElement | SVGElement, transform?: Transforms, parentSvg?: SVGSVGElement, fromPalette?: boolean): void;
    /**   @private  */
    renderContainer(group: Container, canvas: HTMLCanvasElement | SVGElement, htmlLayer: HTMLElement, transform?: Transforms, parentSvg?: SVGSVGElement, createParent?: boolean, fromPalette?: boolean, indexValue?: number): void;
    /**   @private  */
    renderRect(element: DrawingElement, canvas: HTMLCanvasElement | SVGElement, transform?: Transforms, parentSvg?: SVGSVGElement): void;
    /**   @private  */
    getBaseAttributes(element: DrawingElement, transform?: Transforms): BaseAttributes;
}
interface Transforms {
    tx: number;
    ty: number;
    scale: number;
}
//node_modules/@syncfusion/ej2-drawings/src/drawing/rendering/svg-renderer.d.ts
/**
 * SVG Renderer
 */
/** @private */
export  class SvgRenderer implements IRenderer {
    /**   @private  */
    parseDashArray(dashArray: string): number[];
    /**   @private  */
    drawRectangle(svg: SVGElement, options: RectAttributes, diagramId: string, onlyRect?: boolean, isSelector?: Boolean, parentSvg?: SVGSVGElement, ariaLabel?: Object): void;
    /**   @private  */
    updateSelectionRegion(gElement: SVGElement, options: RectAttributes): void;
    /**   @private  */
    createGElement(elementType: string, attribute: Object): SVGGElement;
    /** @private */
    drawCircle(gElement: SVGElement, options: CircleAttributes, enableSelector?: number, ariaLabel?: Object): void;
    /**   @private  */
    setSvgStyle(svg: SVGElement, style: StyleAttributes, diagramId?: string): void;
    /**   @private  */
    svgLabelAlign(text: TextAttributes, wrapBound: TextBounds, childNodes: SubTextElement[]): PointModel;
    /** @private */
    drawLine(gElement: SVGElement, options: LineAttributes): void;
    /**   @private  */
    drawPath(svg: SVGElement, options: PathAttributes, diagramId: string, isSelector?: Boolean, parentSvg?: SVGSVGElement, ariaLabel?: Object): void;
    /**   @private  */
    renderPath(svg: SVGElement, options: PathAttributes, collection: Object[]): void;
}
/** @private */
export  function setAttributeSvg(svg: SVGElement, attributes: Object): void;
/** @private */
export  function createSvgElement(elementType: string, attribute: Object): SVGElement;
/** @private */
export  function createSvg(id: string, width: string | Number, height: string | Number): SVGElement;
export  function getParentSvg(element: DrawingElement, targetElement?: string, canvas?: HTMLCanvasElement | SVGElement): SVGElement;
//node_modules/@syncfusion/ej2-drawings/src/drawing/utility/base-util.d.ts
/**
 * Implements the basic functionalities
 */
/** @private */
export  function randomId(): string;
/** @private */
export  function cornersPointsBeforeRotation(ele: DrawingElement): Rect;
/** @private */
export  function rotateSize(size: Size, angle: number): Size;
/** @private */
export  function getBounds(element: DrawingElement): Rect;
/** @private */
export  function textAlignToString(value: TextAlign): string;
/** @private */
export  function wordBreakToString(value: TextWrap | TextDecoration): string;
export  function bBoxText(textContent: string, options: TextAttributes): number;
/** @private */
export  function middleElement(i: number, j: number): number;
/** @private */
export  function whiteSpaceToString(value: WhiteSpace, wrap: TextWrap): string;
/** @private */
export  function rotatePoint(angle: number, pivotX: number, pivotY: number, point: PointModel): PointModel;
/** @private */
export  function getOffset(topLeft: PointModel, obj: DrawingElement): PointModel;
//node_modules/@syncfusion/ej2-drawings/src/drawing/utility/diagram-util.d.ts
/**
 * Implements the drawing functionalities
 */
/** @private */
export  function findNearestPoint(reference: PointModel, start: PointModel, end: PointModel): PointModel;
/** @private */
export  function findElementUnderMouse(obj: IElement, position: PointModel, padding?: number): DrawingElement;
/** @private */
export  function findTargetElement(container: Container, position: PointModel, padding?: number): DrawingElement;
/** @private */
export  function intersect3(lineUtil1: Segment, lineUtil2: Segment): Intersection;
/** @private */
export  function intersect2(start1: PointModel, end1: PointModel, start2: PointModel, end2: PointModel): PointModel;
/** @private */
export  function getLineSegment(x1: number, y1: number, x2: number, y2: number): Segment;
/** @private */
export  function getPoints(element: DrawingElement, corners: Corners, padding?: number): PointModel[];
/** @private */
export  function getBezierDirection(src: PointModel, tar: PointModel): string;
/** @private */
export  function updateStyle(changedObject: TextStyleModel, target: DrawingElement): void;
/** @private */
export  function scaleElement(element: DrawingElement, sw: number, sh: number, refObject: DrawingElement): void;
/** @private */
export  function contains(mousePosition: PointModel, corner: PointModel, padding: number): boolean;
/** @private */
export  function getPoint(x: number, y: number, w: number, h: number, angle: number, offsetX: number, offsetY: number, cornerPoint: PointModel): PointModel;
export interface Segment {
    x1: number;
    y1: number;
    x2: number;
    y2: number;
}
/** @private */
export interface Intersection {
    enabled: boolean;
    intersectPt: PointModel;
}
/** @private */
export interface Info {
    ctrlKey?: boolean;
    shiftKey?: boolean;
}
//node_modules/@syncfusion/ej2-drawings/src/drawing/utility/dom-util.d.ts
/**
 * Defines the functionalities that need to access DOM
 */
export  function getChildNode(node: SVGElement): SVGElement[] | HTMLCollection;
export  function translatePoints(element: PathElement, points: PointModel[]): PointModel[];
/** @private */
export  function measurePath(data: string): Rect;
/** @private */
export  function measureText(text: TextElement, style: TextStyleModel, content: string, maxWidth?: number, textValue?: string): Size;
/** @private */
export  function getDiagramElement(elementId: string, contentId?: string): HTMLElement;
/** @private */
export  function createHtmlElement(elementType: string, attribute: Object): HTMLElement;
/** @private */
export  function setAttributeHtml(element: HTMLElement, attributes: Object): void;
/**
 * @private
 */
export  function getAdornerLayerSvg(diagramId: string, index?: number): SVGSVGElement;
/** @private */
export  function getSelectorElement(diagramId: string, index?: number): SVGElement;
/** @private */
export  function createMeasureElements(): void;
/** @private */
export  function measureImage(source: string, contentSize: Size): Size;
//node_modules/@syncfusion/ej2-drawings/src/drawing/utility/path-util.d.ts
/**
 * These utility methods help to process the data and to convert it to desired dimensions
 */
/** @private */
export  function processPathData(data: string): Object[];
/** @private */
export  function parsePathData(data: string): Object[];
/**
 * Used to find the path for rounded rect
 */
export  function getRectanglePath(cornerRadius: number, height: number, width: number): string;
/** @private */
export  function pathSegmentCollection(collection: Object[]): Object[];
/** @private */
export  function transformPath(arr: Object[], sX: number, sY: number, s: boolean, bX: number, bY: number, iX: number, iY: number): string;
/** @private */
export  function updatedSegment(segment: PathSegment, char: string, obj: PathSegment, isScale: boolean, sX: number, sY: number): Object;
/** @private */
export  function scalePathData(val: number, scaleFactor: number, oldOffset: number, newOffset: number): number;
/** @private */
export  function splitArrayCollection(arrayCollection: Object[]): Object[];
/** @private */
export  function getPathString(arrayCollection: Object[]): string;
/** @private */
export  function getString(obj: PathSegment): string;
//node_modules/@syncfusion/ej2-drawings/src/index.d.ts
/**
 * Diagram component exported items
 */
 }
export namespace dropdowns { 

//node_modules/@syncfusion/ej2-dropdowns/src/auto-complete/auto-complete-model.d.ts
/**
 * Interface for a class AutoComplete
 */
export interface AutoCompleteModel extends ComboBoxModel{
    /**
     * The `fields` property maps the columns of the data table and binds the data to the component.
     * * text - Maps the text column from data table for each list item
     * * value - Maps the value column from data table for each list item
     * * iconCss - Maps the icon class column from data table for each list item
     * * groupBy - Group the list items with it's related items by mapping groupBy field
     *
     * {% codeBlock src='autocomplete/fields/index.md' %}{% endcodeBlock %}
     * > For more details about the field mapping refer to [`Data binding`](../../auto-complete/data-binding) documentation.
     *
     * @default { value: null, iconCss: null, groupBy: null}
     * @deprecated
     */
    fields?: FieldSettingsModel;
    /**
     * When set to ‘false’, consider the [`case-sensitive`](../../auto-complete/filtering/#case-sensitive-filtering)
     * on performing the search to find suggestions.
     * By default consider the casing.
     *
     * @default true
     * @deprecated
     */
    ignoreCase?: boolean;
    /**
     * Allows you to either show or hide the popup button on the component.
     *
     * @default false
     */
    showPopupButton?: boolean;
    /**
     * When set to ‘true’, highlight the searched characters on suggested list items.
     * > For more details about the highlight refer to [`Custom highlight search`](../../auto-complete/how-to/custom-search) documentation.
     *
     * @default false
     */
    highlight?: boolean;
    /**
     * Supports the [`specified number`](../../auto-complete/filtering#filter-item-count)
     * of list items on the suggestion popup.
     *
     * @default 20
     */
    suggestionCount?: number;
    /**
     * Allows additional HTML base.attributes such as title, name, etc., and
     * accepts n number of base.attributes in a key-value pair format.
     *
     * {% codeBlock src='autocomplete/htmlAttributes/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     * @deprecated
     */
    htmlAttributes?: { [key: string]: string };
    /**
     * Accepts the external `query`
     * that execute along with data processing.
     *
     * {% codeBlock src='autocomplete/query/index.md' %}{% endcodeBlock %}
     *
     * @default null
     * @deprecated
     */
    query?: data.Query;
    /**
     * Allows you to set [`the minimum search character length']
     * (../../auto-complete/filtering#limit-the-minimum-filter-character),
     * the search action will perform after typed minimum characters.
     *
     * @default 1
     */
    minLength?: number;
    /**
     * Determines on which filter type, the component needs to be considered on search action.
     * The available [`FilterType`](../../auto-complete/filtering/#change-the-filter-type)
     * and its supported data types are
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * FilterType<br/></td><td colSpan=1 rowSpan=1>
     * Description<br/></td><td colSpan=1 rowSpan=1>
     * Supported Types<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * StartsWith<br/></td><td colSpan=1 rowSpan=1>
     * Checks whether a value begins with the specified value.<br/></td><td colSpan=1 rowSpan=1>
     * String<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * EndsWith<br/></td><td colSpan=1 rowSpan=1>
     * Checks whether a value ends with specified value.<br/><br/></td><td colSpan=1 rowSpan=1>
     * <br/>String<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Contains<br/></td><td colSpan=1 rowSpan=1>
     * Checks whether a value contains with specified value.<br/><br/></td><td colSpan=1 rowSpan=1>
     * <br/>String<br/></td></tr>
     * </table>
     *
     * {% codeBlock src="autocomplete/filter-type-api/index.ts" %}{% endcodeBlock %}
     *
     * {% codeBlock src="autocomplete/filter-type-api/index.html" %}{% endcodeBlock %}
     *
     * The default value set to `Contains`, all the suggestion items which contain typed characters to listed in the suggestion popup.
     *
     * @default 'Contains'
     */
    filterType?: FilterType;
    /**
     * Triggers on typing a character in the component.
     *
     * @event filtering
     */
    filtering?: base.EmitType<FilteringEventArgs>;
    /**
     * Not applicable to this component.
     *
     * @default null
     * @private
     * @deprecated
     */
    index?: number;
    /**
     * Specifies whether to display the floating label above the input element.
     * Possible values are:
     * * Never: The label will never float in the input when the placeholder is available.
     * * Always: The floating label will always float above the input.
     * * Auto: The floating label will float above the input after focusing or entering a value in the input.
     *
     * {% codeBlock src="autocomplete/float-label-type-api/index.ts" %}{% endcodeBlock %}
     *
     * {% codeBlock src="autocomplete/float-label-type-api/index.html" %}{% endcodeBlock %}
     *
     * @default Syncfusion.EJ2.Inputs.inputs.FloatLabelType.Never
     * @aspType Syncfusion.EJ2.Inputs.inputs.FloatLabelType
     * @isEnumeration true
     * @deprecated
     */
    floatLabelType?: inputs.FloatLabelType;
    /**
     * Not applicable to this component.
     *
     * @default null
     * @private
     * @deprecated
     */
    valueTemplate?: string;
    /**
     * Not applicable to this component.
     *
     * @default null
     * @private
     * @deprecated
     */
    filterBarPlaceholder?: string;
    /**
     * Not applicable to this component.
     *
     * @default false
     * @private
     * @deprecated
     */
    allowFiltering?: boolean;
    /**
     * Not applicable to this component.
     *
     * @default null
     * @private
     * @deprecated
     */
    text?: string;
}
//node_modules/@syncfusion/ej2-dropdowns/src/auto-complete/auto-complete.d.ts

/**
 * The AutoComplete component provides the matched suggestion list when type into the input,
 * from which the user can select one.
 * ```html
 * <input id="list" type="text"/>
 * ```
 * ```typescript
 *   let atcObj:AutoComplete = new AutoComplete();
 *   atcObj.appendTo("#list");
 * ```
 */
export  class AutoComplete extends ComboBox {
    private isFiltered;
    private searchList;
    /**
     * The `fields` property maps the columns of the data table and binds the data to the component.
     * * text - Maps the text column from data table for each list item
     * * value - Maps the value column from data table for each list item
     * * iconCss - Maps the icon class column from data table for each list item
     * * groupBy - Group the list items with it's related items by mapping groupBy field
     *
     * {% codeBlock src='autocomplete/fields/index.md' %}{% endcodeBlock %}
     * > For more details about the field mapping refer to [`Data binding`](../../auto-complete/data-binding) documentation.
     *
     * @default { value: null, iconCss: null, groupBy: null}
     * @deprecated
     */
    fields: FieldSettingsModel;
    /**
     * When set to ‘false’, consider the [`case-sensitive`](../../auto-complete/filtering/#case-sensitive-filtering)
     * on performing the search to find suggestions.
     * By default consider the casing.
     *
     * @default true
     * @deprecated
     */
    ignoreCase: boolean;
    /**
     * Allows you to either show or hide the popup button on the component.
     *
     * @default false
     */
    showPopupButton: boolean;
    /**
     * When set to ‘true’, highlight the searched characters on suggested list items.
     * > For more details about the highlight refer to [`Custom highlight search`](../../auto-complete/how-to/custom-search) documentation.
     *
     * @default false
     */
    highlight: boolean;
    /**
     * Supports the [`specified number`](../../auto-complete/filtering#filter-item-count)
     * of list items on the suggestion popup.
     *
     * @default 20
     */
    suggestionCount: number;
    /**
     * Allows additional HTML attributes such as title, name, etc., and
     * accepts n number of attributes in a key-value pair format.
     *
     * {% codeBlock src='autocomplete/htmlAttributes/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     * @deprecated
     */
    htmlAttributes: {
        [key: string]: string;
    };
    /**
     * Accepts the external `query`
     * that execute along with data processing.
     *
     * {% codeBlock src='autocomplete/query/index.md' %}{% endcodeBlock %}
     *
     * @default null
     * @deprecated
     */
    query: data.Query;
    /**
     * Allows you to set [`the minimum search character length']
     * (../../auto-complete/filtering#limit-the-minimum-filter-character),
     * the search action will perform after typed minimum characters.
     *
     * @default 1
     */
    minLength: number;
    /**
     * Determines on which filter type, the component needs to be considered on search action.
     * The available [`FilterType`](../../auto-complete/filtering/#change-the-filter-type)
     * and its supported data types are
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * FilterType<br/></td><td colSpan=1 rowSpan=1>
     * Description<br/></td><td colSpan=1 rowSpan=1>
     * Supported Types<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * StartsWith<br/></td><td colSpan=1 rowSpan=1>
     * Checks whether a value begins with the specified value.<br/></td><td colSpan=1 rowSpan=1>
     * String<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * EndsWith<br/></td><td colSpan=1 rowSpan=1>
     * Checks whether a value ends with specified value.<br/><br/></td><td colSpan=1 rowSpan=1>
     * <br/>String<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Contains<br/></td><td colSpan=1 rowSpan=1>
     * Checks whether a value contains with specified value.<br/><br/></td><td colSpan=1 rowSpan=1>
     * <br/>String<br/></td></tr>
     * </table>
     *
     * {% codeBlock src="autocomplete/filter-type-api/index.ts" %}{% endcodeBlock %}
     *
     * {% codeBlock src="autocomplete/filter-type-api/index.html" %}{% endcodeBlock %}
     *
     * The default value set to `Contains`, all the suggestion items which contain typed characters to listed in the suggestion popup.
     *
     * @default 'Contains'
     */
    filterType: FilterType;
    /**
     * Triggers on typing a character in the component.
     *
     * @event filtering
     */
    filtering: base.EmitType<FilteringEventArgs>;
    /**
     * Not applicable to this component.
     *
     * @default null
     * @private
     * @deprecated
     */
    index: number;
    /**
     * Specifies whether to display the floating label above the input element.
     * Possible values are:
     * * Never: The label will never float in the input when the placeholder is available.
     * * Always: The floating label will always float above the input.
     * * Auto: The floating label will float above the input after focusing or entering a value in the input.
     *
     * {% codeBlock src="autocomplete/float-label-type-api/index.ts" %}{% endcodeBlock %}
     *
     * {% codeBlock src="autocomplete/float-label-type-api/index.html" %}{% endcodeBlock %}
     *
     * @default Syncfusion.EJ2.Inputs.inputs.FloatLabelType.Never
     * @aspType Syncfusion.EJ2.Inputs.inputs.FloatLabelType
     * @isEnumeration true
     * @deprecated
     */
    floatLabelType: inputs.FloatLabelType;
    /**
     * Not applicable to this component.
     *
     * @default null
     * @private
     * @deprecated
     */
    valueTemplate: string;
    /**
     * Not applicable to this component.
     *
     * @default null
     * @private
     * @deprecated
     */
    filterBarPlaceholder: string;
    /**
     * Not applicable to this component.
     *
     * @default false
     * @private
     * @deprecated
     */
    allowFiltering: boolean;
    /**
     * Not applicable to this component.
     *
     * @default null
     * @private
     * @deprecated
     */
    text: string;
    /**
     * * Constructor for creating the widget
     *
     * @param {AutoCompleteModel} options - Specifies the AutoComplete model.
     * @param {string | HTMLElement} element - Specifies the element to render as component.
     * @private
     */
    constructor(options?: AutoCompleteModel, element?: string | HTMLElement);
    /**
     * Initialize the event handler
     *
     * @private
     * @returns {void}
     */
    protected preRender(): void;
    protected getLocaleName(): string;
    protected getNgDirective(): string;
    protected getQuery(query: data.Query): data.Query;
    protected searchLists(e: base.KeyboardEventArgs | MouseEvent): void;
    /**
     * To filter the data from given data source by using query
     *
     * @param  {Object[] | data.DataManager } dataSource - Set the data source to filter.
     * @param  {data.Query} query - Specify the query to filter the data.
     * @param  {FieldSettingsModel} fields - Specify the fields to map the column in the data table.
     * @returns {void}
     * @deprecated
     */
    filter(dataSource: {
        [key: string]: Object;
    }[] | data.DataManager | string[] | number[] | boolean[], query?: data.Query, fields?: FieldSettingsModel): void;
    private filterAction;
    protected clearAll(e?: MouseEvent, property?: AutoCompleteModel): void;
    protected onActionComplete(ulElement: HTMLElement, list: {
        [key: string]: Object;
    }[], e?: Object, isUpdated?: boolean): void;
    private postBackAction;
    protected setSelection(li: Element, e: MouseEvent | base.KeyboardEventArgs | TouchEvent): void;
    protected listOption(dataSource: {
        [key: string]: Object;
    }[], fieldsSettings: FieldSettingsModel): FieldSettingsModel;
    protected isFiltering(): boolean;
    protected renderPopup(e?: MouseEvent | base.KeyboardEventArgs | TouchEvent): void;
    protected isEditTextBox(): boolean;
    protected isPopupButton(): boolean;
    protected isSelectFocusItem(element: Element): boolean;
    protected setInputValue(newProp?: any, oldProp?: any): void;
    /**
     * Search the entered text and show it in the suggestion list if available.
     *
     * @returns {void}
     * @deprecated
     */
    showPopup(e?: MouseEvent | base.KeyboardEventArgs | TouchEvent): void;
    /**
     * Hides the popup if it is in open state.
     *
     * @returns {void}
     */
    hidePopup(e?: MouseEvent | base.KeyboardEventArgs | TouchEvent): void;
    /**
     * Dynamically change the value of properties.
     *
     * @param {AutoCompleteModel} newProp - Returns the dynamic property value of the component.
     * @param {AutoCompleteModel} oldProp - Returns the previous property value of the component.
     * @private
     * @returns {void}
     */
    onPropertyChanged(newProp: AutoCompleteModel, oldProp: AutoCompleteModel): void;
    protected renderHightSearch(): void;
    /**
     * Return the module name of this component.
     *
     * @private
     * @returns {string} Return the module name of this component.
     */
    getModuleName(): string;
    /**
     * To initialize the control rendering
     *
     * @private
     * @returns {void}
     */
    render(): void;
}
//node_modules/@syncfusion/ej2-dropdowns/src/auto-complete/index.d.ts
/**
 * export all modules from current location
 */
//node_modules/@syncfusion/ej2-dropdowns/src/combo-box/combo-box-model.d.ts
/**
 * Interface for a class ComboBox
 */
export interface ComboBoxModel extends DropDownListModel{
    /**
     * Specifies whether suggest a first matched item in input when searching. No action happens when no matches found.
     *
     * @default false
     */
    autofill?: boolean;
    /**
     * Specifies whether the component allows user defined value which does not exist in data source.
     *
     * @default true
     */
    allowCustom?: boolean;
    /**
     * Allows additional HTML attributes such as title, name, etc., and
     * accepts n number of attributes in a key-value pair format.
     *
     * {% codeBlock src='combobox/htmlAttributes/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     * @deprecated
     */
    htmlAttributes?: { [key: string]: string };
    /**
     * When allowFiltering is set to true, show the filter bar (search box) of the component.
     * The filter action retrieves matched items through the `filtering` event based on
     * the characters typed in the search TextBox.
     * If no match is found, the value of the `noRecordsTemplate` property will be displayed.
     *
     * {% codeBlock src="combobox/allow-filtering-api/index.ts" %}{% endcodeBlock %}
     *
     * {% codeBlock src="combobox/allow-filtering-api/index.html" %}{% endcodeBlock %}
     *
     * @default false
     * @deprecated
     */
    allowFiltering?: boolean;
    /**
     * Accepts the external `data.Query`
     * that execute along with [`data processing`](../../combo-box/data-binding).
     *
     * {% codeBlock src='combobox/query/index.md' %}{% endcodeBlock %}
     *
     * @default null
     * @deprecated
     */
    query?: data.Query;
    /**
     * Gets or sets the index of the selected item in the component.
     *
     * {% codeBlock src="combobox/index-api/index.ts" %}{% endcodeBlock %}
     *
     * {% codeBlock src="combobox/index-api/index.html" %}{% endcodeBlock %}
     *
     * @default null
     * @deprecated
     */
    index?: number;
    /**
     * Specifies whether to show or hide the clear button.
     * When the clear button is clicked, `value`, `text`, and `index` properties are reset to null.
     *
     * @default true
     */
    showClearButton?: boolean;
    /**
     * Enable or disable rendering component in right to left direction.
     *
     * @default false
     * @deprecated
     */
    enableRtl?: boolean;
    /**
     * Triggers on set a
     * [`custom value`](../../combo-box/getting-started#custom-values) to this component.
     *
     * @event customValueSpecifier
     */
    customValueSpecifier?: base.EmitType<CustomValueSpecifierEventArgs>;
    /**
     * Triggers on typing a character in the component.
     * > For more details about the filtering refer to [`Filtering`](../../combo-box/filtering) documentation.
     *
     * @event filtering
     */
    filtering?: base.EmitType<FilteringEventArgs>;
    /**
     * Not applicable to this component.
     *
     * @default null
     * @private
     */
    valueTemplate?: string;
    /**
     * Specifies whether to display the floating label above the input element.
     * Possible values are:
     * * Never: The label will never float in the input when the placeholder is available.
     * * Always: The floating label will always float above the input.
     * * Auto: The floating label will float above the input after focusing or entering a value in the input.
     *
     * {% codeBlock src="combobox/float-label-type-api/index.ts" %}{% endcodeBlock %}
     *
     * {% codeBlock src="combobox/float-label-type-api/index.html" %}{% endcodeBlock %}
     *
     * @default Syncfusion.EJ2.Inputs.inputs.FloatLabelType.Never
     * @aspType Syncfusion.EJ2.Inputs.inputs.FloatLabelType
     * @isEnumeration true
     * @deprecated
     */
    floatLabelType?: inputs.FloatLabelType;
    /**
     * Not applicable to this component.
     *
     * @default null
     * @private
     * @deprecated
     */
    filterBarPlaceholder?: string;
    /**
     * Sets CSS classes to the root element of the component that allows customization of appearance.
     *
     * @default null
     * @deprecated
     */
    cssClass?: string;
    /**
     * Accepts the template design and assigns it to the header container of the popup list.
     * > For more details about the available template options refer to [`Template`](../../drop-down-list/templates) documentation.
     *
     * @default null
     * @deprecated
     */
    headerTemplate?: string;
    /**
     * Accepts the template design and assigns it to the footer container of the popup list.
     * > For more details about the available template options refer to [`Template`](../../drop-down-list/templates) documentation.
     *
     * @default null
     * @deprecated
     */
    footerTemplate?: string;
    /**
     * Specifies a short hint that describes the expected value of the DropDownList component.
     *
     * @default null
     * @deprecated
     */
    placeholder?: string;
    /**
     * Specifies the width of the component. By default, the component width sets based on the width of
     * its parent container. You can also set the width in pixel values.
     *
     * @default '100%'
     * @aspType string
     * @deprecated
     */
    width?: string | number;
    /**
     * Specifies the height of the popup list.
     * > For more details about the popup configuration refer to
     * [`Popup Configuration`](../../drop-down-list/getting-started#configure-the-popup-list) documentation.
     *
     * @default '300px'
     * @aspType string
     * @deprecated
     */
    popupHeight?: string | number;
    /**
     * Specifies the width of the popup list. By default, the popup width sets based on the width of
     * the component.
     * > For more details about the popup configuration refer to
     * [`Popup Configuration`](../../drop-down-list/getting-started#configure-the-popup-list) documentation.
     *
     * @default '100%'
     * @aspType string
     * @deprecated
     */
    popupWidth?: string | number;
    /**
     * When set to true, the user interactions on the component are disabled.
     *
     * @default false
     * @deprecated
     */
    readonly?: boolean;
    /**
     * Gets or sets the display text of the selected item in the component.
     *
     * @default null
     * @deprecated
     */
    text?: string;
    /**
     * Gets or sets the value of the selected item in the component.
     *
     * @default null
     * @isGenericType true
     * @deprecated
     */
    value?: number | string | boolean;
}
//node_modules/@syncfusion/ej2-dropdowns/src/combo-box/combo-box.d.ts

/**
 * The ComboBox component allows the user to type a value or choose an option from the list of predefined options.
 * ```html
 * <select id="list">
 *      <option value='1'>Badminton</option>
 *      <option value='2'>Basketball</option>
 *      <option value='3'>Cricket</option>
 *      <option value='4'>Football</option>
 *      <option value='5'>Tennis</option>
 * </select>
 * ```
 * ```typescript
 *   let games:ComboBox = new ComboBox();
 *   games.appendTo("#list");
 * ```
 */
export  class ComboBox extends DropDownList {
    /**
     * Specifies whether suggest a first matched item in input when searching. No action happens when no matches found.
     *
     * @default false
     */
    autofill: boolean;
    /**
     * Specifies whether the component allows user defined value which does not exist in data source.
     *
     * @default true
     */
    allowCustom: boolean;
    /**
     * Allows additional HTML attributes such as title, name, etc., and
     * accepts n number of attributes in a key-value pair format.
     *
     * {% codeBlock src='combobox/htmlAttributes/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     * @deprecated
     */
    htmlAttributes: {
        [key: string]: string;
    };
    /**
     * When allowFiltering is set to true, show the filter bar (search box) of the component.
     * The filter action retrieves matched items through the `filtering` event based on
     * the characters typed in the search TextBox.
     * If no match is found, the value of the `noRecordsTemplate` property will be displayed.
     *
     * {% codeBlock src="combobox/allow-filtering-api/index.ts" %}{% endcodeBlock %}
     *
     * {% codeBlock src="combobox/allow-filtering-api/index.html" %}{% endcodeBlock %}
     *
     * @default false
     * @deprecated
     */
    allowFiltering: boolean;
    /**
     * Accepts the external `data.Query`
     * that execute along with [`data processing`](../../combo-box/data-binding).
     *
     * {% codeBlock src='combobox/query/index.md' %}{% endcodeBlock %}
     *
     * @default null
     * @deprecated
     */
    query: data.Query;
    /**
     * Gets or sets the index of the selected item in the component.
     *
     * {% codeBlock src="combobox/index-api/index.ts" %}{% endcodeBlock %}
     *
     * {% codeBlock src="combobox/index-api/index.html" %}{% endcodeBlock %}
     *
     * @default null
     * @deprecated
     */
    index: number;
    /**
     * Specifies whether to show or hide the clear button.
     * When the clear button is clicked, `value`, `text`, and `index` properties are reset to null.
     *
     * @default true
     */
    showClearButton: boolean;
    /**
     * Enable or disable rendering component in right to left direction.
     *
     * @default false
     * @deprecated
     */
    enableRtl: boolean;
    /**
     * Triggers on set a
     * [`custom value`](../../combo-box/getting-started#custom-values) to this component.
     *
     * @event customValueSpecifier
     */
    customValueSpecifier: base.EmitType<CustomValueSpecifierEventArgs>;
    /**
     * Triggers on typing a character in the component.
     * > For more details about the filtering refer to [`Filtering`](../../combo-box/filtering) documentation.
     *
     * @event filtering
     */
    filtering: base.EmitType<FilteringEventArgs>;
    /**
     * Not applicable to this component.
     *
     * @default null
     * @private
     */
    valueTemplate: string;
    /**
     * Specifies whether to display the floating label above the input element.
     * Possible values are:
     * * Never: The label will never float in the input when the placeholder is available.
     * * Always: The floating label will always float above the input.
     * * Auto: The floating label will float above the input after focusing or entering a value in the input.
     *
     * {% codeBlock src="combobox/float-label-type-api/index.ts" %}{% endcodeBlock %}
     *
     * {% codeBlock src="combobox/float-label-type-api/index.html" %}{% endcodeBlock %}
     *
     * @default Syncfusion.EJ2.Inputs.inputs.FloatLabelType.Never
     * @aspType Syncfusion.EJ2.Inputs.inputs.FloatLabelType
     * @isEnumeration true
     * @deprecated
     */
    floatLabelType: inputs.FloatLabelType;
    /**
     * Not applicable to this component.
     *
     * @default null
     * @private
     * @deprecated
     */
    filterBarPlaceholder: string;
    /**
     * Sets CSS classes to the root element of the component that allows customization of appearance.
     *
     * @default null
     * @deprecated
     */
    cssClass: string;
    /**
     * Accepts the template design and assigns it to the header container of the popup list.
     * > For more details about the available template options refer to [`Template`](../../drop-down-list/templates) documentation.
     *
     * @default null
     * @deprecated
     */
    headerTemplate: string;
    /**
     * Accepts the template design and assigns it to the footer container of the popup list.
     * > For more details about the available template options refer to [`Template`](../../drop-down-list/templates) documentation.
     *
     * @default null
     * @deprecated
     */
    footerTemplate: string;
    /**
     * Specifies a short hint that describes the expected value of the DropDownList component.
     *
     * @default null
     * @deprecated
     */
    placeholder: string;
    /**
     * Specifies the width of the component. By default, the component width sets based on the width of
     * its parent container. You can also set the width in pixel values.
     *
     * @default '100%'
     * @aspType string
     * @deprecated
     */
    width: string | number;
    /**
     * Specifies the height of the popup list.
     * > For more details about the popup configuration refer to
     * [`Popup Configuration`](../../drop-down-list/getting-started#configure-the-popup-list) documentation.
     *
     * @default '300px'
     * @aspType string
     * @deprecated
     */
    popupHeight: string | number;
    /**
     * Specifies the width of the popup list. By default, the popup width sets based on the width of
     * the component.
     * > For more details about the popup configuration refer to
     * [`Popup Configuration`](../../drop-down-list/getting-started#configure-the-popup-list) documentation.
     *
     * @default '100%'
     * @aspType string
     * @deprecated
     */
    popupWidth: string | number;
    /**
     * When set to true, the user interactions on the component are disabled.
     *
     * @default false
     * @deprecated
     */
    readonly: boolean;
    /**
     * Gets or sets the display text of the selected item in the component.
     *
     * @default null
     * @deprecated
     */
    text: string;
    /**
     * Gets or sets the value of the selected item in the component.
     *
     * @default null
     * @isGenericType true
     * @deprecated
     */
    value: number | string | boolean;
    /**
     * *Constructor for creating the component
     *
     * @param {ComboBoxModel} options - Specifies the ComboBox model.
     * @param {string | HTMLElement} element - Specifies the element to render as component.
     * @private
     */
    constructor(options?: ComboBoxModel, element?: string | HTMLElement);
    /**
     * Initialize the event handler
     *
     * @private
     * @returns {void}
     */
    protected preRender(): void;
    protected getLocaleName(): string;
    protected wireEvent(): void;
    private preventBlur;
    protected onBlurHandler(e: MouseEvent): void;
    protected targetElement(): HTMLElement | HTMLInputElement;
    protected setOldText(text: string): void;
    protected setOldValue(value: string | number): void;
    private valueMuteChange;
    protected updateValues(): void;
    protected updateIconState(): void;
    protected getAriaAttributes(): {
        [key: string]: string;
    };
    protected searchLists(e: base.KeyboardEventArgs | MouseEvent): void;
    protected getNgDirective(): string;
    protected setSearchBox(): inputs.InputObject;
    protected onActionComplete(ulElement: HTMLElement, list: {
        [key: string]: Object;
    }[], e?: Object, isUpdated?: boolean): void;
    protected getFocusElement(): Element;
    protected setValue(e?: base.KeyboardEventArgs): boolean;
    protected checkCustomValue(): void;
    /**
     * Shows the spinner loader.
     *
     * @returns {void}
     * @deprecated
     */
    showSpinner(): void;
    /**
     * Hides the spinner loader.
     *
     * @returns {void}
     * @deprecated
     */
    hideSpinner(): void;
    protected setAutoFill(activeElement: Element, isHover?: boolean): void;
    private isAndroidAutoFill;
    protected clearAll(e?: MouseEvent | base.KeyboardEventArgs, property?: ComboBoxModel): void;
    protected isSelectFocusItem(element: Element): boolean;
    private inlineSearch;
    protected incrementalSearch(e: base.KeyboardEventArgs): void;
    private setAutoFillSelection;
    protected getValueByText(text: string): string | number | boolean;
    protected unWireEvent(): void;
    protected setSelection(li: Element, e: MouseEvent | base.KeyboardEventArgs | TouchEvent): void;
    protected selectCurrentItem(e: base.KeyboardEventArgs): void;
    protected setHoverList(li: Element): void;
    private targetFocus;
    protected dropDownClick(e: MouseEvent): void;
    private customValue;
    private updateCustomValueCallback;
    /**
     * Dynamically change the value of properties.
     *
     * @param {ComboBoxModel} newProp - Returns the dynamic property value of the component.
     * @param {ComboBoxModel} oldProp - Returns the previous property value of the component.
     * @private
     * @returns {void}
     */
    onPropertyChanged(newProp: ComboBoxModel, oldProp: ComboBoxModel): void;
    /**
     * To initialize the control rendering.
     *
     * @private
     * @returns {void}
     */
    render(): void;
    /**
     * Return the module name of this component.
     *
     * @private
     * @returns {string} Return the module name of this component.
     */
    getModuleName(): string;
    /**
     * Adds a new item to the combobox popup list. By default, new item appends to the list as the last item,
     * but you can insert based on the index parameter.
     *
     * @param  { Object[] } items - Specifies an array of JSON data or a JSON data.
     * @param { number } itemIndex - Specifies the index to place the newly added item in the popup list.
     * @returns {void}
     * @deprecated
     */
    addItem(items: {
        [key: string]: Object;
    }[] | {
        [key: string]: Object;
    } | string | boolean | number | string[] | boolean[] | number[], itemIndex?: number): void;
    /**
     * To filter the data from given data source by using query
     *
     * @param  {Object[] | data.DataManager } dataSource - Set the data source to filter.
     * @param  {data.Query} query - Specify the query to filter the data.
     * @param  {FieldSettingsModel} fields - Specify the fields to map the column in the data table.
     * @returns {void}
     * @deprecated
     */
    filter(dataSource: {
        [key: string]: Object;
    }[] | data.DataManager | string[] | number[] | boolean[], query?: data.Query, fields?: FieldSettingsModel): void;
    /**
     * Opens the popup that displays the list of items.
     *
     * @returns {void}
     * @deprecated
     */
    showPopup(e?: MouseEvent | base.KeyboardEventArgs | TouchEvent): void;
    /**
     * Hides the popup if it is in open state.
     *
     * @returns {void}
     * @deprecated
     */
    hidePopup(e?: MouseEvent | base.KeyboardEventArgs | TouchEvent): void;
    /**
     * Sets the focus to the component for interaction.
     *
     * @returns {void}
     */
    focusIn(): void;
    /**
     * Allows you to clear the selected values from the component.
     *
     * @returns {void}
     * @deprecated
     */
    clear(): void;
    /**
     * Moves the focus from the component if the component is already focused.
     *
     * @returns {void}
     * @deprecated
     */
    focusOut(e?: MouseEvent | base.KeyboardEventArgs): void;
    /**
     * Gets all the list items bound on this component.
     *
     * @returns {Element[]}
     * @deprecated
     */
    getItems(): Element[];
    /**
     * Gets the data Object that matches the given value.
     *
     * @param { string | number } value - Specifies the value of the list item.
     * @returns {Object}
     * @deprecated
     */
    getDataByValue(value: string | number | boolean): {
        [key: string]: Object;
    } | string | number | boolean;
    protected renderHightSearch(): void;
}
export interface CustomValueSpecifierEventArgs {
    /**
     * Gets the typed custom text to make a own text format and assign it to `item` argument.
     */
    text: string;
    /**
     * Sets the text custom format data for set a `value` and `text`.
     *
     */
    item: {
        [key: string]: string | Object;
    };
}
//node_modules/@syncfusion/ej2-dropdowns/src/combo-box/index.d.ts
/**
 * export all modules from current location
 */
//node_modules/@syncfusion/ej2-dropdowns/src/common/highlight-search.d.ts
export  type HightLightType = 'Contains' | 'StartsWith' | 'EndsWith';
/**
 * Function helps to find which highlightSearch is to call based on your data.
 *
 * @param  {HTMLElement} element - Specifies an li element.
 * @param  {string} query - Specifies the string to be highlighted.
 * @param  {boolean} ignoreCase - Specifies the ignoreCase option.
 * @param  {HightLightType} type - Specifies the type of highlight.
 * @returns {void}
 */
export  function highlightSearch(element: HTMLElement, query: string, ignoreCase: boolean, type?: HightLightType): void;
/**
 * Function helps to remove highlighted element based on your data.
 *
 * @param  {HTMLElement} content - Specifies an content element.
 * @returns {void}
 */
export  function revertHighlightSearch(content: HTMLElement): void;
//node_modules/@syncfusion/ej2-dropdowns/src/common/incremental-search.d.ts
/**
 * IncrementalSearch module file
 */
export  type SearchType = 'StartsWith' | 'Equal' | 'EndsWith' | 'Contains';
/**
 * Search and focus the list item based on key code matches with list text content
 *
 * @param  { number } keyCode - Specifies the key code which pressed on keyboard events.
 * @param  { HTMLElement[]} items - Specifies an array of HTMLElement, from which matches find has done.
 * @param { number } selectedIndex - Specifies the selected item in list item, so that search will happen
 * after selected item otherwise it will do from initial.
 * @param  { boolean } ignoreCase - Specifies the case consideration when search has done.
 * @param {string} elementId - Specifies the list element ID.
 * @returns {Element} Returns list item based on key code matches with list text content.
 */
export  function incrementalSearch(keyCode: number, items: HTMLElement[], selectedIndex: number, ignoreCase: boolean, elementId: string): Element;
/**
 * Search the list item based on given input value matches with search type.
 *
 * @param {string} inputVal - Specifies the given input value.
 * @param {HTMLElement[]} items - Specifies the list items.
 * @param {SearchType} searchType - Specifies the filter type.
 * @param {boolean} ignoreCase - Specifies the case sensitive option for search operation.
 * @returns {Element | number} Returns the search matched items.
 */
export  function Search(inputVal: string, items: HTMLElement[], searchType: SearchType, ignoreCase?: boolean): {
    [key: string]: Element | number;
};
export  function escapeCharRegExp(value: string): string;
export  function resetIncrementalSearchValues(elementId: string): void;
//node_modules/@syncfusion/ej2-dropdowns/src/common/index.d.ts
/**
 * Common source
 */
//node_modules/@syncfusion/ej2-dropdowns/src/drop-down-base/drop-down-base-model.d.ts
/**
 * Interface for a class FieldSettings
 */
export interface FieldSettingsModel {
    /**
     * Maps the text column from data table for each list item
     *
     * @default null
     */
    text?: string;
    /**
     * Maps the value column from data table for each list item
     *
     * @default null
     */
    value?: string;
    /**
     * Maps the icon class column from data table for each list item.
     *
     * @default null
     */
    iconCss?: string;
    /**
     * Group the list items with it's related items by mapping groupBy field.
     *
     * @default null
     */
    groupBy?: string;
    /**
     * Allows additional attributes such as title, disabled, etc., to configure the elements
     * in various ways to meet the criteria.
     *
     * @default null
     */
    htmlAttributes?: string;
}
/**
 * Interface for a class DropDownBase
 */
export interface DropDownBaseModel extends base.ComponentModel{
    /**
     * The `fields` property maps the columns of the data table and binds the data to the component.
     * * text - Maps the text column from data table for each list item.
     * * value - Maps the value column from data table for each list item.
     * * iconCss - Maps the icon class column from data table for each list item.
     * * groupBy - Group the list items with it's related items by mapping groupBy field.
     * ```html
     * <input type="text" tabindex="1" id="list"> </input>
     * ```
     * ```typescript
     *   let customers: DropDownList = new DropDownList({
     *      dataSource:new data.DataManager({ url:'http://js.syncfusion.com/demos/ejServices/Wcf/Northwind.svc/' }),
     *      query: new data.Query().from('Customers').base.select(['ContactName', 'CustomerID']).take(5),
     *      fields: { text: 'ContactName', value: 'CustomerID' },
     *      placeholder: 'Select a customer'
     *   });
     *   customers.appendTo("#list");
     * ```
     *
     * @default {text: null, value: null, iconCss: null, groupBy: null}
     * @deprecated
     */
    fields?: FieldSettingsModel;
    /**
     * Enable or disable persisting component's state between page reloads.
     * If enabled, following list of states will be persisted.
     * 1. value
     *
     * @default false
     * @deprecated
     */
    enablePersistence?: boolean;
    /**
     * Accepts the template design and assigns it to each list item present in the popup.
     * We have built-in `template engine`
     *
     * which provides options to base.compile template string into a executable function.
     * For EX: We have expression evolution as like ES6 expression string literals.
     *
     * @default null
     * @deprecated
     */
    itemTemplate?: string;
    /**
     * Accepts the template design and assigns it to the group headers present in the popup list.
     *
     * @default null
     * @deprecated
     */
    groupTemplate?: string;
    /**
     * Accepts the template design and assigns it to popup list of component
     * when no data is available on the component.
     *
     * @default 'No records found'
     * @deprecated
     */
    noRecordsTemplate?: string;
    /**
     * Accepts the template and assigns it to the popup list content of the component
     * when the data fetch request from the remote server fails.
     *
     * @default 'Request failed'
     * @deprecated
     */
    actionFailureTemplate?: string;
    /**
     * Specifies the `sortOrder` to sort the data source. The available type of sort orders are
     * * `None` - The data source is not sorting.
     * * `Ascending` - The data source is sorting with ascending order.
     * * `Descending` - The data source is sorting with descending order.
     *
     * @default null
     * @asptype object
     * @aspjsonconverterignore
     * @deprecated
     */
    sortOrder?: lists.SortOrder;
    /**
     * Specifies a value that indicates whether the component is enabled or not.
     *
     * @default true
     * @deprecated
     */
    enabled?: boolean;
    /**
     * Accepts the list items either through local or remote service and binds it to the component.
     * It can be an array of JSON Objects or an instance of
     * `data.DataManager`.
     *
     * @default []
     * @deprecated
     */
    dataSource?: { [key: string]: Object }[] | data.DataManager | string[] | number[] | boolean[];
    /**
     * Accepts the external `data.Query`
     * which will execute along with the data processing.
     *
     * @default null
     * @deprecated
     */
    query?: data.Query;
    /**
     * Determines on which filter type, the component needs to be considered on search action.
     * The `FilterType` and its supported data types are
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * FilterType<br/></td><td colSpan=1 rowSpan=1>
     * Description<br/></td><td colSpan=1 rowSpan=1>
     * Supported Types<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * StartsWith<br/></td><td colSpan=1 rowSpan=1>
     * Checks whether a value begins with the specified value.<br/></td><td colSpan=1 rowSpan=1>
     * String<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * EndsWith<br/></td><td colSpan=1 rowSpan=1>
     * Checks whether a value ends with specified value.<br/><br/></td><td colSpan=1 rowSpan=1>
     * <br/>String<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Contains<br/></td><td colSpan=1 rowSpan=1>
     * Checks whether a value contains with specified value.<br/><br/></td><td colSpan=1 rowSpan=1>
     * <br/>String<br/></td></tr>
     * </table>
     *
     * The default value set to `StartsWith`, all the suggestion items which contain typed characters to listed in the suggestion popup.
     *
     * @default 'StartsWith'
     * @deprecated
     */
    filterType?: FilterType;
    /**
     * When set to ‘false’, consider the `case-sensitive` on performing the search to find suggestions.
     * By default consider the casing.
     *
     * @default true
     * @deprecated
     */
    ignoreCase?: boolean;
    /**
     * specifies the z-index value of the component popup element.
     *
     * @default 1000
     * @deprecated
     */
    zIndex?: number;
    /**
     * ignoreAccent set to true, then ignores the diacritic characters or accents when filtering.
     *
     * @deprecated
     */
    ignoreAccent?: boolean;
    /**
     * Overrides the global culture and localization value for this component. Default global culture is 'en-US'.
     *
     * @default 'en-US'
     * @deprecated
     */
    locale?: string;
    /**
     * Triggers before fetching data from the remote server.
     *
     * @event actionBegin
     */
    actionBegin?: base.EmitType<Object>;
    /**
     * Triggers after data is fetched successfully from the remote server.
     *
     * @event actionComplete
     */
    actionComplete?: base.EmitType<Object>;
    /**
     * Triggers when the data fetch request from the remote server fails.
     *
     * @event actionFailure
     */
    actionFailure?: base.EmitType<Object>;
    /**
     * Triggers when an item in the popup is selected by the user either with mouse/tap or with keyboard navigation.
     *
     * @event base.select
     */
    select?: base.EmitType<SelectEventArgs>;
    /**
     * Triggers when data source is populated in the popup list..
     *
     * @event dataBound
     */
    dataBound?: base.EmitType<Object>;
    /**
     * Triggers when the component is created.
     *
     * @event created
     */
    created?: base.EmitType<Object>;
    /**
     * Triggers when the component is destroyed.
     *
     * @event destroyed
     */
    destroyed?: base.EmitType<Object>;
}
//node_modules/@syncfusion/ej2-dropdowns/src/drop-down-base/drop-down-base.d.ts
export  type FilterType = 'StartsWith' | 'EndsWith' | 'Contains';
export  class FieldSettings extends base.ChildProperty<FieldSettings> {
    /**
     * Maps the text column from data table for each list item
     *
     * @default null
     */
    text: string;
    /**
     * Maps the value column from data table for each list item
     *
     * @default null
     */
    value: string;
    /**
     * Maps the icon class column from data table for each list item.
     *
     * @default null
     */
    iconCss: string;
    /**
     * Group the list items with it's related items by mapping groupBy field.
     *
     * @default null
     */
    groupBy: string;
    /**
     * Allows additional attributes such as title, disabled, etc., to configure the elements
     * in various ways to meet the criteria.
     *
     * @default null
     */
    htmlAttributes: string;
}
export  const dropDownBaseClasses: DropDownBaseClassList;
export interface DropDownBaseClassList {
    root: string;
    rtl: string;
    content: string;
    selected: string;
    hover: string;
    noData: string;
    fixedHead: string;
    focus: string;
    li: string;
    disabled: string;
    group: string;
    grouping: string;
}
export interface SelectEventArgs {
    /**
     * If the event is triggered by interaction, it returns true. Otherwise, it returns false.
     */
    isInteracted: boolean;
    /**
     * Returns the selected list item
     */
    item: HTMLLIElement;
    /**
     * Returns the selected item as JSON Object from the data source.
     *
     */
    itemData: FieldSettingsModel;
    /**
     * Specifies the original event arguments.
     */
    e: MouseEvent | KeyboardEvent | TouchEvent;
    /**
     * Illustrates whether the current action needs to be prevented or not.
     */
    cancel?: boolean;
}
export interface BeforeOpenEventArgs {
    /**
     * Illustrates whether the current action needs to be prevented or not.
     */
    cancel?: boolean;
}
export interface ActionBeginEventArgs {
    /**
     * Specify the query to begin the data
     *
     */
    query: data.Query;
    /**
     * Set the data source to action begin
     *
     */
    data: {
        [key: string]: Object;
    }[] | data.DataManager | string[] | number[] | boolean[];
    /**
     * Illustrates whether the current action needs to be prevented or not.
     */
    cancel?: boolean;
    /**
     * Specify the Event Name
     */
    eventName?: string;
    /**
     * Return Items
     */
    items?: Object[];
}
export interface ActionCompleteEventArgs {
    /**
     * Illustrates whether the current action needs to be prevented or not.
     */
    cancel?: boolean;
    /**
     * Returns the selected items as JSON Object from the data source.
     *
     */
    result?: ResultData;
    /**
     * Return the actual records.
     */
    actual?: object;
    /**
     * Return the aggregates
     */
    aggregates?: object;
    /**
     * Return the total number for records.
     */
    count?: number;
    /**
     * Specify the query to complete the data
     *
     */
    query?: data.Query;
    /**
     * Return the request type
     */
    request?: string;
    /**
     * Return the virtualSelectRecords
     */
    virtualSelectRecords?: object;
    /**
     * Return XMLHttpRequest
     */
    xhr: XMLHttpRequest;
    /**
     * Specify the Event Name
     */
    eventName?: string;
    /**
     * Return Items
     */
    items?: Object[];
}
export interface DataBoundEventArgs {
    /**
     * Returns the selected items as JSON Object from the data source.
     *
     */
    items: {
        [key: string]: Object;
    }[] | data.DataManager | string[] | number[] | boolean[];
    /**
     * Return the bounded objects
     */
    e?: object;
}
/**
 * DropDownBase component will generate the list items based on given data and act as base class to drop-down related components
 */
export  class DropDownBase extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    protected listData: {
        [key: string]: Object;
    }[] | string[] | boolean[] | number[];
    protected ulElement: HTMLElement;
    protected liCollections: HTMLElement[];
    private bindEvent;
    private scrollTimer;
    protected list: HTMLElement;
    protected fixedHeaderElement: HTMLElement;
    protected keyboardModule: base.KeyboardEvents;
    protected enableRtlElements: HTMLElement[];
    protected rippleFun: Function;
    protected l10n: base.L10n;
    protected item: HTMLLIElement;
    protected itemData: {
        [key: string]: Object;
    } | string | number | boolean;
    protected isActive: boolean;
    protected isRequested: boolean;
    protected isDataFetched: boolean;
    protected selectData: {
        [key: string]: Object;
    }[] | string[] | boolean[] | number[];
    protected queryString: string;
    protected sortedData: {
        [key: string]: Object;
    }[] | string[] | boolean[] | number[];
    protected isGroupChecking: boolean;
    protected itemTemplateId: string;
    protected displayTemplateId: string;
    protected spinnerTemplateId: string;
    protected valueTemplateId: string;
    protected groupTemplateId: string;
    protected headerTemplateId: string;
    protected footerTemplateId: string;
    protected noRecordsTemplateId: string;
    protected actionFailureTemplateId: string;
    protected preventChange: boolean;
    protected isAngular: boolean;
    protected isPreventChange: boolean;
    protected isDynamicDataChange: boolean;
    protected addedNewItem: boolean;
    /**
     * The `fields` property maps the columns of the data table and binds the data to the component.
     * * text - Maps the text column from data table for each list item.
     * * value - Maps the value column from data table for each list item.
     * * iconCss - Maps the icon class column from data table for each list item.
     * * groupBy - Group the list items with it's related items by mapping groupBy field.
     * ```html
     * <input type="text" tabindex="1" id="list"> </input>
     * ```
     * ```typescript
     *   let customers$: DropDownList = new DropDownList({
     *      dataSource:new data.DataManager({ url:'http://js.syncfusion.com/demos/ejServices/Wcf/Northwind.svc/' }),
     *      query: new data.Query().from('Customers').select(['ContactName', 'CustomerID']).take(5),
     *      fields: { text: 'ContactName', value: 'CustomerID' },
     *      placeholder: 'Select a customer'
     *   });
     *   customers.appendTo("#list");
     * ```
     *
     * @default {text: null, value: null, iconCss: null, groupBy: null}
     * @deprecated
     */
    fields: FieldSettingsModel;
    /**
     * Enable or disable persisting component's state between page reloads.
     * If enabled, following list of states will be persisted.
     * 1. value
     *
     * @default false
     * @deprecated
     */
    enablePersistence: boolean;
    /**
     * Accepts the template design and assigns it to each list item present in the popup.
     * We have built-in `template engine`
     *
     * which provides options to compile template string into a executable function.
     * For EX: We have expression evolution as like ES6 expression string literals.
     *
     * @default null
     * @deprecated
     */
    itemTemplate: string;
    /**
     * Accepts the template design and assigns it to the group headers present in the popup list.
     *
     * @default null
     * @deprecated
     */
    groupTemplate: string;
    /**
     * Accepts the template design and assigns it to popup list of component
     * when no data is available on the component.
     *
     * @default 'No records found'
     * @deprecated
     */
    noRecordsTemplate: string;
    /**
     * Accepts the template and assigns it to the popup list content of the component
     * when the data fetch request from the remote server fails.
     *
     * @default 'Request failed'
     * @deprecated
     */
    actionFailureTemplate: string;
    /**
     * Specifies the `sortOrder` to sort the data source. The available type of sort orders are
     * * `None` - The data source is not sorting.
     * * `Ascending` - The data source is sorting with ascending order.
     * * `Descending` - The data source is sorting with descending order.
     *
     * @default null
     * @asptype object
     * @aspjsonconverterignore
     * @deprecated
     */
    sortOrder: lists.SortOrder;
    /**
     * Specifies a value that indicates whether the component is enabled or not.
     *
     * @default true
     * @deprecated
     */
    enabled: boolean;
    /**
     * Accepts the list items either through local or remote service and binds it to the component.
     * It can be an array of JSON Objects or an instance of
     * `data.DataManager`.
     *
     * @default []
     * @deprecated
     */
    dataSource: {
        [key: string]: Object;
    }[] | data.DataManager | string[] | number[] | boolean[];
    /**
     * Accepts the external `data.Query`
     * which will execute along with the data processing.
     *
     * @default null
     * @deprecated
     */
    query: data.Query;
    /**
     * Determines on which filter type, the component needs to be considered on search action.
     * The `FilterType` and its supported data types are
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * FilterType<br/></td><td colSpan=1 rowSpan=1>
     * Description<br/></td><td colSpan=1 rowSpan=1>
     * Supported Types<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * StartsWith<br/></td><td colSpan=1 rowSpan=1>
     * Checks whether a value begins with the specified value.<br/></td><td colSpan=1 rowSpan=1>
     * String<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * EndsWith<br/></td><td colSpan=1 rowSpan=1>
     * Checks whether a value ends with specified value.<br/><br/></td><td colSpan=1 rowSpan=1>
     * <br/>String<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Contains<br/></td><td colSpan=1 rowSpan=1>
     * Checks whether a value contains with specified value.<br/><br/></td><td colSpan=1 rowSpan=1>
     * <br/>String<br/></td></tr>
     * </table>
     *
     * The default value set to `StartsWith`, all the suggestion items which contain typed characters to listed in the suggestion popup.
     *
     * @default 'StartsWith'
     * @deprecated
     */
    filterType: FilterType;
    /**
     * When set to ‘false’, consider the `case-sensitive` on performing the search to find suggestions.
     * By default consider the casing.
     *
     * @default true
     * @deprecated
     */
    ignoreCase: boolean;
    /**
     * specifies the z-index value of the component popup element.
     *
     * @default 1000
     * @deprecated
     */
    zIndex: number;
    /**
     * ignoreAccent set to true, then ignores the diacritic characters or accents when filtering.
     *
     * @deprecated
     */
    ignoreAccent: boolean;
    /**
     * Overrides the global culture and localization value for this component. Default global culture is 'en-US'.
     *
     * @default 'en-US'
     * @deprecated
     */
    locale: string;
    /**
     * Triggers before fetching data from the remote server.
     *
     * @event actionBegin
     */
    actionBegin: base.EmitType<Object>;
    /**
     * Triggers after data is fetched successfully from the remote server.
     *
     * @event actionComplete
     */
    actionComplete: base.EmitType<Object>;
    /**
     * Triggers when the data fetch request from the remote server fails.
     *
     * @event actionFailure
     */
    actionFailure: base.EmitType<Object>;
    /**
     * Triggers when an item in the popup is selected by the user either with mouse/tap or with keyboard navigation.
     *
     * @event select
     */
    select: base.EmitType<SelectEventArgs>;
    /**
     * Triggers when data source is populated in the popup list..
     *
     * @event dataBound
     */
    dataBound: base.EmitType<Object>;
    /**
     * Triggers when the component is created.
     *
     * @event created
     */
    created: base.EmitType<Object>;
    /**
     * Triggers when the component is destroyed.
     *
     * @event destroyed
     */
    destroyed: base.EmitType<Object>;
    /**
     * * Constructor for DropDownBase class
     *
     * @param {DropDownBaseModel} options - Specifies the DropDownBase model.
     * @param {string | HTMLElement} element - Specifies the element to render as component.
     * @private
     */
    constructor(options?: DropDownBaseModel, element?: string | HTMLElement);
    protected getPropObject(prop: string, newProp: {
        [key: string]: string;
    }, oldProp: {
        [key: string]: string;
    }): {
        [key: string]: Object;
    };
    protected getValueByText(text: string, ignoreCase?: boolean, ignoreAccent?: boolean): string | number | boolean;
    private checkValueCase;
    private checkingAccent;
    private checkIgnoreCase;
    private checkNonIgnoreCase;
    private getItemValue;
    private templateCompiler;
    protected l10nUpdate(actionFailure?: boolean): void;
    protected getLocaleName(): string;
    protected getTextByValue(value: string | number | boolean): string;
    protected getFormattedValue(value: string): string | number | boolean;
    /**
     * Sets RTL to dropdownbase wrapper
     *
     * @returns {void}
     */
    protected setEnableRtl(): void;
    /**
     * Initialize the base.Component.
     *
     * @returns {void}
     */
    private initialize;
    /**
     * Get the properties to be maintained in persisted state.
     *
     * @returns {string} Returns the persisted data of the component.
     */
    protected getPersistData(): string;
    /**
     * Sets the enabled state to DropDownBase.
     *
     * @returns {void}
     */
    protected setEnabled(): void;
    /**
     * Sets the enabled state to DropDownBase.
     *
     * @param {string} value - Specifies the attribute values to add on the input element.
     * @returns {void}
     */
    protected updateDataAttribute(value: {
        [key: string]: string;
    }): void;
    private renderItemsBySelect;
    private updateFields;
    private getJSONfromOption;
    /**
     * Execute before render the list items
     *
     * @private
     * @returns {void}
     */
    protected preRender(): void;
    /**
     * Creates the list items of DropDownBase component.
     *
     * @param {Object[] | string[] | number[] | data.DataManager | boolean[]} dataSource - Specifies the data to generate the list.
     * @param {FieldSettingsModel} fields - Maps the columns of the data table and binds the data to the component.
     * @param {data.Query} query - Accepts the external data.Query that execute along with data processing.
     * @returns {void}
     */
    private setListData;
    private bindChildItems;
    protected updateListValues(): void;
    protected findListElement(list: HTMLElement, findNode: string, attribute: string, value: string | boolean | number): HTMLElement;
    private raiseDataBound;
    private remainingItems;
    private emptyDataRequest;
    protected showSpinner(): void;
    protected hideSpinner(): void;
    protected onActionFailure(e: Object): void;
    protected onActionComplete(ulElement: HTMLElement, list: {
        [key: string]: Object;
    }[] | boolean[] | string[] | number[], e?: Object): void;
    protected postRender(listElement: HTMLElement, list: {
        [key: string]: Object;
    }[] | number[] | string[] | boolean[], bindEvent: boolean): void;
    /**
     * Get the query to do the data operation before list item generation.
     *
     * @param {data.Query} query - Accepts the external data.Query that execute along with data processing.
     * @returns {data.Query} Returns the query to do the data query operation.
     */
    protected getQuery(query: data.Query): data.Query;
    /**
     * To render the template content for group header element.
     *
     * @param {HTMLElement} listEle - Specifies the group list elements.
     * @returns {void}
     */
    private renderGroupTemplate;
    /**
     * To create the ul li list items
     *
     * @param {object []} dataSource - Specifies the data to generate the list.
     * @param {FieldSettingsModel} fields - Maps the columns of the data table and binds the data to the component.
     * @returns {HTMLElement} Return the ul li list items.
     */
    private createListItems;
    protected listOption(dataSource: {
        [key: string]: Object;
    }[] | string[] | number[] | boolean[], fields: FieldSettingsModel): FieldSettingsModel;
    protected setFloatingHeader(e: Event): void;
    protected scrollStop(e?: Event): void;
    protected getValidLi(): HTMLElement;
    /**
     * To render the list items
     *
     * @param {object[]} listData - Specifies the list of array of data.
     * @param {FieldSettingsModel} fields - Maps the columns of the data table and binds the data to the component.
     * @returns {HTMLElement} Return the list items.
     */
    protected renderItems(listData: {
        [key: string]: Object;
    }[], fields: FieldSettingsModel): HTMLElement;
    protected templateListItem(dataSource: {
        [key: string]: Object;
    }[], fields: FieldSettingsModel): HTMLElement;
    protected typeOfData(items: {
        [key: string]: Object;
    }[] | string[] | number[] | boolean[]): {
        [key: string]: Object;
    };
    protected setFixedHeader(): void;
    private getSortedDataSource;
    /**
     * Return the index of item which matched with given value in data source
     *
     * @param {string | number | boolean} value - Specifies given value.
     * @returns {number} Returns the index of the item.
     */
    protected getIndexByValue(value: string | number | boolean): number;
    /**
     * To dispatch the event manually
     *
     * @param {HTMLElement} element - Specifies the element to dispatch the event.
     * @param {string} type - Specifies the name of the event.
     * @returns {void}
     */
    protected dispatchEvent(element: HTMLElement, type: string): void;
    /**
     * To set the current fields
     *
     * @returns {void}
     */
    protected setFields(): void;
    /**
     * reset the items list.
     *
     * @param {Object[] | string[] | number[] | data.DataManager | boolean[]} dataSource - Specifies the data to generate the list.
     * @param {FieldSettingsModel} fields - Maps the columns of the data table and binds the data to the component.
     * @param {data.Query} query - Accepts the external data.Query that execute along with data processing.
     * @returns {void}
     */
    protected resetList(dataSource?: {
        [key: string]: Object;
    }[] | data.DataManager | string[] | number[] | boolean[], fields?: FieldSettingsModel, query?: data.Query, e?: MouseEvent | base.KeyboardEventArgs | TouchEvent): void;
    protected updateSelectElementData(isFiltering: boolean): void;
    protected updateSelection(): void;
    protected renderList(): void;
    protected updateDataSource(props?: DropDownBaseModel): void;
    protected setUpdateInitial(props: string[], newProp: {
        [key: string]: string;
    }): void;
    /**
     * When property value changes happened, then onPropertyChanged method will execute the respective changes in this component.
     *
     * @param {DropDownBaseModel} newProp - Returns the dynamic property value of the component.
     * @param {DropDownBaseModel} oldProp - Returns the previous property value of the component.
     * @private
     * @returns {void}
     */
    onPropertyChanged(newProp: DropDownBaseModel, oldProp: DropDownBaseModel): void;
    /**
     * Build and render the component
     *
     * @param {boolean} isEmptyData - Specifies the component to initialize with list data or not.
     * @private
     * @returns {void}
     */
    render(e?: MouseEvent | base.KeyboardEventArgs | TouchEvent, isEmptyData?: boolean): void;
    /**
     * Return the module name of this component.
     *
     * @private
     * @returns {string} Return the module name of this component.
     */
    getModuleName(): string;
    /**
     * Gets all the list items bound on this component.
     *
     * @returns {Element[]}
     */
    getItems(): Element[];
    /**
     * Adds a new item to the popup list. By default, new item appends to the list as the last item,
     * but you can insert based on the index parameter.
     *
     * @param  { Object[] } items - Specifies an array of JSON data or a JSON data.
     * @param { number } itemIndex - Specifies the index to place the newly added item in the popup list.
     * @returns {void}
     * @deprecated
     */
    addItem(items: {
        [key: string]: Object;
    }[] | {
        [key: string]: Object;
    } | string | boolean | number | string[] | boolean[] | number[], itemIndex?: number): void;
    protected validationAttribute(target: HTMLElement, hidden: Element): void;
    protected setZIndex(): void;
    protected updateActionCompleteData(li: HTMLElement, item: {
        [key: string]: Object;
    }, index?: number): void;
    protected updateAddItemList(list: HTMLElement, itemCount: number): void;
    protected updateDataList(): void;
    /**
     * Gets the data Object that matches the given value.
     *
     * @param { string | number } value - Specifies the value of the list item.
     * @returns {Object}
     */
    getDataByValue(value: string | number | boolean): {
        [key: string]: Object;
    } | string | number | boolean;
    /**
     * Removes the component from the DOM and detaches all its related event handlers. It also removes the attributes and classes.
     *
     * @method destroy
     * @returns {void}
     */
    destroy(): void;
}
export interface ResultData {
    /**
     * To return the JSON result.
     */
    result: {
        [key: string]: Object;
    }[];
}
export interface FilteringEventArgs {
    /**
     * To prevent the internal filtering action.
     */
    preventDefaultAction: boolean;
    /**
     * Gets the `keyup` event arguments.
     */
    baseEventArgs: Object;
    /**
     * Illustrates whether the current action needs to be prevented or not.
     */
    cancel: boolean;
    /**
     * Search text value.
     */
    text: string;
    /**
     * To filter the data from given data source by using query
     *
     * @param  {Object[] | data.DataManager } dataSource - Set the data source to filter.
     * @param  {data.Query} query - Specify the query to filter the data.
     * @param  {FieldSettingsModel} fields - Specify the fields to map the column in the data table.
     * @returns {void}
     */
    updateData(dataSource: {
        [key: string]: Object;
    }[] | data.DataManager | string[] | number[] | boolean[], query?: data.Query, fields?: FieldSettingsModel): void;
}
export interface PopupEventArgs {
    /**
     * Specifies the popup Object.
     *
     * @deprecated
     */
    popup: popups.Popup;
    /**
     * Illustrates whether the current action needs to be prevented or not.
     */
    cancel?: boolean;
    /**
     * Specifies the animation Object.
     */
    animation?: base.AnimationModel;
    /**
     * Specifies the event.
     */
    event?: MouseEvent | base.KeyboardEventArgs | TouchEvent | Object;
}
export interface FocusEventArgs {
    /**
     * Specifies the focus interacted.
     */
    isInteracted?: boolean;
    /**
     * Specifies the event.
     */
    event?: MouseEvent | FocusEvent | TouchEvent | KeyboardEvent;
}
//node_modules/@syncfusion/ej2-dropdowns/src/drop-down-base/index.d.ts
/**
 * export all modules from current location
 */
//node_modules/@syncfusion/ej2-dropdowns/src/drop-down-list/drop-down-list-model.d.ts
/**
 * Interface for a class DropDownList
 */
export interface DropDownListModel extends DropDownBaseModel{
    /**
     * Sets CSS classes to the root element of the component that allows customization of appearance.
     *
     * @default null
     */
    cssClass?: string;
    /**
     * Specifies the width of the component. By default, the component width sets based on the width of
     * its parent container. You can also set the width in pixel values.
     *
     * @default '100%'
     * @aspType string
     */
    width?: string | number;
    /**
     * Specifies the height of the popup list.
     * > For more details about the popup configuration refer to
     * [`popups.Popup Configuration`](../../drop-down-list/getting-started#configure-the-popup-list) documentation.
     *
     * @default '300px'
     * @aspType string
     */
    popupHeight?: string | number;
    /**
     * Specifies the width of the popup list. By default, the popup width sets based on the width of
     * the component.
     * > For more details about the popup configuration refer to
     * [`popups.Popup Configuration`](../../drop-down-list/getting-started#configure-the-popup-list) documentation.
     *
     * @default '100%'
     * @aspType string
     */
    popupWidth?: string | number;
    /**
     * Specifies a short hint that describes the expected value of the DropDownList component.
     *
     * @default null
     */
    placeholder?: string;
    /**
     * Accepts the value to be displayed as a watermark text on the filter bar.
     *
     * @default null
     */
    filterBarPlaceholder?: string;
    /**
     * Allows additional HTML base.attributes such as title, name, etc., and
     * accepts n number of base.attributes in a key-value pair format.
     *
     * {% codeBlock src='dropdownlist/htmlAttributes/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     */
    htmlAttributes?: { [key: string]: string };
    /**
     * Accepts the external `data.Query`
     * that execute along with data processing.
     *
     * {% codeBlock src='dropdownlist/query/index.md' %}{% endcodeBlock %}
     *
     * @default null
     * @deprecated
     */
    query?: data.Query;
    /**
     * Accepts the template design and assigns it to the selected list item in the input element of the component.
     * For more details about the available template options refer to
     * [`Template`](../../drop-down-list/templates) documentation.
     *
     * We have built-in `template engine`
     * which provides options to base.compile template string into a executable function.
     * For EX: We have expression evolution as like ES6 expression string literals.
     *
     * @default null
     */
    valueTemplate?: string;
    /**
     * Accepts the template design and assigns it to the header container of the popup list.
     * > For more details about the available template options refer to [`Template`](../../drop-down-list/templates) documentation.
     *
     * @default null
     */
    headerTemplate?: string;
    /**
     * Accepts the template design and assigns it to the footer container of the popup list.
     * > For more details about the available template options refer to [`Template`](../../drop-down-list/templates) documentation.
     *
     * @default null
     */
    footerTemplate?: string;
    /**
     * When allowFiltering is set to true, show the filter bar (search box) of the component.
     * The filter action retrieves matched items through the `filtering` event based on
     * the characters typed in the search TextBox.
     *
     * If no match is found, the value of the `noRecordsTemplate` property will be displayed.
     * > For more details about the filtering refer to [`Filtering`](../../drop-down-list/filtering) documentation.
     *
     * {% codeBlock src="dropdownlist/allow-filtering-api/index.ts" %}{% endcodeBlock %}
     *
     * {% codeBlock src="dropdownlist/allow-filtering-api/index.html" %}{% endcodeBlock %}
     *
     * @default false
     */
    allowFiltering?: boolean;
    /**
     * When set to true, the user interactions on the component are disabled.
     *
     * @default false
     */
    readonly?: boolean;
    /**
     * Gets or sets the display text of the selected item in the component.
     *
     * @default null
     */
    text?: string;
    /**
     * Gets or sets the value of the selected item in the component.
     *
     * @default null
     * @isGenericType true
     */
    value?: number | string | boolean;
    /**
     * Gets or sets the index of the selected item in the component.
     *
     * {% codeBlock src="dropdownlist/index-api/index.ts" %}{% endcodeBlock %}
     *
     * {% codeBlock src="dropdownlist/index-api/index.html" %}{% endcodeBlock %}
     *
     * @default null
     */
    index?: number;
    /**
     * Specifies whether to display the floating label above the input element.
     * Possible values are:
     * * Never: The label will never float in the input when the placeholder is available.
     * * Always: The floating label will always float above the input.
     * * Auto: The floating label will float above the input after focusing or entering a value in the input.
     *
     * {% codeBlock src="dropdownlist/float-label-type-api/index.ts" %}{% endcodeBlock %}
     *
     * {% codeBlock src="dropdownlist/float-label-type-api/index.html" %}{% endcodeBlock %}
     *
     * @default Syncfusion.EJ2.Inputs.inputs.FloatLabelType.Never
     * @aspType Syncfusion.EJ2.Inputs.inputs.FloatLabelType
     * @isEnumeration true
     */
    floatLabelType?: inputs.FloatLabelType;
    /**
     * Specifies whether to show or hide the clear button.
     * When the clear button is clicked, `value`, `text`, and `index` properties are reset to null.
     *
     * @default false
     */
    showClearButton?: boolean;
    /**
     * Triggers on typing a character in the filter bar when the
     * [`allowFiltering`](./#allowfiltering)
     * is enabled.
     * > For more details about the filtering refer to [`Filtering`](../../drop-down-list/filtering) documentation.
     *
     * @event filtering
     */
    filtering?: base.EmitType<FilteringEventArgs>;
    /**
     * Triggers when an item in a popup is selected or when the model value is changed by user.
     * Use change event to
     * [`Configure the Cascading DropDownList`](../../drop-down-list/how-to/cascading)
     *
     * @event change
     */
    change?: base.EmitType<ChangeEventArgs>;
    /**
     * Triggers when the popup before opens.
     *
     * @event beforeOpen
     */
    beforeOpen?: base.EmitType<Object>;
    /**
     * Triggers when the popup opens.
     *
     * @event open
     */
    open?: base.EmitType<PopupEventArgs>;
    /**
     * Triggers when the popup is closed.
     *
     * @event close
     */
    close?: base.EmitType<PopupEventArgs>;
    /**
     * Triggers when focus moves out from the component.
     *
     * @event blur
     */
    blur?: base.EmitType<Object>;
    /**
     * Triggers when the component is focused.
     *
     * @event focus
     */
    focus?: base.EmitType<Object>;
}
//node_modules/@syncfusion/ej2-dropdowns/src/drop-down-list/drop-down-list.d.ts

export interface ChangeEventArgs extends SelectEventArgs {
    /**
     * Returns the selected value
     *
     * @isGenericType true
     */
    value: number | string | boolean;
    /**
     * Returns the previous selected list item
     */
    previousItem: HTMLLIElement;
    /**
     * Returns the previous selected item as JSON Object from the data source.
     *
     */
    previousItemData: FieldSettingsModel;
    /**
     * Returns the root element of the component.
     */
    element: HTMLElement;
    /**
     * Specifies the original event arguments.
     */
    event: MouseEvent | KeyboardEvent | TouchEvent;
}
export  const dropDownListClasses: DropDownListClassList;
/**
 * The DropDownList component contains a list of predefined values from which you can
 * choose a single value.
 * ```html
 * <input type="text" tabindex="1" id="list"> </input>
 * ```
 * ```typescript
 *   let dropDownListObj:DropDownList = new DropDownList();
 *   dropDownListObj.appendTo("#list");
 * ```
 */
export  class DropDownList extends DropDownBase implements inputs.IInput {
    protected inputWrapper: inputs.InputObject;
    protected inputElement: HTMLInputElement;
    private valueTempElement;
    private listObject;
    private header;
    private footer;
    protected selectedLI: HTMLElement;
    protected previousSelectedLI: HTMLElement;
    protected previousItemData: {
        [key: string]: Object;
    } | string | number | boolean;
    private listHeight;
    protected hiddenElement: HTMLSelectElement;
    protected isPopupOpen: boolean;
    private isDocumentClick;
    protected isInteracted: boolean;
    private isFilterFocus;
    protected beforePopupOpen: boolean;
    protected initial: boolean;
    private initRemoteRender;
    private searchBoxHeight;
    private popupObj;
    private backIconElement;
    private clearIconElement;
    private containerStyle;
    protected previousValue: string | number | boolean;
    protected activeIndex: number;
    protected filterInput: HTMLInputElement;
    private searchKeyModule;
    private tabIndex;
    private isNotSearchList;
    protected isTyped: boolean;
    protected isSelected: boolean;
    protected preventFocus: boolean;
    protected preventAutoFill: boolean;
    protected queryString: string;
    protected isValidKey: boolean;
    protected typedString: string;
    protected isEscapeKey: boolean;
    private isPreventBlur;
    protected isTabKey: boolean;
    private actionCompleteData;
    private actionData;
    protected prevSelectPoints: {
        [key: string]: number;
    };
    protected isSelectCustom: boolean;
    protected isDropDownClick: boolean;
    protected preventAltUp: boolean;
    private searchKeyEvent;
    private filterInputObj;
    protected spinnerElement: HTMLElement;
    protected keyConfigure: {
        [key: string]: string;
    };
    protected isCustomFilter: boolean;
    private isSecondClick;
    protected isListSearched: boolean;
    protected preventChange: boolean;
    protected isAngular: boolean;
    protected selectedElementID: string;
    /**
     * Sets CSS classes to the root element of the component that allows customization of appearance.
     *
     * @default null
     */
    cssClass: string;
    /**
     * Specifies the width of the component. By default, the component width sets based on the width of
     * its parent container. You can also set the width in pixel values.
     *
     * @default '100%'
     * @aspType string
     */
    width: string | number;
    /**
     * Specifies the height of the popup list.
     * > For more details about the popup configuration refer to
     * [`Popup Configuration`](../../drop-down-list/getting-started#configure-the-popup-list) documentation.
     *
     * @default '300px'
     * @aspType string
     */
    popupHeight: string | number;
    /**
     * Specifies the width of the popup list. By default, the popup width sets based on the width of
     * the component.
     * > For more details about the popup configuration refer to
     * [`Popup Configuration`](../../drop-down-list/getting-started#configure-the-popup-list) documentation.
     *
     * @default '100%'
     * @aspType string
     */
    popupWidth: string | number;
    /**
     * Specifies a short hint that describes the expected value of the DropDownList component.
     *
     * @default null
     */
    placeholder: string;
    /**
     * Accepts the value to be displayed as a watermark text on the filter bar.
     *
     * @default null
     */
    filterBarPlaceholder: string;
    /**
     * Allows additional HTML attributes such as title, name, etc., and
     * accepts n number of attributes in a key-value pair format.
     *
     * {% codeBlock src='dropdownlist/htmlAttributes/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     */
    htmlAttributes: {
        [key: string]: string;
    };
    /**
     * Accepts the external `data.Query`
     * that execute along with data processing.
     *
     * {% codeBlock src='dropdownlist/query/index.md' %}{% endcodeBlock %}
     *
     * @default null
     * @deprecated
     */
    query: data.Query;
    /**
     * Accepts the template design and assigns it to the selected list item in the input element of the component.
     * For more details about the available template options refer to
     * [`Template`](../../drop-down-list/templates) documentation.
     *
     * We have built-in `template engine`
     * which provides options to compile template string into a executable function.
     * For EX: We have expression evolution as like ES6 expression string literals.
     *
     * @default null
     */
    valueTemplate: string;
    /**
     * Accepts the template design and assigns it to the header container of the popup list.
     * > For more details about the available template options refer to [`Template`](../../drop-down-list/templates) documentation.
     *
     * @default null
     */
    headerTemplate: string;
    /**
     * Accepts the template design and assigns it to the footer container of the popup list.
     * > For more details about the available template options refer to [`Template`](../../drop-down-list/templates) documentation.
     *
     * @default null
     */
    footerTemplate: string;
    /**
     * When allowFiltering is set to true, show the filter bar (search box) of the component.
     * The filter action retrieves matched items through the `filtering` event based on
     * the characters typed in the search TextBox.
     *
     * If no match is found, the value of the `noRecordsTemplate` property will be displayed.
     * > For more details about the filtering refer to [`Filtering`](../../drop-down-list/filtering) documentation.
     *
     * {% codeBlock src="dropdownlist/allow-filtering-api/index.ts" %}{% endcodeBlock %}
     *
     * {% codeBlock src="dropdownlist/allow-filtering-api/index.html" %}{% endcodeBlock %}
     *
     * @default false
     */
    allowFiltering: boolean;
    /**
     * When set to true, the user interactions on the component are disabled.
     *
     * @default false
     */
    readonly: boolean;
    /**
     * Gets or sets the display text of the selected item in the component.
     *
     * @default null
     */
    text: string;
    /**
     * Gets or sets the value of the selected item in the component.
     *
     * @default null
     * @isGenericType true
     */
    value: number | string | boolean;
    /**
     * Gets or sets the index of the selected item in the component.
     *
     * {% codeBlock src="dropdownlist/index-api/index.ts" %}{% endcodeBlock %}
     *
     * {% codeBlock src="dropdownlist/index-api/index.html" %}{% endcodeBlock %}
     *
     * @default null
     */
    index: number;
    /**
     * Specifies whether to display the floating label above the input element.
     * Possible values are:
     * * Never: The label will never float in the input when the placeholder is available.
     * * Always: The floating label will always float above the input.
     * * Auto: The floating label will float above the input after focusing or entering a value in the input.
     *
     * {% codeBlock src="dropdownlist/float-label-type-api/index.ts" %}{% endcodeBlock %}
     *
     * {% codeBlock src="dropdownlist/float-label-type-api/index.html" %}{% endcodeBlock %}
     *
     * @default Syncfusion.EJ2.Inputs.inputs.FloatLabelType.Never
     * @aspType Syncfusion.EJ2.Inputs.inputs.FloatLabelType
     * @isEnumeration true
     */
    floatLabelType: inputs.FloatLabelType;
    /**
     * Specifies whether to show or hide the clear button.
     * When the clear button is clicked, `value`, `text`, and `index` properties are reset to null.
     *
     * @default false
     */
    showClearButton: boolean;
    /**
     * Triggers on typing a character in the filter bar when the
     * [`allowFiltering`](./#allowfiltering)
     * is enabled.
     * > For more details about the filtering refer to [`Filtering`](../../drop-down-list/filtering) documentation.
     *
     * @event filtering
     */
    filtering: base.EmitType<FilteringEventArgs>;
    /**
     * Triggers when an item in a popup is selected or when the model value is changed by user.
     * Use change event to
     * [`Configure the Cascading DropDownList`](../../drop-down-list/how-to/cascading)
     *
     * @event change
     */
    change: base.EmitType<ChangeEventArgs>;
    /**
     * Triggers when the popup before opens.
     *
     * @event beforeOpen
     */
    beforeOpen: base.EmitType<Object>;
    /**
     * Triggers when the popup opens.
     *
     * @event open
     */
    open: base.EmitType<PopupEventArgs>;
    /**
     * Triggers when the popup is closed.
     *
     * @event close
     */
    close: base.EmitType<PopupEventArgs>;
    /**
     * Triggers when focus moves out from the component.
     *
     * @event blur
     */
    blur: base.EmitType<Object>;
    /**
     * Triggers when the component is focused.
     *
     * @event focus
     */
    focus: base.EmitType<Object>;
    /**
     * * Constructor for creating the DropDownList component.
     *
     * @param {DropDownListModel} options - Specifies the DropDownList model.
     * @param {string | HTMLElement} element - Specifies the element to render as component.
     * @private
     */
    constructor(options?: DropDownListModel, element?: string | HTMLElement);
    /**
     * Initialize the event handler.
     *
     * @private
     * @returns {void}
     */
    protected preRender(): void;
    private initializeData;
    protected setZIndex(): void;
    protected renderList(e?: MouseEvent | base.KeyboardEventArgs | TouchEvent, isEmptyData?: boolean): void;
    private floatLabelChange;
    protected resetHandler(e: MouseEvent): void;
    protected resetFocusElement(): void;
    protected clearAll(e?: MouseEvent | base.KeyboardEventArgs | TouchEvent, properties?: DropDownListModel): void;
    private resetSelection;
    private setHTMLAttributes;
    protected getAriaAttributes(): {
        [key: string]: string;
    };
    protected setEnableRtl(): void;
    private setEnable;
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @returns {string} Returns the persisted data of the component.
     */
    protected getPersistData(): string;
    protected getLocaleName(): string;
    private preventTabIndex;
    protected targetElement(): HTMLElement | HTMLInputElement;
    protected getNgDirective(): string;
    protected getElementByText(text: string): Element;
    protected getElementByValue(value: string | number | boolean): Element;
    private initValue;
    protected updateValues(): void;
    protected onBlurHandler(e: MouseEvent): void;
    protected focusOutAction(e?: MouseEvent | base.KeyboardEventArgs): void;
    protected onFocusOut(): void;
    protected onFocus(e?: FocusEvent | MouseEvent | KeyboardEvent | TouchEvent): void;
    private resetValueHandler;
    protected wireEvent(): void;
    protected bindCommonEvent(): void;
    private bindClearEvent;
    protected unBindCommonEvent(): void;
    protected updateIconState(): void;
    /**
     * Event binding for list
     *
     * @returns {void}
     */
    private wireListEvents;
    private onSearch;
    private onServerIncrementalSearch;
    protected onMouseClick(e: MouseEvent): void;
    private onMouseOver;
    private setHover;
    private onMouseLeave;
    protected removeHover(): void;
    protected isValidLI(li: Element | HTMLElement): boolean;
    protected incrementalSearch(e: base.KeyboardEventArgs): void;
    /**
     * Hides the spinner loader.
     *
     * @returns {void}
     */
    hideSpinner(): void;
    /**
     * Shows the spinner loader.
     *
     * @returns {void}
     */
    showSpinner(): void;
    protected keyActionHandler(e: base.KeyboardEventArgs): void;
    private updateUpDownAction;
    private updateHomeEndAction;
    protected selectCurrentValueOnTab(e: base.KeyboardEventArgs): void;
    protected mobileKeyActionHandler(e: base.KeyboardEventArgs): void;
    protected selectCurrentItem(e: base.KeyboardEventArgs): void;
    protected isSelectFocusItem(element: Element): boolean;
    private getPageCount;
    private pageUpSelection;
    private pageDownSelection;
    protected unWireEvent(): void;
    /**
     * Event un binding for list items.
     *
     * @returns {void}
     */
    private unWireListEvents;
    protected checkSelector(id: string): string;
    protected onDocumentClick(e: MouseEvent): void;
    private activeStateChange;
    private focusDropDown;
    protected dropDownClick(e: MouseEvent): void;
    protected cloneElements(): void;
    protected updateSelectedItem(li: Element, e: MouseEvent | KeyboardEvent | TouchEvent, preventSelect?: boolean, isSelection?: boolean): void;
    private selectEventCallback;
    protected activeItem(li: Element): void;
    protected setValue(e?: base.KeyboardEventArgs): boolean;
    protected setSelection(li: Element, e: MouseEvent | base.KeyboardEventArgs | TouchEvent): void;
    private setSelectOptions;
    private dropdownCompiler;
    private setValueTemplate;
    protected removeSelection(): void;
    protected getItemData(): {
        [key: string]: string;
    };
    /**
     * To trigger the change event for list.
     *
     * @param {MouseEvent | KeyboardEvent | TouchEvent} eve - Specifies the event arguments.
     * @returns {void}
     */
    protected onChangeEvent(eve: MouseEvent | KeyboardEvent | TouchEvent): void;
    private detachChanges;
    protected detachChangeEvent(eve: MouseEvent | KeyboardEvent | TouchEvent): void;
    protected setHiddenValue(): void;
    /**
     * Filter bar implementation
     *
     * @param {base.KeyboardEventArgs} e - Specifies the event arguments.
     * @returns {void}
     */
    protected onFilterUp(e: base.KeyboardEventArgs): void;
    protected onFilterDown(e: base.KeyboardEventArgs): void;
    protected removeFillSelection(): void;
    protected getQuery(query: data.Query): data.Query;
    protected getSelectionPoints(): {
        [key: string]: number;
    };
    protected searchLists(e: base.KeyboardEventArgs | MouseEvent): void;
    /**
     * To filter the data from given data source by using query
     *
     * @param  {Object[] | data.DataManager } dataSource - Set the data source to filter.
     * @param  {data.Query} query - Specify the query to filter the data.
     * @param  {FieldSettingsModel} fields - Specify the fields to map the column in the data table.
     * @returns {void}
     * @deprecated
     */
    filter(dataSource: {
        [key: string]: Object;
    }[] | data.DataManager | string[] | number[] | boolean[], query?: data.Query, fields?: FieldSettingsModel): void;
    private filteringAction;
    protected setSearchBox(popupElement: HTMLElement): inputs.InputObject;
    protected onInput(e: base.KeyboardEventArgs): void;
    protected pasteHandler(e: base.KeyboardEventArgs): void;
    protected onActionFailure(e: Object): void;
    protected onActionComplete(ulElement: HTMLElement, list: {
        [key: string]: Object;
    }[], e?: Object, isUpdated?: boolean): void;
    private updateActionCompleteDataValues;
    private addNewItem;
    protected updateActionCompleteData(li: HTMLElement, item: {
        [key: string]: Object;
    }, index?: number): void;
    private actionCompleteDataUpdate;
    private focusIndexItem;
    protected updateSelection(): void;
    protected removeFocus(): void;
    protected renderPopup(e?: MouseEvent | base.KeyboardEventArgs | TouchEvent | Object): void;
    private checkCollision;
    private getOffsetValue;
    private createPopup;
    private isEmptyList;
    protected getFocusElement(): void;
    private isFilterLayout;
    private scrollHandler;
    private setSearchBoxPosition;
    private setPopupPosition;
    private setWidth;
    private scrollBottom;
    private scrollTop;
    protected isEditTextBox(): boolean;
    protected isFiltering(): boolean;
    protected isPopupButton(): boolean;
    protected setScrollPosition(e?: base.KeyboardEventArgs): void;
    private clearText;
    private listScroll;
    private setEleWidth;
    private closePopup;
    private destroyPopup;
    private clickOnBackIcon;
    /**
     * To Initialize the control rendering
     *
     * @private
     * @returns {void}
     */
    render(): void;
    private setFooterTemplate;
    private setHeaderTemplate;
    protected setOldText(text: string): void;
    protected setOldValue(value: string | number | boolean): void;
    protected refreshPopup(): void;
    protected checkData(newProp?: DropDownListModel): void;
    protected updateDataSource(props?: DropDownListModel): void;
    protected checkCustomValue(): void;
    private updateInputFields;
    /**
     * Dynamically change the value of properties.
     *
     * @private
     * @param {DropDownListModel} newProp - Returns the dynamic property value of the component.
     * @param {DropDownListModel} oldProp - Returns the previous previous value of the component.
     * @returns {void}
     */
    onPropertyChanged(newProp: DropDownListModel, oldProp: DropDownListModel): void;
    private checkValidLi;
    private setSelectionData;
    protected setReadOnly(): void;
    protected setInputValue(newProp?: any, oldProp?: any): void;
    private setCssClass;
    /**
     * Return the module name of this component.
     *
     * @private
     * @returns {string} Return the module name of this component.
     */
    getModuleName(): string;
    /**
     * Opens the popup that displays the list of items.
     *
     * @returns {void}
     */
    showPopup(e?: MouseEvent | base.KeyboardEventArgs | TouchEvent): void;
    private invokeRenderPopup;
    protected renderHightSearch(): void;
    /**
     * Hides the popup if it is in an open state.
     *
     * @returns {void}
     */
    hidePopup(e?: MouseEvent | base.KeyboardEventArgs | TouchEvent): void;
    /**
     * Sets the focus on the component for interaction.
     *
     * @returns {void}
     */
    focusIn(e?: FocusEvent | MouseEvent | KeyboardEvent | TouchEvent): void;
    /**
     * Moves the focus from the component if the component is already focused.
     *
     * @returns {void}
     */
    focusOut(e?: MouseEvent | base.KeyboardEventArgs): void;
    /**
     * Removes the component from the DOM and detaches all its related event handlers. Also it removes the attributes and classes.
     *
     * @method destroy
     * @returns {void}
     */
    destroy(): void;
    /**
     * Gets all the list items bound on this component.
     *
     * @returns {Element[]}
     */
    getItems(): Element[];
    /**
     * Gets the data Object that matches the given value.
     *
     * @param { string | number } value - Specifies the value of the list item.
     * @returns {Object}
     */
    getDataByValue(value: string | number | boolean): {
        [key: string]: Object;
    } | string | number | boolean;
    /**
     * Allows you to clear the selected values from the component.
     *
     * @returns {void}
     */
    clear(): void;
}
export interface DropDownListClassList {
    root: string;
    hover: string;
    selected: string;
    rtl: string;
    base: string;
    disable: string;
    input: string;
    inputFocus: string;
    li: string;
    icon: string;
    iconAnimation: string;
    value: string;
    focus: string;
    device: string;
    backIcon: string;
    filterBarClearIcon: string;
    filterInput: string;
    filterParent: string;
    mobileFilter: string;
    footer: string;
    header: string;
    clearIcon: string;
    clearIconHide: string;
    popupFullScreen: string;
    disableIcon: string;
    hiddenElement: string;
}
//node_modules/@syncfusion/ej2-dropdowns/src/drop-down-list/index.d.ts
/**
 * export all modules from current location
 */
//node_modules/@syncfusion/ej2-dropdowns/src/drop-down-tree/drop-down-tree-model.d.ts
/**
 * Interface for a class Fields
 */
export interface FieldsModel {
    /**
     * This field specifies the child items or mapping field for the nested child items that contains an array of JSON objects.
     */
    child?: string | FieldsModel;
    /**
     * Specifies the array of JavaScript objects or instance of Data Manager to populate the dropdown tree items.
     *
     * @default []
     */
    /* eslint-disable */
    dataSource?: data.DataManager | { [key: string]: Object }[];
    /**
     * This fields specifies the mapping field to define the expanded state of a Dropdown tree item.
     */
    expanded?: string;
    /**
     * This field specifies the mapping field to indicate whether the Dropdown tree item has children or not.
     */
    hasChildren?: string;
    /**
     * Specifies the mapping field for htmlAttributes to be added to the Dropdown Tree item.
     */
    htmlAttributes?: string;
    /**
     * Specifies the mapping field for icon class of each Dropdown Tree item that will be added before the text.
     */
    iconCss?: string;
    /**
     * Specifies the mapping field for image URL of each Dropdown Tree item where image will be added before the text.
     */
    imageUrl?: string;
    /**
     * Specifies the parent value field mapped in the data source.
     */
    parentValue?: string;
    /**
     * Defines the external [`data.Query`](https://ej2.syncfusion.com/documentation/api/data/query/)
     * that will execute along with the data processing.
     *
     * @default null
     */
    query?: data.Query;
    /**
     * Specifies the mapping field for the selected state of the Dropdown Tree item.
     */
    selected?: string;
    /**
     * Specifies the table name used to fetch data from a specific table in the server.
     */
    tableName?: string;
    /**
     * Specifies the mapping field for text displayed as Dropdown Tree items display text.
     */
    text?: string;
    /**
     * Specifies the mapping field for tooltip that will be displayed as hovering text of the Dropdown Tree item.
     */
    tooltip?: string;
    /**
     * Specifies the value(ID) field mapped in the data source.
     */
    value?: string;
}
/**
 * Interface for a class TreeSettings
 */
export interface TreeSettingsModel {
    /**
     * Specifies whether the child and parent tree items check states are dependent over each other when checkboxes are enabled.
     *
     * @default false
     */
    autoCheck?: boolean;
    /**
     * Specifies the action on which the parent items in the pop-up should expand or collapse. The available actions are
     * * `Auto` - In desktop, the expand or collapse operation happens when you double-click the node,
     * and in mobile devices it happens on single-tap.
     * * `Click` - The expand or collapse operation happens when you perform single-click/tap
     * on the pop-up item in both desktop and mobile devices.
     * * `DblClick` - The expand or collapse operation happens when you perform a double-click/tap
     * on the pop-up item in both desktop and mobile devices.
     * * `None` - The expand or collapse operation will not happen when you perform single-click/tap
     * or double-click/tap on the pop-up items in both desktop and mobile devices.
     *
     * @default 'Auto'
     */
    expandOn?: ExpandOn;
    /**
     * By default, the load on demand (Lazy load) is set to false.
     * Enabling this property will render only the parent tree items in the popup and
     * the child items will be rendered on demand when expanding the corresponding parent node.
     *
     * @default false
     */
    loadOnDemand?: boolean;
}
/**
 * Interface for a class DropDownTree
 */
export interface DropDownTreeModel extends base.ComponentModel{
    /**
     * Specifies the template that renders to the popup list content of the
     * Dropdown Tree component when the data fetch request from the remote server fails.
     *
     * @default 'The Request Failed'
     */
    actionFailureTemplate?: string;
    /**
     * When allowFiltering is set to true, it shows the filter bar (search text box) of the component.
     * The filter action retrieves matched items through the **filtering** event based on the characters typed in the search text box.
     * If no match is found, the value of the **noRecordsTemplate** property will be displayed.
     *
     * @default false
     */
    allowFiltering?: boolean;
    /**
     * Enables or disables the multi-selection of items. To base.select multiple items:
     * * Select the items by holding down the **CTRL** key when clicking on the items.
     * * Select consecutive items by clicking the first item to base.select and hold down the **SHIFT** key and click the last item to base.select.
     *
     * @default false
     */
    allowMultiSelection?: boolean;
    /**
     * By default, the Dropdown Tree component fires the change event while focusing out the component.
     * If you want to fire the change event on every value selection and base.remove, then disable this property.
     *
     * @default true
     */
    changeOnBlur?: boolean;
    /**
     * Specifies the CSS classes to be added with the root and popup element of the Dropdown Tree component.
     * that allows customization of appearance.
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * This property is used to customize the display text of the selected items in the Dropdown Tree. The given custom template is 
     * added to the input instead of the selected item text in the Dropdown Tree when the multi-selection or checkbox support is enabled.
     *
     * @default "${value.length} item(s) selected"
     */
    customTemplate?: string;
    /**
     * Defines the value separator character in the input element when multi-selection or checkbox is enabled in the Dropdown Tree.
     * The delimiter character is applicable only for **default** and **delimiter** visibility modes.
     *
     * @default ","
     */
    delimiterChar?: string;
    /**
     * Specifies a value that indicates whether the Dropdown Tree component is enabled or not.
     *
     * @default true
     */
    enabled?: boolean;
    /**
     * Specifies the data source and mapping fields to render Dropdown Tree items.
     *
     * @default {value: 'value', text: 'text', dataSource: [], child: 'child', parentValue: 'parentValue', hasChildren: 'hasChildren',
     *  expanded: 'expanded', htmlAttributes: 'htmlAttributes', iconCss: 'iconCss', imageUrl: 'imageUrl',
     *  query: null, selected: 'selected', tableName: null, tooltip: 'tooltip'}
     */
    fields?: FieldsModel;
    /**
     * Accepts the value to be displayed as a watermark text on the filter bar.
     *
     * @default null
     */
    filterBarPlaceholder?: string;
    /**
     * Determines on which filter type, the component needs to be considered on search action.
     * The **TreeFilterType** and its supported data types are,
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1><b>
     * TreeFilterType</b></td><td colSpan=1 rowSpan=1><b>
     * Description</b></td><td colSpan=1 rowSpan=1><b>
     * Supported Types</b></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * StartsWith<br/></td><td colSpan=1 rowSpan=1>
     * Checks whether a value begins with the specified value.<br/></td><td colSpan=1 rowSpan=1>
     * String<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * EndsWith<br/></td><td colSpan=1 rowSpan=1>
     * Checks whether a value ends with the specified value.<br/></td><td colSpan=1 rowSpan=1>
     * String<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Contains<br/></td><td colSpan=1 rowSpan=1>
     * Checks whether a value contains with specified value.<br/></td><td colSpan=1 rowSpan=1>
     * String<br/></td></tr>
     * </table>
     *
     * The default value set to **StartsWith**, all the suggestion items which starts with typed characters to listed in the
     * suggestion popup.
     *
     * @default 'StartsWith'
     */
    filterType?: TreeFilterType;
    /**
     * Specifies whether to display the floating label above the input element.
     * Possible values are:
     * * Never: The label will never float in the input when the placeholder is available.
     * * Always: The floating label will always float above the input.
     * * Auto: The floating label will float above the input after focusing or entering a value in the input.
     *
     * @default Syncfusion.EJ2.Inputs.inputs.FloatLabelType.Never
     * @isEnumeration true
     */
    floatLabelType?: inputs.FloatLabelType;
    /**
     * Specifies the template that renders a customized footer container at the bottom of the pop-up list.
     * By default, the footerTemplate will be null and there will be no footer container for the pop-up list.
     *
     * @default null
     */
    footerTemplate?: string;
    /**
     * When **ignoreAccent** is set to true, then it ignores the diacritic characters or accents when filtering.
     */
    ignoreAccent?: boolean;
    /**
     * When set to false, consider the case-sensitive on performing the search to find suggestions. By default, consider the casing.
     *
     * @default true
     */
    ignoreCase?: boolean;
    /**
     * Specifies the template that renders a customized header container at the top of the pop-up list.
     * By default, the headerTemplate will be null and there will be no header container for the pop-up list.
     *
     * @default null
     */
    headerTemplate?: string;
    /**
     * Allows additional HTML base.attributes such as title, name, etc., and accepts n number of base.attributes in a key-value pair format.
     *
     * @default {}
     */
    htmlAttributes?: { [key: string]: string;
 };
    /**
     * Specifies a template to render customized content for all the items.
     * If the **itemTemplate** property is set, the template content overrides the displayed item text.
     * The property accepts [template string](https://ej2.syncfusion.com/documentation/common/template-engine/)
     * or HTML element ID holding the content.
     *
     * @default null
     */
    itemTemplate?: string;
    /**
     * Configures visibility mode for component interaction when allowMultiSelection or checkbox is enabled.
     * Different modes are:
     * * Box : Selected items will be visualized in chip.
     * * Delimiter : Selected items will be visualized in the text content.
     * * Default : On focus in component will act in the box mode. On blur component will act in the delimiter mode.
     * * Custom : Selected items will be visualized with the given custom template value. The given custom template
     *  is added to the input instead of the selected item text in the Dropdown Tree when the multi-selection or checkbox support is enabled. 
     */
    mode?: Mode;
    /**
     * Specifies the template that renders a customized pop-up list content when there is no data available
     * to be displayed within the pop-up.
     *
     * @default 'No Records Found'
     */
    noRecordsTemplate?: string;
    /**
     * Specifies a short hint that describes the expected value of the Dropdown Tree component.
     *
     * @default null
     */
    placeholder?: string;
    /**
     * Specifies the height of the pop-up list.
     *
     * @default '300px'
     */
    popupHeight?: string | number;
    /**
     * Specifies the width of the popup list. By default, the popup width sets based on the width of the Dropdown Tree element.
     *
     * @default '100%'
     */
    popupWidth?: string | number;
    /**
     * When set to true, the user interactions on the component will be disabled.
     *
     * @default false
     */
    readonly?: boolean;
    /**
     * Specifies whether to show or hide the base.selectAll checkbox in the pop-up which allows you to base.select all the items in the pop-up.
     *
     * @default false
     */
    showSelectAll?: boolean;
    /**
     * Specifies the display text for the base.selectAll checkbox in the pop-up.
     *
     * @default 'Select All'
     */
    selectAllText?: string;
    /**
     * Enables or disables the checkbox option in the Dropdown Tree component.
     * If enabled, the Checkbox will be displayed next to the expand or collapse icon of the tree items.
     *
     * @default false
     */
    showCheckBox?: boolean;
    /**
     * Specifies whether to show or hide the clear icon in textbox.
     * When the clear button is clicked, `value`, `text` properties will be reset to null.
     *
     * @default true
     */
    showClearButton?: boolean;
    /**
     * Specifies whether to show or hide the Dropdown button.
     *
     * @default true
     */
    showDropDownIcon?: boolean;
    /**
     * Specifies a value that indicates whether the items are sorted in the ascending or descending order, or not sorted at all.
     * The available types of sort order are,
     * * `None` - The items are not sorted.
     * * `Ascending` - The items are sorted in the ascending order.
     * * `Descending` - The items are sorted in the descending order.
     *
     * @default 'None'
     */
    sortOrder?: SortOrder;
    /**
     * Gets or sets the display text of the selected item which maps the data **text** field in the component.
     *
     * @default null
     */
    text?: string;
    /**
     * Configures the pop-up tree settings.
     *
     * @default {autoCheck: false, expandOn: 'Auto', loadOnDemand: false}
     */
    treeSettings?: TreeSettingsModel;
    /**
     * Specifies the display text for the unselect all checkbox in the pop-up.
     *
     * @default 'Unselect All'
     */
    unSelectAllText?: string;
    /**
     * Gets or sets the value of selected item(s) which maps the data **value** field in the component.
     *
     * @default null
     * @aspType Object
     */
    value?: string[];
    /**
     * Specifies the width of the component. By default, the component width sets based on the width of its parent container.
     * You can also set the width in pixel values.
     *
     * @default '100%'
     */
    width?: string | number;
    /**
     * Specifies the z-index value of the pop-up element.
     *
     * @default 1000
     */
    zIndex?: number;
    /**
     * Defines whether to enable or disable the feature called wrap the selected items into multiple lines when the selected item's text
     * content exceeded the input width limit.
     *
     * @default false
     */
    wrapText?: boolean;
    /**
     * Triggers when the data fetch request from the remote server fails.
     *
     * @event
     */
    /* eslint-disable */
    actionFailure?: base.EmitType<Object>;
    /**
     * Fires when popup opens before animation.
     *
     * @event
     */
    beforeOpen?: base.EmitType<DdtBeforeOpenEventArgs>;
    /**
     * Triggers when an item in a popup is selected or when the model value is changed by user.
     *
     * @event
     */
    change?: base.EmitType<DdtChangeEventArgs>;
    /**
     * Fires when popup close after animation completion.
     *
     * @event
     */
    close?: base.EmitType<DdtPopupEventArgs>;
    /**
     * Triggers when the Dropdown Tree input element gets focus-out.
     *
     * @event
     */
    /* eslint-disable */
    blur?: base.EmitType<Object>;
    /**
     * Triggers when the Dropdown Tree is created successfully.
     *
     * @event
     */
    /* eslint-disable */
    created?: base.EmitType<Object>;
    /**
     * Triggers when data source is populated in the Dropdown Tree.
     *
     * @event
     */
    dataBound?: base.EmitType<DdtDataBoundEventArgs>;
    /**
     * Triggers when the Dropdown Tree is destroyed successfully.
     *
     * @event
     */
    /* eslint-disable */
    destroyed?: base.EmitType<Object>;
    /**
     * Triggers on typing a character in the filter bar when the **allowFiltering** is enabled.
     *
     * @event
     */
    filtering?: base.EmitType<DdtFilteringEventArgs>;
    /**
     * Triggers when the Dropdown Tree input element is focused.
     *
     * @event
     */
    focus?: base.EmitType<DdtFocusEventArgs>;
    /**
     * Triggers when key press is successful. It helps to customize the operations at key press.
     *
     * @event
     */
    keyPress?: base.EmitType<DdtKeyPressEventArgs>;
    /**
     * Fires when popup opens after animation completion.
     *
     * @event
     */
    open?: base.EmitType<DdtPopupEventArgs>;
    /**
     * Triggers when an item in the popup is selected by the user either with mouse/tap or with keyboard navigation.
     *
     * @event
     */
    select?: base.EmitType<DdtSelectEventArgs>;
}
//node_modules/@syncfusion/ej2-dropdowns/src/drop-down-tree/drop-down-tree.d.ts
export  type TreeFilterType = 'StartsWith' | 'EndsWith' | 'Contains';
export  class Fields extends base.ChildProperty<Fields> {
    /**
     * This field specifies the child items or mapping field for the nested child items that contains an array of JSON objects.
     */
    child: string | FieldsModel;
    /**
     * Specifies the array of JavaScript objects or instance of Data Manager to populate the dropdown tree items.
     *
     * @default []
     */
    dataSource: data.DataManager | {
        [key: string]: Object;
    }[];
    /**
     * This fields specifies the mapping field to define the expanded state of a Dropdown tree item.
     */
    expanded: string;
    /**
     * This field specifies the mapping field to indicate whether the Dropdown tree item has children or not.
     */
    hasChildren: string;
    /**
     * Specifies the mapping field for htmlAttributes to be added to the Dropdown Tree item.
     */
    htmlAttributes: string;
    /**
     * Specifies the mapping field for icon class of each Dropdown Tree item that will be added before the text.
     */
    iconCss: string;
    /**
     * Specifies the mapping field for image URL of each Dropdown Tree item where image will be added before the text.
     */
    imageUrl: string;
    /**
     * Specifies the parent value field mapped in the data source.
     */
    parentValue: string;
    /**
     * Defines the external [`data.Query`](https://ej2.syncfusion.com/documentation/api/data/query/)
     * that will execute along with the data processing.
     *
     * @default null
     */
    query: data.Query;
    /**
     * Specifies the mapping field for the selected state of the Dropdown Tree item.
     */
    selected: string;
    /**
     * Specifies the table name used to fetch data from a specific table in the server.
     */
    tableName: string;
    /**
     * Specifies the mapping field for text displayed as Dropdown Tree items display text.
     */
    text: string;
    /**
     * Specifies the mapping field for tooltip that will be displayed as hovering text of the Dropdown Tree item.
     */
    tooltip: string;
    /**
     * Specifies the value(ID) field mapped in the data source.
     */
    value: string;
}
export  class TreeSettings extends base.ChildProperty<TreeSettings> {
    /**
     * Specifies whether the child and parent tree items check states are dependent over each other when checkboxes are enabled.
     *
     * @default false
     */
    autoCheck: boolean;
    /**
     * Specifies the action on which the parent items in the pop-up should expand or collapse. The available actions are
     * * `Auto` - In desktop, the expand or collapse operation happens when you double-click the node,
     * and in mobile devices it happens on single-tap.
     * * `Click` - The expand or collapse operation happens when you perform single-click/tap
     * on the pop-up item in both desktop and mobile devices.
     * * `DblClick` - The expand or collapse operation happens when you perform a double-click/tap
     * on the pop-up item in both desktop and mobile devices.
     * * `None` - The expand or collapse operation will not happen when you perform single-click/tap
     * or double-click/tap on the pop-up items in both desktop and mobile devices.
     *
     * @default 'Auto'
     */
    expandOn: ExpandOn;
    /**
     * By default, the load on demand (Lazy load) is set to false.
     * Enabling this property will render only the parent tree items in the popup and
     * the child items will be rendered on demand when expanding the corresponding parent node.
     *
     * @default false
     */
    loadOnDemand: boolean;
}
export interface DdtChangeEventArgs {
    /**
     * If the event is triggered by interaction, it returns true. Otherwise, it returns false.
     */
    isInteracted: boolean;
    /**
     * Returns the component previous values.
     */
    oldValue: string[];
    /**
     * Returns the updated component values.
     */
    value: string[];
    /**
     * Specifies the original event.
     */
    e: MouseEvent | KeyboardEvent;
    /**
     * Returns the root element of the component.
     */
    element: HTMLElement;
}
export interface DdtBeforeOpenEventArgs {
    /**
     * Determines whether the current action needs to be prevented or not.
     */
    cancel: boolean;
}
export interface DdtPopupEventArgs {
    /**
     * Specifies the pop-up object.
     */
    popup: popups.Popup;
}
export interface DdtDataBoundEventArgs {
    /**
     * Return the DropDownTree data.
     */
    data: {
        [key: string]: Object;
    }[];
}
export interface DdtFocusEventArgs {
    /**
     * Specifies whether the element is interacted when focusing or not.
     */
    isInteracted?: boolean;
    /**
     * Specifies the original event.
     */
    event?: MouseEvent | FocusEvent | TouchEvent | KeyboardEvent;
}
export interface DdtFilteringEventArgs {
    /**
     * To prevent the internal filtering action.
     */
    preventDefaultAction: boolean;
    /**
     * Gets the `input` event arguments.
     */
    event: Event;
    /**
     * Determines whether the current action needs to be prevented or not.
     */
    cancel: boolean;
    /**
     * Filter text value.
     */
    text: string;
    /**
     * Gets or sets the fields of Dropdown Tree.
     */
    fields: FieldsModel;
}
export interface DdtSelectEventArgs {
    /**
     * Returns the name of action like select or unselect.
     */
    action: string;
    /**
     * If the event is triggered by interacting the Dropdown Tree, it returns true. Otherwise, it returns false.
     */
    isInteracted: boolean;
    /**
     * Returns the currently selected Dropdown item.
     */
    item: HTMLLIElement;
    /**
     * Return the currently selected item as JSON object from the data source.
     */
    itemData: {
        [key: string]: Object;
    };
}
export interface DdtKeyPressEventArgs {
    /**
     * If you want to cancel this event then, set cancel as true. Otherwise, false.
     */
    cancel: boolean;
    /**
     * Return the actual event.
     */
    event: base.KeyboardEventArgs;
}
export  type Mode = 'Default' | 'Delimiter' | 'Box' | 'Custom';
export  type SortOrder = 'None' | 'Ascending' | 'Descending';
export  type ExpandOn = 'Auto' | 'Click' | 'DblClick' | 'None';
/**
 * The Dropdown Tree control allows you to select single or multiple values from hierarchical data in a tree-like structure.
 * It has several out-of-the-box features, such as data binding, check boxes, templates, filter,
 * UI customization, accessibility, and preselected values.
 * ```html
 *  <input type="text" id="tree"></input>
 * ```
 * ```typescript
 *  let ddtObj: DropDownTree = new DropDownTree();
 *  ddtObj.appendTo("#tree");
 * ```
 */
export  class DropDownTree extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    private inputEle;
    private inputObj;
    private hiddenElement;
    private isReverseUpdate;
    private checkSelectAll;
    private inputWrapper;
    private popupDiv;
    private tree;
    private isPopupOpen;
    private inputFocus;
    private popupObj;
    private treeObj;
    private overAllClear;
    private isClearButtonClick;
    private isDocumentClick;
    private isFirstRender;
    private hasTemplate;
    private isInitialized;
    private treeDataType;
    private oldValue;
    private removeValue;
    private currentValue;
    private currentText;
    private treeItems;
    private filterTimer;
    private filterContainer;
    private isRemoteData;
    private selectedText;
    private chipWrapper;
    private chipCollection;
    private isChipDelete;
    private checkAllParent;
    private selectAllSpan;
    private checkBoxElement;
    private checkWrapper;
    private isNodeSelected;
    private dataValue;
    private popupEle;
    private isDynamicChange;
    private header;
    private footer;
    private noRecord;
    private headerTemplateId;
    private footerTemplateId;
    private l10n;
    private actionFailureTemplateId;
    private customTemplateId;
    private noRecordsTemplateId;
    private isValueChange;
    private keyEventArgs;
    private keyboardModule;
    private keyConfigs;
    private overFlowWrapper;
    private isFilteredData;
    private isFilterRestore;
    private treeData;
    private selectedData;
    private filterObj;
    private filterDelayTime;
    private nestedTableUpdate;
    private clearIconWidth;
    private isClicked;
    /**
     * Specifies the template that renders to the popup list content of the
     * Dropdown Tree component when the data fetch request from the remote server fails.
     *
     * @default 'The Request Failed'
     */
    actionFailureTemplate: string;
    /**
     * When allowFiltering is set to true, it shows the filter bar (search text box) of the component.
     * The filter action retrieves matched items through the **filtering** event based on the characters typed in the search text box.
     * If no match is found, the value of the **noRecordsTemplate** property will be displayed.
     *
     * @default false
     */
    allowFiltering: boolean;
    /**
     * Enables or disables the multi-selection of items. To select multiple items:
     * * Select the items by holding down the **CTRL** key when clicking on the items.
     * * Select consecutive items by clicking the first item to select and hold down the **SHIFT** key and click the last item to select.
     *
     * @default false
     */
    allowMultiSelection: boolean;
    /**
     * By default, the Dropdown Tree component fires the change event while focusing out the component.
     * If you want to fire the change event on every value selection and remove, then disable this property.
     *
     * @default true
     */
    changeOnBlur: boolean;
    /**
     * Specifies the CSS classes to be added with the root and popup element of the Dropdown Tree component.
     * that allows customization of appearance.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * This property is used to customize the display text of the selected items in the Dropdown Tree. The given custom template is
     * added to the input instead of the selected item text in the Dropdown Tree when the multi-selection or checkbox support is enabled.
     *
     * @default "${value.length} item(s) selected"
     */
    customTemplate: string;
    /**
     * Defines the value separator character in the input element when multi-selection or checkbox is enabled in the Dropdown Tree.
     * The delimiter character is applicable only for **default** and **delimiter** visibility modes.
     *
     * @default ","
     */
    delimiterChar: string;
    /**
     * Specifies a value that indicates whether the Dropdown Tree component is enabled or not.
     *
     * @default true
     */
    enabled: boolean;
    /**
     * Specifies the data source and mapping fields to render Dropdown Tree items.
     *
     * @default {value: 'value', text: 'text', dataSource: [], child: 'child', parentValue: 'parentValue', hasChildren: 'hasChildren',
     *  expanded: 'expanded', htmlAttributes: 'htmlAttributes', iconCss: 'iconCss', imageUrl: 'imageUrl',
     *  query: null, selected: 'selected', tableName: null, tooltip: 'tooltip'}
     */
    fields: FieldsModel;
    /**
     * Accepts the value to be displayed as a watermark text on the filter bar.
     *
     * @default null
     */
    filterBarPlaceholder: string;
    /**
     * Determines on which filter type, the component needs to be considered on search action.
     * The **TreeFilterType** and its supported data types are,
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1><b>
     * TreeFilterType</b></td><td colSpan=1 rowSpan=1><b>
     * Description</b></td><td colSpan=1 rowSpan=1><b>
     * Supported Types</b></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * StartsWith<br/></td><td colSpan=1 rowSpan=1>
     * Checks whether a value begins with the specified value.<br/></td><td colSpan=1 rowSpan=1>
     * String<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * EndsWith<br/></td><td colSpan=1 rowSpan=1>
     * Checks whether a value ends with the specified value.<br/></td><td colSpan=1 rowSpan=1>
     * String<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Contains<br/></td><td colSpan=1 rowSpan=1>
     * Checks whether a value contains with specified value.<br/></td><td colSpan=1 rowSpan=1>
     * String<br/></td></tr>
     * </table>
     *
     * The default value set to **StartsWith**, all the suggestion items which starts with typed characters to listed in the
     * suggestion popup.
     *
     * @default 'StartsWith'
     */
    filterType: TreeFilterType;
    /**
     * Specifies whether to display the floating label above the input element.
     * Possible values are:
     * * Never: The label will never float in the input when the placeholder is available.
     * * Always: The floating label will always float above the input.
     * * Auto: The floating label will float above the input after focusing or entering a value in the input.
     *
     * @default Syncfusion.EJ2.Inputs.inputs.FloatLabelType.Never
     * @isEnumeration true
     */
    floatLabelType: inputs.FloatLabelType;
    /**
     * Specifies the template that renders a customized footer container at the bottom of the pop-up list.
     * By default, the footerTemplate will be null and there will be no footer container for the pop-up list.
     *
     * @default null
     */
    footerTemplate: string;
    /**
     * When **ignoreAccent** is set to true, then it ignores the diacritic characters or accents when filtering.
     */
    ignoreAccent: boolean;
    /**
     * When set to false, consider the case-sensitive on performing the search to find suggestions. By default, consider the casing.
     *
     * @default true
     */
    ignoreCase: boolean;
    /**
     * Specifies the template that renders a customized header container at the top of the pop-up list.
     * By default, the headerTemplate will be null and there will be no header container for the pop-up list.
     *
     * @default null
     */
    headerTemplate: string;
    /**
     * Allows additional HTML attributes such as title, name, etc., and accepts n number of attributes in a key-value pair format.
     *
     * @default {}
     */
    htmlAttributes: {
        [key: string]: string;
    };
    /**
     * Specifies a template to render customized content for all the items.
     * If the **itemTemplate** property is set, the template content overrides the displayed item text.
     * The property accepts [template string](https://ej2.syncfusion.com/documentation/common/template-engine/)
     * or HTML element ID holding the content.
     *
     * @default null
     */
    itemTemplate: string;
    /**
     * Configures visibility mode for component interaction when allowMultiSelection or checkbox is enabled.
     * Different modes are:
     * * Box : Selected items will be visualized in chip.
     * * Delimiter : Selected items will be visualized in the text content.
     * * Default : On focus in component will act in the box mode. On blur component will act in the delimiter mode.
     * * Custom : Selected items will be visualized with the given custom template value. The given custom template
     *  is added to the input instead of the selected item text in the Dropdown Tree when the multi-selection or checkbox support is enabled.
     */
    mode: Mode;
    /**
     * Specifies the template that renders a customized pop-up list content when there is no data available
     * to be displayed within the pop-up.
     *
     * @default 'No Records Found'
     */
    noRecordsTemplate: string;
    /**
     * Specifies a short hint that describes the expected value of the Dropdown Tree component.
     *
     * @default null
     */
    placeholder: string;
    /**
     * Specifies the height of the pop-up list.
     *
     * @default '300px'
     */
    popupHeight: string | number;
    /**
     * Specifies the width of the popup list. By default, the popup width sets based on the width of the Dropdown Tree element.
     *
     * @default '100%'
     */
    popupWidth: string | number;
    /**
     * When set to true, the user interactions on the component will be disabled.
     *
     * @default false
     */
    readonly: boolean;
    /**
     * Specifies whether to show or hide the selectAll checkbox in the pop-up which allows you to select all the items in the pop-up.
     *
     * @default false
     */
    showSelectAll: boolean;
    /**
     * Specifies the display text for the selectAll checkbox in the pop-up.
     *
     * @default 'Select All'
     */
    selectAllText: string;
    /**
     * Enables or disables the checkbox option in the Dropdown Tree component.
     * If enabled, the Checkbox will be displayed next to the expand or collapse icon of the tree items.
     *
     * @default false
     */
    showCheckBox: boolean;
    /**
     * Specifies whether to show or hide the clear icon in textbox.
     * When the clear button is clicked, `value`, `text` properties will be reset to null.
     *
     * @default true
     */
    showClearButton: boolean;
    /**
     * Specifies whether to show or hide the Dropdown button.
     *
     * @default true
     */
    showDropDownIcon: boolean;
    /**
     * Specifies a value that indicates whether the items are sorted in the ascending or descending order, or not sorted at all.
     * The available types of sort order are,
     * * `None` - The items are not sorted.
     * * `Ascending` - The items are sorted in the ascending order.
     * * `Descending` - The items are sorted in the descending order.
     *
     * @default 'None'
     */
    sortOrder: SortOrder;
    /**
     * Gets or sets the display text of the selected item which maps the data **text** field in the component.
     *
     * @default null
     */
    text: string;
    /**
     * Configures the pop-up tree settings.
     *
     * @default {autoCheck: false, expandOn: 'Auto', loadOnDemand: false}
     */
    treeSettings: TreeSettingsModel;
    /**
     * Specifies the display text for the unselect all checkbox in the pop-up.
     *
     * @default 'Unselect All'
     */
    unSelectAllText: string;
    /**
     * Gets or sets the value of selected item(s) which maps the data **value** field in the component.
     *
     * @default null
     * @aspType Object
     */
    value: string[];
    /**
     * Specifies the width of the component. By default, the component width sets based on the width of its parent container.
     * You can also set the width in pixel values.
     *
     * @default '100%'
     */
    width: string | number;
    /**
     * Specifies the z-index value of the pop-up element.
     *
     * @default 1000
     */
    zIndex: number;
    /**
     * Defines whether to enable or disable the feature called wrap the selected items into multiple lines when the selected item's text
     * content exceeded the input width limit.
     *
     * @default false
     */
    wrapText: boolean;
    /**
     * Triggers when the data fetch request from the remote server fails.
     *
     * @event
     */
    actionFailure: base.EmitType<Object>;
    /**
     * Fires when popup opens before animation.
     *
     * @event
     */
    beforeOpen: base.EmitType<DdtBeforeOpenEventArgs>;
    /**
     * Triggers when an item in a popup is selected or when the model value is changed by user.
     *
     * @event
     */
    change: base.EmitType<DdtChangeEventArgs>;
    /**
     * Fires when popup close after animation completion.
     *
     * @event
     */
    close: base.EmitType<DdtPopupEventArgs>;
    /**
     * Triggers when the Dropdown Tree input element gets focus-out.
     *
     * @event
     */
    blur: base.EmitType<Object>;
    /**
     * Triggers when the Dropdown Tree is created successfully.
     *
     * @event
     */
    created: base.EmitType<Object>;
    /**
     * Triggers when data source is populated in the Dropdown Tree.
     *
     * @event
     */
    dataBound: base.EmitType<DdtDataBoundEventArgs>;
    /**
     * Triggers when the Dropdown Tree is destroyed successfully.
     *
     * @event
     */
    destroyed: base.EmitType<Object>;
    /**
     * Triggers on typing a character in the filter bar when the **allowFiltering** is enabled.
     *
     * @event
     */
    filtering: base.EmitType<DdtFilteringEventArgs>;
    /**
     * Triggers when the Dropdown Tree input element is focused.
     *
     * @event
     */
    focus: base.EmitType<DdtFocusEventArgs>;
    /**
     * Triggers when key press is successful. It helps to customize the operations at key press.
     *
     * @event
     */
    keyPress: base.EmitType<DdtKeyPressEventArgs>;
    /**
     * Fires when popup opens after animation completion.
     *
     * @event
     */
    open: base.EmitType<DdtPopupEventArgs>;
    /**
     * Triggers when an item in the popup is selected by the user either with mouse/tap or with keyboard navigation.
     *
     * @event
     */
    select: base.EmitType<DdtSelectEventArgs>;
    constructor(options?: DropDownTreeModel, element?: string | HTMLElement);
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @returns {string}
     * @hidden
     */
    getPersistData(): string;
    getLocaleName(): string;
    /**
     * Initialize the event handler.
     *
     * @returns {void}
     * @private
     */
    protected preRender(): void;
    /**
     * To Initialize the control rendering
     *
     * @private
     * @returns {void}
     */
    render(): void;
    private ensureAutoCheck;
    private hideCheckAll;
    private renderFilter;
    private filterChangeHandler;
    private filterHandler;
    private nestedFilter;
    private nestedChildFilter;
    private selfReferencefilter;
    private isMatchedNode;
    private wireEvents;
    private wireTreeEvents;
    private wireCheckAllWrapperEvents;
    private unWireEvents;
    private dropDownClick;
    private mouseIn;
    private onMouseLeave;
    protected getDirective(): string;
    private focusOut;
    private onFocusOut;
    private updateView;
    private triggerChangeEvent;
    private ddtCompareValues;
    private focusIn;
    private treeAction;
    private keyActionHandler;
    private checkAllAction;
    private windowResize;
    private resetValueHandler;
    protected getAriaAttributes(): {
        [key: string]: string;
    };
    private updateOverFlowView;
    private updateRemainTemplate;
    private getOverflowVal;
    private updateDelimMode;
    private createHiddenElement;
    private createClearIcon;
    private validationAttribute;
    private createChip;
    private getValidMode;
    private createSelectAllWrapper;
    private clickHandler;
    private changeState;
    private setLocale;
    private setAttributes;
    private setHTMLAttributes;
    private updateDataAttribute;
    private showOverAllClear;
    private setTreeValue;
    private setTreeText;
    private setSelectedValue;
    private setValidValue;
    private getItems;
    private getNestedItems;
    private getChildType;
    private renderTree;
    private renderPopup;
    private updatePopupHeight;
    private createPopup;
    private setElementWidth;
    private setWidth;
    private getHeight;
    private onDocumentClick;
    private onActionFailure;
    private OnDataBound;
    private restoreFilterSelection;
    private setCssClass;
    private setEnableRTL;
    private setEnable;
    private cloneFields;
    private cloneChildField;
    private getTreeFields;
    private getTreeChildren;
    private getTreeDataType;
    private setFields;
    private getEventArgs;
    private onBeforeSelect;
    private updateHiddenValue;
    private onNodeSelected;
    private onNodeClicked;
    private onNodeChecked;
    private beforeCheck;
    private updateClearButton;
    private updateDropDownIconState;
    private updateMode;
    private ensurePlaceHolder;
    private ensureClearIconPosition;
    private setMultiSelectValue;
    private setMultiSelect;
    private getSelectedData;
    private getNodeData;
    private getChildNodeData;
    private getChildMapperFields;
    private removeSelectedData;
    private updateSelectedValues;
    private setChipValues;
    private setTagValues;
    private setSelectAllWrapper;
    private setHeaderTemplate;
    private templateComplier;
    private setFooterTemplate;
    private clearAll;
    private removeChip;
    private resetValue;
    private clearCheckAll;
    private selectAllItems;
    private updateTreeSettings;
    private updateCheckBoxState;
    private updateTemplate;
    private l10nUpdate;
    private updateRecordTemplate;
    private updateOverflowWrapper;
    private updateMultiSelection;
    private updateAllowFiltering;
    private updateFilterPlaceHolder;
    private updateValue;
    private updateText;
    private updateModelMode;
    private updateOption;
    /**
     * Dynamically change the value of properties.
     *
     * @param {DropDownTreeModel} newProp - specifies the newProp value.
     * @param {DropDownTreeModel} oldProp - specifies the newProp value.
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: DropDownTreeModel, oldProp: DropDownTreeModel): void;
    /**
     * Allows you to clear the selected values from the Dropdown Tree component.
     *
     * @method clear
     * @returns {void}
     */
    clear(): void;
    /**
     * Removes the component from the DOM and detaches all its related event handlers. Also, it removes the attributes and classes.
     *
     * @method destroy
     * @returns {void}
     */
    destroy(): void;
    private destroyFilter;
    /**
     * Ensures visibility of the Dropdown Tree item by using item value or item element.
     * If many Dropdown Tree items are present, and we are in need to find a particular item, then the `ensureVisible` property
     * helps you to bring the item to visibility by expanding the Dropdown Tree and scrolling to the specific item.
     *
     * @param  {string | Element} item - Specifies the value of Dropdown Tree item/ Dropdown Tree item element.
     * @returns {void}
     */
    ensureVisible(item: string | Element): void;
    /**
     * To get the updated data source of the Dropdown Tree.
     *
     * @param  {string | Element} item - Specifies the value of Dropdown Tree item/ Dropdown Tree item element
     * @returns {'{[key: string]: Object }[]'} - returns the updated data source of the Dropdown Tree.
     */
    getData(item?: string | Element): {
        [key: string]: Object;
    }[];
    /**
     * Close the Dropdown tree pop-up.
     *
     * @returns {void}
     */
    hidePopup(): void;
    /**
     * Based on the state parameter, entire list item will be selected or deselected.
     *
     * @param {boolean} state - Unselects/Selects entire Dropdown Tree items.
     * @returns {void}
     *
     */
    selectAll(state: boolean): void;
    /**
     * Opens the popup that displays the Dropdown Tree items.
     *
     * @returns {void}
     */
    showPopup(): void;
    /**
     * Return the module name.
     *
     * @private
     * @returns {string} - returns the module name.
     */
    getModuleName(): string;
}
//node_modules/@syncfusion/ej2-dropdowns/src/drop-down-tree/index.d.ts
/**
 * export all modules from current location
 */
//node_modules/@syncfusion/ej2-dropdowns/src/index.d.ts
/**
 * export all modules from current location
 */
//node_modules/@syncfusion/ej2-dropdowns/src/list-box/index.d.ts
/**
 * export all modules from current location
 */
//node_modules/@syncfusion/ej2-dropdowns/src/list-box/list-box-model.d.ts
/**
 * Interface for a class SelectionSettings
 */
export interface SelectionSettingsModel {
    /**
     * Specifies the selection modes. The possible values are
     * * `Single`: Allows you to select a single item in the ListBox.
     * * `Multiple`: Allows you to select more than one item in the ListBox.
     *
     * @default 'Multiple'
     */
    mode?: SelectionMode;
    /**
     * If 'showCheckbox' is set to true, then 'checkbox' will be visualized in the list item.
     *
     * @default false
     */
    showCheckbox?: boolean;
    /**
     * Allows you to either show or hide the selectAll option on the component.
     *
     * @default false
     */
    showSelectAll?: boolean;
    /**
     * Set the position of the checkbox.
     *
     * @default 'Left'
     */
    checkboxPosition?: CheckBoxPosition;
}
/**
 * Interface for a class ToolbarSettings
 */
export interface ToolbarSettingsModel {
    /**
     * Specifies the list of tools for dual ListBox.
     * The predefined tools are 'moveUp', 'moveDown', 'lists.moveTo', 'moveFrom', 'moveAllTo', and 'moveAllFrom'.
     *
     * @default []
     */
    items?: string[];
    /**
     * Positions the toolbar before/after the ListBox.
     * The possible values are:
     * * Left: The toolbar will be positioned to the left of the ListBox.
     * * Right: The toolbar will be positioned to the right of the ListBox.
     *
     * @default 'Right'
     */
    position?: ToolBarPosition;
}
/**
 * Interface for a class ListBox
 */
export interface ListBoxModel extends DropDownBaseModel{
    /**
     * Sets the CSS classes to root element of this component, which helps to customize the
     * complete styles.
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * Sets the specified item to the selected state or gets the selected item in the ListBox.
     *
     * @default []
     * @aspType object
     * @isGenericType true
     */
    value?: string[] | number[] | boolean[];
    /**
     * Sets the height of the ListBox component.
     *
     * @default ''
     */
    height?: number | string;
    /**
     * If 'allowDragAndDrop' is set to true, then you can perform drag and drop of the list item.
     * ListBox contains same 'scope' property enables drag and drop between multiple ListBox.
     *
     * @default false
     */
    allowDragAndDrop?: boolean;
    /**
     * Sets limitation to the value selection.
     * based on the limitation, list selection will be prevented.
     *
     * @default 1000
     */
    maximumSelectionLength?: number;
    /**
     * To enable the filtering option in this component.
     * Filter action performs when type in search box and collect the matched item through `filtering` event.
     * If searching character does not match, `noRecordsTemplate` property value will be shown.
     *
     * @default false
     */
    allowFiltering?: boolean;
    /**
     * Defines the scope value to group sets of draggable and droppable ListBox.
     * A draggable with the same scope value will be accepted by the droppable.
     *
     * @default ''
     */
    scope?: string;
    /**
     * When set to ‘false’, consider the `case-sensitive` on performing the search to find suggestions.
     * By default consider the casing.
     *
     * @default true
     * @private
     */
    ignoreCase?: boolean;
    /**
     * Accepts the value to be displayed as a watermark text on the filter bar.
     *
     * @default null
     */
    filterBarPlaceholder?: string;
    /**
     * Triggers while rendering each list item.
     *
     * @event beforeItemRender
     * @blazorProperty 'OnItemRender'
     */
    beforeItemRender?: base.EmitType<BeforeItemRenderEventArgs>;
    /**
     * Triggers on typing a character in the component.
     *
     * @event filtering
     * @blazorProperty 'ItemSelected'
     */
    filtering?: base.EmitType<FilteringEventArgs>;
    /**
     * Triggers when an item in the popup is selected by the user either with mouse/tap or with keyboard navigation.
     *
     * @event select
     * @private
     */
    select?: base.EmitType<SelectEventArgs>;
    /**
     * Triggers while select / unselect the list item.
     *
     * @event change
     * @blazorProperty 'ValueChange'
     */
    change?: base.EmitType<ListBoxChangeEventArgs>;
    /**
     * Triggers before dropping the list item on another list item.
     *
     * @event beforeDrop
     * @blazorProperty 'OnDrop'
     */
    beforeDrop?: base.EmitType<DropEventArgs>;
    /**
     * Triggers after dragging the list item.
     *
     * @event dragStart
     * @blazorProperty 'DragStart'
     */
    dragStart?: base.EmitType<DragEventArgs>;
    /**
     * Triggers while dragging the list item.
     *
     * @event drag
     * @blazorProperty 'Dragging'
     */
    drag?: base.EmitType<DragEventArgs>;
    /**
     * Triggers before dropping the list item on another list item.
     *
     * @event drop
     * @blazorProperty 'Dropped'
     */
    drop?: base.EmitType<DragEventArgs>;
    /**
     * Triggers when data source is populated in the list.
     *
     * @event dataBound
     * @private
     */
    dataBound?: base.EmitType<Object>;
    /**
     * Accepts the template design and assigns it to the group headers present in the list.
     *
     * @default null
     * @private
     */
    groupTemplate?: string;
    /**
     * Accepts the template and assigns it to the list content of the ListBox component
     * when the data fetch request from the remote server fails.
     *
     * @default 'Request Failed'
     * @private
     */
    actionFailureTemplate?: string;
    /**
     * specifies the z-index value of the component popup element.
     *
     * @default 1000
     * @private
     */
    zIndex?: number;
    /**
     * ignoreAccent set to true, then ignores the diacritic characters or accents when filtering.
     *
     * @private
     */
    ignoreAccent?: boolean;
    /**
     * Specifies the toolbar items and its position.
     *
     * @default { items: [], position: 'Right' }
     */
    toolbarSettings?: ToolbarSettingsModel;
    /**
     * Specifies the selection mode and its type.
     *
     * @default { mode: 'Multiple', type: 'Default' }
     */
    selectionSettings?: SelectionSettingsModel;
}
//node_modules/@syncfusion/ej2-dropdowns/src/list-box/list-box.d.ts

/**
 * Defines the selection mode of List Box.
 */
export  type SelectionMode = 'Multiple' | 'Single';
/**
 * Defines the toolbar position of List Box.
 */
export  type ToolBarPosition = 'Left' | 'Right';
/**
 * Defines the checkbox position of List Box.
 */
export  type CheckBoxPosition = 'Left' | 'Right';
 type obj = {
    [key: string]: object;
};
/**
 * Defines the Selection settings of List Box.
 */
export  class SelectionSettings extends base.ChildProperty<SelectionSettings> {
    /**
     * Specifies the selection modes. The possible values are
     * * `Single`: Allows you to select a single item in the ListBox.
     * * `Multiple`: Allows you to select more than one item in the ListBox.
     *
     * @default 'Multiple'
     */
    mode: SelectionMode;
    /**
     * If 'showCheckbox' is set to true, then 'checkbox' will be visualized in the list item.
     *
     * @default false
     */
    showCheckbox: boolean;
    /**
     * Allows you to either show or hide the selectAll option on the component.
     *
     * @default false
     */
    showSelectAll: boolean;
    /**
     * Set the position of the checkbox.
     *
     * @default 'Left'
     */
    checkboxPosition: CheckBoxPosition;
}
/**
 * Defines the toolbar settings of List Box.
 */
export  class ToolbarSettings extends base.ChildProperty<ToolbarSettings> {
    /**
     * Specifies the list of tools for dual ListBox.
     * The predefined tools are 'moveUp', 'moveDown', 'moveTo', 'moveFrom', 'moveAllTo', and 'moveAllFrom'.
     *
     * @default []
     */
    items: string[];
    /**
     * Positions the toolbar before/after the ListBox.
     * The possible values are:
     * * Left: The toolbar will be positioned to the left of the ListBox.
     * * Right: The toolbar will be positioned to the right of the ListBox.
     *
     * @default 'Right'
     */
    position: ToolBarPosition;
}
/**
 * The ListBox is a graphical user interface component used to display a list of items.
 * Users can select one or more items in the list using a checkbox or by keyboard selection.
 * It supports sorting, grouping, reordering and drag and drop of items.
 * ```html
 * <select id="listbox">
 *      <option value='1'>Badminton</option>
 *      <option value='2'>Basketball</option>
 *      <option value='3'>Cricket</option>
 *      <option value='4'>Football</option>
 *      <option value='5'>Tennis</option>
 * </select>
 * ```
 * ```typescript
 * <script>
 *   var listObj = new ListBox();
 *   listObj.appendTo("#listbox");
 * </script>
 * ```
 */
export  class ListBox extends DropDownBase {
    private prevSelIdx;
    private listCurrentOptions;
    private allowDragAll;
    private checkBoxSelectionModule;
    private tBListBox;
    private initLoad;
    private spinner;
    private initialSelectedOptions;
    private showSelectAll;
    private selectAllText;
    private unSelectAllText;
    private popupWrapper;
    private targetInputElement;
    private isValidKey;
    private isFiltered;
    private clearFilterIconElem;
    private remoteFilterAction;
    private mainList;
    private remoteCustomValue;
    private filterParent;
    protected inputString: string;
    protected filterInput: HTMLInputElement;
    protected isCustomFiltering: boolean;
    private jsonData;
    private toolbarAction;
    private isDataSourceUpdate;
    private dragValue;
    /**
     * Sets the CSS classes to root element of this component, which helps to customize the
     * complete styles.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * Sets the specified item to the selected state or gets the selected item in the ListBox.
     *
     * @default []
     * @aspType object
     * @isGenericType true
     */
    value: string[] | number[] | boolean[];
    /**
     * Sets the height of the ListBox component.
     *
     * @default ''
     */
    height: number | string;
    /**
     * If 'allowDragAndDrop' is set to true, then you can perform drag and drop of the list item.
     * ListBox contains same 'scope' property enables drag and drop between multiple ListBox.
     *
     * @default false
     */
    allowDragAndDrop: boolean;
    /**
     * Sets limitation to the value selection.
     * based on the limitation, list selection will be prevented.
     *
     * @default 1000
     */
    maximumSelectionLength: number;
    /**
     * To enable the filtering option in this component.
     * Filter action performs when type in search box and collect the matched item through `filtering` event.
     * If searching character does not match, `noRecordsTemplate` property value will be shown.
     *
     * @default false
     */
    allowFiltering: boolean;
    /**
     * Defines the scope value to group sets of draggable and droppable ListBox.
     * A draggable with the same scope value will be accepted by the droppable.
     *
     * @default ''
     */
    scope: string;
    /**
     * When set to ‘false’, consider the `case-sensitive` on performing the search to find suggestions.
     * By default consider the casing.
     *
     * @default true
     * @private
     */
    ignoreCase: boolean;
    /**
     * Accepts the value to be displayed as a watermark text on the filter bar.
     *
     * @default null
     */
    filterBarPlaceholder: string;
    /**
     * Triggers while rendering each list item.
     *
     * @event beforeItemRender
     * @blazorProperty 'OnItemRender'
     */
    beforeItemRender: base.EmitType<BeforeItemRenderEventArgs>;
    /**
     * Triggers on typing a character in the component.
     *
     * @event filtering
     * @blazorProperty 'ItemSelected'
     */
    filtering: base.EmitType<FilteringEventArgs>;
    /**
     * Triggers when an item in the popup is selected by the user either with mouse/tap or with keyboard navigation.
     *
     * @event select
     * @private
     */
    select: base.EmitType<SelectEventArgs>;
    /**
     * Adds a new item to the popup list. By default, new item appends to the list as the last item,
     * but you can insert based on the index parameter.
     *
     * @param  { Object[] } items - Specifies an array of JSON data or a JSON data.
     * @param { number } itemIndex - Specifies the index to place the newly added item in the popup list.
     * @returns {void}.
     * @private
     */
    addItem(items: {
        [key: string]: Object;
    }[] | {
        [key: string]: Object;
    } | string | boolean | number | string[] | boolean[] | number[], itemIndex?: number): void;
    /**
     * Triggers while select / unselect the list item.
     *
     * @event change
     * @blazorProperty 'ValueChange'
     */
    change: base.EmitType<ListBoxChangeEventArgs>;
    /**
     * Triggers before dropping the list item on another list item.
     *
     * @event beforeDrop
     * @blazorProperty 'OnDrop'
     */
    beforeDrop: base.EmitType<DropEventArgs>;
    /**
     * Triggers after dragging the list item.
     *
     * @event dragStart
     * @blazorProperty 'DragStart'
     */
    dragStart: base.EmitType<DragEventArgs>;
    /**
     * Triggers while dragging the list item.
     *
     * @event drag
     * @blazorProperty 'Dragging'
     */
    drag: base.EmitType<DragEventArgs>;
    /**
     * Triggers before dropping the list item on another list item.
     *
     * @event drop
     * @blazorProperty 'Dropped'
     */
    drop: base.EmitType<DragEventArgs>;
    /**
     * Triggers when data source is populated in the list.
     *
     * @event dataBound
     * @private
     */
    dataBound: base.EmitType<Object>;
    /**
     * Accepts the template design and assigns it to the group headers present in the list.
     *
     * @default null
     * @private
     */
    groupTemplate: string;
    /**
     * Accepts the template and assigns it to the list content of the ListBox component
     * when the data fetch request from the remote server fails.
     *
     * @default 'Request Failed'
     * @private
     */
    actionFailureTemplate: string;
    /**
     * specifies the z-index value of the component popup element.
     *
     * @default 1000
     * @private
     */
    zIndex: number;
    /**
     * ignoreAccent set to true, then ignores the diacritic characters or accents when filtering.
     *
     * @private
     */
    ignoreAccent: boolean;
    /**
     * Specifies the toolbar items and its position.
     *
     * @default { items: [], position: 'Right' }
     */
    toolbarSettings: ToolbarSettingsModel;
    /**
     * Specifies the selection mode and its type.
     *
     * @default { mode: 'Multiple', type: 'Default' }
     */
    selectionSettings: SelectionSettingsModel;
    /**
     * Constructor for creating the ListBox component.
     *
     * @param {ListBoxModel} options - Specifies ListBox model
     * @param {string | HTMLElement} element - Specifies the element.
     */
    constructor(options?: ListBoxModel, element?: string | HTMLElement);
    /**
     * Build and render the component.
     *
     * @private
     * @returns {void}
     */
    render(): void;
    private initWrapper;
    private updateSelectionSettings;
    private initDraggable;
    protected updateActionCompleteData(li: HTMLElement, item: {
        [key: string]: Object;
    }, index: number): void;
    private initToolbar;
    private createButtons;
    protected validationAttribute(input: HTMLInputElement, hiddenSelect: HTMLSelectElement): void;
    private setHeight;
    private setCssClass;
    private setEnable;
    showSpinner(): void;
    hideSpinner(): void;
    private onInput;
    private clearText;
    private refreshClearIcon;
    protected onActionComplete(ulElement: HTMLElement, list: obj[] | boolean[] | string[] | number[], e?: Object): void;
    private initToolbarAndStyles;
    private triggerDragStart;
    private triggerDrag;
    private beforeDragEnd;
    private dragEnd;
    private updateListItems;
    private removeSelected;
    private getCurIdx;
    private getComponent;
    protected listOption(dataSource: obj[] | string[] | number[] | boolean[], fields: FieldSettingsModel): FieldSettingsModel;
    private triggerBeforeItemRender;
    requiredModules(): base.ModuleDeclaration[];
    /**
     * This method is used to enable or disable the items in the ListBox based on the items and enable argument.
     *
     * @param {string[]} items - Text items that needs to be enabled/disabled.
     * @param {boolean} enable - Set `true`/`false` to enable/disable the list items.
     * @param {boolean} isValue - Set `true` if `items` parameter is a array of unique values.
     * @returns {void}
     */
    enableItems(items: string[], enable?: boolean, isValue?: boolean): void;
    /**
     * Based on the state parameter, specified list item will be selected/deselected.
     *
     * @param {string[]} items - Array of text value of the item.
     * @param {boolean} state - Set `true`/`false` to select/un select the list items.
     * @param {boolean} isValue - Set `true` if `items` parameter is a array of unique values.
     * @returns {void}
     */
    selectItems(items: string[], state?: boolean, isValue?: boolean): void;
    /**
     * Based on the state parameter, entire list item will be selected/deselected.
     *
     * @param {boolean} state - Set `true`/`false` to select/un select the entire list items.
     * @returns {void}
     */
    selectAll(state?: boolean): void;
    /**
     * Adds a new item to the list. By default, new item appends to the list as the last item,
     * but you can insert based on the index parameter.
     *
     * @param  { Object[] } items - Specifies an array of JSON data or a JSON data.
     * @param { number } itemIndex - Specifies the index to place the newly added item in the list.
     * @returns {void}.
     */
    addItems(items: obj[] | obj, itemIndex?: number): void;
    /**
     * Removes a item from the list. By default, removed the last item in the list,
     * but you can remove based on the index parameter.
     *
     * @param  { Object[] } items - Specifies an array of JSON data or a JSON data.
     * @param { number } itemIndex - Specifies the index to remove the item from the list.
     * @returns {void}.
     */
    removeItems(items?: obj[] | obj, itemIndex?: number): void;
    /**
     * Removes a item from the list. By default, removed the last item in the list,
     * but you can remove based on the index parameter.
     *
     * @param  { Object[] } items - Specifies an array of JSON data or a JSON data.
     * @param { number } itemIndex - Specifies the index to remove the item from the list.
     * @returns {void}.
     */
    removeItem(items?: {
        [key: string]: Object;
    }[] | {
        [key: string]: Object;
    } | string | boolean | number | string[] | boolean[] | number[], itemIndex?: number): void;
    /**
     * Gets the array of data Object that matches the given array of values.
     *
     * @param  { string[] | number[] | boolean[] } value - Specifies the array value of the list item.
     * @returns {object[]}.
     */
    getDataByValues(value: string[] | number[] | boolean[]): {
        [key: string]: Object;
    }[];
    /**
     * Moves the given value(s) / selected value(s) upwards.
     *
     * @param  { string[] | number[] | boolean[] } value - Specifies the value(s).
     * @returns {void}
     */
    moveUp(value?: string[] | number[] | boolean[]): void;
    /**
     * Moves the given value(s) / selected value(s) downwards.
     *
     * @param  { string[] | number[] | boolean[] } value - Specifies the value(s).
     * @returns {void}
     */
    moveDown(value?: string[] | number[] | boolean[]): void;
    /**
     * Moves the given value(s) / selected value(s) to the given / default scoped ListBox.
     *
     * @param  { string[] | number[] | boolean[] } value - Specifies the value or array value of the list item.
     * @param {number} index - Specifies the index.
     * @param {string} targetId - Specifies the target id.
     * @returns {void}
     */
    moveTo(value?: string[] | number[] | boolean[], index?: number, targetId?: string): void;
    /**
     * Moves all the values from one ListBox to the scoped ListBox.
     *
     * @param  { string } targetId - Specifies the scoped ListBox ID.
     * @param  { string } index - Specifies the index to where the items moved.
     * @returns {void}
     */
    moveAllTo(targetId?: string, index?: number): void;
    /**
     * Gets the updated dataSource in ListBox.
     *
     * @returns {{ [key: string]: Object }[] | string[] | boolean[] | number[]} - Updated DataSource.
     */
    getDataList(): {
        [key: string]: Object;
    }[] | string[] | boolean[] | number[];
    /**
     * Returns the sorted Data in ListBox.
     *
     * @returns {{ [key: string]: Object }[] | string[] | boolean[] | number[]} - Sorted data
     */
    getSortedList(): {
        [key: string]: Object;
    }[] | string[] | boolean[] | number[];
    private getElemByValue;
    private updateLiCollection;
    private selectAllItems;
    private updateMainList;
    private wireEvents;
    private wireToolbarEvent;
    private unwireEvents;
    private clickHandler;
    private checkSelectAll;
    protected getQuery(query: data.Query): data.Query;
    private setFiltering;
    private filterWireEvents;
    private selectHandler;
    private triggerChange;
    private getDataByElems;
    private getDataByElements;
    private checkMaxSelection;
    private toolbarClickHandler;
    private moveUpDown;
    private moveItemTo;
    private moveItemFrom;
    /**
     * Called internally if any of the property value changed.
     *
     * @param {ListBox} fListBox - Specifies the from listbox.
     * @param {ListBox} tListBox - Specifies the to listbox.
     * @param {boolean} isKey - Specifies the key.
     * @param {Element[]} value - Specifies the value.
     * @param {number} index - Specifies the index.
     * @returns {void}
     * @private
     */
    private moveData;
    private selectNextList;
    private moveAllItemTo;
    private moveAllItemFrom;
    private moveAllData;
    private changeData;
    private getSelectedItems;
    private getScopedListBox;
    private getGrabbedItems;
    private getDragArgs;
    private onKeyDown;
    private keyDownStatus;
    private keyDownHandler;
    private upDownKeyHandler;
    private KeyUp;
    /**
     * To filter the data from given data source by using query.
     *
     * @param  {Object[] | data.DataManager } dataSource - Set the data source to filter.
     * @param  {data.Query} query - Specify the query to filter the data.
     * @param  {FieldSettingsModel} fields - Specify the fields to map the column in the data table.
     * @returns {void}.
     */
    filter(dataSource: {
        [key: string]: Object;
    }[] | data.DataManager | string[] | number[] | boolean[], query?: data.Query, fields?: FieldSettingsModel): void;
    private filteringAction;
    protected targetElement(): string;
    private dataUpdater;
    private focusOutHandler;
    private getValidIndex;
    private updateSelectedOptions;
    private clearSelection;
    private setSelection;
    private updateSelectTag;
    private checkDisabledState;
    private updateToolBarState;
    private setCheckboxPosition;
    private showCheckbox;
    private isSelected;
    private getSelectTag;
    private getToolElem;
    private formResetHandler;
    /**
     * Return the module name.
     *
     * @private
     * @returns {string} - Module name
     */
    getModuleName(): string;
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @returns {string} - Persist data
     */
    protected getPersistData(): string;
    protected getLocaleName(): string;
    destroy(): void;
    /**
     * Called internally if any of the property value changed.
     *
     * @param {ListBoxModel} newProp - Specifies the new properties.
     * @param {ListBoxModel} oldProp - Specifies the old properties.
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: ListBoxModel, oldProp: ListBoxModel): void;
}
/**
 * Interface for before item render event.
 */
export interface BeforeItemRenderEventArgs extends base.BaseEventArgs {
    /**
     * Returns the list element before rendering.
     */
    element: Element;
    /**
     * Returns the list item before rendering.
     */
    item: {
        [key: string]: Object;
    };
}
/**
 * Interface for drag and drop event args.
 */
export interface SourceDestinationModel {
    /**
     * Specifies the list items before  drag or drop in the ListBox.
     */
    previousData?: string[] | boolean[] | number[] | {
        [key: string]: Object;
    }[] | data.DataManager;
    /**
     * Specifies the list items after drag or drop in the ListBox.
     */
    currentData?: string[] | boolean[] | number[] | {
        [key: string]: Object;
    }[] | data.DataManager;
}
/**
 * Interface for drag and drop event.
 */
export interface DragEventArgs {
    /**
     * Returns the previous index of the selected list item.
     */
    previousIndex?: number;
    /**
     * Returns the current index of the selected list item.
     */
    currentIndex?: number;
    /**
     * Returns the selected list element.
     */
    elements: Element[];
    /**
     * Returns the selected list items.
     */
    items: Object[];
    /**
     * Returns the target list element where the selected list element to be dropped.
     */
    target?: Element;
    /**
     * Returns true if the list element is dragged from ListBox. Otherwise, it remains false.
     */
    dragSelected?: boolean;
    /**
     * Returns the previous list item.
     */
    previousItem?: object[];
    /**
     * Returns the previous  and current list items of the source list box.
     */
    source?: SourceDestinationModel;
    /**
     * Returns the previous and current list items of the destination list box.
     */
    destination?: SourceDestinationModel;
}
/**
 * Interface for change event args.
 */
export interface ListBoxChangeEventArgs extends base.BaseEventArgs {
    /**
     * Returns the selected list elements.
     */
    elements: Element[];
    /**
     * Returns the selected list items.
     */
    items: Object[];
    /**
     * Returns the selected state or selected list item in the ListBox.
     */
    value: number | string | boolean;
    /**
     * Specifies the event.
     */
    event: Event;
}
/**
 * Interface for Drop event args.
 */
export interface DropEventArgs {
    /**
     * Returns the previous index of the selected list item.
     */
    previousIndex: number;
    /**
     * Returns the current index of the selected list item.
     */
    currentIndex: number;
    /**
     * Returns the selected list element to be dropped.
     */
    droppedElement: Element;
    /**
     * Returns the target list element where the selected list element to be dropped.
     */
    target: Element;
    /**
     * Returns the dragged list element.
     */
    helper: Element;
    /**
     * Illustrates whether the current action needs to be prevented or not.
     */
    cancel?: boolean;
    /**
     * Returns the selected list items.
     */
    items?: Object[];
}
//node_modules/@syncfusion/ej2-dropdowns/src/mention/index.d.ts
/**
 * export all modules from current location
 */
//node_modules/@syncfusion/ej2-dropdowns/src/mention/mention-model.d.ts
/**
 * Interface for a class Mention
 */
export interface MentionModel {
    /**
     * Defines class/multiple classes separated by a space for the mention component.
     *
     * @default null
     */
    cssClass?: string;
    /**
     * Specifies the symbol or single character which triggers the search action in the mention component.
     *
     * @default '@'
     * @aspType char
     */
    mentionChar?: string;
    /**
     * Specifies whether to show the configured mentionChar with the text.
     *
     * @default false
     */
    showMentionChar?: boolean;
    /**
     * Defines whether to allow the space in the middle of mention while searching.
     * When disabled, the space ends the mention component search.
     *
     * @default false
     */
    allowSpaces?: boolean;
    /**
     * Specifies the custom suffix to base.append along with the mention component selected item while inserting.
     * You can base.append space or new line character as suffix.
     *
     * @default null
     */
    suffixText?: string;
    /**
     * Specifies the number of items in the suggestion list.
     *
     * @default 25
     * @aspType int
     */
    suggestionCount?: number;
    /**
     * Specifies the minimum length of user input to initiate the search action.
     * The default value is zero, where suggestion the list opened as soon as the user inputs the mention character.
     *
     * @default 0
     * @aspType int
     */
    minLength?: number;
    /**
     * Specifies the order to sort the data source. The possible sort orders are, 
     * * `None` - The data source is not sorted.
     * * `Ascending` - The data source is sorted in ascending order.
     * * `Descending` - The data source is sorted in descending order.
     *
     * @default 'None'
     */
    sortOrder?: lists.SortOrder;
    /**
     * Specifies whether the searches are case sensitive to find suggestions.
     *
     * @default true
     */
    ignoreCase?: boolean;
    /**
     * Specifies whether to highlight the searched characters on suggestion list items.
     *
     * @default false
     */
    highlight?: boolean;
    /**
     * Overrides the global culture and localization value for this component. Default global culture is ‘en-US’.
     *
     * @default 'en-US'
     */
    locale?: string;
    /**
     * Specifies the width of the popup in pixels/number/percentage. The number value is considered as pixels.
     *
     * @default 'auto'
     * @aspType string
     */
    popupWidth?: string | number;
    /**
     * Specifies the height of the popup in pixels/number/percentage. The number value is considered as pixels.
     *
     * @default '300px'
     * @aspType string
     */
    popupHeight?: string | number;
    /**
     * Specifies the template for the selected value from the suggestion list.
     *
     * @default null
     */
    displayTemplate?: string;
    /**
     * Specifies the template for the suggestion list.
     *
     * @default null
     */
    itemTemplate?: string;
    /**
     * Specifies the template for no matched item which is displayed when there are no items to display in the suggestion list.
     *
     * @default 'No records found'
     */
    noRecordsTemplate?: string;
    /**
     * Specifies the template for showing until data is loaded in the popup.
     *
     * @default null
     */
    spinnerTemplate?: string;
    /**
     * Specifies the target selector where the mention component needs to be displayed.
     * The mention component listens to the target's user input and displays suggestions as soon as the user inputs the mention character.
     *
     */
    target?: HTMLElement | string;
    /**
     * Accepts the list items either through local or remote service and binds it to the component.
     * It can be an array of JSON Objects or an instance of `data.DataManager`.
     *
     * @default []
     */
    dataSource?: { [key: string]: Object }[] | data.DataManager | string[] | number[] | boolean[];
    /**
     * Specifies the external query, which can be customized and filtered against the data source.
     *
     * @default null
     */
    query?: data.Query;
    /**
     * Determines on which filter type, the component needs to be considered on search action.
     * and its supported data types are
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * FilterType<br/></td><td colSpan=1 rowSpan=1>
     * Description<br/></td><td colSpan=1 rowSpan=1>
     * Supported Types<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * StartsWith<br/></td><td colSpan=1 rowSpan=1>
     * Checks whether a value begins with the specified value.<br/></td><td colSpan=1 rowSpan=1>
     * String<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * EndsWith<br/></td><td colSpan=1 rowSpan=1>
     * Checks whether a value ends with a specified value.<br/><br/></td><td colSpan=1 rowSpan=1>
     * <br/>String<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Contains<br/></td><td colSpan=1 rowSpan=1>
     * Checks whether a value contains with a specified value.<br/><br/></td><td colSpan=1 rowSpan=1>
     * <br/>String<br/></td></tr>
     * </table>
     *
     * The default value set to `Contains`, all the suggestion items which contain typed characters to listed in the suggestion popup.
     *
     * @default 'Contains'
     */
    filterType?: FilterType;
    /**
     * Defines the fields of the Mention to map with the data source and binds the data to the component.
     * * text - Specifies the text that maps the text filed from the data source for each list item.
     * * value - Specifies the value that maps the value filed from the data source for each list item.
     * * iconCss - Specifies the iconCss that map the icon class filed from the data source for each list item.
     * * groupBy - Specifies the groupBy that groups the list items with its related items by mapping groupBy field.
     *
     * @default
     * {
     *  text: null, value: null, iconCss: null, groupBy: null
     * }
     */
    fields?: FieldSettingsModel;
    /**
     * Triggers before fetching data from the remote server.
     *
     * @event actionBegin
     */
    actionBegin?: base.EmitType<Object>;
    /**
     * Triggers after data is fetched successfully from the remote server.
     *
     * @event actionComplete
     */
    actionComplete?: base.EmitType<Object>;
    /**
     * Triggers when the data fetch request from the remote server fails.
     *
     * @event actionFailure
     */
    actionFailure?: base.EmitType<Object>;
    /**
     * Triggers when an item in a popup is selected and updated in an editor.
     *
     * @event change
     */
    change?: base.EmitType<MentionChangeEventArgs>;
    /**
     * Triggers before the popup is opened.
     *
     * @event beforeOpen
     */
    beforeOpen?: base.EmitType<PopupEventArgs>;
    /**
     * Triggers after the popup opens.
     *
     * @event opened
     */
    opened?: base.EmitType<PopupEventArgs>;
    /**
     * Triggers after the popup is closed.
     *
     * @event closed
     */
    closed?: base.EmitType<PopupEventArgs>;
    /**
     * Triggers when an item in the popup is selected by the user either with the mouse/tap or with keyboard navigation.
     *
     * @event select
     */
    select?: base.EmitType<SelectEventArgs>;
    /**
     * Triggers on typing a character in the component.
     *
     * @event filtering
     */
    filtering?: base.EmitType<FilteringEventArgs>;
    /**
     * Triggers when the component is created.
     *
     * @event created
     */
    created?: base.EmitType<Object>;
    /**
     * Triggers when the component is destroyed.
     *
     * @event destroyed
     */
    destroyed?: base.EmitType<Object>;
}
//node_modules/@syncfusion/ej2-dropdowns/src/mention/mention.d.ts
export interface MentionChangeEventArgs extends SelectEventArgs {
    /**
     * Specifies the selected value.
     *
     * @isGenericType true
     */
    value: number | string | boolean;
    /**
     * Specifies the element of previous selected list item.
     */
    previousItem: HTMLLIElement;
    /**
     * Specifies the previously selected item as a JSON Object from the data source.
     *
     */
    previousItemData: FieldSettingsModel;
    /**
     * Specifies the component root element.
     */
    element: HTMLElement;
}
/**
 * The Mention component is used to list someone or something based on user input in textarea, input,
 * or any other editable element from which the user can select.
 */
export  class Mention extends DropDownBase {
    private initRemoteRender;
    private inputElement;
    private popupObj;
    private isPopupOpen;
    private isSelected;
    private selectedLI;
    private previousSelectedLI;
    private previousItemData;
    private activeIndex;
    private keyConfigure;
    private isFiltered;
    private beforePopupOpen;
    private listHeight;
    private range;
    private displayTempElement;
    private isCollided;
    private spinnerElement;
    private spinnerTemplateElement;
    private lineBreak;
    private selectedElementID;
    /**
     * Defines class/multiple classes separated by a space for the mention component.
     *
     * @default null
     */
    cssClass: string;
    /**
     * Specifies the symbol or single character which triggers the search action in the mention component.
     *
     * @default '@'
     * @aspType char
     */
    mentionChar: string;
    /**
     * Specifies whether to show the configured mentionChar with the text.
     *
     * @default false
     */
    showMentionChar: boolean;
    /**
     * Defines whether to allow the space in the middle of mention while searching.
     * When disabled, the space ends the mention component search.
     *
     * @default false
     */
    allowSpaces: boolean;
    /**
     * Specifies the custom suffix to append along with the mention component selected item while inserting.
     * You can append space or new line character as suffix.
     *
     * @default null
     */
    suffixText: string;
    /**
     * Specifies the number of items in the suggestion list.
     *
     * @default 25
     * @aspType int
     */
    suggestionCount: number;
    /**
     * Specifies the minimum length of user input to initiate the search action.
     * The default value is zero, where suggestion the list opened as soon as the user inputs the mention character.
     *
     * @default 0
     * @aspType int
     */
    minLength: number;
    /**
     * Specifies the order to sort the data source. The possible sort orders are,
     * * `None` - The data source is not sorted.
     * * `Ascending` - The data source is sorted in ascending order.
     * * `Descending` - The data source is sorted in descending order.
     *
     * @default 'None'
     */
    sortOrder: lists.SortOrder;
    /**
     * Specifies whether the searches are case sensitive to find suggestions.
     *
     * @default true
     */
    ignoreCase: boolean;
    /**
     * Specifies whether to highlight the searched characters on suggestion list items.
     *
     * @default false
     */
    highlight: boolean;
    /**
     * Overrides the global culture and localization value for this component. Default global culture is ‘en-US’.
     *
     * @default 'en-US'
     */
    locale: string;
    /**
     * Specifies the width of the popup in pixels/number/percentage. The number value is considered as pixels.
     *
     * @default 'auto'
     * @aspType string
     */
    popupWidth: string | number;
    /**
     * Specifies the height of the popup in pixels/number/percentage. The number value is considered as pixels.
     *
     * @default '300px'
     * @aspType string
     */
    popupHeight: string | number;
    /**
     * Specifies the template for the selected value from the suggestion list.
     *
     * @default null
     */
    displayTemplate: string;
    /**
     * Specifies the template for the suggestion list.
     *
     * @default null
     */
    itemTemplate: string;
    /**
     * Specifies the template for no matched item which is displayed when there are no items to display in the suggestion list.
     *
     * @default 'No records found'
     */
    noRecordsTemplate: string;
    /**
     * Specifies the template for showing until data is loaded in the popup.
     *
     * @default null
     */
    spinnerTemplate: string;
    /**
     * Specifies the target selector where the mention component needs to be displayed.
     * The mention component listens to the target's user input and displays suggestions as soon as the user inputs the mention character.
     *
     */
    target: HTMLElement | string;
    /**
     * Accepts the list items either through local or remote service and binds it to the component.
     * It can be an array of JSON Objects or an instance of `data.DataManager`.
     *
     * @default []
     */
    dataSource: {
        [key: string]: Object;
    }[] | data.DataManager | string[] | number[] | boolean[];
    /**
     * Specifies the external query, which can be customized and filtered against the data source.
     *
     * @default null
     */
    query: data.Query;
    /**
     * Determines on which filter type, the component needs to be considered on search action.
     * and its supported data types are
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * FilterType<br/></td><td colSpan=1 rowSpan=1>
     * Description<br/></td><td colSpan=1 rowSpan=1>
     * Supported Types<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * StartsWith<br/></td><td colSpan=1 rowSpan=1>
     * Checks whether a value begins with the specified value.<br/></td><td colSpan=1 rowSpan=1>
     * String<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * EndsWith<br/></td><td colSpan=1 rowSpan=1>
     * Checks whether a value ends with a specified value.<br/><br/></td><td colSpan=1 rowSpan=1>
     * <br/>String<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Contains<br/></td><td colSpan=1 rowSpan=1>
     * Checks whether a value contains with a specified value.<br/><br/></td><td colSpan=1 rowSpan=1>
     * <br/>String<br/></td></tr>
     * </table>
     *
     * The default value set to `Contains`, all the suggestion items which contain typed characters to listed in the suggestion popup.
     *
     * @default 'Contains'
     */
    filterType: FilterType;
    /**
     * Defines the fields of the Mention to map with the data source and binds the data to the component.
     * * text - Specifies the text that maps the text filed from the data source for each list item.
     * * value - Specifies the value that maps the value filed from the data source for each list item.
     * * iconCss - Specifies the iconCss that map the icon class filed from the data source for each list item.
     * * groupBy - Specifies the groupBy that groups the list items with its related items by mapping groupBy field.
     *
     * @default
     * {
     *  text: null, value: null, iconCss: null, groupBy: null
     * }
     */
    fields: FieldSettingsModel;
    /**
     * Triggers before fetching data from the remote server.
     *
     * @event actionBegin
     */
    actionBegin: base.EmitType<Object>;
    /**
     * Triggers after data is fetched successfully from the remote server.
     *
     * @event actionComplete
     */
    actionComplete: base.EmitType<Object>;
    /**
     * Triggers when the data fetch request from the remote server fails.
     *
     * @event actionFailure
     */
    actionFailure: base.EmitType<Object>;
    /**
     * Triggers when an item in a popup is selected and updated in an editor.
     *
     * @event change
     */
    change: base.EmitType<MentionChangeEventArgs>;
    /**
     * Triggers before the popup is opened.
     *
     * @event beforeOpen
     */
    beforeOpen: base.EmitType<PopupEventArgs>;
    /**
     * Triggers after the popup opens.
     *
     * @event opened
     */
    opened: base.EmitType<PopupEventArgs>;
    /**
     * Triggers after the popup is closed.
     *
     * @event closed
     */
    closed: base.EmitType<PopupEventArgs>;
    /**
     * Triggers when an item in the popup is selected by the user either with the mouse/tap or with keyboard navigation.
     *
     * @event select
     */
    select: base.EmitType<SelectEventArgs>;
    /**
     * Triggers on typing a character in the component.
     *
     * @event filtering
     */
    filtering: base.EmitType<FilteringEventArgs>;
    /**
     * Triggers when the component is created.
     *
     * @event created
     */
    created: base.EmitType<Object>;
    /**
     * Triggers when the component is destroyed.
     *
     * @event destroyed
     */
    destroyed: base.EmitType<Object>;
    /**
     * * Constructor for creating the widget
     *
     * @param {MentionModel} options - Specifies the MentionComponent model.
     * @param {string | HTMLElement} element - Specifies the element to render as component.
     * @private
     */
    constructor(options?: MentionModel, element?: string | HTMLElement);
    /**
     * When property value changes happened, then onPropertyChanged method will execute the respective changes in this component.
     *
     * @param {MentionModel} newProp - Returns the dynamic property value of the component.
     * @param {MentionModel} oldProp - Returns the previous property value of the component.
     * @private
     * @returns {void}
     */
    onPropertyChanged(newProp: MentionModel, oldProp: MentionModel): void;
    private updateCssClass;
    private setCssClass;
    private initializeData;
    /**
     * Execute before render the list items
     *
     * @private
     * @returns {void}
     */
    protected preRender(): void;
    /**
     * To Initialize the control rendering
     *
     * @private
     * @returns {void}
     */
    render(): void;
    private wireEvent;
    private unWireEvent;
    private bindCommonEvent;
    /**
     * Hides the spinner loader.
     *
     * @returns {void}
     */
    hideSpinner(): void;
    private hideWaitingSpinner;
    /**
     * Shows the spinner loader.
     *
     * @returns {void}
     */
    private showWaitingSpinner;
    private keyActionHandler;
    private updateUpDownAction;
    private isSelectFocusItem;
    private unBindCommonEvent;
    private onKeyUp;
    private isMatchedText;
    private getCurrentRange;
    private searchLists;
    private filterAction;
    protected onActionComplete(ulElement: HTMLElement, list: {
        [key: string]: Object;
    }[], e?: Object, isUpdated?: boolean): void;
    private setDataIndex;
    protected listOption(dataSource: {
        [key: string]: Object;
    }[], fieldsSettings: FieldSettingsModel): FieldSettingsModel;
    private elementValue;
    protected getQuery(query: data.Query): data.Query;
    private renderHightSearch;
    private getTextRange;
    private getLastLetter;
    private isContentEditable;
    /**
     * Opens the popup that displays the list of items.
     *
     * @returns {void}
     */
    showPopup(): void;
    /**
     * Hides the popup if it is in an open state.
     *
     * @returns {void}
     */
    hidePopup(e?: MouseEvent | base.KeyboardEventArgs): void;
    private closePopup;
    private renderPopup;
    private checkCollision;
    private getTriggerCharPosition;
    private initializePopup;
    private setWidth;
    private destroyPopup;
    private onDocumentClick;
    private getCoordinates;
    private initValue;
    private updateValues;
    protected renderList(): void;
    /**
     * Event binding for list
     *
     * @returns {void}
     */
    private wireListEvents;
    /**
     * Event un binding for list items.
     *
     * @returns {void}
     */
    private unWireListEvents;
    private onMouseClick;
    private updateSelectedItem;
    private setSelection;
    private setSelectOptions;
    private setScrollPosition;
    private scrollBottom;
    private scrollTop;
    private selectEventCallback;
    private detachChanges;
    private setValue;
    private mentionVal;
    private setDisplayTemplate;
    private setSpinnerTemplate;
    private onChangeEvent;
    private detachMentionChanges;
    private getItemData;
    private removeSelection;
    private onMouseOver;
    private setHover;
    private removeHover;
    private isValidLI;
    private onMouseLeave;
    /**
     * Search the entered text and show it in the suggestion list if available.
     *
     * @returns {void}
     */
    search(text: string, positionX: number, positionY: number): void;
    /**
     * Removes the component from the DOM and detaches all its related event handlers. Also it removes the attributes and classes.
     *
     * @method destroy
     * @returns {void}
     */
    destroy(): void;
    protected getLocaleName(): string;
    protected getNgDirective(): string;
    /**
     * Return the module name of this component.
     *
     * @private
     * @returns {string} Return the module name of this component.
     */
    getModuleName(): string;
}
//node_modules/@syncfusion/ej2-dropdowns/src/multi-select/checkbox-selection.d.ts
/**
 * The Multiselect enable CheckBoxSelection call this inject module.
 */
export  class CheckBoxSelection {
    private parent;
    private checkAllParent;
    private selectAllSpan;
    filterInput: HTMLInputElement;
    private filterInputObj;
    private backIconElement;
    private clearIconElement;
    private checkWrapper;
    list: HTMLElement;
    private activeLi;
    private activeEle;
    constructor(parent?: IMulitSelect);
    getModuleName(): string;
    addEventListener(): void;
    removeEventListener(): void;
    listOption(args: {
        [key: string]: Object;
    }): void;
    private setPlaceholder;
    private checboxCreate;
    private setSelectAll;
    destroy(): void;
    listSelection(args: IUpdateListArgs): void;
    private validateCheckNode;
    private clickHandler;
    private changeState;
    protected setSearchBox(args: IUpdateListArgs): inputs.InputObject | void;
    private clickOnBackIcon;
    private clearText;
    private setDeviceSearchBox;
    private setSearchBoxPosition;
    protected setPopupFullScreen(): void;
    protected targetElement(): string;
    private onBlurHandler;
    protected onDocumentClick(e: MouseEvent): void;
    private getFocus;
    private checkSelectAll;
    private setLocale;
    private getActiveList;
    private setReorder;
}
export interface ItemCreatedArgs {
    curData: {
        [key: string]: Object;
    };
    item: HTMLElement;
    text: string;
}
export interface IUpdateListArgs {
    module: string;
    enable: boolean;
    li: HTMLElement;
    e: MouseEvent | base.KeyboardEventArgs;
    popupElement: HTMLElement;
    value: string;
    index: number;
}
//node_modules/@syncfusion/ej2-dropdowns/src/multi-select/float-label.d.ts
/**
 * Function to create Float Label element.
 *
 * @param {HTMLDivElement} overAllWrapper - Overall wrapper of multiselect.
 * @param {HTMLElement} searchWrapper - Search wrapper of multiselect.
 * @param {HTMLElement} element - The given html element.
 * @param {HTMLInputElement} inputElement - Specify the input wrapper.
 * @param {number[] | string[] | boolean[]} value - Value of the MultiSelect.
 * @param {inputs.FloatLabelType} floatLabelType - Specify the FloatLabel Type.
 * @param {string} placeholder - Specify the PlaceHolder text.
 */
export  function createFloatLabel(overAllWrapper: HTMLDivElement, searchWrapper: HTMLElement, element: HTMLElement, inputElement: HTMLInputElement, value: number[] | string[] | boolean[], floatLabelType: inputs.FloatLabelType, placeholder: string): void;
/**
 * Function to update status of the Float Label element.
 *
 * @param {string[] | number[] | boolean[]} value - Value of the MultiSelect.
 * @param {HTMLElement} label - Float label element.
 */
export  function updateFloatLabelState(value: string[] | number[] | boolean[], label: HTMLElement): void;
/**
 * Function to remove Float Label element.
 *
 * @param {HTMLDivElement} overAllWrapper - Overall wrapper of multiselect.
 * @param {HTMLDivElement} componentWrapper - Wrapper element of multiselect.
 * @param {HTMLElement} searchWrapper - Search wrapper of multiselect.
 * @param {HTMLInputElement} inputElement - Specify the input wrapper.
 * @param {number[] | string[] | boolean[]} value - Value of the MultiSelect.
 * @param {inputs.FloatLabelType} floatLabelType - Specify the FloatLabel Type.
 * @param {string} placeholder - Specify the PlaceHolder text.
 */
export  function removeFloating(overAllWrapper: HTMLDivElement, componentWrapper: HTMLDivElement, searchWrapper: HTMLElement, inputElement: HTMLInputElement, value: number[] | string[] | boolean[], floatLabelType: inputs.FloatLabelType, placeholder: string): void;
/**
 * Function to set the placeholder to the element.
 *
 * @param {number[] | string[] | boolean[]} value - Value of the MultiSelect.
 * @param {HTMLInputElement} inputElement - Specify the input wrapper.
 * @param {string} placeholder - Specify the PlaceHolder text.
 */
export  function setPlaceHolder(value: number[] | string[] | boolean[], inputElement: HTMLInputElement, placeholder: string): void;
/**
 * Function for focusing the Float Element.
 *
 * @param {HTMLDivElement} overAllWrapper - Overall wrapper of multiselect.
 * @param {HTMLDivElement} componentWrapper - Wrapper element of multiselect.
 */
export  function floatLabelFocus(overAllWrapper: HTMLDivElement, componentWrapper: HTMLDivElement): void;
/**
 * Function to focus the Float Label element.
 *
 * @param {HTMLDivElement} overAllWrapper - Overall wrapper of multiselect.
 * @param {HTMLDivElement} componentWrapper - Wrapper element of multiselect.
 * @param {number[] | string[] | boolean[]} value - Value of the MultiSelect.
 * @param {inputs.FloatLabelType} floatLabelType - Specify the FloatLabel Type.
 * @param {string} placeholder - Specify the PlaceHolder text.
 */
export  function floatLabelBlur(overAllWrapper: HTMLDivElement, componentWrapper: HTMLDivElement, value: number[] | string[] | boolean[], floatLabelType: inputs.FloatLabelType, placeholder: string): void;
export  function encodePlaceholder(placeholder: string): string;
//node_modules/@syncfusion/ej2-dropdowns/src/multi-select/index.d.ts
/**
 * export all modules from current location
 */
//node_modules/@syncfusion/ej2-dropdowns/src/multi-select/interface.d.ts
/**
 * Specifies mulitselct interfaces.
 *
 * @hidden
 */
export interface IMulitSelect extends base.Component<HTMLElement> {
    listCurrentOptions?: {
        [key: string]: Object;
    };
    inputElement?: HTMLInputElement;
    popupWrapper?: HTMLDivElement;
    selectAll?(state?: boolean): void;
    selectAllHeight?: number;
    searchBoxHeight?: number;
    onInput?(): void;
    filterInput?: HTMLInputElement;
    keyUp?(e?: base.KeyboardEventArgs): void;
    onKeyDown?(e?: base.KeyboardEventArgs): void;
    mainList?: HTMLElement;
    list?: HTMLElement;
    listData?: {
        [key: string]: Object;
    }[];
    targetElement?(): string;
    targetInputElement?: HTMLInputElement | string;
    selectAllText?: string;
    unSelectAllText?: string;
    popupObj?: popups.Popup;
    onDocumentFocus?: boolean;
    selectAllItems?(status: boolean, event?: MouseEvent): void;
    hidePopup?(): void;
    refreshPopup?(): void;
    refreshListItems?(data?: string): void;
    filterBarPlaceholder?: string;
    overAllWrapper?: HTMLDivElement;
    searchWrapper?: HTMLElement;
    componentWrapper?: HTMLDivElement;
    templateList?: {
        [key: string]: Object;
    };
    itemTemplate?: string;
    headerTemplate?: string;
    mobFilter?: boolean;
    header?: HTMLElement;
    updateDelimView?(): void;
    updateValueState?(event?: base.KeyboardEventArgs | MouseEvent, newVal?: [string | number], oldVal?: [string | number]): void;
    tempValues?: [number | string];
    value?: [number | string];
    refreshInputHight?(): void;
    refreshPlaceHolder?(): void;
    ulElement?: HTMLElement;
    hiddenElement?: HTMLSelectElement;
    dispatchEvent?(element?: HTMLElement, type?: string): void;
    inputFocus?: boolean;
    enableSelectionOrder?: boolean;
    focusAtFirstListItem(): void;
    isPopupOpen(): boolean;
    showSelectAll: boolean;
    scrollFocusStatus: boolean;
    focused: boolean;
    onBlurHandler(eve?: MouseEvent, isDocClickFromCheck?: boolean): void;
    keyAction?: boolean;
    removeFocus?(): void;
    getLocaleName?(): string;
    filterParent: HTMLElement;
    enableGroupCheckBox: boolean;
    pasteHandler?(e?: base.KeyboardEventArgs): void;
    cssClass: string;
    isDynamicDataChange?: boolean;
    search?(e: base.KeyboardEventArgs): void;
    allowFiltering?: boolean;
}
//node_modules/@syncfusion/ej2-dropdowns/src/multi-base.select/multi-base.select-model.d.ts
/**
 * Interface for a class MultiSelect
 */
export interface MultiSelectModel extends DropDownBaseModel{
    /**
     * The `fields` property maps the columns of the data table and binds the data to the component.
     * * text - Maps the text column from data table for each list item.
     * * value - Maps the value column from data table for each list item.
     * * iconCss - Maps the icon class column from data table for each list item.
     * * groupBy - Group the list items with it's related items by mapping groupBy field.
     * ```html
     * <input type="text" tabindex="1" id="list"> </input>
     * ```
     * ```typescript
     *   let customers$: MultiSelect = new MultiSelect({
     *      dataSource:new data.DataManager({ url:'http://js.syncfusion.com/demos/ejServices/Wcf/Northwind.svc/' }),
     *      query: new data.Query().from('Customers').base.select(['ContactName', 'CustomerID']).take(5),
     *      fields: { text: 'ContactName', value: 'CustomerID' },
     *      placeholder: 'Select a customer'
     *   });
     *   customers.appendTo("#list");
     * ```
     *
     * @default {text: null, value: null, iconCss: null, groupBy: null}
     */
    fields?: FieldSettingsModel;
    /**
     * Enable or disable persisting MultiSelect component's state between page reloads.
     * If enabled, following list of states will be persisted.
     * 1. value
     *
     * @default false
     */
    enablePersistence?: boolean;
    /**
     * Accepts the template design and assigns it to the group headers present in the MultiSelect popup list.
     *
     * @default null
     */
    groupTemplate?: string;
    /**
     * Accepts the template design and assigns it to popup list of MultiSelect component
     * when no data is available on the component.
     *
     * @default 'No records found'
     */
    noRecordsTemplate?: string;
    /**
     * Accepts the template and assigns it to the popup list content of the MultiSelect component
     * when the data fetch request from the remote server fails.
     *
     * @default 'Request failed'
     */
    actionFailureTemplate?: string;
    /**
     * Specifies the `sortOrder` to sort the data source. The available type of sort orders are
     * * `None` - The data source is not sorting.
     * * `Ascending` - The data source is sorting with ascending order.
     * * `Descending` - The data source is sorting with descending order.
     *
     * @default null
     * @asptype object
     * @aspjsonconverterignore
     */
    sortOrder?: lists.SortOrder;
    /**
     * Specifies a value that indicates whether the MultiSelect component is enabled or not.
     *
     * @default true
     */
    enabled?: boolean;
    /**
     * Defines whether to allow the cross-scripting site or not.
     *
     * @default false
     */
    enableHtmlSanitizer?: boolean;
    /**
     * Accepts the list items either through local or remote service and binds it to the MultiSelect component.
     * It can be an array of JSON Objects or an instance of
     * `data.DataManager`.
     *
     * @default []
     */
    dataSource?: { [key: string]: Object }[] | data.DataManager | string[] | number[] | boolean[];
    /**
     * Accepts the external `data.Query`
     * which will execute along with the data processing in MultiSelect.
     *
     * @default null
     */
    query?: data.Query;
    /**
     * Determines on which filter type, the MultiSelect component needs to be considered on search action.
     * The `FilterType` and its supported data types are
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * FilterType<br/></td><td colSpan=1 rowSpan=1>
     * Description<br/></td><td colSpan=1 rowSpan=1>
     * Supported Types<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * StartsWith<br/></td><td colSpan=1 rowSpan=1>
     * Checks whether a value begins with the specified value.<br/></td><td colSpan=1 rowSpan=1>
     * String<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * EndsWith<br/></td><td colSpan=1 rowSpan=1>
     * Checks whether a value ends with specified value.<br/><br/></td><td colSpan=1 rowSpan=1>
     * <br/>String<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Contains<br/></td><td colSpan=1 rowSpan=1>
     * Checks whether a value contains with specified value.<br/><br/></td><td colSpan=1 rowSpan=1>
     * <br/>String<br/></td></tr>
     * </table>
     *
     * The default value set to `StartsWith`, all the suggestion items which contain typed characters to listed in the suggestion popup.
     *
     * @default 'StartsWith'
     */
    filterType?: FilterType;
    /**
     * specifies the z-index value of the component popup element.
     *
     * @default 1000
     */
    zIndex?: number;
    /**
     * ignoreAccent set to true, then ignores the diacritic characters or accents when filtering.
     */
    ignoreAccent?: boolean;
    /**
     * Overrides the global culture and localization value for this component. Default global culture is 'en-US'.
     *
     * @default 'en-US'
     */
    locale?: string;
    /**
     * Specifies a Boolean value that indicates the whether the grouped list items are
     * allowed to check by checking the group header in checkbox mode.
     * By default, there is no checkbox provided for group headers.
     * This property allows you to render checkbox for group headers and to base.select
     * all the grouped items at once
     *
     * @default false
     */
    enableGroupCheckBox?: boolean;
    /**
     * Sets the CSS classes to root element of this component which helps to customize the
     * complete styles.
     *
     * @default null
     */
    cssClass?: string;
    /**
     * Gets or sets the width of the component. By default, it sizes based on its parent.
     * container dimension.
     *
     * @default '100%'
     * @aspType string
     */
    width?: string | number;
    /**
     * Gets or sets the height of the popup list. By default it renders based on its list item.
     * > For more details about the popup configuration refer to
     * [`popups.Popup Configuration`](../../multi-base.select/getting-started/#configure-the-popup-list) documentation.
     *
     * @default '300px'
     * @aspType string
     */
    popupHeight?: string | number;
    /**
     * Gets or sets the width of the popup list and percentage values has calculated based on input width.
     * > For more details about the popup configuration refer to
     * [`popups.Popup Configuration`](../../multi-base.select/getting-started/#configure-the-popup-list) documentation.
     *
     * @default '100%'
     * @aspType string
     */
    popupWidth?: string | number;
    /**
     * Gets or sets the placeholder in the component to display the given information
     * in input when no item selected.
     *
     * @default null
     */
    placeholder?: string;
    /**
     * Accepts the value to be displayed as a watermark text on the filter bar.
     *
     * @default null
     */
    filterBarPlaceholder?: string;
    /**
     * Gets or sets the additional attribute to `HtmlAttributes` property in MultiSelect,
     * which helps to add attribute like title, name etc, input should be key value pair.
     *
     * {% codeBlock src='multiselect/htmlAttributes/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     */
    htmlAttributes?: { [key: string]: string };
    /**
     * Accepts the template design and assigns it to the selected list item in the input element of the component.
     * For more details about the available template options refer to
     * [`Template`](../../multi-base.select/templates) documentation.
     *
     * We have built-in `template engine`
     * which provides options to base.compile template string into a executable function.
     * For EX: We have expression evolution as like ES6 expression string literals.
     *
     * @default null
     */
    valueTemplate?: string;
    /**
     * Accepts the template design and assigns it to the header container of the popup list.
     * > For more details about the available template options refer to [`Template`](../../multi-base.select/templates) documentation.
     *
     * @default null
     */
    headerTemplate?: string;
    /**
     * Accepts the template design and assigns it to the footer container of the popup list.
     * > For more details about the available template options refer to [`Template`](../../multi-base.select/templates) documentation.
     *
     * @default null
     */
    footerTemplate?: string;
    /**
     * Accepts the template design and assigns it to each list item present in the popup.
     * > For more details about the available template options refer to [`Template`](../../multi-base.select/templates) documentation.
     *
     * We have built-in `template engine`
     * which provides options to base.compile template string into a executable function.
     * For EX: We have expression evolution as like ES6 expression string literals.
     *
     * @default null
     */
    itemTemplate?: string;
    /**
     * To enable the filtering option in this component.
     * Filter action performs when type in search box and collect the matched item through `filtering` event.
     * If searching character does not match, `noRecordsTemplate` property value will be shown.
     *
     * {% codeBlock src="multiselect/allow-filtering-api/index.ts" %}{% endcodeBlock %}
     *
     * {% codeBlock src="multiselect/allow-filtering-api/index.html" %}{% endcodeBlock %}
     *
     * @default null
     */
    allowFiltering?: boolean;
    /**
     * By default, the multiselect component fires the change event while focus out the component.
     * If you want to fires the change event on every value selection and base.remove, then disable the changeOnBlur property.
     *
     * @default true
     */
    changeOnBlur?: boolean;
    /**
     * Allows user to add a
     * [`custom value`](../../multi-base.select/custom-value), the value which is not present in the suggestion list.
     *
     * @default false
     */
    allowCustomValue?: boolean;
    /**
     * Enables close icon with the each selected item.
     *
     * @default true
     */
    showClearButton?: boolean;
    /**
     * Sets limitation to the value selection.
     * based on the limitation, list selection will be prevented.
     *
     * @default 1000
     */
    maximumSelectionLength?: number;
    /**
     * Gets or sets the `readonly` to input or not. Once enabled, just you can copy or highlight
     * the text however tab key action will perform.
     *
     * @default false
     */
    readonly?: boolean;
    /**
     * Selects the list item which maps the data `text` field in the component.
     *
     * @default null
     */
    text?: string;
    /**
     * Selects the list item which maps the data `value` field in the component.
     * {% codeBlock src='multiselect/value/index.md' %}{% endcodeBlock %}
     *
     * @default null
     * @isGenericType true
     */
    value?: number[] | string[] | boolean[];
    /**
     * Hides the selected item from the list item.
     *
     * @default true
     */
    hideSelectedItem?: boolean;
    /**
     * Based on the property, when item get base.select popup visibility state will changed.
     *
     * @default true
     */
    closePopupOnSelect?: boolean;
    /**
     * configures visibility mode for component interaction.
     *
     * - `Box` - selected items will be visualized in chip.
     *
     * - `Delimiter` - selected items will be visualized in text content.
     *
     * - `Default` - on `focus in` component will act in `box` mode.
     * on `blur` component will act in `delimiter` mode.
     *
     * - `CheckBox` - The 'checkbox' will be visualized in list item.
     *
     * {% codeBlock src="multiselect/visual-mode-api/index.ts" %}{% endcodeBlock %}
     *
     * {% codeBlock src="multiselect/visual-mode-api/index.html" %}{% endcodeBlock %}
     *
     * @default Default
     */
    mode?: visualMode;
    /**
     * Sets the delimiter character for 'default' and 'delimiter' visibility modes.
     *
     * @default ','
     */
    delimiterChar?: string;
    /**
     * Sets [`case sensitive`](../../multi-base.select/filtering/#case-sensitive-filtering)
     * option for filter operation.
     *
     * @default true
     */
    ignoreCase?: boolean;
    /**
     * Allows you to either show or hide the DropDown button on the component
     *
     * @default false
     */
    showDropDownIcon?: boolean;
    /**
     * Specifies whether to display the floating label above the input element.
     * Possible values are:
     * * Never: The label will never float in the input when the placeholder is available.
     * * Always: The floating label will always float above the input.
     * * Auto: The floating label will float above the input after focusing or entering a value in the input.
     *
     * @default Syncfusion.EJ2.Inputs.inputs.FloatLabelType.Never
     * @aspType Syncfusion.EJ2.Inputs.inputs.FloatLabelType
     * @isEnumeration true
     */
    floatLabelType?: inputs.FloatLabelType;
    /**
     * Allows you to either show or hide the base.selectAll option on the component.
     *
     * @default false
     */
    showSelectAll?: boolean;
    /**
     * Specifies the selectAllText to be displayed on the component.
     *
     * @default 'base.select All'
     */
    selectAllText?: string;
    /**
     * Specifies the UnSelectAllText to be displayed on the component.
     *
     * @default 'base.select All'
     */
    unSelectAllText?: string;
    /**
     * Reorder the selected items in popup visibility state.
     *
     * @default true
     */
    enableSelectionOrder?: boolean;
    /**
     * Whether to automatically open the popup when the control is clicked.
     *
     * @default true
     */
    openOnClick?: boolean;
    /**
     * By default, the typed value is converting into chip or update as value of the component when you press the enter key or base.select from the popup.
     * If you want to convert the typed value into chip or update as value of the component while focusing out the component, then enable this property.
     * If custom value is enabled, both custom value and value present in the list are converted into tag while focusing out the component;
 Otherwise, value present in the list is converted into tag while focusing out the component.
     *
     * @default false
     */
    addTagOnBlur?: boolean;
 
    /**
     * Fires each time when selection changes happened in list items after model and input value get affected.
     *
     * @event change
     */
    change?: base.EmitType<MultiSelectChangeEventArgs>;
    /**
     * Fires before the selected item removed from the widget.
     *
     * @event removing
     */
    removing?: base.EmitType<RemoveEventArgs>;
    /**
     * Fires after the selected item removed from the widget.
     *
     * @event removed
     */
    removed?: base.EmitType<RemoveEventArgs>;
    /**
     * Fires before base.select all process.
     *
     * @event beforeSelectAll
     * @blazorProperty 'beforeSelectAll'
     */
    beforeSelectAll?: base.EmitType<ISelectAllEventArgs>;
    /**
     * Fires after base.select all process completion.
     *
     * @event selectedAll
     */
    selectedAll?: base.EmitType<ISelectAllEventArgs>;
    /**
     * Fires when popup opens before animation.
     *
     * @event beforeOpen
     */
    beforeOpen?: base.EmitType<Object>;
    /**
     * Fires when popup opens after animation completion.
     *
     * @event open
     */
    open?: base.EmitType<PopupEventArgs>;
    /**
     * Fires when popup close after animation completion.
     *
     * @event close
     */
    close?: base.EmitType<PopupEventArgs>;
    /**
     * base.Event triggers when the input get focus-out.
     *
     * @event blur
     */
    blur?: base.EmitType<Object>;
    /**
     * base.Event triggers when the input get focused.
     *
     * @event focus
     */
    focus?: base.EmitType<Object>;
    /**
     * base.Event triggers when the chip selection.
     *
     * @event chipSelection
     */
    chipSelection?: base.EmitType<Object>;
    /**
     * Triggers event,when user types a text in search box.
     * > For more details about filtering, refer to [`Filtering`](../../multi-base.select/filtering) documentation.
     *
     * @event filtering
     */
    filtering?: base.EmitType<FilteringEventArgs>;
    /**
     * Fires before set the selected item as chip in the component.
     * > For more details about chip customization refer [`Chip Customization`](../../multi-base.select/chip-customization)
     *
     * @event tagging
     */
    tagging?: base.EmitType<TaggingEventArgs>;
    /**
     * Triggers when the [`customValue`](../../multi-base.select/custom-value) is selected.
     *
     * @event customValueSelection
     */
    customValueSelection?: base.EmitType<CustomValueEventArgs>;
}
//node_modules/@syncfusion/ej2-dropdowns/src/multi-select/multi-select.d.ts

export interface RemoveEventArgs extends SelectEventArgs {
}
/**
 * The Multiselect allows the user to pick a more than one value from list of predefined values.
 * ```html
 * <select id="list">
 *      <option value='1'>Badminton</option>
 *      <option value='2'>Basketball</option>
 *      <option value='3'>Cricket</option>
 *      <option value='4'>Football</option>
 *      <option value='5'>Tennis</option>
 * </select>
 * ```
 * ```typescript
 * <script>
 *   var multiselectObj = new Multiselect();
 *   multiselectObj.appendTo("#list");
 * </script>
 * ```
 */
export  class MultiSelect extends DropDownBase implements inputs.IInput {
    private spinnerElement;
    private selectAllAction;
    private setInitialValue;
    private setDynValue;
    private listCurrentOptions;
    private targetInputElement;
    private selectAllHeight?;
    private searchBoxHeight?;
    private mobFilter?;
    private isFiltered;
    private isFirstClick;
    private focused;
    private initial;
    private backCommand;
    private keyAction;
    private isSelectAll;
    private clearIconWidth;
    private previousFilterText;
    private selectedElementID;
    /**
     * The `fields` property maps the columns of the data table and binds the data to the component.
     * * text - Maps the text column from data table for each list item.
     * * value - Maps the value column from data table for each list item.
     * * iconCss - Maps the icon class column from data table for each list item.
     * * groupBy - Group the list items with it's related items by mapping groupBy field.
     * ```html
     * <input type="text" tabindex="1" id="list"> </input>
     * ```
     * ```typescript
     *   let customers$: MultiSelect = new MultiSelect({
     *      dataSource:new data.DataManager({ url:'http://js.syncfusion.com/demos/ejServices/Wcf/Northwind.svc/' }),
     *      query: new data.Query().from('Customers').select(['ContactName', 'CustomerID']).take(5),
     *      fields: { text: 'ContactName', value: 'CustomerID' },
     *      placeholder: 'Select a customer'
     *   });
     *   customers.appendTo("#list");
     * ```
     *
     * @default {text: null, value: null, iconCss: null, groupBy: null}
     */
    fields: FieldSettingsModel;
    /**
     * Enable or disable persisting MultiSelect component's state between page reloads.
     * If enabled, following list of states will be persisted.
     * 1. value
     *
     * @default false
     */
    enablePersistence: boolean;
    /**
     * Accepts the template design and assigns it to the group headers present in the MultiSelect popup list.
     *
     * @default null
     */
    groupTemplate: string;
    /**
     * Accepts the template design and assigns it to popup list of MultiSelect component
     * when no data is available on the component.
     *
     * @default 'No records found'
     */
    noRecordsTemplate: string;
    /**
     * Accepts the template and assigns it to the popup list content of the MultiSelect component
     * when the data fetch request from the remote server fails.
     *
     * @default 'Request failed'
     */
    actionFailureTemplate: string;
    /**
     * Specifies the `sortOrder` to sort the data source. The available type of sort orders are
     * * `None` - The data source is not sorting.
     * * `Ascending` - The data source is sorting with ascending order.
     * * `Descending` - The data source is sorting with descending order.
     *
     * @default null
     * @asptype object
     * @aspjsonconverterignore
     */
    sortOrder: lists.SortOrder;
    /**
     * Specifies a value that indicates whether the MultiSelect component is enabled or not.
     *
     * @default true
     */
    enabled: boolean;
    /**
     * Defines whether to allow the cross-scripting site or not.
     *
     * @default false
     */
    enableHtmlSanitizer: boolean;
    /**
     * Accepts the list items either through local or remote service and binds it to the MultiSelect component.
     * It can be an array of JSON Objects or an instance of
     * `data.DataManager`.
     *
     * @default []
     */
    dataSource: {
        [key: string]: Object;
    }[] | data.DataManager | string[] | number[] | boolean[];
    /**
     * Accepts the external `data.Query`
     * which will execute along with the data processing in MultiSelect.
     *
     * @default null
     */
    query: data.Query;
    /**
     * Determines on which filter type, the MultiSelect component needs to be considered on search action.
     * The `FilterType` and its supported data types are
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * FilterType<br/></td><td colSpan=1 rowSpan=1>
     * Description<br/></td><td colSpan=1 rowSpan=1>
     * Supported Types<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * StartsWith<br/></td><td colSpan=1 rowSpan=1>
     * Checks whether a value begins with the specified value.<br/></td><td colSpan=1 rowSpan=1>
     * String<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * EndsWith<br/></td><td colSpan=1 rowSpan=1>
     * Checks whether a value ends with specified value.<br/><br/></td><td colSpan=1 rowSpan=1>
     * <br/>String<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Contains<br/></td><td colSpan=1 rowSpan=1>
     * Checks whether a value contains with specified value.<br/><br/></td><td colSpan=1 rowSpan=1>
     * <br/>String<br/></td></tr>
     * </table>
     *
     * The default value set to `StartsWith`, all the suggestion items which contain typed characters to listed in the suggestion popup.
     *
     * @default 'StartsWith'
     */
    filterType: FilterType;
    /**
     * specifies the z-index value of the component popup element.
     *
     * @default 1000
     */
    zIndex: number;
    /**
     * ignoreAccent set to true, then ignores the diacritic characters or accents when filtering.
     */
    ignoreAccent: boolean;
    /**
     * Overrides the global culture and localization value for this component. Default global culture is 'en-US'.
     *
     * @default 'en-US'
     */
    locale: string;
    /**
     * Specifies a Boolean value that indicates the whether the grouped list items are
     * allowed to check by checking the group header in checkbox mode.
     * By default, there is no checkbox provided for group headers.
     * This property allows you to render checkbox for group headers and to select
     * all the grouped items at once
     *
     * @default false
     */
    enableGroupCheckBox: boolean;
    /**
     * Sets the CSS classes to root element of this component which helps to customize the
     * complete styles.
     *
     * @default null
     */
    cssClass: string;
    /**
     * Gets or sets the width of the component. By default, it sizes based on its parent.
     * container dimension.
     *
     * @default '100%'
     * @aspType string
     */
    width: string | number;
    /**
     * Gets or sets the height of the popup list. By default it renders based on its list item.
     * > For more details about the popup configuration refer to
     * [`Popup Configuration`](../../multi-select/getting-started/#configure-the-popup-list) documentation.
     *
     * @default '300px'
     * @aspType string
     */
    popupHeight: string | number;
    /**
     * Gets or sets the width of the popup list and percentage values has calculated based on input width.
     * > For more details about the popup configuration refer to
     * [`Popup Configuration`](../../multi-select/getting-started/#configure-the-popup-list) documentation.
     *
     * @default '100%'
     * @aspType string
     */
    popupWidth: string | number;
    /**
     * Gets or sets the placeholder in the component to display the given information
     * in input when no item selected.
     *
     * @default null
     */
    placeholder: string;
    /**
     * Accepts the value to be displayed as a watermark text on the filter bar.
     *
     * @default null
     */
    filterBarPlaceholder: string;
    /**
     * Gets or sets the additional attribute to `HtmlAttributes` property in MultiSelect,
     * which helps to add attribute like title, name etc, input should be key value pair.
     *
     * {% codeBlock src='multiselect/htmlAttributes/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     */
    htmlAttributes: {
        [key: string]: string;
    };
    /**
     * Accepts the template design and assigns it to the selected list item in the input element of the component.
     * For more details about the available template options refer to
     * [`Template`](../../multi-select/templates) documentation.
     *
     * We have built-in `template engine`
     * which provides options to compile template string into a executable function.
     * For EX: We have expression evolution as like ES6 expression string literals.
     *
     * @default null
     */
    valueTemplate: string;
    /**
     * Accepts the template design and assigns it to the header container of the popup list.
     * > For more details about the available template options refer to [`Template`](../../multi-select/templates) documentation.
     *
     * @default null
     */
    headerTemplate: string;
    /**
     * Accepts the template design and assigns it to the footer container of the popup list.
     * > For more details about the available template options refer to [`Template`](../../multi-select/templates) documentation.
     *
     * @default null
     */
    footerTemplate: string;
    /**
     * Accepts the template design and assigns it to each list item present in the popup.
     * > For more details about the available template options refer to [`Template`](../../multi-select/templates) documentation.
     *
     * We have built-in `template engine`
     * which provides options to compile template string into a executable function.
     * For EX: We have expression evolution as like ES6 expression string literals.
     *
     * @default null
     */
    itemTemplate: string;
    /**
     * To enable the filtering option in this component.
     * Filter action performs when type in search box and collect the matched item through `filtering` event.
     * If searching character does not match, `noRecordsTemplate` property value will be shown.
     *
     * {% codeBlock src="multiselect/allow-filtering-api/index.ts" %}{% endcodeBlock %}
     *
     * {% codeBlock src="multiselect/allow-filtering-api/index.html" %}{% endcodeBlock %}
     *
     * @default null
     */
    allowFiltering: boolean;
    /**
     * By default, the multiselect component fires the change event while focus out the component.
     * If you want to fires the change event on every value selection and remove, then disable the changeOnBlur property.
     *
     * @default true
     */
    changeOnBlur: boolean;
    /**
     * Allows user to add a
     * [`custom value`](../../multi-select/custom-value), the value which is not present in the suggestion list.
     *
     * @default false
     */
    allowCustomValue: boolean;
    /**
     * Enables close icon with the each selected item.
     *
     * @default true
     */
    showClearButton: boolean;
    /**
     * Sets limitation to the value selection.
     * based on the limitation, list selection will be prevented.
     *
     * @default 1000
     */
    maximumSelectionLength: number;
    /**
     * Gets or sets the `readonly` to input or not. Once enabled, just you can copy or highlight
     * the text however tab key action will perform.
     *
     * @default false
     */
    readonly: boolean;
    /**
     * Selects the list item which maps the data `text` field in the component.
     *
     * @default null
     */
    text: string;
    /**
     * Selects the list item which maps the data `value` field in the component.
     * {% codeBlock src='multiselect/value/index.md' %}{% endcodeBlock %}
     *
     * @default null
     * @isGenericType true
     */
    value: number[] | string[] | boolean[];
    /**
     * Hides the selected item from the list item.
     *
     * @default true
     */
    hideSelectedItem: boolean;
    /**
     * Based on the property, when item get select popup visibility state will changed.
     *
     * @default true
     */
    closePopupOnSelect: boolean;
    /**
     * configures visibility mode for component interaction.
     *
     * - `Box` - selected items will be visualized in chip.
     *
     * - `Delimiter` - selected items will be visualized in text content.
     *
     * - `Default` - on `focus in` component will act in `box` mode.
     * on `blur` component will act in `delimiter` mode.
     *
     * - `CheckBox` - The 'checkbox' will be visualized in list item.
     *
     * {% codeBlock src="multiselect/visual-mode-api/index.ts" %}{% endcodeBlock %}
     *
     * {% codeBlock src="multiselect/visual-mode-api/index.html" %}{% endcodeBlock %}
     *
     * @default Default
     */
    mode: visualMode;
    /**
     * Sets the delimiter character for 'default' and 'delimiter' visibility modes.
     *
     * @default ','
     */
    delimiterChar: string;
    /**
     * Sets [`case sensitive`](../../multi-select/filtering/#case-sensitive-filtering)
     * option for filter operation.
     *
     * @default true
     */
    ignoreCase: boolean;
    /**
     * Allows you to either show or hide the DropDown button on the component
     *
     * @default false
     */
    showDropDownIcon: boolean;
    /**
     * Specifies whether to display the floating label above the input element.
     * Possible values are:
     * * Never: The label will never float in the input when the placeholder is available.
     * * Always: The floating label will always float above the input.
     * * Auto: The floating label will float above the input after focusing or entering a value in the input.
     *
     * @default Syncfusion.EJ2.Inputs.inputs.FloatLabelType.Never
     * @aspType Syncfusion.EJ2.Inputs.inputs.FloatLabelType
     * @isEnumeration true
     */
    floatLabelType: inputs.FloatLabelType;
    /**
     * Allows you to either show or hide the selectAll option on the component.
     *
     * @default false
     */
    showSelectAll: boolean;
    /**
     * Specifies the selectAllText to be displayed on the component.
     *
     * @default 'select All'
     */
    selectAllText: string;
    /**
     * Specifies the UnSelectAllText to be displayed on the component.
     *
     * @default 'select All'
     */
    unSelectAllText: string;
    /**
     * Reorder the selected items in popup visibility state.
     *
     * @default true
     */
    enableSelectionOrder: boolean;
    /**
     * Whether to automatically open the popup when the control is clicked.
     *
     * @default true
     */
    openOnClick: boolean;
    /**
     * By default, the typed value is converting into chip or update as value of the component when you press the enter key or select from the popup.
     * If you want to convert the typed value into chip or update as value of the component while focusing out the component, then enable this property.
     * If custom value is enabled, both custom value and value present in the list are converted into tag while focusing out the component;
 Otherwise, value present in the list is converted into tag while focusing out the component.
     *
     * @default false
     */
    addTagOnBlur: boolean;
    /**
     * Fires each time when selection changes happened in list items after model and input value get affected.
     *
     * @event change
     */
    change: base.EmitType<MultiSelectChangeEventArgs>;
    /**
     * Fires before the selected item removed from the widget.
     *
     * @event removing
     */
    removing: base.EmitType<RemoveEventArgs>;
    /**
     * Fires after the selected item removed from the widget.
     *
     * @event removed
     */
    removed: base.EmitType<RemoveEventArgs>;
    /**
     * Fires before select all process.
     *
     * @event beforeSelectAll
     * @blazorProperty 'beforeSelectAll'
     */
    beforeSelectAll: base.EmitType<ISelectAllEventArgs>;
    /**
     * Fires after select all process completion.
     *
     * @event selectedAll
     */
    selectedAll: base.EmitType<ISelectAllEventArgs>;
    /**
     * Fires when popup opens before animation.
     *
     * @event beforeOpen
     */
    beforeOpen: base.EmitType<Object>;
    /**
     * Fires when popup opens after animation completion.
     *
     * @event open
     */
    open: base.EmitType<PopupEventArgs>;
    /**
     * Fires when popup close after animation completion.
     *
     * @event close
     */
    close: base.EmitType<PopupEventArgs>;
    /**
     * Event triggers when the input get focus-out.
     *
     * @event blur
     */
    blur: base.EmitType<Object>;
    /**
     * Event triggers when the input get focused.
     *
     * @event focus
     */
    focus: base.EmitType<Object>;
    /**
     * Event triggers when the chip selection.
     *
     * @event chipSelection
     */
    chipSelection: base.EmitType<Object>;
    /**
     * Triggers event,when user types a text in search box.
     * > For more details about filtering, refer to [`Filtering`](../../multi-select/filtering) documentation.
     *
     * @event filtering
     */
    filtering: base.EmitType<FilteringEventArgs>;
    /**
     * Fires before set the selected item as chip in the component.
     * > For more details about chip customization refer [`Chip Customization`](../../multi-select/chip-customization)
     *
     * @event tagging
     */
    tagging: base.EmitType<TaggingEventArgs>;
    /**
     * Triggers when the [`customValue`](../../multi-select/custom-value) is selected.
     *
     * @event customValueSelection
     */
    customValueSelection: base.EmitType<CustomValueEventArgs>;
    /**
     * Constructor for creating the DropDownList widget.
     *
     * @param {MultiSelectModel} option - Specifies the MultiSelect model.
     * @param {string | HTMLElement} element - Specifies the element to render as component.
     * @private
     */
    constructor(option?: MultiSelectModel, element?: string | HTMLElement);
    private isValidKey;
    private mainList;
    ulElement: HTMLElement;
    private mainData;
    private mainListCollection;
    private customValueFlag;
    private inputElement;
    private componentWrapper;
    private overAllWrapper;
    private searchWrapper;
    private viewWrapper;
    private chipCollectionWrapper;
    private overAllClear;
    private dropIcon;
    private hiddenElement;
    private delimiterWrapper;
    private popupObj;
    private inputFocus;
    private header;
    private footer;
    private initStatus;
    private popupWrapper;
    private keyCode;
    private beforePopupOpen;
    private remoteCustomValue;
    private filterAction;
    private remoteFilterAction;
    private selectAllEventData;
    private selectAllEventEle;
    private filterParent;
    private removeIndex;
    private enableRTL;
    requiredModules(): base.ModuleDeclaration[];
    private updateHTMLAttribute;
    private updateReadonly;
    private updateClearButton;
    private updateCssClass;
    private updateOldPropCssClass;
    private onPopupShown;
    private updateListItems;
    private loadTemplate;
    private setScrollPosition;
    private focusAtFirstListItem;
    private focusAtLastListItem;
    protected getAriaAttributes(): {
        [key: string]: string;
    };
    private updateListARIA;
    private ensureAriaDisabled;
    private removelastSelection;
    protected onActionFailure(e: Object): void;
    protected targetElement(): string;
    private getForQuery;
    protected onActionComplete(ulElement: HTMLElement, list: {
        [key: string]: Object;
    }[] | number[] | boolean[] | string[], e?: Object, isUpdated?: boolean): void;
    private updateActionList;
    private refreshSelection;
    private hideGroupItem;
    protected getValidLi(): HTMLElement;
    private checkSelectAll;
    private openClick;
    private keyUp;
    /**
     * To filter the multiselect data from given data source by using query
     *
     * @param  {Object[] | data.DataManager } dataSource - Set the data source to filter.
     * @param  {data.Query} query - Specify the query to filter the data.
     * @param  {FieldSettingsModel} fields - Specify the fields to map the column in the data table.
     * @returns {void}
     */
    filter(dataSource: {
        [key: string]: Object;
    }[] | data.DataManager | string[] | number[] | boolean[], query?: data.Query, fields?: FieldSettingsModel): void;
    protected getQuery(query: data.Query): data.Query;
    private dataUpdater;
    private tempQuery;
    private tempValues;
    private checkForCustomValue;
    protected getNgDirective(): string;
    private wrapperClick;
    private enable;
    private scrollFocusStatus;
    private keyDownStatus;
    private onBlurHandler;
    private checkPlaceholderSize;
    private setPlaceholderSize;
    private refreshInputHight;
    private validateValues;
    private updateValueState;
    private updateTempValue;
    private getPagingCount;
    private pageUpSelection;
    private pageDownSelection;
    getItems(): Element[];
    private focusInHandler;
    private showDelimWrapper;
    private hideDelimWrapper;
    private expandTextbox;
    private isPopupOpen;
    private refreshPopup;
    private checkTextLength;
    private popupKeyActions;
    private updateAriaAttribute;
    private homeNavigation;
    private onKeyDown;
    private arrowDown;
    private arrowUp;
    private spaceKeySelection;
    private checkBackCommand;
    private keyNavigation;
    private selectByKey;
    private escapeAction;
    private scrollBottom;
    private scrollTop;
    private selectListByKey;
    private refreshListItems;
    private removeSelectedChip;
    private moveByTop;
    private moveByList;
    private updateCheck;
    private moveBy;
    private chipClick;
    private removeChipSelection;
    private addChipSelection;
    private onChipRemove;
    private makeTextBoxEmpty;
    private refreshPlaceHolder;
    private removeAllItems;
    private invokeCheckboxSelection;
    private removeValue;
    private updateMainList;
    private removeChip;
    private setWidth;
    private updateChipStatus;
    private addValue;
    private checkMaxSelection;
    private dispatchSelect;
    private addChip;
    private removeChipFocus;
    private onMobileChipInteraction;
    private multiCompiler;
    private getChip;
    private calcPopupWidth;
    private mouseIn;
    private mouseOut;
    protected listOption(dataSource: {
        [key: string]: Object;
    }[], fields: FieldSettingsModel): FieldSettingsModel;
    private renderPopup;
    private setHeaderTemplate;
    private setFooterTemplate;
    private clearAll;
    private clearAllCallback;
    private windowResize;
    private resetValueHandler;
    protected wireEvent(): void;
    private onInput;
    private pasteHandler;
    protected search(e: base.KeyboardEventArgs): void;
    protected preRender(): void;
    protected getLocaleName(): string;
    private initializeData;
    private updateData;
    private initialTextUpdate;
    protected renderList(isEmptyData?: boolean): void;
    private initialValueUpdate;
    protected updateActionCompleteData(li: HTMLElement, item: {
        [key: string]: Object;
    }): void;
    protected updateAddItemList(list: HTMLElement, itemCount: number): void;
    protected updateDataList(): void;
    protected isValidLI(li: Element | HTMLElement): boolean;
    protected updateListSelection(li: Element, e: MouseEvent | base.KeyboardEventArgs, length?: number): void;
    private updateListSelectEventCallback;
    protected removeListSelection(): void;
    private removeHover;
    private removeFocus;
    private addListHover;
    private addListFocus;
    private addListSelection;
    private updateDelimeter;
    private onMouseClick;
    private findGroupStart;
    private findGroupAttrtibutes;
    private updateCheckBox;
    private deselectHeader;
    private onMouseOver;
    private onMouseLeave;
    private onListMouseDown;
    private onDocumentClick;
    private wireListEvents;
    private unwireListEvents;
    private hideOverAllClear;
    private showOverAllClear;
    /**
     * Sets the focus to widget for interaction.
     *
     * @returns {void}
     */
    focusIn(): void;
    /**
     * Remove the focus from widget, if the widget is in focus state.
     *
     * @returns {void}
     */
    focusOut(): void;
    /**
     * Shows the spinner loader.
     *
     * @returns {void}
     */
    showSpinner(): void;
    /**
     * Hides the spinner loader.
     *
     * @returns {void}
     */
    hideSpinner(): void;
    protected updateWrapperText(wrapperType: HTMLElement, wrapperData: string): void;
    private updateDelimView;
    private checkClearIconWidth;
    private updateRemainWidth;
    private updateRemainTemplate;
    private updateRemainingText;
    private getOverflowVal;
    private unWireEvent;
    private selectAllItem;
    private updateValue;
    private updateHiddenElement;
    private updatedataValueItems;
    private textboxValueUpdate;
    protected setZIndex(): void;
    protected updateDataSource(prop?: MultiSelectModel): void;
    private onLoadSelect;
    protected selectAllItems(state: boolean, event?: MouseEvent): void;
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @returns {string} Returns the persisted data of the component.
     */
    protected getPersistData(): string;
    /**
     * Dynamically change the value of properties.
     *
     * @param {MultiSelectModel} newProp - Returns the dynamic property value of the component.
     * @param {MultiSelectModel} oldProp - Returns the previous property value of the component.
     * @private
     * @returns {void}
     */
    onPropertyChanged(newProp: MultiSelectModel, oldProp: MultiSelectModel): void;
    private reInitializePoup;
    private presentItemValue;
    private addNonPresentItems;
    private updateVal;
    /**
     * Adds a new item to the multiselect popup list. By default, new item appends to the list as the last item,
     * but you can insert based on the index parameter.
     *
     * @param  { Object[] } items - Specifies an array of JSON data or a JSON data.
     * @param { number } itemIndex - Specifies the index to place the newly added item in the popup list.
     * @returns {void}
     */
    addItem(items: {
        [key: string]: Object;
    }[] | {
        [key: string]: Object;
    } | string | boolean | number | string[] | boolean[] | number[], itemIndex?: number): void;
    /**
     * Hides the popup, if the popup in a open state.
     *
     * @returns {void}
     */
    hidePopup(e?: MouseEvent | base.KeyboardEventArgs): void;
    /**
     * Shows the popup, if the popup in a closed state.
     *
     * @returns {void}
     */
    showPopup(e?: MouseEvent | base.KeyboardEventArgs | TouchEvent): void;
    /**
     * Based on the state parameter, entire list item will be selected/deselected.
     * parameter
     * `true`   - Selects entire list items.
     * `false`  - Un Selects entire list items.
     *
     * @param {boolean} state - if it’s true then Selects the entire list items. If it’s false the Unselects entire list items.
     * @returns {void}
     */
    selectAll(state: boolean): void;
    /**
     * Return the module name of this component.
     *
     * @private
     * @returns {string} Return the module name of this component.
     */
    getModuleName(): string;
    /**
     * Allows you to clear the selected values from the Multiselect component.
     *
     * @returns {void}
     */
    clear(): void;
    /**
     * To Initialize the control rendering
     *
     * @private
     * @returns {void}
     */
    render(): void;
    private checkInitialValue;
    private checkAutoFocus;
    private setFloatLabelType;
    private addValidInputClass;
    private dropDownIcon;
    private initialUpdate;
    /**
     * Removes the component from the DOM and detaches all its related event handlers. Also it removes the attributes and classes.
     *
     * @method destroy
     * @returns {void}
     */
    destroy(): void;
}
export interface CustomValueEventArgs {
    /**
     * Gets the newly added data.
     *
     */
    newData: Object;
    /**
     * Illustrates whether the current action needs to be prevented or not.
     */
    cancel: boolean;
}
export interface TaggingEventArgs {
    /**
     * If the event is triggered by interaction, it returns true. Otherwise, it returns false.
     */
    isInteracted: boolean;
    /**
     * Returns the selected item as JSON Object from the data source.
     *
     */
    itemData: FieldSettingsModel;
    /**
     * Specifies the original event arguments.
     */
    e: MouseEvent | KeyboardEvent | TouchEvent;
    /**
     * To set the classes to chip element
     *
     * @param  { string } classes - Specify the classes to chip element.
     * @returns {void}
     */
    setClass: Function;
    /**
     * Illustrates whether the current action needs to be prevented or not.
     */
    cancel: boolean;
}
export interface MultiSelectChangeEventArgs {
    /**
     * If the event is triggered by interaction, it returns true. Otherwise, it returns false.
     */
    isInteracted: boolean;
    /**
     * Returns the component initial Value.
     *
     * @isGenericType true
     */
    oldValue: number[] | string[] | boolean[];
    /**
     * Returns the updated component Values.
     *
     * @isGenericType true
     */
    value: number[] | string[] | boolean[];
    /**
     * Specifies the original event arguments.
     */
    e: MouseEvent | KeyboardEvent | TouchEvent;
    /**
     * Returns the root element of the component.
     */
    element: HTMLElement;
    /**
     * Specifies the original event arguments.
     */
    event: MouseEvent | KeyboardEvent | TouchEvent;
}
export  type visualMode = 'Default' | 'Delimiter' | 'Box' | 'CheckBox';
export interface ISelectAllEventArgs {
    /**
     * If the event is triggered by interaction, it returns true. Otherwise, it returns false.
     */
    isInteracted: boolean;
    /**
     * Returns the selected list items.
     */
    items: HTMLLIElement[];
    /**
     * Returns the selected items as JSON Object from the data source.
     *
     */
    itemData: FieldSettingsModel[];
    /**
     * Specifies the original event arguments.
     */
    event: MouseEvent | KeyboardEvent | TouchEvent;
    /**
     * Specifies whether it is selectAll or deSelectAll.
     */
    isChecked?: boolean;
    /**
     * Specifies whether the select event is fired.
     */
    preventSelectEvent?: boolean;
}
 }
export namespace excelExport { 

//node_modules/@syncfusion/ej2-excel-export/src/auto-filters.d.ts
/**
 * AutoFilters class
 * @private
 */
export  class AutoFilters {
    row: number;
    column: number;
    lastRow: number;
    lastColumn: number;
}
//node_modules/@syncfusion/ej2-excel-export/src/blob-helper.d.ts
/**
 * BlobHelper class
 * @private
 */
export  class BlobHelper {
    private parts;
    private blob;
    append(part: any): void;
    getBlob(): Blob;
}
//node_modules/@syncfusion/ej2-excel-export/src/cell-style.d.ts
/**
 * CellStyle class
 * @private
 */
export  class CellStyle {
    name: string;
    index: number;
    backColor: string;
    numFmtId: number;
    borders: Borders;
    fontName: string;
    fontSize: number;
    fontColor: string;
    italic: boolean;
    bold: boolean;
    hAlign: HAlignType;
    indent: number;
    rotation: number;
    vAlign: VAlignType;
    underline: boolean;
    strikeThrough: boolean;
    wrapText: boolean;
    numberFormat: string;
    type: string;
    isGlobalStyle: boolean;
    constructor();
}
/**
 * Font Class
 * @private
 */
export  class Font {
    b: boolean;
    i: boolean;
    u: boolean;
    sz: number;
    name: string;
    color: string;
    strike: boolean;
    constructor();
}
/**
 * CellXfs class
 * @private
 */
export  class CellXfs {
    numFmtId: number;
    fontId: number;
    fillId: number;
    borderId: number;
    xfId: number;
    applyAlignment: number;
    alignment: Alignment;
}
/**
 * Alignment class
 * @private
 */
export  class Alignment {
    horizontal: string;
    vertical: string;
    wrapText: number;
    indent: number;
    rotation: number;
}
/**
 * CellStyleXfs class
 * @private
 */
export  class CellStyleXfs {
    numFmtId: number;
    fontId: number;
    fillId: number;
    borderId: number;
    alignment: Alignment;
}
/**
 * CellStyles class
 * @private
 */
export  class CellStyles {
    name: string;
    xfId: number;
    constructor();
}
/**
 * NumFmt class
 * @private
 */
export  class NumFmt {
    numFmtId: number;
    formatCode: string;
    constructor();
    constructor(id: number, code: string);
}
/**
 * Border class
 * @private
 */
export  class Border {
    lineStyle: LineStyle;
    color: string;
    constructor();
    constructor(mLine: LineStyle, mColor: string);
}
/**
 * Borders class
 * @private
 */
export  class Borders {
    left: Border;
    right: Border;
    bottom: Border;
    top: Border;
    all: Border;
    constructor();
}
//node_modules/@syncfusion/ej2-excel-export/src/cell.d.ts
/**
 * Worksheet class
 * @private
 */
export  class Cell {
    index: number;
    rowSpan: number;
    colSpan: number;
    value: string | Date | number | boolean;
    formula: string;
    cellStyle: CellStyle;
    styleIndex: number;
    sharedStringIndex: number;
    saveType: string;
    type: string;
    refName: string;
}
/**
 * Cells class
 * @private
 */
export  class Cells extends Array {
    add: (cell: Cell) => void;
}
//node_modules/@syncfusion/ej2-excel-export/src/column.d.ts
/**
 * Column class
 * @private
 */
export  class Column {
    index: number;
    width: number;
}
//node_modules/@syncfusion/ej2-excel-export/src/csv-helper.d.ts
/**
 * CsvHelper class
 * @private
 */
export  class CsvHelper {
    private isMicrosoftBrowser;
    private buffer;
    private csvStr;
    private formatter;
    private globalStyles;
    private isServerRendered;
    private separator;
    constructor(json: any, separator: string);
    private parseWorksheet;
    private parseRows;
    private parseRow;
    private parseCell;
    private parseCellValue;
    /**
     * Saves the file with specified name and sends the file to client browser
     * @param  {string} fileName- file name to save.
     * @param  {Blob} buffer- the content to write in file
     */
    save(fileName: string): void;
    saveAsBlob(): Blob;
}
//node_modules/@syncfusion/ej2-excel-export/src/enum.d.ts
/**
 * LineStyle
 */
export  type LineStyle = 'thin' | 'thick' | 'medium' | 'none';
/**
 * HAlignType
 */
export  type HAlignType = 'center ' | 'justify' | 'left' | 'right' | 'general';
/**
 * VAlignType
 */
export  type VAlignType = 'bottom' | 'center' | 'top';
/**
 * HyperLinkType
 */
export  type HyperLinkType = 'none' | 'url' | 'file' | 'unc' | 'workbook';
/**
 * SaveType
 */
export  type SaveType = 'xlsx' | 'csv';
/**
 * CellType
 * @private
 */
export  type CellType = 
/**
 * Cell containing a boolean.
 */
'b' | 
/**
 * Cell containing an error.
 */
'e' | 
/**
 * Cell containing an (inline) rich string.
 */
'inlineStr' | 
/**
 * Cell containing a number.
 */
'n' | 
/**
 * Cell containing a shared string.
 */
's' | 
/**
 * Cell containing a formula string.
 */
'str' | 
/**
 * Cell containing a formula.
 */
'f';
/**
 * BlobSaveType
 */
export  type BlobSaveType = 
/**
 * MIME Type for .csv file
 */
'text/csv' | 
/**
 * MIME Type for .xlsx file
 */
'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';
//node_modules/@syncfusion/ej2-excel-export/src/image.d.ts
/**
 * Image class
 * @private
 */
export  class Image {
    image: string;
    row: number;
    column: number;
    lastRow: number;
    lastColumn: number;
    width: number;
    height: number;
    horizontalFlip: boolean;
    verticalFlip: boolean;
    rotation: number;
    lastRowOffset: number;
    lastColOffset: number;
}
//node_modules/@syncfusion/ej2-excel-export/src/index.d.ts
/**
 * index class
 */
//node_modules/@syncfusion/ej2-excel-export/src/row.d.ts
/**
 * Row class
 * @private
 */
export  class Row {
    height: number;
    index: number;
    cells: Cells;
    spans: string;
    grouping: Grouping;
}
/**
 * Rows class
 * @private
 */
export  class Rows extends Array {
    add: (row: Row) => void;
}
//node_modules/@syncfusion/ej2-excel-export/src/value-formatter.d.ts
/**
 * ValueFormatter class to globalize the value.
 * @private
 */
export  class ValueFormatter {
    private intl;
    constructor(cultureName?: string);
    getFormatFunction(format: base.NumberFormatOptions | base.DateFormatOptions, isServerRendered: boolean): Function;
    toView(value: number | Date, format: Function): string | Object;
    displayText(value: any, format: base.NumberFormatOptions | base.DateFormatOptions, isServerRendered: boolean): string;
}
//node_modules/@syncfusion/ej2-excel-export/src/workbook.d.ts
/**
 * Workbook class
 */
export  class Workbook {
    private mArchive;
    private sharedString;
    private sharedStringCount;
    cellStyles: Map<string, CellStyles>;
    mergedCellsStyle: Map<string, {
        x: number;
        y: number;
        styleIndex: number;
    }>;
    private worksheets;
    private builtInProperties;
    private mFonts;
    private mBorders;
    private mFills;
    private mNumFmt;
    private mStyles;
    private mCellXfs;
    private mCellStyleXfs;
    private mergeCells;
    private csvHelper;
    private mSaveType;
    private mHyperLinks;
    private unitsProportions;
    private hyperlinkStyle;
    private printTitles;
    private culture;
    private currency;
    private intl;
    private globalStyles;
    private rgbColors;
    private drawingCount;
    private imageCount;
    constructor(json: any, saveType: SaveType, culture?: string, currencyString?: string, separator?: string);
    private parserBuiltInProperties;
    private parserWorksheets;
    private mergeOptions;
    private applyProperties;
    private getCellName;
    private getColumnName;
    private parserPrintTitle;
    private parserFreezePanes;
    private parserColumns;
    private parserRows;
    private insertMergedCellsStyle;
    private createCell;
    private parserRow;
    private parseGrouping;
    private parseCells;
    private GetColors;
    private processColor;
    private processCellValue;
    private applyGlobalStyle;
    private parserCellStyle;
    private switchNumberFormat;
    private getNumberFormat;
    private parserBorder;
    private processCellStyle;
    private processNumFormatId;
    private isNewFont;
    private isNewBorder;
    private isAllBorder;
    private compareStyle;
    private contains;
    private getCellValueType;
    private parseCellType;
    private parserImages;
    private parseFilters;
    private parserImage;
    saveAsBlob(blobSaveType: BlobSaveType): Promise<{
        blobData: Blob;
    }>;
    save(fileName: string, proxyUrl?: string): void;
    private saveInternal;
    private saveWorkbook;
    private saveWorksheets;
    private saveWorksheet;
    private saveDrawings;
    private updatelastRowOffset;
    private updatelastColumnOffSet;
    private convertToPixels;
    private convertBase64toImage;
    private saveDrawingRelations;
    private pixelsToColumnWidth;
    private ColumnWidthToPixels;
    private trunc;
    private pixelsToRowHeight;
    private saveSheetRelations;
    private saveSheetView;
    private saveSharedString;
    private processString;
    private saveStyles;
    private updateCellXfsStyleXfs;
    private saveNumberFormats;
    private saveFonts;
    private saveFills;
    private saveBorders;
    private saveCellStyles;
    private saveCellStyleXfs;
    private saveCellXfs;
    private saveAlignment;
    private saveApp;
    private saveCore;
    private saveTopLevelRelation;
    private saveWorkbookRelation;
    private saveContentType;
    private addToArchive;
    private processMergeCells;
    private updatedMergedCellStyles;
    /**
     * Returns the tick count corresponding to the given year, month, and day.
     * @param year number value of year
     * @param month number value of month
     * @param day number value of day
     */
    private dateToTicks;
    /**
     * Return the tick count corresponding to the given hour, minute, second.
     * @param hour number value of hour
     * @param minute number value if minute
     * @param second number value of second
     */
    private timeToTicks;
    /**
     * Checks if given year is a leap year.
     * @param year Year value.
     */
    isLeapYear(year: number): boolean;
    /**
     * Converts `DateTime` to the equivalent OLE Automation date.
     */
    private toOADate;
}
/**
 * BuiltInProperties Class
 * @private
 */
export  class BuiltInProperties {
    author: string;
    comments: string;
    category: string;
    company: string;
    manager: string;
    subject: string;
    title: string;
    createdDate: Date;
    modifiedDate: Date;
    tags: string;
    status: string;
}
//node_modules/@syncfusion/ej2-excel-export/src/worksheet.d.ts
/**
 * Worksheet class
 * @private
 */
export  class Worksheet {
    isSummaryRowBelow: boolean;
    index: number;
    columns: Column[];
    rows: Rows;
    freezePanes: FreezePane;
    name: string;
    showGridLines: boolean;
    mergeCells: MergeCells;
    hyperLinks: HyperLink[];
    images: Image[];
    enableRtl: boolean;
    autoFilters: AutoFilters;
}
/**
 * Hyperlink class
 * @private
 */
export  class HyperLink {
    ref: string;
    rId: number;
    toolTip: string;
    location: string;
    display: string;
    target: string;
    type: HyperLinkType;
}
/**
 * Grouping class
 * @private
 */
export  class Grouping {
    outlineLevel: number;
    isCollapsed: boolean;
    isHidden: boolean;
}
/**
 * FreezePane class
 * @private
 */
export  class FreezePane {
    row: number;
    column: number;
    leftCell: string;
}
/**
 * MergeCell
 * @private
 */
export  class MergeCell {
    ref: string;
    x: number;
    width: number;
    y: number;
    height: number;
}
/**
 * MergeCells class
 * @private
 */
export  class MergeCells extends Array {
    add: (mergeCell: MergeCell) => MergeCell;
    static isIntersecting(base: MergeCell, compare: MergeCell): boolean;
}
//node_modules/@syncfusion/ej2-excel-export/src/worksheets.d.ts
/**
 * Worksheets class
 * @private
 */
export  class Worksheets extends Array<Worksheet> {
}
 }
export namespace fileUtils { 

//node_modules/@syncfusion/ej2-file-utils/src/encoding.d.ts
/**
 * Encoding class: Contains the details about encoding type, whether to write a Unicode byte order mark (BOM).
 * ```typescript
 * let encoding : Encoding = new Encoding();
 * encoding.type = 'Utf8';
 * encoding.getBytes('Encoding', 0, 5);
 * ```
 */
export  class Encoding {
    private emitBOM;
    private encodingType;
    /**
     * Gets a value indicating whether to write a Unicode byte order mark
     * @returns boolean- true to specify that a Unicode byte order mark is written;
 otherwise, false
     */
    readonly includeBom: boolean;
    /**
     * Gets the encoding type.
     * @returns EncodingType
     */
    /**
    * Sets the encoding type.
    * @param  {EncodingType} value
    */
    type: EncodingType;
    /**
     * Initializes a new instance of the Encoding class. A parameter specifies whether to write a Unicode byte order mark
     * @param  {boolean} includeBom?-true to specify that a Unicode byte order mark is written;
 otherwise, false.
     */
    constructor(includeBom?: boolean);
    /**
     * Initialize the includeBom to emit BOM or Not
     * @param  {boolean} includeBom
     */
    private initBOM;
    /**
     * Calculates the number of bytes produced by encoding the characters in the specified string
     * @param  {string} chars - The string containing the set of characters to encode
     * @returns {number} - The number of bytes produced by encoding the specified characters
     */
    getByteCount(chars: string): number;
    /**
     * Return the Byte of character
     * @param  {number} codePoint
     * @returns {number}
     */
    private utf8Len;
    /**
     * for 4 byte character return surrogate pair true, otherwise false
     * @param  {number} codeUnit
     * @returns {boolean}
     */
    private isHighSurrogate;
    /**
     * for 4byte character generate the surrogate pair
     * @param  {number} highCodeUnit
     * @param  {number} lowCodeUnit
     */
    private toCodepoint;
    /**
     * private method to get the byte count for specific charindex and count
     * @param  {string} chars
     * @param  {number} charIndex
     * @param  {number} charCount
     */
    private getByteCountInternal;
    /**
     * Encodes a set of characters from the specified string into the ArrayBuffer.
     * @param  {string} s- The string containing the set of characters to encode
     * @param  {number} charIndex-The index of the first character to encode.
     * @param  {number} charCount- The number of characters to encode.
     * @returns {ArrayBuffer} - The ArrayBuffer that contains the resulting sequence of bytes.
     */
    getBytes(s: string, charIndex: number, charCount: number): ArrayBuffer;
    /**
     * Decodes a sequence of bytes from the specified ArrayBuffer into the string.
     * @param  {ArrayBuffer} bytes- The ArrayBuffer containing the sequence of bytes to decode.
     * @param  {number} index- The index of the first byte to decode.
     * @param  {number} count- The number of bytes to decode.
     * @returns {string} - The string that contains the resulting set of characters.
     */
    getString(bytes: ArrayBuffer, index: number, count: number): string;
    private getBytesOfAnsiEncoding;
    private getBytesOfUtf8Encoding;
    private getBytesOfUnicodeEncoding;
    private getStringOfUtf8Encoding;
    private getStringofUnicodeEncoding;
    /**
     * To clear the encoding instance
     * @return {void}
     */
    destroy(): void;
}
/**
 * EncodingType : Specifies the encoding type
 */
export  type EncodingType = 
/**
 * Specifies the Ansi encoding
 */
'Ansi' | 
/**
 * Specifies the utf8 encoding
 */
'Utf8' | 
/**
 * Specifies the Unicode encoding
 */
'Unicode';
/**
 * To check the object is null or undefined and throw error if it is null or undefined
 * @param {Object} value - object to check is null or undefined
 * @return {boolean}
 * @throws {ArgumentException} - if the value is null or undefined
 * @private
 */
export  function validateNullOrUndefined(value: Object, message: string): void;
//node_modules/@syncfusion/ej2-file-utils/src/index.d.ts
/**
 * file utils modules
 */
//node_modules/@syncfusion/ej2-file-utils/src/save.d.ts
/**
 * Save class provide method to save file
 * ```typescript
 * let blob : Blob = new Blob([''], { type: 'text/plain' });
 * Save.save('fileName.txt',blob);
 */
export  class Save {
    static isMicrosoftBrowser: boolean;
    /**
     * Initialize new instance of {save}
     */
    constructor();
    /**
     * Saves the file with specified name and sends the file to client browser
     * @param  {string} fileName- file name to save.
     * @param  {Blob} buffer- the content to write in file
     * @param  {boolean} isMicrosoftBrowser- specify whether microsoft browser or not
     * @returns {void}
     */
    static save(fileName: string, buffer: Blob): void;
    private static saveInternal;
    /**
     *
     * @param {string} extension - get mime type of the specified extension
     * @private
     */
    static getMimeType(extension: string): string;
}
//node_modules/@syncfusion/ej2-file-utils/src/stream-writer.d.ts
/**
 * StreamWriter class contains the implementation for writing characters to a file in a particular encoding
 * ```typescript
 * let writer = new StreamWriter();
 * writer.write('Hello World');
 * writer.save('Sample.txt');
 * writer.dispose();
 * ```
 */
export  class StreamWriter {
    private bufferBlob;
    private bufferText;
    private enc;
    /**
     * Gets the content written to the StreamWriter as Blob.
     * @returns Blob
     */
    readonly buffer: Blob;
    /**
     * Gets the encoding.
     * @returns Encoding
     */
    readonly encoding: Encoding;
    /**
     * Initializes a new instance of the StreamWriter class by using the specified encoding.
     * @param  {Encoding} encoding?- The character encoding to use.
     */
    constructor(encoding?: Encoding);
    private init;
    /**
     * Private method to set Byte Order Mark(BOM) value based on EncodingType
     */
    private setBomByte;
    /**
     * Saves the file with specified name and sends the file to client browser
     * @param  {string} fileName - The file name to save
     * @returns {void}
     */
    save(fileName: string): void;
    /**
     * Writes the specified string.
     * @param  {string} value - The string to write. If value is null or undefined, nothing is written.
     * @returns {void}
     */
    write(value: string): void;
    private flush;
    /**
     * Writes the specified string followed by a line terminator
     * @param  {string} value - The string to write. If value is null or undefined, nothing is written
     * @returns {void}
     */
    writeLine(value: string): void;
    /**
     * Releases the resources used by the StreamWriter
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-file-utils/src/xml-writer.d.ts
/**
 * specifies current write state of XmlWriter
 */
export  type XmlWriteState = 'Initial' | 'StartDocument' | 'EndDocument' | 'StartElement' | 'EndElement' | 'ElementContent';
/**
 * specifies namespace kind
 */
export  type NamespaceKind = 'Written' | 'NeedToWrite' | 'Implied' | 'Special';
/**
 * XmlWriter class provide method to create XML data
 */
export  class XmlWriter {
    private bufferText;
    private bufferBlob;
    private currentState;
    private namespaceStack;
    private elementStack;
    private contentPos;
    private attributeStack;
    /**
     * Gets the content written to the {XmlWriter} as Blob.
     * @returns {Blob}
     */
    readonly buffer: Blob;
    /**
     * Initialize new instance of {XmlWriter}
     */
    constructor();
    /**
     * Writes processing instruction with a space between the name and text
     * @param {string} name - name of the processing instruction
     * @param {string} text - text to write in the processing instruction
     * @throws ArgumentException
     * @throws InvalidArgumentException
     * @throws InvalidOperationException
     */
    writeProcessingInstruction(name: string, text: string): void;
    /**
     * Writes Xml declaration with version and standalone attribute
     * @param {boolean} standalone - if true it write standalone=yes else standalone=no
     * @throws InvalidOperation
     */
    writeStartDocument(standalone?: boolean): void;
    /**
     * Closes any open tag or attribute and write the state back to start
     */
    writeEndDocument(): void;
    /**
     * Writes the specified start tag and associates it with the given namespace and prefix.
     * @param {string} prefix - namespace prefix of element
     * @param {string} localName -localName of element
     * @param {string} namespace - namespace URI associate with element
     * @throws ArgumentException
     * @throws InvalidOperationException
     */
    writeStartElement(prefix: string, localName: string, namespace: string): void;
    /**
     * Closes one element and pop corresponding namespace scope
     */
    writeEndElement(): void;
    /**
     * Writes an element with the specified prefix, local name, namespace URI, and value.
     * @param {string} prefix - namespace prefix of element
     * @param {string} localName - localName of element
     * @param {string} namespace - namespace URI associate with element
     * @param {string} value - value of element
     */
    writeElementString(prefix: string, localName: string, namespace: string, value: string): void;
    /**
     * Writes out the attribute with the specified prefix, local name, namespace URI, and value
     * @param {string} prefix - namespace prefix of element
     * @param {string} localName - localName of element
     * @param {string} namespace - namespace URI associate with element
     * @param {string} value - value of element
     */
    writeAttributeString(prefix: string, localName: string, namespace: string, value: string): void;
    /**
     * Writes the given text content
     * @param {string} text - text to write
     * @throws InvalidOperationException
     */
    writeString(text: string): void;
    /**
     * Write given text as raw data
     * @param {string} text - text to write
     * @throws InvalidOperationException
     */
    writeRaw(text: string): void;
    private writeInternal;
    /**
     * Saves the file with specified name and sends the file to client browser
     * @param {string} fileName - file name
     */
    save(fileName: string): void;
    /**
     * Releases the resources used by XmlWriter.
     */
    destroy(): void;
    private flush;
    private writeProcessingInstructionInternal;
    private writeStartAttribute;
    private writeStartAttributePrefixAndNameSpace;
    private writeStartAttributeSpecialAttribute;
    private writeEndAttribute;
    private writeStartElementInternal;
    private writeEndElementInternal;
    private writeStartAttributeInternal;
    private writeNamespaceDeclaration;
    private writeStartNamespaceDeclaration;
    private writeStringInternal;
    private startElementContent;
    private rawText;
    private addNamespace;
    private lookupPrefix;
    private lookupNamespace;
    private lookupNamespaceIndex;
    private pushNamespaceImplicit;
    private pushNamespaceExplicit;
    private addAttribute;
    private skipPushAndWrite;
    private checkName;
}
/**
 * class for managing namespace collection
 */
export  class Namespace {
    /**
     * specifies namespace's prefix
     */
    prefix: string;
    /**
     * specifies namespace URI
     */
    namespaceUri: string;
    /**
     * specifies namespace kind
     */
    kind: NamespaceKind;
    /**
     * set value for current namespace instance
     * @param {string} prefix namespace's prefix
     * @param {string} namespaceUri namespace URI
     * @param {string} kind namespace kind
     */
    set(prefix: string, namespaceUri: string, kind: NamespaceKind): void;
    /**
     * Releases the resources used by Namespace
     */
    destroy(): void;
}
/**
 * class for managing element collection
 */
export  class XmlElement {
    /**
     * specifies previous namespace top
     */
    previousTop: number;
    /**
     * specifies element prefix
     */
    prefix: string;
    /**
     * specifies element localName
     */
    localName: string;
    /**
     * specified namespace URI
     */
    namespaceUri: string;
    /**
     * set value of current element
     * @param {string} prefix - element prefix
     * @param {string} localName - element local name
     * @param {string} namespaceUri -namespace URI
     * @param {string} previousTop - previous namespace top
     */
    set(prefix: string, localName: string, namespaceUri: string, previousTop: number): void;
    /**
     * Releases the resources used by XmlElement
     */
    destroy(): void;
}
/**
 * class for managing attribute collection
 */
export  class XmlAttribute {
    /**
     * specifies namespace's prefix
     */
    prefix: string;
    /**
     * specifies namespace URI
     */
    namespaceUri: string;
    /**
     * specifies attribute local name
     */
    localName: string;
    /**
     * set value of current attribute
     * @param {string} prefix - namespace's prefix
     * @param {string} namespaceUri - namespace URI
     * @param {string} localName - attribute localName
     */
    set(prefix: string, localName: string, namespaceUri: string): void;
    /**
     * get whether the attribute is duplicate or not
     * @param {string} prefix - namespace's prefix
     * @param {string} namespaceUri - namespace URI
     * @param {string} localName - attribute localName
     */
    isDuplicate(prefix: string, localName: string, namespaceUri: string): boolean;
    /**
     * Releases the resources used by XmlAttribute
     */
    destroy(): void;
}
 }
export namespace filemanager { 

//node_modules/@syncfusion/ej2-filemanager/src/file-manager/actions/breadcrumb-bar.d.ts
/**
 * BreadCrumbBar module
 */
export  class BreadCrumbBar {
    private parent;
    addressPath: string;
    addressBarLink: string;
    searchObj: inputs.TextBox;
    private subMenuObj;
    private keyboardModule;
    private searchTimer;
    private keyConfigs;
    private searchWrapWidth;
    /**
     * constructor for addressbar module
     *
     * @hidden
     * @param {IFileManager} parent - specifies parent element.
     * @private
     *
     */
    constructor(parent?: IFileManager);
    private onPropertyChanged;
    private render;
    onPathChange(): void;
    private updateBreadCrumbBar;
    private onFocus;
    private onKeyUp;
    private onBlur;
    private subMenuSelectOperations;
    private addSubMenuAttributes;
    private searchEventBind;
    private searchChangeHandler;
    private addressPathClickHandler;
    private triggerFileOpen;
    private onShowInput;
    private updatePath;
    private onUpdatePath;
    private onCreateEnd;
    private onRenameEnd;
    private onDeleteEnd;
    private removeSearchValue;
    private onResize;
    private onPasteEnd;
    private addEventListener;
    private keyActionHandler;
    private removeEventListener;
    private onDropInit;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} - returns the module name
     * @private
     */
    private getModuleName;
    destroy(): void;
    private onSearchTextChange;
}
//node_modules/@syncfusion/ej2-filemanager/src/file-manager/actions/index.d.ts
/**
 * File Manager actions modules
 */
//node_modules/@syncfusion/ej2-filemanager/src/file-manager/actions/toolbar.d.ts
/**
 * Toolbar module
 */
export  class Toolbar {
    private parent;
    private items;
    private buttonObj;
    private layoutBtnObj;
    private default;
    private single;
    private multiple;
    private selection;
    toolbarObj: navigations.Toolbar;
    /**
     * Constructor for the Toolbar module
     *
     * @hidden
     * @param {IFileManager} parent - specifies the parent element.
     * @private
     */
    constructor(parent?: IFileManager);
    private render;
    getItemIndex(item: string): number;
    private getItems;
    private onClicked;
    private toolbarCreateHandler;
    private updateSortByButton;
    private getPupupId;
    private layoutChange;
    private toolbarItemData;
    private getId;
    private addEventListener;
    private reRenderToolbar;
    private onSelectionChanged;
    private hideItems;
    private hideStatus;
    private showPaste;
    private hidePaste;
    private onLayoutChange;
    private removeEventListener;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} - returns module name.
     * @private
     */
    private getModuleName;
    private onPropertyChanged;
    destroy(): void;
    enableItems(items: string[], isEnable?: boolean): void;
}
//node_modules/@syncfusion/ej2-filemanager/src/file-manager/base/classes.d.ts
/**
 * Specifies the File Manager internal ID's
 */
/** @hidden */
export  const TOOLBAR_ID: string;
/** @hidden */
export  const LAYOUT_ID: string;
/** @hidden */
export  const NAVIGATION_ID: string;
/** @hidden */
export  const TREE_ID: string;
/** @hidden */
export  const GRID_ID: string;
/** @hidden */
export  const LARGEICON_ID: string;
/** @hidden */
export  const DIALOG_ID: string;
/** @hidden */
export  const ALT_DIALOG_ID: string;
/** @hidden */
export  const IMG_DIALOG_ID: string;
/** @hidden */
export  const EXTN_DIALOG_ID: string;
/** @hidden */
export  const UPLOAD_DIALOG_ID: string;
/** @hidden */
export  const RETRY_DIALOG_ID: string;
/** @hidden */
export  const CONTEXT_MENU_ID: string;
/** @hidden */
export  const SORTBY_ID: string;
/** @hidden */
export  const VIEW_ID: string;
/** @hidden */
export  const SPLITTER_ID: string;
/** @hidden */
export  const CONTENT_ID: string;
/** @hidden */
export  const BREADCRUMBBAR_ID: string;
/** @hidden */
export  const UPLOAD_ID: string;
/** @hidden */
export  const RETRY_ID: string;
/** @hidden */
export  const SEARCH_ID: string;
/**
 * Specifies the File Manager internal class names
 */
/** @hidden */
export  const ROOT: string;
/** @hidden */
export  const CONTROL: string;
/** @hidden */
export  const CHECK_SELECT: string;
/** @hidden */
export  const ROOT_POPUP: string;
/** @hidden */
export  const MOBILE: string;
/** @hidden */
export  const MOB_POPUP: string;
/** @hidden */
export  const MULTI_SELECT: string;
/** @hidden */
export  const FILTER: string;
/** @hidden */
export  const LAYOUT: string;
/** @hidden */
export  const NAVIGATION: string;
/** @hidden */
export  const LAYOUT_CONTENT: string;
/** @hidden */
export  const LARGE_ICONS: string;
/** @hidden */
export  const TB_ITEM: string;
/** @hidden */
export  const LIST_ITEM: string;
/** @hidden */
export  const LIST_TEXT: string;
/** @hidden */
export  const LIST_PARENT: string;
/** @hidden */
export  const TB_OPTION_TICK: string;
/** @hidden */
export  const TB_OPTION_DOT: string;
/** @hidden */
export  const BLUR: string;
/** @hidden */
export  const ACTIVE: string;
/** @hidden */
export  const HOVER: string;
/** @hidden */
export  const FOCUS: string;
/** @hidden */
export  const FOCUSED: string;
/** @hidden */
export  const CHECK: string;
/** @hidden */
export  const FRAME: string;
/** @hidden */
export  const CB_WRAP: string;
/** @hidden */
export  const ROW: string;
/** @hidden */
export  const ROWCELL: string;
/** @hidden */
export  const EMPTY: string;
/** @hidden */
export  const EMPTY_CONTENT: string;
/** @hidden */
export  const EMPTY_INNER_CONTENT: string;
/** @hidden */
export  const CLONE: string;
/** @hidden */
export  const DROP_FOLDER: string;
/** @hidden */
export  const DROP_FILE: string;
/** @hidden */
export  const FOLDER: string;
/** @hidden */
export  const ICON_IMAGE: string;
/** @hidden */
export  const ICON_MUSIC: string;
/** @hidden */
export  const ICON_VIDEO: string;
/** @hidden */
export  const LARGE_ICON: string;
/** @hidden */
export  const LARGE_EMPTY_FOLDER: string;
/** @hidden */
export  const LARGE_EMPTY_FOLDER_TWO: string;
/** @hidden */
export  const LARGE_ICON_FOLDER: string;
/** @hidden */
export  const SELECTED_ITEMS: string;
/** @hidden */
export  const TEXT_CONTENT: string;
/** @hidden */
export  const GRID_HEADER: string;
/** @hidden */
export  const TEMPLATE_CELL: string;
/** @hidden */
export  const TREE_VIEW: string;
/** @hidden */
export  const MENU_ITEM: string;
/** @hidden */
export  const MENU_ICON: string;
/** @hidden */
export  const SUBMENU_ICON: string;
/** @hidden */
export  const GRID_VIEW: string;
/** @hidden */
export  const GRID_CONTENT: string;
/** @hidden */
export  const ICON_VIEW: string;
/** @hidden */
export  const ICON_OPEN: string;
/** @hidden */
export  const ICON_UPLOAD: string;
/** @hidden */
export  const ICON_CUT: string;
/** @hidden */
export  const ICON_COPY: string;
/** @hidden */
export  const ICON_PASTE: string;
/** @hidden */
export  const ICON_DELETE: string;
/** @hidden */
export  const ICON_RENAME: string;
/** @hidden */
export  const ICON_NEWFOLDER: string;
/** @hidden */
export  const ICON_DETAILS: string;
/** @hidden */
export  const ICON_SHORTBY: string;
/** @hidden */
export  const ICON_REFRESH: string;
/** @hidden */
export  const ICON_SELECTALL: string;
/** @hidden */
export  const ICON_DOWNLOAD: string;
/** @hidden */
export  const ICON_OPTIONS: string;
/** @hidden */
export  const ICON_GRID: string;
/** @hidden */
export  const ICON_LARGE: string;
/** @hidden */
export  const ICON_BREADCRUMB: string;
/** @hidden */
export  const ICON_CLEAR: string;
/** @hidden */
export  const ICON_DROP_IN: string;
/** @hidden */
export  const ICON_DROP_OUT: string;
/** @hidden */
export  const ICON_NO_DROP: string;
/** @hidden */
export  const ICONS: string;
/** @hidden */
export  const DETAILS_LABEL: string;
/** @hidden */
export  const ERROR_CONTENT: string;
/** @hidden */
export  const STATUS: string;
/** @hidden */
export  const BREADCRUMBS: string;
/** @hidden */
export  const RTL: string;
/** @hidden */
export  const DISPLAY_NONE: string;
/** @hidden */
export  const COLLAPSED: string;
/** @hidden */
export  const FULLROW: string;
/** @hidden */
export  const ICON_COLLAPSIBLE: string;
/** @hidden */
export  const SPLIT_BAR: string;
/** @hidden */
export  const HEADER_CHECK: string;
/** @hidden */
export  const OVERLAY: string;
/** @hidden */
export  const VALUE: string;
//node_modules/@syncfusion/ej2-filemanager/src/file-manager/base/constant.d.ts
/**
 * Specifies the File Manager internal variables
 */
/** @hidden */
export  const isFile: string;
/**
 * Specifies the File Manager internal events
 */
/** @hidden */
export  const modelChanged: string;
/** @hidden */
export  const initialEnd: string;
/** @hidden */
export  const finalizeEnd: string;
/** @hidden */
export  const createEnd: string;
/** @hidden */
export  const filterEnd: string;
/** @hidden */
export  const beforeDelete: string;
/** @hidden */
export  const pathDrag: string;
/** @hidden */
export  const deleteInit: string;
/** @hidden */
export  const deleteEnd: string;
/** @hidden */
export  const refreshEnd: string;
/** @hidden */
export  const resizeEnd: string;
/** @hidden */
export  const splitterResize: string;
/** @hidden */
export  const pathChanged: string;
/** @hidden */
export  const destroy: string;
/** @hidden */
export  const beforeRequest: string;
/** @hidden */
export  const upload: string;
/** @hidden */
export  const skipUpload: string;
/** @hidden */
export  const afterRequest: string;
/** @hidden */
export  const download: string;
/** @hidden */
export  const layoutRefresh: string;
/** @hidden */
export  const actionFailure: string;
/** @hidden */
export  const search: string;
/** @hidden */
export  const openInit: string;
/** @hidden */
export  const openEnd: string;
/** @hidden */
export  const selectionChanged: string;
/** @hidden */
export  const selectAllInit: string;
/** @hidden */
export  const clearAllInit: string;
/** @hidden */
export  const clearPathInit: string;
/** @hidden */
export  const layoutChange: string;
/** @hidden */
export  const sortByChange: string;
/** @hidden */
export  const nodeExpand: string;
/** @hidden */
export  const detailsInit: string;
/** @hidden */
export  const menuItemData: string;
/** @hidden */
export  const renameInit: string;
/** @hidden */
export  const renameEndParent: string;
/** @hidden */
export  const renameEnd: string;
/** @hidden */
export  const showPaste: string;
/** @hidden */
export  const hidePaste: string;
/** @hidden */
export  const selectedData: string;
/** @hidden */
export  const cutCopyInit: string;
/** @hidden */
export  const pasteInit: string;
/** @hidden */
export  const pasteEnd: string;
/** @hidden */
export  const cutEnd: string;
/** @hidden */
export  const hideLayout: string;
/** @hidden */
export  const updateTreeSelection: string;
/** @hidden */
export  const treeSelect: string;
/** @hidden */
export  const sortColumn: string;
/** @hidden */
export  const pathColumn: string;
/** @hidden */
export  const searchTextChange: string;
/** @hidden */
export  const beforeDownload: string;
/** @hidden */
export  const downloadInit: string;
/** @hidden */
export  const dropInit: string;
/** @hidden */
export  const dragEnd: string;
/** @hidden */
export  const dropPath: string;
/** @hidden */
export  const dragHelper: string;
/** @hidden */
export  const dragging: string;
/** @hidden */
export  const updateSelectionData: string;
/** @hidden */
export  const methodCall: string;
/** @hidden */
export  const permissionRead: string;
/** @hidden */
export  const permissionEdit: string;
/** @hidden */
export  const permissionEditContents: string;
/** @hidden */
export  const permissionCopy: string;
/** @hidden */
export  const permissionUpload: string;
/** @hidden */
export  const permissionDownload: string;
//node_modules/@syncfusion/ej2-filemanager/src/file-manager/base/file-manager-model.d.ts
/**
 * Interface for a class FileManager
 */
export interface FileManagerModel extends base.ComponentModel{
    /**
     * Specifies the AJAX settings of the file manager.
     *
     * @default {
     *  getImageUrl: null;
     *  url: null;
     *  uploadUrl: null;
     *  downloadUrl: null;
     * }
     */
    ajaxSettings?: AjaxSettingsModel;
    /**
     * Enables or disables drag-and-drop of files.
     *
     * @default false
     */
    allowDragAndDrop?: boolean;
    /**
     * Enables or disables the multiple files selection of the file manager.
     *
     * @default true
     */
    allowMultiSelection?: boolean;
    /**
     * Specifies the context menu settings of the file manager.
     *
     * @default {
     *  file: ['Open','|', 'Cut', 'Copy', '|', 'Delete', 'Rename', '|', 'Details'],
     *  folder: ['Open','|', 'Cut', 'Copy', 'Paste', '|', 'Delete', 'Rename', '|', 'Details'],
     *  layout: ['SortBy', 'View', 'Refresh', '|', 'Paste', '|', 'NewFolder', 'Upload', '|', 'Details', '|', 'SelectAll'],
     *  visible: true,
     * }
     */
    contextMenuSettings?: ContextMenuSettingsModel;
    /**
     * Specifies the root CSS class of the file manager that allows you to customize the appearance by overriding the styles.
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * Specifies the details view settings of the file manager.
     *
     * @default {
     * columns: [{
     * field: 'name', headerText: 'Name', minWidth: 120, template: '<span class="e-fe-text">${name}</span>',
     * customAttributes: { class: 'e-fe-grid-name'}}, { field: '_fm_modified', headerText: 'DateModified', type: 'dateTime',
     * format: 'MMMM dd, yyyy HH:mm', minWidth: 120, width: '190' }, { field: 'size', headerText: 'Size', minWidth: 90, width: '110',
     * template: '<span class="e-fe-size">${size}</span>' }
     * ]
     * }
     */
    detailsViewSettings?: DetailsViewSettingsModel;
    /**
     * Defines whether to allow the cross-scripting site or not.
     *
     * @default true
     */
    enableHtmlSanitizer?: boolean;
    /**
     * Enables or disables persisting component's state between page reloads. If enabled, the following APIs will persist:
     * 1. `view`: Represents the previous view of the file manager.
     * 2. `path`: Represents the previous path of the file manager.
     * 3. `selectedItems`: Represents the previous selected items in the file manager.
     *
     * @default false
     */
    enablePersistence?: boolean;
    /**
     * Specifies the height of the file manager.
     *
     * @default '400px'
     */
    height?: string | number;
    /**
     * Specifies the initial view of the file manager.
     * With the help of this property, initial view can be changed to details or largeicons view. The available views are:
     * * `LargeIcons`
     * * `Details`
     *
     * @default 'LargeIcons'
     */
    view?: ViewType;
    /**
     * Specifies the navigationpane settings of the file manager.
     *
     * @default {
     *  maxWidth: '650px',
     *  minWidth: '240px',
     *  visible: true,
     *  sortOrder: 'None'
     * }
     */
    navigationPaneSettings?: NavigationPaneSettingsModel;
    /**
     * Specifies the current path of the file manager.
     *
     * @default '/'
     */
    path?: string;
    /**
     * Specifies the target element in which the File Manager’s dialog will be displayed.
     * The default value is null, which refers to the File Manager element.
     *
     * @default null
     */
    popupTarget?: HTMLElement | string;
    /**
     * Specifies the search settings of the file manager.
     *
     * @default {
     *  allowSearchOnTyping: true,
     *  filterType: 'contains',
     *  ignoreCase: true
     * }
     */
    searchSettings?: SearchSettingsModel;
    /**
     * Specifies the selected folders and files name of the  file manager.
     *
     * @default []
     */
    selectedItems?: string[];
    /**
     * Shows or hides the file extension in file manager.
     *
     * @default true
     */
    showFileExtension?: boolean;
    /**
     * Specifies the root folder alias name in file manager
     *
     * @default null
     */
    rootAliasName?: string;
    /**
     * Shows or hides the files and folders that are marked as hidden.
     *
     * @default false
     */
    showHiddenItems?: boolean;
    /**
     * Shows or hides the thumbnail images in largeicons view.
     *
     * @default true
     */
    showThumbnail?: boolean;
    /**
     * Specifies a value that indicates whether the folders and files are sorted in the ascending or descending order,
     * or they are not sorted at all. The available types of sort orders are,
     * `None` - Indicates that the folders and files are not sorted.
     * `Ascending` - Indicates that the folders and files are sorted in the ascending order.
     * `Descending` - Indicates that the folders and files are sorted in the descending order.
     *
     * @default 'Ascending'
     */
    sortOrder?: SortOrder;
    /**
     * Specifies the field name being used as the sorting criteria to sort the files of the file manager component.
     *
     * @default 'name'
     */
    sortBy?: string;
    /**
     * Specifies the group of items aligned horizontally in the toolbar.
     *
     * @default {
     *  items: ['NewFolder', 'Upload', 'Cut', 'Copy', 'Paste', 'Delete',
     *  'Download', 'Rename', 'SortBy', 'Refresh', 'Selection', 'View', 'Details'],
     *  visible: true
     * }
     */
    toolbarSettings?: ToolbarSettingsModel;
    /**
     * Specifies the upload settings for the file manager.
     *
     * @default {
     *  autoUpload: true,
     *  minFileSize: 0,
     *  maxFileSize: 30000000,
     *  allowedExtensions: '',
     *  autoClose: false,
     *  directoryUpload: false
     * }
     */
    uploadSettings?: UploadSettingsModel;
    /**
     * Specifies the width of the file manager.
     *
     * @default '100%'
     */
    width?: string | number;
    /**
     * Triggers before the file/folder is rendered.
     *
     * @event
     */
    fileLoad?: base.EmitType<FileLoadEventArgs>;
    /**
     * Triggers before the file/folder is opened.
     *
     * @event
     */
    fileOpen?: base.EmitType<FileOpenEventArgs>;
    /**
     * Triggers before sending the download request to the server.
     *
     * @event
     */
    beforeDownload?: base.EmitType<BeforeDownloadEventArgs>;
    /**
     * Triggers before sending the getImage request to the server.
     *
     * @event
     */
    beforeImageLoad?: base.EmitType<BeforeImageLoadEventArgs>;
    /**
     * Triggers before the dialog is closed.
     *
     * @event
     */
    beforePopupClose?: base.EmitType<BeforePopupOpenCloseEventArgs>;
    /**
     * Triggers before the dialog is opened.
     *
     * @event
     */
    beforePopupOpen?: base.EmitType<BeforePopupOpenCloseEventArgs>;
    /**
     * Triggers before sending the AJAX request to the server.
     *
     * @event
     */
    beforeSend?: base.EmitType<BeforeSendEventArgs>;
    /**
     * Triggers when the file manager component is created.
     *
     * @event
     */
    /* eslint-disable */
    created?: base.EmitType<Object>;
    /**
     * Triggers when the file manager component is destroyed.
     *
     * @event
     */
    /* eslint-disable */
    destroyed?: base.EmitType<Object>;
    /**
     * Triggers when the file/folder dragging is started.
     *
     * @event
     */
    fileDragStart?: base.EmitType<FileDragEventArgs>;
    /**
     * Triggers while dragging the file/folder.
     *
     * @event
     */
    fileDragging?: base.EmitType<FileDragEventArgs>;
    /**
     * Triggers when the file/folder is about to be dropped at the target.
     *
     * @event
     */
    fileDragStop?: base.EmitType<FileDragEventArgs>;
    /**
     * Triggers when the file/folder is dropped.
     *
     * @event
     */
    fileDropped?: base.EmitType<FileDragEventArgs>;
    /**
     * Triggers before the file/folder is selected.
     *
     * @event
     */
    fileSelection?: base.EmitType<FileSelectionEventArgs>;
    /**
     * Triggers when the file/folder is selected/unselected.
     *
     * @event
     */
    fileSelect?: base.EmitType<FileSelectEventArgs>;
    /**
     * Triggers when the context menu item is clicked.
     *
     * @event
     */
    menuClick?: base.EmitType<MenuClickEventArgs>;
    /**
     * Triggers before the context menu is opened.
     *
     * @event
     */
    menuOpen?: base.EmitType<MenuOpenEventArgs>;
    /**
     * Triggers when the AJAX request is failed.
     *
     * @event
     */
    failure?: base.EmitType<FailureEventArgs>;
    /**
     * Triggers when the dialog is closed.
     *
     * @event
     */
    popupClose?: base.EmitType<PopupOpenCloseEventArgs>;
    /**
     * Triggers when the dialog is opened.
     *
     * @event
     */
    popupOpen?: base.EmitType<PopupOpenCloseEventArgs>;
    /**
     * Triggers when the AJAX request is success.
     * @event
     */
    success?: base.EmitType<SuccessEventArgs>;
    /**
     * Triggers when the toolbar item is clicked.
     *
     * @event
     */
    toolbarClick?: base.EmitType<ToolbarClickEventArgs>;
    /**
     * Triggers before creating the toolbar.
     *
     * @event
     */
    toolbarCreate?: base.EmitType<ToolbarCreateEventArgs>;
    /**
     * Triggers before rendering each file item in upload dialog box.
     *
     * @event
     */
    uploadListCreate?: base.EmitType<UploadListCreateArgs>;
}
//node_modules/@syncfusion/ej2-filemanager/src/file-manager/base/file-manager.d.ts
/**
 * The FileManager component allows users to access and manage the file system through the web  browser. It can performs the
 * functionalities like add, rename, search, sort, upload and delete files or folders. And also it
 * provides an easy way of  dynamic injectable modules like toolbar, navigationpane, detailsview, largeiconsview.
 * ```html
 *  <div id="file"></div>
 * ```
 * ```typescript,
 *  let feObj: FileManager = new FileManager();
 *  feObj.appendTo('#file');
 * ```
 */
export  class FileManager extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    /** @hidden */
    toolbarModule: Toolbar;
    /** @hidden */
    detailsviewModule: DetailsView;
    /** @hidden */
    navigationpaneModule: ITreeView;
    /** @hidden */
    largeiconsviewModule: LargeIconsView;
    /** @hidden */
    contextmenuModule: IContextMenu;
    /** @hidden */
    breadcrumbbarModule: BreadCrumbBar;
    private keyboardModule;
    private keyConfigs;
    filterData: Object;
    originalPath: string;
    filterPath: string;
    filterId: string;
    hasId: boolean;
    pathNames: string[];
    pathId: string[];
    expandedId: string;
    itemData: Object[];
    visitedData: Object;
    visitedItem: Element;
    toolbarSelection: boolean;
    targetPath: string;
    feParent: Object[];
    feFiles: Object[];
    activeElements: Element[];
    activeModule: string;
    targetModule: string;
    treeObj: navigations.TreeView;
    dialogObj: popups.Dialog;
    viewerObj: popups.Dialog;
    extDialogObj: popups.Dialog;
    selectedNodes: string[];
    duplicateItems: string[];
    duplicateRecords: Object[];
    previousPath: string[];
    nextPath: string[];
    fileAction: string;
    pasteNodes: string[];
    isLayoutChange: boolean;
    replaceItems: string[];
    createdItem: {
        [key: string]: Object;
    };
    layoutSelectedItems: string[];
    renamedItem: {
        [key: string]: Object;
    };
    renamedId: string;
    uploadItem: string[];
    fileLength: number;
    deleteRecords: string[];
    fileView: string;
    isDevice: boolean;
    isMobile: boolean;
    isBigger: boolean;
    isFile: boolean;
    actionRecords: Object[];
    activeRecords: Object[];
    isCut: boolean;
    isSearchCut: boolean;
    isSearchDrag: boolean;
    isPasteError: boolean;
    folderPath: string;
    isSameAction: boolean;
    currentItemText: string;
    renameText: string;
    isFiltered: boolean;
    isSortByClicked: boolean;
    enablePaste: boolean;
    splitterObj: layouts.Splitter;
    persistData: boolean;
    breadCrumbBarNavigation: HTMLElement;
    localeObj: base.L10n;
    uploadObj: inputs.Uploader;
    uploadDialogObj: popups.Dialog;
    retryArgs: RetryArgs[];
    private isOpened;
    isRetryOpened: boolean;
    isPathDrag: boolean;
    searchedItems: {
        [key: string]: Object;
    }[];
    searchWord: string;
    retryFiles: inputs.FileInfo[];
    isApplySame: boolean;
    uploadEventArgs: BeforeSendEventArgs;
    dragData: {
        [key: string]: Object;
    }[];
    dragNodes: string[];
    dragPath: string;
    dropPath: string;
    isDragDrop: boolean;
    virtualDragElement: HTMLElement;
    dropData: Object;
    treeExpandTimer: number;
    dragCursorPosition: base.PositionModel;
    isDropEnd: boolean;
    dragCount: number;
    droppedObjects: Object[];
    destinationPath: string;
    uploadingCount: number;
    uploadedCount: number;
    isMac: boolean;
    oldView: string;
    oldPath: string;
    /**
     * Specifies the AJAX settings of the file manager.
     *
     * @default {
     *  getImageUrl: null;
     *  url: null;
     *  uploadUrl: null;
     *  downloadUrl: null;
     * }
     */
    ajaxSettings: AjaxSettingsModel;
    /**
     * Enables or disables drag-and-drop of files.
     *
     * @default false
     */
    allowDragAndDrop: boolean;
    /**
     * Enables or disables the multiple files selection of the file manager.
     *
     * @default true
     */
    allowMultiSelection: boolean;
    /**
     * Specifies the context menu settings of the file manager.
     *
     * @default {
     *  file: ['Open','|', 'Cut', 'Copy', '|', 'Delete', 'Rename', '|', 'Details'],
     *  folder: ['Open','|', 'Cut', 'Copy', 'Paste', '|', 'Delete', 'Rename', '|', 'Details'],
     *  layout: ['SortBy', 'View', 'Refresh', '|', 'Paste', '|', 'NewFolder', 'Upload', '|', 'Details', '|', 'SelectAll'],
     *  visible: true,
     * }
     */
    contextMenuSettings: ContextMenuSettingsModel;
    /**
     * Specifies the root CSS class of the file manager that allows you to customize the appearance by overriding the styles.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * Specifies the details view settings of the file manager.
     *
     * @default {
     * columns: [{
     * field: 'name', headerText: 'Name', minWidth: 120, template: '<span class="e-fe-text">${name}</span>',
     * customAttributes: { class: 'e-fe-grid-name'}}, { field: '_fm_modified', headerText: 'DateModified', type: 'dateTime',
     * format: 'MMMM dd, yyyy HH:mm', minWidth: 120, width: '190' }, { field: 'size', headerText: 'Size', minWidth: 90, width: '110',
     * template: '<span class="e-fe-size">${size}</span>' }
     * ]
     * }
     */
    detailsViewSettings: DetailsViewSettingsModel;
    /**
     * Defines whether to allow the cross-scripting site or not.
     *
     * @default true
     */
    enableHtmlSanitizer: boolean;
    /**
     * Enables or disables persisting component's state between page reloads. If enabled, the following APIs will persist:
     * 1. `view`: Represents the previous view of the file manager.
     * 2. `path`: Represents the previous path of the file manager.
     * 3. `selectedItems`: Represents the previous selected items in the file manager.
     *
     * @default false
     */
    enablePersistence: boolean;
    /**
     * Specifies the height of the file manager.
     *
     * @default '400px'
     */
    height: string | number;
    /**
     * Specifies the initial view of the file manager.
     * With the help of this property, initial view can be changed to details or largeicons view. The available views are:
     * * `LargeIcons`
     * * `Details`
     *
     * @default 'LargeIcons'
     */
    view: ViewType;
    /**
     * Specifies the navigationpane settings of the file manager.
     *
     * @default {
     *  maxWidth: '650px',
     *  minWidth: '240px',
     *  visible: true,
     *  sortOrder: 'None'
     * }
     */
    navigationPaneSettings: NavigationPaneSettingsModel;
    /**
     * Specifies the current path of the file manager.
     *
     * @default '/'
     */
    path: string;
    /**
     * Specifies the target element in which the File Manager’s dialog will be displayed.
     * The default value is null, which refers to the File Manager element.
     *
     * @default null
     */
    popupTarget: HTMLElement | string;
    /**
     * Specifies the search settings of the file manager.
     *
     * @default {
     *  allowSearchOnTyping: true,
     *  filterType: 'contains',
     *  ignoreCase: true
     * }
     */
    searchSettings: SearchSettingsModel;
    /**
     * Specifies the selected folders and files name of the  file manager.
     *
     * @default []
     */
    selectedItems: string[];
    /**
     * Shows or hides the file extension in file manager.
     *
     * @default true
     */
    showFileExtension: boolean;
    /**
     * Specifies the root folder alias name in file manager
     *
     * @default null
     */
    rootAliasName: string;
    /**
     * Shows or hides the files and folders that are marked as hidden.
     *
     * @default false
     */
    showHiddenItems: boolean;
    /**
     * Shows or hides the thumbnail images in largeicons view.
     *
     * @default true
     */
    showThumbnail: boolean;
    /**
     * Specifies a value that indicates whether the folders and files are sorted in the ascending or descending order,
     * or they are not sorted at all. The available types of sort orders are,
     * `None` - Indicates that the folders and files are not sorted.
     * `Ascending` - Indicates that the folders and files are sorted in the ascending order.
     * `Descending` - Indicates that the folders and files are sorted in the descending order.
     *
     * @default 'Ascending'
     */
    sortOrder: SortOrder;
    /**
     * Specifies the field name being used as the sorting criteria to sort the files of the file manager component.
     *
     * @default 'name'
     */
    sortBy: string;
    /**
     * Specifies the group of items aligned horizontally in the toolbar.
     *
     * @default {
     *  items: ['NewFolder', 'Upload', 'Cut', 'Copy', 'Paste', 'Delete',
     *  'Download', 'Rename', 'SortBy', 'Refresh', 'Selection', 'View', 'Details'],
     *  visible: true
     * }
     */
    toolbarSettings: ToolbarSettingsModel;
    /**
     * Specifies the upload settings for the file manager.
     *
     * @default {
     *  autoUpload: true,
     *  minFileSize: 0,
     *  maxFileSize: 30000000,
     *  allowedExtensions: '',
     *  autoClose: false,
     *  directoryUpload: false
     * }
     */
    uploadSettings: UploadSettingsModel;
    /**
     * Specifies the width of the file manager.
     *
     * @default '100%'
     */
    width: string | number;
    /**
     * Triggers before the file/folder is rendered.
     *
     * @event
     */
    fileLoad: base.EmitType<FileLoadEventArgs>;
    /**
     * Triggers before the file/folder is opened.
     *
     * @event
     */
    fileOpen: base.EmitType<FileOpenEventArgs>;
    /**
     * Triggers before sending the download request to the server.
     *
     * @event
     */
    beforeDownload: base.EmitType<BeforeDownloadEventArgs>;
    /**
     * Triggers before sending the getImage request to the server.
     *
     * @event
     */
    beforeImageLoad: base.EmitType<BeforeImageLoadEventArgs>;
    /**
     * Triggers before the dialog is closed.
     *
     * @event
     */
    beforePopupClose: base.EmitType<BeforePopupOpenCloseEventArgs>;
    /**
     * Triggers before the dialog is opened.
     *
     * @event
     */
    beforePopupOpen: base.EmitType<BeforePopupOpenCloseEventArgs>;
    /**
     * Triggers before sending the AJAX request to the server.
     *
     * @event
     */
    beforeSend: base.EmitType<BeforeSendEventArgs>;
    /**
     * Triggers when the file manager component is created.
     *
     * @event
     */
    created: base.EmitType<Object>;
    /**
     * Triggers when the file manager component is destroyed.
     *
     * @event
     */
    destroyed: base.EmitType<Object>;
    /**
     * Triggers when the file/folder dragging is started.
     *
     * @event
     */
    fileDragStart: base.EmitType<FileDragEventArgs>;
    /**
     * Triggers while dragging the file/folder.
     *
     * @event
     */
    fileDragging: base.EmitType<FileDragEventArgs>;
    /**
     * Triggers when the file/folder is about to be dropped at the target.
     *
     * @event
     */
    fileDragStop: base.EmitType<FileDragEventArgs>;
    /**
     * Triggers when the file/folder is dropped.
     *
     * @event
     */
    fileDropped: base.EmitType<FileDragEventArgs>;
    /**
     * Triggers before the file/folder is selected.
     *
     * @event
     */
    fileSelection: base.EmitType<FileSelectionEventArgs>;
    /**
     * Triggers when the file/folder is selected/unselected.
     *
     * @event
     */
    fileSelect: base.EmitType<FileSelectEventArgs>;
    /**
     * Triggers when the context menu item is clicked.
     *
     * @event
     */
    menuClick: base.EmitType<MenuClickEventArgs>;
    /**
     * Triggers before the context menu is opened.
     *
     * @event
     */
    menuOpen: base.EmitType<MenuOpenEventArgs>;
    /**
     * Triggers when the AJAX request is failed.
     *
     * @event
     */
    failure: base.EmitType<FailureEventArgs>;
    /**
     * Triggers when the dialog is closed.
     *
     * @event
     */
    popupClose: base.EmitType<PopupOpenCloseEventArgs>;
    /**
     * Triggers when the dialog is opened.
     *
     * @event
     */
    popupOpen: base.EmitType<PopupOpenCloseEventArgs>;
    /**
     * Triggers when the AJAX request is success.
     * @event
     */
    success: base.EmitType<SuccessEventArgs>;
    /**
     * Triggers when the toolbar item is clicked.
     *
     * @event
     */
    toolbarClick: base.EmitType<ToolbarClickEventArgs>;
    /**
     * Triggers before creating the toolbar.
     *
     * @event
     */
    toolbarCreate: base.EmitType<ToolbarCreateEventArgs>;
    /**
     * Triggers before rendering each file item in upload dialog box.
     *
     * @event
     */
    uploadListCreate: base.EmitType<UploadListCreateArgs>;
    constructor(options?: FileManagerModel, element?: string | HTMLElement);
    /**
     * Get component name.
     *
     * @returns {string} - returns module name.
     * @private
     */
    getModuleName(): string;
    /**
     * Initialize the event handler
     *
     * @returns {void}
     */
    protected preRender(): void;
    /**
     * Gets the properties to be maintained upon browser refresh.
     *
     * @returns {string} - returns the persisted data.
     * @hidden
     */
    getPersistData(): string;
    /**
     * To provide the array of modules needed for component rendering
     *
     * @returns {base.ModuleDeclaration[]} - returns module declaration.
     * @hidden
     */
    requiredModules(): base.ModuleDeclaration[];
    /**
     * To Initialize the control rendering
     *
     * @private
     * @returns {void}
     */
    protected render(): void;
    private ensurePath;
    private initialize;
    private addWrapper;
    private adjustHeight;
    private splitterResize;
    private splitterAdjust;
    private addCssClass;
    private showSpinner;
    private hideSpinner;
    private onContextMenu;
    private checkMobile;
    private renderFileUpload;
    private renderUploadBox;
    private onFileListRender;
    private updateUploader;
    private onBeforeOpen;
    private onBeforeClose;
    private onOpen;
    private onClose;
    private onUploading;
    private onRemoving;
    private onCancel;
    private onClearing;
    private onSelected;
    private onFileUploadSuccess;
    private onUploadSuccess;
    private onUploadFailure;
    private onInitialEnd;
    private addEventListeners;
    private removeEventListeners;
    private onDetailsInit;
    private resizeHandler;
    private keyActionHandler;
    private wireEvents;
    private unWireEvents;
    private setPath;
    /**
     * Called internally if any of the property value changed.
     *
     * @param  {FileManager} newProp
     * @param  {FileManager} oldProp
     * @returns void
     * @private
     */
    onPropertyChanged(newProp: FileManagerModel, oldProp: FileManagerModel): void;
    private ajaxSettingSetModel;
    private localeSetModelOption;
    /**
     * Triggers when the component is destroyed.
     *
     * @returns {void}
     */
    destroy(): void;
    /**
     * Creates a new folder in file manager.
     *
     * @param {string} name – Specifies the name of new folder in current path.
     * If it is not specified, then the default new folder dialog will be opened.
     * @returns {void}
     */
    createFolder(name?: string): void;
    /**
     * Deletes the folders or files from the given unique identifiers.
     *
     * @param {string} ids - Specifies the name of folders or files in current path. If you want to delete the nested level folders or
     * files, then specify the filter path along with name of the folders or files when performing the search or custom filtering.
     * For ID based file provider, specify the unique identifier of folders or files.
     * If it is not specified, then delete confirmation dialog will be opened for selected item.
     *
     * @returns {void}
     */
    deleteFiles(ids?: string[]): void;
    /**
     * Disables the specified toolbar items of the file manager.
     *
     * @param {string[]} items - Specifies an array of items to be disabled.
     * @returns {void}
     */
    disableToolbarItems(items: string[]): void;
    /**
     * Downloads the folders or files from the given unique identifiers.
     *
     * @param {string} ids - Specifies the name of folders or files in current path. If you want to download the nested level folders
     * or files, then specify the filter path along with name of the folders or files when performing search or custom filtering.
     * For ID based file provider, specify the unique identifier of folders or files.
     * If it is not specified, then the selected items will be downloaded.
     *
     * @returns {void}
     */
    downloadFiles(ids?: string[]): void;
    /**
     * Enables the specified toolbar items of the file manager.
     *
     * @param {string[]} items - Specifies an array of items to be enabled.
     * @returns {void}
     */
    enableToolbarItems(items: string[]): void;
    /**
     * Disables the specified context menu items in file manager. This method is used only in the menuOpen event.
     *
     * @param {string[]} items - Specifies an array of items to be disabled.
     * @returns {void}
     */
    disableMenuItems(items: string[]): void;
    /**
     * Returns the index position of given current context menu item in file manager.
     *
     * @param {string} item - Specifies an item to get the index position.
     * @returns {number} - returns menu item index.
     */
    getMenuItemIndex(item: string): number;
    /**
     * Returns the index position of given toolbar item in file manager.
     *
     * @param {string} item - Specifies an item to get the index position.
     * @returns {number} - returns toolbar item index.
     */
    getToolbarItemIndex(item: string): number;
    /**
     * Display the custom filtering files in file manager.
     *
     * @param {Object} filterData - Specifies the custom filter details along with custom file action name,
     * which needs to be sent to the server side. If you do not specify the details, then default action name will be `filter`.
     *
     * @returns {void}
     */
    filterFiles(filterData?: Object): void;
    /**
     * Gets the details of the selected files in the file manager.
     *
     * @returns {Object[]} - returns selected files.
     */
    getSelectedFiles(): Object[];
    /**
     * Opens the corresponding file or folder from the given unique identifier.
     *
     * @param {string} id - Specifies the name of folder or file in current path. If you want to open the nested level folder or
     * file, then specify the filter path along with name of the folder or file when performing search or custom filtering. For ID based
     * file provider, specify the unique identifier of folder or file.
     *
     * @returns {void}
     */
    openFile(id: string): void;
    /**
     * Refreshes the folder files of the file manager.
     *
     * @returns {void}
     */
    refreshFiles(): void;
    /**
     * Refreshes the layout of the file manager.
     *
     * @returns {void}
     */
    refreshLayout(): void;
    /**
     * Selects the entire folders and files in current path.
     *
     * @returns {void}
     */
    selectAll(): void;
    /**
     * Deselects the currently selected folders and files in current path.
     *
     * @returns {void}
     */
    clearSelection(): void;
    /**
     * Renames the file or folder with given new name in file manager.
     *
     * @param {string} id - Specifies the name of folder or file in current path. If you want to rename the nested level folder or
     * file, then specify the filter path along with name of the folder or file when performing search or custom filtering. For ID based
     * file provider, specify the unique identifier of folder or file.
     * If it is not specified, then rename dialog will be opened for selected item.
     *
     * @param {string} name – Specifies the new name of the file or folder in current path. If it is not specified, then rename dialog
     * will be opened for given identifier.
     *
     * @returns {void}
     */
    renameFile(id?: string, name?: string): void;
    /**
     * Opens the upload dialog in file manager.
     *
     * @returns {void}
     */
    uploadFiles(): void;
    /**
     * Specifies the direction of FileManager
     *
     * @param {boolean} rtl - specifies rtl parameter.
     * @returns {void}
     */
    private setRtl;
}
//node_modules/@syncfusion/ej2-filemanager/src/file-manager/base/index.d.ts
/**
 * File Manager base modules
 */
//node_modules/@syncfusion/ej2-filemanager/src/file-manager/base/interface.d.ts
/**
 * Defines the view type of the FileManager.
 */
export  type ViewType = 'LargeIcons' | 'Details';
/**
 * Defines the files sorting order in FileManager.
 */
export  type SortOrder = 'Ascending' | 'Descending' | 'None';
/**
 * Defines the Toolbar items of the FileManager.
 */
export  type ToolBarItems = 'NewFolder' | 'Upload' | 'Cut' | 'Copy' | 'Paste' | 'Delete' | 'Download' | 'Rename' | 'SortBy' | 'Refresh' | 'Selection' | 'View' | 'Details';
/**
 * Defines the Context menu items for the FileManager.
 */
export  type MenuItems = 'NewFolder' | 'Upload' | 'Cut' | 'Copy' | 'Paste' | 'Delete' | 'Download' | 'Rename' | 'SortBy' | 'Refresh' | 'SelectAll' | 'View' | 'Details' | 'Open';
/**
 * Interfaces for File Manager Toolbar items.
 */
export interface IToolBarItems {
    template?: string;
    tooltipText?: string;
}
/** @hidden */
export interface NotifyArgs {
    module?: string;
    newProp?: FileManagerModel;
    oldProp?: FileManagerModel;
    target?: Element;
    selectedNode?: string;
}
/** @hidden */
export interface ReadArgs {
    cwd?: {
        [key: string]: Object;
    };
    files?: {
        [key: string]: Object;
    }[];
    error?: ErrorArgs;
    details?: Object;
    id?: string;
}
/** @hidden */
export interface MouseArgs {
    target?: Element;
}
/** @hidden */
export interface UploadArgs {
    files?: {
        [key: string]: Object;
    }[];
    error?: Object[];
    details?: Object;
}
/** @hidden */
export interface RetryArgs {
    action: string;
    file: FileInfo;
}
/** @hidden */
export interface ErrorArgs {
    code?: string;
    message?: string;
    fileExists?: string[];
}
/** @hidden */
export interface DialogOptions {
    dialogName?: string;
    header?: string;
    content?: string;
    buttons?: popups.ButtonPropsModel[];
    open?: base.EmitType<Object>;
    close?: base.EmitType<Object>;
}
/** @hidden */
export interface SearchArgs {
    files?: {
        [key: string]: Object;
    }[];
    error?: Object[];
    details?: Object;
}
/**
 * Interfaces for File details.
 */
export interface FileDetails {
    created?: string;
    isFile: boolean;
    location: string;
    modified: string;
    name: string;
    size: number;
    icon: string;
    multipleFiles: boolean;
    permission: Object;
}
/** @hidden */
export interface DownloadArgs {
    files?: {
        [key: string]: Object;
    }[];
    error?: Object[];
    details?: Object;
}
/**
 * Interface for Drag Event arguments
 */
export interface FileDragEventArgs {
    /**
     * Return the current items as an array of JSON object.
     */
    fileDetails?: Object[];
    /**
     * Specifies the actual event.
     */
    event?: MouseEvent & TouchEvent;
    /**
     * Specifies the current drag element.
     */
    element?: HTMLElement;
    /**
     * Specifies the current target element.
     */
    target?: HTMLElement;
    /**
     * If you want to cancel this event then, set cancel to true. Otherwise, false.
     */
    cancel?: boolean;
}
/**
 * Interface for BeforeSend event arguments.
 */
export interface BeforeSendEventArgs {
    /**
     * Return the name of the AJAX action will be performed.
     */
    action?: string;
    /**
     * Return the AJAX details, which are send to server.
     */
    ajaxSettings?: Object;
    /**
     * If you want to cancel this event then, set cancel to true. Otherwise, false.
     */
    cancel?: boolean;
}
/**
 * Interface for BeforeDownload event arguments.
 */
export interface BeforeDownloadEventArgs {
    /**
     * Specifies the data to be sent to server.
     */
    data?: Object;
    /**
     * If you want to cancel this event then, set cancel to true. Otherwise, false.
     */
    cancel?: boolean;
}
/**
 * Interface for BeforeImageLoad event arguments.
 */
export interface BeforeImageLoadEventArgs {
    /**
     * Return the current rendering image item as an array of JSON object.
     */
    fileDetails?: Object[];
    /**
     * Specifies the URL along with custom attributes to be sent to server.
     */
    imageUrl?: string;
}
/**
 * Interface for Success event arguments.
 */
export interface SuccessEventArgs {
    /**
     * Return the name of the AJAX action will be performed.
     */
    action?: string;
    /**
     * Return the AJAX details which are send to server.
     */
    result?: Object;
}
/**
 * Interface for Failure event arguments.
 */
export interface FailureEventArgs {
    /**
     * Return the name of the AJAX action will be performed.
     */
    action?: string;
    /**
     * Return the AJAX details, which are send to server.
     */
    error?: Object;
}
/**
 * Interface for FileLoad event arguments.
 */
export interface FileLoadEventArgs {
    /**
     * Return the current rendering item.
     */
    element?: HTMLElement;
    /**
     * Return the current rendering item as JSON object.
     */
    fileDetails?: Object;
    /**
     * Return the name of the rendering module in File Manager.
     */
    module?: string;
}
/**
 * Interface for FileOpen event arguments.
 */
export interface FileOpenEventArgs {
    /**
     * If you want to cancel this event then, set cancel to true. Otherwise, false.
     */
    cancel?: boolean;
    /**
     * Return the currently selected item as JSON object.
     */
    fileDetails?: Object;
    /**
     * Returns the name of the target module in file manager.
     */
    module?: string;
}
/**
 * Interface for PopupOpenClose event arguments.
 */
export interface PopupOpenCloseEventArgs {
    /**
     * Returns the current dialog component instance.
     */
    popupModule?: popups.Dialog;
    /**
     * Returns the current dialog element.
     */
    element: HTMLElement;
    /**
     * Returns the current dialog action name.
     */
    popupName: string;
}
/**
 * Interface for BeforePopupOpenClose event arguments.
 */
export interface BeforePopupOpenCloseEventArgs {
    /**
     * Returns the current dialog component instance.
     */
    popupModule: popups.Dialog;
    /**
     * Returns the current dialog action name.
     */
    popupName: string;
    /**
     * Prevents the dialog from opening when it is set to true.
     */
    cancel: boolean;
}
/**
 * Interface for FileSelect event arguments.
 */
export interface FileSelectEventArgs {
    /**
     * Return the name of action like select or unselect.
     */
    action?: string;
    /**
     * Return the currently selected item as JSON object.
     */
    fileDetails?: Object;
    /**
     * Defines whether event is triggered by interaction or not.
     */
    isInteracted?: boolean;
}
/**
 * Interface for FileSelection event arguments.
 */
export interface FileSelectionEventArgs {
    /**
     * Return the name of action like select or unselect.
     */
    action?: string;
    /**
     * Defines the cancel selected file or folder.
     */
    cancel?: boolean;
    /**
     * Return the currently selected item as JSON object.
     */
    fileDetails?: Object;
    /**
     * Defines whether event is triggered by interaction or not.
     */
    isInteracted?: boolean;
    /**
     * Specifies the actual target.
     */
    target?: Element;
}
/**
 * Interface for ToolbarCreate event arguments.
 */
export interface ToolbarCreateEventArgs {
    /**
     * Return an array of items that is used to configure toolbar content.
     */
    items: navigations.ItemModel[];
}
/**
 * Interface for ToolbarClick event arguments.
 */
export interface ToolbarClickEventArgs {
    /**
     * If you want to cancel this event then, set cancel to true. Otherwise, false.
     */
    cancel: boolean;
    /**
     * Return the currently selected folder/file items as an array of JSON object.
     */
    fileDetails: Object[];
    /**
     * Return the currently clicked toolbar item as JSON object.
     */
    item: navigations.ItemModel;
}
/**
 * Interface for MenuClick event arguments.
 */
export interface MenuClickEventArgs {
    /**
     * If you want to cancel this event then, set cancel to true. Otherwise, false.
     */
    cancel?: boolean;
    /**
     * Return the currently clicked context menu item.
     */
    element?: HTMLElement;
    /**
     * Return the currently selected folder/file items as an array of JSON object.
     */
    fileDetails?: Object[];
    /**
     * Return the currently clicked context menu item as JSON object.
     */
    item?: navigations.MenuItemModel;
}
/**
 * Interface for MenuOpen event arguments.
 */
export interface MenuOpenEventArgs {
    /**
     * If you want to cancel this event then, set cancel to true. Otherwise, false.
     */
    cancel?: boolean;
    /**
     * Returns the current context menu element.
     */
    element?: HTMLElement;
    /**
     * Returns the target folder/file item as an array of JSON object.
     */
    fileDetails?: Object[];
    /**
     * Returns the current context menu items as JSON object.
     */
    items?: navigations.MenuItemModel[];
    /**
     * Returns the instance of context menu component.
     */
    menuModule?: navigations.ContextMenu;
    /**
     * Returns whether the current context menu is sub-menu or not.
     */
    isSubMenu?: boolean;
    /**
     * Returns the target element of context menu.
     */
    target?: Element;
    /**
     * Returns the current context menu type based on current target.
     */
    menuType?: string;
}
/**
 * Interface for UploadListCreate event arguments.
 */
export interface UploadListCreateArgs {
    /**
     * Return the current file item element.
     */
    element: HTMLElement;
    /**
     * Return the current rendering file item data as file object.
     */
    fileInfo: FileInfo;
    /**
     * Return the index of the file item in the file list.
     */
    index: number;
    /**
     * Return whether the file is preloaded.
     */
    isPreload: boolean;
}
/**
 * Interface for File information.
 */
export interface FileInfo {
    /**
     * Returns the upload file name.
     */
    name: string;
    /**
     * Returns the details about upload file.
     */
    rawFile: string | Blob;
    /**
     * Returns the size of file in bytes.
     */
    size: number;
    /**
     * Returns the status of the file.
     */
    status: string;
    /**
     * Returns the MIME type of file as a string. Returns empty string if the file's type is not determined.
     */
    type: string;
    /**
     * Returns the list of validation errors (if any).
     */
    validationMessages: ValidationMessages;
    /**
     * Returns the current state of the file such as Failed, Canceled, Selected, Uploaded, or Uploading.
     */
    statusCode: string;
    /**
     * Returns where the file selected from, to upload.
     */
    fileSource?: string;
}
/**
 * Interface for Validation messages.
 */
export interface ValidationMessages {
    /**
     * Returns the minimum file size validation message, if selected file size is less than the specified minFileSize property.
     */
    minSize?: string;
    /**
     * Returns the maximum file size validation message, if selected file size is less than specified maxFileSize property.
     */
    maxSize?: string;
}
/** @hidden */
export interface IFileManager extends base.Component<HTMLElement> {
    hasId: boolean;
    pathNames: string[];
    pathId: string[];
    originalPath: string;
    filterPath: string;
    filterId: string;
    expandedId: string;
    itemData: Object[];
    visitedData: Object;
    visitedItem: Element;
    feParent: Object[];
    feFiles: Object[];
    ajaxSettings: AjaxSettingsModel;
    toolbarSettings: ToolbarSettingsModel;
    dialogObj: popups.Dialog;
    viewerObj: popups.Dialog;
    extDialogObj: popups.Dialog;
    splitterObj: layouts.Splitter;
    breadCrumbBarNavigation: HTMLElement;
    searchSettings: SearchSettingsModel;
    activeElements: Element[];
    contextMenuSettings: ContextMenuSettingsModel;
    contextmenuModule?: IContextMenu;
    navigationPaneSettings: NavigationPaneSettingsModel;
    targetPath: string;
    activeModule: string;
    selectedNodes: string[];
    previousPath: string[];
    nextPath: string[];
    navigationpaneModule: ITreeView;
    largeiconsviewModule: LargeIconsView;
    breadcrumbbarModule: BreadCrumbBar;
    toolbarSelection: boolean;
    duplicateItems: string[];
    duplicateRecords: Object[];
    fileAction: string;
    replaceItems: string[];
    createdItem: {
        [key: string]: Object;
    };
    renamedItem: {
        [key: string]: Object;
    };
    renamedId: string;
    uploadItem: string[];
    fileLength: number;
    detailsviewModule: DetailsView;
    toolbarModule: Toolbar;
    fileView: string;
    isDevice: boolean;
    isMobile: boolean;
    isBigger: boolean;
    isFile: boolean;
    allowMultiSelection: boolean;
    selectedItems: string[];
    layoutSelectedItems: string[];
    sortOrder: SortOrder;
    sortBy: string;
    actionRecords: Object[];
    activeRecords: Object[];
    pasteNodes: string[];
    isCut: boolean;
    filterData: Object;
    isFiltered: boolean;
    isSortByClicked: boolean;
    isLayoutChange: boolean;
    isSearchCut: boolean;
    isPasteError: boolean;
    isSameAction: boolean;
    currentItemText: string;
    renameText: string;
    view: ViewType;
    isPathDrag: boolean;
    enablePaste: boolean;
    showThumbnail: boolean;
    allowDragAndDrop: boolean;
    enableRtl: boolean;
    rootAliasName: string;
    path: string;
    popupTarget: HTMLElement | string;
    folderPath: string;
    showFileExtension: boolean;
    enablePersistence: boolean;
    showHiddenItems: boolean;
    persistData: boolean;
    localeObj: base.L10n;
    uploadObj: inputs.Uploader;
    cssClass: string;
    searchedItems: Object[];
    searchWord: string;
    retryFiles: FileInfo[];
    retryArgs: RetryArgs[];
    isApplySame: boolean;
    isRetryOpened: boolean;
    dragData: {
        [key: string]: Object;
    }[];
    dragNodes: string[];
    dragPath: string;
    dropPath: string;
    dropData: Object;
    virtualDragElement: HTMLElement;
    isDragDrop: boolean;
    isSearchDrag: boolean;
    targetModule: string;
    treeExpandTimer: number;
    dragCursorPosition: base.PositionModel;
    isDropEnd: boolean;
    dragCount: number;
    droppedObjects: Object[];
    uploadEventArgs: BeforeSendEventArgs;
    destinationPath: string;
    enableHtmlSanitizer: boolean;
    refreshLayout(): void;
    isMac: boolean;
    oldView: string;
    oldPath: string;
}
/** @hidden */
export interface ITreeView extends base.Component<HTMLElement> {
    treeObj: navigations.TreeView;
    removeNode: Function;
    removeNodes: string[];
    duplicateFiles: Function;
    rootID: string;
    activeNode: Element;
    openFileOnContextMenuClick: Function;
}
/** @hidden */
export interface IContextMenu extends base.Component<HTMLElement> {
    disableItem(items: string[]): void;
    getItemIndex(item: string): number;
    contextMenu: navigations.ContextMenu;
    contextMenuBeforeOpen: Function;
    items: navigations.MenuItemModel[];
}
//node_modules/@syncfusion/ej2-filemanager/src/file-manager/common/index.d.ts
/**
 * File Manager common operations
 */
//node_modules/@syncfusion/ej2-filemanager/src/file-manager/common/operations.d.ts
/**
 * Function to read the content from given path in File Manager.
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @param {string} event - specifies the event.
 * @param {string} path - specifies the path.
 * @returns {void}
 * @private
 */
export  function read(parent: IFileManager, event: string, path: string): void;
/**
 * Function to create new folder in File Manager.
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @param {string} itemName - specifies the item name.
 * @returns {void}
 * @private
 */
export  function createFolder(parent: IFileManager, itemName: string): void;
/**
 * Function to filter the files in File Manager.
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @param {string}  event - specifies the event.
 * @returns {void}
 * @private
 */
export  function filter(parent: IFileManager, event: string): void;
/**
 * Function to rename the folder/file in File Manager.
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @param {string} path - specifies the path.
 * @param {string} itemNewName - specifies the item's new name.
 * @returns {void}
 * @private
 */
export  function rename(parent: IFileManager, path: string, itemNewName: string): void;
/**
 * Function to paste file's and folder's in File Manager.
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @param {string} path - specifies the path.
 * @param {string[]} names - specifies the names.
 * @param {string} targetPath - specifies the target path.
 * @param {string} pasteOperation - specifies the paste operation.
 * @param {string[]} renameItems - specifies the rename items.
 * @param {Object[]} actionRecords - specifies the action records.
 * @returns {void}
 * @private
 */
export  function paste(parent: IFileManager, path: string, names: string[], targetPath: string, pasteOperation: string, renameItems?: string[], actionRecords?: Object[]): void;
/**
 * Function to delete file's and folder's in File Manager.
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @param {string[]} items - specifies the items.
 * @param {string} path - specifies the path.
 * @param {string} operation - specifies the operation.
 * @returns {void}
 * @private
 */
export  function Delete(parent: IFileManager, items: string[], path: string, operation: string): void;
/**
 * Function to get details of file's and folder's in File Manager.
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @param {string[]} names - specifies the names.
 * @param {string} path - specifies the path.
 * @param {string} operation - specifies the operation data.
 * @returns {void}
 * @private
 */
export  function GetDetails(parent: IFileManager, names: string[], path: string, operation: string): void;
/**
 * Function for search in File Manager.
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @param {string} event - specifies the event.
 * @param {string} path - specifies the path.
 * @param {string} searchString - specifies the search string.
 * @param {boolean} showHiddenItems - specifies the hidden items.
 * @param {boolean} caseSensitive - specifies the casing of search text.
 * @returns {void}
 * @private
 */
export  function Search(parent: IFileManager, event: string, path: string, searchString: string, showHiddenItems?: boolean, caseSensitive?: boolean): void;
/**
 * Function for download in File Manager.
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @param {string} path - specifies the path.
 * @param {string[]} items - specifies the items.
 * @returns {void}
 * @private
 */
export  function Download(parent: IFileManager, path: string, items: string[]): void;
//node_modules/@syncfusion/ej2-filemanager/src/file-manager/common/utility.d.ts
/**
 * Utility file for common actions
 *
 * @param {HTMLLIElement} node - specifies the node.
 * @param {Object} data - specifies the data.
 * @param {IFileManager} instance - specifies the control instance.
 * @returns {void}
 * @private
 */
export  function updatePath(node: HTMLLIElement, data: Object, instance: IFileManager): void;
/**
 * Functions for get path in FileManager
 *
 * @param {Element | Node} element - specifies the element.
 * @param {string} text - specifies the text.
 * @param {boolean} hasId - specifies the id.
 * @returns {string} returns the path.
 * @private
 */
export  function getPath(element: Element | Node, text: string, hasId: boolean): string;
/**
 * Functions for get path id in FileManager
 *
 * @param {Element} node - specifies the node element.
 * @returns {string[]} returns the path ids.
 * @private
 */
export  function getPathId(node: Element): string[];
/**
 * Functions for get path names in FileManager
 *
 * @param {Element} element - specifies the node element.
 * @param {string} text - specifies the text.
 * @returns {string[]} returns the path names.
 * @private
 */
export  function getPathNames(element: Element, text: string): string[];
/**
 * Functions for get path id in FileManager
 *
 * @param {Element} element - specifies the node element.
 * @param {string} text - specifies the text.
 * @param {boolean} isId - specifies the id.
 * @param {boolean} hasId - checks the id exists.
 * @returns {string[]} returns parent element.
 * @private
 */
export  function getParents(element: Element, text: string, isId: boolean, hasId?: boolean): string[];
/**
 * Functions for generate path
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @returns {void}
 * @private
 */
export  function generatePath(parent: IFileManager): void;
/**
 * Functions for remove active element
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @returns {void}
 * @private
 */
export  function removeActive(parent: IFileManager): void;
/**
 * Selects active element in File Manager
 *
 * @param {string} action - specifies the action.
 * @param {IFileManager} parent - specifies the parent element.
 * @returns {boolean} - returns active element.
 * @private
 */
export  function activeElement(action: string, parent: IFileManager): boolean;
/**
 * Adds blur to the elements
 *
 * @param {Element} nodes - specifies the nodes.
 * @returns {void}
 * @private
 */
export  function addBlur(nodes: Element): void;
/**
 * Removes blur from elements
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @param {string} hover - specifies the hover string.
 * @returns {void}
 * @private
 */
export  function removeBlur(parent?: IFileManager, hover?: string): void;
/**
 * Gets module name
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @param {Element} element - specifies the element.
 * @returns {void}
 * @private
 */
export  function getModule(parent: IFileManager, element: Element): void;
/**
 * Gets module name
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @param {string} value - specifies the value.
 * @param {boolean} isLayoutChange - specifies the layout change.
 * @returns {void}
 * @private
 */
export  function searchWordHandler(parent: IFileManager, value: string, isLayoutChange: boolean): void;
/**
 * Gets updated layout
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @param {string} view - specifies the view.
 * @returns {void}
 * @private
 */
export  function updateLayout(parent: IFileManager, view: string): void;
/**
 * Gets updated layout
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @param {Element} element - specifies the element.
 * @returns {void}
 * @private
 */
export  function getTargetModule(parent: IFileManager, element: Element): void;
/**
 * refresh the layout
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @returns {void}
 * @private
 */
export  function refresh(parent: IFileManager): void;
/**
 * open action in the layout
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @returns {void}
 * @private
 */
export  function openAction(parent: IFileManager): void;
/**
 * open action in the layout
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @returns {Object} - returns the path data.
 * @private
 */
export  function getPathObject(parent: IFileManager): Object;
/**
 * Copy files
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @returns {void}
 * @private
 */
export  function copyFiles(parent: IFileManager): void;
/**
 * Cut files
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @returns {void}
 * @private
 */
export  function cutFiles(parent: IFileManager): void;
/**
 * To add class for fileType
 *
 * @param {Object} file - specifies the file.
 * @returns {string} - returns the file type.
 * @private
 */
export  function fileType(file: Object): string;
/**
 * To get the image URL
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @param {Object} item - specifies the item.
 * @returns {string} - returns the image url.
 * @private
 */
export  function getImageUrl(parent: IFileManager, item: Object): string;
/**
 * Gets the full path
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @param {Object} data - specifies the data.
 * @param {string} path - specifies the path.
 * @returns {string} - returns the image url.
 * @private
 */
export  function getFullPath(parent: IFileManager, data: Object, path: string): string;
/**
 * Gets the name
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @param {Object} data - specifies the data.
 * @returns {string} - returns the name.
 * @private
 */
export  function getName(parent: IFileManager, data: Object): string;
/**
 * Gets the name
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @param {Object[]} items - specifies the item elements.
 * @returns {Object[]} - returns the sorted data.
 * @private
 */
export  function getSortedData(parent: IFileManager, items: Object[]): Object[];
/**
 * Gets the data object
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @param {string} key - specifies the key.
 * @param {string} value - specifies the value.
 * @returns {Object} - returns the sorted data.
 * @private
 */
export  function getObject(parent: IFileManager, key: string, value: string): Object;
/**
 * Creates empty element
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @param {HTMLElement} element - specifies the element.
 * @param {ReadArgs | SearchArgs} args - specifies the args.
 * @returns {void}
 * @private
 */
export  function createEmptyElement(parent: IFileManager, element: HTMLElement, args: ReadArgs | SearchArgs): void;
/**
 * Gets the directories
 *
 * @param {Object[]} files - specifies the file object.
 * @returns {Object[]} - returns the sorted data.
 * @private
 */
export  function getDirectories(files: Object[]): Object[];
/**
 * set the Node ID
 *
 * @param {ReadArgs} result - specifies the result.
 * @param {string} rootId - specifies the rootId.
 * @returns {void}
 * @private
 */
export  function setNodeId(result: ReadArgs, rootId: string): void;
/**
 * set the date object
 *
 * @param {Object[]} args - specifies the file object.
 * @returns {void}
 * @private
 */
export  function setDateObject(args: Object[]): void;
/**
 * get the locale text
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @param {string} text - specifies the text.
 * @returns {string} - returns the locale text.
 * @private
 */
export  function getLocaleText(parent: IFileManager, text: string): string;
/**
 * get the CSS class
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @param {string} css - specifies the css.
 * @returns {string} - returns the css classes.
 * @private
 */
export  function getCssClass(parent: IFileManager, css: string): string;
/**
 * sort on click
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @param {navigations.MenuEventArgs} args - specifies the menu event arguements.
 * @returns {void}
 * @private
 */
export  function sortbyClickHandler(parent: IFileManager, args: navigations.MenuEventArgs): void;
/**
 * Gets the sorted fields
 *
 * @param {string} id - specifies the id.
 * @returns {string} - returns the sorted fields
 * @private
 */
export  function getSortField(id: string): string;
/**
 * Sets the next path
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @param {string} path - specifies the path.
 * @returns {void}
 * @private
 */
export  function setNextPath(parent: IFileManager, path: string): void;
/**
 * Opens the searched folder
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @param {Object} data - specifies the data
 * @returns {void}
 * @private
 */
export  function openSearchFolder(parent: IFileManager, data: Object): void;
/**
 * Paste handling function
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @returns {void}
 * @private
 */
export  function pasteHandler(parent: IFileManager): void;
/**
 * Validates the sub folders
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @param {'{ [key: string]: Object;
 }[]'} data - specifies the data.
 * @param {string} dropPath - specifies the drop path.
 * @param {string} dragPath - specifies the drag path.
 * @returns {boolean} - returns the validated sub folder.
 * @private
 */
export  function validateSubFolder(parent: IFileManager, data: {
    [key: string]: Object;
}[], dropPath: string, dragPath: string): boolean;
/**
 * Validates the drop handler
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @returns {void}
 * @private
 */
export  function dropHandler(parent: IFileManager): void;
/**
 * Gets the parent path
 *
 * @param {string} oldPath - specifies the old path.
 * @returns {string} - returns the parent path.
 * @private
 */
export  function getParentPath(oldPath: string): string;
/**
 * Gets the directory path
 *
 * @param {IFileManager} parent - specifies the parent.
 * @param {ReadArgs} args - returns the read arguements.
 * @returns {string} - returns the directory path
 * @private
 */
export  function getDirectoryPath(parent: IFileManager, args: ReadArgs): string;
/**
 * Gets the do paste path
 *
 * @param {IFileManager} parent - specifies the parent.
 * @param {string} operation - specifies the operations.
 * @param {ReadArgs} result - returns the result.
 * @returns {void}
 * @private
 */
export  function doPasteUpdate(parent: IFileManager, operation: string, result: ReadArgs): void;
/**
 * Reads the drop path
 *
 * @param {IFileManager} parent - specifies the parent.
 * @returns {void}
 * @private
 */
export  function readDropPath(parent: IFileManager): void;
/**
 * Gets the duplicated path
 *
 * @param {IFileManager} parent - specifies the parent.
 * @param {string} name - specifies the name.
 * @returns {object} - returns the duplicated path.
 * @private
 */
export  function getDuplicateData(parent: IFileManager, name: string): object;
/**
 * Gets the create the virtual drag element
 *
 * @param {IFileManager} parent - specifies the parent.
 * @returns {void}
 * @private
 */
export  function createVirtualDragElement(parent: IFileManager): void;
/**
 * Drops the stop handler
 *
 * @param {IFileManager} parent - specifies the parent.
 * @param {base.DragEventArgs} args - specifies the drag event arguements.
 * @returns {void}
 * @private
 */
export  function dragStopHandler(parent: IFileManager, args: base.DragEventArgs): void;
/**
 * Drag the start handler
 *
 * @param {IFileManager} parent - specifies the parent.
 * @param {'base.DragEventArgs'} args - specifies the drag event arguements.
 * @param {base.Draggable} dragObj - specifies the drag event arguements.
 * @returns {void}
 * @private
 */
export  function dragStartHandler(parent: IFileManager, args: base.DragEventArgs, dragObj: base.Draggable): void;
/**
 * Drag the cancel handler
 *
 * @param {IFileManager} parent - specifies the parent.
 * @returns {void}
 * @private
 */
export  function dragCancel(parent: IFileManager): void;
/**
 * Remove drop target handler
 *
 * @param {IFileManager} parent - specifies the parent.
 * @returns {void}
 * @private
 */
export  function removeDropTarget(parent: IFileManager): void;
/**
 * Remove item class handler
 *
 * @param {IFileManager} parent - specifies the parent.
 * @param {string} value - specifies the value.
 * @returns {void}
 * @private
 */
export  function removeItemClass(parent: IFileManager, value: string): void;
/**
 * Dragging handler
 *
 * @param {IFileManager} parent - specifies the parent.
 * @param {base.DragEventArgs} args - specifies the arguements.
 * @returns {void}
 * @private
 */
export  function draggingHandler(parent: IFileManager, args: base.DragEventArgs): void;
/**
 * Object to string handler
 *
 * @param {Object} data - specifies the data.
 * @returns {string} returns string converted from Object.
 * @private
 */
export  function objectToString(data: Object): string;
/**
 * Get item name handler
 *
 * @param {IFileManager} parent - specifies the parent.
 * @param {Object} data - specifies the data.
 * @returns {string} returns the item name.
 * @private
 */
export  function getItemName(parent: IFileManager, data: Object): string;
/**
 * Get item name handler
 *
 * @param {IFileManager} parent - specifies the parent.
 * @param {Object} data - specifies the data.
 * @returns {void}
 * @private
 */
export  function updateRenamingData(parent: IFileManager, data: Object): void;
/**
 * Get item name handler
 *
 * @param {IFileManager} parent - specifies the parent.
 * @returns {void}
 * @private
 */
export  function doRename(parent: IFileManager): void;
/**
 * Download handler
 *
 * @param {IFileManager} parent - specifies the parent.
 * @returns {void}
 * @private
 */
export  function doDownload(parent: IFileManager): void;
/**
 * Delete Files handler
 *
 * @param {IFileManager} parent - specifies the parent.
 * @param {Object[]} data - specifies the data.
 * @param {string[]} newIds - specifies the new Ids.
 * @returns {void}
 * @private
 */
export  function doDeleteFiles(parent: IFileManager, data: Object[], newIds: string[]): void;
/**
 * Download files handler
 *
 * @param {IFileManager} parent - specifies the parent.
 * @param {Object[]} data - specifies the data.
 * @param {string[]} newIds - specifies the new Ids.
 * @returns {void}
 * @private
 */
export  function doDownloadFiles(parent: IFileManager, data: Object[], newIds: string[]): void;
/**
 * Download files handler
 *
 * @param {IFileManager} parent - specifies the parent.
 * @param {Object} data - specifies the data.
 * @param {string} action - specifies the actions.
 * @returns {void}
 * @private
 */
export  function createDeniedDialog(parent: IFileManager, data: Object, action: string): void;
/**
 * Get Access Classes
 *
 * @param {Object} data - specifies the data.
 * @returns {string} - returns accesses classes.
 * @private
 */
export  function getAccessClass(data: Object): string;
/**
 * Check read access handler
 *
 * @param {Object} data - specifies the data.
 * @returns {boolean} - returns read access.
 * @private
 */
export  function hasReadAccess(data: Object): boolean;
/**
 * Check edit access handler
 *
 * @param {Object} data - specifies the data.
 * @returns {boolean} - returns edit access.
 * @private
 */
export  function hasEditAccess(data: Object): boolean;
/**
 * Check content access handler
 *
 * @param {Object} data - specifies the data.
 * @returns {boolean} - returns content access.
 * @private
 */
export  function hasContentAccess(data: Object): boolean;
/**
 * Check upload access handler
 *
 * @param {Object} data - specifies the data.
 * @returns {boolean} - returns upload access.
 * @private
 */
export  function hasUploadAccess(data: Object): boolean;
/**
 * Check download access handler
 *
 * @param {Object} data - specifies the data.
 * @returns {boolean} - returns download access.
 * @private
 */
export  function hasDownloadAccess(data: Object): boolean;
/**
 * Create new folder handler
 *
 * @param {IFileManager} parent - specifies the parent.
 * @returns {void}
 * @private
 */
export  function createNewFolder(parent: IFileManager): void;
/**
 * Upload item handler
 *
 * @param {IFileManager} parent - specifies the parent.
 * @returns {void}
 * @private
 */
export  function uploadItem(parent: IFileManager): void;
//node_modules/@syncfusion/ej2-filemanager/src/file-manager/index.d.ts
/**
 * File Manager modules
 */
//node_modules/@syncfusion/ej2-filemanager/src/file-manager/layout/details-view.d.ts
/**
 * DetailsView module
 */
export  class DetailsView {
    element: HTMLElement;
    private parent;
    private keyboardModule;
    private keyboardDownModule;
    private keyConfigs;
    private sortItem;
    private isInteracted;
    private interaction;
    private isPasteOperation;
    private isColumnRefresh;
    private clickObj;
    private sortSelectedNodes;
    private emptyArgs;
    private dragObj;
    private startIndex;
    private firstItemIndex;
    private isSelectionUpdate;
    private currentSelectedItem;
    private count;
    private isRendered;
    private isLoaded;
    private isNameWidth;
    gridObj: grids.Grid;
    pasteOperation: boolean;
    uploadOperation: boolean;
    /**
     * Constructor for the GridView module
     *
     * @param {FileManager} parent - specifies the parent.
     * @hidden
     */
    constructor(parent?: FileManager);
    private render;
    private checkNameWidth;
    private adjustWidth;
    private getColumns;
    private adjustHeight;
    private renderCheckBox;
    private onRowDataBound;
    private onActionBegin;
    private onHeaderCellInfo;
    private onBeforeDataBound;
    private onDataBound;
    private selectRecords;
    private addSelection;
    private onSortColumn;
    private onPropertyChanged;
    private onPathChanged;
    private updatePathColumn;
    private checkEmptyDiv;
    private onOpenInit;
    DblClickEvents(args: grids.RecordDoubleClickEventArgs): void;
    openContent(data: Object): void;
    private onLayoutChange;
    private onSearchFiles;
    private removePathColumn;
    private onFinalizeEnd;
    private onCreateEnd;
    private onRenameInit;
    private onSelectedData;
    private onDeleteInit;
    private onDeleteEnd;
    private onRefreshEnd;
    private onHideLayout;
    private onSelectAllInit;
    private onClearAllInit;
    private onSelectionChanged;
    private onLayoutRefresh;
    private onBeforeRequest;
    private onAfterRequest;
    private onUpdateSelectionData;
    private addEventListener;
    private removeEventListener;
    private onActionFailure;
    private onMenuItemData;
    private onPasteInit;
    private onDetailsInit;
    dragHelper(args: {
        element: HTMLElement;
        sender: MouseEvent & TouchEvent;
    }): HTMLElement;
    private onDetailsResize;
    private onDetailsResizeHandler;
    private createDragObj;
    private onDropInit;
    private oncutCopyInit;
    private onpasteEnd;
    private onDropPath;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} - returns modules name.
     * @private
     */
    private getModuleName;
    destroy(): void;
    private updateType;
    private onSelection;
    private onSelected;
    private onPathColumn;
    private selectedRecords;
    private onDeSelection;
    private triggerSelect;
    private wireEvents;
    private unWireEvents;
    private wireClickEvent;
    private removeSelection;
    private removeFocus;
    private getFocusedItemIndex;
    private keydownHandler;
    private keyupHandler;
    gridSelectNodes(): Object[];
    private doDownload;
    private performDelete;
    private performRename;
    private updateRenameData;
    private shiftMoveMethod;
    private moveFunction;
    private spaceSelection;
    private ctrlMoveFunction;
    private checkRowsKey;
    private InnerItems;
    private shiftSelectFocusItem;
    private addFocus;
    private getFocusedItem;
    private isSelected;
    private shiftSelectedItem;
    private onMethodCall;
    private getRecords;
    private deleteFiles;
    private downloadFiles;
    private openFile;
    private renameFile;
}
//node_modules/@syncfusion/ej2-filemanager/src/file-manager/layout/index.d.ts
/**
 * File Manager layout modules
 */
//node_modules/@syncfusion/ej2-filemanager/src/file-manager/layout/large-icons-view.d.ts
/**
 * LargeIconsView module
 */
export  class LargeIconsView {
    private parent;
    element: HTMLElement;
    listObj: lists.ListBaseOptions;
    private keyboardModule;
    private keyboardDownModule;
    private keyConfigs;
    private isInteraction;
    private itemList;
    items: Object[];
    private clickObj;
    private perRow;
    private startItem;
    private multiSelect;
    listElements: HTMLElement;
    uploadOperation: boolean;
    private count;
    private isRendered;
    private tapCount;
    private tapEvent;
    private isPasteOperation;
    private dragObj;
    private isInteracted;
    /**
     * Constructor for the LargeIcons module.
     *
     * @param {IFileManager} parent - specifies the parent element.
     * @hidden
     */
    constructor(parent?: IFileManager);
    private render;
    private preventImgDrag;
    private createDragObj;
    dragHelper(args: {
        element: HTMLElement;
        sender: MouseEvent & TouchEvent;
    }): HTMLElement;
    private onDropInit;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} - returns the module name.
     * @private
     */
    private getModuleName;
    private adjustHeight;
    private onItemCreated;
    private renderCheckbox;
    private onLayoutChange;
    private checkItem;
    private renderList;
    private onFinalizeEnd;
    private onCreateEnd;
    private onSelectedData;
    private onDeleteInit;
    private onDeleteEnd;
    private onRefreshEnd;
    private onRenameInit;
    private onPathChanged;
    private onOpenInit;
    private onHideLayout;
    private onSelectAllInit;
    private onClearAllInit;
    private onBeforeRequest;
    private onAfterRequest;
    private onSearch;
    private onLayoutRefresh;
    private onUpdateSelectionData;
    private onPathColumn;
    private removeEventListener;
    private addEventListener;
    private onActionFailure;
    private onMenuItemData;
    private onDetailsInit;
    private onpasteInit;
    private oncutCopyInit;
    private onpasteEnd;
    private onDropPath;
    private onPropertyChanged;
    destroy(): void;
    private wireEvents;
    private unWireEvents;
    private onMouseOver;
    private wireClickEvent;
    private doTapAction;
    private clickHandler;
    /**
     *
     * @param {Element} target - specifies the target element.
     * @param {base.TouchEventArgs | base.MouseEventArgs | base.KeyboardEventArgs} e - specifies event arguements.
     * @returns {void}
     * @hidden
     */
    doSelection(target: Element, e: base.TouchEventArgs | base.MouseEventArgs | base.KeyboardEventArgs): void;
    private dblClickHandler;
    private clearSelection;
    private resetMultiSelect;
    private doOpenAction;
    private updateType;
    private keydownActionHandler;
    private keyActionHandler;
    private doDownload;
    private performDelete;
    private performRename;
    private updateRenameData;
    private getVisitedItem;
    private getFocusedItem;
    private getActiveItem;
    private getFirstItem;
    private getLastItem;
    private navigateItem;
    private navigateDown;
    private navigateRight;
    private getNextItem;
    private setFocus;
    private spaceKey;
    private ctrlAKey;
    private csEndKey;
    private csHomeKey;
    private csDownKey;
    private csLeftKey;
    private csRightKey;
    private csUpKey;
    private addActive;
    private removeActive;
    private getDataName;
    private addFocus;
    private checkState;
    private clearSelect;
    private resizeHandler;
    private splitterResizeHandler;
    private getItemCount;
    private triggerSelection;
    private triggerSelect;
    private selectItems;
    private getIndexes;
    private getItemObject;
    private addSelection;
    private updateSelectedData;
    private onMethodCall;
    private getItemsIndex;
    private deleteFiles;
    private downloadFiles;
    private openFile;
    private renameFile;
}
//node_modules/@syncfusion/ej2-filemanager/src/file-manager/layout/navigation-pane.d.ts
/**
 * NavigationPane module
 */
export  class NavigationPane {
    private parent;
    treeObj: navigations.TreeView;
    activeNode: Element;
    private keyboardModule;
    private keyConfigs;
    private expandNodeTarget;
    removeNodes: string[];
    moveNames: string[];
    touchClickObj: base.Touch;
    private expandTree;
    private isDrag;
    private dragObj;
    private isPathDragged;
    private isRenameParent;
    private isRightClick;
    private renameParent;
    private previousSelected;
    private isNodeClickCalled;
    private restrictSelecting;
    /**
     * Constructor for the TreeView module
     *
     * @param {IFileManager} parent - specifies the parent element.
     * @hidden
     */
    constructor(parent?: IFileManager);
    private onInit;
    private addDragDrop;
    dragHelper(args: {
        element: HTMLElement;
        sender: MouseEvent & TouchEvent;
    }): HTMLElement;
    private getDragPath;
    private getDropPath;
    private onDrowNode;
    private addChild;
    private onNodeSelecting;
    openFileOnContextMenuClick(node: HTMLLIElement): void;
    private onNodeSelected;
    private onPathDrag;
    private onNodeExpand;
    private onNodeExpanded;
    private onNodeClicked;
    private onNodeEditing;
    private onPathChanged;
    private updateTree;
    private updateTreeNode;
    private removeChildNodes;
    private onOpenEnd;
    private onOpenInit;
    private onInitialEnd;
    private onFinalizeEnd;
    private onCreateEnd;
    private onSelectedData;
    private onDeleteInit;
    private onDeleteEnd;
    private onRefreshEnd;
    private onRenameInit;
    private onRenameEndParent;
    private onRenameEnd;
    private onPropertyChanged;
    private onDownLoadInit;
    private onSelectionChanged;
    private onClearPathInit;
    private onDragEnd;
    private getMoveNames;
    private onCutEnd;
    private selectResultNode;
    private onDropPath;
    private onpasteEnd;
    private checkDropPath;
    private onpasteInit;
    private oncutCopyInit;
    private addEventListener;
    private removeEventListener;
    private onDetailsInit;
    private onMenuItemData;
    private onDragging;
    private onDropInit;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} - returns the module name.
     * @private
     */
    private getModuleName;
    destroy(): void;
    private wireEvents;
    private unWireEvents;
    private keyDown;
    private getTreeData;
    private updateRenameData;
    private updateItemData;
    private updateActionData;
    private doDownload;
}
//node_modules/@syncfusion/ej2-filemanager/src/file-manager/models/ajax-settings-model.d.ts
/**
 * Interface for a class AjaxSettings
 */
export interface AjaxSettingsModel {
    /**
     * Specifies URL to download the files from server.
     *
     * @default null
     */
    downloadUrl?: string;
    /**
     * Specifies URL to get the images from server.
     *
     * @default null
     */
    getImageUrl?: string;
    /**
     * Specifies URL to upload the files to server.
     *
     * @default null
     */
    uploadUrl?: string;
    /**
     * Specifies URL to read the files from server.
     *
     * @default null
     */
    url?: string;
}
//node_modules/@syncfusion/ej2-filemanager/src/file-manager/models/ajax-settings.d.ts
/**
 * Specifies the Ajax settings of the File Manager.
 */
export  class AjaxSettings extends base.ChildProperty<AjaxSettings> {
    /**
     * Specifies URL to download the files from server.
     *
     * @default null
     */
    downloadUrl: string;
    /**
     * Specifies URL to get the images from server.
     *
     * @default null
     */
    getImageUrl: string;
    /**
     * Specifies URL to upload the files to server.
     *
     * @default null
     */
    uploadUrl: string;
    /**
     * Specifies URL to read the files from server.
     *
     * @default null
     */
    url: string;
}
//node_modules/@syncfusion/ej2-filemanager/src/file-manager/models/column-model.d.ts
/**
 * Interface for a class Column
 */
export interface ColumnModel {
    /**
     * Defines the field name of column which is mapped with mapping name of DataSource.
     * The bounded columns can be sort, filter and group etc.,
     * The `field` name must be a valid JavaScript identifier,
     * the first character must be an alphabet and should not contain spaces and special characters.
     *
     * @default ''
     */
    field?: string;
    /**
     * Defines the header text of column which is used to display in column header.
     * If `headerText` is not defined, then field name value will be assigned to header text.
     *
     * @default ''
     */
    headerText?: string;
    /**
     * Defines the width of the column in pixels or percentage.
     *
     * @default ''
     */
    width?: string | number;
    /**
     * Defines the minimum width of the column in pixels or percentage.
     *
     * @default ''
     */
    minWidth?: string | number;
    /**
     * Defines the maximum width of the column in pixel or percentage, which will restrict resizing beyond this pixel or percentage.
     *
     * @default ''
     */
    maxWidth?: string | number;
    /**
     * Defines the alignment of the column in both header and content cells.
     *
     * @default Left
     */
    textAlign?: TextAlign;
    /**
     * Define the alignment of column header which is used to align the text of column header.
     *
     * @default null
     */
    headerTextAlign?: TextAlign;
    /**
     * Defines the data type of the column.
     *
     * @default null
     */
    type?: string;
    /**
     * It is used to change display value with the given format and does not affect the original data.
     * Gets the format from the user which can be standard or custom
     * [`number`](../../common/internationalization/#manipulating-numbers)
     * and [`date`](../../common/internationalization/#manipulating-datetime) formats.
     *
     * @default null
     * @aspType string
     */
    format?: string | base.NumberFormatOptions | base.DateFormatOptions;
    /**
     * Defines the column template that renders customized element in each cell of the column.
     * It accepts either [template string](https://ej2.syncfusion.com/documentation/common/template-engine/) or HTML element ID.
     *
     * @default null
     */
    template?: string;
    /**
     * Defines the column template as string or HTML element ID which is used to add customized element in the column header.
     *
     * @default null
     */
    headerTemplate?: string;
    /**
     * If `allowSorting` set to false, then it disables sorting option of a particular column.
     * By default all columns are sortable.
     *
     * @default true
     */
    allowSorting?: boolean;
    /**
     * If `allowResizing` set to false, it disables resize option of a particular column.
     *
     * @default true
     */
    allowResizing?: boolean;
    /**
     * The CSS styles and attributes of the content cells of a particular column can be customized.
     *
     * @default null
     */
    /* eslint-disable */
    customAttributes?: { [x: string]: Object };
    /**
     * Column visibility can change based on [`Media Queries`](http://cssmediaqueries.com/what-are-css-media-queries.html).
     * `hideAtMedia` accepts only valid Media Queries.
     *
     * @default ''
     */
    hideAtMedia?: string;
    /**
     * It is used to change display value with the given format and does not affect the original data.
     * Gets the format from the user which can be standard or custom
     * [`number`](../../common/internationalization/#manipulating-numbers)
     * and [`date`](../../common/internationalization/#manipulating-datetime) formats.
     *
     * @default null
     */
    /* eslint-disable */
    customFormat?: { [x: string]: Object };
}
//node_modules/@syncfusion/ej2-filemanager/src/file-manager/models/column.d.ts
/**
 * Defines alignments of text, they are
 * * Left
 * * Right
 * * Center
 * * Justify
 */
export  type TextAlign = 
/**  Defines Left alignment */
'Left' | 
/**  Defines Right alignment */
'Right' | 
/**  Defines Center alignment */
'Center' | 
/**  Defines Justify alignment */
'Justify';
/**
 * Defines the cell content's overflow mode. The available modes are
 * * `Clip` -  Truncates the cell content when it overflows its area.
 * * `Ellipsis` -  Displays ellipsis when the cell content overflows its area.
 * * `EllipsisWithTooltip` - Displays ellipsis when the cell content overflows its area
 * also it will display tooltip while hover on ellipsis applied cell.
 */
export  type ClipMode = 
/**  Truncates the cell content when it overflows its area */
'Clip' | 
/** Displays ellipsis when the cell content overflows its area */
'Ellipsis' | 
/** Displays ellipsis when the cell content overflows its area also it will display tooltip while hover on ellipsis applied cell. */
'EllipsisWithTooltip';
/**
 * Interface for a class Column
 */
export  class Column extends base.ChildProperty<Column> {
    /**
     * Defines the field name of column which is mapped with mapping name of DataSource.
     * The bounded columns can be sort, filter and group etc.,
     * The `field` name must be a valid JavaScript identifier,
     * the first character must be an alphabet and should not contain spaces and special characters.
     *
     * @default ''
     */
    field: string;
    /**
     * Defines the header text of column which is used to display in column header.
     * If `headerText` is not defined, then field name value will be assigned to header text.
     *
     * @default ''
     */
    headerText: string;
    /**
     * Defines the width of the column in pixels or percentage.
     *
     * @default ''
     */
    width: string | number;
    /**
     * Defines the minimum width of the column in pixels or percentage.
     *
     * @default ''
     */
    minWidth: string | number;
    /**
     * Defines the maximum width of the column in pixel or percentage, which will restrict resizing beyond this pixel or percentage.
     *
     * @default ''
     */
    maxWidth: string | number;
    /**
     * Defines the alignment of the column in both header and content cells.
     *
     * @default Left
     */
    textAlign: TextAlign;
    /**
     * Defines the cell content's overflow mode. The available modes are
     * * `Clip` -  Truncates the cell content when it overflows its area.
     * * `Ellipsis` -  Displays ellipsis when the cell content overflows its area.
     * * `EllipsisWithTooltip` - Displays ellipsis when the cell content overflows its area
     * also it will display tooltip while hover on ellipsis applied cell.
     *
     * @default Ellipsis
     */
    clipMode: ClipMode;
    /**
     * Define the alignment of column header which is used to align the text of column header.
     *
     * @default null
     */
    headerTextAlign: TextAlign;
    /**
     * Defines the data type of the column.
     *
     * @default null
     */
    type: string;
    /**
     * It is used to change display value with the given format and does not affect the original data.
     * Gets the format from the user which can be standard or custom
     * [`number`](../../common/internationalization/#manipulating-numbers)
     * and [`date`](../../common/internationalization/#manipulating-datetime) formats.
     *
     * @default null
     * @aspType string
     */
    format: string | base.NumberFormatOptions | base.DateFormatOptions;
    /**
     * Defines the column template that renders customized element in each cell of the column.
     * It accepts either [template string](https://ej2.syncfusion.com/documentation/common/template-engine/) or HTML element ID.
     *
     * @default null
     */
    template: string;
    /**
     * Defines the column template as string or HTML element ID which is used to add customized element in the column header.
     *
     * @default null
     */
    headerTemplate: string;
    /**
     * If `allowSorting` set to false, then it disables sorting option of a particular column.
     * By default all columns are sortable.
     *
     * @default true
     */
    allowSorting: boolean;
    /**
     * If `allowResizing` set to false, it disables resize option of a particular column.
     *
     * @default true
     */
    allowResizing: boolean;
    /**
     * The CSS styles and attributes of the content cells of a particular column can be customized.
     *
     * @default null
     */
    customAttributes: {
        [x: string]: Object;
    };
    /**
     * Column visibility can change based on [`Media Queries`](http://cssmediaqueries.com/what-are-css-media-queries.html).
     * `hideAtMedia` accepts only valid Media Queries.
     *
     * @default ''
     */
    hideAtMedia: string;
    /**
     * It is used to change display value with the given format and does not affect the original data.
     * Gets the format from the user which can be standard or custom
     * [`number`](../../common/internationalization/#manipulating-numbers)
     * and [`date`](../../common/internationalization/#manipulating-datetime) formats.
     *
     * @default null
     */
    customFormat: {
        [x: string]: Object;
    };
}
//node_modules/@syncfusion/ej2-filemanager/src/file-manager/models/contextMenu-settings-model.d.ts
/**
 * Interface for a class ContextMenuSettings
 */
export interface ContextMenuSettingsModel {
    /**
     * Specifies the array of string or object that is used to configure file items.
     *
     * @default fileItems
     */
    file?: string[];
    /**
     * An array of string or object that is used to configure folder items.
     *
     * @default folderItems
     */
    folder?: string[];
    /**
     * An array of string or object that is used to configure layout items.
     *
     * @default layoutItems
     */
    layout?: string[];
    /**
     * Enables or disables the ContextMenu.
     *
     * @default true
     */
    visible?: boolean;
}
//node_modules/@syncfusion/ej2-filemanager/src/file-manager/models/contextMenu-settings.d.ts
export  const fileItems: string[];
export  const folderItems: string[];
export  const layoutItems: string[];
/**
 * Specifies the ContextMenu settings of the File Manager.
 */
export  class ContextMenuSettings extends base.ChildProperty<ContextMenuSettings> {
    /**
     * Specifies the array of string or object that is used to configure file items.
     *
     * @default fileItems
     */
    file: string[];
    /**
     * An array of string or object that is used to configure folder items.
     *
     * @default folderItems
     */
    folder: string[];
    /**
     * An array of string or object that is used to configure layout items.
     *
     * @default layoutItems
     */
    layout: string[];
    /**
     * Enables or disables the ContextMenu.
     *
     * @default true
     */
    visible: boolean;
}
//node_modules/@syncfusion/ej2-filemanager/src/file-manager/models/default-locale.d.ts
/**
 * Specifies the default locale of FileManager component
 */
export  const defaultLocale: Object;
//node_modules/@syncfusion/ej2-filemanager/src/file-manager/models/details-view-settings-model.d.ts
/**
 * Interface for a class DetailsViewSettings
 */
export interface DetailsViewSettingsModel {
    /**
     * If `columnResizing` is set to true, Grid columns can be resized.
     *
     * @default true
     */
    columnResizing?: boolean;
    /**
     * Specifies the customizable details view.
     *
     * @default {
     * columns: [{
     * field: 'name', headerText: 'Name', minWidth: 120, customAttributes: { class: 'e-fe-grid-name' },
     * template: '\<span class="e-fe-text">${name}\</span>'},{field: 'size', headerText: 'Size',
     * minWidth: 50, width: '110', template: '\<span class="e-fe-size">${size}\</span>'},
     * { field: '_fm_modified', headerText: 'DateModified',
     * minWidth: 50, width: '190'}
     * ]
     * }
     */
    columns?: ColumnModel[];
}
//node_modules/@syncfusion/ej2-filemanager/src/file-manager/models/details-view-settings.d.ts
/**
 * Specifies the columns in the details view of the file manager.
 */
export  const columnArray: ColumnModel[];
/**
 * Specifies the grid settings of the File Manager.
 */
export  class DetailsViewSettings extends base.ChildProperty<DetailsViewSettings> {
    /**
     * If `columnResizing` is set to true, Grid columns can be resized.
     *
     * @default true
     */
    columnResizing: boolean;
    /**
     * Specifies the customizable details view.
     *
     * @default {
     * columns: [{
     * field: 'name', headerText: 'Name', minWidth: 120, customAttributes: { class: 'e-fe-grid-name' },
     * template: '\<span class="e-fe-text">${name}\</span>'},{field: 'size', headerText: 'Size',
     * minWidth: 50, width: '110', template: '\<span class="e-fe-size">${size}\</span>'},
     * { field: '_fm_modified', headerText: 'DateModified',
     * minWidth: 50, width: '190'}
     * ]
     * }
     */
    columns: ColumnModel[];
}
//node_modules/@syncfusion/ej2-filemanager/src/file-manager/models/index.d.ts
/**
 * FileExplorer common modules
 */
//node_modules/@syncfusion/ej2-filemanager/src/file-manager/models/navigation-pane-settings-model.d.ts
/**
 * Interface for a class NavigationPaneSettings
 */
export interface NavigationPaneSettingsModel {
    /**
     * Specifies the maximum width of navigationpane.
     *
     * @default '650px'
     */
    maxWidth?: string | number;
    /**
     * Specifies the minimum width of navigationpane.
     *
     * @default '240px'
     */
    minWidth?: string | number;
    /**
     * Enables or disables the navigation pane.
     *
     * @default true
     */
    visible?: boolean;
    /**
     * Specifies a value that indicates how to sort the folders in the navigation pane of the file manager component.
     *
     * If the sortOrder is Ascending, the folders are sorted in ascending order.
     * If the sortOrder is Descending, the folders are sorted in descending order.
     * If the sortOrder is None, the folders are not sorted.
     *
     * @default 'None'
     */
    sortOrder?: 'None' | 'Ascending' | 'Descending';
}
//node_modules/@syncfusion/ej2-filemanager/src/file-manager/models/navigation-pane-settings.d.ts
/**
 * Specifies the navigationpane settings of the File Manager.
 */
export  class NavigationPaneSettings extends base.ChildProperty<NavigationPaneSettings> {
    /**
     * Specifies the maximum width of navigationpane.
     *
     * @default '650px'
     */
    maxWidth: string | number;
    /**
     * Specifies the minimum width of navigationpane.
     *
     * @default '240px'
     */
    minWidth: string | number;
    /**
     * Enables or disables the navigation pane.
     *
     * @default true
     */
    visible: boolean;
    /**
     * Specifies a value that indicates how to sort the folders in the navigation pane of the file manager component.
     *
     * If the sortOrder is Ascending, the folders are sorted in ascending order.
     * If the sortOrder is Descending, the folders are sorted in descending order.
     * If the sortOrder is None, the folders are not sorted.
     *
     * @default 'None'
     */
    sortOrder: 'None' | 'Ascending' | 'Descending';
}
//node_modules/@syncfusion/ej2-filemanager/src/file-manager/models/search-settings-model.d.ts
/**
 * Interface for a class SearchSettings
 */
export interface SearchSettingsModel {
    /**
     * Enables or disables the allowSearchOnTyping.
     *
     * @default true
     */
    allowSearchOnTyping?: boolean;
    /**
     * Specifies the filter type while searching the content. The available filter types are:
     * * `contains`
     * * `startsWith`
     * * `endsWith`
     *
     * @default 'contains'
     */
    filterType?: FilterType;
    /**
     * If ignoreCase is set to false, searches files that match exactly,
     * else searches files that are case insensitive(uppercase and lowercase letters treated the same).
     *
     * @default true
     */
    ignoreCase?: boolean;
    /**
     * Specifies the placeholder value to the search input of the File Manager component.
     * It accepts string.
     *
     * @default null
     */
    placeholder?: string;
}
//node_modules/@syncfusion/ej2-filemanager/src/file-manager/models/search-settings.d.ts
/**
 * Specifies the filter type for Search settings of the File Manager.
 */
export  type FilterType = 'contains' | 'startsWith' | 'endsWith';
/**
 * Specifies the Search settings of the File Manager.
 */
export  class SearchSettings extends base.ChildProperty<SearchSettings> {
    /**
     * Enables or disables the allowSearchOnTyping.
     *
     * @default true
     */
    allowSearchOnTyping: boolean;
    /**
     * Specifies the filter type while searching the content. The available filter types are:
     * * `contains`
     * * `startsWith`
     * * `endsWith`
     *
     * @default 'contains'
     */
    filterType: FilterType;
    /**
     * If ignoreCase is set to false, searches files that match exactly,
     * else searches files that are case insensitive(uppercase and lowercase letters treated the same).
     *
     * @default true
     */
    ignoreCase: boolean;
    /**
     * Specifies the placeholder value to the search input of the File Manager component.
     * It accepts string.
     *
     * @default null
     */
    placeholder: string;
}
//node_modules/@syncfusion/ej2-filemanager/src/file-manager/models/toolbar-settings-model.d.ts
/**
 * Interface for a class ToolbarSettings
 */
export interface ToolbarSettingsModel {
    /**
     * An array of string or object that is used to configure the toolbar items.
     *
     * @default toolbarItems
     */
    items?: string[];
    /**
     * Enables or disables the toolbar rendering in the file manager component.
     *
     * @default true
     */
    visible?: boolean;
}
//node_modules/@syncfusion/ej2-filemanager/src/file-manager/models/toolbar-settings.d.ts
export  const toolbarItems: string[];
/**
 * Specifies the Toolbar settings of the FileManager.
 */
export  class ToolbarSettings extends base.ChildProperty<ToolbarSettings> {
    /**
     * An array of string or object that is used to configure the toolbar items.
     *
     * @default toolbarItems
     */
    items: string[];
    /**
     * Enables or disables the toolbar rendering in the file manager component.
     *
     * @default true
     */
    visible: boolean;
}
//node_modules/@syncfusion/ej2-filemanager/src/file-manager/models/upload-settings-model.d.ts
/**
 * Interface for a class UploadSettings
 */
export interface UploadSettingsModel {
    /**
     * Specifies the extensions of the file types allowed in the file manager component and pass the extensions with comma separators.
     * For example, if you want to upload specific image files, pass allowedExtensions as ".jpg,.png".
     *
     * @defaults ''
     */
    allowedExtensions?: string;
    /**
     * By default, the FileManager component initiates automatic upload when the files are added in upload queue.
     * If you want to manipulate the files before uploading to server, disable the autoUpload property.
     * The buttons "upload" and "clear" will be hided from file list when the autoUpload property is true.
     *
     * @default true
     */
    autoUpload?: boolean;
    /**
     * Defines whether to close the upload dialog after uploading all the files.
     *
     * @default false
     */
    autoClose?: boolean;
    /**
     * Specifies a Boolean value that indicates whether the folder (directory) can be browsed and uploaded in the FileManager component.
     * This property allows to select or drop to upload the folders (directories) instead of files. When folder upload is enabled, all the folder contents including hierarchy folders and files are considered to upload.
     * Folder (directory) upload is supported for the following file system providers,
     * - Physical provider
     * - NodeJS provider
     * - Azure provider
     * - Amazon S3 provider
     *
     * @default false
     */
    directoryUpload?: boolean;
    /**
     * Specifies the minimum file size to be uploaded in bytes.
     * The property is used to make sure that you cannot upload empty files and small files.
     *
     * @default 0
     */
    minFileSize?: number;
    /**
     * Specifies the maximum allowed file size to be uploaded in bytes.
     * The property is used to make sure that you cannot upload too large files.
     *
     * @default 30000000
     */
    maxFileSize?: number;
}
//node_modules/@syncfusion/ej2-filemanager/src/file-manager/models/upload-settings.d.ts
/**
 * Specifies the Ajax settings of the File Manager.
 */
export  class UploadSettings extends base.ChildProperty<UploadSettings> {
    /**
     * Specifies the extensions of the file types allowed in the file manager component and pass the extensions with comma separators.
     * For example, if you want to upload specific image files, pass allowedExtensions as ".jpg,.png".
     *
     * @defaults ''
     */
    allowedExtensions: string;
    /**
     * By default, the FileManager component initiates automatic upload when the files are added in upload queue.
     * If you want to manipulate the files before uploading to server, disable the autoUpload property.
     * The buttons "upload" and "clear" will be hided from file list when the autoUpload property is true.
     *
     * @default true
     */
    autoUpload: boolean;
    /**
     * Defines whether to close the upload dialog after uploading all the files.
     *
     * @default false
     */
    autoClose: boolean;
    /**
     * Specifies a Boolean value that indicates whether the folder (directory) can be browsed and uploaded in the FileManager component.
     * This property allows to select or drop to upload the folders (directories) instead of files. When folder upload is enabled, all the folder contents including hierarchy folders and files are considered to upload.
     * Folder (directory) upload is supported for the following file system providers,
     * - Physical provider
     * - NodeJS provider
     * - Azure provider
     * - Amazon S3 provider
     *
     * @default false
     */
    directoryUpload: boolean;
    /**
     * Specifies the minimum file size to be uploaded in bytes.
     * The property is used to make sure that you cannot upload empty files and small files.
     *
     * @default 0
     */
    minFileSize: number;
    /**
     * Specifies the maximum allowed file size to be uploaded in bytes.
     * The property is used to make sure that you cannot upload too large files.
     *
     * @default 30000000
     */
    maxFileSize: number;
}
//node_modules/@syncfusion/ej2-filemanager/src/file-manager/pop-up/context-menu.d.ts
/**
 * ContextMenu module
 */
export  class ContextMenu {
    private parent;
    private targetElement;
    contextMenu: navigations.ContextMenu;
    menuTarget: HTMLElement;
    private keyConfigs;
    private keyboardModule;
    private menuType;
    private currentItems;
    private currentElement;
    private disabledItems;
    private targetNodeElement;
    menuItemData: object;
    /**
     * Constructor for the ContextMenu module
     *
     * @param {IFileManager} parent - Specifies the parent element.
     * @hidden
     */
    constructor(parent?: IFileManager);
    private render;
    onBeforeItemRender(args: splitbuttons.MenuEventArgs): void;
    onBeforeClose(): void;
    onBeforeOpen(args: navigations.BeforeOpenCloseMenuEventArgs): void;
    private updateActiveModule;
    /**
     *
     * @param {Element} target - specifies the target element.
     * @returns {string} -returns the target view.
     * @hidden
     */
    getTargetView(target: Element): string;
    getItemIndex(item: string): number;
    disableItem(items: string[]): void;
    private enableItems;
    private setFolderItem;
    private setFileItem;
    private setLayoutItem;
    private checkValidItem;
    private getMenuItemData;
    private onSelect;
    private onPropertyChanged;
    private addEventListener;
    private removeEventListener;
    private keyActionHandler;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} - returns the module name.
     * @private
     */
    private getModuleName;
    private destroy;
    private getItemData;
    private getMenuId;
}
//node_modules/@syncfusion/ej2-filemanager/src/file-manager/pop-up/dialog.d.ts
/**
 *
 * @param {IFileManager} parent - Specifies the parent element
 * @param {string} text - specifies the text string.
 * @param {ReadArgs | inputs.SelectedEventArgs} e - specifies the type of event args.
 * @param {FileDetails} details - specifies the file details.
 * @param {string[]} replaceItems - specifies the replacement.
 * @returns {void}
 * @private
 */
export  function createDialog(parent: IFileManager, text: string, e?: ReadArgs | inputs.SelectedEventArgs, details?: FileDetails, replaceItems?: string[]): void;
/**
 *
 * @param {IFileManager} parent - Specifies the parent element.
 * @param {string} text - specifies the text string.
 * @param {string[]} replaceItems - specifies the replacement items.
 * @param {string} newPath - specifies the new path.
 * @returns {void}
 * @private
 */
export  function createExtDialog(parent: IFileManager, text: string, replaceItems?: string[], newPath?: string): void;
/**
 *
 * @param {IFileManager} parent - specifies the parent element.
 * @param {string} header - specifies the header element.
 * @param {string} imageUrl - specifies the image URL.
 * @returns {void}
 * @private
 */
export  function createImageDialog(parent: IFileManager, header: string, imageUrl: string): void;
//node_modules/@syncfusion/ej2-filemanager/src/file-manager/pop-up/index.d.ts
/**
 * File Manager pop-up modules
 */
//node_modules/@syncfusion/ej2-filemanager/src/index.d.ts
/**
 * File Manager all modules
 */
 }
export namespace gantt { 

//node_modules/@syncfusion/ej2-gantt/src/components.d.ts
/**
 * Gantt Component
 */
//node_modules/@syncfusion/ej2-gantt/src/gantt/actions/actions.d.ts
/**
 * Gantt Action Modules
 */
//node_modules/@syncfusion/ej2-gantt/src/gantt/actions/cell-edit.d.ts
/**
 * To handle cell edit action on default columns and custom columns
 */
export  class CellEdit {
    private parent;
    /**
     * @private
     */
    isCellEdit: boolean;
    isResourceCellEdited: boolean;
    editedColumn: ColumnModel;
    constructor(ganttObj: Gantt);
    /**
     * Bind all editing related properties from Gantt to TreeGrid
     *
     * @returns {void} .
     */
    private bindTreeGridProperties;
    /**
     * Ensure current cell was editable or not
     *
     * @param {CellEditArgs} args .
     * @returns {void | Deferred} .
     */
    private ensureEditCell;
    /**
     * To render edit dialog and to focus on notes tab
     *
     * @param {CellEditArgs} args .
     * @returns {void} .
     */
    private openNotesEditor;
    private isValueChange;
    /**
     * Initiate cell save action on Gantt with arguments from TreeGrid
     *
     * @param {object} args .
     * @param {object} editedObj .
     * @returns {void} .
     * @private
     */
    initiateCellEdit(args: object, editedObj: object): void;
    /**
     * To update task name cell with new value
     *
     * @param {ITaskbarEditedEventArgs} args .
     * @returns {void} .
     */
    private taskNameEdited;
    /**
     * To update task notes cell with new value
     *
     * @param {ITaskbarEditedEventArgs} args .
     * @returns {void} .
     */
    private notedEdited;
    /**
     * To update task schedule mode cell with new value
     *
     * @param {ITaskbarEditedEventArgs} args .
     * @returns {void} .
     */
    private taskmodeEdited;
    /**
     * To update task start date cell with new value
     *
     * @param {ITaskbarEditedEventArgs} args .
     * @returns {void} .
     */
    private startDateEdited;
    validateEndDateWithSegments(ganttProp: ITaskData): ITaskSegment[];
    /**
     * To update task end date cell with new value
     *
     * @param {ITaskbarEditedEventArgs} args .
     * @returns {void} .
     */
    private endDateEdited;
    /**
     * To update duration cell with new value
     *
     * @param {ITaskbarEditedEventArgs} args .
     * @returns {void} .
     */
    private durationEdited;
    /**
     * To update start date, end date based on duration
     *
     * @param {ITaskbarEditedEventArgs} args .
     * @returns {void} .
     */
    private updateDates;
    /**
     * To update progress cell with new value
     *
     * @param {ITaskbarEditedEventArgs} args .
     * @returns {void} .
     */
    private progressEdited;
    /**
     * To update baselines with new baseline start date and baseline end date
     *
     * @param {ITaskbarEditedEventArgs} args .
     * @returns {void} .
     */
    private baselineEdited;
    /**
     * To update task's resource cell with new value
     *
     * @param {ITaskbarEditedEventArgs} args .
     * @param {object} editedObj .
     * @param {IGanttData} previousData .
     * @returns {void} .
     */
    private resourceEdited;
    /**
     * To update task's predecessor cell with new value
     *
     * @param {ITaskbarEditedEventArgs} editedArgs .
     * @param {object} cellEditArgs .
     * @returns {void} .
     */
    private dependencyEdited;
    /**
     * To update task's work cell with new value
     *
     * @param {ITaskbarEditedEventArgs} editedArgs .
     * @returns {void} .
     */
    private workEdited;
    /**
     * To update task type cell with new value
     *
     * @param {ITaskbarEditedEventArgs} args .
     * @param {object} editedObj .
     * @returns {void} .
     */
    private typeEdited;
    /**
     * To compare start date and end date from Gantt record
     *
     * @param {ITaskData} ganttRecord .
     * @returns {number} .
     */
    private compareDatesFromRecord;
    /**
     * To start method save action with edited cell value
     *
     * @param {ITaskbarEditedEventArgs} args .
     * @returns {void} .
     */
    private updateEditedRecord;
    /**
     * To remove all public private properties
     *
     * @returns {void} .
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/actions/chart-scroll.d.ts
/**
 * To handle scroll event on chart and from TreeGrid
 *
 * @hidden
 */
export  class ChartScroll {
    private parent;
    private element;
    private isFromTreeGrid;
    previousScroll: {
        top: number;
        left: number;
    };
    /**
     * Constructor for the scrolling.
     *
     * @param {Gantt} parent .
     * @hidden
     */
    constructor(parent: Gantt);
    /**
     * Bind event
     *
     * @returns {void} .
     */
    private addEventListeners;
    /**
     * Unbind events
     *
     * @returns {void} .
     */
    private removeEventListeners;
    /**
     *
     * @param {object} args .
     * @returns {void} .
     */
    private gridScrollHandler;
    /**
     * Method to update vertical grid line, holiday, event markers and weekend container's top position on scroll action
     *
     * @returns {void} .
     * @private
     */
    updateTopPosition(): void;
    /**
     * Scroll event handler
     *
     * @returns {void} .
     */
    private onScroll;
    /**
     * To set height for chart scroll container
     *
     * @param {string | number} height - To set height for scroll container in chart side
     * @returns {void} .
     * @private
     */
    setHeight(height: string | number): void;
    /**
     * To set width for chart scroll container
     *
     * @param {string | number} width - To set width to scroll container
     * @returns {void} .
     * @private
     */
    setWidth(width: string | number): void;
    /**
     * To set scroll top for chart scroll container
     *
     * @param {number} scrollTop - To set scroll top for scroll container
     * @returns {void} .
     * @private
     */
    setScrollTop(scrollTop: number): void;
    /**
     * To set scroll left for chart scroll container
     *
     * @param {number} scrollLeft  - To set scroll left for scroll container
     * @returns {void} .
     */
    setScrollLeft(scrollLeft: number): void;
    /**
     * Destroy scroll related elements and unbind the events
     *
     * @returns {void} .
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/actions/column-menu.d.ts
/**
 * Configures columnMenu collection in Gantt.
 */
export  class ColumnMenu {
    private parent;
    constructor(parent?: Gantt);
    /**
     * @returns {HTMLAllCollection} .
     * To get column menu collection.
     */
    getColumnMenu(): HTMLElement;
    destroy(): void;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} .
     * @private
     */
    private getModuleName;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/actions/column-reorder.d.ts
/**
 * To handle column reorder action from TreeGrid
 */
export  class Reorder {
    parent: Gantt;
    constructor(gantt: Gantt);
    /**
     * Get module name
     *
     * @returns {string} .
     */
    private getModuleName;
    /**
     * To bind reorder events.
     *
     * @returns {void} .
     * @private
     */
    private bindEvents;
    /**
     * To destroy the column-reorder.
     *
     * @returns {void} .
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/actions/column-resize.d.ts
/**
 * Column resize action related code goes here
 */
export  class Resize {
    parent: Gantt;
    constructor(gantt: Gantt);
    /**
     * Get module name
     *
     * @returns {void} .
     */
    private getModuleName;
    /**
     * To bind resize events.
     *
     * @returns {void} .
     * @private
     */
    private bindEvents;
    /**
     * To destroy the column-resizer.
     *
     * @returns {void} .
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/actions/connector-line-edit.d.ts
/**
 * File for handling connector line edit operation in Gantt.
 *
 */
export  class ConnectorLineEdit {
    private parent;
    private connectorLineElement;
    /**
     * @private
     */
    validationPredecessor: IPredecessor[];
    /** @private */
    confirmPredecessorDialog: popups.Dialog;
    /** @private */
    predecessorIndex: number;
    /** @private */
    childRecord: IGanttData;
    private dateValidateModule;
    constructor(ganttObj?: Gantt);
    /**
     * To update connector line edit element.
     *
     * @param {PointerEvent} e .
     * @returns {void} .
     * @private
     */
    updateConnectorLineEditElement(e: PointerEvent): void;
    /**
     * To get hovered connector line element.
     *
     * @param {EventTarget} target .
     * @returns {void} .
     * @private
     */
    private getConnectorLineHoverElement;
    /**
     * To highlight connector line while hover.
     *
     * @param {Element} element .
     * @returns {void} .
     * @private
     */
    private highlightConnectorLineElements;
    /**
     * To add connector line highlight class.
     *
     * @param {Element} element .
     * @returns {void} .
     * @private
     */
    private addHighlight;
    /**
     * To remove connector line highlight class.
     *
     * @returns {void} .
     * @private
     */
    private removeHighlight;
    /**
     * To remove connector line highlight class.
     *
     * @param {IGanttData[]} records .
     * @returns {string} .
     * @private
     */
    getEditedConnectorLineString(records: IGanttData[]): string;
    /**
     * Tp refresh connector lines of edited records
     *
     * @param {IGanttData[]} editedRecord .
     * @returns {void} .
     * @private
     */
    refreshEditedRecordConnectorLine(editedRecord: IGanttData[]): void;
    private idFromPredecessor;
    private predecessorValidation;
    getRootParent(rec: IGanttData): IGanttData;
    validateParentPredecessor(fromRecord: IGanttData, toRecord: IGanttData): boolean;
    /**
     * To validate predecessor relations
     *
     * @param {IGanttData} ganttRecord .
     * @param {string} predecessorString .
     * @returns {boolean} .
     * @private
     */
    validatePredecessorRelation(ganttRecord: IGanttData, predecessorString: string): boolean;
    /**
     * To add dependency for Task
     *
     * @param {IGanttData} ganttRecord .
     * @param {string} predecessorString .
     * @returns {void} .
     * @private
     */
    addPredecessor(ganttRecord: IGanttData, predecessorString: string): void;
    /**
     * To remove dependency from task
     *
     * @param {IGanttData} ganttRecord .
     * @returns {void} .
     * @private
     */
    removePredecessor(ganttRecord: IGanttData): void;
    /**
     * To modify current dependency values of Task
     *
     * @param {IGanttData} ganttRecord .
     * @param {string} predecessorString .
     * @param {ITaskbarEditedEventArgs} editedArgs .
     * @returns {boolean} .
     * @private
     */
    updatePredecessor(ganttRecord: IGanttData, predecessorString: string, editedArgs?: ITaskbarEditedEventArgs): boolean;
    private updatePredecessorHelper;
    private checkParentRelation;
    private initPredecessorValidationDialog;
    /**
     * To render validation dialog
     *
     * @returns {void} .
     * @private
     */
    renderValidationDialog(): void;
    private validationDialogOkButton;
    private validationDialogCancelButton;
    private validationDialogClose;
    /**
     * Validate and apply the predecessor option from validation dialog
     *
     * @returns {void} .
     * @private
     */
    applyPredecessorOption(): void;
    private calculateOffset;
    /**
     * Update predecessor value with user selection option in predecessor validation dialog
     *
     * @param {IGanttData} ganttRecord .
     * @param {IPredecessor[]} predecessor .
     * @returns {void} .
     */
    private removePredecessors;
    /**
     * To open predecessor validation dialog
     *
     * @param {object} args .
     * @returns {void} .
     * @private
     */
    openValidationDialog(args: object): void;
    /**
     * Predecessor link validation dialog template
     *
     * @param {object} args .
     * @returns {HTMLElement} .
     * @private
     */
    validationDialogTemplate(args: object): HTMLElement;
    /**
     * To validate the types while editing the taskbar
     *
     * @param {IGanttData} ganttRecord .
     * @returns {boolean} .
     * @private
     */
    validateTypes(ganttRecord: IGanttData): object;
    /**
     * Method to remove and update new predecessor collection in successor record
     *
     * @param {IGanttData} data .
     * @returns {void} .
     * @private
     */
    addRemovePredecessor(data: IGanttData): void;
    /**
     * Method to remove a predecessor from a record.
     *
     * @param {IGanttData} childRecord .
     * @param {number} index .
     * @returns {void} .
     * @private
     */
    removePredecessorByIndex(childRecord: IGanttData, index: number): void;
    /**
     * To render predecessor delete confirmation dialog
     *
     * @returns {void} .
     * @private
     */
    renderPredecessorDeleteConfirmDialog(): void;
    private confirmCloseDialog;
    private confirmOkDeleteButton;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/actions/context-menu.d.ts
/**
 * The ContextMenu module is used to handle the context menu items & sub-menu items.
 *
 * @returns {void} .
 */
export  class ContextMenu {
    /**
     * @private
     */
    contextMenu: navigations.ContextMenu;
    private parent;
    private ganttID;
    private element;
    private headerMenuItems;
    private contentMenuItems;
    private rowData;
    segmentIndex: number;
    private clickedPosition;
    private targetElement;
    private isEdit;
    /**
     * @private
     */
    isOpen: boolean;
    /**
     * @private
     */
    item: string;
    private predecessors;
    private hideItems;
    private disableItems;
    constructor(parent?: Gantt);
    private addEventListener;
    private reRenderContextMenu;
    private render;
    private contextMenuItemClick;
    private splitTaskCall;
    private mergeCall;
    private getClickedDate;
    private contextMenuBeforeOpen;
    private updateItemStatus;
    private mergeItemVisiblity;
    private updateItemVisibility;
    private contextMenuOpen;
    private getMenuItems;
    private createItemModel;
    private getLocale;
    private buildDefaultItems;
    private getIconCSS;
    private getPredecessorsItems;
    private headerContextMenuClick;
    private headerContextMenuOpen;
    private getDefaultItems;
    /**
     * To get ContextMenu module name.
     *
     * @returns {string} .
     */
    getModuleName(): string;
    private removeEventListener;
    private contextMenuOnClose;
    private revertItemStatus;
    private resetItems;
    private generateID;
    private getKeyFromId;
    /**
     * To destroy the contextmenu module.
     *
     * @returns {void} .
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/actions/critical-path.d.ts
export  class CriticalPath {
    private parent;
    detailPredecessorCollection: object[];
    criticalPathCollection: number[];
    resourceCollectionIds: string[];
    predecessorCollectionTaskIds: number[];
    criticalTasks: IGanttData[];
    maxEndDate: Date;
    constructor(parent: Gantt);
    getCriticalTasks(): IGanttData[];
    showCriticalPath(isCritical: boolean): void;
    slackCalculation(fromDataObject: object[], collection: object[], collectionTaskId: any, checkEndDate: Date, flatRecords: IGanttData[], modelRecordIds: string[]): void;
    private getSlackDuration;
    private finalCriticalPath;
    criticalConnectorLine(criticalPathIds: number[], collection: object[], condition: boolean, collectionTaskId: number[]): void;
    getModuleName(): string;
    /**
     * Destroys the Critical Path of Gantt.
     *
     * @returns {void} .
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/actions/day-markers.d.ts
/**
 * DayMarkers module is used to render event markers, holidays and to highlight the weekend days.
 */
export  class DayMarkers {
    private parent;
    private nonworkingDayRender;
    private eventMarkerRender;
    constructor(parent: Gantt);
    private wireEvents;
    private propertyChanged;
    private refreshMarkers;
    private updateHeight;
    /**
     * To get module name
     *
     * @returns {string} .
     */
    getModuleName(): string;
    /**
     * @returns {void} .
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/actions/dependency.d.ts
/**
 * Predecessor calculation goes here
 */
export  class Dependency {
    private parent;
    private dateValidateModule;
    private parentRecord;
    private parentIds;
    private parentPredecessors;
    constructor(gantt: Gantt);
    /**
     * Method to populate predecessor collections in records
     *
     * @returns {void} .
     * @private
     */
    ensurePredecessorCollection(): void;
    /**
     *
     * @param {IGanttData} ganttData .
     * @param {ITaskData} ganttProp .
     * @returns {void} .
     * @private
     */
    ensurePredecessorCollectionHelper(ganttData: IGanttData, ganttProp: ITaskData): void;
    /**
     * To render unscheduled empty task with 1 day duration during predecessor map
     *
     * @param {IGanttData} data .
     * @returns {void} .
     * @private
     */
    updateUnscheduledDependency(data: IGanttData): void;
    /**
     *
     * @param {string} fromId .
     * @returns {boolean} .
     */
    private checkIsParent;
    /**
     * Get predecessor collection object from predecessor string value
     *
     * @param {string | number} predecessorValue .
     * @param {IGanttData} ganttRecord .
     * @returns {IPredecessor[]} .
     * @private
     */
    calculatePredecessor(predecessorValue: string | number, ganttRecord?: IGanttData): IPredecessor[];
    /**
     * Get predecessor value as string with offset values
     *
     * @param {IGanttData} data .
     * @returns {string} .
     * @private
     */
    getPredecessorStringValue(data: IGanttData): string;
    private getOffsetDurationUnit;
    /**
     * Update predecessor object in both from and to tasks collection
     *
     * @returns {void} .
     * @private
     */
    updatePredecessors(): void;
    /**
     * To update predecessor collection to successor tasks
     *
     * @param {IGanttData} ganttRecord .
     * @param {IGanttData[]} predecessorsCollection .
     * @returns {void} .
     * @private
     */
    updatePredecessorHelper(ganttRecord: IGanttData, predecessorsCollection?: IGanttData[]): void;
    /**
     * Method to validate date of tasks with predecessor values for all records
     *
     * @returns {void} .
     * @private
     */
    updatedRecordsDateByPredecessor(): void;
    updateParentPredecessor(): void;
    /**
     * To validate task date values with dependency
     *
     * @param {IGanttData} ganttRecord .
     * @returns {void} .
     * @private
     */
    validatePredecessorDates(ganttRecord: IGanttData): void;
    /**
     * Method to validate task with predecessor
     *
     * @param {IGanttData} parentGanttRecord .
     * @param {IGanttData} childGanttRecord .
     * @returns {void} .
     */
    private validateChildGanttRecord;
    /**
     *
     * @param {IGanttData} ganttRecord .
     * @param {IPredecessor[]} predecessorsCollection .
     * @returns {Date} .
     * @private
     */
    getPredecessorDate(ganttRecord: IGanttData, predecessorsCollection: IPredecessor[]): Date;
    /**
     * Get validated start date as per predecessor type
     *
     * @param {ITaskData} ganttProperty .
     * @param {ITaskData} parentRecordProperty .
     * @param {IPredecessor} predecessor .
     * @returns {Date} .
     */
    private getValidatedStartDate;
    /**
     *
     * @param {Date} date .
     * @param {IPredecessor} predecessor .
     * @param {ITaskData} record .
     * @returns {void} .
     */
    private updateDateByOffset;
    /**
     *
     * @param {IGanttData} records .
     * @returns {void} .
     * @private
     */
    createConnectorLinesCollection(records?: IGanttData[]): void;
    /**
     *
     * @param {object[]} predecessorsCollection .
     * @returns {void} .
     */
    private addPredecessorsCollection;
    /**
     * To refresh connector line object collections
     *
     * @param {IGanttData} parentGanttRecord .
     * @param {IGanttData} childGanttRecord .
     * @param {IPredecessor} predecessor .
     * @returns {void} .
     * @private
     */
    updateConnectorLineObject(parentGanttRecord: IGanttData, childGanttRecord: IGanttData, predecessor: IPredecessor): IConnectorLineObject;
    /**
     *
     * @param {IGanttData} childGanttRecord .
     * @param {IPredecessor[]} previousValue .
     * @param {string} validationOn .
     * @returns {void} .
     * @private
     */
    validatePredecessor(childGanttRecord: IGanttData, previousValue: IPredecessor[], validationOn: string): void;
    /**
     * Method to get validate able predecessor alone from record
     *
     * @param {IGanttData} record .
     * @returns {IPredecessor[]} .
     * @private
     */
    getValidPredecessor(record: IGanttData): IPredecessor[];
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/actions/dialog-edit.d.ts
/**
 *
 * @hidden
 */
export  class DialogEdit {
    private isEdit;
    /**
     * @private
     */
    dialog: HTMLElement;
    isAddNewResource: boolean;
    /**
     * @private
     */
    dialogObj: popups.Dialog;
    private preTableCollection;
    private preTaskIds;
    private localeObj;
    private parent;
    private rowIndex;
    private numericOrString;
    private types;
    private editedRecord;
    private rowData;
    private beforeOpenArgs;
    private inputs;
    private idCollection;
    /**
     * @private
     */
    updatedEditFields: EditDialogFieldSettingsModel[];
    private updatedAddFields;
    private addedRecord;
    private dialogEditValidationFlag;
    private tabObj;
    private selectedSegment;
    ganttResources: Object[];
    private isValidData;
    /**
     * @private
     */
    previousResource: Object[];
    /**
     * @private
     */
    isResourceUpdate: boolean;
    /**
     * Constructor for render module
     *
     * @param {Gantt} parent .
     * @returns {void} .
     */
    constructor(parent: Gantt);
    private wireEvents;
    private dblClickHandler;
    /**
     * Method to validate add and edit dialog fields property.
     *
     * @returns {void} .
     * @private
     */
    processDialogFields(): void;
    private validateDialogFields;
    /**
     * Method to get general column fields
     *
     * @returns {string[]} .
     */
    private getGeneralColumnFields;
    /**
     * Method to get custom column fields
     *
     * @returns {void} .
     */
    private getCustomColumnFields;
    /**
     * Get default dialog fields when fields are not defined for add and edit dialogs
     *
     * @returns {AddDialogFieldSettings} .
     */
    private getDefaultDialogFields;
    /**
     * @returns {void} .
     * @private
     */
    openAddDialog(): void;
    /**
     *
     * @returns {Date} .
     * @private
     */
    getMinimumStartDate(): Date;
    /**
     * @returns {IGanttData} .
     * @private
     */
    composeAddRecord(): IGanttData;
    /**
     * @returns {void} .
     * @private
     */
    openToolbarEditDialog(): void;
    /**
     * @param { number | string | object} taskId .
     * @returns {void} .
     * @private
     */
    openEditDialog(taskId: number | string | object): void;
    private createDialog;
    private buttonClick;
    /**
     * @returns {void} .
     * @private
     */
    dialogClose(): void;
    private resetValues;
    private destroyDialogInnerElements;
    private destroyCustomField;
    /**
     * @returns {void} .
     * @private
     */
    destroy(): void;
    /**
     * Method to get current edit dialog fields value
     *
     * @returns {AddDialogFieldSettings} .
     */
    private getEditFields;
    private createTab;
    private tabSelectedEvent;
    private responsiveTabContent;
    private getFieldsModel;
    private createInputModel;
    private validateScheduleFields;
    private updateScheduleFields;
    /**
     * @param {IGanttData} ganttData .
     * @returns {void} .
     * @private
     */
    validateDuration(ganttData: IGanttData): void;
    private validateStartDate;
    private validateEndDate;
    /**
     *
     * @param {string} columnName .
     * @param {string} value .
     * @param {IGanttData} currentData .
     * @returns {boolean} .
     * @private
     */
    validateScheduleValuesByCurrentField(columnName: string, value: string, currentData: IGanttData): boolean;
    private getSegmentsModel;
    private getGridColumnByField;
    private updateSegmentField;
    private validateSegmentFields;
    private getPredecessorModel;
    private getResourcesModel;
    private getNotesModel;
    private createDivElement;
    private createInputElement;
    private renderTabItems;
    private segmentGridActionBegin;
    private renderSegmentsTab;
    private renderGeneralTab;
    private isCheckIsDisabled;
    private isParentValid;
    private renderPredecessorTab;
    private gridActionBegin;
    private updateResourceCollection;
    private renderResourceTab;
    private resourceSelection;
    private renderCustomTab;
    private renderNotesTab;
    private renderInputElements;
    private taskNameCollection;
    private predecessorEditCollection;
    private updatePredecessorDropDownData;
    private validSuccessorTasks;
    private getPredecessorType;
    private initiateDialogSave;
    private updateSegmentTaskData;
    private updateSegmentsData;
    private updateGeneralTab;
    private updateScheduleProperties;
    private updatePredecessorTab;
    private updateResourceTab;
    private updateNotesTab;
    private updateCustomTab;
}
/**
 * @hidden
 */
export  type Inputs = buttons.CheckBox | dropdowns.DropDownList | inputs.TextBox | inputs.NumericTextBox | calendars.DatePicker | calendars.DateTimePicker | inputs.MaskedTextBox;
/**
 * @hidden
 */
export interface IPreData {
    id?: string;
    name?: string;
    type?: string;
    offset?: string;
    uniqueId?: number;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/actions/edit.d.ts
/**
 * The Edit Module is used to handle editing actions.
 *
 */
export  class Edit {
    private parent;
    validatedChildItems: IGanttData[];
    private isFromDeleteMethod;
    private targetedRecords;
    /**
     * @private
     */
    /** @hidden */
    private ganttData;
    /** @hidden */
    private treeGridData;
    /** @hidden */
    private draggedRecord;
    /** @hidden */
    private updateParentRecords;
    /** @hidden */
    private droppedRecord;
    /** @hidden */
    private isTreeGridRefresh;
    /** @hidden */
    isaddtoBottom: boolean;
    /** @hidden */
    addRowPosition: RowPosition;
    /** @hidden */
    addRowIndex: number;
    /** @hidden */
    private dropPosition;
    confirmDialog: popups.Dialog;
    private taskbarMoved;
    private predecessorUpdated;
    newlyAddedRecordBackup: IGanttData;
    isBreakLoop: boolean;
    addRowSelectedItem: IGanttData;
    cellEditModule: CellEdit;
    taskbarEditModule: TaskbarEdit;
    dialogModule: DialogEdit;
    constructor(parent?: Gantt);
    private getModuleName;
    /**
     * Method to update default edit params and editors for Gantt
     *
     * @returns {void} .
     */
    private updateDefaultColumnEditors;
    /**
     * Method to update editors for id column in Gantt
     *
     * @param {ColumnModel} column .
     * @returns {void} .
     */
    private updateIDColumnEditParams;
    /**
     * Method to update edit params of default progress column
     *
     * @param {ColumnModel} column .
     * @returns {void} .
     */
    private updateProgessColumnEditParams;
    /**
     * Assign edit params for id and progress columns
     *
     * @param {ColumnModel} column .
     * @param {object} editParam .
     * @returns {void} .
     */
    private updateEditParams;
    /**
     * Method to update resource column editor for default resource column
     *
     * @param {ColumnModel} column .
     * @returns {void} .
     */
    private updateResourceColumnEditor;
    /**
     * Method to create resource custom editor
     *
     * @returns {IEditCell} .
     */
    private getResourceEditor;
    /**
     * Method to update task type column editor for task type
     *
     * @param {ColumnModel} column .
     * @returns {void} .
     */
    private updateTaskTypeColumnEditor;
    /**
     * Method to create task type custom editor
     *
     * @returns {IEditCell} .
     */
    private getTaskTypeEditor;
    /**
     * @returns {void} .
     * @private
     */
    reUpdateEditModules(): void;
    private recordDoubleClick;
    /**
     * @returns {void} .
     * @private
     */
    destroy(): void;
    /**
     * @private
     */
    deletedTaskDetails: IGanttData[];
    /**
     * Method to update record with new values.
     *
     * @param {Object} data - Defines new data to update.
     * @returns {void} .
     */
    updateRecordByID(data: Object): void;
    /**
     *
     * @param {object} data .
     * @param {IGanttData} ganttData .
     * @param {boolean} isFromDialog .
     * @returns {void} .
     * @private
     */
    validateUpdateValues(data: Object, ganttData: IGanttData, isFromDialog?: boolean): void;
    /**
     * To update duration, work, resource unit
     *
     * @param {IGanttData} currentData .
     * @param {string} column .
     * @returns {void} .
     */
    updateResourceRelatedFields(currentData: IGanttData, column: string): void;
    private validateScheduleValues;
    private validateScheduleByTwoValues;
    private isTaskbarMoved;
    private isPredecessorUpdated;
    /**
     * Method to check need to open predecessor validate dialog
     *
     * @param {IGanttData} data .
     * @returns {boolean} .
     */
    private isCheckPredecessor;
    /**
     * Method to copy the ganttProperties values
     *
     * @param {IGanttData} data .
     * @param {IGanttData} updateData .
     * @returns {void} .
     * @private
     */
    updateGanttProperties(data: IGanttData, updateData: IGanttData): void;
    /**
     * Method to update all dependent record on edit action
     *
     * @param {ITaskAddedEventArgs} args .
     * @returns {void} .
     * @private
     */
    initiateUpdateAction(args: ITaskbarEditedEventArgs): void;
    /**
     *
     * @param {ITaskbarEditedEventArgs} editedEventArgs method to trigger validate predecessor link by dialog
     * @returns {IValidateArgs} .
     */
    private validateTaskEvent;
    private resetValidateArgs;
    /**
     *
     * @param {ITaskAddedEventArgs} args - Edited event args like taskbar editing, dialog editing, cell editing
     * @returns {void} .
     * @private
     */
    updateEditedTask(args: ITaskbarEditedEventArgs): void;
    private updateParentItemOnEditing;
    /**
     * To update parent records while perform drag action.
     *
     * @param {IGanttData} data .
     * @returns {void} .
     * @private
     */
    updateParentChildRecord(data: IGanttData): void;
    /**
     * To update records while changing schedule mode.
     *
     * @param {IGanttData} data .
     * @returns {void} .
     * @private
     */
    updateTaskScheduleModes(data: IGanttData): void;
    /**
     *
     * @param {IGanttData} data .
     * @param {Date} newStartDate .
     * @returns {void} .
     */
    private calculateDateByRoundOffDuration;
    /**
     * To update progress value of parent tasks
     *
     * @param {IParent} cloneParent .
     * @returns {void} .
     * @private
     */
    updateParentProgress(cloneParent: IParent): void;
    /**
     * Method to revert cell edit action
     *
     * @param {object} args .
     * @returns {void} .
     * @private
     */
    revertCellEdit(args: object): void;
    /**
     * @param {boolean} isRefreshChart .
     * @param {boolean} isRefreshGrid .
     * @returns {void} .
     * @private
     */
    reUpdatePreviousRecords(isRefreshChart?: boolean, isRefreshGrid?: boolean): void;
    /**
     * Copy previous task data value to edited task data
     *
     * @param {object} existing .
     * @param {object} newValue .
     * @returns {void} .
     */
    private copyTaskData;
    /**
     * To update schedule date on editing.
     *
     * @param {ITaskbarEditedEventArgs} args .
     * @returns {void} .
     * @private
     */
    private updateScheduleDatesOnEditing;
    /**
     *
     * @param {IGanttData} ganttRecord .
     * @returns {void} .
     */
    private updateChildItems;
    /**
     * To get updated child records.
     *
     * @param {IGanttData} parentRecord .
     * @param {IGanttData} childLists .
     * @returns {void} .
     */
    private getUpdatableChildRecords;
    /**
     * @param {ITaskbarEditedEventArgs} args .
     * @returns {void} .
     * @private
     */
    initiateSaveAction(args: ITaskbarEditedEventArgs): void;
    private dmSuccess;
    private dmFailure;
    private updateSharedTask;
    /**
     * Method for save action success for local and remote data
     *
     * @param {ITaskAddedEventArgs} args .
     * @returns {void} .
     */
    private saveSuccess;
    private updateResoures;
    /**
     * @param {IGanttData} updateRecord .
     * @returns {void} .
     * @private
     */
    checkWithUnassignedTask(updateRecord: IGanttData): void;
    private addRecordAsBottom;
    private addNewRecord;
    private removeChildRecord;
    private addRecordAsChild;
    private resetEditProperties;
    /**
     * @param {ITaskAddedEventArgs} args .
     * @returns {void} .
     * @private
     */
    endEditAction(args: ITaskbarEditedEventArgs): void;
    private saveFailed;
    /**
     * To render delete confirmation dialog
     *
     * @returns {void} .
     */
    private renderDeleteConfirmDialog;
    private closeConfirmDialog;
    private confirmDeleteOkButton;
    /**
     * @returns {void} .
     * @private
     */
    startDeleteAction(): void;
    /**
     *
     * @param {IGanttData[]} selectedRecords - Defines the deleted records
     * @returns {void} .
     * Method to delete the records from resource view Gantt.
     */
    private deleteResourceRecords;
    private deleteSelectedItems;
    /**
     * Method to delete record.
     *
     * @param {number | string | number[] | string[] | IGanttData | IGanttData[]} taskDetail - Defines the details of data to delete.
     * @returns {void} .
     * @public
     */
    deleteRecord(taskDetail: number | string | number[] | string[] | IGanttData | IGanttData[]): void;
    /**
     * To update 'targetedRecords collection' from given array collection
     *
     * @param {object[]} taskDetailArray .
     * @returns {void} .
     */
    private updateTargetedRecords;
    private deleteRow;
    removePredecessorOnDelete(record: IGanttData): void;
    private updatePredecessorValues;
    /**
     * Method to update TaskID of a gantt record
     *
     * @param {string | number} currentId .
     * @param {number | string} newId .
     * @returns {void} .
     */
    updateTaskId(currentId: string | number, newId: number | string): void;
    private updatePredecessorOnUpdateId;
    private deleteChildRecords;
    removeFromDataSource(deleteRecordIDs: string[]): void;
    private removeData;
    private initiateDeleteAction;
    private deleteSuccess;
    /**
     *
     * @returns {number | string} .
     * @private
     */
    getNewTaskId(): number | string;
    /**
     * @param {object} obj .
     * @param {RowPosition} rowPosition .
     * @returns {void} .
     * @private
     */
    private prepareNewlyAddedData;
    /**
     * @param {object} obj .
     * @param {number} level .
     * @param {RowPosition} rowPosition .
     * @param {IGanttData} parentItem .
     * @returns {IGanttData} .
     * @private
     */
    private updateNewlyAddedDataBeforeAjax;
    /**
     * @param {IGanttData} record .
     * @param {number} count .
     * @returns {number} .
     * @private
     */
    getChildCount(record: IGanttData, count: number): number;
    /**
     * @param {IGanttData} data .
     * @param {number} count .
     * @param {IGanttData[]} collection .
     * @returns {number} .
     * @private
     */
    private getVisibleChildRecordCount;
    /**
     * @param {IGanttData} parentRecord .
     * @returns {void} .
     * @private
     */
    updatePredecessorOnIndentOutdent(parentRecord: IGanttData): void;
    /**
     * @param {IPredecessor[]} predecessorCollection .
     * @param {IGanttData} record .
     * @returns {string} .
     * @private
     */
    private predecessorToString;
    /**
     * @param {IGanttData} record .
     * @param {RowPosition} rowPosition .
     * @param {IGanttData} parentItem .
     * @returns {void} .
     * @private
     */
    private backUpAndPushNewlyAddedRecord;
    /**
     * @param {number} childIndex .
     * @param {number} recordIndex .
     * @param {number} updatedCollectionIndex .
     * @param {IGanttData} record .
     * @param {IGanttData} parentItem .
     * @returns {void} .
     * @private
     */
    private recordCollectionUpdate;
    /**
     * @param {IGanttData} cAddedRecord .
     * @param {IGanttData} modifiedRecords .
     * @param {string} event .
     * @returns {ITaskAddedEventArgs} .
     * @private
     */
    private constructTaskAddedEventArgs;
    /**
     * @param {ITaskAddedEventArgs} args .
     * @returns {void} .
     * @private
     */
    private addSuccess;
    private refreshRecordInImmutableMode;
    /**
     * @param {IGanttData} addedRecord .
     * @param {RowPosition} rowPosition .
     * @returns {void} .
     * @private
     */
    updateRealDataSource(addedRecord: IGanttData | IGanttData[], rowPosition: RowPosition): void;
    /**
     * @param {object[]} dataCollection .
     * @param {IGanttData} record .
     * @param {RowPosition} rowPosition .
     * @returns {void} .
     * @private
     */
    private addDataInRealDataSource;
    /**
     * Method to add new record.
     *
     * @param {Object[] | Object} data - Defines the new data to add.
     * @param {RowPosition} rowPosition - Defines the position of row.
     * @param {number} rowIndex - Defines the row index.
     * @returns {void} .
     * @private
     */
    addRecord(data?: Object[] | Object, rowPosition?: RowPosition, rowIndex?: number): void;
    /**
     * Method to validateTaskPosition.
     *
     * @param {Object | object[] } data - Defines the new data to add.
     * @param {RowPosition} rowPosition - Defines the position of row.
     * @param {number} rowIndex - Defines the row index.
     * @param {IGanttData} cAddedRecord - Defines the single data to validate.
     * @returns {void} .
     * @private
     */
    createNewRecord(): IGanttData;
    validateTaskPosition(data?: Object | object[], rowPosition?: RowPosition, rowIndex?: number, cAddedRecord?: IGanttData[]): void;
    private updateNewRecord;
    /**
     * Method to reset the flag after adding new record
     *
     * @returns {void} .
     */
    private _resetProperties;
    /**
     * Method to update unique id collection in TreeGrid
     *
     * @param {IGanttData} data .
     * @param {string} action .
     * @returns {void} .
     */
    private updateTreeGridUniqueID;
    private refreshNewlyAddedRecord;
    /**
     *
     * @returns {void} .
     * @private
     */
    private removeAddedRecord;
    private getPrevRecordIndex;
    /**
     * indent a selected record
     *
     * @returns {void} .
     */
    indent(): void;
    /**
     * To perform outdent operation for selected row
     *
     * @returns {void} .
     */
    outdent(): void;
    private indentOutdentRow;
    private reArrangeRows;
    /**
     * @returns {void} .
     * @private
     */
    refreshRecord(args: RowDropEventArgs, isDrag?: boolean): void;
    private indentSuccess;
    private indentFailure;
    private indentOutdentSuccess;
    private refreshDataSource;
    private deleteDragRow;
    private updateIndentedChildRecords;
    private dropMiddle;
    private updateChildRecordLevel;
    private updateChildRecord;
    private removeRecords;
    private removeChildItem;
    private recordLevel;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/actions/excel-export.d.ts
/**
 * Gantt Excel Export module
 *
 * @hidden
 */
export  class ExcelExport {
    private parent;
    /**
     * Constructor for Excel Export module
     *
     * @param {Gantt} gantt .
     */
    constructor(gantt: Gantt);
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} .
     * @private
     */
    protected getModuleName(): string;
    /**
     * To destroy excel export module.
     *
     * @returns {void} .
     * @private
     */
    destroy(): void;
    /**
     * To bind excel exporting events.
     *
     * @returns {void} .
     * @private
     */
    private bindEvents;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/actions/filter.d.ts
/**
 * The Filter module is used to handle filter action.
 */
export  class Filter {
    parent: Gantt;
    private filterMenuElement;
    constructor(gantt: Gantt);
    private getModuleName;
    /**
     * Update custom filter for default Gantt columns
     *
     * @returns {void} .
     */
    private updateCustomFilters;
    private updateModel;
    private addEventListener;
    private wireEvents;
    private initiateFiltering;
    /**
     * To get filter menu UI
     *
     * @param {ColumnModel} column .
     * @returns {IFilterMUI} .
     */
    private getCustomFilterUi;
    private mouseClickHandler;
    private unWireEvents;
    private getDatePickerFilter;
    private getDateTimePickerFilter;
    private getDurationFilter;
    /**
     * Remove filter menu while opening column chooser menu
     *
     * @param {ColumnMenuOpenEventArgs} args .
     * @returns {void} .
     */
    private columnMenuOpen;
    private actionBegin;
    closeFilterOnContextClick(element: Element): void;
    private actionComplete;
    private updateFilterMenuPosition;
    private removeEventListener;
    /**
     * To destroy module
     *
     * @returns {void} .
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/actions/keyboard.d.ts
/**
 * Focus module is used to handle certain action on focus elements in keyboard navigations.
 */
export  class FocusModule {
    private parent;
    private activeElement;
    private previousActiveElement;
    constructor(parent: Gantt);
    getActiveElement(isPreviousActiveElement?: boolean): HTMLElement;
    setActiveElement(element: HTMLElement): void;
    /**
     * To perform key interaction in Gantt
     *
     * @param {base.KeyboardEventArgs} e .
     * @returns {void} .
     * @private
     */
    onKeyPress(e: base.KeyboardEventArgs): void | boolean;
    private upDownKeyNavigate;
    private expandCollapseKey;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/actions/pdf-export.d.ts
/**
 *
 * @hidden
 */
export  class PdfExport {
    private parent;
    private helper;
    private pdfDocument;
    gantt: PdfGantt;
    isPdfExport: boolean;
    /**
     * @param {Gantt} parent .
     * @hidden
     */
    constructor(parent?: Gantt);
    /**
     * @returns {string} .
     */
    private getModuleName;
    /**
     * To destroy1 Pdf export module.
     *
     * @returns {void} .
     * @private
     */
    destroy(): void;
    private initGantt;
    /**
     * @param {PdfExportProperties} pdfExportProperties .
     * @param {boolean} isMultipleExport .
     * @param {object} pdfDoc .
     * @returns {Promise<Object>} .
     */
    export(pdfExportProperties?: PdfExportProperties, isMultipleExport?: boolean, pdfDoc?: Object): Promise<Object>;
    private exportWithData;
    private processExport;
    private processSectionExportProperties;
    private getPageSize;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/actions/rowdragdrop.d.ts
/**
 * Gantt Excel Export module
 */
export  class RowDD {
    private parent;
    isTest: boolean;
    /** @hidden */
    private ganttData;
    /** @hidden */
    private treeGridData;
    /** @hidden */
    private draggedRecord;
    /** @hidden */
    private updateParentRecords;
    /** @hidden */
    private droppedRecord;
    /** @hidden */
    isaddtoBottom: boolean;
    /** @hidden */
    private previousParent;
    private dropPosition;
    /** @hidden */
    private isSharedTask;
    /** @hidden */
    private canDrop;
    /**
     * Constructor for Excel Export module
     *
     * @param {Gantt} gantt .
     */
    constructor(gantt: Gantt);
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} .
     * @private
     */
    protected getModuleName(): string;
    /**
     * To destroy11 excel export module.
     *
     * @returns {void} .
     * @private
     */
    destroy(): void;
    /**
     * To bind excel exporting events.
     *
     * @returns {void} .
     * @private
     */
    private bindEvents;
    private rowDragStart;
    private addErrorElem;
    private removeErrorElem;
    private rowDrag;
    private rowDragStartHelper;
    private rowDrop;
    private dropRows;
    private updateCurrentTask;
    private deleteSharedResourceTask;
    private removeExistingResources;
    private updateSharedResourceTask;
    private _getExistingTaskWithID;
    private removeResourceInfo;
    private refreshDataSource;
    private dropMiddle;
    private recordLevel;
    private deleteDragRow;
    private checkisSharedTask;
    private dropAtTop;
    private updateChildRecordLevel;
    private updateChildRecord;
    private removeRecords;
    private removeChildItem;
    /**
     * Reorder the rows based on given indexes and position
     *
     * @param {number[]} fromIndexes .
     * @param {number} toIndex .
     * @param {string} position .
     * @returns {void} .
     */
    reorderRows(fromIndexes: number[], toIndex: number, position: string): void;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/actions/selection.d.ts
/**
 * The Selection module is used to handle cell and row selection.
 */
export  class Selection {
    parent: Gantt;
    selectedRowIndex: number;
    isMultiCtrlRequest: boolean;
    isMultiShiftRequest: boolean;
    isSelectionFromChart: boolean;
    private actualTarget;
    private isInteracted;
    private prevRowIndex;
    private selectedClass;
    private multipleIndexes;
    selectedRowIndexes: number[];
    enableSelectMultiTouch: boolean;
    startIndex: number;
    endIndex: number;
    private openPopup;
    constructor(gantt: Gantt);
    /**
     * Get module
     *
     * @returns {string} .
     */
    private getModuleName;
    private wireEvents;
    /**
     * To update selected index.
     *
     * @returns {void} .
     * @private
     */
    selectRowByIndex(): void;
    /**
     * To bind selection events.
     *
     * @returns {void} .
     * @private
     */
    private bindEvents;
    private rowSelecting;
    private rowSelected;
    private rowDeselecting;
    private rowDeselected;
    private cellSelecting;
    private cellSelected;
    private cellDeselecting;
    private cellDeselected;
    /**
     * Selects a cell by given index.
     *
     * @param  {grids.IIndex} cellIndex - Defines the row and column indexes.
     * @param  {boolean} isToggle - If set to true, then it toggles the selection.
     * @returns {void} .
     */
    selectCell(cellIndex: grids.IIndex, isToggle?: boolean): void;
    /**
     * Selects a collection of cells by row and column indexes.
     *
     * @param  {grids.ISelectedCell[]} rowCellIndexes - Specifies the row and column indexes.
     * @returns {void} .
     */
    selectCells(rowCellIndexes: grids.ISelectedCell[]): void;
    /**
     * Selects a row by given index.
     *
     * @param  {number} index - Defines the row index.
     * @param  {boolean} isToggle - If set to true, then it toggles the selection.
     * @param {boolean} isPreventFocus .
     * @returns {void} .
     */
    selectRow(index: number, isToggle?: boolean, isPreventFocus?: boolean): void;
    /**
     * Selects a collection of rows by indexes.
     *
     * @param  {number[]} records - Defines the collection of row indexes.
     * @returns {void} .
     */
    selectRows(records: number[]): void;
    /**
     * Gets the collection of selected row indexes.
     *
     * @returns {number[]} .
     */
    getSelectedRowIndexes(): number[];
    /**
     * Gets the collection of selected row and cell indexes.
     *
     * @returns {number[]} .
     */
    getSelectedRowCellIndexes(): grids.ISelectedCell[];
    /**
     * Gets the collection of selected records.
     *
     * @returns {Object[]} .
     */
    getSelectedRecords(): Object[];
    /**
     * Get the selected records for cell selection.
     *
     * @returns {IGanttData[]} .
     */
    getCellSelectedRecords(): IGanttData[];
    /**
     * Gets the collection of selected rows.
     *
     * @returns {Element[]} .
     */
    getSelectedRows(): Element[];
    /**
     * Deselects the current selected rows and cells.
     *
     * @returns {void} .
     */
    clearSelection(): void;
    private highlightSelectedRows;
    private getselectedrowsIndex;
    /**
     * Selects a range of rows from start and end row indexes.
     *
     * @param  {number} startIndex - Defines the start row index.
     * @param  {number} endIndex - Defines the end row index.
     * @returns {void} .
     */
    selectRowsByRange(startIndex: number, endIndex?: number): void;
    private addRemoveClass;
    private addClass;
    private removeClass;
    private showPopup;
    /**
     * @returns {void} .
     * @private
     */
    hidePopUp(): void;
    private popUpClickHandler;
    /**
     * @param {PointerEvent} e .
     * @returns {void} .
     * @private
     */
    private mouseUpHandler;
    /**
     * To add class for selected records in virtualization mode.
     *
     * @param {number} i .
     * @returns {void} .
     * @hidden
     */
    maintainSelectedRecords(i: number): void;
    /**
     * To destroy the selection module.
     *
     * @returns {void} .
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/actions/sort.d.ts
/**
 * The Sort module is used to handle sorting action.
 */
export  class Sort {
    parent: Gantt;
    constructor(gantt: Gantt);
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} .
     * @private
     */
    private getModuleName;
    /**
     * @returns {void} .
     * @private
     */
    private addEventListener;
    /**
     *
     * @returns {void} .
     * @hidden
     */
    private removeEventListener;
    /**
     * Destroys the Sorting of TreeGrid.
     *
     * @returns {void} .
     * @private
     */
    destroy(): void;
    /**
     * Sort a column with given options.
     *
     * @param {string} columnName - Defines the column name to sort.
     * @param {grids.SortDirection} direction - Defines the direction of sort.
     * @param {boolean} isMultiSort - Defines whether the previously sorted columns are to be maintained.
     * @returns {void} .
     */
    sortColumn(columnName: string, direction: grids.SortDirection, isMultiSort?: boolean): void;
    /**
     * Method to clear all sorted columns.
     *
     * @returns {void} .
     */
    clearSorting(): void;
    /**
     * The function used to update sortSettings of TreeGrid.
     *
     * @returns {void} .
     * @hidden
     */
    private updateModel;
    /**
     * To clear sorting for specific column.
     *
     * @param {string} columnName - Defines the sorted column name to remove.
     * @returns {void} .
     */
    removeSortColumn(columnName: string): void;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/actions/taskbar-edit.d.ts
/**
 * File for handling taskbar editing operation in Gantt.
 */
export  class TaskbarEdit extends DateProcessor {
    protected parent: Gantt;
    taskBarEditElement: HTMLElement;
    taskBarEditRecord: IGanttData;
    taskBarEditAction: string;
    roundOffDuration: boolean;
    private mouseDownX;
    private mouseDownY;
    mouseMoveX: number;
    mouseMoveY: number;
    previousItem: ITaskData;
    previousItemProperty: string[];
    taskbarEditedArgs: ITaskbarEditedEventArgs;
    private progressBorderRadius;
    private scrollTimer;
    timerCount: number;
    dragMouseLeave: boolean;
    tooltipPositionX: number;
    isMouseDragged: boolean;
    private falseLine;
    connectorSecondElement: Element;
    connectorSecondRecord: IGanttData;
    connectorSecondAction: string;
    fromPredecessorText: string;
    toPredecessorText: string;
    finalPredecessor: string;
    dependencyCancel: boolean;
    drawPredecessor: boolean;
    private highlightedSecondElement;
    private editTooltip;
    private canDrag;
    /** @private */
    tapPointOnFocus: boolean;
    private editElement;
    touchEdit: boolean;
    private prevZIndex;
    private previousMouseMove;
    private elementOffsetLeft;
    private elementOffsetTop;
    private elementOffsetWidth;
    private elementOffsetHeight;
    segmentIndex: number;
    private targetElement;
    constructor(ganttObj?: Gantt);
    private wireEvents;
    /**
     * To initialize the public property.
     *
     * @returns {void} .
     * @private
     */
    private initPublicProp;
    private mouseDownHandler;
    private mouseClickHandler;
    private showHideActivePredecessors;
    private applyActiveColor;
    private validateConnectorPoint;
    private mouseLeaveHandler;
    /**
     * To update taskbar edited elements on mouse down action.
     *
     * @param {PointerEvent} e .
     * @returns {void} .
     * @private
     */
    updateTaskBarEditElement(e: PointerEvent): void;
    /**
     * To show/hide taskbar editing elements.
     *
     * @param {Element} element .
     * @param {Element} secondElement .
     * @param {boolean} fadeConnectorLine .
     * @returns {void} .
     * @private
     */
    showHideTaskBarEditingElements(element: Element, secondElement: Element, fadeConnectorLine?: boolean): void;
    /**
     * To get taskbar edit actions.
     *
     * @param {PointerEvent} e .
     * @returns {string} .
     * @private
     */
    private getTaskBarAction;
    /**
     * To update property while perform mouse down.
     *
     * @param {PointerEvent} event .
     * @returns {void} .
     * @private
     */
    private updateMouseDownProperties;
    private isMouseDragCheck;
    /**
     * To handle mouse move action in chart
     *
     * @param {PointerEvent} event .
     * @returns {void} .
     * @private
     */
    mouseMoveAction(event: PointerEvent): void;
    /**
     * Method to update taskbar editing action on mous move.
     *
     * @param {PointerEvent} e .
     * @param {boolean} isMouseClick .
     * @returns {void} .
     * @private
     */
    taskBarEditingAction(e: PointerEvent, isMouseClick: boolean): void;
    /**
     * To update property while perform mouse move.
     *
     * @param {PointerEvent} event .
     * @returns {void} .
     * @private
     */
    private updateMouseMoveProperties;
    /**
     * To start the scroll timer.
     *
     * @param {string} direction .
     * @returns {void} .
     * @private
     */
    startScrollTimer(direction: string): void;
    /**
     * To stop the scroll timer.
     *
     * @returns {void} .
     * @private
     */
    stopScrollTimer(): void;
    /**
     * To update left and width while perform taskbar drag operation.
     *
     * @param {PointerEvent} e .
     * @returns {void} .
     * @private
     */
    private enableDragging;
    /**
     * To update left and width while perform progress resize operation.
     *
     * @param {PointerEvent} e .
     * @returns {void} .
     * @private
     */
    private performProgressResize;
    /**
     * To update left and width while perform taskbar left resize operation.
     *
     * @param {PointerEvent} e .
     * @returns {void} .
     * @private
     */
    private enableLeftResizing;
    private enableSplitTaskLeftResize;
    /**
     * Update mouse position and edited item value
     *
     * @param {PointerEvent} e .
     * @param {ITaskData} item .
     * @returns {void} .
     */
    private updateEditPosition;
    /**
     *  To update milestone property.
     *
     * @param {ITaskData} item .
     * @returns {void} .
     * @private
     */
    private updateIsMilestone;
    /**
     * To update left and width while perform taskbar right resize operation.
     *
     * @param {PointerEvent} e .
     * @returns {void} .
     * @private
     */
    private enableRightResizing;
    /**
     * To updated startDate and endDate while perform taskbar edit operation.
     *
     * @returns {void} .
     * @private
     */
    private updateEditedItem;
    private updateChildDrag;
    private updateSplitLeftResize;
    private updateSplitRightResizing;
    sumOfDuration(segments: ITaskSegment[]): number;
    private setSplitTaskDrag;
    /**
     * To get roundoff enddate.
     *
     * @param {ITaskData} ganttRecord .
     * @param {boolean} isRoundOff .
     * @returns {number} .
     * @private
     */
    private getRoundOffEndLeft;
    /**
     * To get roundoff startdate.
     *
     * @param {ITaskData | ITaskSegment} ganttRecord .
     * @param {boolean} isRoundOff .
     * @returns {number} .
     * @private
     */
    getRoundOffStartLeft(ganttRecord: ITaskData | ITaskSegment, isRoundOff: boolean): number;
    /**
     * To get date by left value.
     *
     * @param {number} left .
     * @returns {Date} .
     * @private
     */
    getDateByLeft(left: number): Date;
    /**
     * To set item position.
     *
     * @returns {void} .
     * @private
     */
    private setItemPosition;
    /**
     * To handle mouse up event in chart
     *
     * @param {PointerEvent} e .
     * @returns {void} .
     * @private
     */
    mouseUpHandler(e: PointerEvent): void;
    /**
     * To perform taskbar edit operation.
     *
     * @param {PointerEvent} event .
     * @returns {void} .
     * @private
     */
    taskBarEditedAction(event: PointerEvent): void;
    /**
     * To cancel the taskbar edt action.
     *
     * @returns {void} .
     * @private
     */
    cancelTaskbarEditActionInMouseLeave(): void;
    updateSegmentProgress(taskData: ITaskData): void;
    /**
     * To trigger taskbar edited event.
     *
     * @param {ITaskbarEditedEventArgs} arg .
     * @returns {void} .
     * @private
     */
    taskbarEdited(arg: ITaskbarEditedEventArgs): void;
    /**
     * To get progress in percentage.
     *
     * @param {number} parentwidth .
     * @param {number} progresswidth .
     * @returns {number} .
     * @private
     */
    private getProgressPercent;
    /**
     * false line implementation.
     *
     * @returns {void} .
     * @private
     */
    private drawFalseLine;
    /**
     *
     * @param {boolean} isRemoveConnectorPointDisplay .
     * @returns {void} .
     * @private
     */
    removeFalseLine(isRemoveConnectorPointDisplay: boolean): void;
    /**
     *
     * @param {PointerEvent} e .
     * @returns {void} .
     * @private
     */
    updateConnectorLineSecondProperties(e: PointerEvent): void;
    private triggerDependencyEvent;
    private getCoordinate;
    private getElementByPosition;
    private multipleSelectionEnabled;
    private unWireEvents;
    /**
     * @returns {void} .
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/actions/toolbar.d.ts
/**
 * Toolbar action related code goes here
 */
export  class Toolbar {
    private parent;
    private predefinedItems;
    private id;
    toolbar: navigations.Toolbar;
    private items;
    element: HTMLElement;
    private searchElement;
    constructor(parent: Gantt);
    private getModuleName;
    /**
     * @returns {void} .
     * @private
     */
    renderToolbar(): void;
    private createToolbar;
    private getSearchBarElement;
    private wireEvent;
    private propertyChanged;
    private unWireEvent;
    private keyUpHandler;
    private focusHandler;
    private blurHandler;
    /**
     * Method to set value for search input box
     *
     * @returns {void} .
     * @hidden
     */
    updateSearchTextBox(): void;
    private getItems;
    private getItem;
    private getItemObject;
    private toolbarClickHandler;
    /**
     *
     * @returns {void} .
     * @private
     */
    zoomIn(): void;
    /**
     *
     * @returns {void} .
     * @private
     */
    zoomToFit(): void;
    /**
     *
     * @returns {void} .
     * @private
     */
    zoomOut(): void;
    /**
     * To refresh toolbar items bases current state of tasks
     *
     * @param {grids.RowSelectEventArgs} args .
     * @returns {void} .
     */
    refreshToolbarItems(args?: grids.RowSelectEventArgs): void;
    /**
     * Enables or disables ToolBar items.
     *
     * @param {string[]} items - Defines the collection of itemID of ToolBar items.
     * @param {boolean} isEnable - Defines the items to be enabled or disabled.
     * @returns {void} .
     * @hidden
     */
    enableItems(items: string[], isEnable: boolean): void;
    /**
     * Destroys the Sorting of TreeGrid.
     *
     * @function destroy
     * @returns {void} .
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/actions/virtual-scroll.d.ts
/**
 * Gantt Virtual Scroll module will handle Virtualization
 *
 * @hidden
 */
export  class VirtualScroll {
    private parent;
    constructor(parent?: Gantt);
    /**
     * Get module name
     *
     * @returns {void} .
     */
    protected getModuleName(): string;
    /**
     * Bind virtual-scroll related properties from Gantt to TreeGrid
     *
     * @returns {void} .
     */
    private bindTreeGridProperties;
    /**
     * @returns {number} .
     * @private
     */
    getTopPosition(): number;
    /**
     * To destroy the virtual scroll module.
     *
     * @returns {void} .
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/base/common.d.ts
/**
 * Gantt base related properties
 */
//node_modules/@syncfusion/ej2-gantt/src/gantt/base/constant.d.ts
/**
 *  This file was to define all public and internal events
 */
/** @hidden */
export  const load: string;
/** @hidden */
export  const rowDataBound: string;
/** @hidden */
export  const queryCellInfo: string;
/** @hidden */
export  const toolbarClick: string;
/** @hidden */
export  const keyPressed: string;
//node_modules/@syncfusion/ej2-gantt/src/gantt/base/css-constants.d.ts
/**
 * CSS Constants
 */
/** @hidden */
export  const root: string;
export  const ganttChartPane: string;
export  const treeGridPane: string;
export  const splitter: string;
export  const ganttChart: string;
export  const chartBodyContainer: string;
export  const toolbar: string;
export  const chartScrollElement: string;
export  const chartBodyContent: string;
export  const scrollContent: string;
export  const adaptive: string;
export  const focusCell: string;
export  const taskTable: string;
export  const zeroSpacing: string;
export  const timelineHeaderContainer: string;
export  const timelineHeaderTableContainer: string;
export  const timelineHeaderTableBody: string;
export  const timelineTopHeaderCell: string;
export  const timelineHeaderCellLabel: string;
export  const weekendHeaderCell: string;
export  const timelineSingleHeaderCell: string;
export  const timelineSingleHeaderOuterDiv: string;
export  const leftLabelContainer: string;
export  const leftLabelTempContainer: string;
export  const leftLabelInnerDiv: string;
export  const rightLabelContainer: string;
export  const rightLabelTempContainer: string;
export  const rightLabelInnerDiv: string;
export  const taskBarMainContainer: string;
export  const parentTaskBarInnerDiv: string;
export  const parentProgressBarInnerDiv: string;
export  const taskLabel: string;
export  const childTaskBarInnerDiv: string;
export  const childProgressBarInnerDiv: string;
export  const criticalChildTaskBarInnerDiv: string;
export  const criticalChildProgressBarInnerDiv: string;
export  const milestoneTop: string;
export  const milestoneBottom: string;
export  const criticalMilestoneTop: string;
export  const criticalMilestoneBottom: string;
export  const baselineBar: string;
export  const baselineMilestoneContainer: string;
export  const baselineMilestoneDiv: string;
export  const baselineMilestoneTop: string;
export  const baselineMilestoneBottom: string;
export  const chartRowCell: string;
export  const chartRow: string;
export  const rowExpand: string;
export  const rowCollapse: string;
export  const taskBarLeftResizer: string;
export  const taskBarRightResizer: string;
export  const childProgressResizer: string;
export  const progressBarHandler: string;
export  const progressHandlerElement: string;
export  const progressBarHandlerAfter: string;
export  const icon: string;
export  const traceMilestone: string;
export  const parentMilestone: string;
export  const parentMilestoneTop: string;
export  const parentMilestoneBottom: string;
export  const traceChildTaskBar: string;
export  const traceChildProgressBar: string;
export  const manualParentMainContainer: string;
export  const manualParentTaskBar: string;
export  const manualParentMilestone: string;
export  const manualParentMilestoneTop: string;
export  const manualParentMilestoneBottom: string;
export  const manualChildTaskBar: string;
export  const manualChildProgressBar: string;
export  const manualParentRightResizer: string;
export  const manualParentLeftResizer: string;
export  const traceManualUnscheduledTask: string;
export  const traceParentTaskBar: string;
export  const traceParentProgressBar: string;
export  const traceUnscheduledTask: string;
export  const criticalUnscheduledTask: string;
export  const taskIndicatorDiv: string;
export  const leftResizeGripper: string;
export  const rightResizeGripper: string;
export  const progressResizeGripper: string;
export  const label: string;
export  const eventMarkersContainer: string;
export  const eventMarkersChild: string;
export  const eventMarkersSpan: string;
export  const nonworkingContainer: string;
export  const holidayContainer: string;
export  const holidayElement: string;
export  const holidayLabel: string;
export  const weekendContainer: string;
export  const weekend: string;
export  const unscheduledTaskbarLeft: string;
export  const unscheduledTaskbarRight: string;
export  const unscheduledTaskbar: string;
export  const unscheduledMilestoneTop: string;
export  const unscheduledMilestoneBottom: string;
export  const dependencyViewContainer: string;
export  const connectorLineContainer: string;
export  const connectorLine: string;
export  const criticalConnectorLine: string;
export  const criticalConnectorLineRightArrow: string;
export  const criticalConnectorLineLeftArrow: string;
export  const connectorLineRightArrow: string;
export  const connectorLineLeftArrow: string;
export  const connectorLineZIndex: string;
export  const connectorLineHover: string;
export  const criticalConnectorLineHover: string;
export  const connectorLineHoverZIndex: string;
export  const connectorLineRightArrowHover: string;
export  const connectorLineLeftArrowHover: string;
export  const criticalConnectorLineRightArrowHover: string;
export  const criticalConnectorLineLeftArrowHover: string;
export  const connectorTouchPoint: string;
export  const connectorPointLeft: string;
export  const connectorPointRight: string;
export  const connectorPointLeftHover: string;
export  const connectorPointRightHover: string;
export  const falseLine: string;
export  const connectorTooltipTaskName: string;
export  const connectorTooltipFalse: string;
export  const connectorTooltipTrue: string;
export  const rightConnectorPointOuterDiv: string;
export  const leftConnectorPointOuterDiv: string;
export  const connectorPointAllowBlock: string;
export  const ganttTooltip: string;
export  const columnHeader: string;
export  const content: string;
export  const editForm: string;
export  const deleteIcon: string;
export  const saveIcon: string;
export  const cancelIcon: string;
export  const ascendingIcon: string;
export  const descendingIcon: string;
export  const editIcon: string;
export  const indentIcon: string;
export  const outdentIcon: string;
export  const addIcon: string;
export  const criticalPathIcon: string;
export  const addAboveIcon: string;
export  const addBelowIcon: string;
export  const activeParentTask: string;
export  const activeChildTask: string;
export  const activeConnectedTask: string;
export  const touchMode: string;
export  const rangeContainer: string;
export  const rangeChildContainer: string;
export  const rangeChildMiddleContainer: string;
//node_modules/@syncfusion/ej2-gantt/src/gantt/base/date-processor.d.ts
/**
 *  Date processor is used to handle date of task data.
 */
export  class DateProcessor {
    protected parent: Gantt;
    private prevProjectStartDate;
    constructor(parent: Gantt);
    /**
     * @param {ITaskData} ganttProp .
     * @returns {boolean} .
     */
    private isValidateNonWorkDays;
    /**
     * Method to convert given date value as valid start date
     *
     * @param {Date} date .
     * @param {ITaskData} ganttProp .
     * @param {boolean} validateAsMilestone .
     * @param {boolean} isLoad .
     * @returns {Date} .
     * @private
     */
    checkStartDate(date: Date, ganttProp?: ITaskData, validateAsMilestone?: boolean, isLoad?: boolean): Date;
    /**
     * To update given date value to valid end date
     *
     * @param {Date} date .
     * @param {ITaskData} ganttProp .
     * @param {boolean} validateAsMilestone .
     * @returns {Date} .
     * @private
     */
    checkEndDate(date: Date, ganttProp?: ITaskData, validateAsMilestone?: boolean): Date;
    /**
     * To validate the baseline start date
     *
     * @param {Date} date .
     * @returns {Date} .
     * @private
     */
    checkBaselineStartDate(date: Date): Date;
    /**
     * To validate baseline end date
     *
     * @param {Date} date .
     * @returns {Date} .
     * @private
     */
    checkBaselineEndDate(date: Date, ganttProp?: ITaskData): Date;
    /**
     * To calculate start date value from duration and end date
     *
     * @param {IGanttData} ganttData - Defines the gantt data.
     * @returns {void} .
     * @private
     */
    calculateStartDate(ganttData: IGanttData): void;
    /**
     *
     * @param {IGanttData} ganttData - Defines the gantt data.
     * @returns {void} .
     * @private
     */
    calculateEndDate(ganttData: IGanttData): void;
    totalDuration(segments: ITaskSegment[]): number;
    /**
     * To calculate duration from start date and end date
     *
     * @param {IGanttData} ganttData - Defines the gantt data.
     * @returns {void} .
     */
    calculateDuration(ganttData: IGanttData): void;
    /**
     *
     * @param {Date} sDate Method to get total nonworking time between two date values
     * @param {Date} eDate .
     * @param {boolean} isAutoSchedule .
     * @param {boolean} isCheckTimeZone .
     * @returns {number} .
     */
    private getNonworkingTime;
    /**
     *
     * @param {Date} startDate .
     * @param {Date} endDate .
     * @param {string} durationUnit .
     * @param {boolean} isAutoSchedule .
     * @param {boolean} isMilestone .
     * @param {boolean} isCheckTimeZone .
     * @returns {number} .
     * @private
     */
    getDuration(startDate: Date, endDate: Date, durationUnit: string, isAutoSchedule: boolean, isMilestone: boolean, isCheckTimeZone?: boolean): number;
    /**
     *
     * @param {number} duration .
     * @param {string} durationUnit .
     * @returns {number} .
     */
    private getDurationAsSeconds;
    /**
     * To get date from start date and duration
     *
     * @param {Date} startDate .
     * @param {number} duration .
     * @param {string} durationUnit .
     * @param {ITaskData} ganttProp .
     * @param {boolean} validateAsMilestone .
     * @returns {Date} .
     * @private
     */
    getEndDate(startDate: Date, duration: number, durationUnit: string, ganttProp: ITaskData, validateAsMilestone: boolean): Date;
    /**
     *
     * @param {Date} endDate To calculate start date vale from end date and duration
     * @param {number} duration .
     * @param {string} durationUnit .
     * @param {ITaskData} ganttProp .
     * @returns {Date} .
     * @private
     */
    getStartDate(endDate: Date, duration: number, durationUnit: string, ganttProp: ITaskData): Date;
    /**
     * @param {ITaskData} ganttProp .
     * @param {boolean} isLoad .
     * @returns {Date} .
     * @private
     */
    protected getProjectStartDate(ganttProp: ITaskData, isLoad?: boolean): Date;
    /**
     * @param {ITaskData} ganttProp .
     * @param {boolean} isAuto .
     * @returns {Date} .
     * @private
     */
    getValidStartDate(ganttProp: ITaskData, isAuto?: boolean): Date;
    /**
     *
     * @param {ITaskData} ganttProp .
     * @param {boolean} isAuto .
     * @returns {Date} .
     * @private
     */
    getValidEndDate(ganttProp: ITaskData, isAuto?: boolean): Date;
    /**
     * @returns {number} .
     * @private
     */
    getSecondsPerDay(): number;
    /**
     *
     * @param {string} value .
     * @param {boolean} isFromDialog .
     * @returns {object} .
     * @private
     */
    getDurationValue(value: string | number, isFromDialog?: boolean): Object;
    /**
     *
     * @param {Date} date .
     * @returns {Date} .
     */
    protected getNextWorkingDay(date: Date): Date;
    /**
     * get weekend days between two dates without including args dates
     *
     * @param {Date} startDate .
     * @param {Date} endDate .
     * @returns {number} .
     */
    protected getWeekendCount(startDate: Date, endDate: Date): number;
    /**
     *
     * @param {Date} startDate .
     * @param {Date} endDate .
     * @param {boolean} isCheckTimeZone .
     * @returns {number} .
     */
    protected getNumberOfSeconds(startDate: Date, endDate: Date, isCheckTimeZone: boolean): number;
    /**
     *
     * @param {Date} startDate .
     * @param {Date} endDate .
     * @returns {number} .
     */
    protected getHolidaysCount(startDate: Date, endDate: Date): number;
    /**
     * @returns {number[]} .
     * @private
     */
    getHolidayDates(): number[];
    /**
     * @param {Date} date .
     * @param {boolean} checkWeekEnd .
     * @returns {boolean} .
     * @private
     */
    isOnHolidayOrWeekEnd(date: Date, checkWeekEnd: boolean): boolean;
    /**
     * To calculate non working times in given date
     *
     * @param {Date} startDate .
     * @param {Date} endDate .
     * @param {boolean} isAutoSchedule .
     * @returns {number} .
     */
    protected getNonWorkingSecondsOnDate(startDate: Date, endDate: Date, isAutoSchedule: boolean): number;
    /**
     *
     * @param {Date} date .
     * @returns {Date} .
     */
    protected getPreviousWorkingDay(date: Date): Date;
    /**
     * To get non-working day indexes.
     *
     * @returns {void} .
     * @private
     */
    getNonWorkingDayIndex(): void;
    /**
     *
     * @param {number} seconds .
     * @param {Date} date .
     * @returns {void} .
     * @private
     */
    setTime(seconds: number, date: Date): void;
    /**
     * @param {Date} startDate .
     * @param {Date} endDate .
     * @param {boolean} isCheckTimeZone .
     * @returns {number} .
     */
    protected getTimeDifference(startDate: Date, endDate: Date, isCheckTimeZone?: boolean): number;
    /**
     * @param {Date} sDate .
     * @param {Date} eDate .
     * @returns {void} .
     */
    protected updateDateWithTimeZone(sDate: Date, eDate: Date): void;
    /**
     *
     * @param {Date} date .
     * @returns {number} .
     */
    protected getSecondsInDecimal(date: Date): number;
    /**
     * @param {Date} date .
     * @param {number} localOffset .
     * @param {string} timezone .
     * @returns {number} .
     * @private
     */
    offset(date: Date, timezone: string): number;
    remove(date: Date, timezone: string): Date;
    reverse(date: Date, fromOffset: number | string, toOffset: number | string): Date;
    /**
     * @param {Date} date .
     * @param {string} timezone .
     * @returns {Date} .
     * @private
     */
    convert(date: Date, timezone: string): Date;
    /**
     * @param {string | Date} date .
     * @param {boolean} toConvert .
     * @returns {Date} .
     * @private
     */
    getDateFromFormat(date: string | Date, toConvert?: boolean): Date;
    /**
     * @param {Date} date1 .
     * @param {Date} date2 .
     * @returns {number} .
     * @private
     */
    compareDates(date1: Date, date2: Date): number;
    /**
     *
     * @param {number} duration .
     * @param {string} durationUnit .
     * @returns {string} .
     * @private
     */
    getDurationString(duration: number, durationUnit: string): string;
    /**
     * Method to get work with value and unit.
     *
     * @param {number} work .
     * @param {string} workUnit .
     * @returns {string} .
     * @private
     */
    getWorkString(work: number | string, workUnit: string): string;
    /**
     *
     * @param {object} editArgs .
     * @returns {void} .
     * @private
     */
    calculateProjectDatesForValidatedTasks(editArgs?: Object): void;
    /**
     *
     * @param {object} editArgs .
     * @returns {void} .
     * @private
     */
    calculateProjectDates(editArgs?: Object): void;
    /**
     *
     * @param {ITaskSegment} segments .
     * @returns {number} .
     * @private
     */
    splitTasksDuration(segments: ITaskSegment[]): number;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/base/enum.d.ts
/**
 * To define duration unit for whole project
 */
export  type DurationUnit = 
/** To define unit value of duration as minute */
'Minute' | 
/** To define unit value of duration as hour */
'Hour' | 
/** To define unit value of duration as day */
'Day';
/**
 * To define grid lines in Gantt
 */
export  type GridLine = 
/** Define horizontal lines */
'Horizontal' | 
/** Define vertical lines */
'Vertical' | 
/** Define both horizontal and vertical lines */
'Both' | 
/** Define no lines */
'None';
/**
 * To define toolbar items in Gantt
 */
export  type ToolbarItem = 
/** Add new record */
'Add' | 
/** Delete selected record */
'Delete' | 
/** Update edited record */
'Update' | 
/** Cancel the edited state */
'Cancel' | 
/** Edit the selected record */
'Edit' | 
/** Searches the grid records by given key */
'Search' | 
/** Expand all the parents */
'ExpandAll' | 
/** Collapse all the parents */
'CollapseAll' | 
/** Move HScroll to PrevTimeSpan */
'PrevTimeSpan' | 
/** Move HScroll to nextTimeSpan */
'NextTimeSpan' | 
/** To perform Zoom in action on Gantt timeline */
'ZoomIn' | 
/** To perform zoom out action on Gantt timeline */
'ZoomOut' | 
/** To show all project task in available chart width */
'ZoomToFit' | 
/** To export Gantt in excel sheet */
'ExcelExport' | 
/** To export Gantt in CSV */
'CsvExport' | 
/** To export Gantt in PDF */
'PdfExport' | 
/** To indent a selected record */
'Indent' | 
/** To outdent a selected record */
'Outdent' | 
/** To enable critical path */
'CriticalPath';
/**
 * Defines the schedule header mode. They are
 * * none - Define the default mode header.
 * * week - Define the week mode header.
 * * day - Define the day mode header.
 * * hours - Define the hours mode header.
 * * minute - Define the minutes mode header.
 */
export  type TimelineViewMode = 
/** Default. */
'None' | 
/** Define the week mode header. */
'Week' | 
/** Define the day mode header. */
'Day' | 
/** Define the hour mode header. */
'Hour' | 
/** Define the month mode header. */
'Month' | 
/** Define the year mode header. */
'Year' | 
/** Define the minutes mode header. */
'Minutes';
/**
 * Defines modes of editing.
 * * Auto
 * * Dialog
 */
export  type EditMode = 
/**  Defines Cell editing in TreeGrid and dialog in chart side */
'Auto' | 
/**  Defines EditMode as Dialog */
'Dialog';
/**
 * Defines the default items of Column menu
 */
export  type ColumnMenuItem = 
/**  Sort the current column in ascending order */
'SortAscending' | 
/**  Sort the current column in descending order */
'SortDescending' | 
/**  show the column chooser */
'ColumnChooser' | 
/**  show the Filter popup */
'Filter';
/**
 * Defines tab container type in add or edit dialog
 */
export  type DialogFieldType = 
/** Defines tab container type as general  */
'General' | 
/**  Defines tab as dependency editor */
'Dependency' | 
/** Defines tab as resources editor */
'Resources' | 
/** Defines tab as notes editor */
'Notes' | 
/** Defines tab as custom column editor */
'Custom' | 
/** Defines tab as task segments editor */
'Segments';
/**
 * Defines filter type of Gantt
 */
export  type FilterType = 
/** Defines filter type as menu */
'Menu' | 
/** Specifies the filtersetting type as excel */
'Excel';
/**
 * To define hierarchy mode on filter action
 */
export  type FilterHierarchyMode = 
/** Shows the filtered record with parent record */
'Parent' | 
/** Shows the filtered record with child record */
'Child' | 
/** Shows the filtered record with both parent and child record */
'Both' | 
/** Shows only filtered record */
'None';
/**
 * To define hierarchy mode on search action
 */
export  type SearchHierarchyMode = 
/** Shows the filtered record with parent record */
'Parent' | 
/** Shows the filtered record with child record */
'Child' | 
/** Shows the filtered record with both parent and child record */
'Both' | 
/** Shows only filtered record */
'None';
/**
 * To define initial view of Gantt
 */
export  type SplitterView = 
/** Shows grid side and side of Gantt */
'Default' | 
/** Shows grid side alone in Gantt */
'Grid' | 
/** Shows chart side alone in Gantt */
'Chart';
/**
 * To define new position for add action
 */
export  type RowPosition = /**  Defines new row position as top of all rows */ 'Top' | 
/**  Defines new row position as bottom of all rows */
'Bottom' | 
/**  Defines new row position as above the selected row */
'Above' | 
/**  Defines new row position as below the selected row */
'Below' | 
/**  Defines new row position as child to the selected row */
'Child';
/**
 * Defines directions of Sorting. They are
 * * Ascending
 * * Descending
 */
export  type SortDirection = 
/**  Defines SortDirection as Ascending */
'Ascending' | 
/**  Defines SortDirection as Descending */
'Descending';
/**
 * Defines predefined contextmenu items.
 *
 * @hidden
 */
export  type ContextMenuItem = 
/** Defines Auto fit the size of all columns. */
'AutoFitAll' | 
/** Defines Auto fit the current column. */
'AutoFit' | 
/** Defines SortDirection as Ascending  */
'SortAscending' | 
/** Defines SortDirection as Descending */
'SortDescending' | 
/** Defines the Task details */
'TaskInformation' | 
/** Defines the new record on add action */
'Add' | 
/** Defines the save the modified values */
'Save' | 
/** Defines the cancel the modified values */
'Cancel' | 
/** Defines the delete task */
'DeleteTask' | 
/** Defines the delete dependency task */
'DeleteDependency' | 
/** Defines the convert to task or milestone */
'Convert' | 
/** Defines the split a task or segment into two segments  */
'Split Task' | 
/** Defines the merge two segments into one segment */
'Merge Task';
/**
 * Defines contextmenu types.
 *
 * @hidden
 */
export  type ContextMenuType = 
/** Defines the header type context menu */
'Header' | 
/** Defines the content type context menu */
'Content';
/**
 * To define work unit for whole project
 */
export  type WorkUnit = 
/** To define unit value of work as minute */
'Minute' | 
/** To define unit value of work as hour */
'Hour' | 
/** To define unit value of work as day */
'Day';
/**
 * To define task type for task
 */
export  type TaskType = 
/** To define task type as fixedUnit */
'FixedUnit' | 
/** To define task type as fixedWork */
'FixedWork' | 
/** To define task type as fixedDuration */
'FixedDuration';
export  type PdfPageSize = 'Letter' | 'Note' | 'Legal' | 'A0' | 'A1' | 'A2' | 'A3' | 'A4' | 'A5' | 'A6' | 'A7' | 'A8' | 'A9' | 'B0' | 'B1' | 'B2' | 'B3' | 'B4' | 'B5' | 'Archa' | 'Archb' | 'Archc' | 'Archd' | 'Arche' | 'Flsa' | 'HalfLetter' | 'Letter11x17' | 'Ledger';
/**
 * Defines PDF page orientation.
 */
export  type PageOrientation = 'Landscape' | 'Portrait';
export  type PdfDashStyle = 'Solid' | 'Dash' | 'Dot' | 'DashDot' | 'DashDotDot';
/**
 * Defines PDF horizontal alignment.
 */
export  type PdfHAlign = 
/** left alignment */
'Left' | 
/** right alignment */
'Right' | 
/** center alignment */
'Center' | 
/** justify alignment */
'Justify';
/**
 * Defines PDF vertical alignment.
 */
export  type PdfVAlign = 
/** top alignment */
'Top' | 
/** bottom alignment */
'Bottom' | 
/** middle alignment */
'Middle';
/**
 * Defines Export Type.
 */
export  type ExportType = 
/** Current view data in gantt is exported. */
'CurrentViewData' | 
/** All data of the gantt is exported. */
'AllData';
/**
 * Defines the exporting theme
 */
export  type PdfTheme = 'Material' | 'Fabric' | 'Bootstrap' | 'Bootstrap 4';
/**
 * @hidden
 */
export  type CObject = {
    [key: string]: Object;
};
/**
 * To define schedule mode of Gantt
 */
export  type ScheduleMode = 
/** Tasks are displayed in auto scheduled mode. */
'Auto' | 
/** Tasks are displayed in manual scheduled mode */
'Manual' | 
/** Tasks are rendered in both auto and manual scheduled mode based on datasource values */
'Custom';
export  type ViewType = 
/** Define project view type Gantt */
'ProjectView' | 
/** Define resource view type Gantt */
'ResourceView';
//node_modules/@syncfusion/ej2-gantt/src/gantt/base/gantt-chart.d.ts
/**
 * module to render gantt chart - project view
 */
export  class GanttChart {
    private parent;
    chartElement: HTMLElement;
    chartTimelineContainer: HTMLElement;
    chartBodyContainer: HTMLElement;
    chartBodyContent: HTMLElement;
    rangeViewContainer: HTMLElement;
    scrollElement: HTMLElement;
    scrollObject: ChartScroll;
    isExpandCollapseFromChart: boolean;
    isExpandAll: boolean;
    private focusedElement;
    focusedRowIndex: number;
    private isGanttElement;
    keyboardModule: base.KeyboardEvents;
    targetElement: Element;
    virtualRender: VirtualContentRenderer;
    isEditableElement: any;
    tempNextElement: any;
    nextElementIndex: any;
    childrenIndex: any;
    constructor(parent: Gantt);
    private addEventListener;
    private renderChartContents;
    /**
     * Method to render top level containers in Gantt chart
     *
     * @returns {void} .
     * @private
     */
    renderChartContainer(): void;
    /**
     * method to render timeline, holidays, weekends at load time
     *
     * @returns {void} .
     */
    private renderInitialContents;
    /**
     * @returns {void} .
     * @private
     */
    renderOverAllocationContainer(): void;
    private renderChartElements;
    /**
     * @param {IGanttData[]} records .
     * @returns {void} .
     * @private
     */
    renderRangeContainer(records: IGanttData[]): void;
    private getTopValue;
    private getRangeHeight;
    private renderRange;
    /**
     * @returns {void} .
     * @private
     */
    renderTimelineContainer(): void;
    /**
     * initiate chart container
     *
     * @returns {void} .
     */
    private renderBodyContainers;
    /**
     * @returns {void} .
     * @private
     */
    updateWidthAndHeight(): void;
    private setVirtualHeight;
    /**
     * Method to update bottom border for chart rows
     *
     * @returns {void} .
     */
    updateLastRowBottomWidth(): void;
    private removeEventListener;
    /**
     * Click event handler in chart side
     *
     * @param {PointerEvent} e .
     * @returns {void} .
     */
    private ganttChartMouseDown;
    private ganttChartMouseClick;
    private ganttChartMouseUp;
    /**
     *
     * @param {PointerEvent} e .
     * @returns {void} .
     */
    private scrollToTarget;
    /**
     * To focus selected task in chart side
     *
     * @param {number} scrollLeft .
     * @returns {void} .
     * @private
     */
    updateScrollLeft(scrollLeft: number): void;
    /**
     *  Method trigger while perform mouse up action.
     *
     * @param {PointerEvent} e .
     * @returns {void}
     * @private
     */
    private mouseUp;
    /**
     *  Method trigger while perform mouse up action.
     *
     * @param {PointerEvent} e .
     * @returns {void} .
     * @private
     */
    private documentMouseUp;
    /**
     * This event triggered when click on taskbar element
     *
     * @param {PointerEvent | base.KeyboardEventArgs} e .
     * @param {EventTarget} target .
     * @param {Element} taskbarElement .
     * @returns {void}
     */
    onTaskbarClick(e: PointerEvent | base.KeyboardEventArgs, target: EventTarget, taskbarElement: Element): void;
    /**
     *  Method trigger while perform mouse leave action.
     *
     * @param {PointerEvent} e .
     * @returns {void} .
     * @private
     */
    private ganttChartLeave;
    /**
     *  Method trigger while perform mouse move action.
     *
     * @param {PointerEvent} e .
     * @returns {void} .
     * @private
     */
    private ganttChartMove;
    /**
     *  Method trigger while perform right click action.
     *
     * @param {PointerEvent} e .
     * @returns {void} .
     * @private
     */
    private contextClick;
    /**
     * Method to trigger while perform mouse move on Gantt.
     *
     * @param {PointerEvent} e .
     * @returns {void} .
     * @private
     */
    mouseMoveHandler(e: PointerEvent): void;
    /**
     * Double click handler for chart
     *
     * @param {PointerEvent} e .
     * @returns {void} .
     */
    private doubleClickHandler;
    /**
     * To trigger record double click event.
     *
     * @param {RecordDoubleClickEventArgs} args .
     * @returns {void} .
     * @private
     */
    recordDoubleClick(args: RecordDoubleClickEventArgs): void;
    /**
     * @param {PointerEvent | base.KeyboardEventArgs} e .
     * @returns {IGanttData} .
     * @private
     */
    getRecordByTarget(e: PointerEvent | base.KeyboardEventArgs): IGanttData;
    /**
     * To get gantt chart row elements
     *
     * @returns {NodeListOf<Element>} .
     * @private
     */
    getChartRows(): NodeListOf<Element>;
    /**
     * Expand Collapse operations from gantt chart side
     *
     * @param {PointerEvent} e .
     * @returns {void} .
     * @private
     */
    private chartExpandCollapseRequest;
    /**
     * @returns {void} .
     * @private
     */
    reRenderConnectorLines(): void;
    /**
     * To collapse gantt rows
     *
     * @param {object} args .
     * @param {boolean} isCancel .
     * @returns {void} .
     * @private
     */
    collapseGanttRow(args: object, isCancel?: boolean): void;
    /**
     * @returns {void} .
     * @param {object} args .
     * @private
     */
    collapsedGanttRow(args: object): void;
    /**
     * To expand gantt rows
     *
     * @returns {void} .
     * @param {object} args .
     * @param {boolean} isCancel .
     * @private
     */
    expandGanttRow(args: object, isCancel?: boolean): void;
    /**
     * @returns {void} .
     * @param {object} args .
     * @private
     */
    expandedGanttRow(args: object): void;
    private renderMultiTaskbar;
    /**
     * On expand collapse operation row properties will be updated here.
     *
     * @param {string} action .
     * @param {Node} rowElement .
     * @param {IGanttData} record .
     * @param {boolean} isChild .
     * @returns {void} .
     * @private
     */
    private expandCollapseChartRows;
    /**
     * Public method to expand or collapse all the rows of Gantt
     *
     * @returns {void}
     * @param {string} action .
     * @private
     */
    expandCollapseAll(action: string): void;
    /**
     * Public method to expand particular level of rows.
     *
     * @returns {void} .
     * @param {number} level .
     * @private
     */
    expandAtLevel(level: number): void;
    /**
     * Public method to collapse particular level of rows.
     *
     * @returns {void} .
     * @param {number} level .
     * @private
     */
    collapseAtLevel(level: number): void;
    /**
     * Event Binding for gantt chart click
     *
     * @returns {void} .
     */
    private wireEvents;
    private unWireEvents;
    /**
     * To get record by taskbar element.
     *
     * @param {Element} target .
     * @returns {IGanttData} .
     * @private
     */
    getRecordByTaskBar(target: Element): IGanttData;
    /**
     * Trigger Tab & Shift + Tab keypress to highlight active element.
     *
     * @param {base.KeyboardEventArgs} e .
     * @returns {void} .
     * @private
     */
    onTabAction(e: base.KeyboardEventArgs): void;
    /**
     * Get next/previous sibling element.
     *
     * @param {Element} $target .
     * @param {boolean} isTab .
     * @param {boolean} isInEditedState .
     * @returns {Element | string} .
     */
    private getNextElement;
    /**
     * Get next/previous row element.
     *
     * @param {number} rowIndex .
     * @param {boolean} isTab .
     * @param {boolean} isChartRow .
     * @returns {Element} .
     */
    private getNextRowElement;
    /**
     * Validate next/previous sibling element haschilds.
     *
     * @param {Element} $target .
     * @param {string} className .
     * @returns {boolean} .
     */
    private validateNextElement;
    /**
     * Getting child element based on row element.
     *
     * @param {Element} rowElement .
     * @param {boolean} isTab .
     * @returns {Element | string} .
     */
    private getChildElement;
    /**
     * Add/Remove active element.
     *
     * @private
     * @param {HTMLElement} element .
     * @param {string} focus .
     * @param {boolean} isChartElement .
     * @returns {void} .
     */
    manageFocus(element: HTMLElement, focus: string, isChartElement?: boolean): void;
    /**
     * To get index by taskbar element.
     *
     * @param {Element} target .
     * @returns {number} .
     * @private
     */
    getIndexByTaskBar(target: Element): number;
    private destroy;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/base/gantt-model.d.ts
/**
 * Interface for a class Gantt
 */
export interface GanttModel extends base.ComponentModel{
    /**
     * Enables or disables the key board interaction of Gantt.
     *
     * @default true
     */
    allowKeyboard?: boolean;
    /**
     * If `enableImmutableMode`  is set to true, the Gantt Chart will reuse old rows if it exists in the new result instead of
     * full refresh while performing the Gantt actions.
     *
     * @default false
     */
    enableImmutableMode?: boolean;
    /**
     * If `disableHtmlEncode` is set to true, it encodes the HTML of the header and content cells.
     *
     * @default true
     */
    disableHtmlEncode?: boolean;
    /**
     * Enables or disables the focusing the task bar on click action.
     *
     * @default true
     */
    autoFocusTasks?: boolean;
    /**
     * If `allowSelection` is set to true, it allows selection of (highlight row) Gantt chart rows by clicking it.
     *
     * @default true
     */
    allowSelection?: boolean;
    /**
     * If `allowSorting` is set to true, it allows sorting of gantt chart tasks when column header is clicked.
     *
     * @default false
     */
    allowSorting?: boolean;
    /**
     * If `enablePredecessorValidation` is set to true, it allows to validate the predecessor link.
     *
     * @default true
     */
    enablePredecessorValidation?: boolean;
    /**
     * If `showColumnMenu` set to true, then it will enable the column menu options in each columns.
     *
     * @default false
     */
    showColumnMenu?: boolean;
    /**
     * `columnMenuItems` defines both built-in and custom column menu items.
     * <br><br>
     * The available built-in items are,
     * * `ColumnChooser` - To show/hide the treegrid.TreeGrid columns.
     * * `SortAscending` - Sort the current column in ascending order.
     * * `SortDescending` - Sort the current column in descending order.
     * * `Filter` - Filter options will show based on filterSettings property.
     *
     * @default null
     */
    columnMenuItems?: ColumnMenuItem[] | grids.ColumnMenuItemModel[];
    /**
     * By default, task schedule dates are calculated with system time zone.If Gantt chart assigned with specific time zone,
     * then schedule dates are calculated as given time zone date value.
     *
     * @default null
     */
    timezone?: string;
    /**
     * If `collapseAllParentTasks` set to true, then root tasks are rendered with collapsed state.
     *
     * @default false
     */
    collapseAllParentTasks?: boolean;
    /**
     * If `highlightWeekends` set to true, then all weekend days are highlighted in week - day timeline mode.
     *
     * @default false
     */
    highlightWeekends?: boolean;
    /**
     * To define expander column index in Grid.
     *
     * @default 0
     * @aspType int
     */
    treeColumnIndex?: number;
    /**
     * It is used to render Gantt chart rows and tasks.
     * `dataSource` value was defined as array of JavaScript objects or instances of `data.DataManager`.
     * {% codeBlock src='gantt/dataSource/index.md' %}{% endcodeBlock %}
     *
     * @isGenericType true
     * @default []
     */
    dataSource?: Object[] | data.DataManager | Object;
    /**
     * `durationUnit` Specifies the duration unit for each tasks whether day or hour or minute.
     * * `day`: Sets the duration unit as day.
     * * `hour`: Sets the duration unit as hour.
     * * `minute`: Sets the duration unit as minute.
     *
     * @default day
     */
    durationUnit?: DurationUnit;
    /**
     * Defines the external [`data.Query`](https://ej2.syncfusion.com/documentation/data/api-query.html)
     * that will be executed along with data processing.
     *
     * @default null
     */
    query?: data.Query;
    /**
     * Specifies the dateFormat for Gantt, given format is displayed in tooltip and Grid cells.
     * By default, the format is based on the culture.
     */
    dateFormat?: string;
    /**
     * Defines the height of the Gantt component container.
     *
     * @default 'auto'
     */
    height?: number | string;
    /**
     * If `renderBaseline` is set to `true`, then baselines are rendered for tasks.
     *
     * @default false
     */
    renderBaseline?: boolean;
    /**
     * Configures the grid lines in tree grid and gantt chart.
     */
    gridLines?: GridLine;
    /**
     * Defines the right, left and inner task labels in task bar.
     * {% codeBlock src='gantt/labelSettings/index.md' %}{% endcodeBlock %}
     */
    labelSettings?: LabelSettingsModel;
    /**
     * The task bar template that renders customized child task bars from the given template.
     *
     * @default null
     */
    taskbarTemplate?: string;
    /**
     * The parent task bar template that renders customized parent task bars from the given template.
     *
     * @default null
     */
    parentTaskbarTemplate?: string;
    /**
     * The milestone template that renders customized milestone task from the given template.
     *
     * @default null
     */
    milestoneTemplate?: string;
    /**
     * Defines the baseline bar color.
     */
    baselineColor?: string;
    /**
     * Defines the width of the Gantt component container.
     *
     * @default 'auto'
     */
    width?: number | string;
    /**
     * If `enableVirtualization` set to true, then the Gantt will render only the rows visible within the view-port.
     * and load subsequent rows on vertical scrolling. This helps to load large dataset in Gantt.
     *
     * @default false
     */
    enableVirtualization?: boolean;
    /**
     * `toolbar` defines the toolbar items of the Gantt.
     * It contains built-in and custom toolbar items
     * If an array value is assigned, it is considered as the list of built-in and custom toolbar items in the Gantt's toolbar.
     * <br><br>
     * The available built-in toolbar items are:
     * * Add: Adds a new record.
     * * Edit: Edits the selected task.
     * * Update: Updates the edited task.
     * * Delete: Deletes the selected task.
     * * Cancel: Cancels the edit state.
     * * Search: Searches tasks by the given key.
     * * ExpandAll: Expands all the task of Gantt.
     * * CollapseAll: Collapses all the task of Gantt.
     * * PrevTimeSpan: Extends timeline with one unit before the timeline start date.
     * * NextTimeSpan: Extends timeline with one unit after the timeline finish date.
     * * ZoomIn: ZoomIn the Gantt control.
     * * ZoomOut: ZoomOut the Gantt control.
     * * ZoomToFit: Display the all tasks within the viewable Gantt chart.
     * * ExcelExport: To export in Excel format.
     * * CsvExport : To export in CSV format.
     * * Indent: To indent a task to one level.
     * * Outdent: To outdent a task from one level.
     *
     * @default null
     */
    toolbar?: (ToolbarItem | string | navigations.ItemModel)[];
    /**
     * Defines workweek of project.
     *
     * @default ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
     */
    workWeek?: string[];
    /**
     * Defines weekend days are considered as working day or not.
     *
     * @default false
     */
    includeWeekend?: boolean;
    /**
     * Enables or disables rendering of unscheduled tasks in Gantt.
     *
     * @default false
     */
    allowUnscheduledTasks?: boolean;
    /**
     * To show notes column cell values inside the cell or in tooltip.
     *
     * @default false
     * @deprecated
     */
    showInlineNotes?: boolean;
    /**
     * Defines height value for grid rows and chart rows in Gantt.
     *
     * @default 36
     * @aspType int
     */
    rowHeight?: number;
    /**
     * Defines height of taskbar element in Gantt.
     *
     * @aspType int?
     */
    taskbarHeight?: number;
    /**
     * Defines start date of the project, if `projectStartDate` value not set then it will be calculated from data source.
     *
     * @default null
     */
    projectStartDate?: Date | string;
    /**
     * Defines end date of the project, if `projectEndDate` value not set then it will be calculated from data source.
     *
     * @default null
     */
    projectEndDate?: Date | string;
    /**
     * Defines mapping property to get resource id value from resource collection.
     *
     * @default null
     */
    resourceIDMapping?: string;
    /**
     * Defines mapping property to get resource name value from resource collection.
     *
     * @default null
     */
    resourceNameMapping?: string;
    /**
     * Defines resource collection assigned for projects.
     *
     * @default []
     */
    resources?: object[];
    /**
     * Defines segment collection assigned for tasks.
     *
     * @default []
     */
    segmentData?: object[];
    /**
     * Defines background color of dependency lines.
     *
     * @default null
     */
    connectorLineBackground?: string;
    /**
     * Defines width of dependency lines.
     *
     * @default 1
     * @aspType int
     */
    connectorLineWidth?: number;
    /**
     * Defines column collection displayed in grid
     * If the `columns` declaration was empty then `columns` are automatically populated from `taskSettings` value.
     * {% codeBlock src='gantt/columns/index.md' %}{% endcodeBlock %}
     *
     * @default []
     */
    columns?: Column[] | string[] | ColumnModel[];
    /**
     * Defines the tabs and fields to be included in the add dialog.
     * If the value was empty, then it will be calculated from `taskSettings` and `columns` value.
     * {% codeBlock src='gantt/addDialogFields/index.md' %}{% endcodeBlock %}
     *
     * @default []
     */
    addDialogFields?: AddDialogFieldSettingsModel[];
    /**
     * Defines the tabs and fields to be included in the edit dialog.
     * If the value was empty, then it will be calculated from `taskSettings` and `columns` value.
     * {% codeBlock src='gantt/editDialogFields/index.md' %}{% endcodeBlock %}
     *
     * @default []
     */
    editDialogFields?: EditDialogFieldSettingsModel[];
    /**
     * The `selectedRowIndex` allows you to select a row at initial rendering.
     * You can also get the currently selected row index.
     *
     * @default -1
     * @aspType int
     */
    selectedRowIndex?: number;
    /**
     * `workUnit` Specifies the work unit for each tasks whether day or hour or minute.
     * * `day`: Sets the work unit as day.
     * * `hour`: Sets the work unit as hour.
     * * `minute`: Sets the work unit as minute.
     *
     * @default hour
     */
    workUnit?: WorkUnit;
    /**
     * `taskType` Specifies the task type for task whether fixedUnit or fixedWork or fixedDuration.
     * * `fixedUnit`: Sets the task type as fixedUnit.
     * * `fixedWork`: Sets the task type as fixedWork.
     * * `fixedDuration`: Sets the task type as fixedDuration.
     *
     * @default fixedUnit
     */
    taskType?: TaskType;
    /**
     * Defines the view type of the Gantt.
     */
    viewType?: ViewType;
    /**
     * Defines customized working time of project.
     * {% codeBlock src='gantt/dayWorkingTime/index.md' %}{% endcodeBlock %}
     */
    dayWorkingTime?: DayWorkingTimeModel[];
    /**
     * Defines holidays presented in project timeline.
     * {% codeBlock src='gantt/holidays/index.md' %}{% endcodeBlock %}
     *
     * @default []
     */
    holidays?: HolidayModel[];
    /**
     * Defines events and status of project throughout the timeline.
     * {% codeBlock src='gantt/eventMarkers/index.md' %}{% endcodeBlock %}
     *
     * @default []
     */
    eventMarkers?: EventMarkerModel[];
    /**
     * Defines mapping properties to find task values such as id, start date, end date, duration and progress values from data source.
     * {% codeBlock src='gantt/taskFields/index.md' %}{% endcodeBlock %}
     */
    taskFields?: TaskFieldsModel;
    /**
     * Defines mapping properties to find resource values such as id, name, unit and group from resource collection.
     */
    resourceFields?: ResourceFieldsModel;
    /**
     * Configures timeline settings of Gantt.
     * Defines default timeline modes or customized top tier mode and bottom tier mode or single tier only.
     * {% codeBlock src='gantt/timelineSettings/index.md' %}{% endcodeBlock %}
     */
    timelineSettings?: TimelineSettingsModel;
    /**
     * Configures the sort settings of the Gantt.
     * {% codeBlock src='gantt/sortSettings/index.md' %}{% endcodeBlock %}
     *
     * @default {columns:[]}
     */
    sortSettings?: SortSettingsModel;
    /**
     * Configures edit settings of Gantt.
     * {% codeBlock src='gantt/editSettings/index.md' %}{% endcodeBlock %}
     *
     * @default { allowAdding: false, allowEditing: false, allowDeleting: false, mode:'Auto',
     * showDeleteConfirmDialog: false }
     */
    editSettings?: EditSettingsModel;
    /**
     * Enables or disables default tooltip of Gantt element and defines customized tooltip for Gantt elements.
     * {% codeBlock src='gantt/tooltipSettings/index.md' %}{% endcodeBlock %}
     *
     * @default { showTooltip: true }
     */
    tooltipSettings?: TooltipSettingsModel;
    /**
     * Configures the selection settings.
     * {% codeBlock src='gantt/selectionSettings/index.md' %}{% endcodeBlock %}
     *
     * @default {mode: 'Row', type: 'Single'}
     */
    selectionSettings?: SelectionSettingsModel;
    /**
     * Enables or disables filtering support in Gantt.
     *
     * @default false
     */
    allowFiltering?: boolean;
    /**
     * If `allowExcelExport` set to true, then it will allow the user to export Gantt to Excel and CSV file.
     *
     * @default false
     */
    allowExcelExport?: boolean;
    /**
     * If `allowRowDragAndDrop` set to true, then it will allow the user to perform drag and drop action in Gantt.
     *
     * @default false
     */
    allowRowDragAndDrop?: boolean;
    /**
     * If `allowReordering` is set to true, Gantt columns can be reordered.
     * Reordering can be done by drag and drop of a particular column from one index to another index.
     *
     * @default false
     */
    allowReordering?: boolean;
    /**
     * If `readOnly` is set to true, Gantt cannot be edited.
     *
     * @default false
     */
    readOnly?: boolean;
    /**
     * If `allowResizing` is set to true, Gantt columns can be resized.
     *
     * @default false
     */
    allowResizing?: boolean;
    /**
     * If `enableContextMenu` is set to true, Enable context menu in Gantt.
     *
     * @default false
     */
    enableContextMenu?: boolean;
    /**
     * It highlights the critical tasks in the Gantt Chart that affect the project’s end date.
     *
     * @default false
     */
    enableCriticalPath?: boolean;
    /**
     * `contextMenuItems` defines both built-in and custom context menu items.
     * {% codeBlock src='gantt/contextMenuItems/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    contextMenuItems?: ContextMenuItem[] | grids.ContextMenuItemModel[];
    /**
     * If `allowPdfExport` set to true, then it will allow the user to export Gantt to PDF file.
     *
     * @default false
     */
    allowPdfExport?: boolean;
    /**
     * If `validateManualTasksOnLinking` is set to true,
     * it enables date validation while connecting manually scheduled tasks with predecessor
     *
     * @default false
     */
    validateManualTasksOnLinking?: boolean;
    /**
     * It enables to render the child taskbar on parent row for resource view Gantt.
     *
     * @default false
     */
    enableMultiTaskbar?: boolean;
    /**
     * It enables to render the overallocation container for resource view Gantt.
     *
     * @default false
     */
    showOverAllocation?: boolean;
    /**
     * Specifies task schedule mode for a project.
     */
    taskMode?: ScheduleMode;
    /**
     * Configures the filter settings for Gantt.
     * {% codeBlock src='gantt/filterSettings/index.md' %}{% endcodeBlock %}
     *
     * @default {columns: [], type: 'Menu' }
     */
    filterSettings?: FilterSettingsModel;
    /**
     * Configures the search settings for Gantt.
     * {% codeBlock src='gantt/searchSettings/index.md' %}{% endcodeBlock %}
     */
    searchSettings?: SearchSettingsModel;
    /**
     * Configures the splitter settings for Gantt.
     * {% codeBlock src='gantt/splitterSettings/index.md' %}{% endcodeBlock %}
     */
    splitterSettings?: SplitterSettingsModel;
    /**
     * This will be triggered after the taskbar element is appended to the Gantt element.
     *
     * @event queryTaskbarInfo
     */
    queryTaskbarInfo?: base.EmitType<IQueryTaskbarInfoEventArgs>;
    /**
     * Triggers before Gantt data is exported to Excel file.
     *
     * @deprecated
     * @event beforeExcelExport
     */
    beforeExcelExport?: base.EmitType<Object>;
    /**
     * Triggers after Gantt data is exported to Excel file.
     *
     * @deprecated
     * @event excelExportComplete
     */
    excelExportComplete?: base.EmitType<grids.ExcelExportCompleteArgs>;
    /**
     * Triggers before exporting each cell to Excel file.
     * You can also customize the Excel cells.
     *
     * @deprecated
     * @event excelQueryCellInfo
     */
    excelQueryCellInfo?: base.EmitType<grids.ExcelQueryCellInfoEventArgs>;
    /**
     * Triggers before exporting each header cell to Excel file.
     * You can also customize the Excel cells.
     *
     * @deprecated
     * @event excelHeaderQueryCellInfo
     */
    excelHeaderQueryCellInfo?: base.EmitType<grids.ExcelHeaderQueryCellInfoEventArgs>;
    /**
     * Triggers when row elements are dragged (moved) continuously.
     *
     * @event rowDrag
     * @deprecated
     */
    rowDrag?: base.EmitType<grids.RowDragEventArgs>;
    /**
     * Triggers when row element’s drag(move) starts.
     *
     * @event rowDragStart
     * @deprecated
     */
    rowDragStart?: base.EmitType<grids.RowDragEventArgs>;
    /**
     * Triggers when row element’s before drag(move).
     *
     * @event rowDragStartHelper
     */
    rowDragStartHelper?: base.EmitType<grids.RowDragEventArgs>;
    /**
     * Triggers when row elements are dropped on the target row.
     *
     * @event rowDrop
     */
    rowDrop?: base.EmitType<grids.RowDragEventArgs>;
    /**
     * This will be triggered before the row getting collapsed.
     *
     * @event collapsing
     */
    collapsing?: base.EmitType<ICollapsingEventArgs>;
    /**
     * This will be triggered after the row getting collapsed.
     *
     * @event collapsed
     */
    collapsed?: base.EmitType<ICollapsingEventArgs>;
    /**
     * This will be triggered before the row getting expanded.
     *
     * @event expanding
     */
    expanding?: base.EmitType<ICollapsingEventArgs>;
    /**
     * This will be triggered after the row getting expanded.
     *
     * @event expanded
     */
    expanded?: base.EmitType<ICollapsingEventArgs>;
    /**
     * Triggers when Gantt actions such as sorting, filtering, searching etc., starts.
     *
     * @event actionBegin
     */
    actionBegin?: base.EmitType<Object | grids.PageEventArgs | grids.FilterEventArgs | grids.SortEventArgs | ITimeSpanEventArgs | IDependencyEventArgs | ITaskAddedEventArgs | ZoomEventArgs>;
  // eslint-disable-line
    /**
     * Triggers when Gantt actions such as sorting, filtering, searching etc. are completed.
     *
     * @event actionComplete
     */
    actionComplete?: base.EmitType<grids.FilterEventArgs | grids.SortEventArgs | ITaskAddedEventArgs | IKeyPressedEventArgs | ZoomEventArgs>;
    /**
     * Triggers when actions are failed.
     *
     * @event actionFailure
     */
    actionFailure?: base.EmitType<grids.FailureEventArgs>;
    /**
     * Triggers when the Gantt actions such as Sorting, Editing etc., are done.
     * In this event,the current view data and total record count should be assigned to the `dataSource` based on the action performed.
     *
     * @event dataStateChange
     */
    dataStateChange?: base.EmitType<treegrid.DataStateChangeEventArgs>;
    /**
     * This will be triggered taskbar was dragged and dropped on new position.
     *
     * @event taskbarEdited
     */
    taskbarEdited?: base.EmitType<ITaskbarEditedEventArgs>;
    /**
     * This will be triggered when a task get saved by cell edit.
     *
     * @event endEdit
     */
    endEdit?: base.EmitType<ITaskbarEditedEventArgs>;
    /**
     * This will be triggered a cell get begins to edit.
     *
     * @event cellEdit
     */
    cellEdit?: base.EmitType<CellEditArgs>;
    /**
     * Triggered before the Gantt control gets rendered.
     *
     * @event load
     */
    load?: base.EmitType<Object>;
    /**
     * Triggers when the component is created.
     *
     * @event created
     */
    created?: base.EmitType<Object>;
    /**
     * Triggers when the component is destroyed.
     *
     * @event destroyed
     */
    destroyed?: base.EmitType<Object>;
    /**
     * This event will be triggered when taskbar was in dragging state.
     *
     * @event taskbarEditing
     */
    taskbarEditing?: base.EmitType<ITaskbarEditedEventArgs>;
    /**
     * Triggers when data source is populated in the Grid.
     *
     * @event dataBound
     */
    dataBound?: base.EmitType<Object>;
    /**
     * Triggers when column resize starts.
     *
     * @deprecated
     * @event resizeStart
     */
    resizeStart?: base.EmitType<grids.ResizeArgs>;
    /**
     * Triggers on column resizing.
     *
     * @deprecated
     * @event resizing
     */
    resizing?: base.EmitType<grids.ResizeArgs>;
    /**
     * Triggers when column resize ends.
     *
     * @deprecated
     * @event resizeStop
     */
    resizeStop?: base.EmitType<grids.ResizeArgs>;
    /**
     * Triggers when splitter resizing starts.
     *
     * @event splitterResizeStart
     */
    splitterResizeStart?: base.EmitType<layouts.ResizeEventArgs>;
    /**
     * Triggers when splitter bar was dragging.
     *
     * @event splitterResizing
     */
    splitterResizing?: base.EmitType<layouts.ResizingEventArgs>;
    /**
     * Triggers when splitter resizing action completed.
     *
     * @event splitterResized
     */
    splitterResized?: base.EmitType<ISplitterResizedEventArgs>;
    /**
     * Triggers when column header element drag (move) starts.
     *
     * @deprecated
     * @event columnDragStart
     */
    columnDragStart?: base.EmitType<grids.ColumnDragEventArgs>;
    /**
     * Triggers when column header element is dragged (moved) continuously.
     *
     * @deprecated
     * @event columnDrag
     */
    columnDrag?: base.EmitType<grids.ColumnDragEventArgs>;
    /**
     * Triggers when a column header element is dropped on the target column.
     *
     * @deprecated
     * @event columnDrop
     */
    columnDrop?: base.EmitType<grids.ColumnDragEventArgs>;
    /**
     * Triggers before tooltip get rendered.
     *
     * @event beforeTooltipRender
     */
    beforeTooltipRender?: base.EmitType<BeforeTooltipRenderEventArgs>;
    /**
     * Triggers before row selection occurs.
     *
     * @event rowSelecting
     */
    rowSelecting?: base.EmitType<RowSelectingEventArgs>;
    /**
     * Triggers after row selection occurs.
     *
     * @event rowSelected
     */
    rowSelected?: base.EmitType<RowSelectEventArgs>;
    /**
     * Triggers before deselecting the selected row.
     *
     * @deprecated
     * @event rowDeselecting
     */
    rowDeselecting?: base.EmitType<RowDeselectEventArgs>;
    /**
     * Triggers when a selected row is deselected.
     *
     * @event rowDeselected
     */
    rowDeselected?: base.EmitType<RowDeselectEventArgs>;
    /**
     * Triggers before any cell selection occurs.
     *
     * @event cellSelecting
     */
    cellSelecting?: base.EmitType<CellSelectingEventArgs>;
    /**
     * Triggers after a cell is selected.
     *
     * @event cellSelected
     */
    cellSelected?: base.EmitType<grids.CellSelectEventArgs>;
    /**
     * Triggers before the selected cell is deselecting.
     *
     * @deprecated
     * @event cellDeselecting
     */
    cellDeselecting?: base.EmitType<grids.CellDeselectEventArgs>;
    /**
     * Triggers when a particular selected cell is deselected.
     *
     * @deprecated
     * @event cellDeselected
     */
    cellDeselected?: base.EmitType<grids.CellDeselectEventArgs>;
    /**
     * This will be triggered before the header cell element is appended to the Grid element.
     *
     * @event queryCellInfo
     */
    queryCellInfo?: base.EmitType<QueryCellInfoEventArgs>;
    /**
     * This will be triggered before the header cell element is appended to the Grid element.
     *
     * @event headerCellInfo
     */
    headerCellInfo?: base.EmitType<grids.HeaderCellInfoEventArgs>;
    /**
     * This will be triggered before the row element is appended to the Grid element.
     *
     * @event rowDataBound
     */
    rowDataBound?: base.EmitType<RowDataBoundEventArgs>;
    /**
     * Triggers before column menu opens.
     *
     * @deprecated
     * @event columnMenuOpen
     */
    columnMenuOpen?: base.EmitType<grids.ColumnMenuOpenEventArgs>;
    /**
     * Triggers when toolbar item was clicked.
     *
     * @event toolbarClick
     */
    toolbarClick?: base.EmitType<navigations.ClickEventArgs>;
    /**
     * Triggers when click on column menu.
     *
     * @event columnMenuClick
     */
    columnMenuClick?: base.EmitType<grids.ColumnMenuClickEventArgs>;
    /**
     * Triggers before context menu opens.
     *
     * @event contextMenuOpen
     */
    contextMenuOpen?: base.EmitType<ContextMenuOpenEventArgs>;
    /**
     * Triggers when click on context menu.
     *
     * @event contextMenuClick
     */
    contextMenuClick?: base.EmitType<ContextMenuClickEventArgs>;
    /**
     * This event will be triggered when click on taskbar element.
     *
     * @deprecated
     * @event onTaskbarClick
     */
    onTaskbarClick?: base.EmitType<ITaskbarClickEventArgs>;
    /**
     * This event will be triggered when double click on record.
     *
     * @deprecated
     * @event recordDoubleClick
     */
    recordDoubleClick?: base.EmitType<RecordDoubleClickEventArgs>;
    /**
     * This event will be triggered when mouse move on Gantt.
     *
     * @deprecated
     * @event onMouseMove
     */
    onMouseMove?: base.EmitType<IMouseMoveEventArgs>;
    /**
     * Triggers before Gantt data is exported to PDF document.
     *
     * @event beforePdfExport
     * @deprecated
     */
    beforePdfExport?: base.EmitType<Object>;
    /**
     * Triggers after treegrid.TreeGrid data is exported to PDF document.
     *
     * @event pdfExportComplete
     * @deprecated
     */
    pdfExportComplete?: base.EmitType<Object>;
    /**
     * Triggers before exporting each cell to PDF document. You can also customize the PDF cells.
     *
     * @event pdfQueryCellInfo
     * @deprecated
     */
    pdfQueryCellInfo?: base.EmitType<PdfQueryCellInfoEventArgs>;
    /**
     * Triggers before exporting each taskbar to PDF document. You can also customize the taskbar.
     *
     * @event pdfQueryTaskbarInfo
     * @deprecated
     */
    pdfQueryTaskbarInfo?: base.EmitType<Object>;
    /**
     * Triggers before exporting each cell to PDF document. You can also customize the PDF cells.
     *
     * @event pdfQueryTimelineCellInfo
     * @deprecated
     */
    pdfQueryTimelineCellInfo?: base.EmitType<PdfQueryTimelineCellInfoEventArgs>;
    /**
     * Triggers before exporting each header cell to PDF document. You can also customize the PDF cells.
     *
     * @event pdfColumnHeaderQueryCellInfo
     * @deprecated
     */
    pdfColumnHeaderQueryCellInfo?: base.EmitType<PdfColumnHeaderQueryCellInfoEventArgs>;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/base/gantt.d.ts
/**
 *
 * Represents the Gantt chart component.
 * ```html
 * <div id='gantt'></div>
 * <script>
 *  var ganttObject = new Gantt({
 *      taskFields: { id: 'taskId', name: 'taskName', startDate: 'startDate', duration: 'duration' }
 *  });
 *  ganttObject.appendTo('#gantt');
 * </script>
 * ```
 */
export  class Gantt extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    /** @hidden */
    chartPane: HTMLElement;
    /** @hidden */
    treeGridPane: HTMLElement;
    /** @hidden */
    splitterElement: HTMLElement;
    /** @hidden */
    toolbarModule: Toolbar;
    /** @hidden */
    focusModule: FocusModule;
    /** @hidden */
    ganttChartModule: GanttChart;
    /** @hidden */
    treeGridModule: GanttTreeGrid;
    /** @hidden */
    chartRowsModule: ChartRows;
    /** @hidden */
    connectorLineModule: ConnectorLine;
    taskbarEditModule: TaskbarEdit;
    /** @hidden */
    connectorLineEditModule: ConnectorLineEdit;
    /** @hidden */
    splitterModule: Splitter;
    /** @hidden */
    isCancelled: boolean;
    /** @hidden */
    treeGrid: treegrid.TreeGrid;
    /** @hidden */
    controlId: string;
    /** @hidden */
    ganttHeight: number;
    /** @hidden */
    initialChartRowElements: NodeListOf<Element>;
    /** @hidden */
    ganttWidth: number;
    /** @hidden */
    predecessorModule: Dependency;
    /** @hidden */
    localeObj: base.L10n;
    /** @hidden */
    dataOperation: TaskProcessor;
    /** @hidden */
    flatData: IGanttData[];
    /** @hidden */
    currentViewData: IGanttData[];
    /** @hidden */
    updatedRecords: IGanttData[];
    /** @hidden */
    ids: string[];
    /** resource-task Ids */
    /** @hidden */
    taskIds: string[];
    /** @hidden */
    previousRecords: object;
    /** @hidden */
    editedRecords: IGanttData[];
    /** @hidden */
    modifiedRecords: IGanttData[];
    /** @hidden */
    isOnEdit: boolean;
    /** @hidden */
    isOnDelete: boolean;
    /** @hidden */
    secondsPerDay: number;
    /** @hidden */
    nonWorkingHours: number[];
    /** @hidden */
    workingTimeRanges: IWorkingTimeRange[];
    /** @hidden */
    nonWorkingTimeRanges: IWorkingTimeRange[];
    /** @hidden */
    defaultStartTime?: number;
    /** @hidden */
    defaultEndTime?: number;
    /** @hidden */
    nonWorkingDayIndex?: number[];
    /** @hidden */
    durationUnitTexts?: Object;
    /** @hidden */
    durationUnitEditText?: Object;
    /** @hidden */
    isMileStoneEdited?: Object;
    /** @hidden */
    chartVerticalLineContainer?: HTMLElement;
    /** @hidden */
    updatedConnectorLineCollection?: IConnectorLineObject[];
    /** @hidden */
    connectorLineIds?: string[];
    /** @hidden */
    predecessorsCollection?: IGanttData[];
    /** @hidden */
    isInPredecessorValidation?: boolean;
    /** @hidden */
    isValidationEnabled?: boolean;
    /** @hidden */
    isLoad?: boolean;
    /** @hidden */
    editedTaskBarItem?: IGanttData;
    /** @hidden */
    validationDialogElement?: popups.Dialog;
    /** @hidden */
    currentEditedArgs?: IValidateArgs;
    /** @hidden */
    dialogValidateMode?: IValidateMode;
    /** @hidden */
    perDayWidth?: number;
    /** @hidden */
    zoomingProjectStartDate?: Date;
    /** @hidden */
    zoomingProjectEndDate?: Date;
    /** @hidden */
    cloneProjectStartDate?: Date;
    /** @hidden */
    cloneProjectEndDate?: Date;
    /** @hidden */
    totalHolidayDates?: number[];
    /** @hidden */
    columnMapping?: {
        [key: string]: string;
    };
    /** @hidden */
    ganttColumns: ColumnModel[];
    /** @hidden */
    isExpandCollapseLevelMethod: boolean;
    /** @hidden */
    isDynamicData: boolean;
    /** @hidden */
    contentHeight: number;
    /** @hidden */
    isAdaptive: Boolean;
    /**
     * The `sortModule` is used to manipulate sorting operation in Gantt.
     */
    sortModule: Sort;
    /**
     * The `filterModule` is used to manipulate filtering operation in Gantt.
     */
    filterModule: Filter;
    /** @hidden */
    scrollBarLeft: number;
    /** @hidden */
    isTimelineRoundOff: boolean;
    /** @hidden */
    columnByField: Object;
    /** @hidden */
    customColumns: string[];
    /**
     * The `editModule` is used to handle Gantt record manipulation.
     */
    editModule: Edit;
    /**
     * The `selectionModule` is used to manipulate selection operation in Gantt.
     */
    selectionModule: Selection;
    /**
     * The `virtualScrollModule` is used to handle virtual scroll in Gantt.
     */
    virtualScrollModule: VirtualScroll;
    /**
     * The `excelExportModule` is used to exporting Gantt data in excel format.
     */
    excelExportModule: ExcelExport;
    /**
     * The `rowDragandDrop` is used to manipulate Row Reordering in Gantt.
     */
    rowDragAndDropModule: RowDD;
    /**
     * The `dayMarkersModule` is used to manipulate event markers operation in Gantt.
     */
    dayMarkersModule: DayMarkers;
    /**
     * The `criticalPathModule` is used to determine the critical path  in Gantt.
     */
    criticalPathModule: CriticalPath;
    /** @hidden */
    isConnectorLineUpdate: boolean;
    /** @hidden */
    tooltipModule: Tooltip;
    /** @hidden */
    globalize: base.Internationalization;
    /** @hidden */
    keyConfig: {
        [key: string]: string;
    };
    /**
     * The `keyboardModule` is used to manipulate keyboard interactions in Gantt.
     */
    keyboardModule: base.KeyboardEvents;
    /**
     * The `contextMenuModule` is used to invoke context menu in Gantt.
     */
    contextMenuModule: ContextMenu;
    /**
     * The `columnMenuModule` is used to manipulate column menu items in Gantt.
     */
    columnMenuModule: ColumnMenu;
    /**
     * The `pdfExportModule` is used to exporting Gantt data in PDF format.
     */
    pdfExportModule: PdfExport;
    /** @hidden */
    staticSelectedRowIndex: number;
    protected needsID: boolean;
    /** @hidden */
    showActiveElement: boolean;
    /** @hidden */
    addDeleteRecord: boolean;
    /** @hidden */
    enableHeaderFocus: boolean;
    /** @hidden */
    enableValidation: boolean;
    /**
     * Enables or disables the key board interaction of Gantt.
     *
     * @default true
     */
    allowKeyboard: boolean;
    /**
     * If `enableImmutableMode`  is set to true, the Gantt Chart will reuse old rows if it exists in the new result instead of
     * full refresh while performing the Gantt actions.
     *
     * @default false
     */
    enableImmutableMode: boolean;
    /**
     * If `disableHtmlEncode` is set to true, it encodes the HTML of the header and content cells.
     *
     * @default true
     */
    disableHtmlEncode: boolean;
    /**
     * Enables or disables the focusing the task bar on click action.
     *
     * @default true
     */
    autoFocusTasks: boolean;
    /**
     * If `allowSelection` is set to true, it allows selection of (highlight row) Gantt chart rows by clicking it.
     *
     * @default true
     */
    allowSelection: boolean;
    /**
     * If `allowSorting` is set to true, it allows sorting of gantt chart tasks when column header is clicked.
     *
     * @default false
     */
    allowSorting: boolean;
    /**
     * If `enablePredecessorValidation` is set to true, it allows to validate the predecessor link.
     *
     * @default true
     */
    enablePredecessorValidation: boolean;
    /**
     * If `showColumnMenu` set to true, then it will enable the column menu options in each columns.
     *
     * @default false
     */
    showColumnMenu: boolean;
    /**
     * `columnMenuItems` defines both built-in and custom column menu items.
     * <br><br>
     * The available built-in items are,
     * * `ColumnChooser` - To show/hide the treegrid.TreeGrid columns.
     * * `SortAscending` - Sort the current column in ascending order.
     * * `SortDescending` - Sort the current column in descending order.
     * * `Filter` - Filter options will show based on filterSettings property.
     *
     * @default null
     */
    columnMenuItems: ColumnMenuItem[] | grids.ColumnMenuItemModel[];
    /**
     * By default, task schedule dates are calculated with system time zone.If Gantt chart assigned with specific time zone,
     * then schedule dates are calculated as given time zone date value.
     *
     * @default null
     */
    timezone: string;
    /**
     * If `collapseAllParentTasks` set to true, then root tasks are rendered with collapsed state.
     *
     * @default false
     */
    collapseAllParentTasks: boolean;
    /**
     * If `highlightWeekends` set to true, then all weekend days are highlighted in week - day timeline mode.
     *
     * @default false
     */
    highlightWeekends: boolean;
    /**
     * To define expander column index in Grid.
     *
     * @default 0
     * @aspType int
     */
    treeColumnIndex: number;
    /**
     * It is used to render Gantt chart rows and tasks.
     * `dataSource` value was defined as array of JavaScript objects or instances of `data.DataManager`.
     * {% codeBlock src='gantt/dataSource/index.md' %}{% endcodeBlock %}
     *
     * @isGenericType true
     * @default []
     */
    dataSource: Object[] | data.DataManager | Object;
    /**
     * `durationUnit` Specifies the duration unit for each tasks whether day or hour or minute.
     * * `day`: Sets the duration unit as day.
     * * `hour`: Sets the duration unit as hour.
     * * `minute`: Sets the duration unit as minute.
     *
     * @default day
     */
    durationUnit: DurationUnit;
    /**
     * Defines the external [`data.Query`](https://ej2.syncfusion.com/documentation/data/api-query.html)
     * that will be executed along with data processing.
     *
     * @default null
     */
    query: data.Query;
    /**
     * Specifies the dateFormat for Gantt, given format is displayed in tooltip and Grid cells.
     * By default, the format is based on the culture.
     */
    dateFormat: string;
    /**
     * Defines the height of the Gantt component container.
     *
     * @default 'auto'
     */
    height: number | string;
    /**
     * If `renderBaseline` is set to `true`, then baselines are rendered for tasks.
     *
     * @default false
     */
    renderBaseline: boolean;
    /**
     * Configures the grid lines in tree grid and gantt chart.
     */
    gridLines: GridLine;
    /**
     * Defines the right, left and inner task labels in task bar.
     * {% codeBlock src='gantt/labelSettings/index.md' %}{% endcodeBlock %}
     */
    labelSettings: LabelSettingsModel;
    /**
     * The task bar template that renders customized child task bars from the given template.
     *
     * @default null
     */
    taskbarTemplate: string;
    /**
     * The parent task bar template that renders customized parent task bars from the given template.
     *
     * @default null
     */
    parentTaskbarTemplate: string;
    /**
     * The milestone template that renders customized milestone task from the given template.
     *
     * @default null
     */
    milestoneTemplate: string;
    /**
     * Defines the baseline bar color.
     */
    baselineColor: string;
    /**
     * Defines the width of the Gantt component container.
     *
     * @default 'auto'
     */
    width: number | string;
    /**
     * If `enableVirtualization` set to true, then the Gantt will render only the rows visible within the view-port.
     * and load subsequent rows on vertical scrolling. This helps to load large dataset in Gantt.
     *
     * @default false
     */
    enableVirtualization: boolean;
    /**
     * `toolbar` defines the toolbar items of the Gantt.
     * It contains built-in and custom toolbar items
     * If an array value is assigned, it is considered as the list of built-in and custom toolbar items in the Gantt's toolbar.
     * <br><br>
     * The available built-in toolbar items are:
     * * Add: Adds a new record.
     * * Edit: Edits the selected task.
     * * Update: Updates the edited task.
     * * Delete: Deletes the selected task.
     * * Cancel: Cancels the edit state.
     * * Search: Searches tasks by the given key.
     * * ExpandAll: Expands all the task of Gantt.
     * * CollapseAll: Collapses all the task of Gantt.
     * * PrevTimeSpan: Extends timeline with one unit before the timeline start date.
     * * NextTimeSpan: Extends timeline with one unit after the timeline finish date.
     * * ZoomIn: ZoomIn the Gantt control.
     * * ZoomOut: ZoomOut the Gantt control.
     * * ZoomToFit: Display the all tasks within the viewable Gantt chart.
     * * ExcelExport: To export in Excel format.
     * * CsvExport : To export in CSV format.
     * * Indent: To indent a task to one level.
     * * Outdent: To outdent a task from one level.
     *
     * @default null
     */
    toolbar: (ToolbarItem | string | navigations.ItemModel)[];
    /**
     * Defines workweek of project.
     *
     * @default ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
     */
    workWeek: string[];
    /**
     * Defines weekend days are considered as working day or not.
     *
     * @default false
     */
    includeWeekend: boolean;
    /**
     * Enables or disables rendering of unscheduled tasks in Gantt.
     *
     * @default false
     */
    allowUnscheduledTasks: boolean;
    /**
     * To show notes column cell values inside the cell or in tooltip.
     *
     * @default false
     * @deprecated
     */
    showInlineNotes: boolean;
    /**
     * Defines height value for grid rows and chart rows in Gantt.
     *
     * @default 36
     * @aspType int
     */
    rowHeight: number;
    /**
     * Defines height of taskbar element in Gantt.
     *
     * @aspType int?
     */
    taskbarHeight: number;
    /**
     * Defines start date of the project, if `projectStartDate` value not set then it will be calculated from data source.
     *
     * @default null
     */
    projectStartDate: Date | string;
    /**
     * Defines end date of the project, if `projectEndDate` value not set then it will be calculated from data source.
     *
     * @default null
     */
    projectEndDate: Date | string;
    /**
     * Defines mapping property to get resource id value from resource collection.
     *
     * @default null
     */
    resourceIDMapping: string;
    /**
     * Defines mapping property to get resource name value from resource collection.
     *
     * @default null
     */
    resourceNameMapping: string;
    /**
     * Defines resource collection assigned for projects.
     *
     * @default []
     */
    resources: object[];
    /**
     * Defines segment collection assigned for tasks.
     *
     * @default []
     */
    segmentData: object[];
    /**
     * Defines background color of dependency lines.
     *
     * @default null
     */
    connectorLineBackground: string;
    /**
     * Defines width of dependency lines.
     *
     * @default 1
     * @aspType int
     */
    connectorLineWidth: number;
    /**
     * Defines column collection displayed in grid
     * If the `columns` declaration was empty then `columns` are automatically populated from `taskSettings` value.
     * {% codeBlock src='gantt/columns/index.md' %}{% endcodeBlock %}
     *
     * @default []
     */
    columns: Column[] | string[] | ColumnModel[];
    /**
     * Defines the tabs and fields to be included in the add dialog.
     * If the value was empty, then it will be calculated from `taskSettings` and `columns` value.
     * {% codeBlock src='gantt/addDialogFields/index.md' %}{% endcodeBlock %}
     *
     * @default []
     */
    addDialogFields: AddDialogFieldSettingsModel[];
    /**
     * Defines the tabs and fields to be included in the edit dialog.
     * If the value was empty, then it will be calculated from `taskSettings` and `columns` value.
     * {% codeBlock src='gantt/editDialogFields/index.md' %}{% endcodeBlock %}
     *
     * @default []
     */
    editDialogFields: EditDialogFieldSettingsModel[];
    /**
     * The `selectedRowIndex` allows you to select a row at initial rendering.
     * You can also get the currently selected row index.
     *
     * @default -1
     * @aspType int
     */
    selectedRowIndex: number;
    /**
     * `workUnit` Specifies the work unit for each tasks whether day or hour or minute.
     * * `day`: Sets the work unit as day.
     * * `hour`: Sets the work unit as hour.
     * * `minute`: Sets the work unit as minute.
     *
     * @default hour
     */
    workUnit: WorkUnit;
    /**
     * `taskType` Specifies the task type for task whether fixedUnit or fixedWork or fixedDuration.
     * * `fixedUnit`: Sets the task type as fixedUnit.
     * * `fixedWork`: Sets the task type as fixedWork.
     * * `fixedDuration`: Sets the task type as fixedDuration.
     *
     * @default fixedUnit
     */
    taskType: TaskType;
    /**
     * Defines the view type of the Gantt.
     */
    viewType: ViewType;
    /**
     * Defines customized working time of project.
     * {% codeBlock src='gantt/dayWorkingTime/index.md' %}{% endcodeBlock %}
     */
    dayWorkingTime: DayWorkingTimeModel[];
    /**
     * Defines holidays presented in project timeline.
     * {% codeBlock src='gantt/holidays/index.md' %}{% endcodeBlock %}
     *
     * @default []
     */
    holidays: HolidayModel[];
    /**
     * Defines events and status of project throughout the timeline.
     * {% codeBlock src='gantt/eventMarkers/index.md' %}{% endcodeBlock %}
     *
     * @default []
     */
    eventMarkers: EventMarkerModel[];
    /**
     * Defines mapping properties to find task values such as id, start date, end date, duration and progress values from data source.
     * {% codeBlock src='gantt/taskFields/index.md' %}{% endcodeBlock %}
     */
    taskFields: TaskFieldsModel;
    /**
     * Defines mapping properties to find resource values such as id, name, unit and group from resource collection.
     */
    resourceFields: ResourceFieldsModel;
    /**
     * Configures timeline settings of Gantt.
     * Defines default timeline modes or customized top tier mode and bottom tier mode or single tier only.
     * {% codeBlock src='gantt/timelineSettings/index.md' %}{% endcodeBlock %}
     */
    timelineSettings: TimelineSettingsModel;
    /**
     * Configure zooming levels of Gantt Timeline
     */
    zoomingLevels: ZoomTimelineSettings[];
    /**
     * Configures current zooming level of Gantt.
     */
    currentZoomingLevel: ZoomTimelineSettings;
    /**
     * Configures the sort settings of the Gantt.
     * {% codeBlock src='gantt/sortSettings/index.md' %}{% endcodeBlock %}
     *
     * @default {columns:[]}
     */
    sortSettings: SortSettingsModel;
    /**
     * Configures edit settings of Gantt.
     * {% codeBlock src='gantt/editSettings/index.md' %}{% endcodeBlock %}
     *
     * @default { allowAdding: false, allowEditing: false, allowDeleting: false, mode:'Auto',
     * showDeleteConfirmDialog: false }
     */
    editSettings: EditSettingsModel;
    /**
     * Enables or disables default tooltip of Gantt element and defines customized tooltip for Gantt elements.
     * {% codeBlock src='gantt/tooltipSettings/index.md' %}{% endcodeBlock %}
     *
     * @default { showTooltip: true }
     */
    tooltipSettings: TooltipSettingsModel;
    /**
     * Configures the selection settings.
     * {% codeBlock src='gantt/selectionSettings/index.md' %}{% endcodeBlock %}
     *
     * @default {mode: 'Row', type: 'Single'}
     */
    selectionSettings: SelectionSettingsModel;
    /**
     * Enables or disables filtering support in Gantt.
     *
     * @default false
     */
    allowFiltering: boolean;
    /**
     * If `allowExcelExport` set to true, then it will allow the user to export Gantt to Excel and CSV file.
     *
     * @default false
     */
    allowExcelExport: boolean;
    /**
     * If `allowRowDragAndDrop` set to true, then it will allow the user to perform drag and drop action in Gantt.
     *
     * @default false
     */
    allowRowDragAndDrop: boolean;
    /**
     * If `allowReordering` is set to true, Gantt columns can be reordered.
     * Reordering can be done by drag and drop of a particular column from one index to another index.
     *
     * @default false
     */
    allowReordering: boolean;
    /**
     * If `readOnly` is set to true, Gantt cannot be edited.
     *
     * @default false
     */
    readOnly: boolean;
    /**
     * If `allowResizing` is set to true, Gantt columns can be resized.
     *
     * @default false
     */
    allowResizing: boolean;
    /**
     * If `enableContextMenu` is set to true, Enable context menu in Gantt.
     *
     * @default false
     */
    enableContextMenu: boolean;
    /**
     * It highlights the critical tasks in the Gantt Chart that affect the project’s end date.
     *
     * @default false
     */
    enableCriticalPath: boolean;
    /**
     * `contextMenuItems` defines both built-in and custom context menu items.
     * {% codeBlock src='gantt/contextMenuItems/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    contextMenuItems: ContextMenuItem[] | grids.ContextMenuItemModel[];
    /**
     * If `allowPdfExport` set to true, then it will allow the user to export Gantt to PDF file.
     *
     * @default false
     */
    allowPdfExport: boolean;
    /**
     * If `validateManualTasksOnLinking` is set to true,
     * it enables date validation while connecting manually scheduled tasks with predecessor
     *
     * @default false
     */
    validateManualTasksOnLinking: boolean;
    /**
     * It enables to render the child taskbar on parent row for resource view Gantt.
     *
     * @default false
     */
    enableMultiTaskbar: boolean;
    /**
     * It enables to render the overallocation container for resource view Gantt.
     *
     * @default false
     */
    showOverAllocation: boolean;
    /**
     * Specifies task schedule mode for a project.
     */
    taskMode: ScheduleMode;
    /**
     * Configures the filter settings for Gantt.
     * {% codeBlock src='gantt/filterSettings/index.md' %}{% endcodeBlock %}
     *
     * @default {columns: [], type: 'Menu' }
     */
    filterSettings: FilterSettingsModel;
    /**
     * Configures the search settings for Gantt.
     * {% codeBlock src='gantt/searchSettings/index.md' %}{% endcodeBlock %}
     */
    searchSettings: SearchSettingsModel;
    /**
     * Configures the splitter settings for Gantt.
     * {% codeBlock src='gantt/splitterSettings/index.md' %}{% endcodeBlock %}
     */
    splitterSettings: SplitterSettingsModel;
    /**
     * @private
     */
    timelineModule: Timeline;
    /**
     * @private
     */
    dateValidationModule: DateProcessor;
    /**
     * @private
     */
    isTreeGridRendered: boolean;
    /**
     * @private
     */
    isFromOnPropertyChange: boolean;
    /**
     * @private
     */
    isGanttChartRendered: boolean;
    /**
     * @private
     */
    isEdit: boolean;
    /**
     * This will be triggered after the taskbar element is appended to the Gantt element.
     *
     * @event queryTaskbarInfo
     */
    queryTaskbarInfo: base.EmitType<IQueryTaskbarInfoEventArgs>;
    /**
     * Triggers before Gantt data is exported to Excel file.
     *
     * @deprecated
     * @event beforeExcelExport
     */
    beforeExcelExport: base.EmitType<Object>;
    /**
     * Triggers after Gantt data is exported to Excel file.
     *
     * @deprecated
     * @event excelExportComplete
     */
    excelExportComplete: base.EmitType<grids.ExcelExportCompleteArgs>;
    /**
     * Triggers before exporting each cell to Excel file.
     * You can also customize the Excel cells.
     *
     * @deprecated
     * @event excelQueryCellInfo
     */
    excelQueryCellInfo: base.EmitType<grids.ExcelQueryCellInfoEventArgs>;
    /**
     * Triggers before exporting each header cell to Excel file.
     * You can also customize the Excel cells.
     *
     * @deprecated
     * @event excelHeaderQueryCellInfo
     */
    excelHeaderQueryCellInfo: base.EmitType<grids.ExcelHeaderQueryCellInfoEventArgs>;
    /**
     * Triggers when row elements are dragged (moved) continuously.
     *
     * @event rowDrag
     * @deprecated
     */
    rowDrag: base.EmitType<grids.RowDragEventArgs>;
    /**
     * Triggers when row element’s drag(move) starts.
     *
     * @event rowDragStart
     * @deprecated
     */
    rowDragStart: base.EmitType<grids.RowDragEventArgs>;
    /**
     * Triggers when row element’s before drag(move).
     *
     * @event rowDragStartHelper
     */
    rowDragStartHelper: base.EmitType<grids.RowDragEventArgs>;
    /**
     * Triggers when row elements are dropped on the target row.
     *
     * @event rowDrop
     */
    rowDrop: base.EmitType<grids.RowDragEventArgs>;
    /**
     * This will be triggered before the row getting collapsed.
     *
     * @event collapsing
     */
    collapsing: base.EmitType<ICollapsingEventArgs>;
    /**
     * This will be triggered after the row getting collapsed.
     *
     * @event collapsed
     */
    collapsed: base.EmitType<ICollapsingEventArgs>;
    /**
     * This will be triggered before the row getting expanded.
     *
     * @event expanding
     */
    expanding: base.EmitType<ICollapsingEventArgs>;
    /**
     * This will be triggered after the row getting expanded.
     *
     * @event expanded
     */
    expanded: base.EmitType<ICollapsingEventArgs>;
    /**
     * Triggers when Gantt actions such as sorting, filtering, searching etc., starts.
     *
     * @event actionBegin
     */
    actionBegin: base.EmitType<Object | grids.PageEventArgs | grids.FilterEventArgs | grids.SortEventArgs | ITimeSpanEventArgs | IDependencyEventArgs | ITaskAddedEventArgs | ZoomEventArgs>;
    /**
     * Triggers when Gantt actions such as sorting, filtering, searching etc. are completed.
     *
     * @event actionComplete
     */
    actionComplete: base.EmitType<grids.FilterEventArgs | grids.SortEventArgs | ITaskAddedEventArgs | IKeyPressedEventArgs | ZoomEventArgs>;
    /**
     * Triggers when actions are failed.
     *
     * @event actionFailure
     */
    actionFailure: base.EmitType<grids.FailureEventArgs>;
    /**
     * Triggers when the Gantt actions such as Sorting, Editing etc., are done.
     * In this event,the current view data and total record count should be assigned to the `dataSource` based on the action performed.
     *
     * @event dataStateChange
     */
    dataStateChange: base.EmitType<treegrid.DataStateChangeEventArgs>;
    /**
     * This will be triggered taskbar was dragged and dropped on new position.
     *
     * @event taskbarEdited
     */
    taskbarEdited: base.EmitType<ITaskbarEditedEventArgs>;
    /**
     * This will be triggered when a task get saved by cell edit.
     *
     * @event endEdit
     */
    endEdit: base.EmitType<ITaskbarEditedEventArgs>;
    /**
     * This will be triggered a cell get begins to edit.
     *
     * @event cellEdit
     */
    cellEdit: base.EmitType<CellEditArgs>;
    /**
     * Triggered before the Gantt control gets rendered.
     *
     * @event load
     */
    load: base.EmitType<Object>;
    /**
     * Triggers when the component is created.
     *
     * @event created
     */
    created: base.EmitType<Object>;
    /**
     * Triggers when the component is destroyed.
     *
     * @event destroyed
     */
    destroyed: base.EmitType<Object>;
    /**
     * This event will be triggered when taskbar was in dragging state.
     *
     * @event taskbarEditing
     */
    taskbarEditing: base.EmitType<ITaskbarEditedEventArgs>;
    /**
     * Triggers when data source is populated in the Grid.
     *
     * @event dataBound
     */
    dataBound: base.EmitType<Object>;
    /**
     * Triggers when column resize starts.
     *
     * @deprecated
     * @event resizeStart
     */
    resizeStart: base.EmitType<grids.ResizeArgs>;
    /**
     * Triggers on column resizing.
     *
     * @deprecated
     * @event resizing
     */
    resizing: base.EmitType<grids.ResizeArgs>;
    /**
     * Triggers when column resize ends.
     *
     * @deprecated
     * @event resizeStop
     */
    resizeStop: base.EmitType<grids.ResizeArgs>;
    /**
     * Triggers when splitter resizing starts.
     *
     * @event splitterResizeStart
     */
    splitterResizeStart: base.EmitType<layouts.ResizeEventArgs>;
    /**
     * Triggers when splitter bar was dragging.
     *
     * @event splitterResizing
     */
    splitterResizing: base.EmitType<layouts.ResizingEventArgs>;
    /**
     * Triggers when splitter resizing action completed.
     *
     * @event splitterResized
     */
    splitterResized: base.EmitType<ISplitterResizedEventArgs>;
    /**
     * Triggers when column header element drag (move) starts.
     *
     * @deprecated
     * @event columnDragStart
     */
    columnDragStart: base.EmitType<grids.ColumnDragEventArgs>;
    /**
     * Triggers when column header element is dragged (moved) continuously.
     *
     * @deprecated
     * @event columnDrag
     */
    columnDrag: base.EmitType<grids.ColumnDragEventArgs>;
    /**
     * Triggers when a column header element is dropped on the target column.
     *
     * @deprecated
     * @event columnDrop
     */
    columnDrop: base.EmitType<grids.ColumnDragEventArgs>;
    /**
     * Triggers before tooltip get rendered.
     *
     * @event beforeTooltipRender
     */
    beforeTooltipRender: base.EmitType<BeforeTooltipRenderEventArgs>;
    /**
     * Triggers before row selection occurs.
     *
     * @event rowSelecting
     */
    rowSelecting: base.EmitType<RowSelectingEventArgs>;
    /**
     * Triggers after row selection occurs.
     *
     * @event rowSelected
     */
    rowSelected: base.EmitType<RowSelectEventArgs>;
    /**
     * Triggers before deselecting the selected row.
     *
     * @deprecated
     * @event rowDeselecting
     */
    rowDeselecting: base.EmitType<RowDeselectEventArgs>;
    /**
     * Triggers when a selected row is deselected.
     *
     * @event rowDeselected
     */
    rowDeselected: base.EmitType<RowDeselectEventArgs>;
    /**
     * Triggers before any cell selection occurs.
     *
     * @event cellSelecting
     */
    cellSelecting: base.EmitType<CellSelectingEventArgs>;
    /**
     * Triggers after a cell is selected.
     *
     * @event cellSelected
     */
    cellSelected: base.EmitType<grids.CellSelectEventArgs>;
    /**
     * Triggers before the selected cell is deselecting.
     *
     * @deprecated
     * @event cellDeselecting
     */
    cellDeselecting: base.EmitType<grids.CellDeselectEventArgs>;
    /**
     * Triggers when a particular selected cell is deselected.
     *
     * @deprecated
     * @event cellDeselected
     */
    cellDeselected: base.EmitType<grids.CellDeselectEventArgs>;
    /**
     * This will be triggered before the header cell element is appended to the Grid element.
     *
     * @event queryCellInfo
     */
    queryCellInfo: base.EmitType<QueryCellInfoEventArgs>;
    /**
     * This will be triggered before the header cell element is appended to the Grid element.
     *
     * @event headerCellInfo
     */
    headerCellInfo: base.EmitType<grids.HeaderCellInfoEventArgs>;
    /**
     * This will be triggered before the row element is appended to the Grid element.
     *
     * @event rowDataBound
     */
    rowDataBound: base.EmitType<RowDataBoundEventArgs>;
    /**
     * Triggers before column menu opens.
     *
     * @deprecated
     * @event columnMenuOpen
     */
    columnMenuOpen: base.EmitType<grids.ColumnMenuOpenEventArgs>;
    /**
     * Triggers when toolbar item was clicked.
     *
     * @event toolbarClick
     */
    toolbarClick: base.EmitType<navigations.ClickEventArgs>;
    /**
     * Triggers when click on column menu.
     *
     * @event columnMenuClick
     */
    columnMenuClick: base.EmitType<grids.ColumnMenuClickEventArgs>;
    /**
     * Triggers before context menu opens.
     *
     * @event contextMenuOpen
     */
    contextMenuOpen: base.EmitType<ContextMenuOpenEventArgs>;
    /**
     * Triggers when click on context menu.
     *
     * @event contextMenuClick
     */
    contextMenuClick: base.EmitType<ContextMenuClickEventArgs>;
    constructor(options?: GanttModel, element?: string | HTMLElement);
    /**
     * This event will be triggered when click on taskbar element.
     *
     * @deprecated
     * @event onTaskbarClick
     */
    onTaskbarClick: base.EmitType<ITaskbarClickEventArgs>;
    /**
     * This event will be triggered when double click on record.
     *
     * @deprecated
     * @event recordDoubleClick
     */
    recordDoubleClick: base.EmitType<RecordDoubleClickEventArgs>;
    /**
     * This event will be triggered when mouse move on Gantt.
     *
     * @deprecated
     * @event onMouseMove
     */
    onMouseMove: base.EmitType<IMouseMoveEventArgs>;
    /**
     * Triggers before Gantt data is exported to PDF document.
     *
     * @event beforePdfExport
     * @deprecated
     */
    beforePdfExport: base.EmitType<Object>;
    /**
     * Triggers after treegrid.TreeGrid data is exported to PDF document.
     *
     * @event pdfExportComplete
     * @deprecated
     */
    pdfExportComplete: base.EmitType<Object>;
    /**
     * Triggers before exporting each cell to PDF document. You can also customize the PDF cells.
     *
     * @event pdfQueryCellInfo
     * @deprecated
     */
    pdfQueryCellInfo: base.EmitType<PdfQueryCellInfoEventArgs>;
    /**
     * Triggers before exporting each taskbar to PDF document. You can also customize the taskbar.
     *
     * @event pdfQueryTaskbarInfo
     * @deprecated
     */
    pdfQueryTaskbarInfo: base.EmitType<Object>;
    /**
     * Triggers before exporting each cell to PDF document. You can also customize the PDF cells.
     *
     * @event pdfQueryTimelineCellInfo
     * @deprecated
     */
    pdfQueryTimelineCellInfo: base.EmitType<PdfQueryTimelineCellInfoEventArgs>;
    /**
     * Triggers before exporting each header cell to PDF document. You can also customize the PDF cells.
     *
     * @event pdfColumnHeaderQueryCellInfo
     * @deprecated
     */
    pdfColumnHeaderQueryCellInfo: base.EmitType<PdfColumnHeaderQueryCellInfoEventArgs>;
    /**
     * To get the module name
     *
     * @returns {string} .
     * @private
     */
    getModuleName(): string;
    /**
     * For internal use only - Initialize the event handler
     *
     * @returns {void} .
     * @private
     */
    protected preRender(): void;
    private initProperties;
    /**
     * @returns {string} .
     * @private
     */
    getDateFormat(): string;
    /**
     * To get timezone offset.
     *
     * @returns {number} .
     * @private
     */
    private getDefaultTZOffset;
    /**
     * To check whether the date is in DST.
     *
     * @param {Date} date .
     * @returns {boolean} .
     * @private
     */
    isInDst(date: Date): boolean;
    /**
     * Method to map resource fields.
     *
     * @returns {void} .
     */
    private resourceFieldsMapping;
    /**
     * To validate height and width
     *
     * @param {string | number} value .
     * @returns {string} .
     */
    private validateDimentionValue;
    /**
     * To calculate dimensions of Gantt control
     *
     * @returns {void} .
     */
    private calculateDimensions;
    /**
     * @returns {void} .
     * @private
     */
    protected render(): void;
    /**
     * Method used to show spinner.
     *
     * @returns {void} .
     */
    showSpinner(): void;
    /**
     * Method used to hide spinner.
     *
     * @returns {void} .
     */
    hideSpinner(): void;
    /**
     * @returns {void} .
     * @private
     */
    processTimeline(): void;
    /**
     * @param {boolean} isChange .
     * @returns {void} .
     * @private
     */
    renderGantt(isChange?: boolean): void;
    removeCriticalPathStyles(): void;
    private wireEvents;
    /**
     * Method trigger while user perform window resize.
     *
     * @returns {void} .
     * @private
     */
    windowResize(): void;
    keyActionHandler(e: base.KeyboardEventArgs): void;
    /**
     * Method for updating row height value in connector line collections
     *
     * @param {IConnectorLineObject[]} collection .
     * @returns {void} .
     * @private
     */
    private updateRowHeightInConnectorLine;
    /**
     * @returns {void} .
     * @private
     */
    protected renderToolbar(): void;
    /**
     * @returns {void} .
     * @private
     */
    protected renderTreeGrid(): void;
    private updateCurrentViewData;
    /**
     * @param {IGanttData} records .
     * @returns {IGanttData} .
     * @private
     */
    getRecordFromFlatdata(records: IGanttData[]): IGanttData[];
    /**
     * @param {object} args .
     * @returns {void} .
     * @private
     */
    updateContentHeight(args?: object): void;
    /**
     * To get expand status.
     *
     * @param {IGanttData} data .
     * @returns {boolean} .
     * @private
     */
    getExpandStatus(data: IGanttData): boolean;
    /**
     * Get expanded records from given record collection.
     *
     * @param {IGanttData[]} records - Defines record collection.
     * @returns {IGanttData[]} .
     * @deprecated
     */
    getExpandedRecords(records: IGanttData[]): IGanttData[];
    /**
     * Getting the Zooming collections of the Gantt control
     *
     * @returns {ZoomTimelineSettings} .
     * @private
     */
    getZoomingLevels(): ZoomTimelineSettings[];
    private displayQuarterValue;
    private displayHalfValue;
    /**
     *
     * @param {Date} date .
     * @param {string} format .
     * @returns {string} .
     */
    getFormatedDate(date: Date, format?: string): string;
    /**
     * Get duration value as string combined with duration and unit values.
     *
     * @param {number} duration - Defines the duration.
     * @param {string} durationUnit - Defines the duration unit.
     * @returns {string} .
     */
    getDurationString(duration: number, durationUnit: string): string;
    /**
     * Get work value as string combined with work and unit values.
     *
     * @param {number} work - Defines the work value.
     * @param {string} workUnit - Defines the work unit.
     * @returns {string} .
     */
    getWorkString(work: number, workUnit: string): string;
    private updateTreeColumns;
    /**
     *
     * @param {object} args .
     * @returns {void} .
     * @private
     */
    treeDataBound(args: object): void;
    /**
     * @param {object} args .
     * @returns {void} .
     * @private
     */
    private getCurrentRecords;
    /**
     * Called internally, if any of the property value changed.
     *
     * @param {GanttModel} newProp .
     * @param {GanttModel} oldProp .
     * @returns {void} .
     * @private
     */
    onPropertyChanged(newProp: GanttModel, oldProp: GanttModel): void;
    private updateOverAllocationCotainer;
    /**
     * Returns the properties to be maintained in persisted state.
     *
     * @returns {string} .
     * @private
     */
    getPersistData(): string;
    private ignoreInArrays;
    private ignoreInColumn;
    /**
     * @returns {void} .
     * @private
     */
    destroy(): void;
    /**
     * Method to get taskbarHeight.
     *
     * @returns {number} .
     * @public
     */
    getTaskbarHeight(): number;
    /**
     * To provide the array of modules needed for component rendering
     *
     * @returns {base.ModuleDeclaration[]} .
     * @hidden
     */
    requiredModules(): base.ModuleDeclaration[];
    /**
     * Sorts a column with the given options.
     *
     * @param {string} columnName - Defines the column name to be sorted.
     * @param {SortDirection} direction - Defines the direction of sorting field.
     * @param {boolean} isMultiSort - Specifies whether the previous sorted columns are to be maintained.
     * @returns {void} .
     */
    sortColumn(columnName: string, direction: SortDirection, isMultiSort?: boolean): void;
    private mergePersistGanttData;
    private mergeColumns;
    /**
     * Clears all the sorted columns of the Gantt.
     *
     * @returns {void} .
     */
    clearSorting(): void;
    /**
     * To validate and render chart horizontal and vertical lines in the Gantt
     *
     * @returns {void} .
     * @hidden
     */
    renderChartGridLines(): void;
    /**
     * To update height of the Grid lines in the Gantt chart side.
     *
     * @returns {void} .
     * @private
     */
    updateGridLineContainerHeight(): void;
    /**
     * To get actual height of grid lines, holidays, weekend and event markers.
     *
     * @returns {number} .
     * @private
     */
    getContentHeight(): number;
    /**
     * To update height of the Grid lines in the Gantt chart side.
     *
     * @returns {void} .
     * @private
     */
    reUpdateDimention(): void;
    /**
     * To render vertical lines in the Gantt chart side.
     *
     * @returns {void} .
     */
    private renderChartVerticalLines;
    /**
     * Method to get default localized text of the Gantt.
     *
     * @returns {void} .
     * @hidden
     */
    getDefaultLocale(): Object;
    /**
     * To remove sorted records of particular column.
     *
     * @param {string} columnName - Defines the sorted column name.
     * @returns {void} .
     */
    removeSortColumn(columnName: string): void;
    /**
     *
     * @param {object} args .
     * @returns {void} .
     * @private
     */
    actionBeginTask(args: object): boolean | void;
    /**
     * To move horizontal scroll bar of Gantt to specific date.
     *
     * @param  {string} date - Defines the task date of data.
     * @returns {void} .
     */
    scrollToDate(date: string): void;
    /**
     * To move horizontal scroll bar of Gantt to specific task id.
     *
     * @param  {string} taskId - Defines the task id of data.
     * @returns {void} .
     */
    scrollToTask(taskId: string): void;
    /**
     * To set scroll left and top in chart side.
     *
     * @param  {number} left - Defines the scroll left value of chart side.
     * @param  {number} top - Defines the scroll top value of chart side.
     * @returns {void} .
     */
    updateChartScrollOffset(left: number, top: number): void;
    /**
     * Get parent task by clone parent item.
     *
     * @param {IParent} cloneParent - Defines the clone parent item.
     * @returns {IGanttData} .
     * @hidden
     */
    getParentTask(cloneParent: IParent): IGanttData;
    /**
     * Get parent task by clone parent item.
     *
     * @param {IGanttData} ganttRecord .
     * @param {number} level .
     * @returns {IGanttData} .
     * @hidden
     */
    getRootParent(ganttRecord: IGanttData, level: number): IGanttData;
    /**
     * Filters treegrid.TreeGrid row by column name with the given options.
     *
     * @param  {string} fieldName - Defines the field name of the column.
     * @param  {string} filterOperator - Defines the operator to filter records.
     * @param  {string | number | Date | boolean | number[] | string[] | Date[] | boolean[]} filterValue - Defines the value
     *  used to filter records.
     * @param  {string} predicate - Defines the relationship between one filter query and another by using AND or OR predicate.
     * @param  {boolean} matchCase - If match case is set to true, treegrid.TreeGrid filters the records with exact match.if false, it filters case
     * insensitive records (uppercase and lowercase letters treated the same).
     * @param  {boolean} ignoreAccent - If ignoreAccent set to true,
     * then filter ignores the diacritic characters or accents while filtering.
     * @returns {void} .
     */
    filterByColumn(fieldName: string, filterOperator: string, filterValue: string | number | Date | boolean | number[] | string[] | Date[] | boolean[], predicate?: string, matchCase?: boolean, ignoreAccent?: boolean): void;
    /**
     * Export Gantt data to Excel file(.xlsx).
     *
     * @param  {grids.ExcelExportProperties} excelExportProperties - Defines the export properties of the Gantt.
     * @param  {boolean} isMultipleExport - Define to enable multiple export.
     * @param  {workbook} workbook - Defines the Workbook if multiple export is enabled.
     * @param  {boolean} isBlob - If 'isBlob' set to true, then it will be returned as blob data.
     * @returns {Promise<any>} .
     */
    excelExport(excelExportProperties?: grids.ExcelExportProperties, isMultipleExport?: boolean, workbook?: any, isBlob?: boolean): Promise<any>;
    /**
     * Export Gantt data to CSV file.
     *
     * @param  {grids.ExcelExportProperties} excelExportProperties - Defines the export properties of the Gantt.
     * @param  {boolean} isMultipleExport - Define to enable multiple export.
     * @param  {workbook} workbook - Defines the Workbook if multiple export is enabled.
     * @param  {boolean} isBlob - If 'isBlob' set to true, then it will be returned as blob data.
     * @returns {Promise<any>} .
     */
    csvExport(excelExportProperties?: grids.ExcelExportProperties, isMultipleExport?: boolean, workbook?: any, isBlob?: boolean): Promise<any>;
    /**
     * Export Gantt data to PDF document.
     *
     * @param  {PdfExportProperties} pdfExportProperties - Defines the export properties of the Gantt.
     * @param  {isMultipleExport} isMultipleExport - Define to enable multiple export.
     * @param  {pdfDoc} pdfDoc - Defined the Pdf Document if multiple export is enabled.
     * @returns {Promise<any>} .
     */
    pdfExport(pdfExportProperties?: PdfExportProperties, isMultipleExport?: boolean, pdfDoc?: Object): Promise<Object>;
    /**
     * Clears the filtered columns in Gantt.
     *
     * Can also be used to clear filtering of a specific column in Gantt.
     *
     * @param {string[]} fields - Defines the specific column to remove filter.
     * @returns {void} .
     */
    clearFiltering(fields?: string[]): void;
    /**
     * Removes filtered column by field name.
     *
     * @param  {string} field - Defines column field name to remove filter.
     * @returns {void} .
     * @hidden
     */
    removeFilteredColsByField(field: string): void;
    /**
     * Method to set holidays and non working days in date time and date picker controls
     *
     * @param {calendars.RenderDayCellEventArgs} args .
     * @returns {void} .
     * @private
     */
    renderWorkingDayCell(args: calendars.RenderDayCellEventArgs): void;
    /**
     * To update timeline at start point with one unit.
     *
     * @param {string} mode .
     * @returns {void} .
     * @public
     */
    previousTimeSpan(mode?: string): void;
    /**
     * To update timeline at end point with one unit.
     *
     * @param {string} mode .
     * @returns {void} .
     * @public
     */
    nextTimeSpan(mode?: string): void;
    /**
     * To validate project start date and end date.
     *
     * @param  {Date} startDate - Defines start date of project.
     * @param  {Date} endDate - Defines end date of project.
     * @param  {boolean} isTimelineRoundOff - Defines project start date and end date need to be round off or not.
     * @param {string} isFrom .
     * @returns {void} .
     * @public
     */
    updateProjectDates(startDate: Date, endDate: Date, isTimelineRoundOff: boolean, isFrom?: string): void;
    /**
     * Split the taskbar into segment by the given date
     *
     * @param  {string} taskId - Defines the id of a task to be split.
     * @param  {string} splitDate - Defines in which date the taskbar must be split up.
     * @returns {void} .
     * @public
     */
    splitTask(taskId: number | string, splitDate: Date | Date[]): void;
    /**
     * merge the split taskbar with the given segment indexes.
     *
     * @param  {string} taskId - Defines the id of a task to be split.
     * @param  {string} segmentIndexes - Defines the object array of indexes which must be merged.
     * @returns {void} .
     * @public
     */
    mergeTask(taskId: number | string, segmentIndexes: {
        firstSegmentIndex: number;
        secondSegmentIndex: number;
    }[]): void;
    /**
     * Changes the treegrid.TreeGrid column positions by field names.
     *
     * @param  {string} fromFName - Defines origin field name.
     * @param  {string} toFName - Defines destination field name.
     * @returns {void} .
     * @public
     */
    reorderColumns(fromFName: string | string[], toFName: string): void;
    /**
     * Method to clear edited collections in gantt set edit flag value
     *
     * @param {boolean} isStart .
     * @returns {void} .
     * @private
     */
    initiateEditAction(isStart: boolean): void;
    /**
     *
     * @param {string} field Method to update value in Gantt record and make clone record for this
     * @param {IGanttData | ITaskData} record .
     * @param {boolean} isTaskData .
     * @returns {void} .
     * @private
     */
    setRecordValue(field: string, value: any, record: IGanttData | ITaskData, isTaskData?: boolean): void;
    private makeCloneData;
    private closeGanttActions;
    /**
     * Method to get task by uniqueId value.
     *
     * @param {string} id - Defines the task id.
     * @returns {IGanttData} .
     * @isGenericType true
     */
    getTaskByUniqueID(id: string): IGanttData;
    /**
     * Method to get record by id value.
     *
     * @param {string} id - Defines the id of record.
     * @returns {IGanttData} .
     * @isGenericType true
     */
    getRecordByID(id: string): IGanttData;
    /**
     * Method to set splitter position.
     *
     * @param {string|number} value - Define value to splitter settings property.
     * @param {string} type - Defines name of internal splitter settings property.
     * @returns {void} .
     */
    setSplitterPosition(value: string | number, type: string): void;
    /**
     * Expand the records by index value.
     *
     * @param {number[] | number} index - Defines the index of rows to be expand.
     * @returns {void} .
     * @public
     */
    expandByIndex(index: number[] | number): void;
    /**
     * Expand the record by task id.
     *
     * @param {number} id - Defines the id of task.
     * @returns {void} .
     * @public
     */
    expandByID(id: number | string): void;
    /**
     * Collapse the record by index value.
     *
     * @param {number} index - Defines the index of row.
     * @returns {void} .
     * @public
     */
    collapseByIndex(index: number): void;
    /**
     * Collapse the record by id value.
     *
     * @param {number} id - Defines the id of task.
     * @returns {void} .
     * @public
     */
    collapseByID(id: number | string): void;
    /**
     * Method to add record.
     *
     * @param {Object[] | IGanttData | Object} data - Defines record to add.
     * @param {RowPosition} rowPosition - Defines the position of row.
     * @param {number} rowIndex - Defines the row index.
     * @returns {void} .
     * @public
     */
    addRecord(data?: Object[] | IGanttData | Object, rowPosition?: RowPosition, rowIndex?: number): void;
    /**
     * Method to update record by ID.
     *
     * @param  {Object} data - Defines the data to modify.
     * @returns {void} .
     * @public
     */
    updateRecordByID(data: Object): void;
    /**
     * To update existing taskId with new unique Id.
     *
     * @param {number | string} currentId .
     * @param {number | string} newId .
     * @returns {void} .
     */
    updateTaskId(currentId: number | string, newId: number | string): void;
    /**
     * Public method to expand particular level of rows.
     *
     * @returns {void} .
     * @param {number} level .
     * @private
     */
    expandAtLevel(level: number): void;
    /**
     * To indent the level of selected task to the hierarchical Gantt task.
     *
     * @returns {void} .
     * @public
     */
    indent(): void;
    /**
     * To outdent the level of selected task from the hierarchical Gantt task.
     *
     * @returns {void} .
     * @public
     */
    outdent(): void;
    /**
     * To render the critical path tasks in Gantt.
     *
     * @returns {void} .
     * @param {boolean} isCritical- whether to render critical path or not .
     * @public
     */
    private showCriticalPath;
    /**
     * To get all the critical tasks in Gantt.
     *
     * @returns {IGanttData[]} .
     * @public
     */
    getCriticalTasks(): IGanttData[];
    /**
     * To perform Zoom in action on Gantt timeline.
     *
     * @returns {void} .
     * @public
     */
    zoomIn(): void;
    /**
     * To perform zoom out action on Gantt timeline.
     *
     * @returns {void} .
     * @public
     */
    zoomOut(): void;
    /**
     * To show all project task in available chart width
     *
     * @returns {void} .
     * @public
     */
    fitToProject(): void;
    /**
     * Reorder the rows based on given indexes and position
     *
     * @param {number[]} fromIndexes .
     * @param {number} toIndex .
     * @param {string} position .
     * @returns {void} .
     */
    reorderRows(fromIndexes: number[], toIndex: number, position: string): void;
    /**
     * Method to update record by Index.
     *
     * @param  {number} index - Defines the index of data to modify.
     * @param  {object} data - Defines the data to modify.
     * @returns {void} .
     * @public
     */
    updateRecordByIndex(index: number, data: Object): void;
    /**
     * To add dependency for Task.
     *
     * @param  {number} id - Defines the ID of data to modify.
     * @param  {string} predecessorString - Defines the predecessor string to add.
     * @returns {void} .
     * @public
     */
    addPredecessor(id: number | string, predecessorString: string): void;
    /**
     * To remove dependency from task.
     *
     * @param  {number} id - Defines the ID of task to modify.
     * @returns {void} .
     * @public
     */
    removePredecessor(id: number | string): void;
    /**
     * To modify current dependency values of Task by task id.
     *
     * @param  {number} id - Defines the ID of data to modify.
     * @param  {string} predecessorString - Defines the predecessor string to update.
     * @returns {void} .
     * @public
     */
    updatePredecessor(id: number | string, predecessorString: string): void;
    /**
     * Method to open Add dialog.
     *
     * @returns {void} .
     * @public
     */
    openAddDialog(): void;
    /**
     * Method to open Edit dialog.
     *
     * @param {number } taskId - Defines the id of task.
     * @returns {void} .
     * @public
     */
    openEditDialog(taskId?: number | string): void;
    /**
     * Changes the treegrid.TreeGrid column positions by field names.
     *
     * @param {string | number} id .
     * @param {number} index .
     * @returns {void} .
     * @private
     */
    private contructExpandCollapseArgs;
    /**
     * Method to get chart row value by index.
     *
     * @param {number} index - Defines the index of row.
     * @returns {HTMLElement} .
     */
    getRowByIndex(index: number): HTMLElement;
    /**
     * Method to get the row element by task id.
     *
     * @param {string | number} id - Defines the id of task.
     * @returns {HTMLElement} .
     */
    getRowByID(id: string | number): HTMLElement;
    /**
     * Method to get class name for unscheduled tasks
     *
     * @param {ITaskData} ganttProp .
     * @returns {string} .
     * @private
     */
    getUnscheduledTaskClass(ganttProp: ITaskData): string;
    /**
     * Method to get class name for unscheduled tasks
     *
     * @param {ITaskData} ganttProp .
     * @returns {boolean} .
     * @private
     */
    isUnscheduledTask(ganttProp: ITaskData): boolean;
    private createGanttPopUpElement;
    /**
     * Method to get predecessor value as string.
     *
     * @param {string} type .
     * @returns {HTMLElement} .
     * @private
     */
    getPredecessorTextValue(type: string): string;
    /**
     * Method to perform search action in Gantt.
     *
     * @param {string} keyVal - Defines key value to search.
     * @returns {void} .
     */
    search(keyVal: string): void;
    /**
     * Method to get offset rect value
     *
     * @param {HTMLElement} element .
     * @returns {number} .
     * @hidden
     */
    getOffsetRect(element: HTMLElement): {
        top: number;
        left: number;
        width?: number;
        height?: number;
    };
    /**
     * Method to expand all the rows of Gantt.
     *
     * @returns {void} .
     * @public
     */
    expandAll(): void;
    /**
     * Method to update data source.
     *
     * @returns {void} .
     * @param {object[]} dataSource - Defines a collection of data.
     * @param {object} args - Defines the projectStartDate and projectEndDate values.
     * @public
     */
    updateDataSource(dataSource: Object[], args: object): void;
    /**
     * Method to collapse all the rows of Gantt.
     *
     * @returns {void} .
     * @public
     */
    collapseAll(): void;
    /**
     * Gets the columns from the treegrid.TreeGrid.
     *
     * @returns {Column[]} .
     * @public
     */
    getGridColumns(): Column[];
    /**
     * Method to column from given column collection based on field value
     *
     * @param {string} field .
     * @param {ColumnModel[]} columns .
     * @returns {ColumnModel} .
     * @private
     */
    getColumnByField(field: string, columns: ColumnModel[]): ColumnModel;
    /**
     * Gets the Gantt columns.
     *
     * @returns {ColumnModel[]} .
     * @public
     */
    getGanttColumns(): ColumnModel[];
    /**
     * Shows a column by its column name.
     *
     * @param  {string|string[]} keys - Defines a single or collection of column names.
     * @param  {string} showBy - Defines the column key either as field name or header text.
     * @returns {void} .
     * @public
     */
    showColumn(keys: string | string[], showBy?: string): void;
    /**
     * Hides a column by column name.
     *
     * @param  {string|string[]} keys - Defines a single or collection of column names.
     * @param  {string} hideBy - Defines the column key either as field name or header text.
     * @returns {void} .
     * @public
     */
    hideColumn(keys: string | string[], hideBy?: string): void;
    /**
     * To set scroll top for chart scroll container.
     *
     * @param {number} scrollTop - Defines scroll top value for scroll container.
     * @returns {void} .
     * @public
     */
    setScrollTop(scrollTop: number): void;
    /**
     * Cancels edited state.
     *
     * @returns {void} .
     * @public
     */
    cancelEdit(): void;
    /**
     * Selects a cell by the given index.
     *
     * @param  {grids.IIndex} cellIndex - Defines the row and column indexes.
     * @param  {boolean} isToggle - If set to true, then it toggles the selection.
     * @returns {void} .
     */
    selectCell(cellIndex: grids.IIndex, isToggle?: boolean): void;
    /**
     * Selects a collection of cells by row and column indexes.
     *
     * @param  {grids.ISelectedCell[]} rowCellIndexes - Specifies the row and column indexes.
     * @returns {void} .
     */
    selectCells(rowCellIndexes: grids.ISelectedCell[]): void;
    /**
     * Selects a row by given index.
     *
     * @param  {number} index - Defines the row index.
     * @param  {boolean} isToggle - If set to true, then it toggles the selection.
     * @returns {void} .
     */
    selectRow(index: number, isToggle?: boolean): void;
    /**
     * Selects a collection of rows by indexes.
     *
     * @param  {number[]} records - Defines the collection of row indexes.
     * @returns {void} .
     */
    selectRows(records: number[]): void;
    /**
     * Method to delete record.
     *
     * @param {number | string } taskDetail - Defines the details of data to delete.
     * @returns {void} .
     * @public
     */
    deleteRecord(taskDetail: number | string | number[] | string[] | IGanttData | IGanttData[]): void;
    /**
     * Enables or disables ToolBar items.
     *
     * @param {string[]} items - Defines the collection of itemID of ToolBar items.
     * @param {boolean} isEnable - Defines the items to be enabled or disabled.
     * @returns {void} .
     */
    enableItems(items: string[], isEnable: boolean): void;
    /**
     * Deselects the current selected rows and cells.
     *
     * @returns {void} .
     */
    clearSelection(): void;
    /**
     * @param {ITaskAddedEventArgs | IActionBeginEventArgs} args .
     * @returns {ITaskAddedEventArgs | IActionBeginEventArgs} .
     * @hidden
     */
    updateDataArgs(args: ITaskAddedEventArgs | IActionBeginEventArgs): ITaskAddedEventArgs | IActionBeginEventArgs;
    /**
     * Method to convert task data to milestone data.
     *
     * @param {string} id - Defines id of record.
     * @returns {void} .
     * @public
     */
    convertToMilestone(id: string): void;
    /**
     * To change the mode of a record.
     *
     * @param {object} data .
     * @returns {void} .
     */
    changeTaskMode(data: Object): void;
    /**
     * @returns {string[]} .
     * @private
     */
    getTaskIds(): string[];
    /**
     * @param {IGanttData} data .
     * @returns {void} .
     * @private
     */
    setTaskIds(data: IGanttData): void;
    /**
     * To render the react templates
     *
     * @returns {void} .
     *  @hidden
     */
    renderTemplates(): void;
    /**
     * To reset the react templates
     *
     * @returns {void} .
     *  @hidden
     */
    resetTemplates(): void;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/base/interface.d.ts
/**
 * Specifies Gantt-chart interfaces
 *
 */
export interface IGanttData {
    /** Defines the child records of task. */
    childRecords?: IGanttData[];
    /** Defines the expanded state of task. */
    expanded?: boolean;
    /** Defines the properties which used in internal calculations. */
    ganttProperties?: ITaskData;
    /** Defines gantt data has child records or not. */
    hasChildRecords?: boolean;
    /** Defines the index of task. */
    index?: number;
    /** Defines the level of task. */
    level?: number;
    /** Defines the direct parent item of task. */
    parentItem?: IParent;
    /** Defines the parent unique id of task. */
    parentUniqueID?: string;
    /**
     * Specifies the checkbox state of a record
     */
    checkboxState?: string;
    /** Defines the data which specified in data source.
     *
     * @isGenericType true
     */
    taskData?: Object;
    /** Defines the unique id of task. */
    uniqueID?: string;
    /** Defines the indicators value of task. */
    indicators?: IIndicator[];
    /** Defines the delete . */
    isDelete?: boolean;
    /** Defines the critical path of task. */
    isCritical?: boolean;
    /** Defines the slack value of critical path task. */
    slack?: string | number;
}
export interface IParent {
    /** Defines the unique id of task. */
    uniqueID?: string;
    /** Defines the expanded state of task. */
    expanded?: boolean;
    /** Defines the level of task. */
    level?: number;
    /** Defines the id of task. */
    taskId?: string;
    /** Defines the index of task. */
    index?: number;
}
export interface ITaskData {
    /** Defines the baselineleft of task. */
    baselineLeft?: number;
    /** Defines the baseline startdate of task. */
    baselineStartDate?: Date;
    /** Defines the baseline enddate of task. */
    baselineEndDate?: Date;
    /** Defines the baseline width of task. */
    baselineWidth?: number;
    /** Defines the end date of task. */
    endDate?: Date;
    /** Defines the css class of task. */
    cssClass?: string;
    /** Defines the duration of task. */
    duration?: number;
    /** Defines the duration unit of task. */
    durationUnit?: string;
    /** Defines the task is auto schedule-able or not. */
    isAutoSchedule?: boolean;
    /** Defines the task is milestone or not. */
    isMilestone?: boolean;
    /** Defines the left of task. */
    left?: number;
    /** Defines the critical path of task. */
    isCritical?: boolean;
    /** Defines the slack value of critical path task. */
    slack?: string | number;
    /** Defines the progress of task. */
    progress?: number;
    /** Defines the progress width of task. */
    progressWidth?: number;
    /** Defines the resource info of task. */
    resourceInfo?: Object[];
    /** Defines the resource names of task. */
    resourceNames?: string;
    /** Defines the start date of task. */
    startDate?: Date;
    /** Defines the notes of task. */
    notes?: string;
    /** Defines the predecessors name of task. */
    predecessorsName?: string | number | object[];
    /** Defines the predecessor of task. */
    predecessor?: IPredecessor[];
    /** Defines the id of task. */
    taskId?: string;
    /** Defines the parent id of task. */
    parentId?: string;
    /** Defines the name of task. */
    taskName?: string;
    /** Defines the width of task. */
    width?: number;
    /** Defines the indicators of task. */
    indicators?: IIndicator[];
    /** Defines the unique id of task. */
    uniqueID?: string;
    /** Defines the total progress of task. */
    totalProgress?: number;
    /** Defines the total duration of task. */
    totalDuration?: number;
    /** Defines the work of the task. */
    work?: number;
    /** Defines the work unit of task. */
    workUnit?: string;
    /** Defines task type */
    taskType?: TaskType;
    /** Defines the auto scheduled task's start date. */
    autoStartDate?: Date;
    /** Defines the auto scheduled task's end date. */
    autoEndDate?: Date;
    /** Defines the auto scheduled task's duration */
    autoDuration?: number;
    /** Defines the auto scheduled task's left. */
    autoLeft?: number;
    /** Defines the auto scheduled task's width. */
    autoWidth?: number;
    /** It have taskId for ProjectView and uniqueID for resourceView */
    rowUniqueID?: string;
    /** Defines work timeline ranges. */
    workTimelineRanges?: IWorkTimelineRanges[];
    /** Defines overlap index. */
    eOverlapIndex?: number;
    /** Defines task segments. */
    segments?: ITaskSegment[];
    /**
     * Defines shared task unique ids.
     */
    sharedTaskUniqueIds?: string[];
}
export interface ITaskSegment {
    /** Defines start date of the segment */
    startDate?: Date;
    /** Defines end date of the segment */
    endDate?: Date;
    /** Defines the duration of the segment. */
    duration?: number;
    /** Defines the width of a segment. */
    width?: number;
    /** Defines the progress width of a segment. */
    progressWidth?: number;
    /** Defines the left position of a segment. */
    left?: number;
    /** Defines the segment index */
    segmentIndex?: number;
    /** Defines the duration between 2 segments */
    offsetDuration?: number;
    /** Set for displaying progress in split taskbar */
    showProgress?: boolean;
}
export interface IWorkTimelineRanges {
    /** Defines start date of task */
    startDate?: Date;
    /** Defines end date of task */
    endDate?: Date;
    /** Defines left value of resource usage/resource histogram. */
    left?: number;
    /** Defines width of the resource usage/resource histogram. */
    width?: number;
    /** Defines height of the resource usage/resource histogram. */
    height?: number;
    /** Defines per day work. */
    workPerDay?: number;
    /** Defines whether resource is over allocate or not. */
    isOverAllocated?: boolean;
    /** Defines the task. */
    task?: IGanttData;
    /** Defines start date of task */
    from?: Date;
    /** Defines start date of task */
    to?: Date;
}
export interface IGanttColumn {
    field?: string;
    headerText?: string;
    editType?: string;
    mappingName?: string;
    allowEditing: boolean;
    width: number;
    format: string;
    visible: boolean;
}
export interface IIndicator {
    /** Defines the date of indicator. */
    date?: Date | string;
    /** Defines the icon class of indicator. */
    iconClass?: string;
    /** Defines the name of indicator. */
    name?: string;
    /** Defines the tooltip of indicator. */
    tooltip?: string;
}
export interface IWorkingTimeRange {
    from?: number;
    to?: number;
    isWorking?: boolean;
    color?: string;
    interval?: number;
}
export interface IQueryTaskbarInfoEventArgs {
    /** Defines the data. */
    data: IGanttData;
    /** Defines the row element. */
    rowElement: Element;
    /** Defines the taskbar element. */
    taskbarElement: Element;
    /** Defines the taskbar background color. */
    taskbarBgColor?: string;
    /** Defines the taskbar border color. */
    taskbarBorderColor?: string;
    /** Defines the progressbar background color. */
    progressBarBgColor?: string;
    /** Defines the milestone color. */
    milestoneColor?: string;
    /** Defines the right label color. */
    rightLabelColor?: string;
    /** Defines the left label color. */
    leftLabelColor?: string;
    /** Defines the task label color. */
    taskLabelColor?: string;
    /** Defines the baseline color. */
    baselineColor?: string;
    /** Defines the taskbar type. */
    taskbarType: string;
}
export interface IGanttCellFormatter {
    /** Method to format the cell value of date columns. */
    getValue(column: Column, data: Object): Object;
}
export interface ITaskbarEditedEventArgs {
    /** Defines the editingFields. */
    editingFields?: ITaskData;
    /** Defines the data. */
    data?: IGanttData;
    /** Defines the index of edited task. */
    recordIndex?: number;
    /** Defines the previous value of editing task. */
    previousData?: ITaskData;
    /** Defines the type of taskbar edit action. */
    taskBarEditAction?: string;
    /** Defines the duration roundoff. */
    roundOffDuration?: boolean;
    /** Defines the event is cancel-able or not. */
    cancel?: boolean;
    /** Defines the action. */
    action?: string;
    /** Defines the target element. */
    target?: Element;
    /** Defines the segment index. */
    segmentIndex?: number;
}
export interface IKeyPressedEventArgs {
    /** Defines the request type. */
    requestType?: string;
    /** Defines the key action. */
    action?: string;
    /** Defines the event. */
    keyEvent?: Event;
}
export interface ITaskDeletedEventArgs {
    deletedRecordCollection?: IGanttData[];
    updatedRecordCollection?: IGanttData[];
    cancel?: boolean;
    action?: string;
}
export interface IDependencyEditData {
    id?: string;
    text?: string;
    value?: string;
}
export interface IPredecessor {
    /** Defines the from value of predecessor. */
    from?: string;
    /** Defines the to value of predecessor. */
    to?: string;
    /** Defines the type of predecessor. */
    type?: string;
    /** Defines the offset value of predecessor. */
    offset?: number;
    /** Defines the offset unit of predecessor. */
    offsetUnit?: string;
    /** Defines the predecessor is drawn-able or not. */
    isDrawn?: boolean;
}
export interface IValidateArgs {
    data?: IGanttData;
    recordIndex?: number;
    requestType?: string;
    cancel?: boolean;
    validateMode?: IValidateMode;
    editEventArgs?: object;
}
export interface ITimeSpanEventArgs {
    /** Defines the project start date. */
    projectStartDate?: Date;
    /** Defines the project end date. */
    ProjectEndDate?: Date;
    /** Defines the timeline roundoff state. */
    isTimelineRoundOff?: boolean;
    /** Defines the request type. */
    requestType?: string;
    /** Defines the event is cancel-able or not. */
    cancel?: boolean;
    /** Defines the action. */
    action?: string;
}
export interface IValidateMode {
    respectLink?: boolean;
    removeLink?: boolean;
    preserveLinkWithEditing?: boolean;
}
export interface IActionBeginEventArgs {
    requestType?: string;
    data?: IGanttData | IGanttData[];
    modifiedRecords?: IGanttData[];
    modifiedTaskData?: object[] | object;
    cancel?: boolean;
    taskBarEditAction?: string;
    action?: string;
    /** Defines the target element. */
    target?: Element;
}
export interface IValidateLinkedTaskArgs {
    editMode?: string;
    data?: IGanttData;
    requestType?: string;
    validateMode?: IValidateMode;
    cancel?: boolean;
}
export interface IConnectorLineObject {
    parentLeft?: number;
    childLeft?: number;
    parentWidth?: number;
    childWidth?: number;
    parentIndex?: number;
    childIndex?: number;
    rowHeight?: number;
    type?: string;
    connectorLineId?: string;
    milestoneParent?: boolean;
    milestoneChild?: boolean;
    parentIndexInCurrentView?: number;
    childIndexInCurrentView?: number;
    isCritical?: boolean;
}
export interface ISplitterResizedEventArgs {
    /** Defines the element. */
    element?: HTMLElement;
    /** Defines the event. */
    event?: Event;
    /** Defines the size of resized pane. */
    paneSize?: number[];
    /** Defines the pane. */
    pane?: HTMLElement[];
    /** Defines the index of resizing pane. */
    index?: number[];
    /** Defines the separator. */
    separator?: HTMLElement;
    /** Defines the event is cancel-able or not. */
    cancel?: boolean;
}
export interface PredecessorTooltip {
    /** Defines the from id of predecessor. */
    fromId?: string;
    /** Defines the to id of predecessor. */
    toId?: string;
    /** Defines the from name of predecessor. */
    fromName?: string;
    /** Defines the to name of predecessor. */
    toName?: string;
    /** Defines the link type of predecessor. */
    linkType?: string;
    /** Defines the link text of predecessor. */
    linkText?: string;
    /** Defines the offset value of predecessor. */
    offset?: number;
    /** Defines the offset unit of predecessor. */
    offsetUnit?: string;
    /** Defines the offset string value of predecessor. */
    offsetString?: string;
}
export interface BeforeTooltipRenderEventArgs {
    /** Defines the data. */
    data?: BeforeTooltipRenderEventArgsData;
    /** Defines the original event arguments of tooltip control. */
    args?: popups.TooltipEventArgs;
    /** Defines the content. */
    content?: string | Element;
    /** Cancel the tooltip */
    cancel?: boolean;
}
export interface QueryCellInfoEventArgs {
    /** Defines the row data associated with this cell. */
    data?: IGanttData;
    /** Defines the cell element. */
    cell?: Element;
    /** Defines the column object associated with this cell. */
    column?: Column;
    /** Defines the no. of columns to be spanned */
    colSpan?: number;
    /** Defines the no. of rows to be spanned */
    rowSpan?: number;
    /** Defines the current action. */
    requestType?: string;
    /** Define the foreignKey row data associated with this column */
    foreignKeyData?: Object;
}
/**
 * Extending IGanttData and PredecessorTooltip interfaces for data used in BeforeTooltipRenderEventArgs interface.
 */
export interface BeforeTooltipRenderEventArgsData extends IGanttData, PredecessorTooltip {
}
export interface IDependencyEventArgs {
    /** Specifies the predecessor task of dependency. */
    fromItem?: IGanttData;
    /** Specifies the successor task of dependency. */
    toItem?: IGanttData;
    /** Defines the new predecessor string. */
    newPredecessorString?: string;
    /** Defines the dependency link is valid or not */
    isValidLink?: boolean;
    /** Defines the request type. */
    requestType?: string;
    /** Defines predecessor object */
    predecessor?: IPredecessor;
}
export interface ITaskAddedEventArgs {
    /** Specifies the newly added task data with Gantt properties. */
    data?: IGanttData[] | IGanttData;
    /** Specifies the newly added task data without custom Gantt properties. */
    newTaskData?: object[] | object;
    /** Defines the modified records. */
    modifiedRecords?: IGanttData[];
    /** Defines the modified task data. */
    modifiedTaskData?: object[] | object;
    /** Defines the record index. */
    recordIndex?: number | number[];
    /** Defines the event is cancel-able or not. */
    cancel?: boolean;
    /** Defines the action. */
    action?: string;
    /** Defines the request type. */
    requestType?: string;
}
export interface ICollapsingEventArgs {
    /** Defines the TreeGrid row element */
    gridRow: Node;
    /** Defines the Gantt chart row element */
    chartRow: Node;
    /** Defines the name of the action. */
    name?: string;
    /** Defines the parent row data. */
    data?: IGanttData;
    /** Cancel the row expanding action */
    cancel?: boolean;
}
export interface ContextMenuOpenEventArgs extends grids.ContextMenuOpenEventArgs {
    /** Defines the TreeGrid row element */
    gridRow?: Element;
    /** Defines the chart row element */
    chartRow?: Element;
    /** Defines the selected row record */
    rowData?: IGanttData;
    /** Defines the context menu type */
    type?: ContextMenuType;
    /** Defines the hidden items collection */
    hideItems?: string[];
    /** Defines the sub menu hidden items collection */
    hideChildItems?: string[];
    /** Defines the disabled items collection */
    disableItems?: string[];
    /** Defines the target element. */
    target?: Element;
    top?: number;
    left?: number;
}
export interface ContextMenuClickEventArgs extends grids.ContextMenuClickEventArgs {
    /** Defines the selected row record */
    rowData?: IGanttData;
    /** Defines the context menu type */
    type?: ContextMenuType;
}
export  type ITimelineFormatter = (date?: Date, format?: string, tier?: string, mode?: string) => string;
export interface ZoomEventArgs {
    /** Defines the request type. */
    requestType?: string;
    /** Defines the zoom action. */
    action?: string;
    /** Defines Zoom timeline settings.  */
    timeline?: ZoomTimelineSettings;
    /** Defines the cancel option value. */
    cancel?: boolean;
}
export interface ZoomTimelineSettings {
    /** Defines the timeline view mode. */
    timelineViewMode?: TimelineViewMode;
    /** Defines top tier values. */
    topTier?: TimelineTierSettingsModel;
    /** Defines bottom tier values. */
    bottomTier?: TimelineTierSettingsModel;
    /** Defines timeline unit size. */
    timelineUnitSize?: number;
    weekStartDay?: number;
    /** Defines weekend background color. */
    weekendBackground?: string;
    /** Defines showTooltip whether the tooltip will rendered or not. */
    showTooltip?: boolean;
    /** Defines perDay width. */
    perDayWidth?: number;
    /** Defines zooming level. */
    level?: number;
    /** Defines the updateTimescaleView. */
    updateTimescaleView?: boolean;
}
/** @private */
export interface MousePoint {
    pageX?: number;
    pageY?: number;
}
/** @private */
export interface ITemplateData {
    expanded?: boolean;
    hasChildRecords?: boolean;
    index?: number;
    level?: number;
    baselineLeft?: number;
    baselineWidth?: number;
    taskStartDate?: Date;
    taskEndDate?: Date;
    taskDuration?: number;
    taskDurationUnit?: string;
    taskPredecessorsName?: string;
    taskResourceNames?: string;
    isAutoSchedule?: boolean;
    isMilestone?: boolean;
    left?: number;
    progressWidth?: number;
    width?: number;
}
export interface RowSelectingEventArgs extends grids.RowSelectingEventArgs {
    /** Defines the data collections. */
    data: IGanttData;
}
export interface RowSelectEventArgs extends grids.RowSelectEventArgs {
    /** Defines the data collections. */
    data: IGanttData;
}
export interface RowDataBoundEventArgs extends grids.RowDataBoundEventArgs {
    /** Defines the data collections. */
    data: IGanttData;
    /** Defines the row element. */
    row?: Element;
}
export interface RowDeselectEventArgs extends grids.RowDeselectEventArgs {
    /** Defines the selected/deselected row index. */
    rowIndex?: number;
    /** Defines the data collections. */
    data?: IGanttData[];
    /** Defines the selected/deselected row. */
    row?: Element;
}
export interface ActionCompleteArgs extends ZoomEventArgs, IKeyPressedEventArgs {
    element?: HTMLElement;
    requestType?: string;
    data?: IGanttData[];
    modifiedRecords?: IGanttData[];
    modifiedTaskData?: IGanttData[];
    cancel?: boolean;
    /** Specifies the newly added task data without custom Gantt properties.
     *
     * @isGenericType true
     */
    newTaskData?: object;
    /** Defines the record index. */
    recordIndex?: number;
    /** Defines the action. */
    action?: string;
    /** Defines the type of event. */
    type?: string;
}
export interface ActionBeginArgs extends IDependencyEventArgs {
    rowData?: IGanttData;
    name?: string;
    requestType?: string;
    cancel?: boolean;
    data?: IGanttData[];
    modifiedRecords?: IGanttData[];
    /**
     * @isGenericType true
     */
    modifiedTaskData?: object[];
    /** Specifies the newly added task data without custom Gantt properties.
     *
     * @isGenericType true
     */
    newTaskData?: object;
    /** Defines the split date on context click action */
    splitDate?: Date;
    /** Defines the array of merge items indexes on context click action */
    mergeSegmentIndexes?: {
        firstSegmentIndex: number;
        secondSegmentIndex: number;
    }[];
    /** Defines the record index. */
    recordIndex?: number;
    /** Defines the action. */
    action?: string;
    /** Defines the type of event. */
    type?: string;
    /** Defines the target element. */
    target?: Element;
}
export interface CellEditArgs {
    /** Defines the cancel option value. */
    cancel?: boolean;
    /** Defines the current row. */
    row?: Element;
    /** Defines the validation rules. */
    validationRules?: Object;
    /** Defines the name of the event. */
    type?: string;
    /** Defines foreign data object */
    foreignKeyData?: Object;
    /** Defines the row data object. */
    rowData?: IGanttData;
    /** Defines the column name. */
    columnName?: string;
    /** Defines the cell object. */
    cell?: Element;
    /** Defines the column object. */
    columnObject?: Column;
    /** Defines the cell value. */
    value?: string;
    /** Defines isForeignKey option value. */
    isForeignKey?: boolean;
    /** Defines the primaryKey. */
    primaryKey?: string[];
}
export interface CellSelectingEventArgs extends grids.CellSelectingEventArgs {
    /** Defines the previously selected cell index */
    previousRowCellIndex?: number;
}
export interface ScrollArgs {
    /** Defines the action. */
    action?: string;
    /** Defines the action type. */
    requestType?: string;
    /** Defines the scroll direction. */
    scrollDirection?: string;
    /** Defines the scroll left value. */
    scrollLeft?: number;
    /** Defines the scroll top value. */
    scrollTop?: number;
    /** Defines the previous scroll top value. */
    previousScrollTop?: number;
    /** Defines the previous scroll left value. */
    previousScrollLeft?: number;
}
export interface ITaskbarClickEventArgs {
    /** Defines the taskbar element. */
    taskbarElement?: Element;
    /** Defines the data of record. */
    data?: IGanttData;
    /** Defines the row index of record. */
    rowIndex?: number;
    /** Defines the target element. */
    target?: Element;
}
export interface RecordDoubleClickEventArgs extends grids.RecordDoubleClickEventArgs {
    /** Defines the row element. */
    row?: Element;
    /** Defines the data of record. */
    rowData?: IGanttData;
    /** Defines the row index of record. */
    rowIndex?: number;
    /** Defines the target element. */
    target?: Element;
}
export interface RowDropEventArgs {
    /** Defines the selected row's element. */
    rows?: Element[];
    /** Defines the target element from which drag starts. */
    target?: Element;
    /** Defines the type of the element to be dragged.
     *
     * @hidden
     */
    draggableType?: string;
    /** Defines the selected row data.
     *
     * @isGenericType true
     */
    data?: Object[];
    /** Defines the drag element from index. */
    fromIndex?: number;
    /** Defines the target element from index. */
    dropIndex?: number;
    /** Define the mouse event */
    originalEvent?: object;
    cancel?: boolean;
    /** Defines drop position of the dragged record */
    dropPosition?: string;
    /** Defines the request type. */
    requestType?: string;
    /** Defines the modified records. */
    modifiedRecords?: IGanttData[];
    /** Defines the modified records. */
    dropRecord?: IGanttData;
}
export interface IMouseMoveEventArgs {
    /** Defines the row data. */
    data?: IGanttData;
    /** Defines the column. */
    column?: Object;
    /** Defines the timeline date. */
    date?: Date;
    /** Defines the original event. */
    originalEvent?: Object;
    /** Defines the predecessor. */
    predecessor?: PredecessorTooltip;
    /** Defines the indicator. */
    indicator?: IIndicator;
    /** Defines the event markers. */
    eventMarkers?: EventMarkerModel;
}
export interface PdfExportProperties {
    /** Defines the Pdf orientation. */
    pageOrientation?: PageOrientation;
    /** Defines the Pdf page size. */
    pageSize?: PdfPageSize;
    /** Enable the footer. */
    enableFooter?: boolean;
    /** Indicates whether to show the hidden columns in exported Pdf */
    includeHiddenColumn?: boolean;
    /** Defines the theme for exported Gantt  */
    theme?: PdfTheme;
    /** Defines the style for exported Gantt  */
    ganttStyle?: IGanttStyle;
    /** Defines the file name for the exported file  */
    fileName?: string;
    /** Indicates to export current data or all data */
    exportType?: ExportType;
    /** Indicates whether to show the predecessors in exported Pdf */
    showPredecessorLines?: boolean;
}
export interface PdfQueryCellInfoEventArgs {
    /** Defines the column of the current cell. */
    column?: ColumnModel;
    /** Defines the style of the current cell. */
    style?: PdfGanttCellStyle;
    /** Defines the value of the current cell. */
    value?: Date | string | number | boolean | Object;
    /** Defines the data of the cell */
    data?: Object;
    /** Defines the current PDF cell */
    cell?: PdfTreeGridCell;
}
export interface TimelineDetails {
    startPoint?: number;
    endPoint?: number;
    startDate?: Date;
    endDate?: Date;
    dayStartDate?: Date;
    totalWidth?: number;
    startIndex?: number;
    endIndex?: number;
    pageStartPoint?: pdfExport.PointF;
}
export interface PageDetail {
    startPoint?: pdfExport.PointF;
    width?: number;
    height?: number;
    pageStartX?: number;
}
export interface TimelineFormat {
    width?: number;
    height?: number;
    value?: string;
    isWeekend?: boolean;
    style?: PdfGanttCellStyle;
    isFinished?: boolean;
    completedWidth?: number;
    startDate?: Date;
    endDate?: Date;
}
export interface PdfGanttFontStyle {
    /** Defines the font size */
    fontSize?: number;
    /** Defines the font style */
    fontStyle?: pdfExport.PdfFontStyle;
    /** Defines the font color */
    fontColor?: pdfExport.PdfColor;
    /** Defines the background color of the cell */
    backgroundColor?: pdfExport.PdfColor;
    /** Defines the border color of the cell */
    borderColor?: pdfExport.PdfColor;
    /** Defines the format of the cell value */
    format?: pdfExport.PdfStringFormat;
}
export interface PdfGanttCellStyle extends PdfGanttFontStyle {
    /** Defines the cell borders */
    borders?: PdfBorders;
    /** Defines the cell padding */
    padding?: PdfPaddings;
}
export interface ITaskbarStyle {
    /** Defines the parent taskbar background color */
    parentTaskColor?: pdfExport.PdfColor;
    /** Defines the parent progressbar background color */
    parentProgressColor?: pdfExport.PdfColor;
    /** Defines the parent taskbar border color */
    parentTaskBorderColor?: pdfExport.PdfColor;
    /** Defines the child taskbar background color */
    taskColor?: pdfExport.PdfColor;
    /** Defines the child progressbar background color */
    progressColor?: pdfExport.PdfColor;
    /** Defines the child taskbar border color */
    taskBorderColor?: pdfExport.PdfColor;
    /** Defines the milestone background color */
    milestoneColor?: pdfExport.PdfColor;
    /** Defines the progress text color */
    progressFontColor?: pdfExport.PdfColor;
    /** Defines the critical task color */
    criticalTaskColor?: pdfExport.PdfColor;
    /** Defines the critical child progressbar background color */
    criticalProgressColor?: pdfExport.PdfColor;
    /** Defines the child taskbar border color */
    criticalTaskBorderColor?: pdfExport.PdfColor;
}
export interface IGanttStyle {
    columnHeader?: PdfGanttCellStyle;
    fontFamily?: pdfExport.PdfFontFamily;
    cell?: PdfGanttCellStyle;
    taskbar?: ITaskbarStyle;
    label?: PdfGanttCellStyle;
    timeline?: PdfGanttCellStyle;
    chartGridLineColor?: pdfExport.PdfColor;
    connectorLineColor?: pdfExport.PdfColor;
    criticalConnectorLineColor?: pdfExport.PdfColor;
    footer?: PdfGanttCellStyle;
}
export interface PdfQueryTimelineCellInfoEventArgs {
    /** Defines the timeline cell */
    timelineCell?: PdfGanttCellStyle;
    /** Specify the value of the timeline cell */
    value?: string;
}
export interface PdfQueryTaskbarInfoEventArgs {
    /** Defines the Taskbar style */
    taskbar?: ITaskbarStyle;
    /** Specify the value of the task data */
    data?: IGanttData;
}
export interface PdfColumnHeaderQueryCellInfoEventArgs {
    /** Defines the PDF grid current cell. */
    cell?: PdfTreeGridCell;
    /** Defines the style of the current cell. */
    style?: PdfGanttCellStyle;
    /** Defines the current cell with column */
    column?: ColumnModel;
    /** Specify the value of the column header cell */
    value?: string | Object;
}
/** @private */
export interface TaskLabel {
    value?: string;
    left?: number;
    isCompleted?: boolean;
    isLeftCalculated?: boolean;
}
/**
 * public Enum for `PdfHorizontalOverflowType`.
 *
 * @private
 */
export  enum PdfHorizontalOverflowType {
    /**
     * Specifies the type of `NextPage`.
     *
     * @private
     */
    NextPage = 0,
    /**
     * Specifies the type of `LastPage`.
     *
     * @private
     */
    LastPage = 1
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/base/splitter.d.ts
/**
 * Splitter module is used to define the splitter position in Gantt layout.
 */
export  class Splitter {
    private parent;
    splitterObject: layouts.Splitter;
    splitterPreviousPositionGrid: string;
    splitterPreviousPositionChart: string;
    constructor(ganttObj?: Gantt);
    /**
     * @returns {void} .
     * @private
     */
    renderSplitter(): void;
    /**
     * @param {SplitterSettingsModel} splitter .
     
     * @returns {string} .
     * @private
     */
    calculateSplitterPosition(splitter: SplitterSettingsModel): string;
    /**
     * @param {string} position .
     * @returns {string} .
     */
    private getSpliterPositionInPercentage;
    /**
     * @param {number} index .
     * @returns {number} .
     */
    private getTotalColumnWidthByIndex;
    /**
     * @returns {void} .
     * @private
     */
    updateSplitterPosition(): void;
    /**
     * @returns {void} .
     * @private
     */
    triggerCustomResizedEvent(): void;
    private destroy;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/base/task-processor.d.ts
/**
 * To calculate and update task related values
 */
export  class TaskProcessor extends DateProcessor {
    private recordIndex;
    private dataArray;
    private taskIds;
    private segmentCollection;
    private hierarchyData;
    constructor(parent: Gantt);
    private addEventListener;
    /**
     * @param {boolean} isChange .
     * @returns {void} .
     * @private
     */
    checkDataBinding(isChange?: boolean): void;
    private processTimeline;
    private initDataSource;
    private constructDataSource;
    private cloneDataSource;
    /**
     * @param {object[]} resources .
     * @param {object[]} data .
     * @param {object[]} unassignedTasks .
     * @returns {void} .
     *
     */
    private constructResourceViewDataSource;
    /**
     * Function to manipulate data-source
     *
     * @param {object[]} data .
     * @returns {void} .
     * @hidden
     */
    private prepareDataSource;
    private calculateSharedTaskUniqueIds;
    private prepareRecordCollection;
    /**
     * Method to update custom field values in gantt record
     *
     * @param {object} data .
     * @param {IGanttData} ganttRecord .
     * @returns {void} .
     */
    private addCustomFieldValue;
    /**
     * To populate Gantt record
     *
     * @param {object} data .
     * @param {number} level .
     * @param {IGanttData} parentItem .
     * @param {boolean} isLoad .
     * @returns {IGanttData} .
     * @private
     */
    createRecord(data: Object, level: number, parentItem?: IGanttData, isLoad?: boolean): IGanttData;
    private sortSegmentsData;
    setSegmentsInfo(data: IGanttData, onLoad: boolean): ITaskSegment[];
    private setSegmentTaskData;
    /**
     * Method to calculate work based on resource unit and duration.
     *
     * @param {IGanttData} ganttData .
     * @returns {void} .
     */
    updateWorkWithDuration(ganttData: IGanttData): void;
    /**
     *
     * @param {IGanttData} parent .
     * @returns {IParent} .
     * @private
     */
    getCloneParent(parent: IGanttData): IParent;
    /**
     * @returns {void} .
     * @private
     */
    reUpdateResources(): void;
    private addTaskData;
    private updateExpandStateMappingValue;
    /**
     * @param {IGanttData} ganttData .
     * @param {object} data .
     * @returns {void} .
     */
    private setValidatedDates;
    /**
     *
     * @param {IGanttData} ganttData .
     * @param {object} data .
     * @param {boolean} isLoad .
     * @returns {void} .
     * @private
     */
    calculateScheduledValues(ganttData: IGanttData, data: Object, isLoad: boolean): void;
    /**
     * Method to update duration with work value.
     *
     * @param {IGanttData} ganttData .
     * @returns {void} .
     */
    updateDurationWithWork(ganttData: IGanttData): void;
    /**
     * Update units of resources with respect to duration and work of a task.
     *
     * @param {IGanttData} ganttData .
     * @returns {void} .
     */
    updateUnitWithWork(ganttData: IGanttData): void;
    private calculateDateFromEndDate;
    private calculateDateFromStartDate;
    /**
     *
     * @param {number} parentWidth .
     * @param {number} percent .
     * @returns {number} .
     * @private
     */
    getProgressWidth(parentWidth: number, percent: number): number;
    /**
     *
     * @param {IGanttData} ganttData .
     * @param {boolean} isAuto .
     * @returns {number} .
     * @private
     */
    calculateWidth(ganttData: IGanttData, isAuto?: boolean): number;
    private getTaskbarHeight;
    /**
     * Method to calculate left
     *
     * @param {ITaskData} ganttProp .
     * @param {boolean} isAuto .
     * @returns {number} .
     * @private
     */
    calculateLeft(ganttProp: ITaskData, isAuto?: boolean): number;
    /**
     * calculate the left position of the auto scheduled taskbar
     *
     * @param {ITaskData} ganttProperties - Defines the gantt data.
     * @returns {number} .
     * @private
     */
    calculateAutoLeft(ganttProperties: ITaskData): number;
    /**
     * To calculate duration of Gantt record with auto scheduled start date and auto scheduled end date
     *
     * @param {ITaskData} ganttProperties - Defines the gantt data.
     * @returns {number} .
     */
    calculateAutoDuration(ganttProperties: ITaskData): number;
    /**
     * calculate the with between auto scheduled start date and auto scheduled end date
     *
     * @param {ITaskData} ganttProperties - Defines the gantt data.
     * @returns {number} .
     * @private
     */
    calculateAutoWidth(ganttProperties: ITaskData): number;
    /**
     * calculate the left margin of the baseline element
     *
     * @param {ITaskData} ganttProperties .
     * @returns {number} .
     * @private
     */
    calculateBaselineLeft(ganttProperties: ITaskData): number;
    /**
     * calculate the width between baseline start date and baseline end date.
     *
     * @param {ITaskData} ganttProperties .
     * @returns {number} .
     * @private
     */
    calculateBaselineWidth(ganttProperties: ITaskData): number;
    /**
     * To get tasks width value
     *
     * @param {Date} startDate .
     * @param {Date} endDate .
     * @returns {number} .
     * @private
     */
    getTaskWidth(startDate: Date, endDate: Date): number;
    /**
     * Get task left value
     *
     * @param {Date} startDate .
     * @param {boolean} isMilestone .
     * @returns {number} .
     * @private
     */
    getTaskLeft(startDate: Date, isMilestone: boolean): number;
    getSplitTaskWidth(sDate: Date, duration: number, data: IGanttData): number;
    getSplitTaskLeft(sDate: Date, segmentTaskStartDate: Date): number;
    /**
     *
     * @param {IGanttData} ganttData .
     * @param {string} fieldName .
     * @returns {void} .
     * @private
     */
    updateMappingData(ganttData: IGanttData, fieldName: string): void;
    private segmentTaskData;
    /**
     * Method to update the task data resource values
     *
     * @param {IGanttData} ganttData .
     * @returns {void} .
     */
    private updateTaskDataResource;
    private setRecordDate;
    private getDurationInDay;
    private setRecordDuration;
    private getWorkInHour;
    /**
     *
     * @param {IGanttData} ganttData .
     * @returns {void} .
     * @private
     */
    updateTaskData(ganttData: IGanttData): void;
    /**
     * To set resource value in Gantt record
     *
     * @param {object} data .
     * @returns {object[]} .
     * @private
     */
    setResourceInfo(data: Object): Object[];
    /**
     * To set resource unit in Gantt record
     *
     * @param {object[]} resourceData .
     * @returns {void} .
     * @private
     */
    updateResourceUnit(resourceData: Object[]): void;
    /**
     * @param {IGanttData} data .
     * @returns {void} .
     * @private
     */
    updateResourceName(data: IGanttData): void;
    private dataReorder;
    private validateDurationUnitMapping;
    private validateTaskTypeMapping;
    private validateWorkUnitMapping;
    /**
     * To update duration value in Task
     *
     * @param {string} duration .
     * @param {ITaskData} ganttProperties .
     * @returns {void} .
     * @private
     */
    updateDurationValue(duration: string, ganttProperties: ITaskData): void;
    /**
     * @returns {void} .
     * @private
     */
    reUpdateGanttData(): void;
    private _isInStartDateRange;
    private _isInEndDateRange;
    /**
     * Method to find overlapping value of the parent task
     *
     * @param {IGanttData} resourceTask .
     * @returns {void} .
     * @private
     */
    updateOverlappingValues(resourceTask: IGanttData): void;
    /**
     * @param {IGanttData[]} tasks .
     * @returns {void} .
     * @private
     */
    updateOverlappingIndex(tasks: IGanttData[]): void;
    /**
     * Method to calculate the left and width value of oarlapping ranges
     *
     * @param {IWorkTimelineRanges[]} ranges .
     * @returns {void} .
     * @private
     */
    calculateRangeLeftWidth(ranges: IWorkTimelineRanges[]): void;
    /**
     * @param {IWorkTimelineRanges[]} ranges .
     * @param {boolean} isSplit .
     * @returns {IWorkTimelineRanges[]} .
     * @private
     */
    mergeRangeCollections(ranges: IWorkTimelineRanges[], isSplit?: boolean): IWorkTimelineRanges[];
    /**
     * Sort resource child records based on start date
     *
     * @param {IGanttData} resourceTask .
     * @returns {IGanttData} .
     * @private
     */
    setSortedChildTasks(resourceTask: IGanttData): IGanttData[];
    private splitRangeCollection;
    private getRangeWithDay;
    private splitRangeForDayMode;
    private getRangeWithWeek;
    private splitRangeForWeekMode;
    /**
     * Update all gantt data collection width, progress width and left value
     *
     * @returns {void} .
     * @private
     */
    updateGanttData(): void;
    /**
     * Update all gantt data collection width, progress width and left value
     *
     * @param {IGanttData} data .
     * @returns {void} .
     * @public
     */
    private updateTaskLeftWidth;
    /**
     * @returns {void} .
     * @private
     */
    reUpdateGanttDataPosition(): void;
    /**
     * method to update left, width, progress width in record
     *
     * @param {IGanttData} data .
     * @returns {void} .
     * @private
     */
    updateWidthLeft(data: IGanttData): void;
    /**
     * method to update left, width, progress width in record
     *
     * @param {IGanttData} data .
     * @returns {void} .
     * @private
     */
    updateAutoWidthLeft(data: IGanttData): void;
    /**
     * To calculate parent progress value
     *
     * @param {IGanttData} childGanttRecord .
     * @returns {object} .
     * @private
     */
    getParentProgress(childGanttRecord: IGanttData): Object;
    private resetDependency;
    /**
     * @param {IParent | IGanttData} cloneParent .
     * @param {boolean} isParent .
     * @returns {void} .
     * @private
     */
    updateParentItems(cloneParent: IParent | IGanttData, isParent?: boolean): void;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/base/tree-grid.d.ts
/**
 * TreeGrid related code goes here
 *
 * @param {object} args .
 * @returns {void} .
 */
export  class GanttTreeGrid {
    private parent;
    private treeGridElement;
    treeGridColumns: treegrid.ColumnModel[];
    /**
     * @private
     */
    currentEditRow: {};
    private previousScroll;
    /** @hidden */
    prevCurrentView: Object;
    constructor(parent: Gantt);
    private addEventListener;
    private renderReactTemplate;
    private createContainer;
    /**
     * Method to initiate TreeGrid
     *
     * @returns {void} .
     */
    renderTreeGrid(): void;
    private composeProperties;
    private getContentDiv;
    private getHeaderDiv;
    private getScrollbarWidth;
    /**
     * @returns {void} .
     * @private
     */
    ensureScrollBar(): void;
    private bindEvents;
    private beforeDataBound;
    private dataBound;
    private dataStateChange;
    private collapsing;
    private expanding;
    private collapsed;
    private expanded;
    private actionBegin;
    private created;
    private actionFailure;
    private queryCellInfo;
    private headerCellInfo;
    private rowDataBound;
    private columnMenuOpen;
    private columnMenuClick;
    private createExpandCollapseArgs;
    private objectEqualityChecker;
    private treeActionComplete;
    private updateKeyConfigSettings;
    /**
     * Method to bind internal events on TreeGrid element
     *
     * @returns {void} .
     */
    private wireEvents;
    private unWireEvents;
    private scrollHandler;
    /**
     * @returns {void} .
     * @private
     */
    validateGanttColumns(): void;
    /**
     *
     * @param {GanttColumnModel} column .
     * @param {boolean} isDefined .
     * @returns {void} .
     */
    private createTreeGridColumn;
    /**
     * Compose Resource columns
     *
     * @param {GanttColumnModel} column .
     * @returns {void} .
     */
    private composeResourceColumn;
    /**
     * @param {IGanttData} data .
     * @returns {object} .
     * @private
     */
    getResourceIds(data: IGanttData): object;
    /**
     * Create Id column
     *
     * @param {GanttColumnModel} column .
     * @returns {void} .
     */
    private composeIDColumn;
    private composeUniqueIDColumn;
    /**
     * Create progress column
     *
     * @param {GanttColumnModel} column .
     * @returns {void} .
     */
    private composeProgressColumn;
    /**
     * @param {GanttColumnModel} newGanttColumn .
     * @param {boolean} isDefined .
     * @returns {void} .
     */
    private bindTreeGridColumnProperties;
    private durationValueAccessor;
    private resourceValueAccessor;
    private workValueAccessor;
    private taskTypeValueAccessor;
    private modeValueAccessor;
    private idValueAccessor;
    private updateScrollTop;
    private treeGridClickHandler;
    private removeEventListener;
    private destroy;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/base/utils.d.ts
/**
 * @param {Element} elem .
 * @param {string} selector .
 * @param {boolean} isID .
 * @returns {Element} .
 * @hidden
 */
export  function parentsUntil(elem: Element, selector: string, isID?: boolean): Element;
/**
 * @param {ITaskData} ganttProp .
 * @returns {boolean} .
 * @hidden
 */
export  function isScheduledTask(ganttProp: ITaskData): boolean;
/**
 * @param {Gantt} parent .
 * @returns {boolean} .
 * @hidden
 */
export  function isCountRequired(parent: Gantt): boolean;
/**
 * @param {object} obj .
 * @returns {object} .
 * @hidden
 */
export  function getSwapKey(obj: Object): object;
/**
 * @param {object} dataSource .
 * @returns {boolean} .
 * @hidden
 */
export  function isRemoteData(dataSource: object): boolean;
/**
 * @param {IGanttData[]} records .
 * @param {boolean} isNotExtend .
 * @param {ITaskAddedEventArgs} eventArgs .
 * @param {Gantt} parent .
 * @returns {object[]} .
 * @hidden
 */
export  function getTaskData(records: IGanttData[], isNotExtend?: boolean, eventArgs?: ITaskAddedEventArgs, parent?: Gantt): object[] | object;
/**
 * @param {IGanttData} record .
 * @param {Gantt} parent .
 * @returns {null} .
 * @hidden
 */
export  function updateDates(record: IGanttData, parent: Gantt): void;
/**
 * @param {string} str .
 * @param {string[]} args .
 * @returns {string} .
 * @hidden
 */
export  function formatString(str: string, args: string[]): string;
/**
 * @param {any} value .
 * @param {string} key1 .
 * @param {any} collection .
 * @param {string} key2
 * @returns {number} .
 * @hidden
 */
export  function getIndex(value: any, key1: string, collection: any, key2?: string): number;
/**
 * @param {number} value .
 * @returns {number} .
 * @hidden
 */
export  function pixelToPoint(value: number): number;
/**
 * @param {number} value .
 * @returns {number} .
 * @hidden
 */
export  function pointToPixel(value: number): number;
/**
 * @returns {number} .
 * @hidden
 */
export  function getUid(): number;
//node_modules/@syncfusion/ej2-gantt/src/gantt/export/export-helper.d.ts
/**
 * @hidden
 * `ExportHelper` for `PdfExport` & `ExcelExport`
 */
export  class ExportHelper {
    private parent;
    private flatData;
    private exportProps;
    private gantt;
    private rowIndex;
    private colIndex;
    private row;
    private columns;
    private ganttStyle;
    private pdfDoc;
    private exportValueFormatter;
    private totalColumnWidth;
    constructor(parent: Gantt);
    /**
     * @param {IGanttData[]} data .
     * @param {PdfGantt} gantt .
     * @param {PdfExportProperties} props .
     * @returns {void} .
     * @private
     */
    processGridExport(data: IGanttData[], gantt: PdfGantt, props: PdfExportProperties): void;
    private processHeaderContent;
    private processColumnHeader;
    private isColumnVisible;
    private processGanttContent;
    /**
     * Method for processing the timeline details
     *
     * @returns {void} .
     */
    private processTimeline;
    /**
     * Method for create the predecessor collection for rendering
     *
     * @returns {void} .
     */
    private processPredecessor;
    private processRecordRow;
    private processRecordCell;
    /**
     * Method for create the taskbar collection for rendering
     *
     * @returns {void} .
     */
    private processTaskbar;
    /**
     * set text alignment of each columns in exporting grid
     *
     * @param {string} textAlign .
     * @param {PdfStringFormat} format .
     * @returns {PdfStringFormat} .
     * @private
     */
    private getHorizontalAlignment;
    /**
     * set vertical alignment of each columns in exporting grid
     *
     * @param {string} verticalAlign .
     * @param {PdfStringFormat} format .
     * @param {string} textAlign .
     * @returns {PdfStringFormat} .
     * @private
     */
    private getVerticalAlignment;
    private getFontFamily;
    private getFont;
    private renderEmptyGantt;
    private mergeCells;
    private copyStyles;
    /**
     * @param {pdfExport.PdfDocument} pdfDoc .
     * @returns {void} .
     * @private
     */
    initializePdf(pdfDoc: pdfExport.PdfDocument): void;
}
/**
 * @hidden
 * `ExportValueFormatter` for `PdfExport` & `ExcelExport`
 */
export  class ExportValueFormatter {
    private internationalization;
    private valueFormatter;
    constructor(culture: string);
    private returnFormattedValue;
    /**
     * @private
     */
    formatCellValue(args: any): string;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/export/pdf-base/dictionary.d.ts
/**
 * Dictionary class
 *
 * @private
 * @hidden
 */
export  class TemporaryDictionary<K, V> {
    /**
     * @hidden
     * @private
     */
    private mKeys;
    /**
     * @hidden
     * @private
     */
    private mValues;
    /**
     * @returns {number} .
     * @hidden
     * @private
     */
    size(): number;
    /**
     * @template K
     * @template V
     * @param {K} key .
     * @param {V} value .
     * @returns {void} .
     * @hidden
     * @private
     */
    add(key: K, value: V): number;
    /**
     * @template K
     * @returns {K[]} .
     * @hidden
     * @private
     */
    keys(): K[];
    /**
     * @template V
     * @returns {V[]} .
     * @hidden
     * @private
     */
    values(): V[];
    /**
     * @template K
     * @template V
     * @param {K} key .
     * @returns {V} .
     * @hidden
     * @private
     */
    getValue(key: K): V;
    /**
     * @template K
     * @template V
     * @param {K} key .
     * @param {V} value .
     * @returns {void} .
     * @hidden
     * @private
     */
    setValue(key: K, value: V): void;
    /**
     * @template K
     * @param {K} key .
     * @returns {boolean} .
     * @hidden
     * @private
     */
    remove(key: K): boolean;
    /**
     * @template K
     * @param {K} key .
     * @returns {boolean} .
     * @hidden
     * @private
     */
    containsKey(key: K): boolean;
    /**
     * @returns {void} .
     * @hidden
     * @private
     */
    clear(): void;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/export/pdf-base/index.d.ts
/**
 * Gantt Pdf Export base library
 */
//node_modules/@syncfusion/ej2-gantt/src/gantt/export/pdf-base/pdf-borders.d.ts
/**
 * PdfBorders.ts class for EJ2-PDF
 */
/**
 * `PdfBorders` class used represents the cell border of the PDF grid.
 */
export  class PdfBorders {
    /**
     * The `left` border.
     *
     * @private
     */
    private leftPen;
    /**
     * The `right` border.
     *
     * @private
     */
    private rightPen;
    /**
     * The `top` border.
     *
     * @private
     */
    private topPen;
    /**
     * The `bottom` border.
     *
     * @private
     */
    private bottomPen;
    /**
     * Gets or sets the `Left`.
     *
     * @returns {pdfExport.PdfPen} .
     * @private
     */
    left: pdfExport.PdfPen;
    /**
     * Gets or sets the `Right`.
     *
     * @returns {pdfExport.PdfPen} .
     * @private
     */
    right: pdfExport.PdfPen;
    /**
     * Gets or sets the `Top`.
     *
     * @returns {pdfExport.PdfPen} .
     * @private
     */
    top: pdfExport.PdfPen;
    /**
     * Gets or sets the `Bottom`.
     *
     * @returns {pdfExport.PdfPen} .
     * @private
     */
    bottom: pdfExport.PdfPen;
    /**
     * sets the `All`.
     *
     * @param {pdfExport.PdfPen} value .
     * @private
     */
    all: pdfExport.PdfPen;
    /**
     * Gets a value indicating whether this instance `is all`.
     *
     * @returns {boolean} .
     * @private
     */
    readonly isAll: boolean;
    /**
     * Gets the `default`.
     *
     * @returns {PdfBorders} .
     * @private
     */
    static readonly default: PdfBorders;
    /**
     * Create a new instance for `PdfBorders` class.
     *
     * @private
     */
    constructor();
}
export  class PdfPaddings {
    /**
     * The `left` padding.
     *
     * @private
     */
    private leftPad;
    /**
     * The `right` padding.
     *
     * @private
     */
    private rightPad;
    /**
     * The `top` padding.
     *
     * @private
     */
    private topPad;
    /**
     * The `bottom` padding.
     *
     * @private
     */
    private bottomPad;
    /**
     * The 'left' border padding set.
     *
     * @private
     */
    hasLeftPad: boolean;
    /**
     * The 'right' border padding set.
     *
     * @private
     */
    hasRightPad: boolean;
    /**
     * The 'top' border padding set.
     *
     * @private
     */
    hasTopPad: boolean;
    /**
     * The 'bottom' border padding set.
     *
     * @private
     */
    hasBottomPad: boolean;
    /**
     * Gets or sets the `left` value of the edge
     *
     * @returns {number} .
     * @private
     */
    left: number;
    /**
     * Gets or sets the `right` value of the edge.
     *
     * @returns {number} .
     * @private
     */
    right: number;
    /**
     * Gets or sets the `top` value of the edge
     *
     * @returns {number} .
     * @private
     */
    top: number;
    /**
     * Gets or sets the `bottom` value of the edge.
     *
     * @returns {number} .
     * @private
     */
    bottom: number;
    /**
     * Sets value to all sides `left,right,top and bottom`.s
     *
     * @param {number} value .
     * @private
     */
    all: number;
    /**
     * Initializes a new instance of the `PdfPaddings` class.
     *
     * @private
     */
    constructor();
    /**
     * Initializes a new instance of the `PdfPaddings` class.
     *
     * @private
     */
    constructor(left: number, right: number, top: number, bottom: number);
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/export/pdf-base/pdf-grid-table.d.ts
/**
 *
 */
export  class PdfTreeGridCell {
    /**
     * Gets or sets the parent `row`.
     *
     * @private
     */
    row: PdfTreeGridRow;
    /**
     * Gets or sets the cell `style`.
     *
     * @private
     */
    style: PdfGanttCellStyle;
    private cellWidth;
    private cellHeight;
    /**
     * Gets or sets a value that indicates the total number of rows that cell `spans` within a PdfGrid.
     *
     * @private
     */
    rowSpan: number;
    /**
     * Gets or sets a value that indicates the total number of columns that cell `spans` within a PdfGrid.
     *
     * @private
     */
    columnSpan: number;
    value: Object;
    /** @private */
    remainingString: string;
    /** @private */
    finishedDrawingCell: boolean;
    /** @private */
    isCellMergeContinue: boolean;
    /** @private */
    isRowMergeContinue: boolean;
    /** @private */
    isCellMergeStart: boolean;
    /** @private */
    isRowMergeStart: boolean;
    /** @private */
    isHeaderCell: boolean;
    constructor(row?: PdfTreeGridRow);
    /**
     * Gets the `height` of the PdfTreeGrid cell.[Read-Only].
     *
     * @returns {number} .
     * @private
     */
    height: number;
    /**
     * Gets the `width` of the PdfTreeGrid cell.[Read-Only].
     *
     * @returns {number} .
     * @private
     */
    width: number;
    private measureWidth;
    /**
     * @returns {number} .
     * @private
     */
    measureHeight(): number;
    private calculateWidth;
    /**
     * `Draws` the specified graphics.
     *
     * @param {pdfExport.PdfGraphics} graphics .
     * @param {pdfExport.RectangleF} bounds .
     * @param {boolean} cancelSubsequentSpans .
     * @param {number} leftAdjustment .
     * @returns {pdfExport.PdfStringLayoutResult} .
     * @private
     */
    draw(graphics: pdfExport.PdfGraphics, bounds: pdfExport.RectangleF, cancelSubsequentSpans: boolean, leftAdjustment: number): pdfExport.PdfStringLayoutResult;
    /**
     * Draw the `cell background`.
     *
     * @param {pdfExport.PdfGraphics} graphics .
     * @param {pdfExport.RectangleF} bounds .
     * @returns {void} .
     * @private
     */
    drawCellBackground(graphics: pdfExport.PdfGraphics, bounds: pdfExport.RectangleF): void;
    /**
     * `Adjusts the text layout area`.
     *
     * @param {pdfExport.RectangleF} bounds .
     * @returns {pdfExport.RectangleF} .
     * @private
     */
    private adjustContentLayoutArea;
    /**
     * @param {pdfExport.PdfGraphics} graphics .
     * @param {pdfExport.RectangleF} bounds .
     * @returns {void} .
     * @private
     */
    private drawCellBorder;
}
/**
 * `PdfTreeGridCellCollection` class provides access to an ordered,
 * strongly typed collection of 'PdfTreeGridCell' objects.
 *
 * @private
 */
export  class PdfTreeGridCellCollection {
    /**
     * @private
     */
    private treegridRow;
    /**
     * @private
     */
    private cells;
    /**
     * Initializes a new instance of the `PdfGridCellCollection` class with the row.
     *
     * @param { PdfTreeGridRow} row .
     * @private
     */
    constructor(row: PdfTreeGridRow);
    /**
     * Gets the current `cell`.
     *
     * @param {number} index .
     * @returns {PdfTreeGridCell} .
     * @private
     */
    getCell(index: number): PdfTreeGridCell;
    /**
     * Gets the cells `count`.[Read-Only].
     *
     * @returns {number} .
     * @private
     */
    readonly count: number;
    /**
     * `Adds` this instance.
     *
     * @param {PdfTreeGridCell} cell .
     * @returns {PdfTreeGridCell | void} .
     * @private
     */
    add(cell?: PdfTreeGridCell): PdfTreeGridCell | void;
    /**
     * Returns the `index of` a particular cell in the collection.
     *
     * @param {PdfTreeGridCell} cell .
     * @returns {number} .
     * @private
     */
    indexOf(cell: PdfTreeGridCell): number;
}
/**
 *
 */
export  class PdfTreeGridRow {
    private treegridCells;
    private pdfTreeGrid;
    private treegridRowOverflowIndex;
    private treegridRowBreakHeight;
    private rowHeight;
    private rowWidth;
    private _isParentRow;
    private intendLevel;
    /**
     * The `Maximum span` of the row.
     *
     * @public
     */
    maximumRowSpan: number;
    constructor(treegrid: PdfTreeGrid);
    readonly cells: PdfTreeGridCellCollection;
    isParentRow: boolean;
    treegrid: PdfTreeGrid;
    /**
     * `Height` of the row yet to be drawn after split.
     *
     * @returns {number} .
     * @private
     */
    rowBreakHeight: number;
    /**
     * `over flow index` of the row.
     *
     * @returns {number} .
     * @private
     */
    rowOverflowIndex: number;
    level: number;
    /**
     * Gets or sets the `height` of the row.
     *
     * @returns {number} .
     * @private
     */
    height: number;
    /**
     * Gets or sets the `width` of the row.
     *
     * @returns {number} .
     * @private
     */
    readonly width: number;
    readonly rowIndex: number;
    private measureWidth;
    private measureHeight;
}
/**
 * `PdfTreeGridRowCollection` class provides access to an ordered, strongly typed collection of 'PdfTreeGridRow' objects.
 *
 * @private
 */
export  class PdfTreeGridRowCollection {
    /**
     * @private
     */
    private treegrid;
    /**
     * The row collection of the `treegrid`.
     *
     * @private
     */
    private rows;
    /**
     * Initializes a new instance of the `PdfTreeGridRowCollection` class with the parent grid.
     *
     * @param {PdfTreeGrid} treegrid .
     * @private
     */
    constructor(treegrid: PdfTreeGrid);
    /**
     * Gets the number of header in the `PdfTreeGrid`.[Read-Only].
     *
     * @returns {number} .
     * @private
     */
    readonly count: number;
    /**
     * Return the row collection of the `treegrid`.
     *
     * @returns {PdfTreeGridRow[]} .
     * @private
     */
    readonly rowCollection: PdfTreeGridRow[];
    addRow(): PdfTreeGridRow;
    addRow(row: PdfTreeGridRow): void;
    /**
     * Return the row by index.
     *
     * @param {number} index .
     * @returns {PdfTreeGridRow} .
     * @private
     */
    getRow(index: number): PdfTreeGridRow;
}
/**
 * `PdfTreeGridHeaderCollection` class provides customization of the settings for the header.
 *
 * @private
 */
export  class PdfTreeGridHeaderCollection {
    /**
     * The `treegrid`.
     *
     * @returns {PdfTreeGrid} .
     * @private
     */
    private treegrid;
    /**
     * The array to store the `rows` of the grid header.
     *
     * @returns {PdfTreeGridRow[]} .
     * @private
     */
    private rows;
    /**
     * Initializes a new instance of the `PdfTreeGridHeaderCollection` class with the parent grid.
     *
     * @param {PdfTreeGrid} treegrid .
     * @private
     */
    constructor(treegrid: PdfTreeGrid);
    /**
     * Gets a 'PdfTreeGridRow' object that represents the `header` row in a 'PdfGridHeaderCollection' control.[Read-Only].
     *
     * @param {number} index .
     * @returns {PdfTreeGridRow} .
     * @private
     */
    getHeader(index: number): PdfTreeGridRow;
    /**
     * Gets the `number of header` in the 'PdfGrid'.[Read-Only]
     *
     * @returns {number} .
     * @private
     */
    readonly count: number;
    /**
     * `Adds` the specified row.
     *
     * @param {PdfTreeGridRow} row .
     * @returns {void} .
     * @private
     */
    add(row: PdfTreeGridRow): void;
    indexOf(row: PdfTreeGridRow): number;
}
export  class PdfTreeGridColumn {
    private treegrid;
    private columnWidth;
    private stringFormat;
    private treeColumnIndex;
    private _headerText;
    private _field;
    constructor(treegrid: PdfTreeGrid);
    headerText: string;
    field: string;
    width: number;
    isTreeColumn: boolean;
    /**
     * Gets or sets the information about the text `formatting`.
     *
     * @returns {pdfExport.PdfStringFormat} .
     * @private
     */
    format: pdfExport.PdfStringFormat;
}
/**
 * `PdfTreeGridColumnCollection` class provides access to an ordered,
 * strongly typed collection of 'PdfTreeGridColumn' objects.
 *
 * @private
 */
export  class PdfTreeGridColumnCollection {
    /**
     * @private
     */
    private treegrid;
    /**
     * @private
     */
    private internalColumns;
    /**
     * @private
     */
    columnWidth: number;
    /**
     * Initializes a new instance of the `PdfTreeGridColumnCollection` class with the parent grid.
     *
     * @param { PdfTreeGrid} treegrid .
     * @private
     */
    constructor(treegrid: PdfTreeGrid);
    /**
     * `Add` a new column to the 'PdfGrid'.
     *
     * @param {number} count .
     * @returns {void} .
     * @private
     */
    add(count: number): void;
    /**
     * Gets the `number of columns` in the 'PdfGrid'.[Read-Only].
     *
     * @returns {number} .
     * @private
     */
    readonly count: number;
    /**
     * Gets the `widths`.
     *
     * @returns {number} .
     * @private
     */
    readonly width: number;
    /**
     * Gets the `array of PdfGridColumn`.[Read-Only]
     *
     * @returns {PdfTreeGridColumn[]} .
     * @private
     */
    readonly columns: PdfTreeGridColumn[];
    /**
     * Gets the `PdfTreeGridColumn` from the specified index.[Read-Only]
     *
     * @param {number} index .
     * @returns {PdfTreeGridColumn} .
     * @private
     */
    getColumn(index: number): PdfTreeGridColumn;
    /**
     * `Calculates the column widths`.
     *
     * @returns {number} .
     * @private
     */
    measureColumnsWidth(): number;
    /**
     * Gets the `widths of the columns`.
     *
     * @param {number} totalWidth .
     * @returns {number} .
     * @private
     */
    getDefaultWidths(totalWidth: number): number[];
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/export/pdf-base/pdf-style/gantt-theme.d.ts
/**
 * @hidden
 */
export  class PdfGanttTheme {
    ganttStyle: IGanttStyle;
    private theme;
    constructor(theme: PdfTheme);
    readonly style: IGanttStyle;
    private setTheme;
    private initStyles;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/export/pdf-base/pdf-style/style.d.ts
/**
 * PdfGridStyleBase.ts class for EJ2-PDF
 */
/**
 * Base class for the `treegrid style`,
 */
export  abstract class PdfTreeGridStyleBase {
    /**
     * Gets or sets the `background brush`.
     *
     * @private
     */
    backgroundBrush: pdfExport.PdfBrush;
    /**
     * Gets or sets the `text brush`.
     *
     * @private
     */
    textBrush: pdfExport.PdfBrush;
    /**
     * Gets or sets the `text pen`.
     *
     * @private
     */
    textPen: pdfExport.PdfPen;
    /**
     * Gets or sets the `font`.
     *
     * @private
     */
    font: pdfExport.PdfFont;
}
/**
 * `PdfTreeGridStyle` class provides customization of the appearance for the 'PdfGrid'.
 *
 */
export  class PdfTreeGridStyle {
    /**
     * Gets or sets the `border overlap style` of the 'PdfGrid'.
     *
     * @private
     */
    borderOverlapStyle: pdfExport.PdfBorderOverlapStyle;
    /**
     * Gets or sets the type of the `horizontal overflow` of the 'PdfGrid'.
     *
     * @private
     */
    horizontalOverflowType: PdfHorizontalOverflowType;
    /**
     * Gets or sets a value indicating whether to `allow horizontal overflow`.
     *
     * @private
     */
    allowHorizontalOverflow: boolean;
    /**
     * Gets or sets the `cell padding`.
     *
     * @private
     */
    cellPadding: PdfPaddings;
    /**
     * Gets or sets the `cell spacing` of the 'PdfGrid'.
     *
     * @private
     */
    cellSpacing: number;
    /**
     * Initialize a new instance for `PdfGridStyle` class.
     *
     * @private
     */
    constructor();
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/export/pdf-base/treegrid-layouter.d.ts
/**
 *
 */
export  class PdfTreeGridLayouter extends pdfExport.ElementLayouter {
    private currentPage;
    private currentGraphics;
    private currentPageBounds;
    private currentBounds;
    private startLocation;
    columnRanges: number[][];
    private cellStartIndex;
    private cellEndIndex;
    private repeatRowIndex;
    private treegridHeight;
    constructor(baseFormat: PdfTreeGrid);
    readonly treegrid: PdfTreeGrid;
    layoutInternal(param: pdfExport.PdfLayoutParams): pdfExport.PdfLayoutResult;
    /**
     * `Determines the column draw ranges`.
     *
     * @returns {void} .
     * @private
     */
    private determineColumnDrawRanges;
    private getFormat;
    private layoutOnPage;
    private checkBounds;
    private drawHeader;
    private reArrangePages;
    getNextPageFormat(format: pdfExport.PdfLayoutFormat): pdfExport.PdfPage;
    private getLayoutResult;
    private checkIfDefaultFormat;
    private drawRow;
    /**
     * @param {RowLayoutResult} result .
     * @param {PdfTreeGridRow} row .
     * @param {number} height .
     * @returns {void} .
     */
    private drawRowWithBreak;
    /**
     * `Recalculate row height` for the split cell to be drawn.
     *
     * @param {PdfTreeGridRow} row .
     * @param {number} height .
     * @returns {void} .
     * @private
     */
    reCalculateHeight(row: PdfTreeGridRow, height: number): number;
}
export  class PdfTreeGridLayoutResult extends pdfExport.PdfLayoutResult {
    /**
     * Constructor
     *
     * @param {pdfExport.PdfPage} page .
     * @param {pdfExport.RectangleF} bounds .
     * @private
     */
    constructor(page: pdfExport.PdfPage, bounds: pdfExport.RectangleF);
}
/**
 * `PdfGridLayoutFormat` class represents a flexible grid that consists of columns and rows.
 */
export  class PdfTreeGridLayoutFormat extends pdfExport.PdfLayoutFormat {
    /**
     * Initializes a new instance of the `PdfGridLayoutFormat` class.
     *
     * @param {pdfExport.PdfLayoutFormat} baseFormat .
     * @private
     */
    constructor(baseFormat?: pdfExport.PdfLayoutFormat);
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/export/pdf-connector-line.d.ts
/**
 * @hidden
 */
export  class PdfGanttPredecessor {
    parentLeft?: number;
    childLeft?: number;
    parentWidth?: number;
    childWidth?: number;
    parentIndex?: number;
    childIndex?: number;
    rowHeight?: number;
    type?: string;
    milestoneParent?: boolean;
    milestoneChild?: boolean;
    lineWidth?: number;
    connectorLineColor?: pdfExport.PdfColor;
    pdfGantt?: PdfGantt;
    parent?: Gantt;
    ganttStyle: IGanttStyle;
    /**
     * @returns {PdfGanttPredecessor} .
     * @hidden
     */
    add(): PdfGanttPredecessor;
    constructor(parent?: Gantt, pdfGantt?: PdfGantt);
    /**
     * Calculate the predecesor line point and draw the predecessor
     *
     * @param {PdfGantt} pdfGantt .
     * @returns {void}
     * @private
     */
    drawPredecessor(pdfGantt: PdfGantt): void;
    /**
     * Method to draw the predecessor lines with calculated connector points
     *
     * @private
     */
    private connectLines;
    /**
     * Method to check the predecessor line  occurs within the page
     *
     * @param {RectangleF} rect .
     * @param {number} x .
     * @param {number} y .
     * @returns {boolean} .
     * @private
     */
    private contains;
    /**
     * Find the PDF page index of given point
     *
     * @param {PointF} point .
     * @returns {number} .
     * @private
     */
    private findPageIndex;
    /**
     * Draw predecessor line
     *
     * @param {PdfPage} page .
     * @param {PointF} startPoint .
     * @param {PointF} endPoint .
     * @returns {void} .
     * @private
     */
    private drawLine;
    /**
     * Draw predecessor arrow
     *
     * @param {PdfPage} page .
     * @param {PdfGanttTaskbarCollection} childTask .
     * @param {number} midPoint .
     * @returns {void} .
     * @private
     */
    private drawArrow;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/export/pdf-gantt.d.ts
/**
 *
 */
export  class PdfGantt extends PdfTreeGrid {
    taskbarCollection: PdfGanttTaskbarCollection[];
    predecessorCollection: PdfGanttPredecessor[];
    private taskbars;
    private totalPages;
    private exportProps;
    private perColumnPages;
    private headerDetails;
    pdfPageDetail: PageDetail[];
    result: pdfExport.PdfLayoutResult;
    timelineStartDate: Date;
    private startPoint;
    private startPageIndex;
    borderColor: pdfExport.PdfColor;
    predecessor: PdfGanttPredecessor;
    chartHeader: PdfTimeline;
    chartPageIndex: number;
    parent: Gantt;
    constructor(parent: Gantt);
    readonly taskbar: PdfGanttTaskbarCollection;
    drawChart(result: pdfExport.PdfLayoutResult): void;
    private calculateRange;
    private drawPageBorder;
    private drawGantttChart;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/export/pdf-taskbar.d.ts
/**
 * @hidden
 */
export  class PdfGanttTaskbarCollection {
    endDate?: Date;
    /** Defines the duration of task. */
    duration?: number;
    /** Defines the duration unit of task. */
    durationUnit?: string;
    /** Defines the task is auto schedule-able or not. */
    isAutoSchedule?: boolean;
    /** Defines the task is milestone or not. */
    isMilestone?: boolean;
    /** Defines the left of task.
     *
     * @hidden
     */
    left?: number;
    /** Defines the progress of task. */
    progress?: number;
    /** Defines the progress width of task. */
    progressWidth?: number;
    /** Defines the start date of task. */
    startDate?: Date;
    /** Defines the id of task. */
    taskId?: string;
    /** Defines the parent id of task. */
    parentId?: string;
    /** Defines the name of task. */
    taskName?: string;
    /** Defines the width of task. */
    width?: number;
    /** Defines the unique id of task. */
    uniqueID?: string;
    /** Defines the total progress of task. */
    totalProgress?: number;
    /** Defines the total duration of task. */
    totalDuration?: number;
    /**
     * @private
     */
    unscheduledTaskBy?: string;
    /**
     * @private
     */
    unscheduleStarteDate?: Date;
    /**
     * @private
     */
    unscheduleEndDate?: Date;
    isParentTask?: boolean;
    isScheduledTask?: boolean;
    height: number;
    fontFamily: pdfExport.PdfFontFamily;
    gridLineColor: pdfExport.PdfColor;
    progressFontColor: pdfExport.PdfColor;
    taskColor: pdfExport.PdfColor;
    labelColor: pdfExport.PdfColor;
    taskBorderColor: pdfExport.PdfColor;
    progressColor: pdfExport.PdfColor;
    milestoneColor: pdfExport.PdfColor;
    taskbar: PdfGanttTaskbarCollection[];
    parent: Gantt;
    isCompleted: boolean;
    /**
     * @private
     */
    leftTaskLabel: TaskLabel;
    /**
     * @private
     */
    rightTaskLabel: TaskLabel;
    taskLabel: string;
    startPage: number;
    endPage: number;
    isStartPoint: boolean;
    taskStartPoint: pdfExport.PointF;
    add(): PdfGanttTaskbarCollection;
    constructor(parent?: Gantt);
    /**
     * @param {pdfExport.PdfPage} page .
     * @returns {pdfExport.PdfPage} .
     * Get the next PDF page
     */
    private GetNextPage;
    /**
     * Draw the taskbar, chart back ground
     *
     * @private
     */
    drawTaskbar(page: pdfExport.PdfPage, startPoint: pdfExport.PointF, detail: TimelineDetails, cumulativeWidth: number, rowHeight: number, taskbar: PdfGanttTaskbarCollection): boolean;
    /**
     * @param {pdfExport.PdfPage} page .
     * @param {pdfExport.PointF} startPoint .
     * @param {TimelineDetails} detail .
     * @param {number} cumulativeWidth .
     * @returns {void}
     * Draw task right side label
     */
    private drawRightLabel;
    /**
     * @param {pdfExport.PdfPage} page .
     * @param {pdfExport.PointF} startPoint .
     * @param {TimelineDetails} detail .
     * @param {number} cumulativeWidth .
     * @returns {void}
     * Draw task left task label
     */
    private drawLeftLabel;
    private getWidth;
    /**
     * @param {PdfGraphics} taskGraphics .
     * @param {pdfExport.PointF} startPoint .
     * @param {number} cumulativeWidth .
     * @param {number} adjustHeight .
     * @returns {void}
     * Draw Unscheduled Task
     */
    private drawUnscheduledTask;
    /**
     * @param {pdfExport.PdfPage} page .
     * @param {pdfExport.PointF} startPoint .
     * @param {TimelineDetails} detail .
     * @param {number} cumulativeWidth .
     * @returns {void}
     * Draw milestone task
     */
    private drawMilestone;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/export/pdf-timeline.d.ts
/**
 */
export  class PdfTimeline {
    parent: Gantt;
    private gantt;
    topTier: TimelineFormat[];
    bottomTier: TimelineFormat[];
    width: number;
    height: number;
    topTierCellWidth: number;
    bottomTierCellWidth: number;
    topTierHeight: number;
    bottomTierHeight: number;
    private topTierPoint;
    private bottomTierPoint;
    private topTierIndex;
    private bottomTierIndex;
    private prevTopTierIndex;
    private prevBottomTierIndex;
    constructor(gantt?: PdfGantt);
    /**
     * @private
     * @param {pdfExport.PdfPage} page .
     * @param {pdfExport.PointF} startPoint .
     * @param {TimelineDetails} detail .
     * @returns {void}
     */
    drawTimeline(page: pdfExport.PdfPage, startPoint: pdfExport.PointF, detail: TimelineDetails): void;
    /**
     *
     * @param {pdfExport.PdfPage} page .
     * @param {pdfExport.PointF} startPoint .
     * @param {TimelineDetails}  detail .
     * @returns {void} .
     * Draw the specific gantt chart side header when the taskbar exceeds the page
     * @private
     */
    drawPageTimeline(page: pdfExport.PdfPage, startPoint: pdfExport.PointF, detail: TimelineDetails): void;
    /**
     * Method to trigger pdf query timelinecell event
     */
    private triggerQueryTimelinecell;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/export/pdf-treegrid.d.ts
/**
 * PdfTreeGrid Class for EJ2-PDF
 */
export  class PdfTreeGrid extends pdfExport.PdfLayoutElement {
    columns: PdfTreeGridColumnCollection;
    rows: PdfTreeGridRowCollection;
    style: PdfTreeGridStyle;
    private initialWidth;
    private treeGridSize;
    layouter: PdfTreeGridLayouter;
    headers: PdfTreeGridHeaderCollection;
    private layoutFormat;
    beginCellDraw: Function;
    endCellDraw: Function;
    private treegridLocation;
    treeColumnIndex: number;
    rowHeight: number;
    allowRowBreakAcrossPages: boolean;
    enableHeader: boolean;
    isFitToWidth: boolean;
    ganttStyle: IGanttStyle;
    constructor();
    /**
     * Gets a value indicating whether the `start cell layout event` should be raised.
     *
     * @returns {boolean} .
     * @private
     */
    readonly raiseBeginCellDraw: boolean;
    /**
     * Gets a value indicating whether the `end cell layout event` should be raised.
     *
     * @returns {boolean} .
     * @private
     */
    readonly raiseEndCellDraw: boolean;
    size: pdfExport.SizeF;
    /**
     * `Draws` the element on the page with the specified page and 'pdfExport.PointF' class
     *
     * @param {pdfExport.PdfPage} page .
     * @param {pdfExport.PointF} location .
     * @returns {pdfExport.PdfLayoutResult} .
     * @private
     */
    draw(page: pdfExport.PdfPage, location: pdfExport.PointF): pdfExport.PdfLayoutResult;
    /**
     * `Draws` the element on the page with the specified page and pair of coordinates
     *
     * @param {pdfExport.PdfPage} page .
     * @param {number} x .
     * @param {number} y .
     * @returns {pdfExport.PdfLayoutResult} .
     * @private
     */
    draw(page: pdfExport.PdfPage, x: number, y: number): pdfExport.PdfLayoutResult;
    /**
     * `Draws` the element on the page with the specified page and 'pdfExport.RectangleF' class
     *
     * @param {pdfExport.PdfPage} page .
     * @param {pdfExport.RectangleF} layoutRectangle .
     * @returns {pdfExport.PdfLayoutResult} .
     * @private
     */
    draw(page: pdfExport.PdfPage, layoutRectangle: pdfExport.RectangleF): pdfExport.PdfLayoutResult;
    /**
     * `Draws` the element on the page with the specified page, 'pdfExport.PointF' class and layout format
     *
     * @param {pdfExport.PdfPage} page .
     * @param {pdfExport.PointF} location .
     * @param {PdfTreeGridLayoutFormat} format .
     * @returns {pdfExport.PdfLayoutResult} .
     * @private
     */
    draw(page: pdfExport.PdfPage, location: pdfExport.PointF, format: pdfExport.PdfLayoutFormat): pdfExport.PdfLayoutResult;
    /**
     * `Draws` the element on the page with the specified page, pair of coordinates and layout format
     *
     * @param {pdfExport.PdfPage} page .
     * @param {number} x .
     * @param {number} y .
     * @param {pdfExport.PdfLayoutFormat} format .
     * @returns {pdfExport.PdfLayoutResult}
     * @private
     */
    draw(page: pdfExport.PdfPage, x: number, y: number, format: pdfExport.PdfLayoutFormat): pdfExport.PdfLayoutResult;
    /**
     * `Draws` the element on the page.
     *
     * @private
     */
    draw(page: pdfExport.PdfPage, layoutRectangle: pdfExport.RectangleF, embedFonts: boolean): pdfExport.PdfLayoutResult;
    measureColumnsWidth(bounds?: pdfExport.RectangleF): void;
    private calculateTreeGridSize;
    drawGrid(page: pdfExport.PdfPage, x: number, y: number, format: PdfTreeGridLayoutFormat): PdfTreeGridLayoutResult;
    protected layout(param: pdfExport.PdfLayoutParams): pdfExport.PdfLayoutResult;
    onBeginCellDraw(args: pdfExport.PdfGridBeginCellDrawEventArgs): void;
    onEndCellDraw(args: pdfExport.PdfGridEndCellDrawEventArgs): void;
    setSpan(): void;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/index.d.ts
/**
 * Gantt Component exported items
 */
//node_modules/@syncfusion/ej2-gantt/src/gantt/models/add-dialog-field-settings-model.d.ts
/**
 * Interface for a class AddDialogFieldSettings
 */
export interface AddDialogFieldSettingsModel {
    /**
     * Defines types of tab which contains editor for columns.
     * * `General` - Defines tab container type as general.
     * * `Dependency` - Defines tab as dependency editor.
     * * `Resources` - Defines tab as resources editor.
     * * `Notes` - Defines tab as notes editor.
     * * `Custom` - Defines tab as custom column editor.
     *
     * @default null
     */
    type?: DialogFieldType;
    /**
     * Defines header text of tab item.
     *
     * @default null
     */
    headerText?: string;
    /**
     * Defines edited column fields placed inside the tab.
     *
     * @default null
     */
    fields?: string[];
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/models/add-dialog-field-settings.d.ts
/**
 * Defines dialog fields of add dialog.
 */
export  class AddDialogFieldSettings extends base.ChildProperty<AddDialogFieldSettings> {
    /**
     * Defines types of tab which contains editor for columns.
     * * `General` - Defines tab container type as general.
     * * `Dependency` - Defines tab as dependency editor.
     * * `Resources` - Defines tab as resources editor.
     * * `Notes` - Defines tab as notes editor.
     * * `Custom` - Defines tab as custom column editor.
     *
     * @default null
     */
    type: DialogFieldType;
    /**
     * Defines header text of tab item.
     *
     * @default null
     */
    headerText: string;
    /**
     * Defines edited column fields placed inside the tab.
     *
     * @default null
     */
    fields: string[];
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/models/column.d.ts
/**
 * Configures column collection in Gantt.
 */
export  class Column {
    /**
     * If `allowEditing` set to false, then it disables editing of a particular column.
     * By default all columns are editable.
     *
     * @default true
     */
    allowEditing: boolean;
    /**
     * If `allowReordering` set to false, then it disables reorder of a particular column.
     * By default all columns can be reorder.
     *
     * @default true
     */
    allowReordering: boolean;
    /**
     * If `allowResizing` is set to false, it disables resize option of a particular column.
     * By default all the columns can be resized.
     *
     * @default true
     */
    allowResizing: boolean;
    /**
     * If `allowSorting` set to false, then it disables sorting option of a particular column.
     * By default all columns are sortable.
     *
     * @default true
     */
    allowSorting: boolean;
    /**
     * If `allowFiltering` set to false, then it disables filtering option and filter bar element of a particular column.
     * By default all columns are filterable.
     *
     * @default true
     */
    allowFiltering: boolean;
    /**
     * It is used to customize the default filter options for a specific columns.
     * * ui - to render custom component for specific column it has following functions.
     * * ui.create – It is used for creating custom components.
     * * ui.read -  It is used for read the value from the component.
     * * ui.write - It is used to apply component model as dynamically.
     *
     * @default null
     */
    filter: grids.IFilter;
    /**
     * Defines the cell content's overflow mode. The available modes are
     * * `Clip` -  Truncates the cell content when it overflows its area.
     * * `Ellipsis` -  Displays ellipsis when the cell content overflows its area.
     * * `EllipsisWithTooltip` - Displays ellipsis when the cell content overflows its area
     * also it will display tooltip while hover on ellipsis applied cell.
     *
     * @default Syncfusion.EJ2.Grids.grids.ClipMode.EllipsisWithTooltip
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.ClipMode
     */
    clipMode: grids.ClipMode;
    /**
     * The CSS styles and attributes of the content cells of a particular column can be customized.
     *
     * @default null
     */
    customAttributes: {
        [x: string]: Object;
    };
    /**
     * If `disableHtmlEncode` is set to true, it encodes the HTML of the header and content cells.
     *
     * @default false
     */
    disableHtmlEncode: boolean;
    /**
     * If `displayAsCheckBox` is set to true, it displays the column value as a check box instead of Boolean value.
     *
     * @default false
     */
    displayAsCheckBox: boolean;
    /**
     * Defines the type of component for editing.
     *
     * @default 'stringedit'
     */
    editType: string;
    /**
     * Defines the custom sort comparer function.
     */
    sortComparer: grids.SortComparer | string;
    /**
     * Defines the field name of column which is mapped with mapping name of DataSource.
     * The `field` name must be a valid JavaScript identifier,
     * the first character must be an alphabet and should not contain spaces and special characters.
     */
    field: string;
    /**
     * It is used to change display value with the given format and does not affect the original data.
     * Gets the format from the user which can be standard or custom
     * [`number`](../../../common/internationalization/#number-formatting)
     * and [`date`](../../../common/internationalization/#formatting) formats.
     *
     * @default null
     * @aspType string
     */
    format: string | base.NumberFormatOptions | base.DateFormatOptions;
    /**
     * Defines the method which is used to achieve custom formatting from an external function.
     * This function triggers before rendering of each cell.
     *
     * @default null
     */
    formatter: {
        new (): IGanttCellFormatter;
    } | Function | IGanttCellFormatter;
    /**
     * Defines the header template as string or HTML element ID which is used to add customized element in the column header.
     *
     * @default null
     */
    headerTemplate: string;
    /**
     * Defines the header text of column which is used to display in column header.
     * If `headerText` is not defined, then field name value will be assigned to header text.
     *
     * @default null
     */
    headerText: string;
    /**
     * Define the alignment of column header which is used to align the text of column header.
     *
     * @default Syncfusion.EJ2.Grids.grids.TextAlign.Left
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.TextAlign
     */
    headerTextAlign: grids.TextAlign;
    /**
     * Column visibility can change based on [`Media Queries`](http://cssmediaqueries.com/what-are-css-media-queries.html).
     * `hideAtMedia` accepts only valid Media Queries.
     *
     * @default null
     */
    hideAtMedia: string;
    /**
     * Defines the maximum width of the column in pixel or percentage, which will restrict resizing beyond this pixel or percentage.
     *
     * @default null
     */
    maxWidth: string | number;
    /**
     * Defines the minimum width of the column in pixels or percentage.
     *
     * @default null
     */
    minWidth: string | number;
    /**
     * Defines the column template that renders customized element in each cell of the column.
     * It accepts either template string or HTML element ID.
     *
     * @default null
     */
    template: string;
    /**
     * Defines the alignment of the column in both header and content cells.
     *
     * @default Syncfusion.EJ2.Grids.grids.TextAlign.Left
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.TextAlign
     */
    textAlign: grids.TextAlign;
    /**
     * Defines the method used to apply custom cell values from external function and display this on each cell rendered.
     *
     * @default null
     */
    valueAccessor: grids.ValueAccessor | string;
    /**
     * If `visible` is set to false, hides the particular column. By default, columns are displayed.
     *
     * @default true
     */
    visible: boolean;
    /**
     * Defines the width of the column in pixels or percentage.
     *
     * @default null
     */
    width: string | number;
    /**
     * If `isPrimaryKey` is set to true, considers this column as the primary key constraint.
     *
     * @default false
     */
    isPrimaryKey: boolean;
    /**
     * Defines the `grids.IEditCell` object to customize default edit cell.
     *
     * @default {}
     */
    edit: grids.IEditCell;
    constructor(options: ColumnModel);
}
/**
 * Interface for a class GanttColumn
 */
export interface ColumnModel {
    /**
     * If `allowEditing` set to false, then it disables editing of a particular column.
     * By default all columns are editable.
     *
     * @default true
     */
    allowEditing?: boolean;
    /**
     * If `allowReordering` set to false, then it disables reorder of a particular column.
     * By default all columns can be reorder.
     *
     * @default true
     */
    allowReordering?: boolean;
    /**
     * If `allowResizing` is set to false, it disables resize option of a particular column.
     * By default all the columns can be resized.
     *
     * @default true
     */
    allowResizing?: boolean;
    /**
     * If `allowSorting` set to false, then it disables sorting option of a particular column.
     * By default all columns are sortable.
     *
     * @default true
     */
    allowSorting?: boolean;
    /**
     * If `allowFiltering` set to false, then it disables filtering option and filter bar element of a particular column.
     * By default all columns are filterable.
     *
     * @default true
     */
    allowFiltering?: boolean;
    /**
     * It is used to customize the default filter options for a specific columns.
     * * ui - to render custom component for specific column it has following functions.
     * * ui.create – It is used for creating custom components.
     * * ui.read -  It is used for read the value from the component.
     * * ui.write - It is used to apply component model as dynamically.
     *
     * @default null
     */
    filter?: grids.IFilter;
    /**
     * Defines the cell content's overflow mode. The available modes are
     * * `Clip` -  Truncates the cell content when it overflows its area.
     * * `Ellipsis` -  Displays ellipsis when the cell content overflows its area.
     * * `EllipsisWithTooltip` - Displays ellipsis when the cell content overflows its area
     * also it will display tooltip while hover on ellipsis applied cell.
     *
     * @default Syncfusion.EJ2.Grids.grids.ClipMode.EllipsisWithTooltip
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.ClipMode
     */
    clipMode?: grids.ClipMode;
    /**
     * The CSS styles and attributes of the content cells of a particular column can be customized.
     *
     * @default null
     */
    customAttributes?: {
        [x: string]: Object;
    };
    /**
     * If `disableHtmlEncode` is set to true, it encodes the HTML of the header and content cells.
     *
     * @default false
     */
    disableHtmlEncode?: boolean;
    /**
     * If `displayAsCheckBox` is set to true, it displays the column value as a check box instead of Boolean value.
     *
     * @default false
     */
    displayAsCheckBox?: boolean;
    /**
     * Defines the field name of column which is mapped with mapping name of DataSource.
     * The `field` name must be a valid JavaScript identifier,
     * the first character must be an alphabet and should not contain spaces and special characters.
     *
     * @default null
     */
    field?: string;
    /**
     * Defines the type of component for editing.
     *
     * @default 'stringedit'
     */
    editType?: string;
    /**
     * It is used to change display value with the given format and does not affect the original data.
     * Gets the format from the user which can be standard or custom
     * [`number`](../../../common/internationalization/#number-formatting)
     * and [`date`](../../../common/internationalization/#formatting) formats.
     *
     * @default null
     * @aspType string
     */
    format?: string | base.NumberFormatOptions | base.DateFormatOptions;
    /**
     * Defines the method which is used to achieve custom formatting from an external function.
     * This function triggers before rendering of each cell.
     *
     * @default null
     */
    formatter?: {
        new (): IGanttCellFormatter;
    } | Function | IGanttCellFormatter;
    /**
     * Defines the header template as string or HTML element ID which is used to add customized element in the column header.
     *
     * @default null
     */
    headerTemplate?: string;
    /**
     * Defines the header text of column which is used to display in column header.
     * If `headerText` is not defined, then field name value will be assigned to header text.
     *
     * @default null
     */
    headerText?: string;
    /**
     * Define the alignment of column header which is used to align the text of column header.
     *
     * @default Syncfusion.EJ2.Grids.grids.TextAlign.Left
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.TextAlign
     */
    headerTextAlign?: grids.TextAlign;
    /**
     * Column visibility can change based on [`Media Queries`](http://cssmediaqueries.com/what-are-css-media-queries.html).
     * `hideAtMedia` accepts only valid Media Queries.
     *
     * @default null
     */
    hideAtMedia?: string;
    /**
     * Defines the maximum width of the column in pixel or percentage, which will restrict resizing beyond this pixel or percentage.
     *
     * @default null
     */
    maxWidth?: string | number;
    /**
     * Defines the minimum width of the column in pixels or percentage.
     *
     * @default null
     */
    minWidth?: string | number;
    /**
     * Defines the column template that renders customized element in each cell of the column.
     * It accepts either template string or HTML element ID.
     *
     * @default null
     */
    template?: string;
    /**
     * Defines the alignment of the column in both header and content cells.
     *
     * @default Syncfusion.EJ2.Grids.grids.TextAlign.Left
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.TextAlign
     */
    textAlign?: grids.TextAlign;
    /**
     * Defines the method used to apply custom cell values from external function and display this on each cell rendered.
     *
     * @default null
     */
    valueAccessor?: grids.ValueAccessor | string;
    /**
     * If `visible` is set to false, hides the particular column. By default, columns are displayed.
     *
     * @default true
     */
    visible?: boolean;
    /**
     * Defines the width of the column in pixels or percentage.
     *
     * @default null
     */
    width?: string | number;
    /**
     * If `isPrimaryKey` is set to true, considers this column as the primary key constraint.
     *
     * @default false
     */
    isPrimaryKey?: boolean;
    /**
     * Defines the `grids.IEditCell` object to customize default edit cell.
     *
     * @default {}
     */
    edit?: grids.IEditCell;
    /**
     * To define column type.
     *
     * @private
     */
    type?: string;
    /**
     * Defines the sort comparer property.
     *
     * @default null
     */
    sortComparer?: grids.SortComparer | string;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/models/day-working-time-model.d.ts
/**
 * Interface for a class DayWorkingTime
 */
export interface DayWorkingTimeModel {
    /**
     * Defines start time of working time range.
     *
     * @default null
     */
    from?: number;
    /**
     * Defines end time of working time range.
     *
     * @default null
     */
    to?: number;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/models/day-working-time.d.ts
/**
 * Defines working time of day in project.
 */
export  class DayWorkingTime extends base.ChildProperty<DayWorkingTime> {
    /**
     * Defines start time of working time range.
     *
     * @default null
     */
    from: number;
    /**
     * Defines end time of working time range.
     *
     * @default null
     */
    to: number;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/models/edit-dialog-field-settings-model.d.ts
/**
 * Interface for a class EditDialogFieldSettings
 */
export interface EditDialogFieldSettingsModel {
    /**
     * Defines types of tab which contains editor for columns.
     * * `General` - Defines tab container type as general.
     * * `Dependency` - Defines tab as dependency editor.
     * * `Resources` - Defines tab as resources editor.
     * * `Notes` - Defines tab as notes editor.
     * * `Custom` - Defines tab as custom column editor.
     *
     * @default null
     */
    type?: DialogFieldType;
    /**
     * Defines header text of tab item.
     *
     * @default null
     */
    headerText?: string;
    /**
     * Defines edited column fields placed inside the tab.
     *
     * @default null
     */
    fields?: string[];
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/models/edit-dialog-field-settings.d.ts
/**
 * Defines dialog fields of edit dialog.
 */
export  class EditDialogFieldSettings extends base.ChildProperty<EditDialogFieldSettings> {
    /**
     * Defines types of tab which contains editor for columns.
     * * `General` - Defines tab container type as general.
     * * `Dependency` - Defines tab as dependency editor.
     * * `Resources` - Defines tab as resources editor.
     * * `Notes` - Defines tab as notes editor.
     * * `Custom` - Defines tab as custom column editor.
     *
     * @default null
     */
    type: DialogFieldType;
    /**
     * Defines header text of tab item.
     *
     * @default null
     */
    headerText: string;
    /**
     * Defines edited column fields placed inside the tab.
     *
     * @default null
     */
    fields: string[];
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/models/edit-settings-model.d.ts
/**
 * Interface for a class EditSettings
 */
export interface EditSettingsModel {
    /**
     * If `allowEditing` is set to true, values can be updated in the existing record.
     *
     * @default false
     */
    allowEditing?: boolean;
    /**
     * If `allowAdding` is set to true, new records can be added to the Gantt.
     *
     * @default false
     */
    allowAdding?: boolean;
    /**
     * If `allowDeleting` is set to true, existing record can be deleted from the Gantt.
     *
     * @default false
     */
    allowDeleting?: boolean;
    /**
     * Defines edit mode in Gantt.
     * * `Auto` - Defines cell edit mode in grid side and dialog mode in chart side.
     * * `Dialog` - Defines dialog edit mode on both sides.
     *
     * @default Auto
     * @isEnumeration true
     */
    mode?: EditMode;
    /**
     * Defines the row position for new records. The available row positions are:
     * * Top
     * * Bottom
     * * Above
     * * Below
     * * Child
     *
     * @default Top
     */
    newRowPosition?: RowPosition;
    /**
     * If `showDeleteConfirmDialog` is set to true, confirm dialog will show delete action. You can also cancel delete command.
     *
     * @default false
     */
    showDeleteConfirmDialog?: boolean;
    /**
     * Enable or disable the taskbar editing, such as updating start date, end date,
     * progress and dependency tasks values, through user interaction.
     *
     * @default false
     */
    allowTaskbarEditing?: boolean;
    /**
     * If `allowNextRowEdit` is set as true, editing is continued to next row with keyboard navigation.
     *
     * @default false
     */
    allowNextRowEdit?: boolean;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/models/edit-settings.d.ts
/**
 * Configures edit settings of Gantt.
 */
export  class EditSettings extends base.ChildProperty<EditSettings> {
    /**
     * If `allowEditing` is set to true, values can be updated in the existing record.
     *
     * @default false
     */
    allowEditing: boolean;
    /**
     * If `allowAdding` is set to true, new records can be added to the Gantt.
     *
     * @default false
     */
    allowAdding: boolean;
    /**
     * If `allowDeleting` is set to true, existing record can be deleted from the Gantt.
     *
     * @default false
     */
    allowDeleting: boolean;
    /**
     * Defines edit mode in Gantt.
     * * `Auto` - Defines cell edit mode in grid side and dialog mode in chart side.
     * * `Dialog` - Defines dialog edit mode on both sides.
     *
     * @default Auto
     * @isEnumeration true
     */
    mode: EditMode;
    /**
     * Defines the row position for new records. The available row positions are:
     * * Top
     * * Bottom
     * * Above
     * * Below
     * * Child
     *
     * @default Top
     */
    newRowPosition: RowPosition;
    /**
     * If `showDeleteConfirmDialog` is set to true, confirm dialog will show delete action. You can also cancel delete command.
     *
     * @default false
     */
    showDeleteConfirmDialog: boolean;
    /**
     * Enable or disable the taskbar editing, such as updating start date, end date,
     * progress and dependency tasks values, through user interaction.
     *
     * @default false
     */
    allowTaskbarEditing: boolean;
    /**
     * If `allowNextRowEdit` is set as true, editing is continued to next row with keyboard navigation.
     *
     * @default false
     */
    allowNextRowEdit: boolean;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/models/event-marker-model.d.ts
/**
 * Interface for a class EventMarker
 */
export interface EventMarkerModel {
    /**
     * Defines day of event marker.
     *
     * @default null
     */
    day?: Date | string;
    /**
     * Defines label of event marker.
     *
     * @default null
     */
    label?: string;
    /**
     * Define custom css class for event marker to customize line and label.
     *
     * @default null
     */
    cssClass?: string;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/models/event-marker.d.ts
/**
 * Defines event marker collection in Gantt.
 */
export  class EventMarker extends base.ChildProperty<EventMarker> {
    /**
     * Defines day of event marker.
     *
     * @default null
     */
    day: Date | string;
    /**
     * Defines label of event marker.
     *
     * @default null
     */
    label: string;
    /**
     * Define custom css class for event marker to customize line and label.
     *
     * @default null
     */
    cssClass: string;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/models/filter-settings-model.d.ts
/**
 * Interface for a class FilterSettings
 */
export interface FilterSettingsModel {
    /**
     * Specifies the columns to be filtered at initial rendering of the Gantt.
     * You can also get the columns that were currently filtered.
     *
     * @default []
     */
    columns?: grids.PredicateModel[];
    /**
     * Defines filter type of Gantt.
     * * `Menu` - Enables menu filters in Grid.
     *
     * @default Menu
     */
    type?: FilterType;
    /**
     * The `operators` is used to override the default operators in filter menu. This should be defined by type wise
     * (string, number, date and boolean). Based on the column type, this customize operator list will render in filter menu.
     *
     * @default null
     */
    operators?: grids.ICustomOptr;
    /**
     * If ignoreAccent set to true, then filter ignores the diacritic characters or accents while filtering.
     *
     * @default false
     */
    ignoreAccent?: boolean;
    /**
     * Defines the filter types. The available options are,
     * `Parent`: Shows the filtered record with parent record.
     * `Child`: Shows the filtered record with child record.
     * `Both` : shows the filtered record with both parent and child record.
     * `None` : Shows only filtered record.
     *
     * @default Parent
     * @isEnumeration true
     */
    hierarchyMode?: FilterHierarchyMode;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/models/filter-settings.d.ts
/**
 * Configures the filtering behavior of the Gantt.
 */
export  class FilterSettings extends base.ChildProperty<FilterSettings> {
    /**
     * Specifies the columns to be filtered at initial rendering of the Gantt.
     * You can also get the columns that were currently filtered.
     *
     * @default []
     */
    columns: grids.PredicateModel[];
    /**
     * Defines filter type of Gantt.
     * * `Menu` - Enables menu filters in Grid.
     *
     * @default Menu
     */
    type: FilterType;
    /**
     * The `operators` is used to override the default operators in filter menu. This should be defined by type wise
     * (string, number, date and boolean). Based on the column type, this customize operator list will render in filter menu.
     *
     * @default null
     */
    operators: grids.ICustomOptr;
    /**
     * If ignoreAccent set to true, then filter ignores the diacritic characters or accents while filtering.
     *
     * @default false
     */
    ignoreAccent: boolean;
    /**
     * Defines the filter types. The available options are,
     * `Parent`: Shows the filtered record with parent record.
     * `Child`: Shows the filtered record with child record.
     * `Both` : shows the filtered record with both parent and child record.
     * `None` : Shows only filtered record.
     *
     * @default Parent
     * @isEnumeration true
     */
    hierarchyMode: FilterHierarchyMode;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/models/holiday-model.d.ts
/**
 * Interface for a class Holiday
 */
export interface HolidayModel {
    /**
     * Defines start date of holiday.
     *
     * @default null
     */
    from?: Date | string;
    /**
     * Defines end date of holiday.
     *
     * @default null
     */
    to?: Date | string;
    /**
     * Defines label of holiday.
     *
     * @default null
     */
    label?: string;
    /**
     * Defines custom css class of holiday to customize background and label.
     *
     * @default null
     */
    cssClass?: string;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/models/holiday.d.ts
/**
 * Defines holidays of project.
 */
export  class Holiday extends base.ChildProperty<Holiday> {
    /**
     * Defines start date of holiday.
     *
     * @default null
     */
    from: Date | string;
    /**
     * Defines end date of holiday.
     *
     * @default null
     */
    to: Date | string;
    /**
     * Defines label of holiday.
     *
     * @default null
     */
    label: string;
    /**
     * Defines custom css class of holiday to customize background and label.
     *
     * @default null
     */
    cssClass: string;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/models/label-settings-model.d.ts
/**
 * Interface for a class LabelSettings
 */
export interface LabelSettingsModel {
    /**
     * Defines right side label of task.
     *
     * @default null
     */
    rightLabel?: string;
    /**
     * Defines left side label of task.
     *
     * @default null
     */
    leftLabel?: string;
    /**
     * Defines label which is placed inside the taskbar.
     *
     * @default null
     */
    taskLabel?: string;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/models/label-settings.d.ts
/**
 * Defines labels for task, this will be placed right, left and inner side of taskbar.
 */
export  class LabelSettings extends base.ChildProperty<LabelSettings> {
    /**
     * Defines right side label of task.
     *
     * @default null
     */
    rightLabel: string;
    /**
     * Defines left side label of task.
     *
     * @default null
     */
    leftLabel: string;
    /**
     * Defines label which is placed inside the taskbar.
     *
     * @default null
     */
    taskLabel: string;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/models/models.d.ts
/**
 * Export all generated models for complex settings
 */
//node_modules/@syncfusion/ej2-gantt/src/gantt/models/resource-fields-model.d.ts
/**
 * Interface for a class ResourceFields
 */
export interface ResourceFieldsModel {
    /**
     * To map id of resource from resource collection.
     *
     * @default null
     */
    id?: string;
    /**
     * To map name of resource from resource collection.
     *
     * @default null
     */
    name?: string;
    /**
     * To map unit of resource from resource collection.
     *
     * @default null
     */
    unit?: string;
    /**
     * To map group of resource from resource collection.
     *
     * @default null
     */
    group?: string;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/models/resource-fields.d.ts
/**
 * Defines mapping property to get resource details from resource collection.
 */
export  class ResourceFields extends base.ChildProperty<ResourceFields> {
    /**
     * To map id of resource from resource collection.
     *
     * @default null
     */
    id: string;
    /**
     * To map name of resource from resource collection.
     *
     * @default null
     */
    name: string;
    /**
     * To map unit of resource from resource collection.
     *
     * @default null
     */
    unit: string;
    /**
     * To map group of resource from resource collection.
     *
     * @default null
     */
    group: string;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/models/search-settings-model.d.ts
/**
 * Interface for a class SearchSettings
 */
export interface SearchSettingsModel {
    /**
     * Specifies the columns to be searched at initial rendering of the Gantt.
     * You can also get the columns that were currently filtered.
     *
     * @default []
     */
    fields?: string[];
    /**
     * If ignoreCase set to true, then search ignores the diacritic characters or accents while filtering.
     *
     * @default false
     */
    ignoreCase?: boolean;
    /**
     * Defines the operator to search records. The available operators are:
     * <table>
     * <tr>
     * <td colspan=1 rowspan=1>
     * Operator<br/></td><td colspan=1 rowspan=1>
     * Description<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * startswith<br/></td><td colspan=1 rowspan=1>
     * Checks whether the string begins with the specified string.<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * endswith<br/></td><td colspan=1 rowspan=1>
     * Checks whether the string ends with the specified string.<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * contains<br/></td><td colspan=1 rowspan=1>
     * Checks whether the string contains the specified string. <br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * equal<br/></td><td colspan=1 rowspan=1>
     * Checks whether the string is equal to the specified string.<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * notequal<br/></td><td colspan=1 rowspan=1>
     * Checks for strings not equal to the specified string. <br/></td></tr>
     * </table>
     *
     * @default 'contains'
     */
    operator?: string;
    /**
     * A key word for searching the Gantt content.
     */
    key?: string;
    /**
     * Defines the search types. The available options are,
     * `Parent`: Shows the searched record with parent record.
     * `Child`: Shows the searched record with child record.
     * `Both` : shows the searched record with both parent and child record.
     * `None` : Shows only searched record.
     *
     * @default Parent
     * @isEnumeration true
     */
    hierarchyMode?: SearchHierarchyMode;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/models/search-settings.d.ts
/**
 * Configures the searching behavior of the Gantt.
 */
export  class SearchSettings extends base.ChildProperty<SearchSettings> {
    /**
     * Specifies the columns to be searched at initial rendering of the Gantt.
     * You can also get the columns that were currently filtered.
     *
     * @default []
     */
    fields: string[];
    /**
     * If ignoreCase set to true, then search ignores the diacritic characters or accents while filtering.
     *
     * @default false
     */
    ignoreCase: boolean;
    /**
     * Defines the operator to search records. The available operators are:
     * <table>
     * <tr>
     * <td colspan=1 rowspan=1>
     * Operator<br/></td><td colspan=1 rowspan=1>
     * Description<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * startswith<br/></td><td colspan=1 rowspan=1>
     * Checks whether the string begins with the specified string.<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * endswith<br/></td><td colspan=1 rowspan=1>
     * Checks whether the string ends with the specified string.<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * contains<br/></td><td colspan=1 rowspan=1>
     * Checks whether the string contains the specified string. <br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * equal<br/></td><td colspan=1 rowspan=1>
     * Checks whether the string is equal to the specified string.<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * notequal<br/></td><td colspan=1 rowspan=1>
     * Checks for strings not equal to the specified string. <br/></td></tr>
     * </table>
     *
     * @default 'contains'
     */
    operator: string;
    /**
     * A key word for searching the Gantt content.
     */
    key: string;
    /**
     * Defines the search types. The available options are,
     * `Parent`: Shows the searched record with parent record.
     * `Child`: Shows the searched record with child record.
     * `Both` : shows the searched record with both parent and child record.
     * `None` : Shows only searched record.
     *
     * @default Parent
     * @isEnumeration true
     */
    hierarchyMode: SearchHierarchyMode;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/models/selection-settings-model.d.ts
/**
 * Interface for a class SelectionSettings
 */
export interface SelectionSettingsModel {
    /**
     * Gantt supports row, cell, and both (row and cell) selection mode.
     *
     * @default Syncfusion.EJ2.Grids.grids.SelectionMode.Row
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.SelectionMode
     */
    mode?: grids.SelectionMode;
    /**
     * To define selection mode of cell.
     *
     * @default Syncfusion.EJ2.Grids.grids.CellSelectionMode.Flow
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.CellSelectionMode
     */
    cellSelectionMode?: grids.CellSelectionMode;
    /**
     * Defines options for selection type. They are
     * * `Single`: Allows selection of only a row or a cell.
     * * `Multiple`: Allows selection of multiple rows or cells.
     *
     * @default Syncfusion.EJ2.Grids.grids.SelectionType.Single
     * @aspDefaultValueIgnore
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.SelectionType
     */
    type?: grids.SelectionType;
    /**
     * If 'persistSelection' set to true, then the Gantt selection is persisted on all operations.
     *
     * @default false
     */
    persistSelection?: boolean;
    /**
     * If 'enableToggle' set to true, then the user can able to perform toggle for the selected row.
     *
     * @default false
     */
    enableToggle?: boolean;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/models/selection-settings.d.ts
/**
 * Configures the selection behavior of the Gantt.
 */
export  class SelectionSettings extends base.ChildProperty<SelectionSettings> {
    /**
     * Gantt supports row, cell, and both (row and cell) selection mode.
     *
     * @default Syncfusion.EJ2.Grids.grids.SelectionMode.Row
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.SelectionMode
     */
    mode: grids.SelectionMode;
    /**
     * To define selection mode of cell.
     *
     * @default Syncfusion.EJ2.Grids.grids.CellSelectionMode.Flow
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.CellSelectionMode
     */
    cellSelectionMode: grids.CellSelectionMode;
    /**
     * Defines options for selection type. They are
     * * `Single`: Allows selection of only a row or a cell.
     * * `Multiple`: Allows selection of multiple rows or cells.
     *
     * @default Syncfusion.EJ2.Grids.grids.SelectionType.Single
     * @aspDefaultValueIgnore
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.SelectionType
     */
    type: grids.SelectionType;
    /**
     * If 'persistSelection' set to true, then the Gantt selection is persisted on all operations.
     *
     * @default false
     */
    persistSelection: boolean;
    /**
     * If 'enableToggle' set to true, then the user can able to perform toggle for the selected row.
     *
     * @default false
     */
    enableToggle: boolean;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/models/sort-settings-model.d.ts
/**
 * Interface for a class SortDescriptor
 */
export interface SortDescriptorModel {
    /**
     * Defines the field name of sort column.
     *
     * @default ''
     */
    field?: string;
    /**
     * Defines the direction of sort column.
     *
     * @default null
     * @isEnumeration true
     *
     */
    direction?: SortDirection;
}
/**
 * Interface for a class SortSettings
 */
export interface SortSettingsModel {
    /**
     * Specifies the columns to sort at initial rendering of Gantt.
     * Also user can get current sorted columns.
     *
     * @default []
     */
    columns?: SortDescriptorModel[];
    /**
     * If `allowUnsort` set to false the user can not get the Tree grid in unsorted state by clicking the sorted column header.
     *
     * @default true
     */
    allowUnsort?: boolean;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/models/sort-settings.d.ts
/**
 * Represents the field name and direction of sort column.
 */
export  class SortDescriptor extends base.ChildProperty<SortDescriptor> {
    /**
     * Defines the field name of sort column.
     *
     * @default ''
     */
    field: string;
    /**
     * Defines the direction of sort column.
     *
     * @default null
     * @isEnumeration true
     *
     */
    direction: SortDirection;
}
/**
 * Configures the sorting behavior of Gantt.
 */
export  class SortSettings extends base.ChildProperty<SortSettings> {
    /**
     * Specifies the columns to sort at initial rendering of Gantt.
     * Also user can get current sorted columns.
     *
     * @default []
     */
    columns: SortDescriptorModel[];
    /**
     * If `allowUnsort` set to false the user can not get the Tree grid in unsorted state by clicking the sorted column header.
     *
     * @default true
     */
    allowUnsort: boolean;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/models/splitter-settings-model.d.ts
/**
 * Interface for a class SplitterSettings
 */
export interface SplitterSettingsModel {
    /**
     * Defines splitter position at initial load, it accepts values in pixels.
     *
     * @default null
     */
    position?: string;
    /**
     * Defines splitter position with respect to column index value.
     * If `columnIndex` set as `2` then splitter bar placed at third column of grid.
     *
     * @default -1
     */
    columnIndex?: number;
    /**
     * Defines splitter bar size
     *
     * @default 4
     */
    separatorSize?: number;
    /**
     * Defines minimum width of Grid part, splitter can't be moved less than this value on grid side.
     *
     * @default null
     */
    minimum?: string;
    /**
     * Defines predefined view of Gantt.
     * * `Default` - Shows grid side and side of Gantt.
     * * `Grid` - Shows grid side alone in Gantt.
     * * `Chart` - Shows chart side alone in Gantt.
     *
     * @default Default
     */
    view?: SplitterView;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/models/splitter-settings.d.ts
/**
 * Configures splitter position and splitter bar.
 */
export  class SplitterSettings extends base.ChildProperty<SplitterSettings> {
    /**
     * Defines splitter position at initial load, it accepts values in pixels.
     *
     * @default null
     */
    position: string;
    /**
     * Defines splitter position with respect to column index value.
     * If `columnIndex` set as `2` then splitter bar placed at third column of grid.
     *
     * @default -1
     */
    columnIndex: number;
    /**
     * Defines splitter bar size
     *
     * @default 4
     */
    separatorSize: number;
    /**
     * Defines minimum width of Grid part, splitter can't be moved less than this value on grid side.
     *
     * @default null
     */
    minimum: string;
    /**
     * Defines predefined view of Gantt.
     * * `Default` - Shows grid side and side of Gantt.
     * * `Grid` - Shows grid side alone in Gantt.
     * * `Chart` - Shows chart side alone in Gantt.
     *
     * @default Default
     */
    view: SplitterView;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/models/task-fields-model.d.ts
/**
 * Interface for a class TaskFields
 */
export interface TaskFieldsModel {
    /**
     * To map id of task from data source.
     *
     * @default null
     */
    id?: string;
    /**
     * To map name of task from data source.
     *
     * @default null
     */
    name?: string;
    /**
     * To map parent id of task from data source.
     *
     * @default null
     */
    parentID?: string;
    /**
     * To map start date of task from data source.
     *
     * @default null
     */
    startDate?: string;
    /**
     * To map end date of task from data source.
     *
     * @default null
     */
    endDate?: string;
    /**
     * To map dependency of task from data source.
     *
     * @default null
     */
    dependency?: string;
    /**
     * To map progress of task from data source.
     *
     * @default null
     */
    progress?: string;
    /**
     * To map child of task from data source.
     *
     * @default null
     */
    child?: string;
    /**
     * To map milestone of task from data source.
     *
     * @default null
     */
    milestone?: string;
    /**
     * To map duration of task from data source.
     *
     * @default null
     */
    duration?: string;
    /**
     * To map duration unit of task from data source.
     *
     */
    durationUnit?: string;
    /**
     * To map custom css class of task from data source.
     *
     */
    cssClass?: string;
    /**
     * To map baseline start date of task from data source.
     *
     */
    baselineStartDate?: string;
    /**
     * To map baseline end date of task from data source.
     *
     */
    baselineEndDate?: string;
    /**
     * To map assigned resources of task from data source.
     *
     */
    resourceInfo?: string;
    /**
     * To map expand status of parent record from data source.
     *
     */
    expandState?: string;
    /**
     * To map indicators of task from data source.
     *
     * @default null
     */
    indicators?: string;
    /**
     * To map notes value of task from data source.
     *
     * @default null
     */
    notes?: string;
    /**
     * To map work of task from data source.
     *
     * @default null
     */
    work?: string;
    /**
     * To map schedule mode of task from data source.
     *
     * @default null
     */
    manual?: string;
    /**
     * To map taskType value of task from data source
     *
     * @default null
     */
    type?: string;
    /**
     * To map segments details of a task from data source
     *
     * @default null
     */
    segments?: string;
    /**
     * To map segment id details of a task from data source
     *
     * @default null
     */
    segmentId?: string;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/models/task-fields.d.ts
/**
 * Defines mapping property to get task details from data source.
 */
export  class TaskFields extends base.ChildProperty<TaskFields> {
    /**
     * To map id of task from data source.
     *
     * @default null
     */
    id: string;
    /**
     * To map name of task from data source.
     *
     * @default null
     */
    name: string;
    /**
     * To map parent id of task from data source.
     *
     * @default null
     */
    parentID: string;
    /**
     * To map start date of task from data source.
     *
     * @default null
     */
    startDate: string;
    /**
     * To map end date of task from data source.
     *
     * @default null
     */
    endDate: string;
    /**
     * To map dependency of task from data source.
     *
     * @default null
     */
    dependency: string;
    /**
     * To map progress of task from data source.
     *
     * @default null
     */
    progress: string;
    /**
     * To map child of task from data source.
     *
     * @default null
     */
    child: string;
    /**
     * To map milestone of task from data source.
     *
     * @default null
     */
    milestone: string;
    /**
     * To map duration of task from data source.
     *
     * @default null
     */
    duration: string;
    /**
     * To map duration unit of task from data source.
     *
     */
    durationUnit: string;
    /**
     * To map custom css class of task from data source.
     *
     */
    cssClass: string;
    /**
     * To map baseline start date of task from data source.
     *
     */
    baselineStartDate: string;
    /**
     * To map baseline end date of task from data source.
     *
     */
    baselineEndDate: string;
    /**
     * To map assigned resources of task from data source.
     *
     */
    resourceInfo: string;
    /**
     * To map expand status of parent record from data source.
     *
     */
    expandState: string;
    /**
     * To map indicators of task from data source.
     *
     * @default null
     */
    indicators: string;
    /**
     * To map notes value of task from data source.
     *
     * @default null
     */
    notes: string;
    /**
     * To map work of task from data source.
     *
     * @default null
     */
    work: string;
    /**
     * To map schedule mode of task from data source.
     *
     * @default null
     */
    manual: string;
    /**
     * To map taskType value of task from data source
     *
     * @default null
     */
    type: string;
    /**
     * To map segments details of a task from data source
     *
     * @default null
     */
    segments: string;
    /**
     * To map segment id details of a task from data source
     *
     * @default null
     */
    segmentId: string;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/models/timeline-settings-model.d.ts
/**
 * Interface for a class TimelineTierSettings
 */
export interface TimelineTierSettingsModel {
    /**
     * Defines timeline cell format.
     *
     * @default ''
     */
    format?: string;
    /**
     * Defines timeline mode of Gantt header.
     * * `None` - Default.
     * * `Week` - Define the week mode header.
     * * `Day` - Define the day mode header.
     * * `Hour` - Define the hour mode header.
     * * `Month` - Define the month mode header.
     * * `Year` - Define the year mode header.
     * * `Minutes` - Define the minutes mode header.
     *
     * @default 'None'
     */
    unit?: TimelineViewMode;
    /**
     * Defines number of timeline units combined for single cell.
     *
     * @default 1
     */
    count?: number;
    /**
     * Defines method to get custom formatted values of timeline cells.
     *
     * @default null
     */
    formatter?: string | ITimelineFormatter;
}
/**
 * Interface for a class TimelineSettings
 */
export interface TimelineSettingsModel {
    /**
     * Defines timeline mode of Gantt header.
     * * `None` - Default.
     * * `Week` - Define the week mode header.
     * * `Day` - Define the day mode header.
     * * `Hour` - Define the hour mode header.
     * * `Month` - Define the month mode header.
     * * `Year` - Define the year mode header.
     * * `Minutes` - Define the minutes mode header.
     *
     * @default 'None'
     */
    timelineViewMode?: TimelineViewMode;
    /**
     * Defines top tier setting in timeline.
     */
    topTier?: TimelineTierSettingsModel;
    /**
     * Defines bottom tier settings in timeline.
     */
    bottomTier?: TimelineTierSettingsModel;
    /**
     * Defines width of timeline cell.
     *
     * @default 33
     */
    timelineUnitSize?: number;
    /**
     * Defines week start day in timeline.
     *
     * @default 0
     */
    weekStartDay?: number;
    /**
     * Defines background color of weekend cell in week - day timeline mode.
     *
     * @default null
     */
    weekendBackground?: string;
    /**
     * Enables or disables tooltip for timeline cells.
     *
     * @default true
     */
    showTooltip?: boolean;
    /**
     * Enables or disables timeline auto update on editing action.
     *
     * @default true
     */
    updateTimescaleView?: boolean;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/models/timeline-settings.d.ts
/**
 * Configures timeline settings of Gantt.
 */
export  class TimelineTierSettings extends base.ChildProperty<TimelineTierSettings> {
    /**
     * Defines timeline cell format.
     *
     * @default ''
     */
    format: string;
    /**
     * Defines timeline mode of Gantt header.
     * * `None` - Default.
     * * `Week` - Define the week mode header.
     * * `Day` - Define the day mode header.
     * * `Hour` - Define the hour mode header.
     * * `Month` - Define the month mode header.
     * * `Year` - Define the year mode header.
     * * `Minutes` - Define the minutes mode header.
     *
     * @default 'None'
     */
    unit: TimelineViewMode;
    /**
     * Defines number of timeline units combined for single cell.
     *
     * @default 1
     */
    count: number;
    /**
     * Defines method to get custom formatted values of timeline cells.
     *
     * @default null
     */
    formatter: string | ITimelineFormatter;
}
/**
 * Configures the timeline settings property in the Gantt.
 */
export  class TimelineSettings extends base.ChildProperty<TimelineSettings> {
    /**
     * Defines timeline mode of Gantt header.
     * * `None` - Default.
     * * `Week` - Define the week mode header.
     * * `Day` - Define the day mode header.
     * * `Hour` - Define the hour mode header.
     * * `Month` - Define the month mode header.
     * * `Year` - Define the year mode header.
     * * `Minutes` - Define the minutes mode header.
     *
     * @default 'None'
     */
    timelineViewMode: TimelineViewMode;
    /**
     * Defines top tier setting in timeline.
     */
    topTier: TimelineTierSettingsModel;
    /**
     * Defines bottom tier settings in timeline.
     */
    bottomTier: TimelineTierSettingsModel;
    /**
     * Defines width of timeline cell.
     *
     * @default 33
     */
    timelineUnitSize: number;
    /**
     * Defines week start day in timeline.
     *
     * @default 0
     */
    weekStartDay: number;
    /**
     * Defines background color of weekend cell in week - day timeline mode.
     *
     * @default null
     */
    weekendBackground: string;
    /**
     * Enables or disables tooltip for timeline cells.
     *
     * @default true
     */
    showTooltip: boolean;
    /**
     * Enables or disables timeline auto update on editing action.
     *
     * @default true
     */
    updateTimescaleView: boolean;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/models/tooltip-settings-model.d.ts
/**
 * Interface for a class TooltipSettings
 */
export interface TooltipSettingsModel {
    /**
     * Enables or disables tooltip of Gantt element.
     *
     * @default true
     */
    showTooltip?: boolean;
    /**
     * Defines tooltip template for taskbar elements.
     *
     * @default null
     */
    taskbar?: string;
    /**
     * Defines template for baseline tooltip element.
     *
     * @default null
     */
    baseline?: string;
    /**
     * Defines template for dependency line tooltip.
     *
     * @default null
     */
    connectorLine?: string;
    /**
     * Defines tooltip template for taskbar editing action.
     *
     * @default null
     */
    editing?: string;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/models/tooltip-settings.d.ts
/**
 * Configures tooltip settings for Gantt.
 */
export  class TooltipSettings extends base.ChildProperty<TooltipSettings> {
    /**
     * Enables or disables tooltip of Gantt element.
     *
     * @default true
     */
    showTooltip: boolean;
    /**
     * Defines tooltip template for taskbar elements.
     *
     * @default null
     */
    taskbar: string;
    /**
     * Defines template for baseline tooltip element.
     *
     * @default null
     */
    baseline: string;
    /**
     * Defines template for dependency line tooltip.
     *
     * @default null
     */
    connectorLine: string;
    /**
     * Defines tooltip template for taskbar editing action.
     *
     * @default null
     */
    editing: string;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/renderer/chart-rows.d.ts
/**
 * To render the chart rows in Gantt
 */
export  class ChartRows extends DateProcessor {
    ganttChartTableBody: Element;
    taskTable: HTMLElement;
    protected parent: Gantt;
    taskBarHeight: number;
    milestoneHeight: number;
    private milesStoneRadius;
    private baselineTop;
    baselineHeight: number;
    private baselineColor;
    private parentTaskbarTemplateFunction;
    private leftTaskLabelTemplateFunction;
    private rightTaskLabelTemplateFunction;
    private taskLabelTemplateFunction;
    private childTaskbarTemplateFunction;
    private milestoneTemplateFunction;
    private templateData;
    private touchLeftConnectorpoint;
    private touchRightConnectorpoint;
    connectorPointWidth: number;
    private connectorPointMargin;
    taskBarMarginTop: number;
    milestoneMarginTop: number;
    private dropSplit;
    private refreshedTr;
    private refreshedData;
    private isUpdated;
    constructor(ganttObj?: Gantt);
    /**
     * To initialize the public property.
     *
     * @returns {void}
     * @private
     */
    private initPublicProp;
    private addEventListener;
    refreshChartByTimeline(): void;
    /**
     * To render chart rows.
     *
     * @returns {void}
     * @private
     */
    private createChartTable;
    initiateTemplates(): void;
    /**
     * To render chart rows.
     *
     * @returns {void}
     * @private
     */
    renderChartRows(): void;
    /**
     * To get gantt Indicator.
     *
     * @param {IIndicator} indicator .
     * @returns {NodeList} .
     * @private
     */
    private getIndicatorNode;
    /**
     * To get gantt Indicator.
     *
     * @param {Date | string} date .
     * @returns {number} .
     * @private
     */
    getIndicatorleft(date: Date | string): number;
    /**
     * To get child taskbar Node.
     *
     *  @param {number} i .
     * @param {NodeList} rootElement .
     * @returns {NodeList} .
     * @private
     */
    private getChildTaskbarNode;
    private splitTaskbar;
    private getSplitTaskbarLeftResizerNode;
    private getSplitTaskbarRightResizerNode;
    private getSplitProgressResizerNode;
    getSegmentIndex(splitStartDate: Date, record: IGanttData): number;
    mergeTask(taskId: number | string, segmentIndexes: {
        firstSegmentIndex: number;
        secondSegmentIndex: number;
    }[]): void;
    private refreshChartAfterSegment;
    /**
     * public method to split task bar.
     *
     * @public
     */
    splitTask(taskId: number | string, splitDates: Date | Date[]): void;
    private constructSegments;
    private splitSegmentedTaskbar;
    incrementSegments(segments: ITaskSegment[], segmentIndex: number, ganttData: IGanttData): void;
    /**
     * To get milestone node.
     *
     * @param {number} i .
     * @param {NodeList} rootElement .
     * @returns {NodeList} .
     * @private
     */
    private getMilestoneNode;
    /**
     * To get task baseline Node.
     *
     * @returns {NodeList} .
     * @private
     */
    private getTaskBaselineNode;
    /**
     * To get milestone baseline node.
     *
     * @returns {NodeList} .
     * @private
     */
    private getMilestoneBaselineNode;
    /**
     * To get left label node.
     *
     * @param {number} i .
     * @returns {NodeList} .
     * @private
     */
    private getLeftLabelNode;
    private getLableText;
    /**
     * To get right label node.
     *
     * @param {number} i .
     * @returns {NodeList} .
     * @private
     */
    private getRightLabelNode;
    private getManualTaskbar;
    /**
     * To get parent taskbar node.
     *
     * @param {number} i .
     * @param {NodeList} rootElement .
     * @returns {NodeList} .
     * @private
     */
    private getParentTaskbarNode;
    /**
     * To get taskbar row('TR') node
     *
     * @returns {NodeList} .
     * @private
     */
    private getTableTrNode;
    /**
     * To initialize chart templates.
     *
     * @returns {void}
     * @private
     */
    private initializeChartTemplate;
    private createDivElement;
    private isTemplate;
    /**
     * @param {string} templateName .
     * @returns {string} .
     * @private
     */
    getTemplateID(templateName: string): string;
    private leftLabelContainer;
    private taskbarContainer;
    private rightLabelContainer;
    private childTaskbarLeftResizer;
    private childTaskbarRightResizer;
    private childTaskbarProgressResizer;
    private getLeftPointNode;
    private getRightPointNode;
    /**
     * To get task label.
     *
     * @param {string} field .
     * @returns {string} .
     * @private
     */
    private getTaskLabel;
    private getExpandDisplayProp;
    private getRowClassName;
    private getBorderRadius;
    private getSplitTaskBorderRadius;
    private taskNameWidth;
    private getRightLabelLeft;
    private getExpandClass;
    private getFieldValue;
    private getResourceName;
    /**
     * To initialize private variable help to render task bars.
     *
     * @returns {void}
     * @private
     */
    private initChartHelperPrivateVariable;
    /**
     * Function used to refresh Gantt rows.
     *
     * @returns {void}
     * @private
     */
    refreshGanttRows(): void;
    /**
     * To render taskbars.
     *
     * @returns {void}
     * @private
     */
    private createTaskbarTemplate;
    /**
     * To render taskbars.
     *
     * @param {number} i .
     * @param {IGanttData} tempTemplateData .
     * @returns {Node} .
     * @private
     */
    getGanttChartRow(i: number, tempTemplateData: IGanttData): Node;
    /**
     * To set aria-rowindex for chart rows
     *
     * @returns {void} .
     * @private
     */
    setAriaRowIndex(tempTemplateData: IGanttData, tRow: Node): void;
    /**
     * To trigger query taskbar info event.
     *
     * @returns {void}
     * @private
     */
    triggerQueryTaskbarInfo(): void;
    /**
     *
     * @param {Element} trElement .
     * @param {IGanttData} data .
     * @returns {void} .
     * @private
     */
    triggerQueryTaskbarInfoByIndex(trElement: Element, data: IGanttData): void;
    /**
     * To update query taskbar info args.
     *
     * @param {IQueryTaskbarInfoEventArgs} args .
     * @param {Element} rowElement .
     * @param {Element} taskBarElement .
     * @returns {void}
     * @private
     */
    private updateQueryTaskbarInfoArgs;
    private getClassName;
    /**
     * To compile template string.
     *
     * @param {string} template .
     * @returns {Function} .
     * @private
     */
    templateCompiler(template: string): Function;
    /**
     * To refresh edited TR
     *
     * @param {number} index .
     * @param {boolean} isValidateRange .
     * @returns {void} .
     * @private
     */
    refreshRow(index: number, isValidateRange?: boolean): void;
    private getResourceParent;
    /**
     * To refresh all edited records
     *
     * @param {IGanttData} items .
     * @param {boolean} isValidateRange .
     * @returns {void} .
     * @private
     */
    refreshRecords(items: IGanttData[], isValidateRange?: boolean): void;
    private removeEventListener;
    private destroy;
    private generateAriaLabel;
    private generateBaselineAriaLabel;
    private generateSpiltTaskAriaLabel;
    private generateTaskLabelAriaLabel;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/renderer/connector-line.d.ts
/**
 * To render the connector line in Gantt
 */
export  class ConnectorLine {
    private parent;
    dependencyViewContainer: HTMLElement;
    private lineColor;
    private lineStroke;
    tooltipTable: HTMLElement;
    /**
     * @hidden
     */
    expandedRecords: IGanttData[];
    constructor(ganttObj?: Gantt);
    /**
     * To get connector line gap.
     *
     * @param {IConnectorLineObject} data .
     * @returns {number} .
     * @private
     */
    private getconnectorLineGap;
    /**
     * To initialize the public property.
     *
     * @returns {void}
     * @private
     */
    initPublicProp(): void;
    private getTaskbarMidpoint;
    /**
     * To connector line object collection.
     *
     * @param {IGanttData} parentGanttData .
     * @param {IGanttData} childGanttData .
     * @param {IPredecessor}  predecessor .
     * @returns {void}
     * @private
     */
    createConnectorLineObject(parentGanttData: IGanttData, childGanttData: IGanttData, predecessor: IPredecessor): IConnectorLineObject;
    /**
     * To render connector line.
     *
     * @param {IConnectorLineObject} connectorLinesCollection .
     * @returns {void}
     * @private
     */
    renderConnectorLines(connectorLinesCollection: IConnectorLineObject[]): void;
    /**
     * To get parent position.
     *
     * @param {IConnectorLineObject} data .
     * @returns {void}
     * @private
     */
    private getParentPosition;
    /**
     * To get line height.
     *
     * @param {IConnectorLineObject} data .
     * @returns {void}
     * @private
     */
    private getHeightValue;
    /**
     * To get sstype2 inner element width.
     *
     * @param {IConnectorLineObject} data .
     * @returns {void}
     * @private
     */
    private getInnerElementWidthSSType2;
    /**
     * To get sstype2 inner element left.
     *
     * @param {IConnectorLineObject} data .
     * @returns {void}
     * @private
     */
    private getInnerElementLeftSSType2;
    /**
     * To get sstype2 inner child element width.
     *
     * @param {IConnectorLineObject} data .
     * @returns {void}
     * @private
     */
    private getInnerChildWidthSSType2;
    private getBorderStyles;
    /**
     * To get connector line template.
     *
     * @param {IConnectorLineObject} data .
     * @returns {void}
     * @private
     */
    getConnectorLineTemplate(data: IConnectorLineObject): string;
    /**
     * @param {IConnectorLineObject} data .
     * @param {string} type .
     * @param {number} heightValue .
     * @returns {number} .
     * @private
     */
    private getPosition;
    /**
     * @returns {void} .
     * @private
     */
    createConnectorLineTooltipTable(): void;
    /**
     * @param {string} fromTaskName .
     * @param {string} fromPredecessorText .
     * @param {string} toTaskName .
     * @param {string} toPredecessorText .
     * @returns {string} .
     * @private
     */
    getConnectorLineTooltipInnerTd(fromTaskName: string, fromPredecessorText: string, toTaskName?: string, toPredecessorText?: string): string;
    /**
     * Generate aria-label for connectorline
     *
     * @param {IConnectorLineObject} data .
     * @returns {string} .
     * @private
     */
    generateAriaLabel(data: IConnectorLineObject): string;
    /**
     * To get the record based on the predecessor value
     *
     * @param {string} id .
     * @returns {IGanttData} .
     * @private
     */
    getRecordByID(id: string): IGanttData;
    /**
     * Method to remove connector line from DOM
     *
     * @param {IGanttData[] | object} records .
     * @returns {void} .
     * @private
     */
    removePreviousConnectorLines(records: IGanttData[] | object): void;
    /**
     * @param {string} id .
     * @returns {void} .
     * @private
     */
    removeConnectorLineById(id: string): void;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/renderer/edit-tooltip.d.ts
/**
 * File for handling taskbar editing tooltip in Gantt.
 */
export  class EditTooltip {
    parent: Gantt;
    toolTipObj: popups.Tooltip;
    taskbarTooltipContainer: HTMLElement;
    taskbarTooltipDiv: HTMLElement;
    private taskbarEdit;
    constructor(gantt: Gantt, taskbarEdit: TaskbarEdit);
    /**
     * To create tooltip.
     *
     * @param {string} opensOn .
     * @param {boolean} mouseTrail .
     * @param {string} target .
     * @returns {void}
     * @private
     */
    createTooltip(opensOn: string, mouseTrail: boolean, target?: string): void;
    /**
     * Method to update tooltip position
     *
     * @param {TooltipEventArgs} args .
     * @returns {void} .
     */
    private updateTooltipPosition;
    /**
     * To show/hide taskbar edit tooltip.
     *
     * @param {boolean} bool .
     * @param {number} segmentIndex .
     * @returns {void}
     * @private
     */
    showHideTaskbarEditTooltip(bool: boolean, segmentIndex: number): void;
    /**
     * To update tooltip content and position.
     *
     * @param {number} segmentIndex .
     * @returns {void} .
     * @private
     */
    updateTooltip(segmentIndex: number): void;
    /**
     * To get updated tooltip text.
     *
     * @param {number} segmentIndex .
     * @returns {void} .
     * @private
     */
    private getTooltipText;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/renderer/event-marker.d.ts
/**
 * To render and update event markers in Gantt
 */
export  class EventMarker1 {
    parent: Gantt;
    eventMarkersContainer: HTMLElement;
    constructor(gantt: Gantt);
    /**
     * @returns {void} .
     * @private
     */
    renderEventMarkers(): void;
    /**
     * @returns {void} .
     * @private
     */
    removeContainer(): void;
    /**
     * Method to get event markers as html string
     *
     * @param {HTMLElement} container .
     * @returns {void} .
     */
    private getEventMarkersElements;
    /**
     * @returns {void} .
     * @private
     */
    updateContainerHeight(): void;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/renderer/nonworking-day.d.ts
/**
 * To render holidays and weekends in Gantt
 */
export  class NonWorkingDay {
    private parent;
    nonworkingContainer: HTMLElement;
    private holidayContainer;
    private weekendContainer;
    private weekendWidthUpdated;
    constructor(gantt: Gantt);
    /**
     * Method append nonworking container
     *
     * @returns {void} .
     */
    private createNonworkingContainer;
    /**
     * calculation for holidays rendering.
     *
     * @returns {void} .
     * @private
     */
    renderHolidays(): void;
    /**
     * Method to return holidays as html string
     *
     * @returns {HTMLElement} .
     */
    private getHolidaysElement;
    /**
     * @returns {void} .
     * @private
     */
    renderWeekends(): void;
    /**
     * Method to get weekend html string
     *
     * @returns {HTMLElement} .
     */
    private getWeekendElements;
    private updateHolidayLabelHeight;
    /**
     * Method to update height for all internal containers
     *
     * @returns {void} .
     * @private
     */
    updateContainerHeight(): void;
    /**
     * Method to remove containers of holiday and weekend
     *
     * @returns {void} .
     */
    removeContainers(): void;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/renderer/render.d.ts
/**
 * Add renderer for all individual elements
 */
//node_modules/@syncfusion/ej2-gantt/src/gantt/renderer/timeline.d.ts
/**
 * Configures the `Timeline` of the gantt.
 */
export  class Timeline {
    private parent;
    timelineStartDate: Date;
    timelineEndDate: Date;
    topTierCellWidth: number;
    bottomTierCellWidth: number;
    customTimelineSettings: TimelineSettingsModel;
    chartTimelineContainer: HTMLElement;
    topTier: string;
    bottomTier: string;
    isSingleTier: boolean;
    private previousIsSingleTier;
    timelineRoundOffEndDate: Date;
    totalTimelineWidth: number;
    isZoomIn: boolean;
    isZooming: boolean;
    isZoomToFit: boolean;
    topTierCollection: TimelineFormat[];
    bottomTierCollection: TimelineFormat[];
    constructor(ganttObj?: Gantt);
    /**
     * To initialize the public property.
     *
     * @returns {void}
     * @private
     */
    private initProperties;
    /**
     * To render timeline header series.
     *
     * @returns {void}
     * @private
     */
    validateTimelineProp(): void;
    /**
     * Function used to refresh Gantt rows.
     *
     * @returns {void}
     * @private
     */
    refreshTimeline(): void;
    /**
     * Function used to refresh Gantt rows.
     *
     * @returns {void}
     * @private
     */
    refreshTimelineByTimeSpan(): void;
    /**
     * Function used to refresh Gantt rows.
     *
     * @returns {void}
     * @private
     */
    updateChartByNewTimeline(): void;
    /**
     * Function used to perform Zoomin and Zoomout actions in Gantt control.
     *
     * @param {boolean} isZoomIn .
     * @private
     * @returns {void}
     */
    processZooming(isZoomIn: boolean): void;
    /**
     * To change the timeline settings property values based upon the Zooming levels.
     *
     * @param {ZoomTimelineSettings} newTimeline .
     * @returns {void}
     * @private
     */
    private changeTimelineSettings;
    /**
     * To perform the zoom to fit operation in Gantt.
     *
     * @returns {void}
     * @private
     */
    processZoomToFit(): void;
    private bottomTierCellWidthCalc;
    private roundOffDateToZoom;
    private calculateNumberOfTimelineCells;
    /**
     * To validate time line unit.
     *
     * @returns {void}
     * @private
     */
    processTimelineUnit(): void;
    /**
     * To validate timeline properties.
     *
     * @returns {void}
     * @private
     */
    private processTimelineProperty;
    /**
     * To find the current zooming level of the Gantt control.
     *
     * @returns {void}
     * @private
     */
    calculateZoomingLevelsPerDayWidth(): void;
    /**
     * To find the current zooming level of the Gantt control.
     *
     * @returns {void}
     * @private
     */
    private checkCurrentZoomingLevel;
    /**
     * @param {string} unit .
     * @param {number} count .
     * @returns {number} .
     * @private
     */
    private getCurrentZoomingLevel;
    /**
     * Getting closest zooimg level.
     *
     * @param {string} unit .
     * @param {string} closetUnit .
     * @param {boolean} isCont .
     * @returns {string} .
     * @private
     */
    private getClosestUnit;
    private checkCollectionsWidth;
    /**
     * To create timeline header template.
     *
     * @returns {void}
     * @private
     */
    updateTimelineHeaderHeight(): void;
    /**
     * To create timeline header template.
     *
     * @returns {void}
     * @private
     */
    createTimelineSeries(): void;
    /**
     * To validate timeline tier count.
     *
     * @param {string} mode .
     * @param {number} count .
     * @param {string} tier .
     * @returns {number} .
     * @private
     */
    private validateCount;
    /**
     * To validate bottom tier count.
     *
     * @param {string} mode .
     * @param {number} tierCount .
     * @returns {number} .
     * @private
     */
    private validateBottomTierCount;
    /**
     * To validate timeline tier format.
     *
     * @param {string} mode .
     * @param {string} format .
     * @returns {string} .
     * @private
     */
    private validateFormat;
    /**
     * To perform extend operation.
     *
     * @param {object} cloneObj .
     * @param {string[]} propertyCollection .
     * @param {object} innerProperty .
     * @returns {object} .
     * @private
     */
    extendFunction(cloneObj: Object, propertyCollection: string[], innerProperty?: Object): Object;
    /**
     * To format date.
     *
     * @param {string} dayFormat .
     * @param {Date} data .
     * @returns {string} .
     * @private
     */
    private formatDateHeader;
    /**
     * Custom Formatting.
     *
     * @param {Date} date .
     * @param {string} format .
     * @param {string} tier .
     * @param {string} mode .
     * @param {string | ITimelineFormatter} formatter .
     * @returns {string} .
     * @private
     */
    private customFormat;
    /**
     * To create timeline template .
     *
     * @param {string} tier .
     * @returns {string} .
     * @private
     */
    private createTimelineTemplate;
    updateTimelineAfterZooming(endDate: Date, resized: boolean): void;
    private getTimelineRoundOffEndDate;
    /**
     *
     * @param {Date} startDate .
     * @param {number} count .
     * @param {string} mode .
     * @returns {number} .
     * @private
     */
    getIncrement(startDate: Date, count: number, mode: string): number;
    private checkDate;
    /**
     * Method to find header cell was weekend or not
     *
     * @param {string} mode .
     * @param {string} tier .
     * @param {Date} day .
     * @returns {boolean} .
     */
    private isWeekendHeaderCell;
    private calculateQuarterEndDate;
    /**
     * To construct template string.
     *
     * @param {Date} scheduleWeeks .
     * @param {string} mode .
     * @param {string} tier .
     * @param {boolean} isLast .
     * @param {number} count .
     * @param {TimelineFormat} timelineCell .
     * @returns {string} .
     * @private
     */
    private getHeaterTemplateString;
    /**
     * To calculate last 'th' width.
     *
     * @param {string} mode .
     * @param {Date} scheduleWeeks .
     * @param {Date} endDate .
     * @returns {number} .
     * @private
     */
    private calculateWidthBetweenTwoDate;
    /**
     * To calculate timeline width.
     *
     * @returns {void} .
     * @private
     */
    private timelineWidthCalculation;
    /**
     * To validate per day width.
     *
     * @param {number} timelineUnitSize .
     * @param {number} bottomTierCount .
     * @param {string} mode .
     * @returns {number} .
     * @private
     */
    private getPerDayWidth;
    /**
     * To validate project start date and end date.
     *
     * @returns {void} .
     * @private
     */
    private roundOffDays;
    /**
     * To validate project start date and end date.
     *
     * @param {string} mode .
     * @param {string} span .
     * @param {Date} startDate .
     * @param {Date} endDate .
     * @returns {void} .
     * @private
     */
    updateScheduleDatesByToolBar(mode: string, span: string, startDate: Date, endDate: Date): void;
    /**
     * To validate project start date and end date.
     *
     * @param {IGanttData[]} tempArray .
     * @param {string} action .
     * @returns {void} .
     * @private
     */
    updateTimeLineOnEditing(tempArray: IGanttData[][], action: string): void;
    /**
     * To validate project start date and end date on editing action
     *
     * @param {string} type .
     * @param {string} isFrom .
     * @param {Date} startDate .
     * @param {Date} endDate .
     * @param {string} mode .
     * @returns {void} .
     * @private
     */
    performTimeSpanAction(type: string, isFrom: string, startDate: Date, endDate: Date, mode?: string): void;
    /**
     * To validate project start date and end date.
     *
     * @param {string} eventType .
     * @param {string} requestType .
     * @param {string} isFrom .
     * @returns {void}
     * @private
     */
    timeSpanActionEvent(eventType: string, requestType?: string, isFrom?: string): ITimeSpanEventArgs;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/renderer/tooltip.d.ts
/**
 * File for handling tooltip in Gantt.
 */
export  class Tooltip {
    parent: Gantt;
    toolTipObj: popups.Tooltip;
    private predecessorTooltipData;
    private currentTarget;
    private tooltipMouseEvent;
    constructor(gantt: Gantt);
    /**
     * To create tooltip.
     *
     * @returns {void} .
     * @private
     */
    createTooltip(): void;
    private tooltipBeforeRender;
    private tooltipCloseHandler;
    private mouseMoveHandler;
    /**
     * Method to update tooltip position
     *
     * @param {popups.TooltipEventArgs} args .
     * @returns {void} .
     */
    private updateTooltipPosition;
    /**
     * Method to get mouse pointor position
     *
     * @param {Event} e .
     * @returns {number} .
     */
    private getPointorPosition;
    /**
     *  Getting tooltip content for different elements
     *
     * @param {string} elementType .
     * @param {IGanttData} ganttData .
     * @param {Gantt} parent .
     * @param {popups.TooltipEventArgs} args .
     * @returns {string} .
     */
    private getTooltipContent;
    /**
     * To get the details of an event marker.
     *
     * @param {popups.TooltipEventArgs} args .
     * @returns {EventMarkerModel} .
     * @private
     */
    getMarkerTooltipData(args: popups.TooltipEventArgs): EventMarkerModel;
    /**
     * To get the details of a connector line.
     *
     * @param {popups.TooltipEventArgs} args .
     * @returns {PredecessorTooltip} .
     * @private
     */
    getPredecessorTooltipData(args: popups.TooltipEventArgs): PredecessorTooltip;
    /**
     * To compile template string.
     *
     * @param {string} template .
     * @param {Gantt} parent .
     * @param {IGanttData|PredecessorTooltip} data .
     * @param {string} propName .
     * @returns {NodeList} .
     * @private
     */
    templateCompiler(template: string, parent: Gantt, data: IGanttData | PredecessorTooltip, propName: string): NodeList;
    private destroy;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/renderer/virtual-content-render.d.ts
/**
 * virtual Content renderer for Gantt
 */
export  class VirtualContentRenderer {
    private parent;
    private wrapper;
    private virtualTrack;
    constructor(parent: Gantt);
    /**
     * To render a wrapper for chart body content when virtualization is enabled.
     *
     * @returns {void} .
     * @hidden
     */
    renderWrapper(): void;
    /**
     * To append child elements for wrappered element when virtualization is enabled.
     *
     * @param {HTMLElement} element .
     * @returns {void} .
     * @hidden
     */
    appendChildElements(element: HTMLElement): void;
    /**
     * To adjust gantt content table's style when virtualization is enabled
     *
     * @returns {void} .
     * @hidden
     */
    adjustTable(): void;
}
//node_modules/@syncfusion/ej2-gantt/src/index.d.ts
/**
 * Gantt index file
 */
 }
export namespace grids { 

//node_modules/@syncfusion/ej2-grids/src/components.d.ts
/**
 * Export Export Grid and Pager
 */
//node_modules/@syncfusion/ej2-grids/src/grid/actions.d.ts
/**
 * Action export
 */
//node_modules/@syncfusion/ej2-grids/src/grid/actions/aggregate.d.ts
/**
 * Summary Action controller.
 */
export  class Aggregate implements IAction {
    private parent;
    private locator;
    private footerRenderer;
    constructor(parent: IGrid, locator?: ServiceLocator);
    getModuleName(): string;
    private initiateRender;
    /**
     * @returns {void}
     * @hidden
     */
    prepareSummaryInfo(): void;
    onPropertyChanged(e: NotifyArgs): void;
    addEventListener(): void;
    removeEventListener(): void;
    destroy(): void;
    refresh(data: Object): void;
}
/**
 * @param {AggregateRowModel[]} aggregates - specifies the AggregateRowModel
 * @param {Function} callback - specifies the Function
 * @returns {void}
 * @private
 */
export  function summaryIterator(aggregates: AggregateRowModel[], callback: Function): void;
//node_modules/@syncfusion/ej2-grids/src/grid/actions/batch-edit.d.ts
/**
 * `BatchEdit` module is used to handle batch editing actions.
 *
 * @hidden
 */
export  class BatchEdit {
    private parent;
    private serviceLocator;
    private form;
    formObj: inputs.FormValidator;
    private renderer;
    private focus;
    private dataBoundFunction;
    private batchCancelFunction;
    private removeSelectedData;
    private cellDetails;
    private isColored;
    private isAdded;
    private originalCell;
    private cloneCell;
    private editNext;
    private preventSaveCell;
    private index;
    private field;
    private initialRender;
    private validationColObj;
    private isAdd;
    private newReactTd;
    private evtHandlers;
    constructor(parent?: IGrid, serviceLocator?: ServiceLocator, renderer?: EditRender);
    /**
     * @returns {void}
     * @hidden
     */
    addEventListener(): void;
    /**
     * @returns {void}
     * @hidden
     */
    removeEventListener(): void;
    private batchCancel;
    private dataBound;
    /**
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    protected clickHandler(e: MouseEvent): void;
    protected dblClickHandler(e: MouseEvent): void;
    private onBeforeCellFocused;
    private onCellFocused;
    private isAddRow;
    private editCellFromIndex;
    closeEdit(): void;
    private removeBatchElementChanges;
    private removeHideAndSelection;
    deleteRecord(fieldname?: string, data?: Object): void;
    addRecord(data?: Object): void;
    endEdit(): void;
    private closeForm;
    private validateFormObj;
    batchSave(): void;
    getBatchChanges(): Object;
    /**
     * @param {string} uid - specifes the uid
     * @returns {void}
     * @hidden
     */
    removeRowObjectFromUID(uid: string): void;
    /**
     * @param {Row<Column>} row - specifies the row object
     * @param {freezeTable} newTableName - specifies the table name
     * @returns {void}
     * @hidden
     */
    addRowObject(row: Row<Column>, newTableName?: freezeTable): void;
    private bulkDelete;
    private refreshRowIdx;
    private getIndexFromData;
    private bulkAddRow;
    private renderFrozenAddRow;
    private removeFrozenTbody;
    private renderMovable;
    private findNextEditableCell;
    private checkNPCell;
    private getDefaultData;
    private setCellIdx;
    editCell(index: number, field: string, isAdd?: boolean): void;
    editCellExtend(index: number, field: string, isAdd?: boolean): void;
    updateCell(rowIndex: number, field: string, value: string | number | boolean | Date): void;
    private setChanges;
    updateRow(index: number, data: Object): void;
    private getCellIdx;
    private refreshTD;
    private getColIndex;
    private editNextValCell;
    escapeCellEdit(): void;
    private generateCellArgs;
    saveCell(isForceSave?: boolean): void;
    private successCallBack;
    protected getDataByIndex(index: number): Object;
    private keyDownHandler;
    /**
     * @returns {void}
     * @hidden
     */
    addCancelWhilePaging(): void;
    private getBottomIndex;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/blazor-action.d.ts
export  const gridObserver: base.Observer;
/**
 * BlazorAction is used for performing Blazor related Grid Actions.
 *
 * @hidden
 */
export  class BlazorAction {
    private parent;
    private aria;
    private actionArgs;
    private dataSourceChanged;
    private virtualContentModule;
    private virtualHeight;
    constructor(parent?: IGrid);
    addEventListener(): void;
    removeEventListener(): void;
    getModuleName(): string;
    modelChanged(args: ActionArgs): void;
    addDeleteSuccess(args: NotifyArgs): void;
    editSuccess(args: ActionArgs): void;
    invokeServerDataBind(args: ActionArgs): void;
    onDetailRowClick(target: Element): void;
    setColumnVisibility(columns: Column[]): void;
    dataSuccess(args: ReturnType): void;
    removeDisplayNone(): void;
    setVirtualTrackHeight(args: {
        VisibleGroupedRowsCount: number;
    }): void;
    setColVTableWidthAndTranslate(args?: {
        refresh: boolean;
    }): void;
    private dataSourceModified;
    private setClientOffSet;
    private setServerOffSet;
    onGroupClick(args: object): void;
    setPersistData(args: Object): void;
    resetPersistData(args: string): void;
    private contentColGroup;
    dataFailure(args: {
        result: Object[];
    }): void;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/checkbox-filter.d.ts
/**
 * @hidden
 * `CheckBoxFilter` module is used to handle filtering action.
 */
export  class CheckBoxFilter {
    protected parent: IGrid;
    checkBoxBase: CheckBoxFilterBase;
    isresetFocus: boolean;
    /**
     * Constructor for checkbox filtering module
     *
     * @param {IGrid} parent - specifies the IGrid
     * @param {FilterSettings} filterSettings - specifies the filtersettings
     * @param {ServiceLocator} serviceLocator - specifies the ServiceLocator
     * @hidden
     */
    constructor(parent?: IGrid, filterSettings?: FilterSettings, serviceLocator?: ServiceLocator);
    /**
     * To destroy the check box filter.
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    openDialog(options: IFilterArgs): void;
    closeDialog(): void;
    protected closeResponsiveDialog(): void;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} - returns the module name
     * @private
     */
    protected getModuleName(): string;
    private actionBegin;
    private actionComplete;
    private actionPrevent;
    protected clearCustomFilter(col: Column): void;
    protected applyCustomFilter(): void;
    addEventListener(): void;
    removeEventListener(): void;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/clipboard.d.ts
/**
 * The `Clipboard` module is used to handle clipboard copy action.
 */
export  class Clipboard implements IAction {
    private activeElement;
    protected clipBoardTextArea: HTMLInputElement;
    private copyContent;
    private isSelect;
    private l10n;
    protected serviceLocator: ServiceLocator;
    private parent;
    /**
     * Constructor for the Grid clipboard module
     *
     * @param {IGrid} parent - specifies the IGrid
     * @param {ServiceLocator} serviceLocator - specifies the serviceLocator
     * @hidden
     */
    constructor(parent?: IGrid, serviceLocator?: ServiceLocator);
    /**
     * @returns {void}
     * @hidden
     */
    addEventListener(): void;
    /**
     * @returns {void}
     * @hidden
     */
    removeEventListener(): void;
    private clickHandler;
    private pasteHandler;
    /**
     * Paste data from clipboard to selected cells.
     *
     * @param {boolean} data - Specifies the date for paste.
     * @param {boolean} rowIndex - Specifies the row index.
     * @param {boolean} colIndex - Specifies the column index.
     * @returns {void}
     */
    paste(data: string, rowIndex: number, colIndex: number): void;
    private initialEnd;
    private keyDownHandler;
    protected setCopyData(withHeader?: boolean): void;
    private getCopyData;
    /**
     * Copy selected rows or cells data into clipboard.
     *
     * @returns {void}
     * @param {boolean} withHeader - Specifies whether the column header data need to be copied or not.
     */
    copy(withHeader?: boolean): void;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} returns the module name
     * @private
     */
    protected getModuleName(): string;
    /**
     * To destroy the clipboard
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    private checkBoxSelection;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/column-chooser.d.ts
/**
 * The `ColumnChooser` module is used to show or hide columns dynamically.
 */
export  class ColumnChooser implements IAction {
    private parent;
    private serviceLocator;
    private l10n;
    private dlgObj;
    private searchValue;
    private flag;
    private timer;
    getShowHideService: ShowHide;
    private showColumn;
    private hideColumn;
    private changedColumns;
    private unchangedColumns;
    private mainDiv;
    private innerDiv;
    private ulElement;
    private isDlgOpen;
    private initialOpenDlg;
    private stateChangeColumns;
    private changedStateColumns;
    private dlgDiv;
    private isInitialOpen;
    private isCustomizeOpenCC;
    private cBoxTrue;
    private cBoxFalse;
    private searchBoxObj;
    private searchOperator;
    private targetdlg;
    private prevShowedCols;
    private hideDialogFunction;
    /**
     * Constructor for the Grid ColumnChooser module
     *
     * @param {IGrid} parent - specifies the IGrid
     * @param {ServiceLocator} serviceLocator - specifies the serviceLocator
     * @hidden
     */
    constructor(parent?: IGrid, serviceLocator?: ServiceLocator);
    private destroy;
    private rtlUpdate;
    /**
     * @returns {void}
     * @hidden
     */
    addEventListener(): void;
    /**
     * @returns {void}
     * @hidden
     */
    removeEventListener(): void;
    private render;
    private clickHandler;
    private hideDialog;
    /**
     * To render columnChooser when showColumnChooser enabled.
     *
     * @param {number} x - specifies the position x
     * @param {number} y - specifies the position y
     * @param {Element} target - specifies the target
     * @returns {void}
     * @hidden
     */
    renderColumnChooser(x?: number, y?: number, target?: Element): void;
    /**
     * Column chooser can be displayed on screen by given position(X and Y axis).
     *
     * @param  {number} X - Defines the X axis.
     * @param  {number} Y - Defines the Y axis.
     * @return {void}
     */
    openColumnChooser(X?: number, Y?: number): void;
    private enableAfterRenderEle;
    private keyUpHandler;
    private customDialogOpen;
    private customDialogClose;
    private getColumns;
    private renderDlgContent;
    private renderChooserList;
    private confirmDlgBtnClick;
    private onResetColumns;
    resetColumnState(): void;
    private changedColumnState;
    private columnStateChange;
    private clearActions;
    private clearBtnClick;
    private checkstatecolumn;
    private columnChooserSearch;
    private wireEvents;
    private unWireEvents;
    private checkBoxClickHandler;
    private updateIntermediateBtn;
    private updateSelectAll;
    private refreshCheckboxButton;
    private refreshCheckboxList;
    private refreshCheckboxState;
    private checkState;
    private createCheckBox;
    private renderCheckbox;
    private columnChooserManualSearch;
    private startTimer;
    private stopTimer;
    private addcancelIcon;
    private removeCancelIcon;
    private mOpenDlg;
    private getModuleName;
    private hideOpenedDialog;
    private beforeOpenColumnChooserEvent;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/column-menu.d.ts
/**
 * 'column menu module used to handle column menu actions'
 *
 * @hidden
 */
export  class ColumnMenu implements IAction {
    private element;
    private gridID;
    private parent;
    private serviceLocator;
    private columnMenu;
    private l10n;
    private defaultItems;
    private localeText;
    private targetColumn;
    private disableItems;
    private hiddenItems;
    private headerCell;
    private isOpen;
    private GROUP;
    private UNGROUP;
    private ASCENDING;
    private DESCENDING;
    private ROOT;
    private FILTER;
    private POP;
    private WRAP;
    private CHOOSER;
    constructor(parent?: IGrid, serviceLocator?: ServiceLocator);
    private wireEvents;
    private unwireEvents;
    /**
     * To destroy the resize
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    columnMenuHandlerClick(e: Event): void;
    /**
     * @param {string} field - specifies the field name
     * @returns {void}
     * @hidden
     */
    openColumnMenuByField(field: string): void;
    private afterFilterColumnMenuClose;
    private openColumnMenu;
    private columnMenuHandlerDown;
    private getColumnMenuHandlers;
    /**
     * @returns {void}
     * @hidden
     */
    addEventListener(): void;
    /**
     * @returns {void}
     * @hidden
     */
    removeEventListener(): void;
    private keyPressHandler;
    private enableAfterRenderMenu;
    private render;
    private wireFilterEvents;
    private unwireFilterEvents;
    private beforeMenuItemRender;
    private columnMenuBeforeClose;
    private isChooserItem;
    private columnMenuBeforeOpen;
    private columnMenuOnOpen;
    private ensureDisabledStatus;
    private columnMenuItemClick;
    private columnMenuOnClose;
    private getDefaultItems;
    private getItems;
    private getDefaultItem;
    private getLocaleText;
    private generateID;
    private getKeyFromId;
    /**
     * @returns {HTMLElement} returns the HTMLElement
     * @hidden
     */
    getColumnMenu(): HTMLElement;
    private getModuleName;
    private setLocaleKey;
    private getHeaderCell;
    private getColumn;
    private createChooserItems;
    private appendFilter;
    private getFilter;
    private setPosition;
    private filterPosition;
    private getDefault;
    private isFilterPopupOpen;
    private getFilterPop;
    private isFilterItemAdded;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/command-column.d.ts
/**
 * `CommandColumn` used to handle the command column actions.
 *
 * @hidden
 */
export  class CommandColumn {
    private parent;
    private locator;
    constructor(parent: IGrid, locator?: ServiceLocator);
    private initiateRender;
    private commandClickHandler;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} returns the module name
     */
    private getModuleName;
    /**
     * To destroy CommandColumn.
     *
     * @function destroy
     * @returns {void}
     */
    private destroy;
    private removeEventListener;
    private addEventListener;
    private keyPressHandler;
    private load;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/context-menu.d.ts
export  const menuClass: CMenuClassList;
export interface CMenuClassList {
    header: string;
    content: string;
    edit: string;
    batchEdit: string;
    editIcon: string;
    pager: string;
    cancel: string;
    save: string;
    delete: string;
    copy: string;
    pdf: string;
    group: string;
    ungroup: string;
    csv: string;
    excel: string;
    fPage: string;
    lPage: string;
    nPage: string;
    pPage: string;
    ascending: string;
    descending: string;
    groupHeader: string;
    touchPop: string;
}
/**
 * The `ContextMenu` module is used to handle context menu actions.
 */
export  class ContextMenu implements IAction {
    private element;
    contextMenu: navigations.ContextMenu;
    private defaultItems;
    private disableItems;
    private hiddenItems;
    private gridID;
    private parent;
    private serviceLocator;
    private l10n;
    private localeText;
    private targetColumn;
    private eventArgs;
    isOpen: boolean;
    row: HTMLTableRowElement;
    cell: HTMLTableCellElement;
    private targetRowdata;
    constructor(parent?: IGrid, serviceLocator?: ServiceLocator);
    /**
     * @returns {void}
     * @hidden
     */
    addEventListener(): void;
    /**
     * @returns {void}
     * @hidden
     */
    removeEventListener(): void;
    private keyDownHandler;
    private render;
    private enableAfterRenderMenu;
    private getMenuItems;
    private getLastPage;
    private contextMenuOpen;
    /**
     * @param {ContextMenuClickEventArgs} args - specifies the ContextMenuClickEventArgs argument type
     * @returns {void}
     * @hidden
     */
    contextMenuItemClick(args: ContextMenuClickEventArgs): void;
    private contextMenuOnClose;
    private getLocaleText;
    private updateItemStatus;
    private contextMenuBeforeOpen;
    private ensureTarget;
    private ensureFrozenHeader;
    private ensureDisabledStatus;
    /**
     * Gets the context menu element from the Grid.
     *
     * @returns {Element} returns the element
     */
    getContextMenu(): Element;
    /**
     * Destroys the context menu component in the Grid.
     *
     * @function destroy
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    private getModuleName;
    private generateID;
    private getKeyFromId;
    private buildDefaultItems;
    private getDefaultItems;
    private setLocaleKey;
    private getColumn;
    private selectRow;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/data.d.ts
/**
 * Grid data module is used to generate query and data source.
 *
 * @hidden
 */
export  class Data implements IDataProcessor {
    dataManager: data.DataManager;
    /** @hidden */
    isQueryInvokedFromData: boolean;
    protected parent: IGrid;
    protected serviceLocator: ServiceLocator;
    protected dataState: PendingState;
    foreignKeyDataState: PendingState;
    /**
     * Constructor for data module.
     *
     * @param {IGrid} parent - specifies the IGrid
     * @param {ServiceLocator} serviceLocator - specifies the service locator
     * @hidden
     */
    constructor(parent?: IGrid, serviceLocator?: ServiceLocator);
    private reorderRows;
    protected getModuleName(): string;
    /**
     * The function used to initialize dataManager and external query
     *
     * @returns {void}
     */
    private initDataManager;
    /**
     * The function is used to generate updated data.Query from Grid model.
     *
     * @param {boolean} skipPage - specifies the boolean to skip the page
     * @returns {data.Query} returns the data.Query
     * @hidden
     */
    generateQuery(skipPage?: boolean): data.Query;
    /**
     * @param {data.Query} query - specifies the query
     * @returns {data.Query} - returns the query
     * @hidden
     */
    aggregateQuery(query: data.Query): data.Query;
    protected virtualGroupPageQuery(query: data.Query): data.Query;
    protected pageQuery(query: data.Query, skipPage?: boolean): data.Query;
    protected groupQuery(query: data.Query): data.Query;
    protected sortQuery(query: data.Query): data.Query;
    protected searchQuery(query: data.Query, fcolumn?: Column, isForeignKey?: boolean): data.Query;
    protected filterQuery(query: data.Query, column?: PredicateModel[], skipFoerign?: boolean): data.Query;
    private fGeneratePredicate;
    /**
     * The function is used to get dataManager promise by executing given data.Query.
     *
     * @param {object} args - specifies the object
     * @param {string} args.requestType - Defines the request type
     * @param {string[]} args.foreignKeyData - Defines the foreignKeyData.string
     * @param {Object} args.data - Defines the data.
     * @param {number} args.index - Defines the index .
     * @param {data.Query} query - Defines the query which will execute along with data processing.
     * @returns {Promise<Object>} - returns the object
     * @hidden
     */
    getData(args?: {
        requestType?: string;
        foreignKeyData?: string[];
        data?: Object;
        index?: number;
    }, query?: data.Query): Promise<Object>;
    private insert;
    private executeQuery;
    private formatGroupColumn;
    private crudActions;
    /**
     * @param {object} changes - specifies the changes
     * @param {string} key - specifies the key
     * @param {object} original - specifies the original data
     * @param {data.Query} query - specifies the query
     * @returns {Promise<Object>} returns the object
     * @hidden
     */
    saveChanges(changes: Object, key: string, original: Object, query?: data.Query): Promise<Object>;
    private getKey;
    /**
     * @returns {boolean} returns whether its remote data
     * @hidden
     */
    isRemote(): boolean;
    private addRows;
    private removeRows;
    private getColumnByField;
    protected destroy(): void;
    getState(): PendingState;
    setState(state: PendingState): Object;
    getForeignKeyDataState(): PendingState;
    setForeignKeyDataState(state: PendingState): void;
    getStateEventArgument(query: data.Query): PendingState;
    private eventPromise;
    /**
     * Gets the columns where searching needs to be performed from the Grid.
     *
     * @returns {string[]} returns the searched column field names
     */
    private getSearchColumnFieldNames;
    private refreshFilteredCols;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/detail-row.d.ts
/**
 * The `DetailRow` module is used to handle detail template and hierarchy Grid operations.
 */
export  class DetailRow {
    private aria;
    private parent;
    private focus;
    private lastrowcell;
    private childRefs;
    /**
     * Constructor for the Grid detail template module
     *
     * @param {IGrid} parent - specifies the IGrid
     * @param {ServiceLocator} locator - specifes the serviceLocator
     * @hidden
     */
    constructor(parent?: IGrid, locator?: ServiceLocator);
    private clickHandler;
    private toogleExpandcollapse;
    /**
     * @hidden
     * @param {IGrid} gObj - specifies the grid Object
     * @param {Row<Column>}rowObj - specifies the row object
     * @param {string} printMode - specifies the printmode
     * @returns {Object} returns the object
     */
    getGridModel(gObj: IGrid, rowObj: Row<Column>, printMode: string): Object;
    private promiseResolve;
    private isDetailRow;
    private destroy;
    private getTDfromIndex;
    /**
     * Expands a detail row with the given target.
     *
     * @param  {Element} target - Defines the collapsed element to expand.
     * @returns {void}
     */
    expand(target: number | Element): void;
    /**
     * Collapses a detail row with the given target.
     *
     * @param  {Element} target - Defines the expanded element to collapse.
     * @returns {void}
     */
    collapse(target: number | Element): void;
    /**
     * Expands all the detail rows of the Grid.
     *
     * @returns {void}
     */
    expandAll(): void;
    /**
     * Collapses all the detail rows of the Grid.
     *
     * @returns {void}
     */
    collapseAll(): void;
    private expandCollapse;
    private keyPressHandler;
    private refreshColSpan;
    private destroyChildGrids;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} returns the module name
     * @private
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/dialog-edit.d.ts
/**
 * `DialogEdit` module is used to handle dialog editing actions.
 *
 * @hidden
 */
export  class DialogEdit extends NormalEdit {
    protected parent: IGrid;
    protected serviceLocator: ServiceLocator;
    protected renderer: EditRender;
    constructor(parent?: IGrid, serviceLocator?: ServiceLocator, renderer?: EditRender);
    closeEdit(): void;
    addRecord(data?: Object, index?: number): void;
    endEdit(): void;
    updateRow(index: number, data?: Object): void;
    deleteRecord(fieldname?: string, data?: Object): void;
    protected startEdit(tr?: Element): void;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/edit.d.ts
/**
 * The `Edit` module is used to handle editing actions.
 */
export  class Edit implements IAction {
    protected renderer: EditRender;
    /** @hidden */
    editModule: IEdit;
    /** @hidden */
    formObj: inputs.FormValidator;
    /** @hidden */
    mFormObj: inputs.FormValidator;
    /** @hidden */
    frFormObj: inputs.FormValidator;
    /** @hidden */
    virtualFormObj: inputs.FormValidator;
    private static editCellType;
    private editType;
    protected parent: IGrid;
    protected serviceLocator: ServiceLocator;
    protected l10n: base.L10n;
    private dialogObj;
    private alertDObj;
    private actionBeginFunction;
    private actionCompleteFunction;
    private preventObj;
    private eventDetails;
    isLastRow?: boolean;
    deleteRowUid: string;
    editCellDialogClose: boolean;
    /**
     * Constructor for the Grid editing module
     *
     * @param {IGrid} parent - specifies the IGrid
     * @param {ServiceLocator} serviceLocator - specifies the servicelocator
     * @hidden
     */
    constructor(parent?: IGrid, serviceLocator?: ServiceLocator);
    private updateColTypeObj;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} returns the module name
     * @private
     */
    protected getModuleName(): string;
    /**
     * @param {NotifyArgs} e - specifies the notifyargs
     * @returns {void}
     * @hidden
     */
    onPropertyChanged(e: NotifyArgs): void;
    private updateEditObj;
    private initialEnd;
    /**
     * Edits any bound record in the Grid by TR element.
     *
     * @param {HTMLTableRowElement} tr - Defines the table row to be edited.
     * @returns {void}
     */
    startEdit(tr?: HTMLTableRowElement): void;
    /**
     * @param {Element} tr - specifies the tr element
     * @param {object} args - specifies the object
     * @param {Element} args.row -specfifes the row
     * @param {string} args.requestType - specifies the request type
     * @returns {void}
     * @hidden
     */
    checkLastRow(tr: Element, args?: {
        row?: Element;
        requestType?: string;
    }): void;
    /**
     * Cancels edited state.
     *
     * @returns {void}
     */
    closeEdit(): void;
    protected refreshToolbar(): void;
    /**
     * To adds a new row at the top with the given data. When data is not passed, it will add empty rows.
     * > `editSettings.allowEditing` should be true.
     *
     * @param {Object} data - Defines the new add record data.
     * @param {number} index - Defines the row index to be added
     * @returns {void}
     */
    addRecord(data?: Object, index?: number): void;
    /**
     * Deletes a record with the given options. If fieldname and data are not given, the Grid will delete the selected record.
     * > `editSettings.allowDeleting` should be true.
     *
     * @param {string} fieldname - Defines the primary key field name of the column.
     * @param {Object} data - Defines the JSON data record to be deleted.
     * @returns {void}
     */
    deleteRecord(fieldname?: string, data?: Object): void;
    /**
     * Deletes a visible row by TR element.
     *
     * @param {HTMLTableRowElement} tr - Defines the table row element.
     * @returns {void}
     */
    deleteRow(tr: HTMLTableRowElement): void;
    /**
     * If Grid is in editable state, you can save a record by invoking endEdit.
     *
     * @returns {void}
     */
    endEdit(): void;
    /**
     * To update the specified cell by given value without changing into edited state.
     *
     * @param {number} rowIndex Defines the row index.
     * @param {string} field Defines the column field.
     * @param {string | number | boolean | Date} value - Defines the value to be changed.
     * @returns {void}
     */
    updateCell(rowIndex: number, field: string, value: string | number | boolean | Date): void;
    /**
     * To update the specified row by given values without changing into edited state.
     *
     * @param {number} index Defines the row index.
     * @param {Object} data Defines the data object to be updated.
     * @returns {void}
     */
    updateRow(index: number, data: Object): void;
    /**
     * Resets added, edited, and deleted records in the batch mode.
     *
     * @returns {void}
     */
    batchCancel(): void;
    /**
     * Bulk saves added, edited, and deleted records in the batch mode.
     *
     * @returns {void}
     */
    batchSave(): void;
    /**
     * Changes a particular cell into edited state based on the row index and field name provided in the `batch` mode.
     *
     * @param {number} index - Defines row index to edit a particular cell.
     * @param {string} field - Defines the field name of the column to perform batch edit.
     * @returns {void}
     */
    editCell(index: number, field: string): void;
    /**
     * Checks the status of validation at the time of editing. If validation is passed, it returns true.
     *
     * @returns {boolean} returns whether the form is validated
     */
    editFormValidate(): boolean;
    /**
     * Gets the added, edited,and deleted data before bulk save to the DataSource in batch mode.
     *
     * @returns {Object} returns the Object
     */
    getBatchChanges(): Object;
    /**
     * Gets the current value of the edited component.
     *
     * @returns {Object} returns the Object
     */
    getCurrentEditCellData(): Object;
    /**
     * Saves the cell that is currently edited. It does not save the value to the DataSource.
     *
     * @returns {void}
     */
    saveCell(): void;
    private endEditing;
    private showDialog;
    getValueFromType(col: Column, value: string | Date | boolean): number | string | Date | boolean;
    private destroyToolTip;
    private createConfirmDlg;
    private createAlertDlg;
    private alertClick;
    private dlgWidget;
    private dlgCancel;
    private dlgOk;
    private destroyEditComponents;
    /**
     * @returns {void}
     * @hidden
     */
    addEventListener(): void;
    /**
     * @returns {void}
     * @hidden
     */
    removeEventListener(): void;
    private actionComplete;
    /**
     * @param {Element} form - specifies the element
     * @param {Object} editedData - specifies the edited data
     * @returns {Object} returns the object
     * @hidden
     */
    getCurrentEditedData(form: Element, editedData: Object): Object;
    private getValue;
    /**
     * @param {NotifyArgs} e - specifies the NotifyArgs
     * @returns {void}
     * @hidden
     */
    onActionBegin(e: NotifyArgs): void;
    /**
     * @param {Column[]} cols - specfies the column
     * @returns {void}
     * @hidden
     */
    destroyWidgets(cols?: Column[]): void;
    /**
     * @returns {void}
     * @hidden
     */
    destroyForm(): void;
    /**
     * To destroy the editing.
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    private keyPressHandler;
    private curretRowFocus;
    private preventBatch;
    private executeAction;
    /**
     * @param {Column[]} cols - specifies the column
     * @returns {void}
     * @hidden
     */
    applyFormValidation(cols?: Column[]): void;
    /**
     * @param {HTMLFormElement} form - Defined Form element
     * @param {Object} rules - Defines form rules
     * @returns {inputs.FormValidator} Returns formvalidator instance
     * @hidden
     */
    createFormObj(form: HTMLFormElement, rules: Object): inputs.FormValidator;
    private valErrorPlacement;
    private getElemTable;
    resetElemPosition(elem: HTMLElement, args: {
        status: string;
        inputName: string;
        element: HTMLElement;
        message: string;
    }): void;
    private validationComplete;
    private createTooltip;
    /**
     * @param {Column} col - specfies the column
     * @returns {boolean} returns the whether column is grouped
     * @hidden
     */
    checkColumnIsGrouped(col: Column): boolean;
    /**
     * @param {object} editors -specfies the editors
     * @returns {void}
     * @hidden
     */
    static AddEditors(editors: object): void;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/excel-export.d.ts
/**
 * @hidden
 * `ExcelExport` module is used to handle the Excel export action.
 */
export  class ExcelExport {
    private parent;
    private isExporting;
    private theme;
    private book;
    private workSheet;
    private rows;
    private columns;
    private styles;
    private data;
    private rowLength;
    private footer;
    private expType;
    private includeHiddenColumn;
    private isCsvExport;
    private isBlob;
    private blobPromise;
    private exportValueFormatter;
    private isElementIdChanged;
    private helper;
    private groupedColLength;
    private globalResolve;
    private gridPool;
    private locator;
    private l10n;
    private sheet;
    /**
     * Constructor for the Grid Excel Export module.
     *
     * @param {IGrid} parent - specifies the IGrid
     * @param {ServiceLocator} locator - specifies the ServiceLocator
     * @hidden
     */
    constructor(parent?: IGrid, locator?: ServiceLocator);
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} returns the module name
     */
    private getModuleName;
    private init;
    /**
     * Export Grid to Excel file.
     *
     * @param {IGrid} grid - Defines the grid.
     * @param  {exportProperties} exportProperties - Defines the export properties of the Grid.
     * @param  {isMultipleExport} isMultipleExport - Defines is multiple Grid's are exported.
     * @param  {excelExport.Workbook} workbook - Defined the excelExport.Workbook if multiple Grid is exported.
     * @param  {boolean} isCsv - true if export to CSV.
     * @param {boolean} isBlob - true if isBlob is enabled.
     * @returns {Promise<any>} - Returns the map for export.
     */
    Map(grid: IGrid, exportProperties: ExcelExportProperties, isMultipleExport: boolean, workbook: excelExport.Workbook, isCsv: boolean, isBlob: boolean): Promise<any>;
    private exportingSuccess;
    private processRecords;
    private processInnerRecords;
    private organiseRows;
    private processGridExport;
    private processRecordContent;
    private processGroupedRows;
    private processRecordRows;
    private setImage;
    private childGridCell;
    private processAggregates;
    private fillAggregates;
    private aggregateStyle;
    private getAggreateValue;
    private mergeOptions;
    private getColumnStyle;
    private headerRotation;
    private processHeaderContent;
    private getHeaderThemeStyle;
    private updateThemeStyle;
    private getCaptionThemeStyle;
    private getRecordThemeStyle;
    private processExcelHeader;
    private updatedCellIndex;
    private processExcelFooter;
    private getIndex;
    private parseStyles;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/excel-filter.d.ts
/**
 * @hidden
 * `ExcelFilter` module is used to handle filtering action.
 */
export  class ExcelFilter extends CheckBoxFilter {
    protected parent: IGrid;
    excelFilterBase: ExcelFilterBase;
    isresetFocus: boolean;
    /**
     * Constructor for excelbox filtering module
     *
     * @param {IGrid} parent - specifies the IGrid
     * @param {FilterSettings} filterSettings - specifies the Filtersettings
     * @param {ServiceLocator} serviceLocator - specifies the serviceLocator
     * @param {object} customFltrOperators - specifies the customFltrOperators
     * @hidden
     */
    constructor(parent?: IGrid, filterSettings?: FilterSettings, serviceLocator?: ServiceLocator, customFltrOperators?: Object);
    /**
     * To destroy the excel filter.
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    openDialog(options: IFilterArgs): void;
    closeDialog(): void;
    protected clearCustomFilter(col: Column): void;
    protected closeResponsiveDialog(isCustomFilter?: boolean): void;
    protected applyCustomFilter(args?: {
        col: Column;
        isCustomFilter: boolean;
    }): void;
    filterByColumn(fieldName: string, firstOperator: string, firstValue: string | number | Date | boolean, predicate?: string, matchCase?: boolean, ignoreAccent?: boolean, secondOperator?: string, secondValue?: string | number | Date | boolean): void;
    /**
     * @returns {FilterUI} returns the filterUI
     * @hidden
     */
    getFilterUIInfo(): FilterUI;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} returns the module name
     * @private
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/export-helper.d.ts
/**
 * @hidden
 * `ExportHelper` for `PdfExport` & `ExcelExport`
 */
export  class ExportHelper {
    parent: IGrid;
    private colDepth;
    private hideColumnInclude;
    private foreignKeyData;
    constructor(parent: IGrid, foreignKeyData?: {
        [key: string]: Object[];
    });
    static getQuery(parent: IGrid, data: Data): data.Query;
    getFData(value: string, column: Column): Object;
    getGridRowModel(columns: Column[], dataSource: Object[], gObj: IGrid, startIndex?: number): Row<Column>[];
    private generateCells;
    getColumnData(gridObj: Grid): Promise<Object>;
    getHeaders(columns: Column[], isHideColumnInclude?: boolean): {
        rows: Row<Column>[];
        columns: Column[];
    };
    getConvertedWidth(input: string): number;
    private generateActualColumns;
    private processHeaderCells;
    private appendGridCells;
    private generateCell;
    private processColumns;
    private getCellCount;
    checkAndExport(gridPool: Object, globalResolve: Function): void;
    failureHandler(gridPool: Object, childGridObj: IGrid, resolve: Function): Function;
    createChildGrid(gObj: IGrid, row: Row<Column>, exportType: string, gridPool: Object): {
        childGrid: IGrid;
        element: HTMLElement;
    };
    getGridExportColumns(columns: Column[]): Column[];
    /**
     * Gets the foreignkey data.
     *
     * @returns {ForeignKeyFormat} returns the foreignkey data
     * @hidden
     */
    getForeignKeyData(): ForeignKeyFormat;
}
/**
 * @hidden
 * `ExportValueFormatter` for `PdfExport` & `ExcelExport`
 */
export  class ExportValueFormatter {
    private internationalization;
    private valueFormatter;
    constructor(culture: string);
    private returnFormattedValue;
    /**
     * Used to format the exporting cell value
     *
     * @param  {ExportHelperArgs} args - Specifies cell details.
     * @returns {string} returns formated value
     * @hidden
     */
    formatCellValue(args: ExportHelperArgs): string;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/filter.d.ts
/**
 *
 * The `Filter` module is used to handle filtering action.
 */
export  class Filter implements IAction {
    private filterSettings;
    private element;
    private value;
    private predicate;
    private operator;
    private column;
    private fieldName;
    private matchCase;
    private ignoreAccent;
    private timer;
    private filterStatusMsg;
    private currentFilterObject;
    private isRemove;
    private contentRefresh;
    private initialLoad;
    private filterByMethod;
    private refresh;
    private values;
    operators: Object;
    private cellText;
    private nextFlMenuOpen;
    private refreshFilterValueFn;
    private type;
    /** @hidden */
    filterModule: {
        openDialog: Function;
        closeDialog: Function;
        destroy: Function;
        isresetFocus: boolean;
        getFilterUIInfo: Function;
        clearCustomFilter: Function;
        closeResponsiveDialog: Function;
        applyCustomFilter: Function;
        renderCheckBoxMenu?: Function;
        afterRenderFilterUI?: Function;
    };
    /** @hidden */
    filterOperators: IFilterOperator;
    private fltrDlgDetails;
    customOperators: Object;
    /** @hidden */
    skipNumberInput: string[];
    skipStringInput: string[];
    /** @hidden */
    parent: IGrid;
    /** @hidden */
    serviceLocator: ServiceLocator;
    private l10n;
    private valueFormatter;
    private actualPredicate;
    prevFilterObject: PredicateModel;
    filterObjIndex: number;
    /** @hidden */
    responsiveDialogRenderer: ResponsiveDialogRenderer;
    menuOperator: {
        [key: string]: Object;
    }[];
    private docClickHandler;
    /**
     * Constructor for Grid filtering module
     *
     * @param {IGrid} parent - specifies the IGrid
     * @param {FilterSettings} filterSettings - specifies the filterSettings
     * @param {ServiceLocator} serviceLocator - specifes the serviceLocator
     * @hidden
     */
    constructor(parent?: IGrid, filterSettings?: FilterSettings, serviceLocator?: ServiceLocator);
    /**
     * To render filter bar when filtering enabled.
     *
     * @param {NotifyArgs} e - specifies the NotifyArgs
     * @returns {void}
     * @hidden
     */
    render(e?: NotifyArgs): void;
    /**
     * To show the responsive custom filter dialog
     *
     * @param {boolean} enable - specifes dialog open
     * @returns {void}
     * @hidden
     */
    showCustomFilter(enable: boolean): void;
    /**
     * To create the filter module.
     *
     * @param {Column} col - specifies the filtering column name
     * @returns {void}
     * @hidden
     */
    setFilterModel(col: Column): void;
    /**
     * To destroy the filter bar.
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    private setFullScreenDialog;
    private generateRow;
    private generateCells;
    private generateCell;
    /**
     * To update filterSettings when applying filter.
     *
     * @returns {void}
     * @hidden
     */
    updateModel(): void;
    private getFilteredColsIndexByField;
    /**
     * To trigger action complete event.
     *
     * @param {NotifyArgs} e - specifies the NotifyArgs
     * @returns {void}
     * @hidden
     */
    onActionComplete(e: NotifyArgs): void;
    private wireEvents;
    private unWireEvents;
    private enableAfterRender;
    private refreshFilterValue;
    private initialEnd;
    /**
     * @returns {void}
     * @hidden
     */
    addEventListener(): void;
    /**
     * @returns {void}
     * @hidden
     */
    removeEventListener(): void;
    private refreshClearIcon;
    private filterMenuClose;
    /**
     * Filters the Grid row by fieldName, filterOperator, and filterValue.
     *
     * @param  {string} fieldName - Defines the field name of the filter column.
     * @param  {string} filterOperator - Defines the operator to filter records.
     * @param  {string | number | Date | boolean} filterValue - Defines the value which is used to filter records.
     * @param  {string} predicate - Defines the relationship of one filter query with another by using AND or OR predicate.
     * @param  {boolean} matchCase - If match case is set to true, then the filter records
     * the exact match or <br> filters records that are case insensitive (uppercase and lowercase letters treated the same).
     * @param {boolean} ignoreAccent - If ignoreAccent set to true, then filter ignores the diacritic characters or accents while filtering.
     * @param  {string} actualFilterValue - Defines the actual filter value for the filter column.
     * @param  {string} actualOperator - Defines the actual filter operator for the filter column.
     * @returns {void}
     */
    filterByColumn(fieldName: string, filterOperator: string, filterValue: string | number | Date | boolean | number[] | string[] | Date[] | boolean[], predicate?: string, matchCase?: boolean, ignoreAccent?: boolean, actualFilterValue?: Object, actualOperator?: Object): void;
    private applyColumnFormat;
    private skipUid;
    private onPropertyChanged;
    private refreshFilterSettings;
    private updateFilterIcon;
    private getFilterBarElement;
    /**
     * @private
     * @returns {void}
     */
    refreshFilter(): void;
    /**
     * Clears all the filtered rows of the Grid.
     *
     * @param {string[]} fields - returns the fields
     * @returns {void}
     */
    clearFiltering(fields?: string[]): void;
    private checkAlreadyColFiltered;
    private columnMenuFilter;
    private filterDialogOpen;
    /**
     * Create filter dialog options
     *
     * @param  {Column} col - Filtering column detail.
     * @param  {Element} target -  Filter dialog target.
     * @param  {number} left -  Filter dialog left position.
     * @param  {number} top -  Filter dialog top position.
     * @returns {Object} returns the created dialog options
     * @hidden
     */
    createOptions(col: Column, target: Element, left?: number, top?: number): Object;
    /**
     * Removes filtered column by field name.
     *
     * @param  {string} field - Defines column field name to remove filter.
     * @param  {boolean} isClearFilterBar - Specifies whether the filter bar value needs to be cleared.
     * @returns {void}
     * @hidden
     */
    removeFilteredColsByField(field: string, isClearFilterBar?: boolean): void;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} returns the module name
     * @private
     */
    protected getModuleName(): string;
    private keyUpHandlerImmediate;
    private keyUpHandler;
    private updateCrossIcon;
    private updateFilterMsg;
    private setFormatForFlColumn;
    private checkForSkipInput;
    private processFilter;
    private startTimer;
    private stopTimer;
    private onTimerTick;
    private validateFilterValue;
    private getOperator;
    private columnPositionChanged;
    private getLocalizedCustomOperators;
    /**
     * @param {string} field - specifies the field name
     * @returns {void}
     * @hidden
     */
    openMenuByField(field: string): void;
    private filterIconClickHandler;
    private clickHandler;
    private filterHandler;
    private updateFilter;
    private refreshFilterIcon;
    private addFilteredClass;
    /**
     * @hidden
     * @returns {FilterUI} returns the FilterUI
     */
    getFilterUIInfo(): FilterUI;
    /**
     * @param {string} field - specifies the field name
     * @returns {string} returns the operator name
     * @hidden
     */
    private getOperatorName;
    /**
     * Renders checkbox items in Menu filter dialog.
     *
     * @returns {void}
     */
    renderCheckboxOnFilterMenu(): HTMLElement;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/foreign-key.d.ts
/**
 * `ForeignKey` module is used to handle foreign key column's actions.
 */
export  class ForeignKey extends Data {
    constructor(parent: IGrid, serviceLocator: ServiceLocator);
    private initEvent;
    private initForeignKeyColumns;
    private eventfPromise;
    private getForeignKeyData;
    private generateQueryFormData;
    private genarateQuery;
    private genarateColumnQuery;
    private isFiltered;
    protected getModuleName(): string;
    protected destroy(): void;
    private destroyEvent;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/freeze.d.ts
/**
 * `Freeze` module is used to handle Frozen rows and columns.
 *
 * @hidden
 */
export  class Freeze implements IAction {
    private locator;
    private parent;
    constructor(parent: IGrid, locator?: ServiceLocator);
    getModuleName(): string;
    addEventListener(): void;
    private instantiateRenderer;
    removeEventListener(): void;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/group.d.ts
/**
 *
 * The `Group` module is used to handle group action.
 */
export  class Group implements IAction {
    private sortRequired;
    /** @hidden */
    groupSettings: GroupSettingsModel;
    /** @hidden */
    element: HTMLElement;
    /** @hidden */
    groupSortFocus: boolean;
    /** @hidden */
    groupCancelFocus: boolean;
    private colName;
    private column;
    private isAppliedGroup;
    private isAppliedUnGroup;
    private reorderingColumns;
    private groupGenerator;
    private visualElement;
    private helper;
    private dragStart;
    private drag;
    private dragStop;
    private animateDropper;
    private addLabel;
    private rearrangeGroup;
    private drop;
    private parent;
    private serviceLocator;
    private contentRefresh;
    private sortedColumns;
    private l10n;
    private aria;
    private focus;
    /**
     * Constructor for Grid group module
     *
     * @param {IGrid} parent - specifies the IGrid
     * @param {GroupSettingsModel} groupSettings - specifies the GroupSettingsModel
     * @param {string[]} sortedColumns - specifies the sortedColumns
     * @param {ServiceLocator} serviceLocator - specifies the serviceLocator
     * @hidden
     */
    constructor(parent?: IGrid, groupSettings?: GroupSettingsModel, sortedColumns?: string[], serviceLocator?: ServiceLocator);
    private columnDrag;
    private columnDragStart;
    private columnDrop;
    /**
     * @returns {void}
     * @hidden
     */
    addEventListener(): void;
    /**
     * @returns {void}
     * @hidden
     */
    removeEventListener(): void;
    private initialEnd;
    private keyPressHandler;
    /**
     * @returns {Element[]} - Return the focusable grouping items
     * @hidden */
    getFocusableGroupedItems(): Element[];
    private wireEvent;
    private unWireEvent;
    private onFocusIn;
    private onFocusOut;
    private addOrRemoveFocus;
    private clickHandler;
    private unGroupFromTarget;
    private toogleGroupFromHeader;
    private applySortFromTarget;
    /**
     * Expands or collapses grouped rows by target element.
     *
     * @param  {Element} target - Defines the target element of the grouped row.
     * @returns {void}
     */
    expandCollapseRows(target: Element): void;
    private updateVirtualRows;
    private expandCollapse;
    /**
     * Expands all the grouped rows of the Grid.
     *
     * @returns {void}
     */
    expandAll(): void;
    /**
     * Collapses all the grouped rows of the Grid.
     *
     * @returns {void}
     */
    collapseAll(): void;
    /**
     * The function is used to render grouping
     *
     * @returns {void}
     * @hidden
     */
    render(): void;
    private renderGroupDropArea;
    private updateGroupDropArea;
    private initDragAndDrop;
    private initializeGHeaderDrag;
    private initializeGHeaderDrop;
    /**
     * Groups a column by column name.
     *
     * @param  {string} columnName - Defines the column name to group.
     * @returns {void}
     */
    groupColumn(columnName: string): void;
    /**
     * Ungroups a column by column name.
     *
     * @param  {string} columnName - Defines the column name to ungroup.
     * @returns {void}
     */
    ungroupColumn(columnName: string): void;
    /**
     * The function used to update groupSettings
     *
     * @returns {void}
     * @hidden
     */
    updateModel(): void;
    /**
     * The function used to trigger onActionComplete
     *
     * @param {NotifyArgs} e - specifies the NotifyArgs
     * @returns {void}
     * @hidden
     */
    onActionComplete(e: NotifyArgs): void;
    private groupAddSortingQuery;
    private createElement;
    private addColToGroupDrop;
    private createSeparator;
    private refreshToggleBtn;
    private removeColFromGroupDrop;
    private onPropertyChanged;
    private updateGroupedColumn;
    private updateButtonVisibility;
    private enableAfterRender;
    /**
     * To destroy the reorder
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    /**
     * Clears all the grouped columns of the Grid.
     *
     * @returns {void}
     */
    clearGrouping(): void;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} returns the module name
     * @private
     */
    protected getModuleName(): string;
    private refreshSortIcons;
    private getGHeaderCell;
    private onGroupAggregates;
    private iterateGroupAggregates;
    updateExpand(args: {
        uid?: string;
        isExpand?: boolean;
    }): void;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/infinite-scroll.d.ts
/**
 * Infinite Scrolling class
 *
 * @hidden
 */
export  class InfiniteScroll implements IAction {
    private parent;
    private serviceLocator;
    private maxPage;
    private actionBeginFunction;
    private actionCompleteFunction;
    private dataBoundFunction;
    private infiniteCache;
    private infiniteCurrentViewData;
    private infiniteFrozenCache;
    private isDownScroll;
    private isUpScroll;
    private isScroll;
    private top;
    private enableContinuousScroll;
    private initialRender;
    private pressedKey;
    private isRemove;
    private isInitialCollapse;
    protected prevScrollTop: number;
    private actions;
    private keys;
    private rowIndex;
    protected cellIndex: number;
    private rowTop;
    private empty;
    private isInitialMovableRender;
    private frozenFrag;
    private movableFrag;
    private editRowIndex;
    private virtualInfiniteData;
    private isAdd;
    private isEdit;
    private isCancel;
    private emptyRowData;
    private isNormaledit;
    /** @hidden */
    requestType: Action;
    private firstBlock;
    private firstIndex;
    private lastIndex;
    private rowModelGenerator;
    private isInfiniteScroll;
    private isLastPage;
    private isInitialRender;
    private isFocusScroll;
    private lastFocusInfo;
    private isGroupCollapse;
    private parentCapUid;
    private groupCaptionAction;
    protected widthService: ColumnWidthService;
    private addRowIndex;
    /**
     * Constructor for the Grid infinite scrolling.
     *
     * @param {IGrid} parent - specifies the IGrid
     * @param {ServiceLocator} serviceLocator - specifies the ServiceLocator
     * @hidden
     */
    constructor(parent?: IGrid, serviceLocator?: ServiceLocator);
    getModuleName(): string;
    /**
     * @returns {void}
     * @hidden
     */
    addEventListener(): void;
    /**
     * @returns {void}
     * @hidden
     */
    removeEventListener(): void;
    private dataBound;
    private setGroupCollapsePageQuery;
    private captionActionComplete;
    private makeGroupCollapseRequest;
    private getCaptionChildCount;
    private childCheck;
    private updateCurrentViewData;
    private refreshInfiniteCurrentViewData;
    private resetCurrentViewData;
    private deleteComplate;
    private modelChanged;
    private infiniteAddActionBegin;
    private infiniteEditHandler;
    private createRow;
    private ensureRowAvailability;
    private generateRows;
    private resetRowIndex;
    private resetInfiniteCurrentViewData;
    private swapCurrentViewData;
    private setDisplayNone;
    private refreshInfiniteCache;
    private refreshInfiniteCacheRowVisibleLength;
    private refreshInfiniteEditrowindex;
    private getEditedRowObject;
    private infiniteEditSuccess;
    private updateCurrentViewRecords;
    private actionBegin;
    private actionComplete;
    private resetInfiniteEdit;
    private getVirtualInfiniteData;
    private editActionBegin;
    private dataSourceModified;
    private onDataReady;
    private ensureIntialCollapse;
    private infiniteScrollHandler;
    private makeRequest;
    private infinitePageQuery;
    private editPageQuery;
    private intialPageQuery;
    private scrollToLastFocusedCell;
    private setLastCellFocusInfo;
    private infiniteCellFocus;
    private createEmptyRowdata;
    private getVirtualInfiniteEditedData;
    private restoreInfiniteEdit;
    private restoreInfiniteAdd;
    private appendInfiniteRows;
    private selectNewRow;
    private removeInfiniteCacheRows;
    private calculateScrollTop;
    private captionRowHeight;
    private removeTopRows;
    private removeBottomRows;
    private removeCaptionRows;
    private resetInfiniteBlocks;
    private setCache;
    private setInitialCache;
    private createFrozenCache;
    private setInitialGroupCache;
    private resetContentModuleCache;
    /**
     * @returns {void}
     * @hidden
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/inline-edit.d.ts
/**
 * `InlineEdit` module is used to handle inline editing actions.
 *
 * @hidden
 */
export  class InlineEdit extends NormalEdit {
    protected parent: IGrid;
    protected serviceLocator: ServiceLocator;
    protected renderer: EditRender;
    constructor(parent?: IGrid, serviceLocator?: ServiceLocator, renderer?: EditRender);
    closeEdit(): void;
    addRecord(data?: Object, index?: number): void;
    endEdit(): void;
    updateRow(index: number, data?: Object): void;
    deleteRecord(fieldname?: string, data?: Object): void;
    protected startEdit(tr?: Element): void;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/lazy-load-group.d.ts
/**
 * Group lazy load class
 */
export  class LazyLoadGroup implements IAction {
    private parent;
    private serviceLocator;
    /**
     * Constructor for Grid group lazy load module
     *
     * @param {IGrid} parent - specifies the IGrid
     * @param {ServiceLocator} serviceLocator - specifies the ServiceLocator
     * @hidden
     */
    constructor(parent?: IGrid, serviceLocator?: ServiceLocator);
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} returns the module name
     * @private
     */
    protected getModuleName(): string;
    /**
     * @returns {void}
     * @hidden
     */
    addEventListener(): void;
    /**
     * @returns {void}
     * @hidden
     */
    removeEventListener(): void;
    private instantiateRenderer;
    /**
     * @returns {void}
     * @hidden
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/logger.d.ts
/**
 *
 * `Logger` class
 */
export interface ILogger {
    log: (type: string | string[], args: Object) => void;
}
export interface CheckOptions {
    success: boolean;
    options?: Object;
}
export interface ItemDetails {
    type: string;
    logType: string;
    message?: string;
    check: (args: Object, parent: IGrid) => CheckOptions;
    generateMessage: (args: Object, parent: IGrid, checkOptions?: Object) => string;
}
export  class Logger implements ILogger {
    parent: IGrid;
    constructor(parent: IGrid);
    getModuleName(): string;
    log(types: string | string[], args: Object): void;
    patchadaptor(): void;
    destroy(): void;
}
export  const detailLists: {
    [key: string]: ItemDetails;
};
//node_modules/@syncfusion/ej2-grids/src/grid/actions/normal-edit.d.ts
/**
 * `NormalEdit` module is used to handle normal('inline, dialog, external') editing actions.
 *
 * @hidden
 */
export  class NormalEdit {
    protected parent: IGrid;
    protected serviceLocator: ServiceLocator;
    protected renderer: EditRender;
    formObj: inputs.FormValidator;
    protected previousData: Object;
    private editRowIndex;
    private rowIndex;
    private addedRowIndex;
    private uid;
    private args;
    private cloneRow;
    private originalRow;
    private frozen;
    private cloneFrozen;
    private currentVirtualData;
    private evtHandlers;
    constructor(parent?: IGrid, serviceLocator?: ServiceLocator, renderer?: EditRender);
    protected clickHandler(e: MouseEvent): void;
    protected dblClickHandler(e: MouseEvent): void;
    /**
     * The function used to trigger editComplete
     *
     * @param {NotifyArgs} e - specifies the NotifyArgs
     * @returns {void}
     * @hidden
     */
    editComplete(e: NotifyArgs): void;
    private getEditArgs;
    protected startEdit(tr: Element): void;
    private inlineEditHandler;
    protected updateRow(index: number, data: Object): void;
    private editFormValidate;
    protected endEdit(): void;
    private destroyElements;
    private editHandler;
    private edSucc;
    private edFail;
    private updateCurrentViewData;
    private requestSuccess;
    private editSuccess;
    private closeForm;
    private blazorTemplate;
    private editFailure;
    private needRefresh;
    private refreshRow;
    protected closeEdit(): void;
    protected addRecord(data?: Object, index?: number): void;
    private inlineAddHandler;
    protected deleteRecord(fieldname?: string, data?: Object): void;
    private stopEditStatus;
    /**
     * @returns {void}
     * @hidden
     */
    addEventListener(): void;
    /**
     * @returns {void}
     * @hidden
     */
    removeEventListener(): void;
    /**
     * @returns {void}
     * @hidden
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/page.d.ts
/**
 * The `Page` module is used to render pager and handle paging action.
 */
export  class Page implements IAction {
    private element;
    private pageSettings;
    private isForceCancel;
    private isInitialLoad;
    private isInitialRender;
    private evtHandlers;
    private isCancel;
    private parent;
    /** @hidden */
    pagerObj: Pager;
    private handlers;
    /**
     * Constructor for the Grid paging module
     *
     * @param {IGrid} parent - specifies the IGrid
     * @param {PageSettingsModel} pageSettings - specifies the PageSettingsModel
     * @hidden
     */
    constructor(parent?: IGrid, pageSettings?: PageSettingsModel);
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} returns the module name
     * @private
     */
    protected getModuleName(): string;
    /**
     * The function used to render pager from grid pageSettings
     *
     * @returns {void}
     * @hidden
     */
    render(): void;
    private onSelect;
    private addAriaAttr;
    private dataReady;
    /**
     * Refreshes the page count, pager information, and external message.
     *
     * @returns {void}
     */
    refresh(): void;
    /**
     * Navigates to the target page according to the given number.
     *
     * @param  {number} pageNo - Defines the page number to navigate.
     * @returns {void}
     */
    goToPage(pageNo: number): void;
    /**
     * @param {number} pageSize - specifies the page size
     * @returns {void}
     * @hidden
     */
    setPageSize(pageSize: number): void;
    /**
     * The function used to update pageSettings model
     *
     * @param {NotifyArgs} e - specfies the NotifyArgs
     * @returns {void}
     * @hidden
     */
    updateModel(e?: NotifyArgs): void;
    /**
     * The function used to trigger onActionComplete
     *
     * @param {NotifyArgs} e - specifies the NotifyArgs
     * @returns {void}
     * @hidden
     */
    onActionComplete(e: NotifyArgs): void;
    /**
     * @param {NotifyArgs} e - specifies the NotifyArgs
     * @returns {void}
     * @hidden
     */
    onPropertyChanged(e: NotifyArgs): void;
    private clickHandler;
    private keyPressHandler;
    /**
     * Defines the text of the external message.
     *
     * @param  {string} message - Defines the message to update.
     * @returns {void}
     */
    updateExternalMessage(message: string): void;
    private appendToElement;
    private enableAfterRender;
    /**
     * @returns {void}
     * @hidden
     */
    addEventListener(): void;
    private created;
    private isReactTemplate;
    private renderReactPagerTemplate;
    /**
     * @returns {void}
     * @hidden
     */
    removeEventListener(): void;
    /**
     * To destroy the pager
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    private pagerDestroy;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/pdf-export.d.ts
/**
 * `PDF Export` module is used to handle the exportToPDF action.
 *
 * @hidden
 */
export  class PdfExport {
    private parent;
    private isExporting;
    private data;
    private pdfDocument;
    private hideColumnInclude;
    private currentViewData;
    private customDataSource;
    private exportValueFormatter;
    private gridTheme;
    private isGrouping;
    private helper;
    private isBlob;
    private blobPromise;
    private globalResolve;
    private gridPool;
    private headerOnPages;
    private drawPosition;
    private pdfPageSettings;
    /**
     * Constructor for the Grid PDF Export module
     *
     * @param {IGrid} parent - specifies the IGrid
     * @hidden
     */
    constructor(parent?: IGrid);
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} returns the module name
     */
    private getModuleName;
    private init;
    private exportWithData;
    /**
     * Used to map the input data
     *
     * @param {IGrid} parent - specifies the IGrid
     * @param {PdfExportProperties} pdfExportProperties - specifies the PdfExportProperties
     * @param {boolean} isMultipleExport - specifies the isMultipleExport
     * @param {Object} pdfDoc - specifies the pdfDoc
     * @param {boolean} isBlob - speciies whether it is Blob or not
     * @returns {void}
     */
    Map(parent?: IGrid, pdfExportProperties?: PdfExportProperties, isMultipleExport?: boolean, pdfDoc?: Object, isBlob?: boolean): Promise<Object>;
    private processExport;
    private processSectionExportProperties;
    private processGridExport;
    private getSummaryCaptionThemeStyle;
    private getGridPdfFont;
    private getHeaderThemeStyle;
    private processGroupedRecords;
    private processGridHeaders;
    private processExportProperties;
    private drawHeader;
    private drawPageTemplate;
    private processContentValidation;
    private drawText;
    private drawPageNumber;
    private drawImage;
    private drawLine;
    private processAggregates;
    private getTemplateFunction;
    private getSummaryWithoutTemplate;
    /**
     * Set alignment, width and type of the values of the column
     *
     * @param {Column[]} gridColumns - specifies the grid column
     * @param {PdfGrid} pdfGrid - specifies the pdfGrid
     * @param {ExportHelper} helper - specifies the helper
     * @param {IGrid} gObj - specifies the IGrid
     * @param {boolean} allowHorizontalOverflow - specifies the allowHorizontalOverflow
     * @returns {void}
     */
    private setColumnProperties;
    /**
     * set default style properties of each rows in exporting grid
     *
     * @param {PdfGridRow} row - specifies the PdfGridRow
     * @param {PdfBorders} border - specifies the PdfBorders
     * @returns {PdfGrid} returns the pdfgrid
     * @private
     */
    private setRecordThemeStyle;
    /**
     * generate the formatted cell values
     *
     * @param {PdfBorders} border - specifies the border
     * @param {Column[]} columns - specifies the columns
     * @param {IGrid} gObj - specifies the IGrid
     * @param {Object[]} dataSource - specifies the datasource
     * @param {PdfGrid} pdfGrid - specifies the pdfGrid
     * @param {number} startIndex - specifies the startindex
     * @param {PdfExportProperties} pdfExportProperties - specifies the pdfExportProperties
     * @param {ExportHelper} helper - specifies the helper
     * @param {number} rowIndex - specifies the rowIndex
     * @returns {number} returns the number of records
     * @private
     */
    private processRecord;
    private setHyperLink;
    private childGridCell;
    private processCellStyle;
    /**
     * set text alignment of each columns in exporting grid
     *
     * @param {string} textAlign - specifies the textAlign
     * @param {PdfStringFormat} format - specifies the PdfStringFormat
     * @returns {PdfStringFormat} returns the PdfStringFormat
     * @private
     */
    private getHorizontalAlignment;
    /**
     * set vertical alignment of each columns in exporting grid
     *
     * @param {string} verticalAlign - specifies the verticalAlign
     * @param {PdfStringFormat} format - specifies the PdfStringFormat
     * @param {string} textAlign - specifies the text align
     * @returns {PdfStringFormat} returns the PdfStringFormat
     * @private
     */
    private getVerticalAlignment;
    private getFontFamily;
    private getFont;
    private getPageNumberStyle;
    private setContentFormat;
    private getPageSize;
    private getDashStyle;
    private getPenFromContent;
    private getBrushFromContent;
    private hexToRgb;
    private getFontStyle;
    private getBorderStyle;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/print.d.ts
/**
 * @returns {string[]} returns the cloned property
 * @hidden
 */
export  function getCloneProperties(): string[];
/**
 *
 * The `Print` module is used to handle print action.
 */
export  class Print {
    private parent;
    private printWind;
    private scrollModule;
    private isAsyncPrint;
    static printGridProp: string[];
    private defered;
    private actionBeginFunction;
    /**
     * Constructor for the Grid print module
     *
     * @param {IGrid} parent - specifies the IGrid
     * @param {Scroll} scrollModule - specifies the scroll module
     * @hidden
     */
    constructor(parent?: IGrid, scrollModule?: Scroll);
    private isContentReady;
    private hierarchyPrint;
    /**
     * By default, prints all the Grid pages and hides the pager.
     * > You can customize print options using the
     * [`printMode`](grid/#printmode-string/).
     *
     * @returns {void}
     */
    print(): void;
    private onEmpty;
    private actionBegin;
    private renderPrintGrid;
    private contentReady;
    private printGrid;
    private printGridElement;
    private removeColGroup;
    private hideColGroup;
    /**
     * To destroy the print
     *
     * @returns {boolean} returns the isPrintGrid or not
     * @hidden
     */
    isPrintGrid(): boolean;
    /**
     * To destroy the print
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} returns the module name
     * @private
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/reorder.d.ts
/**
 *
 * The `Reorder` module is used for reordering columns.
 */
export  class Reorder implements IAction {
    private element;
    private upArrow;
    private downArrow;
    private x;
    private timer;
    private destElement;
    private fromCol;
    private parent;
    /**
     * Constructor for the Grid reorder module
     *
     * @param {IGrid} parent - specifies the IGrid
     * @hidden
     */
    constructor(parent?: IGrid);
    private chkDropPosition;
    private chkDropAllCols;
    private findColParent;
    private getColumnsModel;
    private headerDrop;
    private isActionPrevent;
    private moveColumns;
    private targetParentContainerIndex;
    private getHeaderCells;
    private getColParent;
    private reorderSingleColumn;
    private reorderMultipleColumns;
    private moveTargetColumn;
    private reorderSingleColumnByTarget;
    private reorderMultipleColumnByTarget;
    /**
     * Changes the position of the Grid columns by field names.
     *
     * @param  {string | string[]} fromFName - Defines the origin field names.
     * @param  {string} toFName - Defines the destination field name.
     * @returns {void}
     */
    reorderColumns(fromFName: string | string[], toFName: string): void;
    /**
     * Changes the position of the Grid columns by field index.
     *
     * @param  {number} fromIndex - Defines the origin field index.
     * @param  {number} toIndex - Defines the destination field index.
     * @returns {void}
     */
    reorderColumnByIndex(fromIndex: number, toIndex: number): void;
    /**
     * Changes the position of the Grid columns by field index.
     *
     * @param  {string | string[]} fieldName - Defines the field name.
     * @param  {number} toIndex - Defines the destination field index.
     * @returns {void}
     */
    reorderColumnByTargetIndex(fieldName: string | string[], toIndex: number): void;
    private enableAfterRender;
    private createReorderElement;
    /**
     * The function used to trigger onActionComplete
     *
     * @param {NotifyArgs} e - specified the NotifyArgs
     * @returns {void}
     * @hidden
     */
    onActionComplete(e: NotifyArgs): void;
    /**
     * To destroy the reorder
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    private keyPressHandler;
    private drag;
    private updateScrollPostion;
    private updateFrozenScrollPosition;
    private setScrollLeft;
    private stopTimer;
    private updateArrowPosition;
    private dragStart;
    private dragStop;
    private setDisplay;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} return the module name
     * @private
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/resize.d.ts
export  const resizeClassList: ResizeClasses;
export interface ResizeClasses {
    root: string;
    suppress: string;
    icon: string;
    helper: string;
    header: string;
    cursor: string;
}
/**
 * `Resize` module is used to handle Resize to fit for columns.
 *
 * @hidden
 * @private
 */
export  class Resize implements IAction {
    private pageX;
    private column;
    private element;
    private helper;
    private tapped;
    private isDblClk;
    private minMove;
    private parentElementWidth;
    isFrozenColResized: boolean;
    private parent;
    private widthService;
    /**
     * Constructor for the Grid resize module
     *
     * @param {IGrid} parent - specifies the IGrid
     * @hidden
     */
    constructor(parent?: IGrid);
    /**
     * Resize by field names.
     *
     * @param  {string|string[]} fName - Defines the field name.
     * @returns {void}
     */
    autoFitColumns(fName?: string | string[]): void;
    private autoFit;
    private resizeColumn;
    /**
     * To destroy the resize
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} returns the module name
     * @private
     */
    protected getModuleName(): string;
    private findColumn;
    /**
     * To create table for autofit
     *
     * @param {Element} table - specifies the table
     * @param {Element[]} text - specifies the text
     * @param {string} tag - specifies the tag name
     * @returns {number} returns the number
     * @hidden
     */
    protected createTable(table: Element, text: Element[], tag: string): number;
    /**
     * @returns {void}
     * @hidden
     */
    addEventListener(): void;
    /**
     * @returns {void}
     * @hidden
     */
    removeEventListener(): void;
    /**
     * @returns {void}
     * @hidden
     */
    render(): void;
    private refreshHeight;
    private wireEvents;
    private unwireEvents;
    private getResizeHandlers;
    private setHandlerHeight;
    private callAutoFit;
    private touchResizeStart;
    private resizeStart;
    private cancelResizeAction;
    private getWidth;
    private updateResizeEleHeight;
    private getColData;
    private resizing;
    private calulateColumnsWidth;
    private getSubColumns;
    private resizeEnd;
    private getPointX;
    private refreshColumnWidth;
    private refreshStackedColumnWidth;
    private getStackedWidth;
    private getTargetColumn;
    private updateCursor;
    private refresh;
    private appendHelper;
    private setHelperHeight;
    private getScrollBarWidth;
    private removeHelper;
    private updateHelper;
    private calcPos;
    private doubleTapEvent;
    private getUserAgent;
    private timeoutHandler;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/row-reorder.d.ts
/**
 *
 * Reorder module is used to handle row reordering.
 *
 * @hidden
 */
export  class RowDD {
    private isSingleRowDragDrop;
    private hoverState;
    private startedRow;
    private startedRowIndex;
    private dragTarget;
    private onDataBoundFn;
    private timer;
    private selectedRows;
    private isOverflowBorder;
    private selectedRowColls;
    private isRefresh;
    private rows;
    private rowData;
    private dragStartData;
    private draggable;
    private isReplaceDragEle;
    private isDropGrid;
    private istargetGrid;
    private helper;
    private dragStart;
    private drag;
    private dragStop;
    private processDragStop;
    private refreshRow;
    private updateFrozenRowreOrder;
    private refreshRowTarget;
    private updateFrozenColumnreOrder;
    private refreshData;
    private rowOrder;
    private currentViewData;
    private saveChange;
    reorderRows(fromIndexes: number[], toIndex: number): void;
    private removeCell;
    private parent;
    /**
     * Constructor for the Grid print module
     *
     * @param {IGrid} parent - specifies the IGrid
     * @hidden
     */
    constructor(parent?: IGrid);
    private stopTimer;
    /**
     * To trigger action complete event.
     *
     * @param {NotifyArgs} e - specifies the NotifyArgs
     * @returns {void}
     * @hidden
     */
    onActionComplete(e: NotifyArgs): void;
    private initializeDrag;
    private updateScrollPostion;
    private setScrollDown;
    private moveDragRows;
    private setBorder;
    private borderRowElement;
    private getScrollWidth;
    private removeFirstRowBorder;
    private removeLastRowBorder;
    private removeBorder;
    private getElementFromPosition;
    private onDataBound;
    private getTargetIdx;
    private singleRowDrop;
    private columnDrop;
    private reorderRow;
    private enableAfterRender;
    /**
     * To destroy the print
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} returns the module name
     * @private
     */
    protected getModuleName(): string;
    private processArgs;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/scroll.d.ts
/**
 * The `Scroll` module is used to handle scrolling behaviour.
 */
export  class Scroll implements IAction {
    private parent;
    private previousValues;
    private oneTimeReady;
    private content;
    private header;
    private widthService;
    private pageXY;
    private parentElement;
    private eventElement;
    /**
     * Constructor for the Grid scrolling.
     *
     * @param {IGrid} parent - specifies the IGrid
     * @hidden
     */
    constructor(parent?: IGrid);
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} returns the module name
     * @private
     */
    protected getModuleName(): string;
    /**
     * @param {boolean} uiupdate - specifies the uiupdate
     * @returns {void}
     * @hidden
     */
    setWidth(uiupdate?: boolean): void;
    /**
     * @returns {void}
     * @hidden
     */
    setHeight(): void;
    /**
     * @returns {void}
     * @hidden
     */
    setPadding(): void;
    /**
     * @param {boolean} rtl - specifies the rtl
     * @returns {void}
     * @hidden
     */
    removePadding(rtl?: boolean): void;
    /**
     * Refresh makes the Grid adoptable with the height of parent container.
     *
     * > The [`height`](grid/#height/) must be set to 100%.
     *
     * @returns {void}
     */
    refresh(): void;
    private getThreshold;
    /**
     * @returns {void}
     * @hidden
     */
    addEventListener(): void;
    /**
     * @returns {void}
     * @hidden
     */
    removeEventListener(): void;
    private setScrollLeft;
    private onFrozenContentScroll;
    private onContentScroll;
    private onCustomScrollbarScroll;
    private onTouchScroll;
    private setPageXY;
    private getPointXY;
    private getScrollbleParent;
    /**
     * @param {boolean} isAdd - specifies whether adding/removing the event
     * @returns {void}
     * @hidden
     */
    addStickyListener(isAdd: boolean): void;
    private wireEvents;
    /**
     * @param {boolean} rtl - specifies the rtl
     * @returns {ScrollCss} returns the ScrollCss
     * @hidden
     */
    getCssProperties(rtl?: boolean): ScrollCss;
    private ensureOverflow;
    private onPropertyChanged;
    private makeStickyHeader;
    private setSticky;
    /**
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    /**
     * Function to get the scrollbar width of the browser.
     *
     * @returns {number} return the width
     * @hidden
     */
    static getScrollBarWidth(): number;
}
/**
 * @hidden
 */
export interface ScrollCss {
    padding?: string;
    border?: string;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/search.d.ts
/**
 * The `Search` module is used to handle search action.
 */
export  class Search implements IAction {
    private parent;
    private refreshSearch;
    private actionCompleteFunc;
    /**
     * Constructor for Grid search module.
     *
     * @param {IGrid} parent - specifies the IGrid
     * @hidden
     */
    constructor(parent?: IGrid);
    /**
     * Searches Grid records by given key.
     *
     * > You can customize the default search action by using [`searchSettings`](grid/#searchsettings/).
     *
     * @param  {string} searchString - Defines the key.
     * @returns {void}
     */
    search(searchString: string): void;
    /**
     * @returns {void}
     * @hidden
     */
    addEventListener(): void;
    /**
     * @returns {void}
     * @hidden
     */
    removeEventListener(): void;
    /**
     * To destroy the print
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    /**
     * @param {NotifyArgs} e - specfies the NotifyArgs
     * @returns {void}
     * @hidden
     */
    onPropertyChanged(e: NotifyArgs): void;
    /**
     * The function used to trigger onActionComplete
     *
     * @param {NotifyArgs} e - specifies the NotifyArgs
     * @returns {void}
     * @hidden
     */
    onSearchComplete(e: NotifyArgs): void;
    /**
     * The function used to store the requestType
     *
     * @param {NotifyArgs} e - specifies the NotifyArgs
     * @returns {void}
     * @hidden
     */
    onActionComplete(e: NotifyArgs): void;
    private cancelBeginEvent;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} returns the module name
     * @private
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/selection.d.ts
/**
 * The `Selection` module is used to handle cell and row selection.
 */
export  class Selection implements IAction {
    /**
     * @hidden
     */
    selectedRowIndexes: number[];
    /**
     * @hidden
     */
    selectedRowCellIndexes: ISelectedCell[];
    /**
     * @hidden
     */
    selectedRecords: Element[];
    /**
     * @hidden
     */
    isRowSelected: boolean;
    /**
     * @hidden
     */
    isCellSelected: boolean;
    /**
     * @hidden
     */
    preventFocus: boolean;
    /**
     * @hidden
     */
    prevRowIndex: number;
    /**
     *  @hidden
     */
    selectedColumnsIndexes: number[];
    isColumnSelected: boolean;
    private prevColIndex;
    checkBoxState: boolean;
    private selectionSettings;
    private prevCIdxs;
    private prevECIdxs;
    private selectedRowIndex;
    private isMultiShiftRequest;
    private isMultiCtrlRequest;
    private enableSelectMultiTouch;
    private clearRowCheck;
    private selectRowCheck;
    private element;
    private autofill;
    private isAutoFillSel;
    private startCell;
    private endCell;
    private startAFCell;
    private endAFCell;
    private startIndex;
    private startCellIndex;
    private startDIndex;
    private startDCellIndex;
    private currentIndex;
    private isDragged;
    private isCellDrag;
    private x;
    private y;
    private target;
    private actualTarget;
    private factory;
    private contentRenderer;
    private checkedTarget;
    private primaryKey;
    private chkField;
    private selectedRowState;
    private unSelectedRowState;
    private totalRecordsCount;
    private chkAllCollec;
    private isCheckedOnAdd;
    private persistSelectedData;
    private deSelectedData;
    private onDataBoundFunction;
    private actionBeginFunction;
    private actionCompleteFunction;
    private actionCompleteFunc;
    private resizeEndFn;
    private mUPTarget;
    private bdrElement;
    private selectDirection;
    private mcBdrElement;
    private frcBdrElement;
    private fhBdrElement;
    private mhBdrElement;
    private frhBdrElement;
    private bdrAFLeft;
    private bdrAFRight;
    private bdrAFTop;
    private bdrAFBottom;
    /** @hidden */
    isInteracted: boolean;
    private isHeaderCheckboxClicked;
    private checkSelectAllClicked;
    private isHdrSelectAllClicked;
    private isRowClicked;
    private needColumnSelection;
    /**
     * @hidden
     */
    index: number;
    private toggle;
    private data;
    private removed;
    private parent;
    private focus;
    private isCancelDeSelect;
    private isPreventCellSelect;
    private disableUI;
    private isPersisted;
    private cmdKeyPressed;
    private isMacOS;
    private cellselected;
    private isMultiSelection;
    private isAddRowsToSelection;
    private initialRowSelection;
    private isPrevRowSelection;
    private isKeyAction;
    private isRowDragSelected;
    private evtHandlers;
    isPartialSelection: boolean;
    private rmtHdrChkbxClicked;
    /**
     * @hidden
     */
    autoFillRLselection: boolean;
    private mouseButton;
    /**
     * Constructor for the Grid selection module
     *
     * @param {IGrid} parent - specifies the IGrid
     * @param {SelectionSettings} selectionSettings - specifies the selectionsettings
     * @param {ServiceLocator} locator - specifies the ServiceLocator
     * @hidden
     */
    constructor(parent?: IGrid, selectionSettings?: SelectionSettings, locator?: ServiceLocator);
    private initializeSelection;
    /**
     * The function used to trigger onActionBegin
     *
     * @param {Object} args - specifies the args
     * @param {string} type - specifies the type
     * @returns {void}
     * @hidden
     */
    onActionBegin(args: Object, type: string): void;
    private fDataUpdate;
    /**
     * The function used to trigger onActionComplete
     *
     * @param {Object} args - specifies the args
     * @param {string} type - specifies the type
     * @returns {void}
     * @hidden
     */
    onActionComplete(args: Object, type: string): void;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} returns the module name
     * @private
     */
    protected getModuleName(): string;
    /**
     * To destroy the selection
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    private isEditing;
    private getSelectedMovableRow;
    private getSelectedFrozenRightRow;
    getCurrentBatchRecordChanges(): Object[];
    /**
     * Selects a row by the given index.
     *
     * @param  {number} index - Defines the row index.
     * @param  {boolean} isToggle - If set to true, then it toggles the selection.
     * @returns {void}
     */
    selectRow(index: number, isToggle?: boolean): void;
    private rowSelectingCallBack;
    private selectRowCallBack;
    private selectMovableRow;
    private addMovableArgs;
    /**
     * Selects a range of rows from start and end row indexes.
     *
     * @param  {number} startIndex - Specifies the start row index.
     * @param  {number} endIndex - Specifies the end row index.
     * @returns {void}
     */
    selectRowsByRange(startIndex: number, endIndex?: number): void;
    private selectedDataUpdate;
    /**
     * Selects a collection of rows by index.
     *
     * @param  {number[]} rowIndexes - Specifies an array of row indexes.
     * @returns {void}
     */
    selectRows(rowIndexes: number[]): void;
    /**
     * Select rows with existing row selection by passing row indexes.
     *
     * @param {number} rowIndexes - Specifies the row indexes.
     * @returns {void}
     * @hidden
     */
    addRowsToSelection(rowIndexes: number[]): void;
    private getCollectionFromIndexes;
    private clearRow;
    private clearRowCallBack;
    private clearSelectedRow;
    private updateRowProps;
    private getPkValue;
    private updatePersistCollection;
    private updatePersistDelete;
    private updateCheckBoxes;
    private updateRowSelection;
    /**
     * Deselects the currently selected rows and cells.
     *
     * @returns {void}
     */
    clearSelection(): void;
    /**
     * Deselects the currently selected rows.
     *
     * @returns {void}
     */
    clearRowSelection(): void;
    private rowDeselect;
    private getRowObj;
    private getSelectedMovableCell;
    /**
     * Selects a cell by the given index.
     *
     * @param  {IIndex} cellIndex - Defines the row and column indexes.
     * @param  {boolean} isToggle - If set to true, then it toggles the selection.
     * @returns {void}
     */
    selectCell(cellIndex: IIndex, isToggle?: boolean): void;
    private successCallBack;
    private getCellIndex;
    /**
     * Selects a range of cells from start and end indexes.
     *
     * @param  {IIndex} startIndex - Specifies the row and column's start index.
     * @param  {IIndex} endIndex - Specifies the row and column's end index.
     * @returns {void}
     */
    selectCellsByRange(startIndex: IIndex, endIndex?: IIndex): void;
    /**
     * Selects a collection of cells by row and column indexes.
     *
     * @param  {ISelectedCell[]} rowCellIndexes - Specifies the row and column indexes.
     * @returns {void}
     */
    selectCells(rowCellIndexes: ISelectedCell[]): void;
    /**
     * Select cells with existing cell selection by passing row and column index.
     *
     * @param {IIndex} cellIndexes - Defines the collection of row and column index.
     * @returns {void}
     * @hidden
     */
    addCellsToSelection(cellIndexes: IIndex[]): void;
    private getColIndex;
    private getLastColIndex;
    private clearCell;
    private cellDeselect;
    private updateCellSelection;
    private addAttribute;
    private updateCellProps;
    private addRowCellIndex;
    /**
     * Deselects the currently selected cells.
     *
     * @returns {void}
     */
    clearCellSelection(): void;
    private getSelectedCellsElement;
    private mouseMoveHandler;
    private selectLikeExcel;
    private drawBorders;
    private isLastCell;
    private isLastRow;
    private isFirstRow;
    private isFirstCell;
    private setBorders;
    private positionBorders;
    private bottom;
    private top;
    private right_bottom;
    private bottom_left;
    private top_right;
    private top_left;
    private top_bottom;
    private top_right_bottom;
    private top_bottom_left;
    private top_right_left;
    private right_bottom_left;
    private all_border;
    private applyBothFrozenBorders;
    private applyBorders;
    private createBorders;
    private showHideBorders;
    private drawAFBorders;
    private positionAFBorders;
    private createAFBorders;
    private showAFBorders;
    private hideAFBorders;
    private updateValue;
    private createBeforeAutoFill;
    private getAutoFillCells;
    private selectLikeAutoFill;
    private mouseUpHandler;
    private hideAutoFill;
    /**
     * @returns {void}
     * @hidden
     */
    updateAutoFillPosition(): void;
    private mouseDownHandler;
    private updateStartEndCells;
    private updateStartCellsIndex;
    private enableDrag;
    private clearSelAfterRefresh;
    /**
     * @returns {void}
     * @hidden
     */
    addEventListener(): void;
    /**
     * @returns {void}
     * @hidden
     */
    removeEventListener(): void;
    private wireEvents;
    private unWireEvents;
    private columnPositionChanged;
    private refreshHeader;
    private rowsRemoved;
    beforeFragAppend(e: {
        requestType: string;
    }): void;
    private getCheckAllBox;
    private enableAfterRender;
    private render;
    private onPropertyChanged;
    private hidePopUp;
    private initialEnd;
    private checkBoxSelectionChanged;
    private initPerisistSelection;
    private ensureCheckboxFieldSelection;
    private dataSuccess;
    private setRowSelection;
    private getData;
    private refreshPersistSelection;
    private actionBegin;
    private actionComplete;
    private onDataBound;
    private updatePersistSelectedData;
    private checkSelectAllAction;
    private checkSelectAll;
    private getCheckAllStatus;
    private checkSelect;
    private moveIntoUncheckCollection;
    private triggerChkChangeEvent;
    private updateSelectedRowIndexes;
    private updateSelectedRowIndex;
    private isAllSelected;
    private someDataSelected;
    private setCheckAllState;
    private isSelectAllRowCount;
    private keyDownHandler;
    private keyUpHandler;
    private clickHandler;
    private popUpClickHandler;
    private showPopup;
    private rowCellSelectionHandler;
    private onCellFocused;
    private getKeyColIndex;
    /**
     * Apply ctrl + A key selection
     *
     * @returns {void}
     * @hidden
     */
    ctrlPlusA(): void;
    private applySpaceSelection;
    private applyDownUpKey;
    private applyUpDown;
    private applyRightLeftKey;
    private applyHomeEndKey;
    /**
     * Apply shift+down key selection
     *
     * @param {number} rowIndex - specfies the rowIndex
     * @param {number} cellIndex - specifies the CellIndex
     * @returns {void}
     * @hidden
     */
    shiftDownKey(rowIndex?: number, cellIndex?: number): void;
    private applyShiftLeftRightKey;
    private getstackedColumns;
    private applyCtrlHomeEndKey;
    private addRemoveClassesForRow;
    private isRowType;
    private isCellType;
    private isSingleSel;
    private getRenderer;
    /**
     * Gets the collection of selected records.
     *
     * @returns {Object[]} returns the Object
     */
    getSelectedRecords(): Object[];
    /**
     * Select the column by passing start column index
     *
     * @param {number} index - specifies the index
     * @returns {void}
     */
    selectColumn(index: number): void;
    /**
     * Select the columns by passing start and end column index
     *
     * @param  {number} startIndex - specifies the start index
     * @param  {number} endIndex - specifies the end index
     * @returns {void}
     */
    selectColumnsByRange(startIndex: number, endIndex?: number): void;
    /**
     * Select the columns by passing column indexes
     *
     * @param  {number[]} columnIndexes - specifies the columnIndexes
     * @returns {void}
     */
    selectColumns(columnIndexes: number[]): void;
    /**
     * Select the column with existing column by passing column index
     *
     * @param  {number} startIndex - specifies the start index
     * @returns {void}
     */
    selectColumnWithExisting(startIndex: number): void;
    /**
     * Clear the column selection
     *
     * @param {number} clearIndex - specifies the clearIndex
     * @returns {void}
     */
    clearColumnSelection(clearIndex?: number): void;
    private getselectedCols;
    private getSelectedColumnCells;
    private columnDeselect;
    private updateColProps;
    private clearColDependency;
    private updateColSelection;
    private headerSelectionHandler;
    private addEventListener_checkbox;
    removeEventListener_checkbox(): void;
    private setCheckAllForEmptyGrid;
    dataReady(e: {
        requestType: string;
    }): void;
    private actionCompleteHandler;
    private selectRowIndex;
    private disableInteracted;
    private activeTarget;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/show-hide.d.ts
/**
 * The `ShowHide` module is used to control column visibility.
 */
export  class ShowHide {
    private parent;
    /**
     * Constructor for the show hide module.
     *
     * @param {IGrid} parent - specifies the IGrid
     * @hidden
     */
    constructor(parent: IGrid);
    /**
     * Shows a column by column name.
     *
     * @param  {string|string[]} columnName - Defines a single or collection of column names to show.
     * @param  {string} showBy - Defines the column key either as field name or header text.
     * @returns {void}
     */
    show(columnName: string | string[], showBy?: string): void;
    /**
     * Hides a column by column name.
     *
     * @param  {string|string[]} columnName - Defines a single or collection of column names to hide.
     * @param  {string} hideBy - Defines the column key either as field name or header text.
     * @returns {void}
     */
    hide(columnName: string | string[], hideBy?: string): void;
    private getToggleFields;
    private getColumns;
    /**
     * Shows or hides columns by given column collection.
     *
     * @private
     * @param {Column[]} columns - Specifies the columns.
     * @param {Column[]} changedStateColumns - specifies the changedStateColumns
     * @returns {void}
     */
    setVisible(columns?: Column[], changedStateColumns?: Column[]): void;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/sort.d.ts
/**
 *
 * The `Sort` module is used to handle sorting action.
 */
export  class Sort implements IAction {
    private columnName;
    private direction;
    private isMultiSort;
    private lastSortedCol;
    private sortSettings;
    private enableSortMultiTouch;
    private contentRefresh;
    private isRemove;
    private sortedColumns;
    private isModelChanged;
    private aria;
    private focus;
    private lastSortedCols;
    private lastCols;
    private evtHandlers;
    /** @hidden */
    parent: IGrid;
    private currentTarget;
    /** @hidden */
    responsiveDialogRenderer: ResponsiveDialogRenderer;
    /** @hidden */
    serviceLocator: ServiceLocator;
    /**
     * Constructor for Grid sorting module
     *
     * @param {IGrid} parent - specifies the IGrid
     * @param {SortSettings} sortSettings - specifies the SortSettings
     * @param {string[]} sortedColumns - specifies the string
     * @param {ServiceLocator} locator - specifies the ServiceLocator
     * @hidden
     */
    constructor(parent?: IGrid, sortSettings?: SortSettings, sortedColumns?: string[], locator?: ServiceLocator);
    /**
     * The function used to update sortSettings
     *
     * @returns {void}
     * @hidden
     */
    updateModel(): void;
    /**
     * The function used to trigger onActionComplete
     *
     * @param {NotifyArgs} e - specifies the NotifyArgs
     * @returns {void}
     * @hidden
     */
    onActionComplete(e: NotifyArgs): void;
    /**
     * Sorts a column with the given options.
     *
     * @param {string} columnName - Defines the column name to sort.
     * @param {SortDirection} direction - Defines the direction of sorting field.
     * @param {boolean} isMultiSort - Specifies whether the previously sorted columns are to be maintained.
     * @returns {void}
     */
    sortColumn(columnName: string, direction: SortDirection, isMultiSort?: boolean): void;
    private setFullScreenDialog;
    private backupSettings;
    private restoreSettings;
    private updateSortedCols;
    /**
     * @param {NotifyArgs} e - specifies the NotifyArgs
     * @returns {void}
     * @hidden
     */
    onPropertyChanged(e: NotifyArgs): void;
    private refreshSortSettings;
    /**
     * Clears all the sorted columns of the Grid.
     *
     * @returns {void}
     */
    clearSorting(): void;
    private isActionPrevent;
    /**
     * Remove sorted column by field name.
     *
     * @param {string} field - Defines the column field name to remove sort.
     * @returns {void}
     * @hidden
     */
    removeSortColumn(field: string): void;
    private getSortedColsIndexByField;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} returns the module name
     * @private
     */
    protected getModuleName(): string;
    private initialEnd;
    /**
     * @returns {void}
     * @hidden
     */
    addEventListener(): void;
    /**
     * @returns {void}
     * @hidden
     */
    removeEventListener(): void;
    /**
     * To destroy the sorting
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    private cancelBeginEvent;
    private clickHandler;
    private keyPressed;
    private initiateSort;
    private showPopUp;
    private popUpClickHandler;
    private addSortIcons;
    private removeSortIcons;
    private getSortColumnFromField;
    private updateAriaAttr;
    private refreshSortIcons;
    /**
     * To show the responsive custom sort dialog
     *
     * @param {boolean} enable - specifes dialog open
     * @returns {void}
     * @hidden
     */
    showCustomSort(enable: boolean): void;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/toolbar.d.ts
/**
 *
 * The `Toolbar` module is used to handle ToolBar actions.
 */
export  class Toolbar {
    /** @hidden */
    element: HTMLElement;
    private predefinedItems;
    toolbar: navigations.Toolbar;
    private searchElement;
    private gridID;
    protected sIcon: Element;
    private isSearched;
    private parent;
    private rowSelectedFunction;
    private rowDeSelectedFunction;
    private serviceLocator;
    private l10n;
    private items;
    private searchBoxObj;
    private evtHandlers;
    constructor(parent?: IGrid, serviceLocator?: ServiceLocator);
    private render;
    /**
     * Gets the toolbar of the Grid.
     *
     * @returns {Element} returns the element
     * @hidden
     */
    getToolbar(): Element;
    /**
     * Destroys the ToolBar.
     *
     * @function destroy
     * @returns {void}
     */
    destroy(): void;
    private bindSearchEvents;
    private toolbarCreated;
    private createToolbar;
    private addReactToolbarPortals;
    private renderResponsiveSearch;
    private refreshResponsiveToolbarItems;
    private refreshToolbarItems;
    private getItems;
    private getItem;
    private getItemObject;
    /**
     * Enables or disables ToolBar items.
     *
     * @param {string[]} items - Defines the collection of itemID of ToolBar items.
     * @param {boolean} isEnable - Defines the items to be enabled or disabled.
     * @returns {void}
     * @hidden
     */
    enableItems(items: string[], isEnable: boolean): void;
    private toolbarClickHandler;
    private modelChanged;
    protected onPropertyChanged(e: NotifyArgs): void;
    private keyUpHandler;
    private search;
    private updateSearchBox;
    private wireEvent;
    private unWireEvent;
    private onFocusIn;
    private onFocusOut;
    private setFocusToolbarItem;
    private getFocusableToolbarItems;
    private keyPressedHandler;
    private reRenderToolbar;
    protected addEventListener(): void;
    protected removeEventListener(): void;
    private removeResponsiveSearch;
    private rowSelected;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} returns the module name
     */
    private getModuleName;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/virtual-scroll.d.ts
/**
 * Virtual Scrolling class
 */
export  class VirtualScroll implements IAction {
    private parent;
    private blockSize;
    private locator;
    constructor(parent: IGrid, locator?: ServiceLocator);
    getModuleName(): string;
    private instantiateRenderer;
    ensurePageSize(): void;
    addEventListener(): void;
    removeEventListener(): void;
    private getCurrentEditedData;
    private createVirtualValidationForm;
    private virtualEditFormValidation;
    private scrollToEdit;
    private setEditedDataToValidationForm;
    private refreshVirtualElement;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-grids/src/grid/aggregate.d.ts
/**
 * Aggregate export
 */
//node_modules/@syncfusion/ej2-grids/src/grid/base.d.ts
/**
 * Base export
 */
//node_modules/@syncfusion/ej2-grids/src/grid/base/constant.d.ts
/** @hidden */
export  const created: string;
/** @hidden */
export  const destroyed: string;
/** @hidden */
export  const load: string;
/** @hidden */
export  const rowDataBound: string;
/** @hidden */
export  const queryCellInfo: string;
/** @hidden */
export  const headerCellInfo: string;
/** @hidden */
export  const actionBegin: string;
/** @hidden */
export  const actionComplete: string;
/** @hidden */
export  const actionFailure: string;
/** @hidden */
export  const dataBound: string;
/** @hidden */
export  const rowSelecting: string;
/** @hidden */
export  const rowSelected: string;
/** @hidden */
export  const rowDeselecting: string;
/** @hidden */
export  const rowDeselected: string;
/** @hidden */
export  const cellSelecting: string;
/** @hidden */
export  const cellSelected: string;
/** @hidden */
export  const cellDeselecting: string;
/** @hidden */
export  const cellDeselected: string;
/** @hidden */
export  const columnSelecting: string;
/** @hidden */
export  const columnSelected: string;
/** @hidden */
export  const columnDeselecting: string;
/** @hidden */
export  const columnDeselected: string;
/** @hidden */
export  const columnDragStart: string;
/** @hidden */
export  const columnDrag: string;
/** @hidden */
export  const columnDrop: string;
/** @hidden */
export  const rowDragStartHelper: string;
/** @hidden */
export  const rowDragStart: string;
/** @hidden */
export  const rowDrag: string;
/** @hidden */
export  const rowDrop: string;
/** @hidden */
export  const beforePrint: string;
/** @hidden */
export  const printComplete: string;
/** @hidden */
export  const detailDataBound: string;
/** @hidden */
export  const toolbarClick: string;
/** @hidden */
export  const batchAdd: string;
/** @hidden */
export  const batchCancel: string;
/** @hidden */
export  const batchDelete: string;
/** @hidden */
export  const beforeBatchAdd: string;
/** @hidden */
export  const beforeBatchDelete: string;
/** @hidden */
export  const beforeBatchSave: string;
/** @hidden */
export  const beginEdit: string;
/** @hidden */
export  const cellEdit: string;
/** @hidden */
export  const cellSave: string;
/** @hidden */
export  const cellSaved: string;
/** @hidden */
export  const endAdd: string;
/** @hidden */
export  const endDelete: string;
/** @hidden */
export  const endEdit: string;
/** @hidden */
export  const recordDoubleClick: string;
/** @hidden */
export  const recordClick: string;
/** @hidden */
export  const beforeDataBound: string;
/** @hidden */
export  const beforeOpenColumnChooser: string;
/** @hidden */
export  const beforeOpenAdaptiveDialog: string;
/** @hidden */
export  const resizeStart: string;
/** @hidden */
export  const onResize: string;
/** @hidden */
export  const resizeStop: string;
/** @hidden */
export  const checkBoxChange: string;
/** @hidden */
export  const beforeCopy: string;
/** @hidden */
export  const beforePaste: string;
/** @hidden */
export  const beforeAutoFill: string;
/** @hidden */
export  const filterChoiceRequest: string;
/** @hidden */
export  const filterAfterOpen: string;
/** @hidden */
export  const filterBeforeOpen: string;
/** @hidden */
export  const filterSearchBegin: string;
/** @hidden */
export  const commandClick: string;
/** @hidden */
export  const exportGroupCaption: string;
/** @hidden */
export  const lazyLoadGroupExpand: string;
/** @hidden */
export  const lazyLoadGroupCollapse: string;
/**
 * Specifies grid internal events
 */
/** @hidden */
export  const initialLoad: string;
/** @hidden */
export  const initialEnd: string;
/** @hidden */
export  const dataReady: string;
/** @hidden */
export  const contentReady: string;
/** @hidden */
export  const uiUpdate: string;
/** @hidden */
export  const onEmpty: string;
/** @hidden */
export  const inBoundModelChanged: string;
/** @hidden */
export  const modelChanged: string;
/** @hidden */
export  const colGroupRefresh: string;
/** @hidden */
export  const headerRefreshed: string;
/** @hidden */
export  const pageBegin: string;
/** @hidden */
export  const pageComplete: string;
/** @hidden */
export  const sortBegin: string;
/** @hidden */
export  const sortComplete: string;
/** @hidden */
export  const filterBegin: string;
/** @hidden */
export  const filterComplete: string;
/** @hidden */
export  const searchBegin: string;
/** @hidden */
export  const searchComplete: string;
/** @hidden */
export  const reorderBegin: string;
/** @hidden */
export  const reorderComplete: string;
/** @hidden */
export  const rowDragAndDropBegin: string;
/** @hidden */
export  const rowDragAndDropComplete: string;
/** @hidden */
export  const groupBegin: string;
/** @hidden */
export  const groupComplete: string;
/** @hidden */
export  const ungroupBegin: string;
/** @hidden */
export  const ungroupComplete: string;
/** @hidden */
export  const groupAggregates: string;
/** @hidden */
export  const refreshFooterRenderer: string;
/** @hidden */
export  const refreshAggregateCell: string;
/** @hidden */
export  const refreshAggregates: string;
/** @hidden */
export  const rowSelectionBegin: string;
/** @hidden */
export  const rowSelectionComplete: string;
/** @hidden */
export  const columnSelectionBegin: string;
/** @hidden */
export  const columnSelectionComplete: string;
/** @hidden */
export  const cellSelectionBegin: string;
/** @hidden */
export  const cellSelectionComplete: string;
/** @hidden */
export  const beforeCellFocused: string;
/** @hidden */
export  const cellFocused: string;
/** @hidden */
export  const keyPressed: string;
/** @hidden */
export  const click: string;
/** @hidden */
export  const destroy: string;
/** @hidden */
export  const columnVisibilityChanged: string;
/** @hidden */
export  const scroll: string;
/** @hidden */
export  const columnWidthChanged: string;
/** @hidden */
export  const columnPositionChanged: string;
/** @hidden */
export  const rowDragAndDrop: string;
/** @hidden */
export  const rowsAdded: string;
/** @hidden */
export  const rowsRemoved: string;
/** @hidden */
export  const columnDragStop: string;
/** @hidden */
export  const headerDrop: string;
/** @hidden */
export  const dataSourceModified: string;
/** @hidden */
export  const refreshComplete: string;
/** @hidden */
export  const refreshVirtualBlock: string;
/** @hidden */
export  const dblclick: string;
/** @hidden */
export  const toolbarRefresh: string;
/** @hidden */
export  const bulkSave: string;
/** @hidden */
export  const autoCol: string;
/** @hidden */
export  const tooltipDestroy: string;
/** @hidden */
export  const updateData: string;
/** @hidden */
export  const editBegin: string;
/** @hidden */
export  const editComplete: string;
/** @hidden */
export  const addBegin: string;
/** @hidden */
export  const addComplete: string;
/** @hidden */
export  const saveComplete: string;
/** @hidden */
export  const deleteBegin: string;
/** @hidden */
export  const deleteComplete: string;
/** @hidden */
export  const preventBatch: string;
/** @hidden */
export  const dialogDestroy: string;
/** @hidden */
export  const crudAction: string;
/** @hidden */
export  const addDeleteAction: string;
/** @hidden */
export  const destroyForm: string;
/** @hidden */
export  const doubleTap: string;
/** @hidden */
export  const beforeExcelExport: string;
/** @hidden */
export  const excelExportComplete: string;
/** @hidden */
export  const excelQueryCellInfo: string;
/** @hidden */
export  const excelHeaderQueryCellInfo: string;
/** @hidden */
export  const exportDetailDataBound: string;
/** @hidden */
export  const beforePdfExport: string;
/** @hidden */
export  const pdfExportComplete: string;
/** @hidden */
export  const pdfQueryCellInfo: string;
/** @hidden */
export  const pdfHeaderQueryCellInfo: string;
/** @hidden */
export  const accessPredicate: string;
/** @hidden */
export  const contextMenuClick: string;
/** @hidden */
export  const freezeRender: string;
/** @hidden */
export  const freezeRefresh: string;
/** @hidden */
export  const contextMenuOpen: string;
/** @hidden */
export  const columnMenuClick: string;
/** @hidden */
export  const columnMenuOpen: string;
/** @hidden */
export  const filterOpen: string;
/** @hidden */
export  const filterDialogCreated: string;
/** @hidden */
export  const filterMenuClose: string;
/** @hidden */
export  const initForeignKeyColumn: string;
/** @hidden */
export  const getForeignKeyData: string;
/** @hidden */
export  const generateQuery: string;
/** @hidden */
export  const showEmptyGrid: string;
/** @hidden */
export  const foreignKeyData: string;
/** @hidden */
export  const columnDataStateChange: string;
/** @hidden */
export  const dataStateChange: string;
/** @hidden */
export  const dataSourceChanged: string;
/** @hidden */
export  const rtlUpdated: string;
/** @hidden */
export  const beforeFragAppend: string;
/** @hidden */
export  const frozenHeight: string;
/** @hidden */
export  const textWrapRefresh: string;
/** @hidden */
export  const recordAdded: string;
/** @hidden */
export  const cancelBegin: string;
/** @hidden */
export  const editNextValCell: string;
/** @hidden */
export  const hierarchyPrint: string;
/** @hidden */
export  const expandChildGrid: string;
/** @hidden */
export  const printGridInit: string;
/** @hidden */
export  const exportRowDataBound: string;
/** @hidden */
export  const exportDataBound: string;
/** @hidden */
export  const rowPositionChanged: string;
/** @hidden */
export  const columnChooserOpened: string;
/** @hidden */
export  const batchForm: string;
/** @hidden */
export  const beforeStartEdit: string;
/** @hidden */
export  const beforeBatchCancel: string;
/** @hidden */
export  const batchEditFormRendered: string;
/** @hidden */
export  const partialRefresh: string;
/** @hidden */
export  const beforeCustomFilterOpen: string;
/** @hidden */
export  const selectVirtualRow: string;
/** @hidden */
export  const columnsPrepared: string;
/** @hidden */
export  const cBoxFltrBegin: string;
/** @hidden */
export  const cBoxFltrComplete: string;
/** @hidden */
export  const fltrPrevent: string;
/** @hidden */
export  const beforeFltrcMenuOpen: string;
/** @hidden */
export  const valCustomPlacement: string;
/** @hidden */
export  const filterCboxValue: string;
/** @hidden */
export  const componentRendered: string;
/** @hidden */
export  const restoreFocus: string;
/** @hidden */
export  const detailStateChange: string;
/** @hidden */
export  const detailIndentCellInfo: string;
/** @hidden */
export  const virtaulKeyHandler: string;
/** @hidden */
export  const virtaulCellFocus: string;
/** @hidden */
export  const virtualScrollEditActionBegin: string;
/** @hidden */
export  const virtualScrollEditSuccess: string;
/** @hidden */
export  const virtualScrollEditCancel: string;
/** @hidden */
export  const virtualScrollEdit: string;
/** @hidden */
export  const refreshVirtualCache: string;
/** @hidden */
export  const editReset: string;
/** @hidden */
export  const virtualScrollAddActionBegin: string;
/** @hidden */
export  const getVirtualData: string;
/** @hidden */
export  const refreshInfiniteModeBlocks: string;
/** @hidden */
export  const resetInfiniteBlocks: string;
/** @hidden */
export  const infiniteScrollHandler: string;
/** @hidden */
export  const infinitePageQuery: string;
/** @hidden */
export  const infiniteShowHide: string;
/** @hidden */
export  const appendInfiniteContent: string;
/** @hidden */
export  const removeInfiniteRows: string;
/** @hidden */
export  const setInfiniteCache: string;
/** @hidden */
export  const infiniteEditHandler: string;
/** @hidden */
export  const initialCollapse: string;
/** @hidden */
export  const getAggregateQuery: string;
/** @hidden */
export  const closeFilterDialog: string;
/** @hidden */
export  const columnChooserCancelBtnClick: string;
/** @hidden */
export  const getFilterBarOperator: string;
/** @hidden */
export  const resetColumns: string;
/** @hidden */
export  const pdfAggregateQueryCellInfo: string;
/** @hidden */
export  const excelAggregateQueryCellInfo: string;
/** @hidden */
export  const setGroupCache: string;
/** @hidden */
export  const lazyLoadScrollHandler: string;
/** @hidden */
export  const groupCollapse: string;
/** @hidden */
export  const beforeCheckboxRenderer: string;
/** @hidden */
export  const refreshHandlers: string;
/** @hidden */
export  const refreshFrozenColumns: string;
/** @hidden */
export  const setReorderDestinationElement: string;
/** @hidden */
export  const refreshVirtualFrozenHeight: string;
/** @hidden */
export  const setFreezeSelection: string;
/** @hidden */
export  const setInfiniteFrozenHeight: string;
/** @hidden */
export  const setInfiniteColFrozenHeight: string;
/** @hidden */
export  const beforeRefreshOnDataChange: string;
/** @hidden */
export  const immutableBatchCancel: string;
/** @hidden */
export  const refreshVirtualFrozenRows: string;
/** @hidden */
export  const checkScrollReset: string;
/** @hidden */
export  const refreshFrozenHeight: string;
/** @hidden */
export  const setHeightToFrozenElement: string;
/** @hidden */
export  const preventFrozenScrollRefresh: string;
/** @hidden */
export  const nextCellIndex: string;
/** @hidden */
export  const refreshInfiniteCurrentViewData: string;
/** @hidden */
export  const infiniteCrudCancel: string;
/** @hidden */
export  const filterDialogClose: string;
/** @hidden */
export  const refreshCustomFilterOkBtn: string;
/** @hidden */
export  const refreshCustomFilterClearBtn: string;
/** @hidden */
export  const renderResponsiveCmenu: string;
/** @hidden */
export  const filterCmenuSelect: string;
/** @hidden */
export  const customFilterClose: string;
/** @hidden */
export  const setFullScreenDialog: string;
/** @hidden */
export  const refreshExpandandCollapse: string;
/** @hidden */
export  const rowModeChange: string;
/** @hidden */
export  const enterKeyHandler: string;
/** @hidden */
export  const refreshVirtualMaxPage: string;
/** @hidden */
export  const setVirtualPageQuery: string;
/** @hidden */
export  const selectRowOnContextOpen: string;
/** @hidden */
export  const pagerRefresh: string;
/** @hidden */
export  const closeInline: string;
/** @hidden */
export  const closeBatch: string;
/** @hidden */
export  const closeEdit: string;
/** @hidden */
export  const resetVirtualFocus: string;
/** @hidden */
export  const afterContentRender: string;
/** @hidden */
export  const refreshVirtualEditFormCells: string;
/** @hidden */
export  const scrollToEdit: string;
/** @hidden */
export  const beforeCheckboxRendererQuery: string;
/** @hidden */
export  const createVirtualValidationForm: string;
/** @hidden */
export  const validateVirtualForm: string;
/** @hidden */
export  const destroyChildGrid: string;
/** @hidden */
export  const stickyScrollComplete: string;
/** @hidden */
export  const captionActionComplete: string;
/** @hidden */
export  const refreshInfinitePersistSelection: string;
/** @hidden */
export  const refreshInfiniteEditrowindex: string;
/** @hidden */
export  const afterFilterColumnMenuClose: string;
/** @hidden */
export  const beforeCheckboxfilterRenderer: string;
/** @hidden */
export  const commandColumnDestroy: string;
//node_modules/@syncfusion/ej2-grids/src/grid/base/enum.d.ts
/**
 * Defines Actions of the Grid. They are
 * * paging
 * * refresh
 * * sorting
 * * filtering
 * * selection
 * * rowdraganddrop
 * * reorder
 * * grouping
 * * ungrouping
 */
export  type Action = 
/**  Defines current Action as Paging */
'paging' | 
/**  Defines current Action as Refresh */
'refresh' | 
/**  Defines current Action as Sorting */
'sorting' | 
/**  Defines current Action as Selection */
'selection' | 
/**  Defines current Action as Filtering */
'filtering' | 
/**  Defines current Action as Searching */
'searching' | 
/**  Defines current Action as Row Drag and Drop */
'rowdraganddrop' | 
/**  Defines current Action as Reorder */
'reorder' | 
/**  Defines current Action as Grouping */
'grouping' | 
/**  Defines current Action as UnGrouping */
'ungrouping' | 
/**  Defines current Action as Batch Save */
'batchsave' | 
/** Defines current Action as Virtual Scroll */
'virtualscroll' | 
/** Defines current Action as print */
'print' | 
/** Defines current Action as beginedit */
'beginEdit' | 
/** Defines current Action as save */
'save' | 
/** Defines current Action as delete */
'delete' | 
/** Defines current Action as cancel */
'cancel' | 
/** Defines current Action as add */
'add' | 
/** Defines current Action as filterBeforeOpen */
'filterBeforeOpen' | 
/** Defines current Action as filterChoiceRequest */
'filterchoicerequest' | 
/** Defines current Action as filterAfterOpen */
'filterAfterOpen' | 
/** Defines current Action as filterSearchBegin */
'filterSearchBegin' | 
/** represents the column state */
'columnstate' | 
/** Defines current Action as Infinite Scroll */
'infiniteScroll';
/**
 * Defines directions of Sorting. They are
 * * Ascending
 * * Descending
 */
export  type SortDirection = 
/**  Defines SortDirection as Ascending */
'Ascending' | 
/**  Defines SortDirection as Descending */
'Descending';
/**
 * `columnQueryMode`provides options to retrive data from the datasource. They are
 * * All
 * * Schema
 * * ExcludeHidden
 */
export  type ColumnQueryModeType = 
/**  It Retrieves whole datasource */
'All' | 
/**  Retrives data for all the defined columns in grid from the datasource.  */
'Schema' | 
/**  Retrives data only for visible columns of grid from the dataSource. */
'ExcludeHidden';
/**
 * Defines types of Selection. They are
 * * Single - Allows user to select a row or cell.
 * * Multiple - Allows user to select multiple rows or cells.
 */
export  type SelectionType = 
/**  Defines Single selection in the Grid */
'Single' | 
/**  Defines multiple selections in the Grid */
'Multiple';
/**
 * Defines modes of checkbox Selection. They are
 * * Default
 * * ResetOnRowClick
 */
export  type CheckboxSelectionType = 
/**  Allows the user to select multiple rows by clicking rows one by one */
'Default' | 
/**  Allows to reset the previously selected row when a row is clicked and multiple rows can be selected by using CTRL or SHIFT key */
'ResetOnRowClick';
/**
 * Defines alignments of text, they are
 * * Left
 * * Right
 * * Center
 * * Justify
 */
export  type TextAlign = 
/**  Defines Left alignment */
'Left' | 
/**  Defines Right alignment */
'Right' | 
/**  Defines Center alignment */
'Center' | 
/**  Defines Justify alignment */
'Justify';
/**
 * Defines types of Cell
 *
 * @hidden
 */
export  enum CellType {
    /**  Defines CellType as Data */
    Data = 0,
    /**  Defines CellType as Header */
    Header = 1,
    /**  Defines CellType as Summary */
    Summary = 2,
    /**  Defines CellType as GroupSummary */
    GroupSummary = 3,
    /**  Defines CellType as CaptionSummary */
    CaptionSummary = 4,
    /**  Defines CellType as Filter */
    Filter = 5,
    /**  Defines CellType as Indent */
    Indent = 6,
    /**  Defines CellType as GroupCaption */
    GroupCaption = 7,
    /**  Defines CellType as GroupCaptionEmpty */
    GroupCaptionEmpty = 8,
    /**  Defines CellType as Expand */
    Expand = 9,
    /**  Defines CellType as HeaderIndent */
    HeaderIndent = 10,
    /**  Defines CellType as StackedHeader */
    StackedHeader = 11,
    /**  Defines CellType as DetailHeader */
    DetailHeader = 12,
    /**  Defines CellType as DetailExpand */
    DetailExpand = 13,
    /**  Defines CellType as CommandColumn */
    CommandColumn = 14,
    /**  Defines CellType as DetailFooterIntent */
    DetailFooterIntent = 15,
    /**  Defines CellType as RowDrag */
    RowDragIcon = 16,
    /**  Defines CellType as RowDragHeader */
    RowDragHIcon = 17
}
/**
 * Defines modes of GridLine, They are
 * * Both - Displays both the horizontal and vertical grid lines.
 * * None - No grid lines are displayed.
 * * Horizontal - Displays the horizontal grid lines only.
 * * Vertical - Displays the vertical grid lines only.
 * * Default - Displays grid lines based on the theme.
 */
export  type GridLine = 
/** Show both the vertical and horizontal line in the Grid  */
'Both' | 
/** Hide both the vertical and horizontal line in the Grid  */
'None' | 
/** Shows the horizontal line only in the Grid */
'Horizontal' | 
/** Shows the vertical line only in the Grid  */
'Vertical' | 
/** Shows the grid lines based on the theme  */
'Default';
/**
 * Defines types of Render
 *
 * @hidden
 */
export  enum RenderType {
    /**  Defines RenderType as Header */
    Header = 0,
    /**  Defines RenderType as Content */
    Content = 1,
    /**  Defines RenderType as Summary */
    Summary = 2
}
/**
 * Defines modes of Selection, They are
 * * Row
 * * Cell
 * * Both
 */
export  type SelectionMode = 
/**  Defines SelectionMode as Cell */
'Cell' | 
/**  Defines SelectionMode as Row */
'Row' | 
/**  Defines SelectionMode as Both */
'Both';
/**
 * Print mode options are
 * * AllPages - Print all pages records of the Grid.
 * * CurrentPage - Print current page records of the Grid.
 */
export  type PrintMode = 
/**  Defines PrintMode as AllPages */
'AllPages' | 
/**  Defines PrintMode as CurrentPage */
'CurrentPage';
/**
 * Hierarchy Grid Print modes are
 * * `Expanded` - Prints the master grid with expanded child grids.
 * * `All` - Prints the master grid with all the child grids.
 * * `None` - Prints the master grid alone.
 */
export  type HierarchyGridPrintMode = 
/**  Defines Hierarchy PrintMode as Expanded */
'Expanded' | 
/**  Defines Hierarchy PrintMode as All */
'All' | 
/** Defines Hierarchy PrintMode as None */
'None';
/**
 * Defines types of Filter
 * * Menu - Specifies the filter type as menu.
 * * Excel - Specifies the filter type as excel.
 * * FilterBar - Specifies the filter type as filter bar.
 * * CheckBox - Specifies the filter type as check box.
 */
export  type FilterType = 
/**  Defines FilterType as filterbar */
'FilterBar' | 
/**  Defines FilterType as excel */
'Excel' | 
/**  Defines FilterType as menu */
'Menu' | 
/**  Defines FilterType as checkbox */
'CheckBox';
/**
 * Filter bar mode options are
 * * OnEnter - Initiate filter operation after Enter key is pressed.
 * * Immediate -  Initiate filter operation after certain time interval. By default time interval is 1500 ms.
 */
export  type FilterBarMode = 
/**  Defines FilterBarMode as onenter */
'OnEnter' | 
/**  Defines FilterBarMode  as immediate */
'Immediate';
/**
 * Defines the aggregate types.
 */
export  type AggregateType = 
/** Defines sum aggregate type */
'Sum' | 
/** Specifies average aggregate type */
'Average' | 
/** Specifies maximum aggregate type */
'Max' | 
/** Specifies minimum aggregate type */
'Min' | 
/** Specifies count aggregate type */
'Count' | 
/** Specifies true count aggregate type */
'TrueCount' | 
/** Specifies false count aggregate type */
'FalseCount' | 
/** Specifies custom aggregate type */
'Custom';
/**
 * Defines the wrap mode.
 * * Both -  Wraps both header and content.
 * * Header - Wraps header alone.
 * * Content - Wraps content alone.
 * {% codeBlock src='grid/textWrapSettings/index.md' %}{% endcodeBlock %}
 */
export  type WrapMode = 
/** Wraps both header and content */
'Both' | 
/** Wraps  header alone */
'Header' | 
/** Wraps  content alone */
'Content';
/**
 * Defines Multiple Export Type.
 */
export  type MultipleExportType = 
/**  Multiple Grids are exported to same Worksheet. */
'AppendToSheet' | 
/**  Multiple Grids are exported to separate Worksheet. */
'NewSheet';
/**
 * Defines Predefined toolbar items.
 *
 * @hidden
 */
export  type ToolbarItems = 
/** Add new record */
'Add' | 
/** Delete selected record */
'Delete' | 
/** Update edited record */
'Update' | 
/** Cancel the edited state */
'Cancel' | 
/** Edit the selected record */
'Edit' | 
/** Searches the grid records by given key */
'Search' | 
/** ColumnChooser used show/gird columns */
'ColumnChooser' | 
/** Print the Grid */
'Print' | 
/** Export the Grid to PDF format */
'PdfExport' | 
/** Export the Grid to Excel format */
'ExcelExport' | 
/** Export the Grid to CSV format */
'CsvExport' | 
/** Export the Grid to word fromat */
'WordExport';
/**
 * Defines the cell content's overflow mode. The available modes are
 * * `Clip` -  Truncates the cell content when it overflows its area.
 * * `Ellipsis` -  Displays ellipsis when the cell content overflows its area.
 * * `EllipsisWithTooltip` - Displays ellipsis when the cell content overflows its area
 * also it will display tooltip while hover on ellipsis applied cell.
 * {% codeBlock src='grid/clipMode/index.md' %}{% endcodeBlock %}
 */
export  type ClipMode = 
/**  Truncates the cell content when it overflows its area */
'Clip' | 
/** Displays ellipsis when the cell content overflows its area */
'Ellipsis' | 
/** Displays ellipsis when the cell content overflows its area also it will display tooltip while hover on ellipsis applied cell. */
'EllipsisWithTooltip';
/**
 * Defines the Command Buttons type.
 * * Edit -  Edit the current record.
 * * Delete - Delete the current record.
 * * Save - Save the current edited record.
 * * Cancel - Cancel the edited state.
 */
export  type CommandButtonType = 
/** Default enum type */
'None' | 
/** Edit the current row */
'Edit' | 
/** Delete the current row */
'Delete' | 
/** Save the current edited row */
'Save' | 
/**  Cancel the edited state */
'Cancel';
/**
 * Defines the default items of context menu.
 */
export  type ContextMenuItem = 
/**  Auto fit the size of all columns */
'AutoFitAll' | 
/**  Auto fit the current column */
'AutoFit' | 
/**  Group by current column */
'Group' | 
/**  Ungroup by current column */
'Ungroup' | 
/**  Edit the current record */
'Edit' | 
/**  Delete the current record */
'Delete' | 
/**  Save the edited record */
'Save' | 
/**  Cancel the edited state */
'Cancel' | 
/**  Copy the selected records */
'Copy' | 
/**  Export the grid as Pdf format */
'PdfExport' | 
/**  Export the grid as Excel format */
'ExcelExport' | 
/**  Export the grid as CSV format */
'CsvExport' | 
/**  Sort the current column in ascending order */
'SortAscending' | 
/**  Sort the current column in descending order */
'SortDescending' | 
/**  Go to the first page */
'FirstPage' | 
/**  Go to the previous page */
'PrevPage' | 
/**  Go to the last page */
'LastPage' | 
/**  Go to the next page */
'NextPage';
/**
 * Defines the default items of Column menu.
 */
export  type ColumnMenuItem = 
/**  Auto fit the size of all columns */
'AutoFitAll' | 
/**  Auto fit the current column */
'AutoFit' | 
/**  Group by current column */
'Group' | 
/**  Ungroup by current column */
'Ungroup' | 
/**  Sort the current column in ascending order */
'SortAscending' | 
/**  Sort the current column in descending order */
'SortDescending' | 
/**  show the column chooser */
'ColumnChooser' | 
/**  show the Filter popup */
'Filter';
/**
 * Defines Predefined toolbar items.
 *
 * @hidden
 */
export  enum ToolbarItem {
    Add = 0,
    Edit = 1,
    Update = 2,
    Delete = 3,
    Cancel = 4,
    Print = 5,
    Search = 6,
    ColumnChooser = 7,
    PdfExport = 8,
    ExcelExport = 9,
    CsvExport = 10,
    WordExport = 11
}
export  type PdfPageSize = 'Letter' | 'Note' | 'Legal' | 'A0' | 'A1' | 'A2' | 'A3' | 'A4' | 'A5' | 'A6' | 'A7' | 'A8' | 'A9' | 'B0' | 'B1' | 'B2' | 'B3' | 'B4' | 'B5' | 'Archa' | 'Archb' | 'Archc' | 'Archd' | 'Arche' | 'Flsa' | 'HalfLetter' | 'Letter11x17' | 'Ledger';
export  type PageOrientation = 'Landscape' | 'Portrait';
export  type ContentType = 'Image' | 'Line' | 'PageNumber' | 'Text';
export  type PdfPageNumberType = 'LowerLatin' | 'LowerRoman' | 'UpperLatin' | 'UpperRoman' | 'Numeric' | 'Arabic';
export  type PdfDashStyle = 'Solid' | 'Dash' | 'Dot' | 'DashDot' | 'DashDotDot';
/**
 * Defines PDF horizontal alignment.
 */
export  type PdfHAlign = 
/** left alignment */
'Left' | 
/** right alignment */
'Right' | 
/** center alignment */
'Center' | 
/** justify alignment */
'Justify';
/**
 * Defines PDF vertical alignment.
 */
export  type PdfVAlign = 
/** top alignment */
'Top' | 
/** bottom alignment */
'Bottom' | 
/** middle alignment */
'Middle';
/**
 * Defines Export Type.
 */
export  type ExportType = 
/** All pages of the grid is exported. */
'AllPages' | 
/** Current page in grid is exported. */
'CurrentPage';
/**
 * Defines Excel horizontal alignment.
 */
export  type ExcelHAlign = 
/** left alignment  */
'Left' | 
/** right alignment  */
'Right' | 
/** center alignment  */
'Center' | 
/** fill alignment  */
'Fill';
/**
 * Defines Excel vertical alignment.
 */
export  type ExcelVAlign = 
/** top alignment  */
'Top' | 
/** bottom alignment  */
'Bottom' | 
/** center alignment  */
'Center' | 
/** justify alignment  */
'Justify';
/**
 * Defines excel border line style.
 */
export  type ExcelBorderLineStyle = 
/** thin line style  */
'thin' | 
/** thick line style  */
'thick';
/**
 * Defines border line style.
 */
export  type BorderLineStyle = 
/** thin line style  */
'Thin' | 
/** thick line style  */
'Thick';
export  type CheckState = 'Check' | 'Uncheck' | 'Intermediate' | 'None';
/**
 * Defines mode of cell selection.
 * * Flow
 * * Box
 */
export  type CellSelectionMode = 
/**  Defines CellSelectionMode as Flow */
'Flow' | 
/**  Defines CellSelectionMode as Box */
'Box' | 
/**  Defines CellSelectionMode as Box with border */
'BoxWithBorder';
/**
 * Defines modes of editing.
 * * Normal
 * * Dialog
 * * Batch
 */
export  type EditMode = 
/**  Defines EditMode as Normal */
'Normal' | 
/**  Defines EditMode as Dialog */
'Dialog' | 
/**  Defines EditMode as Batch */
'Batch';
/**
 * Defines adding new row position.
 * * Top
 * * Bottom
 */
export  type NewRowPosition = 
/**  Defines row adding position as Top */
'Top' | 
/**  Defines row adding position as Top */
'Bottom';
/**
 * Defines the Edit Type of the column
 * * DefaultEdit
 * * DropdownEdit
 * * BooleanEdit
 * * DatepickerEdit
 * * DatetimepickerEdit
 * * NumericEdit
 */
export  type EditType = 
/**  Defines EditType as DefaultEdit */
'defaultEdit' | 
/**  Defines EditMode as Dropdownedit */
'dropDownEdit' | 
/**  Defines EditMode as Booleanedit */
'booleanEdit' | 
/**  Defines EditMode as Datepickeredit */
'datePickerEdit' | 
/**  Defines EditType as Datetimepickeredit */
'dateTimePickerEdit' | 
/**  Defines EditMode as Numericedit */
'numericEdit';
/**
 * Defines the Column Type
 * * String
 * * Number
 * * Boolean
 * * Date
 * * DateTime
 * * checkBox
 */
export  type ColumnType = 
/**  Defines ColumnType as Null */
'none' | 
/**  Defines ColumnType as String */
'string' | 
/**  Defines ColumnType as Number */
'number' | 
/**  Defines ColumnType as Boolean */
'boolean' | 
/**  Defines ColumnType as Date */
'date' | 
/**  Defines ColumnType as DateTime */
'dateTime' | 
/**  Defines ColumnType as checkBox */
'checkBox';
/**
 * Defines the Aggregate Template Type
 * * groupCaptionTemplate
 * * groupFooterTemplate
 * * footerTemplate
 */
export  type AggregateTemplateType = 'GroupCaption' | 'GroupFooter' | 'Footer';
/**
 * Defines mode of resizing.
 * * Normal
 * * Auto
 */
export  type ResizeMode = 
/**  Columns will not be adjusted to fit the remaining space */
'Normal' | 
/**  Resized column width will be adjusted by other columns automatically */
'Auto';
/**
 * Defines freeze direction of the grid columns
 * * Left
 * * Right
 */
export  type freezeDirection = 
/**  freeze the columns at left */
'Left' | 
/**  freeze the columns at right */
'Right';
/**
 * Defines rendered part of the grid column
 *
 * @hidden
 */
export  type freezeTable = 
/**  Defines rendered the column at frozen left part */
'frozen-left' | 
/**  Defines rendered the columns at frozen right part */
'frozen-right' | 
/**  Defines rendered the columns at movable part */
'movable';
/**
 * Defines name of the Grid frozen mode
 * * Left
 * * Right
 * * Left-Right
 */
export  type freezeMode = 
/**  Left frozen mode */
'Left' | 
/**  Right frozen mode */
'Right' | 
/**  Left and right frozen mode */
'Left-Right';
/**
 * Defines types of responsive dialogs
 *
 * @hidden
 */
export  enum ResponsiveDialogAction {
    /**  Defines dialog type as Edit */
    isEdit = 0,
    /**  Defines dialog type as Add */
    isAdd = 1,
    /**  Defines dialog type as Sort */
    isSort = 2,
    /**  Defines dialog type as Filter */
    isFilter = 3
}
/**
 * Defines responsive toolbar actions
 *
 * @hidden
 */
export  enum ResponsiveToolbarAction {
    /**  Defines initial responsive toolbar buttons */
    isInitial = 0,
    /**  Defines responsive toolbar search */
    isSearch = 1
}
/**
 * Defines mode of row rendering.
 * * Horizontal
 * * Vertical
 */
export  type RowRenderingDirection = 
/**  Defines horizontal row rendeing */
'Horizontal' | 
/**  Defined vertical row rendering */
'Vertical';
/**
 * Defines keyboard focus keys.
 *
 * @hidden
 */
export  type FocusKeys = 'downArrow' | 'upArrow' | 'PageUp' | 'PageDown' | 'enter' | 'shiftEnter' | 'tab' | 'shiftTab';
/**
 * Defines Loading Indicator of the Grid.
 * * Spinner
 * * Shimmer
 */
export  type IndicatorType = 
/**  Defines Loading Indicator as Spinner */
'Spinner' | 
/**  Defines Loading Indicator as Shimmer */
'Shimmer';
//node_modules/@syncfusion/ej2-grids/src/grid/base/grid-model.d.ts
/**
 * Interface for a class SortDescriptor
 */
export interface SortDescriptorModel {
    /**
     * Defines the field name of sort column.
     *
     * @default ''
     */
    field?: string;
    /**
     * Defines the direction of sort column.
     *
     * @default ''
     */
    direction?: SortDirection;
    /**
     * @hidden
     * Defines the sorted column whether or from grouping operation.
     *
     * @default false
     */
    isFromGroup?: boolean;
}
/**
 * Interface for a class SortSettings
 */
export interface SortSettingsModel {
    /**
     * Specifies the columns to sort at initial rendering of Grid.
     * Also user can get current sorted columns.
     *
     * @default []
     */
    columns?: SortDescriptorModel[];
    /**
     * If `allowUnsort` set to false the user can not get the grid in unsorted state by clicking the sorted column header.
     *
     * @default true
     */
    allowUnsort?: boolean;
}
/**
 * Interface for a class Predicate
 */
export interface PredicateModel {
    /**
     * Defines the field name of the filter column.
     *
     * @default ''
     */
    field?: string;
    /**
     * Defines the operator to filter records. The available operators and its supported data types are:
     * <table>
     * <tr>
     * <td colspan=1 rowspan=1>
     * Operator<br/></td><td colspan=1 rowspan=1>
     * Description<br/></td><td colspan=1 rowspan=1>
     * Supported Types<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * startswith<br/></td><td colspan=1 rowspan=1>
     * Checks whether the value begins with the specified value.<br/></td><td colspan=1 rowspan=1>
     * String<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * endswith<br/></td><td colspan=1 rowspan=1>
     * Checks whether the value ends with the specified value.<br/><br/></td><td colspan=1 rowspan=1>
     * <br/>String<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * contains<br/></td><td colspan=1 rowspan=1>
     * Checks whether the value contains the specified value.<br/><br/></td><td colspan=1 rowspan=1>
     * <br/>String<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * equal<br/></td><td colspan=1 rowspan=1>
     * Checks whether the value is equal to the specified value.<br/><br/></td><td colspan=1 rowspan=1>
     * <br/>String | Number | Boolean | Date<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * notequal<br/></td><td colspan=1 rowspan=1>
     * Checks for values that are not equal to the specified value.<br/><br/></td><td colspan=1 rowspan=1>
     * <br/>String | Number | Boolean | Date<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * greaterthan<br/></td><td colspan=1 rowspan=1>
     * Checks whether the value is greater than the specified value.<br/><br/></td><td colspan=1 rowspan=1>
     * Number | Date<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * greaterthanorequal<br/></td><td colspan=1 rowspan=1>
     * Checks whether the value is greater than or equal to the specified value.<br/><br/></td><td colspan=1 rowspan=1>
     * <br/>Number | Date<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * lessthan<br/></td><td colspan=1 rowspan=1>
     * Checks whether the value is less than the specified value.<br/><br/></td><td colspan=1 rowspan=1>
     * <br/>Number | Date<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * lessthanorequal<br/></td><td colspan=1 rowspan=1>
     * Checks whether the value is less than or equal to the specified value.<br/><br/></td><td colspan=1 rowspan=1>
     * <br/>Number | Date<br/></td></tr>
     * </table>
     *
     * @default null
     */
    operator?: string;
    /**
     * Defines the value used to filter records.
     *
     * @default ''
     */
    value?: string | number | Date | boolean;
    /**
     * If match case set to true, then filter records with exact match or else
     * filter records with case insensitive(uppercase and lowercase letters treated as same).
     *
     * @default null
     */
    matchCase?: boolean;
    /**
     * If ignoreAccent is set to true, then filter ignores the diacritic characters or accents while filtering.
     *
     * @default false
     */
    ignoreAccent?: boolean;
    /**
     * Defines the relationship between one filter query and another by using AND or OR predicate.
     *
     * @default null
     */
    predicate?: string;
    /**
     * @hidden
     * Defines the actual filter value for the filter column.
     */
    actualFilterValue?: Object;
    /**
     * @hidden
     * Defines the actual filter operator for the filter column.
     */
    actualOperator?: Object;
    /**
     * @hidden
     * Defines the type of the filter column.
     */
    type?: string;
    /**
     * @hidden
     * Defines the predicate of filter column.
     */
    ejpredicate?: Object;
    /**
     * Defines the UID of filter column.
     */
    uid?: string;
    /**
     * @hidden
     * Defines the foreignKey availability in filtered columns.
     */
    isForeignKey?: boolean;
}
/**
 * Interface for a class InfiniteScrollSettings
 */
export interface InfiniteScrollSettingsModel {
    /**
     * If `enableCache` is set to true, the Grid will cache the loaded data to be reused next time it is needed.
     *
     * @default false
     */
    enableCache?: boolean;
    /**
     * Defines the number of blocks to be maintained in Grid while settings enableCache as true.
     *
     * @default 3
     */
    maxBlocks?: number;
    /**
     * Defines the number of blocks will render at the initial Grid rendering while enableCache is enabled.
     *
     * @default 3
     */
    initialBlocks?: number;
}
/**
 * Interface for a class FilterSettings
 */
export interface FilterSettingsModel {
    /**
     * Specifies the columns to be filtered at initial rendering of the Grid. You can also get the columns that were currently filtered.
     *
     * @default []
     */
    columns?: PredicateModel[];
    /**
     * Defines options for filtering type. The available options are
     * * `Menu` - Specifies the filter type as menu.
     * * `CheckBox` - Specifies the filter type as checkbox.
     * * `FilterBar` - Specifies the filter type as filterbar.
     * * `Excel` - Specifies the filter type as checkbox.
     *
     * @default FilterBar
     */
    type?: FilterType;
    /**
     * Defines the filter bar modes. The available options are,
     * * `OnEnter`: Initiates filter operation after Enter key is pressed.
     * * `Immediate`: Initiates filter operation after a certain time interval. By default, time interval is 1500 ms.
     *
     * @default OnEnter
     */
    mode?: FilterBarMode;
    /**
     * Shows or hides the filtered status message on the pager.
     *
     * @default true
     */
    showFilterBarStatus?: boolean;
    /**
     * Defines the time delay (in milliseconds) in filtering records when the `Immediate` mode of filter bar is set.
     *
     * @default 1500
     */
    immediateModeDelay?: number;
    /**
     * The `operators` is used to override the default operators in filter menu. This should be defined by type wise
     * (string, number, date and boolean). Based on the column type, this customize operator list will render in filter menu.
     *
     * > Check the [`Filter Menu Operator`](../../grid/how-to/#customizing-filter-menu-operators-list/) customization.
     *
     * @default null
     */
    operators?: ICustomOptr;
    /**
     * If ignoreAccent set to true, then filter ignores the diacritic characters or accents while filtering.
     *
     * > Check the [`Diacritics`](../../grid/filtering/#diacritics/) filtering.
     *
     * @default false
     */
    ignoreAccent?: boolean;
    /**
     * If `enableCaseSensitivity` is set to true then searches grid records with exact match based on the filter
     * operator. It will have no effect on number, boolean and Date fields.
     *
     * @default false
     */
    enableCaseSensitivity?: boolean;
    /**
     * If 'showFilterBarOperator' is set to true, then it renders the dropdownlist component to select the operator
     * in filterbar input
     *
     * @default false
     */
    showFilterBarOperator?: boolean;
}
/**
 * Interface for a class SelectionSettings
 */
export interface SelectionSettingsModel {
    /**
     * Grid supports row, cell, and both (row and cell) selection mode.
     *
     * @default Row
     */
    mode?: SelectionMode;
    /**
     * The cell selection modes are flow and box. It requires the selection
     * [`mode`](grid/#mode-selectionmode/) to be either cell or both.
     * * `Flow`: Selects the range of cells between start index and end index that also includes the other cells of the selected rows.
     * * `Box`: Selects the range of cells within the start and end column indexes that includes in between cells of rows within the range.
     * * `BoxWithBorder`: Selects the range of cells as like Box mode with borders.
     *
     * @default Flow
     */
    cellSelectionMode?: CellSelectionMode;
    /**
     * Defines options for selection type. They are
     * * `Single`: Allows selection of only a row or a cell.
     * * `Multiple`: Allows selection of multiple rows or cells.
     *
     * @default Single
     */
    type?: SelectionType;
    /**
     * If 'checkboxOnly' set to true, then the Grid selection is allowed only through checkbox.
     *
     * > To enable checkboxOnly selection, should specify the column type as`checkbox`.
     *
     * @default false
     */
    checkboxOnly?: boolean;
    /**
     * If 'persistSelection' set to true, then the Grid selection is persisted on all operations.
     * For persisting selection in the Grid, any one of the column should be enabled as a primary key.
     *
     * @default false
     */
    persistSelection?: boolean;
    /**
     * Defines options for checkbox selection Mode. They are
     * * `Default`: This is the default value of the checkboxMode. In this mode, user can select multiple rows by clicking rows one by one.
     * * `ResetOnRowClick`: In ResetOnRowClick mode, on clicking a row it will reset previously selected row and also multiple
     *  rows can be selected by using CTRL or SHIFT key.
     *
     * @default Default
     */
    checkboxMode?: CheckboxSelectionType;
    /**
     * If 'enableSimpleMultiRowSelection' set to true, then the user can able to perform multiple row selection with single clicks.
     *
     * @default false
     */
    enableSimpleMultiRowSelection?: boolean;
    /**
     * If 'enableToggle' set to true, then the user can able to perform toggle for the selected row.
     *
     * @default true
     */
    enableToggle?: boolean;
    /**
     * If 'allowColumnSelection' set to true, then the user can able to select the columns.
     *
     * @default false
     */
    allowColumnSelection?: boolean;
}
/**
 * Interface for a class SearchSettings
 */
export interface SearchSettingsModel {
    /**
     * Specifies the collection of fields included in search operation. By default, bounded columns of the Grid are included.
     *
     * @default []
     */
    fields?: string[];
    /**
     * Specifies the key value to search Grid records at initial rendering.
     * You can also get the current search key.
     *
     * @default ''
     */
    key?: string;
    /**
     * Defines the operator to search records. The available operators are:
     * <table>
     * <tr>
     * <td colspan=1 rowspan=1>
     * Operator<br/></td><td colspan=1 rowspan=1>
     * Description<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * startswith<br/></td><td colspan=1 rowspan=1>
     * Checks whether the string begins with the specified string.<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * endswith<br/></td><td colspan=1 rowspan=1>
     * Checks whether the string ends with the specified string.<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * contains<br/></td><td colspan=1 rowspan=1>
     * Checks whether the string contains the specified string. <br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * equal<br/></td><td colspan=1 rowspan=1>
     * Checks whether the string is equal to the specified string.<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * notequal<br/></td><td colspan=1 rowspan=1>
     * Checks for strings not equal to the specified string. <br/></td></tr>
     * </table>
     *
     * @default 'contains'
     */
    operator?: string;
    /**
     * If `ignoreCase` is set to false, searches records that match exactly, else
     * searches records that are case insensitive(uppercase and lowercase letters treated the same).
     *
     * @default true
     */
    ignoreCase?: boolean;
    /**
     * If ignoreAccent set to true, then filter ignores the diacritic characters or accents while filtering.
     *
     * > Check the [`Diacritics`](../../grid/filtering/#diacritics/) filtering.
     *
     * @default false
     */
    ignoreAccent?: boolean;
}
/**
 * Interface for a class RowDropSettings
 */
export interface RowDropSettingsModel {
    /**
     * Defines the ID of droppable component on which row drop should occur.
     *
     * @default null
     */
    targetID?: string;
}
/**
 * Interface for a class TextWrapSettings
 */
export interface TextWrapSettingsModel {
    /**
     * Defines the `wrapMode` of the Grid. The available modes are:
     * * `Both`: Wraps both the header and content.
     * * `Content`: Wraps the header alone.
     * * `Header`: Wraps the content alone.
     *
     * @default Both
     */
    wrapMode?: WrapMode;
}
/**
 * Interface for a class ResizeSettings
 */
export interface ResizeSettingsModel {
    /**
     * Defines the mode of Grid column resizing. The available modes are:
     * `Normal`: Columns will not be adjusted to fit the remaining space.
     * `Auto`: Resized column width will be adjusted by other columns automatically.
     *
     * @default Normal
     */
    mode?: ResizeMode;
}
/**
 * Interface for a class GroupSettings
 */
export interface GroupSettingsModel {
    /**
     * If `showDropArea` is set to true, the group drop area element will be visible at the top of the Grid.
     *
     * @default true
     */
    showDropArea?: boolean;
    /**
     * If `allowReordering` is set to true, Grid allows the grouped elements to be reordered.
     *
     * @default false
     */
    allowReordering?: boolean;
    /**
     * If `showToggleButton` set to true, then the toggle button will be showed in the column headers which can be used to group
     * or ungroup columns by clicking them.
     *
     * @default false
     */
    showToggleButton?: boolean;
    /**
     * If `showGroupedColumn` is set to false, it hides the grouped column after grouping.
     *
     * @default false
     */
    showGroupedColumn?: boolean;
    /**
     * If `showUngroupButton` set to false, then ungroup button is hidden in dropped element.
     * It can be used to ungroup the grouped column when click on ungroup button.
     *
     * @default true
     */
    showUngroupButton?: boolean;
    /**
     * If `disablePageWiseAggregates` set to true, then the group aggregate value will
     * be calculated from the whole data instead of paged data and two requests will be made for each page
     * when Grid bound with remote service.
     *
     * @default false
     */
    disablePageWiseAggregates?: boolean;
    /**
     * Specifies the column names to group at initial rendering of the Grid.
     * You can also get the currently grouped columns.
     *
     * @default []
     */
    columns?: string[];
    /**
     * The Caption Template allows user to display the string or HTML element in group caption.
     * > It accepts either the
     * [template string](https://ej2.syncfusion.com/documentation/common/template-engine/) or the HTML element ID.
     *
     * @default ''
     */
    captionTemplate?: string | Object;
    /**
     * The Lazy load grouping, allows the Grid to render only the initial level caption rows in collapsed state while grouping.
     * The child rows of each caption will render only when we expand the captions.
     *
     * @default false
     */
    enableLazyLoading?: boolean;
}
/**
 * Interface for a class EditSettings
 */
export interface EditSettingsModel {
    /**
     * If `allowAdding` is set to true, new records can be added to the Grid.
     *
     * @default false
     */
    allowAdding?: boolean;
    /**
     * If `allowEditing` is set to true, values can be updated in the existing record.
     *
     * @default false
     */
    allowEditing?: boolean;
    /**
     * If `allowDeleting` is set to true, existing record can be deleted from the Grid.
     *
     * @default false
     */
    allowDeleting?: boolean;
    /**
     * Defines the mode to edit. The available editing modes are:
     * * Normal
     * * Dialog
     * * Batch
     *
     * @default Normal
     */
    mode?: EditMode;
    /**
     * If `allowEditOnDblClick` is set to false, Grid will not allow editing of a record on double click.
     *
     * @default true
     */
    allowEditOnDblClick?: boolean;
    /**
     * if `showConfirmDialog` is set to false, confirm dialog does not show when batch changes are saved or discarded.
     *
     * @default true
     */
    showConfirmDialog?: boolean;
    /**
     * If `showDeleteConfirmDialog` is set to true, confirm dialog will show delete action. You can also cancel delete command.
     *
     * @default false
     */
    showDeleteConfirmDialog?: boolean;
    /**
     * Defines the custom edit elements for the dialog template.
     *
     * @default ''
     * @aspType string
     */
    template?: string | Object;
    /**
     * Defines the custom edit elements for the dialog header template.
     *
     * @default ''
     * @aspType string
     */
    headerTemplate?: string | Object;
    /**
     * Defines the custom edit elements for the dialog footer template.
     *
     * @default ''
     * @aspType string
     */
    footerTemplate?: string | Object;
    /**
     * Defines the position of adding a new row. The available position are:
     * * Top
     * * Bottom
     *
     * @default Top
     */
    newRowPosition?: NewRowPosition;
    /**
     * Defines the dialog params to edit.
     *
     * @default {}
     */
    dialog?: IDialogUI;
    /**
     * If allowNextRowEdit is set to true, editing is done to next row. By default allowNextRowEdit is set to false.
     *
     * @default false
     */
    allowNextRowEdit?: boolean;
}
/**
 * Interface for a class LoadingIndicator
 */
export interface LoadingIndicatorModel {
    /**
     * Defines the loading indicator. The available loading indicator are:
     * * Spinner
     * * Shimmer
     *
     * @default Spinner
     */
    indicatorType?: IndicatorType;
}
/**
 * Interface for a class Grid
 */
export interface GridModel extends base.ComponentModel{
    /**
     * Gets the parent Grid details.
     */
    parentDetails?: ParentDetails;
    /**
     * Defines the schema of dataSource.
     * If the `columns` declaration is empty or undefined then the `columns` are automatically generated from data source.
     * {% codeBlock src='grid/columns/index.md' %}{% endcodeBlock %}
     *
     * @default []
     */
    columns?: Column[] | string[] | ColumnModel[];
    /**
     * If `enableAltRow` is set to true, the grid will render with `e-altrow` CSS class to the alternative tr elements.
     * > Check the [`AltRow`](../../grid/row/#styling-alternate-rows/) to customize the styles of alternative rows.
     * {% codeBlock src='grid/enableAltRow/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableAltRow?: boolean;
    /**
     * If `enableHover` is set to true, the row hover is enabled in the Grid.
     * {% codeBlock src='grid/enableHover/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableHover?: boolean;
    /**
     * If `enableAutoFill` is set to true, then the auto fill icon will displayed on cell selection for copy cells.
     * It requires the selection `mode` to be Cell and `cellSelectionMode` to be `Box`.
     * {% codeBlock src='grid/enableAutoFill/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    enableAutoFill?: boolean;
    /**
     * Enables or disables the key board interaction of Grid.
     *
     * @default true
     */
    allowKeyboard?: boolean;
    /**
     * If 'enableStickyHeader' set to true, then the user can able to make the column headers visible when the document is scrolled.
     *
     * @default false
     */
    enableStickyHeader?: boolean;
    /**
     * If `allowTextWrap` set to true,
     * then text content will wrap to the next line when its text content exceeds the width of the Column Cells.
     * {% codeBlock src='grid/allowTextWrap/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    allowTextWrap?: boolean;
    /**
     * Configures the text wrap in the Grid.
     * {% codeBlock src='grid/textWrapSettings/index.md' %}{% endcodeBlock %}
     *
     * @default {wrapMode:"Both"}
     */
    textWrapSettings?: TextWrapSettingsModel;
    /**
     * Defines the resizing behavior of the Grid.
     *
     * @default {mode:"Normal"}
     */
    resizeSettings?: ResizeSettingsModel;
    /**
     * If `allowPaging` is set to true, the pager renders at the footer of the Grid. It is used to handle page navigation in the Grid.
     *
     * > Check the [`Paging`](../../grid/paging/) to configure the grid pager.
     * {% codeBlock src='grid/allowPaging/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    allowPaging?: boolean;
    /**
     * Configures the pager in the Grid.
     * {% codeBlock src='grid/pageSettings/index.md' %}{% endcodeBlock %}
     *
     * @default {currentPage: 1, pageSize: 12, pageCount: 8, enableQueryString: false, pageSizes: false, template: null}
     */
    pageSettings?: PageSettingsModel;
    /**
     * Configures the Loading Indicator of the Grid.
     *
     * @default {indicatorType: 'Spinner'}
     */
    loadingIndicator?: LoadingIndicatorModel;
    /**
     * Specifies the shimmer effect for Grid virtual and infinite scrolling.
     *
     * @default true
     */
    enableVirtualMaskRow?: boolean;
    /**
     * If `enableVirtualization` set to true, then the Grid will render only the rows visible within the view-port
     * and load subsequent rows on vertical scrolling. This helps to load large dataset in Grid.
     * {% codeBlock src='grid/enableVirtualization/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    enableVirtualization?: boolean;
    /**
     * If `enableColumnVirtualization` set to true, then the Grid will render only the columns visible within the view-port
     * and load subsequent columns on horizontal scrolling. This helps to load large dataset of columns in Grid.
     * {% codeBlock src='grid/enableColumnVirtualization/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    enableColumnVirtualization?: boolean;
    /**
     * If `enableInfiniteScrolling` set to true, then the data will be loaded in Grid when the scrollbar reaches the end.
     * This helps to load large dataset in Grid.
     * {% codeBlock src='grid/enableInfiniteScrolling/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    enableInfiniteScrolling?: boolean;
    /**
     * Configures the search behavior in the Grid.
     * {% codeBlock src='grid/searchSettings/index.md' %}{% endcodeBlock %}
     *
     * @default { ignoreCase: true, fields: [], operator: 'contains', key: '' }
     */
    searchSettings?: SearchSettingsModel;
    /**
     * If `allowSorting` is set to true, it allows sorting of grid records when column header is clicked.
     *
     * > Check the [`Sorting`](../../grid/sorting/) to customize its default behavior.
     * {% codeBlock src='grid/allowSorting/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    allowSorting?: boolean;
    /**
     *  Defines the mode of clip. The available modes are,
     * `Clip`: Truncates the cell content when it overflows its area.
     * `Ellipsis`: Displays ellipsis when the cell content overflows its area.
     * `EllipsisWithTooltip`:  Displays ellipsis when the cell content overflows its area,
     *  also it will display the tooltip while hover on ellipsis is applied.
     * {% codeBlock src='grid/clipMode/index.md' %}{% endcodeBlock %}
     *
     * @default Ellipsis
     */
    clipMode?: ClipMode;
    /**
     * If `allowMultiSorting` set to true, then it will allow the user to sort multiple column in the grid.
     * > `allowSorting` should be true.
     * {% codeBlock src='grid/allowMultiSorting/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    allowMultiSorting?: boolean;
    /**
     * If `allowExcelExport` set to true, then it will allow the user to export grid to Excel file.
     *
     * > Check the [`ExcelExport`](../../grid/excel-exporting/) to configure exporting document.
     * {% codeBlock src='grid/allowExcelExport/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    allowExcelExport?: boolean;
    /**
     * If `allowPdfExport` set to true, then it will allow the user to export grid to Pdf file.
     *
     * > Check the [`Pdfexport`](../../grid/pdf-export/) to configure the exporting document.
     * {% codeBlock src='grid/allowPdfExport/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    allowPdfExport?: boolean;
    /**
     * Configures the sort settings.
     * {% codeBlock src='grid/sortSettings/index.md' %}{% endcodeBlock %}
     *
     * @default {columns:[]}
     */
    sortSettings?: SortSettingsModel;
    /**
     * Configures the infinite scroll settings.
     * {% codeBlock src='grid/infiniteScrollSettings/index.md' %}{% endcodeBlock %}
     *
     * @default { enableCache: false, maxBlocks: 5, initialBlocks: 5 }
     */
    infiniteScrollSettings?: InfiniteScrollSettingsModel;
    /**
     * If `allowSelection` is set to true, it allows selection of (highlight row) Grid records by clicking it.
     * {% codeBlock src='grid/allowSelection/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    allowSelection?: boolean;
    /**
     * The `selectedRowIndex` allows you to select a row at initial rendering.
     * You can also get the currently selected row index.
     * {% codeBlock src='grid/selectedRowIndex/index.md' %}{% endcodeBlock %}
     *
     * @default -1
     */
    selectedRowIndex?: number;
    /**
     * Configures the selection settings.
     * {% codeBlock src='grid/selectionSettings/index.md' %}{% endcodeBlock %}
     *
     * @default {mode: 'Row', cellSelectionMode: 'Flow', type: 'Single'}
     */
    selectionSettings?: SelectionSettingsModel;
    /**
     * If `allowFiltering` set to true the filter bar will be displayed.
     * If set to false the filter bar will not be displayed.
     * Filter bar allows the user to filter grid records with required criteria.
     *
     * > Check the [`Filtering`](../../grid/filtering/) to customize its default behavior.
     * {% codeBlock src='grid/allowFiltering/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    allowFiltering?: boolean;
    /**
     * Defines the grid row elements rendering direction. The available directions are,
     * * `Horizontal`: Renders the grid row elements in the horizontal direction
     * * `Vertical`: Renders the grid row elements in the vertical direction
     *
     * @default Horizontal
     */
    rowRenderingMode?: RowRenderingDirection;
    /**
     * If `enableAdaptiveUI` set to true the grid filter, sort, and edit dialogs render adaptively.
     *
     * @default false
     */
    enableAdaptiveUI?: boolean;
    /**
     * If `allowReordering` is set to true, Grid columns can be reordered.
     * Reordering can be done by drag and drop of a particular column from one index to another index.
     * > If Grid is rendered with stacked headers, reordering is allowed only at the same level as the column headers.
     * {% codeBlock src='grid/allowReordering/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    allowReordering?: boolean;
    /**
     * If `allowResizing` is set to true, Grid columns can be resized.
     * {% codeBlock src='grid/allowResizing/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    allowResizing?: boolean;
    /**
     * If `allowRowDragAndDrop` is set to true, you can drag and drop grid rows at another grid.
     * {% codeBlock src='grid/allowRowDragAndDrop/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    allowRowDragAndDrop?: boolean;
    /**
     * Configures the row drop settings.
     *
     * @default {targetID: ''}
     */
    rowDropSettings?: RowDropSettingsModel;
    /**
     * Configures the filter settings of the Grid.
     * {% codeBlock src='grid/filterSettings/index.md' %}{% endcodeBlock %}
     *
     * @default {columns: [], type: 'FilterBar', mode: 'Immediate', showFilterBarStatus: true, immediateModeDelay: 1500 , operators: {}}
     */
    filterSettings?: FilterSettingsModel;
    /**
     * If `allowGrouping` set to true, then it will allow the user to dynamically group or ungroup columns.
     * Grouping can be done by drag and drop columns from column header to group drop area.
     *
     * > Check the [`Grouping`](../../grid/grouping/) to customize its default behavior.
     * {% codeBlock src='grid/allowGrouping/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    allowGrouping?: boolean;
    /**
     * If `enableImmutableMode`  is set to true, the grid will reuse old rows if it exists in the new result instead of
     * full refresh while performing the grid actions.
     *
     * @default false
     */
    enableImmutableMode?: boolean;
    /**
     * If `showColumnMenu` set to true, then it will enable the column menu options in each columns.
     *
     * > Check the [`Column menu`](../../grid/columns/#column-menu/) for its configuration.
     * {% codeBlock src='grid/showColumnMenu/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    showColumnMenu?: boolean;
    /**
     * Configures the group settings.
     * {% codeBlock src='grid/groupSettings/index.md' %}{% endcodeBlock %}
     *
     * @default {showDropArea: true, showToggleButton: false, showGroupedColumn: false, showUngroupButton: true, columns: []}
     */
    groupSettings?: GroupSettingsModel;
    /**
     * Configures the edit settings.
     * {% codeBlock src='grid/editSettings/index.md' %}{% endcodeBlock %}
     *
     * @default { allowAdding: false, allowEditing: false, allowDeleting: false, mode:'Normal',
     * allowEditOnDblClick: true, showConfirmDialog: true, showDeleteConfirmDialog: false }
     */
    editSettings?: EditSettingsModel;
    /**
     * Configures the Grid aggregate rows.
     * {% codeBlock src='grid/aggregates/index.md' %}{% endcodeBlock %}
     * > Check the [`Aggregates`](../../grid/aggregates/) for its configuration.
     *
     * @default []
     */
    aggregates?: AggregateRowModel[];
    /**
     * If `showColumnChooser` is set to true, it allows you to dynamically show or hide columns.
     *
     * > Check the [`ColumnChooser`](../../grid/columns/#column-chooser/) for its configuration.
     * {% codeBlock src='grid/showColumnChooser/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    showColumnChooser?: boolean;
    /**
     * Configures the column chooser in the Grid.
     *
     * @default { columnChooserOperator: 'startsWith' }
     */
    columnChooserSettings?: ColumnChooserSettingsModel;
    /**
     * If `enableHeaderFocus` set to true, then header element will be focused when focus moves to grid.
     *
     * @default false
     */
    enableHeaderFocus?: boolean;
    /**
     * Defines the scrollable height of the grid content.
     * {% codeBlock src='grid/height/index.md' %}{% endcodeBlock %}
     *
     * @default 'auto'
     */
    height?: string | number;
    /**
     * Defines the Grid width.
     * {% codeBlock src='grid/width/index.md' %}{% endcodeBlock %}
     *
     * @default 'auto'
     */
    width?: string | number;
    /**
     * Defines the mode of grid lines. The available modes are,
     * * `Both`: Displays both horizontal and vertical grid lines.
     * * `None`: No grid lines are displayed.
     * * `Horizontal`: Displays the horizontal grid lines only.
     * * `Vertical`: Displays the vertical grid lines only.
     * * `Default`: Displays grid lines based on the theme.
     * {% codeBlock src='grid/gridLines/index.md' %}{% endcodeBlock %}
     *
     * @default Default
     */
    gridLines?: GridLine;
    /**
     * The row template that renders customized rows from the given template.
     * By default, Grid renders a table row for every data source item.
     * > * It accepts either [template string](../../common/template-engine/) or HTML element ID.
     * > * The row template must be a table row.
     *
     * > Check the [`Row Template`](../../grid/row/) customization.
     */
    rowTemplate?: string;
    /**
     * The detail template allows you to show or hide additional information about a particular row.
     *
     * > It accepts either the [template string](../../common/template-engine/) or the HTML element ID.
     *
     * {% codeBlock src="grid/detail-template-api/index.ts" %}{% endcodeBlock %}
     */
    detailTemplate?: string;
    /**
     * Defines Grid options to render child Grid.
     * It requires the [`queryString`](/#querystring) for parent
     * and child relationship.
     *
     * > Check the [`Child Grid`](../../grid/hierarchy-grid/) for its configuration.
     */
    childGrid?: GridModel;
    /**
     * Defines the relationship between parent and child datasource. It acts as the foreign key for parent datasource.
     */
    queryString?: string;
    /**
     * Defines the print modes. The available print modes are
     * * `AllPages`: Prints all pages of the Grid.
     * * `CurrentPage`: Prints the current page of the Grid.
     * {% codeBlock src='grid/printMode/index.md' %}{% endcodeBlock %}
     *
     * @default AllPages
     */
    printMode?: PrintMode;
    /**
     * Defines the hierarchy grid print modes. The available modes are
     * * `Expanded` - Prints the master grid with expanded child grids.
     * * `All` - Prints the master grid with all the child grids.
     * * `None` - Prints the master grid alone.
     *
     * @default Expanded
     */
    hierarchyPrintMode?: HierarchyGridPrintMode;
    /**
     * It is used to render grid table rows.
     * If the `dataSource` is an array of JavaScript objects,
     * then Grid will create instance of [`data.DataManager`](https://ej2.syncfusion.com/documentation/api/data/dataManager/)
     * from this `dataSource`.
     * If the `dataSource` is an existing [`data.DataManager`](https://ej2.syncfusion.com/documentation/api/data/dataManager/),
     *  the Grid will not initialize a new one.
     *
     * > Check the available [`Adaptors`](../../data/adaptors/) to customize the data operation.
     * {% codeBlock src='grid/dataSource/index.md' %}{% endcodeBlock %}
     *
     * @default []
     * @isGenericType true
     */
    dataSource?: Object | data.DataManager | DataResult;
    /**
     * Defines the height of Grid rows.
     * {% codeBlock src='grid/rowHeight/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    rowHeight?: number;
    /**
     * Defines the external [`data.Query`](https://ej2.syncfusion.com/documentation/data/api-query.html)
     * that will be executed along with data processing.
     * {% codeBlock src='grid/query/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    query?: data.Query;
    /**
     * Defines the currencyCode format of the Grid columns
     *
     * @private
     */
    currencyCode?: string;
    /**
     * `toolbar` defines the ToolBar items of the Grid.
     * It contains built-in and custom toolbar items.
     * If a string value is assigned to the `toolbar` option, it is considered as the template for the whole Grid ToolBar.
     * If an array value is assigned, it is considered as the list of built-in and custom toolbar items in the Grid's Toolbar.
     * <br><br>
     * The available built-in ToolBar items are:
     * * Add: Adds a new record.
     * * Edit: Edits the selected record.
     * * Update: Updates the edited record.
     * * Delete: Deletes the selected record.
     * * Cancel: Cancels the edit state.
     * * Search: Searches records by the given key.
     * * Print: Prints the Grid.
     * * ExcelExport - Export the Grid to Excel(excelExport() method manually to make export.)
     * * PdfExport - Export the Grid to PDF(pdfExport() method manually to make export.)
     * * CsvExport - Export the Grid to CSV(csvExport() method manually to make export.)<br><br>
     * The following code example implements the custom toolbar items.
     *
     *  > Check the [`Toolbar`](../../grid/tool-bar/#custom-toolbar-items/) to customize its default items.
     *
     * {% codeBlock src="grid/toolbar-api/index.ts" %}{% endcodeBlock %}
     * {% codeBlock src='grid/toolbar/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    toolbar?: (ToolbarItems | string | navigations.ItemModel | ToolbarItem)[];
    /**
     * `contextMenuItems` defines both built-in and custom context menu items.
     * <br><br>
     * The available built-in items are,
     * * `AutoFitAll` - Auto fit the size of all columns.
     * * `AutoFit` - Auto fit the current column.
     * * `Group` - Group by current column.
     * * `Ungroup` - Ungroup by current column.
     * * `Edit` - Edit the current record.
     * * `Delete` - Delete the current record.
     * * `Save` - Save the edited record.
     * * `Cancel` - Cancel the edited state.
     * * `Copy` - Copy the selected records.
     * * `PdfExport` - Export the grid as Pdf format.
     * * `ExcelExport` - Export the grid as Excel format.
     * * `CsvExport` - Export the grid as CSV format.
     * * `SortAscending` - Sort the current column in ascending order.
     * * `SortDescending` - Sort the current column in descending order.
     * * `FirstPage` - Go to the first page.
     * * `PrevPage` - Go to the previous page.
     * * `LastPage` - Go to the last page.
     * * `NextPage` - Go to the next page.
     *
     * @default null
     */
    contextMenuItems?: ContextMenuItem[] | ContextMenuItemModel[];
    /**
     * `columnMenuItems` defines both built-in and custom column menu items.
     * <br><br>
     * The available built-in items are,
     * * `AutoFitAll` - Auto fit the size of all columns.
     * * `AutoFit` - Auto fit the current column.
     * * `Group` - Group by current column.
     * * `Ungroup` - Ungroup by current column.
     * * `SortAscending` - Sort the current column in ascending order.
     * * `SortDescending` - Sort the current column in descending order.
     * * `Filter` - Filter options will show based on filterSettings property like checkbox filter, excel filter, menu filter.
     *
     * @default null
     */
    columnMenuItems?: ColumnMenuItem[] | ColumnMenuItemModel[];
    /**
     * It used to render toolbar template
     *
     * @default null
     */
    toolbarTemplate?: string;
    /**
     * It used to render pager template
     *
     * @default null
     */
    pagerTemplate?: string;
    /**
     * Gets or sets the number of frozen rows.
     * {% codeBlock src='grid/frozenRows/index.md' %}{% endcodeBlock %}
     *
     * @default 0
     */
    frozenRows?: number;
    /**
     * Gets or sets the number of frozen columns.
     * {% codeBlock src='grid/frozenColumns/index.md' %}{% endcodeBlock %}
     *
     * @default 0
     */
    frozenColumns?: number;
    /**
     * Defines the own class for the grid element.
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * `columnQueryMode`provides options to retrive data from the datasource.Their types are
     * * `All`: It Retrives whole datasource.
     * * `Schema`: Retrives data for all the defined columns in grid from the datasource.
     * * `ExcludeHidden`: Retrives data only for visible columns of grid from the dataSource.
     *
     * @default All
     */
    columnQueryMode?: ColumnQueryModeType;
    /**
     * Gets or sets the current action details.
     *
     * @default {}
     */
    currentAction?: ActionArgs;
    /**
     * Defines the version for Grid persistence.
     */
    ej2StatePersistenceVersion?: string;
    /**
     * Triggers when the component is created.
     *
     * @event created
     */
    created?: base.EmitType<Object>;
    /**
     * Triggers when the component is destroyed.
     *
     * @event destroyed
     */
    destroyed?: base.EmitType<Object>;
    /**
     * This event allows customization of Grid properties before rendering.
     *
     * @event load
     */
    load?: base.EmitType<Object>;
    /**
     * Triggered every time a request is made to access row information, element, or data.
     * This will be triggered before the row element is appended to the Grid element.
     *
     * @event rowDataBound
     */
    rowDataBound?: base.EmitType<RowDataBoundEventArgs>;
    /**
     * Triggered every time a request is made to access cell information, element, or data.
     * This will be triggered before the cell element is appended to the Grid element.
     *
     * @event queryCellInfo
     */
    queryCellInfo?: base.EmitType<QueryCellInfoEventArgs>;
    /**
     * Triggered for stacked header.
     *
     * @event headerCellInfo
     */
    headerCellInfo?: base.EmitType<HeaderCellInfoEventArgs>;
    /**
     * Triggers when Grid actions such as sorting, filtering, paging, grouping etc., starts.
     * 
     * {% codeBlock src='grid/actionBegin/index.md' %}{% endcodeBlock %}
     *
     * @event actionBegin
     */
    actionBegin?: base.EmitType<PageEventArgs | GroupEventArgs | FilterEventArgs | SearchEventArgs | SortEventArgs | AddEventArgs | SaveEventArgs | EditEventArgs | DeleteEventArgs | ActionEventArgs>;
    /**
     * Triggers when Grid actions such as sorting, filtering, paging, grouping etc. are completed.
     *
     * @event actionComplete
     */
    actionComplete?: base.EmitType<PageEventArgs | GroupEventArgs | FilterEventArgs | SearchEventArgs | SortEventArgs | AddEventArgs | SaveEventArgs | EditEventArgs | DeleteEventArgs | ActionEventArgs>;
    /**
     * Triggers when any Grid action failed to achieve the desired results.
     *
     * @event actionFailure
     */
    actionFailure?: base.EmitType<FailureEventArgs>;
    /**
     * Triggers when data source is populated in the Grid.
     *
     * @event dataBound
     */
    dataBound?: base.EmitType<Object>;
    /**
     * Triggers when record is double clicked.
     *
     * @event recordDoubleClick
     */
    recordDoubleClick?: base.EmitType<RecordDoubleClickEventArgs>;
    /**
     * Triggers when record is clicked.
     *
     * @event recordClick
     */
    recordClick?: base.EmitType<RecordClickEventArgs>;
    /**
     * Triggers before row selection occurs.
     *
     * @event rowSelecting
     */
    rowSelecting?: base.EmitType<RowSelectingEventArgs>;
    /**
     * Triggers after a row is selected.
     *
     * @event rowSelected
     */
    rowSelected?: base.EmitType<RowSelectEventArgs>;
    /**
     * Triggers before deselecting the selected row.
     *
     * @event rowDeselecting
     */
    rowDeselecting?: base.EmitType<RowDeselectEventArgs>;
    /**
     * Triggers when a selected row is deselected.
     *
     * @event rowDeselected
     */
    rowDeselected?: base.EmitType<RowDeselectEventArgs>;
    /**
     * Triggers before any cell selection occurs.
     *
     * @event cellSelecting
     */
    cellSelecting?: base.EmitType<CellSelectingEventArgs>;
    /**
     * Triggers after a cell is selected.
     *
     * @event cellSelected
     */
    cellSelected?: base.EmitType<CellSelectEventArgs>;
    /**
     * Triggers before the selected cell is deselecting.
     *
     * @event cellDeselecting
     */
    cellDeselecting?: base.EmitType<CellDeselectEventArgs>;
    /**
     * Triggers when a particular selected cell is deselected.
     *
     * @event cellDeselected
     */
    cellDeselected?: base.EmitType<CellDeselectEventArgs>;
    /**
     * Triggers before column selection occurs.
     *
     * @event columnSelecting
     */
    columnSelecting?: base.EmitType<ColumnSelectingEventArgs>;
    /**
     * Triggers after a column is selected.
     *
     * @event columnSelected
     */
    columnSelected?: base.EmitType<ColumnSelectEventArgs>;
    /**
     * Triggers before deselecting the selected column.
     *
     * @event columnDeselecting
     */
    columnDeselecting?: base.EmitType<ColumnDeselectEventArgs>;
    /**
     * Triggers when a selected column is deselected.
     *
     * @event columnDeselected
     */
    columnDeselected?: base.EmitType<ColumnDeselectEventArgs>;
    /**
     * Triggers when column header element drag (move) starts.
     *
     * @event columnDragStart
     */
    columnDragStart?: base.EmitType<ColumnDragEventArgs>;
    /**
     * Triggers when column header element is dragged (moved) continuously.
     *
     * @event columnDrag
     */
    columnDrag?: base.EmitType<ColumnDragEventArgs>;
    /**
     * Triggers when a column header element is dropped on the target column.
     *
     * @event columnDrop
     */
    columnDrop?: base.EmitType<ColumnDragEventArgs>;
    /**
     * Triggers after print action is completed.
     *
     * @event printComplete
     */
    printComplete?: base.EmitType<PrintEventArgs>;
    /**
     * Triggers before the print action starts.
     *
     * @event beforePrint
     */
    beforePrint?: base.EmitType<PrintEventArgs>;
    /**
     * Triggers before exporting each cell to PDF document. You can also customize the PDF cells.
     *
     * @event pdfQueryCellInfo
     */
    pdfQueryCellInfo?: base.EmitType<PdfQueryCellInfoEventArgs>;
    /**
     * Triggers before exporting each header cell to PDF document. You can also customize the PDF cells.
     *
     * @event pdfHeaderQueryCellInfo
     */
    pdfHeaderQueryCellInfo?: base.EmitType<PdfHeaderQueryCellInfoEventArgs>;
    /**
     * Triggers before exporting aggregate cell to PDF document. You can also customize the PDF cells.
     *
     * @event pdfAggregateQueryCellInfo
     */
    pdfAggregateQueryCellInfo?: base.EmitType<AggregateQueryCellInfoEventArgs>;
    /**
     * Triggers before exporting aggregate cell to Excel document. You can also customize the PDF cells.
     *
     * @event excelAggregateQueryCellInfo
     */
    excelAggregateQueryCellInfo?: base.EmitType<AggregateQueryCellInfoEventArgs>;
    /**
     * Triggers before exporting each detail Grid to PDF document.
     *
     * @event exportDetailDataBound
     */
    exportDetailDataBound?: base.EmitType<ExportDetailDataBoundEventArgs>;
    /**
     * Triggers before exporting each cell to Excel file.
     * You can also customize the Excel cells.
     *
     * @event excelQueryCellInfo
     */
    excelQueryCellInfo?: base.EmitType<ExcelQueryCellInfoEventArgs>;
    /**
     * Triggers before exporting each header cell to Excel file.
     * You can also customize the Excel cells.
     *
     * @event excelHeaderQueryCellInfo
     */
    excelHeaderQueryCellInfo?: base.EmitType<ExcelHeaderQueryCellInfoEventArgs>;
    /**
     * Triggers before Grid data is exported to Excel file.
     *
     * @event beforeExcelExport
     */
    beforeExcelExport?: base.EmitType<Object>;
    /**
     * Triggers after Grid data is exported to Excel file.
     *
     * @event excelExportComplete
     */
    excelExportComplete?: base.EmitType<ExcelExportCompleteArgs>;
    /**
     * Triggers before Grid data is exported to PDF document.
     *
     * @event beforePdfExport
     */
    beforePdfExport?: base.EmitType<Object>;
    /**
     * Triggers after Grid data is exported to PDF document.
     *
     * @event pdfExportComplete
     */
    pdfExportComplete?: base.EmitType<PdfExportCompleteArgs>;
    /**
     * Triggers when row element's before drag(move).
     *
     * @event rowDragStartHelper
     */
    rowDragStartHelper?: base.EmitType<RowDragEventArgs>;
    /**
     * Triggers after detail row expands.
     * > This event triggers at initial expand.
     *
     * @event detailDataBound
     */
    detailDataBound?: base.EmitType<DetailDataBoundEventArgs>;
    /**
     * Triggers when row element's drag(move) starts.
     *
     * @event rowDragStart
     */
    rowDragStart?: base.EmitType<RowDragEventArgs>;
    /**
     * Triggers when row elements are dragged (moved) continuously.
     *
     * @event rowDrag
     */
    rowDrag?: base.EmitType<RowDragEventArgs>;
    /**
     * Triggers when row elements are dropped on the target row.
     *
     * @event rowDrop
     */
    rowDrop?: base.EmitType<RowDragEventArgs>;
    /**
     * Triggers when toolbar item is clicked.
     *
     * @event toolbarClick
     */
    toolbarClick?: base.EmitType<navigations.ClickEventArgs>;
    /**
     * Triggers before the columnChooser open.
     *
     * @event beforeOpenColumnChooser
     */
    beforeOpenColumnChooser?: base.EmitType<ColumnChooserEventArgs>;
    /**
     * Triggers before adaptive filter and sort dialogs open.
     *
     * @event beforeOpenAdaptiveDialog
     */
    beforeOpenAdaptiveDialog?: base.EmitType<AdaptiveDialogEventArgs>;
    /**
     * Triggers when records are added in batch mode.
     *
     * @event batchAdd
     */
    batchAdd?: base.EmitType<BatchAddArgs>;
    /**
     * Triggers when records are deleted in batch mode.
     *
     * @event batchDelete
     */
    batchDelete?: base.EmitType<BatchDeleteArgs>;
    /**
     * Triggers when cancel the batch edit changes batch mode.
     *
     * @event batchCancel
     */
    batchCancel?: base.EmitType<BatchCancelArgs>;
    /**
     * Triggers before records are added in batch mode.
     *
     * @event beforeBatchAdd
     */
    beforeBatchAdd?: base.EmitType<BeforeBatchAddArgs>;
    /**
     * Triggers before records are deleted in batch mode.
     *
     * @event beforeBatchDelete
     */
    beforeBatchDelete?: base.EmitType<BeforeBatchDeleteArgs>;
    /**
     * Triggers before records are saved in batch mode.
     *
     * @event beforeBatchSave
     */
    beforeBatchSave?: base.EmitType<BeforeBatchSaveArgs>;
    /**
     * Triggers before the record is to be edit.
     *
     * @event beginEdit
     */
    beginEdit?: base.EmitType<BeginEditArgs>;
    /**
     * Triggers when command button is clicked.
     *
     * @event commandClick
     */
    commandClick?: base.EmitType<CommandClickEventArgs>;
    /**
     * Triggers when the cell is being edited.
     *
     * @event cellEdit
     */
    cellEdit?: base.EmitType<CellEditArgs>;
    /**
     * Triggers when cell is saved.
     *
     * @event cellSave
     */
    cellSave?: base.EmitType<CellSaveArgs>;
    /**
     * Triggers when cell is saved.
     *
     * @event cellSaved
     */
    cellSaved?: base.EmitType<CellSaveArgs>;
    /**
     * Triggers when column resize starts.
     *
     * @event resizeStart
     */
    resizeStart?: base.EmitType<ResizeArgs>;
    /**
     * Triggers on column resizing.
     *
     * @event resizing
     */
    resizing?: base.EmitType<ResizeArgs>;
    /**
     * Triggers when column resize ends.
     *
     * @event resizeStop
     */
    resizeStop?: base.EmitType<ResizeArgs>;
    /**
     * Triggers when any keyboard keys are pressed inside the grid.
     *
     * @event keyPressed
     */
    keyPressed?: base.EmitType<KeyboardEventArgs>;
    /**
     * Triggers before data is bound to Grid.
     *
     * @event beforeDataBound
     */
    beforeDataBound?: base.EmitType<BeforeDataBoundArgs>;
    /**
     * Triggers before context menu opens.
     *
     * @event contextMenuOpen
     */
    contextMenuOpen?: base.EmitType<navigations.BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers when click on context menu.
     *
     * @event contextMenuClick
     */
    contextMenuClick?: base.EmitType<navigations.MenuEventArgs>;
    /**
     * Triggers before column menu opens.
     *
     * @event columnMenuOpen
     */
    columnMenuOpen?: base.EmitType<ColumnMenuOpenEventArgs>;
    /**
     * Triggers when click on column menu.
     *
     * @event columnMenuClick
     */
    columnMenuClick?: base.EmitType<navigations.MenuEventArgs>;
    /**
     * Triggers when the check box state change in checkbox column.
     *
     * @event checkBoxChange
     */
    checkBoxChange?: base.EmitType<CheckBoxChangeEventArgs>;
    /**
     * Triggers before Grid copy action.
     *
     * @event beforeCopy
     */
    beforeCopy?: base.EmitType<BeforeCopyEventArgs>;
    /**
     * Triggers before Grid paste action.
     *
     * @event beforePaste
     */
    beforePaste?: base.EmitType<BeforePasteEventArgs>;
    /**
     * Triggers before Grid autoFill action.
     *
     * @event beforeAutoFill
     */
    beforeAutoFill?: base.EmitType<BeforeAutoFillEventArgs>;
    /**
     * Triggers when the grid actions such as Sorting, Paging, Grouping etc., are done to get column `dataSource`.
     * In this event,the current view column data and total record count should be assigned to the column `dataSource` based
     * on the action performed.
     *
     * @event columnDataStateChange
     */
    columnDataStateChange?: base.EmitType<ColumnDataStateChangeEventArgs>;
    /**
     * Triggers when the grid actions such as Sorting, Paging, Grouping etc., are done.
     * In this event,the current view data and total record count should be assigned to the `dataSource` based on the action performed.
     *
     * @event dataStateChange
     */
    dataStateChange?: base.EmitType<DataStateChangeEventArgs>;
    /**
     * Triggers when the grid data is added, deleted and updated.
     * Invoke the done method from the argument to start render after edit operation.
     *
     * @event dataSourceChanged
     */
    dataSourceChanged?: base.EmitType<DataSourceChangedEventArgs>;
    /**
     * Triggers before exporting each caption row to PDF/Excel/CSV document. You can also customize the export caption row values.
     *
     * @event exportGroupCaption
     */
    exportGroupCaption?: base.EmitType<ExportGroupCaptionEventArgs>;
    /**
     * Triggers when expand the caption row in lazy load grouping.
     *
     * @event lazyLoadGroupExpand
     */
    lazyLoadGroupExpand?: base.EmitType<LazyLoadArgs>;
    /**
     * Triggers when collapse the caption row in lazy load grouping.
     *
     * @event lazyLoadGroupCollapse
     */
    lazyLoadGroupCollapse?: base.EmitType<LazyLoadArgs>;
}
//node_modules/@syncfusion/ej2-grids/src/grid/base/grid.d.ts
/**
 * Represents the field name and direction of sort column.
 */
export  class SortDescriptor extends base.ChildProperty<SortDescriptor> {
    /**
     * Defines the field name of sort column.
     *
     * @default ''
     */
    field: string;
    /**
     * Defines the direction of sort column.
     *
     * @default ''
     */
    direction: SortDirection;
    /**
     * @hidden
     * Defines the sorted column whether or from grouping operation.
     *
     * @default false
     */
    isFromGroup: boolean;
}
/**
 * Configures the sorting behavior of Grid.
 */
export  class SortSettings extends base.ChildProperty<SortSettings> {
    /**
     * Specifies the columns to sort at initial rendering of Grid.
     * Also user can get current sorted columns.
     *
     * @default []
     */
    columns: SortDescriptorModel[];
    /**
     * If `allowUnsort` set to false the user can not get the grid in unsorted state by clicking the sorted column header.
     *
     * @default true
     */
    allowUnsort: boolean;
}
/**
 * Represents the predicate for the filter column.
 */
export  class Predicate extends base.ChildProperty<Predicate> {
    /**
     * Defines the field name of the filter column.
     *
     * @default ''
     */
    field: string;
    /**
     * Defines the operator to filter records. The available operators and its supported data types are:
     * <table>
     * <tr>
     * <td colspan=1 rowspan=1>
     * Operator<br/></td><td colspan=1 rowspan=1>
     * Description<br/></td><td colspan=1 rowspan=1>
     * Supported Types<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * startswith<br/></td><td colspan=1 rowspan=1>
     * Checks whether the value begins with the specified value.<br/></td><td colspan=1 rowspan=1>
     * String<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * endswith<br/></td><td colspan=1 rowspan=1>
     * Checks whether the value ends with the specified value.<br/><br/></td><td colspan=1 rowspan=1>
     * <br/>String<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * contains<br/></td><td colspan=1 rowspan=1>
     * Checks whether the value contains the specified value.<br/><br/></td><td colspan=1 rowspan=1>
     * <br/>String<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * equal<br/></td><td colspan=1 rowspan=1>
     * Checks whether the value is equal to the specified value.<br/><br/></td><td colspan=1 rowspan=1>
     * <br/>String | Number | Boolean | Date<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * notequal<br/></td><td colspan=1 rowspan=1>
     * Checks for values that are not equal to the specified value.<br/><br/></td><td colspan=1 rowspan=1>
     * <br/>String | Number | Boolean | Date<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * greaterthan<br/></td><td colspan=1 rowspan=1>
     * Checks whether the value is greater than the specified value.<br/><br/></td><td colspan=1 rowspan=1>
     * Number | Date<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * greaterthanorequal<br/></td><td colspan=1 rowspan=1>
     * Checks whether the value is greater than or equal to the specified value.<br/><br/></td><td colspan=1 rowspan=1>
     * <br/>Number | Date<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * lessthan<br/></td><td colspan=1 rowspan=1>
     * Checks whether the value is less than the specified value.<br/><br/></td><td colspan=1 rowspan=1>
     * <br/>Number | Date<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * lessthanorequal<br/></td><td colspan=1 rowspan=1>
     * Checks whether the value is less than or equal to the specified value.<br/><br/></td><td colspan=1 rowspan=1>
     * <br/>Number | Date<br/></td></tr>
     * </table>
     *
     * @default null
     */
    operator: string;
    /**
     * Defines the value used to filter records.
     *
     * @default ''
     */
    value: string | number | Date | boolean;
    /**
     * If match case set to true, then filter records with exact match or else
     * filter records with case insensitive(uppercase and lowercase letters treated as same).
     *
     * @default null
     */
    matchCase: boolean;
    /**
     * If ignoreAccent is set to true, then filter ignores the diacritic characters or accents while filtering.
     *
     * @default false
     */
    ignoreAccent: boolean;
    /**
     * Defines the relationship between one filter query and another by using AND or OR predicate.
     *
     * @default null
     */
    predicate: string;
    /**
     * @hidden
     * Defines the actual filter value for the filter column.
     */
    actualFilterValue: Object;
    /**
     * @hidden
     * Defines the actual filter operator for the filter column.
     */
    actualOperator: Object;
    /**
     * @hidden
     * Defines the type of the filter column.
     */
    type: string;
    /**
     * @hidden
     * Defines the predicate of filter column.
     */
    ejpredicate: Object;
    /**
     * Defines the UID of filter column.
     */
    uid: string;
    /**
     * @hidden
     * Defines the foreignKey availability in filtered columns.
     */
    isForeignKey: boolean;
}
/**
 * Configures the infinite scroll behavior of Grid.
 */
export  class InfiniteScrollSettings extends base.ChildProperty<InfiniteScrollSettings> {
    /**
     * If `enableCache` is set to true, the Grid will cache the loaded data to be reused next time it is needed.
     *
     * @default false
     */
    enableCache: boolean;
    /**
     * Defines the number of blocks to be maintained in Grid while settings enableCache as true.
     *
     * @default 3
     */
    maxBlocks: number;
    /**
     * Defines the number of blocks will render at the initial Grid rendering while enableCache is enabled.
     *
     * @default 3
     */
    initialBlocks: number;
}
/**
 * Configures the filtering behavior of the Grid.
 */
export  class FilterSettings extends base.ChildProperty<FilterSettings> {
    /**
     * Specifies the columns to be filtered at initial rendering of the Grid. You can also get the columns that were currently filtered.
     *
     * @default []
     */
    columns: PredicateModel[];
    /**
     * Defines options for filtering type. The available options are
     * * `Menu` - Specifies the filter type as menu.
     * * `CheckBox` - Specifies the filter type as checkbox.
     * * `FilterBar` - Specifies the filter type as filterbar.
     * * `Excel` - Specifies the filter type as checkbox.
     *
     * @default FilterBar
     */
    type: FilterType;
    /**
     * Defines the filter bar modes. The available options are,
     * * `OnEnter`: Initiates filter operation after Enter key is pressed.
     * * `Immediate`: Initiates filter operation after a certain time interval. By default, time interval is 1500 ms.
     *
     * @default OnEnter
     */
    mode: FilterBarMode;
    /**
     * Shows or hides the filtered status message on the pager.
     *
     * @default true
     */
    showFilterBarStatus: boolean;
    /**
     * Defines the time delay (in milliseconds) in filtering records when the `Immediate` mode of filter bar is set.
     *
     * @default 1500
     */
    immediateModeDelay: number;
    /**
     * The `operators` is used to override the default operators in filter menu. This should be defined by type wise
     * (string, number, date and boolean). Based on the column type, this customize operator list will render in filter menu.
     *
     * > Check the [`Filter Menu Operator`](../../grid/how-to/#customizing-filter-menu-operators-list/) customization.
     *
     * @default null
     */
    operators: ICustomOptr;
    /**
     * If ignoreAccent set to true, then filter ignores the diacritic characters or accents while filtering.
     *
     * > Check the [`Diacritics`](../../grid/filtering/#diacritics/) filtering.
     *
     * @default false
     */
    ignoreAccent: boolean;
    /**
     * If `enableCaseSensitivity` is set to true then searches grid records with exact match based on the filter
     * operator. It will have no effect on number, boolean and Date fields.
     *
     * @default false
     */
    enableCaseSensitivity: boolean;
    /**
     * If 'showFilterBarOperator' is set to true, then it renders the dropdownlist component to select the operator
     * in filterbar input
     *
     * @default false
     */
    showFilterBarOperator: boolean;
}
/**
 * Configures the selection behavior of the Grid.
 */
export  class SelectionSettings extends base.ChildProperty<SelectionSettings> {
    /**
     * Grid supports row, cell, and both (row and cell) selection mode.
     *
     * @default Row
     */
    mode: SelectionMode;
    /**
     * The cell selection modes are flow and box. It requires the selection
     * [`mode`](grid/#mode-selectionmode/) to be either cell or both.
     * * `Flow`: Selects the range of cells between start index and end index that also includes the other cells of the selected rows.
     * * `Box`: Selects the range of cells within the start and end column indexes that includes in between cells of rows within the range.
     * * `BoxWithBorder`: Selects the range of cells as like Box mode with borders.
     *
     * @default Flow
     */
    cellSelectionMode: CellSelectionMode;
    /**
     * Defines options for selection type. They are
     * * `Single`: Allows selection of only a row or a cell.
     * * `Multiple`: Allows selection of multiple rows or cells.
     *
     * @default Single
     */
    type: SelectionType;
    /**
     * If 'checkboxOnly' set to true, then the Grid selection is allowed only through checkbox.
     *
     * > To enable checkboxOnly selection, should specify the column type as`checkbox`.
     *
     * @default false
     */
    checkboxOnly: boolean;
    /**
     * If 'persistSelection' set to true, then the Grid selection is persisted on all operations.
     * For persisting selection in the Grid, any one of the column should be enabled as a primary key.
     *
     * @default false
     */
    persistSelection: boolean;
    /**
     * Defines options for checkbox selection Mode. They are
     * * `Default`: This is the default value of the checkboxMode. In this mode, user can select multiple rows by clicking rows one by one.
     * * `ResetOnRowClick`: In ResetOnRowClick mode, on clicking a row it will reset previously selected row and also multiple
     *  rows can be selected by using CTRL or SHIFT key.
     *
     * @default Default
     */
    checkboxMode: CheckboxSelectionType;
    /**
     * If 'enableSimpleMultiRowSelection' set to true, then the user can able to perform multiple row selection with single clicks.
     *
     * @default false
     */
    enableSimpleMultiRowSelection: boolean;
    /**
     * If 'enableToggle' set to true, then the user can able to perform toggle for the selected row.
     *
     * @default true
     */
    enableToggle: boolean;
    /**
     * If 'allowColumnSelection' set to true, then the user can able to select the columns.
     *
     * @default false
     */
    allowColumnSelection: boolean;
}
/**
 * Configures the search behavior of the Grid.
 */
export  class SearchSettings extends base.ChildProperty<SearchSettings> {
    /**
     * Specifies the collection of fields included in search operation. By default, bounded columns of the Grid are included.
     *
     * @default []
     */
    fields: string[];
    /**
     * Specifies the key value to search Grid records at initial rendering.
     * You can also get the current search key.
     *
     * @default ''
     */
    key: string;
    /**
     * Defines the operator to search records. The available operators are:
     * <table>
     * <tr>
     * <td colspan=1 rowspan=1>
     * Operator<br/></td><td colspan=1 rowspan=1>
     * Description<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * startswith<br/></td><td colspan=1 rowspan=1>
     * Checks whether the string begins with the specified string.<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * endswith<br/></td><td colspan=1 rowspan=1>
     * Checks whether the string ends with the specified string.<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * contains<br/></td><td colspan=1 rowspan=1>
     * Checks whether the string contains the specified string. <br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * equal<br/></td><td colspan=1 rowspan=1>
     * Checks whether the string is equal to the specified string.<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * notequal<br/></td><td colspan=1 rowspan=1>
     * Checks for strings not equal to the specified string. <br/></td></tr>
     * </table>
     *
     * @default 'contains'
     */
    operator: string;
    /**
     * If `ignoreCase` is set to false, searches records that match exactly, else
     * searches records that are case insensitive(uppercase and lowercase letters treated the same).
     *
     * @default true
     */
    ignoreCase: boolean;
    /**
     * If ignoreAccent set to true, then filter ignores the diacritic characters or accents while filtering.
     *
     * > Check the [`Diacritics`](../../grid/filtering/#diacritics/) filtering.
     *
     * @default false
     */
    ignoreAccent: boolean;
}
/**
 * Configures the row drop settings of the Grid.
 */
export  class RowDropSettings extends base.ChildProperty<RowDropSettings> {
    /**
     * Defines the ID of droppable component on which row drop should occur.
     *
     * @default null
     */
    targetID: string;
}
/**
 * Configures the text wrap settings of the Grid.
 */
export  class TextWrapSettings extends base.ChildProperty<TextWrapSettings> {
    /**
     * Defines the `wrapMode` of the Grid. The available modes are:
     * * `Both`: Wraps both the header and content.
     * * `Content`: Wraps the header alone.
     * * `Header`: Wraps the content alone.
     *
     * @default Both
     */
    wrapMode: WrapMode;
}
/**
 * Configures the resize behavior of the Grid.
 */
export  class ResizeSettings extends base.ChildProperty<ResizeSettings> {
    /**
     * Defines the mode of Grid column resizing. The available modes are:
     * `Normal`: Columns will not be adjusted to fit the remaining space.
     * `Auto`: Resized column width will be adjusted by other columns automatically.
     *
     * @default Normal
     */
    mode: ResizeMode;
}
/**
 * Configures the group behavior of the Grid.
 */
export  class GroupSettings extends base.ChildProperty<GroupSettings> {
    /**
     * If `showDropArea` is set to true, the group drop area element will be visible at the top of the Grid.
     *
     * @default true
     */
    showDropArea: boolean;
    /**
     * If `allowReordering` is set to true, Grid allows the grouped elements to be reordered.
     *
     * @default false
     */
    allowReordering: boolean;
    /**
     * If `showToggleButton` set to true, then the toggle button will be showed in the column headers which can be used to group
     * or ungroup columns by clicking them.
     *
     * @default false
     */
    showToggleButton: boolean;
    /**
     * If `showGroupedColumn` is set to false, it hides the grouped column after grouping.
     *
     * @default false
     */
    showGroupedColumn: boolean;
    /**
     * If `showUngroupButton` set to false, then ungroup button is hidden in dropped element.
     * It can be used to ungroup the grouped column when click on ungroup button.
     *
     * @default true
     */
    showUngroupButton: boolean;
    /**
     * If `disablePageWiseAggregates` set to true, then the group aggregate value will
     * be calculated from the whole data instead of paged data and two requests will be made for each page
     * when Grid bound with remote service.
     *
     * @default false
     */
    disablePageWiseAggregates: boolean;
    /**
     * Specifies the column names to group at initial rendering of the Grid.
     * You can also get the currently grouped columns.
     *
     * @default []
     */
    columns: string[];
    /**
     * The Caption Template allows user to display the string or HTML element in group caption.
     * > It accepts either the
     * [template string](https://ej2.syncfusion.com/documentation/common/template-engine/) or the HTML element ID.
     *
     * @default ''
     */
    captionTemplate: string | Object;
    /**
     * The Lazy load grouping, allows the Grid to render only the initial level caption rows in collapsed state while grouping.
     * The child rows of each caption will render only when we expand the captions.
     *
     * @default false
     */
    enableLazyLoading: boolean;
}
/**
 * Configures the edit behavior of the Grid.
 */
export  class EditSettings extends base.ChildProperty<EditSettings> {
    /**
     * If `allowAdding` is set to true, new records can be added to the Grid.
     *
     * @default false
     */
    allowAdding: boolean;
    /**
     * If `allowEditing` is set to true, values can be updated in the existing record.
     *
     * @default false
     */
    allowEditing: boolean;
    /**
     * If `allowDeleting` is set to true, existing record can be deleted from the Grid.
     *
     * @default false
     */
    allowDeleting: boolean;
    /**
     * Defines the mode to edit. The available editing modes are:
     * * Normal
     * * Dialog
     * * Batch
     *
     * @default Normal
     */
    mode: EditMode;
    /**
     * If `allowEditOnDblClick` is set to false, Grid will not allow editing of a record on double click.
     *
     * @default true
     */
    allowEditOnDblClick: boolean;
    /**
     * if `showConfirmDialog` is set to false, confirm dialog does not show when batch changes are saved or discarded.
     *
     * @default true
     */
    showConfirmDialog: boolean;
    /**
     * If `showDeleteConfirmDialog` is set to true, confirm dialog will show delete action. You can also cancel delete command.
     *
     * @default false
     */
    showDeleteConfirmDialog: boolean;
    /**
     * Defines the custom edit elements for the dialog template.
     *
     * @default ''
     * @aspType string
     */
    template: string | Object;
    /**
     * Defines the custom edit elements for the dialog header template.
     *
     * @default ''
     * @aspType string
     */
    headerTemplate: string | Object;
    /**
     * Defines the custom edit elements for the dialog footer template.
     *
     * @default ''
     * @aspType string
     */
    footerTemplate: string | Object;
    /**
     * Defines the position of adding a new row. The available position are:
     * * Top
     * * Bottom
     *
     * @default Top
     */
    newRowPosition: NewRowPosition;
    /**
     * Defines the dialog params to edit.
     *
     * @default {}
     */
    dialog: IDialogUI;
    /**
     * If allowNextRowEdit is set to true, editing is done to next row. By default allowNextRowEdit is set to false.
     *
     * @default false
     */
    allowNextRowEdit: boolean;
}
/**
 * Configures the Loading Indicator of the Grid.
 */
export  class LoadingIndicator extends base.ChildProperty<LoadingIndicator> {
    /**
     * Defines the loading indicator. The available loading indicator are:
     * * Spinner
     * * Shimmer
     *
     * @default Spinner
     */
    indicatorType: IndicatorType;
}
/**
 * Represents the Grid component.
 * ```html
 * <div id="grid"></div>
 * <script>
 *  var gridObj = new Grid({ allowPaging: true });
 *  gridObj.appendTo("#grid");
 * </script>
 * ```
 */
export  class Grid extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    private gridPager;
    private isInitial;
    isPreventScrollEvent: boolean;
    private columnModel;
    private rowTemplateFn;
    private editTemplateFn;
    private editHeaderTemplateFn;
    private editFooterTemplateFn;
    private detailTemplateFn;
    private sortedColumns;
    private footerElement;
    private inViewIndexes;
    private mediaCol;
    private getShowHideService;
    private mediaColumn;
    private keyA;
    private frozenRightCount;
    private frozenLeftCount;
    private tablesCount;
    private movableCount;
    private visibleFrozenLeft;
    private frozenName;
    private visibleFrozenRight;
    private visibleMovable;
    private frozenLeftColumns;
    private frozenRightColumns;
    private movableColumns;
    private media;
    private isFreezeRefresh;
    private headerMaskTable;
    private movableHeaderMaskTable;
    private rightHeaderMaskTable;
    private contentMaskTable;
    private movableContentMaskTable;
    private rightContentMaskTable;
    private footerContentMaskTable;
    private movableFooterContentMaskTable;
    private rightFooterContentMaskTable;
    private maskRowContentScroll;
    /** @hidden */
    invokedFromMedia: boolean;
    /** @hidden */
    tableIndex: number;
    private dataBoundFunction;
    private dataToBeUpdated;
    private componentRefresh;
    /** @hidden */
    recordsCount: number;
    /** @hidden */
    isVirtualAdaptive: boolean;
    /** @hidden */
    vRows: Row<Column>[];
    /** @hidden */
    vcRows: Row<Column>[];
    /** @hidden */
    vGroupOffsets: {
        [x: number]: number;
    };
    /** @hidden */
    isInitialLoad: boolean;
    /** @hidden */
    private rowUid;
    /**
     * @hidden
     */
    mergeCells: {
        [key: string]: number;
    };
    /**
     * @hidden
     */
    checkAllRows: CheckState;
    /**
     * @hidden
     */
    isCheckBoxSelection: boolean;
    /**
     * @hidden
     */
    isPersistSelection: boolean;
    /**
     * Gets the currently visible records of the Grid.
     */
    currentViewData: Object[];
    /** @hidden */
    /**
     * Gets the parent Grid details.
     */
    parentDetails: ParentDetails;
    /** @hidden */
    isEdit: boolean;
    /** @hidden */
    commonQuery: data.Query;
    /** @hidden */
    scrollPosition: ScrollPositionType;
    /** @hidden */
    isLastCellPrimaryKey: boolean;
    /** @hidden */
    filterOperators: IFilterOperator;
    /** @hidden */
    localeObj: base.L10n;
    /** @hidden */
    isManualRefresh: boolean;
    /** @hidden */
    isAutoFitColumns: boolean;
    /** @hidden */
    enableDeepCompare: boolean;
    /** @hidden */
    totalDataRecordsCount: number;
    /** @hidden */
    disableSelectedRecords: Object[];
    /** @hidden */
    partialSelectedRecords: Object[];
    isSelectedRowIndexUpdating: boolean;
    private defaultLocale;
    private keyConfigs;
    private keyPress;
    private toolTipObj;
    private prevElement;
    private stackedColumn;
    private isExcel;
    /** @hidden */
    lockcolPositionCount: number;
    /** @hidden */
    prevPageMoving: boolean;
    /** @hidden */
    pageTemplateChange: boolean;
    /** @hidden */
    isAutoGen: boolean;
    private mediaBindInstance;
    /** @hidden */
    commandDelIndex: number;
    /** @hidden */
    asyncTimeOut: number;
    /** @hidden */
    isExportGrid: boolean;
    /**
     * @hidden
     */
    renderModule: Render;
    /**
     * @hidden
     */
    headerModule: IRenderer;
    /**
     * @hidden
     */
    contentModule: IRenderer;
    /**
     * @hidden
     */
    valueFormatterService: IValueFormatter;
    /**
     * @hidden
     */
    serviceLocator: ServiceLocator;
    /**
     * @hidden
     */
    ariaService: AriaService;
    /**
     * The `keyboardModule` is used to manipulate keyboard interactions in the Grid.
     */
    keyboardModule: base.KeyboardEvents;
    /**
     * @hidden
     */
    widthService: ColumnWidthService;
    /**
     * The `rowDragAndDropModule` is used to manipulate row reordering in the Grid.
     */
    rowDragAndDropModule: RowDD;
    /**
     * The `pagerModule` is used to manipulate paging in the Grid.
     */
    pagerModule: Page;
    /**
     * The `sortModule` is used to manipulate sorting in the Grid.
     */
    sortModule: Sort;
    /**
     * The `filterModule` is used to manipulate filtering in the Grid.
     */
    filterModule: Filter;
    /**
     * The `selectionModule` is used to manipulate selection behavior in the Grid.
     */
    selectionModule: Selection;
    /**
     * The `showHider` is used to manipulate column's show/hide operation in the Grid.
     */
    showHider: ShowHide;
    /**
     * The `searchModule` is used to manipulate searching in the Grid.
     */
    searchModule: Search;
    /**
     * The `scrollModule` is used to manipulate scrolling in the Grid.
     */
    scrollModule: Scroll;
    /**
     * The `infiniteScrollModule` is used to manipulate infinite scrolling in the Grid.
     */
    infiniteScrollModule: InfiniteScroll;
    /**
     * The `reorderModule` is used to manipulate reordering in the Grid.
     */
    reorderModule: Reorder;
    /**
     * `resizeModule` is used to manipulate resizing in the Grid.
     *
     * @hidden
     */
    resizeModule: Resize;
    /**
     * The `groupModule` is used to manipulate grouping behavior in the Grid.
     */
    groupModule: Group;
    /**
     * The `printModule` is used to handle the printing feature of the Grid.
     */
    printModule: Print;
    /**
     * The `excelExportModule` is used to handle Excel exporting feature in the Grid.
     */
    excelExportModule: ExcelExport;
    /**
     * The `pdfExportModule` is used to handle PDF exporting feature in the Grid.
     */
    pdfExportModule: PdfExport;
    /**
     * `detailRowModule` is used to handle detail rows rendering in the Grid.
     *
     * @hidden
     */
    detailRowModule: DetailRow;
    /**
     * The `toolbarModule` is used to manipulate ToolBar items and its action in the Grid.
     */
    toolbarModule: Toolbar;
    /**
     * The `contextMenuModule` is used to handle context menu items and its action in the Grid.
     */
    contextMenuModule: ContextMenu;
    /**
     * The `columnMenuModule` is used to manipulate column menu items and its action in the Grid.
     */
    columnMenuModule: ColumnMenu;
    /**
     * The `editModule` is used to handle Grid content manipulation.
     */
    editModule: Edit;
    /**
     * `clipboardModule` is used to handle Grid copy action.
     */
    clipboardModule: Clipboard;
    /**
     * `columnchooserModule` is used to dynamically show or hide the Grid columns.
     *
     * @hidden
     */
    columnChooserModule: ColumnChooser;
    /**
     * The `aggregateModule` is used to manipulate aggregate functionality in the Grid.
     *
     * @hidden
     */
    aggregateModule: Aggregate;
    private commandColumnModule;
    private loggerModule;
    private enableLogger;
    /** @hidden */
    focusModule: FocusStrategy;
    adaptiveDlgTarget: HTMLElement;
    protected needsID: boolean;
    /**
     * Defines the schema of dataSource.
     * If the `columns` declaration is empty or undefined then the `columns` are automatically generated from data source.
     * {% codeBlock src='grid/columns/index.md' %}{% endcodeBlock %}
     *
     * @default []
     */
    columns: Column[] | string[] | ColumnModel[];
    /**
     * If `enableAltRow` is set to true, the grid will render with `e-altrow` CSS class to the alternative tr elements.
     * > Check the [`AltRow`](../../grid/row/#styling-alternate-rows/) to customize the styles of alternative rows.
     * {% codeBlock src='grid/enableAltRow/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableAltRow: boolean;
    /**
     * If `enableHover` is set to true, the row hover is enabled in the Grid.
     * {% codeBlock src='grid/enableHover/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableHover: boolean;
    /**
     * If `enableAutoFill` is set to true, then the auto fill icon will displayed on cell selection for copy cells.
     * It requires the selection `mode` to be Cell and `cellSelectionMode` to be `Box`.
     * {% codeBlock src='grid/enableAutoFill/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    enableAutoFill: boolean;
    /**
     * Enables or disables the key board interaction of Grid.
     *
     * @default true
     */
    allowKeyboard: boolean;
    /**
     * If 'enableStickyHeader' set to true, then the user can able to make the column headers visible when the document is scrolled.
     *
     * @default false
     */
    enableStickyHeader: boolean;
    /**
     * If `allowTextWrap` set to true,
     * then text content will wrap to the next line when its text content exceeds the width of the Column Cells.
     * {% codeBlock src='grid/allowTextWrap/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    allowTextWrap: boolean;
    /**
     * Configures the text wrap in the Grid.
     * {% codeBlock src='grid/textWrapSettings/index.md' %}{% endcodeBlock %}
     *
     * @default {wrapMode:"Both"}
     */
    textWrapSettings: TextWrapSettingsModel;
    /**
     * Defines the resizing behavior of the Grid.
     *
     * @default {mode:"Normal"}
     */
    resizeSettings: ResizeSettingsModel;
    /**
     * If `allowPaging` is set to true, the pager renders at the footer of the Grid. It is used to handle page navigation in the Grid.
     *
     * > Check the [`Paging`](../../grid/paging/) to configure the grid pager.
     * {% codeBlock src='grid/allowPaging/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    allowPaging: boolean;
    /**
     * Configures the pager in the Grid.
     * {% codeBlock src='grid/pageSettings/index.md' %}{% endcodeBlock %}
     *
     * @default {currentPage: 1, pageSize: 12, pageCount: 8, enableQueryString: false, pageSizes: false, template: null}
     */
    pageSettings: PageSettingsModel;
    /**
     * Configures the Loading Indicator of the Grid.
     *
     * @default {indicatorType: 'Spinner'}
     */
    loadingIndicator: LoadingIndicatorModel;
    /**
     * Specifies the shimmer effect for Grid virtual and infinite scrolling.
     *
     * @default true
     */
    enableVirtualMaskRow: boolean;
    /**
     * If `enableVirtualization` set to true, then the Grid will render only the rows visible within the view-port
     * and load subsequent rows on vertical scrolling. This helps to load large dataset in Grid.
     * {% codeBlock src='grid/enableVirtualization/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    enableVirtualization: boolean;
    /**
     * If `enableColumnVirtualization` set to true, then the Grid will render only the columns visible within the view-port
     * and load subsequent columns on horizontal scrolling. This helps to load large dataset of columns in Grid.
     * {% codeBlock src='grid/enableColumnVirtualization/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    enableColumnVirtualization: boolean;
    /**
     * If `enableInfiniteScrolling` set to true, then the data will be loaded in Grid when the scrollbar reaches the end.
     * This helps to load large dataset in Grid.
     * {% codeBlock src='grid/enableInfiniteScrolling/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    enableInfiniteScrolling: boolean;
    /**
     * Configures the search behavior in the Grid.
     * {% codeBlock src='grid/searchSettings/index.md' %}{% endcodeBlock %}
     *
     * @default { ignoreCase: true, fields: [], operator: 'contains', key: '' }
     */
    searchSettings: SearchSettingsModel;
    /**
     * If `allowSorting` is set to true, it allows sorting of grid records when column header is clicked.
     *
     * > Check the [`Sorting`](../../grid/sorting/) to customize its default behavior.
     * {% codeBlock src='grid/allowSorting/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    allowSorting: boolean;
    /**
     *  Defines the mode of clip. The available modes are,
     * `Clip`: Truncates the cell content when it overflows its area.
     * `Ellipsis`: Displays ellipsis when the cell content overflows its area.
     * `EllipsisWithTooltip`:  Displays ellipsis when the cell content overflows its area,
     *  also it will display the tooltip while hover on ellipsis is applied.
     * {% codeBlock src='grid/clipMode/index.md' %}{% endcodeBlock %}
     *
     * @default Ellipsis
     */
    clipMode: ClipMode;
    /**
     * If `allowMultiSorting` set to true, then it will allow the user to sort multiple column in the grid.
     * > `allowSorting` should be true.
     * {% codeBlock src='grid/allowMultiSorting/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    allowMultiSorting: boolean;
    /**
     * If `allowExcelExport` set to true, then it will allow the user to export grid to Excel file.
     *
     * > Check the [`ExcelExport`](../../grid/excel-exporting/) to configure exporting document.
     * {% codeBlock src='grid/allowExcelExport/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    allowExcelExport: boolean;
    /**
     * If `allowPdfExport` set to true, then it will allow the user to export grid to Pdf file.
     *
     * > Check the [`Pdfexport`](../../grid/pdf-export/) to configure the exporting document.
     * {% codeBlock src='grid/allowPdfExport/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    allowPdfExport: boolean;
    /**
     * Configures the sort settings.
     * {% codeBlock src='grid/sortSettings/index.md' %}{% endcodeBlock %}
     *
     * @default {columns:[]}
     */
    sortSettings: SortSettingsModel;
    /**
     * Configures the infinite scroll settings.
     * {% codeBlock src='grid/infiniteScrollSettings/index.md' %}{% endcodeBlock %}
     *
     * @default { enableCache: false, maxBlocks: 5, initialBlocks: 5 }
     */
    infiniteScrollSettings: InfiniteScrollSettingsModel;
    /**
     * If `allowSelection` is set to true, it allows selection of (highlight row) Grid records by clicking it.
     * {% codeBlock src='grid/allowSelection/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    allowSelection: boolean;
    /**
     * The `selectedRowIndex` allows you to select a row at initial rendering.
     * You can also get the currently selected row index.
     * {% codeBlock src='grid/selectedRowIndex/index.md' %}{% endcodeBlock %}
     *
     * @default -1
     */
    selectedRowIndex: number;
    /**
     * Configures the selection settings.
     * {% codeBlock src='grid/selectionSettings/index.md' %}{% endcodeBlock %}
     *
     * @default {mode: 'Row', cellSelectionMode: 'Flow', type: 'Single'}
     */
    selectionSettings: SelectionSettingsModel;
    /**
     * If `allowFiltering` set to true the filter bar will be displayed.
     * If set to false the filter bar will not be displayed.
     * Filter bar allows the user to filter grid records with required criteria.
     *
     * > Check the [`Filtering`](../../grid/filtering/) to customize its default behavior.
     * {% codeBlock src='grid/allowFiltering/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    allowFiltering: boolean;
    /**
     * Defines the grid row elements rendering direction. The available directions are,
     * * `Horizontal`: Renders the grid row elements in the horizontal direction
     * * `Vertical`: Renders the grid row elements in the vertical direction
     *
     * @default Horizontal
     */
    rowRenderingMode: RowRenderingDirection;
    /**
     * If `enableAdaptiveUI` set to true the grid filter, sort, and edit dialogs render adaptively.
     *
     * @default false
     */
    enableAdaptiveUI: boolean;
    /**
     * If `allowReordering` is set to true, Grid columns can be reordered.
     * Reordering can be done by drag and drop of a particular column from one index to another index.
     * > If Grid is rendered with stacked headers, reordering is allowed only at the same level as the column headers.
     * {% codeBlock src='grid/allowReordering/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    allowReordering: boolean;
    /**
     * If `allowResizing` is set to true, Grid columns can be resized.
     * {% codeBlock src='grid/allowResizing/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    allowResizing: boolean;
    /**
     * If `allowRowDragAndDrop` is set to true, you can drag and drop grid rows at another grid.
     * {% codeBlock src='grid/allowRowDragAndDrop/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    allowRowDragAndDrop: boolean;
    /**
     * Configures the row drop settings.
     *
     * @default {targetID: ''}
     */
    rowDropSettings: RowDropSettingsModel;
    /**
     * Configures the filter settings of the Grid.
     * {% codeBlock src='grid/filterSettings/index.md' %}{% endcodeBlock %}
     *
     * @default {columns: [], type: 'FilterBar', mode: 'Immediate', showFilterBarStatus: true, immediateModeDelay: 1500 , operators: {}}
     */
    filterSettings: FilterSettingsModel;
    /**
     * If `allowGrouping` set to true, then it will allow the user to dynamically group or ungroup columns.
     * Grouping can be done by drag and drop columns from column header to group drop area.
     *
     * > Check the [`Grouping`](../../grid/grouping/) to customize its default behavior.
     * {% codeBlock src='grid/allowGrouping/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    allowGrouping: boolean;
    /**
     * If `enableImmutableMode`  is set to true, the grid will reuse old rows if it exists in the new result instead of
     * full refresh while performing the grid actions.
     *
     * @default false
     */
    enableImmutableMode: boolean;
    /**
     * If `showColumnMenu` set to true, then it will enable the column menu options in each columns.
     *
     * > Check the [`Column menu`](../../grid/columns/#column-menu/) for its configuration.
     * {% codeBlock src='grid/showColumnMenu/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    showColumnMenu: boolean;
    /**
     * Configures the group settings.
     * {% codeBlock src='grid/groupSettings/index.md' %}{% endcodeBlock %}
     *
     * @default {showDropArea: true, showToggleButton: false, showGroupedColumn: false, showUngroupButton: true, columns: []}
     */
    groupSettings: GroupSettingsModel;
    /**
     * Configures the edit settings.
     * {% codeBlock src='grid/editSettings/index.md' %}{% endcodeBlock %}
     *
     * @default { allowAdding: false, allowEditing: false, allowDeleting: false, mode:'Normal',
     * allowEditOnDblClick: true, showConfirmDialog: true, showDeleteConfirmDialog: false }
     */
    editSettings: EditSettingsModel;
    /**
     * Configures the Grid aggregate rows.
     * {% codeBlock src='grid/aggregates/index.md' %}{% endcodeBlock %}
     * > Check the [`Aggregates`](../../grid/aggregates/) for its configuration.
     *
     * @default []
     */
    aggregates: AggregateRowModel[];
    /**
     * If `showColumnChooser` is set to true, it allows you to dynamically show or hide columns.
     *
     * > Check the [`ColumnChooser`](../../grid/columns/#column-chooser/) for its configuration.
     * {% codeBlock src='grid/showColumnChooser/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    showColumnChooser: boolean;
    /**
     * Configures the column chooser in the Grid.
     *
     * @default { columnChooserOperator: 'startsWith' }
     */
    columnChooserSettings: ColumnChooserSettingsModel;
    /**
     * If `enableHeaderFocus` set to true, then header element will be focused when focus moves to grid.
     *
     * @default false
     */
    enableHeaderFocus: boolean;
    /**
     * Defines the scrollable height of the grid content.
     * {% codeBlock src='grid/height/index.md' %}{% endcodeBlock %}
     *
     * @default 'auto'
     */
    height: string | number;
    /**
     * Defines the Grid width.
     * {% codeBlock src='grid/width/index.md' %}{% endcodeBlock %}
     *
     * @default 'auto'
     */
    width: string | number;
    /**
     * Defines the mode of grid lines. The available modes are,
     * * `Both`: Displays both horizontal and vertical grid lines.
     * * `None`: No grid lines are displayed.
     * * `Horizontal`: Displays the horizontal grid lines only.
     * * `Vertical`: Displays the vertical grid lines only.
     * * `Default`: Displays grid lines based on the theme.
     * {% codeBlock src='grid/gridLines/index.md' %}{% endcodeBlock %}
     *
     * @default Default
     */
    gridLines: GridLine;
    /**
     * The row template that renders customized rows from the given template.
     * By default, Grid renders a table row for every data source item.
     * > * It accepts either [template string](../../common/template-engine/) or HTML element ID.
     * > * The row template must be a table row.
     *
     * > Check the [`Row Template`](../../grid/row/) customization.
     */
    rowTemplate: string;
    /**
     * The detail template allows you to show or hide additional information about a particular row.
     *
     * > It accepts either the [template string](../../common/template-engine/) or the HTML element ID.
     *
     * {% codeBlock src="grid/detail-template-api/index.ts" %}{% endcodeBlock %}
     */
    detailTemplate: string;
    /**
     * Defines Grid options to render child Grid.
     * It requires the [`queryString`](/#querystring) for parent
     * and child relationship.
     *
     * > Check the [`Child Grid`](../../grid/hierarchy-grid/) for its configuration.
     */
    childGrid: GridModel;
    /**
     * Defines the relationship between parent and child datasource. It acts as the foreign key for parent datasource.
     */
    queryString: string;
    /**
     * Defines the print modes. The available print modes are
     * * `AllPages`: Prints all pages of the Grid.
     * * `CurrentPage`: Prints the current page of the Grid.
     * {% codeBlock src='grid/printMode/index.md' %}{% endcodeBlock %}
     *
     * @default AllPages
     */
    printMode: PrintMode;
    /**
     * Defines the hierarchy grid print modes. The available modes are
     * * `Expanded` - Prints the master grid with expanded child grids.
     * * `All` - Prints the master grid with all the child grids.
     * * `None` - Prints the master grid alone.
     *
     * @default Expanded
     */
    hierarchyPrintMode: HierarchyGridPrintMode;
    /**
     * It is used to render grid table rows.
     * If the `dataSource` is an array of JavaScript objects,
     * then Grid will create instance of [`data.DataManager`](https://ej2.syncfusion.com/documentation/api/data/dataManager/)
     * from this `dataSource`.
     * If the `dataSource` is an existing [`data.DataManager`](https://ej2.syncfusion.com/documentation/api/data/dataManager/),
     *  the Grid will not initialize a new one.
     *
     * > Check the available [`Adaptors`](../../data/adaptors/) to customize the data operation.
     * {% codeBlock src='grid/dataSource/index.md' %}{% endcodeBlock %}
     *
     * @default []
     * @isGenericType true
     */
    dataSource: Object | data.DataManager | DataResult;
    /**
     * Defines the height of Grid rows.
     * {% codeBlock src='grid/rowHeight/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    rowHeight: number;
    /**
     * Defines the external [`data.Query`](https://ej2.syncfusion.com/documentation/data/api-query.html)
     * that will be executed along with data processing.
     * {% codeBlock src='grid/query/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    query: data.Query;
    /**
     * Defines the currencyCode format of the Grid columns
     *
     * @private
     */
    private currencyCode;
    /**
     * `toolbar` defines the ToolBar items of the Grid.
     * It contains built-in and custom toolbar items.
     * If a string value is assigned to the `toolbar` option, it is considered as the template for the whole Grid ToolBar.
     * If an array value is assigned, it is considered as the list of built-in and custom toolbar items in the Grid's Toolbar.
     * <br><br>
     * The available built-in ToolBar items are:
     * * Add: Adds a new record.
     * * Edit: Edits the selected record.
     * * Update: Updates the edited record.
     * * Delete: Deletes the selected record.
     * * Cancel: Cancels the edit state.
     * * Search: Searches records by the given key.
     * * Print: Prints the Grid.
     * * ExcelExport - Export the Grid to Excel(excelExport() method manually to make export.)
     * * PdfExport - Export the Grid to PDF(pdfExport() method manually to make export.)
     * * CsvExport - Export the Grid to CSV(csvExport() method manually to make export.)<br><br>
     * The following code example implements the custom toolbar items.
     *
     *  > Check the [`Toolbar`](../../grid/tool-bar/#custom-toolbar-items/) to customize its default items.
     *
     * {% codeBlock src="grid/toolbar-api/index.ts" %}{% endcodeBlock %}
     * {% codeBlock src='grid/toolbar/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    toolbar: (ToolbarItems | string | navigations.ItemModel | ToolbarItem)[];
    /**
     * `contextMenuItems` defines both built-in and custom context menu items.
     * <br><br>
     * The available built-in items are,
     * * `AutoFitAll` - Auto fit the size of all columns.
     * * `AutoFit` - Auto fit the current column.
     * * `Group` - Group by current column.
     * * `Ungroup` - Ungroup by current column.
     * * `Edit` - Edit the current record.
     * * `Delete` - Delete the current record.
     * * `Save` - Save the edited record.
     * * `Cancel` - Cancel the edited state.
     * * `Copy` - Copy the selected records.
     * * `PdfExport` - Export the grid as Pdf format.
     * * `ExcelExport` - Export the grid as Excel format.
     * * `CsvExport` - Export the grid as CSV format.
     * * `SortAscending` - Sort the current column in ascending order.
     * * `SortDescending` - Sort the current column in descending order.
     * * `FirstPage` - Go to the first page.
     * * `PrevPage` - Go to the previous page.
     * * `LastPage` - Go to the last page.
     * * `NextPage` - Go to the next page.
     *
     * @default null
     */
    contextMenuItems: ContextMenuItem[] | ContextMenuItemModel[];
    /**
     * `columnMenuItems` defines both built-in and custom column menu items.
     * <br><br>
     * The available built-in items are,
     * * `AutoFitAll` - Auto fit the size of all columns.
     * * `AutoFit` - Auto fit the current column.
     * * `Group` - Group by current column.
     * * `Ungroup` - Ungroup by current column.
     * * `SortAscending` - Sort the current column in ascending order.
     * * `SortDescending` - Sort the current column in descending order.
     * * `Filter` - Filter options will show based on filterSettings property like checkbox filter, excel filter, menu filter.
     *
     * @default null
     */
    columnMenuItems: ColumnMenuItem[] | ColumnMenuItemModel[];
    /**
     * It used to render toolbar template
     *
     * @default null
     */
    toolbarTemplate: string;
    /**
     * It used to render pager template
     *
     * @default null
     */
    pagerTemplate: string;
    /**
     * Gets or sets the number of frozen rows.
     * {% codeBlock src='grid/frozenRows/index.md' %}{% endcodeBlock %}
     *
     * @default 0
     */
    frozenRows: number;
    /**
     * Gets or sets the number of frozen columns.
     * {% codeBlock src='grid/frozenColumns/index.md' %}{% endcodeBlock %}
     *
     * @default 0
     */
    frozenColumns: number;
    /**
     * Defines the own class for the grid element.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * `columnQueryMode`provides options to retrive data from the datasource.Their types are
     * * `All`: It Retrives whole datasource.
     * * `Schema`: Retrives data for all the defined columns in grid from the datasource.
     * * `ExcludeHidden`: Retrives data only for visible columns of grid from the dataSource.
     *
     * @default All
     */
    columnQueryMode: ColumnQueryModeType;
    /**
     * Gets or sets the current action details.
     *
     * @default {}
     */
    currentAction: ActionArgs;
    /**
     * Defines the version for Grid persistence.
     */
    ej2StatePersistenceVersion: string;
    /**
     * Triggers when the component is created.
     *
     * @event created
     */
    created: base.EmitType<Object>;
    /**
     * Triggers when the component is destroyed.
     *
     * @event destroyed
     */
    destroyed: base.EmitType<Object>;
    /**
     * This event allows customization of Grid properties before rendering.
     *
     * @event load
     */
    load: base.EmitType<Object>;
    /**
     * Triggered every time a request is made to access row information, element, or data.
     * This will be triggered before the row element is appended to the Grid element.
     *
     * @event rowDataBound
     */
    rowDataBound: base.EmitType<RowDataBoundEventArgs>;
    /**
     * Triggered every time a request is made to access cell information, element, or data.
     * This will be triggered before the cell element is appended to the Grid element.
     *
     * @event queryCellInfo
     */
    queryCellInfo: base.EmitType<QueryCellInfoEventArgs>;
    /**
     * Triggered for stacked header.
     *
     * @event headerCellInfo
     */
    headerCellInfo: base.EmitType<HeaderCellInfoEventArgs>;
    /**
     * Triggers when Grid actions such as sorting, filtering, paging, grouping etc., starts.
     *
     * {% codeBlock src='grid/actionBegin/index.md' %}{% endcodeBlock %}
     *
     * @event actionBegin
     */
    actionBegin: base.EmitType<PageEventArgs | GroupEventArgs | FilterEventArgs | SearchEventArgs | SortEventArgs | AddEventArgs | SaveEventArgs | EditEventArgs | DeleteEventArgs | ActionEventArgs>;
    /**
     * Triggers when Grid actions such as sorting, filtering, paging, grouping etc. are completed.
     *
     * @event actionComplete
     */
    actionComplete: base.EmitType<PageEventArgs | GroupEventArgs | FilterEventArgs | SearchEventArgs | SortEventArgs | AddEventArgs | SaveEventArgs | EditEventArgs | DeleteEventArgs | ActionEventArgs>;
    /**
     * Triggers when any Grid action failed to achieve the desired results.
     *
     * @event actionFailure
     */
    actionFailure: base.EmitType<FailureEventArgs>;
    /**
     * Triggers when data source is populated in the Grid.
     *
     * @event dataBound
     */
    dataBound: base.EmitType<Object>;
    /**
     * Triggers when record is double clicked.
     *
     * @event recordDoubleClick
     */
    recordDoubleClick: base.EmitType<RecordDoubleClickEventArgs>;
    /**
     * Triggers when record is clicked.
     *
     * @event recordClick
     */
    recordClick: base.EmitType<RecordClickEventArgs>;
    /**
     * Triggers before row selection occurs.
     *
     * @event rowSelecting
     */
    rowSelecting: base.EmitType<RowSelectingEventArgs>;
    /**
     * Triggers after a row is selected.
     *
     * @event rowSelected
     */
    rowSelected: base.EmitType<RowSelectEventArgs>;
    /**
     * Triggers before deselecting the selected row.
     *
     * @event rowDeselecting
     */
    rowDeselecting: base.EmitType<RowDeselectEventArgs>;
    /**
     * Triggers when a selected row is deselected.
     *
     * @event rowDeselected
     */
    rowDeselected: base.EmitType<RowDeselectEventArgs>;
    /**
     * Triggers before any cell selection occurs.
     *
     * @event cellSelecting
     */
    cellSelecting: base.EmitType<CellSelectingEventArgs>;
    /**
     * Triggers after a cell is selected.
     *
     * @event cellSelected
     */
    cellSelected: base.EmitType<CellSelectEventArgs>;
    /**
     * Triggers before the selected cell is deselecting.
     *
     * @event cellDeselecting
     */
    cellDeselecting: base.EmitType<CellDeselectEventArgs>;
    /**
     * Triggers when a particular selected cell is deselected.
     *
     * @event cellDeselected
     */
    cellDeselected: base.EmitType<CellDeselectEventArgs>;
    /**
     * Triggers before column selection occurs.
     *
     * @event columnSelecting
     */
    columnSelecting: base.EmitType<ColumnSelectingEventArgs>;
    /**
     * Triggers after a column is selected.
     *
     * @event columnSelected
     */
    columnSelected: base.EmitType<ColumnSelectEventArgs>;
    /**
     * Triggers before deselecting the selected column.
     *
     * @event columnDeselecting
     */
    columnDeselecting: base.EmitType<ColumnDeselectEventArgs>;
    /**
     * Triggers when a selected column is deselected.
     *
     * @event columnDeselected
     */
    columnDeselected: base.EmitType<ColumnDeselectEventArgs>;
    /**
     * Triggers when column header element drag (move) starts.
     *
     * @event columnDragStart
     */
    columnDragStart: base.EmitType<ColumnDragEventArgs>;
    /**
     * Triggers when column header element is dragged (moved) continuously.
     *
     * @event columnDrag
     */
    columnDrag: base.EmitType<ColumnDragEventArgs>;
    /**
     * Triggers when a column header element is dropped on the target column.
     *
     * @event columnDrop
     */
    columnDrop: base.EmitType<ColumnDragEventArgs>;
    /**
     * Triggers after print action is completed.
     *
     * @event printComplete
     */
    printComplete: base.EmitType<PrintEventArgs>;
    /**
     * Triggers before the print action starts.
     *
     * @event beforePrint
     */
    beforePrint: base.EmitType<PrintEventArgs>;
    /**
     * Triggers before exporting each cell to PDF document. You can also customize the PDF cells.
     *
     * @event pdfQueryCellInfo
     */
    pdfQueryCellInfo: base.EmitType<PdfQueryCellInfoEventArgs>;
    /**
     * Triggers before exporting each header cell to PDF document. You can also customize the PDF cells.
     *
     * @event pdfHeaderQueryCellInfo
     */
    pdfHeaderQueryCellInfo: base.EmitType<PdfHeaderQueryCellInfoEventArgs>;
    /**
     * Triggers before exporting aggregate cell to PDF document. You can also customize the PDF cells.
     *
     * @event pdfAggregateQueryCellInfo
     */
    pdfAggregateQueryCellInfo: base.EmitType<AggregateQueryCellInfoEventArgs>;
    /**
     * Triggers before exporting aggregate cell to Excel document. You can also customize the PDF cells.
     *
     * @event excelAggregateQueryCellInfo
     */
    excelAggregateQueryCellInfo: base.EmitType<AggregateQueryCellInfoEventArgs>;
    /**
     * Triggers before exporting each detail Grid to PDF document.
     *
     * @event exportDetailDataBound
     */
    exportDetailDataBound: base.EmitType<ExportDetailDataBoundEventArgs>;
    /**
     * Triggers before exporting each cell to Excel file.
     * You can also customize the Excel cells.
     *
     * @event excelQueryCellInfo
     */
    excelQueryCellInfo: base.EmitType<ExcelQueryCellInfoEventArgs>;
    /**
     * Triggers before exporting each header cell to Excel file.
     * You can also customize the Excel cells.
     *
     * @event excelHeaderQueryCellInfo
     */
    excelHeaderQueryCellInfo: base.EmitType<ExcelHeaderQueryCellInfoEventArgs>;
    /**
     * Triggers before Grid data is exported to Excel file.
     *
     * @event beforeExcelExport
     */
    beforeExcelExport: base.EmitType<Object>;
    /**
     * Triggers after Grid data is exported to Excel file.
     *
     * @event excelExportComplete
     */
    excelExportComplete: base.EmitType<ExcelExportCompleteArgs>;
    /**
     * Triggers before Grid data is exported to PDF document.
     *
     * @event beforePdfExport
     */
    beforePdfExport: base.EmitType<Object>;
    /**
     * Triggers after Grid data is exported to PDF document.
     *
     * @event pdfExportComplete
     */
    pdfExportComplete: base.EmitType<PdfExportCompleteArgs>;
    /**
     * Triggers when row element's before drag(move).
     *
     * @event rowDragStartHelper
     */
    rowDragStartHelper: base.EmitType<RowDragEventArgs>;
    /**
     * Triggers after detail row expands.
     * > This event triggers at initial expand.
     *
     * @event detailDataBound
     */
    detailDataBound: base.EmitType<DetailDataBoundEventArgs>;
    /**
     * Triggers when row element's drag(move) starts.
     *
     * @event rowDragStart
     */
    rowDragStart: base.EmitType<RowDragEventArgs>;
    /**
     * Triggers when row elements are dragged (moved) continuously.
     *
     * @event rowDrag
     */
    rowDrag: base.EmitType<RowDragEventArgs>;
    /**
     * Triggers when row elements are dropped on the target row.
     *
     * @event rowDrop
     */
    rowDrop: base.EmitType<RowDragEventArgs>;
    /**
     * Triggers when toolbar item is clicked.
     *
     * @event toolbarClick
     */
    toolbarClick: base.EmitType<navigations.ClickEventArgs>;
    /**
     * Triggers before the columnChooser open.
     *
     * @event beforeOpenColumnChooser
     */
    beforeOpenColumnChooser: base.EmitType<ColumnChooserEventArgs>;
    /**
     * Triggers before adaptive filter and sort dialogs open.
     *
     * @event beforeOpenAdaptiveDialog
     */
    beforeOpenAdaptiveDialog: base.EmitType<AdaptiveDialogEventArgs>;
    /**
     * Triggers when records are added in batch mode.
     *
     * @event batchAdd
     */
    batchAdd: base.EmitType<BatchAddArgs>;
    /**
     * Triggers when records are deleted in batch mode.
     *
     * @event batchDelete
     */
    batchDelete: base.EmitType<BatchDeleteArgs>;
    /**
     * Triggers when cancel the batch edit changes batch mode.
     *
     * @event batchCancel
     */
    batchCancel: base.EmitType<BatchCancelArgs>;
    /**
     * Triggers before records are added in batch mode.
     *
     * @event beforeBatchAdd
     */
    beforeBatchAdd: base.EmitType<BeforeBatchAddArgs>;
    /**
     * Triggers before records are deleted in batch mode.
     *
     * @event beforeBatchDelete
     */
    beforeBatchDelete: base.EmitType<BeforeBatchDeleteArgs>;
    /**
     * Triggers before records are saved in batch mode.
     *
     * @event beforeBatchSave
     */
    beforeBatchSave: base.EmitType<BeforeBatchSaveArgs>;
    /**
     * Triggers before the record is to be edit.
     *
     * @event beginEdit
     */
    beginEdit: base.EmitType<BeginEditArgs>;
    /**
     * Triggers when command button is clicked.
     *
     * @event commandClick
     */
    commandClick: base.EmitType<CommandClickEventArgs>;
    /**
     * Triggers when the cell is being edited.
     *
     * @event cellEdit
     */
    cellEdit: base.EmitType<CellEditArgs>;
    /**
     * Triggers when cell is saved.
     *
     * @event cellSave
     */
    cellSave: base.EmitType<CellSaveArgs>;
    /**
     * Triggers when cell is saved.
     *
     * @event cellSaved
     */
    cellSaved: base.EmitType<CellSaveArgs>;
    /**
     * Triggers when column resize starts.
     *
     * @event resizeStart
     */
    resizeStart: base.EmitType<ResizeArgs>;
    /**
     * Triggers on column resizing.
     *
     * @event resizing
     */
    resizing: base.EmitType<ResizeArgs>;
    /**
     * Triggers when column resize ends.
     *
     * @event resizeStop
     */
    resizeStop: base.EmitType<ResizeArgs>;
    /**
     * Triggers when any keyboard keys are pressed inside the grid.
     *
     * @event keyPressed
     */
    keyPressed: base.EmitType<KeyboardEventArgs>;
    /**
     * Triggers before data is bound to Grid.
     *
     * @event beforeDataBound
     */
    beforeDataBound: base.EmitType<BeforeDataBoundArgs>;
    /**
     * Triggers before context menu opens.
     *
     * @event contextMenuOpen
     */
    contextMenuOpen: base.EmitType<navigations.BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers when click on context menu.
     *
     * @event contextMenuClick
     */
    contextMenuClick: base.EmitType<navigations.MenuEventArgs>;
    /**
     * Triggers before column menu opens.
     *
     * @event columnMenuOpen
     */
    columnMenuOpen: base.EmitType<ColumnMenuOpenEventArgs>;
    /**
     * Triggers when click on column menu.
     *
     * @event columnMenuClick
     */
    columnMenuClick: base.EmitType<navigations.MenuEventArgs>;
    /**
     * Triggers when the check box state change in checkbox column.
     *
     * @event checkBoxChange
     */
    checkBoxChange: base.EmitType<CheckBoxChangeEventArgs>;
    /**
     * Triggers before Grid copy action.
     *
     * @event beforeCopy
     */
    beforeCopy: base.EmitType<BeforeCopyEventArgs>;
    /**
     * Triggers before Grid paste action.
     *
     * @event beforePaste
     */
    beforePaste: base.EmitType<BeforePasteEventArgs>;
    /**
     * Triggers before Grid autoFill action.
     *
     * @event beforeAutoFill
     */
    beforeAutoFill: base.EmitType<BeforeAutoFillEventArgs>;
    /**
     * Triggers when the grid actions such as Sorting, Paging, Grouping etc., are done to get column `dataSource`.
     * In this event,the current view column data and total record count should be assigned to the column `dataSource` based
     * on the action performed.
     *
     * @event columnDataStateChange
     */
    columnDataStateChange: base.EmitType<ColumnDataStateChangeEventArgs>;
    /**
     * Triggers when the grid actions such as Sorting, Paging, Grouping etc., are done.
     * In this event,the current view data and total record count should be assigned to the `dataSource` based on the action performed.
     *
     * @event dataStateChange
     */
    dataStateChange: base.EmitType<DataStateChangeEventArgs>;
    /**
     * Triggers when the grid data is added, deleted and updated.
     * Invoke the done method from the argument to start render after edit operation.
     *
     * @event dataSourceChanged
     */
    dataSourceChanged: base.EmitType<DataSourceChangedEventArgs>;
    /**
     * Triggers before exporting each caption row to PDF/Excel/CSV document. You can also customize the export caption row values.
     *
     * @event exportGroupCaption
     */
    exportGroupCaption: base.EmitType<ExportGroupCaptionEventArgs>;
    /**
     * Triggers when expand the caption row in lazy load grouping.
     *
     * @event lazyLoadGroupExpand
     */
    lazyLoadGroupExpand: base.EmitType<LazyLoadArgs>;
    /**
     * Triggers when collapse the caption row in lazy load grouping.
     *
     * @event lazyLoadGroupCollapse
     */
    lazyLoadGroupCollapse: base.EmitType<LazyLoadArgs>;
    /**
     * Constructor for creating the component
     *
     * @param {GridModel} options - specifies the options
     * @param {string | HTMLElement} element - specifies the element
     * @hidden
     */
    constructor(options?: GridModel, element?: string | HTMLElement);
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @returns {string} returns the persist data
     */
    getPersistData(): string;
    /**
     * To provide the array of modules needed for component rendering
     *
     * @returns {base.ModuleDeclaration[]} Returns the module Declaration
     * @hidden
     */
    requiredModules(): base.ModuleDeclaration[];
    extendRequiredModules(modules: base.ModuleDeclaration[]): void;
    /**
     * For internal use only - Initialize the event handler;
     *
     * @returns {void}
     * @private
     */
    protected preRender(): void;
    private initProperties;
    /**
     * For internal use only - To Initialize the component rendering.
     *
     * @returns {void}
     * @private
     */
    protected render(): void;
    /**
     * By default, grid shows the spinner for all its actions. You can use this method to show spinner at your needed time.
     *
     * @returns {void}
     */
    showSpinner(): void;
    /**
     * By default, grid shows the spinner for all its actions. You can use this method to show spinner at your needed time.
     *
     * @returns {void}
     */
    hideSpinner(): void;
    showMaskRow(axisDirection?: string, dialogElement?: Element): void;
    private getContentMaskColumns;
    private getMovableContentMaskColumns;
    private getRightContentMaskColumns;
    private createEmptyMaskTable;
    private createMaskTable;
    private applyMaskRow;
    private createMaskRow;
    private getShimmerTemplate;
    addShimmerEffect(): void;
    private translateMaskRow;
    removeMaskRow(): void;
    private refreshMaskRow;
    private refreshMaskRowColgroupWidth;
    private updateStackedFilter;
    getMediaColumns(): void;
    private pushMediaColumn;
    /**
     * @param {Column} col - specifies the column
     * @returns {void}
     * @hidden
     */
    updateMediaColumns(col: Column): void;
    /**
     * @param {number} columnIndex - specifies the column index
     * @param {MediaQueryList} e - specifies the MediaQueryList
     * @returns {void}
     * @hidden
     */
    mediaQueryUpdate(columnIndex: number, e?: MediaQueryList): void;
    private refreshMediaCol;
    private removeMediaListener;
    /**
     * For internal use only - Initialize the event handler
     *
     * @returns {void}
     * @private
     */
    protected eventInitializer(): void;
    /**
     * Destroys the component (detaches/removes all event handlers, attributes, classes, and empties the component element).
     *
     * @function destroy
     * @returns {void}
     */
    destroy(): void;
    private destroyDependentModules;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} returns the module name
     * @private
     */
    protected getModuleName(): string;
    private enableBoxSelection;
    private setCSSClass;
    /**
     * Called internally if any of the property value changed.
     *
     * @param {GridModel} newProp - Defines new properties
     * @param {GridModel} oldProp - Defines old properties
     * @returns {void}
     * @hidden
     */
    onPropertyChanged(newProp: GridModel, oldProp: GridModel): void;
    private extendedPropertyChange;
    private maintainSelection;
    /**
     * @param {Object} prop - Defines the property
     * @param {boolean} muteOnChange - Defines the mute on change
     * @returns {void}
     * @private
     */
    setProperties(prop: Object, muteOnChange?: boolean): void;
    /**
     * @hidden
     * @returns {void}
     */
    setTablesCount(): void;
    /**
     * @hidden
     * @returns {number} - Returns the tables count
     */
    getTablesCount(): number;
    /**
     * @hidden
     * @returns {void}
     */
    updateDefaultCursor(): void;
    private updateColumnModel;
    private updateColumnLevelFrozen;
    private updateFrozenColumns;
    getFrozenLeftCount(): number;
    isFrozenGrid(): boolean;
    getFrozenMode(): freezeMode;
    private updateLockableColumns;
    private checkLockColumns;
    /**
     * Gets the columns from the Grid.
     *
     * @param {boolean} isRefresh - Defines the boolean whether to refresh
     * @returns {Column[]} - returns the column
     */
    getColumns(isRefresh?: boolean): Column[];
    /**
     * @private
     * @param {string} stackedHeader - Defines the stacked header
     * @param {Column[]} col - Defines the column
     * @returns {Column} Returns the Column
     */
    getStackedHeaderColumnByHeaderText(stackedHeader: string, col: Column[]): Column;
    /**
     * @private
     * @returns {number[]} Returns the column indexes
     */
    getColumnIndexesInView(): number[];
    /**
     * @private
     * @returns {data.Query} - returns the query
     */
    getQuery(): data.Query;
    /**
     * @private
     * @returns {object} - returns the locale constants
     */
    getLocaleConstants(): Object;
    /**
     * @param {number[]} indexes - specifies the indexes
     * @returns {void}
     * @private
     */
    setColumnIndexesInView(indexes: number[]): void;
    /**
     * Gets the visible columns from the Grid.
     *
     * @returns {Column[]} returns the column
     */
    getVisibleColumns(): Column[];
    /**
     * Gets the header div of the Grid.
     *
     * @returns {Element} - Returns the element
     */
    getHeaderContent(): Element;
    /**
     * Sets the header div of the Grid to replace the old header.
     *
     * @param  {Element} element - Specifies the Grid header.
     * @returns {void}
     */
    setGridHeaderContent(element: Element): void;
    /**
     * Gets the content table of the Grid.
     *
     * @returns {Element} - Returns the element
     */
    getContentTable(): Element;
    /**
     * Sets the content table of the Grid to replace the old content table.
     *
     * @param  {Element} element - Specifies the Grid content table.
     * @returns {void}
     */
    setGridContentTable(element: Element): void;
    /**
     * Gets the content div of the Grid.
     *
     * @returns {Element} Returns the element
     */
    getContent(): Element;
    /**
     * Sets the content div of the Grid to replace the old Grid content.
     *
     * @param  {Element} element - Specifies the Grid content.
     * @returns {void}
     */
    setGridContent(element: Element): void;
    /**
     * Gets the header table element of the Grid.
     *
     * @returns {Element} returns the element
     */
    getHeaderTable(): Element;
    /**
     * Sets the header table of the Grid to replace the old one.
     *
     * @param  {Element} element - Specifies the Grid header table.
     * @returns {void}
     */
    setGridHeaderTable(element: Element): void;
    /**
     * Gets the footer div of the Grid.
     *
     * @returns {Element} returns the element
     */
    getFooterContent(): Element;
    /**
     * Gets the footer table element of the Grid.
     *
     * @returns {Element} returns the element
     */
    getFooterContentTable(): Element;
    /**
     * Gets the pager of the Grid.
     *
     * @returns {Element} returns the element
     */
    getPager(): Element;
    /**
     * Sets the pager of the Grid to replace the old pager.
     *
     * @param  {Element} element - Specifies the Grid pager.
     * @returns {void}
     */
    setGridPager(element: Element): void;
    /**
     * Gets a row by index.
     *
     * @param  {number} index - Specifies the row index.
     * @returns {Element} returns the element
     */
    getRowByIndex(index: number): Element;
    /**
     * Gets a movable tables row by index.
     *
     * @param  {number} index - Specifies the row index.
     * @returns {Element} returns the element
     */
    getMovableRowByIndex(index: number): Element;
    /**
     * Gets a frozen tables row by index.
     *
     * @param  {number} index - Specifies the row index.
     * @returns {Element} returns the element
     */
    getFrozenRowByIndex(index: number): Element;
    /**
     * Gets all the data rows of the Grid.
     *
     * @returns {Element[]} returns the element
     */
    getRows(): Element[];
    /**
     * Gets a frozen right tables row element by index.
     *
     * @param  {number} index - Specifies the row index.
     * @returns {Element} returns the element
     */
    getFrozenRightRowByIndex(index: number): Element;
    /**
     * Get a row information based on cell
     *
     * @param {Element | EventTarget} target - specifies the element
     * @returns {RowInfo} returns the row info
     */
    getRowInfo(target: Element | EventTarget): RowInfo;
    /**
     * Gets the Grid's movable content rows from frozen grid.
     *
     * @returns {Element[]} returns the element
     */
    getMovableRows(): Element[];
    /**
     * Gets the Grid's frozen right content rows from frozen grid.
     *
     * @returns {Element[]} returns the element
     */
    getFrozenRightRows(): Element[];
    /**
     * Gets all the Grid's data rows.
     *
     * @returns {Element[]} returns the element
     */
    getDataRows(): Element[];
    /**
     * @param {boolean} includeAdd - specifies includeAdd
     * @returns {Element[]} returns the element
     * @hidden
     */
    getAllDataRows(includeAdd?: boolean): Element[];
    /**
     * @param {HTMLElement[]} fRows - Defines the frozen Rows
     * @param {HTMLElement[]} mrows - Defines the movable Rows
     * @returns {HTMLElement[]} Returns the element
     * @hidden
     */
    addMovableRows(fRows: HTMLElement[], mrows: HTMLElement[]): HTMLElement[];
    private generateDataRows;
    /**
     * Gets all the Grid's movable table data rows.
     *
     * @returns {Element[]} Returns the element
     */
    getMovableDataRows(): Element[];
    /**
     * @param {boolean} includeAdd Defines the include add in boolean
     * @returns {Element[]} Returns the element
     * @hidden
     */
    getAllMovableDataRows(includeAdd?: boolean): Element[];
    /**
     * Gets all the Grid's frozen table data rows.
     *
     * @returns {Element[]} returns the element
     */
    getFrozenDataRows(): Element[];
    /**
     * @param {boolean} includeAdd Defines the include add in boolean
     * @returns {Element[]} Returns the element
     * @hidden
     */
    getAllFrozenDataRows(includeAdd?: boolean): Element[];
    /**
     * Gets all the Grid's frozen right table data rows.
     *
     * @returns {Element[]} Returns the Element
     */
    getFrozenRightDataRows(): Element[];
    /**
     * @param {boolean} includeAdd Defines the include add in boolean
     * @returns {Element[]} Returns the element
     * @hidden
     */
    getAllFrozenRightDataRows(includeAdd?: boolean): Element[];
    /**
     * Updates particular cell value based on the given primary key value.
     * > Primary key column must be specified using `columns.isPrimaryKey` property.
     *
     * @param {string| number} key - Specifies the PrimaryKey value of dataSource.
     * @param {string } field - Specifies the field name which you want to update.
     * @param {string | number | boolean | Date} value - To update new value for the particular cell.
     * @returns {void}
     */
    setCellValue(key: string | number, field: string, value: string | number | boolean | Date): void;
    /**
     * @param {string} columnUid - Defines column uid
     * @returns {void}
     * @hidden
     */
    refreshReactColumnTemplateByUid(columnUid: string): void;
    /**
     * @param {string} columnUid - Defines column uid
     * @returns {void}
     * @hidden
     */
    refreshReactHeaderTemplateByUid(columnUid: string): void;
    /**
     * Updates and refresh the particular row values based on the given primary key value.
     * > Primary key column must be specified using `columns.isPrimaryKey` property.
     *
     * @param {string| number} key - Specifies the PrimaryKey value of dataSource.
     * @param {Object} rowData - To update new data for the particular row.
     * @returns {void}
     */
    setRowData(key: string | number, rowData?: Object): void;
    private setFrozenRowData;
    /**
     * Gets a cell by row and column index.
     *
     * @param  {number} rowIndex - Specifies the row index.
     * @param  {number} columnIndex - Specifies the column index.
     * @returns {Element} Returns the Element
     */
    getCellFromIndex(rowIndex: number, columnIndex: number): Element;
    /**
     * Gets a movable table cell by row and column index.
     *
     * @param  {number} rowIndex - Specifies the row index.
     * @param  {number} columnIndex - Specifies the column index.
     * @returns {Element} Returns the Element
     */
    getMovableCellFromIndex(rowIndex: number, columnIndex: number): Element;
    /**
     * Gets a frozen right table cell by row and column index.
     *
     * @param  {number} rowIndex - Specifies the row index.
     * @param  {number} columnIndex - Specifies the column index.
     * @returns {Element} Returns the Element
     */
    getFrozenRightCellFromIndex(rowIndex: number, columnIndex: number): Element;
    /**
     * Gets a column header by column index.
     *
     * @param  {number} index - Specifies the column index.
     * @returns {Element} Returns the Element
     */
    getColumnHeaderByIndex(index: number): Element;
    /**
     * Gets a movable column header by column index.
     *
     * @param  {number} index - Specifies the column index.
     * @returns {Element} Returns the Element
     */
    getMovableColumnHeaderByIndex(index: number): Element;
    /**
     * Gets a frozen right column header by column index.
     *
     * @param  {number} index - Specifies the column index.
     * @returns {Element} Returns the Element
     */
    getFrozenRightColumnHeaderByIndex(index: number): Element;
    /**
     * Gets a frozen left column header by column index.
     *
     * @param  {number} index - Specifies the column index.
     * @returns {Element} Returns the Element
     */
    getFrozenLeftColumnHeaderByIndex(index: number): Element;
    /**
     * @param {string} uid - Defines the uid
     * @param {boolean} isMovable - Defines isMovable
     * @param {boolean} isFrozenRight - Defines isFrozenRight
     * @returns {Row<Column>} Returns the row object
     * @hidden
     */
    getRowObjectFromUID(uid: string, isMovable?: boolean, isFrozenRight?: boolean): Row<Column>;
    private rowObject;
    /**
     * @hidden
     * @returns {Row<Column>[]} Returns the Row object
     */
    getRowsObject(): Row<Column>[];
    /**
     * @hidden
     * @returns {Row<Column>[]} Returns the Row object
     */
    getMovableRowsObject(): Row<Column>[];
    /**
     * @hidden
     * @returns {Row<Column>[]} Returns the Row object
     */
    getFrozenRightRowsObject(): Row<Column>[];
    /**
     * Gets a column header by column name.
     *
     * @param  {string} field - Specifies the column name.
     * @returns {Element} - Returns the element
     */
    getColumnHeaderByField(field: string): Element;
    /**
     * Gets a column header by UID.
     *
     * @param {string} uid - Specifies the column uid.
     * @returns {Element} - Returns the element
     */
    getColumnHeaderByUid(uid: string): Element;
    /**
     * @hidden
     * @param {number} index - Defines the index
     * @returns {Column} Returns the column
     */
    getColumnByIndex(index: number): Column;
    /**
     * Gets a Column by column name.
     *
     * @param  {string} field - Specifies the column name.
     * @returns {Column} Returns the column
     */
    getColumnByField(field: string): Column;
    /**
     * Gets a column index by column name.
     *
     * @param  {string} field - Specifies the column name.
     * @returns {number} Returns the index by field
     */
    getColumnIndexByField(field: string): number;
    /**
     * Gets a column by UID.
     *
     * @param  {string} uid - Specifies the column UID.
     * @returns {Column} Returns the column
     */
    getColumnByUid(uid: string): Column;
    /**
     * @param {Column[]} columns - Defines the columns
     * @param {Column[]} stackedColumn - Defines the stacked columns
     * @returns {Column[]} Returns the columns
     * @hidden
     */
    getStackedColumns(columns: Column[], stackedColumn?: Column[]): Column[];
    /**
     * Gets a column index by UID.
     *
     * @param  {string} uid - Specifies the column UID.
     * @returns {number} Returns the column by index
     */
    getColumnIndexByUid(uid: string): number;
    /**
     * Gets UID by column name.
     *
     * @param  {string} field - Specifies the column name.
     * @returns {string} Returns the column by field
     */
    getUidByColumnField(field: string): string;
    /**
     * Gets column index by column uid value.
     *
     * @private
     * @param  {string} uid - Specifies the column uid.
     * @returns {number} Returns the column by field
     */
    getNormalizedColumnIndex(uid: string): number;
    /**
     * Gets indent cell count.
     *
     * @private
     * @returns {number} Returns the indent count
     */
    getIndentCount(): number;
    /**
     * Gets the collection of column fields.
     *
     * @returns {string[]} Returns the Field names
     */
    getColumnFieldNames(): string[];
    /**
     * Gets a compiled row template.
     *
     * @returns {Function} Returns the row TEmplate
     * @private
     */
    getRowTemplate(): Function;
    /**
     * Gets a compiled detail row template.
     *
     * @private
     * @returns {Function} Returns the Detail template
     */
    getDetailTemplate(): Function;
    /**
     * Gets a compiled detail row template.
     *
     * @private
     * @returns {Function}Returns the Edit template
     */
    getEditTemplate(): Function;
    /**
     * Gets a compiled dialog edit header template.
     *
     * @private
     * @returns {Function} returns template function
     */
    getEditHeaderTemplate(): Function;
    /**
     * Gets a compiled dialog edit footer template.
     *
     * @private
     * @returns {Function} Returns the Footer template
     */
    getEditFooterTemplate(): Function;
    /**
     * Get the names of the primary key columns of the Grid.
     *
     * @returns {string[]} Returns the field names
     */
    getPrimaryKeyFieldNames(): string[];
    /**
     * Refreshes the Grid header and content.
     *
     * @returns {void}
     */
    refresh(): void;
    /**
     * Refreshes the Grid header.
     *
     * @returns {void}
     */
    refreshHeader(): void;
    /**
     * Gets the collection of selected rows.
     *
     * @returns {Element[]} Returns the element
     */
    getSelectedRows(): Element[];
    /**
     * Gets the collection of selected row indexes.
     *
     * @returns {number[]} Returns the Selected row indexes
     */
    getSelectedRowIndexes(): number[];
    /**
     * Gets the collection of selected row and cell indexes.
     *
     * @returns {number[]} Returns the Selected row cell indexes
     */
    getSelectedRowCellIndexes(): ISelectedCell[];
    /**
     * Gets the collection of selected records.
     *
     * @returns {Object[]} Returns the selected records
     * @isGenericType true
     */
    getSelectedRecords(): Object[];
    /**
     * Gets the collection of selected columns uid.
     *
     * @returns {string[]} Returns the selected column uid
     * @isGenericType true
     */
    getSelectedColumnsUid(): string[];
    /**
     * Gets the data module.
     *
     * @returns {Data} Returns the data
     */
    getDataModule(): Data;
    /**
     * Shows a column by its column name.
     *
     * @param  {string|string[]} keys - Defines a single or collection of column names.
     * @param  {string} showBy - Defines the column key either as field name or header text.
     * @returns {void}
     */
    showColumns(keys: string | string[], showBy?: string): void;
    /**
     * Hides a column by column name.
     *
     * @param  {string|string[]} keys - Defines a single or collection of column names.
     * @param  {string} hideBy - Defines the column key either as field name or header text.
     * @returns {void}
     */
    hideColumns(keys: string | string[], hideBy?: string): void;
    /**
     * @hidden
     * @returns {number} Returns the Frozen column
     */
    getFrozenColumns(): number;
    /**
     * @hidden
     * @returns {number} Returns the Frozen Right column count
     */
    getFrozenRightColumnsCount(): number;
    /**
     * @hidden
     * @returns {number} Returns the Frozen Left column
     */
    getFrozenLeftColumnsCount(): number;
    /**
     * @hidden
     * @returns {number} Returns the movable column count
     */
    getMovableColumnsCount(): number;
    /**
     * @hidden
     * @returns {void}
     */
    setFrozenCount(): void;
    /**
     * @hidden
     * @returns {number} Returns the visible Frozen left count
     */
    getVisibleFrozenLeftCount(): number;
    /**
     * @hidden
     * @returns {number} Returns the visible Frozen Right count
     */
    getVisibleFrozenRightCount(): number;
    /**
     * @hidden
     * @returns {number} Returns the visible movable count
     */
    getVisibleMovableCount(): number;
    /**
     * @hidden
     * @returns {Column[]} Returns the column
     */
    getFrozenRightColumns(): Column[];
    /**
     * @hidden
     * @returns {Column[]} Returns the column
     */
    getFrozenLeftColumns(): Column[];
    /**
     * @hidden
     * @returns {Column[]} Returns the column
     */
    getMovableColumns(): Column[];
    private splitFrozenCount;
    /**
     * @hidden
     * @returns {number} Returns the visible frozen columns count
     */
    getVisibleFrozenColumns(): number;
    /**
     * Get the current Filter operator and field.
     *
     * @returns {FilterUI} Returns the filter UI
     */
    getFilterUIInfo(): FilterUI;
    private getVisibleFrozenColumnsCount;
    private getVisibleFrozenCount;
    private getFrozenCount;
    /**
     * Navigates to the specified target page.
     *
     * @param  {number} pageNo - Defines the page number to navigate.
     * @returns {void}
     */
    goToPage(pageNo: number): void;
    /**
     * Defines the text of external message.
     *
     * @param  {string} message - Defines the message to update.
     * @returns {void}
     */
    updateExternalMessage(message: string): void;
    /**
     * Sorts a column with the given options.
     *
     * @param {string} columnName - Defines the column name to be sorted.
     * @param {SortDirection} direction - Defines the direction of sorting field.
     * @param {boolean} isMultiSort - Specifies whether the previous sorted columns are to be maintained.
     * @returns {void}
     */
    sortColumn(columnName: string, direction: SortDirection, isMultiSort?: boolean): void;
    /**
     * Clears all the sorted columns of the Grid.
     *
     * @returns {void}
     */
    clearSorting(): void;
    /**
     * Remove sorted column by field name.
     *
     * @param {string} field - Defines the column field name to remove sort.
     * @returns {void}
     * @hidden
     */
    removeSortColumn(field: string): void;
    /**
     * @hidden
     * @returns {void}
     */
    clearGridActions(): void;
    /**
     * Filters grid row by column name with the given options.
     *
     * @param  {string} fieldName - Defines the field name of the column.
     * @param  {string} filterOperator - Defines the operator to filter records.
     * @param  {string | number | Date | boolean} filterValue - Defines the value used to filter records.
     * @param  {string} predicate - Defines the relationship between one filter query and another by using AND or OR predicate.
     * @param  {boolean} matchCase - If match case is set to true, the grid filters the records with exact match. if false, it filters case
     * insensitive records (uppercase and lowercase letters treated the same).
     * @param  {boolean} ignoreAccent - If ignoreAccent set to true,
     * then filter ignores the diacritic characters or accents while filtering.
     * @param  {string} actualFilterValue - Defines the actual filter value for the filter column.
     * @param  {string} actualOperator - Defines the actual filter operator for the filter column.
     * @returns {void}
     */
    filterByColumn(fieldName: string, filterOperator: string, filterValue: string | number | Date | boolean | number[] | string[] | Date[] | boolean[] | null, predicate?: string, matchCase?: boolean, ignoreAccent?: boolean, actualFilterValue?: string, actualOperator?: string): void;
    /**
     * Clears all the filtered rows of the Grid.
     *
     * @param {string[]} fields - Defines the Fields
     * @returns {void}
     */
    clearFiltering(fields?: string[]): void;
    /**
     * Removes filtered column by field name.
     *
     * @param  {string} field - Defines column field name to remove filter.
     * @param  {boolean} isClearFilterBar -  Specifies whether the filter bar value needs to be cleared.
     * @returns {void}
     * @hidden
     */
    removeFilteredColsByField(field: string, isClearFilterBar?: boolean): void;
    /**
     * Selects a row by given index.
     *
     * @param  {number} index - Defines the row index.
     * @param  {boolean} isToggle - If set to true, then it toggles the selection.
     * @returns {void}
     */
    selectRow(index: number, isToggle?: boolean): void;
    /**
     * Selects a collection of rows by indexes.
     *
     * @param  {number[]} rowIndexes - Specifies the row indexes.
     * @returns {void}
     */
    selectRows(rowIndexes: number[]): void;
    /**
     * Deselects the current selected rows and cells.
     *
     * @returns {void}
     */
    clearSelection(): void;
    /**
     * Selects a cell by the given index.
     *
     * @param  {IIndex} cellIndex - Defines the row and column indexes.
     * @param  {boolean} isToggle - If set to true, then it toggles the selection.
     * @returns {void}
     */
    selectCell(cellIndex: IIndex, isToggle?: boolean): void;
    /**
     * Selects a range of cells from start and end indexes.
     *
     * @param  {IIndex} startIndex - Specifies the row and column's start index.
     * @param  {IIndex} endIndex - Specifies the row and column's end index.
     * @returns {void}
     */
    selectCellsByRange(startIndex: IIndex, endIndex?: IIndex): void;
    /**
     * Searches Grid records using the given key.
     * You can customize the default search option by using the
     * [`searchSettings`](./#searchsettings/).
     *
     * @param  {string} searchString - Defines the key.
     * @returns {void}
     */
    search(searchString: string): void;
    /**
     * By default, prints all the pages of the Grid and hides the pager.
     * > You can customize print options using the
     * [`printMode`](./#printmode).
     *
     * @returns {void}
     */
    print(): void;
    /**
     * Delete a record with Given options. If fieldname and data is not given then grid will delete the selected record.
     * > `editSettings.allowDeleting` should be true.
     *
     * @param {string} fieldname - Defines the primary key field, 'Name of the column'.
     * @param {Object} data - Defines the JSON data of the record to be deleted.
     * @returns {void}
     */
    deleteRecord(fieldname?: string, data?: Object): void;
    /**
     * Starts edit the selected row. At least one row must be selected before invoking this method.
     * `editSettings.allowEditing` should be true.
     * {% codeBlock src='grid/startEdit/index.md' %}{% endcodeBlock %}
     *
     * @returns {void}
     */
    startEdit(): void;
    /**
     * If Grid is in editable state, you can save a record by invoking endEdit.
     *
     * @returns {void}
     */
    endEdit(): void;
    /**
     * Cancels edited state.
     *
     * @returns {void}
     */
    closeEdit(): void;
    /**
     * Adds a new record to the Grid. Without passing parameters, it adds empty rows.
     * > `editSettings.allowEditing` should be true.
     *
     * @param {Object} data - Defines the new add record data.
     * @param {number} index - Defines the row index to be added
     * @returns {void}
     */
    addRecord(data?: Object, index?: number): void;
    /**
     * Delete any visible row by TR element.
     *
     * @param {HTMLTableRowElement} tr - Defines the table row element.
     * @returns {void}
     */
    deleteRow(tr: HTMLTableRowElement): void;
    /**
     * Changes a particular cell into edited state based on the row index and field name provided in the `batch` mode.
     *
     * @param {number} index - Defines row index to edit a particular cell.
     * @param {string} field - Defines the field name of the column to perform batch edit.
     * @returns {void}
     */
    editCell(index: number, field: string): void;
    /**
     * Saves the cell that is currently edited. It does not save the value to the DataSource.
     *
     * @returns {void}
     * {% codeBlock src='grid/saveCell/index.md' %}{% endcodeBlock %}
     */
    saveCell(): void;
    /**
     * To update the specified cell by given value without changing into edited state.
     *
     * @param {number} rowIndex Defines the row index.
     * @param {string} field Defines the column field.
     * @param {string | number | boolean | Date} value - Defines the value to be changed.
     * @returns {void}
     */
    updateCell(rowIndex: number, field: string, value: string | number | boolean | Date): void;
    /**
     * To update the specified row by given values without changing into edited state.
     *
     * {% codeBlock src='grid/updateRow/index.md' %}{% endcodeBlock %}
     *
     * @param {number} index Defines the row index.
     * @param {Object} data Defines the data object to be updated.
     * @returns {void}
     */
    updateRow(index: number, data: Object): void;
    /**
     * Gets the added, edited,and deleted data before bulk save to the DataSource in batch mode.
     *
     * @returns {Object} Returns the batch changes
     */
    getBatchChanges(): Object;
    /**
     * Enables or disables ToolBar items.
     *
     * @param {string[]} items - Defines the collection of itemID of ToolBar items.
     * @param {boolean} isEnable - Defines the items to be enabled or disabled.
     * @returns {void}
     */
    enableToolbarItems(items: string[], isEnable: boolean): void;
    /**
     * Copy the selected rows or cells data into clipboard.
     *
     * @param {boolean} withHeader - Specifies whether the column header text needs to be copied along with rows or cells.
     * @returns {void}
     */
    copy(withHeader?: boolean): void;
    /**
     * @hidden
     * @returns {void}
     */
    recalcIndentWidth(): void;
    /**
     * @hidden
     * @returns {void}
     */
    resetIndentWidth(): void;
    /**
     * @hidden
     * @returns {boolean} Returns isRowDragable
     */
    isRowDragable(): boolean;
    /**
     * Changes the Grid column positions by field names.
     *
     * @param  {string} fromFName - Defines the origin field name.
     * @param  {string} toFName - Defines the destination field name.
     * @returns {void}
     */
    reorderColumns(fromFName: string | string[], toFName: string): void;
    /**
     * Changes the Grid column positions by field index. If you invoke reorderColumnByIndex multiple times,
     * then you won't get the same results every time.
     *
     * @param  {number} fromIndex - Defines the origin field index.
     * @param  {number} toIndex - Defines the destination field index.
     * @returns {void}
     */
    reorderColumnByIndex(fromIndex: number, toIndex: number): void;
    /**
     * Changes the Grid column positions by field index. If you invoke reorderColumnByTargetIndex multiple times,
     * then you will get the same results every time.
     *
     * @param  {string} fieldName - Defines the field name.
     * @param  {number} toIndex - Defines the destination field index.
     * @returns {void}
     */
    reorderColumnByTargetIndex(fieldName: string | string[], toIndex: number): void;
    /**
     * Changes the Grid Row position with given indexes.
     *
     * @param  {number} fromIndexes - Defines the origin Indexes.
     * @param  {number} toIndex - Defines the destination Index.
     * @returns {void}
     */
    reorderRows(fromIndexes: number[], toIndex: number): void;
    /**
     * @param {ReturnType} e - Defines the Return type
     * @returns {void}
     * @hidden
     */
    refreshDataSource(e: ReturnType): void;
    /**
     * @param {boolean} enable -Defines the enable
     * @returns {void}
     * @hidden
     */
    disableRowDD(enable: boolean): void;
    /**
     * Changes the column width to automatically fit its content to ensure that the width shows the content without wrapping/hiding.
     * > * This method ignores the hidden columns.
     * > * Uses the `autoFitColumns` method in the `dataBound` event to resize at initial rendering.
     *
     * @param  {string |string[]} fieldNames - Defines the column names.
     * @returns {void}
     *
     *
     * ```typescript
     * <div id="Grid"></div>
     * <script>
     * let gridObj: Grid = new Grid({
     *     dataSource: employeeData,
     *     columns: [
     *         { field: 'OrderID', headerText: 'Order ID', width:100 },
     *         { field: 'EmployeeID', headerText: 'Employee ID' }],
     *     dataBound: () => gridObj.autoFitColumns('EmployeeID')
     * });
     * gridObj.appendTo('#Grid');
     * </script>
     * ```
     *
     */
    autoFitColumns(fieldNames?: string | string[]): void;
    /**
     * @param {number} x - Defines the number
     * @param {number} y - Defines the number
     * @param {Element} target - Defines the Element
     * @returns {void}
     * @hidden
     */
    createColumnchooser(x: number, y: number, target: Element): void;
    private initializeServices;
    private processModel;
    private initForeignColumn;
    private enableVerticalRendering;
    private gridRender;
    dataReady(): void;
    private updateRTL;
    private createGridPopUpElement;
    private updateGridLines;
    private updateResizeLines;
    /**
     * The function is used to apply text wrap
     *
     * @returns {void}
     * @hidden
     */
    applyTextWrap(): void;
    /**
     * The function is used to remove text wrap
     *
     * @returns {void}
     * @hidden
     */
    removeTextWrap(): void;
    /**
     * The function is used to add Tooltip to the grid cell that has ellipsiswithtooltip clip mode.
     *
     * @returns {void}
     * @hidden
     */
    createTooltip(): void;
    /** @hidden
     * @returns {void}
     */
    freezeRefresh(): void;
    private getTooltipStatus;
    private mouseMoveHandler;
    /**
     * @param {MouseEvent} e - Defines the mouse event
     * @returns {void}
     * @hidden
     */
    hoverFrozenRows(e: MouseEvent): void;
    private isEllipsisTooltip;
    private scrollHandler;
    /**
     * To create table for ellipsiswithtooltip
     *
     * @param {Element} table - Defines the table
     * @param {string} tag - Defines the tag
     * @param {string} type - Defines the type
     * @returns {HTMLDivElement} Returns the HTML div ELement
     * @hidden
     */
    protected createTable(table: Element, tag: string, type: string): HTMLDivElement;
    private onKeyPressed;
    /**
     * Binding events to the element while component creation.
     *
     * @hidden
     * @returns {void}
     */
    wireEvents(): void;
    /**
     * Unbinding events from the element while component destroy.
     *
     * @hidden
     * @returns {void}
     */
    unwireEvents(): void;
    /**
     * @hidden
     * @returns {void}
     */
    addListener(): void;
    /**
     * @hidden
     * @returns {void}
     */
    removeListener(): void;
    /**
     * Get current visible data of grid.
     *
     * @returns {Object[]} Returns the current view records
     * @isGenericType true
     */
    getCurrentViewRecords(): Object[];
    private mouseClickHandler;
    private checkEdit;
    private dblClickHandler;
    private focusOutHandler;
    private isChildGrid;
    /**
     * @param {Object} persistedData - Defines the persisted data
     * @returns {void}
     * @hidden
     */
    mergePersistGridData(persistedData?: Object): void;
    private mergeColumns;
    /**
     * @hidden
     * @returns {boolean} Returns the isDetail
     */
    isDetail(): boolean;
    private isCommandColumn;
    private isForeignKeyEnabled;
    private keyPressHandler;
    private keyDownHandler;
    private keyActionHandler;
    /**
     * @param {Function[]} modules - Defines the modules
     * @returns {void}
     * @hidden
     */
    setInjectedModules(modules: Function[]): void;
    private updateColumnObject;
    /**
     * Gets the foreign columns from Grid.
     *
     * @returns {Column[]} Returns Foreign key column
     */
    getForeignKeyColumns(): Column[];
    /**
     * @hidden
     * @returns {number} Returns row height
     */
    getRowHeight(): number;
    /**
     * Refreshes the Grid column changes.
     *
     * @returns {void}
     */
    refreshColumns(): void;
    /**
     * Export Grid data to Excel file(.xlsx).
     *
     * @param  {ExcelExportProperties} excelExportProperties - Defines the export properties of the Grid.
     * @param  {boolean} isMultipleExport - Define to enable multiple export.
     * @param  {excelExport.Workbook} workbook - Defines the excelExport.Workbook if multiple export is enabled.
     * @param  {boolean} isBlob - If 'isBlob' set to true, then it will be returned as blob data.
     * @returns {Promise<any>} Returns the excelexport
     */
    excelExport(excelExportProperties?: ExcelExportProperties, isMultipleExport?: boolean, workbook?: excelExport.Workbook, isBlob?: boolean): Promise<any>;
    /**
     * Export Grid data to CSV file.
     *
     * @param  {ExcelExportProperties} excelExportProperties - Defines the export properties of the Grid.
     * @param  {boolean} isMultipleExport - Define to enable multiple export.
     * @param  {excelExport.Workbook} workbook - Defines the excelExport.Workbook if multiple export is enabled.
     * @param  {boolean} isBlob - If 'isBlob' set to true, then it will be returned as blob data.
     * @returns {Promise<any>} Returns csv export
     */
    csvExport(excelExportProperties?: ExcelExportProperties, isMultipleExport?: boolean, workbook?: excelExport.Workbook, isBlob?: boolean): Promise<any>;
    /**
     * Export Grid data to PDF document.
     *
     * @param {pdfExportProperties} pdfExportProperties - Defines the export properties of the Grid.
     * @param {isMultipleExport} isMultipleExport - Define to enable multiple export.
     * @param {pdfDoc} pdfDoc - Defined the Pdf Document if multiple export is enabled.
     * @param {boolean} isBlob - If 'isBlob' set to true, then it will be returned as blob data.
     * @returns {Promise<any>} Returns pdfexport
     */
    pdfExport(pdfExportProperties?: PdfExportProperties, isMultipleExport?: boolean, pdfDoc?: Object, isBlob?: boolean): Promise<Object>;
    /**
     * Groups a column by column name.
     *
     * @param  {string} columnName - Defines the column name to group.
     * @returns {void}
     */
    groupColumn(columnName: string): void;
    /**
     * Expands all the grouped rows of the Grid.
     *
     * @returns {void}
     */
    groupExpandAll(): void;
    /**
     * Collapses all the grouped rows of the Grid.
     *
     * @returns {void}
     */
    groupCollapseAll(): void;
    /**
     * Expands or collapses grouped rows by target element.
     *
     * @param  {Element} target - Defines the target element of the grouped row.
     * @returns {void}
     */
    /**
     * Clears all the grouped columns of the Grid.
     *
     * @returns {void}
     */
    clearGrouping(): void;
    /**
     * Ungroups a column by column name.
     *
     * {% codeBlock src='grid/ungroupColumn/index.md' %}{% endcodeBlock %}
     *
     * @param  {string} columnName - Defines the column name to ungroup.
     * @returns {void}
     */
    ungroupColumn(columnName: string): void;
    /**
     * Column chooser can be displayed on screen by given position(X and Y axis).
     *
     * @param {number} x - Defines the X axis.
     * @param {number} y - Defines the Y axis.
     * @returns {void}
     */
    openColumnChooser(x?: number, y?: number): void;
    private scrollRefresh;
    /**
     * Collapses a detail row with the given target.
     *
     * @param  {Element} target - Defines the expanded element to collapse.
     * @returns {void}
     */
    /**
     * Collapses all the detail rows of the Grid.
     *
     * @returns {void}
     */
    detailCollapseAll(): void;
    /**
     * Expands a detail row with the given target.
     *
     * @param  {Element} target - Defines the collapsed element to expand.
     * @returns {void}
     */
    /**
     * Expands all the detail rows of the Grid.
     *
     * @returns {void}
     */
    detailExpandAll(): void;
    /**
     * Deselects the currently selected cells.
     *
     * @returns {void}
     */
    clearCellSelection(): void;
    /**
     * Deselects the currently selected rows.
     *
     * @returns {void}
     */
    clearRowSelection(): void;
    /**
     * Selects a collection of cells by row and column indexes.
     *
     * @param  {ISelectedCell[]} rowCellIndexes - Specifies the row and column indexes.
     * @returns {void}
     */
    selectCells(rowCellIndexes: ISelectedCell[]): void;
    /**
     * Selects a range of rows from start and end row indexes.
     *
     * @param  {number} startIndex - Specifies the start row index.
     * @param  {number} endIndex - Specifies the end row index.
     * @returns {void}
     */
    selectRowsByRange(startIndex: number, endIndex?: number): void;
    /**
     * @hidden
     * @returns {boolean} Returns whether context menu is open or not
     */
    isContextMenuOpen(): boolean;
    /**
     * @param {Function} module - Defines the module
     * @returns {boolean} return the injected modules
     * @hidden
     */
    ensureModuleInjected(module: Function): boolean;
    /**
     * Destroys the given template reference.
     *
     * @param {string[]} propertyNames - Defines the collection of template name.
     * @param {any} index - specifies the index
     */
    destroyTemplate(propertyNames?: string[], index?: any): void;
    /**
     * @param {string | string[]} type - Defines the type
     * @param {Object} args - Defines the arguments
     * @returns {void}
     * @hidden
     * @private
     */
    log(type: string | string[], args?: Object): void;
    /**
     * @param {Element} element - Defines the element
     * @returns {void}
     * @hidden
     */
    applyBiggerTheme(element: Element): void;
    /**
     * @hidden
     * @returns {Object} Returns the previous row data
     */
    getPreviousRowData(): Object;
    /**
     * Hides the scrollbar placeholder of Grid content when grid content is not overflown.
     *
     * @returns {void}
     */
    hideScroll(): void;
    /**
     * Get row index by primary key or row data.
     *
     * @param  {string | Object} value - Defines the primary key value.
     * @returns {number} Returns the index
     */
    getRowIndexByPrimaryKey(value: string | Object): number;
    /**
     * @param {string} field - Defines the field name
     * @returns {Column} returns the column
     * @hidden
     */
    grabColumnByFieldFromAllCols(field: string): Column;
    /**
     * @param {string} uid - Defines the uid
     * @returns {Column} returns the column
     * @hidden
     */
    grabColumnByUidFromAllCols(uid: string): Column;
    /**
     * Get all filtered records from the Grid and it returns array of objects for the local dataSource, returns a promise object if the Grid has remote data.
     *
     * @returns {Object[] | Promise<Object>} Returns the filtered records
     */
    getFilteredRecords(): Object[] | Promise<Object>;
    private getUserAgent;
    /**
     * @param {base.TouchEventArgs} e - Defines the base.TouchEventArgs
     * @returns {void}
     * @hidden
     */
    tapEvent(e: base.TouchEventArgs): void;
    /**
     * @param {string} prefix - specifies the prefix
     * @returns {string} returns the row uid
     * @hidden
     */
    getRowUid(prefix: string): string;
    /**
     * @hidden
     * @returns {Element} returns the element
     */
    getMovableVirtualContent(): Element;
    /**
     * @hidden
     * @returns {Element} returns the element
     */
    getFrozenVirtualContent(): Element;
    /**
     * @hidden
     * @returns {Element} returns the element
     */
    getMovableVirtualHeader(): Element;
    /**
     * @hidden
     * @returns {Element} returns the element
     */
    getFrozenVirtualHeader(): Element;
    /**
     * @param {string} uid - specifies the uid
     * @returns {Element} returns the element
     * @hidden
     */
    getRowElementByUID(uid: string): Element;
    /**
     * Gets the hidden columns from the Grid.
     *
     * @returns {Column[]} Returns the Column
     */
    getHiddenColumns(): Column[];
    /**
     * calculatePageSizeByParentHeight
     *
     * @param {number | string } containerHeight - specifies the container height
     * @returns {number} returns the page size
     */
    calculatePageSizeByParentHeight(containerHeight: number | string): number;
    private getNoncontentHeight;
    /**
     *To perform aggregate operation on a column.
     *
     * @param  {AggregateColumnModel} summaryCol - Pass Aggregate Column details.
     * @param  {Object} summaryData - Pass JSON Array for which its field values to be calculated.
     * @returns {number} returns the summary values
     */
    getSummaryValues(summaryCol: AggregateColumnModel, summaryData: Object): number;
    /**
     * Sends a Post request to export Grid to Excel file in server side.
     *
     * @param  {string} url - Pass Url for server side excel export action.
     * @returns {void}
     */
    serverExcelExport(url: string): void;
    /**
     * Sends a Post request to export Grid to Pdf file in server side.
     *
     * @param  {string} url - Pass Url for server side pdf export action.
     * @returns {void}
     */
    serverPdfExport(url: string): void;
    /**
     * Sends a Post request to export Grid to CSV file in server side.
     *
     * @param  {string} url - Pass Url for server side pdf export action.
     * @returns {void}
     */
    serverCsvExport(url: string): void;
    /**
     * @param {string} url - Defines exporting url
     * @returns {void}
     * @hidden
     */
    exportGrid(url: string): void;
    /**
     * @param {Column[]} columns - Defines array of columns
     * @param {string[]} include - Defines array of sting
     * @returns {Column[]} returns array of columns
     * @hidden
     */
    setHeaderText(columns: Column[], include: string[]): Column[];
    private getFormat;
    /**
     * @hidden
     * @returns {boolean} returns the isCollapseStateEnabled
     */
    isCollapseStateEnabled(): boolean;
    /**
     * @param {number} key - Defines the primary key value.
     * @param {Object} rowData - Defines the rowData
     * @returns {void}
     */
    updateRowValue(key: number, rowData: Object): void;
    /**
     * @hidden
     * @returns {void}
     */
    setForeignKeyData(): void;
    /**
     * @param {string} field - specifies the field
     * @returns {void}
     * @hidden
     */
    resetFilterDlgPosition(field: string): void;
    /**
     * @hidden
     * @returns {void}
     */
    renderTemplates(): void;
    /**
     * Apply the changes to the Grid without refreshing the rows.
     *
     * @param  {BatchChanges} changes - Defines changes to be updated.
     * @returns {void}
     */
    batchUpdate(changes: BatchChanges): void;
    /**
     * Apply the changes to the Grid in one batch after 50ms without refreshing the rows.
     *
     * @param  {BatchChanges} changes - Defines changes to be updated.
     * @returns {void}
     */
    batchAsyncUpdate(changes: BatchChanges): void;
    private processBulkRowChanges;
    private processRowChanges;
    private setNewData;
    private deleteRowElement;
    private bulkRefresh;
    private renderRowElement;
    private addRowObject;
    /**
     * @hidden
     * @returns {void}
     */
    updateVisibleExpandCollapseRows(): void;
    /**
     * @param {string | number} height - specifies the height
     * @returns {number | string} - specifies the height number
     * @hidden
     */
    getHeight(height: string | number): number | string;
    /**
     * @hidden
     * @returns {Element} - returns frozen right content
     */
    getFrozenRightContent(): Element;
    /**
     * @hidden
     * @returns {Element} - returns frozen right header
     */
    getFrozenRightHeader(): Element;
    /**
     * @hidden
     * @returns {Element} - returns movable header tbody
     */
    getMovableHeaderTbody(): Element;
    /**
     * @hidden
     * @returns {Element} - returns movable content tbody
     */
    getMovableContentTbody(): Element;
    /**
     * @hidden
     * @returns {Element} - returns frozen header tbody
     */
    getFrozenHeaderTbody(): Element;
    /**
     * @hidden
     * @returns {Element} - returns frozen left content tbody
     */
    getFrozenLeftContentTbody(): Element;
    /**
     * @hidden
     * @returns {Element} - returns frozen right header tbody
     */
    getFrozenRightHeaderTbody(): Element;
    /**
     * @returns {Element} returns frozen right content tbody
     * @hidden
     */
    getFrozenRightContentTbody(): Element;
    /**
     * @param {boolean} isCustom - Defines custom filter dialog open
     * @returns {void}
     * @hidden
     */
    showResponsiveCustomFilter(isCustom?: boolean): void;
    /**
     * @param {boolean} isCustom - Defines custom sort dialog open
     * @returns {void}
     * @hidden
     */
    showResponsiveCustomSort(isCustom?: boolean): void;
    /**
     * To manually show the vertical row mode filter dialog
     *
     * @returns {void}
     */
    showAdaptiveFilterDialog(): void;
    /**
     * To manually show the vertical row sort filter dialog
     *
     * @returns {void}
     */
    showAdaptiveSortDialog(): void;
    /**
     * @param {boolean} isColVirtualization - Defines column virtualization
     * @returns {Column[]} returns array of column models
     * @hidden
     */
    getCurrentVisibleColumns(isColVirtualization?: boolean): Column[];
    private enableInfiniteAggrgate;
}
//node_modules/@syncfusion/ej2-grids/src/grid/base/interface.d.ts
/**
 * Specifies grid interfaces.
 *
 * @hidden
 */
export interface IGrid extends base.Component<HTMLElement> {
    currentViewData?: Object[];
    currentAction?: ActionArgs;
    /**
     * Specifies the columns for Grid.
     *
     * @default []
     */
    columns?: Column[] | string[] | ColumnModel[];
    /**
     * Specifies whether the enableAltRow is enable or not.
     *
     * @default null
     */
    enableAltRow?: boolean;
    /**
     * Specifies whether the enable row hover is enable or not.
     *
     * @default null
     */
    enableHover?: boolean;
    /**
     * Specifies the allowKeyboard Navigation for the Grid.
     *
     * @default null
     */
    allowKeyboard?: boolean;
    /**
     * If 'enableStickyHeader' set to true, then the user can able to make the column headers visible when the document is scrolled.
     *
     * @default null
     */
    enableStickyHeader?: boolean;
    /**
     * Specifies whether the allowTextWrap is enabled or not.
     *
     * @default null
     */
    allowTextWrap?: boolean;
    /**
     * Specifies the 'textWrapSettings' for Grid.
     *
     * @default []
     */
    textWrapSettings?: TextWrapSettingsModel;
    /**
     * Specifies whether the paging is enable or not.
     *
     * @default null
     */
    allowPaging?: boolean;
    /**
     * Specifies the 'enableAutoFill' for Grid.
     *
     * @default []
     */
    enableAutoFill?: boolean;
    /**
     * Specifies the pageSettings for Grid.
     *
     * @default PageSettings
     */
    pageSettings?: PageSettingsModel;
    /**
     * Configures the Loading Indicator of the Grid.
     *
     * @default LoadingIndicator
     */
    loadingIndicator?: LoadingIndicatorModel;
    /**
     * Specifies the shimmer effect for Grid virtual and infinite scrolling.
     *
     * @default true
     */
    enableVirtualMaskRow?: boolean;
    enableVirtualization: boolean;
    enableColumnVirtualization: boolean;
    enableInfiniteScrolling: boolean;
    /**
     * Specifies whether the sorting is enable or not.
     *
     * @default null
     */
    allowSorting?: boolean;
    /**
     *  Defines the mode of clip. The available modes are,
     * `Clip`: Truncates the cell content when it overflows its area.
     * `Ellipsis`: Displays ellipsis when the cell content overflows its area.
     * `EllipsisWithTooltip`:  Displays ellipsis when the cell content overflows its area,
     *  also it will display the tooltip while hover on ellipsis is applied.
     *
     * @default Ellipsis
     */
    clipMode?: ClipMode;
    /**
     * Defines the resizing behavior of the Grid.
     *
     * @default []
     */
    resizeSettings?: ResizeSettingsModel;
    /**
     * Specifies whether the multi-sorting is enable or not.
     *
     * @default null
     */
    allowMultiSorting?: boolean;
    /**
     * Specifies the sortSettings for Grid.
     *
     * @default []
     */
    sortSettings?: SortSettingsModel;
    /**
     * Specifies the infinite scroll settings for Grid.
     *
     * @default []
     */
    infiniteScrollSettings?: InfiniteScrollSettingsModel;
    /**
     * Specifies whether the Excel exporting is enable or not.
     *
     * @default null
     */
    allowExcelExport?: boolean;
    /**
     * Specifies whether the Pdf exporting is enable or not.
     *
     * @default null
     */
    allowPdfExport?: boolean;
    /**
     * Specifies whether the selection is enable or not.
     *
     * @default null
     */
    allowSelection?: boolean;
    /**
     * It is used to select the row while initializing the grid.
     *
     * @default -1
     */
    selectedRowIndex?: number;
    /**
     * Specifies the selectionSettings for Grid.
     *
     * @default []
     */
    selectionSettings?: SelectionSettingsModel;
    /**
     * Specifies whether the reordering is enable or not.
     *
     * @default null
     */
    allowReordering?: boolean;
    /**
     * If `allowResizing` set to true, then the Grid columns can be resized.
     *
     * @default false
     */
    allowResizing?: boolean;
    /**
     * Specifies whether the filtering is enable or not.
     *
     * @default null
     */
    allowFiltering?: boolean;
    /**
     * Specifies the filterSettings for Grid.
     *
     * @default []
     */
    filterSettings?: FilterSettingsModel;
    /**
     * Specifies whether the grouping is enable or not.
     *
     * @default null
     */
    allowGrouping?: boolean;
    /**
     * Specifies whether the immutable mode is enable or not.
     *
     * @default null
     */
    enableImmutableMode?: boolean;
    /**
     * Specifies whether the column menu is show or not.
     *
     * @default null
     */
    showColumnMenu?: boolean;
    /**
     * Specifies the groupSettings for Grid.
     *
     * @default []
     */
    groupSettings?: GroupSettingsModel;
    /**
     * if showColumnChooser is true, then column chooser will be enabled in Grid.
     *
     * @default false
     */
    showColumnChooser?: boolean;
    /**
     * Specifies the 'columnChooserSettings' for Grid.
     *
     * @default []
     */
    columnChooserSettings?: ColumnChooserSettingsModel;
    /**
     * Specifies the editSettings for Grid.
     *
     * @default []
     */
    editSettings?: EditSettingsModel;
    /**
     * Specifies the summaryRows for Grid.
     *
     * @default []
     */
    aggregates?: AggregateRowModel[];
    /**
     * Specifies scrollable height of the grid content.
     *
     * @default 'auto'
     */
    height?: string | number;
    /**
     * Specifies scrollable width of the grid content.
     *
     * @default 'auto'
     */
    width?: string | number;
    /**
     * Specifies the searchSettings for Grid.
     *
     * @default []
     */
    searchSettings?: SearchSettingsModel;
    /**
     * Specifies the rowDropSettings for Grid.
     *
     * @default []
     */
    rowDropSettings?: RowDropSettingsModel;
    /**
     * Specifies whether the allowRowDragAndDrop is enable or not.
     *
     * @default false
     */
    allowRowDragAndDrop?: boolean;
    /**
     * Specifies whether the gridLines mode
     *
     * @default null
     */
    gridLines?: GridLine;
    /**
     * Specifies rowTemplate
     */
    rowTemplate?: string;
    /**
     * Specifies detailTemplate
     */
    detailTemplate?: string;
    /**
     * Defines the child Grid to add inside the data rows of the parent Grid with expand/collapse options.
     */
    childGrid?: GridModel;
    /**
     * Defines the relation between parent and child grid.
     */
    queryString?: string;
    /**
     * Specifies the printMode
     */
    printMode?: PrintMode;
    /**
     * Specifies the dataSource for Grid.
     *
     * @default []
     */
    dataSource?: Object | data.DataManager;
    /**
     * Defines the row height for Grid rows.
     *
     * @default null
     */
    rowHeight?: number;
    /**
     * Specifies the query for Grid.
     *
     * @default []
     */
    query?: data.Query;
    /**
     * @hidden
     * `columnQueryMode`provides options to retrive data from the datasource.
     * @default All
     */
    columnQueryMode?: ColumnQueryModeType;
    /**
     * @hidden
     * `vGroupOffsets`provides options to store the whole data objects block heights.
     * @default false
     */
    isVirtualAdaptive?: boolean;
    /**
     * @hidden
     * `vGroupOffsets`provides options to store the whole data objects block heights.
     * @default {}
     */
    vGroupOffsets?: {
        [x: number]: number;
    };
    /**
     * @hidden
     * `vRows`provides options to store the whole row objects from the datasource.
     * @default []
     */
    vRows?: Row<Column>[];
    /**
     * @hidden
     * `vcRows`provides options to store the whole row objects from the datasource.
     * @default []
     */
    vcRows?: Row<Column>[];
    /**
     * @hidden
     * Specifies the toolbar for Grid.
     * @default null
     */
    toolbar?: (ToolbarItems | string | navigations.ItemModel | ToolbarItem)[];
    /**
     * Specifies the context menu items for Grid.
     *
     * @default null
     */
    contextMenuItems?: ContextMenuItem[] | ContextMenuItemModel[];
    /**
     * Specifies the column menu items for Grid.
     *
     * @default null
     */
    columnMenuItems?: string[] | ContextMenuItemModel[];
    /**
     * @hidden
     * It used to render toolbar template
     * @default null
     */
    toolbarTemplate?: string;
    /**
     * @hidden
     * It used to render pager template
     * @default null
     */
    pagerTemplate?: string;
    /**
     * @hidden
     * It used to indicate initial loading
     * @default false
     */
    isInitialLoad?: boolean;
    /**
     * Defines the frozen rows for the grid content
     *
     * @default 0
     */
    frozenRows?: number;
    /**
     * Defines the grid rows displaying direction.
     *
     * @default 'Horizontal'
     */
    rowRenderingMode?: RowRenderingDirection;
    /**
     * If `enableAdaptiveUI` set to true the grid dialogs will be displayed at fullscreen.
     *
     * @default false
     */
    enableAdaptiveUI?: boolean;
    /**
     * Defines the frozen columns for the grid content
     *
     * @default 0
     */
    frozenColumns?: number;
    /**
     * Specifies whether the Searching for columns is enable or not.
     *
     * @default true
     */
    allowSearching?: boolean;
    /**
     * Defines the own class for the grid element.
     *
     * @default ''
     */
    cssClass?: string;
    isEdit?: boolean;
    commonQuery?: data.Query;
    scrollPosition: ScrollPositionType;
    isLastCellPrimaryKey?: boolean;
    editModule?: Edit;
    selectionModule?: Selection;
    aggregateModule?: Aggregate;
    scrollModule?: Scroll;
    infiniteScrollModule?: InfiniteScroll;
    resizeModule: Resize;
    focusModule?: FocusStrategy;
    mergeCells?: {
        [key: string]: number;
    };
    checkAllRows?: CheckState;
    isCheckBoxSelection?: boolean;
    isPersistSelection?: boolean;
    localeObj?: base.L10n;
    isManualRefresh?: boolean;
    isAutoFitColumns?: boolean;
    enableDeepCompare?: boolean;
    totalDataRecordsCount?: number;
    disableSelectedRecords?: Object[];
    partialSelectedRecords?: Object[];
    prevPageMoving?: boolean;
    renderModule?: Render;
    headerModule?: IRenderer;
    contentModule?: IRenderer;
    isPreventScrollEvent?: boolean;
    hierarchyPrintMode?: HierarchyGridPrintMode;
    detailRowModule?: DetailRow;
    printModule?: Print;
    filterModule?: Filter;
    requestTypeAction?: string;
    expandedRows?: {
        [index: number]: IExpandedRow;
    };
    registeredTemplate?: Object;
    lockcolPositionCount?: number;
    commandDelIndex?: number;
    isPrinting?: boolean;
    id?: string;
    isSelectedRowIndexUpdating?: boolean;
    pagerModule?: Page;
    invokedFromMedia?: boolean;
    isAutoGen?: boolean;
    pageTemplateChange?: boolean;
    enableHeaderFocus?: boolean;
    renderTemplates?: Function;
    isReact?: boolean;
    tableIndex?: number;
    isVue?: boolean;
    isAngular?: boolean;
    adaptiveDlgTarget?: HTMLElement;
    parentDetails?: ParentDetails;
    /**
     * @hidden
     * It used to render pager template
     * @default null
     */
    contextMenuModule?: ContextMenu;
    getHeaderContent?(): Element;
    isRowDragable(): boolean;
    setGridHeaderContent?(value: Element): void;
    getContentTable?(): Element;
    setGridContentTable?(value: Element): void;
    getContent?(): Element;
    setGridContent?(value: Element): void;
    getHeaderTable?(): Element;
    setGridHeaderTable?(value: Element): void;
    getFooterContent?(): Element;
    getFooterContentTable?(): Element;
    getPager?(): Element;
    setGridPager?(value: Element): void;
    hoverFrozenRows?(value: MouseEvent): void;
    getRowByIndex?(index: number): Element;
    getMovableRowByIndex?(index: number): Element;
    getFrozenRightRowByIndex?(index: number): Element;
    getFrozenRightRowByIndex?(index: number): Element;
    getFrozenRowByIndex?(index: number): Element;
    showResponsiveCustomFilter?(): void;
    showResponsiveCustomSort?(): void;
    getRowInfo?(target: Element): RowInfo;
    selectRow?(index: number, isToggle?: boolean): void;
    getColumnHeaderByIndex?(index: number): Element;
    getColumnByField?(field: string): Column;
    getColumnIndexByField?(field: string): number;
    getColumnByUid?(uid: string): Column;
    getColumnIndexByUid?(uid: string): number;
    getColumnByIndex?(index: number): Column;
    getUidByColumnField?(field: string): string;
    getNormalizedColumnIndex?(uid: string): number;
    getIndentCount?(): number;
    getColumnIndexesInView(): number[];
    setColumnIndexesInView(indexes?: number[]): void;
    getRows?(): Element[];
    getMovableRows?(): Element[];
    getCellFromIndex?(rowIndex: number, columnIndex: number): Element;
    getMovableCellFromIndex?(rowIndex: number, columnIndex: number): Element;
    getFrozenRightCellFromIndex?(rowIndex: number, columnIndex: number): Element;
    getColumnFieldNames?(): string[];
    getSelectedRows?(): Element[];
    getSelectedRecords?(): Object[];
    getSelectedRowIndexes?(): number[];
    getSelectedRowCellIndexes(): ISelectedCell[];
    getCurrentViewRecords(): Object[];
    selectRows?(indexes: number[]): void;
    clearSelection?(): void;
    updateExternalMessage?(message: string): void;
    getColumns?(isRefresh?: boolean): Column[];
    getStackedHeaderColumnByHeaderText?(stackedHeader: string, col: Column[]): Column;
    getStackedColumns?(column: Column[]): Column[];
    getRowTemplate?(): Function;
    getDetailTemplate?(): Function;
    getEditTemplate?(): Function;
    getEditFooterTemplate?(): Function;
    getEditHeaderTemplate?(): Function;
    getFilterTemplate?(): Function;
    sortColumn?(columnName: string, sortDirection: SortDirection, isMultiSort?: boolean): void;
    clearSorting?(): void;
    removeSortColumn?(field: string): void;
    clearGridActions?(): void;
    getColumnHeaderByUid?(uid: string): Element;
    getColumnHeaderByField?(field: string): Element;
    showColumns?(keys: string | string[], showBy?: string): void;
    hideColumns?(keys: string | string[], hideBy?: string): void;
    showSpinner?(): void;
    hideSpinner?(): void;
    showMaskRow?(axisDirection?: string, dialogElement?: Element): void;
    removeMaskRow?(): void;
    addShimmerEffect?(): void;
    updateDefaultCursor?(): void;
    getVisibleColumns?(): Column[];
    refreshHeader?(): void;
    getDataRows?(): Element[];
    getFrozenRightRows?(): Element[];
    getMovableDataRows?(): Element[];
    getFrozenRightDataRows?(): Element[];
    getFrozenDataRows?(): Element[];
    addMovableRows?(fRows: HTMLElement[], mrows: HTMLElement[]): HTMLElement[];
    getPrimaryKeyFieldNames?(): string[];
    autoFitColumns(fieldNames?: string | string[]): void;
    groupColumn(columnName: string): void;
    ungroupColumn(columnName: string): void;
    ensureModuleInjected(module: Function): boolean;
    isContextMenuOpen(): boolean;
    goToPage(pageNo: number): void;
    updateVisibleExpandCollapseRows?(): void;
    getFrozenColumns(): number;
    getFrozenRightColumnsCount?(): number;
    getFrozenLeftColumnsCount?(): number;
    getFrozenLeftCount?(): number;
    getMovableColumnsCount?(): number;
    isFrozenGrid?(): boolean;
    getFrozenMode?(): freezeMode;
    setTablesCount?(): void;
    getTablesCount?(): number;
    setFrozenCount?(): void;
    getVisibleFrozenLeftCount?(): number;
    getVisibleFrozenRightCount?(): number;
    getVisibleMovableCount?(): number;
    getFrozenRightColumns?(): Column[];
    getFrozenLeftColumns?(): Column[];
    getMovableColumns?(): Column[];
    getFrozenRightRowsObject?(): Row<Column>[];
    getFrozenRightContent?(): Element;
    getFrozenRightHeader?(): Element;
    getMovableHeaderTbody?(): Element;
    getMovableContentTbody?(): Element;
    getFrozenHeaderTbody?(): Element;
    getFrozenLeftContentTbody?(): Element;
    getFrozenRightHeaderTbody?(): Element;
    getFrozenRightContentTbody?(): Element;
    refreshReactColumnTemplateByUid?(columnUid: string): void;
    refreshReactHeaderTemplateByUid?(columnUid: string): void;
    getAllDataRows?(includeBatch: boolean): Element[];
    getAllMovableDataRows?(includeBatch: boolean): Element[];
    getAllFrozenDataRows?(includeBatch: boolean): Element[];
    getAllFrozenRightDataRows?(includeBatch: boolean): Element[];
    getMovableColumnHeaderByIndex?(index: number): Element;
    getFrozenRightColumnHeaderByIndex?(index: number): Element;
    getFrozenLeftColumnHeaderByIndex?(index: number): Element;
    applyBiggerTheme(args: Element): void;
    getVisibleFrozenColumns(): number;
    print(): void;
    excelExport(exportProperties?: any, isMultipleExport?: boolean, workbook?: any): Promise<any>;
    csvExport(exportProperties?: any, isMultipleExport?: boolean, workbook?: any): Promise<any>;
    pdfExport(exportProperties?: any, isMultipleExport?: boolean, pdfDoc?: Object): Promise<Object>;
    search(searchString: string): void;
    deleteRecord?(fieldname?: string, data?: Object): void;
    startEdit?(): void;
    endEdit?(): void;
    closeEdit?(): void;
    addRecord?(data?: Object): void;
    deleteRow?(tr: HTMLTableRowElement): void;
    getRowObjectFromUID?(uid: string, isMovable?: boolean, isFrozenRight?: boolean): Row<Column>;
    addFreezeRows?(fRows: Row<Column>[], mRows?: Row<Column>[]): Row<Column>[];
    getRowsObject?(): Row<Column>[];
    getMovableRowsObject?(): Row<Column>[];
    createColumnchooser(x: number, y: number, target: Element): void;
    getDataModule?(): Data;
    refreshTooltip?(): void;
    copy?(withHeader?: boolean): void;
    getLocaleConstants?(): Object;
    getForeignKeyColumns?(): Column[];
    getRowHeight?(): number;
    setCellValue(key: string | number, field: string, value: string | number | boolean | Date): void;
    setRowData(key: string | number, rowData?: Object): void;
    getState?(): Object;
    destroyTemplate?(templateName: string[], index?: any): void;
    getQuery?(): data.Query;
    log?(type: string | string[], args?: Object): void;
    isDetail?(): boolean;
    updateMediaColumns?(col: Column): void;
    hideScroll?(): void;
    grabColumnByFieldFromAllCols(field: string): Column;
    grabColumnByUidFromAllCols(uid: string): Column;
    getRowUid(prefix: string): string;
    getMovableVirtualContent?(): Element;
    getFrozenVirtualContent?(): Element;
    getMovableVirtualHeader?(): Element;
    getFrozenVirtualHeader?(): Element;
    getFilteredRecords(): Object[] | Promise<Object>;
    getRowElementByUID?(uid: string): Element;
    getMediaColumns?(): void;
    isCollapseStateEnabled?(): boolean;
    mergePersistGridData?(setData?: Object): void;
    setForeignKeyData?(args: DataResult): void;
    getSelectedColumnsUid?(): string[];
    serverExcelExport?(url: string): void;
    serverPdfExport?(url: string): void;
    getCurrentVisibleColumns?(isColVirtualization?: boolean): Column[];
    dataStateChange?: base.EmitType<DataStateChangeEventArgs>;
    exportGroupCaption?: base.EmitType<ExportGroupCaptionEventArgs>;
    columnDataStateChange?: base.EmitType<ColumnDataStateChangeEventArgs>;
}
/** @hidden */
export interface IExpandedRow {
    index?: number;
    gridModel?: Object;
    isExpand?: boolean;
}
/** @hidden */
export interface IRenderer {
    renderPanel(): void;
    renderTable(): void;
    setPanel(panel: Element): void;
    setTable(table: Element): void;
    getPanel(): Element;
    getTable(): Element;
    getRows?(): Row<{}>[] | HTMLCollectionOf<HTMLTableRowElement>;
    getMovableRows?(): Row<{}>[] | HTMLCollectionOf<HTMLTableRowElement>;
    getFrozenRightRows?(): Row<{}>[] | HTMLCollectionOf<HTMLTableRowElement>;
    refreshUI?(): void;
    setVisible?(column?: Column[]): void;
    addEventListener?(): void;
    removeEventListener?(): void;
    getRowElements?(): Element[];
    getMovableRowElements?(): Element[];
    getFrozenRightRowElements?(): Element[];
    setSelection?(uid: string, set: boolean, clearAll: boolean): void;
    getRowByIndex?(index: number): Element;
    getVirtualRowIndex?(index: number): number;
    getMovableRowByIndex?(index: number): Element;
    getFrozenRightRowByIndex?(index: number): Element;
    getRowInfo?(target: Element): RowInfo;
    getState?(): Object;
    getMovableHeader?(): Element;
    getMovableContent?(): Element;
    getFrozenRightContent?(): Element;
    getFrozenRightHeader?(): Element;
    destroyTemplate?(templateName: string[]): void;
    emptyVcRows?(): void;
    getBlockSize?(): number;
    getGroupedTotalBlocks?(): number;
    isEndBlock?(block: number): boolean;
}
/**
 * IAction interface
 *
 * @hidden
 */
export interface IAction {
    updateModel?(): void;
    onActionBegin?(args?: Object, type?: string): void;
    onActionComplete?(args?: Object, type?: string): void;
    addEventListener?(): void;
    removeEventListener?(): void;
}
/**
 * @hidden
 */
export interface IDataProcessor {
    generateQuery(): data.Query;
    getData(args: Object, query: data.Query): Promise<Object>;
    processData?(): void;
}
/**
 * @hidden
 */
export interface IValueFormatter {
    fromView(value: string, format: Function, target?: string): string | number | Date;
    toView(value: number | Date, format: Function): string | Object;
    setCulture?(cultureName: string): void;
    getFormatFunction?(format: base.NumberFormatOptions | base.DateFormatOptions): Function;
    getParserFunction?(format: base.NumberFormatOptions | base.DateFormatOptions): Function;
}
/**
 * @hidden
 */
export interface ITemplateRender {
    compiled: {
        [x: string]: Function;
    };
    compile(key: string, template: string): Function;
    render(key: string, data: Object, params?: {
        [p: string]: Object;
    }): string;
}
/**
 * @hidden
 */
export interface IEditCell {
    create?: Element | Function | string;
    read?: Object | Function | string;
    write?: void | Function | string;
    params?: calendars.DatePickerModel | inputs.NumericTextBoxModel | dropdowns.DropDownListModel | buttons.CheckBoxModel | dropdowns.MultiSelectModel | dropdowns.AutoCompleteModel | dropdowns.ComboBoxModel | buttons.SwitchModel | calendars.TimePickerModel | inputs.MaskedTextBoxModel;
    destroy?: Function | string;
}
/**
 * @hidden
 */
export interface IDialogUI {
    params?: popups.DialogModel;
}
/**
 * @hidden
 */
export interface IFilterUI {
    create?: Element | Function | string;
    read?: Object | Function | string;
    write?: void | Function | string;
}
/**
 * @hidden
 */
export interface IFilterMUI {
    create?: void | Function | string;
    read?: Object | Function | string;
    write?: void | Function | string;
}
/**
 * @hidden
 */
export interface ICustomOptr {
    stringOperator?: {
        [key: string]: Object;
    }[];
    numberOperator?: {
        [key: string]: Object;
    }[];
    dateOperator?: {
        [key: string]: Object;
    }[];
    dateTimeOperator?: {
        [key: string]: Object;
    }[];
    booleanOperator?: {
        [key: string]: Object;
    }[];
}
/**
 * @hidden
 */
export interface ICellRenderer<T> {
    element?: Element;
    getGui?(): string | Element;
    format?(column: T, value: Object, data: Object): string;
    evaluate?(node: Element, column: Cell<T>, data: Object, attributes?: Object): boolean;
    setStyleAndAttributes?(node: Element, attributes: {
        [key: string]: Object;
    }): void;
    render(cell: Cell<T>, data: Object, attributes?: {
        [x: string]: string;
    }, isExpand?: boolean, isEdit?: boolean): Element;
    appendHtml?(node: Element, innerHtml: string | Element): Element;
    refresh?(cell: Cell<T>, node: Element): Element;
}
/**
 * @hidden
 */
export interface IRowRenderer<T> {
    element?: Element;
    render(row: Row<T>, column: Column[], attributes?: {
        [x: string]: string;
    }, rowTemplate?: string): Element;
}
/**
 * @hidden
 */
export interface ICellFormatter {
    getValue(column: Column, data: Object): Object;
}
/**
 * @hidden
 */
export interface IIndex {
    rowIndex?: number;
    cellIndex?: number;
}
/**
 * @hidden
 */
export interface ISelectedCell {
    rowIndex: number;
    cellIndexes: number[];
}
/**
 * @hidden
 */
export interface IFilterOperator {
    contains: string;
    endsWith: string;
    equal: string;
    greaterThan: string;
    greaterThanOrEqual: string;
    lessThan: string;
    lessThanOrEqual: string;
    notEqual: string;
    startsWith: string;
}
export interface NotifyArgs {
    records?: Object[];
    count?: number;
    requestType?: Action;
    module?: string;
    enable?: boolean;
    properties?: Object;
    virtualInfo?: VirtualInfo;
    cancel?: boolean;
    rows?: Row<Column>[];
    isFrozen?: boolean;
    args?: NotifyArgs;
    scrollTop?: Object;
    oldProperties?: string[];
    focusElement?: HTMLElement;
    rowObject?: Row<Column>;
    renderMovableContent?: boolean;
    renderFrozenRightContent?: boolean;
    promise?: Promise<Object>;
    isFrozenRowsRender?: boolean;
}
export interface LazyLoadArgs {
    /** Defines expand/collapse caption row details. */
    groupInfo?: Row<Column>;
    /** Defines whether get rows from group cache or make a request. */
    enableCaching?: boolean;
    /** Cancel the expand/collapse action. */
    cancel?: boolean;
    /** Defines the caption row element. */
    captionRowElement?: HTMLTableRowElement;
}
export interface LazyLoadGroupArgs extends LazyLoadArgs {
    makeRequest?: boolean;
    skip?: number;
    take?: number;
    fields?: string[];
    keys?: string[];
    isExpand?: boolean;
    isScroll?: boolean;
    scrollUp?: boolean;
    cachedRowIndex?: number;
    rowIndex?: number;
}
export interface InfiniteScrollArgs {
    requestType?: Action;
    currentPage?: number;
    prevPage?: number;
    startIndex?: number;
    direction?: string;
    isFrozen?: boolean;
    isCaptionCollapse?: boolean;
    parentUid?: string;
}
/**
 * @hidden
 */
export interface FrozenReorderArgs {
    column?: Column;
    destIndex?: number;
    columns?: Column[];
    parent?: Column;
    cancel?: boolean;
}
/**
 * @hidden
 */
export interface ICell<T> {
    colSpan?: number;
    rowSpan?: number;
    cellType?: CellType;
    visible?: boolean;
    isTemplate?: boolean;
    isDataCell?: boolean;
    column?: T;
    rowID?: string;
    index?: number;
    colIndex?: number;
    className?: string;
    commands?: CommandModel[];
    isForeignKey?: boolean;
    foreignKeyData?: Object;
}
/**
 * @hidden
 */
export interface IRow<T> {
    uid?: string;
    parentGid?: number;
    childGid?: number;
    data?: Object;
    gSummary?: number;
    aggregatesCount?: number;
    tIndex?: number;
    collapseRows?: Object[];
    isSelected?: boolean;
    isFreezeRow?: boolean;
    isReadOnly?: boolean;
    isCaptionRow?: boolean;
    isAltRow?: boolean;
    isDataRow?: boolean;
    isExpand?: boolean;
    rowSpan?: number;
    cells?: Cell<T>[];
    index?: number;
    indent?: number;
    subRowDetails?: Object;
    height?: string;
    cssClass?: string;
    foreignKeyData?: Object;
    parentUid?: string;
    isSelectable?: boolean;
}
/**
 * @hidden
 */
export interface IModelGenerator<T> {
    generateRows(data: Object, args?: Object): Row<T>[];
    refreshRows?(input?: Row<T>[]): Row<T>[];
}
export interface RowInfo {
    /** returns particular cell element */
    cell?: Element;
    /** returns particular cell index */
    cellIndex?: number;
    /** returns particular row element */
    row?: Element;
    /** returns particular rowIndex */
    rowIndex?: number;
    /** returns particular row data */
    rowData?: Object;
    /** return particular column information  */
    column?: Object;
}
export interface GridActionEventArgs {
    /** Defines the current action. */
    requestType?: Action;
    /** Defines the type of event. */
    type?: string;
    /** Cancel the print action */
    cancel?: boolean;
}
export interface FailureEventArgs {
    /** Defines the error information. */
    error?: Error;
}
export interface FilterEventArgs extends GridActionEventArgs {
    /** Defines the object that is currently filtered. */
    currentFilterObject?: PredicateModel;
    /** Defines the column name that is currently filtered. */
    currentFilteringColumn?: string;
    /** Defines the collection of filtered columns. */
    columns?: PredicateModel[];
}
export interface GroupEventArgs extends GridActionEventArgs {
    /** Defines the field name of the currently grouped columns. */
    columnName?: string;
}
export interface PageEventArgs extends GridActionEventArgs {
    /** Defines the previous page number. */
    previousPage?: string;
    /** Defines the current page number. */
    currentPage?: string;
}
export interface SortEventArgs extends GridActionEventArgs {
    /** Defines the field name of currently sorted column. */
    columnName?: string;
    /** Defines the direction of sort column. */
    direction?: SortDirection;
}
export interface SearchEventArgs extends GridActionEventArgs {
    /** Defines the string value to search. */
    searchString?: string;
}
export interface PrintEventArgs extends GridActionEventArgs {
    /** Defines the Grid element. */
    element?: Element;
    /** Defines the currently selected rows. */
    selectedRows?: NodeListOf<Element>;
    /** Cancel the print action */
    cancel?: boolean;
    /** Hierarchy Grid print mode */
    hierarchyPrintMode?: HierarchyGridPrintMode;
}
export interface DetailDataBoundEventArgs {
    /** Defines the details row element. */
    detailElement?: Element;
    /** Defines the selected row data.
     *
     * @isGenericType true
     */
    data?: Object;
}
export interface ColumnChooserEventArgs {
    /** Defines the parent element. */
    element?: Element;
    /** Defines the display columns of column chooser. */
    columns?: Column[];
    /** Specifies the instance of column chooser dialog. */
    dialogInstance?: Object;
    /** Defines the operator for column chooser search request */
    searchOperator?: string;
}
export interface AdaptiveDialogEventArgs {
    /** Defines the cancel option value. */
    cancel?: boolean;
    /** Defines the instance of adaptive dialog. */
    dialogObj?: popups.Dialog;
    /** Defines the current action. */
    requestType?: string;
}
export interface RowDeselectEventArgs {
    /** Defines the current selected/deselected row data.
     *
     * @isGenericType true
     */
    data?: Object | Object[];
    /** Defines the selected/deselected row index. */
    rowIndex?: number;
    /** Defines the selected/deselected row indexes. */
    rowIndexes?: number[];
    /** Defines the selected/deselected row. */
    row?: Element | Element[];
    /** Define the foreignKey row data associated with this column */
    foreignKeyData?: Object | Object[];
    /** Defines the cancel option value. */
    cancel?: boolean;
    /** Defines the target element for row deselect. */
    target?: Element;
    /** Defines whether event is triggered by interaction or not. */
    isInteracted?: boolean;
    /** Defines whether header checkbox is clicked or not */
    isHeaderCheckboxClicked?: boolean;
}
export interface RowSelectEventArgs extends RowDeselectEventArgs {
    /** Defines the previously selected row index. */
    previousRowIndex?: number;
    /** Defines the previously selected row. */
    previousRow?: Element;
    /** Defines the target element for selection. */
    target?: Element;
}
export interface RecordDoubleClickEventArgs {
    /** Defines the target element. */
    target?: Element;
    /** Defines the cell element. */
    cell?: Element;
    /** Defines the cell index. */
    cellIndex?: number;
    /** Defines the column object. */
    column?: Column;
    /** Defines the name of the event. */
    name?: string;
    /** Defines the row element. */
    row?: Element;
    /** Defines the current row data.
     *
     * @isGenericType true
     */
    rowData?: Object;
    /** Defines the row index. */
    rowIndex?: number;
    /** Define the foreignKey row data associated with this column */
    foreignKeyData?: Object;
}
export interface RecordClickEventArgs {
    /** Defines the target element. */
    target?: Element;
    /** Defines the cell element. */
    cell?: Element;
    /** Defines the cell index. */
    cellIndex?: number;
    /** Defines the column object. */
    column?: Column;
    /** Defines the name of the event. */
    name?: string;
    /** Defines the row element. */
    row?: Element;
    /** Defines the current row data.
     *
     * @isGenericType true
     */
    rowData?: Object;
    /** Defines the row index. */
    rowIndex?: number;
    /** Define the foreignKey row data associated with this column */
    foreignKeyData?: Object;
}
export interface RowSelectingEventArgs extends RowSelectEventArgs {
    /** Defines whether CTRL key is pressed. */
    isCtrlPressed?: boolean;
    /** Defines whether SHIFT key is pressed. */
    isShiftPressed?: boolean;
}
export interface CellDeselectEventArgs {
    /** Defines the currently selected/deselected row data.
     *
     * @isGenericType true
     */
    data?: Object;
    /** Defines the indexes of the current selected/deselected cells. */
    cellIndexes?: ISelectedCell[];
    /** Defines the currently selected/deselected cells. */
    cells?: Element[];
    /** Defines the cancel option value. */
    cancel?: boolean;
}
export interface CellSelectEventArgs extends CellDeselectEventArgs {
    /** Defines the index of the current selected cell. */
    cellIndex?: IIndex;
    /** Defines the previously selected cell index. */
    previousRowCellIndex?: number;
    /** Defines the element. */
    currentCell: Element;
    /** Defines the previously selected cell element. */
    previousRowCell?: Element;
}
export interface CellSelectingEventArgs extends CellSelectEventArgs {
    /** Defines whether the CTRL key is pressed or not. */
    isCtrlPressed?: boolean;
    /** Defines whether the SHIFT key is pressed or not. */
    isShiftPressed?: boolean;
}
export interface ColumnDragEventArgs {
    /** Defines the target element from which the drag starts. */
    target?: Element;
    /** Defines the type of the element dragged. */
    draggableType?: string;
    /** Defines the column object that is dragged. */
    column?: Column;
}
export interface RowDataBoundEventArgs {
    /** Defines the current row data.
     *
     * @isGenericType true
     */
    data?: Object;
    /** Defines the row element.
     *
     * @blazorType CellDOM
     */
    row?: Element;
    /** Defines the row height */
    rowHeight?: number;
    /** Defines whether the row should be select or not */
    isSelectable?: boolean;
}
export interface HeaderCellInfoEventArgs {
    /** Defines the cell. */
    cell?: Cell<Column>;
    /** Defines the cell element. */
    node?: Element;
}
export interface ExportGroupCaptionEventArgs {
    /** Defines the group caption text. */
    captionText?: string;
    /** Defines the export type. */
    type?: string;
    /** Defines the grouped data items. */
    data?: Object;
    /** Defines the style of the grouped cell. */
    style?: PdfStyle;
}
export interface QueryCellInfoEventArgs {
    /** Defines the row data associated with this cell.
     *
     * @isGenericType true
     */
    data?: Object;
    /** Defines the cell element.
     *
     * @blazorType CellDOM
     */
    cell?: Element;
    /** Defines the column object associated with this cell.
     *
     * @blazorType GridColumn
     */
    column?: Column;
    /** Defines the no. of columns to be spanned */
    colSpan?: number;
    /** Defines the no. of rows to be spanned */
    rowSpan?: number;
    /** Defines the current action. */
    requestType?: string;
    /** Define the foreignKey row data associated with this column */
    foreignKeyData?: Object;
}
export interface PdfQueryCellInfoEventArgs {
    /** Defines the column of the current cell. */
    column?: Column;
    /** Defines the style of the current cell. */
    style?: PdfStyle;
    /** Defines the value of the current cell. */
    value?: Date | string | number | boolean | pdfExport.PdfTextWebLink | pdfExport.PdfImage;
    /** Defines the no. of columns to be spanned */
    colSpan?: number;
    /** Defines the data of the cell
     *
     * @isGenericType true
     */
    data?: Object;
    /** Defines the current PDF cell */
    cell?: pdfExport.PdfGridCell;
    /** Defines the image details */
    image?: {
        base64: string;
    };
    /** Defines the hyperlink of the cell */
    hyperLink?: Hyperlink;
}
export interface ExportDetailDataBoundEventArgs {
    /** Defines the child grid of the current row. */
    childGrid?: IGrid;
    /** Defines the row object of the current data. */
    row?: Row<Column>;
    /** Defines the PDF grid current cell. */
    cell?: pdfExport.PdfGridCell;
    /** Defines the export properties */
    exportProperties?: PdfExportProperties | ExcelExportProperties;
}
export interface AggregateQueryCellInfoEventArgs {
    /** Defines the row data associated with this cell. */
    row?: Object;
    /** Defines the type of the cell */
    type?: AggregateTemplateType;
    /** Defines the data of the current cell */
    data?: object;
    /** Defines the style of the current cell. */
    style?: object;
}
export interface PdfHeaderQueryCellInfoEventArgs {
    /** Defines the PDF grid current cell. */
    cell?: object;
    /** Defines the style of the current cell. */
    style?: PdfStyle;
    /** Defines the current cell with column */
    gridCell?: object;
    /** Defines the image details */
    image?: {
        base64: string;
    };
    /** Defines the hyperlink of the cell */
    hyperLink?: Hyperlink;
}
export interface Image {
    /**  Defines the base 64 string for image */
    base64: string;
    /**  Defines the height for the image */
    height: number;
    /**  Defines the height for the image */
    width: number;
}
export interface ExcelQueryCellInfoEventArgs {
    /** Defines the row data associated with this cell.
     *
     * @isGenericType true
     */
    data?: Object;
    /** Defines the column of the current cell. */
    column: Column;
    /** Defines the value of the current cell. */
    value?: Date | string | number | boolean;
    /** Defines the style of the current cell. */
    style?: ExcelStyle;
    /** Defines the number of columns to be spanned */
    colSpan?: number;
    /** Defines the cell data */
    cell?: number | ExcelStyle | {
        name: string;
    } | ExcelCell;
    /** Defines the image details */
    image?: Image;
    /** Defines the hyperlink */
    hyperLink?: Hyperlink;
}
export interface ExcelHeaderQueryCellInfoEventArgs {
    /** Defines the cell that contains colspan. */
    cell?: Object;
    /** Defines the style of the current cell. */
    style?: ExcelStyle;
    /** Defines the Grid cell instance */
    gridCell?: Cell<Column> | ExcelCell;
    /** Defines the image details */
    image?: Image;
    /** Defines the hyperlink */
    hyperLink?: Hyperlink;
}
export interface FilterSearchBeginEventArgs {
    /** Defines the current action. */
    requestType?: string;
    /** Defines the filter model. */
    filterModel?: CheckBoxFilterBase;
    /** Defines the field name of current column */
    columnName?: string;
    /** Defines the current Column objects */
    column?: Column;
    /** Defines the operator for filter request */
    operator?: string;
    /** Defines the matchCase for filter request */
    matchCase?: boolean;
    /** Defines the ignoreAccent for filter request */
    ignoreAccent?: boolean;
    /** Defines the custom query in before execute */
    query: data.Query;
    /** Defines take number of data  */
    filterChoiceCount: number;
    /** Defines the datasource for filter request */
    dataSource?: Object[];
    /** Defines the value of the current search */
    value?: Date | string | number | boolean;
}
export interface FilterUI {
    /** Defines the field */
    field?: string;
    /** Defines the Operator */
    operator?: string;
    /** Defines the first operator for excel filter */
    firstOperator?: string;
    /** Defines the second Operator for excel filter */
    secondOperator?: string;
}
export interface MultipleExport {
    /** Indicates whether to append the multiple grid in same sheet or different sheet */
    type?: MultipleExportType;
    /**  Defines the number of blank rows between the multiple grid data */
    blankRows?: number;
}
export interface ExcelRow {
    /**  Defines the index for cells */
    index?: number;
    /**  Defines the cells in a row */
    cells?: ExcelCell[];
    /** Defines the group of rows to expand and collapse */
    grouping?: Object;
}
export interface ExcelBorder {
    /**  Defines the color of border */
    color?: string;
    /**  Defines the line style of border */
    lineStyle?: ExcelBorderLineStyle;
}
export interface ExcelStyle {
    /** Defines the color of font */
    fontColor?: string;
    /** Defines the name of font */
    fontName?: string;
    /** Defines the size of font */
    fontSize?: number;
    /** Defines the horizontal alignment for cell style */
    hAlign?: ExcelHAlign;
    /** Defines the vertical alignment for cell style */
    vAlign?: ExcelVAlign;
    /** Defines the rotation degree for cell style */
    rotation?: number;
    /** Defines the bold style for fonts  */
    bold?: boolean;
    /** Defines the indent for cell style */
    indent?: number;
    /** Defines the italic style for fonts */
    italic?: boolean;
    /** Defines the underline style for fonts */
    underline?: boolean;
    /** Defines the background color for cell style */
    backColor?: string;
    /** Defines the wrapText for cell style */
    wrapText?: boolean;
    /** Defines the borders for cell style */
    borders?: ExcelBorder;
    /** Defines the format of the cell */
    numberFormat?: string;
    /** Defines the type of the cell */
    type?: string;
    /** Defines the strike through of the cell */
    strikeThrough?: boolean;
}
export interface PdfStyle {
    /** Defines the horizontal alignment */
    textAlignment?: PdfHAlign;
    /** Defines the brush color of font */
    textBrushColor?: string;
    /** Defines the pen color of font */
    textPenColor?: string;
    /** Defines the font family */
    fontFamily?: string;
    /** Defines the font size */
    fontSize?: number;
    /** Defines the font bold */
    bold?: boolean;
    /** Defines the indent alignment */
    indent?: PdfHAlign;
    /** Defines the italic font */
    italic?: boolean;
    /** Defines the underlined font */
    underline?: boolean;
    /** Defines the strike-out font */
    strikeout?: boolean;
    /** Defines the horizontal alignment */
    verticalAlignment?: PdfVAlign;
    /** Defines the background color */
    backgroundColor?: string;
    /** Defines the grid border */
    border?: PdfBorder;
    /** Defines the cell indent */
    paragraphIndent?: number;
    cellPadding?: pdfExport.PdfPaddings;
}
export interface PdfBorder {
    /** Defines the border color */
    color?: string;
    /** Defines the border width */
    width?: number;
    /** Defines the border dash style */
    dashStyle?: PdfDashStyle;
    /**  Defines the line style of border */
    lineStyle?: BorderLineStyle;
}
export interface ExcelCell {
    /** Defines the index for the cell */
    index?: number;
    /** Defines the column span for the cell  */
    colSpan?: number;
    /** Defines the value of the cell */
    value?: string | boolean | number | Date;
    /** Defines the hyperlink of the cell */
    hyperlink?: Hyperlink;
    /** Defines the style of the cell */
    style?: ExcelStyle;
    /** Defines the row span for the cell */
    rowSpan?: number;
}
export interface Hyperlink {
    /** Defines the Url for hyperlink */
    target?: string;
    /** Defines the display text for hyperlink */
    displayText?: string;
}
export interface ExcelHeader {
    /** Defines the number of rows between the header and grid data */
    headerRows?: number;
    /** Defines the rows in header content */
    rows?: ExcelRow[];
}
export interface ExcelFooter {
    /** Defines the number of rows between the grid data and footer */
    footerRows?: number;
    /** Defines the rows in footer content */
    rows?: ExcelRow[];
}
export interface ExcelExportProperties {
    /** Defines the data source dynamically before exporting */
    dataSource?: Object | data.DataManager;
    /** Defined the query dynamically before exporting */
    query?: data.Query;
    /** Exports multiple grid into the excel document */
    multipleExport?: MultipleExport;
    /** Defines the header content for exported document  */
    header?: ExcelHeader;
    /** Defines the footer content for exported document */
    footer?: ExcelFooter;
    /** Defines the columns which are to be customized for Export alone.
     *
     * @blazorType List<GridColumn>
     */
    columns?: Column[];
    /** Indicates to export current page or all page */
    exportType?: ExportType;
    /** Indicates whether to show the hidden columns in exported excel */
    includeHiddenColumn?: boolean;
    /** Defines the theme for exported data  */
    theme?: ExcelTheme;
    /** Defines the file name for the exported file  */
    fileName?: string;
    /** Defines the hierarchy export mode for the pdf grid */
    hierarchyExportMode?: 'Expanded' | 'All' | 'None';
    separator?: string;
    /** Defines filter icons while exporting */
    enableFilter?: boolean;
}
export interface RowDragEventArgs {
    /** Defines the selected row's element. */
    rows?: Element[];
    /** Defines the target element from which drag starts. */
    target?: Element;
    /** Defines the type of the element to be dragged.
     *
     * @hidden
     */
    draggableType?: string;
    /** Defines the selected row data.
     *
     * @isGenericType true
     */
    data?: Object[];
    /** Defines the drag element from index. */
    fromIndex?: number;
    /** Defines the target element from index. */
    dropIndex?: number;
    /** Define the mouse event */
    originalEvent?: object;
    cancel?: boolean;
}
/**
 * @hidden
 */
export interface EJ2Intance extends HTMLElement {
    ej2_instances: Object | Object[];
}
/**
 * @hidden
 */
export interface IPosition {
    x: number;
    y: number;
}
/**
 * @hidden
 */
export interface ParentDetails {
    parentID?: string;
    parentPrimaryKeys?: string[];
    parentKeyField?: string;
    parentKeyFieldValue?: string;
    parentRowData?: Object;
    parentInstObj?: IGrid;
}
/**
 * @hidden
 */
export interface ScrollPositionType {
    top?: number;
    left?: number;
}
/**
 * @hidden
 */
export interface VirtualInfo {
    data?: boolean;
    event?: string;
    block?: number;
    page?: number;
    currentPage?: number;
    direction?: string;
    blockIndexes?: number[];
    columnIndexes?: number[];
    columnBlocks?: number[];
    loadSelf?: boolean;
    loadNext?: boolean;
    nextInfo?: {
        page?: number;
    };
    sentinelInfo?: SentinelType;
    offsets?: Offsets;
    startIndex?: number;
    endIndex?: number;
}
/**
 * @hidden
 */
export interface InterSection {
    container?: HTMLElement;
    pageHeight?: number;
    debounceEvent?: boolean;
    axes?: string[];
    scrollbar?: Element;
    movableContainer?: Element;
    prevTop?: number;
    prevLeft?: number;
}
/**
 * @hidden
 */
export interface ICancel {
    /** Defines the cancel option value. */
    cancel?: boolean;
}
/**
 * @hidden
 */
export interface IPrimaryKey {
    /** Defines the primaryKey. */
    primaryKey?: string[];
}
export interface BeforeBatchAddArgs extends ICancel, IPrimaryKey {
    /** Defines the default data object.
     *
     * @isGenericType true
     */
    defaultData?: Object;
}
/**
 * @hidden
 */
export interface BatchCancelArgs {
    /** Defines the rows. */
    rows?: Row<Column>[];
    /** Defines the request type. */
    requestType?: string;
}
/**
 * @hidden
 */
export interface BatchDeleteArgs extends IPrimaryKey {
    /** Defines the deleted data.
     *
     * @isGenericType true
     */
    rowData?: Object;
    /** Defines the row index. */
    rowIndex?: number;
}
export interface BeforeBatchDeleteArgs extends BatchDeleteArgs, ICancel {
    /** Defines the row element. */
    row?: Element;
}
export interface BeforeBatchSaveArgs extends ICancel {
    /** Defines the changed record object. */
    batchChanges?: Object;
}
export interface ResizeArgs extends ICancel {
    /** Event argument of point or touch action.
     *
     * @hidden
     */
    e?: MouseEvent | TouchEvent;
    /** Defines the resizing column details */
    column?: Column;
}
/**
 * @hidden
 */
export interface BatchAddArgs extends ICancel, IPrimaryKey {
    /** Defines the added data.
     *
     * @isGenericType true
     */
    defaultData?: Object;
    /** Defines the column index. */
    columnIndex?: number;
    /** Defines the row element. */
    row?: Element | Element[];
    /** Defines the cell element. */
    cell?: Element | Element[] | HTMLCollection[];
    /** Defines the column object. */
    columnObject?: Column;
}
export interface BeginEditArgs extends ICancel, IPrimaryKey {
    /** Defines the edited data.
     *
     * @isGenericType true
     */
    rowData?: Object;
    /** Defines the edited row index. */
    rowIndex?: number;
    /** Defines the current edited row. */
    row?: Element;
    /** Defines the name of the event. */
    type?: string;
    /** Defines the primary key value. */
    primaryKeyValue?: string[];
}
export interface DeleteEventArgs {
    /** Defines the cancel option value. */
    cancel?: boolean;
    /** Defines the request type. */
    requestType?: string;
    /** Defines the foreign key record object (JSON). @hidden */
    foreignKeyData?: Object;
    /** Defines the record objects.
     *
     * @isGenericType true
     */
    data?: Object[];
    /** Defines the selected rows for delete. */
    tr?: Element[];
    /** Defines the name of the event. */
    type?: string;
}
export interface AddEventArgs {
    /** If `cancel` is set to true, then the current action will stopped. */
    cancel?: boolean;
    /** Defines the request type. */
    requestType?: string;
    /** Defines the foreign key record object.
     *
     * @hidden
     */
    foreignKeyData?: Object;
    /** Defines the record objects.
     *
     * @isGenericType true
     */
    data?: Object;
    /** Defines the event name. */
    type?: string;
    /** Defines the previous data. */
    previousData?: Object;
    /** Defines the added row. */
    row?: Object;
    /** Added row index */
    index?: number;
    /**
     * @hidden
     * Defines the record objects.
     */
    rowData?: Object;
    /** Defines the target for dialog */
    target?: HTMLElement;
}
export interface SaveEventArgs extends AddEventArgs {
    /** Defines the previous data.
     *
     * @isGenericType true
     */
    previousData?: Object;
    /** Defines the selected row index. */
    selectedRow?: number;
    /** Defines the current action. */
    action?: string;
    /** Added row index */
    index?: number;
    /** Defines the promise. */
    promise?: Promise<Object>;
}
export interface EditEventArgs extends BeginEditArgs {
    /** Defines the request type. */
    requestType?: string;
    /** Defines foreign data object. */
    foreignKeyData?: Object;
    addRecord?(data?: Object, index?: number): void;
    /** Define the form element */
    form?: HTMLFormElement;
    /** Define the movable table form element */
    movableForm?: HTMLFormElement;
    /** Define the target for dialog */
    target?: HTMLElement;
    /** Define frozen right table form element */
    frozenRightForm?: HTMLFormElement;
}
export interface DialogEditEventArgs extends EditEventArgs {
    /** Defines the dialog object */
    dialog?: popups.DialogModel;
}
/** @hidden */
export interface CustomEditEventArgs extends EditEventArgs {
    /** Defines the virtual scroll action */
    isScroll?: boolean;
    /** Defines custom virtualization form validation */
    isCustomFormValidation?: boolean;
}
/** @hidden */
export interface CustomAddEventArgs extends AddEventArgs {
    /** Defines the virtual scroll x axis */
    isScroll?: boolean;
}
/**
 * @hidden
 */
export interface CellEditSameArgs extends ICancel {
    /** Defines the row data object.
     *
     * @isGenericType true
     */
    rowData?: Object;
    /** Defines the column name. */
    columnName?: string;
    /** Defines the cell object. */
    cell?: Element;
    /** Defines the column object. */
    columnObject?: Column;
    /** Defines the cell value. */
    value?: string;
    /** Defines isForeignKey option value. */
    isForeignKey?: boolean;
    /** Defines the Column Object */
    column?: Column;
}
export interface CellEditArgs extends CellEditSameArgs, IPrimaryKey {
    /** Defines the current row. */
    row?: Element;
    /** Defines the validation rules. */
    validationRules?: Object;
    /** Defines the name of the event. */
    type?: string;
    /** Defines foreign data object */
    foreignKeyData?: Object;
}
export interface CommandClickEventArgs {
    /** Defines the current target element. */
    target?: HTMLElement;
    /** cancel the CRUD action. */
    cancel?: boolean;
    /** Defines the current command column . */
    commandColumn?: CommandModel;
    /** returns particular row data
     *
     * @isGenericType true
     */
    rowData?: Object;
}
export interface IFilterCreate {
    column?: Column;
    target?: HTMLElement;
    getOptrInstance?: FlMenuOptrUI;
    localizeText?: base.L10n;
    dialogObj?: popups.Dialog;
}
export interface CellSaveArgs extends CellEditSameArgs {
    /** Defines the previous value of the cell. */
    previousValue?: string;
}
export interface BeforeDataBoundArgs {
    /** Defines the data.
     *
     * @isGenericType true
     */
    result?: Object[];
    /** Defines the data count. */
    count?: number;
    /** Defines the cancel option value. */
    cancel?: boolean;
}
/**
 * @hidden
 */
export interface IEdit {
    formObj?: inputs.FormValidator;
    destroy?: Function;
    closeEdit?(): void;
    deleteRecord?(fieldname?: string, data?: Object): void;
    startEdit?(tr?: Element): void;
    addRecord?(data?: Object, index?: number): void;
    deleteRow?(tr: HTMLTableRowElement): void;
    endEdit?(data?: Object): void;
    batchSave?(): void;
    getBatchChanges?(): Object;
    removeRowObjectFromUID?(uid: string): void;
    addRowObject?(row: Row<Column>): void;
    editCell?(index: number, field: string, isAdd?: boolean): void;
    updateCell?(rowIndex: number, field: string, value: string | number | boolean | Date): void;
    updateRow?(index: number, data: Object): void;
    saveCell?(isForceSave?: boolean): void;
    escapeCellEdit?(): void;
    addCancelWhilePaging?(): void;
    args?: {
        requestType?: string;
    };
    isAdded?: boolean;
    previousData?: object;
}
/**
 * @hidden
 */
export interface CheckBoxChangeEventArgs extends ICancel {
    /** Defines the checked state. */
    checked?: boolean;
    /** Defines the selected row indexes. */
    selectedRowIndexes?: number[];
    /** Defines the target element for selection. */
    target?: Element;
}
/**
 * @hidden
 */
export interface BeforeCopyEventArgs extends ICancel {
    /** Defines the grid copied data. */
    data?: string;
}
export interface BeforePasteEventArgs {
    /** Defines the grid pasted data. */
    column?: Column;
    data?: string | number | boolean | Date;
    cancel?: boolean;
    rowIndex?: number;
}
export interface BeforeAutoFillEventArgs {
    /** Defines the grid autofill data. */
    column?: Column;
    value?: string;
    cancel?: boolean;
}
/**
 * Defines options for custom command buttons.
 */
export interface CommandButtonOptions extends buttons.ButtonModel {
    /**
     * Defines handler for the click event.
     */
    click?: base.EmitType<Event>;
}
/**
 * Define options for custom command buttons.
 */
export interface CommandModel {
    /**
     * Define the command Button tooltip
     */
    title?: string;
    /**
     * Define the command Button type
     *
     * @blazorDefaultValue none
     */
    type?: CommandButtonType;
    /**
     * Define the button model
     */
    buttonOption?: CommandButtonOptions;
}
/**
 * Defines the pending state for Custom Service Data
 */
export interface PendingState {
    /**
     * The function which resolves the current action's promise.
     */
    resolver?: Function;
    /**
     * Defines the current state of the action.
     */
    isPending?: boolean;
    /**
     * Grouping property for Custom data service
     */
    group?: string[];
    /**
     * aggregate support for Custom data service
     */
    aggregates?: Object[];
    /**
     *  DataSource changed through set model
     */
    isDataChanged?: boolean;
}
/**
 * Sorting property for Custom data Service
 */
export interface Sorts {
    /** Defines the field to be sorted */
    name?: string;
    /** Defines the direction of sorting */
    direction?: string;
}
export interface ColumnDataStateChangeEventArgs {
    /** Defines the filter query  */
    where?: PredicateModel[];
    /** Defines the search query */
    search?: PredicateModel[];
    /** Defines the grid action details performed by paging, grouping, filtering, searching, sorting */
    action?: PageEventArgs | GroupEventArgs | FilterEventArgs | SearchEventArgs | SortEventArgs;
    /** Defines the function to be called to refresh column dataSource */
    setColumnData?: Function;
}
/** Custom data service event types */
export interface DataStateChangeEventArgs {
    /** Defines the skip count in datasource record */
    skip?: number;
    /** Defines the page size */
    take?: number;
    /** Defines the filter criteria  */
    where?: data.Predicate[];
    /** Defines the sorted field and direction */
    sorted?: Sorts[];
    /** Defines the grouped field names */
    group?: string[];
    /** Defines the aggregates object */
    aggregates?: Object[];
    /** Defines the search criteria */
    search?: SearchSettingsModel[];
    /** Defines the grid action details performed by paging, grouping, filtering, searching, sorting */
    action?: PageEventArgs | GroupEventArgs | FilterEventArgs | SearchEventArgs | SortEventArgs;
    /** Defines the remote table name */
    table?: string;
    /** Defines the selected field names */
    select?: string[];
    /** If `count` is set true, then the remote service needs to return records and count */
    count?: boolean;
    /** Defines the checkbox filter dataSource */
    dataSource?: Function;
}
export interface DataSourceChangedEventArgs {
    /** Defines the current action type. */
    requestType?: string;
    /** Defines the current action. */
    action?: string;
    /** Defines the primary column field */
    key?: string | string[];
    /** Defines the state of the performed action */
    state?: DataStateChangeEventArgs;
    /** Defines the selected row data.
     *
     * @isGenericType true
     */
    data?: Object | Object[];
    /** Defines the primary key value */
    primaryKeyValues?: Object[];
    /** Defines the index value */
    index?: number;
    /** Defines the end of editing function. */
    endEdit?: Function;
    /** Defines the Cancel of editing process */
    cancelEdit?: Function;
    /** Defines the changes made in batch editing */
    changes?: Object;
    /** Defines the query */
    query?: data.Query;
}
/**
 * @hidden
 */
export interface IFocus {
    matrix: Matrix;
    onKeyPress?: Function;
    onClick?: Function;
    onFocus?: Function;
    lastIdxCell: boolean;
    target?: HTMLElement;
    jump?: (action: string, current: number[]) => SwapInfo;
    getFocusInfo?: () => FocusInfo;
    getFocusable?: (element: HTMLElement) => HTMLElement;
    getTable?: () => HTMLTableElement;
    selector?: (row: Row<Column>, cell: Cell<Column>) => boolean;
    generateRows?: (rows: Row<Column>[], optionals?: Object) => void;
    getInfo?: (e?: base.KeyboardEventArgs) => FocusedContainer;
    validator?: () => Function;
    getNextCurrent?: (previous: number[], swap?: SwapInfo, active?: IFocus, action?: string) => number[];
    preventDefault?: (e: base.KeyboardEventArgs, info: FocusInfo) => void;
    nextRowFocusValidate?: (index: number) => number;
    previousRowFocusValidate?: (index: number) => number;
}
/**
 * @hidden
 */
export interface FocusInfo {
    element?: HTMLElement;
    elementToFocus?: HTMLElement;
    outline?: boolean;
    class?: string;
    skipAction?: boolean;
    uid?: string;
}
/**
 * @hidden
 */
export interface CellFocusArgs {
    element?: HTMLElement;
    parent?: HTMLElement;
    indexes?: number[];
    byKey?: boolean;
    byClick?: boolean;
    keyArgs?: base.KeyboardEventArgs;
    clickArgs?: Event;
    isJump?: boolean;
    container?: FocusedContainer;
    outline?: boolean;
    cancel?: boolean;
}
/**
 * @hidden
 */
export interface FocusedContainer {
    isContent?: boolean;
    isHeader?: boolean;
    isDataCell?: boolean;
    isFrozen?: boolean;
    isStacked?: boolean;
    isSelectable?: boolean;
    indexes?: number[];
}
/**
 * @hidden
 */
export interface SwapInfo {
    swap?: boolean;
    toHeader?: boolean;
    toFrozen?: boolean;
    current?: number[];
    toFrozenRight?: boolean;
}
/**
 * @hidden
 */
export interface KeyboardEventArgs extends KeyboardEvent {
    cancel?: boolean;
}
/**
 * @hidden
 */
export interface IFilter {
    type?: string;
    dataSource?: Object[] | data.DataManager;
    hideSearchbox?: boolean;
    itemTemplate?: string;
    ui?: IFilterMUI;
    operator?: string;
    params?: calendars.DatePickerModel | inputs.NumericTextBoxModel | dropdowns.DropDownListModel | dropdowns.AutoCompleteModel | calendars.DateTimePickerModel;
}
/**
 * @hidden
 */
export interface IFilterArgs {
    type?: string;
    height: number;
    columns?: ColumnModel[];
    field?: string;
    displayName?: string;
    query?: data.Query;
    dataSource?: Object[] | data.DataManager;
    dataManager?: data.DataManager;
    format?: string;
    filteredColumns?: Object[];
    localizedStrings?: Object;
    localeObj?: base.L10n;
    position?: {
        X: number;
        Y: number;
    };
    formatFn?: Function;
    parserFn?: Function;
    hideSearchbox?: boolean;
    allowCaseSensitive?: boolean;
    handler?: Function;
    template?: Function;
    target?: Element;
    foreignKeyValue?: string;
    column?: ColumnModel;
    actualPredicate?: {
        [key: string]: PredicateModel[];
    };
    uid?: string;
    isForeignKey?: boolean;
    ignoreAccent?: boolean;
    isRemote?: boolean;
    isResponsiveFilter?: boolean;
    operator?: string;
    cancel?: boolean;
    disableHtmlEncode?: boolean;
}
export interface PdfExportProperties {
    /** Defines the Pdf orientation. */
    pageOrientation?: PageOrientation;
    /** Defines the Pdf page size. */
    pageSize?: PdfPageSize;
    /** Defines the Pdf header. */
    header?: PdfHeader;
    /** Defines the columns which are to be customized for Export alone.
     *
     * @blazorType List<GridColumn>
     */
    columns?: Column[];
    /** Defines the Pdf footer. */
    footer?: PdfFooter;
    /** Indicates whether to show the hidden columns in exported Pdf */
    includeHiddenColumn?: boolean;
    /** Defines the data source dynamically before exporting */
    dataSource?: Object | data.DataManager | Object[];
    /** Indicates to export current page or all page */
    exportType?: ExportType;
    /** Defines the theme for exported data  */
    theme?: PdfTheme;
    /** Defines the file name for the exported file  */
    fileName?: string;
    /** Defines the hierarchy export mode for the pdf grid */
    hierarchyExportMode?: 'Expanded' | 'All' | 'None';
    /** Defines the overflow of columns for the pdf grid */
    allowHorizontalOverflow?: boolean;
}
export interface PdfTheme {
    /** Defines the style of header content. */
    header?: PdfThemeStyle;
    /** Defines the theme style of record content. */
    record?: PdfThemeStyle;
    /** Defines the theme style of caption content. */
    caption?: PdfThemeStyle;
}
export interface ExcelTheme {
    /** Defines the style of header content. */
    header?: ExcelStyle;
    /** Defines the theme style of record content. */
    record?: ExcelStyle;
    /** Defines the theme style of caption content. */
    caption?: ExcelStyle;
}
export interface PdfThemeStyle {
    /** Defines the font color of theme style. */
    fontColor?: string;
    /** Defines the font name of theme style. */
    fontName?: string;
    /** Defines the font size of theme style. */
    fontSize?: number;
    /** Defines the bold of theme style. */
    bold?: boolean;
    /** Defines the borders of theme style. */
    border?: PdfBorder;
    /** Defines the font of the theme.
     *
     * @blazorType PdfGridFont
     */
    font?: pdfExport.PdfStandardFont | pdfExport.PdfTrueTypeFont;
    /** Defines the italic of theme style. */
    italic?: boolean;
    /** Defines the underline of theme style. */
    underline?: boolean;
    /** Defines the strikeout of theme style. */
    strikeout?: boolean;
}
export interface PdfGridFont {
    /** Defines the  fontFamily of font content. */
    fontFamily?: object;
    /** Defines the fontSize of font content. */
    fontSize?: number;
    /** Defines the trueTypeFont is enabled or not for font content.
     *
     * @default false
     */
    isTrueType: boolean;
    /** Defines the fontStyle of font content. */
    fontStyle?: object;
}
export interface PdfHeader {
    /** Defines the header content distance from top. */
    fromTop?: number;
    /** Defines the height of header content. */
    height?: number;
    /** Defines the header contents. */
    contents?: PdfHeaderFooterContent[];
}
export interface PdfFooter {
    /** Defines the footer content distance from bottom. */
    fromBottom?: number;
    /** Defines the height of footer content. */
    height?: number;
    /** Defines the footer contents */
    contents?: PdfHeaderFooterContent[];
}
export interface PdfHeaderFooterContent {
    /** Defines the content type */
    type: ContentType;
    /** Defines the page number type */
    pageNumberType?: PdfPageNumberType;
    /** Defines the style of content */
    style?: PdfContentStyle;
    /** Defines the pdf points for drawing line */
    points?: PdfPoints;
    /** Defines the format for customizing page number */
    format?: string;
    /** Defines the position of the content */
    position?: PdfPosition;
    /** Defines the size of content */
    size?: PdfSize;
    /** Defines the base64 string for image content type */
    src?: string;
    /** Defines the value for content */
    value?: any;
    /** Defines the font for the content */
    font?: pdfExport.PdfStandardFont | pdfExport.PdfTrueTypeFont;
    /** Defines the alignment of header */
    stringFormat?: pdfExport.PdfStringFormat;
}
export interface PdfPosition {
    /** Defines the x position */
    x: number;
    /** Defines the y position */
    y: number;
}
export interface PdfSize {
    /** Defines the height */
    height: number;
    /** Defines the width */
    width: number;
}
export interface PdfPoints {
    /** Defines the x1 position */
    x1: number;
    /** Defines the y1 position */
    y1: number;
    /** Defines the x2 position */
    x2: number;
    /** Defines the y2 position */
    y2: number;
}
export interface PdfContentStyle {
    /** Defines the pen color. */
    penColor?: string;
    /** Defines the pen size. */
    penSize?: number;
    /** Defines the dash style. */
    dashStyle?: PdfDashStyle;
    /** Defines the text brush color. */
    textBrushColor?: string;
    /** Defines the text pen color. */
    textPenColor?: string;
    /** Defines the font size. */
    fontSize?: number;
    /** Defines the horizontal alignment. */
    hAlign?: PdfHAlign;
    /** Defines the vertical alignment. */
    vAlign?: PdfVAlign;
}
/**
 * Defines the context menu item model.
 */
export interface ContextMenuItemModel extends navigations.MenuItemModel {
    /**
     * Define the target to show the menu item.
     */
    target?: string;
}
export interface ColumnMenuItemModel extends navigations.MenuItemModel {
    hide?: boolean;
}
export interface ColumnMenuOpenEventArgs extends navigations.BeforeOpenCloseMenuEventArgs {
    column?: Column;
}
export interface ColumnMenuClickEventArgs extends navigations.MenuEventArgs {
    column?: Column;
}
export interface ContextMenuClickEventArgs {
    column?: Column;
    rowInfo?: RowInfo;
    element: HTMLElement;
    /** Defines the Menu Items.
     *
     * @blazorType Syncfusion.Blazor.Navigations.navigations.MenuItemModel
     */
    item: navigations.MenuItemModel;
    event?: Event;
    name?: string;
}
export interface ContextMenuOpenEventArgs extends navigations.BeforeOpenCloseMenuEventArgs {
    column?: Column;
    rowInfo?: RowInfo;
}
export interface ExcelExportCompleteArgs {
    /** Defines the promise object for blob data. */
    promise?: Promise<{
        blobData: Blob;
    }>;
}
export interface PdfExportCompleteArgs {
    /** Defines the promise object for blob data. */
    promise?: Promise<{
        blobData: Blob;
    }>;
}
export interface SelectionNotifyArgs extends NotifyArgs {
    row?: HTMLElement;
    CheckState?: boolean;
}
/**
 * @hidden
 */
export interface DataResult {
    result: Object[] | data.Group[];
    count: number;
    aggregates?: object;
}
export interface RowDropEventArgs extends RowDragEventArgs {
    cancel?: boolean;
}
export interface AggregateTemplateContext {
    /** Gets sum aggregate value */
    sum: string;
    /** Gets average aggregate value */
    average: string;
    /** Gets maximum aggregate value */
    max: string;
    /** Gets minimum aggregate value */
    min: string;
    /** Gets count aggregate value */
    count: string;
    /** Gets true count aggregate value */
    trueCount: string;
    /** Specifies false count aggregate value */
    falseCount: string;
    /** Gets custom aggregate value */
    custom: string;
    /** Gets the current group field name */
    field?: string;
    /** Gets header text of the grouped column */
    headerText?: string;
    /** Gets grouped data key value */
    key?: string;
    /** Gets corresponding grouped foreign key value */
    foreignKey?: string;
}
export interface PagerTemplateContext {
    /** Gets the current page number */
    currentPage?: number;
    /** Gets the page size number */
    pageSize?: number;
    /** Gets the page count */
    pageCount?: number;
    /** Gets the total records count */
    totalRecordsCount?: number;
    /** Gets the total number of pages */
    totalPages?: number;
}
export interface CaptionTemplateContext {
    GroupGuid?: string;
    /** Gets the current group field name */
    field?: string;
    /** Gets depth or level in which the group caption is present. */
    level?: number;
    /** Gets grouped data key value */
    key?: string;
    /** Gets corresponding grouped foreign key value */
    foreignKey?: string;
    /** Gets count value which specified the number of records in the group */
    count?: number;
    /** Gets header text of the grouped column */
    headerText?: string;
}
/**
 * @hidden
 */
export interface ActionArgs {
    /**
     * @blazorType string
     */
    requestType?: Action | string;
    type?: string;
    fromIndex?: number;
    toIndex?: number;
    toColumnUid?: string;
    fromColumnUid?: string[];
    isMultipleReorder?: boolean;
    virtualStartIndex?: number;
    virtualEndIndex?: number;
    startColumnIndex?: number;
    endColumnIndex?: number;
    axis?: string;
    translateX?: number;
    rHeight?: number;
    vTableWidth?: number;
}
export interface CheckBoxBeforeRenderer {
    dataSource?: object[];
    field?: string;
    executeQuery?: boolean;
}
export interface ColumnDeselectEventArgs {
    /** Defines the selected/deselected column index. */
    columnIndex?: number;
    /** Defines the selected/deselected column indexes. */
    columnIndexes?: number[];
    /** Defines the selected/deselected column. */
    headerCell?: Element | Element[];
    /** Defines the selected/deselected column */
    column?: Column;
    /** Defines the cancel option value. */
    cancel?: boolean;
    /** Defines the target element for column deselect. */
    target?: Element;
    /** Defines whether event is triggered by interaction or not. */
    isInteracted?: boolean;
}
export interface ColumnSelectEventArgs extends ColumnDeselectEventArgs {
    /** Defines the previously selected column index. */
    previousColumnIndex?: number;
    /** Defines the target element for column selection. */
    target?: Element;
}
export interface ColumnSelectingEventArgs extends ColumnSelectEventArgs {
    /** Defines whether CTRL key is pressed. */
    isCtrlPressed?: boolean;
    /** Defines whether SHIFT key is pressed. */
    isShiftPressed?: boolean;
}
/**
 * @hidden
 */
export interface ResponsiveDialogArgs {
    primaryKeyValue?: string[];
    rowData?: Object;
    dialog?: popups.DialogModel;
    target?: HTMLElement;
    col?: Column;
    action?: ResponsiveDialogAction;
}
/**
 * @hidden
 */
export interface ExportHelperArgs extends PdfQueryCellInfoEventArgs {
    isForeignKey?: boolean;
}
/**
 * @hidden
 */
export interface ForeignKeyFormat {
    [key: string]: Object[];
}
//node_modules/@syncfusion/ej2-grids/src/grid/base/string-literals.d.ts
/**
 * Specifies class names
 */
/** @hidden */
export  const rowCell: string;
/** @hidden */
export  const gridHeader: string;
/** @hidden */
export  const gridContent: string;
/** @hidden */
export  const gridFooter: string;
/** @hidden */
export  const headerContent: string;
/** @hidden */
export  const movableContent: string;
/** @hidden */
export  const movableHeader: string;
/** @hidden */
export  const frozenContent: string;
/** @hidden */
export  const frozenHeader: string;
/** @hidden */
export  const content: string;
/** @hidden */
export  const table: string;
/** @hidden */
export  const row: string;
/** @hidden */
export  const gridChkBox: string;
/** @hidden */
export  const editedRow: string;
/** @hidden */
export  const addedRow: string;
/**
 * Specifies repeated strings
 */
/** @hidden */
export  const changedRecords: string;
/** @hidden */
export  const addedRecords: string;
/** @hidden */
export  const deletedRecords: string;
/** @hidden */
export  const leftRight: string;
/** @hidden */
export  const frozenRight: string;
/** @hidden */
export  const frozenLeft: string;
/** @hidden */
export  const dataColIndex: string;
/** @hidden */
export  const ariaColIndex: string;
/** @hidden */
export  const dataRowIndex: string;
/** @hidden */
export  const ariaRowIndex: string;
/** @hidden */
export  const tbody: string;
/** @hidden */
export  const colGroup: string;
/** @hidden */
export  const open: string;
/** @hidden */
export  const change: string;
/** @hidden */
export  const focus: string;
/** @hidden */
export  const create: string;
/** @hidden */
export  const beforeOpen: string;
/** @hidden */
export  const downArrow: FocusKeys;
/** @hidden */
export  const upArrow: FocusKeys;
/** @hidden */
export  const pageUp: FocusKeys;
/** @hidden */
export  const pageDown: FocusKeys;
/** @hidden */
export  const enter: FocusKeys;
/** @hidden */
export  const shiftEnter: FocusKeys;
/** @hidden */
export  const tab: FocusKeys;
/** @hidden */
export  const shiftTab: FocusKeys;
//node_modules/@syncfusion/ej2-grids/src/grid/base/type.d.ts
/**
 * Exports types used by Grid.
 */
export  type ValueType = number | string | Date | boolean;
export  type ValueAccessor = (field: string, data: Object, column: ColumnModel) => Object;
export  type HeaderValueAccessor = (field: string, column: ColumnModel) => Object;
export  type SortComparer = (x: ValueType, y: ValueType) => number;
export  type CustomSummaryType = (data: Object[] | Object, column: AggregateColumnModel) => Object;
export  type ReturnType = {
    result: Object[];
    count: number;
    aggregates?: Object;
    foreignColumnsData?: Object;
};
export  type SentinelType = {
    check?: (rect: ClientRect, info: SentinelType) => boolean;
    top?: number;
    entered?: boolean;
    axis?: string;
};
export  type SentinelInfo = {
    up?: SentinelType;
    down?: SentinelType;
    right?: SentinelType;
    left?: SentinelType;
};
export  type Offsets = {
    top?: number;
    left?: number;
};
export  type BatchChanges = {
    addedRecords?: Object[];
    changedRecords?: Object[];
    deletedRecords?: Object[];
};
//node_modules/@syncfusion/ej2-grids/src/grid/base/util.d.ts
/**
 * Function to check whether target object implement specific interface
 *
 * @param  {Object} target - specifies the target
 * @param  {string} checkFor - specifies the checkfors
 * @returns {boolean} returns the boolean
 * @hidden
 */
export  function doesImplementInterface(target: Object, checkFor: string): boolean;
/**
 * Function to get value from provided data
 *
 * @param  {string} field - specifies the field
 * @param  {Object} data - specifies the data
 * @param  {ColumnModel} column - specifies the column
 * @returns {Object} returns the object
 * @hidden
 */
export  function valueAccessor(field: string, data: Object, column: ColumnModel): Object;
/**
 * Defines the method used to apply custom header cell values from external function and display this on each header cell rendered.
 *
 * @param  {string} field - specifies the field
 * @param  {ColumnModel} column - specifies the column
 * @returns {object} headerValueAccessor
 * @hidden
 */
export  function headerValueAccessor(field: string, column: ColumnModel): Object;
/**
 * The function used to update Dom using requestAnimationFrame.
 *
 * @param {Function} updateFunction - Function that contains the actual action
 * @param {object} callBack - defines the callback
 * @returns {void}
 * @hidden
 */
export  function getUpdateUsingRaf<T>(updateFunction: Function, callBack: Function): void;
/**
 * @hidden
 * @param {PdfExportProperties | ExcelExportProperties} exportProperties - Defines the export properties
 * @returns {boolean} Returns isExportColumns
 */
export  function isExportColumns(exportProperties: PdfExportProperties | ExcelExportProperties): boolean;
/**
 * @param {PdfExportProperties | ExcelExportProperties} exportProperties - Defines the export properties
 * @param {IGrid} gObj - Defines the grid object
 * @returns {void}
 * @hidden
 */
export  function updateColumnTypeForExportColumns(exportProperties: PdfExportProperties | ExcelExportProperties, gObj: IGrid): void;
/**
 * @hidden
 * @param {IGrid} grid - Defines the grid
 * @returns {void}
 */
export  function updatecloneRow(grid: IGrid): void;
/**
 * @hidden
 * @param {Row<Column>} val - Defines the value
 * @param {IGrid} grid - Defines the grid
 * @returns {number} Returns the collapsed row count
 */
export  function getCollapsedRowsCount(val: Row<Column>, grid: IGrid): number;
/**
 * @param {Object[]} row - Defines the row
 * @returns {void}
 * @hidden
 */
export  function recursive(row: Object[]): void;
/**
 * @param {Object[]} collection - Defines the array
 * @param {Object} predicate - Defines the predicate
 * @returns {Object} Returns the object
 * @hidden
 */
export  function iterateArrayOrObject<T, U>(collection: U[], predicate: (item: Object, index: number) => T): T[];
/**
 * @param {Object[]} array - Defines the array
 * @returns {Object} Returns the object
 * @hidden
 */
export  function iterateExtend(array: Object[]): Object[];
/**
 * @param {string} template - Defines the template
 * @returns {Function} Returns the function
 * @hidden
 */
export  function templateCompiler(template: string): Function;
/**
 * @param {Element} node - Defines the column
 * @param {Object} customAttributes - Defines the index
 * @returns {void}
 * @hidden
 */
export  function setStyleAndAttributes(node: Element, customAttributes: {
    [x: string]: Object;
}): void;
/**
 * @param {Object} copied - Defines the column
 * @param {Object} first - Defines the inndex
 * @param {Object} second - Defines the second object
 * @param {string[]} exclude - Defines the exclude
 * @returns {Object} Returns the object
 * @hidden
 */
export  function extend(copied: Object, first: Object, second?: Object, exclude?: string[]): Object;
/**
 * @param {Column[]} columnModel - Defines the column
 * @param {number} ind - Defines the inndex
 * @returns {number} - Returns the columnindex
 * @hidden
 */
export  function setColumnIndex(columnModel: Column[], ind?: number): number;
/**
 * @param {Column[] | string[] | ColumnModel[]} columns - Defines the column
 * @param {boolean} autoWidth - Defines the autowidth
 * @param {IGrid} gObj - Defines the class name
 * @returns {Column} - Returns the columns
 * @hidden
 */
export  function prepareColumns(columns: Column[] | string[] | ColumnModel[], autoWidth?: boolean, gObj?: IGrid): Column[];
/**
 * @param {HTMLElement} popUp - Defines the popup element
 * @param {MouseEvent | TouchEvent} e - Defines the moouse event
 * @param {string} className - Defines the class name
 * @returns {void}
 * @hidden
 */
export  function setCssInGridPopUp(popUp: HTMLElement, e: MouseEvent | TouchEvent, className: string): void;
/**
 * @param {Object} obj - Defines the object
 * @returns {Object} Returns the Properties
 * @hidden
 */
export  function getActualProperties<T>(obj: T): T;
/**
 * @param {Element} elem - Defines the element
 * @param {string} selector - Defines the string selector
 * @param {boolean} isID - Defines the isID
 * @returns {Element} Returns the element
 * @hidden
 */
export  function parentsUntil(elem: Element, selector: string, isID?: boolean): Element;
/**
 * @param {Element} element - Defines the element
 * @param {Element} elements - Defines the element
 * @returns {number} Returns the element index
 * @hidden
 */
export  function getElementIndex(element: Element, elements: Element[]): number;
/**
 * @param {Object} value - Defines the value
 * @param {Object} collection - defines the collection
 * @returns {number} Returns the array
 * @hidden
 */
export  function inArray(value: Object, collection: Object[]): number;
/**
 * @param {Object} collection - Defines the collection
 * @returns {Object} Returns the object
 * @hidden
 */
export  function getActualPropFromColl(collection: Object[]): Object[];
/**
 * @param {Element} target - Defines the target element
 * @param {string} selector - Defines the selector
 * @returns {void}
 * @hidden
 */
export  function removeElement(target: Element, selector: string): void;
/**
 * @param {MouseEvent | TouchEvent} e Defines the mouse event
 * @returns {IPosition} Returns the position
 * @hidden
 */
export  function getPosition(e: MouseEvent | TouchEvent): IPosition;
/**
 * @param {string} prefix - Defines the prefix string
 * @returns {string} Returns the uid
 * @hidden
 */
export  function getUid(prefix: string): string;
/**
 * @param {Element | DocumentFragment} elem - Defines the element
 * @param {Element[] | NodeList} children - Defines the Element
 * @returns {Element} Returns the element
 * @hidden
 */
export  function appendChildren(elem: Element | DocumentFragment, children: Element[] | NodeList): Element;
/**
 * @param {Element} elem - Defines the element
 * @param {string} selector - Defines the selector
 * @param {boolean} isID - Defines isID
 * @returns {Element} Return the element
 * @hidden
 */
export  function parents(elem: Element, selector: string, isID?: boolean): Element[];
/**
 * @param {AggregateType | string} type - Defines the type
 * @param {Object} data - Defines the data
 * @param {AggregateColumnModel} column - Defines the column
 * @param {Object} context - Defines the context
 * @returns {Object} Returns the calculated aggragate
 * @hidden
 */
export  function calculateAggregate(type: AggregateType | string, data: Object, column?: AggregateColumnModel, context?: Object): Object;
/** @hidden
 * @returns {number} - Returns the scrollbarwidth
 */
export  function getScrollBarWidth(): number;
/**
 * @param {HTMLElement} element - Defines the element
 * @returns {number} Returns the roww height
 * @hidden
 */
export  function getRowHeight(element?: HTMLElement): number;
/**
 * @param {HTMLElement} element - Defines the HTMl element
 * @returns {number} Returns the row height
 * @hidden
 */
export  function getActualRowHeight(element?: HTMLElement): number;
/**
 * @param {string} field - Defines the field
 * @returns {boolean} - Returns is complex field
 * @hidden
 */
export  function isComplexField(field: string): boolean;
/**
 * @param {string} field - Defines the field
 * @returns {string} - Returns the get complex field ID
 * @hidden
 */
export  function getComplexFieldID(field?: string): string;
/**
 * @param {string} field - Defines the field
 * @returns {string} - Returns the set complex field ID
 * @hidden
 */
export  function setComplexFieldID(field?: string): string;
/**
 * @param {Column} col - Defines the column
 * @param {string} type - Defines the type
 * @param {Element} elem - Defines th element
 * @returns {boolean} Returns is Editable
 * @hidden
 */
export  function isEditable(col: Column, type: string, elem: Element): boolean;
/**
 * @param {IGrid} inst - Defines the IGrid
 * @returns {boolean} Returns is action prevent in boolean
 * @hidden
 */
export  function isActionPrevent(inst: IGrid): boolean;
/**
 * @param {any} elem - Defines the element
 * @param {boolean} action - Defines the boolean for action
 * @returns {void}
 * @hidden
 */
export  function wrap(elem: any, action: boolean): void;
/**
 * @param {ServiceLocator} serviceLocator - Defines the service locator
 * @param {Column} column  - Defines the column
 * @returns {void}
 * @hidden
 */
export  function setFormatter(serviceLocator?: ServiceLocator, column?: Column): void;
/**
 * @param {Element} cells - Defines the cell element
 * @param {boolean} add - Defines the add
 * @param {string} args - Defines the args
 * @returns {void}
 * @hidden
 */
export  function addRemoveActiveClasses(cells: Element[], add: boolean, ...args: string[]): void;
/**
 * @param {string} result - Defines th string
 * @returns {string} Returns the distinct staing values
 * @hidden
 */
export  function distinctStringValues(result: string[]): string[];
/**
 * @param {Element} target - Defines the target
 * @param {popups.Dialog} dialogObj - Defines the dialog
 * @returns {void}
 * @hidden
 */
export  function getFilterMenuPostion(target: Element, dialogObj: popups.Dialog): void;
/**
 * @param {Object} args - Defines the args
 * @param {popups.Popup} args.popup - Defines the args for popup
 * @param {popups.Dialog} dialogObj - Defines the dialog obj
 * @returns {void}
 * @hidden
 */
export  function getZIndexCalcualtion(args: {
    popup: popups.Popup;
}, dialogObj: popups.Dialog): void;
/**
 * @param {Element} elem - Defines the element
 * @returns {void}
 * @hidden
 */
export  function toogleCheckbox(elem: Element): void;
/**
 * @param {HTMLInputElement} elem - Defines the element
 * @param {boolean} checked - Defines is checked
 * @returns {void}
 * @hidden
 */
export  function setChecked(elem: HTMLInputElement, checked: boolean): void;
/**
 * @param {string} uid - Defines the string
 * @param {Element} elem - Defines the Element
 * @param {string} className - Defines the classname
 * @returns {Element} Returns the box wrap
 * @hidden
 */
export  function createCboxWithWrap(uid: string, elem: Element, className?: string): Element;
/**
 * @param {Element} elem - Defines the element
 * @param {boolean} checked - Defines is checked
 * @returns {void}
 * @hidden
 */
export  function removeAddCboxClasses(elem: Element, checked: boolean): void;
/**
 * Refresh the Row model's foreign data.
 *
 * @param {IRow<Column>} row - Grid Row model object.
 * @param {Column[]} columns - Foreign columns array.
 * @param {Object} data - Updated Row data.
 * @returns {void}
 * @hidden
 */
export  function refreshForeignData(row: IRow<Column>, columns: Column[], data: Object): void;
/**
 * Get the foreign data for the corresponding cell value.
 *
 * @param {Column} column - Foreign Key column
 * @param {Object} data - Row data.
 * @param {string | number} lValue - cell value.
 * @param {Object} foreignKeyData - foreign data source.
 * @returns {Object} Returns the object
 * @hidden
 */
export  function getForeignData(column: Column, data?: Object, lValue?: string | number, foreignKeyData?: Object[]): Object[];
/**
 * To use to get the column's object by the foreign key value.
 *
 * @param {string} foreignKeyValue - Defines ForeignKeyValue.
 * @param {Column[]} columns - Array of column object.
 * @returns {Column} Returns the element
 * @hidden
 */
export  function getColumnByForeignKeyValue(foreignKeyValue: string, columns: Column[]): Column;
/**
 * @param {PredicateModel} filterObject - Defines the filterObject
 * @param {string} type - Defines the type
 * @returns {data.Predicate} Returns the data.Predicate
 * @hidden
 */
export  function getDatePredicate(filterObject: PredicateModel, type?: string): data.Predicate;
/**
 * @param {Element} ele - Defines the element
 * @param {number} frzCols - Defines the frozen columns
 * @param {IGrid} gObj - Defines the IGrid
 * @returns {Element} Returns the element
 * @hidden
 */
export  function renderMovable(ele: Element, frzCols: number, gObj?: IGrid): Element;
/**
 * @param {IGrid} grid - Defines the IGrid
 * @returns {boolean} Returns true if group adaptive is true
 * @hidden
 */
export  function isGroupAdaptive(grid: IGrid): boolean;
/**
 * @param {string} field - Defines the Field
 * @param {Object} object - Defines the objec
 * @returns {any} Returns the object
 * @hidden
 */
export  function getObject(field?: string, object?: Object): any;
/**
 * @param {string | Object} format - defines the format
 * @param {string} colType - Defines the coltype
 * @returns {string} Returns the custom Data format
 * @hidden
 */
export  function getCustomDateFormat(format: string | Object, colType: string): string;
/**
 * @param {IGrid} gObj - Defines the IGrid
 * @param {HierarchyGridPrintMode} hierarchyPrintMode - Defines the hierarchyPrintMode
 * @returns {Object} Returns the object
 * @hidden
 */
export  function getExpandedState(gObj: IGrid, hierarchyPrintMode: HierarchyGridPrintMode): {
    [index: number]: IExpandedRow;
};
/**
 * @param {IGrid} gObj - Defines the grid objct
 * @param {HierarchyGridPrintMode} hierarchyPrintMode - Defines the hierarchyPrintMode
 * @returns {IGrid} Returns the IGrid
 * @hidden
 */
export  function getPrintGridModel(gObj: IGrid, hierarchyPrintMode?: HierarchyGridPrintMode): IGrid;
/**
 * @param {Object} copied - Defines the copied object
 * @param {Object} first - Defines the first object
 * @param {Object} second - Defines the second object
 * @param {boolean} deep - Defines the deep
 * @returns {Object} Returns the extended object
 * @hidden
 */
export  function extendObjWithFn(copied: Object, first: Object, second?: Object, deep?: boolean): Object;
/**
 * @param {Column[]} column - Defines the Column
 * @returns {number} Returns the column Depth
 * @hidden
 */
export  function measureColumnDepth(column: Column[]): number;
/**
 * @param {Column} col - Defines the Column
 * @param {number} index - Defines the index
 * @returns {number} Returns the depth
 * @hidden
 */
export  function checkDepth(col: Column, index: number): number;
/**
 * @param {IGrid} gObj - Defines the IGrid
 * @param {PredicateModel[]} filteredCols - Defines the PredicateModel
 * @returns {void}
 * @hidden
 */
export  function refreshFilteredColsUid(gObj: IGrid, filteredCols: PredicateModel[]): void;
/** @hidden */
export  namespace Global {
    let timer: Object;
}
/**
 * @param {Element} element - Defines the element
 * @returns {Object} Returns the transform values
 * @hidden
 */
export  function getTransformValues(element: Element): {
    width: number;
    height: number;
};
/**
 * @param {Element} rootElement - Defines the root Element
 * @param {Element} element - Defines the element
 * @returns {void}
 * @hidden
 */
export  function applyBiggerTheme(rootElement: Element, element: Element): void;
/**
 * @param {HTMLElement} mTD - Defines the movable TD
 * @param {HTMLElement} fTD  - Defines the Frozen TD
 * @returns {void}
 * @hidden
 */
export  function alignFrozenEditForm(mTD: HTMLElement, fTD: HTMLElement): void;
/**
 * @param {Element} row - Defines row element
 * @param {IGrid} gridObj - Defines grid object
 * @returns {boolean} Returns isRowEnteredInGrid
 * @hidden
 */
export  function ensureLastRow(row: Element, gridObj: IGrid): boolean;
/**
 * @param {Element} row - Defines row element
 * @param {number} rowTop - Defines row top number
 * @returns {boolean} Returns first row is true
 * @hidden
 */
export  function ensureFirstRow(row: Element, rowTop: number): boolean;
/**
 * @param {number} index - Defines index
 * @param {IGrid} gObj - Defines grid object
 * @returns {boolean} Returns isRowEnteredInGrid
 * @hidden
 */
export  function isRowEnteredInGrid(index: number, gObj: IGrid): boolean;
/**
 * @param {IGrid} gObj - Defines the grid object
 * @param {Object} data - Defines the query
 * @returns {number} Returns the edited data index
 * @hidden
 */
export  function getEditedDataIndex(gObj: IGrid, data: Object): number;
/**
 * @param {Object} args - Defines the argument
 * @param {data.Query} query - Defines the query
 * @returns {FilterStateObj} Returns the filter state object
 * @hidden
 */
export  function eventPromise(args: Object, query: data.Query): FilterStateObj;
/**
 * @param {data.Query} query - Defines the query
 * @returns {Object} Returns the state event argument
 * @hidden
 */
export  function getStateEventArgument(query: data.Query): Object;
/**
 * @param {IGrid} gObj - Defines the Igrid
 * @returns {boolean} Returns the ispercentageWidth
 * @hidden
 */
export  function ispercentageWidth(gObj: IGrid): boolean;
/**
 * @param {IGrid} gObj - Defines the IGrid
 * @param {Row<Column>[]} rows - Defines the row
 * @param {HTMLTableRowElement[]} rowElms - Row elements
 * @param {number} index - Row index
 * @param {number} startRowIndex - Start Row Index
 * @returns {void}
 * @hidden
 */
export  function resetRowIndex(gObj: IGrid, rows: Row<Column>[], rowElms: HTMLTableRowElement[], index?: number, startRowIndex?: number): void;
/**
 * @param {IGrid} gObj - Defines the grid object
 * @param {Object} changes - Defines the changes
 * @param {string} type - Defines the type
 * @param {string} keyField - Defines the keyfield
 * @returns {void}
 * @hidden
 */
export  function compareChanges(gObj: IGrid, changes: Object, type: string, keyField: string): void;
/**
 * @param {IGrid} gObj - Defines the grid object
 * @returns {void}
 * @hidden
 */
export  function setRowElements(gObj: IGrid): void;
/**
 * @param {IGrid} gObj - Defines the grid object
 * @param {Cell<Column>} cells - Defines the callback function
 * @param {freezeTable} tableName - Defines the row
 * @returns {Cell<Column>[]} Returns the cell
 * @hidden
 */
export  function splitFrozenRowObjectCells(gObj: IGrid, cells: Cell<Column>[], tableName: freezeTable): Cell<Column>[];
/** @hidden */
export  function gridActionHandler(gObj: IGrid, callBack: Function, rows: Row<Column>[][] | Element[][], force?: boolean, rowObj?: Row<Column>[][]): void;
/**
 * @param {IGrid} gObj - Defines the grid
 * @returns {Row<Column>} Returns the row
 * @hidden
 */
export  function getGridRowObjects(gObj: IGrid): Row<Column>[][];
/**
 * @param {IGrid} gObj - Defines the grid
 * @returns {Element} Returns the element
 * @hidden
 */
export  function getGridRowElements(gObj: IGrid): Element[][];
/**
 * @param {Element} row - Defines the row
 * @param {number} start - Defines the start index
 * @param {number} end - Defines the end index
 * @returns {void}
 * @hidden
 */
export  function sliceElements(row: Element, start: number, end: number): void;
/**
 * @param {IGrid} gObj - Defines the grid Object
 * @param {Column} col - Defines the column
 * @param {number} rowIndex - Defines the rowindex
 * @returns {Element} Returns the element
 * @hidden
 */
export  function getCellsByTableName(gObj: IGrid, col: Column, rowIndex: number): Element[];
/**
 * @param {IGrid} gObj - Defines the column
 * @param {Column} col - Defines the index
 * @param {number} rowIndex - Defines the rules
 * @param {number} index - Defines the movable column rules
 * @returns {Element} Returns the Element
 * @hidden
 */
export  function getCellByColAndRowIndex(gObj: IGrid, col: Column, rowIndex: number, index: number): Element;
/**
 * @param {Column} col - Defines the column
 * @param {number} index - Defines the index
 * @param {Object} rules - Defines the rules
 * @param {Object} mRules - Defines the movable column rules
 * @param {Object} frRules - Defines the Frozen rules
 * @param {number} len - Defines the length
 * @param {boolean} isCustom - Defines custom form validation
 * @returns {void}
 * @hidden
 */
export  function setValidationRuels(col: Column, index: number, rules: Object, mRules: Object, frRules: Object, len: number, isCustom?: boolean): void;
/**
 * @param {IGrid} gObj - Defines the grid object
 * @returns {Element} Returns the Element
 * @hidden
 */
export  function getMovableTbody(gObj: IGrid): Element;
/**
 * @param {IGrid} gObj - Defines the grid object
 * @returns {Element} Returns the Element
 * @hidden
 */
export  function getFrozenRightTbody(gObj: IGrid): Element;
/**
 * @param {Element} tbody - Table body
 * @param {Element} mTbody - Movanle table body
 * @param {Element} frTbody - Frozen right table body
 * @param {Element[]} tr - Table rows
 * @param {Element[]} mTr - Movable table rows
 * @param {Element[]} frTr - Frozen right table rows
 * @param {Function} callBack - Callback function
 * @returns {void}
 * @hidden
 */
export  function setRowsInTbody(tbody: Element, mTbody: Element, frTbody: Element, tr: Element[], mTr: Element[], frTr: Element[], callBack: Function): void;
/**
 * @param {string} numberFormat - Format
 * @param {string} type - Value type
 * @param {boolean} isExcel - Boolean property
 * @returns {string} returns formated value
 * @hidden
 */
export  function getNumberFormat(numberFormat: string, type: string, isExcel: boolean): string;
/**
 * @param {IGrid} gObj - Grid instance
 * @returns {void}
 * @hidden
 */
export  function addBiggerDialog(gObj: IGrid): void;
/**
 * @param {string} value - specifies the trr
 * @param {Object} mapObject - specifies the idx
 * @returns {Object | string} returns object or string
 * @hidden
 */
export  function performComplexDataOperation(value: string, mapObject: Object): Object | string;
/**
 * @param {Object} tr - specifies the trr
 * @param {number} idx - specifies the idx
 * @param {string} displayVal - specifies the displayval
 * @param {Row<Column>} rows - specifies the rows
 * @param {IGrid} parent - Grid instance
 * @param {boolean} isContent - check for content renderer
 * @returns {void}
 * @hidden
 */
export  function setDisplayValue(tr: Object, idx: number, displayVal: string, rows: Row<Column>[], parent?: IGrid, isContent?: boolean): void;
/** @hidden */
export  function addRemoveEventListener(parent: IGrid, evt: {
    event: string;
    handler: Function;
}[], isOn: boolean, module?: Object): void;
/** @hidden */
export  function createEditElement(parent: IGrid, column: Column, classNames: string, attr: {
    [key: string]: string;
}): Element;
/**
 * @param {IGrid} gObj - Grid instance
 * @param {string} uid - Defines column's uid
 * @returns {Column} returns column model
 * @hidden
 */
export  function getColumnModelByUid(gObj: IGrid, uid: string): Column;
/**
 * @param {IGrid} gObj - Grid instance
 * @param {string} field - Defines column's uid
 * @returns {Column} returns column model
 * @hidden
 */
export  function getColumnModelByFieldName(gObj: IGrid, field: string): Column;
/**
 * @param {string} id - Defines component id
 * @param {string[]} evts - Defines events
 * @param {object} handlers - Defines event handlers
 * @param {any} instance - Defines class instance
 * @returns {void}
 * @hidden
 */
export  function registerEventHandlers(id: string, evts: string[], handlers: object, instance: any): void;
/**
 * @param {any} component - Defines component instance
 * @param {string[]} evts - Defines events
 * @param {any} instance - Defines class instance
 * @returns {void}
 * @hidden
 */
export  function removeEventHandlers(component: any, evts: string[], instance: any): void;
/**
 * @param {IGrid | IXLFilter} parent - Defines parent instance
 * @param {string[]} templates - Defines the templates name which are needs to clear
 * @returns {void}
 * @hidden
 */
export  function clearReactVueTemplates(parent: IGrid | IXLFilter, templates: string[]): void;
/**
 *
 * @param { Element } row - Defines row element
 * @returns { number } row index
 */
export  function getRowIndexFromElement(row: Element): number;
/**
 *
 * @param { string[] } fields - Defines grouped fields
 * @param { values } values - Defines caption keys
 * @param { any } instance - Defines dynamic class instance
 * @returns { data.Predicate } returns filter predicate
 */
export  function generateExpandPredicates(fields: string[], values: string[], instance: any): data.Predicate;
/**
 *
 * @param { data.Predicate } pred - Defines filter predicate
 * @returns { data.Predicate[] } Returns formed predicate
 */
export  function getPredicates(pred: data.Predicate): data.Predicate[];
/**
 *
 * @param { number } index - Defines group caption indent
 * @param { Row<Column>[] } rowsObject - Defines rows object
 * @returns { { fields: string[], keys: string[] } } Returns grouped keys and values
 */
export  function getGroupKeysAndFields(index: number, rowsObject: Row<Column>[]): {
    fields: string[];
    keys: string[];
};
/**
 *
 * @param { number[][] } checkActiveMatrix - Defines matrix to check
 * @param { number[] } checkCellIndex - Defines index to check
 * @param { boolean } next - Defines select next or previous index
 * @returns { number[] } - Returns next active current index
 */
export  function findCellIndex(checkActiveMatrix: number[][], checkCellIndex: number[], next: boolean): number[];
//node_modules/@syncfusion/ej2-grids/src/grid/column-chooser.d.ts
/**
 * Column chooser export
 */
//node_modules/@syncfusion/ej2-grids/src/grid/column-menu.d.ts
/**
 * Column menu export
 */
//node_modules/@syncfusion/ej2-grids/src/grid/command-column.d.ts
/**
 * Command column export
 */
//node_modules/@syncfusion/ej2-grids/src/grid/common.d.ts
/**
 * Common export
 */
//node_modules/@syncfusion/ej2-grids/src/grid/common/checkbox-filter-base.d.ts
/**
 * @hidden
 * `CheckBoxFilterBase` module is used to handle filtering action.
 */
export  class CheckBoxFilterBase {
    protected sBox: HTMLElement;
    protected isExcel: boolean;
    protected id: string;
    protected colType: string;
    protected fullData: Object[];
    protected filteredData: Object[];
    protected isFiltered: boolean | number;
    protected dlg: Element;
    protected dialogObj: popups.Dialog;
    protected cBox: HTMLElement;
    protected spinner: HTMLElement;
    protected searchBox: Element;
    protected sInput: HTMLInputElement;
    protected sIcon: Element;
    /** @hidden */
    options: IFilterArgs;
    protected customQuery: boolean;
    protected existingPredicate: {
        [key: string]: PredicateModel[];
    };
    protected foreignKeyData: Object[];
    protected foreignKeyQuery: data.Query;
    /** @hidden */
    filterState: boolean;
    protected values: Object;
    private cBoxTrue;
    private cBoxFalse;
    private itemsCnt;
    private result;
    protected renderEmpty: boolean;
    protected parent: IXLFilter;
    protected localeObj: base.L10n;
    protected valueFormatter: ValueFormatter;
    private searchHandler;
    private isMenuNotEqual;
    private isBlanks;
    private isCheckboxFilterTemplate;
    /**
     * Constructor for checkbox filtering module
     *
     * @param {IXLFilter} parent - specifies the IXLFilter
     * @hidden
     */
    constructor(parent?: IXLFilter);
    /**
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    private wireEvents;
    private unWireEvents;
    protected foreignKeyFilter(args: Object, fColl?: Object[], mPredicate?: data.Predicate): void;
    private foreignFilter;
    private searchBoxClick;
    private searchBoxKeyUp;
    private updateSearchIcon;
    /**
     * Gets the localized label by locale keyword.
     *
     * @param {string} key - Defines localization key
     * @returns {string} - returns localization label
     */
    getLocalizedLabel(key: string): string;
    private updateDataSource;
    protected updateModel(options: IFilterArgs): void;
    protected getAndSetChkElem(options: IFilterArgs): HTMLElement;
    protected showDialog(options: IFilterArgs): void;
    private renderResponsiveFilter;
    private dialogCreated;
    openDialog(options: IFilterArgs): void;
    closeDialog(): void;
    /**
     * @param {Column} col - Defines column details
     * @returns {void}
     * @hidden
     */
    clearFilter(col?: Column): void;
    private btnClick;
    /**
     * @returns {void}
     * @hidden
     */
    fltrBtnHandler(): void;
    /** @hidden */
    static generateNullValuePredicates(defaults: {
        predicate?: string;
        field?: string;
        type?: string;
        uid?: string;
        operator?: string;
        matchCase?: boolean;
        ignoreAccent?: boolean;
    }): PredicateModel[];
    /** @hidden */
    initiateFilter(fColl: PredicateModel[]): void;
    protected isForeignColumn(col: Column): boolean;
    private refreshCheckboxes;
    protected search(args: FilterSearchBeginEventArgs, query: data.Query): void;
    private getPredicateFromCols;
    protected getQuery(): data.Query;
    private getAllData;
    private addDistinct;
    private filterEvent;
    private processDataOperation;
    private dataSuccess;
    private queryGenerate;
    private processDataSource;
    private processSearch;
    private updateResult;
    private clickHandler;
    private keyupHandler;
    private setFocus;
    private updateAllCBoxes;
    private dialogOpen;
    private createCheckbox;
    private updateIndeterminatenBtn;
    private createFilterItems;
    private getCheckedState;
    static getDistinct(json: Object[], field: string, column?: Column, foreignKeyData?: Object[]): Object;
    static getPredicate(columns: PredicateModel[]): data.Predicate;
    private static generatePredicate;
    private static getCaseValue;
    private static updateDateFilter;
}
//node_modules/@syncfusion/ej2-grids/src/grid/common/excel-filter-base.d.ts
/**
 * @hidden
 * `ExcelFilter` module is used to handle filtering action.
 */
export  class ExcelFilterBase extends CheckBoxFilterBase {
    private dlgDiv;
    private dlgObj;
    private customFilterOperators;
    private optrData;
    private menuItem;
    private menu;
    private cmenu;
    protected menuObj: navigations.ContextMenu;
    private isCMenuOpen;
    private firstOperator;
    private secondOperator;
    private childRefs;
    private eventHandlers;
    private isDevice;
    /**
     * Constructor for excel filtering module
     *
     * @param {IXLFilter} parent - parent details
     * @param {Object} customFltrOperators - operator details
     * @hidden
     */
    constructor(parent?: IXLFilter, customFltrOperators?: Object);
    private getCMenuDS;
    /**
     * To destroy the filter bar.
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    private createMenu;
    private createMenuElem;
    private wireExEvents;
    private unwireExEvents;
    private clickExHandler;
    private destroyCMenu;
    private hoverHandler;
    private ensureTextFilter;
    private preventClose;
    private getContextBounds;
    private getCMenuYPosition;
    openDialog(options: IFilterArgs): void;
    closeDialog(): void;
    private selectHandler;
    /**
     * @hidden
     * @param {navigations.MenuEventArgs} e - event args
     * @returns {void}
     */
    renderDialogue(e?: navigations.MenuEventArgs): void;
    private renderResponsiveDialog;
    /**
     * @hidden
     * @returns {void}
     */
    removeDialog(): void;
    private createdDialog;
    private renderCustomFilter;
    /**
     * @hidden
     * @param {string} col - Defines column details
     * @returns {void}
     */
    filterBtnClick(col: string): void;
    /**
     * @hidden
     * Filters grid row by column name with given options.
     *
     * @param {string} fieldName - Defines the field name of the filter column.
     * @param {string} firstOperator - Defines the first operator by how to filter records.
     * @param {string | number | Date | boolean} firstValue - Defines the first value which is used to filter records.
     * @param  {string} predicate - Defines the relationship between one filter query with another by using AND or OR predicate.
     * @param {boolean} matchCase - If ignore case set to true, then filter records with exact match or else
     * filter records with case insensitive(uppercase and lowercase letters treated as same).
     * @param {boolean} ignoreAccent - If ignoreAccent set to true, then ignores the diacritic characters or accents when filtering.
     * @param {string} secondOperator - Defines the second operator by how to filter records.
     * @param {string | number | Date | boolean} secondValue - Defines the first value which is used to filter records.
     * @returns {void}
     */
    filterByColumn(fieldName: string, firstOperator: string, firstValue: string | number | Date | boolean, predicate?: string, matchCase?: boolean, ignoreAccent?: boolean, secondOperator?: string, secondValue?: string | number | Date | boolean): void;
    private renderOperatorUI;
    private removeHandlersFromComponent;
    private dropDownOpen;
    private dropDownValueChange;
    /**
     * @hidden
     * @returns {FilterUI} returns filter UI
     */
    getFilterUIInfo(): FilterUI;
    private getSelectedValue;
    private dropSelectedVal;
    private getSelectedText;
    private renderFilterUI;
    private renderRadioButton;
    private removeObjects;
    private renderFlValueUI;
    private getExcelFilterData;
    private renderMatchCase;
    private renderDate;
    private renderDateTime;
    private completeAction;
    private renderNumericTextBox;
    private renderAutoComplete;
    private acActionComplete;
    private acFocus;
}
//node_modules/@syncfusion/ej2-grids/src/grid/common/filter-interface.d.ts
/**
 * Defines the excel filter interface.
 */
/** @hidden */
export interface XLColumn {
    field?: string;
}
/** @hidden */
export interface XLFilterSettings {
    columns?: XLColumn[];
}
/** @hidden */
export interface XLSearchSettings {
    key?: string;
}
/** @hidden */
export interface IXLFilter extends base.Component<HTMLElement> {
    filterSettings?: XLFilterSettings;
    destroyTemplate?: Function;
    getQuery?: Function;
    searchSettings?: XLSearchSettings;
    getColumnByField?: Function;
    getColumnHeaderByUid?: Function;
    dataSource?: Object[] | data.DataManager;
    getForeignKeyColumns?: Function;
    isReact?: boolean;
    isVue?: boolean;
    renderTemplates?: Function;
    allowSorting?: boolean;
    cssClass?: string;
    loadingIndicator?: LoadingIndicatorModel;
    showMaskRow?: Function;
}
/** @hidden */
export interface FilterStateObj {
    state: DataStateChangeEventArgs;
    deffered: data.Deferred;
}
//node_modules/@syncfusion/ej2-grids/src/grid/common/index.d.ts
/**
 * Excel filter Base
 */
//node_modules/@syncfusion/ej2-grids/src/grid/context-menu.d.ts
/**
 * Context menu export
 */
//node_modules/@syncfusion/ej2-grids/src/grid/detail-row.d.ts
/**
 * Detail row export
 */
//node_modules/@syncfusion/ej2-grids/src/grid/edit.d.ts
/**
 * Edit export
 */
//node_modules/@syncfusion/ej2-grids/src/grid/excel-export.d.ts
/**
 * Excel Export exports
 */
//node_modules/@syncfusion/ej2-grids/src/grid/filter.d.ts
/**
 * Filter export
 */
//node_modules/@syncfusion/ej2-grids/src/grid/foreign-key.d.ts
/**
 * Foreign Key export
 */
//node_modules/@syncfusion/ej2-grids/src/grid/freeze.d.ts
/**
 * Freeze export
 */
//node_modules/@syncfusion/ej2-grids/src/grid/group.d.ts
/**
 * Group export
 */
//node_modules/@syncfusion/ej2-grids/src/grid/index.d.ts
/**
 * Grid component exported items
 */
//node_modules/@syncfusion/ej2-grids/src/grid/infinite-scroll.d.ts
/**
 * infinite-scroll export
 */
//node_modules/@syncfusion/ej2-grids/src/grid/lazy-load-group.d.ts
/**
 * group-lazy-load export
 */
//node_modules/@syncfusion/ej2-grids/src/grid/logger.d.ts
/**
 * Logger export
 */
//node_modules/@syncfusion/ej2-grids/src/grid/models.d.ts
/**
 * Models
 */
//node_modules/@syncfusion/ej2-grids/src/grid/models/aggregate-model.d.ts
/**
 * Interface for a class AggregateColumn
 */
export interface AggregateColumnModel {
    /**
     * Defines the aggregate type of a particular column.
     * To use multiple aggregates for single column, specify the `type` as array.
     * Types of aggregate are,
     * * sum
     * * average
     * * max
     * * min
     * * count
     * * truecount
     * * falsecount
     * * custom
     * > Specify the `type` value as `custom` to use custom aggregation.
     *
     * @aspType string
     * @default null
     */
    type?: AggregateType | AggregateType[] | string;
    /**
     * Defines the column name to perform aggregation.
     *
     * @default null
     */
    field?: string;
    /**
     * Defines the column name to display the aggregate value. If `columnName` is not defined,
     * then `field` name value will be assigned to the `columnName` property.
     *
     * @default null
     */
    columnName?: string;
    /**
     * Format is applied to a calculated value before it is displayed.
     * Gets the format from the user, which can be standard or custom
     * [`number`](../../common/internationalization/#number-formatting/)
     * and [`date`](../../common/internationalization/#number-formatting/) formats.
     *
     * @aspType string
     * @blazorType string
     * @default null
     */
    format?: string | base.NumberFormatOptions | base.DateFormatOptions;
    /**
     * Defines the footer cell template as a string for the aggregate column.
     * The `type` name should be used to access aggregate values inside the template.
     *
     * {% codeBlock src="grid/footer-template-api/index.ts" %}{% endcodeBlock %}
     *
     * @default null
     */
    footerTemplate?: string;
    /**
     * Defines the group footer cell template as a string for the aggregate column.
     * The `type` name should be used to access aggregate values inside the template.
     * Additionally, the following fields can be accessed in the template.
     * * **field**: The current grouped field.
     * * **key**: The current grouped value.
     *
     * {% codeBlock src="grid/group-footer-api/index.ts" %}{% endcodeBlock %}
     *
     * @default null
     */
    groupFooterTemplate?: string;
    /**
     * Defines the group caption cell template as a string for the aggregate column.
     * The `type` name should be used to access aggregate values inside the template.
     * Additionally, the following fields can be accessed in the template.
     * * **field**: The current grouped field name.
     * * **key**: The current grouped field value.
     *
     * {% codeBlock src="grid/group-caption-api/index.ts" %}{% endcodeBlock %}
     *
     * @default null
     */
    groupCaptionTemplate?: string;
    /**
     * Defines a function to calculate custom aggregate value. The `type` value should be set to `custom`.
     * To use custom aggregate value in the template, use the key as `${custom}`.
     * **Total aggregation**: The custom function will be called with the whole data and the current `AggregateColumn` object.
     * **Group aggregation**: This will be called with the current group details and the `AggregateColumn` object.
     *
     * @default null
     */
    customAggregate?: CustomSummaryType | string;
}
/**
 * Interface for a class AggregateRow
 */
export interface AggregateRowModel {
    /**
     * Configures the aggregate columns.
     *
     * @default []
     */
    columns?: AggregateColumnModel[];
}
//node_modules/@syncfusion/ej2-grids/src/grid/models/aggregate.d.ts
/**
 * Configures the Grid's aggregate column.
 */
export  class AggregateColumn extends base.ChildProperty<AggregateColumn> {
    private formatFn;
    private templateFn;
    /**
     * Defines the aggregate type of a particular column.
     * To use multiple aggregates for single column, specify the `type` as array.
     * Types of aggregate are,
     * * sum
     * * average
     * * max
     * * min
     * * count
     * * truecount
     * * falsecount
     * * custom
     * > Specify the `type` value as `custom` to use custom aggregation.
     *
     * @aspType string
     * @default null
     */
    type: AggregateType | AggregateType[] | string;
    /**
     * Defines the column name to perform aggregation.
     *
     * @default null
     */
    field: string;
    /**
     * Defines the column name to display the aggregate value. If `columnName` is not defined,
     * then `field` name value will be assigned to the `columnName` property.
     *
     * @default null
     */
    columnName: string;
    /**
     * Format is applied to a calculated value before it is displayed.
     * Gets the format from the user, which can be standard or custom
     * [`number`](../../common/internationalization/#number-formatting/)
     * and [`date`](../../common/internationalization/#number-formatting/) formats.
     *
     * @aspType string
     * @blazorType string
     * @default null
     */
    format: string | base.NumberFormatOptions | base.DateFormatOptions;
    /**
     * Defines the footer cell template as a string for the aggregate column.
     * The `type` name should be used to access aggregate values inside the template.
     *
     * {% codeBlock src="grid/footer-template-api/index.ts" %}{% endcodeBlock %}
     *
     * @default null
     */
    footerTemplate: string;
    /**
     * Defines the group footer cell template as a string for the aggregate column.
     * The `type` name should be used to access aggregate values inside the template.
     * Additionally, the following fields can be accessed in the template.
     * * **field**: The current grouped field.
     * * **key**: The current grouped value.
     *
     * {% codeBlock src="grid/group-footer-api/index.ts" %}{% endcodeBlock %}
     *
     * @default null
     */
    groupFooterTemplate: string;
    /**
     * Defines the group caption cell template as a string for the aggregate column.
     * The `type` name should be used to access aggregate values inside the template.
     * Additionally, the following fields can be accessed in the template.
     * * **field**: The current grouped field name.
     * * **key**: The current grouped field value.
     *
     * {% codeBlock src="grid/group-caption-api/index.ts" %}{% endcodeBlock %}
     *
     * @default null
     */
    groupCaptionTemplate: string;
    /**
     * Defines a function to calculate custom aggregate value. The `type` value should be set to `custom`.
     * To use custom aggregate value in the template, use the key as `${custom}`.
     * **Total aggregation**: The custom function will be called with the whole data and the current `AggregateColumn` object.
     * **Group aggregation**: This will be called with the current group details and the `AggregateColumn` object.
     *
     * @default null
     */
    customAggregate: CustomSummaryType | string;
    /**
     * @param {Function} value - specifies the value
     * @returns {void}
     * @hidden
     */
    setFormatter(value: Function): void;
    /**
     * @returns {Function} returns the Function
     * @hidden
     */
    getFormatter(): Function;
    /**
     * @param {Object} helper - specifies the helper
     * @returns {void}
     * @hidden
     */
    setTemplate(helper?: Object): void;
    /**
     * @param {CellType} type - specifies the cell type
     * @returns {Object} returns the object
     * @hidden
     */
    getTemplate(type: CellType): {
        fn: Function;
        property: string;
    };
    /**
     * @param {Object} prop - returns the Object
     * @returns {void}
     * @hidden
     */
    setPropertiesSilent(prop: Object): void;
}
/**
 * Configures the aggregate rows.
 */
export  class AggregateRow extends base.ChildProperty<AggregateRow> {
    /**
     * Configures the aggregate columns.
     *
     * @default []
     */
    columns: AggregateColumnModel[];
}
//node_modules/@syncfusion/ej2-grids/src/grid/models/cell.d.ts
/**
 * Cell
 *
 * @hidden
 */
export  class Cell<T> {
    colSpan: number;
    rowSpan: number;
    cellType: CellType;
    visible: boolean;
    isTemplate: boolean;
    isDataCell: boolean;
    isSelected: boolean;
    isColumnSelected: boolean;
    column: T;
    rowID: string;
    index: number;
    colIndex: number;
    className: string;
    attributes: {
        [a: string]: Object;
    };
    isSpanned: boolean;
    cellSpan: number;
    isRowSpanned: boolean;
    rowSpanRange: number;
    colSpanRange: number;
    spanText: string | number | boolean | Date;
    commands: CommandModel[];
    isForeignKey: boolean;
    foreignKeyData: Object;
    constructor(options: {
        [x: string]: Object;
    });
    clone(): Cell<T>;
}
//node_modules/@syncfusion/ej2-grids/src/grid/models/column-chooser-settings-model.d.ts
/**
 * Interface for a class ColumnChooserSettings
 */
export interface ColumnChooserSettingsModel {
    /**
     * Defines the search operator for Column Chooser.
     *
     * @default 'startsWith'
     * @blazorType Syncfusion.Blazor.Operator
     * @blazorDefaultValue Syncfusion.Blazor.Operator.StartsWith
     */
    operator?: string;
    /**
     * If ignoreAccent set to true, then ignores the diacritic characters or accents while searching in column chooser dialog.
     *
     * @default false
     */
    ignoreAccent?: boolean;
}
//node_modules/@syncfusion/ej2-grids/src/grid/models/column-chooser-settings.d.ts
/**
 * Configures the column chooser behavior of the Grid.
 */
export  class ColumnChooserSettings extends base.ChildProperty<ColumnChooserSettings> {
    /**
     * Defines the search operator for Column Chooser.
     *
     * @default 'startsWith'
     * @blazorType Syncfusion.Blazor.Operator
     * @blazorDefaultValue Syncfusion.Blazor.Operator.StartsWith
     */
    operator: string;
    /**
     * If ignoreAccent set to true, then ignores the diacritic characters or accents while searching in column chooser dialog.
     *
     * @default false
     */
    ignoreAccent: boolean;
}
//node_modules/@syncfusion/ej2-grids/src/grid/models/column-model.d.ts
/**
 * Interface for a class Column
 */
export interface ColumnModel {
}
/**
 * Interface for a class CommandColumnModel
 */
export interface CommandColumnModelModel {
    /**
     * Define the command Button tooltip.
     */
    title?: string;
    /**
     * Define the command Button type.
     */
    type?: CommandButtonType;
    /**
     * Define the button model
     */
    buttonOption?: CommandButtonOptions;
}
/**
 * Interface for a class GridColumn
 */
export interface GridColumnModel extends ColumnModel{
    /**
     * Defines stacked columns
     *
     * @default null
     */
    columns?: string[] | ColumnModel[];
}
/**
 * Interface for a class StackedColumn
 */
export interface StackedColumnModel extends GridColumnModel{
}
//node_modules/@syncfusion/ej2-grids/src/grid/models/column.d.ts
/**
 * Represents Grid `Column` model class.
 */
export  class Column {
    /**
     * Defines the field name of column which is mapped with mapping name of DataSource.
     * The bounded columns can be sort, filter and group etc.,
     * The `field` name must be a valid JavaScript identifier,
     * the first character must be an alphabet and should not contain spaces and special characters.
     *
     * @default ''
     */
    field: string;
    /**
     * Gets the unique identifier value of the column. It is used to get the column object.
     *
     * @default ''
     */
    uid: string;
    /**
     * Gets the unique identifier value of the column. It is used to get the column object.
     *
     * @default null
     */
    index: number;
    /**
     * Defines the header text of column which is used to display in column header.
     * If `headerText` is not defined, then field name value will be assigned to header text.
     *
     * @default null
     */
    headerText: string;
    /**
     * Defines the width of the column in pixels or percentage.
     *
     * @default ''
     */
    width: string | number;
    /**
     * Defines the minimum Width of the column in pixels or percentage.
     *
     * @default ''
     */
    minWidth: string | number;
    /**
     * Defines the maximum width of the column in pixel or percentage, which will restrict resizing beyond this pixel or percentage.
     *
     * @default ''
     */
    maxWidth: string | number;
    /**
     * Defines the alignment of the column in both header and content cells.
     *
     * @default Left
     */
    textAlign: TextAlign;
    /**
     * Defines the cell content's overflow mode. The available modes are
     * * `Clip` -  Truncates the cell content when it overflows its area.
     * * `Ellipsis` -  Displays ellipsis when the cell content overflows its area.
     * * `EllipsisWithTooltip` - Displays ellipsis when the cell content overflows its area
     * also it will display tooltip while hover on ellipsis applied cell.
     *
     * @default Ellipsis
     */
    clipMode: ClipMode;
    /**
     * Define the alignment of column header which is used to align the text of column header.
     *
     * @default null
     */
    headerTextAlign: TextAlign;
    /**
     * If `disableHtmlEncode` is set to true, it encodes the HTML of the header and content cells.
     *
     * @default true
     */
    disableHtmlEncode: boolean;
    /**
     * Defines the data type of the column.
     *
     * @default null
     */
    type: string;
    /**
     * It is used to change display value with the given format and does not affect the original data.
     * Gets the format from the user which can be standard or custom
     * [`number`](../base/internationalization/#number-formatting/)
     * and [`date`](../base/internationalization/#date-formatting/) formats.
     *
     * @default null
     * @aspType string
     */
    format: string | base.NumberFormatOptions | base.DateFormatOptions;
    /**
     * If `visible` is set to false, hides the particular column. By default, columns are displayed.
     *
     * @default true
     */
    visible: boolean;
    /**
     * Defines the column template that renders customized element in each cell of the column.
     * It accepts either [template string](https://ej2.syncfusion.com/documentation/common/template-engine/) or HTML element ID.
     *
     * @default null
     */
    template: string;
    /**
     * Defines the header template as string or HTML element ID which is used to add customized element in the column header.
     *
     * @default null
     */
    headerTemplate: string;
    /**
     * You can use this property to freeze selected columns in grid
     *
     * @default false
     */
    isFrozen: boolean;
    /**
     * If `allowSorting` set to false, then it disables sorting option of a particular column.
     * By default all columns are sortable.
     *
     * @default true
     */
    allowSorting: boolean;
    /**
     * If `allowResizing` is set to false, it disables resize option of a particular column.
     * By default all the columns can be resized.
     *
     * @default true
     */
    allowResizing: boolean;
    /**
     * If `allowFiltering` set to false, then it disables filtering option and filter bar element of a particular column.
     * By default all columns are filterable.
     *
     * @default true
     */
    allowFiltering: boolean;
    /**
     * If `allowGrouping` set to false, then it disables grouping of a particular column.
     * By default all columns are groupable.
     *
     * @default true
     */
    allowGrouping: boolean;
    /**
     * If `allowReordering` set to false, then it disables reorder of a particular column.
     * By default all columns can be reorder.
     *
     * @default true
     */
    allowReordering: boolean;
    /**
     * If `showColumnMenu` set to false, then it disable the column menu of a particular column.
     * By default column menu will show for all columns
     *
     * @default true
     */
    showColumnMenu: boolean;
    /**
     * If `enableGroupByFormat` set to true, then it groups the particular column by formatted values.
     *
     * @default true
     */
    enableGroupByFormat: boolean;
    /**
     * If `allowEditing` set to false, then it disables editing of a particular column.
     * By default all columns are editable.
     *
     * @default true
     */
    allowEditing: boolean;
    /**
     * The CSS styles and attributes of the content cells of a particular column can be customized.
     *
     * {% codeBlock src="grid/custom-attribute-api/index.ts" %}{% endcodeBlock %}
     *
     * @default null
     */
    customAttributes: {
        [x: string]: Object;
    };
    /**
     * If `displayAsCheckBox` is set to true, it displays the column value as a check box instead of Boolean value.
     *
     * @default false
     */
    displayAsCheckBox: boolean;
    /**
     * Defines the column data source which will act as foreign data source.
     *
     * @default null
     */
    dataSource: Object[] | data.DataManager | DataResult;
    /**
     * Defines the method which is used to achieve custom formatting from an external function.
     * This function triggers before rendering of each cell.
     * {% codeBlock src="grid/formatter-api/index.ts" %}{% endcodeBlock %}
     *
     * @default null
     */
    formatter: {
        new (): ICellFormatter;
    } | ICellFormatter | Function;
    /**
     * Defines the method used to apply custom cell values from external function and display this on each cell rendered.
     *
     * {% codeBlock src="grid/value-accessor-api/index.ts" %}{% endcodeBlock %}
     *
     * @default null
     */
    valueAccessor: ValueAccessor | string;
    /**
     * Defines the method used to apply custom header cell values from external function and display this on each header cell rendered.
     *
     * @default null
     */
    headerValueAccessor: HeaderValueAccessor | string;
    /**
     * The `filterBarTemplate` is used to add a custom component instead of default input component for filter bar.
     * It have create and read functions.
     * * create: It is used for creating custom components.
     * * read: It is used to perform custom filter action.
     *
     * {% codeBlock src="grid/filter-template-api/index.ts" %}{% endcodeBlock %}
     *
     * @default null
     */
    filterBarTemplate: IFilterUI;
    /**
     *  It is used to customize the default filter options for a specific columns.
     * * type -  Specifies the filter type as menu or checkbox.
     * * ui - to render custom component for specific column it has following functions.
     * * ui.create – It is used for creating custom components.
     * * ui.read -  It is used for read the value from the component.
     * * ui.write - It is used to apply component model as dynamically.
     * {% codeBlock src="grid/filter-menu-api/index.ts" %}{% endcodeBlock %}
     *
     * > Check the [`Filter UI`](../../grid/filtering/filter-menu/#custom-component-in-filter-menu) for its customization.
     *
     *  @default {}
     */
    filter: IFilter;
    /**
     * Used to render multiple header rows(stacked headers) on the Grid header.
     *
     * @default null
     */
    columns: Column[] | string[] | ColumnModel[];
    /**
     * Defines the tool tip text for stacked headers.
     *
     * @default null
     * @hidden
     */
    toolTip: string;
    /**
     * If `isPrimaryKey` is set to true, considers this column as the primary key constraint.
     *
     * @default false
     */
    isPrimaryKey: boolean;
    /**
     * Column visibility can change based on [`Media Queries`](http://cssmediaqueries.com/what-are-css-media-queries.html).
     * `hideAtMedia` accepts only valid Media Queries.
     *
     * @default ''
     */
    hideAtMedia?: string;
    /**
     * If `showInColumnChooser` set to false, then hide the particular column in column chooser.
     *  By default all columns are displayed in column Chooser.
     *
     * @default true
     */
    showInColumnChooser?: boolean;
    /**
     * Defines the type of component for editable.
     *
     * @default 'stringedit'
     */
    editType: string;
    /**
     * Defines rules to validate data before creating and updating.
     *
     * @default null
     */
    validationRules: Object;
    /**
     * Defines default values for the component when adding a new record to the Grid.
     *
     * @default null
     * @aspType object
     */
    defaultValue: string;
    /**
     * Defines the `IEditCell` object to customize default edit cell.
     *
     * @default {}
     */
    edit: IEditCell;
    /**
     * If `isIdentity` is set to true, then this column is considered as identity column.
     *
     * @default false
     */
    isIdentity: boolean;
    /**
     * Defines the display column name from the foreign data source which will be obtained from comparing local and foreign data.
     *
     * @default null
     */
    foreignKeyValue: string;
    /**
     * Defines the mapping column name of the foreign data source.
     * If it is not defined then the `columns.field` will be considered as mapping column name
     *
     * @default null
     */
    foreignKeyField: string;
    /**
     * @hidden
     * Defines the commands column template as string or HTML element ID which is used to add
     * customized command buttons in each cells of the column.
     */
    commandsTemplate: string;
    /**
     * `commands` provides an option to display command buttons in every cell.
     * The available built-in command buttons are
     * * Edit - Edit the record.
     * * Delete - Delete the record.
     * * Save - Save the record.
     * * Cancel - Cancel the edit state.
     * {% codeBlock src="grid/command-column-api/index.ts" %}{% endcodeBlock %}
     *
     * @default null
     */
    commands: CommandModel[];
    /**
     * @hidden
     * Gets the current view foreign key data.
     *
     * @default []
     */
    columnData: Object[];
    /**
     * Defines the cell edit template that used as editor for a particular column.
     * It accepts either template string or HTML element ID.
     *
     * @default null
     * @aspIgnore
     */
    editTemplate: string;
    /**
     * Defines the filter template/UI that used as filter for a particular column.
     * It accepts either template string or HTML element ID.
     *
     * @default null
     * @aspIgnore
     */
    filterTemplate: string;
    /** @hidden */
    toJSON: Function;
    /**
     * Defines the mapping column name of the foreign data source.
     * If it is not defined then the `columns.field` will be considered as mapping column name
     *
     * @default false
     */
    lockColumn: boolean;
    /**
     * If `allowSearching` set to false, then it disables Searching of a particular column.
     * By default all columns allow Searching.
     *
     * @default true
     */
    allowSearching: boolean;
    /**
     * If `autoFit` set to true, then the particular column content width will be
     * adjusted based on its content in the initial rendering itself.
     * Setting this property as true is equivalent to calling `autoFitColumns` method in the `dataBound` event.
     *
     * @default false
     */
    autoFit: boolean;
    /**
     * defines which side the column need to freeze
     * The available built-in freeze directions are
     * * Left - Freeze the column at left side.
     * * Right - Freeze the column at right side.
     *
     * @default null
     */
    freeze: freezeDirection;
    private parent;
    /**
     * @hidden
     * Sets the selected state.
     * @default false
     */
    isSelected: boolean;
    constructor(options: ColumnModel, parent?: IGrid);
    private formatFn;
    private parserFn;
    private templateFn;
    private fltrTemplateFn;
    private headerTemplateFn;
    private editTemplateFn;
    private filterTemplateFn;
    private sortDirection;
    /** @hidden */
    freezeTable: freezeTable;
    /**
     * @returns {Function} returns the edit template
     * @hidden */
    getEditTemplate: Function;
    /**
     * @returns {Function} returns the filter template
     * @hidden */
    getFilterTemplate: Function;
    /**
     * @returns {string} returns the sort direction
     * @hidden */
    getSortDirection(): string;
    /**
     * @param {string} direction - specifies the direction
     * @returns {void}
     * @hidden
     */
    setSortDirection(direction: string): void;
    /**
     * @returns {freezeTable} returns the FreezeTable
     * @hidden */
    getFreezeTableName(): freezeTable;
    /**
     * @param {Column} column - specifies the column
     * @returns {void}
     * @hidden
     */
    setProperties(column: Column): void;
    /**
     * Defines the custom sort comparer function.
     * The sort comparer function has the same functionality like
     * [`Array.sort`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort) sort comparer.
     * {% codeBlock src="grid/sort-comparer-api/index.ts" %}{% endcodeBlock %}
     */
    sortComparer: SortComparer | string;
    /**
     * @returns {boolean} returns true for foreign column
     * @hidden
     * It defines the column is foreign key column or not.
     */
    isForeignColumn(): boolean;
    /**
     * @returns {Function} returns the function
     * @hidden
     */
    getFormatter(): Function;
    /**
     * @param {Function} value - specifies the value
     * @returns {void}
     * @hidden
     */
    setFormatter(value: Function): void;
    /**
     * @returns {Function} returns the function
     * @hidden */
    getParser(): Function;
    /**
     * @param {Function} value - specifies the value
     * @returns {void}
     * @hidden
     */
    setParser(value: Function): void;
    /**
     * @returns {Function} returns the function
     * @hidden */
    getColumnTemplate(): Function;
    /**
     * @returns {Function} returns the function
     * @hidden */
    getHeaderTemplate(): Function;
    /**
     * @returns {Function} returns the function
     * @hidden */
    getFilterItemTemplate(): Function;
    /**
     * @returns {string} returns the string
     * @hidden */
    getDomSetter(): string;
}
/**
 * Interface for a class Column
 */
export interface ColumnModel1 {
    /**
     * Defines the field name of column which is mapped with mapping name of DataSource.
     * The bounded columns can be sort, filter and group etc.,
     * If the `field` name contains “dot”, then it is considered as complex binding.
     * The `field` name must be a valid JavaScript identifier,
     * the first character must be an alphabet and should not contain spaces and special characters.
     *
     * @default ''
     */
    field?: string;
    /**
     * Gets the unique identifier value of the column. It is used to get the object.
     *
     * @default ''
     */
    uid?: string;
    /**
     * Gets the unique identifier value of the column. It is used to get the object.
     *
     * @default null
     */
    index?: number;
    /**
     * Defines the header text of column which is used to display in column header.
     * If `headerText` is not defined, then field name value will be assigned to header text.
     *
     * @default null
     */
    headerText?: string;
    /**
     * Defines the width of the column in pixels or percentage.
     *
     * @default ''
     */
    width?: string | number;
    /**
     * Defines the minimum width of the column in pixels or percentage.
     *
     * @default ''
     */
    minWidth?: string | number;
    /**
     * Defines the maximum width of the column in pixel or percentage, which will restrict resizing beyond this pixel or percentage.
     *
     * @default ''
     */
    maxWidth?: string | number;
    /**
     * Defines the alignment of the column in both header and content cells.
     *
     * @default Left
     */
    textAlign?: TextAlign;
    /**
     * Defines the cell content's overflow mode. The available modes are
     * * `Clip` -  Truncates the cell content when it overflows its area.
     * * `Ellipsis` -  Displays ellipsis when the cell content overflows its area.
     * * `EllipsisWithTooltip` - Displays ellipsis when the cell content overflows its area
     * also it will display tooltip while hover on ellipsis applied cell.
     *
     * @default Ellipsis
     */
    clipMode?: ClipMode;
    /**
     * Define the alignment of column header which is used to align the text of column header.
     *
     * @aspdefaultvalueignore
     * @default null
     */
    headerTextAlign?: TextAlign;
    /**
     * If `disableHtmlEncode` is set to true, it encodes the HTML of the header and content cells.
     *
     * @default true
     */
    disableHtmlEncode?: boolean;
    /**
     * Defines the data type of the column.
     *
     * @default null
     */
    type?: string;
    /**
     * It is used to change display value with the given format and does not affect the original data.
     * Gets the format from the user which can be standard or custom
     * [`number`](../../common/internationalization/#manipulating-numbers)
     * and [`date`](../../common/internationalization/#manipulating-datetime) formats.
     *
     * @default null
     * @aspType string
     */
    format?: string | base.NumberFormatOptions | base.DateFormatOptions;
    /**
     * If `visible` is set to false, hides the particular column. By default, all columns are displayed.
     *
     * @default true
     */
    visible?: boolean;
    /**
     * Defines the column template that renders customized element in each cell of the column.
     * It accepts either [template string](../../common/template-engine/) or HTML element ID.
     *
     * @default null
     */
    template?: string;
    /**
     * Defines the column template as string or HTML element ID which is used to add customized element in the column header.
     *
     * @default null
     */
    headerTemplate?: string;
    /**
     * You can use this property to freeze selected columns in grid.
     *
     * @default false
     */
    isFrozen?: boolean;
    /**
     * If `allowSorting` set to false, then it disables sorting option of a particular column.
     * By default all columns are sortable.
     *
     * @default true
     */
    allowSorting?: boolean;
    /**
     * If `allowResizing` set to false, it disables resize option of a particular column.
     *
     * @default true
     */
    allowResizing?: boolean;
    /**
     * If `showColumnMenu` set to false, then it disable the column menu of a particular column.
     * By default column menu will show for all columns
     *
     * @default true
     */
    showColumnMenu?: boolean;
    /**
     * If `allowFiltering` set to false, then it disables filtering option and filter bar element of a particular column.
     * By default all columns are filterable.
     *
     * @default true
     */
    allowFiltering?: boolean;
    /**
     * If `allowGrouping` set to false, then it disables grouping of a particular column.
     * By default all columns are groupable.
     *
     * @default true
     */
    allowGrouping?: boolean;
    /**
     * If `allowReordering` set to false, then it disables reorder of a particular column.
     * By default all columns can be reorder.
     *
     * @default true
     */
    allowReordering?: boolean;
    /**
     * If `enableGroupByFormat` set to true, then it groups the particular column by formatted values.
     * By default no columns are group by format.
     *
     * @default true
     */
    enableGroupByFormat?: boolean;
    /**
     * If `allowEditing` set to false, then it disables editing of a particular column.
     * By default all columns are editable.
     *
     * @default true
     */
    allowEditing?: boolean;
    /**
     * @hidden
     * Gets the current view foreign key data.
     * @default []
     */
    columnData?: Object[];
    /**
     * The CSS styles and attributes of the content cells of a particular column can be customized.
     *
     * ```html
     * <div id="Grid"></div>
     * ```
     * ```typescript
     * let gridObj$: Grid = new Grid({
     * dataSource: filterData,
     * columns: [
     *    { field: 'OrderID', headerText: 'Order ID' },
     *    {
     *        field: 'EmployeeID', headerText: 'Employee ID', customAttributes: {
     *           class: 'employeeid',
     *           type: 'employee-id-cell'
     *      }
     *   }]
     * });
     * gridObj.appendTo('#Grid');
     * ```
     *
     * @default null
     */
    customAttributes?: {
        [x: string]: Object;
    };
    /**
     * If `displayAsCheckBox` is set to true, it displays the column value as a check box instead of Boolean value.
     *
     * @default false
     */
    displayAsCheckBox?: boolean;
    /**
     * Defines the column data source  which will act as foreign data source.
     *
     * @default null
     */
    dataSource?: Object[] | data.DataManager | DataResult;
    /**
     * Defines the method which is used to achieve custom formatting from an external function.
     * This function triggers before rendering of each cell.
     *
     * ```html
     * <div id="Grid"></div>
     * ```
     * ```typescript
     * class ExtendedFormatter implements ICellFormatter {
     * public getValue(column: Column, data: Object): Object {
     *   return '<span style="color:' + (data['Verified'] ? 'green' : 'red') + '"><i>' + data['Verified'] + '</i><span>';
     * }
     * }
     * let gridObj$: Grid = new Grid({
     *     dataSource: filterData,
     *     columns: [
     *         { field: 'ShipName', headerText: 'Ship Name' },
     *         { field: 'Verified', headerText: 'Verified Status', formatter: ExtendedFormatter }]
     * });
     * gridObj.appendTo('#Grid');
     * ```
     *
     * @default null
     */
    formatter?: {
        new (): ICellFormatter;
    } | ICellFormatter | Function;
    /**
     * Defines the method used to apply custom cell values from external function and display this on each cell rendered.
     *
     * ```html
     * <div id="Grid"></div>
     * ```
     * ```typescript
     * let gridObj$: Grid = new Grid({
     * dataSource: [{ EmployeeID: 1, EmployeeName: ['John', 'M'] }, { EmployeeID: 2, EmployeeName: ['Peter', 'A'] }],
     * columns: [
     *     { field: 'EmployeeID', headerText: 'Employee ID' },
     *     { field: 'EmployeeName', headerText: 'Employee First Name',
     *       valueAccessor: (field: string, data: Object, column: Column) => {
     *             return data['EmployeeName'][0];
     *         },
     *     }]
     * });
     * ```
     *
     * @default null
     */
    valueAccessor?: ValueAccessor | string;
    /**
     * Defines the method used to apply custom header cell values from external function and display this on each cell rendered.
     *
     * ```html
     * <div id="Grid"></div>
     * ```
     * ```typescript
     * let gridObj$: Grid = new Grid({
     * dataSource: [{ EmployeeID: 1, EmployeeName: ['John', 'M'] }, { EmployeeID: 2, EmployeeName: ['Peter', 'A'] }],
     * columns: [
     *     { field: 'EmployeeID', headerText: 'Employee ID' },
     *     { field: 'EmployeeName', headerText: 'Employee First Name',
     *       headerValueAccessor: (field: string,column: Column) => {
     *             return "newheadername";
     *         },
     *     }]
     * });
     * ```
     *
     * @default null
     */
    headerValueAccessor?: HeaderValueAccessor | string;
    /**
     * The `filterBarTemplate` is used to add a custom component instead of default input component for filter bar.
     * It have create and read functions.
     * * create: It is used for creating custom components.
     * * read: It is used to perform custom filter action.
     *
     * ```html
     * <div id="Grid"></div>
     * ```
     * ```typescript
     * let gridObj$: Grid = new Grid({
     * dataSource: filterData,
     * columns: [
     *   { field: 'OrderID', headerText: 'Order ID' },
     *   {
     *      field: 'EmployeeID', filterBarTemplate: {
     *         create: (args: { element: Element, column: Column }) => {
     *              let input: HTMLInputElement = document.createElement('input');
     *              input.id = 'EmployeeID';
     *              input.type = 'text';
     *              return input;
     *         },
     *         write: (args: { element: Element, column: Column }) => {
     *             args.element.addEventListener('input', args.column.filterBarTemplate.read as EventListener);
     *         },
     *         read: (args: { element: HTMLInputElement, columnIndex: number, column: Column }) => {
     *             gridObj.filterByColumn(args.element.id, 'equal', args.element.value);
     *        }
     *     }
     *  }],
     *   allowFiltering: true
     * });
     * gridObj.appendTo('#Grid');
     * ```
     *
     * @default null
     */
    filterBarTemplate?: IFilterUI;
    /**
     *  Defines the filter options to customize filtering for the particular column.
     *
     *  @default null
     */
    filter?: IFilter;
    /**
     * Used to render multiple header rows(stacked headers) on the Grid header.
     *
     * @default null
     */
    columns?: Column[] | string[] | ColumnModel[];
    /**
     * Defines the tool tip text for stacked headers.
     *
     * @hidden
     * @default null
     */
    toolTip?: string;
    /**
     * If `isPrimaryKey` is set to true, considers this column as the primary key constraint.
     *
     * @default false
     */
    isPrimaryKey?: boolean;
    /**
     * Defines the type of component for editing.
     *
     * @default 'stringedit'
     */
    editType?: string;
    /**
     * `editType`(../../grid/edit/#cell-edit-type-and-its-params) Defines rules to validate data before creating and updating.
     *
     * @default null
     */
    validationRules?: Object;
    /**
     * Defines default values for the component when adding a new record to the Grid.
     *
     * @default null
     * @aspType object
     */
    defaultValue?: string;
    /**
     * Defines the `IEditCell`(../../grid/edit/#cell-edit-template) object to customize default edit cell.
     *
     * @default {}
     */
    edit?: IEditCell;
    /**
     * If `isIdentity` is set to true, then this column is considered as identity column.
     *
     * @default false
     */
    isIdentity?: boolean;
    /**
     * Defines the mapping column name of the foreign data source.
     * If it is not defined then the `columns.field` will be considered as mapping column name
     *
     * @default null
     */
    foreignKeyField?: string;
    /**
     * Defines the display column name from the foreign data source which will be obtained from comparing local and foreign data
     *
     * @default null
     */
    foreignKeyValue?: string;
    /**
     * column visibility can change based on its [`Media Queries`](http://cssmediaqueries.com/what-are-css-media-queries.html).
     * `hideAtMedia` accepts only valid Media Queries.
     *
     * @default ''
     */
    hideAtMedia?: string;
    /**
     * If `showInColumnChooser` set to false, then hides the particular column in column chooser.
     * By default all columns are displayed in column Chooser.
     *
     * @default true
     */
    showInColumnChooser?: boolean;
    /**
     * @hidden
     * Defines the commands column template as string or HTML element ID which is used to add
     * customized command buttons in each cells of the column.
     */
    commandsTemplate?: string;
    /**
     * `commands` provides an option to display command buttons in every cell.
     * The available built-in command buttons are
     * * Edit - Edit the record.
     * * Delete - Delete the record.
     * * Save - Save the record.
     * * Cancel - Cancel the edit state.
     *
     * The following code example implements the custom command column.
     * ```html
     * <style type="text/css" class="cssStyles">
     * .details-icon:before
     * {
     *    content:"\e74d";
     * }
     * </style>
     * <div id="Grid"></div>
     * ```
     * ```typescript
     * var gridObj = new Grid({
     * datasource: window.gridData,
     * columns : [
     *  { field: 'CustomerID', headerText: 'Customer ID' },
     *  { field: 'CustomerName', headerText: 'Customer Name' },
     *  {commands: [{buttonOption:{content: 'Details', click: onClick, cssClass: details-icon}}], headerText: 'Customer Details'}
     * ]
     * gridObj.appendTo("#Grid");
     * ```
     *
     * @default null
     */
    commands?: CommandModel[];
    /**
     * It defines the custom sort comparer function.
     */
    sortComparer?: SortComparer | string;
    /**
     * @hidden
     * It defines the column is foreign key column or not.
     */
    isForeignColumn?: () => boolean;
    /**
     * Defines the cell edit template that used as editor for a particular column.
     * It accepts either template string or HTML element ID.
     *
     * @aspIgnore
     */
    editTemplate?: string;
    /**
     * Defines the filter template/UI that used as filter for a particular column.
     * It accepts either template string or HTML element ID.
     *
     * @aspIgnore
     */
    filterTemplate?: string;
    /**
     * Defines the mapping column name of the foreign data source.
     * If it is not defined then the `columns.field` will be considered as mapping column name
     *
     * @default false
     */
    lockColumn?: boolean;
    /**
     * If `allowSearching` set to false, then it disables Searching of a particular column.
     * By default all columns allow Searching.
     *
     * @default true
     */
    allowSearching?: boolean;
    /**
     * If `autoFit` set to true, then the particular column content width will be
     * adjusted based on its content in the initial rendering itself.
     * Setting this property as true is equivalent to calling `autoFitColumns` method in the `dataBound` event.
     *
     * @default false
     */
    autoFit?: boolean;
    /**
     * defines which side the column need to freeze
     * The available built-in freeze directions are
     * * Left - Freeze the column at left side.
     * * Right - Freeze the column at right side.
     *
     * @default null
     */
    freeze?: freezeDirection;
}
export interface ActionEventArgs {
    /** Defines the current action. */
    requestType?: Action;
    /** Defines the type of event. */
    type?: string;
    /** Cancel the print action */
    cancel?: boolean;
    /** Defines the previous page number. */
    previousPage?: number;
    /** Defines the current page number. */
    currentPage?: number;
    /** Defines the field name of the currently grouped columns. */
    columnName?: string;
    /** Defines the object that is currently filtered. */
    currentFilterObject?: PredicateModel;
    /** Defines the column name that is currently filtered. */
    currentFilteringColumn?: string;
    /** Defines the collection of filtered columns. */
    columns?: PredicateModel[];
    /** Defines the string value to search. */
    searchString?: string;
    /** Defines the direction of sort column. */
    direction?: SortDirection;
    /** Defines the record objects.
     *
     * @isGenericType true
     */
    data?: Object;
    /** Defines the previous data.
     *
     * @isGenericType true
     */
    previousData?: Object;
    /** Defines the added row. */
    row?: Object;
    /** Added row index */
    index?: number;
    /** Defines the record objects.
     *
     * @isGenericType true
     */
    rowData?: Object;
    /** Defines the target for dialog */
    target?: HTMLElement;
    /** Defines the selected row index. */
    selectedRow?: number;
    /** Defines the current action. */
    action?: string;
    /** Defines foreign data object. */
    foreignKeyData?: Object;
    /** Define the form element */
    form?: HTMLFormElement;
    /** Define the movable table form element */
    movableForm?: HTMLFormElement;
    /** Defines the selected rows for delete. */
    tr?: Element[];
    /** Defines the primary keys */
    primaryKeys?: string[];
    /** Defines the primary key value */
    primaryKeyValue?: Object[];
    /** Defines the edited rowIndex */
    rowIndex?: number;
    /** Defines take number of data while Filtering */
    filterChoiceCount: number;
    /**
     * Defines the excel search operator
     */
    excelSearchOperator: string;
}
/**
 * Define options for custom command buttons.
 */
export  class CommandColumnModel {
    /**
     * Define the command Button tooltip.
     */
    title: string;
    /**
     * Define the command Button type.
     */
    type: CommandButtonType;
    /**
     * Define the button model
     */
    buttonOption: CommandButtonOptions;
}
/**
 * Defines Grid column
 */
export  class GridColumn extends Column {
    /**
     * Defines stacked columns
     *
     * @default null
     */
    columns: string[] | ColumnModel[];
}
/**
 * Interface for a class GridColumn
 */
export interface GridColumnModel1 extends ColumnModel {
    /**
     * Defines stacked columns
     *
     * @default null
     */
    columns?: string[] | ColumnModel[];
}
/**
 * Defines stacked grid column
 */
export  class StackedColumn extends GridColumn {
}
/**
 * Interface for a class stacked grid column
 */
export interface StackedColumnModel1 extends GridColumnModel {
}
//node_modules/@syncfusion/ej2-grids/src/grid/models/models.d.ts
/**
 * Export model files
 */
//node_modules/@syncfusion/ej2-grids/src/grid/models/page-settings-model.d.ts
/**
 * Interface for a class PageSettings
 */
export interface PageSettingsModel {
    /**
     * Defines the number of records to be displayed per page.
     *
     * @default 12
     * @blazorType int
     */
    pageSize?: number;
    /**
     * Defines the number of pages to be displayed in the pager container.
     *
     * @default 8
     * @blazorType int
     */
    pageCount?: number;
    /**
     * Defines the current page number of the pager.
     *
     * @default 1
     * @blazorType int
     */
    currentPage?: number;
    /**
     * @hidden
     * Gets the total records count of the Grid.
     *
     * @blazorType int
     */
    totalRecordsCount?: number;
    /**
     * If `enableQueryString` set to true,
     * then it pass current page information as a query string along with the URL while navigating to other page.
     *
     * @default false
     */
    enableQueryString?: boolean;
    /**
     * If `pageSizes` set to true or Array of values,
     * It renders DropDownList in the pager which allow us to select pageSize from DropDownList.
     *
     * @default false
     */
    pageSizes?: boolean | (number | string)[];
    /**
     * Defines the template which renders customized elements in pager instead of default elements.
     * It accepts either [template string](../../common/template-engine/) or HTML element ID.
     *
     * @default null
     */
    template?: string;
}
//node_modules/@syncfusion/ej2-grids/src/grid/models/page-settings.d.ts
/**
 * Configures the paging behavior of the Grid.
 */
export  class PageSettings extends base.ChildProperty<PageSettings> {
    /**
     * Defines the number of records to be displayed per page.
     *
     * @default 12
     * @blazorType int
     */
    pageSize: number;
    /**
     * Defines the number of pages to be displayed in the pager container.
     *
     * @default 8
     * @blazorType int
     */
    pageCount: number;
    /**
     * Defines the current page number of the pager.
     *
     * @default 1
     * @blazorType int
     */
    currentPage: number;
    /**
     * @hidden
     * Gets the total records count of the Grid.
     *
     * @blazorType int
     */
    totalRecordsCount: number;
    /**
     * If `enableQueryString` set to true,
     * then it pass current page information as a query string along with the URL while navigating to other page.
     *
     * @default false
     */
    enableQueryString: boolean;
    /**
     * If `pageSizes` set to true or Array of values,
     * It renders DropDownList in the pager which allow us to select pageSize from DropDownList.
     *
     * @default false
     */
    pageSizes: boolean | (number | string)[];
    /**
     * Defines the template which renders customized elements in pager instead of default elements.
     * It accepts either [template string](../../common/template-engine/) or HTML element ID.
     *
     * @default null
     */
    template: string;
}
//node_modules/@syncfusion/ej2-grids/src/grid/models/row.d.ts
/**
 * Row
 *
 * @hidden
 */
export  class Row<T> {
    parent?: IGrid;
    uid: string;
    data: Object;
    tIndex: number;
    isCaptionRow: boolean;
    isAggregateRow: boolean;
    changes: Object;
    isDirty: boolean;
    aggregatesCount: number;
    edit: string;
    isSelected: boolean;
    isFreezeRow: boolean;
    isReadOnly: boolean;
    isAltRow: boolean;
    isDataRow: boolean;
    isExpand: boolean;
    rowSpan: number;
    cells: Cell<T>[];
    index: number;
    indent: number;
    subRowDetails: Object;
    height: string;
    visible: boolean;
    attributes: {
        [x: string]: Object;
    };
    cssClass: string;
    lazyLoadCssClass: string;
    foreignKeyData: Object;
    isDetailRow: boolean;
    childGrid: IGrid;
    parentUid: string;
    isSelectable?: boolean;
    constructor(options: {
        [x: string]: Object;
    }, parent?: IGrid);
    clone(): Row<T>;
    /**
     * Replaces the row data and grid refresh the particular row element only.
     *
     * @param  {Object} data - To update new data for the particular row.
     * @returns {void}
     */
    setRowValue(data: Object): void;
    /**
     * Replaces the given field value and refresh the particular cell element only.
     *
     * @param {string} field - Specifies the field name which you want to update.
     * @param {string | number | boolean | Date} value - To update new value for the particular cell.
     * @returns {void}
     */
    setCellValue(field: string, value: string | number | boolean | Date): void;
    private makechanges;
}
//node_modules/@syncfusion/ej2-grids/src/grid/page.d.ts
/**
 * Page export
 */
//node_modules/@syncfusion/ej2-grids/src/grid/pdf-export.d.ts
/**
 * Pdf Export exports
 */
//node_modules/@syncfusion/ej2-grids/src/grid/renderer.d.ts
/**
 * Models
 */
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/autocomplete-edit-cell.d.ts
/**
 * `AutoCompleteEditCell` is used to handle autocomplete cell type editing.
 *
 * @hidden
 */
export  class AutoCompleteEditCell extends EditCellBase implements IEditCell {
    private object;
    private column;
    write(args: {
        rowData: Object;
        element: Element;
        column: Column;
        rowElement: HTMLElement;
        requestType: string;
    }): void;
    private selectedValues;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/batch-edit-renderer.d.ts
/**
 * Edit render module is used to render grid edit row.
 *
 * @hidden
 */
export  class BatchEditRender {
    private parent;
    /**
     * Constructor for render module
     *
     * @param {IGrid} parent - specifies the IGrid
     */
    constructor(parent?: IGrid);
    update(elements: Element[], args: {
        columnObject?: Column;
        cell?: Element;
        row?: Element;
    }): void;
    private getEditElement;
    removeEventListener(): void;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/boolean-edit-cell.d.ts
/**
 * `BooleanEditCell` is used to handle boolean cell type editing.
 *
 * @hidden
 */
export  class BooleanEditCell extends EditCellBase implements IEditCell {
    private editRow;
    private editType;
    private activeClasses;
    private cbChange;
    create(args: {
        column: Column;
        value: string;
        type: string;
    }): Element;
    read(element: Element): boolean;
    write(args: {
        rowData: Object;
        element: Element;
        column: Column;
        requestType: string;
        row: Element;
    }): void;
    private addEventListener;
    private removeEventListener;
    private checkBoxChange;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/boolean-filter-ui.d.ts
/**
 * `boolfilterui` render boolean column.
 *
 * @hidden
 */
export  class BooleanFilterUI implements IFilterMUI {
    private parent;
    protected serviceLocator: ServiceLocator;
    private elem;
    private value;
    private filterSettings;
    private dropInstance;
    private dialogObj;
    private ddOpen;
    private ddComplete;
    constructor(parent?: IGrid, serviceLocator?: ServiceLocator, filterSettings?: FilterSettings);
    create(args: {
        column: Column;
        target: HTMLElement;
        getOptrInstance: FlMenuOptrUI;
        localizeText: base.L10n;
        dialogObj: popups.Dialog;
    }): void;
    write(args: {
        column: Column;
        target: Element;
        parent: IGrid;
        filteredValue: number | string | Date | boolean;
    }): void;
    read(element: Element, column: Column, filterOptr: string, filterObj: Filter): void;
    private openPopup;
    private actionComplete;
    private destroy;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/caption-cell-renderer.d.ts
/**
 * GroupCaptionCellRenderer class which responsible for building group caption cell.
 *
 * @hidden
 */
export  class GroupCaptionCellRenderer extends CellRenderer implements ICellRenderer<Column> {
    cellUid: number;
    element: HTMLElement;
    /**
     * Function to render the cell content based on Column object.
     *
     * @param  {Cell} cell - specifies the cell
     * @param  {Object} data - specifies the GroupedData
     * @returns {Element} returns the element
     */
    render(cell: Cell<Column>, data: GroupedData): Element;
}
/**
 * GroupCaptionEmptyCellRenderer class which responsible for building group caption empty cell.
 *
 * @hidden
 */
export  class GroupCaptionEmptyCellRenderer extends CellRenderer implements ICellRenderer<Column> {
    element: HTMLElement;
    /**
     * Function to render the cell content based on Column object.
     *
     * @param {Cell} cell - specifies the cell
     * @param {Object} data - specifies the Object
     * @param {string} data.field - Defines the field
     * @param {string} data.key - Defines the key
     * @param {number} data.count - Defines the count
     * @returns {Element} returns the element
     */
    render(cell: Cell<Column>, data: {
        field: string;
        key: string;
        count: number;
    }): Element;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/cell-merge-renderer.d.ts
/**
 * `CellMergeRender` module.
 *
 * @hidden
 */
export  class CellMergeRender<T> {
    private serviceLocator;
    protected parent: IGrid;
    constructor(serviceLocator?: ServiceLocator, parent?: IGrid);
    render(cellArgs: QueryCellInfoEventArgs, row: Row<T>, i: number, td: Element): Element;
    private backupMergeCells;
    private generteKey;
    private splitKey;
    private containsKey;
    private getMergeCells;
    private setMergeCells;
    updateVirtualCells(rows: Row<Column>[]): Row<Column>[];
    private getIndexFromAllColumns;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/cell-renderer.d.ts
/**
 * CellRenderer class which responsible for building cell content.
 *
 * @hidden
 */
export  class CellRenderer implements ICellRenderer<Column> {
    element: HTMLElement;
    private rowChkBox;
    protected localizer: base.L10n;
    protected formatter: IValueFormatter;
    protected parent: IGrid;
    constructor(parent: IGrid, locator?: ServiceLocator);
    /**
     * Function to return the wrapper for the TD content
     *
     * @returns {string | Element} returns the string
     */
    getGui(): string | Element;
    /**
     * Function to format the cell value.
     *
     * @param  {Column} column - specifies the column
     * @param  {Object} value - specifies the value
     * @param  {Object} data - specifies the data
     * @returns {string} returns the format
     */
    format(column: Column, value: Object, data?: Object): string;
    evaluate(node: Element, cell: Cell<Column>, data: Object, attributes?: Object, fData?: Object, isEdit?: boolean): boolean;
    /**
     * Function to invoke the custom formatter available in the column object.
     *
     * @param  {Column} column - specifies the column
     * @param  {Object} value - specifies the value
     * @param  {Object} data - specifies the data
     * @returns {Object} returns the object
     */
    invokeFormatter(column: Column, value: Object, data: Object): Object;
    /**
     * Function to render the cell content based on Column object.
     *
     * @param {Cell<Column>} cell - specifies the cell
     * @param {Object} data - specifies the data
     * @param {Object} attributes - specifies the attributes
     * @param {boolean} isExpand - specifies the boolean for expand
     * @param {boolean} isEdit - specifies the boolean for edit
     * @returns {Element} returns the element
     */
    render(cell: Cell<Column>, data: Object, attributes?: {
        [x: string]: Object;
    }, isExpand?: boolean, isEdit?: boolean): Element;
    /**
     * Function to refresh the cell content based on Column object.
     *
     * @param {Element} td - specifies the element
     * @param {Cell<Column>} cell - specifies the cell
     * @param {Object} data - specifies the data
     * @param {Object} attributes - specifies the attribute
     * @returns {void}
     */
    refreshTD(td: Element, cell: Cell<Column>, data: Object, attributes?: {
        [x: string]: Object;
    }): void;
    private cloneAttributes;
    private refreshCell;
    /**
     * Function to specifies how the result content to be placed in the cell.
     *
     * @param {Element} node - specifies the node
     * @param {string|Element} innerHtml - specifies the innerHTML
     * @param {string} property - specifies the element
     * @returns {Element} returns the element
     */
    appendHtml(node: Element, innerHtml: string | Element, property?: string): Element;
    /**
     * @param {HTMLElement} node - specifies the node
     * @param {cell<Column>} cell - specifies the cell
     * @param {Object} attributes - specifies the attributes
     * @returns {void}
     * @hidden
     */
    setAttributes(node: HTMLElement, cell: Cell<Column>, attributes?: {
        [x: string]: Object;
    }): void;
    buildAttributeFromCell<Column>(node: HTMLElement, cell: Cell<Column>, isCheckBoxType?: boolean): void;
    getValue(field: string, data: Object, column: Column): Object;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/column-freeze-renderer.d.ts
/**
 * ColumnFreezeHeaderRenderer is used to freeze the columns header at right and left
 *
 * @hidden
 */
export  class ColumnFreezeHeaderRenderer extends FreezeRender implements IRenderer {
    private frozenRightHeader;
    private destEle;
    private evtHandlers;
    constructor(parent?: IGrid, locator?: ServiceLocator);
    addEventListener(): void;
    removeEventListener(): void;
    private setReorderElement;
    private refreshFrozenColumns;
    protected setWrapHeight(fRows: NodeListOf<HTMLElement>, mRows: NodeListOf<HTMLElement>, isModeChg: boolean, isContReset?: boolean, isStackedHdr?: boolean, frRows?: NodeListOf<HTMLElement>): void;
    protected refreshHeight(obj: {
        case: string;
        isModeChg?: boolean;
    }): void;
    /**
     * Function to hide header table column based on visible property
     *
     * @param {Column[]} columns - specifies the column[]
     * @returns {void}
     */
    setVisible(columns?: Column[]): void;
    protected filterRenderer(ele: Element, frozenColumn: number, total?: number): Element;
    refreshUI(): void;
    protected refreshFreeze(obj: {
        case: string;
        isModeChg?: boolean;
    }): void;
    private updateFrozenColGroup;
    private adjudtFilterBarCell;
    renderPanel(): void;
    renderTable(): void;
    protected rfshMovable(): void;
    protected refreshStackedHdrHgt(): void;
    private refreshFrozenRightStackedHdrHgt;
    /**
     * @returns {void}
     * @hidden
     */
    updateColgroup(): void;
    private renderRightFrozenPanelAlone;
    private renderLeftWithRightFrozenPanel;
    private renderFrozenRightTableAlone;
    private updateFrozenLeftColGroup;
    private updateMovableColGroup;
    private updateFrozenRightColGroup;
    private setFrozenRightHeader;
    getFrozenRightHeader(): Element;
}
/**
 * ColumnFreezeContentRenderer is used to freeze the columns content at right and left
 *
 * @hidden
 */
export  class ColumnFreezeContentRenderer extends FreezeContentRender implements IRenderer {
    private frozenRigthContent;
    private movableRowElements;
    private frozenRightRows;
    private frozenRightRowElements;
    private frzCount;
    private isColGroupRefresh;
    protected widthService: ColumnWidthService;
    constructor(parent?: IGrid, locator?: ServiceLocator);
    renderPanel(): void;
    renderTable(): void;
    protected appendScrollbar(frozen: Element, movable: Element, isRight?: boolean): void;
    private renderFrozenRightPanelAlone;
    private renderFrozenLeftWithRightPanel;
    private renderFrozenRightTableAlone;
    private renderFrozenLeftWithRightTable;
    private renderFrozenRightEmptyRowAlone;
    /**
     * @param {string} tableName - specfies the table name
     * @returns {HTMLElement} returns the element
     * @hidden
     */
    getFrozenHeader(tableName: string): HTMLElement;
    private renderFrozenLeftWithRightEmptyRow;
    private setFrozenRightContent;
    getFrozenRightContent(): Element;
    protected getHeaderColGroup(): Element;
    private getFrozenRightHeaderColGroup;
    setColGroup(colGroup: Element): Element;
    renderEmpty(tbody: HTMLElement): void;
    protected setHeightToContent(height: number): void;
    protected actionComplete(args: NotifyArgs): void;
    protected batchAdd(args: {
        name: string;
    }): void;
    /**
     * @param {freezeTable} tableName - specfies the table name
     * @returns {Element} - returns the element
     * @hidden
     */
    getTbody(tableName: freezeTable): Element;
    /**
     * @param {NotifyArgs} args - specfies the args
     * @param {freezeTable} tableName - specfies the freeze table
     * @returns {void}
     * @hidden
     */
    setIsFrozen(args: NotifyArgs, tableName: freezeTable): void;
    /**
     * @param {Element} tbody - specfies the element
     * @param {DocumentFragment | HTMLElement} frag - specfies the frag
     * @param {NotifyArgs} args - specfies the args
     * @param {freezeTable} tableName - specfies the tableName
     * @returns {void}
     * @hidden
     */
    appendContent(tbody: Element, frag: DocumentFragment | HTMLElement, args: NotifyArgs, tableName?: freezeTable): void;
    protected refreshHeight(): void;
    /**
     * @param {freezeTable} tableName - specifies the table
     * @returns {void}
     * @hidden
     */
    splitRows(tableName: freezeTable): void;
    /**
     * Get the Freeze pane movable content table data row elements
     *
     * @returns {Element} returns the element
     */
    getMovableRowElements(): Element[];
    /**
     * Get the Freeze pane frozen right content table data row elements
     *
     * @returns {Element} returns the Element
     */
    getFrozenRightRowElements(): Element[];
    /**
     * Get the frozen right row collection in the Freeze pane Grid.
     *
     * @returns {Row[] | HTMLCollectionOf<HTMLTableRowElement>} returns the row object
     */
    getFrozenRightRows(): Row<Column>[] | HTMLCollectionOf<HTMLTableRowElement>;
    /**
     * @param {number} index - specifies the index
     * @returns {Element} returns the element
     * @hidden
     */
    getFrozenRightRowByIndex(index: number): Element;
    /**
     * Get the Row collection in the Grid.
     *
     * @returns {Row[] | HTMLCollectionOf<HTMLTableRowElement>} returns the row object
     */
    getRows(): Row<Column>[] | HTMLCollectionOf<HTMLTableRowElement>;
    /**
     * Get the content table data row elements
     *
     * @returns {Element} returns the element
     */
    getRowElements(): Element[];
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/combobox-edit-cell.d.ts
/**
 * `ComboBoxEditCell` is used to handle ComboBoxEdit cell type editing.
 *
 * @hidden
 */
export  class ComboboxEditCell extends EditCellBase implements IEditCell {
    private column;
    write(args: {
        rowData: Object;
        element: Element;
        column: Column;
        row: HTMLElement;
        requestType: string;
    }): void;
    private finalValue;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/command-column-renderer.d.ts
/**
 * `CommandColumn` used to render command column in grid
 *
 * @hidden
 */
export  class CommandColumnRenderer extends CellRenderer implements ICellRenderer<Column> {
    private buttonElement;
    private unbounDiv;
    private childRefs;
    element: HTMLElement;
    constructor(parent: IGrid, locator?: ServiceLocator);
    private destroyButtons;
    /**
     * Function to render the cell content based on Column object.
     *
     * @param {cell<Column>} cell - specifies the cell
     * @param {Object} data - specifies the data
     * @param {Object} attributes - specifies the attributes
     * @param {boolean} isVirtualEdit - specifies virtual scroll editing
     * @returns {Element} returns the element
     */
    render(cell: Cell<Column>, data: Object, attributes?: {
        [x: string]: Object;
    }, isVirtualEdit?: boolean): Element;
    private renderButton;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/content-renderer.d.ts
/**
 * Content module is used to render grid content
 *
 * @hidden
 */
export  class ContentRender implements IRenderer {
    private contentTable;
    private contentPanel;
    protected rows: Row<Column>[];
    protected freezeRows: Row<Column>[];
    protected movableRows: Row<Column>[];
    protected rowElements: Element[];
    protected freezeRowElements: Element[];
    private index;
    /** @hidden */
    prevInfo: VirtualInfo;
    /** @hidden */
    currentInfo: VirtualInfo;
    /** @hidden */
    prevCurrentView: Object[];
    colgroup: Element;
    protected isLoaded: boolean;
    protected tbody: HTMLElement;
    private droppable;
    private viewColIndexes;
    private drop;
    private args;
    private infiniteCache;
    private isRemove;
    private pressedKey;
    /** @hidden */
    visibleRows: Row<Column>[];
    private visibleFrozenRows;
    protected rightFreezeRows: Row<Column>[];
    private isAddRows;
    private currentMovableRows;
    private initialPageRecords;
    private isInfiniteFreeze;
    private useGroupCache;
    private rafCallback;
    protected parent: IGrid;
    private serviceLocator;
    private ariaService;
    protected generator: IModelGenerator<Column>;
    /**
     * Constructor for content renderer module
     *
     * @param {IGrid} parent - specifies the Igrid
     * @param {ServiceLocator} serviceLocator - specifies the service locator
     */
    constructor(parent?: IGrid, serviceLocator?: ServiceLocator);
    private beforeCellFocused;
    /**
     * The function is used to render grid content div
     *
     * @returns {void}
     */
    renderPanel(): void;
    /**
     * The function is used to render grid content table
     *
     * @returns {void}
     */
    renderTable(): void;
    /**
     * The function is used to create content table elements
     *
     * @param {string} id - specifies the id
     * @returns {Element} returns the element
     * @hidden
     */
    createContentTable(id: string): Element;
    /**
     * Refresh the content of the Grid.
     *
     * @param {NotifyArgs} args - specifies the args
     * @returns {void}
     */
    refreshContentRows(args?: NotifyArgs): void;
    emptyVcRows(): void;
    appendContent(tbody: Element, frag: DocumentFragment, args: NotifyArgs, tableName?: string): void;
    private setRowsInLazyGroup;
    private setGroupCache;
    private ensureFrozenHeaderRender;
    private ensureVirtualFrozenHeaderRender;
    private checkCache;
    private setInfiniteVisibleRows;
    private getCurrentBlockInfiniteRecords;
    private getReorderedVFRows;
    private getReorderedRows;
    private virtualFrozenHdrRefresh;
    protected getInfiniteRows(): Row<Column>[];
    private getInfiniteMovableRows;
    /**
     * Get the content div element of grid
     *
     * @returns {Element} returns the element
     */
    getPanel(): Element;
    /**
     * Set the content div element of grid
     *
     * @param  {Element} panel - specifies the panel
     * @returns {void}
     */
    setPanel(panel: Element): void;
    /**
     * Get the content table element of grid
     *
     * @returns {Element} returns the element
     */
    getTable(): Element;
    /**
     * Set the content table element of grid
     *
     * @param  {Element} table - specifies the table
     * @returns {void}
     */
    setTable(table: Element): void;
    /**
     * Get the Movable Row collection in the Freeze pane Grid.
     *
     * @returns {Row[] | HTMLCollectionOf<HTMLTableRowElement>} returns the row
     */
    getRows(): Row<Column>[] | HTMLCollectionOf<HTMLTableRowElement>;
    /**
     * Get the Movable Row collection in the Freeze pane Grid.
     *
     * @returns {Row[] | HTMLCollectionOf<HTMLTableRowElement>} returns the row
     */
    getMovableRows(): Row<Column>[] | HTMLCollectionOf<HTMLTableRowElement>;
    /**
     * Get the content table data row elements
     *
     * @returns {Element} returns the element
     */
    getRowElements(): Element[];
    /**
     * Get the Freeze pane movable content table data row elements
     *
     * @returns {Element} returns the element
     */
    getMovableRowElements(): Element[];
    /**
     * Get the content table data row elements
     *
     * @param {Element[]} elements - specifies the elements
     * @returns {void}
     */
    setRowElements(elements: Element[]): void;
    /**
     * Get the header colgroup element
     *
     * @returns {Element} returns the element
     */
    getColGroup(): Element;
    /**
     * Set the header colgroup element
     *
     * @param {Element} colGroup - specifies the colgroup
     * @returns {Element} returns the element
     */
    setColGroup(colGroup: Element): Element;
    /**
     * Function to hide content table column based on visible property
     *
     * @param {Column[]} columns - specifies the column
     * @returns {void}
     */
    setVisible(columns?: Column[]): void;
    /**
     * @param {Object} tr - specifies the trr
     * @param {number} idx - specifies the idx
     * @param {string} displayVal - specifies the displayval
     * @param {Row<Column>} rows - specifies the rows
     * @returns {void}
     * @hidden
     */
    setDisplayNone(tr: Object, idx: number, displayVal: string, rows: Row<Column>[]): void;
    private infiniteRowVisibility;
    private colGroupRefresh;
    protected getHeaderColGroup(): Element;
    private initializeContentDrop;
    private droppableDestroy;
    private canSkip;
    getModelGenerator(): IModelGenerator<Column>;
    renderEmpty(tbody: HTMLElement): void;
    setSelection(uid: string, set: boolean, clearAll?: boolean): void;
    getRowByIndex(index: number): Element;
    private getInfiniteRowIndex;
    getVirtualRowIndex(index: number): number;
    getMovableRowByIndex(index: number): Element;
    private enableAfterRender;
    setRowObjects(rows: Row<Column>[]): void;
    /**
     * @param {NotifyArgs} args - specifies the args
     * @returns {void}
     * @hidden
     */
    immutableModeRendering(args?: NotifyArgs): void;
    private objectEqualityChecker;
    private getBatchEditedRecords;
    private refreshImmutableContent;
    private updateCellIndex;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/date-filter-ui.d.ts
/**
 * `datefilterui` render date column.
 *
 * @hidden
 */
export  class DateFilterUI implements IFilterMUI {
    private parent;
    protected locator: ServiceLocator;
    private inputElem;
    private value;
    private datePickerObj;
    private fltrSettings;
    private dialogObj;
    private dpOpen;
    constructor(parent?: IGrid, serviceLocator?: ServiceLocator, filterSettings?: FilterSettings);
    create(args: IFilterCreate): void;
    write(args: {
        column: Column;
        target: Element;
        parent: IGrid;
        filteredValue: number | string | Date | boolean;
    }): void;
    read(element: Element, column: Column, filterOptr: string, filterObj: Filter): void;
    private openPopup;
    private destroy;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/datepicker-edit-cell.d.ts
/**
 * `DatePickerEditCell` is used to handle datepicker cell type editing.
 *
 * @hidden
 */
export  class DatePickerEditCell extends EditCellBase implements IEditCell {
    edit: Edit;
    write(args: {
        rowData: Object;
        element: Element;
        column: Column;
        type: string;
        row: HTMLElement;
        requestType: string;
    }): void;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/default-edit-cell.d.ts
/**
 * `DefaultEditCell` is used to handle default cell type editing.
 *
 * @hidden
 */
export  class DefaultEditCell extends EditCellBase implements IEditCell {
    create(args: {
        column: Column;
        value: string;
        requestType: string;
    }): Element;
    read(element: Element): string;
    write(args: {
        rowData: Object;
        element: Element;
        column: Column;
        requestType: string;
    }): void;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/detail-expand-cell-renderer.d.ts
/**
 * ExpandCellRenderer class which responsible for building group expand cell.
 *
 * @hidden
 */
export  class DetailExpandCellRenderer extends CellRenderer implements ICellRenderer<Column> {
    element: HTMLElement;
    /**
     * Function to render the detail expand cell
     *
     * @param {Cell<Column>} cell - specifies the cell
     * @param {Object} data - specifies the data
     * @param {Object} attributes - specifies the attributes
     * @returns {Element} returns the element
     */
    render(cell: Cell<Column>, data: Object, attributes?: Object): Element;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/detail-header-indent-renderer.d.ts
/**
 * DetailHeaderIndentCellRenderer class which responsible for building detail header indent cell.
 *
 * @hidden
 */
export  class DetailHeaderIndentCellRenderer extends CellRenderer implements ICellRenderer<Column> {
    element: HTMLElement;
    /**
     * Function to render the detail indent cell
     *
     * @param  {Cell} cell - specifies the cell
     * @param  {Object} data - specifies the data
     * @returns {Element} returns the element
     */
    render(cell: Cell<Column>, data: Object): Element;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/dialog-edit-renderer.d.ts
/**
 * Edit render module is used to render grid edit row.
 *
 * @hidden
 */
export  class DialogEditRender {
    private parent;
    private l10n;
    private isEdit;
    private serviceLocator;
    private dialog;
    private dialogObj;
    /**
     * Constructor for render module
     *
     * @param {IGrid} parent - specifies the IGrid
     * @param {ServiceLocator} serviceLocator - specifies the serviceLocator
     */
    constructor(parent?: IGrid, serviceLocator?: ServiceLocator);
    private setLocaleObj;
    addNew(elements: Element[], args: {
        primaryKeyValue?: string[];
    }): void;
    update(elements: Element[], args: {
        primaryKeyValue?: string[];
    }): void;
    private createDialogHeader;
    private createDialog;
    private dialogCreated;
    private renderResponsiveDialog;
    private btnClick;
    private dialogClose;
    private destroy;
    private getDialogEditTemplateElement;
    private getEditElement;
    removeEventListener(): void;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/dropdown-edit-cell.d.ts
/**
 * `DropDownEditCell` is used to handle dropdown cell type editing.
 *
 * @hidden
 */
export  class DropDownEditCell extends EditCellBase implements IEditCell {
    private column;
    private flag;
    private ddCreated;
    private ddBeforeOpen;
    private ddOpen;
    private ddComplete;
    constructor(parent?: IGrid);
    write(args: {
        rowData: Object;
        element: Element;
        column: Column;
        row: HTMLElement;
        requestType: string;
        foreignKeyData?: Object[];
    }): void;
    private dropDownClose;
    private addEventListener;
    private removeEventListener;
    private dropdownCreated;
    private dropdownBeforeOpen;
    private ddActionComplete;
    private dropDownOpen;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/edit-cell-base.d.ts
/**
 * `DropDownEditCell` is used to handle dropdown cell type editing.
 *
 * @hidden
 */
export  class EditCellBase implements IEditCell {
    protected parent: IGrid;
    protected obj: dropdowns.AutoComplete | buttons.CheckBox | dropdowns.ComboBox | calendars.DatePicker | inputs.TextBox | dropdowns.DropDownList | inputs.MaskedTextBox | dropdowns.MultiSelect | calendars.TimePicker | buttons.Switch;
    protected removeEventHandler: Function;
    constructor(parent?: IGrid);
    create(args: {
        column: Column;
        value: string;
        type?: string;
        requestType?: string;
    }): Element;
    read(element: Element): string | boolean | Date;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/edit-renderer.d.ts
/**
 * Edit render module is used to render grid edit row.
 *
 * @hidden
 */
export  class EditRender {
    private editType;
    protected parent: IGrid;
    private renderer;
    protected serviceLocator: ServiceLocator;
    private focus;
    /**
     * Constructor for render module
     *
     * @param {IGrid} parent -specifies the IGrid
     * @param {ServiceLocator} serviceLocator - specifies the serviceLocator
     */
    constructor(parent?: IGrid, serviceLocator?: ServiceLocator);
    addNew(args: Object): void;
    update(args: Object): void;
    private convertWidget;
    private focusElement;
    getEditElements(args: {
        rowData?: Object;
        columnName?: string;
        requestType?: string;
        row?: Element;
        rowIndex?: number;
        isScroll?: boolean;
        isCustomFormValidation?: boolean;
    }): Object;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/expand-cell-renderer.d.ts
/**
 * ExpandCellRenderer class which responsible for building group expand cell.
 *
 * @hidden
 */
export  class ExpandCellRenderer extends IndentCellRenderer implements ICellRenderer<Column> {
    /**
     * Function to render the expand cell
     *
     * @param {Cell} cell - specifies the cell
     * @param {Object} data - specifies the data
     * @param {string} data.field - Defines the field
     * @param {string} data.key - Defines the key
     * @param {Object} attr - specifies the attribute
     * @param {boolean} isExpand - specifies isexpand
     * @returns {Element} returns the element
     */
    render(cell: Cell<Column>, data: {
        field: string;
        key: string;
    }, attr?: {
        [x: string]: string;
    }, isExpand?: boolean): Element;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/filter-cell-renderer.d.ts
/**
 * FilterCellRenderer class which responsible for building filter cell.
 *
 * @hidden
 */
export  class FilterCellRenderer extends CellRenderer implements ICellRenderer<Column> {
    element: HTMLElement;
    private dropOptr;
    /**
     * Function to return the wrapper for the TH content.
     *
     * @returns {string} returns the gui
     */
    getGui(): string | Element;
    /**
     * Function to render the cell content based on Column object.
     *
     * @param  {Cell} cell
     * @param  {Object} data
     */
    render(cell: Cell<Column>, data: Object): Element;
    /**
     * Function to specifies how the result content to be placed in the cell.
     *
     * @param {Element} node - specifies the node
     * @param {string|Element} innerHtml - specifies the innerHTML
     * @returns {Element} retruns the element
     */
    appendHtml(node: Element, innerHtml: string | Element): Element;
    private operatorIconRender;
    private internalEvent;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/filter-menu-operator.d.ts
/**
 * `filter operators` render boolean column.
 *
 * @hidden
 */
export  class FlMenuOptrUI {
    private parent;
    private customFilterOperators;
    private serviceLocator;
    private filterSettings;
    private dropOptr;
    private customOptr;
    private optrData;
    private dialogObj;
    private ddOpen;
    constructor(parent?: IGrid, customFltrOperators?: Object, serviceLocator?: ServiceLocator, filterSettings?: FilterSettings);
    /**
     * @param {Element} dlgConetntEle - specifies the content element
     * @param {Element} target - specifies the target
     * @param {Column} column - specifies the column
     * @param {popups.Dialog} dlgObj - specifies the dialog
     * @param {Object[]} operator - specifies the operator list
     * @returns {void}
     * @hidden
     */
    renderOperatorUI(dlgConetntEle: Element, target: Element, column: Column, dlgObj: popups.Dialog, operator?: {
        [key: string]: Object;
    }[]): void;
    private renderResponsiveDropDownList;
    private dropDownOpen;
    private dropSelectedVal;
    /**
     * @returns {string} returns the operator
     * @hidden
     */
    getFlOperator(): string;
    private destroyDropDownList;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/filter-menu-renderer.d.ts
/**
 * `filter menu` render boolean column.
 *
 * @hidden
 */
export  class FilterMenuRenderer {
    private parent;
    private filterObj;
    private serviceLocator;
    private dlgDiv;
    private l10n;
    dlgObj: popups.Dialog;
    private valueFormatter;
    private operator;
    private filterSettings;
    private customFilterOperators;
    private dropOptr;
    private flMuiObj;
    private col;
    private isDialogOpen;
    menuFilterBase: any;
    protected options: IFilterArgs;
    private maxHeight;
    private isMenuCheck;
    private currentDialogCreatedColumn;
    private colTypes;
    constructor(parent?: IGrid, filterSettings?: FilterSettings, serviceLocator?: ServiceLocator, customFltrOperators?: Object, fltrObj?: Filter);
    protected clearCustomFilter(col: Column): void;
    protected applyCustomFilter(args: {
        col: Column;
    }): void;
    private openDialog;
    private closeDialog;
    private renderDlgContent;
    private renderResponsiveDialog;
    private dialogCreated;
    /**
     * Function to notify filterDialogCreated and trigger actionComplete
     *
     * @returns {void}
     * @hidden
     */
    afterRenderFilterUI(): void;
    private renderFilterUI;
    private renderOperatorUI;
    private renderFlValueUI;
    private writeMethod;
    private filterBtnClick;
    private closeResponsiveDialog;
    private clearBtnClick;
    destroy(): void;
    /**
     * @returns {FilterUI} returns the filterUI
     * @hidden
     */
    getFilterUIInfo(): FilterUI;
    renderCheckBoxMenu(): HTMLElement;
    private actionComplete;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/footer-renderer.d.ts
/**
 * Footer module is used to render grid content
 *
 * @hidden
 */
export  class FooterRenderer extends ContentRender implements IRenderer {
    private locator;
    protected modelGenerator: SummaryModelGenerator;
    private aggregates;
    private freezeTable;
    private frTable;
    private frozenContent;
    private movableContent;
    private frozenRightContent;
    private evtHandlers;
    constructor(gridModule?: IGrid, serviceLocator?: ServiceLocator);
    /**
     * The function is used to render grid footer div
     *
     * @returns {void}
     */
    renderPanel(): void;
    /**
     * The function is used to render grid footer table
     *
     * @returns {void}
     */
    renderTable(): void;
    private renderSummaryContent;
    refresh(e?: {
        aggregates?: Object;
    }): void;
    private refreshHeight;
    refreshCol(): void;
    private onWidthChange;
    private onScroll;
    getColFromIndex(index?: number): HTMLElement;
    private columnVisibilityChanged;
    addEventListener(): void;
    removeEventListener(): void;
    private updateFooterTableWidth;
    refreshFooterRenderer(editedData: Object[]): void;
    getIndexByKey(data: object, ds: object[]): number;
    private getData;
    onAggregates(editedData: Object[]): Object;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/freeze-renderer.d.ts
/**
 * Freeze module is used to render grid content with frozen rows and columns
 *
 * @hidden
 */
export  class FreezeContentRender extends ContentRender implements IRenderer {
    private frozenContent;
    private movableContent;
    private idx;
    protected widthService: ColumnWidthService;
    protected isInitialRender: boolean;
    constructor(parent?: IGrid, locator?: ServiceLocator);
    addEventListener(): void;
    protected batchAdd(args: {
        name: string;
    }): void;
    protected setHeightToContent(height: number): void;
    protected actionComplete(args: NotifyArgs): void;
    removeEventListener(): void;
    renderPanel(): void;
    renderFrozenRigthPanel(): void;
    renderEmpty(tbody: HTMLElement): void;
    protected renderFrozenRightEmpty(tbody: HTMLElement): void;
    private setFrozenContent;
    /**
     * @param {Element} ele - specifies the element
     * @returns {void}
     * @hidden
     */
    setMovableContent(ele: Element): void;
    getFrozenContent(): Element;
    getMovableContent(): Element;
    getModelGenerator(): IModelGenerator<Column>;
    protected renderFrozenRightTable(): void;
    renderTable(): void;
    protected getScrollbarDisplay(): string;
    protected renderHorizontalScrollbar(className: string, display: string, isRight?: boolean): void;
    protected appendScrollbar(frozen: Element, movable: Element, isRight?: boolean): void;
    private setScrollbarHeight;
    /**
     * @param {NotifyArgs} args - specifies the NotifyArgs
     * @param {freezeTable} tableName - specifies the Freeze Table
     * @returns {void}
     * @hidden
     */
    setIsFrozen(args: NotifyArgs, tableName: freezeTable): void;
    /**
     * @param {Row<Column>[]} modelData - specifies the modeldata
     * @param {NotifyArgs} args - specifies the args
     * @returns {freezeTable} returns the freeze table
     * @hidden
     */
    setTbody(modelData: Row<Column>[], args: NotifyArgs): freezeTable;
    /**
     * @param {string} tableName - specifies the table name
     * @returns {void}
     * @hidden
     */
    splitRows(tableName: string): void;
    /**
     * @param {NotifyArgs} args - specifies the notifyargs
     * @param {string} tableName - specifies the tableName
     * @returns {void}
     * @hidden
     */
    renderNextFrozentPart(args: NotifyArgs, tableName: string): void;
    appendContent(tbody: Element, frag: DocumentFragment | HTMLElement, args: NotifyArgs, tableName?: string): void;
    refreshScrollOffset(): void;
    /**
     * @param {string} tableName - specifies the table name
     * @returns {HTMLElement} returns the Html element
     * @hidden
     */
    getFrozenHeader(tableName: string): HTMLElement;
    protected refreshTbody(tbody: Element): void;
    protected refreshHeight(): void;
    private setIdx;
    protected getIdx(): number;
    /**
     * @param {freezeTable} tableName - specifies the table name
     * @returns {Element} returns the element
     * @hidden
     */
    getTbody(tableName: freezeTable): Element;
}
export  class FreezeRender extends HeaderRender implements IRenderer {
    private frozenHeader;
    private movableHeader;
    private eventHandler;
    constructor(parent?: IGrid, locator?: ServiceLocator);
    addEventListener(): void;
    removeEventListener(): void;
    renderTable(): void;
    renderPanel(): void;
    renderFrozenRightPanel(): void;
    renderFrozenRightTable(): void;
    refreshUI(): void;
    protected refreshFrozenLeftUI(): void;
    protected rfshMovable(): void;
    protected addMovableFirstCls(): void;
    protected refreshFreeze(obj: {
        case: string;
        isModeChg?: boolean;
    }): void;
    protected refreshHeight(obj: {
        case: string;
        isModeChg?: boolean;
    }): void;
    private enableAfterRender;
    private updateResizeHandler;
    protected setWrapHeight(fRows: NodeListOf<HTMLElement>, mRows: NodeListOf<HTMLElement>, isModeChg: boolean, isContReset?: boolean, isStackedHdr?: boolean): void;
    protected setFrozenHeight(height?: number): void;
    protected refreshStackedHdrHgt(): void;
    protected getRowSpan(row: Element): {
        min: number;
        max: number;
    };
    protected updateStackedHdrRowHgt(idx: number, maxRowSpan: number, row: Element, rows: NodeListOf<Element>): void;
    private setFrozenHeader;
    /**
     * @param {Element} ele - specifies the element
     * @returns {void}
     * @hidden
     */
    setMovableHeader(ele: Element): void;
    protected getFrozenHeader(): Element;
    getMovableHeader(): Element;
    /**
     * @returns {void}
     * @hidden
     */
    updateColgroup(): void;
    protected filterRenderer(ele: Element, frozenColumn: number, total?: number): Element;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/group-lazy-load-renderer.d.ts
/**
 * GroupLazyLoadRenderer is used to perform lazy load grouping
 *
 * @hidden
 */
export  class GroupLazyLoadRenderer extends ContentRender implements IRenderer {
    private locator;
    private groupGenerator;
    private summaryModelGen;
    private captionModelGen;
    private rowRenderer;
    constructor(parent: IGrid, locator?: ServiceLocator);
    private childCount;
    private scrollData;
    private rowIndex;
    private rowObjectIndex;
    private isFirstChildRow;
    private isScrollDown;
    private isScrollUp;
    private uid1;
    private uid2;
    private uid3;
    private blockSize;
    private groupCache;
    private startIndexes;
    private captionCounts;
    private rowsByUid;
    private objIdxByUid;
    private initialGroupCaptions;
    private requestType;
    private scrollTopCache;
    /** @hidden */
    refRowsObj: {
        [x: number]: Row<Column>[];
    };
    /** @hidden */
    pageSize: number;
    /** @hidden */
    cacheMode: boolean;
    /** @hidden */
    cacheBlockSize: number;
    /** @hidden */
    ignoreAccent: boolean;
    /** @hidden */
    allowCaseSensitive: boolean;
    private eventListener;
    /**
     * @param {HTMLTableRowElement} tr - specifies the table row element
     * @returns {void}
     * @hidden
     */
    captionExpand(tr: HTMLTableRowElement): void;
    /**
     * @param {HTMLTableRowElement} tr - specifies the table row element
     * @returns {void}
     * @hidden
     */
    captionCollapse(tr: HTMLTableRowElement): void;
    /**
     * @returns {void}
     * @hidden */
    setLazyLoadPageSize(): void;
    /**
     * @returns {void}
     * @hidden */
    clearLazyGroupCache(): void;
    private clearCache;
    private refreshCaches;
    private getInitialCaptionIndexes;
    /**
     * @param {string} uid - specifies the uid
     * @returns {number} returns the row object uid
     * @hidden
     */
    getRowObjectIndexByUid(uid: string): number;
    private collapseShortcut;
    private getRowByUid;
    private actionBegin;
    private actionComplete;
    private resetRowMaintenance;
    private moveCells;
    private removeRows;
    private addClass;
    private getNextChilds;
    private lazyLoadHandler;
    private setRowIndexes;
    private getStartIndex;
    private prevCaptionCount;
    private setStartIndexes;
    private hasLastChildRow;
    private refreshCaptionRowCount;
    private render;
    /**
     * @param {Row<Column>} row - specifies the row
     * @param {number} index - specifies the index
     * @returns {void}
     * @hidden
     */
    maintainRows(row: Row<Column>, index?: number): void;
    private confirmRowRendering;
    private refreshRowObjects;
    private getAggregateByCaptionIndex;
    private getChildRowsByParentIndex;
    /**
     * @param {boolean} isReorder - specifies the isreorder
     * @returns {Row<Column>[]} returns the row
     * @hidden
     */
    initialGroupRows(isReorder?: boolean): Row<Column>[];
    /**
     * @returns {Row<Column>[]} retruns the row
     * @hidden */
    getRenderedRowsObject(): Row<Column>[];
    private getCacheRowsOnDownScroll;
    private getCacheRowsOnUpScroll;
    private scrollHandler;
    private scrollUpEndRowHandler;
    private scrollDownHandler;
    private getCurrentBlockEndIndex;
    private removeBlock;
    private scrollUpHandler;
    private findRowElements;
    private getRowElementByUid;
    private removeTopRows;
    private removeBottomRows;
    private setCache;
    private captionRowExpand;
    private scrollReset;
    private updateCurrentViewData;
    /**
     * @returns {Row<Column>[]} returns the row
     * @hidden */
    getGroupCache(): {
        [x: number]: Row<Column>[];
    };
    /**
     * @returns {Row<Column>[]} returns the row
     * @hidden */
    getRows(): Row<Column>[];
    /**
     * @returns {Element} returns the element
     * @hidden */
    getRowElements(): Element[];
    /**
     * @param {number} index - specifies the index
     * @returns {Element} returns the element
     * @hidden
     */
    getRowByIndex(index: number): Element;
    /**
     * Tucntion to set the column visibility
     *
     * @param {Column[]} columns - specifies the column
     * @returns {void}
     * @hidden
     */
    setVisible(columns?: Column[]): void;
    /**
     * Function to set display.
     *
     * @param {Object} tr - specifies the row object
     * @param {number} idx - specifies the index
     * @param {string} displayVal - specifies the display value
     * @param {Row<Column>[]} rows - specifies the array of rows
     * @param {number} oriIdx - specifies the index
     * @returns {void}
     * @hidden
     */
    setDisplayNone(tr: Object, idx: number, displayVal: string, rows: Row<Column>[], oriIdx?: number): void;
    private changeCaptionRow;
    private showAndHideCells;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/header-cell-renderer.d.ts
/**
 * HeaderCellRenderer class which responsible for building header cell content.
 *
 * @hidden
 */
export  class HeaderCellRenderer extends CellRenderer implements ICellRenderer<Column> {
    element: HTMLElement;
    private ariaService;
    private hTxtEle;
    private sortEle;
    private gui;
    private chkAllBox;
    /**
     * Function to return the wrapper for the TH content.
     *
     * @returns {string | Element} returns the element
     */
    getGui(): string | Element;
    /**
     * Function to render the cell content based on Column object.
     *
     * @param {Cell} cell - specifies the column
     * @param {Object} data - specifies the data
     * @param {object} attributes - specifies the aattributes
     * @returns {Element} returns the element
     */
    render(cell: Cell<Column>, data: Object, attributes?: {
        [x: string]: Object;
    }): Element;
    /**
     * Function to refresh the cell content based on Column object.
     *
     * @param  {Cell} cell - specifies the cell
     * @param  {Element} node - specifies the noe
     * @returns {Element} returns the element
     */
    refresh(cell: Cell<Column>, node: Element): Element;
    private clean;
    private prepareHeader;
    getValue(field: string, column: Column): Object;
    private extendPrepareHeader;
    /**
     * Function to specifies how the result content to be placed in the cell.
     *
     * @param  {Element} node - specifies the node
     * @param  {string|Element} innerHtml - specifies the innerHtml
     * @returns {Element} returns the element
     */
    appendHtml(node: Element, innerHtml: string | Element): Element;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/header-indent-renderer.d.ts
/**
 * HeaderIndentCellRenderer class which responsible for building header indent cell.
 *
 * @hidden
 */
export  class HeaderIndentCellRenderer extends CellRenderer implements ICellRenderer<Column> {
    element: HTMLElement;
    /**
     * Function to render the indent cell
     *
     * @param  {Cell} cell - specifies the cell
     * @param  {Object} data - specifies the data
     * @returns {Element} returns the element
     */
    render(cell: Cell<Column>, data: Object): Element;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/header-renderer.d.ts
/**
 * Content module is used to render grid content
 *
 * @hidden
 */
export  class HeaderRender implements IRenderer {
    private headerTable;
    private headerPanel;
    private colgroup;
    private caption;
    protected colDepth: number;
    private column;
    protected rows: Row<Column>[];
    private frzIdx;
    private notfrzIdx;
    private lockColsRendered;
    freezeReorder: boolean;
    draggable: base.Draggable;
    private isFirstCol;
    private isReplaceDragEle;
    private helper;
    private dragStart;
    private drag;
    private dragStop;
    private drop;
    protected parent: IGrid;
    protected serviceLocator: ServiceLocator;
    protected widthService: ColumnWidthService;
    protected ariaService: AriaService;
    /**
     * Constructor for header renderer module
     *
     * @param {IGrid} parent - specifies the IGrid
     * @param {ServiceLocator} serviceLocator - specifies the serviceLocator
     */
    constructor(parent?: IGrid, serviceLocator?: ServiceLocator);
    /**
     * The function is used to render grid header div
     *
     * @returns {void}
     */
    renderPanel(): void;
    /**
     * The function is used to render grid header div
     *
     * @returns {void}
     */
    renderTable(): void;
    /**
     * Get the header content div element of grid
     *
     * @returns {Element} returns the element
     */
    getPanel(): Element;
    /**
     * Set the header content div element of grid
     *
     * @param  {Element} panel - specifies the panel element
     * @returns {void}
     */
    setPanel(panel: Element): void;
    /**
     * Get the header table element of grid
     *
     * @returns {Element} returns the element
     */
    getTable(): Element;
    /**
     * Set the header table element of grid
     *
     * @param  {Element} table - specifies the table element
     * @returns {void}
     */
    setTable(table: Element): void;
    /**
     * Get the header colgroup element
     *
     * @returns {Element} returns the element
     */
    getColGroup(): Element;
    /**
     * Set the header colgroup element
     *
     * @param {Element} colGroup - specifies the colgroup
     * @returns {Element} returns the element
     */
    setColGroup(colGroup: Element): Element;
    /**
     * Get the header row element collection.
     *
     * @returns {Element[]} returns the element
     */
    getRows(): Row<Column>[] | HTMLCollectionOf<HTMLTableRowElement>;
    /**
     * The function is used to create header table elements
     *
     * @returns {Element} returns the element
     * @hidden
     */
    private createHeaderTable;
    /**
     * The function is used to create header table elements
     *
     * @param {Element} tableEle - specifies the table Element
     * @param {freezeTable} tableName - specifies the table name
     * @returns {Element} returns the element
     * @hidden
     */
    createHeader(tableEle?: Element, tableName?: freezeTable): Element;
    /**
     * @param {Element} tableEle - specifies the column
     * @returns {Element} returns the element
     * @hidden
     */
    createTable(tableEle?: Element): Element;
    private createHeaderContent;
    private updateColGroup;
    private ensureColumns;
    private getHeaderCells;
    private appendCells;
    private ensureStackedFrozen;
    private getStackedLockColsCount;
    private getColSpan;
    private getFrozenColSpan;
    private generateRow;
    private generateCell;
    /**
     * Function to hide header table column based on visible property
     *
     * @param {Column[]} columns - specifies the column
     * @returns {void}
     */
    setVisible(columns?: Column[]): void;
    private colPosRefresh;
    /**
     * Refresh the header of the Grid.
     *
     * @returns {void}
     */
    refreshUI(): void;
    toggleStackClass(div: Element): void;
    appendContent(table?: Element): void;
    private getCellCnt;
    protected initializeHeaderDrag(): void;
    protected initializeHeaderDrop(): void;
    private renderCustomToolbar;
    private updateCustomResponsiveToolbar;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/indent-cell-renderer.d.ts
/**
 * IndentCellRenderer class which responsible for building group indent cell.
 *
 * @hidden
 */
export  class IndentCellRenderer extends CellRenderer implements ICellRenderer<Column> {
    element: HTMLElement;
    /**
     * Function to render the indent cell
     *
     * @param  {Cell} cell - specifies the cell
     * @param  {Object} data - specifies the data
     * @returns {Element} returns the element
     */
    render(cell: Cell<Column>, data: Object): Element;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/inline-edit-renderer.d.ts
/**
 * Edit render module is used to render grid edit row.
 *
 * @hidden
 */
export  class InlineEditRender {
    private parent;
    private isEdit;
    /**
     * Constructor for render module
     *
     * @param {IGrid} parent - returns the IGrid
     */
    constructor(parent?: IGrid);
    addNew(elements: Object, args: {
        row?: Element;
        rowData?: Object;
        isScroll?: boolean;
    }): void;
    private renderFrozenRightForm;
    private renderMovableform;
    private updateFreezeEdit;
    private getFreezeRightRow;
    private getFreezeRow;
    update(elements: Object, args: {
        row?: Element;
        rowData?: Object;
    }): void;
    private refreshFreezeEdit;
    private refreshEditForm;
    private updateFrozenRightCont;
    private updateFrozenCont;
    private renderRightFrozen;
    private renderMovable;
    private getEditElement;
    removeEventListener(): void;
    private appendChildren;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/inputmask-edit-cell.d.ts
/**
 * `MaskedTextBoxCellEdit` is used to handle masked input cell type editing.
 *
 * @hidden
 */
export  class MaskedTextBoxCellEdit extends EditCellBase implements IEditCell {
    private column;
    write(args: {
        rowData: Object;
        element: Element;
        column: Column;
        row: HTMLElement;
        requestType: string;
    }): void;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/multiselect-edit-cell.d.ts
/**
 * `MultiSelectEditCell` is used to handle multiselect dropdown cell type editing.
 *
 * @hidden
 */
export  class MultiSelectEditCell extends EditCellBase implements IEditCell {
    private column;
    write(args: {
        rowData: Object;
        element: Element;
        column: Column;
        row: HTMLElement;
        requestType: string;
    }): void;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/number-filter-ui.d.ts
/**
 * `numberfilterui` render number column.
 *
 * @hidden
 */
export  class NumberFilterUI implements IFilterMUI {
    private parent;
    protected serviceLocator: ServiceLocator;
    private instance;
    private value;
    private numericTxtObj;
    private filterSettings;
    private filter;
    constructor(parent?: IGrid, serviceLocator?: ServiceLocator, filterSettings?: FilterSettings);
    private keyEventHandler;
    create(args: IFilterCreate): void;
    write(args: {
        column: Column;
        target: Element;
        parent: IGrid;
        filteredValue: number | string | Date | boolean;
    }): void;
    read(element: Element, column: Column, filterOptr: string, filterObj: Filter): void;
    private destroy;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/numeric-edit-cell.d.ts
/**
 * `NumericEditCell` is used to handle numeric cell type editing.
 *
 * @hidden
 */
export  class NumericEditCell implements IEditCell {
    private parent;
    private obj;
    private instances;
    constructor(parent?: IGrid);
    private keyEventHandler;
    create(args: {
        column: Column;
        value: string;
    }): Element;
    read(element: Element): number;
    write(args: {
        rowData: Object;
        element: Element;
        column: Column;
        row: HTMLElement;
        requestType: string;
    }): void;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/render.d.ts
/**
 * Content module is used to render grid content
 *
 * @hidden
 */
export  class Render {
    private isColTypeDef;
    private parent;
    private locator;
    private headerRenderer;
    private contentRenderer;
    private l10n;
    data: Data;
    private ariaService;
    private renderer;
    private emptyGrid;
    private isLayoutRendered;
    private counter;
    /**
     * Constructor for render module
     *
     * @param {IGrid} parent - specifies the IGrid
     * @param {ServiceLocator} locator - specifies the serviceLocator
     */
    constructor(parent?: IGrid, locator?: ServiceLocator);
    /**
     * To initialize grid header, content and footer rendering
     *
     * @returns {void}
     */
    render(): void;
    /**
     * Refresh the entire Grid.
     *
     * @param {NotifyArgs} e - specifies the NotifyArgs
     * @returns {void}
     */
    refresh(e?: NotifyArgs): void;
    /**
     * @returns {void}
     * @hidden
     */
    resetTemplates(): void;
    private refreshComplete;
    /**
     * The function is used to refresh the dataManager
     *
     * @param {NotifyArgs} args - specifies the args
     * @returns {void}
     */
    private refreshDataManager;
    private getFData;
    private isNeedForeignAction;
    private foreignKey;
    private sendBulkRequest;
    private dmSuccess;
    private dmFailure;
    /**
     * Render empty row to Grid which is used at the time to represent to no records.
     *
     * @returns {void}
     * @hidden
     */
    renderEmptyRow(): void;
    emptyRow(isTrigger?: boolean): void;
    private dynamicColumnChange;
    private updateColumnType;
    /**
     * @param {ReturnType} e - specifies the return type
     * @param {NotifyArgs} args - specifies the Notifyargs
     * @returns {void}
     * @hidden
     */
    dataManagerSuccess(e: ReturnType, args?: NotifyArgs): void;
    /**
     * @param {object} e - specifies the object
     * @param {Object[]} e.result - specifies the result
     * @param {NotifyArgs} args - specifies the args
     * @returns {void}
     * @hidden
     */
    dataManagerFailure(e: {
        result: Object[];
    }, args: NotifyArgs): void;
    private setRowCount;
    private isInfiniteEnd;
    private updatesOnInitialRender;
    private iterateComplexColumns;
    private buildColumns;
    private instantiateRenderer;
    private addEventListener;
    /**
     * @param {ReturnType} e - specifies the Return type
     * @returns {Promise<Object>} returns the object
     * @hidden
     */
    validateGroupRecords(e: ReturnType): Promise<Object>;
    private getPredicate;
    private updateGroupInfo;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/responsive-dialog-renderer.d.ts
/**
 *
 * The `ResponsiveDialogRenderer` module is used to render the responsive dialogs.
 */
export  class ResponsiveDialogRenderer implements IAction {
    private parent;
    private serviceLocator;
    private customResponsiveDlg;
    private customFilterDlg;
    private customColumnDiv;
    private filterParent;
    private customExcelFilterParent;
    private sortedCols;
    private isSortApplied;
    private filterClearBtn;
    private saveBtn;
    private backBtn;
    private sortPredicate;
    private filteredCol;
    private isCustomDlgRender;
    private isFiltered;
    private isRowResponsive;
    private isDialogClose;
    private onActionCompleteFn;
    private evtHandlers;
    /** @hidden */
    action: ResponsiveDialogAction;
    /** @hidden */
    isCustomDialog: boolean;
    constructor(parent?: IGrid, serviceLocator?: ServiceLocator);
    addEventListener(): void;
    private customExFilterClose;
    private renderCustomFilterDiv;
    private renderResponsiveContextMenu;
    private refreshCustomFilterClearBtn;
    private refreshCustomFilterOkBtn;
    private renderResponsiveContent;
    private getSortedFieldsAndDirections;
    private sortButtonClickHandler;
    private resetSortButtons;
    private setSortedCols;
    private getCurrentSortedFields;
    private customFilterColumnClickHandler;
    /**
     * Function to show the responsive dialog
     *
     * @param {Column} col - specifies the column
     * @returns {void}
     */
    showResponsiveDialog(col?: Column): void;
    private setTopToChildDialog;
    private renderCustomFilterDialog;
    private getDialogOptions;
    private renderResponsiveDialog;
    private dialogCreated;
    private dialogOpen;
    private beforeDialogClose;
    private sortColumn;
    private getHeaderTitle;
    private getDialogName;
    private getButtonText;
    /**
     * Function to render the responsive header
     *
     * @param {Column} col - specifies the column
     * @param {ResponsiveDialogArgs} args - specifies the responsive dialog arguments
     * @param {boolean} isCustomFilter - specifies whether it is custom filter or not
     * @returns {HTMLElement | string} returns the html element or string
     */
    renderResponsiveHeader(col: Column, args?: ResponsiveDialogArgs, isCustomFilter?: boolean): HTMLElement | string;
    private filterClear;
    private dialogHdrBtnClickHandler;
    private closeCustomDialog;
    private destroyCustomFilterDialog;
    private closeCustomFilter;
    private removeCustomDlgFilterEle;
    private keyHandler;
    private editComplate;
    removeEventListener(): void;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/row-drag-drop-renderer.d.ts
/**
 * ExpandCellRenderer class which responsible for building group expand cell.
 *
 * @hidden
 */
export  class RowDragDropRenderer extends CellRenderer implements ICellRenderer<Column> {
    element: HTMLElement;
    /**
     * Function to render the detail expand cell
     *
     * @param {Cell<Column>} cell - specifies the cell
     * @param {Object} data - specifies the data
     * @returns {Element} returns the element
     */
    render(cell: Cell<Column>, data: Object): Element;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/row-drag-header-indent-render.d.ts
/**
 * DetailHeaderIndentCellRenderer class which responsible for building detail header indent cell.
 *
 * @hidden
 */
export  class RowDragDropHeaderRenderer extends CellRenderer implements ICellRenderer<Column> {
    element: HTMLElement;
    /**
     * Function to render the detail indent cell
     *
     * @param  {Cell} cell - specifies the cell
     * @param  {Object} data - specifies the data
     * @returns {Element} returns the element
     */
    render(cell: Cell<Column>, data: Object): Element;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/row-renderer.d.ts
/**
 * RowRenderer class which responsible for building row content.
 *
 * @hidden
 */
export  class RowRenderer<T> implements IRowRenderer<T> {
    element: Element;
    private cellRenderer;
    private serviceLocator;
    private cellType;
    private isSpan;
    protected parent: IGrid;
    constructor(serviceLocator?: ServiceLocator, cellType?: CellType, parent?: IGrid);
    /**
     * Function to render the row content based on Column[] and data.
     *
     * @param {Row<T>} row - specifies the row
     * @param {Column[]} columns - specifies the columns
     * @param {Object} attributes - specifies the attributes
     * @param {string} rowTemplate - specifies the rowTemplate
     * @param {Element} cloneNode - specifies the cloneNode
     * @returns {Element} returns the element
     */
    render(row: Row<T>, columns: Column[], attributes?: {
        [x: string]: Object;
    }, rowTemplate?: string, cloneNode?: Element): Element;
    /**
     * Function to refresh the row content based on Column[] and data.
     *
     * @param {Row<T>} row - specifies the row
     * @param {Column[]} columns - specifies the column
     * @param {boolean} isChanged - specifies isChanged
     * @param {Object} attributes - specifies the attributes
     * @param {string} rowTemplate - specifies the rowTemplate
     * @returns {void}
     */
    refresh(row: Row<T>, columns: Column[], isChanged: boolean, attributes?: {
        [x: string]: Object;
    }, rowTemplate?: string): void;
    private refreshRow;
    private refreshMergeCells;
    /**
     * Function to check and add alternative row css class.
     *
     * @param {Element} tr - specifies the tr element
     * @param {Row<T>} row - specifies the row
     * @returns {void}
     */
    buildAttributeFromRow(tr: Element, row: Row<T>): void;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/stacked-cell-renderer.d.ts
/**
 * StackedHeaderCellRenderer class which responsible for building stacked header cell content.
 *
 * @hidden
 */
export  class StackedHeaderCellRenderer extends CellRenderer implements ICellRenderer<Column> {
    element: HTMLElement;
    /**
     * Function to render the cell content based on Column object.
     *
     * @param {Cell<Column>} cell - specifies the cell
     * @param {Object} data - specifies the data
     * @param {object} attributes - specifies the attributes
     * @returns {Element} returns the element
     */
    render(cell: Cell<Column>, data: Object, attributes?: {
        [x: string]: Object;
    }): Element;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/string-filter-ui.d.ts
/**
 * `string filterui` render string column.
 *
 * @hidden
 */
export  class StringFilterUI implements IFilterMUI {
    private parent;
    protected serLocator: ServiceLocator;
    private instance;
    private value;
    actObj: dropdowns.AutoComplete;
    private filterSettings;
    private filter;
    private dialogObj;
    private acOpen;
    private acFocus;
    private acComplete;
    constructor(parent?: IGrid, serviceLocator?: ServiceLocator, filterSettings?: FilterSettings);
    create(args: IFilterCreate): void;
    private processDataOperation;
    private getAutoCompleteOptions;
    write(args: {
        column: Column;
        target: Element;
        parent: IGrid;
        filteredValue: number | string | Date | boolean;
    }): void;
    read(element: Element, column: Column, filterOptr: string, filterObj: Filter): void;
    private openPopup;
    private focus;
    private actionComplete;
    private destroy;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/summary-cell-renderer.d.ts
/**
 * SummaryCellRenderer class which responsible for building summary cell content.
 *
 * @hidden
 */
export  class SummaryCellRenderer extends CellRenderer implements ICellRenderer<AggregateColumnModel> {
    element: HTMLElement;
    getValue(field: string, data: Object, column: AggregateColumnModel): Object;
    evaluate(node: Element, cell: Cell<AggregateColumnModel>, data: Object, attributes?: Object): boolean;
    refreshWithAggregate(node: Element, cell: Cell<AggregateColumnModel>): Function;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/template-edit-cell.d.ts
/**
 * `TemplateEditCell` is used to handle template cell.
 *
 * @hidden
 */
export  class TemplateEditCell implements IEditCell {
    private parent;
    constructor(parent?: IGrid);
    read(element: Element, value: string): string;
    write(): void;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/timepicker-edit-cell.d.ts
/**
 * `TimePickerEditCell` is used to handle Timepicker cell type editing.
 *
 * @hidden
 */
export  class TimePickerEditCell extends EditCellBase implements IEditCell {
    write(args: {
        rowData: Object;
        element: Element;
        column: Column;
        type: string;
        row: HTMLElement;
        requestType: string;
    }): void;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/toggleswitch-edit-cell.d.ts
/**
 * `ToggleEditCell` is used to handle boolean cell type editing.
 *
 * @hidden
 */
export  class ToggleEditCell extends EditCellBase implements IEditCell {
    private editRow;
    private editType;
    private activeClasses;
    create(args: {
        column: Column;
        value: string;
        type: string;
    }): Element;
    read(element: Element): boolean;
    write(args: {
        rowData: Object;
        element: Element;
        column: Column;
        requestType: string;
        row: Element;
    }): void;
    private switchModeChange;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/virtual-content-renderer.d.ts
/**
 * VirtualContentRenderer
 *
 * @hidden
 */
export  class VirtualContentRenderer extends ContentRender implements IRenderer {
    private count;
    private maxPage;
    private maxBlock;
    private prevHeight;
    /** @hidden */
    observer: InterSectionObserver;
    /**
     * @hidden
     */
    vgenerator: VirtualRowModelGenerator;
    /** @hidden */
    header: VirtualHeaderRenderer;
    /** @hidden */
    startIndex: number;
    private preStartIndex;
    private preEndIndex;
    /** @hidden */
    startColIndex: number;
    /** @hidden */
    endColIndex: number;
    private locator;
    private preventEvent;
    private actions;
    /** @hidden */
    content: HTMLElement;
    /** @hidden */
    movableContent: HTMLElement;
    /** @hidden */
    offsets: {
        [x: number]: number;
    };
    private tmpOffsets;
    /** @hidden */
    virtualEle: VirtualElementHandler;
    private offsetKeys;
    private isFocused;
    private isSelection;
    private selectedRowIndex;
    private isBottom;
    private rndrCount;
    /** @hidden */
    activeKey: string;
    /** @hidden */
    rowIndex: number;
    /** @hidden */
    blzRowIndex: number;
    /** @hidden */
    blazorDataLoad: boolean;
    private cellIndex;
    private empty;
    private isAdd;
    private isCancel;
    /** @hidden */
    requestType: string;
    private editedRowIndex;
    private requestTypes;
    private isNormaledit;
    /** @hidden */
    virtualData: Object;
    private emptyRowData;
    private vfColIndex;
    private frzIdx;
    private initialRowTop;
    private isContextMenuOpen;
    private selectRowIndex;
    private isSelectionScroll;
    private validationCheck;
    private validationCol;
    constructor(parent: IGrid, locator?: ServiceLocator);
    renderTable(): void;
    renderEmpty(tbody: HTMLElement): void;
    getReorderedFrozenRows(args: NotifyArgs): Row<Column>[];
    private scrollListener;
    private block;
    private getInfoFromView;
    private setKeyboardNavIndex;
    ensureBlocks(info: VirtualInfo): number[];
    appendContent(target: HTMLElement, newChild: DocumentFragment | HTMLElement, e: NotifyArgs): void;
    private validationScrollLeft;
    private ensureSelectedRowPosition;
    private checkFirstBlockColIndexes;
    private focusCell;
    private restoreEdit;
    private getVirtualEditedData;
    private restoreAdd;
    protected onDataReady(e?: NotifyArgs): void;
    /**
     * @param {number} height - specifies the height
     * @returns {void}
     * @hidden
     */
    setVirtualHeight(height?: number): void;
    private getPageFromTop;
    protected getTranslateY(sTop: number, cHeight: number, info?: VirtualInfo, isOnenter?: boolean): number;
    getOffset(block: number): number;
    private onEntered;
    private dataBound;
    private rowSelected;
    private isLastBlockRow;
    private refreshMaxPage;
    private setVirtualPageQuery;
    eventListener(action: string): void;
    private scrollToEdit;
    private refreshCells;
    private resetVirtualFocus;
    /**
     * @param {Object} data - specifies the data
     * @param {Object} data.virtualData -specifies the data
     * @param {boolean} data.isAdd - specifies isAdd
     * @param {boolean} data.isCancel - specifies boolean in cancel
     * @param {boolean} data.isScroll - specifies boolean for scroll
     * @returns {void}
     * @hidden
     */
    getVirtualData(data: {
        virtualData: Object;
        isAdd: boolean;
        isCancel: boolean;
        isScroll: boolean;
    }): void;
    private selectRowOnContextOpen;
    private editCancel;
    private editSuccess;
    private updateCurrentViewData;
    private actionBegin;
    private virtualCellFocus;
    private editActionBegin;
    private refreshCache;
    private actionComplete;
    private resetIsedit;
    private scrollAfterEdit;
    private createEmptyRowdata;
    private addActionBegin;
    /**
     * @param {number} index - specifies the index
     * @returns {Object} returns the object
     * @hidden
     */
    getRowObjectByIndex(index: number): Object;
    getBlockSize(): number;
    getBlockHeight(): number;
    isEndBlock(index: number): boolean;
    getGroupedTotalBlocks(): number;
    getTotalBlocks(): number;
    getColumnOffset(block: number): number;
    getModelGenerator(): IModelGenerator<Column>;
    private resetScrollPosition;
    private onActionBegin;
    getRows(): Row<Column>[];
    getRowByIndex(index: number): Element;
    getMovableVirtualRowByIndex(index: number): Element;
    getFrozenRightVirtualRowByIndex(index: number): Element;
    getRowCollection(index: number, isMovable: boolean, isRowObject?: boolean, isFrozenRight?: boolean): Element | Object;
    getVirtualRowIndex(index: number): number;
    /**
     * @returns {void}
     * @hidden */
    refreshOffsets(): void;
    refreshVirtualElement(): void;
    setVisible(columns?: Column[]): void;
    private selectVirtualRow;
    private isRowInView;
}
/**
 * @hidden
 */
export  class VirtualHeaderRenderer extends HeaderRender implements IRenderer {
    virtualEle: VirtualElementHandler;
    /** @hidden */
    gen: VirtualRowModelGenerator;
    movableTbl: Element;
    private isMovable;
    constructor(parent: IGrid, locator: ServiceLocator);
    renderTable(): void;
    appendContent(table: Element): void;
    refreshUI(): void;
    setVisible(columns?: Column[]): void;
    private setFrozenTable;
    private setDisplayNone;
}
/**
 * @hidden
 */
export  class VirtualElementHandler {
    wrapper: HTMLElement;
    placeholder: HTMLElement;
    content: HTMLElement;
    table: HTMLElement;
    movableWrapper: HTMLElement;
    movablePlaceholder: HTMLElement;
    movableTable: HTMLElement;
    movableContent: HTMLElement;
    renderWrapper(height?: number): void;
    renderPlaceHolder(position?: string): void;
    renderFrozenWrapper(height?: number): void;
    renderFrozenPlaceHolder(): void;
    renderMovableWrapper(height?: number): void;
    renderMovablePlaceHolder(): void;
    adjustTable(xValue: number, yValue: number): void;
    adjustMovableTable(xValue: number, yValue: number): void;
    setMovableWrapperWidth(width: string, full?: boolean): void;
    setMovableVirtualHeight(height?: number, width?: string): void;
    setWrapperWidth(width: string, full?: boolean): void;
    setVirtualHeight(height?: number, width?: string): void;
    setFreezeWrapperWidth(wrapper: HTMLElement, width: string, full?: boolean): void;
}
//node_modules/@syncfusion/ej2-grids/src/grid/renderer/virtual-freeze-renderer.d.ts
/**
 * VirtualFreezeRenderer is used to render the virtual table within the frozen and movable content table
 *
 * @hidden
 */
export  class VirtualFreezeRenderer extends FreezeContentRender implements IRenderer {
    protected serviceLoc: ServiceLocator;
    rowModelGenerator: IModelGenerator<Column>;
    constructor(parent?: IGrid, locator?: ServiceLocator);
    protected freezeRowGenerator: FreezeRowModelGenerator;
    /** @hidden */
    virtualRenderer: VirtualContentRenderer;
    protected firstPageRecords: Object[];
    protected scrollbar: HTMLElement;
    /** @hidden */
    frzRows: Row<Column>[];
    /** @hidden */
    mvblRows: Row<Column>[];
    /** @hidden */
    frRows: Row<Column>[];
    eventListener(action: string): void;
    protected actionComplete(args: NotifyArgs): void;
    private refreshVirtualFrozenRows;
    private getVirtualData;
    private setFreezeSelection;
    /**
     * @returns {void}
     * @hidden
     */
    renderTable(): void;
    /**
     * @param {HTMLElement} target - specifies the target
     * @param {DocumentFragment} newChild - specifies the newChild
     * @param {NotifyArgs} e - specifies the notifyargs
     * @returns {void}
     * @hidden
     */
    appendContent(target: HTMLElement, newChild: DocumentFragment, e: NotifyArgs): void;
    /**
     * @param {Object[]} data - specifies the data
     * @param {NotifyArgs} notifyArgs - specifies the notifyargs
     * @returns {Row<Column>[]} returns the row
     * @hidden
     */
    generateRows(data: Object[], notifyArgs?: NotifyArgs): Row<Column>[];
    /**
     * @param {number} index - specifies the index
     * @returns {Element} returns the element
     * @hidden
     */
    getRowByIndex(index: number): Element;
    /**
     * @param {number} index - specifies the index
     * @returns {Element} returns the element
     * @hidden
     */
    getMovableRowByIndex(index: number): Element;
    private collectRows;
    /**
     * @returns {HTMLCollection} returns the Htmlcollection
     * @hidden
     */
    getMovableRows(): Row<Column>[] | HTMLCollectionOf<HTMLTableRowElement>;
    /**
     * @returns {HTMLCollectionOf<HTMLTableRowElement>} returns the html collection
     * @hidden
     */
    getRows(): Row<Column>[] | HTMLCollectionOf<HTMLTableRowElement>;
    /**
     * @returns {Element} returns the element
     * @hidden
     */
    getColGroup(): Element;
    /**
     * @param {NotifyArgs} args - specifies the args
     * @returns {Row<Column>[]} returns the row
     * @hidden
     */
    getReorderedFrozenRows(args: NotifyArgs): Row<Column>[];
    protected isXaxis(): boolean;
    protected getHeaderCells(): Element[];
    protected getVirtualFreezeHeader(): Element;
    protected ensureFrozenCols(columns: Column[]): Column[];
    /**
     * @param {number} index - specifies the index
     * @returns {object} returns the object
     * @hidden
     */
    getRowObjectByIndex(index: number): Object;
    /**
     * Set the header colgroup element
     *
     * @param {Element} colGroup - specifies the colgroup
     * @returns {Element} returns the element
     */
    setColGroup(colGroup: Element): Element;
}
/**
 * VirtualFreezeHdrRenderer is used to render the virtual table within the frozen and movable header table
 *
 * @hidden
 */
export  class VirtualFreezeHdrRenderer extends FreezeRender implements IRenderer {
    protected serviceLoc: ServiceLocator;
    constructor(parent?: IGrid, locator?: ServiceLocator);
    virtualHdrRenderer: VirtualHeaderRenderer;
    /**
     * @returns {void}
     * @hidden
     */
    renderTable(): void;
    protected rfshMovable(): void;
}
/**
 * @param {NotifyArgs} args - specifies the args
 * @param {Object[]} data - specifies the data
 * @param {number[]}selectedIdx - specifies the selected index
 * @param {IGrid} parent - specifies the IGrid
 * @param {IModelGenerator} rowModelGenerator - specifies the rowModeGenerator
 * @param {ServiceLocator} locator - specifies the locator
 * @param {VirtualContentRenderer} virtualRenderer - specifies the virtual renderer
 * @param {VirtualFreezeRenderer} instance - specifies the instance
 * @returns {void}
 * @hidden
 */
export  function renderFrozenRows(args: NotifyArgs, data: Object[], selectedIdx: number[], parent: IGrid, rowModelGenerator: IModelGenerator<Column>, locator: ServiceLocator, virtualRenderer: VirtualContentRenderer, instance: VirtualFreezeRenderer | ColumnVirtualFreezeRenderer): void;
/**
 * @param {Row<Column>[]} data - specifies the data
 * @param {freezeTable} tableName -specifies the table
 * @param {IGrid} parent - specifies the IGrid
 * @returns {Row<Column>[]} returns the row
 * @hidden
 */
export  function splitCells(data: Row<Column>[], tableName: freezeTable, parent: IGrid): Row<Column>[];
/**
 * @param {freezeTable} tableName - specifies the freeze tabel
 * @param {VirtualContentRenderer} virtualRenderer - specifies the virtual renderer
 * @param {IGrid} parent - specifies the IGrid
 * @returns {Row<Column>[]} returns the row
 * @hidden
 */
export  function collectRows(tableName: freezeTable, virtualRenderer: VirtualContentRenderer, parent: IGrid): Row<Column>[];
/**
 * @param {object} args - specifies the args
 * @param {string} args.uid - specifirs the uid
 * @param {boolean} args.set - specifies the set
 * @param {boolean} args.clearAll - specifies the boolean to clearall
 * @param {VirtualContentRenderer} virtualRenderer - specifies the virtual renderer
 * @returns {void}
 * @hidden
 */
export  function setFreezeSelectionAction(args: {
    uid: string;
    set: boolean;
    clearAll?: boolean;
}, virtualRenderer: VirtualContentRenderer): void;
/**
 * @param {Object} args - specifies the args
 * @param {string} args.uid - specifirs the uid
 * @param {boolean} args.set - specifies the set
 * @param {boolean} args.clearAll - specifies the boolean to clearall
 * @param {Row<Column>[]} cache - specifies the cache
 * @returns {void}
 * @hidden
 */
export  function selectFreezeRows(args: {
    uid: string;
    set: boolean;
    clearAll?: boolean;
}, cache: Row<Column>[]): void;
/**
 * @param {VirtualContentRenderer} virtualRenderer - specifies the virtual renderer
 * @param {ColumnWidthService} widthService - specifies the width service
 * @param {HTMLElement} target - specifies the target
 * @param {DocumentFragment} newChild - specifies the newchild
 * @param {NotifyArgs} e - specifies the notifyargs
 * @returns {void}
 * @hidden
 */
export  function appendContent(virtualRenderer: VirtualContentRenderer, widthService: ColumnWidthService, target: HTMLElement, newChild: DocumentFragment, e: NotifyArgs): void;
/**
 * @param {VirtualContentRenderer} virtualRenderer - specifies the virtual renderer
 * @param {object[]} data - specifies the data
 * @param {NotifyArgs} notifyArgs - specifies the notifyargs
 * @param {FreezeRowModelGenerator} freezeRowGenerator - specifies the freeze row generator
 * @param {IGrid} parent - specifies the IGrid
 * @returns {Row<Column>[]} returns the row
 * @hidden
 */
export  function generateRows(virtualRenderer: VirtualContentRenderer, data: Object[], notifyArgs: NotifyArgs, freezeRowGenerator: FreezeRowModelGenerator, parent: IGrid): Row<Column>[];
/**
 * @param {NotifyArgs} args -specifies the args
 * @param {VirtualContentRenderer} virtualRenderer - specifies the virtual renderer
 * @param {IGrid} parent - specifies the IGrid
 * @param {FreezeRowModelGenerator} freezeRowGenerator - specifies the freezeRowGenerator
 * @param {Object[]} firstPageRecords - specifies the first page records
 * @returns {Row<Column>[]} returns the row
 * @hidden
 */
export  function getReorderedFrozenRows(args: NotifyArgs, virtualRenderer: VirtualContentRenderer, parent: IGrid, freezeRowGenerator: FreezeRowModelGenerator, firstPageRecords: Object[]): Row<Column>[];
/**
 * @param {Row<Column>[]} rows - specifies the row
 * @param {IGrid} parent - specifies the IGrid
 * @param {NotifyArgs} args - specifies the notify arguments
 * @param {FreezeRowModelGenerator} freezeRowGenerator - specifies the freezerowgenerator
 * @returns {Row<Column>[]} returns the row
 * @hidden
 */
export  function splitReorderedRows(rows: Row<Column>[], parent: IGrid, args: NotifyArgs, freezeRowGenerator: FreezeRowModelGenerator): Row<Column>[];
/**
 * @param {VirtualContentRenderer} virtualRenderer - specifies the VirtualRenderer
 * @returns {boolean} returns the isXaxis
 * @hidden
 */
export  function isXaxis(virtualRenderer: VirtualContentRenderer): boolean;
/**
 * @param {VirtualContentRenderer} virtualRenderer - specifies the virtualrenderer
 * @param {IGrid} parent - specifies the IGrid
 * @returns {Element[]} returns the element
 * @hidden
 */
export  function getHeaderCells(virtualRenderer: VirtualContentRenderer, parent: IGrid): Element[];
/**
 * @param {VirtualContentRenderer} virtualRenderer - specifies the virtual Renderer
 * @param {IGrid} parent - specifies the IGrid
 * @returns {Element} returns the element
 * @hidden
 */
export  function getVirtualFreezeHeader(virtualRenderer: VirtualContentRenderer, parent: IGrid): Element;
/**
 * @param {Column[]} columns - specifies the columns
 * @param {IGrid} parent - specifies the IGrid
 * @returns {Column[]} returns the column[]
 * @hidden
 */
export  function ensureFrozenCols(columns: Column[], parent: IGrid): Column[];
/**
 * @param {Element} colGroup - specifies the colGroup
 * @param {VirtualContentRenderer} virtualRenderer - specifies the virtual renderer
 * @param {ColumnVirtualFreezeRenderer} instance - specifies the instances
 * @returns {Element} returns the element
 * @hidden
 */
export  function setColGroup(colGroup: Element, virtualRenderer: VirtualContentRenderer, instance: ColumnVirtualFreezeRenderer | VirtualFreezeRenderer): Element;
/**
 * @param {VirtualFreezeRenderer} instance - specifies the instance
 * @param {number} index - specifies the index
 * @returns {void}
 * @hidden
 */
export  function setCache(instance: VirtualFreezeRenderer | ColumnVirtualFreezeRenderer, index: number): void;
/**
 * @param {IGrid} parent - specifies the IGrid
 * @param {VirtualContentRenderer} virtualRenderer - specifies the virtualRenderer
 * @param {Element} scrollbar - specifies the scrollbr
 * @param {Element} mCont - specifies the mCont
 * @returns {void}
 * @hidden
 */
export  function setDebounce(parent: IGrid, virtualRenderer: VirtualContentRenderer, scrollbar: Element, mCont: Element): void;
/**
 * ColumnVirtualFreezeRenderer is used to render the virtual table within the frozen and movable content table
 *
 * @hidden
 */
export  class ColumnVirtualFreezeRenderer extends ColumnFreezeContentRenderer implements IRenderer {
    protected serviceLoc: ServiceLocator;
    rowModelGenerator: IModelGenerator<Column>;
    constructor(parent?: IGrid, locator?: ServiceLocator);
    /** @hidden */
    virtualRenderer: VirtualContentRenderer;
    protected freezeRowGenerator: FreezeRowModelGenerator;
    protected firstPageRecords: Object[];
    protected scrollbar: HTMLElement;
    /** @hidden */
    frRows: Row<Column>[];
    /** @hidden */
    frzRows: Row<Column>[];
    /** @hidden */
    mvblRows: Row<Column>[];
    protected actionComplete(args: NotifyArgs): void;
    eventListener(action: string): void;
    private refreshVirtualFrozenRows;
    private setFreezeSelection;
    private getVirtualData;
    renderNextFrozentPart(e: NotifyArgs, tableName: freezeTable): void;
    /**
     * @returns {void}
     * @hidden
     */
    renderTable(): void;
    private renderVirtualFrozenLeft;
    private renderVirtualFrozenRight;
    private renderVirtualFrozenLeftRight;
    /**
     * @param {HTMLElement} target - specifies the target
     * @param {DocumentFragment} newChild - specifies the newchild
     * @param {NotifyArgs} e - specifies the NotifyArgs
     * @returns {void}
     * @hidden
     */
    appendContent(target: HTMLElement, newChild: DocumentFragment, e: NotifyArgs): void;
    /**
     * @param {Object[]} data - specifies the data
     * @param {NotifyArgs} e - specifies the notifyargs
     * @returns {Row<Column>[]} returns the row
     * @hidden
     */
    generateRows(data: Object[], e?: NotifyArgs): Row<Column>[];
    /**
     * @param {number} index - specifies the number
     * @returns {Element} returns the element
     * @hidden
     */
    getRowByIndex(index: number): Element;
    /**
     * @param {number} index - specifies the index
     * @returns {Element} - returns the element
     * @hidden
     */
    getFrozenRightRowByIndex(index: number): Element;
    private collectRows;
    /**
     * @param {number} index - specifies the index
     * @returns {Element} returns the element
     * @hidden
     */
    getMovableRowByIndex(index: number): Element;
    /**
     * @returns {Row<Column>[]} returns the row
     * @hidden
     */
    getFrozenRightRows(): Row<Column>[] | HTMLCollectionOf<HTMLTableRowElement>;
    /**
     * @returns {Row<Column>[]} returns the row
     * @hidden
     */
    getMovableRows(): Row<Column>[] | HTMLCollectionOf<HTMLTableRowElement>;
    /**
     * @returns {Element} returns the element
     * @hidden
     */
    getColGroup(): Element;
    /**
     * @returns {Row<Column>[]} returns the row
     * @hidden
     */
    getRows(): Row<Column>[] | HTMLCollectionOf<HTMLTableRowElement>;
    /**
     * @param {NotifyArgs} args - specifies the args
     * @returns {Row<Column>[]} returns the row object
     * @hidden
     */
    getReorderedFrozenRows(args: NotifyArgs): Row<Column>[];
    protected getHeaderCells(): Element[];
    protected isXaxis(): boolean;
    protected getVirtualFreezeHeader(): Element;
    /**
     * @param {number} index - specifies the index
     * @returns {object} - returns the object
     * @hidden
     */
    getRowObjectByIndex(index: number): Object;
    protected ensureFrozenCols(columns: Column[]): Column[];
    /**
     * Set the header colgroup element
     *
     * @param {Element} colGroup - specifies the colgroup
     * @returns {Element} - returns the element
     */
    setColGroup(colGroup: Element): Element;
}
//node_modules/@syncfusion/ej2-grids/src/grid/reorder.d.ts
/**
 * Reorder export
 */
//node_modules/@syncfusion/ej2-grids/src/grid/resize.d.ts
/**
 * Resize export
 */
//node_modules/@syncfusion/ej2-grids/src/grid/row-reorder.d.ts
/**
 * Row reorder export
 */
//node_modules/@syncfusion/ej2-grids/src/grid/selection.d.ts
/**
 * Selection export
 */
//node_modules/@syncfusion/ej2-grids/src/grid/services.d.ts
/**
 * Services
 */
//node_modules/@syncfusion/ej2-grids/src/grid/services/aria-service.d.ts
/**
 * AriaService
 *
 * @hidden
 */
export  class AriaService {
    setOptions(target: HTMLElement, options: IAriaOptions<boolean>): void;
    setExpand(target: HTMLElement, expand: boolean): void;
    setSort(target: HTMLElement, direction?: SortDirection | 'none' | boolean): void;
    setBusy(target: HTMLElement, isBusy: boolean): void;
    setGrabbed(target: HTMLElement, isGrabbed: boolean, remove?: boolean): void;
    setDropTarget(target: HTMLElement, isTarget: boolean): void;
}
/**
 * @hidden
 */
export interface IAriaOptions<T> {
    role?: string;
    datarole?: string;
    expand?: T;
    collapse?: T;
    selected?: T;
    multiselectable?: T;
    sort?: T | 'none';
    busy?: T;
    invalid?: T;
    grabbed?: T;
    dropeffect?: T;
    haspopup?: T;
    level?: T;
    colcount?: string;
    rowcount?: string;
}
//node_modules/@syncfusion/ej2-grids/src/grid/services/cell-render-factory.d.ts
/**
 * CellRendererFactory
 *
 * @hidden
 */
export  class CellRendererFactory {
    cellRenderMap: {
        [c: string]: ICellRenderer<{}>;
    };
    addCellRenderer(name: string | CellType, type: ICellRenderer<{}>): void;
    getCellRenderer(name: string | CellType): ICellRenderer<{}>;
}
//node_modules/@syncfusion/ej2-grids/src/grid/services/focus-strategy.d.ts
/**
 * FocusStrategy class
 *
 * @hidden
 */
export  class FocusStrategy {
    parent: IGrid;
    currentInfo: FocusInfo;
    oneTime: boolean;
    swap: SwapInfo;
    content: IFocus;
    header: IFocus;
    active: IFocus;
    fContent: IFocus;
    fHeader: IFocus;
    frContent: IFocus;
    frHeader: IFocus;
    /** @hidden */
    isInfiniteScroll: boolean;
    private forget;
    private skipFocus;
    private focusByClick;
    private passiveHandler;
    private prevIndexes;
    private focusedColumnUid;
    private refMatrix;
    private rowModelGen;
    private activeKey;
    private empty;
    private actions;
    private isVirtualScroll;
    private evtHandlers;
    constructor(parent: IGrid);
    protected focusCheck(e: Event): void;
    protected onFocus(e?: FocusEvent): void;
    protected passiveFocus(e: FocusEvent): void;
    protected onBlur(e?: FocusEvent): void;
    private setLastContentCellTabIndex;
    onClick(e: Event | {
        target: Element;
    }, force?: boolean): void;
    protected onKeyPress(e: base.KeyboardEventArgs): void;
    private setLastContentCellActive;
    private focusOutFromChildGrid;
    private focusOutFromHeader;
    private allowToPaging;
    private skipOn;
    private focusVirtualElement;
    getFocusedElement(): HTMLElement;
    getContent(): IFocus;
    setActive(content: boolean, isFrozen?: boolean, isFrozenRight?: boolean): void;
    setFocusedElement(element: HTMLElement, e?: base.KeyboardEventArgs): void;
    focus(e?: base.KeyboardEventArgs | FocusEvent): void;
    protected removeFocus(e?: FocusEvent): void;
    /**
     * @returns {void}
     * @hidden */
    addOutline(): void;
    /**
     * @returns {void}
     * @hidden */
    focusHeader(): void;
    /**
     * @returns {void}
     * @hidden */
    focusContent(): void;
    private resetFocus;
    protected addFocus(info: FocusInfo, e?: base.KeyboardEventArgs | FocusEvent): void;
    protected refreshMatrix(content?: boolean): Function;
    addEventListener(): void;
    filterfocus(): void;
    removeEventListener(): void;
    destroy(): void;
    restoreFocus(): void;
    restoreFocusWithAction(e: NotifyArgs): void;
    clearOutline(): void;
    clearIndicator(): void;
    getPrevIndexes(): IIndex;
    forgetPrevious(): void;
    setActiveByKey(action: string, active: IFocus): void;
    internalCellFocus(e: CellFocusArgs): void;
}
/**
 * Create matrix from row collection which act as mental model for cell navigation
 *
 * @hidden
 */
export  class Matrix {
    matrix: number[][];
    current: number[];
    columns: number;
    rows: number;
    set(rowIndex: number, columnIndex: number, allow?: boolean): void;
    get(rowIndex: number, columnIndex: number, navigator: number[], action?: string, validator?: Function): number[];
    first(vector: number[], index: number, navigator: number[], moveTo?: boolean, action?: string): number;
    select(rowIndex: number, columnIndex: number): void;
    generate(rows: Row<Column>[], selector: Function, isRowTemplate?: boolean): number[][];
    columnsCount(rowColumns: Column[], currentColumnCount: number): number;
    inValid(value: number): boolean;
}
/**
 * @hidden
 */
export  class ContentFocus implements IFocus {
    matrix: Matrix;
    parent: IGrid;
    keyActions: {
        [x: string]: number[];
    };
    lastIdxCell: boolean;
    target: HTMLElement;
    indexesByKey: (action: string) => number[];
    constructor(parent: IGrid);
    getTable(): HTMLTableElement;
    onKeyPress(e: base.KeyboardEventArgs): void | boolean;
    private editNextRow;
    getCurrentFromAction(action: string, navigator?: number[], isPresent?: boolean, e?: base.KeyboardEventArgs): number[];
    onClick(e: Event, force?: boolean): void | boolean;
    getFocusInfo(): FocusInfo;
    getFocusable(element: HTMLElement): HTMLElement;
    selector(row: Row<Column>, cell: Cell<Column>, isRowTemplate?: boolean): boolean;
    nextRowFocusValidate(index: number): number;
    previousRowFocusValidate(index: number): number;
    jump(action: string, current: number[]): SwapInfo;
    getNextCurrent(previous?: number[], swap?: SwapInfo, active?: IFocus, action?: string): number[];
    generateRows(rows?: Row<Column>[], optionals?: Object): void;
    getInfo(e?: base.KeyboardEventArgs): FocusedContainer;
    validator(): Function;
    protected shouldFocusChange(e: base.KeyboardEventArgs): boolean;
    protected getGridSeletion(): boolean;
}
/**
 * @hidden
 */
export  class HeaderFocus extends ContentFocus implements IFocus {
    constructor(parent: IGrid);
    getTable(): HTMLTableElement;
    onClick(e: Event): void | boolean;
    getFocusInfo(): FocusInfo;
    selector(row: Row<Column>, cell: Cell<Column>): boolean;
    jump(action: string, current: number[]): SwapInfo;
    getNextCurrent(previous?: number[], swap?: SwapInfo, active?: IFocus, action?: string): number[];
    generateRows(rows?: Row<Column>[]): void;
    private checkFilterColumn;
    getInfo(e?: base.KeyboardEventArgs): FocusedContainer;
    validator(): Function;
    protected shouldFocusChange(e: base.KeyboardEventArgs): boolean;
    getHeaderType(): string;
}
export  class FixedContentFocus extends ContentFocus {
    getTable(): HTMLTableElement;
    jump(action: string, current: number[]): SwapInfo;
    getNextCurrent(previous?: number[], swap?: SwapInfo, active?: IFocus, action?: string): number[];
}
export  class FixedHeaderFocus extends HeaderFocus {
    jump(action: string, current: number[]): SwapInfo;
    getTable(): HTMLTableElement;
    getNextCurrent(previous?: number[], swap?: SwapInfo, active?: IFocus, action?: string): number[];
    getHeaderType(): string;
}
/** @hidden */
export  class SearchBox {
    searchBox: HTMLElement;
    constructor(searchBox: HTMLElement);
    searchFocus(args: {
        target: HTMLInputElement;
    }): void;
    protected searchBlur(args: Event & FocusEvent): void;
    wireEvent(): void;
    unWireEvent(): void;
}
export  class FixedRightContentFocus extends ContentFocus {
    getTable(): HTMLTableElement;
    jump(action: string, current: number[]): SwapInfo;
    getNextCurrent(previous?: number[], swap?: SwapInfo, active?: IFocus, action?: string): number[];
}
export  class FixedRightHeaderFocus extends HeaderFocus {
    jump(action: string, current: number[]): SwapInfo;
    getTable(): HTMLTableElement;
    getNextCurrent(previous?: number[], swap?: SwapInfo, active?: IFocus, action?: string): number[];
    getHeaderType(): string;
}
//node_modules/@syncfusion/ej2-grids/src/grid/services/freeze-row-model-generator.d.ts
/**
 * FreezeRowModelGenerator is used to generate grid data rows with freeze row and column.
 *
 * @hidden
 */
export  class FreezeRowModelGenerator implements IModelGenerator<Column> {
    private rowModelGenerator;
    private parent;
    constructor(parent: IGrid);
    generateRows(data: Object, notifyArgs?: NotifyArgs, virtualRows?: Row<Column>[]): Row<Column>[];
}
//node_modules/@syncfusion/ej2-grids/src/grid/services/group-model-generator.d.ts
/**
 * GroupModelGenerator is used to generate group caption rows and data rows.
 *
 * @hidden
 */
export  class GroupModelGenerator extends RowModelGenerator implements IModelGenerator<Column> {
    private rows;
    /** @hidden */
    index: number;
    private infiniteChildCount;
    private isInfiniteScroll;
    private renderInfiniteAgg;
    private summaryModelGen;
    private captionModelGen;
    constructor(parent?: IGrid);
    generateRows(data: {
        length: number;
    }, args?: {
        startIndex?: number;
        requestType?: Action;
    }): Row<Column>[];
    private getGroupedRecords;
    private isRenderAggregate;
    private getPreCaption;
    private getCaptionRowCells;
    /**
     * @param {GroupedData} data - specifies the data
     * @param {number} indent - specifies the indent
     * @param {number} parentID - specifies the parentID
     * @param {number} childID - specifies the childID
     * @param {number} tIndex - specifies the TIndex
     * @param {string} parentUid - specifies the ParentUid
     * @returns {Row<Column>} returns the Row object
     * @hidden
     */
    generateCaptionRow(data: GroupedData, indent: number, parentID?: number, childID?: number, tIndex?: number, parentUid?: string): Row<Column>;
    private getForeignKeyData;
    /**
     * @param {Object[]} data - specifies the data
     * @param {number} indent - specifies the indent
     * @param {number} childID - specifies the childID
     * @param {number} tIndex - specifies the tIndex
     * @param {string} parentUid - specifies the ParentUid
     * @returns {Row<Column>[]} returns the row object
     * @hidden
     */
    generateDataRows(data: Object[], indent: number, childID?: number, tIndex?: number, parentUid?: string): Row<Column>[];
    private generateIndentCell;
    refreshRows(input?: Row<Column>[]): Row<Column>[];
    private setInfiniteRowVisibility;
    ensureRowVisibility(): void;
}
export interface GroupedData {
    GroupGuid?: string;
    items?: GroupedData;
    field?: string;
    isDataRow?: boolean;
    level?: number;
    key?: string;
    foreignKey?: string;
    count?: number;
    headerText?: string;
}
//node_modules/@syncfusion/ej2-grids/src/grid/services/intersection-observer.d.ts
export  type ScrollDirection = 'up' | 'down' | 'right' | 'left';
/**
 * InterSectionObserver - class watch whether it enters the viewport.
 *
 * @hidden
 */
export  class InterSectionObserver {
    private containerRect;
    private movableContainerRect;
    private element;
    private movableEle;
    private fromWheel;
    private touchMove;
    private options;
    sentinelInfo: SentinelInfo;
    constructor(element: HTMLElement, options: InterSection, movableEle?: HTMLElement);
    observe(callback: Function, onEnterCallback: Function): void;
    check(direction: ScrollDirection): boolean;
    private virtualScrollHandler;
    setPageHeight(value: number): void;
}
//node_modules/@syncfusion/ej2-grids/src/grid/services/renderer-factory.d.ts
/**
 * RendererFactory
 *
 * @hidden
 */
export  class RendererFactory {
    rendererMap: {
        [c: string]: IRenderer;
    };
    addRenderer(name: RenderType, type: IRenderer): void;
    getRenderer(name: RenderType): IRenderer;
}
//node_modules/@syncfusion/ej2-grids/src/grid/services/row-model-generator.d.ts
/**
 * RowModelGenerator is used to generate grid data rows.
 *
 * @hidden
 */
export  class RowModelGenerator implements IModelGenerator<Column> {
    protected parent: IGrid;
    /**
     * Constructor for header renderer module
     *
     * @param {IGrid} parent - specifies the IGrid
     */
    constructor(parent?: IGrid);
    generateRows(data: Object, args?: {
        startIndex?: number;
        requestType?: Action;
    }): Row<Column>[];
    protected ensureColumns(): Cell<Column>[];
    protected generateRow(data: Object, index: number, cssClass?: string, indent?: number, pid?: number, tIndex?: number, parentUid?: string): Row<Column>;
    protected refreshForeignKeyRow(options: IRow<Column>): void;
    protected generateCells(options: IRow<Column>): Cell<Column>[];
    /**
     *
     * @param {Column} column - Defines column details
     * @param {string} rowId - Defines row id
     * @param {CellType} cellType  - Defines cell type
     * @param {number} colSpan - Defines colSpan
     * @param {number} oIndex - Defines index
     * @param {Object} foreignKeyData - Defines foreign key data
     * @returns {Cell<Column>} returns cell model
     * @hidden
     */
    generateCell(column: Column, rowId?: string, cellType?: CellType, colSpan?: number, oIndex?: number, foreignKeyData?: Object): Cell<Column>;
    refreshRows(input?: Row<Column>[]): Row<Column>[];
    private getInfiniteIndex;
}
//node_modules/@syncfusion/ej2-grids/src/grid/services/service-locator.d.ts
/**
 * ServiceLocator
 *
 * @hidden
 */
export  class ServiceLocator {
    private services;
    register<T>(name: string, type: T): void;
    getService<T>(name: string): T;
    registerAdaptiveService(type: Filter | Sort, isAdaptiveUI: boolean, action: ResponsiveDialogAction): void;
}
//node_modules/@syncfusion/ej2-grids/src/grid/services/summary-model-generator.d.ts
/**
 * Summary row model generator
 *
 * @hidden
 */
export  class SummaryModelGenerator implements IModelGenerator<AggregateColumnModel> {
    protected parent: IGrid;
    /**
     * Constructor for Summary row model generator
     *
     * @param {IGrid} parent - specifies the IGrid
     */
    constructor(parent?: IGrid);
    getData(): Object;
    columnSelector(column: AggregateColumnModel): boolean;
    getColumns(start?: number, end?: number): Column[];
    generateRows(input: Object[] | data.Group, args?: Object, start?: number, end?: number, columns?: Column[]): Row<AggregateColumnModel>[];
    getGeneratedRow(summaryRow: AggregateRowModel, data: Object, raw: number, start: number, end: number, parentUid?: string, columns?: Column[]): Row<AggregateColumnModel>;
    getGeneratedCell(column: Column, summaryRow: AggregateRowModel, cellType?: CellType, indent?: string, isDetailGridAlone?: boolean): Cell<AggregateColumnModel>;
    private buildSummaryData;
    protected getIndentByLevel(): string[];
    protected setTemplate(column: AggregateColumn, data: Object[], single: Object | data.Group): Object;
    protected getCellType(): CellType;
}
export  class GroupSummaryModelGenerator extends SummaryModelGenerator implements IModelGenerator<AggregateColumnModel> {
    columnSelector(column: AggregateColumnModel): boolean;
    protected getIndentByLevel(level?: number): string[];
    protected getCellType(): CellType;
}
export  class CaptionSummaryModelGenerator extends SummaryModelGenerator implements IModelGenerator<AggregateColumnModel> {
    columnSelector(column: AggregateColumnModel): boolean;
    getData(): Object;
    isEmpty(): boolean;
    protected getCellType(): CellType;
}
//node_modules/@syncfusion/ej2-grids/src/grid/services/value-formatter.d.ts
/**
 * ValueFormatter class to globalize the value.
 *
 * @hidden
 */
export  class ValueFormatter implements IValueFormatter {
    private intl;
    constructor(cultureName?: string);
    getFormatFunction(format: base.NumberFormatOptions | base.DateFormatOptions): Function;
    getParserFunction(format: base.NumberFormatOptions | base.DateFormatOptions): Function;
    fromView(value: string, format: Function, type?: string): string | number | Date;
    toView(value: number | Date, format: Function): string | Object;
    setCulture(cultureName: string): void;
}
//node_modules/@syncfusion/ej2-grids/src/grid/services/virtual-row-model-generator.d.ts
/**
 * Content module is used to render grid content
 */
export  class VirtualRowModelGenerator implements IModelGenerator<Column> {
    private model;
    rowModelGenerator: IModelGenerator<Column>;
    parent: IGrid;
    cOffsets: {
        [x: number]: number;
    };
    cache: {
        [x: number]: Row<Column>[];
    };
    movableCache: {
        [x: number]: Row<Column>[];
    };
    frozenRightCache: {
        [x: number]: Row<Column>[];
    };
    rowCache: {
        [x: number]: Row<Column>;
    };
    data: {
        [x: number]: Object[];
    };
    groups: {
        [x: number]: Object;
    };
    currentInfo: VirtualInfo;
    includePrevPage: boolean;
    startIndex: number;
    constructor(parent: IGrid);
    generateRows(data: Object[], e?: NotifyArgs): Row<Column>[];
    private setBlockForManualRefresh;
    getBlockIndexes(page: number): number[];
    getPage(block: number): number;
    isBlockAvailable(value: number): boolean;
    isMovableBlockAvailable(value: number): boolean;
    isFrozenRightBlockAvailable(value: number): boolean;
    getData(): VirtualInfo;
    private getStartIndex;
    getColumnIndexes(content?: HTMLElement): number[];
    private addFrozenIndex;
    checkAndResetCache(action: string): boolean;
    refreshColOffsets(): void;
    updateGroupRow(current: Row<Column>[], block: number): Row<Column>[];
    private iterateGroup;
    getRows(): Row<Column>[];
    generateCells(foreignKeyData?: Object): Cell<Column>[];
    private getGroupVirtualRecordsByIndex;
}
//node_modules/@syncfusion/ej2-grids/src/grid/services/width-controller.d.ts
/**
 * ColumnWidthService
 *
 * @hidden
 */
export  class ColumnWidthService {
    private parent;
    constructor(parent: IGrid);
    setWidthToColumns(): void;
    setMinwidthBycalculation(tWidth?: number): void;
    setUndefinedColumnWidth(collection?: Column[]): void;
    setColumnWidth(column: Column, index?: number, module?: string): void;
    private setWidth;
    private getColumnLevelFrozenColgroup;
    /**
     * @returns {void}
     * @hidden
     */
    refreshFrozenScrollbar(): void;
    getSiblingsHeight(element: HTMLElement): number;
    private getHeightFromDirection;
    isWidthUndefined(): boolean;
    getWidth(column: Column): string | number;
    getTableWidth(columns: Column[]): number;
    private calcMovableOrFreezeColWidth;
    private setWidthToFrozenRightTable;
    private setWidthToFrozenLeftTable;
    private setWidthToMovableTable;
    private setWidthToFrozenEditTable;
    private setWidthToMovableEditTable;
    setWidthToTable(): void;
    private isAutoResize;
}
//node_modules/@syncfusion/ej2-grids/src/grid/sort.d.ts
/**
 * Sort export
 */
//node_modules/@syncfusion/ej2-grids/src/grid/toolbar.d.ts
/**
 * Toolbar export
 */
//node_modules/@syncfusion/ej2-grids/src/grid/virtual-scroll.d.ts
/**
 * Virtual scroll export
 */
//node_modules/@syncfusion/ej2-grids/src/index.d.ts
/**
 * Export Grid components
 */
//node_modules/@syncfusion/ej2-grids/src/pager/external-message.d.ts
/**
 * `ExternalMessage` module is used to display user provided message.
 */
export  class ExternalMessage implements IRender {
    private element;
    private pagerModule;
    /**
     * Constructor for externalMessage module
     *
     * @param {Pager} pagerModule - specifies the pagermodule
     * @hidden
     */
    constructor(pagerModule?: Pager);
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} returns the module name
     * @private
     */
    protected getModuleName(): string;
    /**
     * The function is used to render pager externalMessage
     *
     * @returns {void}
     * @hidden
     */
    render(): void;
    /**
     * Refreshes the external message of Pager.
     *
     * @returns {void}
     */
    refresh(): void;
    /**
     * Hides the external message of Pager.
     *
     * @returns {void}
     */
    hideMessage(): void;
    /**
     * Shows the external message of the Pager.
     *
     * @returns {void}s
     */
    showMessage(): void;
    /**
     * To destroy the PagerMessage
     *
     * @function destroy
     * @returns {void}
     * @hidden
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-grids/src/pager/index.d.ts
/**
 * Pager component exported items
 */
//node_modules/@syncfusion/ej2-grids/src/pager/numeric-container.d.ts
/**
 * `NumericContainer` module handles rendering and refreshing numeric container.
 */
export  class NumericContainer implements IRender {
    private element;
    private first;
    private prev;
    private PP;
    private NP;
    private next;
    private last;
    private links;
    private pagerElement;
    private pagerModule;
    /**
     * Constructor for numericContainer module
     *
     * @param {Pager} pagerModule - specifies the pagerModule
     * @hidden
     */
    constructor(pagerModule?: Pager);
    /**
     * The function is used to render numericContainer
     *
     * @returns {void}
     * @hidden
     */
    render(): void;
    /**
     * Refreshes the numeric container of Pager.
     *
     * @returns {void}
     */
    refresh(): void;
    /**
     * The function is used to refresh refreshNumericLinks
     *
     * @returns {void}
     * @hidden
     */
    refreshNumericLinks(): void;
    /**
     * Binding events to the element while component creation
     *
     * @returns {void}
     * @hidden
     */
    wireEvents(): void;
    /**
     * Unbinding events from the element while component destroy
     *
     * @returns {void}
     * @hidden
     */
    unwireEvents(): void;
    /**
     * To destroy the PagerMessage
     *
     * @function destroy
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    private refreshAriaAttrLabel;
    private renderNumericContainer;
    private renderFirstNPrev;
    private renderPrevPagerSet;
    private renderNextPagerSet;
    private renderNextNLast;
    private clickHandler;
    private updateLinksHtml;
    private updateStyles;
    private updateFirstNPrevStyles;
    private updatePrevPagerSetStyles;
    private updateNextPagerSetStyles;
    private updateNextNLastStyles;
}
//node_modules/@syncfusion/ej2-grids/src/pager/pager-dropdown.d.ts
/**
 * IPager interface
 *
 * @hidden
 */
export interface IPager {
    newProp: {
        value: number | string | boolean;
    };
}
/**
 * `PagerDropDown` module handles selected pageSize from DropDownList.
 */
export  class PagerDropDown {
    private pagerCons;
    private dropDownListObject;
    private pagerDropDownDiv;
    private pagerModule;
    /**
     * Constructor for pager module
     *
     * @param {Pager} pagerModule - specifies the pagermodule
     * @hidden
     */
    constructor(pagerModule?: Pager);
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} returns the module name
     * @private
     * @hidden
     */
    protected getModuleName(): string;
    /**
     * The function is used to render pager dropdown
     *
     * @returns {void}
     * @hidden
     */
    render(): void;
    /**
     * For internal use only - Get the pagesize.
     *
     * @param {ChangeEventArgs} e - specifies the changeeventargs
     * @returns {void}
     * @private
     * @hidden
     */
    private onChange;
    refresh(): void;
    private beforeValueChange;
    private convertValue;
    setDropDownValue(prop: string, value: string | number | Object | boolean): void;
    addEventListener(): void;
    removeEventListener(): void;
    /**
     * To destroy the Pagerdropdown
     *
     * @param {string} args - specifies the arguments
     * @param {string} args.requestType - specfies the request type
     * @returns {void}
     * @hidden
     */
    destroy(args?: {
        requestType: string;
    }): void;
}
//node_modules/@syncfusion/ej2-grids/src/pager/pager-message.d.ts
/**
 * `PagerMessage` module is used to display pager information.
 */
export  class PagerMessage implements IRender {
    private pageNoMsgElem;
    private pageCountMsgElem;
    private pagerModule;
    /**
     * Constructor for externalMessage module
     *
     * @param {Pager} pagerModule - specifies the pager Module
     * @hidden
     */
    constructor(pagerModule?: Pager);
    /**
     * The function is used to render pager message
     *
     * @returns {void}
     * @hidden
     */
    render(): void;
    /**
     * Refreshes the pager information.
     *
     * @returns {void}
     */
    refresh(): void;
    /**
     * Hides the Pager information.
     *
     * @returns {void}
     */
    hideMessage(): void;
    /**
     * Shows the Pager information.
     *
     * @returns {void}
     */
    showMessage(): void;
    /**
     * To destroy the PagerMessage
     *
     * @function destroy
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    private format;
}
//node_modules/@syncfusion/ej2-grids/src/pager/pager-model.d.ts
/**
 * Interface for a class Pager
 */
export interface PagerModel extends base.ComponentModel{
    /**
     * If `enableQueryString` set to true,
     * then it pass current page information as a query string along with the URL while navigating to other page.
     *
     * @default false
     */
    enableQueryString?: boolean;
    /**
     * If `enableExternalMessage` set to true, then it adds the message to Pager.
     *
     * @default false
     */
    enableExternalMessage?: boolean;
    /**
     * If `enablePagerMessage` set to true, then it adds the pager information.
     *
     * @default true
     */
    enablePagerMessage?: boolean;
    /**
     * Defines the records count of visible page.
     *
     * @default 12
     */
    pageSize?: number;
    /**
     * Defines the number of pages to display in pager container.
     *
     * @default 10
     */
    pageCount?: number;
    /**
     * Defines the current page number of pager.
     *
     * @default 1
     */
    currentPage?: number;
    /**
     * Gets or Sets the total records count which is used to render numeric container.
     *
     * @default null
     */
    totalRecordsCount?: number;
    /**
     * Defines the external message of Pager.
     *
     * @default null
     */
    externalMessage?: string;
    /**
     * If `pageSizes` set to true or Array of values,
     * It renders DropDownList in the pager which allow us to select pageSize from DropDownList.
     *
     * @default false
     */
    pageSizes?: boolean | (number | string)[];
    /**
     *  Defines the template as string or HTML element ID which renders customized elements in pager instead of default elements.
     *
     * @default null
     */
    template?: string;
    /**
     * Defines the customized text to append with numeric items.
     *
     * @default null
     */
    customText?: string;
    /**
     * Triggers when click on the numeric items.
     *
     * @default null
     */
    click?: base.EmitType<Object>;
    /**
     * Defines the own class for the pager element.
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * Triggers after pageSize is selected in DropDownList.
     *
     * @default null
     */
    dropDownChanged?: base.EmitType<Object>;
    /**
     * Triggers when Pager is created.
     *
     * @default null
     */
    created?: base.EmitType<Object>;
}
//node_modules/@syncfusion/ej2-grids/src/pager/pager.d.ts
/** @hidden */
export interface IRender {
    render(): void;
    refresh(): void;
}
/**
 * @hidden
 */
export interface keyPressHandlerKeyboardEventArgs extends KeyboardEvent {
    cancel?: boolean;
}
/**
 * Represents the `Pager` component.
 * ```html
 * <div id="pager"/>
 * ```
 * ```typescript
 * <script>
 *   var pagerObj = new Pager({ totalRecordsCount: 50, pageSize:10 });
 *   pagerObj.appendTo("#pager");
 * </script>
 * ```
 */
export  class Pager extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    /*** @hidden */
    totalPages: number;
    /** @hidden */
    templateFn: Function;
    /** @hidden */
    hasParent: boolean;
    /*** @hidden */
    previousPageNo: number;
    /** @hidden */
    isAllPage: boolean;
    private defaultConstants;
    private pageRefresh;
    private parent;
    private firstPagerFocus;
    /*** @hidden */
    localeObj: base.L10n;
    /**
     * `containerModule` is used to manipulate numeric container behavior of Pager.
     */
    containerModule: NumericContainer;
    /**
     * `pagerMessageModule` is used to manipulate pager message of Pager.
     */
    pagerMessageModule: PagerMessage;
    /**
     * `externalMessageModule` is used to manipulate external message of Pager.
     */
    externalMessageModule: ExternalMessage;
    /**
     * @hidden
     * `pagerdropdownModule` is used to manipulate pageSizes of Pager.
     */
    pagerdropdownModule: PagerDropDown;
    /**
     * If `enableQueryString` set to true,
     * then it pass current page information as a query string along with the URL while navigating to other page.
     *
     * @default false
     */
    enableQueryString: boolean;
    /**
     * If `enableExternalMessage` set to true, then it adds the message to Pager.
     *
     * @default false
     */
    enableExternalMessage: boolean;
    /**
     * If `enablePagerMessage` set to true, then it adds the pager information.
     *
     * @default true
     */
    enablePagerMessage: boolean;
    /**
     * Defines the records count of visible page.
     *
     * @default 12
     */
    pageSize: number;
    /**
     * Defines the number of pages to display in pager container.
     *
     * @default 10
     */
    pageCount: number;
    /**
     * Defines the current page number of pager.
     *
     * @default 1
     */
    currentPage: number;
    /**
     * Gets or Sets the total records count which is used to render numeric container.
     *
     * @default null
     */
    totalRecordsCount: number;
    /**
     * Defines the external message of Pager.
     *
     * @default null
     */
    externalMessage: string;
    /**
     * If `pageSizes` set to true or Array of values,
     * It renders DropDownList in the pager which allow us to select pageSize from DropDownList.
     *
     * @default false
     */
    pageSizes: boolean | (number | string)[];
    /**
     *  Defines the template as string or HTML element ID which renders customized elements in pager instead of default elements.
     *
     * @default null
     */
    template: string;
    /**
     * Defines the customized text to append with numeric items.
     *
     * @default null
     */
    customText: string;
    /**
     * Triggers when click on the numeric items.
     *
     * @default null
     */
    click: base.EmitType<Object>;
    /**
     * Defines the own class for the pager element.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * Triggers after pageSize is selected in DropDownList.
     *
     * @default null
     */
    dropDownChanged: base.EmitType<Object>;
    /**
     * Triggers when Pager is created.
     *
     * @default null
     */
    created: base.EmitType<Object>;
    /**
     * @hidden
     */
    isReact: boolean;
    /**
     * @hidden
     */
    isVue: boolean;
    /**
     * Constructor for creating the component.
     *
     * @param {PagerModel} options - specifies the options
     * @param {string} element - specifies the element
     * @param {string} parent - specifies the pager parent
     * @hidden
     */
    constructor(options?: PagerModel, element?: string | HTMLElement, parent?: object);
    /**
     * To provide the array of modules needed for component rendering
     *
     * @returns {base.ModuleDeclaration[]} returns the modules declaration
     * @hidden
     */
    protected requiredModules(): base.ModuleDeclaration[];
    /**
     * Initialize the event handler
     *
     * @returns {void}
     * @hidden
     */
    protected preRender(): void;
    /**
     * To Initialize the component rendering
     *
     * @returns {void}
     */
    protected render(): void;
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @returns {string} returns the persist data
     * @hidden
     */
    getPersistData(): string;
    /**
     * To destroy the Pager component.
     *
     * @method destroy
     * @returns {void}
     */
    destroy(): void;
    /**
     * Destroys the given template reference.
     *
     * @param {string[]} propertyNames - Defines the collection of template name.
     * @param {any} index - Defines the index
     */
    destroyTemplate(propertyNames?: string[], index?: any): void;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} returns the module name
     * @private
     */
    protected getModuleName(): string;
    /**
     * Called internally if any of the property value changed.
     *
     * @param {PagerModel} newProp - specifies the new property
     * @param {PagerModel} oldProp - specifies the old propety
     * @returns {void}
     * @hidden
     */
    onPropertyChanged(newProp: PagerModel, oldProp: PagerModel): void;
    private wireEvents;
    private unwireEvents;
    private onFocusIn;
    private onFocusOut;
    private keyDownHandler;
    private keyPressHandler;
    private addListener;
    private removeListener;
    private onKeyPress;
    /**
     * @returns {boolean} - Return the true value if pager has focus
     * @hidden */
    checkPagerHasFocus(): boolean;
    /**
     * @returns {void}
     * @hidden */
    setPagerContainerFocus(): void;
    /**
     * @returns {void}
     * @hidden */
    setPagerFocus(): void;
    private setPagerFocusForActiveElement;
    private setTabIndexForFocusLastElement;
    /**
     * @param {base.KeyboardEventArgs} e - Keyboard Event Args
     * @returns {void}
     * @hidden */
    changePagerFocus(e: base.KeyboardEventArgs): void;
    private getFocusedTabindexElement;
    private changeFocusByTab;
    private changeFocusByShiftTab;
    /**
     * @returns {void}
     * @hidden */
    checkFirstPagerFocus(): boolean;
    private navigateToPageByEnterOrSpace;
    private navigateToPageByKey;
    private checkFocusInAdaptiveMode;
    private changeFocusInAdaptiveMode;
    private removeTabindexLastElements;
    private getActiveElement;
    /**
     * @returns {Element} - Returns DropDown Page
     * @hidden */
    getDropDownPage(): Element;
    private getFocusedElement;
    private getClass;
    private getElementByClass;
    /**
     * @param {Element} element - Pager element
     * @param {Element[]} previousElements - Iterating pager element
     * @returns {Element[]} - Returns focusable pager element
     * @hidden */
    getFocusablePagerElements(element: Element, previousElements: Element[]): Element[];
    private addFocus;
    private removeFocus;
    /**
     * Gets the localized label by locale keyword.
     *
     * @param  {string} key - specifies the key
     * @returns {string} returns the localized label
     */
    getLocalizedLabel(key: string): string;
    /**
     * Navigate to target page by given number.
     *
     * @param  {number} pageNo - Defines page number.
     * @returns {void}
     */
    goToPage(pageNo: number): void;
    /**
     * @param {number} pageSize - specifies the pagesize
     * @returns {void}
     * @hidden
     */
    setPageSize(pageSize: number): void;
    private checkpagesizes;
    private checkGoToPage;
    private currentPageChanged;
    private pagerTemplate;
    /**
     * @returns {void}
     * @hidden
     */
    updateTotalPages(): void;
    /**
     * @returns {Function} returns the function
     * @hidden
     */
    getPagerTemplate(): Function;
    /**
     * @param {string} template - specifies the template
     * @returns {Function} returns the function
     * @hidden
     */
    compile(template: string): Function;
    /**
     * Refreshes page count, pager information and external message.
     *
     * @returns {void}
     */
    refresh(): void;
    private updateRTL;
    private initLocalization;
    private updateQueryString;
    private getUpdatedURL;
    private renderFirstPrevDivForDevice;
    private renderNextLastDivForDevice;
    private addAriaLabel;
    private isReactTemplate;
}
 }
export namespace heatmap { 

//node_modules/@syncfusion/ej2-heatmap/src/components.d.ts
/**
 * Export heat map
 */
//node_modules/@syncfusion/ej2-heatmap/src/heatmap/axis/axis-helpers.d.ts
/**
 * HeatMap Axis-Helper file
 */
export  class AxisHelper {
    private heatMap;
    private initialClipRect;
    private htmlObject;
    private element;
    private padding;
    private drawSvgCanvas;
    constructor(heatMap?: HeatMap);
    /**
     * To render the x and y axis.
     *
     *  @private
     */
    renderAxes(): void;
    private drawXAxisLine;
    private drawYAxisLine;
    private drawXAxisTitle;
    private drawYAxisTitle;
    /**
     * Get the visible labels for both x and y axis
     *
     * @private
     */
    calculateVisibleLabels(): void;
    /**
     * Measure the title and labels rendering position for both X and Y axis.
     *
     * @param rect
     * @private
     */
    measureAxis(rect: Rect): void;
    /**
     * Calculate the X and Y axis line position
     *
     * @param rect
     * @private
     */
    calculateAxisSize(rect: Rect): void;
    private drawXAxisLabels;
    private drawYAxisLabels;
    private drawXAxisBorder;
    private drawYAxisBorder;
    /**
     * To create border element for axis.
     *
     * @returns {void}
     * @private
     */
    private createAxisBorderElement;
    private drawMultiLevels;
    /**
     * render x axis multi level labels
     *
     * @private
     * @returns {void}
     */
    renderXAxisMultiLevelLabels(axis: Axis, parent: Element): void;
    /**
     * render x axis multi level labels border
     *
     * @private
     * @returns {void}
     */
    private renderXAxisLabelBorder;
    /**
     * render y axis multi level labels
     *
     * @private
     * @returns {void}
     */
    renderYAxisMultiLevelLabels(axis: Axis, parent: Element): void;
    /**
     * render x axis multi level labels border
     *
     * @private
     * @returns {void}
     */
    private renderYAxisLabelBorder;
    /**
     * create borer element
     *
     * @returns {void}
     * @private
     */
    createBorderElement(borderIndex: number, axis: Axis, path: string, parent: Element): void;
    /**
     * calculate left position of border element
     *
     * @private
     */
    calculateLeftPosition(axis: Axis, start: number, label: number | Date | string, rect: Rect): number;
    /**
     * calculate width of border element
     *
     * @private
     */
    calculateWidth(axis: Axis, label: number | Date | string, end: number, rect: Rect): number;
    private calculateNumberOfDays;
}
//node_modules/@syncfusion/ej2-heatmap/src/heatmap/axis/axis-model.d.ts
/**
 * Interface for a class Axis
 */
export interface AxisModel {
    /**
     * Title of heat map axis
     *
     * @default ''
     */
    title?: TitleModel;
    /**
     * If set to true, the axis will render at the opposite side of its default position.
     *
     * @default false
     */
    opposedPosition?: boolean;
    /**
     * Options for label assignment.
     */
    labels?: string[];
    /**
     * Options for customizing the label text.
     */
    textStyle?: FontModel;
    /**
     * The angle to rotate the axis label
     *
     * @default 0
     */
    labelRotation?: number;
    /**
     * It specifies whether the axis to be rendered in inversed manner or not.
     *
     * @default false
     */
    isInversed?: boolean;
    /**
     * Specifies the type of data the axis is handling.
     * * Numeric:  Renders a numeric axis.
     * * DateTime: Renders a dateTime axis.
     * * Category: Renders a category axis.
     *
     * @default Category
     * @aspType Syncfusion.EJ2.HeatMap.ValueType
     * @isEnumeration true
     */
    valueType?: ValueType;
    /**
     * Specifies the increment for an axis label.
     *
     * @default 1
     */
    increment?: number;
    /**
     * Defines the axis label display type for date time axis.
     * * None: Axis labels displayed based on the value type.
     * * Years: Define the axis labels display in every year.
     * * Months: Define the axis labels display in every month.
     * * Days: Define the axis labels display in every day.
     * * Hours: Define the axis labels display in every hour.
     *
     * @default 'None'
     */
    showLabelOn?: LabelType;
    /**
     * Specifies the minimum range of an axis.
     *
     * @default null
     */
    minimum?: Object;
    /**
     * Specifies the maximum range of an axis.
     *
     * @default null
     */
    maximum?: Object;
    /**
     * Specifies the interval for an axis.
     *
     * @default null
     */
    interval?: number;
    /**
     * Used to format the axis label that accepts any global string format like 'C', 'n1', 'P' etc.
     * It also accepts placeholder like '{value}°C' in which value represent the axis label, e.g, 20°C.
     *
     * @default ''
     */
    labelFormat?: string;
    /**
     * Specifies the types like `Years`, `Months`, `Days`, `Hours`, `Minutes` in date time axis.They are,
     * * Years: Defines the interval of the axis in years.
     * * Months: Defines the interval of the axis in months.
     * * Days: Defines the interval of the axis in days.
     * * Hours: Defines the interval of the axis in hours.
     * * Minutes: Defines the interval of the axis in minutes.
     *
     * @default 'Days'
     */
    intervalType?: IntervalType;
    /**
     * Specifies the actions like `Rotate45`, `None` and `Trim` when the axis labels intersect with each other.They are,
     * * None: Shows all the labels.
     * * Rotate45: Rotates the label to 45 degree when it intersects.
     * * Trim : Trim the label when label text width exceed the label width
     *
     * @default Trim
     */
    labelIntersectAction?: LabelIntersectAction;
    /**
     * Enable Trim for heatmap yAxis
     *
     * @default false
     */
    enableTrim?: boolean;
    /**
     * Specifies the maximum length of an axis label.
     *
     * @default 35.
     */
    maxLabelLength?: number;
    /**
     * Border of the axis labels.
     */
    border?: AxisLabelBorderModel;
    /**
     * Specifies the multi level labels collection for the axis
     */
    multiLevelLabels?: MultiLevelLabelsModel[];
}
//node_modules/@syncfusion/ej2-heatmap/src/heatmap/axis/axis.d.ts
/**
 * HeatMap Axis file
 */
export  class Axis extends base.ChildProperty<Axis> {
    /**
     * Title of heat map axis
     *
     * @default ''
     */
    title: TitleModel;
    /**
     * If set to true, the axis will render at the opposite side of its default position.
     *
     * @default false
     */
    opposedPosition: boolean;
    /**
     * Options for label assignment.
     */
    labels: string[];
    /**
     * Options for customizing the label text.
     */
    textStyle: FontModel;
    /**
     * The angle to rotate the axis label
     *
     * @default 0
     */
    labelRotation: number;
    /**
     * It specifies whether the axis to be rendered in inversed manner or not.
     *
     * @default false
     */
    isInversed: boolean;
    /**
     * Specifies the type of data the axis is handling.
     * * Numeric:  Renders a numeric axis.
     * * DateTime: Renders a dateTime axis.
     * * Category: Renders a category axis.
     *
     * @default Category
     * @aspType Syncfusion.EJ2.HeatMap.ValueType
     * @isEnumeration true
     */
    valueType: ValueType;
    /**
     * Specifies the increment for an axis label.
     *
     * @default 1
     */
    increment: number;
    /**
     * Defines the axis label display type for date time axis.
     * * None: Axis labels displayed based on the value type.
     * * Years: Define the axis labels display in every year.
     * * Months: Define the axis labels display in every month.
     * * Days: Define the axis labels display in every day.
     * * Hours: Define the axis labels display in every hour.
     *
     * @default 'None'
     */
    showLabelOn: LabelType;
    /**
     * Specifies the minimum range of an axis.
     *
     * @default null
     */
    minimum: Object;
    /**
     * Specifies the maximum range of an axis.
     *
     * @default null
     */
    maximum: Object;
    /**
     * Specifies the interval for an axis.
     *
     * @default null
     */
    interval: number;
    /**
     * Used to format the axis label that accepts any global string format like 'C', 'n1', 'P' etc.
     * It also accepts placeholder like '{value}°C' in which value represent the axis label, e.g, 20°C.
     *
     * @default ''
     */
    labelFormat: string;
    /**
     * Specifies the types like `Years`, `Months`, `Days`, `Hours`, `Minutes` in date time axis.They are,
     * * Years: Defines the interval of the axis in years.
     * * Months: Defines the interval of the axis in months.
     * * Days: Defines the interval of the axis in days.
     * * Hours: Defines the interval of the axis in hours.
     * * Minutes: Defines the interval of the axis in minutes.
     *
     * @default 'Days'
     */
    intervalType: IntervalType;
    /**
     * Specifies the actions like `Rotate45`, `None` and `Trim` when the axis labels intersect with each other.They are,
     * * None: Shows all the labels.
     * * Rotate45: Rotates the label to 45 degree when it intersects.
     * * Trim : Trim the label when label text width exceed the label width
     *
     * @default Trim
     */
    labelIntersectAction: LabelIntersectAction;
    /**
     * Enable Trim for heatmap yAxis
     *
     * @default false
     */
    enableTrim: boolean;
    /**
     * Specifies the maximum length of an axis label.
     *
     * @default 35.
     */
    maxLabelLength: number;
    /**
     * Border of the axis labels.
     */
    border: AxisLabelBorderModel;
    /**
     * Specifies the multi level labels collection for the axis
     */
    multiLevelLabels: MultiLevelLabelsModel[];
    /** @private */
    orientation: Orientation;
    /** @private */
    multipleRow: MultipleRow[];
    /** @private */
    rect: Rect;
    /** @private */
    nearSizes: number[];
    /** @private */
    farSizes: number[];
    /** @private */
    maxLabelSize: Size;
    /** @private */
    titleSize: Size;
    /** @private */
    multilevel: number[];
    /** @private */
    axisLabels: string[];
    /** @private */
    tooltipLabels: string[];
    /** @private */
    labelValue: (string | number | Date)[];
    /** @private */
    axisLabelSize: number;
    /** @private */
    axisLabelInterval: number;
    /** @private */
    dateTimeAxisLabelInterval: number[];
    /** @private */
    maxLength: number;
    /** @private */
    min: number;
    /** @private */
    max: number;
    /** @private */
    format: Function;
    /** @private */
    angle: number;
    /** @private */
    isIntersect: boolean;
    /** @private */
    jsonCellLabel: string[];
    multiLevelSize: Size[];
    /** @private */
    xAxisMultiLabelHeight: number[];
    /** @private */
    yAxisMultiLabelHeight: number[];
    /** @private */
    multiLevelPosition: MultiLevelPosition[];
    /**
     * measure the axis title and label size
     *
     * @param axis
     * @param heatmap
     * @private
     */
    computeSize(axis: Axis, heatmap: HeatMap, rect: Rect): void;
    /**
     * calculating x, y position of multi level labels
     *
     * @private
     */
    multiPosition(axis: Axis, index: number): MultiLevelPosition;
    private multiLevelLabelSize;
    private getMultilevelLabelsHeight;
    private getTitleSize;
    private getMaxLabelSize;
    /**
     * Generate the axis lables for numeric axis
     *
     * @param heatmap
     * @private
     */
    calculateNumericAxisLabels(heatmap: HeatMap): void;
    /**
     * Generate the axis lables for category axis
     *
     * @private
     */
    calculateCategoryAxisLabels(): void;
    /**
     * Generate the axis labels for date time axis.
     *
     * @param heatmap
     * @private
     */
    calculateDateTimeAxisLabel(heatmap: HeatMap): void;
    private calculateLabelInterval;
    /**
     * @private
     */
    getSkeleton(): string;
    /** @private */
    getTotalLabelLength(min: number, max: number): number;
    /**
     * Clear the axis label collection
     *
     * @private
     */
    clearAxisLabel(): void;
    /**
     * Clear the axis label collection
     *
     * @private
     */
    clearMultipleRow(): void;
}
//node_modules/@syncfusion/ej2-heatmap/src/heatmap/datasource/adaptor-model.d.ts
/**
 * Interface for a class Data
 */
export interface DataModel {
    /**
     * Specifies the provided datasource is an JSON data.
     *
     * @default false
     */
    isJsonData?: boolean;
    /**
     * specifies Adaptor type
     *
     * @default None
     */
    adaptorType?: AdaptorType;
    /**
     * Specifies xAxis mapping.
     *
     * @default ''
     */
    xDataMapping?: string;
    /**
     * Specifies yAxis mapping.
     *
     * @default ''
     */
    yDataMapping?: string;
    /**
     * Specifies value mapping.
     *
     * @default ''
     */
    valueMapping?: string;
    /**
     * Specifies data mapping for size and color bubble type.
     */
    bubbleDataMapping?: BubbleDataModel;
}
/**
 * Interface for a class AdaptiveMinMax
 */
export interface AdaptiveMinMaxModel {
}
/**
 * Interface for a class Adaptor
 */
export interface AdaptorModel {
}
//node_modules/@syncfusion/ej2-heatmap/src/heatmap/datasource/adaptor.d.ts
/**
 * HeatMap Adaptor file
 */
/**
 * Configures the Adaptor Property in the Heatmap.
 */
export  class Data extends base.ChildProperty<Data> {
    /**
     * Specifies the provided datasource is an JSON data.
     *
     * @default false
     */
    isJsonData: boolean;
    /**
     * specifies Adaptor type
     *
     * @default None
     */
    adaptorType: AdaptorType;
    /**
     * Specifies xAxis mapping.
     *
     * @default ''
     */
    xDataMapping: string;
    /**
     * Specifies yAxis mapping.
     *
     * @default ''
     */
    yDataMapping: string;
    /**
     * Specifies value mapping.
     *
     * @default ''
     */
    valueMapping: string;
    /**
     * Specifies data mapping for size and color bubble type.
     */
    bubbleDataMapping: BubbleDataModel;
}
export  class AdaptiveMinMax {
    min: Object;
    max: Object;
}
/**
 *
 * The `Adaptor` module is used to handle JSON and Table data.
 */
export  class Adaptor {
    private heatMap;
    reconstructData: Object[][];
    reconstructedXAxis: string[];
    reconstructedYAxis: string[];
    private tempSplitDataCollection;
    adaptiveXMinMax: AdaptiveMinMax;
    adaptiveYMinMax: AdaptiveMinMax;
    constructor(heatMap?: HeatMap);
    /**
     * Method to construct Two Dimentional Datasource.
     *
     * @returns {void}
     * @private
     */
    constructDatasource(dataSource: object, dataSourceSettings: DataModel): void;
    /**
     * Method to construct Axis Collection.
     *
     * @returns {void}
     * @private
     */
    private constructAdaptiveAxis;
    /**
     * Method to calculate Numeric Axis Collection.
     *
     * @returns {string[]}
     * @private
     */
    private getNumericAxisCollection;
    /**
     * Method to calculate DateTime Axis Collection.
     *
     * @returns {string[]}
     * @private
     */
    private getDateAxisCollection;
    /**
     * Method to calculate Maximum and Minimum Value from datasource.
     *
     * @returns {void}
     * @private
     */
    private getMinMaxValue;
    /**
     * Method to process Cell datasource.
     *
     * @returns {Object}
     * @private
     */
    private processCellData;
    /**
     * Method to process JSON Cell datasource.
     *
     * @returns {Object}
     * @private
     */
    private processJsonCellData;
    /**
     * Method to generate axis labels when labels are not given.
     *
     * @returns {string}
     * @private
     */
    private generateAxisLabels;
    /**
     * Method to get data from complex mapping.
     *
     * @returns {number|string}
     * @private
     */
    private getSplitDataValue;
    /**
     * Method to process JSON Table datasource.
     *
     * @returns {Object}
     * @private
     */
    private processJsonTableData;
    /**
     * To destroy the Adaptor.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
    /**
     * To get Module name
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-heatmap/src/heatmap/datasource/twodimensional.d.ts
/**
 * HeatMap TwoDimensional file
 */
export  class TwoDimensional {
    private heatMap;
    private completeDataSource;
    private tempSizeArray;
    private tempColorArray;
    constructor(heatMap?: HeatMap);
    /**
     * To reconstruct proper two dimensional dataSource depends on min and max values.
     *
     *  @private
     */
    processDataSource(dataSource: Object): void;
    /**
     * To process and create a proper data array.
     *
     *  @private
     */
    private processDataArray;
    /**
     * To get minimum and maximum value
     *
     *  @private
     */
    private getMinMaxValue;
    /**
     * To get minimum value
     *
     *  @private
     */
    private getMinValue;
    /**
     * To get maximum value
     *
     *  @private
     */
    private getMaxValue;
    /**
     * To perform sort operation.
     *
     *  @private
     */
    private performSort;
    /**
     * To get minimum value
     *
     *  @private
     */
    private checkmin;
}
//node_modules/@syncfusion/ej2-heatmap/src/heatmap/heatmap-model.d.ts
/**
 * Interface for a class HeatMap
 */
export interface HeatMapModel extends base.ComponentModel{
    /**
     * The width of the heatmap as a string accepts input as both like '100px' or '100%'.
     *
     * If specified as '100%, heatmap renders to the full width of its parent element.
     *
     * @default null
     */
    width?: string;
    /**
     * The height of the heatmap accepts pixel values given in string format.
     *
     * @default null
     */
    height?: string;
    /**
     * Enable or disable the tool tip for heatmap
     *
     * @default true
     */
    showTooltip?: boolean;
    /**
     * Triggers when click the heat map cell.
     *
     * {% codeBlock src='heatmap/tooltipRender/index.md' %}{% endcodeBlock %}
     *
     * @event 'object'
     */
    tooltipRender?: base.EmitType<ITooltipEventArgs>;
    /**
     * Triggers after resizing of Heatmap.
     *
     * @event 'object'
     */
    resized?: base.EmitType<IResizeEventArgs>;
    /**
     * Triggers after heatmap is loaded.
     *
     * @event 'object'
     */
    loaded?: base.EmitType<ILoadedEventArgs>;
    /**
     * Triggers before each heatmap cell renders.
     * {% codeBlock src='heatmap/cellRender/index.md' %}{% endcodeBlock %}
     *
     * @deprecated
     * @event 'object'
     */
    cellRender?: base.EmitType<ICellEventArgs>;
    /**
     * Triggers when multiple cells gets selected.
     *
     * @event 'object'
     */
    cellSelected?: base.EmitType<ISelectedEventArgs>;
    /**
     * Specifies the rendering mode of heat map.
     * * SVG - Heat map is render using SVG draw mode.
     * * Canvas - Heat map is render using Canvas draw mode.
     * * Auto - Automatically switch the draw mode based on number of records in data source.
     *
     * @default SVG
     */
    renderingMode?: DrawType;
    /**
     * Specifies the datasource for the heat map.
     *
     * @isDataManager false
     * @default null
     */
    dataSource?: Object ;
    /**
     * Specifies the datasource settings for heat map.
     * {% codeBlock src='heatmap/dataSourceSettings/index.md' %}{% endcodeBlock %}
     */
    dataSourceSettings?: DataModel;
    /**
     *  Specifies the theme for heatmap.
     *
     * @default 'Material'
     */
    theme?: HeatMapTheme;
    /**
     * Enable or disable the selection of multiple cells in heatmap
     * {% codeBlock src='heatmap/allowSelection/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    allowSelection?: boolean;
    /**
     * Options to customize left, right, top and bottom margins of the heat map.
     */
    margin?: MarginModel;
    /**
     * Title of heat map
     * {% codeBlock src='heatmap/titleSettings/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     */
    titleSettings?: TitleModel;
    /**
     * Options to configure the horizontal axis.
     */
    xAxis?: AxisModel;
    /**
     * Options for customizing the legend of the heat map
     * {% codeBlock src='heatmap/legendSettings/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     */
    legendSettings?: LegendSettingsModel;
    /**
     * Options for customizing the cell color of the heat map
     * {% codeBlock src='heatmap/paletteSettings/index.md' %}{% endcodeBlock %}
     */
    paletteSettings?: PaletteSettingsModel;
    /**
     * Options for customizing the ToolTipSettings property  of the heat map
     * {% codeBlock src='heatmap/tooltipSettings/index.md' %}{% endcodeBlock %}
     */
    tooltipSettings?: TooltipSettingsModel;
    /**
     * Options to configure the vertical axis.
     */
    yAxis?: AxisModel;
    /**
     * Options to customize the heat map cell
     * {% codeBlock src='heatmap/cellSettings/index.md' %}{% endcodeBlock %}
     */
    cellSettings?: CellSettingsModel;
    /**
     * Triggers after heat map rendered.
     *
     * @event 'object'
     */
    created?: base.EmitType<Object>;
    /**
     * Triggers before heat map load.
     * {% codeBlock src='heatmap/load/index.md' %}{% endcodeBlock %}
     *
     * @event 'object'
     */
    load?: base.EmitType<ILoadedEventArgs>;
    /**
     * Triggers when click the heat map cell.
     *
     * @event 'object'
     */
    cellClick?: base.EmitType<ICellClickEventArgs>;
    /**
     * Triggers before the legend is rendered.
     * {% codeBlock src='heatmap/legendRender/index.md' %}{% endcodeBlock %}
     *
     * @deprecated
     * @event 'object'
     */
    legendRender?: base.EmitType<ILegendRenderEventArgs>;
}
//node_modules/@syncfusion/ej2-heatmap/src/heatmap/heatmap.d.ts
/**
 * Heat Map base.Component
 */
export  class HeatMap extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    /**
     * The width of the heatmap as a string accepts input as both like '100px' or '100%'.
     *
     * If specified as '100%, heatmap renders to the full width of its parent element.
     *
     * @default null
     */
    width: string;
    /**
     * The height of the heatmap accepts pixel values given in string format.
     *
     * @default null
     */
    height: string;
    /**
     * Enable or disable the tool tip for heatmap
     *
     * @default true
     */
    showTooltip: boolean;
    /**
     * Triggers when click the heat map cell.
     *
     * {% codeBlock src='heatmap/tooltipRender/index.md' %}{% endcodeBlock %}
     *
     * @event 'object'
     */
    tooltipRender: base.EmitType<ITooltipEventArgs>;
    /**
     * Triggers after resizing of Heatmap.
     *
     * @event 'object'
     */
    resized: base.EmitType<IResizeEventArgs>;
    /**
     * Triggers after heatmap is loaded.
     *
     * @event 'object'
     */
    loaded: base.EmitType<ILoadedEventArgs>;
    /**
     * Triggers before each heatmap cell renders.
     * {% codeBlock src='heatmap/cellRender/index.md' %}{% endcodeBlock %}
     *
     * @deprecated
     * @event 'object'
     */
    cellRender: base.EmitType<ICellEventArgs>;
    /**
     * Triggers when multiple cells gets selected.
     *
     * @event 'object'
     */
    cellSelected: base.EmitType<ISelectedEventArgs>;
    /**
     * Specifies the rendering mode of heat map.
     * * SVG - Heat map is render using SVG draw mode.
     * * Canvas - Heat map is render using Canvas draw mode.
     * * Auto - Automatically switch the draw mode based on number of records in data source.
     *
     * @default SVG
     */
    renderingMode: DrawType;
    /**
     * Specifies the datasource for the heat map.
     *
     * @isDataManager false
     * @default null
     */
    dataSource: Object;
    /**
     * Specifies the datasource settings for heat map.
     * {% codeBlock src='heatmap/dataSourceSettings/index.md' %}{% endcodeBlock %}
     */
    dataSourceSettings: DataModel;
    /**
     *  Specifies the theme for heatmap.
     *
     * @default 'Material'
     */
    theme: HeatMapTheme;
    /**
     * Enable or disable the selection of multiple cells in heatmap
     * {% codeBlock src='heatmap/allowSelection/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    allowSelection: boolean;
    /**
     * Options to customize left, right, top and bottom margins of the heat map.
     */
    margin: MarginModel;
    /**
     * Title of heat map
     * {% codeBlock src='heatmap/titleSettings/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     */
    titleSettings: TitleModel;
    /**
     * Options to configure the horizontal axis.
     */
    xAxis: AxisModel;
    /**
     * Options for customizing the legend of the heat map
     * {% codeBlock src='heatmap/legendSettings/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     */
    legendSettings: LegendSettingsModel;
    /**
     * Options for customizing the cell color of the heat map
     * {% codeBlock src='heatmap/paletteSettings/index.md' %}{% endcodeBlock %}
     */
    paletteSettings: PaletteSettingsModel;
    /**
     * Options for customizing the ToolTipSettings property  of the heat map
     * {% codeBlock src='heatmap/tooltipSettings/index.md' %}{% endcodeBlock %}
     */
    tooltipSettings: TooltipSettingsModel;
    /**
     * Options to configure the vertical axis.
     */
    yAxis: AxisModel;
    /**
     * Options to customize the heat map cell
     * {% codeBlock src='heatmap/cellSettings/index.md' %}{% endcodeBlock %}
     */
    cellSettings: CellSettingsModel;
    /**
     * Triggers after heat map rendered.
     *
     * @event 'object'
     */
    created: base.EmitType<Object>;
    /**
     * Triggers before heat map load.
     * {% codeBlock src='heatmap/load/index.md' %}{% endcodeBlock %}
     *
     * @event 'object'
     */
    load: base.EmitType<ILoadedEventArgs>;
    /**
     * Triggers when click the heat map cell.
     *
     * @event 'object'
     */
    cellClick: base.EmitType<ICellClickEventArgs>;
    /**
     * Triggers before the legend is rendered.
     * {% codeBlock src='heatmap/legendRender/index.md' %}{% endcodeBlock %}
     *
     * @deprecated
     * @event 'object'
     */
    legendRender: base.EmitType<ILegendRenderEventArgs>;
    /** @private */
    enableCanvasRendering: boolean;
    /** @private */
    colorGradientMode: ColorGradientMode;
    /** @private */
    renderer: svgBase.SvgRenderer;
    /** @private */
    canvasRenderer: svgBase.CanvasRenderer;
    /** @private */
    secondaryCanvasRenderer: svgBase.CanvasRenderer;
    /** @private */
    svgObject: Element;
    /** @private */
    availableSize: Size;
    /** @private */
    private elementSize;
    /** @private */
    themeStyle: IThemeStyle;
    /** @private */
    isColorRange: boolean;
    /** @private */
    initialClipRect: Rect;
    heatMapAxis: AxisHelper;
    heatMapSeries: Series;
    private drawSvgCanvas;
    private twoDimensional;
    private cellColor;
    /** @private */
    colorCollection: ColorCollection[];
    /** @private */
    legendColorCollection: LegendColorCollection[];
    /** @private */
    tempRectHoverClass: string;
    /** @private */
    legendVisibilityByCellType: boolean;
    /** @private */
    bubbleSizeWithColor: boolean;
    /** @private */
    tempTooltipRectId: string;
    /** @private */
    clonedDataSource: any[];
    /** @private */
    completeAdaptDataSource: Object;
    /** @private */
    xLength: number;
    /** @private */
    yLength: number;
    /** @private */
    isCellTapHold: boolean;
    /** @private */
    selectedCellCount: number;
    /** @private */
    currentRect: CurrentRect;
    /** @private */
    dataSourceMinValue: number;
    /** @private */
    dataMin: number[];
    /** @private */
    dataMax: number[];
    /** @private */
    dataSourceMaxValue: number;
    /** @private */
    minColorValue: number;
    /** @private */
    maxColorValue: number;
    /** @private */
    isColorValueExist: boolean;
    /** @private */
    tooltipTimer: number;
    /** @private */
    gradientTimer: number;
    /** @private */
    legendTooltipTimer: number;
    /** @private */
    resizeTimer: number;
    /** @private */
    emptyPointColor: string;
    /** @private */
    rangeSelection: boolean;
    /** @private */
    toggleValue: ToggleVisibility[];
    /** @private */
    legendOnLoad: boolean;
    /** @private */
    resizing: boolean;
    /** @private */
    rendering: boolean;
    /** @private */
    horizontalGradient: boolean;
    /** @private */
    multiSelection: boolean;
    /** @private */
    rectSelected: boolean;
    /** @private */
    previousRect: CurrentRect;
    /** @private */
    selectedCellsRect: Rect;
    /** @private */
    previousSelectedCellsRect: Rect[];
    /** @private */
    canvasSelectedCells: Rect;
    /** @private */
    multiCellCollection: SelectedCellDetails[];
    /** @private */
    selectedMultiCellCollection: SelectedCellDetails[];
    /** @private */
    tempMultiCellCollection: SelectedCellDetails[][];
    /** @private */
    titleRect: Rect;
    /** @private */
    initialCellX: number;
    /** @private */
    initialCellY: number;
    /**
     * @private
     */
    tooltipCollection: CanvasTooltip[];
    /**
     * @private
     */
    isTouch: boolean;
    /**
     * @private
     */
    isRectBoundary: boolean;
    /**
     * @private
     */
    private border;
    /**
     * Gets the axis of the HeatMap.
     *
     * @hidden
     */
    axisCollections: Axis[];
    /**
     * @private
     */
    intl: base.Internationalization;
    /**
     * @private
     */
    isCellData: boolean;
    private titleCollection;
    /**
     * @private
     */
    mouseX: number;
    /**
     * @private
     */
    mouseY: number;
    /**
     * The `legendModule` is used to display the legend.
     *
     * @private
     */
    legendModule: Legend;
    /**
     * The `tooltipModule` is used to manipulate Tooltip item from base of heatmap.
     *
     * @private
     */
    tooltipModule: Tooltip;
    /**
     * The `adaptorModule` is used to manipulate Adaptor item from base of heatmap.
     *
     * @private
     */
    adaptorModule: Adaptor;
    protected preRender(): void;
    /**
     * Handles the export method for heatmap control.
     *
     * @param type
     * @param fileName
     * @param orientation
     */
    export(type: ExportType, fileName: string, orientation?: pdfExport.PdfPageOrientation): void;
    private initPrivateVariable;
    /**
     * Method to set culture for heatmap
     */
    private setCulture;
    protected render(): void;
    /**
     * To re-calculate the datasource while changing datasource property dynamically.
     *
     * @private
     */
    private reRenderDatasource;
    /**
     * To process datasource property.
     *
     * @private
     */
    private processInitData;
    /**
     * To set render mode of heatmap as SVG or Canvas.
     *
     * @private
     */
    private setRenderMode;
    /**
     * To set bubble helper private property.
     *
     * @private
     */
    private updateBubbleHelperProperty;
    private renderElements;
    /**
     * Get component name
     */
    getModuleName(): string;
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @private
     */
    getPersistData(): string;
    /**
     * @private
     */
    onPropertyChanged(newProp: HeatMapModel, oldProp: HeatMapModel): void;
    private paletteCellSelectionUpdation;
    /**
     * create svg or canvas element
     *
     * @private
     */
    createSvg(): void;
    /**
     *  To Remove the SVG.
     *
     * @private
     */
    removeSvg(): void;
    private renderSecondaryElement;
    /**
     * To provide the array of modules needed for control rendering
     *
     * @returns {base.ModuleDeclaration[]}
     * @private
     */
    requiredModules(): base.ModuleDeclaration[];
    /**
     * To destroy the widget
     * {% codeBlock src='heatmap/destroy/index.md' %}{% endcodeBlock %}
     *
     * @function destroy
     * @returns {void}.
     * @member of Heatmap
     */
    destroy(): void;
    /**
     * Applies all the pending property changes and render the component again.
     *
     * @function destroy
     * @returns {void}.
     */
    refresh(): void;
    /**
     * Appending svg object to the element
     *
     * @private
     */
    private appendSvgObject;
    private renderBorder;
    private calculateSize;
    private renderTitle;
    private titleTooltip;
    private axisTooltip;
    private isHeatmapRect;
    private setTheme;
    private calculateBounds;
    refreshBound(): void;
    private initAxis;
    /**
     * Method to bind events for HeatMap
     */
    private wireEvents;
    /**
     * Applying styles for heatmap element
     */
    private setStyle;
    /**
     * Method to print the heatmap.
     */
    print(): void;
    /**
     * Method to unbind events for HeatMap
     */
    private unWireEvents;
    /**
     * Handles the heatmap resize.
     *
     * @returns {boolean}
     * @private
     */
    heatMapResize(e: Event): boolean;
    /**
     * Method to bind selection after window resize for HeatMap
     */
    private updateCellSelection;
    private clearSVGSelection;
    /**
     * Get the maximum length of data source for both horizontal and vertical
     *
     * @private
     */
    private calculateMaxLength;
    /**
     * To find mouse x, y for aligned heatmap element svg position
     */
    private setMouseXY;
    heatMapMouseClick(e: PointerEvent): boolean;
    /**
     * Handles the mouse Move.
     *
     * @returns {boolean}
     *
     * @private
     */
    heatMapMouseMove(e: PointerEvent): boolean;
    /**
     * Handles the mouse Move.
     *
     * @returns {boolean}
     */
    private mouseAction;
    /**
     * Triggering cell selection
     */
    private cellSelectionOnMouseMove;
    /**
     * Rendering tooltip on mouse move
     */
    private tooltipOnMouseMove;
    /**
     * To select the multiple cells on mouse move action
     */
    private highlightSelectedCells;
    /**
     * Method to get selected cell data collection for HeatMap
     */
    private getDataCollection;
    /**
     * To get the selected datas.
     */
    private getCellCollection;
    /**
     * To remove the selection on mouse click without ctrl key.
     */
    private removeSelectedCellsBorder;
    /**
     * To highlight the selected multiple cells on mouse move action in canvas mode.
     */
    private highlightSelectedAreaInCanvas;
    /**
     * To get the collection of selected cells.
     */
    private getSelectedCellData;
    /**
     * To add class for selected cells
     *
     * @private
     */
    addSvgClass(element: Element): void;
    /**
     * To remove class for unselected cells
     *
     * @private
     */
    removeSvgClass(rectElement: Element, className: string): void;
    /**
     * To clear the multi cell selection
     * {% codeBlock src='heatmap/clearSelection/index.md' %}{% endcodeBlock %}
     */
    clearSelection(): void;
    private renderMousePointer;
    /**
     * Handles the mouse end.
     *
     * @returns {boolean}
     * @private
     */
    heatMapMouseLeave(e: PointerEvent): boolean;
    /**
     * Method to Check for deselection of cell.
     */
    private checkSelectedCells;
    /**
     * Method to remove opacity for text of selected cell for HeatMap
     */
    private removeOpacity;
    /**
     * Method to set opacity for selected cell for HeatMap
     */
    private setCellOpacity;
    /**
     * To create div container for rendering two layers of canvas.
     *
     * @returns {void}
     * @private
     */
    createMultiCellDiv(onLoad: boolean): void;
}
//node_modules/@syncfusion/ej2-heatmap/src/heatmap/index.d.ts
/**
 * Heatmap component exported items
 */
//node_modules/@syncfusion/ej2-heatmap/src/heatmap/legend/legend-model.d.ts
/**
 * Interface for a class LegendSettings
 */
export interface LegendSettingsModel {
    /**
     * Specifies the height of Legend.
     *
     * @default ''
     */
    height?: string;
    /**
     * Specifies the width of Legend.
     *
     * @default ''
     */
    width?: string;
    /**
     * Specifies title of Legend.
     *
     * @default ''
     */
    title?: TitleModel;
    /**
     * Specifies the position of Legend to render.
     *
     * @default 'Right'
     */
    position?: LegendPosition;
    /**
     * Specifies whether the Legend should be visible or not.
     *
     * @default true
     */
    visible?: boolean;
    /**
     * Specifies the alignment of the legend
     *
     * @default 'Center'
     */
    alignment?: Alignment;
    /**
     * Specifies whether the label should be visible or not.
     *
     * @default true
     */
    showLabel?: boolean;
    /**
     * Specifies whether the gradient pointer should be visible or not.
     *
     * @default true
     */
    showGradientPointer?: boolean;
    /**
     * Specifies whether smart legend should be displayed or not when palette type is fixed.
     *
     * @default false
     */
    enableSmartLegend?: boolean;
    /**
     * Specifies the type of label display for smart legend.
     * * All:  All labels are displayed.
     * * Edge: Labels will be displayed only at the edges of the legend.
     * * None: No labels are displayed.
     *
     * @default 'All'
     */
    labelDisplayType?: LabelDisplayType;
    /**
     * Specifies the legend label style.
     *
     * @default ''
     */
    textStyle?: FontModel;
    /**
     * Specifies the formatting options for the legend label.
     *
     * @default ''
     */
    labelFormat?: string;
    /**
     * To toggle the visibility of heatmap cells based on legend range selection
     *
     * @default true
     */
    toggleVisibility?: boolean;
}
/**
 * Interface for a class Legend
 */
export interface LegendModel {
}
//node_modules/@syncfusion/ej2-heatmap/src/heatmap/legend/legend.d.ts
/**
 * Configures the Legend
 */
export  class LegendSettings extends base.ChildProperty<LegendSettings> {
    /**
     * Specifies the height of Legend.
     *
     * @default ''
     */
    height: string;
    /**
     * Specifies the width of Legend.
     *
     * @default ''
     */
    width: string;
    /**
     * Specifies title of Legend.
     *
     * @default ''
     */
    title: TitleModel;
    /**
     * Specifies the position of Legend to render.
     *
     * @default 'Right'
     */
    position: LegendPosition;
    /**
     * Specifies whether the Legend should be visible or not.
     *
     * @default true
     */
    visible: boolean;
    /**
     * Specifies the alignment of the legend
     *
     * @default 'Center'
     */
    alignment: Alignment;
    /**
     * Specifies whether the label should be visible or not.
     *
     * @default true
     */
    showLabel: boolean;
    /**
     * Specifies whether the gradient pointer should be visible or not.
     *
     * @default true
     */
    showGradientPointer: boolean;
    /**
     * Specifies whether smart legend should be displayed or not when palette type is fixed.
     *
     * @default false
     */
    enableSmartLegend: boolean;
    /**
     * Specifies the type of label display for smart legend.
     * * All:  All labels are displayed.
     * * Edge: Labels will be displayed only at the edges of the legend.
     * * None: No labels are displayed.
     *
     * @default 'All'
     */
    labelDisplayType: LabelDisplayType;
    /**
     * Specifies the legend label style.
     *
     * @default ''
     */
    textStyle: FontModel;
    /**
     * Specifies the formatting options for the legend label.
     *
     * @default ''
     */
    labelFormat: string;
    /**
     * To toggle the visibility of heatmap cells based on legend range selection
     *
     * @default true
     */
    toggleVisibility: boolean;
}
/**
 *
 * The `Legend` module is used to render legend for the heatmap.
 */
export  class Legend {
    private heatMap;
    private drawSvgCanvas;
    private legend;
    legendGroup: Rect;
    legendRectScale: Rect;
    maxLegendLabelSize: Size;
    gradientPointer: HTMLElement;
    private legendHeight;
    private legendWidth;
    private height;
    private width;
    private legendRectPadding;
    private gradientScaleSize;
    private segmentCollections;
    private segmentCollectionsLabels;
    private labelPosition;
    private textWrapCollections;
    labelCollections: string[];
    labelCollection: string[];
    private legendMinValue;
    private legendMaxValue;
    private legendSize;
    previousOptions: GradientPointer;
    listPerPage: number;
    private numberOfPages;
    private listHeight;
    private listWidth;
    private legendScale;
    fillRect: Rect;
    private legendRect;
    currentPage: number;
    private lastList;
    navigationCollections: Rect[];
    private pagingRect;
    private labelPadding;
    private paginggroup;
    private translategroup;
    private listInterval;
    legendLabelTooltip: CanvasTooltip[];
    legendTitleTooltip: CanvasTooltip[];
    private numberOfRows;
    private labelXCollections;
    private labelYCollections;
    private legendXCollections;
    private legendYCollections;
    /** @private */
    legendRectPositionCollection: CurrentLegendRect[];
    /** @private */
    legendRange: LegendRange[];
    /** @private */
    legendTextRange: LegendRange[];
    /** @private */
    visibilityCollections: boolean[];
    /** @private */
    tooltipObject: svgBase.Tooltip;
    /** @private */
    format: Function;
    constructor(heatMap?: HeatMap);
    /**
     * Get module name
     */
    protected getModuleName(): string;
    /**
     * To destroy the Legend.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
    /**
     * @private
     */
    renderLegendItems(): void;
    private renderElements;
    private calculateCanvasColorRange;
    private calculateColorRange;
    private renderTitle;
    private renderSmartLegend;
    private colorRangeLegendPosition;
    private renderLegendLabel;
    /**
     * @private
     */
    renderGradientPointer(e: PointerEvent, pageX: number, pageY: number): void;
    /**
     * @private
     */
    removeGradientPointer(): void;
    /**
     * @private
     */
    calculateLegendBounds(rect: Rect): void;
    private calculateTitleBounds;
    private calculateListLegendBounds;
    private getMaxLabelSize;
    /**
     * @private
     */
    calculateLegendSize(rect: Rect, legendTop: number): void;
    private measureListLegendBound;
    private renderPagingElements;
    private calculateGradientScale;
    private calculateColorAxisGrid;
    private renderColorAxisGrid;
    /**
     * @private
     */
    renderLegendTitleTooltip(e: PointerEvent, pageX: number, pageY: number): void;
    /**
     * @private
     */
    renderLegendLabelTooltip(e: PointerEvent, pageX: number, pageY: number): void;
    private calculateListPerPage;
    private renderListLegendMode;
    /**
     * @private
     */
    translatePage(heatMap: HeatMap, page: number, isNext: boolean): void;
    /**
     * To create div container for tooltip which appears on hovering the smart legend.
     *
     * @param heatmap
     * @private
     */
    createTooltipDiv(): void;
    /**
     * To render tooltip for smart legend.
     *
     * @private
     */
    renderTooltip(currentLegendRect: CurrentLegendRect): void;
    /**
     * To create tooltip for smart legend.
     *
     * @private
     */
    createTooltip(pageX: number, pageY: number): void;
    /**
     * Toggle the visibility of cells based on legend selection
     *
     * @private
     */
    legendRangeSelection(index: number): void;
    /**
     * update visibility collections of legend and series
     *
     * @private
     */
    updateLegendRangeCollections(): void;
}
//node_modules/@syncfusion/ej2-heatmap/src/heatmap/model/base-model.d.ts
/**
 * Interface for a class Font
 */
export interface FontModel {
    /**
     * Font size for the text.
     *
     * @default '16px'
     */
    size?: string;
    /**
     * Color for the text.
     *
     * @default ''
     */
    color?: string;
    /**
     * FontFamily for the text.
     */
    fontFamily?: string;
    /**
     * FontWeight for the text.
     *
     * @default 'Normal'
     */
    fontWeight?: string;
    /**
     * FontStyle for the text.
     *
     * @default 'Normal'
     */
    fontStyle?: string;
    /**
     * text alignment
     *
     * @default 'Center'
     */
    textAlignment?: Alignment;
    /**
     * Specifies the heat map text overflow
     *
     * @default 'Trim'
     */
    textOverflow?: TextOverflow;
}
/**
 * Interface for a class Margin
 */
export interface MarginModel {
    /**
     * Left margin in pixels.
     *
     * @default 10
     */
    left?: number;
    /**
     * Right margin in pixels.
     *
     * @default 10
     */
    right?: number;
    /**
     * Top margin in pixels.
     *
     * @default 10
     */
    top?: number;
    /**
     * Bottom margin in pixels.
     *
     * @default 10
     */
    bottom?: number;
}
/**
 * Interface for a class Border
 */
export interface BorderModel {
    /**
     * The color of the border that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default ''
     */
    color?: string;
    /**
     * The width of the border in pixels.
     *
     * @default 1
     */
    width?: number;
    /**
     * The radius of the border in pixels.
     *
     * @default ''
     */
    radius?: number;
}
/**
 * Interface for a class TooltipBorder
 */
export interface TooltipBorderModel {
    /**
     * The color of the border that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default ''
     */
    color?: string;
    /**
     * The width of the border in pixels.
     *
     * @default 0
     */
    width?: number;
}
/**
 * Interface for a class BubbleData
 */
export interface BubbleDataModel {
    /**
     * Mapping property to set size.
     *
     * @default null
     */
    size?: string;
    /**
     * Mapping property to set color.
     *
     * @default null
     */
    color?: string;
}
/**
 * Interface for a class Title
 */
export interface TitleModel {
    /**
     * Title text
     *
     * @default ''
     */
    text?: string;
    /**
     * Options for customizing the title.
     */
    textStyle?: FontModel;
}
/**
 * Interface for a class FillColor
 */
export interface FillColorModel {
    /**
     * minimum fill color for cell color range
     *
     * @default '#eeeeee'
     */
    minColor?: string;
    /**
     * maximum fill color for cell color range
     *
     * @default '#eeeeee'
     */
    maxColor?: string;
}
/**
 * Interface for a class PaletteCollection
 */
export interface PaletteCollectionModel {
    /**
     * Palette color value
     *
     * @default null
     */
    value?: number;
    /**
     * Palette color text
     *
     * @default ''
     */
    color?: string;
    /**
     * Palette color label
     *
     * @default ''
     */
    label?: string;
    /**
     * Palette start value
     *
     * @default null
     */
    startValue?: number;
    /**
     * Palette end value
     *
     * @default null
     */
    endValue?: number;
    /**
     * Palette minColor value
     *
     * @default null
     */
    minColor?: string;
    /**
     * Palette maxColor value
     *
     * @default null
     */
    maxColor?: string;
}
/**
 * Interface for a class AxisLabelBorder
 */
export interface AxisLabelBorderModel {
    /**
     * The color of the border that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default ''
     */
    color?: string;
    /**
     * The width of the border in pixels.
     *
     * @default 1
     */
    width?: number;
    /**
     * Border type for labels
     * * Rectangle
     * * Without Top Border
     * * Without Top/Bottom Border
     * * Without Border
     * * Without Bottom Border
     * * Brace
     *
     * @default 'Rectangle'
     */
    type?: BorderType;
}
/**
 * Interface for a class BubbleSize
 */
export interface BubbleSizeModel {
    /**
     * Specifies the minimum radius value of the cell in percentage.
     *
     * @default '0%'
     */
    minimum?: string;
    /**
     * Specifies the maximum radius value of the cell in percentage.
     *
     * @default '100%'
     */
    maximum?: string;
}
/**
 * Interface for a class MultiLevelCategories
 */
export interface MultiLevelCategoriesModel {
    /**
     * Start value of the multi level labels
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    start?: number | Date | string;
    /**
     * End value of the multi level labels
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    end?: number | Date | string;
    /**
     * multi level labels text.
     *
     * @default ''
     */
    text?: string;
    /**
     * Maximum width of the text for multi level labels.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    maximumTextWidth?: number;
}
/**
 * Interface for a class MultiLevelLabels
 */
export interface MultiLevelLabelsModel {
    /**
     * Defines the position of the multi level labels. They are,
     * * Near: Places the multi level labels at Near.
     * * Center: Places the multi level labels at Center.
     * * Far: Places the multi level labels at Far.
     *
     * @default 'Center'
     */
    alignment?: Alignment;
    /**
     * Defines the textOverFlow for multi level labels. They are,
     * * Trim: Trim textOverflow for multi level labels.
     * * Wrap: Wrap textOverflow for multi level labels.
     * * none: None textOverflow for multi level labels.
     *
     * @default 'Wrap'
     */
    overflow?: TextOverflow;
    /**
     * Options to customize the multi level labels.
     */
    textStyle?: FontModel;
    /**
     * Border of the multi level labels.
     */
    border?: AxisLabelBorderModel;
    /**
     * multi level categories for multi level labels.
     */
    categories?: MultiLevelCategoriesModel[];
}
/**
 * Interface for a class ColorCollection
 */
export interface ColorCollectionModel {
}
/**
 * Interface for a class BubbleTooltipData
 */
export interface BubbleTooltipDataModel {
}
/**
 * Interface for a class LegendColorCollection
 */
export interface LegendColorCollectionModel {
}
/**
 * Interface for a class MultipleRow
 */
export interface MultipleRowModel {
}
//node_modules/@syncfusion/ej2-heatmap/src/heatmap/model/base.d.ts
/**
 * Configures the fonts in heat map.
 */
export  class Font extends base.ChildProperty<Font> {
    /**
     * Font size for the text.
     *
     * @default '16px'
     */
    size: string;
    /**
     * Color for the text.
     *
     * @default ''
     */
    color: string;
    /**
     * FontFamily for the text.
     */
    fontFamily: string;
    /**
     * FontWeight for the text.
     *
     * @default 'Normal'
     */
    fontWeight: string;
    /**
     * FontStyle for the text.
     *
     * @default 'Normal'
     */
    fontStyle: string;
    /**
     * text alignment
     *
     * @default 'Center'
     */
    textAlignment: Alignment;
    /**
     * Specifies the heat map text overflow
     *
     * @default 'Trim'
     */
    textOverflow: TextOverflow;
}
/**
 * Configures the heat map margins.
 */
export  class Margin extends base.ChildProperty<Margin> {
    /**
     * Left margin in pixels.
     *
     * @default 10
     */
    left: number;
    /**
     * Right margin in pixels.
     *
     * @default 10
     */
    right: number;
    /**
     * Top margin in pixels.
     *
     * @default 10
     */
    top: number;
    /**
     * Bottom margin in pixels.
     *
     * @default 10
     */
    bottom: number;
}
/**
 * Configures the borders in the heat map.
 */
export  class Border extends base.ChildProperty<Border> {
    /**
     * The color of the border that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default ''
     */
    color: string;
    /**
     * The width of the border in pixels.
     *
     * @default 1
     */
    width: number;
    /**
     * The radius of the border in pixels.
     *
     * @default ''
     */
    radius: number;
}
/**
 * Configures the tooltip borders in the heat map.
 */
export  class TooltipBorder extends base.ChildProperty<TooltipBorder> {
    /**
     * The color of the border that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default ''
     */
    color: string;
    /**
     * The width of the border in pixels.
     *
     * @default 0
     */
    width: number;
}
/**
 * Configures the mapping name for size and color in SizeAndColor type.
 */
export  class BubbleData extends base.ChildProperty<BubbleData> {
    /**
     * Mapping property to set size.
     *
     * @default null
     */
    size: string;
    /**
     * Mapping property to set color.
     *
     * @default null
     */
    color: string;
}
/**
 * class used to maintain Title styles.
 */
export  class Title extends base.ChildProperty<Title> {
    /**
     * Title text
     *
     * @default ''
     */
    text: string;
    /**
     * Options for customizing the title.
     */
    textStyle: FontModel;
}
/**
 * class used to maintain the fill color value for cell color range
 */
export  class FillColor extends base.ChildProperty<FillColor> {
    /**
     * minimum fill color for cell color range
     *
     * @default '#eeeeee'
     */
    minColor: string;
    /**
     * maximum fill color for cell color range
     *
     * @default '#eeeeee'
     */
    maxColor: string;
}
/**
 * class used to maintain palette information.
 */
export  class PaletteCollection extends base.ChildProperty<PaletteCollection> {
    /**
     * Palette color value
     *
     * @default null
     */
    value: number;
    /**
     * Palette color text
     *
     * @default ''
     */
    color: string;
    /**
     * Palette color label
     *
     * @default ''
     */
    label: string;
    /**
     * Palette start value
     *
     * @default null
     */
    startValue: number;
    /**
     * Palette end value
     *
     * @default null
     */
    endValue: number;
    /**
     * Palette minColor value
     *
     * @default null
     */
    minColor: string;
    /**
     * Palette maxColor value
     *
     * @default null
     */
    maxColor: string;
}
/**
 * label border properties.
 */
export  class AxisLabelBorder extends base.ChildProperty<AxisLabelBorder> {
    /**
     * The color of the border that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default ''
     */
    color: string;
    /**
     * The width of the border in pixels.
     *
     * @default 1
     */
    width: number;
    /**
     * Border type for labels
     * * Rectangle
     * * Without Top Border
     * * Without Top/Bottom Border
     * * Without Border
     * * Without Bottom Border
     * * Brace
     *
     * @default 'Rectangle'
     */
    type: BorderType;
}
export  class BubbleSize extends base.ChildProperty<BubbleSize> {
    /**
     * Specifies the minimum radius value of the cell in percentage.
     *
     * @default '0%'
     */
    minimum: string;
    /**
     * Specifies the maximum radius value of the cell in percentage.
     *
     * @default '100%'
     */
    maximum: string;
}
/**
 * categories for multi level labels
 */
export  class MultiLevelCategories extends base.ChildProperty<MultiLevelCategories> {
    /**
     * Start value of the multi level labels
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    start: number | Date | string;
    /**
     * End value of the multi level labels
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    end: number | Date | string;
    /**
     * multi level labels text.
     *
     * @default ''
     */
    text: string;
    /**
     * Maximum width of the text for multi level labels.
     *
     * @default null
     * @aspDefaultValueIgnore
     */
    maximumTextWidth: number;
}
/**
 * MultiLevelLabels properties
 */
export  class MultiLevelLabels extends base.ChildProperty<MultiLevelLabels[]> {
    /**
     * Defines the position of the multi level labels. They are,
     * * Near: Places the multi level labels at Near.
     * * Center: Places the multi level labels at Center.
     * * Far: Places the multi level labels at Far.
     *
     * @default 'Center'
     */
    alignment: Alignment;
    /**
     * Defines the textOverFlow for multi level labels. They are,
     * * Trim: Trim textOverflow for multi level labels.
     * * Wrap: Wrap textOverflow for multi level labels.
     * * none: None textOverflow for multi level labels.
     *
     * @default 'Wrap'
     */
    overflow: TextOverflow;
    /**
     * Options to customize the multi level labels.
     */
    textStyle: FontModel;
    /**
     * Border of the multi level labels.
     */
    border: AxisLabelBorderModel;
    /**
     * multi level categories for multi level labels.
     */
    categories: MultiLevelCategoriesModel[];
}
/**
 * Internal class used to maintain colorcollection.
 */
export  class ColorCollection {
    value: number;
    color: string;
    label: string;
    startValue: number;
    endValue: number;
    minColor: string;
    maxColor: string;
    constructor(value: number, color: string, label: string, startValue: number, endValue: number, minColor: string, maxColor: string);
}
/**
 * class used to maintain color and value collection.
 */
export  class BubbleTooltipData {
    mappingName: string;
    bubbleData: number;
    valueType: string;
    constructor(mappingName: string, bubbleData: number, valueType: string);
}
/**
 * Internal class used to maintain legend colorcollection.
 */
export  class LegendColorCollection {
    value: number;
    color: string;
    label: string;
    startValue: number;
    endValue: number;
    minColor: string;
    maxColor: string;
    isHidden: boolean;
    constructor(value: number, color: string, label: string, startValue: number, endValue: number, minColor: string, maxColor: string, isHidden: boolean);
}
/**
 * class used to maintain xAxis labels details for multipleRow label intersect action.
 */
export  class MultipleRow {
    start: number;
    end: number;
    index: number;
    label: string;
    row: number;
    constructor(start: number, end: number, index: number, label: string, row: number);
}
//node_modules/@syncfusion/ej2-heatmap/src/heatmap/model/interface.d.ts
/** @private */
export interface IFontMapping {
    size?: string;
    color?: string;
    fontWeight?: string;
    fontStyle?: string;
    fontFamily?: string;
    textOverflow?: TextOverflow;
}
/**
 * Specifies the Theme style for heat map
 */
export interface IThemeStyle {
    heatMapTitle: string;
    axisTitle: string;
    axisLabel: string;
    legendLabel: string;
    background: string;
    cellBorder: string;
    cellTextColor: string;
    toggledColor: string;
    emptyCellColor: string;
    palette: PaletteCollectionModel[];
}
export interface ILoadedEventArgs extends IHeatMapEventArgs {
    /** Defines the current heatmap instance */
    heatmap: HeatMap;
}
export interface IHeatMapEventArgs {
    /** Defines the name of the event */
    name: string;
    /** Defines the event cancel status */
    cancel: boolean;
}
export interface ICellClickEventArgs extends IHeatMapEventArgs {
    /** Defines the current HeatMap instance */
    heatmap: HeatMap;
    /** Defines current clicked cell element */
    cellElement: Element;
    /** Defines current clicked cell value */
    value: number;
    /** Defines x-axis label for current clicked cell */
    xLabel: string;
    /** Defines y-axis label for current clicked cell */
    yLabel: string;
    /** Defines x-axis value for current clicked cell */
    xValue: string | number | Date;
    /** Defines y-axis value for current clicked cell */
    yValue: string | number | Date;
    /** Defines mouse event */
    event: PointerEvent;
}
export interface ITooltipEventArgs extends IHeatMapEventArgs {
    /** Defines the current HeatMap instance */
    heatmap: HeatMap;
    /** Defines current hover cell value */
    value: number | BubbleTooltipData[];
    /** Defines x-axis label for current hover cell */
    xLabel: string;
    /** Defines y-axis label for current hover cell */
    yLabel: string;
    /** Defines x-axis value for current hover cell */
    xValue: string | number | Date;
    /** Defines y-axis value for current hover cell */
    yValue: string | number | Date;
    /** Defines tooltip text value */
    content: string[];
}
export interface ICellEventArgs extends IHeatMapEventArgs {
    /** Defines the current HeatMap instance */
    heatmap: HeatMap;
    /** Defines current hover cell value */
    value: number | BubbleTooltipData[];
    /** Defines x-axis label */
    xLabel: string;
    /** Defines y-axis label */
    yLabel: string;
    /** Defines x-axis value */
    xValue: string | number | Date;
    /** Defines y-axis value */
    yValue: string | number | Date;
    /** Defines cell value */
    displayText: string;
    /** Defines cell color of a particular cell */
    cellColor: string;
}
export interface ISelectedEventArgs extends IHeatMapEventArgs {
    /** Defines the current HeatMap instance */
    heatmap: HeatMap;
    /** Defines details of a cell */
    data: SelectedCellDetails[];
}
export interface IResizeEventArgs extends IHeatMapEventArgs {
    /** Defines the previous size of the heatmap */
    previousSize: Size;
    /** Defines the current size of the heatmap */
    currentSize: Size;
    /** Defines the current HeatMap instance */
    heatmap: HeatMap;
}
export interface ILegendRenderEventArgs extends IHeatMapEventArgs {
    /** Defines the current legend text */
    text: string;
}
//node_modules/@syncfusion/ej2-heatmap/src/heatmap/model/theme.d.ts
/**
 * Specifies HeatMaps Themes
 */
export  namespace Theme {
    /** @private */
    const heatMapTitleFont: IFontMapping;
    /** @private */
    const titleFont: IFontMapping;
    /** @private */
    const axisTitleFont: IFontMapping;
    /** @private */
    let axisLabelFont: IFontMapping;
    /** @private */
    const legendLabelFont: IFontMapping;
    /** @private */
    const rectLabelFont: IFontMapping;
    /** @private */
    const tooltipFont: IFontMapping;
}
/**
 * Functions to check whether target object implement specific interface.
 *
 * @param  { HeatMapTheme } theme - specifies the value.
 * @returns { IThemeStyle } returns the theme style
 */
export  function getThemeColor(theme: HeatMapTheme): IThemeStyle;
//node_modules/@syncfusion/ej2-heatmap/src/heatmap/series/series-model.d.ts
/**
 * Interface for a class CellSettings
 */
export interface CellSettingsModel {
    /**
     * Toggles the visibility of data label over the heatmap cells.
     *
     * @default true
     */
    showLabel?: boolean;
    /**
     * Specifies the formatting options for the data label.
     *
     * @default ''
     */
    format?: string;
    /**
     * Enable or disable the cell highlighting on mouse hover
     *
     * @default true
     */
    enableCellHighlighting?: boolean;
    /**
     * Specifies the minimum and maximum radius value of the cell in percentage.
     *
     * @default ''
     */
    bubbleSize?: BubbleSizeModel;
    /**
     * Specifies the cell border style.
     *
     * @default ''
     */
    border?: BorderModel;
    /**
     * Specifies the cell label style.
     *
     * @default ''
     */
    textStyle?: FontModel;
    /**
     * Defines cell Type. They are
     * * Rect: Render a HeatMap cells in rectangle shape.
     * * Bubble: Render a HeatMap cells in bubble shape.
     *
     * @default 'Rect'
     */
    tileType?: CellType;
    /**
     * Defines Bubble Type. They are
     * * Size: Define the bubble type is size.
     * * Color: Define the bubble type is color.
     * * Sector: Define the bubble type is sector.
     * * SizeAndColor: Define the bubble type is sizeandcolor.
     *
     * @default 'Color'
     */
    bubbleType?: BubbleType;
    /**
     * Enable or disable the bubble to display in inverse
     *
     * @default true
     */
    isInversedBubbleSize?: boolean;
}
/**
 * Interface for a class Series
 */
export interface SeriesModel {
}
//node_modules/@syncfusion/ej2-heatmap/src/heatmap/series/series.d.ts
/**
 * Configures the CellSettings property in the Heatmap.
 */
export  class CellSettings extends base.ChildProperty<CellSettings> {
    /**
     * Toggles the visibility of data label over the heatmap cells.
     *
     * @default true
     */
    showLabel: boolean;
    /**
     * Specifies the formatting options for the data label.
     *
     * @default ''
     */
    format: string;
    /**
     * Enable or disable the cell highlighting on mouse hover
     *
     * @default true
     */
    enableCellHighlighting: boolean;
    /**
     * Specifies the minimum and maximum radius value of the cell in percentage.
     *
     * @default ''
     */
    bubbleSize: BubbleSizeModel;
    /**
     * Specifies the cell border style.
     *
     * @default ''
     */
    border: BorderModel;
    /**
     * Specifies the cell label style.
     *
     * @default ''
     */
    textStyle: FontModel;
    /**
     * Defines cell Type. They are
     * * Rect: Render a HeatMap cells in rectangle shape.
     * * Bubble: Render a HeatMap cells in bubble shape.
     *
     * @default 'Rect'
     */
    tileType: CellType;
    /**
     * Defines Bubble Type. They are
     * * Size: Define the bubble type is size.
     * * Color: Define the bubble type is color.
     * * Sector: Define the bubble type is sector.
     * * SizeAndColor: Define the bubble type is sizeandcolor.
     *
     * @default 'Color'
     */
    bubbleType: BubbleType;
    /**
     * Enable or disable the bubble to display in inverse
     *
     * @default true
     */
    isInversedBubbleSize: boolean;
}
export  class Series {
    private heatMap;
    private drawSvgCanvas;
    private cellColor;
    private text;
    private color;
    private bubbleColorValue;
    hoverXAxisLabel: string | number;
    hoverYAxisLabel: string | number;
    hoverXAxisValue: string | number | Date;
    hoverYAxisValue: string | number | Date;
    constructor(heatMap?: HeatMap);
    /** @private */
    containerRectObject: Element;
    /** @private */
    containerTextObject: Element;
    /** @private */
    format: Function;
    checkLabelYDisplay: boolean;
    checkLabelXDisplay: boolean;
    rectPositionCollection: CurrentRect[][];
    /**
     * To render rect series.
     *
     * @returns {void}
     * @private
     */
    renderRectSeries(): void;
    /**
     * To toggle the cell text color based on legend selection.
     */
    private isCellValueInRange;
    /**
     * To customize the cell.
     *
     * @returns {void}
     * @private
     */
    cellRendering(rectPosition: CurrentRect, text: string): string;
    /**
     * To set color and text details.
     *
     * @private
     */
    private setTextAndColor;
    /**
     * To update rect details.
     *
     * @private
     */
    private createSeriesGroup;
    /**
     * To update rect details.
     *
     * @private
     */
    private updateRectDetails;
    /**
     * To Render Tile Cell.
     *
     * @private
     */
    private renderTileCell;
    /**
     * To get bubble radius.
     *
     * @private
     */
    private getBubbleRadius;
    /**
     * To Render Bubble Cell.
     *
     * @private
     */
    private renderSectorCell;
    /**
     * To Render sector Cell.
     *
     * @private
     */
    private calculateShapes;
    /**
     * To Render Bubble Cell.
     *
     * @private
     */
    private renderBubbleCell;
    /**
     * To find whether the X,Y Label need to display or not.
     *
     * @private
     */
    private updateLabelVisibleStatus;
    /**
     * To find percentage value.
     *
     * @private
     */
    private getRadiusBypercentage;
    /**
     * To find saturated color for datalabel.
     *
     * @returns {string}
     * @private
     */
    private getSaturatedColor;
    /**
     * To highlight the mouse hovered rect cell.
     *
     * @returns {void}
     * @private
     */
    highlightSvgRect(tempID: string): void;
    /**
     * To get the value depends to format.
     *
     * @returns {string}
     * @private
     */
    getFormatedText(val: number, getFormat: string): string;
    /**
     * To get mouse hovered cell details.
     *
     * @returns {CurrentRect}
     * @private
     */
    getCurrentRect(x: number, y: number): CurrentRect;
}
//node_modules/@syncfusion/ej2-heatmap/src/heatmap/utils/colorMapping-model.d.ts
/**
 * Interface for a class PaletteSettings
 */
export interface PaletteSettingsModel {
    /**
     * Specifies the color collection for heat map cell.
     *
     * @default ''
     */
    palette?: PaletteCollectionModel[];
    /**
     * Specifies the color style
     * * Gradient - Render a HeatMap cells with linear gradient color.
     * * Fixed - Render a HeatMap cells with fixed color.
     *
     * @default 'Gradient'
     */
    type?: PaletteType;
    /**
     * Specifies the color for empty points in Heatmap.
     *
     * @default ''
     */
    emptyPointColor?: string;
    /**
     * Specifies the colorGradientMode in Heatmap.
     *
     * @default 'Table'
     */
    colorGradientMode?: ColorGradientMode;
    /**
     * Options to set fill colors.
     */
    fillColor?: FillColorModel;
}
/**
 * Interface for a class RgbColor
 */
export interface RgbColorModel {
}
/**
 * Interface for a class CellColor
 */
export interface CellColorModel {
}
//node_modules/@syncfusion/ej2-heatmap/src/heatmap/utils/colorMapping.d.ts
/**
 * Configures the color property in Heatmap.
 */
export  class PaletteSettings extends base.ChildProperty<PaletteSettings> {
    /**
     * Specifies the color collection for heat map cell.
     *
     * @default ''
     */
    palette: PaletteCollectionModel[];
    /**
     * Specifies the color style
     * * Gradient - Render a HeatMap cells with linear gradient color.
     * * Fixed - Render a HeatMap cells with fixed color.
     *
     * @default 'Gradient'
     */
    type: PaletteType;
    /**
     * Specifies the color for empty points in Heatmap.
     *
     * @default ''
     */
    emptyPointColor: string;
    /**
     * Specifies the colorGradientMode in Heatmap.
     *
     * @default 'Table'
     */
    colorGradientMode: ColorGradientMode;
    /**
     * Options to set fill colors.
     */
    fillColor: FillColorModel;
}
/**
 * Helper class for colormapping
 */
export  class RgbColor {
    R: number;
    G: number;
    B: number;
    constructor(r: number, g: number, b: number);
}
export  class CellColor {
    heatMap: HeatMap;
    constructor(heatMap?: HeatMap);
    /**
     * To convert hexa color to RGB.
     *
     * @returns {any}
     * @private
     */
    convertToRGB(value: number, colorMapping: ColorCollection[]): RgbColor;
    /**
     * To convert RGB to HEX.
     *
     * @returns {string}
     * @private
     */
    rgbToHex(r: number, g: number, b: number): string;
    /**
     * To convert Component to HEX.
     *
     * @returns {string}
     * @private
     */
    protected componentToHex(c: number): string;
    /**
     * To get similar color.
     *
     * @returns {string}
     * @private
     */
    protected getEqualColor(list: ColorCollection[], offset: number): string;
    /**
     * To convert RGB to HEX.
     *
     * @returns {string}
     * @private
     */
    protected convertToHex(color: string): string;
    /**
     * To get RGB for percentage value.
     *
     * @returns {any}
     * @private
     */
    protected getPercentageColor(percent: number, previous: string, next: string): RgbColor;
    /**
     * To convert numbet to percentage.
     *
     * @returns {any}
     * @private
     */
    protected getPercentage(percent: number, previous: number, next: number): number;
    /**
     * To get complete color Collection.
     *
     * @private
     */
    getColorCollection(): void;
    /**
     * To update legend color Collection.
     *
     * @private
     */
    private updateLegendColorCollection;
    /**
     * To get ordered palette color collection.
     *
     * @private
     */
    private orderbyOffset;
    /**
     * To get color depends to value.
     *
     * @private
     */
    getColorByValue(text: number): string;
}
//node_modules/@syncfusion/ej2-heatmap/src/heatmap/utils/enum.d.ts
/**
 * Defines the Alignment. They are
 * * near - Align the element to the left.
 * * center - Align the element to the center.
 * * far - Align the element to the right.
 * *
 */
export  type Alignment = 
/** Define the left alignment. */
'Near' | 
/** Define the center alignment. */
'Center' | 
/** Define the right alignment. */
'Far';
/**
 * Export Type
 */
export  type ExportType = 
/** Used to export a image as png format */
'PNG' | 
/** Used to export a image as jpeg format */
'JPEG' | 
/** Used to export a file as svg format */
'SVG' | 
/** Used to export a file as pdf format */
'PDF';
/**
 * Defines Theme of the heatmap.
 */
export  type HeatMapTheme = 
/**  Render a HeatMap with Material theme. */
'Material' | 
/**  Render a HeatMap with Fabric theme. */
'Fabric' | 
/**  Render a HeatMap with Bootstrap theme. */
'Bootstrap' | 
/**  Render a HeatMap with Bootstrap4 theme. */
'Bootstrap4' | 
/**  Render a HeatMap with Highcontrast Light theme. */
'HighContrastLight' | 
/**  Render a HeatMap with Material Dark theme. */
'MaterialDark' | 
/**  Render a HeatMap with Fabric Dark theme. */
'FabricDark' | 
/**  Render a HeatMap with HighContrast theme. */
'HighContrast' | 
/**  Render a HeatMap with Bootstrap Dark theme. */
'BootstrapDark' | 
/**  Render a HeatMap with TailwindDark theme. */
'TailwindDark' | 
/**  Render a HeatMap with Tailwind theme. */
'Tailwind' | 
/**  Render a HeatMap with Bootstrap5 theme. */
'Bootstrap5' | 
/**  Render a HeatMap with Bootstrap5Dark theme. */
'Bootstrap5Dark' | 
/**  Render a HeatMap with Fluent theme. */
'Fluent' | 
/**  Render a HeatMap with Fluent Dark theme. */
'FluentDark';
export  type Orientation = 
/**  Horizontal Axis. */
'Horizontal' | 
/**  Vertical Axis. */
'Vertical';
/**
 * Defines the type of axis. They are
 * * double -  Renders a numeric axis.
 * * dateTime - Renders a dateTime axis.
 * * category - Renders a category axis.
 */
export  type ValueType = 
/** Define the numeric axis. */
'Numeric' | 
/** Define the DateTime axis. */
'DateTime' | 
/** Define the Category axis . */
'Category';
/**
 * Defines Color type for heat map cell.
 * * Gradient - Render a HeatMap cells with linear gradient color.
 * * Fixed - Render a HeatMap cells with fixed color.
 */
export  type PaletteType = 
/** Define the graident type color. */
'Gradient' | 
/** Define the Fixed type color */
'Fixed';
/**
 * Defines cell Type. They are
 * * Rect - Render a HeatMap cells in rectangle shape.
 * * Bubble - Render a HeatMap cells in bubble shape.
 */
export  type CellType = 
/**  Render a HeatMap cells in rectangle shape. */
'Rect' | 
/**  Render a HeatMap cells in bubble shape. */
'Bubble';
/**
 * Defines Bubble Type. They are
 * * Size - Define the bubble type is size.
 * * Color - Define the bubble type is color.
 * * Sector - Define the bubble type is sector.
 * * SizeAndColor - Define the bubble type is sizeandcolor.
 */
export  type BubbleType = 
/**  Define the bubble type is size. */
'Size' | 
/**  Define the bubble type is color. */
'Color' | 
/**  Define the bubble type is sector. */
'Sector' | 
/**  SizeAndColor - Define the bubble type is sizeandcolor. */
'SizeAndColor';
/**
 * Defines the interval type of datetime axis. They are
 * * years - Define the interval of the axis in years.
 * * months - Define the interval of the axis in months.
 * * days - Define the interval of the axis in days.
 * * hours - Define the interval of the axis in hours.
 * * minutes - Define the interval of the axis in minutes.
 */
export  type IntervalType = 
/** Define the interval of the axis in years. */
'Years' | 
/** Define the interval of the axis in months. */
'Months' | 
/** Define the interval of the axis in days. */
'Days' | 
/** Define the interval of the axis in hours. */
'Hours' | 
/** Define the interval of the axis in minutes. */
'Minutes';
/**
 * Defines the Legend position
 * Left - Legend in the left position
 * Right - Legend in the left right  position
 * Up - Legend in the left up  position
 * Down -Legend in the left down position
 */
export  type LegendPosition = 'Left' | 'Right' | 'Top' | 'Bottom';
/**
 * Defines the text over flow
 * None - Used to show the heat map text with overlap to other element
 * Wrap - Used to show the heat map text with Wrap support
 * Trim - Used to show the heat map text with Trim
 */
export  type TextOverflow = 
/** Used to show the heat map text with overlap to other element */
'None' | 
/** Used to show the heat map text with Wrap support */
'Wrap' | 
/** Used to show the heat map text with Wrap support */
'Trim';
/**
 * specify the adapter type in heat map
 * Cell - Heat map is rendering using cell type data source
 * Table - Heat map is rendering using table type data source
 */
export  type AdaptorType = 
/** Defines the data source type is cell */
'Cell' | 
/** Defines the data source type is table */
'Table' | 
/** Defines no adaptor type is used for data source */
'None';
/**
 * specify the rendering mode
 * SVG - Heat map is render using SVG draw mode.
 * Canvas - Heat map is render using Canvas draw mode.
 * Auto - Automatically switch the draw mode based on number of records in data source.
 */
export  type DrawType = 
/** Heat map is render using SVG draw mode. */
'SVG' | 
/** Heat map is render using Canvas draw mode */
'Canvas' | 
/** Automatically switch the draw mode based on number of records in data source. */
'Auto';
/**
 * specify the label intersect action for axis
 * None - Shows all the labels with overlap.
 * Trim - Trim the label when it intersect.
 * Rotate45 - Rotate the label to 45 degree when it intersect.
 * MultipleRows - Shows all the labels in multiple rows when it intersect.
 */
export  type LabelIntersectAction = 
/** Shows all the labels. */
'None' | 
/** Trim the label when it intersect. */
'Trim' | 
/** Rotate the label to 45 degree when it intersect. */
'Rotate45' | 
/** Multiple row when intersect. */
'MultipleRows';
/**
 * Specifies the type of label display for smart legend.
 * * All:  All labels are displayed.
 * * Edge: Labels will be displayed only at the edges of the legend.
 * * None: No labels are displayed.
 */
export  type LabelDisplayType = 
/**  All labels are displayed */
'All' | 
/** Labels will be displayed only at the edges of the legend */
'Edge' | 
/** No labels are displayed */
'None';
/**
 * Defines the axis label display type for date time axis.  They are
 * * None: Axis labels displayed based on the value type
 * * years - Define the axis labels display in every year.
 * * months - Define the axis labels display in every month.
 * * days - Define the axis labels display in every days.
 * * hours - Define the axis labels display in every hours.
 */
export  type LabelType = 
/** Axis labels displayed based on the value type */
'None' | 
/** Define the axis labels display in every year. */
'Years' | 
/** Define the axis labels display in every month. */
'Months' | 
/**  Define the axis labels display in every day. */
'Days' | 
/** Define the axis labels display in every hour. */
'Hours';
/**
 * Defines border type for multi level labels.
 *  * Rectangle
 *  * Brace
 *  * WithoutBorder
 *  * Without top Border
 *  * Without top and bottom border
 *  * Without bottom Border
 */
export  type BorderType = 
/** Rectangle */
'Rectangle' | 
/** WithoutTopBorder */
'WithoutTopBorder' | 
/** WithoutBottomBorder */
'WithoutBottomBorder' | 
/** WithoutBorder */
'WithoutBorder' | 
/** WithoutTopandBottomBorder */
'WithoutTopandBottomBorder' | 
/** CurlyBrace */
'Brace';
/**
 * Specifies the type of label display for smart legend.
 * * Table:  Calculated Minimum and Maximum for Overall dataSource.
 * * Row: Calculated Minimum and Maximum for Every Row.
 * * Column : Calculated Minimum and Maximum for Every Column.
 */
export  type ColorGradientMode = 
/**  Calculate minimum and maximum for overall datasource */
'Table' | 
/** Calculate minimum and maximum for each row */
'Row' | 
/** Calculate minimum and maximum for each column */
'Column';
//node_modules/@syncfusion/ej2-heatmap/src/heatmap/utils/export.d.ts
export  class ExportUtils {
    private control;
    private printWindow;
    /**
     * Constructor for Heatmap
     *
     * @param  {HeatMap} control - specifies the control
     *
     */
    constructor(control: HeatMap);
    /**
     * To export the file as image/svg format
     *
     * @param type
     * @param fileName
     * @private
     */
    export(type: ExportType, fileName: string, orientation?: pdfExport.PdfPageOrientation): void;
    /**
     * To trigger the download element
     *
     * @param fileName
     * @param type
     * @param url
     * @private
     */
    triggerDownload(fileName: string, type: ExportType, url: string, isDownload: boolean): void;
    /**
     * To get the maximum size value
     *
     * @param controls
     * @param name
     */
    private getControlsValue;
    private createCanvas;
    private exportPdf;
    private doExport;
    private exportImage;
    /**
     * To print the heatmap elements.
     *
     * @param elements
     * @private
     */
    print(): void;
    /**
     * To get the html string of the heatmap.
     *
     * @param elements
     * @private
     */
    private getHTMLContent;
}
//node_modules/@syncfusion/ej2-heatmap/src/heatmap/utils/helper.d.ts
/**
 * Function to check whether target object implement specific interface
 *
 * @param  {string} value - specifies the value
 * @param  {number} containerSize - specifies the containerSize
 * @returns {number} returns the number
 * @hidden
 */
export  function stringToNumber(value: string, containerSize: number): number;
/**
 * Function to check whether target object implement specific interface
 *
 * @param  {string} text - specifies the text
 * @param  {FontModel} font - specifies the font
 * @returns {Size} returns the number
 * @hidden
 */
export  function measureText(text: string, font: FontModel): Size;
/** @private */
export  class TextElement {
    ['font-size']: string;
    ['font-style']: string;
    ['font-family']: string;
    ['font-weight']: string;
    fill: string;
    constructor(fontModel: FontModel, fontColor?: string);
}
/**
 * Function to check whether target object implement specific interface
 *
 * @param  {number} width - specifies the text
 * @param  {number} leftPadding - specifies the font
 * @param  {number} rightPadding - specifies the font
 * @param  {FontModel} titleStyle - specifies the font
 * @returns {number} returns the number
 * @hidden
 */
export  function titlePositionX(width: number, leftPadding: number, rightPadding: number, titleStyle: FontModel): number;
/**
 * Internal class size for height and width
 *
 * @private
 */
export  class Size {
    /**
     * height of the size
     */
    height: number;
    /**
     * width of the size
     */
    width: number;
    constructor(width: number, height: number);
}
/** @private */
export  class CustomizeOption {
    id: string;
    constructor(id?: string);
}
/** @private */
export  class PathOption extends CustomizeOption {
    opacity: number;
    fill: string;
    stroke: string;
    ['stroke-width']: number;
    ['stroke-dasharray']: string;
    d: string;
    constructor(id: string, fill: string, width: number, color?: string, opacity?: number, dashArray?: string, d?: string);
}
/**
 * Class to define currentRect private property.
 *
 * @private
 */
export  class CurrentRect {
    x: number;
    y: number;
    width: number;
    height: number;
    value: number | BubbleTooltipData[];
    id: string;
    xIndex: number;
    yIndex: number;
    xValue: number;
    yValue: number;
    visible: boolean;
    displayText: string;
    textId: string;
    allowCollection: boolean;
    constructor(x: number, y: number, width: number, height: number, value: number | BubbleTooltipData[], id: string, xIndex: number, yIndex: number, xValue: number, yValue: number, visible: boolean, displayText: string, textId: string, allowCollection: boolean);
}
/**
 * Class to define the details of selected cell.
 *
 * @private
 */
export  class SelectedCellDetails {
    value: number | BubbleTooltipData[];
    xLabel: string;
    yLabel: string;
    xValue: string | number | Date;
    yValue: string | number | Date;
    cellElement: Element;
    /** @private */
    xPosition: number;
    /** @private */
    yPosition: number;
    /** @private */
    width: number;
    /** @private */
    height: number;
    /** @private */
    x: number;
    /** @private */
    y: number;
    constructor(value: number | BubbleTooltipData[], xLabel: string, yLabel: string, xValue: number, yValue: number, cellElement: Element, xPosition: number, yPosition: number, width: number, height: number, x: number, y: number);
}
/**
 * Class to define property to draw rectangle.
 *
 * @private
 */
export  class RectOption extends PathOption {
    x: number;
    y: number;
    height: number;
    width: number;
    rx: number;
    ry: number;
    transform: string;
    constructor(id: string, fill: string, border: BorderModel, opacity: number, rect: Rect, borderColor?: string, rx?: number, ry?: number, transform?: string, dashArray?: string);
}
/**
 * Class to define property to draw circle.
 *
 * @private
 */
export  class CircleOption extends PathOption {
    cx: number;
    cy: number;
    r: number;
    constructor(id: string, fill: string, border: BorderModel, opacity: number, borderColor?: string, cx?: number, cy?: number, r?: number);
}
/**
 * Helper Class to define property to draw rectangle.
 *
 * @private
 */
export  class Rect {
    x: number;
    y: number;
    height: number;
    width: number;
    constructor(x: number, y: number, width: number, height: number);
}
/**
 * Class to define property to draw text.
 *
 * @private
 */
export  class TextOption extends TextElement {
    id: string;
    ['text-anchor']: string;
    text: string | string[];
    transform: string;
    x: number;
    y: number;
    ['dominant-baseline']: string;
    labelRotation: number;
    baseline: string;
    dy: string;
    constructor(id: string, basic: TextBasic, element: FontModel, fontColor?: string);
}
/**
 * Helper Class to define property to draw text.
 *
 * @private
 */
export  class TextBasic {
    ['text-anchor']: string;
    text: string | string[];
    transform: string;
    x: number;
    y: number;
    ['dominant-baseline']: string;
    labelRotation: number;
    baseline: string;
    dy: string;
    constructor(x?: number, y?: number, anchor?: string, text?: string | string[], labelRotation?: number, transform?: string, baseLine?: string, dy?: string);
}
/**
 * Class to define property to draw line.
 *
 * @private
 */
export  class Line {
    x1: number;
    y1: number;
    x2: number;
    y2: number;
    constructor(x1: number, y1: number, x2: number, y2: number);
}
/**
 * Class to define property to draw line.
 *
 * @private
 */
export  class LineOption extends PathOption {
    x1: number;
    y1: number;
    x2: number;
    y2: number;
    constructor(id: string, line: Line, stroke: string, strokewidth: number, opacity?: number, dasharray?: string);
}
/**
 * Properties required to render path.
 *
 * @private
 */
export  class PathAttributes extends PathOption {
    d: string;
    x: number;
    y: number;
    constructor(id: string, path: Path, fill: string, border: BorderModel, borderWidth: number, opacity: number, borderColor?: string);
}
/**
 * Helper Class to define property to path.
 *
 * @private
 */
export  class Path {
    d: string;
    innerR: boolean;
    cx: number;
    cy: number;
    x: number;
    y: number;
    x1: number;
    y1: number;
    start: number;
    end: number;
    radius: number;
    counterClockWise: boolean;
    constructor(d: string, innerR: boolean, x: number, y: number, x1: number, y1: number, cx: number, cy: number, start: number, end: number, radius: number, counterClockWise: boolean);
}
/**
 * Function to check whether target object implement specific interface
 *
 * @param  {number} values - specifies the values
 * @returns {number} returns the number
 * @hidden
 */
export  function sum(values: number[]): number;
/**
 * Function to check whether target object implement specific interface
 *
 * @param { Size } heatmapSize - Specifies the heatmapsize
 * @param { number } topPadding - Specifies the topPadding
 * @param { number }  bottomPadding - Specifies the bottomPadding
 * @param { FontModel } titleStyle - Specifies the titleStyle
 * @returns {number} returns the number
 * @private
 */
export  function titlePositionY(heatmapSize: Size, topPadding: number, bottomPadding: number, titleStyle: FontModel): number;
/**
 * Function to check whether target object implement specific interface
 *
 * @param { FontModel } font - Specifies the heatmapsize
 * @param { string } text - Specifies the topPadding
 * @param { number }  angle - Specifies the bottomPadding
 * @returns {Size} returns the size
 * @private
 */
export  function rotateTextSize(font: FontModel, text: string, angle: number): Size;
/**
 * Class to draw SVG and Canvas Rectangle & Text.
 *
 * @private
 */
export  class DrawSvgCanvas {
    private heatMap;
    constructor(heatmap?: HeatMap);
    drawRectangle(properties: RectOption, parentElement: Element, isFromSeries?: boolean): void;
    drawCircle(properties: CircleOption, parentElement: Element): void;
    drawPath(properties: PathAttributes, options: Path, parentElement: Element): void;
    createText(properties: TextOption, parentElement: Element, text: string | string[]): void;
    createWrapText(options: TextOption, font: FontModel, parentElement: Element): void;
    drawLine(properties: LineOption, parentElement: Element): void;
    canvasDrawText(options: TextOption, label: string, translateX?: number, translateY?: number): void;
    private getOptionValue;
    private setAttributes;
    private drawCanvasRectangle;
    private drawCornerRadius;
    private drawCanvasCircle;
    private drawCanvasPath;
}
/**
 * Function to check whether target object implement specific interface
 *
 * @param { string } title - Specifies the heatmapsize
 * @param { FontModel } style - Specifies the topPadding
 * @param { number }  width - Specifies the bottomPadding
 * @returns {string} returns the size
 * @private
 */
export  function getTitle(title: string, style: FontModel, width: number): string[];
/**
 * Function to check whether target object implement specific interface
 *
 * @param { string } currentLabel - Specifies the heatmapsize
 * @param { number } maximumWidth - Specifies the topPadding
 * @param { FontModel }  font - Specifies the bottomPadding
 * @returns {string} returns the size
 * @private
 */
export  function textWrap(currentLabel: string, maximumWidth: number, font: FontModel): string[];
/**
 * Function to check whether target object implement specific interface
 *
 * @param { number } maxWidth - Specifies the heatmapsize
 * @param { string } text - Specifies the topPadding
 * @param { FontModel }  font - Specifies the bottomPadding
 * @returns {string} returns the size
 * @private
 */
export  function textTrim(maxWidth: number, text: string, font: FontModel): string;
/**
 * Function to check whether target object implement specific interface
 *
 * @param { number } maxWidth - Specifies the heatmapsize
 * @param { string } text - Specifies the topPadding
 * @param { FontModel }  font - Specifies the bottomPadding
 * @returns {string} returns the size
 * @private
 */
export  function textNone(maxWidth: number, text: string, font: FontModel): string;
/** @private */
export  class Gradient {
    id: string;
    x1: string;
    x2: string;
    y1: string;
    y2: string;
    constructor(x: string, x1: string, x2: string, y1: string, y2: string);
}
export  class GradientColor {
    color: string;
    colorStop: string;
    constructor(color: string, colorStop: string);
}
/**
 * Function to check whether target object implement specific interface
 *
 * @param { string } text - Specifies the heatmapsize
 * @param { number } x - Specifies the topPadding
 * @param { number }  y - Specifies the bottomPadding
 * @param { number }  areaWidth - Specifies the bottomPadding
 * @param { string }  id - Specifies the bottomPadding
 * @param { Element }  element - Specifies the bottomPadding
 * @param { boolean }  isTouch - Specifies the bottomPadding
 * @param { HeatMap }  heatmap - Specifies the bottomPadding
 * @returns {void} returns the size
 * @private
 */
export  function showTooltip(text: string, x: number, y: number, areaWidth: number, id: string, element: Element, isTouch?: boolean, heatmap?: HeatMap): void;
/**
 * Function to check whether target object implement specific interface
 *
 * @param { string }  id - Specifies the bottomPadding
 * @returns {void} returns the size
 * @private
 */
export  function removeElement(id: string): void;
/**
 * Function to check whether target object implement specific interface
 *
 * @param { string }  id - Specifies the bottomPadding
 * @returns {Element} returns the size
 * @private
 */
export  function getElement(id: string): Element;
/**
 * Function to check whether target object implement specific interface
 *
 * @param { number } value - Specifies the topPadding
 * @param { number }  interval - Specifies the bottomPadding
 * @param { string } intervalType - Specifies the heatmapsize
 * @param { number }  increment - Specifies the bottomPadding
 * @returns {Date} returns the size
 * @private
 */
export  function increaseDateTimeInterval(value: number, interval: number, intervalType: string, increment: number): Date;
export  class CanvasTooltip {
    text: string;
    region: Rect;
    constructor(text: string, rect: Rect);
}
/**
 * Function to check whether target object implement specific interface
 *
 * @param { CanvasTooltip } tooltipCollection - Specifies the topPadding
 * @param { number }  xPosition - Specifies the bottomPadding
 * @param { number } yPosition - Specifies the heatmapsize
 * @returns {string} returns the size
 * @private
 */
export  function getTooltipText(tooltipCollection: CanvasTooltip[], xPosition: number, yPosition: number): string;
/**
 * @private
 */
export  class PaletterColor {
    isCompact: boolean;
    isLabel: boolean;
    offsets: PaletteCollectionModel[];
}
/**
 * @private
 */
export  class GradientPointer {
    pathX1: number;
    pathY1: number;
    pathX2: number;
    pathY2: number;
    pathX3: number;
    pathY3: number;
    constructor(pathX1: number, pathY1: number, pathX2: number, pathY2: number, pathX3: number, pathY3: number);
}
/**
 * Class to define currentRect private property.
 *
 * @private
 */
export  class CurrentLegendRect {
    x: number;
    y: number;
    width: number;
    height: number;
    label: string;
    id: string;
    constructor(x: number, y: number, width: number, height: number, label: string, id: string);
}
/** @private */
export  class LegendRange {
    x: number;
    y: number;
    width: number;
    height: number;
    value: number;
    visible: boolean;
    currentPage: number;
    constructor(x: number, y: number, width: number, height: number, value: number, visible: boolean, currentPage: number);
}
/** @private */
export  class ToggleVisibility {
    visible: boolean;
    value: number;
    startValue: number;
    endValue: number;
    constructor(visible: boolean, value: number, startValue: number, endValue: number);
}
/**
 * Function to check whether target object implement specific interface
 *
 * @param { string } color - Specifies the topPadding
 * @returns {string} returns the size
 * @private
 */
export  function colorNameToHex(color: string): string;
/**
 * Function to check whether target object implement specific interface
 *
 * @param { RgbColor } value - Specifies the topPadding
 * @returns {string} returns the size
 * @private
 */
export  function convertToHexCode(value: RgbColor): string;
/**
 * Function to check whether target object implement specific interface
 *
 * @param { number }  value - Specifies the bottomPadding
 * @returns {string} returns the size
 * @private
 */
export  function componentToHex(value: number): string;
/**
 * Function to check whether target object implement specific interface
 *
 * @param { string }  hex - Specifies the bottomPadding
 * @returns {RgbColor} returns the size
 * @private
 */
export  function convertHexToColor(hex: string): RgbColor;
/**
 * Function to check whether target object implement specific interface
 *
 * @param { boolean }  isCustom - Specifies the bottomPadding
 * @param { string }  format - Specifies the bottomPadding
 * @param { number }  tempInterval - Specifies the bottomPadding
 * @param { Function }  formatFun - Specifies the bottomPadding
 * @returns {string} returns the size
 * @private
 */
export  function formatValue(isCustom: boolean, format: string, tempInterval: number, formatFun: Function): string;
/** @private */
export  class MultiLevelPosition {
    x: number;
    y: number;
    constructor(x: number, y: number);
}
//node_modules/@syncfusion/ej2-heatmap/src/heatmap/utils/tooltip-model.d.ts
/**
 * Interface for a class TooltipSettings
 */
export interface TooltipSettingsModel {
    /**
     * Custom template to format the ToolTip content.
     *
     * @default ''
     */
    template?: string;
    /**
     * Specifies the color collection for heat map cell.
     *
     * @default ''
     */
    fill?: string;
    /**
     * Specifies the cell border style.
     *
     * @default ''
     */
    border?: TooltipBorderModel;
    /**
     * Specifies the cell label style.
     *
     * @default ''
     */
    textStyle?: FontModel;
}
/**
 * Interface for a class Tooltip
 */
export interface TooltipModel {
}
//node_modules/@syncfusion/ej2-heatmap/src/heatmap/utils/tooltip.d.ts
/**
 * HeatMap svgBase.Tooltip tip file
 */
/**
 * Configures the color property in Heatmap.
 */
export  class TooltipSettings extends base.ChildProperty<TooltipSettings> {
    /**
     * Custom template to format the ToolTip content.
     *
     * @default ''
     */
    template: string;
    /**
     * Specifies the color collection for heat map cell.
     *
     * @default ''
     */
    fill: string;
    /**
     * Specifies the cell border style.
     *
     * @default ''
     */
    border: TooltipBorderModel;
    /**
     * Specifies the cell label style.
     *
     * @default ''
     */
    textStyle: FontModel;
}
/**
 *
 * The `Tooltip` module is used to render the tooltip for heatmap series.
 */
export  class Tooltip {
    private heatMap;
    private isFirst;
    isFadeout: boolean;
    tooltipObject: svgBase.Tooltip;
    constructor(heatMap?: HeatMap);
    /**
     * Get module name
     */
    protected getModuleName(): string;
    /**
     * To show/hide Tooltip.
     *
     * @private
     */
    showHideTooltip(isShow: boolean, isFadeout?: boolean): void;
    /**
     * To destroy the Tooltip.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
    /**
     * To add Tooltip to the rect cell.
     *
     * @returns {void}
     * @private
     */
    private createTooltip;
    /**
     * To create div container for tooltip.
     *
     * @returns {void}
     * @private
     */
    createTooltipDiv(heatMap: HeatMap): void;
    /**
     * To get default tooltip content.
     *
     * @private
     */
    private getTooltipContent;
    /**
     * To render tooltip.
     *
     * @private
     */
    renderTooltip(currentRect: CurrentRect): void;
    /**
     * To render tooltip.
     */
    private tooltipCallback;
}
//node_modules/@syncfusion/ej2-heatmap/src/index.d.ts
/**
 * HeatMap index file
 */
 }
export namespace icons { 

 }
export namespace imageEditor { 

//node_modules/@syncfusion/ej2-image-editor/src/image-editor/image-editor-model.d.ts
/**
 * Interface for a class ImageEditor
 */
export interface ImageEditorModel {
    /**
     * Defines class/multiple classes separated by a space for customizing Image Editor UI.
     * default ''
     ```html
     * <div id='imageeditor'></div>
     * ```
     * ```typescript
     * <script>
     * var imageObj = new ImageEditor({cssClass: 'e-custom-img-editor'});
     * imageObj.appendTo("#imageeditor");
     * </script>
     * ```
     */
    cssClass?: string;
    /**
     * Specifies whether the Image Editor is disabled.
     * default false
     */
    disabled?: boolean;
    /**
     * Specifies the height of the Image Editor.
     * default '100%'
     */
    height?: string;
    /**
     * Specifies the theme of the Image Editor. The shape selection appearance will be decided based on this property.
     * The property supports all the built-in themes of Syncfusion.
     * default 'Bootstrap5'
     * @isenumeration true
     * @default Theme.Bootstrap5
     * @asptype Theme
     * 
     */
    theme?: string | Theme;
    /**
     * Specifies the toolbar items to perform UI interactions. It accepts both string[] and navigations.ItemModel[] to configure its toolbar items.
     * If the property is defined as empty collection, the toolbar will not be rendered.
     * Suppose the property is not defined in control, an image editor’s toolbar will be rendered with preconfigured toolbar commands.
     * The preconfigured toolbar commands are
     *  Crop: helps to crop an image as ellipse, square, various ratio aspects, custom selection with resize, drag and drop.
     *  Annotate: help to insert a shape on image that supports rectangle, ellipse, line, text and freehand drawing with resize, drag and drop, and customize its appearance.
     *  Transform: helps to rotate and flip an image.
     *  ZoomIn: performs zoom-in an image.
     *  ZoomOut: performs zoom-out an image.
     *  Pan: performs panning once zoomed an image.
     *  Move: disable the pan action and move to perform other actions such as insert a shape, transform, and more.
     *  Save: save the modified image.
     *  Open: open an image to perform editing.
     *  Reset: reset the modification and restore the original image.
     * default null
     ```html
     * <div id='imageeditor'></div>
     * ```
     * ```typescript
     * <script>
     * var imageObj = new ImageEditor({
     *     toolbar[Crop, ZoomIn, ZoomOut, Transform, {text: 'Custom'}]
     * });
     * imageObj.appendTo("#imageeditor");
     * </script>
     * ```
     */
    toolbar?: (string | ImageEditorCommands | navigations.ItemModel)[];
    /**
     * Specifies template to the Image Editor navigations.Toolbar.
     * If you want to customize the entire toolbar in own way by using this property.
     * The property is depending on ‘toolbar’.
     *
     * @default null
     ```html
     * <div id='imageeditor'></div>
     * ```
     * ```typescript
     * <script>
     * var imageObj = new ImageEditor({
     *     toolbarTemplate: '#toolbarTemplate'
     * });
     * imageObj.appendTo("#imageeditor");
     * </script>
     * <script id="toolbarTemplate" type="text/x-template">
     *    <div class = 'e-toolbar'>
     *      <button id= 'dltbtn'></button>
     *    </div>
     *  </script>
     * ```
     */
    toolbarTemplate?: string;
    /**
     * Specifies the width of the Image Editor.
     * default 100%
     */
    width?: string;
    /**
     * Triggers before an image is saved.
     *
     * @event beforeSave
     */
    beforeSave?: base.EmitType<BeforeSaveEventArgs>;
    /**
     * Triggers once the component rendering is completed.
     *
     * @event created
     */
    created?: base.EmitType<Event>
    /**
     * Triggers once the component is destroyed with its elements and bound events.
     *
     * @event destroyed
     */
    destroyed?: base.EmitType<Event>
    /**
     * Triggers while zooming an image.
     *
     * @event zooming
     */
    zooming?: base.EmitType<ZoomEventArgs>
    /**
     * Triggers while panning an image.
     *
     * @event panning
     */
    panning?: base.EmitType<PanEventArgs>
    /**
     * Triggers while cropping an image.
     *
     * @event cropping
     */
    cropping?: base.EmitType<CropEventArgs>
    /**
     * Triggers while rotating an image.
     *
     * @event rotating
     */
    rotating?: base.EmitType<RotateEventArgs>
    /**
     * Triggers while flipping an image.
     *
     * @event flipping
     */
    flipping?: base.EmitType<FlipEventArgs>
    /**
     * Triggers while changing shapes in an image.
     *
     * @event shapeChanging
     */
    shapeChanging?: base.EmitType<ShapeChangeEventArgs>
    /**
     * Triggers once an image is opened.
     *
     * @event fileOpened
     */
    fileOpened?: base.EmitType<popups.OpenEventArgs>
    /**
     * Triggers once an image is saved.
     *
     * @event saved
     */
    saved?: base.EmitType<SaveEventArgs>;
    /**
     * Triggers once the toolbar is created.
     *
     * @event toolbarCreated
     */
    toolbarCreated?: base.EmitType<ToolbarEventArgs>
    /**
     * Triggers while updating/refreshing the toolbar
     *
     * @event toolbarUpdating
     */
    toolbarUpdating?: base.EmitType<ToolbarEventArgs>
    /**
     * Triggers once the toolbar item is clicked.
     *
     * @event toolbarItemClicked
     */
    toolbarItemClicked?: base.EmitType<navigations.ClickEventArgs>
}
//node_modules/@syncfusion/ej2-image-editor/src/image-editor/image-editor.d.ts
/**
 * Image Editor is a graphical user interface that helps to edit an image by performing actions like selection,
 * cropping, rotating, inserting text and shapes (rectangles, ellipses, lines), and drawing free hand on top of an image.
 *
 ```html
 * <div id='imageeditor'></div>
 * ```
 * ```typescript
 * <script>
 * var imageObj = new ImageEditor({});
 * imageObj.appendTo("#imageeditor");
 * </script>
 * ```
 */
export  class ImageEditor extends inputs.SignatureBase implements base.INotifyPropertyChanged {
    /**
     *
     * ImageEditor Private Properties
     */
    private lowerCanvas;
    private lowerContext;
    private upperCanvas;
    private upperContext;
    private inMemoryCanvas;
    private inMemoryContext;
    private baseImg;
    private textBox;
    private degree;
    private isUndoRedo;
    private dragCanvas;
    private dragElement;
    private keyHistory;
    private flipState;
    private mouseDownPoint;
    private previousPoint;
    private dragPoint;
    private diffPoint;
    private oldPoint;
    private objColl;
    private undoRedoColl;
    private imgDataColl;
    private currImgData;
    private strokeSettings;
    private textSettings;
    private tempStrokeSettings;
    private penStrokeWidth;
    private tempTextSettings;
    private toolbarHeight;
    private pannStart;
    private pannEnd;
    private togglePan;
    private lastX;
    private lastY;
    private dragStart;
    private dragged;
    private factor;
    private currFlipState;
    private touchEndPoint;
    private flipMethod;
    private flipDirection;
    private prevX;
    private currX;
    private prevY;
    private currY;
    private togglePen;
    private rotateMethod;
    private isBoldbtn;
    private isItalicbtn;
    private lastAction;
    private currentToolbar;
    private textStartPoints;
    private fontSizeColl;
    private tempKeyHistory;
    private penDrawColl;
    private allowDrag;
    private textRow;
    private activeObj;
    private currObjType;
    private defToolbarItems;
    private defaultLocale;
    private l10n;
    private themeColl;
    private toolbarFn;
    private baseImgSrc;
    private isTimer;
    private timer;
    private isScreenOriented;
    /**
     * Defines class/multiple classes separated by a space for customizing Image Editor UI.
     * default ''
     ```html
     * <div id='imageeditor'></div>
     * ```
     * ```typescript
     * <script>
     * var imageObj = new ImageEditor({cssClass: 'e-custom-img-editor'});
     * imageObj.appendTo("#imageeditor");
     * </script>
     * ```
     */
    cssClass: string;
    /**
     * Specifies whether the Image Editor is disabled.
     * default false
     */
    disabled: boolean;
    /**
     * Specifies the height of the Image Editor.
     * default '100%'
     */
    height: string;
    /**
     * Specifies the theme of the Image Editor. The shape selection appearance will be decided based on this property.
     * The property supports all the built-in themes of Syncfusion.
     * default 'Bootstrap5'
     * @isenumeration true
     * @default Theme.Bootstrap5
     * @asptype Theme
     *
     */
    theme: string | Theme;
    /**
     * Specifies the toolbar items to perform UI interactions. It accepts both string[] and navigations.ItemModel[] to configure its toolbar items.
     * If the property is defined as empty collection, the toolbar will not be rendered.
     * Suppose the property is not defined in control, an image editor’s toolbar will be rendered with preconfigured toolbar commands.
     * The preconfigured toolbar commands are
     *  Crop: helps to crop an image as ellipse, square, various ratio aspects, custom selection with resize, drag and drop.
     *  Annotate: help to insert a shape on image that supports rectangle, ellipse, line, text and freehand drawing with resize, drag and drop, and customize its appearance.
     *  Transform: helps to rotate and flip an image.
     *  ZoomIn: performs zoom-in an image.
     *  ZoomOut: performs zoom-out an image.
     *  Pan: performs panning once zoomed an image.
     *  Move: disable the pan action and move to perform other actions such as insert a shape, transform, and more.
     *  Save: save the modified image.
     *  Open: open an image to perform editing.
     *  Reset: reset the modification and restore the original image.
     * default null
     ```html
     * <div id='imageeditor'></div>
     * ```
     * ```typescript
     * <script>
     * var imageObj = new ImageEditor({
     *     toolbar[Crop, ZoomIn, ZoomOut, Transform, {text: 'Custom'}]
     * });
     * imageObj.appendTo("#imageeditor");
     * </script>
     * ```
     */
    toolbar: (string | ImageEditorCommands | navigations.ItemModel)[];
    /**
     * Specifies template to the Image Editor Toolbar.
     * If you want to customize the entire toolbar in own way by using this property.
     * The property is depending on ‘toolbar’.
     *
     * @default null
     ```html
     * <div id='imageeditor'></div>
     * ```
     * ```typescript
     * <script>
     * var imageObj = new ImageEditor({
     *     toolbarTemplate: '#toolbarTemplate'
     * });
     * imageObj.appendTo("#imageeditor");
     * </script>
     * <script id="toolbarTemplate" type="text/x-template">
     *    <div class = 'e-toolbar'>
     *      <button id= 'dltbtn'></button>
     *    </div>
     *  </script>
     * ```
     */
    toolbarTemplate: string;
    /**
     * Specifies the width of the Image Editor.
     * default 100%
     */
    width: string;
    /**
     * Triggers before an image is saved.
     *
     * @event beforeSave
     */
    beforeSave: base.EmitType<BeforeSaveEventArgs>;
    /**
     * Triggers once the component rendering is completed.
     *
     * @event created
     */
    created: base.EmitType<Event>;
    /**
     * Triggers once the component is destroyed with its elements and bound events.
     *
     * @event destroyed
     */
    destroyed: base.EmitType<Event>;
    /**
     * Triggers while zooming an image.
     *
     * @event zooming
     */
    zooming: base.EmitType<ZoomEventArgs>;
    /**
     * Triggers while panning an image.
     *
     * @event panning
     */
    panning: base.EmitType<PanEventArgs>;
    /**
     * Triggers while cropping an image.
     *
     * @event cropping
     */
    cropping: base.EmitType<CropEventArgs>;
    /**
     * Triggers while rotating an image.
     *
     * @event rotating
     */
    rotating: base.EmitType<RotateEventArgs>;
    /**
     * Triggers while flipping an image.
     *
     * @event flipping
     */
    flipping: base.EmitType<FlipEventArgs>;
    /**
     * Triggers while changing shapes in an image.
     *
     * @event shapeChanging
     */
    shapeChanging: base.EmitType<ShapeChangeEventArgs>;
    /**
     * Triggers once an image is opened.
     *
     * @event fileOpened
     */
    fileOpened: base.EmitType<popups.OpenEventArgs>;
    /**
     * Triggers once an image is saved.
     *
     * @event saved
     */
    saved: base.EmitType<SaveEventArgs>;
    /**
     * Triggers once the toolbar is created.
     *
     * @event toolbarCreated
     */
    toolbarCreated: base.EmitType<ToolbarEventArgs>;
    /**
     * Triggers while updating/refreshing the toolbar
     *
     * @event toolbarUpdating
     */
    toolbarUpdating: base.EmitType<ToolbarEventArgs>;
    /**
     * Triggers once the toolbar item is clicked.
     *
     * @event toolbarItemClicked
     */
    toolbarItemClicked: base.EmitType<navigations.ClickEventArgs>;
    /**
     *
     * Constructor for creating the widget
     *
     * @param  {ImageEditorModel} options - Specifies the image editor model
     * @param  {string|HTMLDivElement} element - Specifies the target element
     */
    constructor(options?: ImageEditorModel, element?: string | HTMLCanvasElement);
    protected preRender(): void;
    /**
     *
     * To Initialize the component rendering
     *
     * @private
     * @returns {void}
     */
    protected render(): void;
    /**
     * To get component name.
     *
     * @returns {string} - Module Name
     * @private
     */
    getModuleName(): string;
    /**
     *
     * To get the properties to be maintained in the persisted state.
     *
     * @returns {string} - Persist data
     * @private
     */
    getPersistData(): string;
    /**
     *
     * Called internally if any of the property value changed.
     *
     * @param  {ImageEditorModel} newProperties - Specifies new properties
     * @param  {ImageEditorModel} oldProperties - Specifies old properties
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProperties: ImageEditorModel, oldProperties?: ImageEditorModel): void;
    destroy(): void;
    initialize(): void;
    /**
     *
     * This Method will add events to component (element, event, method, current reference)
     *
     * @returns {void}.
     */
    private wireEvent;
    /**
     *
     * This Method will remove events from component
     *
     * @returns {void}.
     */
    private unwireEvent;
    private updateTheme;
    private toPascalCase;
    private createCanvas;
    private createToolbar;
    private createBottomToolbar;
    private initBottomToolbar;
    private toolbarTemplateFn;
    private templateParser;
    private getLeftToolbarItem;
    private getRightToolbarItem;
    private getMainToolbarItem;
    private getZoomToolbarItem;
    private processToolbar;
    private processSubToolbar;
    private isToolbar;
    private initToolbarItem;
    private createLeftToolbarControls;
    private renderAnnotationBtn;
    private renderCropBtn;
    private renderTransformBtn;
    private renderSaveBtn;
    private cropSelect;
    private transformSelect;
    private getShapesToolbarItem;
    private initShapesToolbarItem;
    private createShapeColor;
    private createShapeBtn;
    private getTextToolbarItem;
    private getFontFamilyItems;
    private getFontSizeItems;
    private initTextToolbarItem;
    private createTextColor;
    private createTextBtn;
    private getFontSizes;
    private getTextAreaWidth;
    private applyFontStyle;
    private initZoomToolbarItem;
    private defToolbarClicked;
    private cancelPan;
    private callMainToolbar;
    private cancelItems;
    private gradient;
    private applyPenDraw;
    private refreshToolbar;
    private getPenToolbarItem;
    private initPenToolbarItem;
    private createPenColor;
    private createPenBtn;
    private setPenStroke;
    private updateCanvas;
    private imageOnLoad;
    private refreshActiveObj;
    private redrawText;
    private setTextSelection;
    private updateUndoRedoColl;
    private fileSelect;
    private findTextPoint;
    private getStrokeWidth;
    private updateToolbarItems;
    private setTimer;
    private touchStartHandler;
    private mouseDownEventHandler;
    private mouseMoveEventHandler;
    private mouseUpEventHandler;
    private keyDownEventHandler;
    private keyUpEventHandler;
    private canvasMouseDownHandler;
    private canvasMouseMoveHandler;
    private canvasMouseUpHandler;
    private textKeyDown;
    private adjustToScreen;
    private screenOrientation;
    private windowResizeHandler;
    private redrawImg;
    private updateContext;
    private scaleNonUniform;
    private zoomImg;
    private handleScroll;
    private redraw;
    private applyCurrActObj;
    private updateTextFromTextArea;
    private redrawActObj;
    private setTextBoxPos;
    private setTextBoxPoints;
    private findTextTarget;
    private setTextBoxHeight;
    private setTextBoxWidth;
    private setActivePoint;
    private updateActivePoint;
    private updateNWPoints;
    private updateNPoints;
    private updateNEPoints;
    private updateWPoints;
    private updateEPoints;
    private updateSWPoints;
    private updateSPoints;
    private updateSEPoints;
    private getScaleRatio;
    private getMaxText;
    private setDragLimit;
    private lineDraw;
    private shapeCircle;
    private drawOuterSelection;
    private getZoomShape;
    private drawObject;
    private updateActiveObject;
    private drawShapeObj;
    private shapeLine;
    private shapeText;
    private updateActPoint;
    private drawSquareLines;
    private drawSelection;
    private drawCenterCircles;
    private findTarget;
    private findTargetObj;
    private updateCursorStyles;
    private drawCropRatio;
    private setDragDirection;
    private calcShapeRatio;
    private getScale;
    private calcRatio;
    private calcMaxDimension;
    private setMaximumDimension;
    private setCursor;
    private setCursorFromObj;
    private setCursorForZoomState;
    private downloadImg;
    private toSVGImg;
    private toBlobFn;
    private addLetter;
    private updateFontStyles;
    private updateInMemoryCanvas;
    private drawBaseImg;
    private calcPrevRatio;
    private textFlipDegree;
    private rotateText;
    private redrawSelection;
    private redrawObj;
    private updateCurrentActiveObjPoint;
    private calcCurrPoints;
    private redrawShape;
    private applyActObj;
    private apply;
    private setCenterPoints;
    private drawShape;
    private drawShapeText;
    private drawPen;
    private getObjDetails;
    private isPointsInRange;
    /**
     * Clear a current selection.
     *
     * @returns {void}.
     */
    clearSelection(): void;
    /**
     * Crops an image based on the selection.
     * The selection can be done through programmatically using the select method or through UI interactions.
     *
     * @returns {boolean}.
     */
    crop(): boolean;
    private updateInMemoryContext;
    /**
     * Flips an image by horizontally or vertically.
     *
     * @param {Direction } direction - Specifies the direction to flip the image.
     * @returns {void}.
     */
    flip(direction: Direction): void;
    /**
     * Return an image as ImageData.
     *
     * @returns {ImageData}.
     */
    getImageData(): ImageData;
    /**
     *  Load/opens an image for editing within an image editor.
     *
     * @param {string | ImageData } data - Specifies url of the Image or image data.
     *
     * @returns {void}.
     */
    open(data: string | ImageData): void;
    /**
     * Reset all the changes and revert to original image.
     *
     * @returns {void}.
     */
    reset(): void;
    /**
     * Rotate an image to clockwise and anti-clockwise.
     *
     * @param {number} degree - Specifies a degree to rotate an image.
     * positive integer value for clockwise and negative integer value for anti-clockwise rotation.
     *
     * @returns {boolean}.
     */
    rotate(degree: number): boolean;
    /**
     * Export an image using the specified file name and the extension.
     *
     * @param {string} type - Specifies a format of image to be saved.
     * @param {string} fileName – Specifies a file name to be saved
     *
     * @returns {void}.
     */
    export(type?: string, fileName?: string): void;
    /**
     * Perform selection in an image editor. The selection helps to crop an image.
     *
     * @param {string} type - Specifies the shape - circle / square / custom selection / pre-defined ratios.
     * @param {number} startX – Specifies the start x-coordinate point of the selection.
     * @param {number} startY – Specifies the start y-coordinate point of the selection.
     * @param {number} width - Specifies the width of the selection area.
     * @param {number} height - Specifies the height of the selection area.
     * @returns {void}.
     *   ```html
     * <div id='imageeditor'></div>
     * ```
     * ```typescript
     * <script>
     * var imageObj = new ImageEditor({
     *   created : () => {
     *     imageObj.select('16:9', 10, 10);
     *  }
     * });
     * imageObj.appendTo("#imageeditor");
     * </script>
     * ```
     */
    select(type: string, startX?: number, startY?: number, width?: number, height?: number): void;
    /**
     * Enable or disable a freehand drawing in an Image Editor.
     *
     * @param {boolean} value - Specifies a value whether enable or disable freehand drawing.
     *
     *  @returns {void}.
     */
    freeHandDraw(value: boolean): void;
    /**
     * Enable or disable a panning on the Image Editor.
     *
     * @param {boolean} value - Specifies a value whether enable or disable panning.
     *
     * @returns {void}.
     */
    pan(value: boolean): void;
    /**
     * Increase / Decrease the magnification of an image.
     *
     * @param {boolean} value - Specifies a value to be zoomed on the image.
     * @returns {void}.
     */
    zoom(value: number): void;
    /**
     * Draw ellipse on an image.
     *
     * @param {number} x - Specifies x-coordinate of ellipse.
     * @param {number} y - Specifies y-coordinate of ellipse.
     * @param {number} radiusX - the radius x point for the ellipse.
     * @param {number} radiusY - the radius y point for the ellipse.
     * @param {number} strokeWidth - the stroke width of ellipse.
     * @param {string} strokeColor - the stroke color of ellipse.
     * @param {string} fillColor - the fill color of the ellipse.
     * @returns {boolean}.
     *
     * ```html
     * <div id='imageeditor'></div>
     * ```
     * ```typescript
     * <script>
     * * var imageObj = new ImageEditor({
     * created: () => {
     * imageObj.drawEllipse(10, 10, 40, 60);
     * }
     * });
     * imageObj.appendTo("#imageeditor");
     * </script>
     * ```
     */
    drawEllipse(x?: number, y?: number, radiusX?: number, radiusY?: number, strokeWidth?: number, strokeColor?: string, fillColor?: string): boolean;
    /**
     * Draw line on an image.
     *
     * @param {number} startX – Specifies start point x-coordinate of line.
     * @param {number} startY – Specifies start point y-coordinate of line.
     * @param {number} endX - Specifies end point x-coordinates of line.
     * @param {number} endY - Specifies end point y-coordinates of the line.
     * @param {number} strokeWidth - Specifies the stroke width of line.
     * @param {string} strokeColor - Specifies the stroke color of line.
     * @returns {boolean}.
     */
    drawLine(startX?: number, startY?: number, endX?: number, endY?: number, strokeWidth?: number, strokeColor?: string): boolean;
    /**
     * Draw a rectangle on an image.
     *
     * @param {number} x - Specifies x-coordinate of rectangle.
     * @param {number} y - Specifies y-coordinate of rectangle.
     * @param {number} width - Specifies the width of the rectangle.
     * @param {number} height - Specifies the height of the rectangle.
     * @param {number} strokeWidth - Specifies the stroke width of rectangle.
     * @param {string} strokeColor - Specifies the stroke color of rectangle.
     * @param {string} fillColor - the fill color of the rectangle.
     * @returns {boolean}.
     */
    drawRectangle(x?: number, y?: number, width?: number, height?: number, strokeWidth?: number, strokeColor?: string, fillColor?: string): boolean;
    /**
     * Draw a text on an image.
     *
     * @param {number} x - Specifies x-coordinate of text.
     * @param {number} y - Specifies y-coordinate of text.
     * @param {string} text - Specifies the text to add on an image.
     * @param {string} fontFamily - Specifies the font family of the text.
     * @param {number} fontSize - Specifies the font size of the text.
     * @param {boolean} bold - Specifies whether the text is bold or not.
     * @param {boolean} italic - Specifies whether the text is italic or not.
     * @param {string} color - Specifies font color of the text.
     * @returns {boolean}.
     *
     * ```html
     * <div id='imageeditor'></div>
     * ```
     * ```typescript
     * <script>
     * var imageObj = new ImageEditor({
     * created: () => {
     *  imageObj.drawText(10, 10, 'Syncfusion', 'Arial', 12, true, true, '#000');
     * }
     * });
     * imageObj.appendTo("#imageeditor");
     *
     * </script>
     * ```
     */
    drawText(x?: number, y?: number, text?: string, fontFamily?: string, fontSize?: number, bold?: boolean, italic?: boolean, color?: string): boolean;
    /**
     * Selects a shape based on the given shape id. The id can be got from the public method ‘getShapeSettings’.
     *
     * @param {string} id - Specifies the shape id to select a shape on an image.
     * @returns {boolean}.
     * ```html
     * <div id='imageeditor'></div>
     * ```
     * ```typescript
     * <script>
     * var imageObj = new ImageEditor({
     * created: () => {
     *  imageObj.selectShape('shape_1');
     * }
     * });
     * imageObj.appendTo("#imageeditor");
     * </script>
     * ```
     */
    selectShape(id: string): boolean;
    /**
     * Deletes a shape based on the given shape id. The id can be got from the public method getShapeSettings.
     *
     * @param {string} id - Specifies the shape id to delete the shape on an image.
     * @returns {void}.
     * ```html
     * <div id='imageeditor'></div>
     * ```
     * ```typescript
     * <script>
     * var imageObj = new ImageEditor({
     * created: () => {
     *  imageObj.deleteShape('shape_1');
     * }
     * });
     * imageObj.appendTo("#imageeditor");
     * </script>
     * ```
     */
    deleteShape(id: string): void;
    /**
     * Get particular shapes details based on id of the shape which is drawn on an image editor.
     *
     * @param {string} id - Specifies the shape id on an image.
     * @returns {ShapeSettings}.
     * ```html
     * <div id='imageeditor'></div>
     * ```
     * ```typescript
     * <script>
     * var imageObj = new ImageEditor({
     * created: () => {
     *  imageObj.getShapeSetting('shape_1');
     * }
     * });
     * imageObj.appendTo("#imageeditor");
     * </script>
     * ```
     */
    getShapeSetting(id: string): ShapeSettings;
    /**
     * Get all the shapes details which is drawn on an image editor.
     *
     * @returns {ShapeSettings[]}.
     */
    getShapeSettings(): ShapeSettings[];
    /**
     * To refresh the Canvas Wrapper.
     *
     * @returns {void}.
     */
    update(): void;
}
/**
 * Defines the Image Editor file type.
 */
export  type FileType = 'Png' | 'Jpeg' | 'Svg';
/**
 * Defines the direction to flip the image on Image Editor.
 */
export  type Direction = 'Horizontal' | 'Vertical';
/**
 * Defines the Image Editor shape type.
 */
export  type ShapeType = 'Rectangle' | 'Ellipse' | 'Line' | 'Text';
/**
 * Defines the theme for Image Editor.
 */
export  type Theme = 'Bootstrap5' | 'Bootstrap5Dark' | 'Tailwind' | 'TailwindDark' | 'Fluent' | 'FluentDark' | 'Bootstrap4' | 'Bootstrap' | 'BootstrapDark' | 'Material' | 'MaterialDark' | 'Fabric' | 'FabricDark' | 'Highcontrast';
/**
 * Defines the toolbar items for Image Editor.
 */
export  type ImageEditorCommands = 'Crop' | 'Transform' | 'Annotate' | 'ZoomIn' | 'ZoomOut' | 'Open' | 'Reset' | 'Save' | 'Pan' | 'Move' | 'Pen' | 'Line' | 'Rectangle' | 'Ellipse' | 'Text' | 'CustomSelection' | 'CircleSelection' | 'SquareSelection' | 'RatioSelection' | 'RotateLeft' | 'RotateRight' | 'FlipHorizontal' | 'FlipVertical';
/**
 * Interface for zoom transition occur in the imageEditor.
 */
export interface ZoomEventArgs {
    /**
     * Returns the (x, y) point to be zoomed.
     */
    zoomPoint: Point;
    /**
     * Specifies the value of zooming. Zoom in or out can be defined based on the value.
     */
    zoomLevel: number;
}
/**
 * Interface for pan transition occur in the imageEditor.
 */
export interface PanEventArgs {
    /**
     * Returns the (x, y) point of panning started
     */
    startPoint: Point;
    /**
     * Returns the (x, y) point to be panning ended.
     */
    endPoint: Point;
}
/**
 * Interface for crop transition occur in the imageEditor.
 */
export interface CropEventArgs {
    /**
     * Returns the start point of the crop region.
     */
    startPoint: Point;
    /**
     * Returns the end point of the crop region.
     */
    endPoint: Point;
}
/**
 * Interface for rotate transition in the imageEditor.
 */
export interface RotateEventArgs {
    /**
     * Returns the degree to be rotated.
     */
    degree: number;
}
/**
 * Interface for flip transition in the imageEditor.
 */
export interface FlipEventArgs {
    /**
     * Returns the direction(Horizontal and vertical) to be flipped.
     */
    direction: string;
}
/**
 * Interface for shape change in imageEditor.
 */
export interface ShapeChangeEventArgs {
    /**
     * Returns the name of the action.
     */
    action?: string;
    /**
     * Returns the object of shape before moved, resized, or customized the UI.
     */
    previousShapeSettings?: Object;
    /**
     * Returns `the object of shape which is inserted or moved or deleted or resized or customized the UI.
     */
    currentShapeSettings?: Object;
}
/**
 * Interface for Toolbar events.
 */
export interface ToolbarEventArgs {
    /**
     * Defines the cancel option to cancel the toolbar action.
     */
    cancel?: boolean;
    /**
     * Returns the current toolbar type.
     */
    toolbarType?: string;
    /**
     * Returns the current toolbar item.
     */
    item?: navigations.ItemModel;
    /**
     * Specifies the toolbar item collection to be rendered as contextual toolbar.
     */
    toolbarItems?: (string | navigations.ItemModel)[];
}
/**
 * Interface for saving the canvas as image.
 */
export interface SaveEventArgs {
    /**
     * Specifies the file name for an image.
     */
    fileName: string;
    /**
     * Returns the file type for an image.
     */
    fileType: FileType;
}
/**
 * Interface for before saving the canvas as image.
 */
export interface BeforeSaveEventArgs {
    /**
     * Defines the cancel option to cancel the save action.
     */
    cancel: boolean;
    /**
     * Specifies the file name for an image.
     */
    fileName: string;
    /**
     * Returns the file type for an image.
     */
    fileType: FileType;
}
/**
 * Interface for Point Object in the image editor.
 *
 */
export interface Point {
    /**
     * Returns the x position in the canvas.
     */
    x: number;
    /**
     * Returns y position in the canvas.
     */
    y: number;
}
/**
 * Interface for ShapeSettings in the imageEditor.
 */
export interface ShapeSettings {
    /**
     * Returns the id of the shape.
     */
    id: string;
    /**
     * Returns the type of the shape.
     */
    type: ShapeType;
    /**
     * Returns the start x position of the shape.
     */
    startX: number;
    /**
     * Returns the start y position of the shape.
     */
    startY: number;
    /**
     * Returns the width of the shape.
     */
    width?: number;
    /**
     * Returns the height of the shape.
     */
    height?: number;
    /**
     * Returns the stroke color of the shape.
     */
    strokeColor?: string;
    /**
     * Returns the fill color of the shape.
     */
    fillColor?: string;
    /**
     * Returns the stroke width of the shape.
     */
    strokeWidth?: number;
    /**
     * Returns the radius of the ellipse shape.
     */
    radius?: number;
    /**
     * Returns the length of the line shape.
     */
    length?: number;
    /**
     * Returns the text content of the text.
     */
    text?: string;
    /**
     * Returns the font size of the text.
     */
    fontSize?: number;
    /**
     * Returns the font style of the text.
     */
    fontStyle?: string[];
    /**
     * Returns the font color of the text.
     */
    color?: string;
}
//node_modules/@syncfusion/ej2-image-editor/src/image-editor/index.d.ts
/**
 * Image Editor Modules
 */
//node_modules/@syncfusion/ej2-image-editor/src/index.d.ts
/**
 * ImageEditor all modules
 */
 }
export namespace inplaceEditor { 

//node_modules/@syncfusion/ej2-inplace-editor/src/index.d.ts
/**
 *
 */
//node_modules/@syncfusion/ej2-inplace-editor/src/inplace-editor/base/classes.d.ts
/**
 * In-place Editor classes defined here.
 */
/** @hidden */
export  const ROOT: string;
/** @hidden */
export  const ROOT_TIP: string;
/** @hidden */
export  const VALUE_WRAPPER: string;
/** @hidden */
export  const VALUE: string;
/** @hidden */
export  const OVERLAY_ICON: string;
/** @hidden */
export  const TIP_TITLE: string;
/** @hidden */
export  const TITLE: string;
/** @hidden */
export  const INLINE: string;
/** @hidden */
export  const POPUP: string;
/** @hidden */
export  const WRAPPER: string;
/** @hidden */
export  const LOADING: string;
/** @hidden */
export  const FORM: string;
/** @hidden */
export  const CTRL_GROUP: string;
/** @hidden */
export  const INPUT: string;
/** @hidden */
export  const BUTTONS: string;
/** @hidden */
export  const EDITABLE_ERROR: string;
/** @hidden */
export  const ELEMENTS: string;
/** @hidden */
export  const OPEN: string;
/** @hidden */
export  const BTN_SAVE: string;
/** @hidden */
export  const BTN_CANCEL: string;
/** @hidden */
export  const RTE_SPIN_WRAP: string;
/** @hidden */
export  const CTRL_OVERLAY: string;
/** @hidden */
export  const DISABLE: string;
/** @hidden */
export  const ICONS: string;
/** @hidden */
export  const PRIMARY: string;
/** @hidden */
export  const SHOW: string;
/** @hidden */
export  const HIDE: string;
/** @hidden */
export  const RTL: string;
/** @hidden */
export  const ERROR: string;
/** @hidden */
export  const LOAD: string;
//node_modules/@syncfusion/ej2-inplace-editor/src/inplace-editor/base/events.d.ts
/**
 * In-place Editor events defined here.
 */
/** @hidden */
export  const render: string;
/** @hidden */
export  const update: string;
/** @hidden */
export  const destroy: string;
/** @hidden */
export  const setFocus: string;
/** @hidden */
export  const accessValue: string;
/** @hidden */
export  const destroyModules: string;
/** @hidden */
export  const showPopup: string;
//node_modules/@syncfusion/ej2-inplace-editor/src/inplace-editor/base/index.d.ts
/**
 * Base modules
 */
//node_modules/@syncfusion/ej2-inplace-editor/src/inplace-editor/base/inplace-editor-model.d.ts
/**
 * Interface for a class InPlaceEditor
 */
export interface InPlaceEditorModel extends base.ComponentModel{
    /**
     * Specifies the name of the field which is used to map data to the server.
     * If name is not given, then component ID is taken as mapping field name.
     *
     * {% codeBlock src='inplace-editor/name/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     */
    name?: string;
    /**
     * Specifies the display value for input when original input value is empty.
     *
     * {% codeBlock src='inplace-editor/value/index.md' %}{% endcodeBlock %}
     *
     * @default null
     * @isGenericType true
     */
    value?: string | number | Date | string[] | Date[] | number[];
    /**
     * Specifies the HTML element ID as a string that can be added as a editable field.
     *
     * {% codeBlock src='inplace-editor/template/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     * @blazorType string
     */
    template?: string | HTMLElement;
    /**
     * Defines whether to allow the cross-scripting site or not.
     *
     * @default true
     */
    enableHtmlSanitizer?: boolean;
    /**
     * It enables or disables the parsing of HTML string content into HTML DOM elements for In-place Editor.
     * If the value of the property is set to false, the In-place Editor value will be displayed as HTML string instead of HTML DOM elements.
     *
     * @default true
     */
    enableHtmlParse?: boolean;
    /**
     * Defines single/multiple classes (separated by space) to be used for customization of In-place editor.
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * Defines the unique primary key of editable field which can be used for saving data in data-base.
     *
     * {% codeBlock src='inplace-editor/primary-key/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     */
    primaryKey?: string | number;
    /**
     * Sets the text to be shown when an element has 'Empty' value.
     *
     * {% codeBlock src='inplace-editor/empty-text/index.md' %}{% endcodeBlock %}
     *
     * @default 'Empty'
     */
    emptyText?: string;
    /**
     * Gets the url for server submit action.
     *
     * {% codeBlock src='inplace-editor/url/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     */
    url?: string;
    /**
     * Specifies the mode to be render while editing. The possible modes are :
     *
     * - `Inline`: Editable content is displayed as inline text and ok/cancel buttons are displayed at right bottom corner of input.
     * - `Popup`: Editable content and ok/cancel buttons are displayed inside popup while editing.
     *
     * {% codeBlock src='inplace-editor/mode/index.md' %}{% endcodeBlock %}
     *
     * @default 'Popup'
     */
    mode?: RenderMode;
    /**
     * Specifies the adaptor type that are used data.DataManager to communicate with DataSource. The possible values are,
     *
     * - `data.UrlAdaptor`: Base adaptor for interacting with remote data services.
     * - `data.ODataV4Adaptor`: Used to interact with ODataV4 service.
     * - `data.WebApiAdaptor`: Used to interact with Web api created with OData endpoint.
     *
     * {% codeBlock src='inplace-editor/adaptor/index.md' %}{% endcodeBlock %}
     *
     * @default 'data.UrlAdaptor'
     */
    adaptor?: AdaptorType;
    /**
     * Specifies the type of components that integrated with In-place editor to make it as editable.
     *
     * {% codeBlock src='inplace-editor/type/index.md' %}{% endcodeBlock %}
     *
     * @default 'Text'
     */
    type?: InputType;
    /**
     * Specifies the event action of input to enter edit mode instead of using edit icon. The possible values are:
     *
     * - `Click`: Do the single click action on input to enter into the edit mode.
     * - `DblClick`: Do the single double click action on input to enter into the edit mode.
     * - `EditIconClick`: Disables the editing of event action of input and allows user to edit only through edit icon.
     *
     * {% codeBlock src='inplace-editor/editable-on/index.md' %}{% endcodeBlock %}
     *
     * @default 'Click'
     */
    editableOn?: EditableType;
    /**
     * Specifies the option to be set on initial rendering. It is applicable for dropdowns.DropDownList,
     * AutoComplete, ComboBox, and MultiSelect component types.
     * The possible options are:
     *
     * - `Never`: The corresponding field value will never be set initially in the component.
     * - `Always`: The corresponding field value will be set initially in the component.
     *
     * @default 'Never'
     */
    textOption?: textOptionType;
    /**
     * Specifies the action to be perform when user clicks outside the container, that is focus out of editable content.
     * The possible options are,
     *
     * - `Cancel`: Cancel's the editing and resets the old content.
     * - `Submit`: Submit the edited content to the server.
     * - `Ignore`: No action is perform with this type and allows to have many containers open.
     *
     * @default 'Submit'
     */
    actionOnBlur?: ActionBlur;
    /**
     * Enable or disable persisting component's state between page reloads. If enabled, following list of states will be persisted.
     * 1. value
     *
     * {% codeBlock src='inplace-editor/enable-persistence/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    enablePersistence?: boolean;
    /**
     * Specifies whether to enable editing mode or not.
     *
     * @default false
     */
    disabled?: boolean;
    /**
     * Used to show/hide the ok/cancel buttons of In-place editor.
     *
     * {% codeBlock src='inplace-editor/show-buttons/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    showButtons?: boolean;
    /**
     * Specifies to show/hide the editing mode.
     *
     * {% codeBlock src='inplace-editor/enable-edit-mode/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    enableEditMode?: boolean;
    /**
     * Sets to trigger the submit action with enter key pressing of input.
     *
     * {% codeBlock src='inplace-editor/submit-on-enter/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    submitOnEnter?: boolean;
    /**
     * Specifies the object to customize popup display settings like positions, animation etc.
     *
     * {% codeBlock src='inplace-editor/popup-settings/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     */
    popupSettings?: PopupSettingsModel;
    /**
     * Specifies the model object configuration for the integrated components like AutoComplete, calendars.DatePicker,inputs.NumericTextBox, etc.
     *
     * {% codeBlock src='inplace-editor/model/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    model?: dropdowns.AutoCompleteModel | inputs.ColorPickerModel | dropdowns.ComboBoxModel | calendars.DatePickerModel | calendars.DateRangePickerModel | calendars.DateTimePickerModel | dropdowns.DropDownListModel | inputs.MaskedTextBoxModel | dropdowns.MultiSelectModel | inputs.NumericTextBoxModel | richtexteditor.RichTextEditorModel | inputs.SliderModel | inputs.TextBoxModel | calendars.TimePickerModel;
    /**
     * Used to customize the "Save" button UI appearance by defining buttons.Button model configuration.
     *
     * {% codeBlock src='inplace-editor/save-button/index.md' %}{% endcodeBlock %}
     *
     * @default { iconCss: 'e-icons e-save-icon' }
     */
    saveButton?: buttons.ButtonModel;
    /**
     * Used to customize the "Cancel" button UI appearance by defining buttons.Button model configuration.
     *
     * {% codeBlock src='inplace-editor/cancel-button/index.md' %}{% endcodeBlock %}
     *
     * @default { iconCss: 'e-icons e-cancel-icon' }
     */
    cancelButton?: buttons.ButtonModel;
    /**
     * Maps the validation rules for the input.
     *
     * {% codeBlock src='inplace-editor/validation-rules/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    /* eslint-disable */
    validationRules?: { [name: string]: { [rule: string]: Object } };
    /**
     * The event will be fired once the component rendering is completed.
     *
     * @event 'event'
     * @blazorProperty 'Created'
     */
    created?: base.EmitType<Event>;
    /**
     * base.Event triggers before sanitize the value.
     * @event 
     * @blazorProperty 'OnSanitizeHtml'
     */
    beforeSanitizeHtml?: base.EmitType<BeforeSanitizeHtmlArgs>;
    /**
     * The event will be fired before the data submitted to the server.
     *
     * @event 'event'
     * @blazorProperty 'OnActionBegin'
     */
    actionBegin?: base.EmitType<ActionBeginEventArgs>;
    /**
     * The event will be fired when data submitted successfully to the server.
     *
     * @event 'event'
     * @blazorProperty 'OnActionSuccess'
     */
    actionSuccess?: base.EmitType<ActionEventArgs>;
    /**
     * The event will be fired when data submission failed.
     *
     * @event 'event'
     * @blazorProperty 'OnActionFailure'
     */
    actionFailure?: base.EmitType<ActionEventArgs>;
    /**
     * The event will be fired while validating current value.
     *
     * @event 'event'
     * @blazorProperty 'Validating'
     */
    validating?: base.EmitType<ValidateEventArgs>;
    /**
     * The event will be fired before changing the mode from default to edit mode.
     *
     * @event 'event'
     */
    beginEdit?: base.EmitType<BeginEditEventArgs>;
    /**
     * The event will be fired when the edit action is finished and begin to submit/cancel the current value.
     *
     * @event 'event'
     */
    endEdit?: base.EmitType<EndEditEventArgs>;
    /**
     * The event will be fired when the integrated component value has changed that render based on the `type` property
     * in the In-place editor.
     *
     * @event 'event'
     * @blazorProperty 'ValueChange'
     */
    change?: base.EmitType<ChangeEventArgs>;
    /**
     * base.Event triggers when click the submit button.
     *
     * @event 'event'
     * @blazorProperty 'SubmitClick'
     */
    submitClick?: base.EmitType<MouseEvent>;
    /**
     * base.Event triggers when click the cancel button.
     *
     * @event 'event'
     * @blazorProperty 'CancelClick'
     */
    cancelClick?: base.EmitType<MouseEvent>;
    /**
     * The event will be fired when the component gets destroyed.
     *
     * @event 'event'
     * @blazorProperty 'Destroyed'
     */
    destroyed?: base.EmitType<Event>;
}
//node_modules/@syncfusion/ej2-inplace-editor/src/inplace-editor/base/inplace-editor.d.ts
/**
 * Provides information about a SanitizeSelectors.
 */
export interface SanitizeSelectors {
    /** Returns the tags. */
    tags?: string[];
    /** Returns the attributes. */
    attributes?: SanitizeRemoveAttrs[];
}
/**
 * Provides information about a BeforeSanitizeHtml event.
 */
export interface BeforeSanitizeHtmlArgs {
    /** Illustrates whether the current action needs to be prevented or not. */
    cancel?: boolean;
    /** It is a callback function and executed it before our inbuilt action. It should return HTML as a string.
     *
     * @function
     * @param {string} value - Returns the value.
     * @returns {string} - returns the string value
     */
    helper?: Function;
    /** Returns the selectors object which carrying both tags and attributes selectors to block list of cross-site scripting attack.
     *  Also possible to modify the block list in this event.
     */
    selectors?: SanitizeSelectors;
}
/**
 * Provides information about a SanitizeRemoveAttributes.
 */
export interface SanitizeRemoveAttrs {
    /** Defines the attribute name to sanitize */
    attribute?: string;
    /** Defines the selector that sanitize the specified attributes within the selector */
    selector?: string;
}
/**
 * Specifies the mode to be render while editing.
 */
export  type RenderMode = 'Inline' | 'Popup';
/**
 * Specifies the action to be perform when user clicks outside the container, that is focus out of editable content.
 */
export  type ActionBlur = 'Cancel' | 'Submit' | 'Ignore';
/**
 * Specifies the event action of input to enter edit mode instead of using edit icon.
 */
export  type EditableType = 'Click' | 'DblClick' | 'EditIconClick';
/**
 * Specifies the value to be set when initial rendering.
 */
export  type textOptionType = 'Never' | 'Always';
/**
 * Specifies the adaptor type that are used DataManager to communicate with DataSource.
 */
export  type AdaptorType = 'UrlAdaptor' | 'ODataV4Adaptor' | 'WebApiAdaptor';
/**
 * Specifies the type of components that integrated with In-place editor to make it as editable.
 */
export  type InputType = 'AutoComplete' | 'Color' | 'ComboBox' | 'Date' | 'calendars.DateRange' | 'DateTime' | 'DropDownList' | 'Mask' | 'MultiSelect' | 'Numeric' | 'RTE' | 'Slider' | 'Text' | 'Time';
/**
 * ```html
 * * The In-place editor control is used to edit an element in a place and to update the value in server.
 * <div id='element' />
 * <script>
 *   var editorObj = new InPlaceEditor();
 *   editorObj.appendTo('#element');
 * </script>
 * ```
 */
export  class InPlaceEditor extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    private tipObj;
    private touchModule;
    private loader;
    private editEle;
    private spinObj;
    private formEle;
    private valueEle;
    private titleEle;
    private editIcon;
    private valueWrap;
    private templateEle;
    private containerEle;
    private initRender;
    private inlineWrapper;
    private isTemplate;
    private isVue;
    private formValidate;
    private componentObj;
    private isExtModule;
    private submitBtn;
    private cancelBtn;
    private isClearTarget;
    private beginEditArgs;
    private btnElements;
    private dataManager;
    private oldValue;
    private componentRoot;
    private dataAdaptor;
    private prevValue;
    private divComponents;
    private clearComponents;
    private dateType;
    private inputDataEle;
    private dropDownEle;
    private compPrevValue;
    private moduleList;
    private afterOpenEvent;
    private onScrollResizeHandler;
    /**
     * @hidden
     */
    printValue: string;
    /**
     * @hidden
     */
    needsID: boolean;
    /**
     * @hidden
     */
    atcModule: AutoComplete;
    /**
     * @hidden
     */
    colorModule: ColorPicker;
    /**
     * @hidden
     */
    comboBoxModule: ComboBox;
    /**
     * @hidden
     */
    dateRangeModule: DateRangePicker;
    /**
     * @hidden
     */
    multiSelectModule: MultiSelect;
    /**
     * @hidden
     */
    rteModule: Rte;
    /**
     * @hidden
     */
    sliderModule: Slider;
    /**
     * @hidden
     */
    timeModule: TimePicker;
    /**
     * Specifies the name of the field which is used to map data to the server.
     * If name is not given, then component ID is taken as mapping field name.
     *
     * {% codeBlock src='inplace-editor/name/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     */
    name: string;
    /**
     * Specifies the display value for input when original input value is empty.
     *
     * {% codeBlock src='inplace-editor/value/index.md' %}{% endcodeBlock %}
     *
     * @default null
     * @isGenericType true
     */
    value: string | number | Date | string[] | Date[] | number[];
    /**
     * Specifies the HTML element ID as a string that can be added as a editable field.
     *
     * {% codeBlock src='inplace-editor/template/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     * @blazorType string
     */
    template: string | HTMLElement;
    /**
     * Defines whether to allow the cross-scripting site or not.
     *
     * @default true
     */
    enableHtmlSanitizer: boolean;
    /**
     * It enables or disables the parsing of HTML string content into HTML DOM elements for In-place Editor.
     * If the value of the property is set to false, the In-place Editor value will be displayed as HTML string instead of HTML DOM elements.
     *
     * @default true
     */
    enableHtmlParse: boolean;
    /**
     * Defines single/multiple classes (separated by space) to be used for customization of In-place editor.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * Defines the unique primary key of editable field which can be used for saving data in data-base.
     *
     * {% codeBlock src='inplace-editor/primary-key/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     */
    primaryKey: string | number;
    /**
     * Sets the text to be shown when an element has 'Empty' value.
     *
     * {% codeBlock src='inplace-editor/empty-text/index.md' %}{% endcodeBlock %}
     *
     * @default 'Empty'
     */
    emptyText: string;
    /**
     * Gets the url for server submit action.
     *
     * {% codeBlock src='inplace-editor/url/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     */
    url: string;
    /**
     * Specifies the mode to be render while editing. The possible modes are :
     *
     * - `Inline`: Editable content is displayed as inline text and ok/cancel buttons are displayed at right bottom corner of input.
     * - `Popup`: Editable content and ok/cancel buttons are displayed inside popup while editing.
     *
     * {% codeBlock src='inplace-editor/mode/index.md' %}{% endcodeBlock %}
     *
     * @default 'Popup'
     */
    mode: RenderMode;
    /**
     * Specifies the adaptor type that are used DataManager to communicate with DataSource. The possible values are,
     *
     * - `UrlAdaptor`: Base adaptor for interacting with remote data services.
     * - `ODataV4Adaptor`: Used to interact with ODataV4 service.
     * - `WebApiAdaptor`: Used to interact with Web api created with OData endpoint.
     *
     * {% codeBlock src='inplace-editor/adaptor/index.md' %}{% endcodeBlock %}
     *
     * @default 'UrlAdaptor'
     */
    adaptor: AdaptorType;
    /**
     * Specifies the type of components that integrated with In-place editor to make it as editable.
     *
     * {% codeBlock src='inplace-editor/type/index.md' %}{% endcodeBlock %}
     *
     * @default 'Text'
     */
    type: InputType;
    /**
     * Specifies the event action of input to enter edit mode instead of using edit icon. The possible values are:
     *
     * - `Click`: Do the single click action on input to enter into the edit mode.
     * - `DblClick`: Do the single double click action on input to enter into the edit mode.
     * - `EditIconClick`: Disables the editing of event action of input and allows user to edit only through edit icon.
     *
     * {% codeBlock src='inplace-editor/editable-on/index.md' %}{% endcodeBlock %}
     *
     * @default 'Click'
     */
    editableOn: EditableType;
    /**
     * Specifies the option to be set on initial rendering. It is applicable for DropDownList,
     * AutoComplete, ComboBox, and MultiSelect component types.
     * The possible options are:
     *
     * - `Never`: The corresponding field value will never be set initially in the component.
     * - `Always`: The corresponding field value will be set initially in the component.
     *
     * @default 'Never'
     */
    textOption: textOptionType;
    /**
     * Specifies the action to be perform when user clicks outside the container, that is focus out of editable content.
     * The possible options are,
     *
     * - `Cancel`: Cancel's the editing and resets the old content.
     * - `Submit`: Submit the edited content to the server.
     * - `Ignore`: No action is perform with this type and allows to have many containers open.
     *
     * @default 'Submit'
     */
    actionOnBlur: ActionBlur;
    /**
     * Enable or disable persisting component's state between page reloads. If enabled, following list of states will be persisted.
     * 1. value
     *
     * {% codeBlock src='inplace-editor/enable-persistence/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    enablePersistence: boolean;
    /**
     * Specifies whether to enable editing mode or not.
     *
     * @default false
     */
    disabled: boolean;
    /**
     * Used to show/hide the ok/cancel buttons of In-place editor.
     *
     * {% codeBlock src='inplace-editor/show-buttons/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    showButtons: boolean;
    /**
     * Specifies to show/hide the editing mode.
     *
     * {% codeBlock src='inplace-editor/enable-edit-mode/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    enableEditMode: boolean;
    /**
     * Sets to trigger the submit action with enter key pressing of input.
     *
     * {% codeBlock src='inplace-editor/submit-on-enter/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    submitOnEnter: boolean;
    /**
     * Specifies the object to customize popup display settings like positions, animation etc.
     *
     * {% codeBlock src='inplace-editor/popup-settings/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     */
    popupSettings: PopupSettingsModel;
    /**
     * Specifies the model object configuration for the integrated components like AutoComplete, DatePicker,NumericTextBox, etc.
     *
     * {% codeBlock src='inplace-editor/model/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    model: dropdowns.AutoCompleteModel | inputs.ColorPickerModel | dropdowns.ComboBoxModel | calendars.DatePickerModel | calendars.DateRangePickerModel | calendars.DateTimePickerModel | dropdowns.DropDownListModel | inputs.MaskedTextBoxModel | dropdowns.MultiSelectModel | inputs.NumericTextBoxModel | richtexteditor.RichTextEditorModel | inputs.SliderModel | inputs.TextBoxModel | calendars.TimePickerModel;
    /**
     * Used to customize the "Save" button UI appearance by defining Button model configuration.
     *
     * {% codeBlock src='inplace-editor/save-button/index.md' %}{% endcodeBlock %}
     *
     * @default { iconCss: 'e-icons e-save-icon' }
     */
    saveButton: buttons.ButtonModel;
    /**
     * Used to customize the "Cancel" button UI appearance by defining Button model configuration.
     *
     * {% codeBlock src='inplace-editor/cancel-button/index.md' %}{% endcodeBlock %}
     *
     * @default { iconCss: 'e-icons e-cancel-icon' }
     */
    cancelButton: buttons.ButtonModel;
    /**
     * Maps the validation rules for the input.
     *
     * {% codeBlock src='inplace-editor/validation-rules/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    validationRules: {
        [name: string]: {
            [rule: string]: Object;
        };
    };
    /**
     * The event will be fired once the component rendering is completed.
     *
     * @event 'event'
     * @blazorProperty 'Created'
     */
    created: base.EmitType<Event>;
    /**
     * Event triggers before sanitize the value.
     * @event
     * @blazorProperty 'OnSanitizeHtml'
     */
    beforeSanitizeHtml: base.EmitType<BeforeSanitizeHtmlArgs>;
    /**
     * The event will be fired before the data submitted to the server.
     *
     * @event 'event'
     * @blazorProperty 'OnActionBegin'
     */
    actionBegin: base.EmitType<ActionBeginEventArgs>;
    /**
     * The event will be fired when data submitted successfully to the server.
     *
     * @event 'event'
     * @blazorProperty 'OnActionSuccess'
     */
    actionSuccess: base.EmitType<ActionEventArgs>;
    /**
     * The event will be fired when data submission failed.
     *
     * @event 'event'
     * @blazorProperty 'OnActionFailure'
     */
    actionFailure: base.EmitType<ActionEventArgs>;
    /**
     * The event will be fired while validating current value.
     *
     * @event 'event'
     * @blazorProperty 'Validating'
     */
    validating: base.EmitType<ValidateEventArgs>;
    /**
     * The event will be fired before changing the mode from default to edit mode.
     *
     * @event 'event'
     */
    beginEdit: base.EmitType<BeginEditEventArgs>;
    /**
     * The event will be fired when the edit action is finished and begin to submit/cancel the current value.
     *
     * @event 'event'
     */
    endEdit: base.EmitType<EndEditEventArgs>;
    /**
     * The event will be fired when the integrated component value has changed that render based on the `type` property
     * in the In-place editor.
     *
     * @event 'event'
     * @blazorProperty 'ValueChange'
     */
    change: base.EmitType<ChangeEventArgs>;
    /**
     * Event triggers when click the submit button.
     *
     * @event 'event'
     * @blazorProperty 'SubmitClick'
     */
    submitClick: base.EmitType<MouseEvent>;
    /**
     * Event triggers when click the cancel button.
     *
     * @event 'event'
     * @blazorProperty 'CancelClick'
     */
    cancelClick: base.EmitType<MouseEvent>;
    /**
     * The event will be fired when the component gets destroyed.
     *
     * @event 'event'
     * @blazorProperty 'Destroyed'
     */
    destroyed: base.EmitType<Event>;
    private initializeValue;
    /**
     * Initialize the event handler
     *
     * @returns {void}
     * @private
     */
    protected preRender(): void;
    /**
     * To Initialize the In-place editor rendering
     *
     * @returns {void}
     * @private
     */
    protected render(): void;
    /**
     * Initializes a new instance of the In-place editor class.
     *
     * @param {InPlaceEditorModel} options  - Specifies In-place editor model properties as options.
     * @param {string} element  - Specifies the element for which In-place editor applies.
     */
    constructor(options?: InPlaceEditorModel, element?: string | HTMLElement);
    private setClass;
    private appendValueElement;
    private renderInitialValue;
    private getInitFieldMapValue;
    private getInitQuery;
    private updateInitValue;
    private renderValue;
    private isEditorOpen;
    private renderEditor;
    private renderAndOpen;
    private checkRemoteData;
    private showDropDownPopup;
    private setAttribute;
    private renderControl;
    private appendButtons;
    private renderButtons;
    private createButtons;
    private renderComponent;
    private updateAdaptor;
    private loadSpinner;
    private removeSpinner;
    private getEditElement;
    private getLocale;
    private checkValue;
    extendModelValue(val: string | number | boolean | Date | calendars.DateRange | string[] | Date[] | number[] | boolean[]): void;
    private updateValue;
    private updateModelValue;
    setValue(): void;
    private getDropDownsValue;
    private getSendValue;
    private getRenderValue;
    private setRtl;
    private setFocus;
    private removeEditor;
    private destroyComponents;
    private destroyButtons;
    private getQuery;
    private sendValue;
    private isEmpty;
    private checkIsTemplate;
    private templateCompile;
    /**
     * @param {string} value - specifies the string value
     * @returns {string} - returns the string
     * @hidden
     */
    sanitizeHelper(value: string): string;
    private appendTemplate;
    private disable;
    private enableEditor;
    private checkValidation;
    private afterValidation;
    private toggleErrorClass;
    private updateArrow;
    private triggerSuccess;
    private triggerEndEdit;
    private wireEvents;
    private wireDocEvent;
    private wireEditEvent;
    private wireEditorKeyDownEvent;
    private wireBtnEvents;
    private cancelBtnClick;
    private unWireEvents;
    private unWireDocEvent;
    private unWireEditEvent;
    private unWireEditorKeyDownEvent;
    private submitPrevent;
    private btnKeyDownHandler;
    private afterOpenHandler;
    private popMouseDown;
    private doubleTapHandler;
    private clickHandler;
    private submitHandler;
    private cancelHandler;
    private popClickHandler;
    private successHandler;
    private failureHandler;
    private enterKeyDownHandler;
    private valueKeyDownHandler;
    private mouseDownHandler;
    private scrollResizeHandler;
    private docClickHandler;
    private changeHandler;
    /**
     * Validate current editor value.
     *
     * @returns {void}
     */
    validate(): void;
    /**
     * Submit the edited input value to the server.
     *
     * @returns {void}
     */
    save(): void;
    /**
     * Removes the control from the DOM and also removes all its related events.
     *
     * @returns {void}
     */
    destroy(): void;
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @returns {string} - returns the string
     */
    protected getPersistData(): string;
    /**
     * To provide the array of modules needed for component rendering
     *
     * @returns {base.ModuleDeclaration[]} - returns the module declaration
     * @hidden
     */
    requiredModules(): base.ModuleDeclaration[];
    /**
     * Returns the current module name.
     *
     * @returns {string} - returrns the string
     * @private
     */
    protected getModuleName(): string;
    /**
     * Gets called when the model property changes.The data that describes the old and new values of property that changed.
     *
     * @param  {InPlaceEditorModel} newProp - specifies the new property
     * @param  {InPlaceEditorModel} oldProp - specifies the old property
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: InPlaceEditorModel, oldProp: InPlaceEditorModel): void;
}
//node_modules/@syncfusion/ej2-inplace-editor/src/inplace-editor/base/interface.d.ts
/**
 * Defines component types that can be used in the In-place Editor.
 * @hidden
 */
export  type Component = dropdowns.AutoComplete | inputs.ColorPicker | dropdowns.ComboBox | calendars.DateRangePicker | dropdowns.MultiSelect | richtexteditor.RichTextEditor | inputs.Slider | calendars.TimePicker;
/**
 * Provides information about a Notify.
 */
export interface NotifyParams {
    type?: string;
    module: string;
    target?: HTMLElement | HTMLInputElement;
}
/**
 * Provides information about a Component.
 */
export interface IComponent {
    showPopup?(): void;
    compObj: Component;
    render(e: NotifyParams): void;
    focus(): void;
    updateValue(e: NotifyParams): void;
    refresh?(): void;
    getRenderValue?(): void;
}
/**
 * Provides information about a Button.
 */
export interface IButton {
    type: string;
    constant: string;
    title: object;
    className: string;
    model: buttons.ButtonModel;
    container: HTMLElement;
}
/**
 * Provides information about a ActionBegin event.
 */
export interface ActionBeginEventArgs {
    /** Defines the name of the field */
    data: {
        [key: string]: string | number;
    };
    /** Prevent the submit action. */
    cancel?: boolean;
}
/**
 * Provides information about a Action event.
 */
export interface ActionEventArgs {
    /** Prevents the current value render in the editor. */
    cancel?: boolean;
    /** Defines the data manager action result. */
    data: object;
    /** Defines the current editor value */
    value: string;
}
/**
 * Provides information about a Form event.
 */
export interface FormEventArgs {
    inputName: string;
    message: string;
    element: HTMLInputElement;
    status?: string;
    errorElement?: HTMLElement;
}
/**
 * Provides information about a Validate event.
 */
export interface ValidateEventArgs extends ActionBeginEventArgs {
    /** Defines form validation error message. */
    errorMessage: string;
}
/**
 * Provides information about a BeginEdit event.
 */
export interface BeginEditEventArgs {
    /** Specifies whether to cancel the open action of the editor. */
    cancel?: boolean;
    /** Specifies whether to cancel the focus action, before open a editor. */
    cancelFocus?: boolean;
    /** Defines the current editor mode. */
    mode?: RenderMode;
}
/**
 * Provides information about the EndEdit event.
 */
export interface EndEditEventArgs {
    /** Defines the type of action ends the edit. */
    action?: string;
    /** Specifies whether to cancel the end edit action. */
    cancel?: boolean;
    /** Defines the current editor mode. */
    mode?: RenderMode;
}
/**
 * Provides information about the Change event.
 */
export interface ChangeEventArgs {
    /** Returns the selected item as JSON Object from the dropdowns.AutoComplete/dropdowns.ComboBox/DropDownList data source. */
    itemData?: dropdowns.FieldSettingsModel;
    /** Returns the previous selected item as JSON Object from the dropdowns.AutoComplete/dropdowns.ComboBox/DropDownList data source. */
    previousItemData?: dropdowns.FieldSettingsModel;
    /** Returns the previous value of integrated component that renders based on the `type` property in the In-place editor. */
    previousValue: string | string[] | number | number[] | boolean[] | Date | Date[] | calendars.DateRange;
    /** Returns the value of integrated component that renders based on the `type` property in the In-place editor. */
    value: string | string[] | number | number[] | boolean[] | Date | Date[] | calendars.DateRange;
}
//node_modules/@syncfusion/ej2-inplace-editor/src/inplace-editor/base/models-model.d.ts
/**
 * Interface for a class PopupSettings
 */
export interface PopupSettingsModel {
    /**
     * Specifies title for the editor popup.
     * @default ''
     */
    title?: string;
    /**
     * Specifies model for editor popup customization like position, animation,etc.
     * @default null
     */
    model?: popups.TooltipModel;
}
//node_modules/@syncfusion/ej2-inplace-editor/src/inplace-editor/base/models.d.ts
/**
 * Configures the popup settings of the In-place editor.
 */
export  class PopupSettings extends base.ChildProperty<PopupSettings> {
    /**
     * Specifies title for the editor popup.
     * @default ''
     */
    title: string;
    /**
     * Specifies model for editor popup customization like position, animation,etc.
     * @default null
     */
    model: popups.TooltipModel;
}
/**
 * @hidden
 */
export  const modulesList: {
    [key: string]: string;
};
/**
 * @hidden
 */
export  let localeConstant: {
    [key: string]: object;
};
//node_modules/@syncfusion/ej2-inplace-editor/src/inplace-editor/base/util.d.ts
 type valueType = string | number | Date | string[] | Date[] | number[];
 type modelType = dropdowns.AutoCompleteModel | inputs.ColorPickerModel | dropdowns.ComboBoxModel | calendars.DatePickerModel | calendars.DateRangePickerModel | calendars.DateTimePickerModel | dropdowns.DropDownListModel | inputs.MaskedTextBoxModel | dropdowns.MultiSelectModel | inputs.NumericTextBoxModel | richtexteditor.RichTextEditorModel | inputs.SliderModel | inputs.TextBoxModel | calendars.TimePickerModel;
/**
 * @param {string} type - specifies the string type
 * @param {valueType} val - specifies the value type
 * @param {modelType} model - specifies the model type
 * @returns {string} - returns the string
 */
export  function parseValue(type: string, val: valueType, model: modelType): string;
/**
 * @param {string} type - specifies the string value
 * @param {valueType} val - specifies the value type
 * @returns {valueType} - returns the value type
 */
export  function getCompValue(type: string, val: valueType): valueType;
/**
 * @param {string} value - specifies the string value
 * @returns {string} - returns the string
 * @hidden
 */
export  function encode(value: string): string;
//node_modules/@syncfusion/ej2-inplace-editor/src/inplace-editor/index.d.ts
/**
 *
 */
//node_modules/@syncfusion/ej2-inplace-editor/src/inplace-editor/modules/auto-complete.d.ts
/**
 * The `AutoComplete` module is used configure the properties of Auto complete type editor.
 */
export  class AutoComplete implements IComponent {
    private base;
    protected parent: InPlaceEditor;
    compObj: dropdowns.AutoComplete;
    constructor(parent?: InPlaceEditor);
    render(e: NotifyParams): void;
    /**
     * @hidden
     * @returns {void}
     */
    showPopup(): void;
    focus(): void;
    updateValue(e: NotifyParams): void;
    /**
     * Destroys the module.
     *
     * @function destroy
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} - returns the string
     */
    private getModuleName;
}
//node_modules/@syncfusion/ej2-inplace-editor/src/inplace-editor/modules/base-module.d.ts
/**
 * The `Base` module.
 */
export  class Base {
    protected parent: InPlaceEditor;
    protected module: IComponent;
    constructor(parent: InPlaceEditor, module: IComponent);
    private render;
    private showPopup;
    private focus;
    private update;
    private getValue;
    private destroyComponent;
    destroy(): void;
    protected addEventListener(): void;
    protected removeEventListener(): void;
}
//node_modules/@syncfusion/ej2-inplace-editor/src/inplace-editor/modules/color-picker.d.ts
/**
 * The `ColorPicker` module is used configure the properties of Color picker type editor.
 */
export  class ColorPicker implements IComponent {
    private base;
    protected parent: InPlaceEditor;
    compObj: inputs.ColorPicker;
    constructor(parent?: InPlaceEditor);
    render(e: NotifyParams): void;
    focus(): void;
    updateValue(e: NotifyParams): void;
    /**
     * Destroys the module.
     *
     * @function destroy
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} - retunrs the string
     */
    private getModuleName;
}
//node_modules/@syncfusion/ej2-inplace-editor/src/inplace-editor/modules/combo-box.d.ts
/**
 * The `ComboBox` module is used configure the properties of Combo box type editor.
 */
export  class ComboBox implements IComponent {
    private base;
    protected parent: InPlaceEditor;
    compObj: dropdowns.ComboBox;
    constructor(parent?: InPlaceEditor);
    render(e: NotifyParams): void;
    focus(): void;
    /**
     * @hidden
     * @returns {void}
     */
    showPopup(): void;
    /**
     * Destroys the module.
     * @function destroy
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    updateValue(e: NotifyParams): void;
    /**
     * For internal use only - Get the module name.
     * @returns {string} - returns the string
     */
    private getModuleName;
}
//node_modules/@syncfusion/ej2-inplace-editor/src/inplace-editor/modules/date-range-picker.d.ts
/**
 * The `DateRangePicker` module is used configure the properties of Date range picker type editor.
 */
export  class DateRangePicker implements IComponent {
    private base;
    compObj: calendars.DateRangePicker;
    protected parent: InPlaceEditor;
    constructor(parent?: InPlaceEditor);
    render(e: NotifyParams): void;
    focus(): void;
    /**
     * For internal use only - Get the module name.
     * @returns {string} - returns the string
     */
    private getModuleName;
    updateValue(e: NotifyParams): void;
    /**
     * Destroys the module.
     *
     * @function destroy
     * @returns {void}
     * @hidden
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-inplace-editor/src/inplace-editor/modules/index.d.ts
/**
 *
 */
//node_modules/@syncfusion/ej2-inplace-editor/src/inplace-editor/modules/multi-select.d.ts
/**
 * The `MultiSelect` module is used configure the properties of Multi select type editor.
 */
export  class MultiSelect implements IComponent {
    private base;
    protected parent: InPlaceEditor;
    private isPopOpen;
    compObj: dropdowns.MultiSelect;
    private openEvent;
    private closeEvent;
    constructor(parent?: InPlaceEditor);
    render(e: NotifyParams): void;
    private openHandler;
    private closeHandler;
    focus(): void;
    updateValue(e: NotifyParams): void;
    getRenderValue(): void;
    /**
     * Destroys the module.
     *
     * @function destroy
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} - returns the string
     */
    private getModuleName;
}
//node_modules/@syncfusion/ej2-inplace-editor/src/inplace-editor/modules/rte.d.ts
/**
 * The `RTE` module is used configure the properties of RTE type editor.
 */
export  class Rte implements IComponent {
    private base;
    protected parent: InPlaceEditor;
    compObj: richtexteditor.RichTextEditor;
    constructor(parent?: InPlaceEditor);
    render(e: NotifyParams): void;
    focus(): void;
    updateValue(e: NotifyParams): void;
    private getRteValue;
    refresh(): void;
    /**
     * Destroys the rte module.
     *
     * @function destroy
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} - returns the string
     */
    private getModuleName;
}
//node_modules/@syncfusion/ej2-inplace-editor/src/inplace-editor/modules/slider.d.ts
/**
 * The `Slider` module is used configure the properties of Slider type editor.
 */
export  class Slider implements IComponent {
    private base;
    protected parent: InPlaceEditor;
    compObj: inputs.Slider;
    constructor(parent?: InPlaceEditor);
    render(e: NotifyParams): void;
    focus(): void;
    updateValue(e: NotifyParams): void;
    refresh(): void;
    /**
     * Destroys the slider module.
     *
     * @function destroy
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} - returns the string
     */
    private getModuleName;
}
//node_modules/@syncfusion/ej2-inplace-editor/src/inplace-editor/modules/time-picker.d.ts
/**
 * The `TimePicker` module is used configure the properties of Time picker type editor.
 */
export  class TimePicker implements IComponent {
    private base;
    protected parent: InPlaceEditor;
    compObj: calendars.TimePicker;
    constructor(parent?: InPlaceEditor);
    render(e: NotifyParams): void;
    focus(): void;
    updateValue(e: NotifyParams): void;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} - returns the string
     */
    private getModuleName;
    /**
     * Destroys the module.
     *
     * @function destroy
     * @returns {void}
     * @hidden
     */
    destroy(): void;
}
 }
export namespace inputs { 

//node_modules/@syncfusion/ej2-inputs/src/color-picker/color-picker-model.d.ts
/**
 * Interface for a class ColorPicker
 */
export interface ColorPickerModel extends base.ComponentModel{
    /**
     * It is used to set the color value for ColorPicker. It should be specified as Hex code.
     *
     * @default '#008000ff'
     */
    value?: string;
    /**
     * This property sets the CSS classes to root element of the ColorPicker
     *  which helps to customize the UI styles.
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * It is used to enable / disable ColorPicker component. If it is disabled the ColorPicker popup won’t open.
     *
     * @default false
     */
    disabled?: boolean;
    /**
     * It is used to render the ColorPicker with the specified mode.
     *
     * @default 'Picker'
     */
    mode?: ColorPickerMode;
    /**
     * It is used to show / hide the mode switcher button of ColorPicker component.
     *
     * @default true
     */
    modeSwitcher?: boolean;
    /**
     * It is used to load custom colors to palette.
     *
     * @default null
     */
    presetColors?: { [key: string]: string[] };
    /**
     * It is used to show / hide the control buttons (apply / cancel) of  ColorPicker component.
     *
     * @default true
     */
    showButtons?: boolean;
    /**
     * It is used to render the ColorPicker palette with specified columns.
     *
     * @default 10
     */
    columns?: number;
    /**
     * It is used to render the ColorPicker component as inline.
     *
     * @default false
     */
    inline?: boolean;
    /**
     * It is used to enable / disable the no color option of ColorPicker component.
     *
     * @default false
     */
    noColor?: boolean;
    /**
     * To enable or disable persisting component's state between page reloads and it is extended from component class.
     *
     * @default false
     */
    enablePersistence?: boolean;
    /**
     * It is used to enable / disable the opacity option of ColorPicker component.
     *
     * @default true
     */
    enableOpacity?: boolean;
    /**
    * Specifies the popup element creation on open.
    *
    * @default false
    */
    createPopupOnClick?: boolean;
    /**
     * Triggers while selecting the color in picker / palette, when showButtons property is enabled.
     *
     * @event base.select
     * @blazorProperty 'Selected'
     */
    select?: base.EmitType<ColorPickerEventArgs>;
    /**
     * Triggers while changing the colors. It will be triggered based on the showButtons property.
     * If the property is false, the event will be triggered while selecting the colors.
     * If the property is true, the event will be triggered while apply the selected color.
     *
     * @event change
     * @blazorProperty 'ValueChange'
     */
    change?: base.EmitType<ColorPickerEventArgs>;
    /**
     * Trigger while rendering each palette tile.
     *
     * @event beforeTileRender
     * @blazorProperty 'OnTileRender'
     */
    beforeTileRender?: base.EmitType<PaletteTileEventArgs>;
    /**
     * Triggers before opening the ColorPicker popup.
     *
     * @event beforeOpen
     * @blazorProperty 'OnOpen'
     */
    beforeOpen?: base.EmitType<BeforeOpenCloseEventArgs>;
    /**
     * Triggers while opening the ColorPicker popup.
     *
     * @event open
     * @blazorProperty 'Opened'
     */
    open?: base.EmitType<OpenEventArgs>;
    /**
     * Triggers before closing the ColorPicker popup.
     *
     * @event beforeClose
     * @blazorProperty 'OnClose'
     */
    beforeClose?: base.EmitType<BeforeOpenCloseEventArgs>;
    /**
     * Triggers before Switching between ColorPicker mode.
     *
     * @event beforeModeSwitch
     * @blazorProperty 'OnModeSwitch'
     */
    beforeModeSwitch?: base.EmitType<ModeSwitchEventArgs>;
    /**
     * Triggers after Switching between ColorPicker mode.
     *
     * @event onModeSwitch
     * @blazorProperty 'ModeSwitched'
     */
    onModeSwitch?: base.EmitType<ModeSwitchEventArgs>;
    /**
     * Triggers once the component rendering is completed.
     *
     * @event created
     * @blazorProperty 'Created'
     */
    created?: base.EmitType<Event>;
}
//node_modules/@syncfusion/ej2-inputs/src/color-picker/color-picker.d.ts
/**
 * ColorPicker Mode
 */
export  type ColorPickerMode = 'Picker' | 'Palette';
/**
 * ColorPicker component is a user interface to select and adjust color values. It provides supports for various
 * color specification like Red Green Blue, Hue Saturation Value and Hex codes.
 * ```html
 * <input type="color" id="color-picker">
 * ```
 * ```typescript
 * <script>
 *   let colorPickerObj: ColorPicker = new ColorPicker(null , "#color-picker");
 * </script>
 * ```
 */
export  class ColorPicker extends base.Component<HTMLInputElement> implements base.INotifyPropertyChanged {
    private splitBtn;
    private hueSlider;
    private opacitySlider;
    private tooltipEle;
    private container;
    private modal;
    private isRgb;
    private l10n;
    private tileRipple;
    private ctrlBtnRipple;
    private clientX;
    private clientY;
    private rgb;
    private hsv;
    private formElement;
    private initialInputValue;
    /**
     * It is used to set the color value for ColorPicker. It should be specified as Hex code.
     *
     * @default '#008000ff'
     */
    value: string;
    /**
     * This property sets the CSS classes to root element of the ColorPicker
     *  which helps to customize the UI styles.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * It is used to enable / disable ColorPicker component. If it is disabled the ColorPicker popup won’t open.
     *
     * @default false
     */
    disabled: boolean;
    /**
     * It is used to render the ColorPicker with the specified mode.
     *
     * @default 'Picker'
     */
    mode: ColorPickerMode;
    /**
     * It is used to show / hide the mode switcher button of ColorPicker component.
     *
     * @default true
     */
    modeSwitcher: boolean;
    /**
     * It is used to load custom colors to palette.
     *
     * @default null
     */
    presetColors: {
        [key: string]: string[];
    };
    /**
     * It is used to show / hide the control buttons (apply / cancel) of  ColorPicker component.
     *
     * @default true
     */
    showButtons: boolean;
    /**
     * It is used to render the ColorPicker palette with specified columns.
     *
     * @default 10
     */
    columns: number;
    /**
     * It is used to render the ColorPicker component as inline.
     *
     * @default false
     */
    inline: boolean;
    /**
     * It is used to enable / disable the no color option of ColorPicker component.
     *
     * @default false
     */
    noColor: boolean;
    /**
     * To enable or disable persisting component's state between page reloads and it is extended from component class.
     *
     * @default false
     */
    enablePersistence: boolean;
    /**
     * It is used to enable / disable the opacity option of ColorPicker component.
     *
     * @default true
     */
    enableOpacity: boolean;
    /**
    * Specifies the popup element creation on open.
    *
    * @default false
    */
    createPopupOnClick: boolean;
    /**
     * Triggers while selecting the color in picker / palette, when showButtons property is enabled.
     *
     * @event select
     * @blazorProperty 'Selected'
     */
    select: base.EmitType<ColorPickerEventArgs>;
    /**
     * Triggers while changing the colors. It will be triggered based on the showButtons property.
     * If the property is false, the event will be triggered while selecting the colors.
     * If the property is true, the event will be triggered while apply the selected color.
     *
     * @event change
     * @blazorProperty 'ValueChange'
     */
    change: base.EmitType<ColorPickerEventArgs>;
    /**
     * Trigger while rendering each palette tile.
     *
     * @event beforeTileRender
     * @blazorProperty 'OnTileRender'
     */
    beforeTileRender: base.EmitType<PaletteTileEventArgs>;
    /**
     * Triggers before opening the ColorPicker popup.
     *
     * @event beforeOpen
     * @blazorProperty 'OnOpen'
     */
    beforeOpen: base.EmitType<BeforeOpenCloseEventArgs>;
    /**
     * Triggers while opening the ColorPicker popup.
     *
     * @event open
     * @blazorProperty 'Opened'
     */
    open: base.EmitType<OpenEventArgs>;
    /**
     * Triggers before closing the ColorPicker popup.
     *
     * @event beforeClose
     * @blazorProperty 'OnClose'
     */
    beforeClose: base.EmitType<BeforeOpenCloseEventArgs>;
    /**
     * Triggers before Switching between ColorPicker mode.
     *
     * @event beforeModeSwitch
     * @blazorProperty 'OnModeSwitch'
     */
    beforeModeSwitch: base.EmitType<ModeSwitchEventArgs>;
    /**
     * Triggers after Switching between ColorPicker mode.
     *
     * @event onModeSwitch
     * @blazorProperty 'ModeSwitched'
     */
    onModeSwitch: base.EmitType<ModeSwitchEventArgs>;
    /**
     * Triggers once the component rendering is completed.
     *
     * @event created
     * @blazorProperty 'Created'
     */
    created: base.EmitType<Event>;
    constructor(options?: ColorPickerModel, element?: string | HTMLInputElement);
    protected preRender(): void;
    /**
     * To Initialize the component rendering
     *
     * @private
     * @returns {void}
     */
    render(): void;
    private initWrapper;
    private getWrapper;
    private createWidget;
    private createSplitBtn;
    private onOpen;
    private getPopupInst;
    private bindCallBackEvent;
    private onPopupClose;
    private createPalette;
    private firstPaletteFocus;
    private appendPalette;
    private setNoColor;
    private appendElement;
    private addTileSelection;
    private createPicker;
    private setHsvContainerBg;
    private getHsvContainer;
    private setHandlerPosition;
    private createSlider;
    private createOpacitySlider;
    private updateOpacitySliderBg;
    private hueChange;
    private opacityChange;
    private updateOpacityInput;
    private createPreview;
    private isPicker;
    private getPopupEle;
    private createNumericInput;
    private createInput;
    private appendOpacityValue;
    private appendValueSwitchBtn;
    private createCtrlBtn;
    private appendModeSwitchBtn;
    private createDragTooltip;
    private getTooltipInst;
    private setTooltipOffset;
    private toggleDisabled;
    private convertToRgbString;
    private convertToHsvString;
    private updateHsv;
    private convertToOtherFormat;
    private updateInput;
    private updatePreview;
    private getDragHandler;
    private removeTileSelection;
    private convertRgbToNumberArray;
    /**
     * To get color value in specified type.
     *
     * @param {string} value - Specify the color value.
     * @param {string} type - Specify the type to which the specified color needs to be converted.
     * @method getValue
     * @returns {string} - Color value
     */
    getValue(value?: string, type?: string): string;
    /**
     * To show/hide ColorPicker popup based on current state of the SplitButton.
     *
     * @method toggle
     * @returns {void}
     */
    toggle(): void;
    /**
     * Get component name.
     *
     * @returns {string} - Module Name
     * @private
     */
    getModuleName(): string;
    /**
     * Gets the properties to be maintained in the persisted state.
     *
     * @returns {string} - Persist data
     */
    getPersistData(): string;
    protected wireEvents(): void;
    private formResetHandler;
    private addCtrlSwitchEvent;
    private pickerKeyDown;
    private enterKeyHandler;
    private closePopup;
    private triggerChangeEvent;
    private handlerDragPosition;
    private handlerDown;
    private handlerMove;
    private setHsv;
    private handlerEnd;
    private btnClickHandler;
    private switchToPalette;
    private refreshPopupPos;
    private formatSwitchHandler;
    private updateValue;
    private previewHandler;
    private paletteClickHandler;
    private noColorTile;
    private switchToPicker;
    private ctrlBtnClick;
    private paletteKeyDown;
    private keySelectionChanges;
    private tilePosition;
    private inputHandler;
    private inputValueChange;
    private triggerEvent;
    /**
     * Removes the component from the DOM and detaches all its related event handlers.
     * Also it maintains the initial input element from the DOM.
     *
     * @method destroy
     * @returns {void}
     */
    destroy(): void;
    private destroyOtherComp;
    private isPopupOpen;
    protected unWireEvents(): void;
    private roundValue;
    private hexToRgb;
    private rgbToHsv;
    private hsvToRgb;
    private rgbToHex;
    private hex;
    private changeModeSwitcherProp;
    private changeShowBtnProps;
    private changeValueProp;
    private setInputEleProps;
    private changeDisabledProp;
    private changeCssClassProps;
    private changeRtlProps;
    private changePaletteProps;
    private changeOpacityProps;
    /**
     * Called internally if any of the property value changed.
     *
     * @param  {ColorPickerModel} newProp - Specifies new properties
     * @param  {ColorPickerModel} oldProp - Specifies old properties
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: ColorPickerModel, oldProp: ColorPickerModel): void;
    /**
     * Sets the focus to Colorpicker
     * its native method
     *
     * @public
     * @returns {void}
     */
    focusIn(): void;
}
/**
 * Interface for change / select event.
 */
export interface ColorPickerEventArgs extends base.BaseEventArgs {
    currentValue: {
        hex: string;
        rgba: string;
    };
    previousValue: {
        hex: string;
        rgba: string;
    };
}
/**
 * Interface for before change event.
 */
export interface PaletteTileEventArgs extends base.BaseEventArgs {
    element: HTMLElement;
    presetName: string;
    value: string;
}
/**
 * Interface for before open / close event.
 */
export interface BeforeOpenCloseEventArgs extends base.BaseEventArgs {
    element: HTMLElement;
    event: Event;
    cancel: boolean;
}
/**
 * Interface for open event.
 */
export interface OpenEventArgs extends base.BaseEventArgs {
    element: HTMLElement;
}
/**
 * Interface for mode switching event.
 */
export interface ModeSwitchEventArgs extends base.BaseEventArgs {
    element: HTMLElement;
    mode: string;
}
//node_modules/@syncfusion/ej2-inputs/src/color-picker/index.d.ts
/**
 * ColorPicker modules
 */
//node_modules/@syncfusion/ej2-inputs/src/common/index.d.ts
/**
 * Signature base modules
 */
//node_modules/@syncfusion/ej2-inputs/src/common/signature-base.d.ts
export  abstract class SignatureBase extends base.Component<HTMLCanvasElement> {
    private pointX;
    private pointY;
    private time;
    private startPoint;
    private controlPoint1;
    private controlPoint2;
    private endPoint;
    private pointColl;
    private canvasContext;
    private lastVelocity;
    private lastWidth;
    private incStep;
    private snapColl;
    private minDistance;
    private previous;
    private interval;
    private timeout;
    private storedArgs;
    private isSignatureEmpty;
    private backgroundLoaded;
    private fileType;
    private fileName;
    private clearArray;
    private isBlazor;
    private isResponsive;
    private dotnetRef;
    private panStart;
    private scale;
    protected canvasRatio: Dimension;
    protected imageEditorPointsColl: Point[];
    /**
     * Gets or sets the background color of the component.
     *
     */
    backgroundColor: string;
    /**
     * Gets or sets the background image for the component.
     *
     */
    backgroundImage: string;
    /**
     * Gets or sets whether to disable the signature component where the opacity is set to show disabled state.
     *
     */
    disabled: boolean;
    /**
     * Gets or sets whether to prevent the interaction in signature component.
     *
     */
    isReadOnly: boolean;
    /**
     *  Gets or sets whether to save the signature along with Background Color and background Image while saving.
     *
     */
    saveWithBackground: boolean;
    /**
     * Gets or sets the stroke color of the signature.
     *
     */
    strokeColor: string;
    /**
     * Gets or sets the minimum stroke width for signature.
     *
     */
    minStrokeWidth: number;
    /**
     * Gets or sets the maximum stroke width for signature.
     *
     */
    maxStrokeWidth: number;
    /**
     * Gets or sets the velocity to calculate the stroke thickness based on the pressure of the contact on the digitizer surface.
     *
     */
    velocity: number;
    /**
     * Gets or sets the last signature url to maintain the persist state.
     *
     */
    signatureValue: string;
    /**
     * To Initialize the component rendering
     *
     * @private
     * @param {HTMLCanvasElement} element - Specifies the canvas element.
     * @param {base.BlazorDotnetObject} dotnetRef - Specifies for blazor client to server communication.
     * @returns {void}
     */
    initialize(element: HTMLCanvasElement, dotnetRef?: base.BlazorDotnetObject): void;
    private wireEvents;
    private unwireEvents;
    private setHTMLProperties;
    protected mouseDownHandler(e: MouseEvent & TouchEvent, canvas?: HTMLCanvasElement, panStart?: any, zoomState?: number): void;
    private mouseMoveHandler;
    private mouseUpHandler;
    private keyboardHandler;
    private resizeHandler;
    private beginStroke;
    private updateStroke;
    private updateStrokeWithThrottle;
    private delay;
    private createPoint;
    private point;
    private addPoint;
    private startDraw;
    private endDraw;
    private curveDraw;
    private strokeDraw;
    private arcDraw;
    private calculateCurveControlPoints;
    private bezierLengthCalc;
    private bezierPointCalc;
    private pointVelocityCalc;
    private distanceTo;
    private isRead;
    private enableOrDisable;
    private reDraw;
    private updateSnapCollection;
    private setBackgroundImage;
    private setBackgroundColor;
    protected loadPersistedSignature(): void;
    /**
     * To get the signature as Blob.
     *
     * @param {string} url - specify the url/base 64 string to get blob of the signature.
     * @returns {Blob}.
     */
    getBlob(url: string): Blob;
    private download;
    /**
     * To refresh the signature.
     *
     * @private
     * @returns {void}.
     */
    refresh(): void;
    /**
     * Erases all the signature strokes signed by user.
     *
     * @returns {void}.
     */
    clear(): void;
    /**
     * Undo the last user action.
     *
     * @returns {void}.
     */
    undo(): void;
    /**
     * Redo the last user action.
     *
     * @returns {void}.
     */
    redo(): void;
    private isClear;
    /**
     * To check whether the signature is empty or not.
     *
     * @returns {boolean}.
     */
    isEmpty(): boolean;
    /**
     * To check whether the undo collection is empty or not.
     *
     * @returns {boolean}.
     */
    canUndo(): boolean;
    /**
     * To check whether the redo collection is empty or not.
     *
     * @returns {boolean}.
     */
    canRedo(): boolean;
    /**
     * To draw the signature based on the given text, with the font family and font size.
     *
     * @param {string} text - specify text to be drawn as signature.
     * @param {string} fontFamily - specify font family of a signature.
     * @param {number} fontSize - specify font size of a signature.
     *
     * @returns {void}.
     */
    draw(text: string, fontFamily?: string, fontSize?: number): void;
    /**
     * To load the signature with the given base 64 string, height and width.
     *
     * @param {string} signature - specify the url/base 64 string to be drawn as signature.
     * @param {number} width - specify the width of the loaded signature image.
     * @param {number} height - specify the height of the loaded signature image.
     * @returns {void}.
     */
    load(signature: string, width?: number, height?: number): void;
    private saveBackground;
    /**
     * To save the signature with the given file type and file name.
     *
     * @param {SignatureFileType} type - specify type of the file to be saved a signature.
     * @param {string} fileName - specify name of the file to be saved a signature.
     *
     * @returns {void}.
     */
    save(type?: SignatureFileType, fileName?: string): void;
    private resetSnap;
    private toJPEG;
    private toSVG;
    /**
     * To save the signature as Blob.
     *
     * @returns {Blob}.
     */
    saveAsBlob(): Blob;
    /**
     * To get the signature as Base 64.
     *
     * @private
     * @param {SignatureFileType} type - Specifies the type of the image format.
     * @returns {string}.
     */
    getSignature(type?: SignatureFileType): string;
    /**
     * Get component name.
     *
     * @returns {string} - Module Name
     * @private
     */
    protected getModuleName(): string;
    /**
     * To get the properties to be maintained in the persisted state.
     *
     * @returns {string} - Persist data
     */
    protected getPersistData(): string;
    /**
     * Removes the component from the DOM and detaches all its related event handlers.
     * Also it maintains the initial input element from the DOM.
     *
     * @method destroy
     * @returns {void}
     */
    destroy(): void;
    /**
     * Modified onPropertyChanged method for both blazor and EJ2 signature component.
     *
     * @private
     * @param {string} key - Specifies the property, which changed.
     * @param {string} value - Specifies the property value changed.
     * @returns {void}
     */
    propertyChanged(key: string, value: string | boolean | number): void;
}
/**
 * Interface for Point object.
 */
interface Point {
    /**
     * Gets or sets the x position of the point.
     */
    x: number;
    /**
     * Gets or sets the y position of the point.
     */
    y: number;
    /**
     * Gets or sets the time.
     */
    time?: number;
}
/**
 * Defines the signature file type.
 */
export  type SignatureFileType = 'Png' | 'Jpeg' | 'Svg';
/**
 * Interface for before save the canvas as image.
 */
export interface SignatureBeforeSaveEventArgs {
    /**
     * Gets or sets whether to cancel the save action. You can cancel and perform save operation programmatically.
     */
    cancel?: boolean;
    /**
     * Gets or sets the file name to be saved.
     */
    fileName?: string;
    /**
     * Gets or sets the file type to be saved.
     */
    type?: SignatureFileType;
}
/**
 * Interface for changes occur in the signature.
 */
export interface SignatureChangeEventArgs {
    /**
     * Gets or sets the action name of the signature.
     */
    actionName: string;
}
/**
 * Interface for Dimension calculation in the imageEditor.
 */
export interface Dimension {
    /**
     * Gets x position from the canvas.
     */
    x?: number;
    /**
     * Gets y position from the canvas.
     */
    y?: number;
    /**
     * Gets width of the image.
     */
    width: number;
    /**
     * Gets height of the image.
     */
    height: number;
}
/**
 * Interface for active object in the imageEditor.
 */
export interface ActivePoint {
    /**
     * Gets mouse down x-point.
     */
    startX: number;
    /**
     * Gets mouse down y-point.
     */
    startY: number;
    /**
     * Gets mouse move x-point.
     */
    endX?: number;
    /**
     * Gets mouse move y-point.
     */
    endY?: number;
    /**
     * Gets width of the selection.
     */
    width?: number;
    /**
     * Gets height of the selection.
     */
    height?: number;
    /**
     * Gets radius of the circle dot.
     */
    radius?: number;
}
//node_modules/@syncfusion/ej2-inputs/src/form-validator/form-validator-model.d.ts
/**
 * Interface for a class FormValidator
 */
export interface FormValidatorModel {
    /**
     * default locale variable
     */
    locale?: string;
    /**
     * Ignores input fields based on the class name
     *
     * @default 'e-hidden'
     */
    ignore?: string;
    /**
     * Maps the input fields with validation rules
     *
     * @default {}
     */
    rules?: { [name: string]: { [rule: string]: Object } };
    /**
     * Sets the defined css class to error fields
     *
     * @default 'e-error'
     */
    errorClass?: string;
    /**
     * Sets the defined css class to valid fields
     *
     * @default 'e-valid'
     */
    validClass?: string;
    /**
     * Specify HTML element for error
     *
     * @default 'label'
     */
    errorElement?: string;
    /**
     * Specify HTML element for error container
     *
     * @default 'div'
     */
    errorContainer?: string;
    /**
     * Option to display the error
     *
     * @default ErrorOption.Label
     * @deprecated
     */
    errorOption?: ErrorOption;
    /**
     * Triggers when a field's focused  out
     *
     * @event focusout
     */
    focusout?: base.EmitType<Event>;
    /**
     * Trigger when keyup is triggered in any fields
     *
     * @event keyup
     */
    keyup?: base.EmitType<KeyboardEvent>;
    /**
     * Triggers when a check box field is clicked
     *
     * @event click
     */
    click?: base.EmitType<Event>;
    /**
     * Trigger when a base.select/drop-down field is changed
     *
     * @event change
     */
    change?: base.EmitType<Event>;
    /**
     * Triggers before form is being submitted
     *
     * @event submit
     */
    submit?: base.EmitType<Event>;
    /**
     * Triggers before validation starts
     *
     * @event validationBegin
     */
    validationBegin?: base.EmitType<Object | ValidArgs>;
    /**
     * Triggers after validation is completed
     *
     * @event validationComplete
     */
    validationComplete?: base.EmitType<Object | FormEventArgs>;
    /**
     * Assigns the custom function to place the error message in the page.
     *
     * @event customPlacement
     */
    /* eslint-disable @typescript-eslint/no-explicit-any */
    customPlacement?: base.EmitType<HTMLElement | any>;
}
//node_modules/@syncfusion/ej2-inputs/src/form-validator/form-validator.d.ts
/**
 * global declarations
 */
export  const regex: any;
/**
 * ErrorOption values
 *
 * @private
 */
export  enum ErrorOption {
    /**
     * Defines the error message.
     */
    Message = 0,
    /**
     * Defines the error element type.
     */
    Label = 1
}
/**
 * FormValidator class enables you to validate the form fields based on your defined rules
 * ```html
 * <form id='formId'>
 *  <input type='text' name='Name' />
 *  <input type='text' name='Age' />
 * </form>
 * <script>
 *   let formObject = new FormValidator('#formId', {
 *      rules: { Name: { required: true }, Age: { range: [18, 30] } };
 *   });
 *   formObject.validate();
 * </script>
 * ```
 */
export  class FormValidator extends base.Base<HTMLFormElement> implements base.INotifyPropertyChanged {
    private validated;
    private errorRules;
    private allowSubmit;
    private required;
    private infoElement;
    private inputElement;
    private selectQuery;
    private inputElements;
    private l10n;
    private internationalization;
    private localyMessage;
    /**
     * default locale variable
     */
    locale: string;
    /**
     * Ignores input fields based on the class name
     *
     * @default 'e-hidden'
     */
    ignore: string;
    /**
     * Maps the input fields with validation rules
     *
     * @default {}
     */
    rules: {
        [name: string]: {
            [rule: string]: Object;
        };
    };
    /**
     * Sets the defined css class to error fields
     *
     * @default 'e-error'
     */
    errorClass: string;
    /**
     * Sets the defined css class to valid fields
     *
     * @default 'e-valid'
     */
    validClass: string;
    /**
     * Specify HTML element for error
     *
     * @default 'label'
     */
    errorElement: string;
    /**
     * Specify HTML element for error container
     *
     * @default 'div'
     */
    errorContainer: string;
    /**
     * Option to display the error
     *
     * @default ErrorOption.Label
     * @deprecated
     */
    errorOption: ErrorOption;
    /**
     * Triggers when a field's focused  out
     *
     * @event focusout
     */
    focusout: base.EmitType<Event>;
    /**
     * Trigger when keyup is triggered in any fields
     *
     * @event keyup
     */
    keyup: base.EmitType<KeyboardEvent>;
    /**
     * Triggers when a check box field is clicked
     *
     * @event click
     */
    click: base.EmitType<Event>;
    /**
     * Trigger when a select/drop-down field is changed
     *
     * @event change
     */
    change: base.EmitType<Event>;
    /**
     * Triggers before form is being submitted
     *
     * @event submit
     */
    submit: base.EmitType<Event>;
    /**
     * Triggers before validation starts
     *
     * @event validationBegin
     */
    validationBegin: base.EmitType<Object | ValidArgs>;
    /**
     * Triggers after validation is completed
     *
     * @event validationComplete
     */
    validationComplete: base.EmitType<Object | FormEventArgs>;
    /**
     * Assigns the custom function to place the error message in the page.
     *
     * @event customPlacement
     */
    customPlacement: base.EmitType<HTMLElement | any>;
    /**
     * Add validation rules to the corresponding input element based on `name` attribute.
     *
     * @param {string} name `name` of form field.
     * @param {Object} rules Validation rules for the corresponding element.
     * @returns {void}
     */
    addRules(name: string, rules: Object): void;
    /**
     * Remove validation to the corresponding field based on name attribute.
     * When no parameter is passed, remove all the validations in the form.
     *
     * @param {string} name Input name attribute value.
     * @param {string[]} rules List of validation rules need to be remove from the corresponding element.
     * @returns {void}
     */
    removeRules(name?: string, rules?: string[]): void;
    /**
     * Validate the current form values using defined rules.
     * Returns `true` when the form is valid otherwise `false`
     *
     * @param {string} selected - Optional parameter to validate specified element.
     * @returns {boolean}
     */
    validate(selected?: string): boolean;
    /**
     * Reset the value of all the fields in form.
     *
     * @returns {void}
     */
    reset(): void;
    /**
     * Get input element by name.
     *
     * @param {string} name - Input element name attribute value.
     * @returns {HTMLInputElement}
     */
    getInputElement(name: string): HTMLInputElement;
    /**
     * Destroy the form validator object and error elements.
     *
     * @returns {void}
     */
    destroy(): void;
    /**
     * Specifies the default messages for validation rules.
     *
     * @default { List of validation message }
     */
    defaultMessages: {
        [rule: string]: string;
    };
    /**
     * @param {FormValidatorModel} newProp - Returns the dynamic property value of the component.
     * @param {FormValidatorModel} oldProp - Returns the previous property value of the component.
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: FormValidatorModel, oldProp?: FormValidatorModel): void;
    /**
     * @private
     * @returns {void}
     */
    localeFunc(): void;
    /**
     * @private
     * @returns {string} - Returns the component name.
     */
    getModuleName(): string;
    /**
     * @param {any} args - Specifies the culture name.
     * @private
     */
    afterLocalization(args: any): void;
    /**
     * Allows you to refresh the form validator base events to the elements inside the form.
     *
     * @returns {void}
     */
    refresh(): void;
    /**
     * Initializes the FormValidator.
     *
     * @param {string | HTMLFormElement} element - Specifies the element to render as component.
     * @param {FormValidatorModel} options - Specifies the FormValidator model.
     * @private
     */
    constructor(element: string | HTMLFormElement, options?: FormValidatorModel);
    private clearForm;
    private createHTML5Rules;
    private annotationRule;
    private defRule;
    private wireEvents;
    private unwireEvents;
    private focusOutHandler;
    private keyUpHandler;
    private clickHandler;
    private changeHandler;
    private submitHandler;
    private resetHandler;
    private validateRules;
    private optionalValidationStatus;
    private isValid;
    private getErrorMessage;
    private createErrorElement;
    private getErrorElement;
    private removeErrorRules;
    private showMessage;
    private hideMessage;
    private checkRequired;
    private static checkValidator;
    private static isCheckable;
}
export interface ValidArgs {
    /**
     * Returns the value in input element.
     */
    value: string;
    /**
     * Returns the rule mapped for the input.
     */
    param?: Object;
    /**
     * Returns the input element.
     */
    element?: HTMLElement;
    /**
     * Returns the current form element.
     */
    formElement?: HTMLFormElement;
}
export interface FormEventArgs {
    /**
     * Returns the name of the input element.
     */
    inputName: string;
    /**
     * Returns the error message.
     */
    message: string;
    /**
     * Returns the input element.
     */
    element: HTMLInputElement;
    /**
     * Returns the status input element.
     */
    status?: string;
    /**
     * Returns the error element for corresponding input.
     */
    errorElement?: HTMLElement;
}
//node_modules/@syncfusion/ej2-inputs/src/form-validator/index.d.ts
/**
 * Input box Component
 */
//node_modules/@syncfusion/ej2-inputs/src/index.d.ts
/**
 * NumericTextBox all modules
 */
//node_modules/@syncfusion/ej2-inputs/src/input/index.d.ts
/**
 * Input box Component
 */
//node_modules/@syncfusion/ej2-inputs/src/input/input.d.ts
/**
 * Defines floating label type of the input and decides how the label should float on the input.
 */
export  type FloatLabelType = 'Never' | 'Always' | 'Auto';
/**
 * Base for Input creation through util methods.
 */
export  namespace Input {
    /**
     * Create a wrapper to input element with multiple span elements and set the basic properties to input based components.
     * ```
     * E.g : Input.createInput({ element: element, floatLabelType : "Auto", properties: { placeholder: 'Search' } });
     * ```
     *
     */
    function createInput(args: InputArgs, internalCreateElement?: createElementParams): InputObject;
    function bindInitialEvent(args: InputArgs): void;
    function wireFloatingEvents(element: HTMLInputElement | HTMLTextAreaElement): void;
    function wireClearBtnEvents(element: HTMLInputElement | HTMLTextAreaElement, button: HTMLElement, container: HTMLElement): void;
    /**
     * Sets the value to the input element.
     * ```
     * E.g : Input.setValue('content', element, "Auto", true );
     * ```
     *
     * @param {string} value - Specify the value of the input element.
     * @param {HTMLInputElement | HTMLTextAreaElement} element - The element on which the specified value is updated.
     * @param {string} floatLabelType - Specify the float label type of the input element.
     * @param {boolean} clearButton - Boolean value to specify whether the clear icon is enabled / disabled on the input.
     */
    function setValue(value: string, element: HTMLInputElement | HTMLTextAreaElement, floatLabelType?: string, clearButton?: boolean): void;
    /**
     * Sets the single or multiple cssClass to wrapper of input element.
     * ```
     * E.g : Input.setCssClass('e-custom-class', [element]);
     * ```
     *
     * @param {string} cssClass - Css class names which are needed to add.
     * @param {Element[] | NodeList} elements - The elements which are needed to add / remove classes.
     * @param {string} oldClass
     * - Css class names which are needed to remove. If old classes are need to remove, can give this optional parameter.
     */
    function setCssClass(cssClass: string, elements: Element[] | NodeList, oldClass?: string): void;
    /**
     * Set the width to the placeholder when it overflows on the button such as spinbutton, clearbutton, icon etc
     * ```
     * E.g : Input.calculateWidth(element, container);
     * ```
     *
     * @param {any} element - Input element which is need to add.
     * @param {HTMLElement} container - The parent element which is need to get the label span to calculate width
     */
    function calculateWidth(element: any, container: HTMLElement): void;
    /**
     * Set the width to the wrapper of input element.
     * ```
     * E.g : Input.setWidth('200px', container);
     * ```
     *
     * @param {number | string} width - Width value which is need to add.
     * @param {HTMLElement} container - The element on which the width is need to add.
     */
    function setWidth(width: number | string, container: HTMLElement): void;
    /**
     * Set the placeholder attribute to the input element.
     * ```
     * E.g : Input.setPlaceholder('Search here', element);
     * ```
     *
     * @param {string} placeholder - Placeholder value which is need to add.
     * @param {HTMLInputElement | HTMLTextAreaElement} element - The element on which the placeholder is need to add.
     */
    function setPlaceholder(placeholder: string, element: HTMLInputElement | HTMLTextAreaElement): void;
    /**
     * Set the read only attribute to the input element
     * ```
     * E.g : Input.setReadonly(true, element);
     * ```
     *
     * @param {boolean} isReadonly
     * - Boolean value to specify whether to set read only. Setting "True" value enables read only.
     * @param {HTMLInputElement | HTMLTextAreaElement} element
     * - The element which is need to enable read only.
     */
    function setReadonly(isReadonly: boolean, element: HTMLInputElement | HTMLTextAreaElement, floatLabelType?: string): void;
    /**
     * Displays the element direction from right to left when its enabled.
     * ```
     * E.g : Input.setEnableRtl(true, [inputObj.container]);
     * ```
     *
     * @param {boolean} isRtl
     * - Boolean value to specify whether to set RTL. Setting "True" value enables the RTL mode.
     * @param {Element[] | NodeList} elements
     * - The elements that are needed to enable/disable RTL.
     */
    function setEnableRtl(isRtl: boolean, elements: Element[] | NodeList): void;
    /**
     * Enables or disables the given input element.
     * ```
     * E.g : Input.setEnabled(false, element);
     * ```
     *
     * @param {boolean} isEnable
     * - Boolean value to specify whether to enable or disable.
     * @param {HTMLInputElement | HTMLTextAreaElement} element
     * - Element to be enabled or disabled.
     */
    function setEnabled(isEnable: boolean, element: HTMLInputElement | HTMLTextAreaElement, floatLabelType?: string, inputContainer?: HTMLElement): void;
    function setClearButton(isClear: boolean, element: HTMLInputElement | HTMLTextAreaElement, inputObject: InputObject, initial?: boolean, internalCreateElement?: createElementParams): void;
    /**
     * Removing the multiple attributes from the given element such as "disabled","id" , etc.
     * ```
     * E.g : Input.removeAttributes({ 'disabled': 'disabled', 'aria-disabled': 'true' }, element);
     * ```
     *
     * @param {string} attrs
     * - Array of attributes which are need to removed from the element.
     * @param {HTMLInputElement | HTMLElement} element
     * - Element on which the attributes are needed to be removed.
     */
    function removeAttributes(attrs: {
        [key: string]: string;
    }, element: HTMLInputElement | HTMLElement): void;
    /**
     * Adding the multiple attributes to the given element such as "disabled","id" , etc.
     * ```
     * E.g : Input.addAttributes({ 'id': 'inputpopup' }, element);
     * ```
     *
     * @param {string} attrs
     * - Array of attributes which is added to element.
     * @param {HTMLInputElement | HTMLElement} element
     * - Element on which the attributes are needed to be added.
     */
    function addAttributes(attrs: {
        [key: string]: string;
    }, element: HTMLInputElement | HTMLElement): void;
    function removeFloating(input: InputObject): void;
    function addFloating(input: HTMLInputElement | HTMLTextAreaElement, type: FloatLabelType | string, placeholder: string, internalCreateElement?: createElementParams): void;
    /**
     * Create the span inside the label and add the label text into the span textcontent
     * ```
     * E.g : Input.createSpanElement(inputObject, makeElement);
     * ```
     *
     * @param {InputObject} inputObject
     * - Element which is need to get the label
     * @param {createElementParams} makeElement
     * - Element which is need to create the span
     */
    function createSpanElement(inputObject: any, makeElement: createElementParams): void;
    /**
     * Enable or Disable the ripple effect on the icons inside the Input. Ripple effect is only applicable for material theme.
     * ```
     * E.g : Input.setRipple(true, [inputObjects]);
     * ```
     *
     * @param {boolean} isRipple
     * - Boolean value to specify whether to enable the ripple effect.
     * @param {InputObject[]} inputObj
     * - Specify the collection of input objects.
     */
    function setRipple(isRipple: boolean, inputObj: InputObject[]): void;
    /**
     * Creates a new span element with the given icons added and append it in container element.
     * ```
     * E.g : Input.addIcon('append', 'e-icon-spin', inputObj.container, inputElement);
     * ```
     *
     * @param {string} position - Specify the icon placement on the input.Possible values are append and prepend.
     * @param {string | string[]} icons - Icon classes which are need to add to the span element which is going to created.
     * Span element acts as icon or button element for input.
     * @param {HTMLElement} container - The container on which created span element is going to append.
     * @param {HTMLElement} input - The inputElement on which created span element is going to prepend.
     */
    function addIcon(position: string, icons: string | string[], container: HTMLElement, input: HTMLElement, internalCreate?: createElementParams): void;
    /**
     * Creates a new span element with the given icons added and prepend it in input element.
     * ```
     * E.g : Input.prependSpan('e-icon-spin', inputObj.container, inputElement);
     * ```
     *
     * @param {string} iconClass - Icon classes which are need to add to the span element which is going to created.
     * Span element acts as icon or button element for input.
     * @param {HTMLElement} container - The container on which created span element is going to append.
     * @param {HTMLElement} inputElement - The inputElement on which created span element is going to prepend.
     */
    function prependSpan(iconClass: string, container: HTMLElement, inputElement: HTMLElement, internalCreateElement?: createElementParams): HTMLElement;
    /**
     * Creates a new span element with the given icons added and append it in container element.
     * ```
     * E.g : Input.appendSpan('e-icon-spin', inputObj.container);
     * ```
     *
     * @param {string} iconClass - Icon classes which are need to add to the span element which is going to created.
     * Span element acts as icon or button element for input.
     * @param {HTMLElement} container - The container on which created span element is going to append.
     */
    function appendSpan(iconClass: string, container: HTMLElement, internalCreateElement?: createElementParams): HTMLElement;
    function validateInputType(containerElement: HTMLElement, input: HTMLInputElement | HTMLTextAreaElement): void;
}
export interface InputObject {
    container?: HTMLElement;
    buttons?: HTMLElement[];
    clearButton?: HTMLElement;
}
/**
 * Arguments to create input element for input text boxes utility.These properties are optional.
 */
export interface InputArgs {
    /**
     * Element which is needed to add to the container.
     * ```
     * E.g : Input.createInput({ element: element });
     * ```
     */
    element: HTMLInputElement | HTMLTextAreaElement;
    /**
     * ```
     * E.g : Input.createInput({ element: element, buttons: ['e-icon-up', 'e-icon-down'] });
     * ```
     * Specifies the icon classes for span element which will be append to the container.
     */
    buttons?: string[];
    /**
     * ```
     * E.g : Input.createInput({ element: element, customTag: 'ej2-custom-input' });
     * ```
     * Specifies the custom tag which is acts as container to the input.
     */
    customTag?: string;
    /**
     * ```
     * E.g : Input.createInput({ element: element, floatLabelType : "Always" });
     * ```
     * Specifies how the floating label works.
     * Possible values are:
     * * Never - Never float the label in the input when the placeholder is available.
     * * Always - The floating label will always float above the input.
     * * Auto - The floating label will float above the input after focusing or entering a value in the input.
     */
    floatLabelType?: FloatLabelType | string;
    /**
     * ```
     * E.g : Input.createInput({ element: element, customTag: 'ej2-custom-input' ,bindClearAction: false });
     * ```
     * Specifies whether to bind the clear button action in input base or not.
     */
    bindClearAction?: boolean;
    /**
     * ```
     * E.g : Input.createInput({ element: element, properties: { readonly: true, placeholder: 'Search here' } });
     * ```
     * To specifies the properties such as readonly,enable rtl,etc.
     */
    properties?: {
        readonly?: boolean;
        placeholder?: string;
        cssClass?: string;
        enableRtl?: boolean;
        enabled?: boolean;
        showClearButton?: boolean;
    };
}
/**
 * Default required properties for input components.
 */
export interface IInput {
    /**
     * Sets the placeholder value to input.
     */
    placeholder: string;
    /**
     * Sets the css class value to input.
     */
    cssClass: string;
    /**
     * Sets the enabled value to input.
     */
    enabled?: boolean;
    /**
     * Sets the readonly value to input.
     */
    readonly: boolean;
    /**
     * Sets the enable rtl value to input.
     */
    enableRtl: boolean;
    /**
     * Specifies whether to display the Clear button in the input.
     */
    showClearButton?: boolean;
    /**
     * Specifies how the floating label works.
     * Possible values are:
     * * Never - Never float the label in the input when the placeholder is available.
     * * Always - The floating label will always float above the input.
     * * Auto - The floating label will float above the input after focusing or entering a value in the input.
     */
    floatLabelType?: FloatLabelType | string;
    /**
     * Sets the change event mapping function to input.
     */
    change: Function;
}
export  type createElementParams = (tag: string, prop?: {
    id?: string;
    className?: string;
    innerHTML?: string;
    styles?: string;
    attrs?: {
        [key: string]: string;
    };
}) => HTMLElement;
/**
 * Defines the argument for the focus event.
 */
export interface FocusEventArgs {
    model?: Object;
}
/**
 * Defines the argument for the blur event.
 */
export interface BlurEventArgs {
    model?: Object;
}
//node_modules/@syncfusion/ej2-inputs/src/maskedtextbox/base/index.d.ts
/**
 * MaskedTextbox base modules
 */
//node_modules/@syncfusion/ej2-inputs/src/maskedtextbox/base/mask-base.d.ts
/**
 * @hidden
 * Built-in masking elements collection.
 */
export  const regularExpressions: {
    [key: string]: string;
};
interface MaskFocusEventArgs extends base.BaseEventArgs {
    /** Returns selectionStart value as zero by default */
    selectionStart?: number;
    /** Returns selectionEnd value depends on mask length */
    selectionEnd?: number;
    /** Returns the original event arguments. */
    event?: MouseEvent | FocusEvent | TouchEvent | KeyboardEvent;
    /** Returns the value of MaskedTextBox. */
    value?: string;
    /** Returns the maskedValue of MaskedTextBox. */
    maskedValue?: string;
    /** Returns the MaskedTextBox container element */
    container?: HTMLElement;
}
/**
 * Generate required masking elements to the MaskedTextBox from user mask input.
 *
 * @hidden
 */
export  function createMask(): void;
/**
 * Apply mask ability with masking elements to the MaskedTextBox.
 *
 * @hidden
 */
export  function applyMask(): void;
/**
 * To wire required events to the MaskedTextBox.
 *
 * @hidden
 */
export  function wireEvents(): void;
/**
 * To unwire events attached to the MaskedTextBox.
 *
 * @hidden
 */
export  function unwireEvents(): void;
/**
 * To bind required events to the MaskedTextBox clearButton.
 *
 * @hidden
 */
export  function bindClearEvent(): void;
/**
 * To get masked value from the MaskedTextBox.
 *
 * @hidden
 */
export  function unstrippedValue(element: HTMLInputElement): string;
/**
 * To extract raw value from the MaskedTextBox.
 *
 * @hidden
 */
export  function strippedValue(element: HTMLInputElement, maskValues: string): string;
export  function maskInputMouseDownHandler(): void;
export  function maskInputMouseUpHandler(): void;
export  function maskInputFocusHandler(event: MouseEvent | FocusEvent | TouchEvent | KeyboardEvent): void;
export  function triggerFocus(eventArgs: MaskFocusEventArgs, inputElement: HTMLInputElement): void;
export  function maskInputBlurHandler(event: MouseEvent | FocusEvent | TouchEvent | KeyboardEvent): void;
export  function maskInputDropHandler(event: MouseEvent): void;
export  function mobileRemoveFunction(): void;
/**
 * To set updated values in the MaskedTextBox.
 *
 * @hidden
 */
export  function setMaskValue(val?: string): void;
/**
 * To set updated values in the input element.
 *
 * @hidden
 */
export  function setElementValue(val: string, element?: HTMLInputElement): void;
/**
 * Provide mask support to input textbox through utility method.
 *
 * @hidden
 */
export  function maskInput(args: MaskInputArgs): void;
/**
 * Gets raw value of the textbox which has been masked through utility method.
 *
 * @hidden
 */
export  function getVal(args: GetValueInputArgs): string;
/**
 * Gets masked value of the textbox which has been masked through utility method.
 *
 * @hidden
 */
export  function getMaskedVal(args: GetValueInputArgs): string;
/**
 * Arguments to get the raw and masked value of MaskedTextBox which has been masked through utility method.
 *
 * @hidden
 */
export interface GetValueInputArgs {
    element: HTMLInputElement;
    mask: string;
    promptChar?: string;
    customCharacters?: {
        [x: string]: Object;
    };
}
/**
 * Arguments to mask input textbox through utility method.
 *
 * @hidden
 */
export interface MaskInputArgs extends GetValueInputArgs {
    value?: string;
}
/**
 * Arguments to perform undo and redo functionalities.
 *
 * @hidden
 */
export  class MaskUndo {
    value: string;
    startIndex: number;
    endIndex: number;
}
//node_modules/@syncfusion/ej2-inputs/src/maskedtextbox/index.d.ts
/**
 * MaskedTextbox modules
 */
//node_modules/@syncfusion/ej2-inputs/src/maskedtextbox/maskedtextbox/index.d.ts
/**
 * MaskedTextbox modules
 */
//node_modules/@syncfusion/ej2-inputs/src/maskedtextbox/maskedtextbox/maskedtextbox-model.d.ts
/**
 * Interface for a class MaskedTextBox
 */
export interface MaskedTextBoxModel extends base.ComponentModel{
    /**
     * Gets or sets the CSS classes to root element of the MaskedTextBox which helps to customize the
     * complete UI styles for the MaskedTextBox component.
     *
     * @default null
     */
    cssClass?: string;
    /**
     * Sets the width of the MaskedTextBox.
     *
     * @default null
     */
    width?: number | string;
    /**
     * Gets or sets the string shown as a hint/placeholder when the MaskedTextBox is empty.
     * It acts as a label and floats above the MaskedTextBox based on the
     * <b><a href="#floatlabeltype" target="_blank">floatLabelType.</a></b>
     *
     * @default null
     */
    placeholder?: string;
    /**
     * The <b><a href="#placeholder" target="_blank">placeholder</a></b> acts as a label
     * and floats above the MaskedTextBox based on the below values.
     * Possible values are:
     * * Never - The floating label will not be enable when the placeholder is available.
     * * Always - The floating label always floats above the MaskedTextBox.
     * * Auto - The floating label floats above the MaskedTextBox after focusing it or when enters the value in it.
     *
     * @default Never
     */
    floatLabelType?: FloatLabelType;
    /**
     * You can add the additional html attributes such as disabled, value etc., to the element.
     * If you configured both property and equivalent html attribute then the component considers the property value.
     * {% codeBlock src='maskedtextbox/htmlAttributes/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     */
    htmlAttributes?: { [key: string]: string };
    /**
     * Sets a value that enables or disables the MaskedTextBox component.
     *
     * @default true
     */
    enabled?: boolean;
    /**
     * Specifies the boolean value whether the Masked TextBox allows the user to change the text.
     *
     * @default false
     */
    readonly?: boolean;
    /**
     * Specifies whether to show or hide the clear icon.
     *
     * @default false
     */
    showClearButton?: boolean;
    /**
     * Sets a value that enables or disables the persisting state of the MaskedTextBox after reloading the page.
     * If enabled, the 'value' state will be persisted.
     *
     * @default false
     */
    enablePersistence?: boolean;
    /**
     * Sets a value that masks the MaskedTextBox to allow/validate the user input.
     * * Mask allows [`standard mask elements`](../../maskedtextbox/mask-configuration/#standard-mask-elements)
     * </b>, <b>[`custom characters`](../../maskedtextbox/mask-configuration/#custom-characters)</b> and
     * <b>[`regular expression`](../../maskedtextbox/mask-configuration/#regular-expression)</b> as mask
     * elements.
     * For more information on mask, refer to
     * [mask](../../maskedtextbox/mask-configuration/#standard-mask-elements).
     * * If the mask value is empty, the MaskedTextBox will behave as an input element with text type.
     * {% codeBlock src='maskedtextbox/mask/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    mask?: string;
    /**
     * Gets or sets a value that will be shown as a prompting symbol for the masked value.
     * The symbol used to show input positions in the MaskedTextBox.
     * For more information on prompt-character, refer to
     * [prompt-character](../../maskedtextbox/mask-configuration/#prompt-character).
     *
     * @default '_'
     */
    promptChar?: string;
    /**
     * Gets or sets the value of the MaskedTextBox. It is a raw value of the MaskedTextBox excluding literals
     * and prompt characters. By using `getMaskedValue` property, you can get the value of MaskedTextBox with the masked format.
     * {% codeBlock src='maskedtextbox/value/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    value?: string;
    /**
     * Sets the collection of values to be mapped for non-mask elements(literals)
     * which have been set in the mask of MaskedTextBox.
     * In the below example, non-mask elements "P" accepts values
     * "P" , "A" , "p" , "a" and "M" accepts values "M", "m" mentioned in the custom characters collection.
     * > For more information on customCharacters, refer to
     * [customCharacters](../../maskedtextbox/mask-configuration/#custom-characters).
     * {% codeBlock src='maskedtextbox/customCharacters/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    customCharacters?: { [x: string]: Object };
    /**
     * Triggers when the MaskedTextBox component is created.
     *
     * @event created
     */
    created?: base.EmitType<Object>;
    /**
     * Triggers when the MaskedTextBox component is destroyed.
     *
     * @event destroyed
     */
    destroyed?: base.EmitType<Object>;
    /**
     * Triggers when the value of the MaskedTextBox changes.
     *
     * @event change
     */
    change?: base.EmitType <MaskChangeEventArgs>;
    /**
     * Triggers when the MaskedTextBox got focus in.
     *
     * @event focus
     */
    focus?: base.EmitType<MaskFocusEventArgs>;
    /**
     * Triggers when the MaskedTextBox got focus out.
     *
     * @event blur
     */
    blur?: base.EmitType<MaskBlurEventArgs>;
}
//node_modules/@syncfusion/ej2-inputs/src/maskedtextbox/maskedtextbox/maskedtextbox.d.ts
/**
 * The MaskedTextBox allows the user to enter the valid input only based on the provided mask.
 * ```html
 * <input id="mask" type="text" />
 * ```
 * ```typescript
 * <script>
 * var maskObj = new MaskedTextBox({ mask: "(999) 9999-999" });
 * maskObj.appendTo('#mask');
 * </script>
 * ```
 */
export  class MaskedTextBox extends base.Component<HTMLInputElement> implements base.INotifyPropertyChanged {
    private cloneElement;
    private promptMask;
    private hiddenMask;
    private escapeMaskValue;
    private regExpCollec;
    private customRegExpCollec;
    private inputObj;
    private undoCollec;
    private redoCollec;
    private changeEventArgs;
    private focusEventArgs;
    private blurEventArgs;
    private maskKeyPress;
    private angularTagName;
    private prevValue;
    private isFocus;
    private isInitial;
    private isIosInvalid;
    private preEleVal;
    private formElement;
    private initInputValue;
    private maskOptions;
    private isAngular;
    private preventChange;
    private isClicked;
    /**
     * Gets or sets the CSS classes to root element of the MaskedTextBox which helps to customize the
     * complete UI styles for the MaskedTextBox component.
     *
     * @default null
     */
    cssClass: string;
    /**
     * Sets the width of the MaskedTextBox.
     *
     * @default null
     */
    width: number | string;
    /**
     * Gets or sets the string shown as a hint/placeholder when the MaskedTextBox is empty.
     * It acts as a label and floats above the MaskedTextBox based on the
     * <b><a href="#floatlabeltype" target="_blank">floatLabelType.</a></b>
     *
     * @default null
     */
    placeholder: string;
    /**
     * The <b><a href="#placeholder" target="_blank">placeholder</a></b> acts as a label
     * and floats above the MaskedTextBox based on the below values.
     * Possible values are:
     * * Never - The floating label will not be enable when the placeholder is available.
     * * Always - The floating label always floats above the MaskedTextBox.
     * * Auto - The floating label floats above the MaskedTextBox after focusing it or when enters the value in it.
     *
     * @default Never
     */
    floatLabelType: FloatLabelType;
    /**
     * You can add the additional html attributes such as disabled, value etc., to the element.
     * If you configured both property and equivalent html attribute then the component considers the property value.
     * {% codeBlock src='maskedtextbox/htmlAttributes/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     */
    htmlAttributes: {
        [key: string]: string;
    };
    /**
     * Sets a value that enables or disables the MaskedTextBox component.
     *
     * @default true
     */
    enabled: boolean;
    /**
     * Specifies the boolean value whether the Masked TextBox allows the user to change the text.
     *
     * @default false
     */
    readonly: boolean;
    /**
     * Specifies whether to show or hide the clear icon.
     *
     * @default false
     */
    showClearButton: boolean;
    /**
     * Sets a value that enables or disables the persisting state of the MaskedTextBox after reloading the page.
     * If enabled, the 'value' state will be persisted.
     *
     * @default false
     */
    enablePersistence: boolean;
    /**
     * Sets a value that masks the MaskedTextBox to allow/validate the user input.
     * * Mask allows [`standard mask elements`](../../maskedtextbox/mask-configuration/#standard-mask-elements)
     * </b>, <b>[`custom characters`](../../maskedtextbox/mask-configuration/#custom-characters)</b> and
     * <b>[`regular expression`](../../maskedtextbox/mask-configuration/#regular-expression)</b> as mask
     * elements.
     * For more information on mask, refer to
     * [mask](../../maskedtextbox/mask-configuration/#standard-mask-elements).
     * * If the mask value is empty, the MaskedTextBox will behave as an input element with text type.
     * {% codeBlock src='maskedtextbox/mask/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    mask: string;
    /**
     * Gets or sets a value that will be shown as a prompting symbol for the masked value.
     * The symbol used to show input positions in the MaskedTextBox.
     * For more information on prompt-character, refer to
     * [prompt-character](../../maskedtextbox/mask-configuration/#prompt-character).
     *
     * @default '_'
     */
    promptChar: string;
    /**
     * Gets or sets the value of the MaskedTextBox. It is a raw value of the MaskedTextBox excluding literals
     * and prompt characters. By using `getMaskedValue` property, you can get the value of MaskedTextBox with the masked format.
     * {% codeBlock src='maskedtextbox/value/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    value: string;
    /**
     * Sets the collection of values to be mapped for non-mask elements(literals)
     * which have been set in the mask of MaskedTextBox.
     * In the below example, non-mask elements "P" accepts values
     * "P" , "A" , "p" , "a" and "M" accepts values "M", "m" mentioned in the custom characters collection.
     * > For more information on customCharacters, refer to
     * [customCharacters](../../maskedtextbox/mask-configuration/#custom-characters).
     * {% codeBlock src='maskedtextbox/customCharacters/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    customCharacters: {
        [x: string]: Object;
    };
    /**
     * Triggers when the MaskedTextBox component is created.
     *
     * @event created
     */
    created: base.EmitType<Object>;
    /**
     * Triggers when the MaskedTextBox component is destroyed.
     *
     * @event destroyed
     */
    destroyed: base.EmitType<Object>;
    /**
     * Triggers when the value of the MaskedTextBox changes.
     *
     * @event change
     */
    change: base.EmitType<MaskChangeEventArgs>;
    /**
     * Triggers when the MaskedTextBox got focus in.
     *
     * @event focus
     */
    focus: base.EmitType<MaskFocusEventArgs>;
    /**
     * Triggers when the MaskedTextBox got focus out.
     *
     * @event blur
     */
    blur: base.EmitType<MaskBlurEventArgs>;
    /**
     *
     * @param {MaskedTextBoxModel} options - Specifies the MaskedTextBox model.
     * @param {string | HTMLElement | HTMLInputElement} element - Specifies the element to render as component.
     * @private
     */
    constructor(options?: MaskedTextBoxModel, element?: string | HTMLElement | HTMLInputElement);
    /**
     * Gets the component name.
     *
     * @returns {string} Returns the component name.
     * @private
     */
    protected getModuleName(): string;
    /**
     * Initializes the event handler
     *
     * @returns {void}
     * @private
     */
    protected preRender(): void;
    /**
     * Gets the properties to be maintained in the persisted state.
     *
     * @returns {string}
     */
    getPersistData(): string;
    /**
     * Initializes the component rendering.
     *
     * @returns {void}
     * @private
     */
    render(): void;
    private updateHTMLAttrToElement;
    private updateCssClass;
    private getValidClassList;
    private updateHTMLAttrToWrapper;
    private resetMaskedTextBox;
    private setMaskPlaceholder;
    private setWidth;
    private checkHtmlAttributes;
    private createWrapper;
    /**
     * Calls internally if any of the property value is changed.
     *
     * @param {MaskedTextBoxModel} newProp - Returns the dynamic property value of the component.
     * @param {MaskedTextBoxModel} oldProp - Returns the previous property value of the component.
     * @returns {void}
     * @hidden
     */
    onPropertyChanged(newProp: MaskedTextBoxModel, oldProp: MaskedTextBoxModel): void;
    private updateValue;
    /**
     * Gets the value of the MaskedTextBox with the masked format.
     * By using `value` property, you can get the raw value of maskedtextbox without literals and prompt characters.
     *
     * @returns {string}
     */
    getMaskedValue(): string;
    /**
     * Sets the focus to widget for interaction.
     *
     * @returns {void}
     */
    focusIn(): void;
    /**
     * Remove the focus from widget, if the widget is in focus state.
     *
     * @returns {void}
     */
    focusOut(): void;
    /**
     * Removes the component from the DOM and detaches all its related event handlers.
     * Also it maintains the initial input element from the DOM.
     *
     * @method destroy
     * @returns {void}
     */
    destroy(): void;
}
export interface MaskChangeEventArgs extends base.BaseEventArgs {
    /** Returns the value of the MaskedTextBox with the masked format. */
    maskedValue?: string;
    /** Returns the raw value of MaskedTextBox by removing the prompt characters and literals(non-mask elements)
     * which have been set in the mask of MaskedTextBox.
     */
    value?: string;
    /** Returns true when the value of MaskedTextBox is changed by user interaction. Otherwise, it returns false.
     *
     * @private
     */
    isInteraction?: boolean;
    /** Returns true when the value of MaskedTextBox is changed by user interaction. Otherwise, it returns false */
    isInteracted?: boolean;
    /** Returns the original event arguments. */
    event?: Event;
}
export interface MaskFocusEventArgs extends base.BaseEventArgs {
    /** Returns selectionStart value as zero by default */
    selectionStart?: number;
    /** Returns selectionEnd value depends on mask length */
    selectionEnd?: number;
    /** Returns the original event arguments. */
    event?: MouseEvent | FocusEvent | TouchEvent | KeyboardEvent;
    /** Returns the value of MaskedTextBox. */
    value?: string;
    /** Returns the maskedValue of MaskedTextBox. */
    maskedValue?: string;
    /** Returns the MaskedTextBox container element */
    container?: HTMLElement;
}
export interface MaskBlurEventArgs extends base.BaseEventArgs {
    /** Returns the original event arguments. */
    event?: MouseEvent | FocusEvent | TouchEvent | KeyboardEvent;
    /** Returns the value of MaskedTextBox. */
    value?: string;
    /** Returns the maskedValue of MaskedTextBox. */
    maskedValue?: string;
    /** Returns the MaskedTextBox container element */
    container?: HTMLElement;
}
//node_modules/@syncfusion/ej2-inputs/src/numerictextbox/index.d.ts
/**
 * NumericTextBox modules
 */
//node_modules/@syncfusion/ej2-inputs/src/numerictextbox/numerictextbox-model.d.ts
/**
 * Interface for a class NumericTextBox
 */
export interface NumericTextBoxModel extends base.ComponentModel{
    /**
     * Gets or Sets the CSS classes to root element of the NumericTextBox which helps to customize the
     * complete UI styles for the NumericTextBox component.
     *
     * @default null
     */
    cssClass?: string;
    /**
     * Sets the value of the NumericTextBox.
     *
     * @default null
     * @aspType object
     * @isGenericType true
     */
    value?: number;
    /**
     * Specifies a minimum value that is allowed a user can enter.
     * For more information on min, refer to
     * [min](../../numerictextbox/getting-started/#range-validation).
     *
     * @default null
     * @aspType object
     * @isGenericType true
     * @deprecated
     */
    min?: number;
    /**
     * Specifies a maximum value that is allowed a user can enter.
     * For more information on max, refer to
     * [max](../../numerictextbox/getting-started/#range-validation).
     *
     * @default null
     * @aspType object
     * @isGenericType true
     * @deprecated
     */
    max?: number;
    /**
     * Specifies the incremental or decremental step size for the NumericTextBox.
     * For more information on step, refer to
     * [step](../../numerictextbox/getting-started/#range-validation).
     *
     * @default 1
     * @isGenericType true
     */
    step?: number;
    /**
     * Specifies the width of the NumericTextBox.
     *
     * @default null
     */
    width?: number | string;
    /**
     * Gets or sets the string shown as a hint/placeholder when the NumericTextBox is empty.
     * It acts as a label and floats above the NumericTextBox based on the
     * <b><a href="#floatlabeltype" target="_blank">floatLabelType.</a></b>
     *
     * @default null
     */
    placeholder?: string;
    /**
     * You can add the additional html base.attributes such as disabled, value etc., to the element.
     * If you configured both property and equivalent html attribute then the component considers the property value.
     * {% codeBlock src='numerictextbox/htmlAttributes/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     */
    htmlAttributes?: { [key: string]: string };
    /**
     * Specifies whether the up and down spin buttons should be displayed in NumericTextBox.
     *
     * @default true
     */
    showSpinButton?: boolean;
    /**
     * Sets a value that enables or disables the readonly state on the NumericTextBox. If it is true,
     * NumericTextBox will not allow your input.
     *
     * @default false
     */
    readonly?: boolean;
    /**
     * Sets a value that enables or disables the NumericTextBox control.
     *
     * @default true
     */
    enabled?: boolean;
    /**
     * Specifies whether to show or hide the clear icon.
     *
     * @default false
     */
    showClearButton?: boolean;
    /**
     * Enable or disable persisting NumericTextBox state between page reloads. If enabled, the `value` state will be persisted.
     *
     * @default false
     */
    enablePersistence?: boolean;
    /**
     * Specifies the number format that indicates the display format for the value of the NumericTextBox.
     * For more information on formats, refer to
     * [formats](../../numerictextbox/formats/#standard-formats).
     *
     * @default 'n2'
     */
    format?: string;
    /**
     * Specifies the number precision applied to the textbox value when the NumericTextBox is focused.
     * For more information on decimals, refer to
     * [decimals](../../numerictextbox/formats/#precision-of-numbers).
     *
     * @default null
     */
    decimals?: number;
    /**
     * Specifies the currency code to use in currency formatting.
     * Possible values are the ISO 4217 currency codes, such as 'USD' for the US dollar,'EUR' for the euro.
     *
     * @default null
     */
    currency?: string;
    /**
     * Specifies the currency code to use in currency formatting.
     * Possible values are the ISO 4217 currency codes, such as 'USD' for the US dollar,'EUR' for the euro.
     *
     * @default null
     * @private
     */
    currencyCode?: string;
    /**
     * Specifies a value that indicates whether the NumericTextBox control allows the value for the specified range.
     * If it is true, the input value will be restricted between the min and max range.
     * The typed value gets modified to fit the range on focused out state.
     * Else, it allows any value even out of range value,
     * At that time of wrong value entered, the error class will be added to the component to highlight the error.
     * {% codeBlock src='numerictextbox/strictMode/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    strictMode?: boolean;
    /**
     * Specifies whether the decimals length should be restricted during typing.
     *
     * @default false
     */
    validateDecimalOnType?: boolean;
    /**
     * The <b><a href="#placeholder" target="_blank">placeholder</a></b> acts as a label
     * and floats above the NumericTextBox based on the below values.
     * Possible values are:
     * * `Never` - Never floats the label in the NumericTextBox when the placeholder is available.
     * * `Always` - The floating label always floats above the NumericTextBox.
     * * `Auto` - The floating label floats above the NumericTextBox after focusing it or when enters the value in it.
     *
     * @default Never
     */
    floatLabelType?: FloatLabelType;
    /**
     * Triggers when the NumericTextBox component is created.
     *
     * @event created
     */
    created?: base.EmitType<Object>;
    /**
     * Triggers when the NumericTextBox component is destroyed.
     *
     * @event destroyed
     */
    destroyed?: base.EmitType<Object>;
    /**
     * Triggers when the value of the NumericTextBox changes.
     *
     * @event change
     */
    change?: base.EmitType<ChangeEventArgs>;
    /**
     * Triggers when the NumericTextBox got focus in.
     *
     * @event focus
     */
    focus?: base.EmitType<NumericFocusEventArgs>;
    /**
     * Triggers when the NumericTextBox got focus out.
     *
     * @event blur
     */
    blur?: base.EmitType<NumericBlurEventArgs>;
}
//node_modules/@syncfusion/ej2-inputs/src/numerictextbox/numerictextbox.d.ts
/**
 * Represents the NumericTextBox component that allows the user to enter only numeric values.
 * ```html
 * <input type='text' id="numeric"/>
 * ```
 * ```typescript
 * <script>
 *   var numericObj = new NumericTextBox({ value: 10 });
 *   numericObj.appendTo("#numeric");
 * </script>
 * ```
 */
export  class NumericTextBox extends base.Component<HTMLInputElement> implements base.INotifyPropertyChanged {
    private container;
    private inputWrapper;
    private cloneElement;
    private hiddenInput;
    private spinUp;
    private spinDown;
    private formEle;
    private inputEleValue;
    private timeOut;
    private prevValue;
    private isValidState;
    private isFocused;
    private isPrevFocused;
    private instance;
    private cultureInfo;
    private inputStyle;
    private inputName;
    private decimalSeparator;
    private angularTagName;
    private intRegExp;
    private l10n;
    private isCalled;
    private prevVal;
    private nextEle;
    private cursorPosChanged;
    private changeEventArgs;
    private focusEventArgs;
    private blurEventArgs;
    private numericOptions;
    private isInteract;
    private serverDecimalSeparator;
    private isVue;
    private preventChange;
    private elementPrevValue;
    private isAngular;
    private isDynamicChange;
    /**
     * Gets or Sets the CSS classes to root element of the NumericTextBox which helps to customize the
     * complete UI styles for the NumericTextBox component.
     *
     * @default null
     */
    cssClass: string;
    /**
     * Sets the value of the NumericTextBox.
     *
     * @default null
     * @aspType object
     * @isGenericType true
     */
    value: number;
    /**
     * Specifies a minimum value that is allowed a user can enter.
     * For more information on min, refer to
     * [min](../../numerictextbox/getting-started/#range-validation).
     *
     * @default null
     * @aspType object
     * @isGenericType true
     * @deprecated
     */
    min: number;
    /**
     * Specifies a maximum value that is allowed a user can enter.
     * For more information on max, refer to
     * [max](../../numerictextbox/getting-started/#range-validation).
     *
     * @default null
     * @aspType object
     * @isGenericType true
     * @deprecated
     */
    max: number;
    /**
     * Specifies the incremental or decremental step size for the NumericTextBox.
     * For more information on step, refer to
     * [step](../../numerictextbox/getting-started/#range-validation).
     *
     * @default 1
     * @isGenericType true
     */
    step: number;
    /**
     * Specifies the width of the NumericTextBox.
     *
     * @default null
     */
    width: number | string;
    /**
     * Gets or sets the string shown as a hint/placeholder when the NumericTextBox is empty.
     * It acts as a label and floats above the NumericTextBox based on the
     * <b><a href="#floatlabeltype" target="_blank">floatLabelType.</a></b>
     *
     * @default null
     */
    placeholder: string;
    /**
     * You can add the additional html attributes such as disabled, value etc., to the element.
     * If you configured both property and equivalent html attribute then the component considers the property value.
     * {% codeBlock src='numerictextbox/htmlAttributes/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     */
    htmlAttributes: {
        [key: string]: string;
    };
    /**
     * Specifies whether the up and down spin buttons should be displayed in NumericTextBox.
     *
     * @default true
     */
    showSpinButton: boolean;
    /**
     * Sets a value that enables or disables the readonly state on the NumericTextBox. If it is true,
     * NumericTextBox will not allow your input.
     *
     * @default false
     */
    readonly: boolean;
    /**
     * Sets a value that enables or disables the NumericTextBox control.
     *
     * @default true
     */
    enabled: boolean;
    /**
     * Specifies whether to show or hide the clear icon.
     *
     * @default false
     */
    showClearButton: boolean;
    /**
     * Enable or disable persisting NumericTextBox state between page reloads. If enabled, the `value` state will be persisted.
     *
     * @default false
     */
    enablePersistence: boolean;
    /**
     * Specifies the number format that indicates the display format for the value of the NumericTextBox.
     * For more information on formats, refer to
     * [formats](../../numerictextbox/formats/#standard-formats).
     *
     * @default 'n2'
     */
    format: string;
    /**
     * Specifies the number precision applied to the textbox value when the NumericTextBox is focused.
     * For more information on decimals, refer to
     * [decimals](../../numerictextbox/formats/#precision-of-numbers).
     *
     * @default null
     */
    decimals: number;
    /**
     * Specifies the currency code to use in currency formatting.
     * Possible values are the ISO 4217 currency codes, such as 'USD' for the US dollar,'EUR' for the euro.
     *
     * @default null
     */
    currency: string;
    /**
     * Specifies the currency code to use in currency formatting.
     * Possible values are the ISO 4217 currency codes, such as 'USD' for the US dollar,'EUR' for the euro.
     *
     * @default null
     * @private
     */
    private currencyCode;
    /**
     * Specifies a value that indicates whether the NumericTextBox control allows the value for the specified range.
     * If it is true, the input value will be restricted between the min and max range.
     * The typed value gets modified to fit the range on focused out state.
     * Else, it allows any value even out of range value,
     * At that time of wrong value entered, the error class will be added to the component to highlight the error.
     * {% codeBlock src='numerictextbox/strictMode/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    strictMode: boolean;
    /**
     * Specifies whether the decimals length should be restricted during typing.
     *
     * @default false
     */
    validateDecimalOnType: boolean;
    /**
     * The <b><a href="#placeholder" target="_blank">placeholder</a></b> acts as a label
     * and floats above the NumericTextBox based on the below values.
     * Possible values are:
     * * `Never` - Never floats the label in the NumericTextBox when the placeholder is available.
     * * `Always` - The floating label always floats above the NumericTextBox.
     * * `Auto` - The floating label floats above the NumericTextBox after focusing it or when enters the value in it.
     *
     * @default Never
     */
    floatLabelType: FloatLabelType;
    /**
     * Triggers when the NumericTextBox component is created.
     *
     * @event created
     */
    created: base.EmitType<Object>;
    /**
     * Triggers when the NumericTextBox component is destroyed.
     *
     * @event destroyed
     */
    destroyed: base.EmitType<Object>;
    /**
     * Triggers when the value of the NumericTextBox changes.
     *
     * @event change
     */
    change: base.EmitType<ChangeEventArgs>;
    /**
     * Triggers when the NumericTextBox got focus in.
     *
     * @event focus
     */
    focus: base.EmitType<NumericFocusEventArgs>;
    /**
     * Triggers when the NumericTextBox got focus out.
     *
     * @event blur
     */
    blur: base.EmitType<NumericBlurEventArgs>;
    /**
     *
     * @param {NumericTextBoxModel} options - Specifies the NumericTextBox model.
     * @param {string | HTMLInputElement} element - Specifies the element to render as component.
     * @private
     */
    constructor(options?: NumericTextBoxModel, element?: string | HTMLInputElement);
    protected preRender(): void;
    /**
     * To Initialize the control rendering
     *
     * @returns {void}
     * @private
     */
    render(): void;
    private checkAttributes;
    private updatePlaceholder;
    private initCultureFunc;
    private initCultureInfo;
    private createWrapper;
    private updateDataAttribute;
    private updateHTMLAttrToElement;
    private updateCssClass;
    private getNumericValidClassList;
    private updateHTMLAttrToWrapper;
    private setElementWidth;
    private spinBtnCreation;
    private validateMinMax;
    private formattedValue;
    private validateStep;
    private action;
    private checkErrorClass;
    private bindClearEvent;
    protected resetHandler(e?: MouseEvent): void;
    private clear;
    protected resetFormHandler(): void;
    private setSpinButton;
    private wireEvents;
    private wireSpinBtnEvents;
    private unwireEvents;
    private unwireSpinBtnEvents;
    private changeHandler;
    private raiseChangeEvent;
    private pasteHandler;
    private preventHandler;
    private keyUpHandler;
    private inputHandler;
    private keyDownHandler;
    private performAction;
    private correctRounding;
    private roundValue;
    private updateValue;
    private updateCurrency;
    private changeValue;
    private modifyText;
    private setElementValue;
    private validateState;
    private getNumberOfDecimals;
    private formatNumber;
    private trimValue;
    private roundNumber;
    private cancelEvent;
    private keyPressHandler;
    private numericRegex;
    private mouseWheel;
    private focusHandler;
    private focusOutHandler;
    private mouseDownOnSpinner;
    private touchMoveOnSpinner;
    private mouseUpOnSpinner;
    private getElementData;
    private floatLabelTypeUpdate;
    private mouseUpClick;
    /**
     * Increments the NumericTextBox value with the specified step value.
     *
     * @param {number} step - Specifies the value used to increment the NumericTextBox value.
     * if its not given then numeric value will be incremented based on the step property value.
     * @returns {void}
     */
    increment(step?: number): void;
    /**
     * Decrements the NumericTextBox value with specified step value.
     *
     * @param {number} step - Specifies the value used to decrement the NumericTextBox value.
     * if its not given then numeric value will be decremented based on the step property value.
     * @returns {void}
     */
    decrement(step?: number): void;
    /**
     * Removes the component from the DOM and detaches all its related event handlers.
     * Also it maintains the initial input element from the DOM.
     *
     * @method destroy
     * @returns {void}
     */
    destroy(): void;
    /**
     * Returns the value of NumericTextBox with the format applied to the NumericTextBox.
     *
     */
    getText(): string;
    /**
     * Sets the focus to widget for interaction.
     *
     * @returns {void}
     */
    focusIn(): void;
    /**
     * Remove the focus from widget, if the widget is in focus state.
     *
     * @returns {void}
     */
    focusOut(): void;
    /**
     * Gets the properties to be maintained in the persisted state.
     *
     * @returns {string}
     */
    getPersistData(): string;
    /**
     * Calls internally if any of the property value is changed.
     *
     * @param {NumericTextBoxModel} newProp - Returns the dynamic property value of the component.
     * @param {NumericTextBoxModel} oldProp - Returns the previous property value of the component.
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: NumericTextBoxModel, oldProp: NumericTextBoxModel): void;
    private updateClearButton;
    private updateSpinButton;
    /**
     * Gets the component name
     *
     * @returns {string} Returns the component name.
     * @private
     */
    getModuleName(): string;
}
export interface ChangeEventArgs extends base.BaseEventArgs {
    /** Returns the entered value of the NumericTextBox.
     *
     * @isGenericType true
     */
    value?: number;
    /** Returns the previously entered value of the NumericTextBox.
     *
     * @isGenericType true
     */
    previousValue?: number;
    /** Returns the event parameters from NumericTextBox. */
    event?: Event;
    /** Returns true when the value of NumericTextBox is changed by user interaction. Otherwise, it returns false
     *
     * @private
     */
    isInteraction?: boolean;
    /** Returns true when the value of NumericTextBox is changed by user interaction. Otherwise, it returns false */
    isInteracted?: boolean;
}
export interface NumericFocusEventArgs extends base.BaseEventArgs {
    /** Returns the original event arguments. */
    event?: MouseEvent | FocusEvent | TouchEvent | KeyboardEvent;
    /** Returns the value of the NumericTextBox.
     *
     * @isGenericType true
     */
    value: number;
    /** Returns the NumericTextBox container element */
    container?: HTMLElement;
}
export interface NumericBlurEventArgs extends base.BaseEventArgs {
    /** Returns the original event arguments. */
    event?: MouseEvent | FocusEvent | TouchEvent | KeyboardEvent;
    /** Returns the value of the NumericTextBox.
     *
     * @isGenericType true
     */
    value: number;
    /** Returns the NumericTextBox container element */
    container?: HTMLElement;
}
//node_modules/@syncfusion/ej2-inputs/src/signature/index.d.ts
/**
 * Signature modules
 */
//node_modules/@syncfusion/ej2-inputs/src/signature/signature-model.d.ts
/**
 * Interface for a class Signature
 */
export interface SignatureModel {
    /**
     * Gets or sets the background color of the component.
     * The background color of the component that accepts hex value, rgb and text (like 'red'). The default value is ''.
     *
     * @default ''
     */
    backgroundColor?: string;
    /**
     * Gets or sets the background image for the component.
     * An image that used to fill the background of the component. The default value is ''.
     *
     * @default ''
     */
    backgroundImage?: string;
    /**
     * Gets or sets whether to disable the signature component where the opacity is set to show disabled state.
     * True, if the signature component is disabled for user interaction. The default value is false.
     *
     * @default false
     */
    disabled?: boolean;
    /**
     * Gets or sets whether to prevent the interaction in signature component.
     * True, if the signature component is read only state where the user interaction is prevented. The default value is false.
     *
     * @default false
     */
    isReadOnly?: boolean;
    /**
     * Gets or sets whether to save the signature along with Background Color and background Image while saving.
     * True, if signature component to save with background. The default value is true.
     *
     * @default true
     */
    saveWithBackground?: boolean;
    /**
     * Gets or sets the stroke color of the signature.
     * The color of the signature stroke that accepts hex value, rgb and text (like 'red'). The default value is "#000000".
     *
     * @default '#000000'
     */
    strokeColor?: string;
    /**
     * Gets or sets the minimum stroke width for signature.
     * The signature component calculates stroke width based on Velocity, MinStrokeWidth and MaxStrokeWidth.
     * The minimum width of stroke. The default value is 0.5.
     *
     * @default 0.5
     */
    minStrokeWidth?: number;
    /**
     * Gets or sets the maximum stroke width for signature.
     * The signature component calculates stroke width based on Velocity, MinStrokeWidth and MaxStrokeWidth.
     * The maximum width of stroke. The default value is 2.0.
     *
     * @default 2
     */
    maxStrokeWidth?: number;
    /**
     * Gets or sets the velocity to calculate the stroke thickness based on the pressure of the contact on the digitizer surface.
     * The Signature component calculates stroke thickness based on Velocity, MinStrokeWidth and MaxStrokeWidth.
     * The default value is 0.7.
     *
     * @default 0.7
     */
    velocity?: number;
    /**
     * Overrides the global culture and localization value for this component. Default global culture is 'en-US'.
     *
     * @default 'en-US'
     * @private
     */
    locale?: string;
    /**
     * Specifies the Signature in RTL mode that displays the content in the right-to-left direction.
     *
     * @default false
     * @private
     */
    enableRtl?: boolean;
    /**
     * Gets or sets whether to persist component's state between page reloads.
     * True, if the component's state persistence is enabled. The default value is false.
     * Component's property will be stored in browser local storage to persist component's state when page reloads.
     *
     * @default false
     */
    enablePersistence?: boolean;
    /**
     * Gets or sets an event callback that is raised while saving the signature.
     * The file name and the file type can be changed using SignatureBeforeSaveEventArgs and SignatureFileType.
     * The event callback is raised only for the keyboard action (Ctrl + S).
     *
     * @event beforeSave
     */
    beforeSave?: base.EmitType<SignatureBeforeSaveEventArgs>;
    /**
     * Gets or sets an event callback that is raised for the actions like undo, redo, clear and while user complete signing on signature component.
     *
     * @event change
     */
    change?: base.EmitType<SignatureChangeEventArgs>;
    /**
     * Triggers once the component rendering is completed.
     *
     * @event created
     */
    created?: base.EmitType<Event>;
}
//node_modules/@syncfusion/ej2-inputs/src/signature/signature.d.ts
/**
 * The Signature component allows user to draw smooth signatures as vector outline of strokes using variable width bezier curve interpolation.
 * It allows to save signature as image.
 * You can use your finger, pen, or mouse on a tablet, touchscreen, etc., to draw your own signature on this Signature component.
 * Signature component is a user interface to draw the Signature or Text.
 * It provides supports for various Background color, Stroke color and Background Image.
 * ```html
 * <canvas id="signature"></canvas>
 * ```
 * ```typescript
 * <script>
 *   let signatureObj: Signature = new Signature(null , "#signature");
 * </script>
 * ```
 */
export  class Signature extends SignatureBase implements base.INotifyPropertyChanged {
    /**
     * Gets or sets the background color of the component.
     * The background color of the component that accepts hex value, rgb and text (like 'red'). The default value is ''.
     *
     * @default ''
     */
    backgroundColor: string;
    /**
     * Gets or sets the background image for the component.
     * An image that used to fill the background of the component. The default value is ''.
     *
     * @default ''
     */
    backgroundImage: string;
    /**
     * Gets or sets whether to disable the signature component where the opacity is set to show disabled state.
     * True, if the signature component is disabled for user interaction. The default value is false.
     *
     * @default false
     */
    disabled: boolean;
    /**
     * Gets or sets whether to prevent the interaction in signature component.
     * True, if the signature component is read only state where the user interaction is prevented. The default value is false.
     *
     * @default false
     */
    isReadOnly: boolean;
    /**
     * Gets or sets whether to save the signature along with Background Color and background Image while saving.
     * True, if signature component to save with background. The default value is true.
     *
     * @default true
     */
    saveWithBackground: boolean;
    /**
     * Gets or sets the stroke color of the signature.
     * The color of the signature stroke that accepts hex value, rgb and text (like 'red'). The default value is "#000000".
     *
     * @default '#000000'
     */
    strokeColor: string;
    /**
     * Gets or sets the minimum stroke width for signature.
     * The signature component calculates stroke width based on Velocity, MinStrokeWidth and MaxStrokeWidth.
     * The minimum width of stroke. The default value is 0.5.
     *
     * @default 0.5
     */
    minStrokeWidth: number;
    /**
     * Gets or sets the maximum stroke width for signature.
     * The signature component calculates stroke width based on Velocity, MinStrokeWidth and MaxStrokeWidth.
     * The maximum width of stroke. The default value is 2.0.
     *
     * @default 2
     */
    maxStrokeWidth: number;
    /**
     * Gets or sets the velocity to calculate the stroke thickness based on the pressure of the contact on the digitizer surface.
     * The Signature component calculates stroke thickness based on Velocity, MinStrokeWidth and MaxStrokeWidth.
     * The default value is 0.7.
     *
     * @default 0.7
     */
    velocity: number;
    /**
     * Overrides the global culture and localization value for this component. Default global culture is 'en-US'.
     *
     * @default 'en-US'
     * @private
     */
    locale: string;
    /**
     * Specifies the Signature in RTL mode that displays the content in the right-to-left direction.
     *
     * @default false
     * @private
     */
    enableRtl: boolean;
    /**
     * Gets or sets whether to persist component's state between page reloads.
     * True, if the component's state persistence is enabled. The default value is false.
     * Component's property will be stored in browser local storage to persist component's state when page reloads.
     *
     * @default false
     */
    enablePersistence: boolean;
    /**
     * Gets or sets an event callback that is raised while saving the signature.
     * The file name and the file type can be changed using SignatureBeforeSaveEventArgs and SignatureFileType.
     * The event callback is raised only for the keyboard action (Ctrl + S).
     *
     * @event beforeSave
     */
    beforeSave: base.EmitType<SignatureBeforeSaveEventArgs>;
    /**
     * Gets or sets an event callback that is raised for the actions like undo, redo, clear and while user complete signing on signature component.
     *
     * @event change
     */
    change: base.EmitType<SignatureChangeEventArgs>;
    /**
     * Triggers once the component rendering is completed.
     *
     * @event created
     */
    created: base.EmitType<Event>;
    /**
     * Constructor for creating the widget.
     *
     * @param {SignatureModel} options - Specifies the Signature model.
     * @param {string | HTMLCanvasElement} element - Specifies the element.
     * @private
     */
    constructor(options?: SignatureModel, element?: string | HTMLCanvasElement);
    protected preRender(): void;
    /**
     * To Initialize the component rendering
     *
     * @private
     * @returns {void}
     */
    protected render(): void;
    initialize(): void;
    /**
     * To get component name.
     *
     * @returns {string} - Module Name
     * @private
     */
    protected getModuleName(): string;
    /**
     * To get the properties to be maintained in the persisted state.
     *
     * @returns {string} - Persist data
     */
    protected getPersistData(): string;
    /**
     * Called internally if any of the property value changed.
     *
     * @param  {SignatureModel} newProp - Specifies new properties
     * @param  {SignatureModel} oldProp - Specifies old properties
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: SignatureModel, oldProp: SignatureModel): void;
}
//node_modules/@syncfusion/ej2-inputs/src/slider/index.d.ts
/**
 * Slider modules
 */
//node_modules/@syncfusion/ej2-inputs/src/slider/slider-model.d.ts
/**
 * Interface for a class TicksData
 */
export interface TicksDataModel {
    /**
     * It is used to denote the position of the ticks in the Slider. The available options are:
     *
     *  * before - Ticks are placed in the top of the horizontal slider bar or at the left of the vertical slider bar.
     *  * after - Ticks are placed in the bottom of the horizontal slider bar or at the right of the vertical slider bar.
     *  * both - Ticks are placed on the both side of the Slider bar.
     *  * none - Ticks are not shown.
     * {% codeBlock src='slider/placement/index.md' %}{% endcodeBlock %}
     * @default 'None'
     */
    placement?: Placement;
    /**
     * It is used to denote the distance between two major (large) ticks from the scale of the Slider.
     * {% codeBlock src='slider/largestep/index.md' %}{% endcodeBlock %}
     * @default 10
     */
    largeStep?: number;
    /**
     * It is used to denote the distance between two minor (small) ticks from the scale of the Slider.
     * {% codeBlock src='slider/smallstep/index.md' %}{% endcodeBlock %}
     * @default 1
     */
    smallStep?: number;
    /**
     * We can show or hide the small ticks in the Slider, which will be appeared in between the largeTicks.
     * @default false
     */
    showSmallTicks?: boolean;
    /**
     * It is used to customize the Slider scale value to the desired format using base.Internationalization or events(custom formatting).
     * {% codeBlock src='slider/format/index.md' %}{% endcodeBlock %}
     */
    format?: string;
}
/**
 * Interface for a class ColorRangeData
 */
export interface ColorRangeDataModel {
    /**
     * It is used to set the color in the slider bar.
     * @default ''
     */
    color?: string;
    /**
     * It is used to get the starting value for applying color.
     * @default null
     */
    start?: number;
    /**
     * It is used to get the end value for applying color.
     * @default null
     */
    end?: number;
}
/**
 * Interface for a class LimitData
 */
export interface LimitDataModel {
    /**
     * It is used to enable the limit in the slider.
     * @default false
     */
    enabled?: boolean;
    /**
     * It is used to set the minimum start limit value.
     * @default null
     */
    minStart?: number;
    /**
     * It is used to set the minimum end limit value.
     * @default null
     */
    minEnd?: number;
    /**
     * It is used to set the maximum start limit value.
     * @default null
     */
    maxStart?: number;
    /**
     * It is used to set the maximum end limit value.
     * @default null
     */
    maxEnd?: number;
    /**
     * It is used to lock the first handle.
     * {% codeBlock src='slider/limitStartHandleFixed/index.md' %}{% endcodeBlock %}
     * @default false
     */
    startHandleFixed?: boolean;
    /**
     * It is used to lock the second handle.
     * {% codeBlock src='slider/limitEndHandleFixed/index.md' %}{% endcodeBlock %}
     * @default false
     */
    endHandleFixed?: boolean;
}
/**
 * Interface for a class TooltipData
 */
export interface TooltipDataModel {
    /**
     * It is used to customize the popups.Tooltip which accepts custom CSS class names that define
     *  specific user-defined styles and themes to be applied on the popups.Tooltip element.
     * @default ''
     */
    cssClass?: string;
    /**
     * It is used to denote the position for the tooltip element in the Slider. The available options are:
     * {% codeBlock src='slider/tooltipplacement/index.md' %}{% endcodeBlock %}
     *  * Before - popups.Tooltip is shown in the top of the horizontal slider bar or at the left of the vertical slider bar.
     *  * After - popups.Tooltip is shown in the bottom of the horizontal slider bar or at the right of the vertical slider bar.
     */
    placement?: TooltipPlacement;
    /**
     * It is used to determine the device mode to show the popups.Tooltip.
     * If it is in desktop, it will show the popups.Tooltip content when hovering on the target element.
     * If it is in touch device. It will show the popups.Tooltip content when tap and holding on the target element.
     * {% codeBlock src='slider/tooltipShowOn/index.md' %}{% endcodeBlock %}
     * @default 'Auto'
     */
    showOn?: TooltipShowOn;
    /**
     * It is used to show or hide the popups.Tooltip of Slider base.Component.
     * {% codeBlock src='slider/tooltipIsVisible/index.md' %}{% endcodeBlock %}
     */
    isVisible?: boolean;
    /**
     * It is used to customize the popups.Tooltip content to the desired format
     *  using internationalization or events (custom formatting).
     */
    format?: string;
}
/**
 * Interface for a class Slider
 */
export interface SliderModel extends base.ComponentModel{
    /**
     * It is used to denote the current value of the Slider.
     * The value should be specified in array of number when render Slider type as range.
     *
     * {% codeBlock src="slider/value-api/index.ts" %}{% endcodeBlock %}
     * @default null
     * @isGenericType true
     */
    value?: number | number[];
    /**
     * Specifies an array of slider values in number or string type.
     * The min and max step values are not considered.
     * @default null
     */
    customValues?: string[] | number[];
    /**
     * Specifies the step value for each value change when the increase / decrease
     *  button is clicked or on arrow keys press or on dragging the thumb. 
     *  Refer the documentation [here](../../slider/ticks#step)
     *  to know more about this property.
     *
     * {% codeBlock src="slider/step-api/index.ts" %}{% endcodeBlock %}
     * @default 1
     */
    step?: number;
    /**
     * Specifies the width of the Slider.
     * @default null
     */
    width?: number | string;
    /**
     * Gets/Sets the minimum value of the slider.
     *
     * {% codeBlock src="slider/min-max-api/index.ts" %}{% endcodeBlock %}
     * @default 0
     */
    min?: number;
    /**
     * Gets/Sets the maximum value of the slider.
     *
     * {% codeBlock src="slider/min-max-api/index.ts" %}{% endcodeBlock %}
     * @default 100
     */
    max?: number;
    /**
     * Specifies whether the render the slider in read-only mode to restrict any user interaction.
     * The slider rendered with user defined values and can’t be interacted with user actions.
     * @default false
     */
    readonly?: boolean;
    /**
     * Defines the type of the Slider. The available options are:
     *  * default - Allows to a single value in the Slider.
     *  * minRange - Allows to select a single value in the Slider. It display’s a shadow from the start to the current value.
     *  * range - Allows to select a range of values in the Slider. It displays shadow in-between the selection range.
     * {% codeBlock src='slider/types/index.md' %}{% endcodeBlock %}
     */
    type?: SliderType;
    /**
     * Specifies the color to the slider based on given value.
     */
    colorRange?: ColorRangeDataModel[];
    /**
     * It is used to render the slider ticks options such as placement and step values.
     * Refer the documentation [here](../../slider/ticks)
     *  to know more about this property with demo.
     * {% codeBlock src='slider/ticks/index.md' %}{% endcodeBlock %}
     * {% codeBlock src="slider/ticks-api/index.ts" %}{% endcodeBlock %}
     * @default { placement: 'before' }
     */
    ticks?: TicksDataModel;
    /**
     * Specified the limit within which the slider to be moved.
     * Refer the documentation [here](../../slider/limits)
     *  to know more about this property.
     *
     * {% codeBlock src="slider/limits-api/index.ts" %}{% endcodeBlock %}
     * @default { enabled: false }
     */
    limits?: LimitDataModel;
    /**
     * Enables or Disables the slider.
     * @default true
     */
    enabled?: boolean;
    /**
     * Specifies the visibility, position of the tooltip over the slider element.
     *
     * {% codeBlock src="slider/tooltip-api/index.ts" %}{% endcodeBlock %}
     * @default { placement: 'Before', isVisible: false, showOn: 'Focus', format: null }
     */
    tooltip?: TooltipDataModel;
    /**
     * Specifies whether to show or hide the increase/decrease buttons 
     * of Slider to change the slider value.
     * Refer the documentation [here](../../slider/getting-started#buttons)
     *  to know more about this property.
     *
     * {% codeBlock src="slider/showButtons-api/index.ts" %}{% endcodeBlock %}
     * @default false
     */
    showButtons?: boolean;
    /**
     * Enables/Disables the animation for slider movement.
     * @default true
     */
    enableAnimation?: boolean;
    /**
     *  Specifies whether to render the slider in vertical or horizontal orientation.
     *  Refer the documentation [here](../../slider/getting-started#orientation)
     *  to know more about this property.
     * @default 'Horizontal'
     */
    orientation?: SliderOrientation;
    /**
     * Specifies the custom classes to be added to the element used to customize the slider.
     * {% codeBlock src='slider/cssClass/index.md' %}{% endcodeBlock %}
     * @default ''
     */
    cssClass?: string;
    /**
     * Defines whether to allow the cross-scripting site or not.
     * @default false
     */
    enableHtmlSanitizer?: boolean;
    /**
     * Triggers when the Slider is successfully created.
     * @event
     */
    created?: base.EmitType<Object>;
    /**
     * We can trigger change event whenever Slider value is changed.
     *  In other term, this event will be triggered while drag the slider thumb.
     * {% codeBlock src='slider/changeEvent/index.md' %}{% endcodeBlock %}
     * @event
     */
    change?: base.EmitType<SliderChangeEventArgs>;
    /**
     * Fires whenever the Slider value is changed.
     * In other term, this event will be triggered, while drag the slider thumb completed.
     * @event
     */
    changed?: base.EmitType<SliderChangeEventArgs>;
    /**
     * Triggers on rendering the ticks element in the Slider, 
     * which is used to customize the ticks labels dynamically.
     * {% codeBlock src='slider/renderingticksEvent/index.md' %}{% endcodeBlock %}
     * @event
     */
    renderingTicks?: base.EmitType<SliderTickEventArgs>;
    /**
     * Triggers when the ticks are rendered on the Slider.
     * {% codeBlock src='slider/renderedticksEvent/index.md' %}{% endcodeBlock %}
     * @event
     */
    renderedTicks?: base.EmitType<SliderTickRenderedEventArgs>;
    /**
     * Triggers when the Sider tooltip value is changed.
     * {% codeBlock src='slider/tooltipChangeEvent/index.md' %}{% endcodeBlock %}
     * @event
     */
    tooltipChange?: base.EmitType<SliderTooltipEventArgs>;
}
//node_modules/@syncfusion/ej2-inputs/src/slider/slider.d.ts
/**
 * Configures the ticks data of the Slider.
 */
export  class TicksData extends base.ChildProperty<TicksData> {
    /**
     * It is used to denote the position of the ticks in the Slider. The available options are:
     *
     *  * before - Ticks are placed in the top of the horizontal slider bar or at the left of the vertical slider bar.
     *  * after - Ticks are placed in the bottom of the horizontal slider bar or at the right of the vertical slider bar.
     *  * both - Ticks are placed on the both side of the Slider bar.
     *  * none - Ticks are not shown.
     * {% codeBlock src='slider/placement/index.md' %}{% endcodeBlock %}
     * @default 'None'
     */
    placement: Placement;
    /**
     * It is used to denote the distance between two major (large) ticks from the scale of the Slider.
     * {% codeBlock src='slider/largestep/index.md' %}{% endcodeBlock %}
     * @default 10
     */
    largeStep: number;
    /**
     * It is used to denote the distance between two minor (small) ticks from the scale of the Slider.
     * {% codeBlock src='slider/smallstep/index.md' %}{% endcodeBlock %}
     * @default 1
     */
    smallStep: number;
    /**
     * We can show or hide the small ticks in the Slider, which will be appeared in between the largeTicks.
     * @default false
     */
    showSmallTicks: boolean;
    /**
     * It is used to customize the Slider scale value to the desired format using Internationalization or events(custom formatting).
     * {% codeBlock src='slider/format/index.md' %}{% endcodeBlock %}
     */
    format: string;
}
/**
 * It is used to denote the TooltipChange Event arguments.
 */
export interface SliderTooltipEventArgs {
    /**
     * It is used to get the value of the Slider.
     * @isGenericType true
     */
    value: number | number[];
    /**
     * It is used to get the text shown in the Slider tooltip.
     */
    text: string;
}
/**
 * It is used to denote the Slider Change/Changed Event arguments.
 */
export interface SliderChangeEventArgs {
    /**
     * It is used to get the current value of the Slider.
     * @isGenericType true
     */
    value: number | number[];
    /**
     * It is used to get the previous value of the Slider.
     * @isGenericType true
     */
    previousValue: number | number[];
    /**
     * It is used to get the current text or formatted text of the Slider, which is placed in tooltip.
     */
    text?: string;
    /**
     * It is used to get the action applied on the Slider.
     */
    action: string;
    /**
     * It is used to check whether the event triggered is via user or programmatic way.
     */
    isInteracted: boolean;
}
/**
 * It is used to denote the TicksRender Event arguments.
 */
export interface SliderTickEventArgs {
    /**
     * It is used to get the value of the tick.
     */
    value: number;
    /**
     * It is used to get the label text of the tick.
     */
    text: string;
    /**
     * It is used to get the current tick element.
     */
    tickElement: Element;
}
/**
 * It is used t denote the ticks rendered Event arguments.
 */
export interface SliderTickRenderedEventArgs {
    /**
     * It returns the wrapper of the ticks element.
     */
    ticksWrapper: HTMLElement;
    /**
     * It returns the collection of tick elements.
     */
    tickElements: HTMLElement[];
}
/**
 * It illustrates the color track data in slider.
 * {% codeBlock src='slider/colorrange/index.md' %}{% endcodeBlock %}
 */
export  class ColorRangeData extends base.ChildProperty<ColorRangeData> {
    /**
     * It is used to set the color in the slider bar.
     * @default ''
     */
    color: string;
    /**
     * It is used to get the starting value for applying color.
     * @default null
     */
    start: number;
    /**
     * It is used to get the end value for applying color.
     * @default null
     */
    end: number;
}
/**
 * It illustrates the limit data in slider.
 * {% codeBlock src='slider/limits/index.md' %}{% endcodeBlock %}
 */
export  class LimitData extends base.ChildProperty<LimitData> {
    /**
     * It is used to enable the limit in the slider.
     * @default false
     */
    enabled: boolean;
    /**
     * It is used to set the minimum start limit value.
     * @default null
     */
    minStart: number;
    /**
     * It is used to set the minimum end limit value.
     * @default null
     */
    minEnd: number;
    /**
     * It is used to set the maximum start limit value.
     * @default null
     */
    maxStart: number;
    /**
     * It is used to set the maximum end limit value.
     * @default null
     */
    maxEnd: number;
    /**
     * It is used to lock the first handle.
     * {% codeBlock src='slider/limitStartHandleFixed/index.md' %}{% endcodeBlock %}
     * @default false
     */
    startHandleFixed: boolean;
    /**
     * It is used to lock the second handle.
     * {% codeBlock src='slider/limitEndHandleFixed/index.md' %}{% endcodeBlock %}
     * @default false
     */
    endHandleFixed: boolean;
}
/**
 * It illustrates the tooltip data in slider.
 */
export  class TooltipData extends base.ChildProperty<TooltipData> {
    /**
     * It is used to customize the Tooltip which accepts custom CSS class names that define
     *  specific user-defined styles and themes to be applied on the Tooltip element.
     * @default ''
     */
    cssClass: string;
    /**
     * It is used to denote the position for the tooltip element in the Slider. The available options are:
     * {% codeBlock src='slider/tooltipplacement/index.md' %}{% endcodeBlock %}
     *  * Before - Tooltip is shown in the top of the horizontal slider bar or at the left of the vertical slider bar.
     *  * After - Tooltip is shown in the bottom of the horizontal slider bar or at the right of the vertical slider bar.
     */
    placement: TooltipPlacement;
    /**
     * It is used to determine the device mode to show the Tooltip.
     * If it is in desktop, it will show the Tooltip content when hovering on the target element.
     * If it is in touch device. It will show the Tooltip content when tap and holding on the target element.
     * {% codeBlock src='slider/tooltipShowOn/index.md' %}{% endcodeBlock %}
     * @default 'Auto'
     */
    showOn: TooltipShowOn;
    /**
     * It is used to show or hide the Tooltip of Slider base.Component.
     * {% codeBlock src='slider/tooltipIsVisible/index.md' %}{% endcodeBlock %}
     */
    isVisible: boolean;
    /**
     * It is used to customize the Tooltip content to the desired format
     *  using internationalization or events (custom formatting).
     */
    format: string;
}
/**
 * Ticks Placement.
 */
export  type Placement = 'Before' | 'After' | 'Both' | 'None';
/**
 * Tooltip Placement.
 */
export  type TooltipPlacement = 'Before' | 'After';
/**
 * Tooltip ShowOn.
 */
export  type TooltipShowOn = 'Focus' | 'Hover' | 'Always' | 'Auto';
/**
 * Slider type.
 */
export  type SliderType = 'Default' | 'MinRange' | 'Range';
/**
 * Slider orientation.
 */
export  type SliderOrientation = 'Horizontal' | 'Vertical';
/**
 * The Slider component allows the user to select a value or range
 * of values in-between a min and max range, by dragging the handle over the slider bar.
 * ```html
 * <div id='slider'></div>
 * ```
 * ```typescript
 * <script>
 *   var sliderObj = new Slider({ value: 10 });
 *   sliderObj.appendTo('#slider');
 * </script>
 * ```
 */
export  class Slider extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    private hiddenInput;
    private firstHandle;
    private sliderContainer;
    private secondHandle;
    private rangeBar;
    private onresize;
    private isElementFocused;
    private handlePos1;
    private handlePos2;
    private rtl;
    private preHandlePos1;
    private preHandlePos2;
    private handleVal1;
    private handleVal2;
    private val;
    private activeHandle;
    private sliderTrack;
    private materialHandle;
    private firstBtn;
    private tooltipObj;
    private tooltipElement;
    private isMaterialTooltip;
    private secondBtn;
    private ul;
    private firstChild;
    private tooltipCollidedPosition;
    private tooltipTarget;
    private lastChild;
    private previousTooltipClass;
    private horDir;
    private verDir;
    private transition;
    private transitionOnMaterialTooltip;
    private scaleTransform;
    private previousVal;
    private previousChanged;
    private repeatInterval;
    private isMaterial;
    private isBootstrap;
    private isBootstrap4;
    private isTailwind;
    private isBootstrap5;
    private isFluent;
    private zIndex;
    private l10n;
    private internationalization;
    private tooltipFormatInfo;
    private ticksFormatInfo;
    private customAriaText;
    private noOfDecimals;
    private tickElementCollection;
    private limitBarFirst;
    private limitBarSecond;
    private firstPartRemain;
    private secondPartRemain;
    private minDiff;
    private drag;
    private isForm;
    private formElement;
    private formResetValue;
    private rangeBarDragged;
    private isDragComplete;
    initialTooltip: boolean;
    /**
     * It is used to denote the current value of the Slider.
     * The value should be specified in array of number when render Slider type as range.
     *
     * {% codeBlock src="slider/value-api/index.ts" %}{% endcodeBlock %}
     * @default null
     * @isGenericType true
     */
    value: number | number[];
    /**
     * Specifies an array of slider values in number or string type.
     * The min and max step values are not considered.
     * @default null
     */
    customValues: string[] | number[];
    /**
     * Specifies the step value for each value change when the increase / decrease
     *  button is clicked or on arrow keys press or on dragging the thumb.
     *  Refer the documentation [here](../../slider/ticks#step)
     *  to know more about this property.
     *
     * {% codeBlock src="slider/step-api/index.ts" %}{% endcodeBlock %}
     * @default 1
     */
    step: number;
    /**
     * Specifies the width of the Slider.
     * @default null
     */
    width: number | string;
    /**
     * Gets/Sets the minimum value of the slider.
     *
     * {% codeBlock src="slider/min-max-api/index.ts" %}{% endcodeBlock %}
     * @default 0
     */
    min: number;
    /**
     * Gets/Sets the maximum value of the slider.
     *
     * {% codeBlock src="slider/min-max-api/index.ts" %}{% endcodeBlock %}
     * @default 100
     */
    max: number;
    /**
     * Specifies whether the render the slider in read-only mode to restrict any user interaction.
     * The slider rendered with user defined values and can’t be interacted with user actions.
     * @default false
     */
    readonly: boolean;
    /**
     * Defines the type of the Slider. The available options are:
     *  * default - Allows to a single value in the Slider.
     *  * minRange - Allows to select a single value in the Slider. It display’s a shadow from the start to the current value.
     *  * range - Allows to select a range of values in the Slider. It displays shadow in-between the selection range.
     * {% codeBlock src='slider/types/index.md' %}{% endcodeBlock %}
     */
    type: SliderType;
    /**
     * Specifies the color to the slider based on given value.
     */
    colorRange: ColorRangeDataModel[];
    /**
     * It is used to render the slider ticks options such as placement and step values.
     * Refer the documentation [here](../../slider/ticks)
     *  to know more about this property with demo.
     * {% codeBlock src='slider/ticks/index.md' %}{% endcodeBlock %}
     * {% codeBlock src="slider/ticks-api/index.ts" %}{% endcodeBlock %}
     * @default { placement: 'before' }
     */
    ticks: TicksDataModel;
    /**
     * Specified the limit within which the slider to be moved.
     * Refer the documentation [here](../../slider/limits)
     *  to know more about this property.
     *
     * {% codeBlock src="slider/limits-api/index.ts" %}{% endcodeBlock %}
     * @default { enabled: false }
     */
    limits: LimitDataModel;
    /**
     * Enables or Disables the slider.
     * @default true
     */
    enabled: boolean;
    /**
     * Specifies the visibility, position of the tooltip over the slider element.
     *
     * {% codeBlock src="slider/tooltip-api/index.ts" %}{% endcodeBlock %}
     * @default { placement: 'Before', isVisible: false, showOn: 'Focus', format: null }
     */
    tooltip: TooltipDataModel;
    /**
     * Specifies whether to show or hide the increase/decrease buttons
     * of Slider to change the slider value.
     * Refer the documentation [here](../../slider/getting-started#buttons)
     *  to know more about this property.
     *
     * {% codeBlock src="slider/showButtons-api/index.ts" %}{% endcodeBlock %}
     * @default false
     */
    showButtons: boolean;
    /**
     * Enables/Disables the animation for slider movement.
     * @default true
     */
    enableAnimation: boolean;
    /**
     *  Specifies whether to render the slider in vertical or horizontal orientation.
     *  Refer the documentation [here](../../slider/getting-started#orientation)
     *  to know more about this property.
     * @default 'Horizontal'
     */
    orientation: SliderOrientation;
    /**
     * Specifies the custom classes to be added to the element used to customize the slider.
     * {% codeBlock src='slider/cssClass/index.md' %}{% endcodeBlock %}
     * @default ''
     */
    cssClass: string;
    /**
     * Defines whether to allow the cross-scripting site or not.
     * @default false
     */
    enableHtmlSanitizer: boolean;
    /**
     * Triggers when the Slider is successfully created.
     * @event
     */
    created: base.EmitType<Object>;
    /**
     * We can trigger change event whenever Slider value is changed.
     *  In other term, this event will be triggered while drag the slider thumb.
     * {% codeBlock src='slider/changeEvent/index.md' %}{% endcodeBlock %}
     * @event
     */
    change: base.EmitType<SliderChangeEventArgs>;
    /**
     * Fires whenever the Slider value is changed.
     * In other term, this event will be triggered, while drag the slider thumb completed.
     * @event
     */
    changed: base.EmitType<SliderChangeEventArgs>;
    /**
     * Triggers on rendering the ticks element in the Slider,
     * which is used to customize the ticks labels dynamically.
     * {% codeBlock src='slider/renderingticksEvent/index.md' %}{% endcodeBlock %}
     * @event
     */
    renderingTicks: base.EmitType<SliderTickEventArgs>;
    /**
     * Triggers when the ticks are rendered on the Slider.
     * {% codeBlock src='slider/renderedticksEvent/index.md' %}{% endcodeBlock %}
     * @event
     */
    renderedTicks: base.EmitType<SliderTickRenderedEventArgs>;
    /**
     * Triggers when the Sider tooltip value is changed.
     * {% codeBlock src='slider/tooltipChangeEvent/index.md' %}{% endcodeBlock %}
     * @event
     */
    tooltipChange: base.EmitType<SliderTooltipEventArgs>;
    constructor(options?: SliderModel, element?: string | HTMLElement);
    protected preRender(): void;
    private formChecker;
    private initCultureFunc;
    private initCultureInfo;
    private formatString;
    private formatNumber;
    private numberOfDecimals;
    private makeRoundNumber;
    private fractionalToInteger;
    /**
     * To Initialize the control rendering
     * @private
     */
    render(): void;
    private initialize;
    private setElementWidth;
    private setCSSClass;
    private setEnabled;
    private getTheme;
    /**
     * Initialize the rendering
     * @private
     */
    private initRender;
    private getThemeInitialization;
    private createRangeBar;
    private createLimitBar;
    private setOrientClass;
    private setAriaAttributes;
    private createSecondHandle;
    private createFirstHandle;
    private wireFirstHandleEvt;
    private wireSecondHandleEvt;
    private handleStart;
    private transitionEnd;
    private handleFocusOut;
    private handleFocus;
    private handleOver;
    private handleLeave;
    private setHandler;
    private setEnableRTL;
    private tooltipValue;
    private setTooltipContent;
    private formatContent;
    private addTooltipClass;
    private tooltipPlacement;
    private tooltipBeforeOpen;
    private tooltipCollision;
    private materialTooltipEventCallBack;
    private wireMaterialTooltipEvent;
    private tooltipPositionCalculation;
    private getTooltipTransformProperties;
    private openMaterialTooltip;
    private closeMaterialTooltip;
    private checkTooltipPosition;
    private setTooltipTransform;
    private renderTooltip;
    private initializeTooltipProps;
    private tooltipBeforeClose;
    private setButtons;
    private buttonTitle;
    private buttonFocusOut;
    private repeatButton;
    private repeatHandlerMouse;
    private materialChange;
    private focusHandle;
    private repeatHandlerUp;
    private customTickCounter;
    private renderScale;
    private ticksAlignment;
    private createTick;
    private formatTicksValue;
    private scaleAlignment;
    private tickValuePosition;
    private setAriaAttrValue;
    private handleValueUpdate;
    private getLimitCorrectedValues;
    private focusSliderElement;
    private buttonClick;
    private tooltipToggle;
    private buttonUp;
    private setRangeBar;
    private checkValidValueAndPos;
    private setLimitBarPositions;
    private setLimitBar;
    private getLimitValueAndPosition;
    private setValue;
    private rangeValueUpdate;
    private validateRangeValue;
    private modifyZindex;
    private setHandlePosition;
    private getHandle;
    private setRangeValue;
    private changeEvent;
    private changeEventArgs;
    private setPreviousVal;
    private updateRangeValue;
    private checkHandlePosition;
    private checkHandleValue;
    /**
     * It is used to reposition slider.
     * @returns void
     */
    reposition(): void;
    private changeHandleValue;
    private tempStartEnd;
    private xyToPosition;
    private stepValueCalculation;
    private add;
    private positionToValue;
    private sliderBarClick;
    private handleValueAdjust;
    private dragRangeBarMove;
    private sliderBarUp;
    private sliderBarMove;
    private dragRangeBarUp;
    private checkRepeatedValue;
    private refreshTooltip;
    private openTooltip;
    private closeTooltip;
    private keyDown;
    private wireButtonEvt;
    private rangeBarMousedown;
    private elementClick;
    private wireEvents;
    private unwireEvents;
    private formResetHandler;
    private keyUp;
    private hover;
    private sliderFocusOut;
    private removeElement;
    private changeSliderType;
    private changeRtl;
    private changeOrientation;
    private updateConfig;
    private limitsPropertyChange;
    /**
     * Get the properties to be maintained in the persisted state.
     * @private
     */
    protected getPersistData(): string;
    /**
     * Removes the component from the DOM and detaches all its related event handlers.
     * Also it removes the attributes and classes.
     * @method destroy
     * @return {void}
     */
    destroy(): void;
    /**
     * Calls internally if any of the property value is changed.
     * @private
     */
    onPropertyChanged(newProp: SliderModel, oldProp: SliderModel): void;
    private setReadOnly;
    private setMinMaxValue;
    private setZindex;
    setTooltip(args?: string): void;
    private setBarColor;
    /**
     * Gets the component name
     * @private
     */
    getModuleName(): string;
}
//node_modules/@syncfusion/ej2-inputs/src/textbox/index.d.ts
/**
 * Uploader modules
 */
//node_modules/@syncfusion/ej2-inputs/src/textbox/textbox-model.d.ts
/**
 * Interface for a class TextBox
 */
export interface TextBoxModel extends base.ComponentModel{
    /**
     * Specifies the behavior of the TextBox such as text, password, email, etc.
     *
     * @default 'text'
     */
    type?: string;
    /**
     * Specifies the boolean value whether the TextBox allows user to change the text.
     *
     * @default false
     */
    readonly?: boolean;
    /**
     * Sets the content of the TextBox.
     *
     * @default null
     */
    value?: string;
    /**
     * Specifies the floating label behavior of the TextBox that the placeholder text floats above the TextBox based on the below values.
     * Possible values are:
     * * `Never` - The placeholder text should not be float ever.
     * * `Always` - The placeholder text floats above the TextBox always.
     * * `Auto` - The placeholder text floats above the TextBox while focusing or enter a value in Textbox.
     *
     * @default Never
     */
    floatLabelType?: FloatLabelType;
    /**
     * Specifies the CSS class value that is appended to wrapper of Textbox.
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * Specifies the text that is shown as a hint/placeholder until the user focus or enter a value in Textbox.
     * The property is depending on the floatLabelType property.
     *
     * @default null
     */
    placeholder?: string;
    /**
     * Specifies whether the browser is allow to automatically enter or select a value for the textbox.
     * By default, autocomplete is enabled for textbox.
     * Possible values are:
     * `on` - Specifies that autocomplete is enabled.
     * `off` - Specifies that autocomplete is disabled.
     *
     * @default 'on'
     */
    autocomplete?: string;
    /**
     * You can add the additional html attributes such as disabled, value etc., to the element.
     * If you configured both property and equivalent html attribute then the component considers the property value.
     * {% codeBlock src='textbox/htmlAttributes/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     */
    htmlAttributes?: { [key: string]: string };
    /**
     * Specifies a boolean value that enable or disable the multiline on the TextBox.
     * The TextBox changes from single line to multiline when enable this multiline mode.
     *
     * @default false
     */
    multiline?: boolean;
    /**
     * Specifies a Boolean value that indicates whether the TextBox allow user to interact with it.
     *
     * @default true
     */
    enabled?: boolean;
    /**
     * Specifies a Boolean value that indicates whether the clear button is displayed in Textbox.
     *
     * @default false
     */
    showClearButton?: boolean;
    /**
     * Enable or disable persisting TextBox state between page reloads. If enabled, the `value` state will be persisted.
     *
     * @default false
     */
    enablePersistence?: boolean;
    /**
     * Specifies the width of the Textbox component.
     *
     * @default null
     */
    width?: number | string;
    /**
     * Triggers when the TextBox component is created.
     *
     * @event created
     */
    created?: base.EmitType<Object>;
    /**
     * Triggers when the TextBox component is destroyed.
     *
     * @event destroyed
     */
    destroyed?: base.EmitType<Object>;
    /**
     * Triggers when the content of TextBox has changed and gets focus-out.
     *
     * @event change
     */
    change?: base.EmitType<ChangedEventArgs>;
    /**
     * Triggers when the TextBox has focus-out.
     *
     * @event blur
     */
    blur?: base.EmitType<FocusOutEventArgs>;
    /**
     * Triggers when the TextBox gets focus.
     *
     * @event focus
     */
    focus?: base.EmitType<FocusInEventArgs>;
    /**
     * Triggers each time when the value of TextBox has changed.
     *
     * @event input
     */
    input?: base.EmitType<InputEventArgs>;
}
//node_modules/@syncfusion/ej2-inputs/src/textbox/textbox.d.ts
export interface FocusInEventArgs {
    /** Returns the TextBox container element */
    container?: HTMLElement;
    /** Returns the event parameters from TextBox. */
    event?: Event;
    /** Returns the entered value of the TextBox. */
    value?: string;
}
export interface FocusOutEventArgs {
    /** Returns the TextBox container element */
    container?: HTMLElement;
    /** Returns the event parameters from TextBox. */
    event?: Event;
    /** Returns the entered value of the TextBox. */
    value?: string;
}
export interface ChangedEventArgs extends FocusInEventArgs {
    /** Returns the previously entered value of the TextBox. */
    previousValue?: string;
    /** DEPRECATED-Returns the original event. */
    isInteraction?: boolean;
    /** Returns the original event. */
    isInteracted?: boolean;
}
export interface InputEventArgs extends FocusInEventArgs {
    /** Returns the previously updated value of the TextBox. */
    previousValue?: string;
}
/**
 * Represents the TextBox component that allows the user to enter the values based on it's type.
 * ```html
 * <input name='images' id='textbox'/>
 * ```
 * ```typescript
 * <script>
 *   var textboxObj = new TextBox();
 *   textboxObj.appendTo('#textbox');
 * </script>
 * ```
 */
export  class TextBox extends base.Component<HTMLInputElement | HTMLTextAreaElement> implements base.INotifyPropertyChanged {
    private textboxWrapper;
    private l10n;
    private previousValue;
    private cloneElement;
    private globalize;
    private preventChange;
    private isAngular;
    private isHiddenInput;
    private textarea;
    private respectiveElement;
    private isForm;
    private formElement;
    private initialValue;
    private textboxOptions;
    private inputPreviousValue;
    private isVue;
    /**
     * Specifies the behavior of the TextBox such as text, password, email, etc.
     *
     * @default 'text'
     */
    type: string;
    /**
     * Specifies the boolean value whether the TextBox allows user to change the text.
     *
     * @default false
     */
    readonly: boolean;
    /**
     * Sets the content of the TextBox.
     *
     * @default null
     */
    value: string;
    /**
     * Specifies the floating label behavior of the TextBox that the placeholder text floats above the TextBox based on the below values.
     * Possible values are:
     * * `Never` - The placeholder text should not be float ever.
     * * `Always` - The placeholder text floats above the TextBox always.
     * * `Auto` - The placeholder text floats above the TextBox while focusing or enter a value in Textbox.
     *
     * @default Never
     */
    floatLabelType: FloatLabelType;
    /**
     * Specifies the CSS class value that is appended to wrapper of Textbox.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * Specifies the text that is shown as a hint/placeholder until the user focus or enter a value in Textbox.
     * The property is depending on the floatLabelType property.
     *
     * @default null
     */
    placeholder: string;
    /**
     * Specifies whether the browser is allow to automatically enter or select a value for the textbox.
     * By default, autocomplete is enabled for textbox.
     * Possible values are:
     * `on` - Specifies that autocomplete is enabled.
     * `off` - Specifies that autocomplete is disabled.
     *
     * @default 'on'
     */
    autocomplete: string;
    /**
     * You can add the additional html attributes such as disabled, value etc., to the element.
     * If you configured both property and equivalent html attribute then the component considers the property value.
     * {% codeBlock src='textbox/htmlAttributes/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     */
    htmlAttributes: {
        [key: string]: string;
    };
    /**
     * Specifies a boolean value that enable or disable the multiline on the TextBox.
     * The TextBox changes from single line to multiline when enable this multiline mode.
     *
     * @default false
     */
    multiline: boolean;
    /**
     * Specifies a Boolean value that indicates whether the TextBox allow user to interact with it.
     *
     * @default true
     */
    enabled: boolean;
    /**
     * Specifies a Boolean value that indicates whether the clear button is displayed in Textbox.
     *
     * @default false
     */
    showClearButton: boolean;
    /**
     * Enable or disable persisting TextBox state between page reloads. If enabled, the `value` state will be persisted.
     *
     * @default false
     */
    enablePersistence: boolean;
    /**
     * Specifies the width of the Textbox component.
     *
     * @default null
     */
    width: number | string;
    /**
     * Triggers when the TextBox component is created.
     *
     * @event created
     */
    created: base.EmitType<Object>;
    /**
     * Triggers when the TextBox component is destroyed.
     *
     * @event destroyed
     */
    destroyed: base.EmitType<Object>;
    /**
     * Triggers when the content of TextBox has changed and gets focus-out.
     *
     * @event change
     */
    change: base.EmitType<ChangedEventArgs>;
    /**
     * Triggers when the TextBox has focus-out.
     *
     * @event blur
     */
    blur: base.EmitType<FocusOutEventArgs>;
    /**
     * Triggers when the TextBox gets focus.
     *
     * @event focus
     */
    focus: base.EmitType<FocusInEventArgs>;
    /**
     * Triggers each time when the value of TextBox has changed.
     *
     * @event input
     */
    input: base.EmitType<InputEventArgs>;
    /**
     *
     * @param {TextBoxModel} options - Specifies the TextBox model.
     * @param {string | HTMLInputElement | HTMLTextAreaElement} element - Specifies the element to render as component.
     * @private
     */
    constructor(options?: TextBoxModel, element?: string | HTMLInputElement | HTMLTextAreaElement);
    /**
     * Calls internally if any of the property value is changed.
     *
     * @param {TextBoxModel} newProp - Returns the dynamic property value of the component.
     * @param {TextBoxModel} oldProp - Returns the previous property value of the component.
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: TextBoxModel, oldProp: TextBoxModel): void;
    /**
     * Gets the component name
     *
     * @returns {string} Returns the component name.
     * @private
     */
    getModuleName(): string;
    private isBlank;
    protected preRender(): void;
    private checkAttributes;
    /**
     * To Initialize the control rendering
     *
     * @returns {void}
     * @private
     */
    render(): void;
    private updateHTMLAttrToWrapper;
    private updateHTMLAttrToElement;
    private updateCssClass;
    private getInputValidClassList;
    private setInitialValue;
    private wireEvents;
    private animationHandler;
    private resetValue;
    private resetForm;
    private focusHandler;
    private focusOutHandler;
    private inputHandler;
    private changeHandler;
    private raiseChangeEvent;
    private bindClearEvent;
    private resetInputHandler;
    private unWireEvents;
    /**
     * Removes the component from the DOM and detaches all its related event handlers.
     * Also, it maintains the initial TextBox element from the DOM.
     *
     * @method destroy
     * @returns {void}
     */
    destroy(): void;
    /**
     * Adding the icons to the TextBox component.
     *
     * @param { string } position - Specify the icon placement on the TextBox. Possible values are append and prepend.
     * @param { string | string[] } icons - Icon classes which are need to add to the span element which is going to created.
     * Span element acts as icon or button element for TextBox.
     * @returns {void}
     */
    addIcon(position: string, icons: string | string[]): void;
    /**
     * Gets the properties to be maintained in the persisted state.
     *
     */
    getPersistData(): string;
    /**
     * Adding the multiple attributes as key-value pair to the TextBox element.
     *
     * @param {string} attributes - Specifies the attributes to be add to TextBox element.
     * @returns {void}
     */
    addAttributes(attributes: {
        [key: string]: string;
    }): void;
    /**
     * Removing the multiple attributes as key-value pair to the TextBox element.
     *
     * @param { string[] } attributes - Specifies the attributes name to be removed from TextBox element.
     * @returns {void}
     */
    removeAttributes(attributes: string[]): void;
    /**
     * Sets the focus to widget for interaction.
     *
     * @returns {void}
     */
    focusIn(): void;
    /**
     * Remove the focus from widget, if the widget is in focus state.
     *
     * @returns {void}
     */
    focusOut(): void;
}
//node_modules/@syncfusion/ej2-inputs/src/uploader/index.d.ts
/**
 * Uploader modules
 */
//node_modules/@syncfusion/ej2-inputs/src/uploader/uploader-model.d.ts
/**
 * Interface for a class FilesProp
 */
export interface FilesPropModel {
    /**
     * Specifies the name of the file
     *
     * @default ''
     */
    name?: string;
    /**
     * Specifies the size of the file
     *
     * @default null
     */
    size?: number;
    /**
     * Specifies the type of the file
     *
     * @default ''
     */
    type?: string;
}
/**
 * Interface for a class ButtonsProps
 */
export interface ButtonsPropsModel {
    /**
     * Specifies the text or html content to browse button
     *
     * @default 'Browse...'
     */
    browse?: string | HTMLElement;
    /**
     * Specifies the text or html content to upload button
     *
     * @default 'Upload'
     */
    upload?: string | HTMLElement;
    /**
     * Specifies the text or html content to clear button
     *
     * @default 'Clear'
     */
    clear?: string | HTMLElement;
}
/**
 * Interface for a class AsyncSettings
 */
export interface AsyncSettingsModel {
    /**
     * Specifies the URL of save action that will receive the upload files and save in the server.
     * The save action type must be POST request and define the argument as same input name used to render the component.
     * The upload operations could not perform without this property.
     *
     * @default ''
     */
    saveUrl?: string;
    /**
     * Specifies the URL of base.remove action that receives the file information and handle the base.remove operation in server.
     * The base.remove action type must be POST request and define “removeFileNames” attribute to get file information that will be removed.
     * This property is optional.
     *
     * @default ''
     */
    removeUrl?: string;
    /**
     * Specifies the chunk size to split the large file into chunks, and upload it to the server in a sequential order.
     * If the chunk size property has value, the uploader enables the chunk upload by default.
     * It must be specified in bytes value.
     *
     * > For more information, refer to the [chunk upload](../../uploader/chunk-upload/) section from the documentation.
     *
     * @default 0
     */
    chunkSize?: number;
    /**
     * Specifies the number of retries that the uploader can perform on the file failed to upload.
     * By default, the uploader set 3 as maximum retries. This property must be specified to prevent infinity looping.
     *
     * @default 3
     */
    retryCount?: number;
    /**
     * Specifies the delay time in milliseconds that the automatic retry happens after the delay.
     *
     * @default 500
     */
    retryAfterDelay?: number;
}
/**
 * Interface for a class Uploader
 */
export interface UploaderModel extends base.ComponentModel{
    /**
     * Configures the save and base.remove URL to perform the upload operations in the server asynchronously.
     *
     * @default { saveUrl: '', removeUrl: '' }
     */
    asyncSettings?: AsyncSettingsModel;
    /**
     * By default, the file uploader component is processing the multiple files simultaneously.
     * If sequentialUpload property is enabled, the file upload component performs the upload one after the other.
     *
     * @default false
     */
    sequentialUpload?: boolean;
    /**
     * You can add the additional html attributes such as disabled, value etc., to the element.
     * If you configured both property and equivalent html attribute then the component considers the property value.
     * {% codeBlock src='uploader/htmlAttributes/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     */
    htmlAttributes?: { [key: string]: string };
    /**
     * Specifies the CSS class name that can be appended with root element of the uploader.
     * One or more custom CSS classes can be added to a uploader.
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * Specifies Boolean value that indicates whether the component is enabled or disabled.
     * The uploader component does not allow to interact when this property is disabled.
     *
     * @default true
     */
    enabled?: boolean;
    /**
     * Specifies the HTML string that used to customize the content of each file in the list.
     *
     * > For more information, refer to the [template](../../uploader/template/) section from the documentation.
     *
     * @default null
     */
    template?: string;
    /**
     * Specifies a Boolean value that indicates whether the multiple files can be browsed or
     * dropped simultaneously in the uploader component.
     *
     * @default true
     */
    multiple?: boolean;
    /**
     * By default, the uploader component initiates automatic upload when the files are added in upload queue.
     * If you want to manipulate the files before uploading to server, disable the autoUpload property.
     * The buttons “upload” and “clear” will be hided from file list when autoUpload property is true.
     *
     * @default true
     */
    autoUpload?: boolean;
    /**
     * You can customize the default text of “browse, clear, and upload” buttons with plain text or HTML elements.
     * The buttons’ text can be customized from localization also. If you configured both locale and buttons property,
     * the uploader component considers the buttons property value.
     * {% codeBlock src='uploader/buttons/index.md' %}{% endcodeBlock %}
     *
     * @default { browse : 'Browse...', clear: 'Clear', upload: 'Upload' }
     */
    buttons?: ButtonsPropsModel;
    /**
     * Specifies the extensions of the file types allowed in the uploader component and pass the extensions
     * with comma separators. For example,
     * if you want to upload specific image files,  pass allowedExtensions as “.jpg,.png”.
     *
     * @default ''
     */
    allowedExtensions?: string;
    /**
     * Specifies the minimum file size to be uploaded in bytes.
     * The property used to make sure that you cannot upload empty files and small files.
     *
     * @default 0
     */
    minFileSize?: number;
    /**
     * Specifies the maximum allowed file size to be uploaded in bytes.
     * The property used to make sure that you cannot upload too large files.
     *
     * @default 30000000
     */
    maxFileSize?: number;
    /**
     * Specifies the drop target to handle the drag-and-drop upload.
     * By default, the component creates wrapper around file input that will act as drop target.
     *
     * > For more information, refer to the [drag-and-drop](../../uploader/file-source/#drag-and-drop) section from the documentation.
     *
     * @default null
     */
    dropArea?: string | HTMLElement;
    /**
     * Specifies the list of files that will be preloaded on rendering of uploader component.
     * The property used to view and base.remove the uploaded files from server. By default, the files are configured with
     * uploaded successfully state. The following properties are mandatory to configure the preload files:
     * * Name
     * * Size
     * * Type
     *
     * {% codeBlock src='uploader/files/index.md' %}{% endcodeBlock %}
     *
     * @default { name: '', size: null, type: '' }
     */
    files?: FilesPropModel[];
    /**
     * Specifies a Boolean value that indicates whether the default file list can be rendered.
     * The property used to prevent default file list and design own template for file list.
     *
     * @default true
     */
    showFileList?: boolean;
    /**
     * Specifies a Boolean value that indicates whether the folder of files can be browsed in the uploader component.
     *
     * > When enabled this property, it allows only files of folder to base.select or drop to upload and
     * it cannot be allowed to base.select or drop files.
     *
     * @default false
     */
    directoryUpload?: boolean;
    /**
     * Specifies the drag operation effect to the uploader component. Possible values are Copy , Move, Link and None.
     *
     * By default, the uploader component works based on the browser drag operation effect.
     *
     * @default 'Default'
     */
    dropEffect?: DropEffect;
    /**
     * Triggers when the component is created.
     *
     * @event created
     */
    created?: base.EmitType<Object>;
    /**
     * Triggers after all the selected files has processed to upload successfully or failed to server.
     *
     * @event actionComplete
     */
    actionComplete?: base.EmitType<ActionCompleteEventArgs>;
    /**
     * DEPRECATED-Triggers before rendering each file item from the file list in a page.
     * It helps to customize specific file item structure.
     *
     * @event rendering
     */
    rendering?: base.EmitType<RenderingEventArgs>;
    /**
     * Triggers when the upload process before. This event is used to add additional parameter with upload request.
     *
     * @event beforeUpload
     */
    beforeUpload?: base.EmitType<BeforeUploadEventArgs>;
    /**
     * Triggers before rendering each file item from the file list in a page.
     * It helps to customize specific file item structure.
     *
     * @event fileListRendering
     */
    fileListRendering?: base.EmitType<FileListRenderingEventArgs>;
    /**
     * Triggers after selecting or dropping the files by adding the files in upload queue.
     *
     * @event selected
     */
    selected?: base.EmitType<SelectedEventArgs>;
    /**
     * Triggers when the upload process gets started. This event is used to add additional parameter with upload request.
     *
     * @event uploading
     */
    uploading?: base.EmitType<UploadingEventArgs>;
    /**
     * Triggers when the AJAX request gets success on uploading files or removing files.
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * base.Event arguments<br/></td><td colSpan=1 rowSpan=1>
     * Description<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * event<br/></td><td colSpan=1 rowSpan=1>
     * base.Ajax progress event arguments.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * file<br/></td><td colSpan=1 rowSpan=1>
     * File information which is uploaded/removed.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * name<br/></td><td colSpan=1 rowSpan=1>
     * Name of the event<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * operation<br/></td><td colSpan=1 rowSpan=1>
     * It indicates the success of the operation whether its uploaded or removed<br/></td></tr>
     * </table>
     *
     * @event success
     */
    success?: base.EmitType<Object>;
    /**
     * Triggers when the AJAX request fails on uploading or removing files.
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * base.Event arguments<br/></td><td colSpan=1 rowSpan=1>
     * Description<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * event<br/></td><td colSpan=1 rowSpan=1>
     * base.Ajax progress event arguments.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * file<br/></td><td colSpan=1 rowSpan=1>
     * File information which is failed from upload/base.remove.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * name<br/></td><td colSpan=1 rowSpan=1>
     * Name of the event<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * operation<br/></td><td colSpan=1 rowSpan=1>
     * It indicates the failure of the operation whether its upload or base.remove<br/></td></tr>
     * </table>
     *
     * @event failure
     */
    failure?: base.EmitType<Object>;
    /**
     * Triggers on removing the uploaded file. The event used to get confirm before removing the file from server.
     *
     * @event removing
     */
    removing?: base.EmitType<RemovingEventArgs>;
    /**
     * Triggers on base.remove the uploaded file. The event used to get confirm before base.remove the file from server.
     *
     * @event beforeRemove
     */
    beforeRemove?: base.EmitType<BeforeRemoveEventArgs>;
    /**
     * Triggers before clearing the items in file list when clicking “clear”.
     *
     * @event clearing
     */
    clearing?: base.EmitType<ClearingEventArgs>;
    /**
     * Triggers when uploading a file to the server using the AJAX request.
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * base.Event arguments<br/></td><td colSpan=1 rowSpan=1>
     * Description<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * event<br/></td><td colSpan=1 rowSpan=1>
     * base.Ajax progress event arguments.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * file<br/></td><td colSpan=1 rowSpan=1>
     * File information which is uploading to server.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * name<br/></td><td colSpan=1 rowSpan=1>
     * Name of the event<br/></td></tr>
     * </table>
     *
     * @event progress
     */
    progress?: base.EmitType<Object>;
    /**
     * Triggers when changes occur in uploaded file list by selecting or dropping files.
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * base.Event arguments<br/></td><td colSpan=1 rowSpan=1>
     * Description<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * file<br/></td><td colSpan=1 rowSpan=1>
     * File information which is successfully uploaded to server or removed in server.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * name<br/></td><td colSpan=1 rowSpan=1>
     * Name of the event<br/></td></tr>
     * </table>
     *
     * @event change
     */
    change?: base.EmitType<Object>;
    /**
     * Fires when the chunk file uploaded successfully.
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * base.Event arguments<br/></td><td colSpan=1 rowSpan=1>
     * Description<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * chunkIndex<br/></td><td colSpan=1 rowSpan=1>
     * Returns current chunk index.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * chunkSize<br/></td><td colSpan=1 rowSpan=1>
     * Returns the size of the chunk file.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * file<br/></td><td colSpan=1 rowSpan=1>
     * File information which is uploading to server.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * name<br/></td><td colSpan=1 rowSpan=1>
     * Name of the event<br/></td></tr>
     * </table>
     *
     * @event chunkSuccess
     */
    chunkSuccess?: base.EmitType<Object>;
    /**
     * Fires if the chunk file failed to upload.
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * base.Event arguments<br/></td><td colSpan=1 rowSpan=1>
     * Description<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * chunkIndex<br/></td><td colSpan=1 rowSpan=1>
     * Returns current chunk index.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * chunkSize<br/></td><td colSpan=1 rowSpan=1>
     * Returns the size of the chunk file.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * file<br/></td><td colSpan=1 rowSpan=1>
     * File information which is uploading to server.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * name<br/></td><td colSpan=1 rowSpan=1>
     * Name of the event<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * totalChunk<br/></td><td colSpan=1 rowSpan=1>
     * Returns the total chunk count<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * cancel<br/></td><td colSpan=1 rowSpan=1>
     * Prevent triggering of failure event when we pass true to this attribute<br/></td></tr>
     * </table>
     *
     * @event chunkFailure
     */
    chunkFailure?: base.EmitType<Object>;
    /**
     * Fires when every chunk upload process gets started. This event is used to add additional parameter with upload request.
     *
     * @event chunkUploading
     */
    chunkUploading?: base.EmitType<UploadingEventArgs>;
    /**
     * Fires if cancel the chunk file uploading.
     *
     * @event canceling
     */
    canceling?: base.EmitType<CancelEventArgs>;
    /**
     * Fires if pause the chunk file uploading.
     *
     * @event pausing
     */
    pausing?: base.EmitType<PauseResumeEventArgs>;
    /**
     * Fires if resume the paused chunk file upload.
     *
     * @event resuming
     */
    resuming?: base.EmitType<PauseResumeEventArgs>;
}
//node_modules/@syncfusion/ej2-inputs/src/uploader/uploader.d.ts
export  type DropEffect = 'Copy' | 'Move' | 'Link' | 'None' | 'Default';
export  class FilesProp extends base.ChildProperty<FilesProp> {
    /**
     * Specifies the name of the file
     *
     * @default ''
     */
    name: string;
    /**
     * Specifies the size of the file
     *
     * @default null
     */
    size: number;
    /**
     * Specifies the type of the file
     *
     * @default ''
     */
    type: string;
}
export  class ButtonsProps extends base.ChildProperty<ButtonsProps> {
    /**
     * Specifies the text or html content to browse button
     *
     * @default 'Browse...'
     */
    browse: string | HTMLElement;
    /**
     * Specifies the text or html content to upload button
     *
     * @default 'Upload'
     */
    upload: string | HTMLElement;
    /**
     * Specifies the text or html content to clear button
     *
     * @default 'Clear'
     */
    clear: string | HTMLElement;
}
export  class AsyncSettings extends base.ChildProperty<AsyncSettings> {
    /**
     * Specifies the URL of save action that will receive the upload files and save in the server.
     * The save action type must be POST request and define the argument as same input name used to render the component.
     * The upload operations could not perform without this property.
     *
     * @default ''
     */
    saveUrl: string;
    /**
     * Specifies the URL of remove action that receives the file information and handle the remove operation in server.
     * The remove action type must be POST request and define “removeFileNames” attribute to get file information that will be removed.
     * This property is optional.
     *
     * @default ''
     */
    removeUrl: string;
    /**
     * Specifies the chunk size to split the large file into chunks, and upload it to the server in a sequential order.
     * If the chunk size property has value, the uploader enables the chunk upload by default.
     * It must be specified in bytes value.
     *
     * > For more information, refer to the [chunk upload](../../uploader/chunk-upload/) section from the documentation.
     *
     * @default 0
     */
    chunkSize: number;
    /**
     * Specifies the number of retries that the uploader can perform on the file failed to upload.
     * By default, the uploader set 3 as maximum retries. This property must be specified to prevent infinity looping.
     *
     * @default 3
     */
    retryCount: number;
    /**
     * Specifies the delay time in milliseconds that the automatic retry happens after the delay.
     *
     * @default 500
     */
    retryAfterDelay: number;
}
export interface FileInfo {
    /**
     * Returns the upload file name.
     */
    name: string;
    /**
     * Returns the details about upload file.
     *
     */
    rawFile: string | Blob;
    /**
     * Returns the size of file in bytes.
     */
    size: number;
    /**
     * Returns the status of the file.
     */
    status: string;
    /**
     * Returns the MIME type of file as a string. Returns empty string if the file’s type is not determined.
     */
    type: string;
    /**
     * Returns the list of validation errors (if any).
     */
    validationMessages: ValidationMessages;
    /**
     * Returns the current state of the file such as Failed, Canceled, Selected, Uploaded, or Uploading.
     */
    statusCode: string;
    /**
     * Returns where the file selected from, to upload.
     */
    fileSource?: string;
    /**
     * Returns the respective file list item.
     */
    list?: HTMLElement;
    /**
     * Returns the input element mapped with file list item.
     */
    input?: HTMLInputElement;
    /**
     * Returns the unique upload file name ID.
     */
    id?: string;
}
export interface MetaData {
    chunkIndex: number;
    blob: Blob | string;
    file: FileInfo;
    start: number;
    end: number;
    retryCount: number;
    request: base.Ajax;
}
export interface ValidationMessages {
    /**
     * Returns the minimum file size validation message, if selected file size is less than specified minFileSize property.
     */
    minSize?: string;
    /**
     * Returns the maximum file size validation message, if selected file size is less than specified maxFileSize property.
     */
    maxSize?: string;
}
export interface SelectedEventArgs {
    /**
     * Returns the original event arguments.
     */
    event: MouseEvent | TouchEvent | DragEvent | ClipboardEvent;
    /**
     * Defines whether the current action can be prevented.
     */
    cancel: boolean;
    /**
     * Returns the list of selected files.
     */
    filesData: FileInfo[];
    /**
     * Determines whether the file list generates based on the modified data.
     */
    isModified: boolean;
    /**
     * Specifies the modified files data to generate the file items. The argument depends on `isModified` argument.
     */
    modifiedFilesData: FileInfo[];
    /**
     * Specifies the step value to the progress bar.
     */
    progressInterval: string;
    /**
     * Specifies whether the file selection has been canceled
     */
    isCanceled?: boolean;
    /**
     * Set the current request header to the XMLHttpRequest instance.
     *
     */
    currentRequest?: {
        [key: string]: string;
    }[];
    /**
     * Defines the additional data in key and value pair format that will be submitted to the upload action.
     */
    customFormData: {
        [key: string]: Object;
    }[];
}
export interface BeforeRemoveEventArgs {
    /**
     * Defines whether the current action can be prevented.
     */
    cancel: boolean;
    /**
     * Defines the additional data with key and value pair format that will be submitted to the remove action.
     *
     */
    customFormData: {
        [key: string]: Object;
    }[];
    /**
     * Returns the XMLHttpRequest instance that is associated with remove action.
     *
     */
    currentRequest?: {
        [key: string]: string;
    }[];
}
export interface RemovingEventArgs {
    /**
     * Defines whether the current action can be prevented.
     */
    cancel: boolean;
    /**
     * Defines the additional data with key and value pair format that will be submitted to the remove action.
     *
     */
    customFormData: {
        [key: string]: Object;
    }[];
    /**
     * Returns the original event arguments.
     */
    event: MouseEvent | TouchEvent | base.KeyboardEventArgs;
    /**
     * Returns the list of files’ details that will be removed.
     */
    filesData: FileInfo[];
    /**
     * Returns the XMLHttpRequest instance that is associated with remove action.
     *
     */
    currentRequest?: XMLHttpRequest;
    /**
     * Defines whether the selected raw file send to server remove action.
     * Set true to send raw file.
     * Set false to send file name only.
     */
    postRawFile?: boolean;
}
export interface ClearingEventArgs {
    /**
     * Defines whether the current action can be prevented.
     */
    cancel: boolean;
    /**
     * Returns the list of files that will be cleared from the FileList.
     */
    filesData: FileInfo[];
}
export interface BeforeUploadEventArgs {
    /**
     * Defines whether the current action can be prevented.
     */
    cancel: boolean;
    /**
     * Defines the additional data in key and value pair format that will be submitted to the upload action.
     *
     */
    customFormData: {
        [key: string]: Object;
    }[];
    /**
     * Returns the XMLHttpRequest instance that is associated with upload action.
     *
     */
    currentRequest?: {
        [key: string]: string;
    }[];
}
export interface UploadingEventArgs {
    /**
     * Returns the list of files that will be uploaded.
     */
    fileData: FileInfo;
    /**
     * Defines the additional data in key and value pair format that will be submitted to the upload action.
     *
     * @deprecated
     */
    customFormData: {
        [key: string]: Object;
    }[];
    /**
     * Defines whether the current action can be prevented.
     */
    cancel: boolean;
    /**
     * Returns the chunk size in bytes if the chunk upload is enabled.
     */
    chunkSize?: number;
    /**
     * Returns the index of current chunk if the chunk upload is enabled.
     */
    currentChunkIndex?: number;
    /**
     * Returns the XMLHttpRequest instance that is associated with upload action.
     *
     * @deprecated
     */
    currentRequest?: XMLHttpRequest;
}
export interface ProgressEventArgs {
    /**
     * Returns the original event arguments.
     */
    e?: object;
    /**
     * Returns the details about upload file.
     */
    file?: FileInfo;
    /**
     * Returns the upload event operation.
     */
    operation?: string;
}
export interface UploadChangeEventArgs {
    /**
     * Returns the list of files that will be cleared from the FileList.
     *
     */
    files?: FileInfo[];
}
export interface FailureEventArgs extends SuccessEventArgs {
}
export interface SuccessEventArgs {
    /**
     * Returns the original event arguments.
     */
    e?: object;
    /**
     * Returns the details about upload file.
     */
    file?: FileInfo;
    /**
     * Returns the upload status.
     */
    statusText?: string;
    /**
     * Returns the upload event operation.
     */
    operation: string;
    /**
     * Returns the upload event operation.
     */
    response?: ResponseEventArgs;
    /**
     * Returns the upload chunk index.
     */
    chunkIndex?: number;
    /**
     * Returns the upload chunk size.
     */
    chunkSize?: number;
    /**
     * Returns the total chunk size.
     */
    totalChunk?: number;
    /**
     * Returns the original event arguments.
     */
    event?: object;
}
export interface ResponseEventArgs {
    headers?: string;
    readyState?: object;
    statusCode?: object;
    statusText?: string;
    withCredentials?: boolean;
}
export interface CancelEventArgs {
    /**
     * Defines whether the current action can be prevented.
     */
    cancel: boolean;
    /**
     * Returns the original event arguments.
     */
    event: ProgressEventInit;
    /**
     * Returns the file details that will be canceled.
     */
    fileData: FileInfo;
    /**
     * Defines the additional data in key and value pair format that will be submitted when the upload action is canceled.
     *
     */
    customFormData: {
        [key: string]: Object;
    }[];
}
export interface PauseResumeEventArgs {
    /**
     * Returns the original event arguments.
     */
    event: Event;
    /**
     * Returns the file data that is Paused or Resumed.
     */
    file: FileInfo;
    /**
     * Returns the total number of chunks.
     */
    chunkCount: number;
    /**
     * Returns the index of chunk that is Paused or Resumed.
     */
    chunkIndex: number;
    /**
     * Returns the chunk size value in bytes.
     */
    chunkSize: number;
}
export interface ActionCompleteEventArgs {
    /**
     * Return the selected file details.
     */
    fileData: FileInfo[];
}
export interface RenderingEventArgs {
    /**
     * Return the current file item element.
     */
    element: HTMLElement;
    /**
     * Return the current rendering file item data as File object.
     */
    fileInfo: FileInfo;
    /**
     * Return the index of the file item in the file list.
     */
    index: number;
    /**
     * Return whether the file is preloaded
     */
    isPreload: boolean;
}
export interface FileListRenderingEventArgs {
    /**
     * Return the current file item element.
     */
    element: HTMLElement;
    /**
     * Return the current rendering file item data as File object.
     */
    fileInfo: FileInfo;
    /**
     * Return the index of the file item in the file list.
     */
    index: number;
    /**
     * Return whether the file is preloaded
     */
    isPreload: boolean;
}
/**
 * The uploader component allows to upload images, documents, and other files from local to server.
 * ```html
 * <input type='file' name='images[]' id='upload'/>
 * ```
 * ```typescript
 * <script>
 *   var uploadObj = new Uploader();
 *   uploadObj.appendTo('#upload');
 * </script>
 * ```
 */
export  class Uploader extends base.Component<HTMLInputElement> implements base.INotifyPropertyChanged {
    private initialAttr;
    private uploadWrapper;
    private browseButton;
    private listParent;
    private sortFilesList;
    private actionButtons;
    private uploadButton;
    private clearButton;
    private pauseButton;
    private formElement;
    private dropAreaWrapper;
    private filesEntries;
    private uploadedFilesData;
    private base64String;
    private currentRequestHeader;
    private customFormDatas;
    private dropZoneElement;
    private l10n;
    private preLocaleObj;
    private uploadTemplateFn;
    private keyboardModule;
    private progressInterval;
    private progressAnimation;
    private isForm;
    private allTypes;
    private keyConfigs;
    private localeText;
    private pausedData;
    private uploadMetaData;
    private tabIndex;
    private btnTabIndex;
    private disableKeyboardNavigation;
    private count;
    private actionCompleteCount;
    private flag;
    private selectedFiles;
    private browserName;
    private uploaderOptions;
    private uploaderName;
    private fileStreams;
    private newFileRef;
    private isFirstFileOnSelection;
    private dragCounter;
    private isPreloadFiles;
    private isAngular;
    /**
     * Get the file item(li) which are shown in file list.
     *
     * @private
     */
    fileList: HTMLElement[];
    /**
     * Get the data of files which are shown in file list.
     *
     * @private
     */
    filesData: FileInfo[];
    /**
     * Configures the save and remove URL to perform the upload operations in the server asynchronously.
     *
     * @default { saveUrl: '', removeUrl: '' }
     */
    asyncSettings: AsyncSettingsModel;
    /**
     * By default, the file uploader component is processing the multiple files simultaneously.
     * If sequentialUpload property is enabled, the file upload component performs the upload one after the other.
     *
     * @default false
     */
    sequentialUpload: boolean;
    /**
     * You can add the additional html attributes such as disabled, value etc., to the element.
     * If you configured both property and equivalent html attribute then the component considers the property value.
     * {% codeBlock src='uploader/htmlAttributes/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     */
    htmlAttributes: {
        [key: string]: string;
    };
    /**
     * Specifies the CSS class name that can be appended with root element of the uploader.
     * One or more custom CSS classes can be added to a uploader.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * Specifies Boolean value that indicates whether the component is enabled or disabled.
     * The uploader component does not allow to interact when this property is disabled.
     *
     * @default true
     */
    enabled: boolean;
    /**
     * Specifies the HTML string that used to customize the content of each file in the list.
     *
     * > For more information, refer to the [template](../../uploader/template/) section from the documentation.
     *
     * @default null
     */
    template: string;
    /**
     * Specifies a Boolean value that indicates whether the multiple files can be browsed or
     * dropped simultaneously in the uploader component.
     *
     * @default true
     */
    multiple: boolean;
    /**
     * By default, the uploader component initiates automatic upload when the files are added in upload queue.
     * If you want to manipulate the files before uploading to server, disable the autoUpload property.
     * The buttons “upload” and “clear” will be hided from file list when autoUpload property is true.
     *
     * @default true
     */
    autoUpload: boolean;
    /**
     * You can customize the default text of “browse, clear, and upload” buttons with plain text or HTML elements.
     * The buttons’ text can be customized from localization also. If you configured both locale and buttons property,
     * the uploader component considers the buttons property value.
     * {% codeBlock src='uploader/buttons/index.md' %}{% endcodeBlock %}
     *
     * @default { browse : 'Browse...', clear: 'Clear', upload: 'Upload' }
     */
    buttons: ButtonsPropsModel;
    /**
     * Specifies the extensions of the file types allowed in the uploader component and pass the extensions
     * with comma separators. For example,
     * if you want to upload specific image files,  pass allowedExtensions as “.jpg,.png”.
     *
     * @default ''
     */
    allowedExtensions: string;
    /**
     * Specifies the minimum file size to be uploaded in bytes.
     * The property used to make sure that you cannot upload empty files and small files.
     *
     * @default 0
     */
    minFileSize: number;
    /**
     * Specifies the maximum allowed file size to be uploaded in bytes.
     * The property used to make sure that you cannot upload too large files.
     *
     * @default 30000000
     */
    maxFileSize: number;
    /**
     * Specifies the drop target to handle the drag-and-drop upload.
     * By default, the component creates wrapper around file input that will act as drop target.
     *
     * > For more information, refer to the [drag-and-drop](../../uploader/file-source/#drag-and-drop) section from the documentation.
     *
     * @default null
     */
    dropArea: string | HTMLElement;
    /**
     * Specifies the list of files that will be preloaded on rendering of uploader component.
     * The property used to view and remove the uploaded files from server. By default, the files are configured with
     * uploaded successfully state. The following properties are mandatory to configure the preload files:
     * * Name
     * * Size
     * * Type
     *
     * {% codeBlock src='uploader/files/index.md' %}{% endcodeBlock %}
     *
     * @default { name: '', size: null, type: '' }
     */
    files: FilesPropModel[];
    /**
     * Specifies a Boolean value that indicates whether the default file list can be rendered.
     * The property used to prevent default file list and design own template for file list.
     *
     * @default true
     */
    showFileList: boolean;
    /**
     * Specifies a Boolean value that indicates whether the folder of files can be browsed in the uploader component.
     *
     * > When enabled this property, it allows only files of folder to select or drop to upload and
     * it cannot be allowed to select or drop files.
     *
     * @default false
     */
    directoryUpload: boolean;
    /**
     * Specifies the drag operation effect to the uploader component. Possible values are Copy , Move, Link and None.
     *
     * By default, the uploader component works based on the browser drag operation effect.
     *
     * @default 'Default'
     */
    dropEffect: DropEffect;
    /**
     * Triggers when the component is created.
     *
     * @event created
     */
    created: base.EmitType<Object>;
    /**
     * Triggers after all the selected files has processed to upload successfully or failed to server.
     *
     * @event actionComplete
     */
    actionComplete: base.EmitType<ActionCompleteEventArgs>;
    /**
     * DEPRECATED-Triggers before rendering each file item from the file list in a page.
     * It helps to customize specific file item structure.
     *
     * @event rendering
     */
    rendering: base.EmitType<RenderingEventArgs>;
    /**
     * Triggers when the upload process before. This event is used to add additional parameter with upload request.
     *
     * @event beforeUpload
     */
    beforeUpload: base.EmitType<BeforeUploadEventArgs>;
    /**
     * Triggers before rendering each file item from the file list in a page.
     * It helps to customize specific file item structure.
     *
     * @event fileListRendering
     */
    fileListRendering: base.EmitType<FileListRenderingEventArgs>;
    /**
     * Triggers after selecting or dropping the files by adding the files in upload queue.
     *
     * @event selected
     */
    selected: base.EmitType<SelectedEventArgs>;
    /**
     * Triggers when the upload process gets started. This event is used to add additional parameter with upload request.
     *
     * @event uploading
     */
    uploading: base.EmitType<UploadingEventArgs>;
    /**
     * Triggers when the AJAX request gets success on uploading files or removing files.
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Event arguments<br/></td><td colSpan=1 rowSpan=1>
     * Description<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * event<br/></td><td colSpan=1 rowSpan=1>
     * base.Ajax progress event arguments.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * file<br/></td><td colSpan=1 rowSpan=1>
     * File information which is uploaded/removed.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * name<br/></td><td colSpan=1 rowSpan=1>
     * Name of the event<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * operation<br/></td><td colSpan=1 rowSpan=1>
     * It indicates the success of the operation whether its uploaded or removed<br/></td></tr>
     * </table>
     *
     * @event success
     */
    success: base.EmitType<Object>;
    /**
     * Triggers when the AJAX request fails on uploading or removing files.
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Event arguments<br/></td><td colSpan=1 rowSpan=1>
     * Description<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * event<br/></td><td colSpan=1 rowSpan=1>
     * base.Ajax progress event arguments.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * file<br/></td><td colSpan=1 rowSpan=1>
     * File information which is failed from upload/remove.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * name<br/></td><td colSpan=1 rowSpan=1>
     * Name of the event<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * operation<br/></td><td colSpan=1 rowSpan=1>
     * It indicates the failure of the operation whether its upload or remove<br/></td></tr>
     * </table>
     *
     * @event failure
     */
    failure: base.EmitType<Object>;
    /**
     * Triggers on removing the uploaded file. The event used to get confirm before removing the file from server.
     *
     * @event removing
     */
    removing: base.EmitType<RemovingEventArgs>;
    /**
     * Triggers on remove the uploaded file. The event used to get confirm before remove the file from server.
     *
     * @event beforeRemove
     */
    beforeRemove: base.EmitType<BeforeRemoveEventArgs>;
    /**
     * Triggers before clearing the items in file list when clicking “clear”.
     *
     * @event clearing
     */
    clearing: base.EmitType<ClearingEventArgs>;
    /**
     * Triggers when uploading a file to the server using the AJAX request.
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Event arguments<br/></td><td colSpan=1 rowSpan=1>
     * Description<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * event<br/></td><td colSpan=1 rowSpan=1>
     * base.Ajax progress event arguments.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * file<br/></td><td colSpan=1 rowSpan=1>
     * File information which is uploading to server.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * name<br/></td><td colSpan=1 rowSpan=1>
     * Name of the event<br/></td></tr>
     * </table>
     *
     * @event progress
     */
    progress: base.EmitType<Object>;
    /**
     * Triggers when changes occur in uploaded file list by selecting or dropping files.
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Event arguments<br/></td><td colSpan=1 rowSpan=1>
     * Description<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * file<br/></td><td colSpan=1 rowSpan=1>
     * File information which is successfully uploaded to server or removed in server.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * name<br/></td><td colSpan=1 rowSpan=1>
     * Name of the event<br/></td></tr>
     * </table>
     *
     * @event change
     */
    change: base.EmitType<Object>;
    /**
     * Fires when the chunk file uploaded successfully.
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Event arguments<br/></td><td colSpan=1 rowSpan=1>
     * Description<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * chunkIndex<br/></td><td colSpan=1 rowSpan=1>
     * Returns current chunk index.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * chunkSize<br/></td><td colSpan=1 rowSpan=1>
     * Returns the size of the chunk file.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * file<br/></td><td colSpan=1 rowSpan=1>
     * File information which is uploading to server.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * name<br/></td><td colSpan=1 rowSpan=1>
     * Name of the event<br/></td></tr>
     * </table>
     *
     * @event chunkSuccess
     */
    chunkSuccess: base.EmitType<Object>;
    /**
     * Fires if the chunk file failed to upload.
     *
     * <table>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * Event arguments<br/></td><td colSpan=1 rowSpan=1>
     * Description<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * chunkIndex<br/></td><td colSpan=1 rowSpan=1>
     * Returns current chunk index.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * chunkSize<br/></td><td colSpan=1 rowSpan=1>
     * Returns the size of the chunk file.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * file<br/></td><td colSpan=1 rowSpan=1>
     * File information which is uploading to server.<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * name<br/></td><td colSpan=1 rowSpan=1>
     * Name of the event<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * totalChunk<br/></td><td colSpan=1 rowSpan=1>
     * Returns the total chunk count<br/></td></tr>
     * <tr>
     * <td colSpan=1 rowSpan=1>
     * cancel<br/></td><td colSpan=1 rowSpan=1>
     * Prevent triggering of failure event when we pass true to this attribute<br/></td></tr>
     * </table>
     *
     * @event chunkFailure
     */
    chunkFailure: base.EmitType<Object>;
    /**
     * Fires when every chunk upload process gets started. This event is used to add additional parameter with upload request.
     *
     * @event chunkUploading
     */
    chunkUploading: base.EmitType<UploadingEventArgs>;
    /**
     * Fires if cancel the chunk file uploading.
     *
     * @event canceling
     */
    canceling: base.EmitType<CancelEventArgs>;
    /**
     * Fires if pause the chunk file uploading.
     *
     * @event pausing
     */
    pausing: base.EmitType<PauseResumeEventArgs>;
    /**
     * Fires if resume the paused chunk file upload.
     *
     * @event resuming
     */
    resuming: base.EmitType<PauseResumeEventArgs>;
    /**
     * Triggers when change the Uploader value.
     *
     * @param {UploaderModel} options - Specifies the Uploader model.
     * @param {string | HTMLInputElement} element - Specifies the element to render as component.
     * @private
     */
    constructor(options?: UploaderModel, element?: string | HTMLInputElement);
    /**
     * Calls internally if any of the property value is changed.
     *
     * @param {UploaderModel} newProp - Returns the dynamic property value of the component.
     * @param {UploaderModel} oldProp - Returns the previous property value of the component.
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: UploaderModel, oldProp: UploaderModel): void;
    private setLocalizedTexts;
    private getKeyValue;
    private updateFileList;
    private reRenderFileList;
    protected preRender(): void;
    private formRendered;
    protected getPersistData(): string;
    /**
     * Return the module name of the component.
     *
     * @returns {string} Returns the component name.
     */
    getModuleName(): string;
    private updateDirectoryAttributes;
    /**
     * To Initialize the control rendering
     *
     * @private
     * @returns {void}
     */
    render(): void;
    private renderBrowseButton;
    private renderActionButtons;
    private serverActionButtonsEventBind;
    private wireActionButtonEvents;
    private unwireActionButtonEvents;
    private removeActionButtons;
    private renderButtonTemplates;
    private initializeUpload;
    private renderPreLoadFiles;
    private checkActionButtonStatus;
    private setDropArea;
    private updateDropArea;
    private createDropTextHint;
    private updateHTMLAttrToElement;
    private updateHTMLAttrToWrapper;
    private setMultipleSelection;
    private checkAutoUpload;
    private sequenceUpload;
    private setCSSClass;
    private wireEvents;
    private unWireEvents;
    private resetForm;
    private keyActionHandler;
    private getCurrentMetaData;
    private removeFocus;
    private browseButtonClick;
    private uploadButtonClick;
    private clearButtonClick;
    private bindDropEvents;
    private unBindDropEvents;
    private onDragEnter;
    private onDragLeave;
    private dragHover;
    private dropElement;
    private onPasteFile;
    private getSelectedFiles;
    private removeFiles;
    private removeFilesData;
    private removeUploadedFile;
    private removingEventCallback;
    private updateFormData;
    private updateCustomheader;
    private removeCompleted;
    private removeFailed;
    private getFilesFromFolder;
    private checkDirectoryUpload;
    traverseFileTree(item: any, event?: MouseEvent | TouchEvent | DragEvent | ClipboardEvent): void;
    private readFileFromDirectory;
    private pushFilesEntries;
    private onSelectFiles;
    private getBase64;
    private renderSelectedFiles;
    private updateInitialFileDetails;
    private _internalRenderSelect;
    private allowUpload;
    private isFormUpload;
    private clearData;
    private updateSortedFileList;
    private isBlank;
    private checkExtension;
    private validatedFileSize;
    private isPreLoadFile;
    private createCustomfileList;
    private createParentUL;
    private formFileList;
    private formValidateFileInfo;
    private addInvalidClass;
    private createFormInput;
    private getFileSize;
    private mergeFileInfo;
    private statusForFormUpload;
    private formCustomFileList;
    /**
     * Create the file list for specified files data.
     *
     * @param { FileInfo[] } fileData - Specifies the files data for file list creation.
     * @returns {void}
     */
    createFileList(fileData: FileInfo[], isSelectedFile?: boolean): void;
    private getSlicedName;
    private setListToFileInfo;
    private truncateName;
    private getFileType;
    private getFileNameOnly;
    private setInitialAttributes;
    private filterfileList;
    private updateStatus;
    private getLiElement;
    private createProgressBar;
    private updateProgressbar;
    private changeProgressValue;
    private uploadInProgress;
    private cancelUploadingFile;
    private removecanceledFile;
    private renderFailureState;
    private reloadcanceledFile;
    private uploadComplete;
    private getResponse;
    private raiseSuccessEvent;
    private uploadFailed;
    private uploadSequential;
    private checkActionComplete;
    private raiseActionComplete;
    private getSelectedFileStatus;
    private updateProgressBarClasses;
    private removeProgressbar;
    private animateProgressBar;
    private setExtensions;
    private templateComplier;
    private setRTL;
    private localizedTexts;
    private setControlStatus;
    private checkHTMLAttributes;
    private chunkUpload;
    private sendRequest;
    private uploadingEventCallback;
    private eventCancelByArgs;
    private checkChunkUpload;
    private chunkUploadComplete;
    private sendNextRequest;
    private removeChunkFile;
    private pauseUpload;
    private abortUpload;
    private resumeUpload;
    private updateMetaData;
    private removeChunkProgressBar;
    private chunkUploadFailed;
    private retryRequest;
    private checkPausePlayAction;
    private retryUpload;
    private chunkUploadInProgress;
    /**
     * It is used to convert bytes value into kilobytes or megabytes depending on the size based
     * on [binary prefix](https://en.wikipedia.org/wiki/Binary_prefix).
     *
     * @param { number } bytes - Specifies the file size in bytes.
     * @returns {string}
     */
    bytesToSize(bytes: number): string;
    /**
     * Allows you to sort the file data alphabetically based on its file name clearly.
     *
     * @param { FileList } filesData - specifies the files data for upload.
     * @returns {File[]}
     */
    sortFileList(filesData?: FileList): File[];
    /**
     * Removes the component from the DOM and detaches all its related event handlers. Also it removes the attributes and classes.
     *
     * @method destroy
     * @returns {void}
     */
    destroy(): void;
    /**
     * Allows you to call the upload process manually by calling save URL action.
     * To process the selected files (added in upload queue), pass an empty argument otherwise
     * upload the specific file based on its argument.
     *
     * @param { FileInfo | FileInfo[] } files - Specifies the files data for upload.
     * @param {boolean} custom - Specifies whether the uploader is rendered with custom file list.
     * @returns {void}
     */
    upload(files?: FileInfo | FileInfo[], custom?: boolean): void;
    private getFilesInArray;
    private serverReadFileBase64;
    private uploadFileCount;
    private getFileRead;
    private getFileInfo;
    private uploadFiles;
    private uploadFilesRequest;
    private spliceFiles;
    /**
     * Remove the uploaded file from server manually by calling the remove URL action.
     * If you pass an empty argument to this method, the complete file list can be cleared,
     * otherwise remove the specific file based on its argument (“file_data”).
     *
     * @param { FileInfo | FileInfo[] } fileData - specifies the files data to remove from file list/server.
     * @param { boolean } customTemplate - Set true if the component rendering with customize template.
     * @param { boolean } removeDirectly - Set true if files remove without removing event.
     * @param { boolean } postRawFile - Set false, to post file name only to the remove action.
     * @returns {void}
     */
    remove(fileData?: FileInfo | FileInfo[], customTemplate?: boolean, removeDirectly?: boolean, postRawFile?: boolean, args?: MouseEvent | TouchEvent | base.KeyboardEventArgs): void;
    /**
     * Clear all the file entries from list that can be uploaded files or added in upload queue.
     *
     * @returns {void}
     */
    clearAll(): void;
    /**
     * Get the data of files which are shown in file list.
     *
     * @param { number } index - specifies the file list item(li) index.
     * @returns {FileInfo[]}
     */
    getFilesData(index?: number): FileInfo[];
    /**
     * Pauses the in-progress chunked upload based on the file data.
     *
     * @param { FileInfo | FileInfo[] } fileData - specifies the files data to pause from uploading.
     * @param { boolean } custom - Set true if used custom UI.
     * @returns {void}
     */
    pause(fileData?: FileInfo | FileInfo[], custom?: boolean): void;
    private pauseUploading;
    private getFiles;
    /**
     * Resumes the chunked upload that is previously paused based on the file data.
     *
     * @param { FileInfo | FileInfo[] } fileData - specifies the files data to resume the paused file.
     * @param { boolean } custom - Set true if used custom UI.
     * @returns {void}
     */
    resume(fileData?: FileInfo | FileInfo[], custom?: boolean): void;
    private resumeFiles;
    /**
     * Retries the canceled or failed file upload based on the file data.
     *
     * @param { FileInfo | FileInfo[] } fileData - specifies the files data to retry the canceled or failed file.
     * @param { boolean } fromcanceledStage - Set true to retry from canceled stage and set false to retry from initial stage.
     * @param {boolean} custom -Specifies whether the uploader is rendered with custom file list.
     * @returns {void}
     */
    retry(fileData?: FileInfo | FileInfo[], fromcanceledStage?: boolean, custom?: boolean): void;
    private retryFailedFiles;
    /**
     * Stops the in-progress chunked upload based on the file data.
     * When the file upload is canceled, the partially uploaded file is removed from server.
     *
     * @param { FileInfo | FileInfo[] } fileData - specifies the files data to cancel the progressing file.
     * @returns {void}
     */
    cancel(fileData?: FileInfo[]): void;
    private cancelUpload;
    private showHideUploadSpinner;
}
 }
export namespace kanban { 

//node_modules/@syncfusion/ej2-kanban/src/components.d.ts
/**
 * Export Kanban Board
 */
//node_modules/@syncfusion/ej2-kanban/src/index.d.ts
/**
 * Export Kanban component
 */
//node_modules/@syncfusion/ej2-kanban/src/kanban/actions/action.d.ts
/**
 * Action module is used to perform card actions.
 */
export  class Action {
    private parent;
    columnToggleArray: string[];
    selectionArray: string[];
    lastCardSelection: Element;
    private lastSelectionRow;
    private lastCard;
    private selectedCardsElement;
    private selectedCardsData;
    hideColumnKeys: string[];
    /**
     * Constructor for action module
     *
     * @param {Kanban} parent Accepts the kanban instance
     * @private
     */
    constructor(parent: Kanban);
    clickHandler(e: KeyboardEvent): void;
    addButtonClick(target: Element): void;
    doubleClickHandler(e: MouseEvent): void;
    cardClick(e: KeyboardEvent, selectedCard?: HTMLElement): void;
    private cardDoubleClick;
    rowExpandCollapse(e: Event | HTMLElement, isFrozenElem?: HTMLElement): void;
    columnExpandCollapse(e: Event | HTMLElement): void;
    columnToggle(target: HTMLTableHeaderCellElement): void;
    cardSelection(target: Element, isCtrl: boolean, isShift: boolean): void;
    addColumn(columnOptions: ColumnsModel, index: number): void;
    deleteColumn(index: number): void;
    showColumn(key: string | number): void;
    hideColumn(key: string | number): void;
    /**
     * Maintain the single card selection
     *
     * @param {Record<string, any>} data - Specifies the selected card data.
     * @returns {void}
     * @private
     * @hidden
     */
    SingleCardSelection(data: Record<string, any>): void;
}
//node_modules/@syncfusion/ej2-kanban/src/kanban/actions/crud.d.ts
/**
 * Kanban CRUD module
 */
export  class Crud {
    private parent;
    /**
     * Constructor for CRUD module
     *
     * @param {Kanban} parent Accepts the kanban instance
     * @private
     */
    constructor(parent: Kanban);
    addCard(cardData: Record<string, any> | Record<string, any>[], index?: number): void;
    private getIndexFromData;
    updateCard(cardData: Record<string, any> | Record<string, any>[], index?: number): void;
    deleteCard(cardData: string | number | Record<string, any> | Record<string, any>[]): void;
    private priorityOrder;
}
//node_modules/@syncfusion/ej2-kanban/src/kanban/actions/dialog.d.ts
/**
 * popups.Dialog module is used to perform card actions.
 */
export  class KanbanDialog {
    private parent;
    dialogObj: popups.Dialog;
    private element;
    private formObj;
    private action;
    private storeElement;
    private cardData;
    private preventUpdate;
    /**
     * Constructor for dialog module
     *
     * @param {Kanban} parent Accepts the kanban instance
     */
    constructor(parent: Kanban);
    openDialog(action: CurrentAction, data?: Record<string, any>): void;
    closeDialog(): void;
    private renderDialog;
    private getDialogContent;
    private getDialogFields;
    private getDialogButtons;
    private renderComponents;
    private onBeforeDialogOpen;
    private onBeforeDialogClose;
    private getIDType;
    private applyFormValidation;
    private createTooltip;
    private destroyToolTip;
    private dialogButtonClick;
    private getFormElements;
    private getColumnName;
    private getValueFromElement;
    private destroyComponents;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-kanban/src/kanban/actions/drag.d.ts
/**
 * Drag and Drop module is used to perform card actions.
 */
export  class DragAndDrop {
    private parent;
    dragObj: DragArgs;
    private dragEdges;
    isDragging: boolean;
    private kanbanObj;
    private isExternalDrop;
    private borderElm;
    /**
     * Constructor for drag and drop module
     *
     * @param {Kanban} parent Accepts the kanban instance
     * @private
     */
    constructor(parent: Kanban);
    wireDragEvents(element: HTMLElement): void;
    private dragHelper;
    private dragStart;
    private draggedClone;
    private drag;
    private removeElement;
    private externalDrop;
    private multiCloneCreate;
    private allowedTransition;
    private cellDropping;
    private addDropping;
    private updateDimension;
    private keydownHandler;
    private dragStop;
    private dragStopClear;
    private dragStopPostClear;
    private updateDroppedData;
    private changeOrder;
    private toggleVisible;
    private multiCloneRemove;
    private calculateArgs;
    private getPageCoordinates;
    private getColumnKey;
    private updateScrollPosition;
    private autoScrollValidation;
    private autoScroll;
    unWireDragEvents(element: HTMLElement): void;
}
//node_modules/@syncfusion/ej2-kanban/src/kanban/actions/keyboard.d.ts
/**
 * Kanban keyboard module
 */
export  class Keyboard {
    private parent;
    private keyboardModule;
    private multiSelection;
    private keyConfigs;
    /**
     * Constructor for keyboard module
     *
     * @param {Kanban} parent Accepts the kanban instance
     */
    constructor(parent: Kanban);
    private keyActionHandler;
    private processCardSelection;
    private processLeftRightArrow;
    private processUpDownArrow;
    private removeSelection;
    cardTabIndexRemove(): void;
    private processEnter;
    addRemoveTabIndex(action: string): void;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-kanban/src/kanban/actions/tooltip.d.ts
/**
 * popups.Tooltip for Kanban board
 */
export  class KanbanTooltip {
    private parent;
    tooltipObj: popups.Tooltip;
    /**
     * Constructor for tooltip module
     *
     * @param {Kanban} parent Accepts the kanban instance
     */
    constructor(parent: Kanban);
    private renderTooltip;
    private onBeforeRender;
    private onBeforeClose;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-kanban/src/kanban/actions/touch.d.ts
/**
 * Kanban touch module
 */
export  class KanbanTouch {
    mobilePopup: popups.Popup;
    private element;
    private parent;
    private touchObj;
    tabHold: boolean;
    /**
     * Constructor for touch module
     *
     * @param {Kanban} parent Accepts the kanban instance
     * @private
     */
    constructor(parent: Kanban);
    wireTouchEvents(): void;
    private tapHoldHandler;
    private renderMobilePopup;
    private getPopupContent;
    updatePopupContent(): void;
    private closeClick;
    private popupClose;
    private popupDestroy;
    unWireTouchEvents(): void;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-kanban/src/kanban/base/constant.d.ts
/**
 * Kanban Constants
 */
/** @private */
export  const actionBegin: string;
/** @private */
export  const actionComplete: string;
/** @private */
export  const actionFailure: string;
/** @private */
export  const cardClick: string;
/** @private */
export  const cardDoubleClick: string;
/** @private */
export  const cardRendered: string;
/** @private */
export  const queryCellInfo: string;
/** @private */
export  const dataBinding: string;
/** @private */
export  const dataBound: string;
/** @private */
export  const dragStart: string;
/** @private */
export  const drag: string;
/** @private */
export  const dragStop: string;
/** @private */
export  const documentClick: string;
/** @private */
export  const dialogOpen: string;
/** @private */
export  const dialogClose: string;
/** @private */
export  const contentReady: string;
/** @private */
export  const dataReady: string;
/** @private */
export  const bottomSpace: number;
/** @private */
export  const cardSpace: number;
/** @private */
export  const toggleWidth: number;
/** @hidden */
export  const dataSourceChanged: string;
/** @hidden */
export  const dataStateChange: string;
//node_modules/@syncfusion/ej2-kanban/src/kanban/base/css-constant.d.ts
/**
 * Kanban CSS Constants
 */
/** @private */
export  const ROOT_CLASS: string;
/** @private */
export  const RTL_CLASS: string;
/** @private */
export  const DEVICE_CLASS: string;
/** @private */
export  const ICON_CLASS: string;
/** @private */
export  const TEMPLATE_CLASS: string;
/** @private */
export  const SWIMLANE_CLASS: string;
/** @private */
export  const TABLE_CLASS: string;
/** @private */
export  const HEADER_CLASS: string;
/** @private */
export  const HEADER_TABLE_CLASS: string;
/** @private */
export  const HEADER_CELLS_CLASS: string;
/** @private */
export  const HEADER_WRAP_CLASS: string;
/** @private */
export  const HEADER_TITLE_CLASS: string;
/** @private */
export  const HEADER_TEXT_CLASS: string;
/** @private */
export  const HEADER_ICON_CLASS: string;
/** @private */
export  const STACKED_HEADER_ROW_CLASS: string;
/** @private */
export  const STACKED_HEADER_CELL_CLASS: string;
/** @private */
export  const CONTENT_CELLS_CLASS: string;
/** @private */
export  const CONTENT_CLASS: string;
/** @private */
export  const CONTENT_TABLE_CLASS: string;
/** @private */
export  const HEADER_ROW_TOGGLE_CLASS: string;
/** @private */
export  const HEADER_ROW_CLASS: string;
/** @private */
export  const CONTENT_ROW_CLASS: string;
/** @private */
export  const SWIMLANE_ROW_CLASS: string;
/** @private */
export  const SWIMLANE_ROW_EXPAND_CLASS: string;
/** @private */
export  const SWIMLANE_ROW_COLLAPSE_CLASS: string;
/** @private */
export  const SWIMLANE_ROW_TEXT_CLASS: string;
/** @private */
export  const CARD_ITEM_COUNT_CLASS: string;
/** @private */
export  const CARD_WRAPPER_CLASS: string;
/** @private */
export  const CARD_CLASS: string;
/** @private */
export  const DRAGGABLE_CLASS: string;
/** @private */
export  const DROPPABLE_CLASS: string;
/** @private */
export  const DRAG_CLASS: string;
/** @private */
export  const DROP_CLASS: string;
/** @private */
export  const DISABLED_CLASS: string;
/** @private */
export  const CARD_HEADER_CLASS: string;
/** @private */
export  const CARD_CONTENT_CLASS: string;
/** @private */
export  const CARD_HEADER_TEXT_CLASS: string;
/** @private */
export  const CARD_HEADER_TITLE_CLASS: string;
/** @private */
export  const CARD_TAGS_CLASS: string;
/** @private */
export  const CARD_TAG_CLASS: string;
/** @private */
export  const CARD_COLOR_CLASS: string;
/** @private */
export  const CARD_LABEL_CLASS: string;
/** @private */
export  const CARD_FOOTER_CLASS: string;
/** @private */
export  const EMPTY_CARD_CLASS: string;
/** @private */
export  const CARD_FOOTER_CSS_CLASS: string;
/** @private */
export  const COLUMN_EXPAND_CLASS: string;
/** @private */
export  const COLUMN_COLLAPSE_CLASS: string;
/** @private */
export  const COLLAPSE_HEADER_TEXT_CLASS: string;
/** @private */
export  const COLLAPSED_CLASS: string;
/** @private */
export  const DIALOG_CLASS: string;
/** @private */
export  const DIALOG_CONTENT_CONTAINER_CLASS: string;
/** @private */
export  const FORM_CLASS: string;
/** @private */
export  const FORM_WRAPPER_CLASS: string;
/** @private */
export  const ERROR_VALIDATION_CLASS: string;
/** @private */
export  const FIELD_CLASS: string;
/** @private */
export  const DRAGGED_CLONE_CLASS: string;
/** @private */
export  const CLONED_CARD_CLASS: string;
/** @private */
export  const DRAGGED_CARD_CLASS: string;
/** @private */
export  const DROPPED_CLONE_CLASS: string;
/** @private */
export  const DROPPING_CLASS: string;
/** @private */
export  const BORDER_CLASS: string;
/** @private */
export  const TOGGLE_VISIBLE_CLASS: string;
/** @private */
export  const MULTI_CLONE_CONTENT_CELL_CLASS: string;
/** @private */
export  const MULTI_CARD_WRAPPER_CLASS: string;
/** @private */
export  const MULTI_ACTIVE_CLASS: string;
/** @private */
export  const TARGET_MULTI_CLONE_CLASS: string;
/** @private */
export  const MULTI_COLUMN_KEY_CLASS: string;
/** @private */
export  const CARD_SELECTION_CLASS: string;
/** @private */
export  const TOOLTIP_CLASS: string;
/** @private */
export  const TOOLTIP_TEXT_CLASS: string;
/** @private */
export  const SCROLL_CONTAINER_CLASS: string;
/** @private */
export  const SWIMLANE_HEADER_CLASS: string;
/** @private */
export  const SWIMLANE_HEADER_TOOLBAR_CLASS: string;
/** @private */
export  const TOOLBAR_MENU_CLASS: string;
/** @private */
export  const TOOLBAR_MENU_ICON_CLASS: string;
/** @private */
export  const TOOLBAR_LEVEL_TITLE_CLASS: string;
/** @private */
export  const TOOLBAR_SWIMLANE_NAME_CLASS: string;
/** @private */
export  const SWIMLANE_OVERLAY_CLASS: string;
/** @private */
export  const SWIMLANE_CONTENT_CLASS: string;
/** @private */
export  const SWIMLANE_RESOURCE_CLASS: string;
/** @private */
export  const SWIMLANE_TREE_CLASS: string;
/** @private */
export  const LIMITS_CLASS: string;
/** @private */
export  const MAX_COUNT_CLASS: string;
/** @private */
export  const MIN_COUNT_CLASS: string;
/** @private */
export  const MAX_COLOR_CLASS: string;
/** @private */
export  const MIN_COLOR_CLASS: string;
/** @private */
export  const POPUP_EVENT_CLASS: string;
/** @private */
export  const POPUP_HEADER_CLASS: string;
/** @private */
export  const CLOSE_CLASS: string;
/** @private */
export  const POPUP_CONTENT_CLASS: string;
/** @private */
export  const POPUP_WRAPPER_CLASS: string;
/** @private */
export  const CLOSE_ICON_CLASS: string;
/** @private */
export  const POPUP_OPEN_CLASS: string;
/** @private */
export  const DIALOG_CONTENT_CONTAINER: string;
/** @private */
export  const SHOW_ADD_BUTTON: string;
/** @private */
export  const SHOW_ADD_ICON: string;
/** @private */
export  const SHOW_ADD_FOCUS: string;
/** @private */
export  const FROZEN_SWIMLANE_ROW_CLASS: string;
/** @private */
export  const FROZEN_ROW_CLASS: string;
//node_modules/@syncfusion/ej2-kanban/src/kanban/base/data.d.ts
/**
 * Kanban data module
 */
export  class Data {
    private parent;
    private kanbanData;
    dataManager: data.DataManager;
    private query;
    private keyField;
    private isObservable;
    protected dataState: PendingState;
    /**
     * Constructor for data module
     *
     * @param {Kanban} parent Accepts the instance of the Kanban
     */
    constructor(parent: Kanban);
    /**
     * The function used to initialize dataManager` and query
     *
     * @param {Object[] | data.DataManager} dataSource Accepts the dataSource as collection of objects or Datamanager instance.
     * @param {data.Query} query Accepts the query to process the data from collections.
     * @returns {void}
     * @private
     */
    private initDataManager;
    /**
     * The function used to generate updated data.Query from schedule model
     *
     * @returns {void}
     * @private
     */
    getQuery(): data.Query;
    /**
     * The function used to get dataSource by executing given data.Query
     *
     * @param  {data.Query} query - A data.Query that specifies to generate dataSource
     * @returns {void}
     * @private
     */
    private getData;
    setState(state: PendingState): Object;
    private getStateEventArgument;
    private eventPromise;
    /**
     * The function used to get the table name from the given data.Query
     *
     * @returns {string} Returns the table name.
     * @private
     */
    private getTable;
    /**
     * The function is used to send the request and get response from datamanager
     *
     * @returns {void}
     * @private
     */
    private refreshDataManager;
    /**
     * The function is used to handle the success response from dataManager
     *
     * @param {ReturnType} e Accepts the dataManager success result
     * @returns {void}
     * @private
     */
    private dataManagerSuccess;
    /**
     * The function is used to handle the failure response from dataManager
     *
     * @param {ReturnType} e Accepts the dataManager failure result
     * @returns {void}
     * @private
     */
    private dataManagerFailure;
    /**
     * The function is used to perform the insert, update, delete and batch actions in datamanager
     *
     * @param {string} updateType Accepts the update type action
     * @param {SaveChanges} params Accepts the savechanges params
     * @param {string} type Accepts the requestType as string
     * @param {Object} data Accepts the data to perform crud action
     * @param {number} index Accepts the index to refresh the data into UI
     * @returns {void}
     * @private
     */
    updateDataManager(updateType: string, params: SaveChanges, type: string, data: Record<string, any>, index?: number): void;
    private modifyArrayData;
    /**
     * The function is used to refresh the UI once the data manager action is completed
     *
     * @param {ActionEventArgs} args Accepts the ActionEventArgs to refresh UI.
     * @param {number} position Accepts the index to refresh UI.
     * @returns {void}
     */
    refreshUI(args: ActionEventArgs, position: number): void;
}
//node_modules/@syncfusion/ej2-kanban/src/kanban/base/index.d.ts
/**
 * Export base files
 */
//node_modules/@syncfusion/ej2-kanban/src/kanban/base/interface.d.ts
/**
 * Kanban Interface
 */
/**
 * Provides information about a ActionBegin, ActionComplete, ActionFailure event.
 *
 * @interface ActionEventArgs
 */
export interface ActionEventArgs extends base.BaseEventArgs {
    /** Returns the request type of the current action. */
    requestType: string;
    /** Defines the cancel option for the action taking place. */
    cancel?: boolean;
    /** Returns the target HTML element. */
    target?: HTMLElement;
    /** Returns the appropriate added data based on the action. */
    addedRecords?: Record<string, any>[];
    /** Returns the appropriate changed data based on the action. */
    changedRecords?: Record<string, any>[];
    /** Returns the appropriate deleted data based on the action. */
    deletedRecords?: Record<string, any>[];
}
/**
 * Provides information about a Card Click/Double Click event.
 *
 * @interface CardClickEventArgs
 */
export interface CardClickEventArgs extends base.BaseEventArgs {
    /** Returns the object of the element which is currently being clicked or double clicked. */
    data: Record<string, any>;
    /** Defines the cancel option for the action taking place. */
    cancel?: boolean;
    /** Returns the actual HTML element on which the required custom styling can be applied. */
    element: Element;
    /** Defines the type of the event. */
    event?: Event | MouseEvent | KeyboardEvent;
}
/**
 * Provides information about a QueryCellInfo event.
 *
 * @interface QueryCellInfoEventArgs
 */
export interface QueryCellInfoEventArgs extends base.BaseEventArgs {
    /** Returns the object of the elements which is currently being rendered on the UI. */
    data?: HeaderArgs[];
    /** Returns the actual HTML element on which the required custom styling can be applied. */
    element: Element;
    /** Defines the cancel option for the action taking place. */
    cancel: boolean;
    /** Defines the request type of column rendering. */
    requestType: string;
}
/**
 * Provides information about a CardRendered event.
 *
 * @interface CardRenderedEventArgs
 */
export interface CardRenderedEventArgs extends base.BaseEventArgs {
    /** Returns the object of the elements which is currently being rendered on the UI. */
    data?: Record<string, any>;
    /** Returns the actual HTML element on which the required custom styling can be applied. */
    element: Element;
    /** Defines the cancel option for the action taking place. */
    cancel: boolean;
}
/**
 * Provides information about a Drag, Drag Start/End event.
 *
 * @interface DragEventArgs
 */
export interface DragEventArgs extends base.BaseEventArgs {
    /** Returns the drag element. */
    element: HTMLElement | HTMLElement[];
    /** Returns the dragged event data. */
    data: Record<string, any>[];
    /** Returns the mouse event. */
    event: MouseEvent;
    /** Defines the cancel option. */
    cancel?: boolean;
    /** Defines the dropped card position. */
    dropIndex?: number;
}
/**
 * Provides information about a DialogOpen event.
 *
 * @interface DialogEventArgs
 */
export interface DialogEventArgs extends base.BaseEventArgs {
    /** Returns the cell or event data. */
    data: Record<string, any>;
    /** Returns the target element on which the popup is getting opened. */
    target?: Element;
    /** Returns the popup wrapper element. */
    element?: Element;
    /** Defines the cancel option. */
    cancel?: boolean;
    /** Defines the dialog actions. */
    requestType?: CurrentAction;
}
/**
 * Provides information about a DialogClose event.
 *
 * @interface DialogCloseEventArgs
 */
export interface DialogCloseEventArgs extends DialogEventArgs {
    /** Defines the dialog interaction. */
    interaction?: string;
}
/** @private */
export interface SaveChanges {
    addedRecords: Record<string, any>[];
    changedRecords: Record<string, any>[];
    deletedRecords: Record<string, any>[];
}
/** @private */
export interface EJ2Instance extends HTMLElement {
    ej2_instances: Record<string, any>[];
}
/** @private */
export interface DragArgs extends base.BaseEventArgs {
    element?: HTMLElement;
    cloneElement?: HTMLElement;
    targetClone?: HTMLElement;
    draggedClone?: HTMLElement;
    targetCloneMulti?: HTMLElement;
    selectedCards?: HTMLElement | HTMLElement[];
    instance?: base.Draggable;
    pageX?: number;
    pageY?: number;
    navigationInterval?: number;
    cardDetails?: Record<string, any>[];
    modifiedData?: Record<string, any>[];
}
/** Provide information about Swimlane HeaderArgs */
export interface HeaderArgs {
    /** Defines the Swimlane key field */
    keyField: string | number;
    /** Defines the Swimlane header text field */
    textField: string;
    /** Defines the number of Cards */
    count?: number;
}
/** @private */
export interface DragEdges {
    left: boolean;
    right: boolean;
    top: boolean;
    bottom: boolean;
}
/** @private */
export interface ScrollPosition {
    content: ScrollOffset;
    column: {
        [key: string]: ScrollOffset;
    };
}
/** @private */
export interface ScrollOffset {
    left?: number;
    top?: number;
}
/** Custom Sort Compare Function to sort Swimlane rows */
export interface SortComparerFunction {
    /** Defines the Swimlane Header Arguments */
    (param: HeaderArgs[]): HeaderArgs[];
}
/** Custom data service event types */
export interface DataStateChangeEventArgs {
    /** Defines the filter criteria  */
    where?: data.Predicate[];
    /** Defines the Kanban action details */
    action?: ActionEventArgs;
    /** Defines the remote table name */
    table?: string;
    /** Defines the selected field names */
    select?: string[];
}
export interface PendingState {
    /**
     * The function which resolves the current action's promise.
     */
    resolver?: Function;
    /**
     * Defines the current state of the action.
     */
    isPending?: boolean;
    /**
     *  DataSource changed through set model
     */
    isDataChanged?: boolean;
}
/**
 * Provides information about changed the data event.
 *
 * @interface DataSourceChangedEventArgs
 */
export interface DataSourceChangedEventArgs {
    /** Defines the current action type. */
    requestType?: string;
    /** Defines the state of the performed action */
    state?: DataStateChangeEventArgs;
    /** Returns the appropriate added data based on the action. */
    addedRecords?: Record<string, any>[];
    /** Returns the appropriate changed data based on the action. */
    changedRecords?: Record<string, any>[];
    /** Returns the appropriate deleted data based on the action. */
    deletedRecords?: Record<string, any>[];
    /** Defines the index value */
    index?: number;
    /** Defines the end of editing function. */
    endEdit?: Function;
    /** Defines the Cancel of editing process */
    cancelEdit?: Function;
    /** Defines the query */
    query?: data.Query;
    /** Defines the promise object. */
    promise?: Promise<object>;
}
//node_modules/@syncfusion/ej2-kanban/src/kanban/base/kanban-model.d.ts
/**
 * Interface for a class Kanban
 */
export interface KanbanModel extends base.ComponentModel{
    /**
     * It is used to customize the Kanban, which accepts custom CSS class names that defines specific user-defined
     * styles and themes to be applied on the Kanban element.
     *
     * @default null
     */
    cssClass?: string;
    /**
     * Sets the `width` of the Kanban component, accepting both string and number values.
     * The string value can be either pixel or percentage format.
     * When set to `auto`, the Kanban width gets auto-adjusted and display its content related to the viewable screen size.
     *
     * @default 'auto'
     */
    width?: string | number;
    /**
     * Sets the `height` of the Kanban component, accepting both string and number values.
     * The string type includes either pixel or percentage values.
     * When `height` is set with specific pixel value, then the Kanban will be rendered to that specified space.
     * In case, if `auto` value is set, then the height of the Kanban gets auto-adjusted within the given container.
     *
     * @default 'auto'
     */
    height?: string | number;
    /**
     * With this property, the card data will be bound to Kanban.
     * The card data can be passed either as an array of JavaScript objects,
     * or else can create an instance of [`data.DataManager`](http://ej2.syncfusion.com/documentation/data/api-dataManager.html)
     * in case of processing remote data and can be assigned to the `dataSource` property.
     * With the remote data assigned to dataSource, check the available
     *  [adaptors](http://ej2.syncfusion.com/documentation/data/adaptors.html) to customize the data processing.
     *
     * @default []
     * @isGenericType true
     */
    dataSource?: Record<string, any>[] | data.DataManager;
    /**
     * Defines the external [`query`](http://ej2.syncfusion.com/documentation/data/api-query.html)
     * that will be executed along with the data processing.
     *
     * @default null
     */
    query?: data.Query;
    /**
     * Defines the key field of Kanban board. The Kanban renders its layout based on this key field.
     *
     * @default null
     */
    keyField?: string;
    /**
     * Defines the constraint type used to apply validation based on column or swimlane. The possible values are:
     * * Column
     * * Swimlane
     *
     * @default column
     */
    constraintType?: ConstraintType;
    /**
     * Defines the ID of drop component on which drop should occur.
     *
     * @default []
     */
    externalDropId?: string[];
    /**
     * Defines the Kanban board columns and their properties such as header text, key field, template, allow toggle,
     * expand or collapse state, min or max count, and show or hide item count.
     *
     * @default []
     */
    columns?: ColumnsModel[];
    /**
     * When this property is set to true, it allows the keyboard interaction in Kanban.
     *
     * @default true
     */
    allowKeyboard?: boolean;
    /**
     * Defines the stacked header for Kanban columns with text and key fields.
     *
     * @default []
     */
    stackedHeaders?: StackedHeadersModel[];
    /**
     * Defines the swimlane settings to Kanban board such as key field, text field, template, allow drag-and-drop,
     * show or hide empty row, show or hide items count, and more.
     *
     * @default {}
     */
    swimlaneSettings?: SwimlaneSettingsModel;
    /**
     * Defines the Kanban board related settings such as header field, content field, template,
     * show or hide header, and single or multiple selection.
     *
     * @default {}
     */
    cardSettings?: CardSettingsModel;
    /**
     * Defines the sort settings such as field and direction.
     *
     * @default {}
     */
    sortSettings?: SortSettingsModel;
    /**
     * Defines the dialog settings such as template and fields.
     *
     * @default {}
     */
    dialogSettings?: DialogSettingsModel;
    /**
     * Enables or disables the drag and drop actions in Kanban.
     *
     * @default true
     */
    allowDragAndDrop?: boolean;
    /**
     * Enables or disables the tooltip in Kanban board. The property relates to the tooltipTemplate property.
     *
     * @default false
     */
    enableTooltip?: boolean;
    /**
     * Enable or disable the columns when empty dataSource.
     *
     * @default false
     */
    showEmptyColumn?: boolean;
    /**
     * Enables or disables the persisting component's state between page reloads.
     * If enabled, columns, dataSource properties will be persisted in kanban.
     *
     * @default false
     */
    enablePersistence?: boolean;
    /**
     * Defines the template content to card’s tooltip. The property works by enabling the ‘enableTooltip’ property.
     *
     * @default null
     */
    tooltipTemplate?: string;
    /**
     * Triggers on beginning of every Kanban action.
     *
     * @event 'actionBegin'
     */
    actionBegin?: base.EmitType<ActionEventArgs>;
    /**
     * Triggers on successful completion of the Kanban actions.
     *
     * @event 'actionComplete'
     */
    actionComplete?: base.EmitType<ActionEventArgs>;
    /**
     * Triggers when a Kanban action gets failed or interrupted and an error information will be returned.
     *
     * @event 'actionFailure'
     */
    actionFailure?: base.EmitType<ActionEventArgs>;
    /**
     * Triggers after the kanban component is created.
     *
     * @event 'created'
     */
    created?: base.EmitType<Record<string, any>>;
    /**
     * Triggers before the data binds to the Kanban.
     *
     * @event 'dataBinding'
     */
    dataBinding?: base.EmitType<ReturnType>;
    /**
     * Triggers once the event data is bound to the Kanban.
     *
     * @event 'dataBound'
     */
    dataBound?: base.EmitType<ReturnType>;
    /**
     * Triggers on single-clicking the Kanban cards.
     *
     * @event 'cardClick'
     */
    cardClick?: base.EmitType<CardClickEventArgs>;
    /**
     * Triggers on double-clicking the Kanban cards.
     *
     * @event 'cardDoubleClick'
     */
    cardDoubleClick?: base.EmitType<CardClickEventArgs>;
    /**
     * Triggers before each column of the Kanban rendering on the page.
     *
     * @event 'queryCellInfo'
     */
    queryCellInfo?: base.EmitType<QueryCellInfoEventArgs>;
    /**
     * Triggers before each card of the Kanban rendering on the page.
     *
     * @event 'cardRendered'
     */
    cardRendered?: base.EmitType<CardRenderedEventArgs>;
    /**
     * Triggers when the card drag actions starts.
     *
     * @event 'dragStart'
     */
    dragStart?: base.EmitType<DragEventArgs>;
    /**
     * Triggers when the card is dragging to other stage or other swimlane.
     *
     * @event 'drag'
     */
    drag?: base.EmitType<DragEventArgs>;
    /**
     * Triggers when the card drag actions stops.
     *
     * @event 'dragStop'
     */
    dragStop?: base.EmitType<DragEventArgs>;
    /**
     * Triggers before the dialog opens.
     *
     * @event 'dialogOpen'
     */
    dialogOpen?: base.EmitType<DialogEventArgs>;
    /**
     * Triggers before the dialog closes.
     *
     * @event 'dialogClose'
     */
    dialogClose?: base.EmitType<DialogEventArgs>;
    /**
     * Triggers when the grid actions such as Sorting, Paging, Grouping etc., are done.
     * In this event,the current view data and total record count should be assigned to the `dataSource` based on the action performed.
     *
     * @event dataStateChange
     */
    dataStateChange?: base.EmitType<DataStateChangeEventArgs>;
    /**
      * Triggers when the grid data is added, deleted and updated.
      * Invoke the done method from the argument to start render after edit operation.
      *
      * @event dataSourceChanged
      */
    dataSourceChanged?: base.EmitType<DataSourceChangedEventArgs>;
}
//node_modules/@syncfusion/ej2-kanban/src/kanban/base/kanban.d.ts
/**
 * The Kanban component is an efficient way to visually depict various stages of a process using cards with transparent workflows.
 * The component has rich set of APIs, methods, and events used to enable or disable its features and customize them.
 * ```html
 * <div id="kanban"></div>
 * ```
 * ```typescript
 * <script>
 *   var kanbanObj = new Kanban();
 *   kanbanObj.appendTo("#kanban");
 * </script>
 * ```
 */
export  class Kanban extends base.Component<HTMLElement> {
    isAdaptive: boolean;
    crudModule: Crud;
    dataModule: Data;
    layoutModule: LayoutRender;
    actionModule: Action;
    dragAndDropModule: DragAndDrop;
    dialogModule: KanbanDialog;
    keyboardModule: Keyboard;
    tooltipModule: KanbanTooltip;
    touchModule: KanbanTouch;
    kanbanData: Record<string, any>[];
    activeCardData: CardClickEventArgs;
    localeObj: base.L10n;
    swimlaneToggleArray: string[];
    scrollPosition: ScrollPosition;
    isInitialRender: boolean;
    externalDropObj: Kanban;
    isExternalKanbanDrop: boolean;
    /**
     * It is used to customize the Kanban, which accepts custom CSS class names that defines specific user-defined
     * styles and themes to be applied on the Kanban element.
     *
     * @default null
     */
    cssClass: string;
    /**
     * Sets the `width` of the Kanban component, accepting both string and number values.
     * The string value can be either pixel or percentage format.
     * When set to `auto`, the Kanban width gets auto-adjusted and display its content related to the viewable screen size.
     *
     * @default 'auto'
     */
    width: string | number;
    /**
     * Sets the `height` of the Kanban component, accepting both string and number values.
     * The string type includes either pixel or percentage values.
     * When `height` is set with specific pixel value, then the Kanban will be rendered to that specified space.
     * In case, if `auto` value is set, then the height of the Kanban gets auto-adjusted within the given container.
     *
     * @default 'auto'
     */
    height: string | number;
    /**
     * With this property, the card data will be bound to Kanban.
     * The card data can be passed either as an array of JavaScript objects,
     * or else can create an instance of [`data.DataManager`](http://ej2.syncfusion.com/documentation/data/api-dataManager.html)
     * in case of processing remote data and can be assigned to the `dataSource` property.
     * With the remote data assigned to dataSource, check the available
     *  [adaptors](http://ej2.syncfusion.com/documentation/data/adaptors.html) to customize the data processing.
     *
     * @default []
     * @isGenericType true
     */
    dataSource: Record<string, any>[] | data.DataManager;
    /**
     * Defines the external [`query`](http://ej2.syncfusion.com/documentation/data/api-query.html)
     * that will be executed along with the data processing.
     *
     * @default null
     */
    query: data.Query;
    /**
     * Defines the key field of Kanban board. The Kanban renders its layout based on this key field.
     *
     * @default null
     */
    keyField: string;
    /**
     * Defines the constraint type used to apply validation based on column or swimlane. The possible values are:
     * * Column
     * * Swimlane
     *
     * @default column
     */
    constraintType: ConstraintType;
    /**
     * Defines the ID of drop component on which drop should occur.
     *
     * @default []
     */
    externalDropId: string[];
    /**
     * Defines the Kanban board columns and their properties such as header text, key field, template, allow toggle,
     * expand or collapse state, min or max count, and show or hide item count.
     *
     * @default []
     */
    columns: ColumnsModel[];
    /**
     * When this property is set to true, it allows the keyboard interaction in Kanban.
     *
     * @default true
     */
    allowKeyboard: boolean;
    /**
     * Defines the stacked header for Kanban columns with text and key fields.
     *
     * @default []
     */
    stackedHeaders: StackedHeadersModel[];
    /**
     * Defines the swimlane settings to Kanban board such as key field, text field, template, allow drag-and-drop,
     * show or hide empty row, show or hide items count, and more.
     *
     * @default {}
     */
    swimlaneSettings: SwimlaneSettingsModel;
    /**
     * Defines the Kanban board related settings such as header field, content field, template,
     * show or hide header, and single or multiple selection.
     *
     * @default {}
     */
    cardSettings: CardSettingsModel;
    /**
     * Defines the sort settings such as field and direction.
     *
     * @default {}
     */
    sortSettings: SortSettingsModel;
    /**
     * Defines the dialog settings such as template and fields.
     *
     * @default {}
     */
    dialogSettings: DialogSettingsModel;
    /**
     * Enables or disables the drag and drop actions in Kanban.
     *
     * @default true
     */
    allowDragAndDrop: boolean;
    /**
     * Enables or disables the tooltip in Kanban board. The property relates to the tooltipTemplate property.
     *
     * @default false
     */
    enableTooltip: boolean;
    /**
     * Enable or disable the columns when empty dataSource.
     *
     * @default false
     */
    showEmptyColumn: boolean;
    /**
     * Enables or disables the persisting component's state between page reloads.
     * If enabled, columns, dataSource properties will be persisted in kanban.
     *
     * @default false
     */
    enablePersistence: boolean;
    /**
     * Defines the template content to card’s tooltip. The property works by enabling the ‘enableTooltip’ property.
     *
     * @default null
     */
    tooltipTemplate: string;
    /**
     * Triggers on beginning of every Kanban action.
     *
     * @event 'actionBegin'
     */
    actionBegin: base.EmitType<ActionEventArgs>;
    /**
     * Triggers on successful completion of the Kanban actions.
     *
     * @event 'actionComplete'
     */
    actionComplete: base.EmitType<ActionEventArgs>;
    /**
     * Triggers when a Kanban action gets failed or interrupted and an error information will be returned.
     *
     * @event 'actionFailure'
     */
    actionFailure: base.EmitType<ActionEventArgs>;
    /**
     * Triggers after the kanban component is created.
     *
     * @event 'created'
     */
    created: base.EmitType<Record<string, any>>;
    /**
     * Triggers before the data binds to the Kanban.
     *
     * @event 'dataBinding'
     */
    dataBinding: base.EmitType<ReturnType>;
    /**
     * Triggers once the event data is bound to the Kanban.
     *
     * @event 'dataBound'
     */
    dataBound: base.EmitType<ReturnType>;
    /**
     * Triggers on single-clicking the Kanban cards.
     *
     * @event 'cardClick'
     */
    cardClick: base.EmitType<CardClickEventArgs>;
    /**
     * Triggers on double-clicking the Kanban cards.
     *
     * @event 'cardDoubleClick'
     */
    cardDoubleClick: base.EmitType<CardClickEventArgs>;
    /**
     * Triggers before each column of the Kanban rendering on the page.
     *
     * @event 'queryCellInfo'
     */
    queryCellInfo: base.EmitType<QueryCellInfoEventArgs>;
    /**
     * Triggers before each card of the Kanban rendering on the page.
     *
     * @event 'cardRendered'
     */
    cardRendered: base.EmitType<CardRenderedEventArgs>;
    /**
     * Triggers when the card drag actions starts.
     *
     * @event 'dragStart'
     */
    dragStart: base.EmitType<DragEventArgs>;
    /**
     * Triggers when the card is dragging to other stage or other swimlane.
     *
     * @event 'drag'
     */
    drag: base.EmitType<DragEventArgs>;
    /**
     * Triggers when the card drag actions stops.
     *
     * @event 'dragStop'
     */
    dragStop: base.EmitType<DragEventArgs>;
    /**
     * Triggers before the dialog opens.
     *
     * @event 'dialogOpen'
     */
    dialogOpen: base.EmitType<DialogEventArgs>;
    /**
     * Triggers before the dialog closes.
     *
     * @event 'dialogClose'
     */
    dialogClose: base.EmitType<DialogEventArgs>;
    /**
     * Triggers when the grid actions such as Sorting, Paging, Grouping etc., are done.
     * In this event,the current view data and total record count should be assigned to the `dataSource` based on the action performed.
     *
     * @event dataStateChange
     */
    dataStateChange: base.EmitType<DataStateChangeEventArgs>;
    /**
     * Triggers when the grid data is added, deleted and updated.
     * Invoke the done method from the argument to start render after edit operation.
     *
     * @event dataSourceChanged
     */
    dataSourceChanged: base.EmitType<DataSourceChangedEventArgs>;
    protected needsID: boolean;
    /**
     * Constructor for creating the Kanban widget
     *
     * @param {KanbanModel} options Accepts the kanban properties to render the component.
     * @param {string | HTMLElement} element Accepts the DOM element reference as either selector or element to render the component.
     */
    constructor(options?: KanbanModel, element?: string | HTMLElement);
    /**
     * Initializes the values of private members.
     *
     * @returns {void}
     * @private
     */
    protected preRender(): void;
    /**
     * To provide the array of modules needed for control rendering
     *
     * @returns {base.ModuleDeclaration[]} Returns the d modules.
     * @private
     */
    requiredModules(): base.ModuleDeclaration[];
    /**
     * Returns the properties to be maintained in the persisted state.
     *
     * @returns {string} Returns the persistance state.
     * @private
     */
    protected getPersistData(): string;
    /**
     * Core method to return the component name.
     *
     * @returns {string} Returns the module name.
     * @private
     */
    getModuleName(): string;
    /**
     * Core method that initializes the control rendering.
     *
     * @returns {void}
     * @private
     */
    render(): void;
    /**
     * Called internally, if any of the property value changed.
     *
     * @param {KanbanModel} newProp Gets the updated values
     * @param {KanbanModel} oldProp Gets the previous values
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: KanbanModel, oldProp: KanbanModel): void;
    private onSwimlaneSettingsPropertyChanged;
    private onCardSettingsPropertyChanged;
    private initializeModules;
    renderTemplates(): void;
    resetTemplates(templates?: string[]): void;
    private destroyModules;
    templateParser(template: string): any;
    /**
     * Returns the card details based on card ID from the board.
     *
     * @function getCardDetails
     * @param {Element} target Accepts the card element to get the details.
     * @returns {Object} Returns the card details based on given target.
     */
    getCardDetails(target: Element): Record<string, any>;
    /**
     * Returns the column data based on column key input.
     *
     * @function getColumnData
     * @param {string | number} columnKey Accepts the column key to get the objects.
     * @param {Object[]} dataSource Accepts the collection of objects to get the results based on given columnKey.
     * @returns {Object[]} Returns the collection of card objects based on given inputs.
     */
    getColumnData(columnKey: string | number, dataSource?: Record<string, any>[]): Record<string, any>[];
    /**
     * Returns the swimlane column data based on swimlane keyField input.
     *
     * @function getSwimlaneData
     * @param {string} keyField Accepts the swimlane keyField to get the objects.
     * @returns {Object[]} Returns the collection of card objects based on given inputs.
     */
    getSwimlaneData(keyField: string): Record<string, any>[];
    /**
     * Gets the list of selected cards from the board.
     *
     * @function getSelectedCards
     * @returns {HTMLElement[]} Returns the card elements based on selection.
     */
    getSelectedCards(): HTMLElement[];
    /**
     * Allows you to show the spinner on Kanban at the required scenarios.
     *
     * @function showSpinner
     * @returns {void}
     */
    showSpinner(): void;
    /**
     * When the spinner is shown manually using the showSpinner method, it can be hidden using this `hideSpinner` method.
     *
     * @function hideSpinner
     * @returns {void}
     */
    hideSpinner(): void;
    /**
     * To manually open the dialog.
     *
     * @function openDialog
     * @param {CurrentAction} action Accepts the action for which the dialog needs to be opened such as either for new card creation or
     *  editing of existing cards. The applicable action names are `Add` and `Edit`.
     * @param {Object} data It can be card data.
     * @returns {void}
     */
    openDialog(action: CurrentAction, data?: Record<string, any>): void;
    /**
     * To manually close the dialog.
     *
     * @function closeDialog
     * @returns {void}
     */
    closeDialog(): void;
    /**
     * Adds the new card to the data source of Kanban and layout.
     *
     * @function addCard
     * @param {Object | Object[]} cardData Accepts Single card object or Collection of card objects to be added into Kanban.
     * @param {number} index Accepts the index to insert the card in column.
     * @returns {void}
     */
    addCard(cardData: Record<string, any> | Record<string, any>[], index?: number): void;
    /**
     * Updates the changes made in the card object by passing it as a parameter to the data source.
     *
     * @function updateCard
     * @param {Object | Object[]} cardData Accepts Single card object or Collection of card objects to be updated into Kanban.
     * @param {number} index Accepts the index to update the card in column.
     * @returns {void}
     */
    updateCard(cardData: Record<string, any> | Record<string, any>[], index?: number): void;
    /**
     * Deletes the card based on the provided ID or card collection in the argument list.
     *
     * @function deleteCard
     * @param {string | number | Object | Object[]} cardData Accepts the ID of the remove card in string or number type or
     * Single card object or Collection of card objects to be removed from Kanban
     * @returns {void}
     */
    deleteCard(cardData: string | number | Record<string, any> | Record<string, any>[]): void;
    /**
     * Add the column to Kanban board dynamically based on the provided column options and index in the argument list.
     *
     * @function addColumn
     * @param {ColumnsModel} columnOptions Accepts the properties to new column that are going to be added in the board.
     * @param {number} index Accepts the index of column to add the new column.
     * @returns {void}
     */
    addColumn(columnOptions: ColumnsModel, index: number): void;
    /**
     * Deletes the column based on the provided index value.
     *
     * @function deleteColumn
     * @param {number} index Accepts the index of column to delete the existing column from Kanban board.
     * @returns {void}
     */
    deleteColumn(index: number): void;
    /**
     * Shows the column from hidden based on the provided key in the columns.
     *
     * @function showColumn
     * @param {string | number} key Accepts the hidden column key name to be shown from the hidden state in board.
     * @returns {void}
     */
    showColumn(key: string | number): void;
    /**
     * Hides the column from Kanban board based on the provided key in the columns.
     *
     * @function hideColumn
     * @param {string | number} key Accepts the visible column key name to be hidden from the board.
     * @returns {void}
     */
    hideColumn(key: string | number): void;
    /**
     * Method to refresh the Kanban UI based on modified records.
     *
     * @function refreshUI
     * @param {ActionEventArgs} args Accepts the added, changed or deleted data.
     * @param {number} index Accepts the index of the changed items.
     * @returns {void}
     */
    refreshUI(args: ActionEventArgs, index?: number): void;
    /**
     * Method to refresh the column header.
     *
     * @method refreshHeader
     * @returns {void}
     */
    refreshHeader(): void;
    /**
     * Removes the control from the DOM and detaches all its related event handlers. Also, it removes the attributes and classes.
     *
     * @function destroy
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-kanban/src/kanban/base/layout-render.d.ts
/**
 * Kanban layout rendering module
 *
 */
export  class LayoutRender extends MobileLayout {
    parent: Kanban;
    kanbanRows: HeaderArgs[];
    columnKeys: string[];
    swimlaneIndex: number;
    scrollLeft: number;
    private swimlaneRow;
    columnData: {
        [key: string]: any[];
    };
    swimlaneData: {
        [key: string]: any[];
    };
    frozenSwimlaneRow: HTMLElement;
    frozenOrder: number;
    isSelectedCard: boolean;
    constructor(parent: Kanban);
    private initRender;
    private renderHeader;
    private renderContent;
    private renderSingleContent;
    private initializeSwimlaneTree;
    private renderSwimlaneRow;
    private renderCards;
    private renderCard;
    private renderEmptyCard;
    private renderColGroup;
    getRows(): HeaderArgs[];
    private swimlaneSorting;
    private createStackedRow;
    private scrollUiUpdate;
    private onContentScroll;
    private addFrozenSwimlaneDataKey;
    frozenRows(e?: Event): void;
    removeFrozenRows(): void;
    private onColumnScroll;
    private onAdaptiveScroll;
    /**
     * Check column is visible or not.
     *
     * @param {ColumnsModel} column - specifies the column.
     * @returns {boolean}
     * @private
     * @hidden
     */
    isColumnVisible(column: ColumnsModel): boolean;
    private renderLimits;
    private renderValidation;
    private getValidationClass;
    private refreshValidation;
    getColumnData(columnValue: string | number, dataSource?: Record<string, any>[]): Record<string, any>[];
    private sortCategory;
    sortOrder(key: string, direction: string, cardData: Record<string, any>[]): Record<string, any>[];
    private documentClick;
    disableAttributeSelection(cards: HTMLElement[] | Element): void;
    getColumnCards(data?: Record<string, any>[]): Record<string, any[]>;
    getSwimlaneCards(): Record<string, any[]>;
    refreshHeaders(): void;
    refreshCards(): void;
    refresh(): void;
    updateScrollPosition(): void;
    renderCardBasedOnIndex(data: Record<string, any>, index?: number): void;
    removeCard(data: Record<string, any>): void;
    wireEvents(): void;
    unWireEvents(): void;
    wireDragEvent(): void;
    unWireDragEvent(): void;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-kanban/src/kanban/base/mobile-layout.d.ts
/**
 * Kanban mobile layout rendering module
 *
 */
export  class MobileLayout {
    parent: Kanban;
    popupOverlay: HTMLElement;
    treeViewObj: navigations.TreeView;
    treePopup: popups.Popup;
    constructor(parent: Kanban);
    renderSwimlaneHeader(): void;
    renderSwimlaneTree(): void;
    private menuClick;
    private treeSwimlaneClick;
    hidePopup(): void;
    getWidth(): number;
    private drawNode;
}
//node_modules/@syncfusion/ej2-kanban/src/kanban/base/type.d.ts
/**
 * Kanban Types
 */
/**
 * Defines types to be used as ReturnType.
 */
export  type ReturnType = {
    result: Record<string, any>[];
    count: number;
    aggregates?: Record<string, any>;
};
/**
 * Defines types to be used as CurrentAction.
 */
export  type CurrentAction = 'Add' | 'Edit' | 'Delete';
/**
 * Defines types to be used as SelectionType.
 */
export  type SelectionType = 'None' | 'Single' | 'Multiple';
/**
 * Defines types to be used as SortDirection.
 */
export  type SortDirection = 'Ascending' | 'Descending';
/**
 * Defines types to be used as SortOrder.
 */
export  type SortOrderBy = 'DataSourceOrder' | 'Index' | 'Custom';
/**
 * Defines types to be used as ConstraintType.
 */
export  type ConstraintType = 'Column' | 'Swimlane';
/**
 * Defines types used to specifies the Dialog Field Type.
 */
export  type DialogFieldType = 'TextBox' | 'DropDown' | 'Numeric' | 'TextArea';
//node_modules/@syncfusion/ej2-kanban/src/kanban/index.d.ts
/**
 * Kanban component exported items
 */
//node_modules/@syncfusion/ej2-kanban/src/kanban/models/card-settings-model.d.ts
/**
 * Interface for a class CardSettings
 */
export interface CardSettingsModel {
    /**
     * Show or hide the card header
     *
     * @default true
     */
    showHeader?: boolean;
    /**
     * Defines the card header text
     *
     * @default null
     */
    headerField?: string;
    /**
     * Defines the card content text
     *
     * @default null
     */
    contentField?: string;
    /**
     * Defines the card content labels
     *
     * @default null
     */
    tagsField?: string;
    /**
     * Defines the card color
     *
     * @default null
     */
    grabberField?: string;
    /**
     * Defines the card icons
     *
     * @default null
     */
    footerCssField?: string;
    /**
     * Defines the card template
     *
     * @default null
     */
    template?: string;
    /**
     * It defines the card selection type, which accepts either of the following values.
     * * Single
     * * Multiple
     * * None
     *
     * @default 'Single'
     */
    selectionType?: SelectionType;
}
//node_modules/@syncfusion/ej2-kanban/src/kanban/models/card-settings.d.ts
/**
 * Holds the configuration of card settings in kanban board.
 */
export  class CardSettings extends base.ChildProperty<CardSettings> {
    /**
     * Show or hide the card header
     *
     * @default true
     */
    showHeader: boolean;
    /**
     * Defines the card header text
     *
     * @default null
     */
    headerField: string;
    /**
     * Defines the card content text
     *
     * @default null
     */
    contentField: string;
    /**
     * Defines the card content labels
     *
     * @default null
     */
    tagsField: string;
    /**
     * Defines the card color
     *
     * @default null
     */
    grabberField: string;
    /**
     * Defines the card icons
     *
     * @default null
     */
    footerCssField: string;
    /**
     * Defines the card template
     *
     * @default null
     */
    template: string;
    /**
     * It defines the card selection type, which accepts either of the following values.
     * * Single
     * * Multiple
     * * None
     *
     * @default 'Single'
     */
    selectionType: SelectionType;
}
//node_modules/@syncfusion/ej2-kanban/src/kanban/models/columns-model.d.ts
/**
 * Interface for a class Columns
 */
export interface ColumnsModel {
    /**
     * Defines the column keyField. It supports both number and string type.
     * String type supports the multiple column keys and number type does not support the multiple column keys. 
     * @default null
     */
    keyField?: string | number;
    /**
     * Defines the column header title
     *
     * @default null
     */
    headerText?: string;
    /**
     * Defines the column template
     *
     * @default null
     */
    template?: string;
    /**
     * Enable or disable toggle column
     *
     * @default false
     */
    allowToggle?: boolean;
    /**
     * Defines the collapsed or expandable state
     *
     * @default true
     */
    isExpanded?: boolean;
    /**
     * Defines the minimum card count in column
     *
     * @default null
     * @aspType int
     */
    minCount?: number;
    /**
     * Defines the maximum card count in column
     *
     * @default null
     * @aspType int
     */
    maxCount?: number;
    /**
     * Enable or disable card count in column
     *
     * @default true
     */
    showItemCount?: boolean;
    /**
     * Enable or disable cell add button
     *
     * @default false
     */
    showAddButton?: boolean;
    /**
     * Enable or disable column drag
     *
     * @default true
     */
    allowDrag?: boolean;
    /**
     * Enable or disable column drop
     *
     * @default true
     */
    allowDrop?: boolean;
    /**
     * Defines the column transition
     *
     * @default []
     */
    transitionColumns?: string[];
}
//node_modules/@syncfusion/ej2-kanban/src/kanban/models/columns.d.ts
/**
 * Holds the configuration of columns in kanban board.
 */
export  class Columns extends base.ChildProperty<Columns> {
    /**
     * Defines the column keyField. It supports both number and string type.
     * String type supports the multiple column keys and number type does not support the multiple column keys.
     * @default null
     */
    keyField: string | number;
    /**
     * Defines the column header title
     *
     * @default null
     */
    headerText: string;
    /**
     * Defines the column template
     *
     * @default null
     */
    template: string;
    /**
     * Enable or disable toggle column
     *
     * @default false
     */
    allowToggle: boolean;
    /**
     * Defines the collapsed or expandable state
     *
     * @default true
     */
    isExpanded: boolean;
    /**
     * Defines the minimum card count in column
     *
     * @default null
     * @aspType int
     */
    minCount: number;
    /**
     * Defines the maximum card count in column
     *
     * @default null
     * @aspType int
     */
    maxCount: number;
    /**
     * Enable or disable card count in column
     *
     * @default true
     */
    showItemCount: boolean;
    /**
     * Enable or disable cell add button
     *
     * @default false
     */
    showAddButton: boolean;
    /**
     * Enable or disable column drag
     *
     * @default true
     */
    allowDrag: boolean;
    /**
     * Enable or disable column drop
     *
     * @default true
     */
    allowDrop: boolean;
    /**
     * Defines the column transition
     *
     * @default []
     */
    transitionColumns: string[];
}
//node_modules/@syncfusion/ej2-kanban/src/kanban/models/dialog-fields-model.d.ts
/**
 * Interface for a class DialogFields
 */
export interface DialogFieldsModel {
    /**
     * Defines the field text
     *
     * @default null
     */
    text?: string;
    /**
     * Defines the field key
     *
     * @default null
     */
    key?: string;
    /**
     * It defines the field type, which accepts either of the following values.
     * * TextBox
     * * DropDown
     * * Numeric
     * * TextArea
     *
     * @default null
     */
    type?: DialogFieldType;
    /**
     * Defines the validationRules for fields
     *
     * @default {}
     */
    validationRules?: Record<string, any>;
}
//node_modules/@syncfusion/ej2-kanban/src/kanban/models/dialog-fields.d.ts
/**
 * Holds the configuration of editor fields.
 */
export  class DialogFields extends base.ChildProperty<DialogFields> {
    /**
     * Defines the field text
     *
     * @default null
     */
    text: string;
    /**
     * Defines the field key
     *
     * @default null
     */
    key: string;
    /**
     * It defines the field type, which accepts either of the following values.
     * * TextBox
     * * DropDown
     * * Numeric
     * * TextArea
     *
     * @default null
     */
    type: DialogFieldType;
    /**
     * Defines the validationRules for fields
     *
     * @default {}
     */
    validationRules: Record<string, any>;
}
//node_modules/@syncfusion/ej2-kanban/src/kanban/models/dialog-settings-model.d.ts
/**
 * Interface for a class DialogSettings
 */
export interface DialogSettingsModel {
    /**
     * Defines the dialog template
     *
     * @default null
     */
    template?: string;
    /**
     * Defines the dialog fields
     *
     * @default []
     */
    fields?: DialogFieldsModel[];
    /**
     * Customize the model object configuration for the edit or add Dialog component.
     *
     * @default null
     */
    model?: KanbanDialogModel;
}
//node_modules/@syncfusion/ej2-kanban/src/kanban/models/dialog-settings.d.ts
/**
 * Holds the configuration of editor settings.
 */
export  class DialogSettings extends base.ChildProperty<DialogSettings> {
    /**
     * Defines the dialog template
     *
     * @default null
     */
    template: string;
    /**
     * Defines the dialog fields
     *
     * @default []
     */
    fields: DialogFieldsModel[];
    /**
     * Customize the model object configuration for the edit or add Dialog component.
     *
     * @default null
     */
    model: KanbanDialogModel;
}
//node_modules/@syncfusion/ej2-kanban/src/kanban/models/index.d.ts
/**
 * Export model files
 */
//node_modules/@syncfusion/ej2-kanban/src/kanban/models/kanban-dialog-model.d.ts
/**
 * Interface for a class KanbanDialog
 */
export interface KanbanDialogModel {
    /**
     * Specifies the value whether the dialog component can be dragged by the end-user.
     * The dialog allows to drag by selecting the header and dragging it for re-position the dialog.
     *
     * @default false
     */
    allowDragging?: boolean;
    /**
     * Specifies the animation settings of the dialog component.
     * The animation effect can be applied on open and close the dialog with duration and delay.
     *
     * @default { effect: 'Fade', duration: 400, delay:0 }
     */
    animationSettings?: popups.AnimationSettingsModel;
    /**
     * Specifies the boolean value whether the dialog can be closed with the escape key
     * that is used to control the dialog's closing behavior.
     *
     * @default true
     */
    closeOnEscape?: boolean;
    /**
     * Specifies the CSS class name that can be appended with root element of the dialog.
     * One or more custom CSS classes can be added to a dialog.
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * Specifies the value whether the dialog component can be resized by the end-user.
     * If enableResize is true, the dialog component creates grip to resize it diagonal direction.
     *
     * @default false
     */
    enableResize?: boolean;
    /**
     * Specifies the height of the dialog component.
     *
     * @default 'auto'
     */
    height?: string | number;
    /**
     * Specifies the Boolean value whether the dialog can be displayed as modal or non-modal.
     * * `Modal`: It creates overlay that disable interaction with the parent application and user should
     * respond with modal before continuing with other applications.
     * * `Modeless`: It does not prevent user interaction with parent application.
     *
     * @default true
     */
    isModal?: boolean;
    /**
     * Specify the min-height of the dialog component.
     *
     * @default ''
     */
    minHeight?: string | number;
    /**
     * Specifies the value where the dialog can be positioned within the document or target.
     * The position can be represented with pre-configured positions or specific X and Y values.
     * * `X value`: left, center, right, or offset value.
     * * `Y value`: top, center, bottom, or offset value.
     *
     * @default { X:'center', Y:'center'}
     */
    position?: popups.PositionDataModel;
    /**
     * Specifies the value that represents whether the close icon is shown in the dialog component.
     *
     * @default true
     */
    showCloseIcon?: boolean;
    /**
     * Specifies the target element in which to display the dialog.
     * The default value is null, which refers the `document.body` element.
     *
     * @default null
     */
    target?: HTMLElement | string;
    /**
     * Specifies the width of the dialog.
     *
     * @default 350
     */
    width?: string | number;
    /**
     * Specifies the z-order for rendering that determines whether the dialog is displayed in front or behind of another component.
     *
     * @default 1000
     */
    zIndex?: number;
}
//node_modules/@syncfusion/ej2-kanban/src/kanban/models/kanban-dialog.d.ts
/**
 * Holds the configuration of edit dialog.
 */
export  class KanbanDialog1 extends base.ChildProperty<KanbanDialog> {
    /**
     * Specifies the value whether the dialog component can be dragged by the end-user.
     * The dialog allows to drag by selecting the header and dragging it for re-position the dialog.
     *
     * @default false
     */
    allowDragging: boolean;
    /**
     * Specifies the animation settings of the dialog component.
     * The animation effect can be applied on open and close the dialog with duration and delay.
     *
     * @default { effect: 'Fade', duration: 400, delay:0 }
     */
    animationSettings: popups.AnimationSettingsModel;
    /**
     * Specifies the boolean value whether the dialog can be closed with the escape key
     * that is used to control the dialog's closing behavior.
     *
     * @default true
     */
    closeOnEscape: boolean;
    /**
     * Specifies the CSS class name that can be appended with root element of the dialog.
     * One or more custom CSS classes can be added to a dialog.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * Specifies the value whether the dialog component can be resized by the end-user.
     * If enableResize is true, the dialog component creates grip to resize it diagonal direction.
     *
     * @default false
     */
    enableResize: boolean;
    /**
     * Specifies the height of the dialog component.
     *
     * @default 'auto'
     */
    height: string | number;
    /**
     * Specifies the Boolean value whether the dialog can be displayed as modal or non-modal.
     * * `Modal`: It creates overlay that disable interaction with the parent application and user should
     * respond with modal before continuing with other applications.
     * * `Modeless`: It does not prevent user interaction with parent application.
     *
     * @default true
     */
    isModal: boolean;
    /**
     * Specify the min-height of the dialog component.
     *
     * @default ''
     */
    minHeight: string | number;
    /**
     * Specifies the value where the dialog can be positioned within the document or target.
     * The position can be represented with pre-configured positions or specific X and Y values.
     * * `X value`: left, center, right, or offset value.
     * * `Y value`: top, center, bottom, or offset value.
     *
     * @default { X:'center', Y:'center'}
     */
    position: popups.PositionDataModel;
    /**
     * Specifies the value that represents whether the close icon is shown in the dialog component.
     *
     * @default true
     */
    showCloseIcon: boolean;
    /**
     * Specifies the target element in which to display the dialog.
     * The default value is null, which refers the `document.body` element.
     *
     * @default null
     */
    target: HTMLElement | string;
    /**
     * Specifies the width of the dialog.
     *
     * @default 350
     */
    width: string | number;
    /**
     * Specifies the z-order for rendering that determines whether the dialog is displayed in front or behind of another component.
     *
     * @default 1000
     */
    zIndex: number;
}
//node_modules/@syncfusion/ej2-kanban/src/kanban/models/sort-settings-model.d.ts
/**
 * Interface for a class SortSettings
 */
export interface SortSettingsModel {
    /**
     * Sort the cards. The possible values are:
     * * DataSourceOrder
     * * Index
     * * Custom
     *
     * @default 'Index'
     */
    sortBy?: SortOrderBy;
    /**
     * Defines the sort field
     *
     * @default null
     */
    field?: string;
    /**
     * Sort the cards. The possible values are:
     * * Ascending
     * * Descending
     *
     * @default 'Ascending'
     */
    direction?: SortDirection;
}
//node_modules/@syncfusion/ej2-kanban/src/kanban/models/sort-settings.d.ts
/**
 * Holds the configuration of sort settings in kanban board.
 */
export  class SortSettings extends base.ChildProperty<SortSettings> {
    /**
     * Sort the cards. The possible values are:
     * * DataSourceOrder
     * * Index
     * * Custom
     *
     * @default 'Index'
     */
    sortBy: SortOrderBy;
    /**
     * Defines the sort field
     *
     * @default null
     */
    field: string;
    /**
     * Sort the cards. The possible values are:
     * * Ascending
     * * Descending
     *
     * @default 'Ascending'
     */
    direction: SortDirection;
}
//node_modules/@syncfusion/ej2-kanban/src/kanban/models/stacked-headers-model.d.ts
/**
 * Interface for a class StackedHeaders
 */
export interface StackedHeadersModel {
    /**
     * Defines the column header text
     *
     * @default null
     */
    text?: string;
    /**
     * Defines the multiple columns keyField
     *
     * @default null
     */
    keyFields?: string;
}
//node_modules/@syncfusion/ej2-kanban/src/kanban/models/stacked-headers.d.ts
/**
 * Holds the configuration of stacked header settings in kanban board.
 */
export  class StackedHeaders extends base.ChildProperty<StackedHeaders> {
    /**
     * Defines the column header text
     *
     * @default null
     */
    text: string;
    /**
     * Defines the multiple columns keyField
     *
     * @default null
     */
    keyFields: string;
}
//node_modules/@syncfusion/ej2-kanban/src/kanban/models/swimlane-settings-model.d.ts
/**
 * Interface for a class SwimlaneSettings
 */
export interface SwimlaneSettingsModel {
    /**
     * Defines the swimlane key field
     *
     * @default null
     */
    keyField?: string;
    /**
     * Defines the swimlane header text field
     *
     * @default null
     */
    textField?: string;
    /**
     * Enable or disable empty swimlane
     *
     * @default false
     */
    showEmptyRow?: boolean;
    /**
     * Enable or disable items count
     *
     * @default true
     */
    showItemCount?: boolean;
    /**
     * Enable or disable the card drag and drop actions
     *
     * @default false
     */
    allowDragAndDrop?: boolean;
    /**
     * Defines the swimlane row template
     *
     * @default null
     */
    template?: string;
    /**
     * Sort the swimlane resources. The possible values are:
     * * Ascending
     * * Descending
     *
     * @default 'Ascending'
     */
    sortDirection?: SortDirection;
    /**
     * Defines the custom sort comparer function.
     * The sort comparer function has the same functionality like
     * [`Array.sort`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort) sort comparer.
     *
     * @default null
     */
    sortComparer?: SortComparerFunction;
    /**
     * Enable or disable unassigned swimlane group
     *
     * @default true
     */
    showUnassignedRow?: boolean;
    /**
     * Enables or disables the freeze the swimlane rows
     *
     * @default false
     */
    enableFrozenRows?: boolean;
}
//node_modules/@syncfusion/ej2-kanban/src/kanban/models/swimlane-settings.d.ts
/**
 * Holds the configuration of swimlane settings in kanban board.
 */
export  class SwimlaneSettings extends base.ChildProperty<SwimlaneSettings> {
    /**
     * Defines the swimlane key field
     *
     * @default null
     */
    keyField: string;
    /**
     * Defines the swimlane header text field
     *
     * @default null
     */
    textField: string;
    /**
     * Enable or disable empty swimlane
     *
     * @default false
     */
    showEmptyRow: boolean;
    /**
     * Enable or disable items count
     *
     * @default true
     */
    showItemCount: boolean;
    /**
     * Enable or disable the card drag and drop actions
     *
     * @default false
     */
    allowDragAndDrop: boolean;
    /**
     * Defines the swimlane row template
     *
     * @default null
     */
    template: string;
    /**
     * Sort the swimlane resources. The possible values are:
     * * Ascending
     * * Descending
     *
     * @default 'Ascending'
     */
    sortDirection: SortDirection;
    /**
     * Defines the custom sort comparer function.
     * The sort comparer function has the same functionality like
     * [`Array.sort`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort) sort comparer.
     *
     * @default null
     */
    sortComparer: SortComparerFunction;
    /**
     * Enable or disable unassigned swimlane group
     *
     * @default true
     */
    showUnassignedRow: boolean;
    /**
     * Enables or disables the freeze the swimlane rows
     *
     * @default false
     */
    enableFrozenRows: boolean;
}
 }
export namespace layouts { 

//node_modules/@syncfusion/ej2-layouts/src/dashboard-layout/dashboard-layout-model.d.ts
/**
 * Interface for a class Panel
 */
export interface PanelModel {
    /**
     * Defines the id of the panel.
     *
     * @default ''
     */
    id?: string;
    /**
     * Defines the CSS class name that can be appended with each panel element.
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * Defines the template value that should be displayed as the panel's header.
     *
     */
    header?: string | HTMLElement;
    /**
     * Defines the template value that should be displayed as the panel's content.
     *
     */
    content?: string | HTMLElement;
    /**
     * Defines whether to the panel should be enabled or not.
     *
     * @default true
     */
    enabled?: boolean;
    /**
     * Defines a row value where the panel should be placed.
     *
     * @default 0
     * @aspType int
     */
    row?: number;
    /**
     * Defines the column value where the panel to be placed.
     *
     * @default 0
     * @aspType int
     */
    col?: number;
    /**
     * Specifies the width of the panel in the layout in cells count.
     *
     * @default 1
     */
    sizeX?: number;
    /**
     * Specifies the height of the panel in the layout in cells count.
     *
     * @default 1
     */
    sizeY?: number;
    /**
     * Specifies the minimum height of the panel in cells count.
     *
     * @default 1
     */
    minSizeY?: number;
    /**
     * Specifies the minimum width of the panel in cells count.
     *
     * @default 1
     */
    minSizeX?: number;
    /**
     * Specifies the maximum height of the panel in cells count.
     *
     * @default null
     * @aspType int
     *
     */
    maxSizeY?: number;
    /**
     * Specifies the maximum width of the panel in cells count.
     *
     * @default null
     * @aspType int
     */
    maxSizeX?: number;
    /**
     * Specifies the z-index of the panel
     *
     * @default 1000
     * @aspType double
     */
    zIndex?: number;
}
/**
 * Interface for a class DashboardLayout
 */
export interface DashboardLayoutModel extends base.ComponentModel{
    /**
     * If allowDragging is set to true, then the DashboardLayout allows you to drag and reorder the panels.
     *
     * @default true
     */
    allowDragging?: boolean;
    /**
     * If allowResizing is set to true, then the DashboardLayout allows you to resize the panels.
     *
     * @default false
     */
    allowResizing?: boolean;
    /**
     * If pushing is set to true, then the DashboardLayout allow to push the panels when panels collide
     * while dragging or resizing the panels.
     *
     * @default true
     * @private
     */
    allowPushing?: boolean;
    /**
     * Defines whether to allow the cross-scripting site or not.
     *
     * @default true
     */
    enableHtmlSanitizer?: boolean;
    /**
     * If allowFloating is set to true, then the DashboardLayout automatically move the panels upwards to fill the empty available
     * cells while dragging or resizing the panels.
     *
     * @default true
     */
    allowFloating?: boolean;
    /**
     * Defines the cell aspect ratio of the panel.
     *
     * @default 1
     */
    cellAspectRatio?: number;
    /**
     * Defines the spacing between the panels.
     *
     * @default [5,5]
     */
    cellSpacing?: number[];
    /**
     * Defines the number of columns to be created in the DashboardLayout.
     *
     * @default 1
     */
    columns?: number;
    /**
     * Enables or disables the grid lines for the Dashboard Layout panels.
     *
     * @default false
     */
    showGridLines?: boolean;
    /**
     * Defines the draggable handle selector which will act as dragging handler for the panels.
     *
     * @default null
     */
    draggableHandle?: string;
    /**
     * Locale property.
     * This is not a dashboard layout property.
     *
     * @default 'en-US'
     * @private
     */
    locale?: string;
    /**
     * Defines the media query value where the dashboardlayout becomes stacked layout when the resolution meets.
     *
     * @default 'max-width:600px'
     */
    mediaQuery?: string;
    /**
     *
     * Defines the panels property of the DashboardLayout component.
     *
     * @default null
     */
    panels?: PanelModel[];
    /**
     * Defines the resizing handles directions used for resizing the panels.
     *
     * @default 'e-south-east'
     *
     */
    resizableHandles?: string[];
    /**
     * Triggers whenever the panels positions are changed.
     *
     * @event 'object'
     */
    change?: base.EmitType<ChangeEventArgs>;
    /**
     * Triggers when a panel is about to drag.
     *
     * @event 'object'
     */
    dragStart?: base.EmitType<DragStartArgs>;
    /**
     * Triggers while a panel is dragged continuously.
     *
     * @event 'object'
     */
    drag?: base.EmitType<DraggedEventArgs>;
    /**
     * Triggers when a dragged panel is dropped.
     *
     * @event 'object'
     */
    dragStop?: base.EmitType<DragStopArgs>;
    /**
     * Triggers when a panel is about to resize.
     *
     * @event 'object'
     */
    resizeStart?: base.EmitType<ResizeArgs>;
    /**
     * Triggers when a panel is being resized continuously.
     *
     * @event 'object'
     */
    resize?: base.EmitType<ResizeArgs>;
    /**
     * Triggers when a panel resize ends.
     *
     * @event 'object'
     */
    resizeStop?: base.EmitType<ResizeArgs>;
    /**
     * Triggers when Dashboard Layout is created.
     *
     * @event 'object'
     */
    created?: base.EmitType<Object>;
    /**
     * Triggers when Dashboard Layout is destroyed.
     *
     * @event 'object'
     */
    destroyed?: base.EmitType<Object>;
}
//node_modules/@syncfusion/ej2-layouts/src/dashboard-layout/dashboard-layout.d.ts
/**
 * Defines the panel of the DashboardLayout component.
 */
export  class Panel extends base.ChildProperty<Panel> {
    /**
     * Defines the id of the panel.
     *
     * @default ''
     */
    id: string;
    /**
     * Defines the CSS class name that can be appended with each panel element.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * Defines the template value that should be displayed as the panel's header.
     *
     */
    header: string | HTMLElement;
    /**
     * Defines the template value that should be displayed as the panel's content.
     *
     */
    content: string | HTMLElement;
    /**
     * Defines whether to the panel should be enabled or not.
     *
     * @default true
     */
    enabled: boolean;
    /**
     * Defines a row value where the panel should be placed.
     *
     * @default 0
     * @aspType int
     */
    row: number;
    /**
     * Defines the column value where the panel to be placed.
     *
     * @default 0
     * @aspType int
     */
    col: number;
    /**
     * Specifies the width of the panel in the layout in cells count.
     *
     * @default 1
     */
    sizeX: number;
    /**
     * Specifies the height of the panel in the layout in cells count.
     *
     * @default 1
     */
    sizeY: number;
    /**
     * Specifies the minimum height of the panel in cells count.
     *
     * @default 1
     */
    minSizeY: number;
    /**
     * Specifies the minimum width of the panel in cells count.
     *
     * @default 1
     */
    minSizeX: number;
    /**
     * Specifies the maximum height of the panel in cells count.
     *
     * @default null
     * @aspType int
     *
     */
    maxSizeY: number;
    /**
     * Specifies the maximum width of the panel in cells count.
     *
     * @default null
     * @aspType int
     */
    maxSizeX: number;
    /**
     * Specifies the z-index of the panel
     *
     * @default 1000
     * @aspType double
     */
    zIndex: number;
}
/**
 * The DashboardLayout is a grid structured layout control, that helps to create a dashboard with panels.
 * Panels hold the UI components or data to be visualized with flexible options like resize, reorder, drag-n-drop, remove and add,
 * that allows users to easily place the panels at a desired position within the grid layout.
 * ```html
 * <div id="default-layout">
 * ```
 * ```typescript
 * <script>
 *   let dashBoardObject : DashboardLayout = new DashboardLayout();
 *   dashBoardObject.appendTo('#default-layout');
 * </script>
 * ```
 */
export  class DashboardLayout extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    protected panelCollection: HTMLElement[];
    protected checkCollision: HTMLElement[];
    protected mainElement: HTMLElement;
    protected rows: number;
    protected dragobj: base.Draggable;
    protected dragStartArgs: DragStartArgs;
    protected dragStopEventArgs: DragStopArgs;
    protected draggedEventArgs: DraggedEventArgs;
    protected updatedRows: number;
    protected tempObject: DashboardLayout;
    protected sortedArray: HTMLElement[][];
    protected cloneArray: HTMLElement[][];
    protected panelID: number;
    protected movePanelCalled: boolean;
    protected resizeCalled: boolean;
    protected gridPanelCollection: PanelModel[];
    protected overlapElement: HTMLElement[];
    protected shouldRestrict: boolean;
    protected shouldSubRestrict: boolean;
    protected overlapElementClone: HTMLElement[];
    protected overlapSubElementClone: HTMLElement[];
    protected dragCollection: base.Draggable[];
    protected iterationValue: number;
    protected shadowEle: HTMLElement;
    protected elementRef: {
        top: string;
        left: string;
        height: string;
        width: string;
    };
    protected allItems: HTMLElement[];
    protected dimensions: (string | number)[];
    protected oldRowCol: {
        [key: string]: {
            row: number;
            col: number;
        };
    };
    protected collisionChecker: {
        [key: string]: {
            ele: HTMLElement;
            row: number;
            srcEle: HTMLElement;
        };
    };
    protected availableClasses: string[];
    protected addPanelCalled: boolean;
    protected isSubValue: boolean;
    protected direction: number;
    protected directionRow: number;
    protected lastMouseX: number;
    protected lastMouseY: number;
    protected elementX: number;
    protected elementY: number;
    protected elementWidth: number;
    protected elementHeight: number;
    protected previousRow: number;
    protected originalWidth: number;
    protected originalHeight: number;
    protected handleClass: string;
    protected mOffX: number;
    protected mOffY: number;
    protected maxTop: number;
    protected maxRows: number;
    protected maxLeft: number;
    protected mouseX: number;
    protected mouseY: number;
    protected minTop: number;
    protected minLeft: number;
    protected moveTarget: HTMLElement;
    protected upTarget: HTMLElement;
    protected downTarget: HTMLElement;
    protected leftAdjustable: boolean;
    protected rightAdjustable: boolean;
    protected topAdjustable: boolean;
    protected restrictDynamicUpdate: boolean;
    protected spacedColumnValue: number;
    protected checkingElement: HTMLElement;
    protected panelContent: HTMLElement;
    protected panelHeaderElement: HTMLElement;
    protected panelBody: HTMLElement;
    protected startRow: number;
    protected startCol: number;
    protected maxColumnValue: number;
    protected checkColumnValue: number;
    protected spacedRowValue: number;
    protected cellSize: number[];
    protected table: HTMLElement;
    protected cloneObject: {
        [key: string]: {
            row: number;
            col: number;
        };
    };
    private panelsInitialModel;
    protected isRenderComplete: boolean;
    protected isMouseUpBound: boolean;
    protected isMouseMoveBound: boolean;
    protected contentTemplateChild: HTMLElement[];
    private isInlineRendering;
    private removeAllCalled;
    private isPanelRemoved;
    private panelsSizeY;
    private resizeHeight;
    private refreshListener;
    /**
     * If allowDragging is set to true, then the DashboardLayout allows you to drag and reorder the panels.
     *
     * @default true
     */
    allowDragging: boolean;
    /**
     * If allowResizing is set to true, then the DashboardLayout allows you to resize the panels.
     *
     * @default false
     */
    allowResizing: boolean;
    /**
     * If pushing is set to true, then the DashboardLayout allow to push the panels when panels collide
     * while dragging or resizing the panels.
     *
     * @default true
     * @private
     */
    private allowPushing;
    /**
     * Defines whether to allow the cross-scripting site or not.
     *
     * @default true
     */
    enableHtmlSanitizer: boolean;
    /**
     * If allowFloating is set to true, then the DashboardLayout automatically move the panels upwards to fill the empty available
     * cells while dragging or resizing the panels.
     *
     * @default true
     */
    allowFloating: boolean;
    /**
     * Defines the cell aspect ratio of the panel.
     *
     * @default 1
     */
    cellAspectRatio: number;
    /**
     * Defines the spacing between the panels.
     *
     * @default [5,5]
     */
    cellSpacing: number[];
    /**
     * Defines the number of columns to be created in the DashboardLayout.
     *
     * @default 1
     */
    columns: number;
    /**
     * Enables or disables the grid lines for the Dashboard Layout panels.
     *
     * @default false
     */
    showGridLines: boolean;
    /**
     * Defines the draggable handle selector which will act as dragging handler for the panels.
     *
     * @default null
     */
    draggableHandle: string;
    /**
     * Locale property.
     * This is not a dashboard layout property.
     *
     * @default 'en-US'
     * @private
     */
    locale: string;
    /**
     * Defines the media query value where the dashboardlayout becomes stacked layout when the resolution meets.
     *
     * @default 'max-width:600px'
     */
    mediaQuery: string;
    /**
     *
     * Defines the panels property of the DashboardLayout component.
     *
     * @default null
     */
    panels: PanelModel[];
    /**
     * Defines the resizing handles directions used for resizing the panels.
     *
     * @default 'e-south-east'
     *
     */
    resizableHandles: string[];
    /**
     * Triggers whenever the panels positions are changed.
     *
     * @event 'object'
     */
    change: base.EmitType<ChangeEventArgs>;
    /**
     * Triggers when a panel is about to drag.
     *
     * @event 'object'
     */
    dragStart: base.EmitType<DragStartArgs>;
    /**
     * Triggers while a panel is dragged continuously.
     *
     * @event 'object'
     */
    drag: base.EmitType<DraggedEventArgs>;
    /**
     * Triggers when a dragged panel is dropped.
     *
     * @event 'object'
     */
    dragStop: base.EmitType<DragStopArgs>;
    /**
     * Triggers when a panel is about to resize.
     *
     * @event 'object'
     */
    resizeStart: base.EmitType<ResizeArgs>;
    /**
     * Triggers when a panel is being resized continuously.
     *
     * @event 'object'
     */
    resize: base.EmitType<ResizeArgs>;
    /**
     * Triggers when a panel resize ends.
     *
     * @event 'object'
     */
    resizeStop: base.EmitType<ResizeArgs>;
    /**
     * Triggers when Dashboard Layout is created.
     *
     * @event 'object'
     */
    created: base.EmitType<Object>;
    /**
     * Triggers when Dashboard Layout is destroyed.
     *
     * @event 'object'
     */
    destroyed: base.EmitType<Object>;
    /**
     * Initialize the event handler
     *
     * @private
     */
    protected preRender(): void;
    protected setOldRowCol(): void;
    protected createPanelElement(cssClass: string[], idValue: string): HTMLElement;
    /**
     * To Initialize the control rendering.
     *
     * @returns void
     * @private
     */
    protected render(): void;
    private initGridLines;
    private initialize;
    protected checkMediaQuery(): boolean;
    protected calculateCellSize(): void;
    protected maxRow(recheck?: boolean): number;
    protected maxCol(): number;
    protected updateOldRowColumn(): void;
    protected createSubElement(cssClass: string[], idValue: string, className: string): HTMLElement;
    private templateParser;
    protected renderTemplate(content: string, appendElement: HTMLElement, type: string, isStringTemplate: boolean, prop: string): void;
    protected renderPanels(cellElement: HTMLElement, panelModel: PanelModel, panelId: string, isStringTemplate: boolean): HTMLElement;
    protected disablePanel(panelElement: HTMLElement): void;
    protected getInlinePanels(panelElement: HTMLElement): void;
    private resizeEvents;
    protected bindEvents(): void;
    protected downResizeHandler(e: MouseEvent): void;
    protected downHandler(e: MouseEvent | TouchEvent): void;
    protected touchDownResizeHandler(e: TouchEvent): void;
    private getCellSize;
    protected updateMaxTopLeft(e: MouseEvent | TouchEvent): void;
    protected updateResizeElement(el: HTMLElement): void;
    protected moveResizeHandler(e: MouseEvent): void;
    protected touchMoveResizeHandler(e: TouchEvent): void;
    protected resizingPanel(el: HTMLElement, panelModel: PanelModel, currentX: number, currentY: number): void;
    protected upResizeHandler(e: MouseEvent | TouchEvent): void;
    protected getResizeRowColumn(item: PanelModel): PanelModel;
    protected pixelsToColumns(pixels: number, isCeil: boolean): number;
    protected pixelsToRows(pixels: number, isCeil: boolean): number;
    protected getMinWidth(item: PanelModel): number;
    protected getMaxWidth(item: PanelModel): number;
    protected getMinHeight(item: PanelModel): number;
    protected getMaxHeight(item: PanelModel): number;
    protected sortedPanel(): void;
    protected moveItemsUpwards(): void;
    protected moveItemUpwards(item: HTMLElement): void;
    private sortItem;
    protected updateLayout(element: HTMLElement, panelModel: PanelModel): void;
    refresh(): void;
    protected updateGridLines(): void;
    protected checkDragging(dragCollection: base.Draggable[]): void;
    protected sortPanels(): PanelModel[];
    protected checkMediaQuerySizing(): void;
    protected panelResponsiveUpdate(): void;
    protected updateRowHeight(): void;
    protected setHeightWidth(): void;
    protected setHeightAndWidth(panelElement: HTMLElement, panelModel: PanelModel): void;
    protected renderCell(panel: PanelModel, isStringTemplate: boolean, index: number): HTMLElement;
    protected setPanelPosition(cellElement: HTMLElement, row: number, col: number): void;
    protected getRowColumn(): void;
    protected setMinMaxValues(panel: PanelModel): void;
    protected checkMinMaxValues(panel: PanelModel): void;
    protected panelPropertyChange(panel: PanelModel, value: IChangePanel): void;
    protected renderDashBoardCells(cells: PanelModel[]): void;
    protected collisions(row: number, col: number, sizeX: number, sizeY: number, ignore: HTMLElement[] | HTMLElement): HTMLElement[];
    protected rightWardsSpaceChecking(rowElements: HTMLElement[], col: number, ele: HTMLElement): number[];
    protected getOccupiedColumns(element: HTMLElement): number[];
    protected leftWardsSpaceChecking(rowElements: HTMLElement[], col: number, ele: HTMLElement): number[];
    protected adjustmentAvailable(row: number, col: number, sizeY: number, sizeX: number, ele: HTMLElement): boolean;
    protected isXSpacingAvailable(spacing: number[], sizeX?: number): boolean;
    protected getRowElements(base: HTMLElement[]): HTMLElement[];
    protected isLeftAdjustable(spaces: number[], ele: HTMLElement, row: number, col: number, sizeX: number, sizeY: number): boolean;
    protected isRightAdjustable(spacing: number[], ele: HTMLElement, row: number, col: number, sizeX: number, sizeY: number): boolean;
    protected replacable(spacing: number[], sizeX: number, row: number, sizeY: number, ele: HTMLElement): boolean;
    protected sortCollisionItems(collisionItems: HTMLElement[]): HTMLElement[];
    protected updatedModels(collisionItems: HTMLElement[], panelModel: PanelModel, ele: HTMLElement): HTMLElement[];
    protected resetLayout(model: PanelModel): HTMLElement[];
    protected swapAvailability(collisions: HTMLElement[], element: HTMLElement): boolean;
    protected checkForSwapping(collisions: HTMLElement[], element: HTMLElement): boolean;
    protected swapItems(collisions: HTMLElement[], element: HTMLElement, panelModel: PanelModel): void;
    protected updatePanelLayout(element: HTMLElement, panelModel: PanelModel): void;
    protected checkForCompletePushing(): void;
    protected updateCollisionChecked(item: HTMLElement): void;
    protected updateRowColumn(row: number, ele: HTMLElement[], srcEle: HTMLElement): void;
    protected collisionPanel(collisionModels: HTMLElement[], colValue: number, updatedRow: number, clone: HTMLElement): void;
    protected removeResizeClasses(panelElements: HTMLElement[]): void;
    protected ensureDrag(): void;
    protected setClasses(panelCollection: HTMLElement[]): void;
    protected setResizingClass(ele?: HTMLElement, container?: HTMLElement): void;
    protected setXYAttributes(element: HTMLElement, panelModel: PanelModel): void;
    protected setXYDimensions(panelModel: PanelModel): (string | number)[];
    protected getRowColumnDragValues(args: base.DragEventArgs): number[];
    protected checkForChanges(isInteracted: boolean, added?: PanelModel[], removed?: PanelModel[]): void;
    protected enableDraggingContent(collections: HTMLElement[]): void;
    protected updatePanels(): void;
    protected updateDragArea(): void;
    protected updateRowsHeight(row: number, sizeY: number, addRows: number): void;
    private onDraggingStart;
    private cloneModels;
    private onDragStart;
    protected getPanelBase(args: HTMLElement | base.DragEventArgs | string): HTMLElement;
    protected getPanel(row: number, column: number, excludeItems: HTMLElement[] | HTMLElement): PanelModel;
    protected setHolderPosition(args: base.DragEventArgs): void;
    protected getCellInstance(idValue: string): PanelModel;
    /**
     * Allows to add a panel to the Dashboardlayout.
     *
     * @param {panel} panel -  Defines the panel element.
     *
     * @returns void
     * @deprecated
     */
    addPanel(panel: PanelModel): void;
    /**
     * Allows to update a panel in the DashboardLayout.
     *
     * @param {panel} panel - Defines the panel element.
     *
     * @returns void
     * @deprecated
     */
    updatePanel(panel: PanelModel): void;
    protected updateCloneArrayObject(): void;
    /**
     * Returns the panels object of the DashboardLayout.
     *
     * @returns [`PanelModel[]`](./panelModel)
     */
    serialize(): PanelModel[];
    /**
     * Removes all the panels from the DashboardLayout.
     */
    removeAll(): void;
    /**
     * Removes the panel from the DashboardLayout.
     *
     * @param {string} id -  Defines the panel ID.
     *
     * @returns void
     */
    removePanel(id: string): void;
    constructor(options?: DashboardLayoutModel, element?: string | HTMLInputElement);
    /**
     *Moves the panel in the DashboardLayout.
     *
     * @param {string} id - Defines the panel ID.
     *
     * @param  {number} row - Defines the row of dashboard layout.
     *
     * @param {number} col - Defines the column of dashboard layout.
     *
     * @returns void
     */
    movePanel(id: string, row: number, col: number): void;
    protected setAttributes(value: IAttributes, ele: HTMLElement): void;
    /**
     * Resize the panel in the DashboardLayout.
     *
     * @param {string} id - Defines the panel ID.
     *
     * @param {number} sizeX - Defines the sizeX of dashboard layout.
     *
     * @param {number} sizeY - Defines the sizeY of dashboard layout.
     */
    resizePanel(id: string, sizeX: number, sizeY: number): void;
    /**
     * Destroys the DashboardLayout component
     *
     * @returns void
     */
    destroy(): void;
    private removeAllPanel;
    protected setEnableRtl(): void;
    /**
     * Called internally if any of the property value changed.
     * returns void
     *
     * @private
     */
    private updateCellSizeAndSpacing;
    private updatePanelsDynamically;
    private checkForIDValues;
    /**
     * Called internally if any of the property value changed.
     *
     * returns void
     *
     * @private
     */
    onPropertyChanged(newProp: DashboardLayoutModel, oldProp: DashboardLayoutModel): void;
    /**
     * Gets the properties to be maintained upon browser refresh.
     *
     * @returns string
     * @private
     */
    getPersistData(): string;
    private mergePersistPanelData;
    protected mergePanels(sortedPanels: Panel[], panels: Panel[]): void;
    /**
     * Returns the current module name.
     *
     * @returns string
     *
     * @private
     */
    protected getModuleName(): string;
}
/**
 * Defines the dragstart event arguments
 */
export interface DragStartArgs {
    /**
     * Specifies the original event.
     */
    event: MouseEvent | TouchEvent;
    /**
     * Illustrates whether the current action needs to be prevented or not.
     */
    cancel: boolean;
    /**
     * Specifies the cell element being dragged.
     */
    element: HTMLElement;
}
/**
 * Defines the change event arguments
 */
export interface ChangeEventArgs {
    /**
     * Specifies the model values of the position changed panels.
     */
    changedPanels: PanelModel[];
    /**
     * Specifies that event has triggered by user interaction.
     */
    isInteracted: boolean;
    /**
     * Specifies the panel added to the DashboardLayout.
     */
    addedPanels: PanelModel[];
    /**
     * Specifies the panels removed from the DashboardLayout.
     */
    removedPanels: PanelModel[];
}
/**
 * Defines the Drag event arguments
 */
export interface DraggedEventArgs {
    /**
     * Specifies the original event.
     */
    event: MouseEvent | TouchEvent;
    /**
     * Specifies the cell element being dragged.
     */
    element: HTMLElement;
    /**
     * Specifies the element below the cell element being dragged.
     */
    target: HTMLElement;
}
/**
 * Defines the dragstop event arguments
 */
export interface DragStopArgs {
    /**
     * Specifies the original event.
     */
    event: MouseEvent | TouchEvent;
    /**
     * Specifies the cell element being dragged.
     */
    element: HTMLElement;
}
/**
 * Defines the resize event arguments
 */
export interface ResizeArgs {
    /**
     * Specifies the original event.
     */
    event: MouseEvent | TouchEvent;
    /**
     * Specifies the cell element being resized.
     */
    element: HTMLElement;
    /**
     * Specifies that event has triggered by user interaction.
     */
    isInteracted: boolean;
}
interface IAttributes {
    [key: string]: {
        sizeX?: string | number;
        sizeY?: string | number;
        minSizeX?: string | number;
        minSizeY?: string | number;
        maxSizeX?: string | number;
        maxSizeY?: string | number;
        row?: string | number;
        col?: string | number;
    };
}
interface IChangePanel {
    sizeX?: number;
    sizeY?: number;
    minSizeX?: number;
    minSizeY?: number;
    maxSizeX?: number;
    maxSizeY?: number;
    row?: number;
    col?: number;
    id?: string;
    header?: string | HTMLElement;
    content?: string | HTMLElement;
}
//node_modules/@syncfusion/ej2-layouts/src/dashboard-layout/index.d.ts
/**
 * dashboardlayout modules
 */
//node_modules/@syncfusion/ej2-layouts/src/index.d.ts
/**
 *     Layout all modules
 */
//node_modules/@syncfusion/ej2-layouts/src/splitter/index.d.ts
/**
 * splitter modules
 */
//node_modules/@syncfusion/ej2-layouts/src/splitter/splitter-model.d.ts
/**
 * Interface for a class PaneProperties
 */
export interface PanePropertiesModel {
    /**
     * Configures the properties for each pane.
     *
     * @default ''
     */
    size?: string;
    /**
     * Specifies whether a pane is collapsible or not collapsible.
     *
     * {% codeBlock src='splitter/collapsible/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    collapsible?: boolean;
    /**
     * Specifies whether a pane is collapsed or not collapsed at the initial rendering of splitter.
     *
     * {% codeBlock src='splitter/collapsed/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    collapsed?: boolean;
    /**
     * Specifies the value whether a pane is resizable. By default, the Splitter is resizable in all panes.
     * You can disable this for any specific panes using this property.
     *
     * @default true
     */
    resizable?: boolean;
    /**
     * Specifies the minimum size of a pane. The pane cannot be resized if it is less than the specified minimum size.
     *
     * @default null
     */
    min?: string;
    /**
     * Specifies the maximum size of a pane. The pane cannot be resized if it is more than the specified maximum limit.
     *
     * @default null
     */
    max?: string;
    /**
     * Specifies the content of split pane as plain text, HTML markup, or any other JavaScript controls.
     *
     * @default ''
     * @blazorType string
     */
    content?: string | HTMLElement;
    /**
     * Specifies the CSS class names that defines specific user-defined
     * styles and themes to be appended on corresponding pane of the Splitter.
     * It is used to customize the Splitter control panes.
     * One or more custom CSS classes can be specified to the Splitter panes.
     *
     * @default ''
     */
    cssClass?: string;
}
/**
 * Interface for a class Splitter
 */
export interface SplitterModel extends base.ComponentModel{
    /**
     * Specifies the height of the Splitter component that accepts both string and number values.
     *
     * @default '100%'
     */
    height?: string;
    /**
     * Specifies the value whether splitter panes are reordered or not .
     *
     * @default true
     */
    enableReversePanes?: boolean;
    /**
     * Specifies the width of the Splitter control, which accepts both string and number values as width.
     * The string value can be either in pixel or percentage format.
     *
     * @default '100%'
     */
    width?: string;
    /**
     * Enables or disables the persisting component's state between page reloads.
     *
     * @default false
     */
    enablePersistence?: boolean;
    /**
     * Configures the individual pane behaviors such as content, size, resizable, minimum, maximum validation, collapsible and collapsed.
     *
     * {% codeBlock src='splitter/panesettings/index.md' %}{% endcodeBlock %}
     *
     * @default []
     */
    paneSettings?: PanePropertiesModel[];
    /**
     * Specifies a value that indicates whether to align the split panes horizontally or vertically.
     *  * Set the orientation property as "Horizontal" to create a horizontal splitter that aligns the panes left-to-right.
     *  * Set the orientation property as "Vertical" to create a vertical splitter that aligns the panes top-to-bottom.
     *
     * {% codeBlock src='splitter/orientation/index.md' %}{% endcodeBlock %}
     *
     * @default Horizontal
     */
    orientation?: Orientation;
    /**
     * Specifies the CSS class names that defines specific user-defined
     * styles and themes to be appended on the root element of the Splitter.
     * It is used to customize the Splitter control.
     * One or more custom CSS classes can be specified to the Splitter.
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * Specifies boolean value that indicates whether the component is enabled or disabled.
     * The Splitter component does not allow to interact when this property is disabled.
     *
     * @default true
     */
    enabled?: boolean;
    /**
     * Defines whether to allow the cross-scripting site or not.
     *
     * @default true
     */
    enableHtmlSanitizer?: boolean;
    /**
     * Specifies the size of the separator line for both horizontal or vertical orientation.
     * The separator is used to separate the panes by lines.
     *
     * @default null
     */
    separatorSize?: number;
    /**
     * base.Event triggers before sanitize the value.
     *
     * @event 'event'
     * @blazorProperty 'OnSanitizeHtml'
     */
    beforeSanitizeHtml?: base.EmitType<BeforeSanitizeHtmlArgs>;
    /**
     * Triggers after creating the splitter component with its panes.
     *
     * @event 'event'
     * @blazorProperty 'Created'
     */
    created?: base.EmitType<Object>;
    /**
     * Triggers when the split pane is started to resize.
     *
     * @event 'event'
     * @blazorProperty 'OnResizeStart'
     */
    resizeStart?: base.EmitType<ResizeEventArgs>;
    /**
     * Triggers when a split pane is being resized.
     *
     * @event 'event'
     * @blazorProperty 'Resizing'
     */
    resizing?: base.EmitType<ResizingEventArgs>;
    /**
     * Triggers when the resizing of split pane is stopped.
     *
     * @event 'event'
     * @blazorProperty 'OnResizeStop'
     */
    resizeStop?: base.EmitType<ResizingEventArgs>;
    /**
     * Triggers when before panes get collapsed.
     *
     * @event 'event'
     * @blazorProperty 'OnCollapse'
     */
    beforeCollapse?: base.EmitType<BeforeExpandEventArgs>;
    /**
     * Triggers when before panes get expanded.
     *
     * @event 'event'
     * @blazorProperty 'OnExpand'
     */
    beforeExpand?: base.EmitType<BeforeExpandEventArgs>;
    /**
     * Triggers when after panes get collapsed.
     *
     * @event 'event'
     * @blazorProperty 'Collapsed'
     */
    collapsed?: base.EmitType<ExpandedEventArgs>;
    /**
     * Triggers when after panes get expanded.
     *
     * @event 'event'
     * @blazorProperty 'Expanded'
     */
    expanded?: base.EmitType<ExpandedEventArgs>;
}
//node_modules/@syncfusion/ej2-layouts/src/splitter/splitter.d.ts
/**
 * Interface to configure pane properties such as its content, size, min, max, resizable, collapsed and collapsible.
 */
export  class PaneProperties extends base.ChildProperty<PaneProperties> {
    /**
     * Configures the properties for each pane.
     *
     * @default ''
     */
    size: string;
    /**
     * Specifies whether a pane is collapsible or not collapsible.
     *
     * {% codeBlock src='splitter/collapsible/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    collapsible: boolean;
    /**
     * Specifies whether a pane is collapsed or not collapsed at the initial rendering of splitter.
     *
     * {% codeBlock src='splitter/collapsed/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    collapsed: boolean;
    /**
     * Specifies the value whether a pane is resizable. By default, the Splitter is resizable in all panes.
     * You can disable this for any specific panes using this property.
     *
     * @default true
     */
    resizable: boolean;
    /**
     * Specifies the minimum size of a pane. The pane cannot be resized if it is less than the specified minimum size.
     *
     * @default null
     */
    min: string;
    /**
     * Specifies the maximum size of a pane. The pane cannot be resized if it is more than the specified maximum limit.
     *
     * @default null
     */
    max: string;
    /**
     * Specifies the content of split pane as plain text, HTML markup, or any other JavaScript controls.
     *
     * @default ''
     * @blazorType string
     */
    content: string | HTMLElement;
    /**
     * Specifies the CSS class names that defines specific user-defined
     * styles and themes to be appended on corresponding pane of the Splitter.
     * It is used to customize the Splitter control panes.
     * One or more custom CSS classes can be specified to the Splitter panes.
     *
     * @default ''
     */
    cssClass: string;
}
/**
 * Provides information about a SanitizeSelectors.
 */
export interface SanitizeSelectors {
    /** Returns the tags. */
    tags?: string[];
    /** Returns the attributes. */
    attributes?: SanitizeRemoveAttrs[];
}
/**
 * Provides information about a BeforeSanitizeHtml event.
 */
export interface BeforeSanitizeHtmlArgs {
    /** Illustrates whether the current action needs to be prevented or not. */
    cancel?: boolean;
    /** It is a callback function and executed it before our inbuilt action. It should return HTML as a string.
     *
     * @function
     * @param {string} value - Returns the value.
     * @returns {string}
     */
    helper?: Function;
    /** Returns the selectors object which carrying both tags and attributes selectors to block list of cross-site scripting attack.
     *  Also possible to modify the block list in this event.
     */
    selectors?: SanitizeSelectors;
}
/**
 * Provides information about a SanitizeRemoveAttributes.
 */
export interface SanitizeRemoveAttrs {
    /** Defines the attribute name to sanitize */
    attribute?: string;
    /** Defines the selector that sanitize the specified attributes within the selector */
    selector?: string;
}
/**
 * Specifies a value that indicates whether to align the split panes horizontally or vertically.
 */
export  type Orientation = 'Horizontal' | 'Vertical';
/**
 * Splitter is a layout user interface (UI) control that has resizable and collapsible split panes.
 * The container can be split into multiple panes, which are oriented horizontally or vertically.
 * The separator (divider) splits the panes and resizes and expands/collapses the panes.
 * The splitter is placed inside the split pane to make a nested layout user interface.
 *
 * ```html
 * <div id="splitter">
 *  <div> Left Pane </div>
 *  <div> Center Pane </div>
 *  <div> Right Pane </div>
 * </div>
 * ```
 * ```typescript
 * <script>
 *   var splitterObj = new Splitter({ width: '300px', height: '200px'});
 *   splitterObj.appendTo('#splitter');
 * </script>
 * ```
 */
export  class Splitter extends base.Component<HTMLElement> {
    private onReportWindowSize;
    private onMouseMoveHandler;
    private onMouseUpHandler;
    private onTouchMoveHandler;
    private onTouchEndHandler;
    private allPanes;
    private paneOrder;
    private separatorOrder;
    private currentSeparator;
    private allBars;
    private previousCoordinates;
    private currentCoordinates;
    private totalWidth;
    private totalPercent;
    private order;
    private previousPane;
    private nextPane;
    private prevPaneIndex;
    private previousPaneHeightWidth;
    private updatePrePaneInPercentage;
    private updateNextPaneInPercentage;
    private prePaneDimenson;
    private nextPaneDimension;
    private panesDimensions;
    private border;
    private wrapper;
    private wrapperParent;
    private sizeFlag;
    private prevPaneCurrentWidth;
    private nextPaneCurrentWidth;
    private nextPaneIndex;
    private nextPaneHeightWidth;
    private validDataAttributes;
    private validElementAttributes;
    private arrow;
    private currentBarIndex;
    private prevBar;
    private nextBar;
    private splitInstance;
    private leftArrow;
    private rightArrow;
    private iconsDelay;
    private templateElement;
    private collapseFlag;
    private expandFlag;
    /**
     * Specifies the height of the Splitter component that accepts both string and number values.
     *
     * @default '100%'
     */
    height: string;
    /**
     * Specifies the value whether splitter panes are reordered or not .
     *
     * @default true
     */
    enableReversePanes: boolean;
    /**
     * Specifies the width of the Splitter control, which accepts both string and number values as width.
     * The string value can be either in pixel or percentage format.
     *
     * @default '100%'
     */
    width: string;
    /**
     * Enables or disables the persisting component's state between page reloads.
     *
     * @default false
     */
    enablePersistence: boolean;
    /**
     * Configures the individual pane behaviors such as content, size, resizable, minimum, maximum validation, collapsible and collapsed.
     *
     * {% codeBlock src='splitter/panesettings/index.md' %}{% endcodeBlock %}
     *
     * @default []
     */
    paneSettings: PanePropertiesModel[];
    /**
     * Specifies a value that indicates whether to align the split panes horizontally or vertically.
     *  * Set the orientation property as "Horizontal" to create a horizontal splitter that aligns the panes left-to-right.
     *  * Set the orientation property as "Vertical" to create a vertical splitter that aligns the panes top-to-bottom.
     *
     * {% codeBlock src='splitter/orientation/index.md' %}{% endcodeBlock %}
     *
     * @default Horizontal
     */
    orientation: Orientation;
    /**
     * Specifies the CSS class names that defines specific user-defined
     * styles and themes to be appended on the root element of the Splitter.
     * It is used to customize the Splitter control.
     * One or more custom CSS classes can be specified to the Splitter.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * Specifies boolean value that indicates whether the component is enabled or disabled.
     * The Splitter component does not allow to interact when this property is disabled.
     *
     * @default true
     */
    enabled: boolean;
    /**
     * Defines whether to allow the cross-scripting site or not.
     *
     * @default true
     */
    enableHtmlSanitizer: boolean;
    /**
     * Specifies the size of the separator line for both horizontal or vertical orientation.
     * The separator is used to separate the panes by lines.
     *
     * @default null
     */
    separatorSize: number;
    /**
     * Event triggers before sanitize the value.
     *
     * @event 'event'
     * @blazorProperty 'OnSanitizeHtml'
     */
    beforeSanitizeHtml: base.EmitType<BeforeSanitizeHtmlArgs>;
    /**
     * Triggers after creating the splitter component with its panes.
     *
     * @event 'event'
     * @blazorProperty 'Created'
     */
    created: base.EmitType<Object>;
    /**
     * Triggers when the split pane is started to resize.
     *
     * @event 'event'
     * @blazorProperty 'OnResizeStart'
     */
    resizeStart: base.EmitType<ResizeEventArgs>;
    /**
     * Triggers when a split pane is being resized.
     *
     * @event 'event'
     * @blazorProperty 'Resizing'
     */
    resizing: base.EmitType<ResizingEventArgs>;
    /**
     * Triggers when the resizing of split pane is stopped.
     *
     * @event 'event'
     * @blazorProperty 'OnResizeStop'
     */
    resizeStop: base.EmitType<ResizingEventArgs>;
    /**
     * Triggers when before panes get collapsed.
     *
     * @event 'event'
     * @blazorProperty 'OnCollapse'
     */
    beforeCollapse: base.EmitType<BeforeExpandEventArgs>;
    /**
     * Triggers when before panes get expanded.
     *
     * @event 'event'
     * @blazorProperty 'OnExpand'
     */
    beforeExpand: base.EmitType<BeforeExpandEventArgs>;
    /**
     * Triggers when after panes get collapsed.
     *
     * @event 'event'
     * @blazorProperty 'Collapsed'
     */
    collapsed: base.EmitType<ExpandedEventArgs>;
    protected needsID: boolean;
    /**
     * Triggers when after panes get expanded.
     *
     * @event 'event'
     * @blazorProperty 'Expanded'
     */
    expanded: base.EmitType<ExpandedEventArgs>;
    /**
     * Initializes a new instance of the Splitter class.
     *
     * @param options  - Specifies Splitter model properties as options.
     * @param element  - Specifies the element that is rendered as an Splitter.
     */
    constructor(options?: SplitterModel, element?: string | HTMLElement);
    /**
     * Gets called when the model property changes.The data that describes the old and new values of the property that changed.
     *
     * @param  {SplitterModel} newProp - specifies the new property
     * @param  {SplitterModel} oldProp - specifies the old property
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: SplitterModel, oldProp: SplitterModel): void;
    private updatePaneSize;
    protected initializeValues(): void;
    protected preRender(): void;
    protected getPersistData(): string;
    /**
     * Returns the current module name.
     *
     * @returns {string} - returns the string value
     * @private
     */
    protected getModuleName(): string;
    /**
     * To Initialize the control rendering
     *
     * @returns {void}
     * @private
     */
    render(): void;
    private onDocumentClick;
    private checkPaneSize;
    private onMove;
    private getMinInPixel;
    /**
     * @param {string} value - specifies the string value
     * @returns {string} returns the string
     * @hidden
     */
    sanitizeHelper(value: string): string;
    private checkDataAttributes;
    private destroyPaneSettings;
    private setPaneSettings;
    private checkArrow;
    private removeDataPrefix;
    private setRTL;
    private setReversePane;
    private setSplitterSize;
    private getPanesDimensions;
    private setCssClass;
    private hideResizer;
    private showResizer;
    private resizableModel;
    private collapsibleModelUpdate;
    private collapseArrow;
    private updateIsCollapsed;
    private isCollapsed;
    private targetArrows;
    private collapsedOnchange;
    private isEnabled;
    private setSeparatorSize;
    private changeOrientation;
    private checkSplitPane;
    private collectPanes;
    private getPrevPane;
    private getNextPane;
    private getOrderPane;
    private getOrderIndex;
    private updateSeparatorSize;
    private addResizeHandler;
    private getHeight;
    private getWidth;
    private setDimension;
    private updateCollapseIcons;
    private updateIconClass;
    private createSeparator;
    private updateResizablePanes;
    private addSeparator;
    private isResizable;
    private addMouseActions;
    private getEventType;
    private updateCurrentSeparator;
    private isSeparator;
    private isMouseEvent;
    private updateCursorPosition;
    private changeCoordinates;
    private reportWindowSize;
    private updateSplitterSize;
    private wireResizeEvents;
    private unwireResizeEvents;
    private wireClickEvents;
    private clickHandler;
    private expandAction;
    private expandPane;
    private checkStaticPanes;
    private updateFlexGrow;
    private hideTargetBarIcon;
    private showTargetBarIcon;
    private updateIconsOnCollapse;
    private collapseAction;
    private collapsePane;
    private removeStaticPanes;
    private beforeAction;
    private updatePaneSettings;
    private splitterProperty;
    private showCurrentBarIcon;
    private updateIconsOnExpand;
    private afterAction;
    private currentIndex;
    private getSeparatorIndex;
    private getPrevBar;
    private getNextBar;
    private updateBars;
    private splitterDetails;
    private triggerResizing;
    private onMouseDown;
    private updatePaneFlexBasis;
    private removePercentageUnit;
    private convertPercentageToPixel;
    private convertPixelToPercentage;
    private convertPixelToNumber;
    private calcDragPosition;
    private getSeparatorPosition;
    private getMinMax;
    private getPreviousPaneIndex;
    private getNextPaneIndex;
    private getPaneDetails;
    private getPaneHeight;
    private isValidSize;
    private getPaneDimensions;
    private checkCoordinates;
    private isCursorMoved;
    private getBorder;
    private onMouseMove;
    private validateMinRange;
    private validateMaxRange;
    private validateMinMaxValues;
    private equatePaneWidths;
    private calculateCurrentDimensions;
    private addStaticPaneClass;
    private validateDraggedPosition;
    private onMouseUp;
    private panesDimension;
    private setTemplate;
    private templateCompile;
    private compileElement;
    private paneCollapsible;
    private createSplitPane;
    /**
     * expands corresponding pane based on the index is passed.
     *
     * @param { number } index - Specifies the index value of the corresponding pane to be expanded at initial rendering of splitter.
     * @returns {void}
     */
    expand(index: number): void;
    /**
     * collapses corresponding pane based on the index is passed.
     *
     * @param { number } index - Specifies the index value of the corresponding pane to be collapsed at initial rendering of splitter.
     * @returns {void}
     */
    collapse(index: number): void;
    /**
     * Removes the control from the DOM and also removes all its related events.
     *
     * @returns {void}
     */
    destroy(): void;
    private restoreElem;
    private addPaneClass;
    private removePaneOrders;
    private setPaneOrder;
    private removeSeparator;
    private updatePanes;
    /**
     * Allows you to add a pane dynamically to the specified index position by passing the pane properties.
     *
     * @param { PanePropertiesModel } paneProperties - Specifies the pane’s properties that apply to new pane.
     * @param { number } index - Specifies the index where the pane will be inserted.
     * @returns {void}
     */
    addPane(paneProperties: PanePropertiesModel, index: number): void;
    /**
     * Allows you to remove the specified pane dynamically by passing its index value.
     *
     * @param { number } index - Specifies the index value to remove the corresponding pane.
     * @returns {void}
     */
    removePane(index: number): void;
}
/**
 * Provides information about a Resize event.
 */
export interface ResizeEventArgs {
    /** Contains the root element of resizing pane. */
    element?: HTMLElement;
    /** Contains default event arguments. */
    event?: Event;
    /** Contains the corresponding resizing pane. */
    pane?: HTMLElement[];
    /** Contains the index of resizing pane. */
    index?: number[];
    /** Contains the resizing pane’s separator element. */
    separator?: HTMLElement;
    /**
     * Control the resize action whether the resize action happens continuously.
     * When you set this argument to true, resize process will be stopped.
     */
    cancel?: boolean;
}
/**
 * Provides information about a Resizing event.
 */
export interface ResizingEventArgs {
    /** Contains the root element of resizing pane. */
    element?: HTMLElement;
    /** Contains default event arguments. */
    event?: Event;
    /** Contains a pane size when it resizes. */
    paneSize?: number[];
    /** Contains the corresponding resizing pane. */
    pane?: HTMLElement[];
    /** Contains the index of resizing pane. */
    index?: number[];
    /** Contains the resizing pane’s separator element. */
    separator?: HTMLElement;
}
/**
 * Provides information about a BeforeExpand event.
 */
export interface BeforeExpandEventArgs {
    /**
     * To access root element after control created
     */
    element?: HTMLElement;
    /**
     * default event arguments
     */
    event?: Event;
    /**
     * To get pane elements
     */
    pane?: HTMLElement[];
    /**
     * Index of pane
     */
    index?: number[];
    /**
     * Respective split-bar element
     */
    separator?: HTMLElement;
    /**
     * cancel argument
     */
    cancel?: boolean;
}
/**
 * Provides information about a Expanded event.
 */
export interface ExpandedEventArgs {
    /**
     * To access root element after control created
     */
    element?: HTMLElement;
    /**
     * default event arguments
     */
    event?: Event;
    /**
     * To get pane elements
     */
    pane?: HTMLElement[];
    /**
     * Index of pane
     */
    index?: number[];
    /**
     * Respective split-bar element
     */
    separator?: HTMLElement;
}
 }
export namespace lineargauge { 

//node_modules/@syncfusion/ej2-lineargauge/src/index.d.ts
/**
 * LinearGauge component exported.
 */
//node_modules/@syncfusion/ej2-lineargauge/src/linear-gauge/annotations/annotations.d.ts
/**
 * Represent the Annotation rendering for gauge
 */
export  class Annotations {
    constructor();
    /**
     * To render annotation elements
     */
    renderAnnotationElements(gauge: LinearGauge): void;
    /**
     * To create annotation elements
     */
    createAnnotationTemplate(element: HTMLElement, annotationIndex: number, gauge: LinearGauge): void;
    protected getModuleName(): string;
    /**
     * To destroy the annotation.
     *
     * @return {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-lineargauge/src/linear-gauge/axes/animation.d.ts
/**
 * @private
 * To handle the animation for gauge
 */
export  class Animations {
    gauge: LinearGauge;
    constructor(gauge: LinearGauge);
    /**
     * To do the marker pointer animation.
     *
     * @return {void}
     * @private
     */
    performMarkerAnimation(element: Element, axis: Axis, pointer: Pointer): void;
    /**
     * Perform the bar pointer animation
     *
     * @param element
     * @param axis
     * @param pointer
     */
    performBarAnimation(element: Element, axis: Axis, pointer: Pointer): void;
}
//node_modules/@syncfusion/ej2-lineargauge/src/linear-gauge/axes/axis-model.d.ts
/**
 * Interface for a class Line
 */
export interface LineModel {
    /**
     * Sets and gets the dash-array of the axis line.
     */
    dashArray?: string;
    /**
     * Sets and gets the height of the axis line.
     *
     * @aspDefaultValueIgnore
     */
    height?: number;
    /**
     * Sets and gets the width of the axis line.
     *
     * @default 2
     */
    width?: number;
    /**
     * Sets and gets the color for the axis line.
     */
    color?: string;
    /**
     * Sets and gets the offset to position the axis line in linear gauge.
     *
     */
    offset?: number;
}
/**
 * Interface for a class Label
 */
export interface LabelModel {
    /**
     * Sets and gets the options for customizing the style of the text in axis labels.
     */
    font?: FontModel;
    /**
     * Enables or disables the color of the label to use the color of the ranges in linear gauge.
     *
     * @default false
     */
    useRangeColor?: boolean;
    /**
     * Sets and gets the format for the axis label. This property accepts any global format string like 'C', 'n1', 'P' etc.
     * Also accepts placeholder like '{value}°C' in which value represent the axis label e.g. 20°C.
     */
    format?: string;
    /**
     * Sets and gets the value to position the axis labels in linear gauge.
     *
     * @default 0
     */
    offset?: number;
    /**
     * Sets and gets the position of the axis label in linear gauge.
     *
     * @default Auto
     */
    position?: Position;
}
/**
 * Interface for a class Range
 */
export interface RangeModel {
    /**
     * Sets and gets the start value for the range in axis.
     *
     * @default 0
     */
    start?: number;
    /**
     * Sets and gets the end value for the range in axis.
     *
     * @default 0
     */
    end?: number;
    /**
     * Sets and gets the properties to render a linear gradient for the range.
     * If both linear and radial gradient is set, then the linear gradient will be rendered in the range.
     *
     * @default null
     */
    linearGradient?: LinearGradientModel;
    /**
     * Sets and gets the properties to render a radial gradient for the range.
     *
     * @default null
     */
    radialGradient?: RadialGradientModel;
    /**
     * Sets and gets the position to place the ranges in the axis.
     *
     * @default Outside
     */
    position?: Position;
    /**
     * Sets and gets the color of the axis range.
     */
    color?: string;
    /**
     * Sets and gets the width of the start of the range in axis.
     *
     * @default 10
     */
    startWidth?: number;
    /**
     * Sets and gets the width of the end of the range in axis.
     *
     * @default 10
     */
    endWidth?: number;
    /**
     * Sets and gets the value to position the range in the axis.
     *
     * @default '0'
     */
    offset?: number | string;
    /**
     * Sets and gets the options to customize the color and width of the border for the axis range.
     */
    border?: BorderModel;
}
/**
 * Interface for a class Tick
 */
export interface TickModel {
    /**
     * Sets and gets the height of the tick line in the axis.
     */
    height?: number;
    /**
     * Sets and gets the width of the tick line in the axis.
     *
     * @default 2
     */
    width?: number;
    /**
     * Sets and gets the gap between the ticks in the axis.
     *
     * @aspDefaultValueIgnore
     */
    interval?: number;
    /**
     * Sets and gets the color for the major or minor tick line. This property accepts value in hex code,
     * rgba string as a valid CSS color string.
     */
    color?: string;
    /**
     * Sets and gets the value to move the ticks from the axis.
     *
     * @aspDefaultValueIgnore
     */
    offset?: number;
    /**
     * Sets and gets the value to place the ticks in the axis.
     *
     * @default Auto
     */
    position?: Position;
}
/**
 * Interface for a class Pointer
 */
export interface PointerModel {
    /**
     * Sets and gets the type of pointer in axis.
     *
     * @default Marker
     */
    type?: Point;
    /**
     * Sets and gets the properties to render a linear gradient for the pointer.
     * If both linear and radial gradient is set, then the linear gradient will be rendered in the pointer.
     *
     * @default null
     */
    linearGradient?: LinearGradientModel;
    /**
     * Sets and gets the properties to render a radial gradient for the pointer.
     *
     * @default null
     */
    radialGradient?: RadialGradientModel;
    /**
     * Sets and gets the value of the pointer in axis.
     *
     * @default null
     */
    value?: number;
    /**
     * Sets and gets the type of the marker for pointers in axis.
     *
     * @default InvertedTriangle
     */
    markerType?: MarkerType;
    /**
     * Sets and gets the URL path for the image in marker when the marker type is chosen as image.
     *
     * @default null
     */
    imageUrl?: string;
    /**
     * Sets and gets the options to optimize the color and width of the border for pointers.
     */
    border?: BorderModel;
    /**
     * Sets and gets the corner radius for pointer.
     *
     * @default 10
     */
    roundedCornerRadius?: number;
    /**
     * Sets and gets the place of the pointer.
     *
     * @default Far
     */
    placement?: Placement;
    /**
     * Sets and gets the height of the pointer.
     *
     * @default 20
     */
    height?: number;
    /**
     * Sets and gets the width of the pointer.
     *
     * @default 20
     */
    width?: number;
    /**
     * Sets and gets the color of the pointer.
     */
    color?: string;
    /**
     * Sets and gets the opacity of pointer in linear gauge.
     *
     * @default 1
     */
    opacity?: number;
    /**
     * Sets and gets the duration of animation in pointer.
     *
     * @default 0
     */
    animationDuration?: number;
    /**
     * Enables or disables the drag movement of pointer.
     *
     * @default false
     */
    enableDrag?: boolean;
    /**
     * Sets and gets the value to position the pointer from the axis.
     *
     * @default '0'
     */
    offset?: number | string;
    /**
     * Sets and gets the position of the pointer.
     *
     * @default Auto
     */
    position?: Position;
    /**
     * Sets and gets the description for the pointer.
     *
     * @default null
     */
    description?: string;
}
/**
 * Interface for a class Axis
 */
export interface AxisModel {
    /**
     * Sets and gets the minimum value for the axis.
     *
     * @default 0
     */
    minimum?: number;
    /**
     * Sets and gets the maximum value for the axis.
     *
     * @default 100
     */
    maximum?: number;
    /**
     * Enables or disables the inversed axis.
     */
    isInversed?: boolean;
    /**
     * Shows or hides the last label in the axis of the linear gauge.
     */
    showLastLabel?: boolean;
    /**
     * Enables or disables the opposed position of the axis in the linear gauge.
     */
    opposedPosition?: boolean;
    /**
     * Sets and gets the options for customizing the axis line.
     */
    line?: LineModel;
    /**
     * Sets and gets the options for customizing the ranges of an axis.
     */
    ranges?: RangeModel[];
    /**
     * Sets and gets the options for customizing the pointers of an axis.
     */
    pointers?: PointerModel[];
    /**
     * Sets and gets the options for customizing the major tick lines.
     */
    majorTicks?: TickModel;
    /**
     * Sets and gets the options for customizing the minor tick lines.
     */
    minorTicks?: TickModel;
    /**
     * Sets and gets the options for customizing the appearance of the label in axis.
     */
    labelStyle?: LabelModel;
}
//node_modules/@syncfusion/ej2-lineargauge/src/linear-gauge/axes/axis-panel.d.ts
/**
 * @private
 * To calculate the overall axis bounds for gauge.
 */
export  class AxisLayoutPanel {
    private gauge;
    private axisRenderer;
    constructor(gauge: LinearGauge);
    /**
     * To calculate the axis bounds
     */
    calculateAxesBounds(): void;
    /**
     * Calculate axis line bounds
     *
     * @param axis
     * @param axisIndex
     */
    calculateLineBounds(axis: Axis, axisIndex: number): void;
    /**
     * Calculate axis tick bounds
     *
     * @param axis
     * @param axisIndex
     */
    calculateTickBounds(axis: Axis, axisIndex: number): void;
    /**
     * To Calculate axis label bounds
     *
     * @param axis
     * @param axisIndex
     */
    calculateLabelBounds(axis: Axis, axisIndex: number): void;
    /**
     * Calculate pointer bounds
     *
     * @param axis
     * @param axisIndex
     */
    calculatePointerBounds(axis: Axis, axisIndex: number): void;
    /**
     * Calculate marker pointer bounds
     *
     * @param axisIndex
     * @param axis
     * @param pointerIndex
     * @param pointer
     */
    calculateMarkerBounds(axisIndex: number, axis: Axis, pointerIndex: number, pointer: Pointer): void;
    /**
     * Calculate bar pointer bounds
     *
     * @param axisIndex
     * @param axis
     * @param pointerIndex
     * @param pointer
     */
    calculateBarBounds(axisIndex: number, axis: Axis, pointerIndex: number, pointer: Pointer): void;
    /**
     * Calculate ranges bounds
     *
     * @param axis
     * @param axisIndex
     */
    calculateRangesBounds(axis: Axis, axisIndex: number): void;
    private checkPreviousAxes;
    /**
     *
     * @param axis To calculate the visible labels
     */
    calculateVisibleLabels(axis: Axis): void;
    /**
     * Calculate maximum label width for the axis.
     *
     * @return {void}
     * @private
     */
    private getMaxLabelWidth;
    private checkThermometer;
    /**
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-lineargauge/src/linear-gauge/axes/axis-renderer.d.ts
/**
 * @private
 * To render the axis elements
 */
export  class AxisRenderer extends Animations {
    private htmlObject;
    private axisObject;
    private axisElements;
    constructor(gauge: LinearGauge);
    renderAxes(): void;
    axisAlign(axes: AxisModel[]): void;
    drawAxisLine(axis: Axis, axisObject: Element, axisIndex: number): void;
    drawTicks(axis: Axis, ticks: Tick, axisObject: Element, tickID: string, tickBounds: Rect, axisIndex: number): void;
    drawAxisLabels(axis: Axis, axisObject: Element, axisIndex: number): void;
    drawPointers(axis: Axis, axisObject: Element, axisIndex: number): void;
    drawMarkerPointer(axis: Axis, axisIndex: number, pointer: Pointer, pointerIndex: number, parentElement: Element): void;
    drawBarPointer(axis: Axis, axisIndex: number, pointer: Pointer, pointerIndex: number, parentElement: Element): void;
    drawRanges(axis: Axis, axisObject: Element, axisIndex: number): void;
    /**
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-lineargauge/src/linear-gauge/axes/axis.d.ts
/** Sets and gets the options for customizing the axis line in linear gauge. */
export  class Line extends base.ChildProperty<Line> {
    /**
     * Sets and gets the dash-array of the axis line.
     */
    dashArray: string;
    /**
     * Sets and gets the height of the axis line.
     *
     * @aspDefaultValueIgnore
     */
    height: number;
    /**
     * Sets and gets the width of the axis line.
     *
     * @default 2
     */
    width: number;
    /**
     * Sets and gets the color for the axis line.
     */
    color: string;
    /**
     * Sets and gets the offset to position the axis line in linear gauge.
     *
     */
    offset: number;
}
/**
 * Sets and gets the options for customizing the appearance of the axis labels.
 */
export  class Label extends base.ChildProperty<Label> {
    /**
     * Sets and gets the options for customizing the style of the text in axis labels.
     */
    font: FontModel;
    /**
     * Enables or disables the color of the label to use the color of the ranges in linear gauge.
     *
     * @default false
     */
    useRangeColor: boolean;
    /**
     * Sets and gets the format for the axis label. This property accepts any global format string like 'C', 'n1', 'P' etc.
     * Also accepts placeholder like '{value}°C' in which value represent the axis label e.g. 20°C.
     */
    format: string;
    /**
     * Sets and gets the value to position the axis labels in linear gauge.
     *
     * @default 0
     */
    offset: number;
    /**
     * Sets and gets the position of the axis label in linear gauge.
     *
     * @default Auto
     */
    position: Position;
}
/**
 * Sets and gets the options for customizing the ranges of an axis.
 */
export  class Range extends base.ChildProperty<Range> {
    /**
     * Sets and gets the start value for the range in axis.
     *
     * @default 0
     */
    start: number;
    /**
     * Sets and gets the end value for the range in axis.
     *
     * @default 0
     */
    end: number;
    /**
     * Sets and gets the properties to render a linear gradient for the range.
     * If both linear and radial gradient is set, then the linear gradient will be rendered in the range.
     *
     * @default null
     */
    linearGradient: LinearGradientModel;
    /**
     * Sets and gets the properties to render a radial gradient for the range.
     *
     * @default null
     */
    radialGradient: RadialGradientModel;
    /**
     * Sets and gets the position to place the ranges in the axis.
     *
     * @default Outside
     */
    position: Position;
    /**
     * Sets and gets the color of the axis range.
     */
    color: string;
    /**
     * Sets and gets the width of the start of the range in axis.
     *
     * @default 10
     */
    startWidth: number;
    /**
     * Sets and gets the width of the end of the range in axis.
     *
     * @default 10
     */
    endWidth: number;
    /**
     * Sets and gets the value to position the range in the axis.
     *
     * @default '0'
     */
    offset: number | string;
    /**
     * Sets and gets the options to customize the color and width of the border for the axis range.
     */
    border: BorderModel;
    /** @private */
    bounds: Rect;
    /** @private */
    path: string;
    /** @private */
    interior: string;
    /** @private */
    currentOffset: number;
}
/**
 * Sets and gets the options for customizing the minor tick lines in axis.
 */
export  class Tick extends base.ChildProperty<Tick> {
    /**
     * Sets and gets the height of the tick line in the axis.
     */
    height: number;
    /**
     * Sets and gets the width of the tick line in the axis.
     *
     * @default 2
     */
    width: number;
    /**
     * Sets and gets the gap between the ticks in the axis.
     *
     * @aspDefaultValueIgnore
     */
    interval: number;
    /**
     * Sets and gets the color for the major or minor tick line. This property accepts value in hex code,
     * rgba string as a valid CSS color string.
     */
    color: string;
    /**
     * Sets and gets the value to move the ticks from the axis.
     *
     * @aspDefaultValueIgnore
     */
    offset: number;
    /**
     * Sets and gets the value to place the ticks in the axis.
     *
     * @default Auto
     */
    position: Position;
}
/**
 * Sets and gets the options for customizing the pointers of an axis in linear gauge.
 */
export  class Pointer extends base.ChildProperty<Pointer> {
    /**
     * Sets and gets the type of pointer in axis.
     *
     * @default Marker
     */
    type: Point;
    /**
     * Sets and gets the properties to render a linear gradient for the pointer.
     * If both linear and radial gradient is set, then the linear gradient will be rendered in the pointer.
     *
     * @default null
     */
    linearGradient: LinearGradientModel;
    /**
     * Sets and gets the properties to render a radial gradient for the pointer.
     *
     * @default null
     */
    radialGradient: RadialGradientModel;
    /**
     * Sets and gets the value of the pointer in axis.
     *
     * @default null
     */
    value: number;
    /**
     * Sets and gets the type of the marker for pointers in axis.
     *
     * @default InvertedTriangle
     */
    markerType: MarkerType;
    /**
     * Sets and gets the URL path for the image in marker when the marker type is chosen as image.
     *
     * @default null
     */
    imageUrl: string;
    /**
     * Sets and gets the options to optimize the color and width of the border for pointers.
     */
    border: BorderModel;
    /**
     * Sets and gets the corner radius for pointer.
     *
     * @default 10
     */
    roundedCornerRadius: number;
    /**
     * Sets and gets the place of the pointer.
     *
     * @default Far
     */
    placement: Placement;
    /**
     * Sets and gets the height of the pointer.
     *
     * @default 20
     */
    height: number;
    /**
     * Sets and gets the width of the pointer.
     *
     * @default 20
     */
    width: number;
    /**
     * Sets and gets the color of the pointer.
     */
    color: string;
    /**
     * Sets and gets the opacity of pointer in linear gauge.
     *
     * @default 1
     */
    opacity: number;
    /**
     * Sets and gets the duration of animation in pointer.
     *
     * @default 0
     */
    animationDuration: number;
    /**
     * Enables or disables the drag movement of pointer.
     *
     * @default false
     */
    enableDrag: boolean;
    /**
     * Sets and gets the value to position the pointer from the axis.
     *
     * @default '0'
     */
    offset: number | string;
    /**
     * Sets and gets the position of the pointer.
     *
     * @default Auto
     */
    position: Position;
    /**
     * Sets and gets the description for the pointer.
     *
     * @default null
     */
    description: string;
    /** @private */
    bounds: Rect;
    /** @private */
    startValue: number;
    /** @private */
    animationComplete: boolean;
    /** @private */
    isPointerAnimation: boolean;
    /** @private */
    currentValue: number;
    /** @private */
    currentOffset: number;
    /** @private */
    pathElement: Element[];
}
/**
 * Sets and gets the options for customizing the axis of a gauge.
 */
export  class Axis extends base.ChildProperty<Axis> {
    /**
     * Sets and gets the minimum value for the axis.
     *
     * @default 0
     */
    minimum: number;
    /**
     * Sets and gets the maximum value for the axis.
     *
     * @default 100
     */
    maximum: number;
    /**
     * Enables or disables the inversed axis.
     */
    isInversed: boolean;
    /**
     * Shows or hides the last label in the axis of the linear gauge.
     */
    showLastLabel: boolean;
    /**
     * Enables or disables the opposed position of the axis in the linear gauge.
     */
    opposedPosition: boolean;
    /**
     * Sets and gets the options for customizing the axis line.
     */
    line: LineModel;
    /**
     * Sets and gets the options for customizing the ranges of an axis.
     */
    ranges: RangeModel[];
    /**
     * Sets and gets the options for customizing the pointers of an axis.
     */
    pointers: PointerModel[];
    /**
     * Sets and gets the options for customizing the major tick lines.
     */
    majorTicks: TickModel;
    /**
     * Sets and gets the options for customizing the minor tick lines.
     */
    minorTicks: TickModel;
    /**
     * Sets and gets the options for customizing the appearance of the label in axis.
     */
    labelStyle: LabelModel;
    /** @private */
    visibleLabels: VisibleLabels[];
    /** @private */
    maxLabelSize: Size;
    /** @private */
    visibleRange: VisibleRange;
    /** @private */
    lineBounds: Rect;
    /** @private */
    majorTickBounds: Rect;
    /** @private */
    minorTickBounds: Rect;
    /** @private */
    labelBounds: Rect;
    /** @private */
    pointerBounds: Rect;
    /** @private */
    bounds: Rect;
    /** @private */
    maxTickLength: number;
    /** @private */
    checkAlign: Align;
    /** @private */
    majorInterval: number;
    /** @private */
    minorInterval: number;
}
//node_modules/@syncfusion/ej2-lineargauge/src/linear-gauge/axes/gradient-model.d.ts
/**
 * Interface for a class ColorStop
 */
export interface ColorStopModel {
    /**
     * Specifies the color of the gradient.
     *
     * @default "#000000"
     */
    color?: string;
    /**
     * Specifies the opacity of the gradient.
     *
     * @default 1
     */
    opacity?: number;
    /**
     * Specifies the offset of the gradient.
     *
     * @default "0%"
     */
    offset?: string;
    /**
     * Specifies the style of the gradient.
     *
     * @default ""
     */
    style?: string;
}
/**
 * Interface for a class GradientPosition
 */
export interface GradientPositionModel {
    /**
     * Specifies the horizontal position of the gradient.
     *
     * @default "0%"
     */
    x?: string;
    /**
     * Specifies the vertical position of the gradient.
     *
     * @default "0%"
     */
    y?: string;
}
/**
 * Interface for a class LinearGradient
 */
export interface LinearGradientModel {
    /**
     * Specifies the start value of the linear gradient.
     *
     * @default "0%"
     */
    startValue?: string;
    /**
     * Specifies the end value of the linear gradient.
     *
     * @default "100%"
     */
    endValue?: string;
    /**
     * Specifies the color, opacity, offset and style of the linear gradient.
     */
    colorStop?: ColorStopModel[];
}
/**
 * Interface for a class RadialGradient
 */
export interface RadialGradientModel {
    /**
     * Specifies the radius of the radial gradient.
     *
     * @default "0%"
     */
    radius?: string;
    /**
     * Specifies the outer position of the radial gradient.
     */
    outerPosition?: GradientPositionModel;
    /**
     * Specifies the inner position of the radial gradient.
     */
    innerPosition?: GradientPositionModel;
    /**
     * Specifies the color, opacity, offset and style of the radial gradient.
     */
    colorStop?: ColorStopModel[];
}
/**
 * Interface for a class Gradient
 */
export interface GradientModel {
}
//node_modules/@syncfusion/ej2-lineargauge/src/linear-gauge/axes/gradient.d.ts
/**
 * Specified the color information for the gradient in the linear gauge.
 */
export  class ColorStop extends base.ChildProperty<ColorStop> {
    /**
     * Specifies the color of the gradient.
     *
     * @default "#000000"
     */
    color: string;
    /**
     * Specifies the opacity of the gradient.
     *
     * @default 1
     */
    opacity?: number;
    /**
     * Specifies the offset of the gradient.
     *
     * @default "0%"
     */
    offset: string;
    /**
     * Specifies the style of the gradient.
     *
     * @default ""
     */
    style?: string;
}
/**
 * Specifies the position in percentage from which the radial gradient must be applied.
 */
export  class GradientPosition extends base.ChildProperty<GradientPosition> {
    /**
     * Specifies the horizontal position of the gradient.
     *
     * @default "0%"
     */
    x: string;
    /**
     * Specifies the vertical position of the gradient.
     *
     * @default "0%"
     */
    y: string;
}
/**
 * This specifies the properties of the linear gradient colors for the linear gauge.
 */
export  class LinearGradient extends base.ChildProperty<LinearGradient> {
    /**
     * Specifies the start value of the linear gradient.
     *
     * @default "0%"
     */
    startValue: string;
    /**
     * Specifies the end value of the linear gradient.
     *
     * @default "100%"
     */
    endValue: string;
    /**
     * Specifies the color, opacity, offset and style of the linear gradient.
     */
    colorStop: ColorStopModel[];
}
/**
 * This specifies the properties of the radial gradient colors for the linear gauge.
 */
export  class RadialGradient extends base.ChildProperty<RadialGradient> {
    /**
     * Specifies the radius of the radial gradient.
     *
     * @default "0%"
     */
    radius: string;
    /**
     * Specifies the outer position of the radial gradient.
     */
    outerPosition: GradientPositionModel;
    /**
     * Specifies the inner position of the radial gradient.
     */
    innerPosition: GradientPositionModel;
    /**
     * Specifies the color, opacity, offset and style of the radial gradient.
     */
    colorStop: ColorStopModel[];
}
/**
 * To get the gradient support for pointers and ranges in the linear gauge.
 *
 * @hidden
 */
export  class Gradient {
    private gauge;
    constructor(control: LinearGauge);
    /**
     * To get the linear gradient string.
     *
     * @private
     */
    private getLinearGradientColor;
    /**
     * To get the radial gradient string.
     *
     * @private
     */
    private getRadialGradientColor;
    /**
     * To get the color, offset, opacity and style.
     *
     * @private
     */
    private getGradientColor;
    /**
     * To get the gradient color string.
     *
     * @private
     */
    getGradientColorString(element: Pointer | Range): string;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the gradient.
     *
     * @return {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-lineargauge/src/linear-gauge/index.d.ts
/**
 * Linear gauge component exported items
 */
//node_modules/@syncfusion/ej2-lineargauge/src/linear-gauge/linear-gauge-model.d.ts
/**
 * Interface for a class LinearGauge
 */
export interface LinearGaugeModel extends base.ComponentModel{
    /**
     * Specifies the width of the linear gauge as a string in order to provide input as both like '100px' or '100%'.
     * If specified as '100%, gauge will render to the full width of its parent element.
     *
     * @default null
     */
    width?: string;
    /**
     * Enables or disables the gauge to be rendered to the complete width.
     *
     * @default true
     */
    allowMargin?: boolean;
    /**
     * Specifies the height of the linear gauge as a string in order to provide input as both like '100px' or '100%'.
     * If specified as '100%, gauge will render to the full height of its parent element.
     *
     * @default null
     */
    height?: string;
    /**
     * Specifies the orientation of the rendering of the linear gauge.
     *
     * @default Vertical
     */
    orientation?: Orientation;
    /**
     * Specifies the placement of the label in linear gauge.
     *
     * @default None
     */
    edgeLabelPlacement?: LabelPlacement;
    /**
     * Enables or disables the print functionality in linear gauge.
     *
     * @default false
     */
    allowPrint?: boolean;
    /**
     * Enables or disables the export to image functionality in linear gauge.
     *
     * @default false
     */
    allowImageExport?: boolean;
    /**
     * Enables or disables the export to PDF functionality in linear gauge.
     *
     * @default false
     */
    allowPdfExport?: boolean;
    /**
     * Specifies the options to customize the margins of the linear gauge.
     */
    margin?: MarginModel;
    /**
     * Specifies the options for customizing the color and width of the border for linear gauge.
     */
    border?: BorderModel;
    /**
     * Specifies the background color of the gauge. This property accepts value in hex code, rgba string as a valid CSS color string.
     *
     * @default 'transparent'
     */
    background?: string;
    /**
     * Specifies the title for linear gauge.
     */
    title?: string;
    /**
     * Specifies the options for customizing the appearance of title for linear gauge.
     */
    titleStyle?: FontModel;
    /**
     * Specifies the options for customizing the container in linear gauge.
     */
    container?: ContainerModel;
    /**
     * Specifies the options for customizing the axis in linear gauge.
     */
    axes?: AxisModel[];
    /**
     * Specifies the options for customizing the tooltip in linear gauge.
     */
    tooltip?: TooltipSettingsModel;
    /**
     * Specifies the options for customizing the annotation of linear gauge.
     */
    annotations?: AnnotationModel[];
    /**
     * Specifies the color palette for axis ranges in linear gauge.
     *
     * @default []
     */
    rangePalettes?: string[];
    /**
     * Enables or disables a grouping separator should be used for a number.
     *
     * @default false
     */
    useGroupingSeparator?: boolean;
    /**
     * Specifies the description for linear gauge.
     *
     * @default null
     */
    description?: string;
    /**
     * Specifies the tab index value for the linear gauge.
     *
     * @default 1
     */
    tabIndex?: number;
    /**
     * Specifies the format to apply for internationalization in linear gauge.
     *
     * @default null
     */
    format?: string;
    /**
     * Specifies the theme supported for the linear gauge.
     *
     * @default Material
     */
    theme?: LinearGaugeTheme;
    /**
     * Triggers after the gauge gets rendered.
     *
     * @event
     */
    loaded?: base.EmitType<ILoadedEventArgs>;
    /**
     * Triggers before the gauge gets rendered.
     *
     * @event
     */
    load?: base.EmitType<ILoadEventArgs>;
    /**
     * Triggers after completing the animation for pointer.
     *
     * @event
     */
    animationComplete?: base.EmitType<IAnimationCompleteEventArgs>;
    /**
     * Triggers before each axis label gets rendered.
     *
     * @event
     */
    axisLabelRender?: base.EmitType<IAxisLabelRenderEventArgs>;
    /**
     * Triggers before the pointer is dragged.
     *
     * @event
     */
    dragStart?: base.EmitType<IPointerDragEventArgs>;
    /**
     * Triggers while dragging the pointers.
     *
     * @event
     */
    dragMove?: base.EmitType<IPointerDragEventArgs>;
    /**
     * Triggers after the pointer is dragged.
     *
     * @event
     */
    dragEnd?: base.EmitType<IPointerDragEventArgs>;
    /**
     * Triggers before each annotation gets rendered.
     *
     * @event
     */
    annotationRender?: base.EmitType<IAnnotationRenderEventArgs>;
    /**
     * Triggers before the tooltip get rendered.
     *
     * @event
     * @deprecated
     */
    tooltipRender?: base.EmitType<ITooltipRenderEventArgs>;
    /**
     * Triggers when performing the mouse move operation on gauge area.
     *
     * @event
     */
    gaugeMouseMove?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers when performing the mouse leave operation from the gauge area.
     *
     * @event
     */
    gaugeMouseLeave?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers when performing the mouse down operation on gauge area.
     *
     * @event
     */
    gaugeMouseDown?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers when performing mouse up operation on gauge area.
     *
     * @event
     */
    gaugeMouseUp?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers while changing the value of the pointer by UI interaction.
     *
     * @event
     */
    valueChange?: base.EmitType<IValueChangeEventArgs>;
    /**
     * Triggers after window resize.
     *
     * @event
     */
    resized?: base.EmitType<IResizeEventArgs>;
    /**
     * Triggers before the prints gets started.
     *
     * @event
     */
    beforePrint?: base.EmitType<IPrintEventArgs>;
}
//node_modules/@syncfusion/ej2-lineargauge/src/linear-gauge/linear-gauge.d.ts
/**
 * Represents the EJ2 Linear gauge control.
 * ```html
 * <div id="container"/>
 * <script>
 *   var gaugeObj = new LinearGauge({ });
 *   gaugeObj.appendTo("#container");
 * </script>
 * ```
 */
export  class LinearGauge extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    /**
     * Specifies the module that is used to place any text or images as annotation into the linear gauge.
     */
    annotationsModule: Annotations;
    /**
     * Specifies the module that is used to display the pointer value in tooltip.
     */
    tooltipModule: GaugeTooltip;
    /**
     * This module enables the print functionality in linear gauge control.
     *
     * @private
     */
    printModule: Print;
    /**
     * This module enables the export to PDF functionality in linear gauge control.
     *
     * @private
     */
    pdfExportModule: PdfExport;
    /**
     * This module enables the export to image functionality in linear gauge control.
     *
     * @private
     */
    imageExportModule: ImageExport;
    /**
     * This module enables the gradient option for pointer and ranges.
     *
     * @private
     */
    gradientModule: Gradient;
    /**
     * Specifies the gradient count of the linear gauge.
     *
     * @private
     */
    gradientCount: number;
    /**
     * Specifies the width of the linear gauge as a string in order to provide input as both like '100px' or '100%'.
     * If specified as '100%, gauge will render to the full width of its parent element.
     *
     * @default null
     */
    width: string;
    /**
     * Enables or disables the gauge to be rendered to the complete width.
     *
     * @default true
     */
    allowMargin: boolean;
    /**
     * Specifies the height of the linear gauge as a string in order to provide input as both like '100px' or '100%'.
     * If specified as '100%, gauge will render to the full height of its parent element.
     *
     * @default null
     */
    height: string;
    /**
     * Specifies the orientation of the rendering of the linear gauge.
     *
     * @default Vertical
     */
    orientation: Orientation;
    /**
     * Specifies the placement of the label in linear gauge.
     *
     * @default None
     */
    edgeLabelPlacement: LabelPlacement;
    /**
     * Enables or disables the print functionality in linear gauge.
     *
     * @default false
     */
    allowPrint: boolean;
    /**
     * Enables or disables the export to image functionality in linear gauge.
     *
     * @default false
     */
    allowImageExport: boolean;
    /**
     * Enables or disables the export to PDF functionality in linear gauge.
     *
     * @default false
     */
    allowPdfExport: boolean;
    /**
     * Specifies the options to customize the margins of the linear gauge.
     */
    margin: MarginModel;
    /**
     * Specifies the options for customizing the color and width of the border for linear gauge.
     */
    border: BorderModel;
    /**
     * Specifies the background color of the gauge. This property accepts value in hex code, rgba string as a valid CSS color string.
     *
     * @default 'transparent'
     */
    background: string;
    /**
     * Specifies the title for linear gauge.
     */
    title: string;
    /**
     * Specifies the options for customizing the appearance of title for linear gauge.
     */
    titleStyle: FontModel;
    /**
     * Specifies the options for customizing the container in linear gauge.
     */
    container: ContainerModel;
    /**
     * Specifies the options for customizing the axis in linear gauge.
     */
    axes: AxisModel[];
    /**
     * Specifies the options for customizing the tooltip in linear gauge.
     */
    tooltip: TooltipSettingsModel;
    /**
     * Specifies the options for customizing the annotation of linear gauge.
     */
    annotations: AnnotationModel[];
    /**
     * Specifies the color palette for axis ranges in linear gauge.
     *
     * @default []
     */
    rangePalettes: string[];
    /**
     * Enables or disables a grouping separator should be used for a number.
     *
     * @default false
     */
    useGroupingSeparator: boolean;
    /**
     * Specifies the description for linear gauge.
     *
     * @default null
     */
    description: string;
    /**
     * Specifies the tab index value for the linear gauge.
     *
     * @default 1
     */
    tabIndex: number;
    /**
     * Specifies the format to apply for internationalization in linear gauge.
     *
     * @default null
     */
    format: string;
    /**
     * Specifies the theme supported for the linear gauge.
     *
     * @default Material
     */
    theme: LinearGaugeTheme;
    /**
     * Triggers after the gauge gets rendered.
     *
     * @event
     */
    loaded: base.EmitType<ILoadedEventArgs>;
    /**
     * Triggers before the gauge gets rendered.
     *
     * @event
     */
    load: base.EmitType<ILoadEventArgs>;
    /**
     * Triggers after completing the animation for pointer.
     *
     * @event
     */
    animationComplete: base.EmitType<IAnimationCompleteEventArgs>;
    /**
     * Triggers before each axis label gets rendered.
     *
     * @event
     */
    axisLabelRender: base.EmitType<IAxisLabelRenderEventArgs>;
    /**
     * Triggers before the pointer is dragged.
     *
     * @event
     */
    dragStart: base.EmitType<IPointerDragEventArgs>;
    /**
     * Triggers while dragging the pointers.
     *
     * @event
     */
    dragMove: base.EmitType<IPointerDragEventArgs>;
    /**
     * Triggers after the pointer is dragged.
     *
     * @event
     */
    dragEnd: base.EmitType<IPointerDragEventArgs>;
    /**
     * Triggers before each annotation gets rendered.
     *
     * @event
     */
    annotationRender: base.EmitType<IAnnotationRenderEventArgs>;
    /**
     * Triggers before the tooltip get rendered.
     *
     * @event
     * @deprecated
     */
    tooltipRender: base.EmitType<ITooltipRenderEventArgs>;
    /**
     * Triggers when performing the mouse move operation on gauge area.
     *
     * @event
     */
    gaugeMouseMove: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers when performing the mouse leave operation from the gauge area.
     *
     * @event
     */
    gaugeMouseLeave: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers when performing the mouse down operation on gauge area.
     *
     * @event
     */
    gaugeMouseDown: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers when performing mouse up operation on gauge area.
     *
     * @event
     */
    gaugeMouseUp: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers while changing the value of the pointer by UI interaction.
     *
     * @event
     */
    valueChange: base.EmitType<IValueChangeEventArgs>;
    /**
     * Triggers after window resize.
     *
     * @event
     */
    resized: base.EmitType<IResizeEventArgs>;
    /**
     * Triggers before the prints gets started.
     *
     * @event
     */
    beforePrint: base.EmitType<IPrintEventArgs>;
    /** @private */
    activePointer: Pointer;
    /** @private */
    activeAxis: Axis;
    /** @private */
    renderer: svgBase.SvgRenderer;
    /** @private */
    svgObject: Element;
    /** @private */
    availableSize: Size;
    /** @private */
    actualRect: Rect;
    /** @private */
    intl: base.Internationalization;
    /** @private* */
    containerBounds: Rect;
    /** @private */
    isTouch: boolean;
    /** @private */
    isDrag: boolean;
    /** @private */
    isPropertyChange: boolean;
    /**
     * @private
     * Calculate the axes bounds for gauge.
     * @hidden
     */
    gaugeAxisLayoutPanel: AxisLayoutPanel;
    /**
     * @private
     * Render the axis elements for gauge.
     * @hidden
     */
    axisRenderer: AxisRenderer;
    /** @private */
    private resizeTo;
    /** @private */
    containerObject: Element;
    /** @private */
    pointerDrag: boolean;
    /** @private */
    isCheckPointerDrag: boolean;
    /** @private */
    mouseX: number;
    /** @private */
    mouseY: number;
    /** @private */
    mouseElement: Element;
    /** @private */
    gaugeResized: boolean;
    /** @private */
    nearSizes: number[];
    /** @private */
    farSizes: number[];
    /**
     * @private
     */
    themeStyle: IThemeStyle;
    /**
     * @private
     * Constructor for creating the widget
     * @hidden
     */
    constructor(options?: LinearGaugeModel, element?: string | HTMLElement);
    /**
     * Initialize the preRender method.
     */
    protected preRender(): void;
    private setTheme;
    private initPrivateVariable;
    /**
     * Method to set culture for chart
     */
    private setCulture;
    /**
     * Methods to create svg element
     */
    private createSvg;
    /**
     * To Remove the SVG.
     *
     * @return {boolean}
     * @private
     */
    removeSvg(): void;
    /**
     * Method to calculate the size of the gauge
     */
    private calculateSize;
    private renderElements;
    /**
     * To Initialize the control rendering
     */
    protected render(): void;
    /**
     * @private
     * To render the gauge elements
     */
    renderGaugeElements(): void;
    private appendSecondaryElement;
    /**
     * Render the map area border
     */
    private renderArea;
    /**
     * @private
     * To calculate axes bounds
     */
    calculateBounds(): void;
    /**
     * @private
     * To render axis elements
     */
    renderAxisElements(): void;
    private renderBorder;
    private renderTitle;
    private unWireEvents;
    private wireEvents;
    private setStyle;
    /**
     * Handles the gauge resize.
     *
     * @return {boolean}
     * @private
     */
    gaugeResize(e: Event): boolean;
    /**
     * To destroy the gauge element from the DOM.
     */
    destroy(): void;
    /**
     * @private
     * To render the gauge container
     */
    renderContainer(): void;
    /**
     * Method to set mouse x, y from events
     */
    private setMouseXY;
    /**
     * Handles the mouse down on gauge.
     *
     * @return {boolean}
     * @private
     */
    gaugeOnMouseDown(e: PointerEvent): boolean;
    /**
     * Handles the mouse move.
     *
     * @return {boolean}
     * @private
     */
    mouseMove(e: PointerEvent): boolean;
    /**
     * To find the mouse move on pointer.
     *
     * @param element
     */
    private moveOnPointer;
    /**
     * @private
     * Handle the right click
     * @param event
     */
    gaugeRightClick(event: MouseEvent | PointerEvent): boolean;
    /**
     * Handles the mouse leave.
     *
     * @return {boolean}
     * @private
     */
    mouseLeave(e: PointerEvent): boolean;
    /**
     * Handles the mouse move on gauge.
     *
     * @return {boolean}
     * @private
     */
    gaugeOnMouseMove(e: PointerEvent | TouchEvent): boolean;
    /**
     * Handles the mouse up.
     *
     * @return {boolean}
     * @private
     */
    mouseEnd(e: PointerEvent): boolean;
    /**
     * This method handles the print functionality for linear gauge.
     *
     * @param id - Specifies the element to print the linear gauge.
     */
    print(id?: string[] | string | Element): void;
    /**
     * This method handles the export functionality for linear gauge.
     *
     * @param type - Specifies the type of the export.
     * @param fileName - Specifies the file name for the exported file.
     * @param orientation - Specified the orientation for the exported pdf document.
     */
    export(type: ExportType, fileName: string, orientation?: pdfExport.PdfPageOrientation, allowDownload?: boolean): Promise<string>;
    /**
     * Handles the mouse event arguments.
     *
     * @return {IMouseEventArgs}
     * @private
     */
    private getMouseArgs;
    /**
     * @private
     * @param axis
     * @param pointer
     */
    markerDrag(axis: Axis, pointer: Pointer): void;
    /**
     * @private
     * @param axis
     * @param pointer
     */
    barDrag(axis: Axis, pointer: Pointer): void;
    /**
     * Triggers when drag the pointer
     *
     * @param activeElement
     */
    private triggerDragEvent;
    /**
     * This method is used to set the pointer value in the linear gauge.
     *
     * @param axisIndex - Specifies the index of the axis.
     * @param pointerIndex - Specifies the index of the pointer.
     * @param value - Specifies the pointer value.
     */
    setPointerValue(axisIndex: number, pointerIndex: number, value: number): void;
    /**
     * This method is used to set the annotation value in the linear gauge.
     *
     * @param annotationIndex - Specifies the index of the annotation.
     * @param content - Specifies the text of the annotation.
     */
    setAnnotationValue(annotationIndex: number, content: string, axisValue?: number): void;
    /**
     * To provide the array of modules needed for control rendering
     *
     * @return {base.ModuleDeclaration[]}
     * @private
     */
    requiredModules(): base.ModuleDeclaration[];
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @private
     */
    getPersistData(): string;
    /**
     * Get component name
     */
    getModuleName(): string;
    /**
     * Called internally if any of the property value changed.
     *
     * @private
     */
    onPropertyChanged(newProp: LinearGaugeModel, oldProp: LinearGaugeModel): void;
}
//node_modules/@syncfusion/ej2-lineargauge/src/linear-gauge/model/base-model.d.ts
/**
 * Interface for a class Font
 */
export interface FontModel {
    /**
     * Sets and gets the size of the font in text.
     */
    size?: string;
    /**
     * Sets and gets the font color for text.
     */
    color?: string;
    /**
     * Sets and gets the font-family for text.
     */
    fontFamily?: string;
    /**
     * Sets and gets the font weight of the text.
     */
    fontWeight?: string;
    /**
     * Sets and gets the style for text.
     */
    fontStyle?: string;
    /**
     * Sets and gets the opacity of the text.
     *
     */
    opacity?: number;
}
/**
 * Interface for a class Margin
 */
export interface MarginModel {
    /**
     * Sets and gets the left margin for linear gauge.
     *
     * @default 10
     */
    left?: number;
    /**
     * Sets and gets the right margin for linear gauge.
     *
     * @default 10
     */
    right?: number;
    /**
     * Sets and gets the top margin for linear gauge.
     *
     * @default 10
     */
    top?: number;
    /**
     * Sets and gets the bottom margin for linear gauge.
     *
     * @default 10
     */
    bottom?: number;
}
/**
 * Interface for a class Border
 */
export interface BorderModel {
    /**
     * Sets and gets the color of the border. This property accepts value in hex code, rgba string as a valid CSS color string.
     */
    color?: string;
    /**
     * Sets and gets the width of the border.
     *
     * @default 0
     */
    width?: number;
    /**
     * Sets and gets the dash-array of the border.
     */
    dashArray?: string;
}
/**
 * Interface for a class Annotation
 */
export interface AnnotationModel {
    /**
     * Sets and gets the content for the annotations.
     */
    content?: string;
    /**
     * Sets and gets the x position for the annotation in linear gauge.
     */
    x?: number;
    /**
     * Sets and gets the y position for the annotation in linear gauge.
     */
    y?: number;
    /**
     * Sets and gets the vertical alignment of annotation.
     *
     * @default None
     */
    verticalAlignment?: Placement;
    /**
     * Sets and gets the horizontal alignment of annotation.
     *
     * @default None
     */
    horizontalAlignment?: Placement;
    /**
     * Sets and gets the z-index of the annotation.
     *
     * @default '-1'
     */
    zIndex?: string;
    /**
     * Sets and gets the options to customize the font of the annotation in linear gauge.
     */
    font?: FontModel;
    /**
     * Sets and gets the axis index of the linear gauge
     *
     * @aspDefaultValueIgnore
     */
    axisIndex?: number;
    /**
     * Sets and gets the value of axis in linear gauge.
     *
     * @aspDefaultValueIgnore
     */
    axisValue?: number;
}
/**
 * Interface for a class Container
 */
export interface ContainerModel {
    /**
     * Sets and gets the type of container in linear gauge.
     *
     * @default Normal
     */
    type?: ContainerType;
    /**
     * Sets and gets the height of the container in linear gauge.
     *
     * @default 0
     */
    height?: number;
    /**
     * Sets and gets the width of the container in linear gauge.
     *
     * @default 0
     */
    width?: number;
    /**
     * Sets and gets the corner radius for the rounded rectangle container in linear gauge.
     *
     * @default 10
     */
    roundedCornerRadius?: number;
    /**
     * Sets and gets the background color of the container in linear gauge.
     */
    backgroundColor?: string;
    /**
     * Sets and gets the options to customize the border of container.
     */
    border?: BorderModel;
    /**
     * Sets and gets the value to place the container in the linear gauge component.
     *
     */
    offset?: number;
}
/**
 * Interface for a class RangeTooltip
 */
export interface RangeTooltipModel {
    /**
     * Sets and gets the fill color of the range tooltip, which accepts the value in hex code, rgba string as a valid CSS color string.
     *
     * @default null
     */
    fill?: string;
    /**
     * Sets and gets the options to customize the tooltip text of range in axis.
     */
    textStyle?: FontModel;
    /**
     * Sets and gets the format for the tooltip content in range.
     *
     * @default null
     */
    format?: string;
    /**
     * Sets and gets the custom template to format the tooltip content. Use ${x} and ${y} as a
     * placeholder text to display the corresponding data point.
     *
     * @default null
     */
    template?: string;
    /**
     * Enables or disables the animation for the range tooltip when moved from one place to another.
     *
     * @default true
     */
    enableAnimation?: boolean;
    /**
     * Sets and gets the options to customize the border for range tooltip.
     */
    border?: BorderModel;
    /**
     * Sets and gets the position type to place the tooltip in the axis .
     *
     * @default End
     */
    position?: TooltipPosition;
    /**
     * Enables or disables the options to show the tooltip position on range.
     *
     * @default false
     */
    showAtMousePosition?: boolean;
}
/**
 * Interface for a class TooltipSettings
 */
export interface TooltipSettingsModel {
    /**
     * Enables or disables the visibility of tooltip.
     *
     * @default false
     */
    enable?: boolean;
    /**
     * Sets and gets the color of the tooltip. This property accepts value in hex code, rgba string as a valid CSS color string.
     */
    fill?: string;
    /**
     * Sets and gets the options to customize the text in tooltip.
     */
    textStyle?: FontModel;
    /**
     * Sets and gets the format of the tooltip content in linear gauge.
     *
     * @default null
     */
    format?: string;
    /**
     * Enables or disables the options to show the tooltip position on mouse pointer.
     *
     * @default false
     */
    showAtMousePosition?: boolean;
    /**
     * Sets and gets the options to customize the range tooltip property.
     */
    rangeSettings?: RangeTooltipModel;
    /**
     * Sets and gets the position type to place the tooltip in the axis.
     *
     * @default End
     */
    position?: TooltipPosition;
    /**
     * Sets and gets the custom template to format the tooltip content. Use ${x} and ${y} as a
     * placeholder text to display the corresponding data point.
     *
     * @default null
     */
    template?: string;
    /**
     * Enables or disables the animation for the tooltip while moving from one place to another.
     *
     * @default true
     */
    enableAnimation?: boolean;
    /**
     * Sets and gets the options to customize the border for tooltip.
     */
    border?: BorderModel;
    /**
     * Sets and gets the option to display the tooltip for range, annotation, pointer.
     *
     * @default Pointer
     */
    type?: string[];
}
//node_modules/@syncfusion/ej2-lineargauge/src/linear-gauge/model/base.d.ts
/**
 * Sets and gets the options for customizing the fonts.
 */
export  class Font extends base.ChildProperty<Font> {
    /**
     * Sets and gets the size of the font in text.
     */
    size: string;
    /**
     * Sets and gets the font color for text.
     */
    color: string;
    /**
     * Sets and gets the font-family for text.
     */
    fontFamily: string;
    /**
     * Sets and gets the font weight of the text.
     */
    fontWeight: string;
    /**
     * Sets and gets the style for text.
     */
    fontStyle: string;
    /**
     * Sets and gets the opacity of the text.
     *
     */
    opacity: number;
}
/**
 * Sets and gets the margin for the linear gauge.
 */
export  class Margin extends base.ChildProperty<Margin> {
    /**
     * Sets and gets the left margin for linear gauge.
     *
     * @default 10
     */
    left: number;
    /**
     * Sets and gets the right margin for linear gauge.
     *
     * @default 10
     */
    right: number;
    /**
     * Sets and gets the top margin for linear gauge.
     *
     * @default 10
     */
    top: number;
    /**
     * Sets and gets the bottom margin for linear gauge.
     *
     * @default 10
     */
    bottom: number;
}
/**
 * Sets and gets the options to customize the border for the linear gauge.
 */
export  class Border extends base.ChildProperty<Border> {
    /**
     * Sets and gets the color of the border. This property accepts value in hex code, rgba string as a valid CSS color string.
     */
    color: string;
    /**
     * Sets and gets the width of the border.
     *
     * @default 0
     */
    width: number;
    /**
     * Sets and gets the dash-array of the border.
     */
    dashArray: string;
}
/**
 * Sets and gets the options for customizing the annotation in linear gauge.
 */
export  class Annotation extends base.ChildProperty<Annotation> {
    /**
     * Sets and gets the content for the annotations.
     */
    content: string;
    /**
     * Sets and gets the x position for the annotation in linear gauge.
     */
    x: number;
    /**
     * Sets and gets the y position for the annotation in linear gauge.
     */
    y: number;
    /**
     * Sets and gets the vertical alignment of annotation.
     *
     * @default None
     */
    verticalAlignment: Placement;
    /**
     * Sets and gets the horizontal alignment of annotation.
     *
     * @default None
     */
    horizontalAlignment: Placement;
    /**
     * Sets and gets the z-index of the annotation.
     *
     * @default '-1'
     */
    zIndex: string;
    /**
     * Sets and gets the options to customize the font of the annotation in linear gauge.
     */
    font: FontModel;
    /**
     * Sets and gets the axis index of the linear gauge
     *
     * @aspDefaultValueIgnore
     */
    axisIndex: number;
    /**
     * Sets and gets the value of axis in linear gauge.
     *
     * @aspDefaultValueIgnore
     */
    axisValue: number;
}
/**
 * Sets and gets the options for customizing the container of linear gauge.
 */
export  class Container extends base.ChildProperty<Container> {
    /**
     * Sets and gets the type of container in linear gauge.
     *
     * @default Normal
     */
    type: ContainerType;
    /**
     * Sets and gets the height of the container in linear gauge.
     *
     * @default 0
     */
    height: number;
    /**
     * Sets and gets the width of the container in linear gauge.
     *
     * @default 0
     */
    width: number;
    /**
     * Sets and gets the corner radius for the rounded rectangle container in linear gauge.
     *
     * @default 10
     */
    roundedCornerRadius: number;
    /**
     * Sets and gets the background color of the container in linear gauge.
     */
    backgroundColor: string;
    /**
     * Sets and gets the options to customize the border of container.
     */
    border: BorderModel;
    /**
     * Sets and gets the value to place the container in the linear gauge component.
     *
     */
    offset: number;
}
/**
 * Sets and gets the options to customize the tooltip for range in axis.
 */
export  class RangeTooltip extends base.ChildProperty<RangeTooltip> {
    /**
     * Sets and gets the fill color of the range tooltip, which accepts the value in hex code, rgba string as a valid CSS color string.
     *
     * @default null
     */
    fill: string;
    /**
     * Sets and gets the options to customize the tooltip text of range in axis.
     */
    textStyle: FontModel;
    /**
     * Sets and gets the format for the tooltip content in range.
     *
     * @default null
     */
    format: string;
    /**
     * Sets and gets the custom template to format the tooltip content. Use ${x} and ${y} as a
     * placeholder text to display the corresponding data point.
     *
     * @default null
     */
    template: string;
    /**
     * Enables or disables the animation for the range tooltip when moved from one place to another.
     *
     * @default true
     */
    enableAnimation: boolean;
    /**
     * Sets and gets the options to customize the border for range tooltip.
     */
    border: BorderModel;
    /**
     * Sets and gets the position type to place the tooltip in the axis .
     *
     * @default End
     */
    position: TooltipPosition;
    /**
     * Enables or disables the options to show the tooltip position on range.
     *
     * @default false
     */
    showAtMousePosition: boolean;
}
/**
 * Sets and gets the options for customizing the tooltip in linear gauge.
 */
export  class TooltipSettings extends base.ChildProperty<TooltipSettings> {
    /**
     * Enables or disables the visibility of tooltip.
     *
     * @default false
     */
    enable: boolean;
    /**
     * Sets and gets the color of the tooltip. This property accepts value in hex code, rgba string as a valid CSS color string.
     */
    fill: string;
    /**
     * Sets and gets the options to customize the text in tooltip.
     */
    textStyle: FontModel;
    /**
     * Sets and gets the format of the tooltip content in linear gauge.
     *
     * @default null
     */
    format: string;
    /**
     * Enables or disables the options to show the tooltip position on mouse pointer.
     *
     * @default false
     */
    showAtMousePosition: boolean;
    /**
     * Sets and gets the options to customize the range tooltip property.
     */
    rangeSettings: RangeTooltipModel;
    /**
     * Sets and gets the position type to place the tooltip in the axis.
     *
     * @default End
     */
    position: TooltipPosition;
    /**
     * Sets and gets the custom template to format the tooltip content. Use ${x} and ${y} as a
     * placeholder text to display the corresponding data point.
     *
     * @default null
     */
    template: string;
    /**
     * Enables or disables the animation for the tooltip while moving from one place to another.
     *
     * @default true
     */
    enableAnimation: boolean;
    /**
     * Sets and gets the options to customize the border for tooltip.
     */
    border: BorderModel;
    /**
     * Sets and gets the option to display the tooltip for range, annotation, pointer.
     *
     * @default Pointer
     */
    type: string[];
}
//node_modules/@syncfusion/ej2-lineargauge/src/linear-gauge/model/constant.d.ts
/**
 * Specifies the linear gauge constant value
 */
/** @private */
export  const loaded: string;
/** @private */
export  const load: string;
/** @private */
export  const animationComplete: string;
/** @private */
export  const axisLabelRender: string;
/** @private */
export  const tooltipRender: string;
/** @private */
export  const annotationRender: string;
/** @private */
export  const gaugeMouseMove: string;
/** @private */
export  const gaugeMouseLeave: string;
/** @private */
export  const gaugeMouseDown: string;
/** @private */
export  const gaugeMouseUp: string;
/** @private */
export  const dragStart: string;
/** @private */
export  const dragMove: string;
/** @private */
export  const dragEnd: string;
/** @private */
export  const valueChange: string;
/** @private */
export  const resized: string;
/** @private */
export  const beforePrint: string;
//node_modules/@syncfusion/ej2-lineargauge/src/linear-gauge/model/image-export.d.ts
/**
 * Represent the print and export for gauge.
 *
 * @hidden
 */
export  class ImageExport {
    /**
     * Constructor for gauge
     *
     * @param control
     */
    constructor(control: LinearGauge);
    /**
     * To export the file as image/svg format
     *
     * @param type
     * @param fileName
     * @private
     */
    export(gauge: LinearGauge, type: ExportType, fileName: string, allowDownload?: boolean): Promise<string>;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the ImageExport.
     *
     * @return {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-lineargauge/src/linear-gauge/model/interface.d.ts
/**
 * @private
 * Specifies the event arguments of linear gauge.
 */
/** @private */
export interface ILinearGaugeEventArgs {
    /**
     * Specifies the name of the event.
     */
    name: string;
    /**
     * Specifies the cancel state for the event. The default value is false. If set as true, the event progress will be stopped.
     */
    cancel: boolean;
}
/**
 * Specifies the event arguments for print event in linear gauge.
 */
export interface IPrintEventArgs extends ILinearGaugeEventArgs {
    /**
     * Specifies the html content that is printed. The html content returned is usually the id string of the linear gauge.
     */
    htmlContent: Element;
}
/**
 * Specifies the event arguments for loaded event in linear gauge.
 */
export interface ILoadedEventArgs extends ILinearGaugeEventArgs {
    /**
     * Specifies the instance of linear gauge.
     */
    gauge: LinearGauge;
}
/**
 * Specifies the event arguments for load event in linear gauge.
 */
export interface ILoadEventArgs extends ILinearGaugeEventArgs {
    /**
     * Specifies the instance of linear gauge.
     */
    gauge: LinearGauge;
}
/**
 * Specifies the event arguments for animation completed event in linear gauge.
 */
export interface IAnimationCompleteEventArgs extends ILinearGaugeEventArgs {
    /**
     * Specifies the instance of axis in linear gauge.
     */
    axis: Axis;
    /**
     * Specifies the instance of pointer in linear gauge.
     */
    pointer: Pointer;
}
/**
 * Specifies the event arguments for axis label rendering event in linear gauge.
 */
export interface IAxisLabelRenderEventArgs extends ILinearGaugeEventArgs {
    /**
     * Specifies the instance of axis in linear gauge.
     */
    axis: Axis;
    /**
     * Specifies the text for the axis label.
     */
    text: string;
    /**
     * Specifies the value for the axis label.
     */
    value: number;
}
/**
 * Specifies the event arguments for tooltip event in linear gauge.
 */
export interface ITooltipRenderEventArgs extends ILinearGaugeEventArgs {
    /**
     * Specifies the instance of linear gauge component.
     */
    gauge: LinearGauge;
    /**
     * Specifies the mouse pointer event.
     */
    event: PointerEvent;
    /**
     * Specifies the content for the tooltip.
     */
    content?: string;
    /**
     * Specifies the options to customize the tooltip.
     */
    tooltip?: TooltipSettings;
    /**
     * Specifies the location of the tooltip in linear gauge.
     */
    location?: GaugeLocation;
    /**
     * Specifies the instance of axis.
     */
    axis: Axis;
    /**
     * Specifies the instance of pointer.
     */
    pointer: Pointer;
}
/**
 * Specifies the event arguments for annotation render event in linear gauge.
 */
export interface IAnnotationRenderEventArgs extends ILinearGaugeEventArgs {
    /**
     * Specifies the content for the annotation.
     */
    content?: string;
    /**
     * Specifies the options to customize the text in annotation.
     */
    textStyle?: FontModel;
    /**
     * Specifies the instance of annotation.
     */
    annotation: Annotation;
}
/**
 * Specifies the event arguments for mouse events in linear gauge.
 */
export interface IMouseEventArgs extends ILinearGaugeEventArgs {
    /**
     * Specifies the instance of linear gauge.
     */
    model?: LinearGauge;
    /**
     * Specifies the target element on which the mouse operation is performed.
     */
    target: Element;
    /**
     * Specifies the x position of the mouse event.
     */
    x: number;
    /**
     * Specifies the y position of the mouse event.
     */
    y: number;
}
/**
 * Specifies the event arguments for pointer drag event in linear gauge.
 */
export interface IPointerDragEventArgs {
    /**
     * Specifies the name of the event.
     */
    name: string;
    /**
     * Specifies the axis instance in linear gauge.
     */
    axis?: Axis;
    /**
     * Specifies the pointers instance in linear gauge
     */
    pointer?: Pointer;
    /**
     * Specifies the value of the pointer after dragging the pointer.
     */
    currentValue: number;
    /**
     * Specifies the value of the pointer before dragging the pointer.
     */
    previousValue?: number;
    /**
     * Specifies the index value of the pointer that is dragged in linear gauge.
     */
    pointerIndex: number;
    /**
     * Specifies the index value of the axis on which the pointer is dragged.
     */
    axisIndex: number;
}
/**
 * Specifies the event arguments for resize event in linear gauge.
 */
export interface IResizeEventArgs {
    /**
     * Specifies the name of the event.
     */
    name: string;
    /**
     * Specifies the size of the linear gauge before resizing.
     */
    previousSize: Size;
    /**
     * Specifies the size of the linear gauge after resizing.
     */
    currentSize: Size;
    /**
     * Specifies the instance of linear gauge.
     */
    gauge: LinearGauge;
}
/**
 * Specifies the event arguments for value change event in linear gauge.
 */
export interface IValueChangeEventArgs {
    /**
     * Specifies the name of the event.
     */
    name: string;
    /**
     * Specifies the instance of the linear gauge.
     */
    gauge?: LinearGauge;
    /**
     * Specifies the element of the linear gauge.
     */
    element: Element;
    /**
     * specifies the index value of the current axis.
     */
    axisIndex: number;
    /**
     * Specifies the axis instance of linear gauge.
     */
    axis?: Axis;
    /**
     * Specifies the current pointer index in linear gauge.
     */
    pointerIndex: number;
    /**
     * Specifies the pointer instance of linear gauge.
     */
    pointer?: Pointer;
    /**
     * Specifies the current value.
     */
    value: number;
}
/** @private */
export interface IVisiblePointer {
    axis?: Axis;
    axisIndex?: number;
    pointer?: Pointer;
    pointerIndex?: number;
}
/** @private */
export interface IMoveCursor {
    pointer?: boolean;
    style?: string;
}
/**
 * Specifies the theme style for linear gauge.
 */
export interface IThemeStyle {
    /**
     * Specifies the background color of linear gauge.
     */
    backgroundColor: string;
    /**
     * Specifies the text color for the title in  the linear gauge.
     */
    titleFontColor: string;
    /**
     * Specifies the font style for the title in  the linear gauge.
     */
    titleFontStyle: string;
    /**
     * Specifies the font weight for the title in  the linear gauge.
     */
    titleFontWeight: string;
    /**
     * Specifies the fill color for the tooltip in the linear gauge.
     */
    tooltipFillColor: string;
    /**
     * Specifies the font color for the tooltip in the linear gauge.
     */
    tooltipFontColor: string;
    /**
     * Specifies the color of the axis line in the linear gauge.
     */
    lineColor: string;
    /**
     * Specifies the color of the label in the linear gage.
     */
    labelColor: string;
    /**
     * Specifies the font weight of the label in the linear gage.
     */
    labelWeight: string;
    /**
     * Specifies the font style of the label in the linear gage.
     */
    labelStyle: string;
    /**
     * Specifies the color for major ticks in the linear gauge.
     */
    majorTickColor: string;
    /**
     * Specifies the color for minor ticks in the linear gauge.
     */
    minorTickColor: string;
    /**
     * Specifies the color for the linear gauge pointer.
     */
    pointerColor: string;
    /**
     * Specifies the font family of the text contents in linear gauge.
     */
    fontFamily?: string;
    /**
     * Specifies the font size of the text contents in linear gauge.
     */
    fontSize?: string;
    /**
     * Specifies the font family of the labels.
     */
    labelFontFamily?: string;
    /**
     * Specifies the opacity of the tooltip.
     */
    tooltipFillOpacity?: number;
    /**
     * Specifies the opacity of text content of the tooltip.
     */
    tooltipTextOpacity?: number;
    /**
     * Specifies the background color of the container.
     */
    containerBackground?: string;
    /**
     * Specifies the border color of the container.
     */
    containerBorderColor?: string;
}
//node_modules/@syncfusion/ej2-lineargauge/src/linear-gauge/model/pdf-export.d.ts
/**
 * Represent the print and export for gauge.
 *
 * @hidden
 */
export  class PdfExport {
    /**
     * Constructor for gauge
     *
     * @param control
     */
    constructor(control: LinearGauge);
    /**
     * To export the file as pdf format
     *
     * @param type
     * @param fileName
     * @private
     */
    export(gauge: LinearGauge, type: ExportType, fileName: string, orientation?: pdfExport.PdfPageOrientation, allowDownload?: boolean): Promise<string>;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the PdfExport.
     *
     * @return {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-lineargauge/src/linear-gauge/model/print.d.ts
/**
 * Represent the print and export for gauge.
 *
 * @hidden
 */
export  class Print {
    /**
     * Constructor for gauge
     *
     * @param control
     */
    constructor(control: LinearGauge);
    /**
     * To print the gauge
     *
     * @param elements
     * @private
     */
    print(gauge: LinearGauge, elements?: string[] | string | Element): void;
    /**
     * To get the html string of the gauge
     *
     * @param elements
     * @private
     */
    private getHTMLContent;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the print.
     *
     * @return {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-lineargauge/src/linear-gauge/model/theme.d.ts
/**
 * Gauge Themes doc
 */
/** @private */
export  function getThemeStyle(theme: LinearGaugeTheme): IThemeStyle;
//node_modules/@syncfusion/ej2-lineargauge/src/linear-gauge/user-interaction/tooltip.d.ts
/**
 * Represent the tooltip rendering for gauge
 */
export  class GaugeTooltip {
    private gauge;
    private element;
    private currentAxis;
    private axisIndex;
    private currentPointer;
    private currentRange;
    private isTouch;
    private svgTooltip;
    private textStyle;
    private borderStyle;
    private pointerElement;
    private tooltip;
    private clearTimeout;
    private tooltipId;
    constructor(gauge: LinearGauge);
    /**
     * Internal use for tooltip rendering
     *
     * @param pointerElement
     */
    renderTooltip(e: PointerEvent): void;
    private tooltipRender;
    private tooltipCreate;
    private svgCreate;
    private getTooltipPosition;
    private getTooltipLocation;
    removeTooltip(): void;
    mouseUpHandler(e: PointerEvent): void;
    /**
     * To bind events for tooltip module
     */
    addEventListener(): void;
    /**
     * To unbind events for tooltip module
     */
    removeEventListener(): void;
    protected getModuleName(): string;
    /**
     *
     * @return {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-lineargauge/src/linear-gauge/utils/enum.d.ts
/**
 * Defines the position of ticks, labels, pointers, and ranges.
 *
 * @private
 */
export  type Position = 
/** Specifies the position of ticks, labels, pointers, and ranges to be placed inside the axis. */
'Inside' | 
/** Specifies the position of ticks, labels, pointers, and ranges to be placed outside the axis. */
'Outside' | 
/** Specifies the position of ticks, labels, pointers, and ranges to be placed on the axis. */
'Cross' | 
/** Specifies the position of ticks, labels, pointers, and ranges to be placed based on the available size in linear gauge. */
'Auto';
/**
 * Defines type of pointer in linear gauge.
 *
 * @private
 */
export  type Point = 
/** Specifies the pointer as marker type. */
'Marker' | 
/** Specifies the pointer as bar. */
'Bar';
/**
 * Defines theme supported for the linear gauge.
 *
 * @private
 */
export  type LinearGaugeTheme = 
/** Renders the linear gauge with material theme. */
'Material' | 
/** Renders the linear gauge with bootstrap theme. */
'Bootstrap' | 
/** Renders the linear gauge with highcontrast light theme. */
'HighContrastLight' | 
/** Renders the linear gauge with fabric theme. */
'Fabric' | 
/** Renders the linear gauge with material dark theme. */
'MaterialDark' | 
/** Renders the linear gauge with fabric dark theme. */
'FabricDark' | 
/** Renders the linear gauge with highcontrast dark theme. */
'HighContrast' | 
/** Renders the linear gauge with bootstrap dark theme. */
'BootstrapDark' | 
/** Renders the linear gauge with bootstrap4 theme. */
'Bootstrap4' | 
/** Renders the linear gauge with Tailwind theme. */
'Tailwind' | 
/** Renders the linear gauge with TailwindDark theme. */
'TailwindDark' | 
/** Renders the linear gauge with Bootstrap5 theme. */
'Bootstrap5' | 
/**  Render the linear gauge with Bootstrap5 dark theme. */
'Bootstrap5Dark' | 
/** Renders the linear gauge with Fluent theme. */
'Fluent' | 
/**  Render the linear gauge with Fluent dark theme. */
'FluentDark';
/**
 * Defines the type of marker.
 *
 * @private
 */
export  type MarkerType = 
/**
 * Specifies the marker as triangle.
 */
'Triangle' | 
/**
 * Specifies the marker as inverted triangle.
 */
'InvertedTriangle' | 
/**
 * Specifies the marker as diamond.
 */
'Diamond' | 
/**
 * Specifies the marker as rectangle.
 */
'Rectangle' | 
/**
 * Specifies the marker as circle.
 */
'Circle' | 
/**
 * Specifies the marker as arrow.
 */
'Arrow' | 
/**
 * Specifies the marker as inverted arrow.
 */
'InvertedArrow' | 
/**
 * Specifies the marker as image.
 */
'Image';
/**
 * Defines the place of the pointer.
 *
 * @private
 */
export  type Placement = 
/**
 * Specifies the pointer to be placed near the linear gauge.
 */
'Near' | 
/**
 * Specifies the pointer to be placed at the center of the linear gauge.
 */
'Center' | 
/**
 * Specifies the pointer to be placed far from the linear gauge.
 */
'Far' | 
/**
 * Specifies the pointer to be placed at default position.
 */
'None';
/**
 * Defines the type of gauge orientation.
 *
 * @private
 */
export  type Orientation = 
/**
 * Specifies the linear gauge to be placed horizontally.
 */
'Horizontal' | 
/**
 * Specifies the linear gauge to be placed vertically.
 */
'Vertical';
/**
 * Defines the placement of the label in linear gauge.
 *
 * @private
 */
export  type LabelPlacement = 
/**
 * Specifies that the first and last labels to be placed at the default position.
 */
'None' | 
/**
 * Specifies that the first and last labels to be shifted within the axis.
 */
'Shift' | 
/**
 * Specifies that the first and last labels to be trimmed.
 */
'Trim' | 
/**
 * Specifies that the first and last labels must trim or shift automatically.
 */
'Auto';
/**
 * Defines the container type.
 */
export  type ContainerType = 
/** Specifies the container to be drawn as normal rectangle box. */
'Normal' | 
/**
 * Specifies the container to be drawn as the thermometer box.
 */
'Thermometer' | 
/**
 * Specifies the container to be drawn as the rounded rectangle box.
 */
'RoundedRectangle';
/**
 * Defines the export type.
 */
export  type ExportType = 
/** Specifies the rendered linear gauge to be exported as png format */
'PNG' | 
/** Specifies the rendered linear gauge to be exported as jpeg format */
'JPEG' | 
/** Specifies the rendered linear gauge to be exported as svg format */
'SVG' | 
/** Specifies the rendered linear gauge to be exported as pdf format */
'PDF';
/**
 * Specifies the tooltip position for the range in linear gauge.
 */
export  type TooltipPosition = 
/** Specifies the tooltip for the range to be placed at the start of the range. */
'Start' | 
/**
 * Specifies the tooltip for the range to be placed at the center of the range.
 */
'Center' | 
/**
 * Specifies the tooltip for the range to be placed at the end of the range.
 */
'End';
//node_modules/@syncfusion/ej2-lineargauge/src/linear-gauge/utils/helper.d.ts
/**
 * Specifies Linear-Gauge Helper methods
 */
/** @private */
export  function stringToNumber(value: string, containerSize: number): number;
/** @private */
export  function stringToNumberSize(value: string, containerSize: number): number;
/**
 * Function to measure the height and width of the text.
 *
 * @param  {string} text
 * @param  {FontModel} font
 * @param  {string} id
 * @returns no
 * @private
 */
export  function measureText(text: string, font: FontModel): Size;
/**
 * @private
 * Trim the title text
 */
export  function textTrim(maxWidth: number, text: string, font: FontModel): string;
/** @private */
export  function withInRange(value: number, start: number, end: number, max: number, min: number, type: string): boolean;
export  function convertPixelToValue(parentElement: HTMLElement, pointerElement: Element, orientation: Orientation, axis: Axis, type: string, location: GaugeLocation): number;
export  function getPathToRect(path: SVGPathElement, size: Size, parentElement: HTMLElement): Rect;
/** @private */
export  function getElement(id: string): HTMLElement;
/** @private */
export  function removeElement(id: string): void;
/** @private */
export  function isPointerDrag(axes: AxisModel[]): boolean;
/** @private */
export  function valueToCoefficient(value: number, axis: Axis, orientation: Orientation, range: VisibleRange): number;
export  function getFontStyle(font: FontModel): string;
export  function textFormatter(format: string, data: any, gauge: LinearGauge): string;
export  function formatValue(value: number, gauge: LinearGauge): string | number;
/** @private */
export  function getLabelFormat(format: string): string;
/** @private */
export  function getTemplateFunction(template: string, gauge: LinearGauge): any;
/** @private */
export  function getElementOffset(childElement: HTMLElement, parentElement: HTMLElement): Size;
/**
 * To trigger the download element
 *
 * @param fileName
 * @param type
 * @param url
 */
export  function triggerDownload(fileName: string, type: ExportType, url: string, isDownload: boolean): void;
/** @private */
export  class VisibleRange {
    min?: number;
    max?: number;
    interval?: number;
    delta?: number;
    constructor(min: number, max: number, interval: number, delta: number);
}
/**
 * Internal use of gauge location
 */
export  class GaugeLocation {
    /**
     * To specify x value
     */
    x: number;
    /**
     * To specify y value
     */
    y: number;
    constructor(x: number, y: number);
}
/**
 * Internal class size for height and width
 */
export  class Size {
    /**
     * height of the size
     */
    height: number;
    /**
     * width of the size
     */
    width: number;
    constructor(width: number, height: number);
}
/** @private */
export  class Rect {
    x: number;
    y: number;
    height: number;
    width: number;
    constructor(x: number, y: number, width: number, height: number);
}
/** @private */
export  class CustomizeOption {
    id: string;
    constructor(id?: string);
}
/** @private */
export  class PathOption extends CustomizeOption {
    opacity: number;
    fill: string;
    stroke: string;
    ['stroke-width']: number;
    ['stroke-dasharray']: string;
    d: string;
    transform: string;
    cx: number;
    cy: number;
    r: number;
    constructor(id: string, fill: string, width: number, color: string, opacity?: number, dashArray?: string, d?: string, transform?: string);
}
/** @private */
export  class RectOption {
    x: number;
    y: number;
    id: string;
    height: number;
    width: number;
    rx: number;
    ry: number;
    opacity: number;
    transform: string;
    stroke: string;
    fill: string;
    ['stroke-width']: number;
    ['stroke-dasharray']: string;
    constructor(id: string, fill: string, border: BorderModel, opacity: number, rect: Rect, transform?: string, dashArray?: string);
}
/** @private */
export  class TextOption extends CustomizeOption {
    anchor: string;
    text: string;
    transform: string;
    x: number;
    y: number;
    baseLine: string;
    constructor(id?: string, x?: number, y?: number, anchor?: string, text?: string, transform?: string, baseLine?: string);
}
/** @private */
export  class VisibleLabels {
    text: string;
    value: number;
    size: Size;
    x?: number;
    y?: number;
    angle: number;
    constructor(text: string, value: number, size: Size, x?: number, y?: number);
}
/** @private */
export  class Align {
    axisIndex: number;
    align: string;
    constructor(axisIndex: number, align: string);
}
/** @private */
export  function textElement(options: TextOption, font: FontModel, color: string, parent: HTMLElement | Element): Element;
export  function calculateNiceInterval(min: number, max: number, size: number, orientation: Orientation): number;
export  function getActualDesiredIntervalsCount(size: number, orientation: Orientation): number;
/** @private */
export  function getPointer(target: HTMLElement, gauge: LinearGauge): IVisiblePointer;
/** @private */
export  function getRangeColor(value: number, ranges: Range[]): string;
/**
 * Function to get the mouse position
 *
 * @param pageX
 * @param pageY
 * @param element
 */
export  function getMousePosition(pageX: number, pageY: number, element: Element): GaugeLocation;
/** @private */
export  function getRangePalette(theme: LinearGaugeTheme): string[];
/** @private */
export  function calculateShapes(location: Rect, shape: MarkerType, size: Size, url: string, options: PathOption, orientation: Orientation, axis: Axis, pointer: Pointer): PathOption;
/** @private */
export  function getBox(location: Rect, boxName: string, orientation: Orientation, size: Size, type: string, containerWidth: number, axis: Axis, cornerRadius: number): string;
/** @private */
export  function getExtraWidth(gaugeElement: HTMLElement): number;
 }
export namespace lists { 

//node_modules/@syncfusion/ej2-lists/src/common/index.d.ts
/**
 * Listview Component
 */
//node_modules/@syncfusion/ej2-lists/src/common/list-base.d.ts
export  let cssClass: ClassList;
/**
 * An interface that holds item class list
 */
export interface ClassList {
    li: string;
    ul: string;
    group: string;
    icon: string;
    text: string;
    check: string;
    checked: string;
    selected: string;
    expanded: string;
    textContent: string;
    hasChild: string;
    level: string;
    url: string;
    collapsible: string;
    disabled: string;
    image: string;
    iconWrapper: string;
    anchorWrap: string;
    navigable: string;
}
/**
 * Sorting Order
 */
export  type SortOrder = 'None' | 'Ascending' | 'Descending';
/**
 * Base List Generator
 */
export  namespace ListBase {
    /**
     *
     * Default mapped fields.
     */
    const defaultMappedFields: FieldsMapping;
    /**
     * Function helps to created and return the UL Li element based on your data.
     *
     * @param  {createElementParams} createElement - Specifies an array of JSON data.
     *
     * @param  {{Object}[]} dataSource - Specifies an array of JSON data.
     *
     * @param  {ListBaseOptions} options? - Specifies the list options that need to provide.
     *
     * @param  {boolean} isSingleLevel? - Specifies the list options that need to provide.
     *
     * @param  {any} componentInstance? - Specifies the list options that need to provide.
     *
     * @returns  {createElement} createListFromJson - Specifies the list options that need to provide.
     */
    function createList(createElement: createElementParams, dataSource: {
        [key: string]: Object;
    }[] | string[] | number[], options?: ListBaseOptions, isSingleLevel?: boolean, componentInstance?: any): HTMLElement;
    /**
     * Function helps to created an element list based on string array input .
     *
     * @param  {createElementParams} createElement - Specifies an array of JSON data.
     *
     * @param  {{Object}[]} dataSource - Specifies an array of JSON data.
     *
     * @param  {ListBaseOptions} options? - Specifies the list options that need to provide.
     *
     * @param  {boolean} isSingleLevel? - Specifies the list options that need to provide.
     *
     * @param  {any} componentInstance? - Specifies the list options that need to provide.
     *
     * @returns  {createElement} generateUL - returns the list options that need to provide.
     */
    function createListFromArray(createElement: createElementParams, dataSource: string[] | number[], isSingleLevel?: boolean, options?: ListBaseOptions, componentInstance?: any): HTMLElement;
    /**
     * Function helps to created an element list based on string array input .
     *
     * @param  {createElementParams} createElement - Specifies an array of JSON data.
     *
     * @param  {{Object}[]} dataSource - Specifies an array of JSON data.
     *
     * @param  {ListBaseOptions} options? - Specifies the list options that need to provide.
     *
     * @param  {boolean} isSingleLevel? - Specifies the list options that need to provide.
     *
     * @param  {any} componentInstance? - Specifies the list options that need to provide.
     *
     * @returns  {HTMLElement[]} subChild - returns the list options that need to provide.
     */
    function createListItemFromArray(createElement: createElementParams, dataSource: string[] | number[], isSingleLevel?: boolean, options?: ListBaseOptions, componentInstance?: any): HTMLElement[];
    /**
     * Function helps to created an element list based on array of JSON input .
     *
     * @param  {createElementParams} createElement - Specifies an array of JSON data.
     *
     * @param  {{Object}[]} dataSource - Specifies an array of JSON data.
     *
     * @param  {ListBaseOptions} options? - Specifies the list options that need to provide.
     *
     * @param  {boolean} isSingleLevel? - Specifies the list options that need to provide.
     *
     * @param  {number} level? - Specifies the list options that need to provide.
     *
     * @param  {any} componentInstance? - Specifies the list options that need to provide.
     *
     * @returns  {HTMLElement[]} child - returns the list options that need to provide.
     */
    function createListItemFromJson(createElement: createElementParams, dataSource: {
        [key: string]: Object;
    }[], options?: ListBaseOptions, level?: number, isSingleLevel?: boolean, componentInstance?: any): HTMLElement[];
    /**
     * Function helps to created an element list based on array of JSON input .
     *
     * @param  {createElementParams} createElement - Specifies an array of JSON data.
     *
     * @param  {{Object}[]} dataSource - Specifies an array of JSON data.
     *
     * @param  {ListBaseOptions} options? - Specifies the list options that need to provide.
     *
     * @param  {number} level? - Specifies the list options that need to provide.
     *
     * @param  {boolean} isSingleLevel? - Specifies the list options that need to provide.
     *
     * @param  {any} componentInstance? - Specifies the list options that need to provide.
     *
     * @returns  {createElement} generateUL - Specifies the list options that need to provide.
     */
    function createListFromJson(createElement: createElementParams, dataSource: {
        [key: string]: Object;
    }[], options?: ListBaseOptions, level?: number, isSingleLevel?: boolean, componentInstance?: any): HTMLElement;
    /**
     * Return the next or previous visible element.
     *
     * @param  {Element[]|NodeList} elementArray - An element array to find next or previous element.
     * @param  {Element} li - An element to find next or previous after this element.
     * @param  {boolean} isPrevious? - Specify when the need get previous element from array.
     */
    function getSiblingLI(elementArray: Element[] | NodeList, element: Element, isPrevious?: boolean): Element;
    /**
     * Return the index of the li element
     *
     * @param  {Element} item - An element to find next or previous after this element.
     * @param  {Element[]} elementArray - An element array to find index of given li.
     */
    function indexOf(item: Element, elementArray: Element[] | NodeList): number;
    /**
     * Returns the grouped data from given dataSource.
     *
     * @param  {{Object}[]} dataSource - The JSON data which is necessary to process.
     * @param  {FieldsMapping} fields - Fields that are mapped from the data source.
     * @param  {SortOrder} sortOrder- Specifies final result sort order.
     */
    function groupDataSource(dataSource: {
        [key: string]: Object;
    }[], fields: FieldsMapping, sortOrder?: SortOrder): {
        [key: string]: Object;
    }[];
    /**
     * Returns a sorted query object.
     *
     * @param  {SortOrder} sortOrder - Specifies that sort order.
     * @param  {string} sortBy - Specifies sortBy fields.
     * @param  {data.Query} query - Pass if any existing query.
     */
    function addSorting(sortOrder: SortOrder, sortBy: string, query?: data.Query): data.Query;
    /**
     * Return an array of JSON Data that processed based on queries.
     *
     * @param  {{Object}[]} dataSource - Specifies local JSON data source.
     *
     * @param  {data.Query} query - Specifies query that need to process.
     */
    function getDataSource(dataSource: {
        [key: string]: Object;
    }[], query: data.Query): {
        [key: string]: Object;
    }[];
    /**
     * Created JSON data based the UL and LI element
     *
     * @param  {HTMLElement|Element} element - UL element that need to convert as a JSON
     * @param  {ListBaseOptions} options? - Specifies listbase option for fields.
     */
    function createJsonFromElement(element: HTMLElement | Element, options?: ListBaseOptions): {
        [key: string]: Object;
    }[];
    /**
     * Created UL element from content template.
     *
     * @param  {string} template - that need to convert and generate li element.
     * @param  {{Object}[]} dataSource - Specifies local JSON data source.
     * @param  {ListBaseOptions} options? - Specifies listbase option for fields.
     */
    function renderContentTemplate(createElement: createElementParams, template: string, dataSource: {
        [key: string]: Object;
    }[] | string[] | number[], fields?: FieldsMapping, options?: ListBaseOptions, componentInstance?: any): HTMLElement;
    /**
     * Created header items from group template.
     *
     * @param  {string} template - that need to convert and generate li element.
     *
     * @param  {{Object}[]} dataSource - Specifies local JSON data source.
     *
     * @param  {FieldsMapping} fields - Specifies fields for mapping the dataSource.
     *
     * @param  {Element[]} headerItems? - Specifies listbase header items.
     */
    function renderGroupTemplate(groupTemplate: string, groupDataSource: {
        [key: string]: Object;
    }[], fields: FieldsMapping, headerItems: Element[], options?: ListBaseOptions, componentInstance?: any): Element[];
    function generateId(): string;
    /**
     * Returns UL element based on the given LI element.
     *
     * @param  {HTMLElement[]} liElement - Specifies array of LI element.
     *
     * @param  {string} className? - Specifies class name that need to be added in UL element.
     *
     * @param  {ListBaseOptions} options? - Specifies ListBase options.
     */
    function generateUL(createElement: createElementParams, liElement: HTMLElement[], className?: string, options?: ListBaseOptions): HTMLElement;
    /**
     * Returns LI element with additional DIV tag based on the given LI element.
     *
     * @param  {liElement} liElement - Specifies LI element.
     *
     * @param  {string} className? - Specifies class name that need to be added in created DIV element.
     *
     * @param  {ListBaseOptions} options? - Specifies ListBase options.
     */
    function generateIcon(createElement: createElementParams, liElement: HTMLElement, className?: string, options?: ListBaseOptions): HTMLElement;
}
export  type createElementParams = (tag: string, prop?: {
    id?: string;
    className?: string;
    innerHTML?: string;
    styles?: string;
    attrs?: {
        [key: string]: string;
    };
}) => HTMLElement;
/**
 * An interface that holds the field mappings
 */
export interface FieldsMapping {
    id?: string;
    text?: string;
    value?: string;
    isChecked?: string;
    isVisible?: string;
    url?: string;
    enabled?: string;
    groupBy?: string;
    expanded?: string;
    selected?: string;
    iconCss?: string;
    child?: string;
    tooltip?: string;
    hasChildren?: string;
    htmlAttributes?: string;
    urlAttributes?: string;
    imageUrl?: string;
    imageAttributes?: string;
    sortBy?: string;
}
/**
 * An enum type that denotes the Expand Icon Position. Available options are as follows Right, Left;
 */
export  type Position = 'Right' | 'Left';
/**
 * An interface that holds item aria attributes mapping
 */
export interface AriaAttributesMapping {
    level?: number;
    listRole?: string;
    itemRole?: string;
    groupItemRole?: string;
    itemText?: string;
    wrapperRole?: string;
}
/**
 * Basic ListBase Options
 */
export interface ListBaseOptions {
    /**
     * Specifies that fields that mapped in dataSource
     */
    fields?: FieldsMapping;
    /**
     * Specifies the aria attributes
     */
    ariaAttributes?: AriaAttributesMapping;
    /**
     * Specifies to show checkBox
     */
    showCheckBox?: boolean;
    /**
     * Specifies to show icon
     */
    showIcon?: boolean;
    /**
     * Specifies to show collapsible icon
     */
    expandCollapse?: boolean;
    /**
     * Specifies when need to add additional UL list class
     */
    listClass?: string;
    /**
     * Specifies when need to add additional LI item class
     */
    itemClass?: string;
    /**
     * Enables when need process depth child processing.
     */
    processSubChild?: boolean;
    /**
     * Specifies the sort order
     */
    sortOrder?: SortOrder;
    /**
     * Specifies the item template
     */
    template?: string;
    /**
     * Specifies the group header template
     */
    groupTemplate?: string;
    /**
     * Specifies the ListView header template
     */
    headerTemplate?: string;
    /**
     * Specifies the callback function that triggered before each list creation
     */
    itemCreating?: Function;
    /**
     * Specifies the callback function that triggered after each list creation
     */
    itemCreated?: Function;
    /**
     * Specifies the customizable expand icon class
     */
    expandIconClass?: string;
    /**
     * Specifies the customized class name based on their module name
     */
    moduleName?: string;
    /**
     * Specifies the expand/collapse icon position
     */
    expandIconPosition?: Position;
    /**
     * Specifies the template ID
     */
    templateID?: string;
    /**
     * Specifies the groupTemplate ID
     */
    groupTemplateID?: string;
    /**
     * Force template compiler to compile as string template
     */
    isStringTemplate?: string;
    /**
     * Defines whether to allow the cross scripting site or not.
     */
    enableHtmlSanitizer?: boolean;
    /**
     * If set true to this property then the entire list will be navigate-able instead of text element
     */
    itemNavigable?: boolean;
}
/**
 * Used to get dataSource item from complex data using fields.
 *
 * @param {Object} dataSource - Specifies an  JSON or String data.
 *
 * @param {FieldsMapping} fields - Fields that are mapped from the dataSource.
 */
export  function getFieldValues(dataItem: {
    [key: string]: Object;
} | string | number, fields: FieldsMapping): {
    [key: string]: Object;
} | string | number;
//node_modules/@syncfusion/ej2-lists/src/component.d.ts
/**
 * Export ListView
 */
//node_modules/@syncfusion/ej2-lists/src/index.d.ts
/**
 * List Components
 */
//node_modules/@syncfusion/ej2-lists/src/list-view/index.d.ts
/**
 * Listview Component
 */
//node_modules/@syncfusion/ej2-lists/src/list-view/list-view-model.d.ts
/**
 * Interface for a class FieldSettings
 */
export interface FieldSettingsModel {
    /**
     * Specifies the id field mapped in dataSource.
     */
    id?: string;
    /**
     * The `text` property is used to map the text value from the data source for each list item.
     */
    text?: string;
    /**
     * The `isChecked` property is used to check whether the list items are in checked state or not.
     */
    isChecked?: string;
    /**
     * The `isVisible` property is used to check whether the list items are in visible state or not.
     */
    isVisible?: string;
    /**
     * Specifies the enabled state of the ListView component.
     * And, we can disable the component using this property by setting its value as false.
     */
    enabled?: string;
    /**
     * The `iconCss` is used to customize the icon to the list items dynamically.
     *  We can add a specific image to the icons using `iconCss` property.
     */
    iconCss?: string;
    /**
     * The `child` property is used for nested navigation of listed items.
     */
    child?: string;
    /**
     * The `tooltip` is used to display the information about the target element while hovering on list items.
     */
    tooltip?: string;
    /**
     * The `groupBy` property is used to wraps the ListView elements into a group.
     */
    groupBy?: string;
    /**
     * The `sortBy` property used to enable the sorting of list items to be ascending or descending order.
     */
    sortBy?: string;
    /**
     * The `htmlAttributes` allows additional base.attributes such as id, class, etc., and
     *  accepts n number of base.attributes in a key-value pair format.
     */
    htmlAttributes?: string;
    /**
     * Specifies the `tableName` used to fetch data from a specific table in the server.
     */
    tableName?: string;
}
/**
 * Interface for a class ListView
 */
export interface ListViewModel extends base.ComponentModel{
    /**
     * The `cssClass` property is used to add a user-preferred class name in the root element of the ListView,
     *  using which we can customize the component (both CSS and functionality customization)
     *
     * {% codeBlock src='listview/cssClass/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * If `enableVirtualization` set to true, which will increase the ListView performance, while loading a large amount of data.
     *
     * {% codeBlock src='listview/enableVirtualization/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    enableVirtualization?: boolean;
    /**
     * The `htmlAttributes` allows additional base.attributes such as id, class, etc., and
     *  accepts n number of base.attributes in a key-value pair format.
     *
     * {% codeBlock src='listview/htmlAttributes/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     */
    htmlAttributes?: { [key: string]: string;
 };
    /**
     * If `enable` set to true, the list items are enabled.
     * And, we can disable the component using this property by setting its value as false.
     *
     * {% codeBlock src='listview/enable/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enable?: boolean;
    /**
     * The `dataSource` provides the data to render the ListView component which is mapped with the fields of ListView.
     *
     * @isGenericType true
     *
     * {% codeBlock src='listview/dataSource/index.md' %}{% endcodeBlock %}
     *
     * @default []
     */
    dataSource?: { [key: string]: Object }[] | string[] | number[] | data.DataManager;
    /**
     * The `query` is used to fetch the specific data from dataSource by using where and select keywords.
     *
     * {% codeBlock src='listview/query/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    query?: data.Query;
    /**
     * The `fields` is used to map keys from the dataSource which extracts the appropriate data from the dataSource
     *  with specified mapped with the column fields to render the ListView.
     *
     * {% codeBlock src='listview/fields/index.md' %}{% endcodeBlock %}
     *
     * @default defaultMappedFields
     */
    fields?: FieldSettingsModel;
    /**
     * The `animation` property provides an option to apply the different
     *  animations on the ListView component.
     *
     * {% codeBlock src='listview/animation/index.md' %}{% endcodeBlock %}
     *
     *
     * @default { effect: 'SlideLeft', duration: 400, easing: 'ease' }
     */
    animation?: AnimationSettings;
    /**
     * The `sortOrder` is used to sort the data source. The available type of sort orders are,
     * * `None` - The data source is not sorting.
     * * `Ascending` - The data source is sorting with ascending order.
     * * `Descending` - The data source is sorting with descending order.
     *
     * {% codeBlock src='listview/sortOrder/index.md' %}{% endcodeBlock %}
     *
     * @default 'None'
     */
    sortOrder?: SortOrder;
    /**
     * If `showIcon` set to true, which will show or hide the icon of the list item.
     *
     * {% codeBlock src='listview/showIcon/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    showIcon?: boolean;
    /**
     * If `showCheckBox` set to true, which will show or hide the checkbox.
     *
     * {% codeBlock src='listview/showCheckBox/index.md' %}{% endcodeBlock %}
     *
     *
     * @default false
     */
    showCheckBox?: boolean;
    /**
     * The `checkBoxPosition` is used to set the position of check box in a list item.
     * By default, the `checkBoxPosition` is Left, which will appear before the text content in a list item.
     *
     * {% codeBlock src='listview/checkBoxPosition/index.md' %}{% endcodeBlock %}
     *
     * @default 'Left'
     */
    checkBoxPosition?: checkBoxPosition;
    /**
     * The `headerTitle` is used to set the title of the ListView component.
     *
     * {% codeBlock src='listview/headerTitle/index.md' %}{% endcodeBlock %}
     *
     *
     * @default ""
     */
    headerTitle?: string;
    /**
     * If `showHeader` set to true, which will show or hide the header of the ListView component.
     *
     * {% codeBlock src='listview/showHeader/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    showHeader?: boolean;
    /**
     * If `enableHtmlSanitizer` set to true, allows the cross-scripting site.
     *
     * {% codeBlock src='listview/enableHtmlSanitizer/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    enableHtmlSanitizer?: boolean;
    /**
     * Defines the height of the ListView component which accepts both string and number values.
     *
     * {% codeBlock src='listview/height/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     */
    height?: number | string;
    /**
     * Defines the width of the ListView component which accepts both string and number values.
     *
     * {% codeBlock src='listview/width/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     */
    width?: number | string;
    /**
     * The ListView component supports to customize the content of each list items with the help of `template` property.
     *
     * {% codeBlock src='listview/template/index.md' %}{% endcodeBlock %}
     *
     * @default null
     * @deprecated
     */
    template?: string;
    /**
     * The ListView has an option to custom design the ListView header title with the help of `headerTemplate` property.
     *
     * {% codeBlock src="listview/headerTemplate/index.md" %}{% endcodeBlock %}
     *
     * @default null
     * @deprecated
     */
    headerTemplate?: string;
    /**
     * The ListView has an option to custom design the group header title with the help of `groupTemplate` property.
     *
     * {% codeBlock src="listview/groupTemplate/index.md" %}{% endcodeBlock %}
     *
     * @default null
     * @deprecated
     */
    groupTemplate?: string;
    /**
     * Triggers when we select the list item in the component.
     *
     * @event 'object'
     */
    select?: base.EmitType<SelectEventArgs>;
    /**
     * Triggers when every ListView action starts.
     *
     * @event 'object'
     */
    actionBegin?: base.EmitType<object>;
    /**
     * Triggers when every ListView actions completed.
     *
     * @event 'object'
     */
    /* es-lint disable */
    actionComplete?: base.EmitType<MouseEvent>;
    /**
     * Triggers, when the data fetch request from the remote server, fails.
     *
     * @event 'object'
     *
     */
    actionFailure?: base.EmitType<MouseEvent>;
}
//node_modules/@syncfusion/ej2-lists/src/list-view/list-view.d.ts
export  const classNames: ClassNames;
/**
 * An interface that holds options of fields.
 */
export interface Fields {
    /**
     * Specifies the id field mapped in dataSource.
     */
    id?: string | number;
    /**
     * The `text` property is used to map the text value from the data source for each list item.
     */
    text?: string | number;
    /**
     * It is used to map the custom field values of list item from the dataSource.
     */
    [key: string]: Object | string | number | undefined;
}
/**
 * Represents the field settings of the ListView.
 */
export  class FieldSettings extends base.ChildProperty<FieldSettings> {
    /**
     * Specifies the id field mapped in dataSource.
     */
    id: string;
    /**
     * The `text` property is used to map the text value from the data source for each list item.
     */
    text: string;
    /**
     * The `isChecked` property is used to check whether the list items are in checked state or not.
     */
    isChecked: string;
    /**
     * The `isVisible` property is used to check whether the list items are in visible state or not.
     */
    isVisible: string;
    /**
     * Specifies the enabled state of the ListView component.
     * And, we can disable the component using this property by setting its value as false.
     */
    enabled: string;
    /**
     * The `iconCss` is used to customize the icon to the list items dynamically.
     *  We can add a specific image to the icons using `iconCss` property.
     */
    iconCss: string;
    /**
     * The `child` property is used for nested navigation of listed items.
     */
    child: string;
    /**
     * The `tooltip` is used to display the information about the target element while hovering on list items.
     */
    tooltip: string;
    /**
     * The `groupBy` property is used to wraps the ListView elements into a group.
     */
    groupBy: string;
    /**
     * The `sortBy` property used to enable the sorting of list items to be ascending or descending order.
     */
    sortBy: string;
    /**
     * The `htmlAttributes` allows additional attributes such as id, class, etc., and
     *  accepts n number of attributes in a key-value pair format.
     */
    htmlAttributes: string;
    /**
     * Specifies the `tableName` used to fetch data from a specific table in the server.
     */
    tableName: string;
}
/**
 * An interface that holds animation settings.
 */
export interface AnimationSettings {
    /**
     * It is used to specify the effect which is shown in sub list transform.
     */
    effect?: ListViewEffect;
    /**
     * It is used to specify the time duration of transform object.
     */
    duration?: number;
    /**
     * It is used to specify the easing effect applied while transform
     */
    easing?: string;
}
/**
 * An enum type that denotes the effects of the ListView. Available options are as follows None, SlideLeft, SlideDown, Zoom, Fade;
 */
export  type ListViewEffect = 'None' | 'SlideLeft' | 'SlideDown' | 'Zoom' | 'Fade';
/**
 * An enum type that denotes the position of checkbox of the ListView. Available options are as follows Left and Right;
 */
export  type checkBoxPosition = 'Left' | 'Right';
/**
 * Represents the EJ2 ListView control.
 * ```html
 * <div id="listview">
 * <ul>
 * <li>Favorite</li>
 * <li>Documents</li>
 * <li>Downloads</li>
 * </ul>
 * </div>
 * ```
 * ```typescript
 *   var listviewObject = new ListView({});
 *   listviewObject.appendTo("#listview");
 * ```
 */
export  class ListView extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    private ulElement;
    private selectedLI;
    private onUIScrolled;
    private curUL;
    private curDSLevel;
    private curViewDS;
    private curDSJSON;
    localData: DataSource[];
    private liCollection;
    private headerEle;
    private contentContainer;
    private touchModule;
    private listBaseOption;
    virtualizationModule: Virtualization;
    private animateOptions;
    private rippleFn;
    private isNestedList;
    private currentLiElements;
    private selectedData;
    private selectedId;
    private isWindow;
    private selectedItems;
    private aniObj;
    private LISTVIEW_TEMPLATE_ID;
    private LISTVIEW_GROUPTEMPLATE_ID;
    private LISTVIEW_HEADERTEMPLATE_ID;
    private liElement;
    private virtualCheckBox;
    private liElementHeight;
    private previousSelectedItems;
    private hiddenItems;
    private enabledItems;
    private disabledItems;
    private isOffline;
    /**
     * The `cssClass` property is used to add a user-preferred class name in the root element of the ListView,
     *  using which we can customize the component (both CSS and functionality customization)
     *
     * {% codeBlock src='listview/cssClass/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     */
    cssClass: string;
    /**
     * If `enableVirtualization` set to true, which will increase the ListView performance, while loading a large amount of data.
     *
     * {% codeBlock src='listview/enableVirtualization/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    enableVirtualization: boolean;
    /**
     * The `htmlAttributes` allows additional attributes such as id, class, etc., and
     *  accepts n number of attributes in a key-value pair format.
     *
     * {% codeBlock src='listview/htmlAttributes/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     */
    htmlAttributes: {
        [key: string]: string;
    };
    /**
     * If `enable` set to true, the list items are enabled.
     * And, we can disable the component using this property by setting its value as false.
     *
     * {% codeBlock src='listview/enable/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enable: boolean;
    /**
     * The `dataSource` provides the data to render the ListView component which is mapped with the fields of ListView.
     *
     * @isGenericType true
     *
     * {% codeBlock src='listview/dataSource/index.md' %}{% endcodeBlock %}
     *
     * @default []
     */
    dataSource: {
        [key: string]: Object;
    }[] | string[] | number[] | data.DataManager;
    /**
     * The `query` is used to fetch the specific data from dataSource by using where and select keywords.
     *
     * {% codeBlock src='listview/query/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    query: data.Query;
    /**
     * The `fields` is used to map keys from the dataSource which extracts the appropriate data from the dataSource
     *  with specified mapped with the column fields to render the ListView.
     *
     * {% codeBlock src='listview/fields/index.md' %}{% endcodeBlock %}
     *
     * @default defaultMappedFields
     */
    fields: FieldSettingsModel;
    /**
     * The `animation` property provides an option to apply the different
     *  animations on the ListView component.
     *
     * {% codeBlock src='listview/animation/index.md' %}{% endcodeBlock %}
     *
     *
     * @default { effect: 'SlideLeft', duration: 400, easing: 'ease' }
     */
    animation: AnimationSettings;
    /**
     * The `sortOrder` is used to sort the data source. The available type of sort orders are,
     * * `None` - The data source is not sorting.
     * * `Ascending` - The data source is sorting with ascending order.
     * * `Descending` - The data source is sorting with descending order.
     *
     * {% codeBlock src='listview/sortOrder/index.md' %}{% endcodeBlock %}
     *
     * @default 'None'
     */
    sortOrder: SortOrder;
    /**
     * If `showIcon` set to true, which will show or hide the icon of the list item.
     *
     * {% codeBlock src='listview/showIcon/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    showIcon: boolean;
    /**
     * If `showCheckBox` set to true, which will show or hide the checkbox.
     *
     * {% codeBlock src='listview/showCheckBox/index.md' %}{% endcodeBlock %}
     *
     *
     * @default false
     */
    showCheckBox: boolean;
    /**
     * The `checkBoxPosition` is used to set the position of check box in a list item.
     * By default, the `checkBoxPosition` is Left, which will appear before the text content in a list item.
     *
     * {% codeBlock src='listview/checkBoxPosition/index.md' %}{% endcodeBlock %}
     *
     * @default 'Left'
     */
    checkBoxPosition: checkBoxPosition;
    /**
     * The `headerTitle` is used to set the title of the ListView component.
     *
     * {% codeBlock src='listview/headerTitle/index.md' %}{% endcodeBlock %}
     *
     *
     * @default ""
     */
    headerTitle: string;
    /**
     * If `showHeader` set to true, which will show or hide the header of the ListView component.
     *
     * {% codeBlock src='listview/showHeader/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    showHeader: boolean;
    /**
     * If `enableHtmlSanitizer` set to true, allows the cross-scripting site.
     *
     * {% codeBlock src='listview/enableHtmlSanitizer/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    enableHtmlSanitizer: boolean;
    /**
     * Defines the height of the ListView component which accepts both string and number values.
     *
     * {% codeBlock src='listview/height/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     */
    height: number | string;
    /**
     * Defines the width of the ListView component which accepts both string and number values.
     *
     * {% codeBlock src='listview/width/index.md' %}{% endcodeBlock %}
     *
     * @default ''
     */
    width: number | string;
    /**
     * The ListView component supports to customize the content of each list items with the help of `template` property.
     *
     * {% codeBlock src='listview/template/index.md' %}{% endcodeBlock %}
     *
     * @default null
     * @deprecated
     */
    template: string;
    /**
     * The ListView has an option to custom design the ListView header title with the help of `headerTemplate` property.
     *
     * {% codeBlock src="listview/headerTemplate/index.md" %}{% endcodeBlock %}
     *
     * @default null
     * @deprecated
     */
    headerTemplate: string;
    /**
     * The ListView has an option to custom design the group header title with the help of `groupTemplate` property.
     *
     * {% codeBlock src="listview/groupTemplate/index.md" %}{% endcodeBlock %}
     *
     * @default null
     * @deprecated
     */
    groupTemplate: string;
    /**
     * Triggers when we select the list item in the component.
     *
     * @event 'object'
     */
    select: base.EmitType<SelectEventArgs>;
    /**
     * Triggers when every ListView action starts.
     *
     * @event 'object'
     */
    actionBegin: base.EmitType<object>;
    /**
     * Triggers when every ListView actions completed.
     *
     * @event 'object'
     */
    actionComplete: base.EmitType<MouseEvent>;
    /**
     * Triggers, when the data fetch request from the remote server, fails.
     *
     * @event 'object'
     *
     */
    actionFailure: base.EmitType<MouseEvent>;
    /**
     * Constructor for creating the widget
     *
     * @param options
     *
     * @param element
     */
    constructor(options?: ListViewModel, element?: string | HTMLElement);
    /**
     * @param newProp
     *
     * @param oldProp
     *
     * @private
     */
    onPropertyChanged(newProp: ListViewModel, oldProp: ListViewModel): void;
    private setHTMLAttribute;
    private setCSSClass;
    private setSize;
    private setEnable;
    private setEnableRTL;
    private enableElement;
    private header;
    private switchView;
    protected preRender(): void;
    private initialization;
    private renderCheckbox;
    private checkInternally;
    /**
     * Checks the specific list item by passing the unchecked fields as an argument to this method.
     *
     * @param  {Fields | HTMLElement | Element} item - It accepts Fields or HTML list element as an argument.
     */
    checkItem(item: Fields | HTMLElement | Element): void;
    private toggleCheckBase;
    /**
     * Uncheck the specific list item by passing the checked fields as an argument to this method.
     *
     * @param  {Fields | HTMLElement | Element} item - It accepts Fields or HTML list element as an argument.
     */
    uncheckItem(item: Fields | HTMLElement | Element): void;
    /**
     * Checks all the unchecked items in the ListView.
     */
    checkAllItems(): void;
    /**
     * Uncheck all the checked items in ListView.
     */
    uncheckAllItems(): void;
    private toggleAllCheckBase;
    private setCheckbox;
    /**
     * Refresh the height of the list item only on enabling the virtualization property.
     */
    refreshItemHeight(): void;
    private clickHandler;
    private removeElement;
    private hoverHandler;
    private leaveHandler;
    private homeKeyHandler;
    private onArrowKeyDown;
    private arrowKeyHandler;
    private enterKeyHandler;
    private spaceKeyHandler;
    private keyActionHandler;
    private swipeActionHandler;
    private focusout;
    private wireEvents;
    private unWireEvents;
    private removeFocus;
    private removeHover;
    private removeSelect;
    private isValidLI;
    private setCheckboxLI;
    private selectEventData;
    private setSelectedItemData;
    private setSelectLI;
    private setHoverLI;
    private getSubDS;
    private getItemData;
    private findItemFromDS;
    private getQuery;
    private setViewDataSource;
    private isInAnimation;
    private renderRemoteLists;
    private triggerActionFailure;
    private setLocalData;
    private reRender;
    private resetCurrentList;
    private setAttributes;
    private createList;
    private exceptionEvent;
    private UpdateCurrentUL;
    private renderSubList;
    private renderIntoDom;
    private renderList;
    private getElementUID;
    /**
     * Initializes the ListView component rendering.
     */
    render(): void;
    /**
     * It is used to destroy the ListView component.
     */
    destroy(): void;
    /**
     * Switches back from the navigated sub list item.
     */
    back(): void;
    /**
     * Selects the list item from the ListView by passing the elements or field object.
     *
     * @param  {Fields | HTMLElement | Element} item - We can pass element Object or Fields as Object with ID and Text fields.
     */
    selectItem(item: Fields | HTMLElement | Element): void;
    private getLiFromObjOrElement;
    /**
     * Selects multiple list items from the ListView.
     *
     * @param  {Fields[] | HTMLElement[] | Element[]} item - We can pass array of
     *  elements or array of fields Object with ID and Text fields.
     */
    selectMultipleItems(item: Fields[] | HTMLElement[] | Element[]): void;
    private getParentId;
    /**
     * Gets the details of the currently selected item from the list items.
     *
     */
    getSelectedItems(): SelectedItem | SelectedCollection | UISelectedItem | NestedListData;
    /**
     * Finds out an item details from the current list.
     *
     * @param  {Fields | HTMLElement | Element} item - We can pass element Object or Fields as Object with ID and Text fields.
     */
    findItem(item: Fields | HTMLElement | Element): SelectedItem;
    /**
     * Enables the disabled list items by passing the Id and text fields.
     *
     * @param  {Fields | HTMLElement | Element} item - We can pass element Object or Fields as Object with ID and Text fields.
     */
    enableItem(item: Fields | HTMLElement | Element): void;
    /**
     * Disables the list items by passing the Id and text fields.
     *
     * @param  {Fields | HTMLElement | Element} item - We can pass element Object or Fields as Object with ID and Text fields.
     */
    disableItem(item: Fields | HTMLElement | Element): void;
    private setItemState;
    /**
     * Shows the hide list item from the ListView.
     *
     * @param  {Fields | HTMLElement | Element} item - We can pass element Object or Fields as Object with ID and Text fields.
     */
    showItem(item: Fields | HTMLElement | Element): void;
    /**
     * Hides an list item from the ListView.
     *
     * @param  {Fields | HTMLElement | Element} item - We can pass element Object or Fields as Object with ID and Text fields.
     */
    hideItem(item: Fields | HTMLElement | Element): void;
    private showHideItem;
    /**
     * Adds the new list item(s) to the current ListView.
     * To add a new list item(s) in the ListView, we need to pass the `data` as an array of items that need
     * to be added and `fields` as the target item to which we need to add the given item(s) as its children.
     * For example fields: { text: 'Name', tooltip: 'Name', id:'id'}
     *
     * @param  {{Object}[]} data - JSON Array Data that need to add.
     *
     * @param  {Fields} fields - Target item to add the given data as its children (can be null).
     *
     */
    addItem(data: {
        [key: string]: Object;
    }[], fields?: Fields): void;
    private addItemInternally;
    private addItemInNestedList;
    private addItemIntoDom;
    private addListItem;
    /**
     * Removes the list item from the data source based on a passed
     *  element like fields: { text: 'Name', tooltip: 'Name', id:'id'}
     *
     * @param  {Fields | HTMLElement | Element} item - We can pass element Object or Fields as Object with ID and Text fields.
     */
    removeItem(item: Fields | HTMLElement | Element): void;
    private removeItemFromList;
    private validateNestedView;
    /**
     * Removes multiple items from the ListView by passing the array of elements or array of field objects.
     *
     * @param  {Fields[] | HTMLElement[] | Element[]} item - We can pass array of elements or array of field Object with ID and Text fields.
     */
    removeMultipleItems(item: HTMLElement[] | Element[] | Fields[]): void;
    private findParent;
    protected getModuleName(): string;
    requiredModules(): base.ModuleDeclaration[];
    /**
     * Get the properties to be maintained in the persisted state.
     */
    protected getPersistData(): string;
}
/** @hidden */
export interface ClassNames {
    root: string;
    hover: string;
    focused: string;
    selected: string;
    parentItem: string;
    listItem: string;
    hasChild: string;
    view: string;
    header: string;
    text: string;
    headerText: string;
    headerTemplateText: string;
    listItemText: string;
    listIcon: string;
    textContent: string;
    groupListItem: string;
    disable: string;
    content: string;
    backIcon: string;
    backButton: string;
    icon: string;
    checkboxWrapper: string;
    checkbox: string;
    checked: string;
    checkboxIcon: string;
    checklist: string;
    checkboxRight: string;
    checkboxLeft: string;
    listviewCheckbox: string;
    itemCheckList: string;
    virtualElementContainer: string;
}
/**
 * An interface that holds list selected item.
 */
export interface ListSelectedItem {
    /**
     * Specifies the selected item dataSource collection.
     *
     * @isGenericType true
     */
    data?: object[];
    /**
     * Specifies the selected item text collection.
     */
    text?: string[];
    /**
     * Specifies index of the selected element.
     * Available only in virtualization.
     */
    index?: number[];
    /**
     * Specifies the hierarchical parent id collection of the current view.
     * Available only in nested list with checkbox enabled.
     */
    parentId?: string[];
}
/**
 * An interface that holds selected item.
 */
export interface SelectedItem {
    /**
     * It denotes the selected item text.
     */
    text: string;
    /**
     * It denotes the selected item list element.
     *
     */
    item: HTMLElement | Element;
    /**
     * It denotes the selected item dataSource JSON object.
     *
     * @isGenericType true
     */
    data: {
        [key: string]: Object;
    } | string[] | number[];
}
/**
 * An interface that holds selected collection.
 */
export interface SelectedCollection {
    /**
     * It denotes the selected item text data or collection.
     */
    text: string | string[];
    /**
     * It denotes the selected item list element or element collection.
     */
    item: HTMLElement | Element[] | NodeList;
    /**
     * It denotes the selected item dataSource JSON object or object collection.
     *
     * @isGenericType true
     */
    data: {
        [key: string]: object;
    } | {
        [key: string]: object;
    }[] | string[] | number[];
}
/**
 * An interface that holds UI selected item.
 */
export interface UISelectedItem {
    /**
     * It denotes the selected item text data or collection.
     */
    text: string | number | string[] | number[];
    /**
     * It denotes the selected item list element or element collection.
     */
    item?: HTMLElement | Element[] | NodeList;
    /**
     * It denotes the selected item dataSource JSON object or object collection.
     *
     * @isGenericType true
     */
    data: {
        [key: string]: object;
    } | {
        [key: string]: object;
    }[] | string | number | string[] | number[];
    /**
     * It is used to denote the index of the selected element.
     */
    index?: number | number[];
    /**
     * It is used to check whether the element is checked or not.
     */
    isChecked?: boolean;
}
/**
 * An interface that holds details of data and parent.
 */
export interface DataAndParent {
    /**
     * It denotes the selected item dataSource JSON object or object collection.
     *
     * @isGenericType true
     */
    data: {
        [key: string]: object;
    } | {
        [key: string]: object;
    }[] | string[];
    /**
     * It denotes the selected item's parent id;
     */
    parentId: string[];
}
/**
 * An interface that holds nested list data.
 */
export interface NestedListData {
    /**
     * It denotes the selected item text data or collection.
     */
    text: string | string[];
    /**
     * It denotes the selected item list element or element collection.
     */
    item: HTMLElement | Element[] | NodeList;
    /**
     * It denotes the selected item dataSource JSON object with it's parent id.
     */
    data: DataAndParent[];
}
/**
 * An interface that holds selected event arguments
 */
export interface SelectEventArgs extends base.BaseEventArgs, SelectedItem {
    /**
     * Specifies that event has triggered by user interaction.
     */
    isInteracted: boolean;
    /**
     * Specifies that event argument when event raised by other event.
     */
    event: MouseEvent | KeyboardEvent;
    /**
     * It is used to denote the index of the selected element.
     */
    index: number;
    /**
     * It is used to check whether the element is checked or not.
     */
    isChecked?: boolean;
    /**
     * Cancels the item selection if the value is true
     */
    cancel: boolean;
}
/**
 * An interface that holds item created event arguments
 */
export interface ItemCreatedArgs {
    curData: {
        [key: string]: object;
    };
    dataSource: {
        [key: string]: object;
    } | string[];
    fields: FieldsMapping;
    item: HTMLElement;
    options: ListBaseOptions;
    text: string;
}

//node_modules/@syncfusion/ej2-lists/src/list-view/virtualization.d.ts
/**
 * ElementContext
 */
export interface ElementContext extends HTMLElement {
    context: {
        [key: string]: string | object;
    };
}
export  class Virtualization {
    constructor(instance: ListView);
    private listViewInstance;
    private headerData;
    private templateData;
    private topElementHeight;
    private bottomElementHeight;
    listItemHeight: number;
    private domItemCount;
    private expectedDomItemCount;
    private scrollPosition;
    private onVirtualScroll;
    private updateUl;
    private checkListWrapper;
    private iconCssWrapper;
    uiFirstIndex: number;
    private uiLastIndex;
    private totalHeight;
    private topElement;
    private bottomElement;
    private activeIndex;
    private uiIndices;
    private listDiff;
    private elementDifference;
    /**
     * For internal use only.
     *
     * @private
     */
    isNgTemplate(): boolean;
    /**
     * For internal use only.
     *
     * @private
     */
    uiVirtualization(): void;
    private wireScrollEvent;
    private updateUlContainer;
    private ValidateItemCount;
    private uiIndicesInitialization;
    refreshItemHeight(): void;
    private getscrollerHeight;
    private onVirtualUiScroll;
    private onLongScroll;
    private onNormalScroll;
    private updateUiContent;
    private changeElementAttributes;
    private findDSAndIndexFromId;
    getSelectedItems(): UISelectedItem;
    selectItem(obj: Fields | HTMLElement | Element): void;
    enableItem(obj: Fields | HTMLElement | Element): void;
    disableItem(obj: Fields | HTMLElement | Element): void;
    showItem(obj: Fields | HTMLElement | Element): void;
    hideItem(obj: Fields | HTMLElement | Element): void;
    removeItem(obj: HTMLElement | Element | Fields): void;
    setCheckboxLI(li: HTMLElement | Element, e?: MouseEvent | KeyboardEvent | FocusEvent): void;
    setSelectLI(li: HTMLElement | Element, e?: MouseEvent | KeyboardEvent | FocusEvent): void;
    checkedItem(checked: boolean): void;
    private addUiItem;
    private removeUiItem;
    private changeUiIndices;
    addItem(data: DataSource[], fields: Fields, dataSource: DataSource[]): void;
    private createAndInjectNewItem;
    createUIItem(args: ItemCreatedArgs): void;
    private compileTemplate;
    private onChange;
    private updateContextData;
    private classProperty;
    private attributeProperty;
    private textProperty;
    reRenderUiVirtualization(): void;
    private updateUI;
    private onNgChange;
    getModuleName(): string;
    destroy(): void;
}
interface DataSource {
    [key: string]: object;
}
//node_modules/@syncfusion/ej2-lists/src/sortable/index.d.ts
/**
 * Sortable Module
 */
//node_modules/@syncfusion/ej2-lists/src/sortable/sortable-model.d.ts
/**
 * Interface for a class Sortable
 */
export interface SortableModel {
    /**
     * It is used to enable or disable the built-in animations. The default value is `false`
     *
     * @default false
     */
    enableAnimation?: boolean;
    /**
     * Specifies the sortable item class.
     *
     * @default null
     */
    itemClass?: string;
    /**
     * Defines the scope value to group sets of sortable libraries.
     * More than one Sortable with same scope allows to transfer elements between different sortable libraries which has same scope value.
     */
    scope?: string;
    /**
     * Defines the callback function for customizing the cloned element.
     */
    helper?: (Element: object) => HTMLElement;
    /**
     * Defines the callback function for customizing the placeHolder element.
     */
    placeHolder?: (Element: object) => HTMLElement;
    /**
     * Specifies the callback function for drag event.
     *
     * @event 'object'
     */
 
    drag?: (e: any) => void;
    /**
     * Specifies the callback function for beforeDragStart event.
     *
     *  @event 'object'
     */
 
    beforeDragStart?: (e: any) => void;
    /**
     * Specifies the callback function for dragStart event.
     *
     *  @event 'object'
     */
    dragStart?: (e: any) => void;
    /**
     * Specifies the callback function for beforeDrop event.
     *
     *  @event 'object'
     */
    beforeDrop?: (e: any) => void;
    /**
     * Specifies the callback function for drop event.
     *
     *  @event 'object'
     */
    drop?: (e: any) => void;
}
//node_modules/@syncfusion/ej2-lists/src/sortable/sortable.d.ts
/**
 * Sortable Module provides support to enable sortable functionality in Dom Elements.
 * ```html
 * <div id="sortable">
 *   <div>Item 1</div>
 *   <div>Item 2</div>
 *   <div>Item 3</div>
 *   <div>Item 4</div>
 *   <div>Item 5</div>
 * </div>
 * ```
 * ```typescript
 *   let ele: HTMLElement = document.getElementById('sortable');
 *   let sortObj: Sortable = new Sortable(ele, {});
 * ```
 */
export  class Sortable extends base.Base<HTMLElement> implements base.INotifyPropertyChanged {
    private target;
    private curTarget;
    private placeHolderElement;
    /**
     * It is used to enable or disable the built-in animations. The default value is `false`
     *
     * @default false
     */
    enableAnimation: boolean;
    /**
     * Specifies the sortable item class.
     *
     * @default null
     */
    itemClass: string;
    /**
     * Defines the scope value to group sets of sortable libraries.
     * More than one Sortable with same scope allows to transfer elements between different sortable libraries which has same scope value.
     */
    scope: string;
    /**
     * Defines the callback function for customizing the cloned element.
     */
    helper: (Element: object) => HTMLElement;
    /**
     * Defines the callback function for customizing the placeHolder element.
     */
    placeHolder: (Element: object) => HTMLElement;
    /**
     * Specifies the callback function for drag event.
     *
     * @event 'object'
     */
    drag: (e: any) => void;
    /**
     * Specifies the callback function for beforeDragStart event.
     *
     *  @event 'object'
     */
    beforeDragStart: (e: any) => void;
    /**
     * Specifies the callback function for dragStart event.
     *
     *  @event 'object'
     */
    dragStart: (e: any) => void;
    /**
     * Specifies the callback function for beforeDrop event.
     *
     *  @event 'object'
     */
    beforeDrop: (e: any) => void;
    /**
     * Specifies the callback function for drop event.
     *
     *  @event 'object'
     */
    drop: (e: any) => void;
    constructor(element: HTMLElement, options?: SortableModel);
    protected bind(): void;
    private initializeDraggable;
    private getPlaceHolder;
    private getHelper;
    private isValidTarget;
    private onDrag;
    private removePlaceHolder;
    private updateItemClass;
    private getSortableInstance;
    private refreshDisabled;
    private getIndex;
    private getSortableElement;
    private onDragStart;
    private queryPositionInfo;
    private isPlaceHolderPresent;
    private onDragStop;
    /**
     * It is used to sort array of elements from source element to destination element.
     *
     * @param destination - Defines the destination element to which the sortable elements needs to be appended.
     *
     * If it is null, then the Sortable library element will be considered as destination.
     * @param targetIndexes - Specifies the sortable elements indexes which needs to be sorted.
     * @param insertBefore - Specifies the index before which the sortable elements needs to be appended.
     * If it is null, elements will be appended as last child.
     * @function moveTo
     * @returns {void}
     */
    moveTo(destination?: HTMLElement, targetIndexes?: number[], insertBefore?: number): void;
    /**
     * It is used to destroy the Sortable library.
     */
    destroy(): void;
    getModuleName(): string;
    onPropertyChanged(newProp: SortableModel, oldProp: SortableModel): void;
}
/**
 * It is used to sort array of elements from source element to destination element.
 *
 * @private
 */
export  function moveTo(from: HTMLElement, to?: HTMLElement, targetIndexes?: number[], insertBefore?: number): void;
/**
 * An interface that holds item drop event arguments
 */
export interface DropEventArgs {
    previousIndex: number;
    currentIndex: number;
    droppedElement: Element;
    target: Element;
    helper: Element;
    cancel?: boolean;
    handled?: boolean;
}
/**
 * An interface that holds item before drag event arguments
 */
export interface BeforeDragEventArgs {
    cancel?: boolean;
    target: Element;
}
 }
export namespace maps { 

//node_modules/@syncfusion/ej2-maps/src/index.d.ts
/**
 * exporting all modules from maps index
 */
//node_modules/@syncfusion/ej2-maps/src/maps/index.d.ts
/**
 * export all modules from maps component
 */
//node_modules/@syncfusion/ej2-maps/src/maps/layers/bing-map.d.ts
/**
 * Bing map src doc
 */
export  class BingMap {
    /**
     * map instance
     */
    private maps;
    subDomains: string[];
    imageUrl: string;
    maxZoom: string;
    constructor(maps: Maps);
    getBingMap(tile: Tile, key: string, type: BingMapType, language: string, imageUrl: string, subDomains: string[]): string;
    /**
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-maps/src/maps/layers/bubble.d.ts
/**
 * Bubble module class
 */
export  class Bubble {
    private maps;
    bubbleCollection: any[];
    /**
     * Bubble Id for current layer
     */
    id: string;
    constructor(maps: Maps);
    /**
     * To render bubble
     *
     * @private
     */
    renderBubble(bubbleSettings: BubbleSettingsModel, shapeData: any, color: string, range: {
        min: number;
        max: number;
    }, bubbleIndex: number, dataIndex: number, layerIndex: number, layer: LayerSettings, group: Element, bubbleID?: string): void;
    private getPoints;
    /**
     * To check and trigger bubble click event
     *
     * @private
     */
    bubbleClick(e: PointerEvent): void;
    /**
     * To get bubble from target id
     *
     * @param {string} target - Specifies the target
     * @returns {object} - Returns the object
     */
    private getbubble;
    /**
     * To check and trigger bubble move event
     *
     * @private
     */
    bubbleMove(e: PointerEvent): void;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the bubble.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-maps/src/maps/layers/color-mapping.d.ts
/**
 * ColorMapping class
 */
export  class ColorMapping {
    private maps;
    constructor(maps: Maps);
    /**
     * To get color based on shape settings.
     *
     * @param { ShapeSettingsModel } shapeSettings - Specifies the shape settings.
     * @param { object } layerData - Specifies the layer data.
     * @param { string } color - Specifies the color.
     * @returns {Object} - Returns the object.
     * @private
     */
    getShapeColorMapping(shapeSettings: ShapeSettingsModel, layerData: any, color: string): any;
    /**
     * To color by value and color mapping
     */
    getColorByValue(colorMapping: ColorMappingSettingsModel[], colorValue: number, equalValue: string): any;
    deSaturationColor(colorMapping: ColorMappingSettingsModel, color: string, rangeValue: number, equalValue: string): number;
    rgbToHex(r: number, g: number, b: number): string;
    componentToHex(value: number): string;
    getColor(colorMap: ColorMappingSettingsModel, value: number): string;
    getGradientColor(value: number, colorMap: ColorMappingSettingsModel): ColorValue;
    getPercentageColor(percent: number, previous: string, next: string): ColorValue;
    getPercentage(percent: number, previous: number, next: number): number;
    _colorNameToHex(color: string): string;
}
//node_modules/@syncfusion/ej2-maps/src/maps/layers/data-label.d.ts
/**
 * DataLabel Module used to render the maps datalabel
 */
export  class DataLabel {
    private maps;
    /**
     * Datalabel collections
     *
     * @private
     */
    dataLabelCollections: any[];
    private value;
    constructor(maps: Maps);
    private getDataLabel;
    /**
     * To render label for maps
     *
     * @param {LayerSettings} layer - Specifies the layer settings
     * @param {number} layerIndex - Specifies the layer index.
     * @param {any} shape - Specifies the shape.
     * @param {any[]} layerData - Specifies the layer data.
     * @param {Element} group Specifies the element.
     * @param {HTMLElement} labelTemplateElement - Specifies the template element.
     * @param {number} index - Specifies the index number.
     * @param {any[]} intersect - Specifies the intersect.
     * @returns {void}
     */
    renderLabel(layer: LayerSettings, layerIndex: number, shape: any, layerData: any[], group: Element, labelTemplateElement: HTMLElement, index: number, intersect: any[]): void;
    private getPoint;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
    /**
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-maps/src/maps/layers/layer-panel.d.ts
/**
 * To calculate and render the shape layer
 */
export  class LayerPanel {
    private mapObject;
    currentFactor: number;
    private groupElements;
    private layerObject;
    private currentLayer;
    private rectBounds;
    tiles: Tile[];
    private clipRectElement;
    private urlTemplate;
    private isMapCoordinates;
    private tileSvgObject;
    private ajaxModule;
    private ajaxResponse;
    private bing;
    private animateToZoomX;
    private animateToZoomY;
    horizontalPan: boolean;
    horizontalPanXCount: number;
    layerGroup: Element;
    constructor(map: Maps);
    measureLayerPanel(): void;
    /**
     * Tile rendering
     *
     * @param {LayerPanel} panel - Specifies the layer panel.
     * @param {LayerSettings} layer - Specifies the layer settings.
     * @param {number} layerIndex - Specifies the layer index.
     * @param {BingMap} bing - Specifies the bing map.
     * @returns {void}
     * @private
     */
    renderTileLayer(panel: LayerPanel, layer: LayerSettings, layerIndex: number, bing?: BingMap): void;
    protected processLayers(layer: LayerSettings, layerIndex: number): void;
    private bingMapCalculation;
    private bubbleCalculation;
    calculatePathCollection(layerIndex: number, renderData: any[]): void;
    /**
     * layer features as bubble, marker, datalabel, navigation line.
     *
     * @param {groupElement} Element - Specifies the element to append the group
     * @param {pathEle} Element - Specifies the svg element
     * @param {drawingType} string - Specifies the data type
     * @param {currentShapeData} any - Specifies the layer of shapedata.
     * @param {index} number - Specifies the tab index.
     * @returns {void}
     */
    private pathAttributeCalculate;
    /**
     * layer features as bubble, marker, datalabel, navigation line.
     *
     * @param {number} layerIndex - Specifies the layer index
     * @param {string[]} colors - Specifies the colors
     * @param {Object[]} renderData - Specifies the render data
     * @param {HTMLElement} labelTemplateEle - Specifies the label template element
     * @returns {void}
     */
    private layerFeatures;
    /**
     * render datalabel
     *
     * @param {LayerSettings} layer - Specifies the layer
     * @param {number} layerIndex - Specifies the layer index
     * @param {object[]} shape - Specifies the shape
     * @param {Element} group - Specifies the group
     * @param {number} shapeIndex - Specifies the shape index
     * @param {HTMLElement} labelTemplateEle - Specifies the label template element
     * @param {object[]} intersect - Specifies the intersect
     * @returns {void}
     */
    private renderLabel;
    /**
     * To render path for multipolygon
     *
     * @param {any[]} currentShapeData Specifies the current shape data
     * @returns {string} Returns the path
     */
    private generateMultiPolygonPath;
    /**
     * To render bubble
     *
     * @param {LayerSettings} layer - Specifies the layer
     * @param {object} bubbleData - Specifies the bubble data
     * @param {string} color - Specifies the color
     * @param {number} range - Specifies the range
     * @param {number} bubbleIndex - Specifies the bubble index
     * @param {number} dataIndex - Specifies the data index
     * @param {number} group - Specifies the group
     * @param {number} layerIndex - Specifies the layer index
     * @param {BubbleSettingsModel} bubbleSettings - Specifies the bubble settings
     * @returns {void}
     */
    private renderBubble;
    /**
     * To get the shape color from color mapping module
     *
     * @param {LayerSettingsModel} layer - Specifies the layer
     * @param {object} shape - Specifies the shape
     * @param {string} color - Specifies the color
     * @returns {Object} - Returns the object
     */
    private getShapeColorMapping;
    generatePoints(type: string, coordinates: any[], data: any, properties: any): void;
    calculateBox(point: Point, extraSpace: number): void;
    calculateFactor(layer: LayerSettings): number;
    translateLayerElements(layerElement: Element, index: number): void;
    calculateRectBounds(layerData: any[]): void;
    calculatePolygonBox(coordinates: any[], data: any, properties: any): any;
    calculateRectBox(coordinates: any[], type?: string, isFirstItem?: boolean): void;
    generateTiles(zoomLevel: number, tileTranslatePoint: Point, zoomType?: string, bing?: BingMap, position?: Point): void;
    arrangeTiles(type: string, x: number, y: number): void;
    /**
     * Animation for tile layers and hide the group element until the tile layer rendering
     *
     * @param {string} zoomType - Specifies the zoom type
     * @param {number} translateX - Specifies the x translate point
     * @param {number} translateY - Specifies the y translate point
     * @returns {void}
     */
    private tileAnimation;
    /**
     * Static map rendering
     *
     * @param {string} apikey - Specifies the api key
     * @param {number} zoom - Specifies the zoom value
     * @returns {void}
     * @private
     */
    renderGoogleMap(apikey: string, zoom: number): void;
    /**
     * To find the tile translate point
     *
     * @param {number} factorX - Specifies the x factor
     * @param {number} factorY - Specifies the x factor
     * @param {MapLocation} centerPosition - Specifies the map location
     * @returns {Point} - Returns point values
     */
    private panTileMap;
    /**
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-maps/src/maps/layers/legend.d.ts
/**
 * Legend module is used to render legend for the maps
 */
export  class Legend {
    /**
     * @private
     */
    legendCollection: any[];
    /**
     * @private
     */
    legendRenderingCollections: any[];
    private translate;
    /**
     * @private
     */
    legendBorderRect: Rect;
    /**
     * @private
     */
    initialMapAreaRect: Rect;
    /**
     * @private
     */
    legendTotalRect: Rect;
    private maps;
    /**
     * @private
     */
    totalPages: any[];
    private page;
    /**
     * @private
     */
    currentPage: number;
    private legendItemRect;
    private heightIncrement;
    private widthIncrement;
    private textMaxWidth;
    /**
     * @private
     */
    legendGroup: Element;
    private shapeHighlightCollection;
    /**
     * @private
     */
    legendHighlightCollection: any[];
    /**
     * @private
     */
    shapePreviousColor: string[];
    /**
     * @private
     */
    selectedNonLegendShapes: any[];
    /**
     * @private
     */
    shapeToggled: boolean;
    private legendLinearGradient;
    private currentLayer;
    private defsElement;
    /**
     * @private
     */
    legendElement: Element[];
    /**
     * @private
     */
    oldShapeElement: Element;
    constructor(maps: Maps);
    /**
     * To calculate legend bounds and draw the legend shape and text.
     *
     * @returns {void}
     */
    renderLegend(): void;
    calculateLegendBounds(): void;
    /**
     * Get the legend collections
     *
     * @param {number} layerIndex - Specifies the layer index
     * @param {object[]} layerData - Specifies the layer data
     * @param {ColorMappingSettings[]} colorMapping - Specifies the color mapping
     * @param {object[]} dataSource - Specifies the data source
     * @param {string} dataPath - Specifies the data path
     * @param {string} colorValuePath - Specifies the color value path
     * @param {string | string[]} propertyPath - Specifies the property path
     * @returns {void}
     */
    private getLegends;
    private getPageChanged;
    private legendTextTrim;
    /**
     * To draw the legend shape and text.
     */
    drawLegend(): void;
    /**
     * @param {string} page - Specifies the legend page.
     * @returns {void}
     * @private
     */
    drawLegendItem(page: number): void;
    legendHighLightAndSelection(targetElement: Element, value: string): void;
    private setColor;
    pushCollection(targetElement: Element, collection: any[], oldElement: any, shapeSettings: ShapeSettings): void;
    private removeLegend;
    removeLegendHighlightCollection(): void;
    removeLegendSelectionCollection(targetElement: Element): void;
    removeShapeHighlightCollection(): void;
    shapeHighLightAndSelection(targetElement: Element, data: any, module: SelectionSettingsModel | HighlightSettingsModel, getValue: string, layerIndex: number): void;
    private isTargetSelected;
    private updateLegendElement;
    private getIndexofLegend;
    private removeAllSelections;
    legendIndexOnShape(data: any, index: number): any;
    private shapeDataOnLegend;
    private shapesOfLegend;
    private legendToggle;
    private renderLegendBorder;
    changeNextPage(e: PointerEvent): void;
    private getLegendAlignment;
    private getMarkersLegendCollections;
    private getMarkerLegendData;
    private getRangeLegendCollection;
    private getOverallLegendItemsCollection;
    private removeDuplicates;
    private getEqualLegendCollection;
    private getDataLegendCollection;
    interactiveHandler(e: PointerEvent): void;
    private renderInteractivePointer;
    wireEvents(element: Element): void;
    addEventListener(): void;
    private markerToggleSelection;
    private bubbleToggleSelection;
    private legendClick;
    private removeCollections;
    removeEventListener(): void;
    private getLegendData;
    legendGradientColor(colorMap: ColorMappingSettings, legendIndex: number): string;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name
     */
    protected getModuleName(): string;
    /**
     * To destroy the legend.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-maps/src/maps/layers/marker.d.ts
/**
 * Marker class
 */
export  class Marker {
    private maps;
    private isMarkerExplode;
    private trackElements;
    private markerSVGObject;
    /**
     * @private
     */
    sameMarkerData: MarkerClusterData[];
    constructor(maps: Maps);
    markerRender(maps: Maps, layerElement: Element, layerIndex: number, factor: number, type: string): void;
    /**
     * To find zoom level for individual layers like India, USA.
     *
     * @param {number} mapWidth - Specifies the width of the maps
     * @param {number} mapHeight - Specifies the height of the maps
     * @param {number} maxZoomFact - Specifies the maximum zoom factor
     * @returns {number} - Returns the scale factor
     */
    private calculateIndividualLayerMarkerZoomLevel;
    /**
     * To calculate center position and factor value dynamically
     */
    calculateZoomCenterPositionAndFactor(layersCollection: LayerSettings[]): void;
    /**
     * To check and trigger marker click event
     */
    markerClick(e: PointerEvent): void;
    /**
     * To check and trigger Cluster click event
     */
    markerClusterClick(e: PointerEvent): void;
    /**
     * To get marker from target id
     *
     * @param {string} target - Specifies the target
     * @returns {string} - Returns the string
     */
    private getMarker;
    /**
     * To check and trigger marker move event
     */
    markerMove(e: PointerEvent): void;
    /**
     * To check and trigger cluster move event
     */
    markerClusterMouseMove(e: PointerEvent): void;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name
     */
    protected getModuleName(): string;
    /**
     * To destroy the layers.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-maps/src/maps/layers/navigation-selected-line.d.ts
/**
 * navigation-selected-line
 */
export  class NavigationLine {
    private maps;
    constructor(maps: Maps);
    /**
     * To render navigation line for maps
     */
    renderNavigation(layer: LayerSettings, factor: number, layerIndex: number): Element;
    private convertRadius;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name
     */
    protected getModuleName(): string;
    /**
     * To destroy the layers.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-maps/src/maps/maps-model.d.ts
/**
 * Interface for a class Maps
 */
export interface MapsModel extends base.ComponentModel{
    /**
     * Sets and gets the background color of the maps container.
     *
     * @default null
     */
    background?: string;
    /**
     * Enables or disables the visibility state of the separator for grouping.
     *
     * @default false
     */
    useGroupingSeparator?: boolean;
    /**
     * Sets and gets the format in which the text in the maps are to be rendered.
     *
     * @default null
     */
    format?: string;
    /**
     * Sets and gets the width in which the maps is to be rendered.
     *
     * @default null
     */
    width?: string;
    /**
     * Sets and gets the height in which the maps is to be rendered.
     *
     * @default null
     */
    height?: string;
    /**
     * Sets and gets the mode in which the tooltip is to be displayed.
     * The tooltip can be rendered on mouse move, click or double clicking on the
     * element on the map.
     *
     * @default 'MouseMove'
     */
    tooltipDisplayMode?: TooltipGesture;
    /**
     * Enables or disables the print functionality in map.
     *
     * @default false
     */
    allowPrint?: boolean;
    /**
     * Enables or disables the export to image functionality in map.
     *
     * @default false
     */
    allowImageExport?: boolean;
    /**
     * Enables or disables the export to PDF functionality in map.
     *
     * @default false
     */
    allowPdfExport?: boolean;
    /**
     * Sets and gets the title to be displayed for maps.
     */
    titleSettings?: TitleSettingsModel;
    /**
     * Sets and gets the options to customize the zooming operations in maps.
     */
    zoomSettings?: ZoomSettingsModel;
    /**
     * Sets and gets the options to customize the legend of the maps.
     */
    legendSettings?: LegendSettingsModel;
    /**
     * Sets and gets the options to customize the layers of the maps.
     */
    layers?: LayerSettingsModel[];
    /**
     * Sets and gets the options for customizing the annotation of maps.
     */
    annotations?: AnnotationModel[];
    /**
     * Sets and gets the options to customize the margins of the maps.
     */
    margin?: MarginModel;
    /**
     * Sets and gets the options for customizing the color and width of the maps border.
     */
    border?: BorderModel;
    /**
     * Set and gets the theme supported for the maps.
     *
     * @default Material
     */
    theme?: MapsTheme;
    /**
     * Sets and gets the projection type for the maps.
     *
     * @default Mercator
     */
    projectionType?: ProjectionType;
    /**
     * Sets and gets the base map index of maps. It provides the option to select which layer to be visible in the maps.
     *
     * @default 0
     */
    baseLayerIndex?: number;
    /**
     * Sets and gets the description for maps.
     *
     * @default null
     */
    description?: string;
    /**
     * Sets and gets the tab index value for the maps.
     *
     * @default 1
     */
    tabIndex?: number;
    /**
     * Sets and gets the center position of the maps.
     */
    centerPosition?: CenterPositionModel;
    /**
     * Sets and gets the options to customize the area around the map.
     */
    mapsArea?: MapsAreaSettingsModel;
    /**
     * Triggers when the map is on load.
     *
     * @event load
     */
    load?: base.EmitType<ILoadEventArgs>;
    /**
     * Triggers before the print gets started.
     *
     * @event beforePrint
     */
    beforePrint?: base.EmitType<IPrintEventArgs>;
    /**
     * Triggers after the maps gets rendered.
     *
     * @event loaded
     */
    loaded?: base.EmitType<ILoadedEventArgs>;
    /**
     * Triggers when a user clicks on an element in Maps.
     *
     * @event click
     * @deprecated
     */
    click?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers when a user clicks on an element in Maps.
     *
     * @event onclick
     */
    onclick?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers when performing the double click operation on an element in maps.
     *
     * @event doubleClick
     */
    doubleClick?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers when performing the right click operation on an element in maps.
     *
     * @event rightClick
     */
    rightClick?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers when resizing the maps.
     *
     * @event resize
     */
    resize?: base.EmitType<IResizeEventArgs>;
    /**
     * Triggers before the maps tooltip gets rendered.
     *
     * @event tooltipRender
     */
    tooltipRender?: base.EmitType<ITooltipRenderEventArgs>;
    /**
     * Triggers before the legend gets rendered.
     *
     * @event legendRendering
     * @deprecated
     */
    legendRendering?: base.EmitType<ILegendRenderingEventArgs>;
    /**
     * Triggers after the maps tooltip gets rendered.
     *
     * @deprecated
     * @event tooltipRenderComplete
     */
    tooltipRenderComplete?: base.EmitType<ITooltipRenderCompleteEventArgs>;
    /**
     * Triggers when clicking a shape in maps.
     *
     * @event shapeSelected
     */
    shapeSelected?: base.EmitType<IShapeSelectedEventArgs>;
    /**
     * Triggers when clicking the shape on maps and before the selection is applied.
     *
     * @event itemSelection
     */
    itemSelection?: base.EmitType<ISelectionEventArgs>;
    /**
     * Trigger when mouse move on the shape in maps and before the shape gets highlighted.
     *
     * @event itemHighlight
     */
    itemHighlight?: base.EmitType<ISelectionEventArgs>;
    /**
     * Triggers when mouse move on the shape in maps and before the shape gets highlighted.
     *
     * @event shapeHighlight
     */
    shapeHighlight?: base.EmitType<IShapeSelectedEventArgs>;
    /**
     * Triggers before the maps layer gets rendered.
     *
     * @event layerRendering
     */
    layerRendering?: base.EmitType<ILayerRenderingEventArgs>;
    /**
     * Triggers before the maps shape gets rendered.
     *
     * @event shapeRendering
     */
    shapeRendering?: base.EmitType<IShapeRenderingEventArgs>;
    /**
     * Triggers before the maps marker gets rendered.
     *
     * @event markerRendering
     */
    markerRendering?: base.EmitType<IMarkerRenderingEventArgs>;
    /**
     * Triggers before the maps marker cluster gets rendered.
     *
     * @event markerClusterRendering
     */
    markerClusterRendering?: base.EmitType<IMarkerClusterRenderingEventArgs>;
    /**
     * Triggers when clicking on the maps marker element.
     *
     * @event markerClick
     */
    markerClick?: base.EmitType<IMarkerClickEventArgs>;
    /**
     * Triggers when clicking the marker cluster in maps.
     *
     * @event markerClusterClick
     */
    markerClusterClick?: base.EmitType<IMarkerClusterClickEventArgs>;
    /**
     * Triggers when moving the mouse over the marker cluster element in maps.
     *
     * @event markerClusterMouseMove
     */
    markerClusterMouseMove?: base.EmitType<IMarkerClusterMoveEventArgs>;
    /**
     * Triggers when moving the mouse over the marker element in maps.
     *
     * @event markerMouseMove
     */
    markerMouseMove?: base.EmitType<IMarkerMoveEventArgs>;
    /**
     * Triggers before the data-label gets rendered.
     *
     * @event dataLabelRendering
     */
    dataLabelRendering?: base.EmitType<ILabelRenderingEventArgs>;
    /**
     * Triggers before the bubble element gets rendered on the map.
     *
     * @event bubbleRendering
     */
    bubbleRendering?: base.EmitType<IBubbleRenderingEventArgs>;
    /**
     * Triggers when performing the click operation on the bubble element in maps.
     *
     * @event bubbleClick
     */
    bubbleClick?: base.EmitType<IBubbleClickEventArgs>;
    /**
     * Triggers when hovering the mouse on the bubble element in maps.
     *
     * @event bubbleMouseMove
     */
    bubbleMouseMove?: base.EmitType<IBubbleMoveEventArgs>;
    /**
     * Triggers after the animation completed in the maps component.
     *
     * @event animationComplete
     */
    animationComplete?: base.EmitType<IAnimationCompleteEventArgs>;
    /**
     * Triggers before rendering the annotation in maps.
     *
     * @event annotationRendering
     */
    annotationRendering?: base.EmitType<IAnnotationRenderingEventArgs>;
    /**
     * Triggers before the zoom operations in the maps such as zoom in and zoom out.
     *
     * @event zoom
     */
    zoom?: base.EmitType<IMapZoomEventArgs>;
    /**
     * Triggers before performing the panning operation.
     *
     * @event pan
     */
    pan?: base.EmitType<IMapPanEventArgs>;
}
//node_modules/@syncfusion/ej2-maps/src/maps/maps.d.ts
/**
 * Maps base.Component file
 */
/**
 * Represents the Maps control.
 * ```html
 * <div id="maps"/>
 * <script>
 *   var maps = new Maps();
 *   maps.appendTo("#maps");
 * </script>
 * ```
 */
export  class Maps extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    /**
     * Sets and gets the module to add bubbles in the maps component.
     */
    bubbleModule: Bubble;
    /**
     * Sets and get the module to add the marker in the maps component.
     */
    markerModule: Marker;
    /**
     * Sets and gets the module to add the data-label in the maps component.
     */
    dataLabelModule: DataLabel;
    /**
     * Sets and gets the module to highlight the element when mouse has hovered on it in maps.
     */
    highlightModule: Highlight;
    /**
     * Sets and gets the module to add the navigation lines in the maps component.
     */
    navigationLineModule: NavigationLine;
    /**
     * Sets and gets the module to add the legend in maps.
     */
    legendModule: Legend;
    /**
     * Sets and gets the module to select the geometric shapes when clicking in maps.
     */
    selectionModule: Selection;
    /**
     * Sets and gets the module to add the tooltip when mouse has hovered on an element in maps.
     */
    mapsTooltipModule: MapsTooltip;
    /**
     * Sets and gets the module to add the zooming operations in maps.
     */
    zoomModule: Zoom;
    /**
     * Sets and gets the module to add annotation elements in maps.
     */
    annotationsModule: Annotations;
    /**
     * This module enables the print functionality in Maps control.
     *
     * @private
     */
    printModule: Print;
    /**
     * This module enables the export to PDF functionality in Maps control.
     *
     * @private
     */
    pdfExportModule: PdfExport;
    /**
     * This module enables the export to image functionality in Maps control.
     *
     * @private
     */
    imageExportModule: ImageExport;
    /**
     * Sets and gets the background color of the maps container.
     *
     * @default null
     */
    background: string;
    /**
     * Enables or disables the visibility state of the separator for grouping.
     *
     * @default false
     */
    useGroupingSeparator: boolean;
    /**
     * Sets and gets the format in which the text in the maps are to be rendered.
     *
     * @default null
     */
    format: string;
    /**
     * Sets and gets the width in which the maps is to be rendered.
     *
     * @default null
     */
    width: string;
    /**
     * Sets and gets the height in which the maps is to be rendered.
     *
     * @default null
     */
    height: string;
    /**
     * Sets and gets the mode in which the tooltip is to be displayed.
     * The tooltip can be rendered on mouse move, click or double clicking on the
     * element on the map.
     *
     * @default 'MouseMove'
     */
    tooltipDisplayMode: TooltipGesture;
    /**
     * Enables or disables the print functionality in map.
     *
     * @default false
     */
    allowPrint: boolean;
    /**
     * Enables or disables the export to image functionality in map.
     *
     * @default false
     */
    allowImageExport: boolean;
    /**
     * Enables or disables the export to PDF functionality in map.
     *
     * @default false
     */
    allowPdfExport: boolean;
    /**
     * Sets and gets the title to be displayed for maps.
     */
    titleSettings: TitleSettingsModel;
    /**
     * Sets and gets the options to customize the zooming operations in maps.
     */
    zoomSettings: ZoomSettingsModel;
    /**
     * Sets and gets the options to customize the legend of the maps.
     */
    legendSettings: LegendSettingsModel;
    /**
     * Sets and gets the options to customize the layers of the maps.
     */
    layers: LayerSettingsModel[];
    /**
     * Sets and gets the options for customizing the annotation of maps.
     */
    annotations: AnnotationModel[];
    /**
     * Sets and gets the options to customize the margins of the maps.
     */
    margin: MarginModel;
    /**
     * Sets and gets the options for customizing the color and width of the maps border.
     */
    border: BorderModel;
    /**
     * Set and gets the theme supported for the maps.
     *
     * @default Material
     */
    theme: MapsTheme;
    /**
     * Sets and gets the projection type for the maps.
     *
     * @default Mercator
     */
    projectionType: ProjectionType;
    /**
     * Sets and gets the base map index of maps. It provides the option to select which layer to be visible in the maps.
     *
     * @default 0
     */
    baseLayerIndex: number;
    /**
     * Sets and gets the description for maps.
     *
     * @default null
     */
    description: string;
    /**
     * Sets and gets the tab index value for the maps.
     *
     * @default 1
     */
    tabIndex: number;
    /**
     * Sets and gets the center position of the maps.
     */
    centerPosition: CenterPositionModel;
    /**
     * Sets and gets the options to customize the area around the map.
     */
    mapsArea: MapsAreaSettingsModel;
    /**
     * Triggers when the map is on load.
     *
     * @event load
     */
    load: base.EmitType<ILoadEventArgs>;
    /**
     * Triggers before the print gets started.
     *
     * @event beforePrint
     */
    beforePrint: base.EmitType<IPrintEventArgs>;
    /**
     * Triggers after the maps gets rendered.
     *
     * @event loaded
     */
    loaded: base.EmitType<ILoadedEventArgs>;
    /**
     * Triggers when a user clicks on an element in Maps.
     *
     * @event click
     * @deprecated
     */
    click: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers when a user clicks on an element in Maps.
     *
     * @event onclick
     */
    onclick: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers when performing the double click operation on an element in maps.
     *
     * @event doubleClick
     */
    doubleClick: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers when performing the right click operation on an element in maps.
     *
     * @event rightClick
     */
    rightClick: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers when resizing the maps.
     *
     * @event resize
     */
    resize: base.EmitType<IResizeEventArgs>;
    /**
     * Triggers before the maps tooltip gets rendered.
     *
     * @event tooltipRender
     */
    tooltipRender: base.EmitType<ITooltipRenderEventArgs>;
    /**
     * Triggers before the legend gets rendered.
     *
     * @event legendRendering
     * @deprecated
     */
    legendRendering: base.EmitType<ILegendRenderingEventArgs>;
    /**
     * Triggers after the maps tooltip gets rendered.
     *
     * @deprecated
     * @event tooltipRenderComplete
     */
    tooltipRenderComplete: base.EmitType<ITooltipRenderCompleteEventArgs>;
    /**
     * Triggers when clicking a shape in maps.
     *
     * @event shapeSelected
     */
    shapeSelected: base.EmitType<IShapeSelectedEventArgs>;
    /**
     * Triggers when clicking the shape on maps and before the selection is applied.
     *
     * @event itemSelection
     */
    itemSelection: base.EmitType<ISelectionEventArgs>;
    /**
     * Trigger when mouse move on the shape in maps and before the shape gets highlighted.
     *
     * @event itemHighlight
     */
    itemHighlight: base.EmitType<ISelectionEventArgs>;
    /**
     * Triggers when mouse move on the shape in maps and before the shape gets highlighted.
     *
     * @event shapeHighlight
     */
    shapeHighlight: base.EmitType<IShapeSelectedEventArgs>;
    /**
     * Triggers before the maps layer gets rendered.
     *
     * @event layerRendering
     */
    layerRendering: base.EmitType<ILayerRenderingEventArgs>;
    /**
     * Triggers before the maps shape gets rendered.
     *
     * @event shapeRendering
     */
    shapeRendering: base.EmitType<IShapeRenderingEventArgs>;
    /**
     * Triggers before the maps marker gets rendered.
     *
     * @event markerRendering
     */
    markerRendering: base.EmitType<IMarkerRenderingEventArgs>;
    /**
     * Triggers before the maps marker cluster gets rendered.
     *
     * @event markerClusterRendering
     */
    markerClusterRendering: base.EmitType<IMarkerClusterRenderingEventArgs>;
    /**
     * Triggers when clicking on the maps marker element.
     *
     * @event markerClick
     */
    markerClick: base.EmitType<IMarkerClickEventArgs>;
    /**
     * Triggers when clicking the marker cluster in maps.
     *
     * @event markerClusterClick
     */
    markerClusterClick: base.EmitType<IMarkerClusterClickEventArgs>;
    /**
     * Triggers when moving the mouse over the marker cluster element in maps.
     *
     * @event markerClusterMouseMove
     */
    markerClusterMouseMove: base.EmitType<IMarkerClusterMoveEventArgs>;
    /**
     * Triggers when moving the mouse over the marker element in maps.
     *
     * @event markerMouseMove
     */
    markerMouseMove: base.EmitType<IMarkerMoveEventArgs>;
    /**
     * Triggers before the data-label gets rendered.
     *
     * @event dataLabelRendering
     */
    dataLabelRendering: base.EmitType<ILabelRenderingEventArgs>;
    /**
     * Triggers before the bubble element gets rendered on the map.
     *
     * @event bubbleRendering
     */
    bubbleRendering: base.EmitType<IBubbleRenderingEventArgs>;
    /**
     * Triggers when performing the click operation on the bubble element in maps.
     *
     * @event bubbleClick
     */
    bubbleClick: base.EmitType<IBubbleClickEventArgs>;
    /**
     * Triggers when hovering the mouse on the bubble element in maps.
     *
     * @event bubbleMouseMove
     */
    bubbleMouseMove: base.EmitType<IBubbleMoveEventArgs>;
    /**
     * Triggers after the animation completed in the maps component.
     *
     * @event animationComplete
     */
    animationComplete: base.EmitType<IAnimationCompleteEventArgs>;
    /**
     * Triggers before rendering the annotation in maps.
     *
     * @event annotationRendering
     */
    annotationRendering: base.EmitType<IAnnotationRenderingEventArgs>;
    /**
     * Triggers before the zoom operations in the maps such as zoom in and zoom out.
     *
     * @event zoom
     */
    zoom: base.EmitType<IMapZoomEventArgs>;
    /**
     * Triggers before performing the panning operation.
     *
     * @event pan
     */
    pan: base.EmitType<IMapPanEventArgs>;
    /**
     * Specifies the function to format the text contents in the maps.
     *
     * @private
     */
    formatFunction: any;
    /**
     * Specifies the svg renderer object.
     *
     * @private
     */
    renderer: svgBase.SvgRenderer;
    /**
     * Specifies the svg element's object of maps.
     *
     * @private
     */
    svgObject: Element;
    /** @public */
    mapScaleValue: number;
    /**
     * Specifies the available height and width of maps.
     *
     * @private
     */
    availableSize: Size;
    /**
     * whether it is layer add or not.
     *
     * @private
     */
    isAddLayer: boolean;
    /**
     * Specifies the localization object.
     *
     * @private
     */
    localeObject: base.L10n;
    /**
     * Specifies the default values of localization values.
     */
    private defaultLocalConstants;
    /**
     * Internal use of internationalization instance.
     *
     * @private
     */
    intl: base.Internationalization;
    /**
     * Check layer whether is geometry or tile
     *
     * @private
     */
    isTileMap: boolean;
    /**
     * Resize the map
     */
    private resizeTo;
    /**
     * Resize the map
     */
    private isResize;
    /**
     * @private
     */
    mapAreaRect: Rect;
    /**
     * @private
     */
    layersCollection: LayerSettings[];
    /**
     * @private
     * @hidden
     */
    mapLayerPanel: LayerPanel;
    /**
     * @private
     * @hidden
     */
    /**
     * @private
     */
    themeStyle: IThemeStyle;
    /**
     * @private
     */
    isReset: boolean;
    /**
     * @private
     */
    totalRect: Rect;
    /**
     *
     * Specifies whether the shape is selected in the maps or not.
     *
     * @returns {boolean} - Returns the boolean value.
     */
    readonly isShapeSelected: boolean;
    dataLabel: DataLabel;
    /** @private */
    isTouch: boolean;
    /** @private */
    baseSize: Size;
    /** @private */
    scale: number;
    /** @private */
    baseScale: number;
    /** @private */
    mapSelect: boolean;
    /** @private */
    baseMapBounds: GeoLocation;
    /** @private */
    baseMapRectBounds: any;
    /** @public */
    translatePoint: Point;
    /** @private */
    baseTranslatePoint: Point;
    /** @public */
    zoomTranslatePoint: Point;
    /** @private */
    markerZoomFactor: number;
    /** @private */
    markerZoomCenterPoint: CenterPositionModel;
    /** @private */
    markerZoomedState: boolean;
    /** @private */
    zoomPersistence: boolean;
    /** @private */
    defaultState: boolean;
    /** @private */
    markerCenterLatitude: number;
    /** @private */
    markerCenterLongitude: number;
    /** @private */
    previousCenterLatitude: number;
    /** @private */
    previousCenterLongitude: number;
    /** @private */
    centerPositionChanged: boolean;
    /** @private */
    previousZoomFactor: number;
    /** @private */
    isTileMapSubLayer: boolean;
    /** @private */
    shouldZoomCurrentFactor: number;
    /** @private */
    shouldZoomPreviousFactor: number;
    /** @private */
    markerNullCount: number;
    /** @private */
    translateType: string;
    /** @public */
    previousProjection: String;
    /** @private */
    currentShapeDataLength: number;
    /** @private */
    tileTranslatePoint: Point;
    /** @private */
    baseTileTranslatePoint: Point;
    /** @private */
    isDevice: Boolean;
    /** @private */
    tileZoomLevel: number;
    /** @private */
    tileZoomScale: number;
    /** @private */
    staticMapZoom: number;
    /** @private */
    serverProcess: any;
    /** @private */
    previousScale: number;
    /** @private */
    previousPoint: Point;
    /** @private */
    centerLatOfGivenLocation: number;
    /** @private */
    centerLongOfGivenLocation: number;
    /** @private */
    minLatOfGivenLocation: number;
    /** @private */
    minLongOfGivenLocation: number;
    /** @private */
    maxLatOfGivenLocation: number;
    /** @private */
    maxLongOfGivenLocation: number;
    /** @private */
    scaleOfGivenLocation: number;
    /** @private */
    zoomNotApplied: boolean;
    /** @public */
    dataLabelShape: number[];
    zoomShapeCollection: object[];
    zoomLabelPositions: object[];
    mouseDownEvent: Object;
    mouseClickEvent: Object;
    /** @private */
    shapeSelectionClass: Element;
    /** @private */
    selectedElementId: string[];
    /** @private */
    markerSelectionClass: Element;
    /** @private */
    selectedMarkerElementId: string[];
    /** @private */
    bubbleSelectionClass: Element;
    /** @private */
    selectedBubbleElementId: string[];
    /** @private */
    navigationSelectionClass: Element;
    /** @private */
    selectedNavigationElementId: string[];
    /** @private */
    legendSelectionClass: SelectionSettingsModel;
    /** @private */
    selectedLegendElementId: number[];
    /** @private */
    legendSelectionCollection: any[];
    /** @private */
    shapeSelections: boolean;
    /** @private */
    legendSelection: boolean;
    /** @private */
    toggledLegendId: number[];
    /** @private */
    toggledShapeElementId: string[];
    /** @private */
    checkInitialRender: boolean;
    /** @private */
    widthBeforeRefresh: number;
    /** @private */
    heightBeforeRefresh: number;
    /** @private */
    previousTranslate: Point;
    /** @private */
    initialTileTranslate: Point;
    /** @private */
    previousTileWidth: number;
    /** @private */
    previousTileHeight: number;
    /** @private */
    initialZoomLevel: number;
    /** @private */
    initialCheck: boolean;
    /** @private */
    applyZoomReset: boolean;
    /** @private */
    markerClusterExpandCheck: boolean;
    /** @private */
    markerClusterExpand: boolean;
    /** @private */
    shapeSelectionItem: any[];
    /**
     * Constructor for creating the widget
     *
     * @param {MapsModel} options Specifies the options
     * @param {string | HTMLElement} element Specifies the element
     */
    constructor(options?: MapsModel, element?: string | HTMLElement);
    /**
     * To manage persist maps data
     *
     * @returns {void}
     */
    private mergePersistMapsData;
    /**
     * Gets the localized label by locale keyword.
     *
     * @param  {string} key - Specifies the key
     * @returns {string} - Returns the string value
     */
    getLocalizedLabel(key: string): string;
    /**
     * Initializing pre-required values.
     *
     * @returns {void}
     */
    protected preRender(): void;
    private renderElements;
    /**
     * To Initialize the control rendering.
     *
     * @returns {void}
     */
    protected render(): void;
    protected processRequestJsonData(): void;
    private processAjaxRequest;
    /**
     * This method is used to process the JSON data to render the maps.
     *
     * @param {string} processType - Specifies the process type in maps.
     * @param {any | string} data - Specifies the data for maps.
     * @param {LayerSettings} layer - Specifies the layer for the maps.
     * @param {string} dataType - Specifies the data type for maps.
     * @returns {void}
     */
    processResponseJsonData(processType: string, data?: any | string, layer?: LayerSettings, dataType?: string): void;
    private renderMap;
    /**
     * To apply color to the initial selected marker
     *
     * @param {SelectionSettingsModel} selectionSettings - Specifies the selection settings
     * @param {Maps} map - Specifies the instance of the maps
     * @param {Element} targetElement - Specifies the target element
     * @param {any} data - Specifies the data
     * @returns {void}
     * @private
     */
    markerSelection(selectionSettings: SelectionSettingsModel, map: Maps, targetElement: Element, data: any): void;
    /**
     * initial selection of marker
     *
     * @param {number} layerIndex - Specifies the layer index
     * @param {number} markerIndex - Specifies the marker index
     * @param {MarkerSettingsModel} markerSettings - Specifies the marker settings
     * @param {number} latitude - Specifies hte latitude
     * @param {number} longitude - Specifies the longitude
     * @returns {void}
     * @private
     */
    markerInitialSelection(layerIndex: number, markerIndex: number, markerSettings: MarkerSettingsModel, latitude: number, longitude: number): void;
    /**
     * Render the map area border
     *
     * @returns {void}
     */
    private renderArea;
    /**
     * To add tab index for map element
     *
     * @returns {void}
     */
    private addTabIndex;
    private zoomingChange;
    private createSecondaryElement;
    /**
     * @returns {void}
     * @private
     */
    arrangeTemplate(): void;
    private createTile;
    /**
     * To initilize the private varibales of maps.
     *
     * @returns {void}
     */
    private initPrivateVariable;
    private findBaseAndSubLayers;
    /**
     * Render the map border
     *
     * @private
     * @returns {void}
     */
    private renderBorder;
    /**
     * Render the title and subtitle
     *
     * @param {TitleSettingsModel} title - Specifies the title
     * @param {string} type - Specifies the type
     * @param {Rect} bounds - Specifies the bounds
     * @param {Element} groupEle - Specifies the group element
     * @returns {void}
     * @private
     */
    private renderTitle;
    /**
     * To create svg element for maps
     *
     * @returns {void}
     */
    private createSVG;
    /**
     * To Remove the SVG
     *
     * @returns {void}
     */
    private removeSvg;
    /**
     * To bind event handlers for maps.
     *
     * @returns {void}
     */
    private wireEVents;
    /**
     * To unbind event handlers from maps.
     *
     * @returns {void}
     */
    private unWireEVents;
    /**
     * This method is used to perform operations when mouse pointer leave from maps.
     *
     * @param {PointerEvent} e - Specifies the pointer event on maps.
     * @returns {void}
     */
    mouseLeaveOnMap(e: PointerEvent): void;
    private keyUpHandler;
    private keyboardHighlightSelection;
    private keyDownHandler;
    /**
     * Gets the selected element to be maintained or not.
     *
     * @param {Element} targetEle - Specifies the target element
     * @returns {boolean} - Returns the boolean value
     * @private
     */
    SelectedElement(targetEle: Element): boolean;
    /**
     * This method is used to perform the operations when a click operation is performed on maps.
     *
     * @param {PointerEvent} e - Specifies the pointer event on maps.
     */
    mapsOnClick(e: PointerEvent): void;
    private clickHandler;
    private triggerShapeSelection;
    private getClickLocation;
    /**
     * This method is used to perform operations when mouse click on maps.
     *
     * @param {PointerEvent} e - Specifies the pointer event on maps.
     * @returns {boolean} - Returns the boolean value
     */
    mouseEndOnMap(e: PointerEvent): boolean;
    /**
     * This method is used to perform operations when mouse is clicked down on maps.
     *
     * @param {PointerEvent} e - Specifies the pointer event on maps
     * @returns {void}
     */
    mouseDownOnMap(e: PointerEvent): void;
    /**
     * Merges the marker clusters.
     *
     * @returns {void}
     * @private
     */
    mergeCluster(): void;
    /**
     * This method is used to perform operations when performing the double click operation on maps.
     *
     * @param {PointerEvent} e - Specifies the pointer event.
     */
    mapsOnDoubleClick(e: PointerEvent): void;
    /**
     * This method is used to perform operations while performing mouse over on maps.
     *
     * @param {PointerEvent} e - Specifies the pointer event on maps.
     * @returns {void}
     */
    mouseMoveOnMap(e: PointerEvent): void;
    /**
     * This method is used to perform operations when mouse move event is performed on maps.
     *
     * @param {PointerEvent} e - Specifies the pointer event on maps.
     * @returns {void}
     */
    onMouseMove(e: PointerEvent): boolean;
    private legendTooltip;
    private titleTooltip;
    mapsOnResize(e: Event): boolean;
    /**
     * This method is used to zoom the map by specifying the center position.
     *
     * @param {number} centerPosition - Specifies the center position
     * @param {number} centerPosition.latitude - Specifies the latitude value for the center position
     * @param {number} centerPosition.longitude - Specifies the longitude value for the center position
     * @param {number} zoomFactor - Specifies the zoom factor for maps.
     * @returns {void}
     */
    zoomByPosition(centerPosition: {
        latitude: number;
        longitude: number;
    }, zoomFactor: number): void;
    /**
     * This method is used to perform panning by specifying the direction.
     *
     * @param {PanDirection} direction - Specifies the direction in which the panning is performed.
     * @param {PointerEvent | TouchEvent} mouseLocation - Specifies the location of the mouse pointer in maps.
     */
    panByDirection(direction: PanDirection, mouseLocation?: PointerEvent | TouchEvent): void;
    /**
     * This method is used to add the layers dynamically to the maps.
     *
     * @param {Object} layer - Specifies the layer for the maps.
     */
    addLayer(layer: Object): void;
    /**
     * This method is used to remove a layer from map.
     *
     * @param {number} index - Specifies the index number of the layer to be removed.
     * @returns {void}
     */
    removeLayer(index: number): void;
    /**
     * This method is used to add markers dynamically in the maps.
     * If we provide the index value of the layer in which the marker to be added and the coordinates
     * of the marker as parameters, the marker will be added in the location.
     *
     * @param {number} layerIndex - Specifies the index number of the layer.
     * @param {MarkerSettingsModel[]} markerCollection - Specifies the settings of the marker to be added.
     * @returns {void}
     */
    addMarker(layerIndex: number, markerCollection: MarkerSettingsModel[]): void;
    /**
     * This method is used to select the geometric shape element in the maps component.
     *
     * @param {number} layerIndex - Specifies the index of the layer in maps.
     * @param {string | string[]} propertyName - Specifies the property name from the data source.
     * @param {string} name - Specifies the name of the shape that is selected.
     * @param {boolean} enable - Specifies the shape selection to be enabled.
     * @returns {void}
     */
    shapeSelection(layerIndex: number, propertyName: string | string[], name: string, enable?: boolean): void;
    /**
     * This method is used to zoom the maps component based on the provided coordinates.
     *
     * @param {number} minLatitude - Specifies the minimum latitude to be zoomed.
     * @param {number} minLongitude - Specifies the minimum latitude to be zoomed.
     * @param {number} maxLatitude - Specifies the maximum latitude to be zoomed.
     * @param {number} maxLongitude - Specifies the maximum longitude to be zoomed.
     * @returns {void}
     */
    zoomToCoordinates(minLatitude: number, minLongitude: number, maxLatitude: number, maxLongitude: number): void;
    /**
     * This method is used to remove multiple selected shapes in the maps.
     *
     * @returns {void}
     */
    private removeShapeSelection;
    /**
     * This method is used to set culture for maps component.
     *
     * @returns {void}
     */
    private setCulture;
    /**
     * This method to set locale constants to the maps component.
     *
     * @returns {void}
     */
    private setLocaleConstants;
    /**
     * This method disposes the maps component.
     */
    destroy(): void;
    /**
     * Gets component name
     *
     * @returns {string} - Returns the string value
     */
    getModuleName(): string;
    /**
     * Gets the properties to be maintained in the persisted state.
     *
     * @returns {string} - Returns the string value
     * @private
     */
    getPersistData(): string;
    /**
     * Called internally if any of the property value changed.
     *
     * @param {MapsModel} newProp - Specifies the new property
     * @param {MapsModel} oldProp - Specifies the old property
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: MapsModel, oldProp: MapsModel): void;
    /**
     * To provide the array of modules needed for maps rendering
     *
     * @returns {base.ModuleDeclaration[]} - Returns the modules
     * @private
     */
    requiredModules(): base.ModuleDeclaration[];
    /**
     * To find marker visibility
     */
    private isMarkersVisible;
    /**
     * To find DataLabel visibility
     */
    private isDataLabelVisible;
    /**
     * To find navigation line visibility
     */
    private isNavigationVisible;
    /**
     * To find space between the secondary element and svg element.
     * @private
     */
    getExtraPosition(): Point;
    /**
     * To find marker visibility
     */
    private isBubbleVisible;
    /**
     * To find the bubble visibility from layer
     *
     * @param {LayerSettingsModel} layer - Spcifies the layer settings model
     * @returns {boolean} - Returns the boolean value
     * @private
     */
    getBubbleVisible(layer: LayerSettingsModel): boolean;
    /**
     * This method handles the printing functionality for the maps component.
     *
     * @param {string[] | string | Element} id - Specifies the element to be printed.
     * @returns {void}
     */
    print(id?: string[] | string | Element): void;
    /**
     * This method handles the export functionality for the maps component.
     *
     * @param {ExportType} type - Specifies the type of the exported file.
     * @param {string} fileName - Specifies the name of the file with which the rendered maps need to be exported.
     * @param {pdfExport.PdfPageOrientation} orientation - Specifies the orientation of the pdf document in exporting.
     * @param {boolean} allowDownload - Specifies whether to download as a file or get as base64 string for the file
     * @returns {Promise<string>} - Returns the string value.
     */
    export(type: ExportType, fileName: string, orientation?: pdfExport.PdfPageOrientation, allowDownload?: boolean): Promise<string>;
    /**
     * This method is used to get the Bing maps URL.
     *
     * @param {string} url - Specifies the URL of the maps.
     * @returns {Promise<string>} - Returns the processed Bing URL as Promise.
     */
    getBingUrlTemplate(url: string): Promise<string>;
    /**
     * To find visibility of layers and markers for required modules load.
     *
     * @param {LayerSettingsModel[]} layers - Specifies the layers.
     * @param {boolean} isLayerVisible - Specifies whether the layer is visible or not.
     * @param {boolean} isBubblevisible - Specifies whether the bubble is visible or not.
     * @param {boolean} istooltipVisible - Specifies whether the tooltip is visible or not.
     * @param {boolean} isSelection - Specifies whether the shape is selectd or not.
     * @param {boolean} isHighlight - Specfies whether the shape is highlighted or not.
     * @returns {boolean} - Returns the boolean value
     */
    private findVisibleLayers;
    /**
     * This method is used to get the geo location points.
     *
     * @param {number} layerIndex - Specifies the index number of the layer of the map.
     * @param {number} x - Specifies the x value.
     * @param {number} y - Specifies the y value.
     * @returns {GeoPosition}- Returns the geo position
     */
    getGeoLocation(layerIndex: number, x: number, y: number): GeoPosition;
    private clip;
    /**
     * This method is used to get the geo location points when tile maps is rendered in the maps component.
     *
     * @param {number} x - Specifies the x value
     * @param {number} y - Specifies the y value
     * @returns {GeoPosition} - Returns the position
     */
    getTileGeoLocation(x: number, y: number): GeoPosition;
    /**
     * This method is used to convert the point to latitude and longitude in maps.
     *
     * @param {number} pageX - Specifies the x value for the page.
     * @param {number} pageY - Specifies the y value for the page.
     * @returns {Object} - Returns the object.
     */
    pointToLatLong(pageX: number, pageY: number): Object;
}
//node_modules/@syncfusion/ej2-maps/src/maps/model/base-model.d.ts
/**
 * Interface for a class Annotation
 */
export interface AnnotationModel {
    /**
     * Sets and gets the content for the annotation in maps component.
     */
    content?: string;
    /**
     * Sets and gets the x position of the annotation in maps component.
     */
    x?: string;
    /**
     * Sets and gets the y position of the annotation in maps component.
     */
    y?: string;
    /**
     * Sets and gets the annotation element to be aligned vertically.
     *
     * @default None
     */
    verticalAlignment?: AnnotationAlignment;
    /**
     * Sets and gets the annotation element to be aligned horizontally.
     *
     * @default None
     */
    horizontalAlignment?: AnnotationAlignment;
    /**
     * Sets and gets the z-index of the annotation in maps component.
     *
     * @default '-1'
     */
    zIndex?: string;
}
/**
 * Interface for a class Arrow
 */
export interface ArrowModel {
    /**
     * Sets and gets the type of the position to place the arrow in navigation lines.
     */
    position?: string;
    /**
     * Enables or disables the visibility state of the arrow in navigation line.
     */
    showArrow?: boolean;
    /**
     * Sets and gets the size of the arrow in navigation line in maps.
     */
    size?: number;
    /**
     * Sets and gets the color for the arrow in navigation line.
     */
    color?: string;
    /**
     * Sets and gets the offset value to position the arrow in navigation line.
     */
    offSet?: number;
}
/**
 * Interface for a class Font
 */
export interface FontModel {
    /**
     * Sets and gets the size for the text in data label, legend and other texts.
     */
    size?: string;
    /**
     * Sets and gets the color for the text in data label, legend and other texts in maps component.
     */
    color?: string;
    /**
     * Sets and gets the style of the text in data label, legend and other texts in maps component.
     */
    fontFamily?: string;
    /**
     * Sets and gets the font weight of the text in data label, legend and other texts in maps component.
     */
    fontWeight?: string;
    /**
     * Sets and gets the style of the text in data label, legend and other texts in maps component.
     */
    fontStyle?: string;
    /**
     * Sets and gets the opacity for the text in data label, legend and other texts in maps component.
     *
     * @default 1
     */
    opacity?: number;
}
/**
 * Interface for a class Border
 */
export interface BorderModel {
    /**
     * Sets and gets the color of the border. This property accepts the value in hex code and rgba string as a valid CSS color string.
     */
    color?: string;
    /**
     * Sets and gets the width of the border in maps.
     */
    width?: number;
    /**
     * Sets and gets the opacity of the border in maps.
     */
    opacity?: number;
}
/**
 * Interface for a class CenterPosition
 */
export interface CenterPositionModel {
    /**
     * Sets and gets the latitude for the center position of maps.
     *
     * @default null
     */
    latitude?: number;
    /**
     * Sets and gets the longitude for the center position of maps.
     *
     * @default null
     */
    longitude?: number;
}
/**
 * Interface for a class TooltipSettings
 */
export interface TooltipSettingsModel {
    /**
     * Enables or disables the tooltip visibility for layers, markers, and bubbles in maps.
     *
     * @default false
     */
    visible?: boolean;
    /**
     * Sets and gets the tooltip template for layers, markers, and bubbles in maps.
     *
     * @default ''
     */
    template?: string;
    /**
     * Sets and gets the color of the tooltip in layers, markers, and bubbles of maps.
     */
    fill?: string;
    /**
     * Sets and gets the options for customizing the color and width of the border of the tooltip in layers, markers, and bubbles of maps.
     */
    border?: BorderModel;
    /**
     * Sets and gets the options for customizing the style of the text in tooltip for layers, markers, and bubbles of maps.
     */
    textStyle?: FontModel;
    /**
     * Sets and gets the format of the tooltip in layers, markers, and bubbles of maps.
     *
     * @default null
     */
    format?: string;
    /**
     * Sets and gets the value from the data source based on which the tooltip is visible on layers, markers, and bubbles of maps.
     *
     * @default null
     */
    valuePath?: string;
}
/**
 * Interface for a class Margin
 */
export interface MarginModel {
    /**
     * Sets and gets the left margin for maps.
     *
     * @default 10
     */
    left?: number;
    /**
     * Sets and gets the right margin for maps.
     *
     * @default 10
     */
    right?: number;
    /**
     * Sets and gets the top margin for maps.
     *
     * @default 10
     */
    top?: number;
    /**
     * Sets and gets the bottom margin for maps.
     *
     * @default 10
     */
    bottom?: number;
}
/**
 * Interface for a class ConnectorLineSettings
 */
export interface ConnectorLineSettingsModel {
    /**
     * Sets and gets the color for connector line between the markers in marker cluster.
     *
     * @default '#000000'
     */
    color?: string;
    /**
     * Sets and gets the line width for connector line between the markers in marker cluster.
     *
     * @default 1
     */
    width?: number;
    /**
     * Sets and gets the opacity for connector line between the markers in marker cluster.
     *
     * @default 1
     */
    opacity?: number;
}
/**
 * Interface for a class MarkerClusterSettings
 */
export interface MarkerClusterSettingsModel {
    /**
     * Enables or disables the visibility state of the clustering of markers in the maps component.
     *
     * @default false
     */
    allowClustering?: boolean;
    /**
     * Sets and gets the options for customizing the color and width of the border of cluster in maps.
     */
    border?: BorderModel;
    /**
     * Sets and gets the fill color of the cluster.
     *
     * @default '#D2691E'
     */
    fill?: string;
    /**
     * Sets and gets the opacity of the marker cluster.
     *
     * @default 1
     */
    opacity?: number;
    /**
     * Sets and gets shape for the cluster of markers.
     *
     * @default Rectangle
     */
    shape?: MarkerType;
    /**
     * Sets and gets the width of the marker cluster in maps.
     *
     * @default 12
     */
    width?: number;
    /**
     * Sets and gets the height of the marker cluster in maps.
     *
     * @default 12
     */
    height?: number;
    /**
     * Sets and gets the offset position for the marker cluster in maps.
     */
    offset?: Point;
    /**
     * Sets and gets the URL path for the marker cluster when the cluster shape is set as image in maps.
     */
    imageUrl?: string;
    /**
     * Sets and gets the dash array for the marker cluster in maps.
     *
     * @default ''
     */
    dashArray?: string;
    /**
     * Sets and gets the options to customize the text in marker cluster.
     */
    labelStyle?: FontModel;
    /**
     * Enables or disables the cluster expand when many markers are in same location.
     *
     * @default false
     */
    allowClusterExpand?: boolean;
    /**
     * Sets and gets the options to customize the connector line in cluster separating the markers.
     */
    connectorLineSettings?: ConnectorLineSettingsModel;
}
/**
 * Interface for a class MarkerClusterData
 */
export interface MarkerClusterDataModel {
}
/**
 * Interface for a class ColorMappingSettings
 */
export interface ColorMappingSettingsModel {
    /**
     * Sets and gets the value from where the range color-mapping starts.
     *
     * @aspDefaultValueIgnore
     * @default null
     */
    from?: number;
    /**
     * Sets and gets the value to where the range color-mapping ends.
     *
     * @aspDefaultValueIgnore
     * @default null
     */
    to?: number;
    /**
     * Sets and gets the value for the color-mapping from the data source.
     *
     * @default null
     */
    value?: string;
    /**
     * Sets and gets the color for the color-mapping in maps.
     *
     * @default null
     */
    color?: string | string[];
    /**
     * Sets and gets the minimum opacity for the color-mapping in maps.
     *
     * @default null
     */
    minOpacity?: number;
    /**
     * Sets and gets the maximum opacity for the color-mapping in maps.
     *
     * @default null
     */
    maxOpacity?: number;
    /**
     * Sets and gets the label for the color-mapping from the data source in maps.
     *
     * @default null
     */
    label?: string;
    /**
     * Enables or disables the visibility state of legend for the color-mapping shapes in maps.
     *
     * @default true
     */
    showLegend?: boolean;
}
/**
 * Interface for a class InitialMarkerSelectionSettings
 */
export interface InitialMarkerSelectionSettingsModel {
    /**
     * To initially select the marker latitude.
     *
     * @default null
     */
    latitude?: number;
    /**
     * To initially select the marker longitude
     *
     * @default null
     */
    longitude?: number;
}
/**
 * Interface for a class InitialShapeSelectionSettings
 */
export interface InitialShapeSelectionSettingsModel {
    /**
     * Sets and gets the property name from the data source in maps.
     *
     * @default null
     */
    shapePath?: string;
    /**
     * Sets and gets the value for the shape from data source in maps.
     *
     * @default null
     */
    shapeValue?: string;
}
/**
 * Interface for a class SelectionSettings
 */
export interface SelectionSettingsModel {
    /**
     * Enables or disables the selection for the layers, markers in maps.
     *
     * @default false
     */
    enable?: boolean;
    /**
     * Sets and gets the color for the shape that is selected.
     *
     * @default null
     */
    fill?: string;
    /**
     * Sets and gets the opacity for the shape that is selected.
     *
     * @default 1
     */
    opacity?: number;
    /**
     * Enables or disables the selection for many shapes in maps.
     *
     * @default false
     */
    enableMultiSelect?: boolean;
    /**
     * Sets and gets the options for customizing the color and width of the border of selected shapes in maps.
     */
    border?: BorderModel;
}
/**
 * Interface for a class HighlightSettings
 */
export interface HighlightSettingsModel {
    /**
     * Sets and gets the color for the shapes on which the mouse has hovered in maps.
     *
     * @default null
     */
    fill?: string;
    /**
     * Enables or disables the highlight settings for maps.
     *
     * @default false
     */
    enable?: boolean;
    /**
     * Sets and gets the opacity for the highlighted shapes in maps.
     *
     * @default 1
     */
    opacity?: number;
    /**
     * Sets and gets the options for customizing the color and width of the border for the highlighted shapes in maps.
     */
    border?: BorderModel;
}
/**
 * Interface for a class NavigationLineSettings
 */
export interface NavigationLineSettingsModel {
    /**
     * Enables or disables the navigation lines to be drawn in maps.
     *
     * @default false
     */
    visible?: boolean;
    /**
     * Sets and gets the width of the navigation lines in maps.
     *
     * @default 1
     */
    width?: number;
    /**
     * Sets and gets the longitude for the navigation lines drawn in maps.
     *
     * @default []
     */
    longitude?: number[];
    /**
     * Sets and gets the latitude value for the navigation lines drawn in maps.
     *
     * @default []
     */
    latitude?: number[];
    /**
     * Sets and gets the dash-array for the navigation lines drawn in maps.
     *
     * @default ''
     */
    dashArray?: string;
    /**
     * Sets and gets the color for the navigation lines in maps.
     *
     */
    color?: string;
    /**
     * Sets and gets the angle of curve connecting different locations in maps.
     *
     * @default 0
     */
    angle?: number;
    /**
     * Sets and gets the options to customize the arrow for the navigation line in maps.
     */
    arrowSettings?: ArrowModel;
    /**
     * Sets and gets the selection settings of the navigation line in maps.
     */
    selectionSettings?: SelectionSettingsModel;
    /**
     * Sets and gets the highlight settings of the navigation line in maps.
     */
    highlightSettings?: HighlightSettingsModel;
}
/**
 * Interface for a class BubbleSettings
 */
export interface BubbleSettingsModel {
    /**
     * Sets and gets the options to customize the color and width of the border for the bubble in maps.
     */
    border?: BorderModel;
    /**
     * Enables or disables the visibility state of the bubbles in maps.
     *
     * @default false
     */
    visible?: boolean;
    /**
     * Sets and gets the data source for the bubble.
     * The data source must contain the size value of the bubble that can be bound to the bubble
     * of the Maps using the valuePath property in the bubbleSettings.
     * The data source can contain data such as color, and the other information that can be bound to the bubble, and tooltip of the bubble.
     *
     * @isObservable true
     * @default []
     */
    dataSource?: Object[] | data.DataManager;
    /**
     * Sets and gets the query to select particular data from the bubble data.
     * This property is applicable only when the data source is created by data manager.
     *
     * @default null
     */
    query?: data.Query;
    /**
     * Sets and gets the duration for the animation for bubble in maps.
     *
     * @default 1000
     */
    animationDuration?: number;
    /**
     * Sets and gets the delay in animation for bubble in maps.
     *
     * @default 0
     */
    animationDelay?: number;
    /**
     * Sets and gets the color for the bubble in maps.
     *
     * @default ''
     */
    fill?: string;
    /**
     * Sets and gets the minimum radius for the bubble in maps.
     *
     * @default 10
     */
    minRadius?: number;
    /**
     * Sets and gets the maximum radius for the bubble in maps.
     *
     * @default 20
     */
    maxRadius?: number;
    /**
     * Sets and gets the opacity of the bubble in maps.
     *
     * @default 1
     */
    opacity?: number;
    /**
     * Sets and gets the value from the data source of bubble settings for the bubble to be rendered in maps.
     *
     * @default null
     */
    valuePath?: string;
    /**
     * Sets and gets the type of the bubble in maps.
     *
     * @default Circle
     */
    bubbleType?: BubbleType;
    /**
     * Sets and gets the value from the data source of bubble settings for the color of the bubble in maps.
     *
     * @default null
     */
    colorValuePath?: string;
    /**
     * Sets and gets the color-mapping for the bubble in maps.
     *
     * @default []
     */
    colorMapping?: ColorMappingSettingsModel[];
    /**
     * Sets and gets the options to customize the tooltip for the bubbles in maps.
     */
    tooltipSettings?: TooltipSettingsModel;
    /**
     * Sets and gets the selection settings for the bubble in maps.
     */
    selectionSettings?: SelectionSettingsModel;
    /**
     * Sets and gets the highlight settings for the bubble in maps.
     */
    highlightSettings?: HighlightSettingsModel;
}
/**
 * Interface for a class CommonTitleSettings
 */
export interface CommonTitleSettingsModel {
    /**
     * Sets and gets the text for the title in maps.
     *
     * @default ''
     */
    text?: string;
    /**
     * Sets and gets the description of the title in maps.
     *
     * @default ''
     */
    description?: string;
}
/**
 * Interface for a class SubTitleSettings
 */
export interface SubTitleSettingsModel extends CommonTitleSettingsModel{
    /**
     * Sets and gets the options for customizing the text in the subtitle for maps.
     */
    textStyle?: FontModel;
    /**
     * Sets and gets the alignment of the subtitle for maps.
     *
     * @default Center
     */
    alignment?: Alignment;
}
/**
 * Interface for a class TitleSettings
 */
export interface TitleSettingsModel extends CommonTitleSettingsModel{
    /**
     * Sets and gets the options for customizing the text of the title in Maps.
     */
    textStyle?: FontModel;
    /**
     * Sets and gets the alignment for the text in the title for the maps.
     *
     * @default Center
     */
    alignment?: Alignment;
    /**
     * Sets and gets the subtitle for the maps.
     */
    subtitleSettings?: SubTitleSettingsModel;
}
/**
 * Interface for a class ZoomSettings
 */
export interface ZoomSettingsModel {
    /**
     * Enables or disables the zooming operation in the maps component.
     *
     * @default false
     */
    enable?: boolean;
    /**
     * Enables or disables the panning operation in the maps component.
     *
     * @default true
     */
    enablePanning?: boolean;
    /**
     * Enables or disables the selection zooming operation in the maps component.
     *
     * @default true
     */
    enableSelectionZooming?: boolean;
    /**
     * Sets and gets the orientation of the zoom toolbar.
     *
     * @default Horizontal
     */
    toolBarOrientation?: Orientation;
    /**
     * Sets and gets the color for the toolbar in maps.
     */
    color?: string;
    /**
     * Sets and gets the color for the zooming toolbar when the mouse has hovered on toolbar element in maps.
     */
    highlightColor?: string;
    /**
     * Sets and gets the color for the zooming toolbar when clicking the zooming toolbar in maps.
     */
    selectionColor?: string;
    /**
     * Sets and gets the position type of toolbar when it is placed horizontally.
     *
     * @default Far
     */
    horizontalAlignment?: Alignment;
    /**
     * Sets and gets the position type of toolbar when it is placed vertically.
     *
     * @default Near
     */
    verticalAlignment?: Alignment;
    /**
     * Sets and gets the items that are to be shown in the zooming toolbar in maps.
     */
    toolbars?: string[];
    /**
     * Enables or disables the mouse wheel zooming in maps.
     *
     * @default true
     */
    mouseWheelZoom?: boolean;
    /**
     * Enables or disables the double click zooming in maps.
     *
     * @default false
     */
    doubleClickZoom?: boolean;
    /**
     * Enables or disables the pinch zooming in maps.
     *
     * @default true
     */
    pinchZooming?: boolean;
    /**
     * Enables or disables the zooming on clicking the shapes in maps.
     *
     * @default false
     */
    zoomOnClick?: boolean;
    /**
     * Sets and gets the factor of zoom to be displayed while rendering the maps.
     *
     * @default 1
     */
    zoomFactor?: number;
    /**
     * Sets and gets the maximum zooming value in maps.
     *
     * @default 10
     */
    maxZoom?: number;
    /**
     * Sets and gets the minimum zooming value in maps.
     *
     * @default 1
     */
    minZoom?: number;
    /**
     * Enables or disables the zoom based on the marker position while rendering the maps.
     */
    shouldZoomInitially?: boolean;
    /**
     * Enables or disables the zoom to set the initial State.
     */
    resetToInitial?: boolean;
}
/**
 * Interface for a class ToggleLegendSettings
 */
export interface ToggleLegendSettingsModel {
    /**
     * Enables or disables the legend to be toggled.
     *
     * @default false
     */
    enable?: boolean;
    /**
     * Enables or disables the property of the shape settings to be displayed while clicking the legend.
     *
     * @default true
     */
    applyShapeSettings?: boolean;
    /**
     * Sets and gets the opacity for the shape for which the legend is selected.
     *
     * @default 1
     */
    opacity?: number;
    /**
     * Sets and gets the color of the shape for which the legend is selected.
     *
     * @default ''
     */
    fill?: string;
    /**
     * Sets and gets the options to customize the color and width of the border for the shape in maps.
     */
    border?: BorderModel;
}
/**
 * Interface for a class LegendSettings
 */
export interface LegendSettingsModel {
    /**
     * Enables or disables to render the legend item based on the shapes from the data source of markers.
     *
     * @default false
     */
    useMarkerShape?: boolean;
    /**
     * Enables or disables the toggle visibility for legend in maps.
     *
     * @default false
     */
    toggleVisibility?: boolean;
    /**
     * Enables or disables the visibility state of the legend in maps.
     *
     * @default false
     */
    visible?: boolean;
    /**
     * Sets and gets the background color for the legend in maps.
     *
     * @default 'transparent'
     */
    background?: string;
    /**
     * Sets and gets the type of the legend in maps.
     *
     * @default Layers
     */
    type?: LegendType;
    /**
     * Enables or disables the visibility of the inverted pointer in interactive legend in maps.
     */
    invertedPointer?: boolean;
    /**
     * Sets and gets the position of the label in legend.
     *
     * @default After
     */
    labelPosition?: LabelPosition;
    /**
     * Sets and gets the display mode for the label in legend.
     *
     * @default None
     */
    labelDisplayMode?: LabelIntersectAction;
    /**
     * Sets and gets the shape of the legend in maps.
     *
     * @default Circle
     */
    shape?: LegendShape;
    /**
     * Sets and gets the width of the legend in maps.
     *
     * @default ''
     */
    width?: string;
    /**
     * Sets and gets the height of the legend in maps.
     *
     * @default ''
     */
    height?: string;
    /**
     * Sets and gets the options for customizing the text styles for the legend in maps.
     */
    textStyle?: FontModel;
    /**
     * Sets and gets the width of the shapes in legend.
     *
     * @default 15
     */
    shapeWidth?: number;
    /**
     * Sets and gets the width of the shapes in legend.
     *
     * @default 15
     */
    shapeHeight?: number;
    /**
     * Sets and gets the padding for the shapes in legend.
     *
     * @default 10
     */
    shapePadding?: number;
    /**
     * Sets and gets the options for customizing the color and width of the legend border.
     */
    border?: BorderModel;
    /**
     * Sets and gets the options for customizing the color and width of the border for the shape in legend.
     */
    shapeBorder?: BorderModel;
    /**
     * Sets and gets the title for the legend in maps.
     */
    title?: CommonTitleSettingsModel;
    /**
     * Sets and gets the options for customizing the style of the title for the legend in maps.
     */
    titleStyle?: FontModel;
    /**
     * Sets and gets the position of the legend in maps.
     *
     * @default Bottom
     */
    position?: LegendPosition;
    /**
     * Sets and gets the alignment for the legend in maps.
     *
     * @default Center
     */
    alignment?: Alignment;
    /**
     * Sets and gets the orientation of the legend in maps.
     *
     * @default None
     */
    orientation?: LegendArrangement;
    /**
     * Sets and gets the location of the legend, given by x and y values.
     */
    location?: Point;
    /**
     * Sets and gets the color of the legend in maps.
     */
    fill?: string;
    /**
     * Sets and gets the opacity for the legend in maps.
     *
     * @default 1
     */
    opacity?: number;
    /**
     * Sets and gets the mode of the legend in maps. The modes available are default and interactive modes.
     *
     * @default Default
     */
    mode?: LegendMode;
    /**
     * Sets and gets the path for the legend from the data source to be shown.
     *
     * @default null
     */
    showLegendPath?: string;
    /**
     * Set and gets the value from the data source for legend.
     *
     * @default null
     */
    valuePath?: string;
    /**
     * Enables or disables to remove the duplicate legend item.
     *
     * @default false
     */
    removeDuplicateLegend?: boolean;
    /**
     * Sets and gets the options for customizing the color and width of the shape related to the legend on selecting the legend.
     */
    toggleLegendSettings?: ToggleLegendSettingsModel;
}
/**
 * Interface for a class DataLabelSettings
 */
export interface DataLabelSettingsModel {
    /**
     * Enables or disables the visibility of data-labels in maps.
     *
     * @default false
     */
    visible?: boolean;
    /**
     * Sets and gets the options for customizing the color and width of the border for the data-labels.
     */
    border?: BorderModel;
    /**
     * Sets and gets the color for the data-labels in maps.
     */
    fill?: string;
    /**
     * Sets and gets the opacity for the color of the data-labels in maps.
     */
    opacity?: number;
    /**
     * Sets and gets the x position for the data-labels.
     *
     * @default 10
     */
    rx?: number;
    /**
     * Sets and gets the y position for the data-labels in maps.
     *
     * @default 10
     */
    ry?: number;
    /**
     * Sets and gets the options for customizing the styles of the text in data-labels.
     */
    textStyle?: FontModel;
    /**
     * Sets and gets the path from the data source based on which the data-labels gets rendered.
     *
     * @default ''
     */
    labelPath?: string;
    /**
     * Sets and gets the label mode for the data-labels.
     *
     * @default None
     */
    smartLabelMode?: SmartLabelMode;
    /**
     * Sets and gets the intersection action for the data-labels in maps.
     *
     * @default None
     */
    intersectionAction?: IntersectAction;
    /**
     * Sets and gets the template for the data-labels in maps.
     *
     * @default ''
     */
    template?: string;
}
/**
 * Interface for a class ShapeSettings
 */
export interface ShapeSettingsModel {
    /**
     * Sets and gets the color of the shapes in maps.
     *
     * @default null
     */
    fill?: string;
    /**
     * Sets and gets a set of colors for the shapes in maps.
     *
     * @default []
     */
    palette?: string[];
    /**
     * Sets and gets the radius of the shape.
     */
    circleRadius?: number;
    /**
     * Sets and gets the options for customizing the color and width of the border for the shapes in maps.
     */
    border?: BorderModel;
    /**
     * Sets and gets the dash-array for the shapes in maps.
     */
    dashArray?: string;
    /**
     * Sets and gets the opacity for the shapes in maps.
     *
     * @default 1
     */
    opacity?: number;
    /**
     * Sets and gets the value path from the data source to set the color for the shapes in maps.
     *
     * @default null
     */
    colorValuePath?: string;
    /**
     * Sets and gets the value path from the data source to set the color for the border of a particular shape in maps.
     *
     * @default null
     */
    borderColorValuePath?: string;
    /**
     * Sets and gets the value path from the data source to set the width for the border of a particular shape in maps.
     *
     * @default null
     */
    borderWidthValuePath?: string;
    /**
     * Sets and gets the value from the data source based on which the shape gets rendered.
     *
     * @default null
     */
    valuePath?: string;
    /**
     * Sets and gets the options to map the color for some set of the shapes in maps.
     *
     * @default []
     */
    colorMapping?: ColorMappingSettingsModel[];
    /**
     * Enables or disables the filling of color for the shapes automatically.
     *
     * @default false
     */
    autofill?: boolean;
}
/**
 * Interface for a class MarkerBase
 */
export interface MarkerBaseModel {
    /**
     * Sets and gets the options for customizing the color and width of the border for the marker in maps.
     */
    border?: BorderModel;
    /**
     * Sets and gets the dash-array for the marker.
     */
    dashArray?: string;
    /**
     * Enables or disables the visibility state of the marker based on the marker data source in maps.
     *
     * @default false
     */
    visible?: boolean;
    /**
     * Sets and gets the color for the marker in maps.
     *
     * @default '#FF471A'
     */
    fill?: string;
    /**
     * Sets and gets the height of the marker in maps.
     *
     * @default 10
     */
    height?: number;
    /**
     * Sets and gets the width of the marker in maps.
     *
     * @default 10
     */
    width?: number;
    /**
     * Sets and gets the opacity for the marker in maps.
     *
     * @default 1
     */
    opacity?: number;
    /**
     * Sets and gets the value path from the marker data source to apply color for the marker.
     *
     * @default null
     */
    colorValuePath?: string;
    /**
     * Sets and gets the value path from the marker data source to set the shape of the marker.
     *
     * @default null
     */
    shapeValuePath?: string;
    /**
     * Sets and gets the value path from the marker data source for the image of the marker.
     *
     * @default null
     */
    imageUrlValuePath?: string;
    /**
     * Sets and gets the shape of the marker in maps.
     *
     * @default Balloon
     */
    shape?: MarkerType;
    /**
     * Sets and gets the text for the legend from the marker data source.
     *
     * @default ''
     */
    legendText?: string;
    /**
     * Sets and gets the position to move the marker by setting specific value.
     *
     */
    offset?: Point;
    /**
     * Sets and gets the URL for rendering the marker as image.
     */
    imageUrl?: string;
    /**
     * Sets and gets the template for the marker.
     *
     * @default null
     */
    template?: string;
    /**
     * Sets and gets the data source for the marker.
     * The data source for the marker will contain latitude and longitude values to specify the location
     * of the marker.
     * The data source can contain data such as color, shape, and other details that can be bound to the color, shape,
     * and tooltip of the marker.
     *
     * @isObservable true
     * @default []
     */
    dataSource?: Object[] | data.DataManager;
    /**
     * Sets and gets the query to select particular data from the marker data.
     * This property is applicable only when the data source is created by data manager.
     *
     * @default null
     */
    query?: data.Query;
    /**
     * Sets and gets the options to customize the tooltip for the marker in maps.
     */
    tooltipSettings?: TooltipSettingsModel;
    /**
     * Sets and gets the duration time for animating the marker.
     *
     * @default 1000
     */
    animationDuration?: number;
    /**
     * Sets and gets the delay time for the animation in marker.
     *
     * @default 0
     */
    animationDelay?: number;
    /**
     * Sets and gets the options to customize the marker while selecting the marker in maps.
     */
    selectionSettings?: SelectionSettingsModel;
    /**
     * Sets and gets the options to customize the marker while the mouse has hovered on the marker in maps.
     */
    highlightSettings?: HighlightSettingsModel;
    /**
     * Defines the value path from the marker data source for setting latitude for a set of markers.
     */
    latitudeValuePath?: string;
    /**
     * Defines the value path from the marker data source for setting longitude for a set of markers.
     */
    longitudeValuePath?: string;
    /**
     * To select the shape at the rendering time.
     */
    initialMarkerSelection?: InitialMarkerSelectionSettingsModel[];
}
/**
 * Interface for a class MarkerSettings
 */
export interface MarkerSettingsModel extends MarkerBaseModel{
}
/**
 * Interface for a class LayerSettings
 */
export interface LayerSettingsModel {
    /**
     * Sets and gets the shape data for the maps to render.
     *
     * @isObservable true
     * @default null
     */
    shapeData?: Object | data.DataManager | MapAjax;
    /**
     * Sets and gets the query to select particular data from the shape data.
     * This property is applicable only when the data source is created by data manager.
     *
     * @default null
     */
    query?: data.Query;
    /**
     * Sets and gets the options to customize the shape of the maps.
     */
    shapeSettings?: ShapeSettingsModel;
    /**
     * * Sets and gets the data source for the layer.
     * * The data source can contain data that can be bound to the tooltip, marker, and bubble.
     *
     * @isObservable true
     * @default []
     */
    dataSource?: Object[] | data.DataManager | MapAjax;
    /**
     * Sets and gets the type of the layer in maps.
     *
     * @default Layer
     */
    type?: Type;
    /**
     * Sets and gets the geometry type for the layer in maps.
     *
     * @default Geographic
     */
    geometryType?: GeometryType;
    /**
     * Sets and gets the Bing map type for the layer. If you use shape data with BingMapType without using layer type as Bing,
     * then the map will render based on shape data since default layer type will be set as Geometry.
     *
     * @deprecated
     * @default Aerial
     */
    bingMapType?: BingMapType;
    /**
     * Sets and gets the type of the static maps.
     *
     * @deprecated
     * @default RoadMap
     */
    staticMapType?: StaticMapType;
    /**
     * Sets and gets the key for the tile map layer in maps.
     *
     * @deprecated
     * @default ''
     */
    key?: string;
    /**
     * Sets and gets the type of the layer in maps. If we use layer type with shape data property in layer of the maps
     * then map will render based on the provided layer type.
     *
     * @deprecated
     * @default Geometry
     */
    layerType?: ShapeLayerType;
    /**
     * Sets and gets the template for the map using the url.
     *
     * @default ''
     */
    urlTemplate?: string;
    /**
     * Enables or disables the visibility state for the layers in maps.
     *
     * @default true
     */
    visible?: boolean;
    /**
     * Sets and gets the path for the shape from the shape data in maps.
     *
     * @default 'name'
     */
    shapeDataPath?: string;
    /**
     * Sets and gets the path for the layers from the layer data source in maps.
     *
     * @default 'name'
     */
    shapePropertyPath?: string | string[];
    /**
     * Sets and gets the duration for the animation of layers in maps.
     *
     * @default 0
     */
    animationDuration?: number;
    /**
     * Sets and gets the options for customizing the marker in maps.
     */
    markerSettings?: MarkerSettingsModel[];
    /**
     * Sets and gets the options for customizing the cluster of markers in maps.
     */
    markerClusterSettings?: MarkerClusterSettingsModel;
    /**
     * Sets and gets the options for customizing the data-label in maps.
     */
    dataLabelSettings?: DataLabelSettingsModel;
    /**
     * Sets and gets the options for customizing the bubble in maps.
     */
    bubbleSettings?: BubbleSettingsModel[];
    /**
     * Sets and gets the options for customizing the navigation line in maps.
     */
    navigationLineSettings?: NavigationLineSettingsModel[];
    /**
     * Sets and gets the options for customizing the tooltip for the layers, markers, and bubbles in maps.
     */
    tooltipSettings?: TooltipSettingsModel;
    /**
     * Sets and gets the options for customizing the shapes when clicking the shapes in maps.
     */
    selectionSettings?: SelectionSettingsModel;
    /**
     * Sets and gets the options for customizing the shapes when the mouse has hovered on maps.
     */
    highlightSettings?: HighlightSettingsModel;
    /**
     * Sets and gets the options for customizing the toggle state of shapes when selecting the legend in maps.
     */
    toggleLegendSettings?: ToggleLegendSettingsModel;
    /**
     * Sets and gets the settings for shapes that is selected at the time of rendering.
     */
    initialShapeSelection?: InitialShapeSelectionSettingsModel[];
}
/**
 * Interface for a class Tile
 */
export interface TileModel {
}
/**
 * Interface for a class MapsAreaSettings
 */
export interface MapsAreaSettingsModel {
    /**
     * Sets and gets the background color for the map area.
     */
    background?: string;
    /**
     * Sets and gets the options for customizing the color and width of the border of maps area.
     */
    border?: BorderModel;
}
//node_modules/@syncfusion/ej2-maps/src/maps/model/base.d.ts
/**
 * Maps base document
 */
/**
 * Sets and gets the options for customizing the annotation element in maps.
 */
export  class Annotation extends base.ChildProperty<Annotation> {
    /**
     * Sets and gets the content for the annotation in maps component.
     */
    content: string;
    /**
     * Sets and gets the x position of the annotation in maps component.
     */
    x: string;
    /**
     * Sets and gets the y position of the annotation in maps component.
     */
    y: string;
    /**
     * Sets and gets the annotation element to be aligned vertically.
     *
     * @default None
     */
    verticalAlignment: AnnotationAlignment;
    /**
     * Sets and gets the annotation element to be aligned horizontally.
     *
     * @default None
     */
    horizontalAlignment: AnnotationAlignment;
    /**
     * Sets and gets the z-index of the annotation in maps component.
     *
     * @default '-1'
     */
    zIndex: string;
}
export  class Arrow extends base.ChildProperty<Arrow> {
    /**
     * Sets and gets the type of the position to place the arrow in navigation lines.
     */
    position: string;
    /**
     * Enables or disables the visibility state of the arrow in navigation line.
     */
    showArrow: boolean;
    /**
     * Sets and gets the size of the arrow in navigation line in maps.
     */
    size: number;
    /**
     * Sets and gets the color for the arrow in navigation line.
     */
    color: string;
    /**
     * Sets and gets the offset value to position the arrow in navigation line.
     */
    offSet: number;
}
/**
 * Sets and gets the options to customize the style of the text in data label, legend and other texts.
 */
export  class Font extends base.ChildProperty<Font> {
    /**
     * Sets and gets the size for the text in data label, legend and other texts.
     */
    size: string;
    /**
     * Sets and gets the color for the text in data label, legend and other texts in maps component.
     */
    color: string;
    /**
     * Sets and gets the style of the text in data label, legend and other texts in maps component.
     */
    fontFamily: string;
    /**
     * Sets and gets the font weight of the text in data label, legend and other texts in maps component.
     */
    fontWeight: string;
    /**
     * Sets and gets the style of the text in data label, legend and other texts in maps component.
     */
    fontStyle: string;
    /**
     * Sets and gets the opacity for the text in data label, legend and other texts in maps component.
     *
     * @default 1
     */
    opacity: number;
}
/**
 * Sets and gets the options to customize the border for the maps.
 */
export  class Border extends base.ChildProperty<Border> {
    /**
     * Sets and gets the color of the border. This property accepts the value in hex code and rgba string as a valid CSS color string.
     */
    color: string;
    /**
     * Sets and gets the width of the border in maps.
     */
    width: number;
    /**
     * Sets and gets the opacity of the border in maps.
     */
    opacity: number;
}
/**
 * Sets and gets the center position in maps.
 */
export  class CenterPosition extends base.ChildProperty<CenterPosition> {
    /**
     * Sets and gets the latitude for the center position of maps.
     *
     * @default null
     */
    latitude: number;
    /**
     * Sets and gets the longitude for the center position of maps.
     *
     * @default null
     */
    longitude: number;
}
/**
 * Sets and gets the options to customize the tooltip for layers, markers, and bubble in maps.
 */
export  class TooltipSettings extends base.ChildProperty<TooltipSettings> {
    /**
     * Enables or disables the tooltip visibility for layers, markers, and bubbles in maps.
     *
     * @default false
     */
    visible: boolean;
    /**
     * Sets and gets the tooltip template for layers, markers, and bubbles in maps.
     *
     * @default ''
     */
    template: string;
    /**
     * Sets and gets the color of the tooltip in layers, markers, and bubbles of maps.
     */
    fill: string;
    /**
     * Sets and gets the options for customizing the color and width of the border of the tooltip in layers, markers, and bubbles of maps.
     */
    border: BorderModel;
    /**
     * Sets and gets the options for customizing the style of the text in tooltip for layers, markers, and bubbles of maps.
     */
    textStyle: FontModel;
    /**
     * Sets and gets the format of the tooltip in layers, markers, and bubbles of maps.
     *
     * @default null
     */
    format: string;
    /**
     * Sets and gets the value from the data source based on which the tooltip is visible on layers, markers, and bubbles of maps.
     *
     * @default null
     */
    valuePath: string;
}
/**
 * Sets and gets the margin for the maps component.
 */
export  class Margin extends base.ChildProperty<Margin> {
    /**
     * Sets and gets the left margin for maps.
     *
     * @default 10
     */
    left: number;
    /**
     * Sets and gets the right margin for maps.
     *
     * @default 10
     */
    right: number;
    /**
     * Sets and gets the top margin for maps.
     *
     * @default 10
     */
    top: number;
    /**
     * Sets and gets the bottom margin for maps.
     *
     * @default 10
     */
    bottom: number;
}
export  class ConnectorLineSettings extends base.ChildProperty<ConnectorLineSettings> {
    /**
     * Sets and gets the color for connector line between the markers in marker cluster.
     *
     * @default '#000000'
     */
    color: string;
    /**
     * Sets and gets the line width for connector line between the markers in marker cluster.
     *
     * @default 1
     */
    width: number;
    /**
     * Sets and gets the opacity for connector line between the markers in marker cluster.
     *
     * @default 1
     */
    opacity: number;
}
/**
 * Sets and gets the options to customize the cluster of markers in Maps.
 */
export  class MarkerClusterSettings extends base.ChildProperty<MarkerClusterSettings> {
    /**
     * Enables or disables the visibility state of the clustering of markers in the maps component.
     *
     * @default false
     */
    allowClustering: boolean;
    /**
     * Sets and gets the options for customizing the color and width of the border of cluster in maps.
     */
    border: BorderModel;
    /**
     * Sets and gets the fill color of the cluster.
     *
     * @default '#D2691E'
     */
    fill: string;
    /**
     * Sets and gets the opacity of the marker cluster.
     *
     * @default 1
     */
    opacity: number;
    /**
     * Sets and gets shape for the cluster of markers.
     *
     * @default Rectangle
     */
    shape: MarkerType;
    /**
     * Sets and gets the width of the marker cluster in maps.
     *
     * @default 12
     */
    width: number;
    /**
     * Sets and gets the height of the marker cluster in maps.
     *
     * @default 12
     */
    height: number;
    /**
     * Sets and gets the offset position for the marker cluster in maps.
     */
    offset: Point;
    /**
     * Sets and gets the URL path for the marker cluster when the cluster shape is set as image in maps.
     */
    imageUrl: string;
    /**
     * Sets and gets the dash array for the marker cluster in maps.
     *
     * @default ''
     */
    dashArray: string;
    /**
     * Sets and gets the options to customize the text in marker cluster.
     */
    labelStyle: FontModel;
    /**
     * Enables or disables the cluster expand when many markers are in same location.
     *
     * @default false
     */
    allowClusterExpand: boolean;
    /**
     * Sets and gets the options to customize the connector line in cluster separating the markers.
     */
    connectorLineSettings: ConnectorLineSettingsModel;
}
/**
 * Sets and gets the data in the marker cluster.
 */
export  class MarkerClusterData extends base.ChildProperty<MarkerClusterData> {
    /**
     * Sets and gets the data for the marker cluster.
     *
     * @private
     */
    data: Object[];
    /**
     * Sets and gets the index value for the layer in which the marker cluster is rendered.
     *
     * @private
     */
    layerIndex: number;
    /**
     * Sets and gets the index value for the marker in the maps.
     *
     * @private
     */
    markerIndex: number;
    /**
     * Sets and gets the index value for the marker in the maps.
     *
     * @private
     */
    dataIndex: number;
    /**
     * Sets and gets the index value for cluster for which the click operation is triggered.
     *
     * @private
     */
    targetClusterIndex: number;
    /**
     * Enables or disables the same cluster occurs in maps.
     *
     * @private
     */
    isClusterSame: boolean;
}
/**
 * Sets and gets the options to customize the color-mapping in maps.
 */
export  class ColorMappingSettings extends base.ChildProperty<ColorMappingSettings> {
    /**
     * Sets and gets the value from where the range color-mapping starts.
     *
     * @aspDefaultValueIgnore
     * @default null
     */
    from: number;
    /**
     * Sets and gets the value to where the range color-mapping ends.
     *
     * @aspDefaultValueIgnore
     * @default null
     */
    to: number;
    /**
     * Sets and gets the value for the color-mapping from the data source.
     *
     * @default null
     */
    value: string;
    /**
     * Sets and gets the color for the color-mapping in maps.
     *
     * @default null
     */
    color: string | string[];
    /**
     * Sets and gets the minimum opacity for the color-mapping in maps.
     *
     * @default null
     */
    minOpacity: number;
    /**
     * Sets and gets the maximum opacity for the color-mapping in maps.
     *
     * @default null
     */
    maxOpacity: number;
    /**
     * Sets and gets the label for the color-mapping from the data source in maps.
     *
     * @default null
     */
    label: string;
    /**
     * Enables or disables the visibility state of legend for the color-mapping shapes in maps.
     *
     * @default true
     */
    showLegend: boolean;
}
/**
 * To configure the initial marker shape selection settings
 */
export  class InitialMarkerSelectionSettings extends base.ChildProperty<InitialMarkerSelectionSettings> {
    /**
     * To initially select the marker latitude.
     *
     * @default null
     */
    latitude: number;
    /**
     * To initially select the marker longitude
     *
     * @default null
     */
    longitude: number;
}
/**
 * Sets and gets the shapes that is selected initially on rendering the maps.
 */
export  class InitialShapeSelectionSettings extends base.ChildProperty<InitialShapeSelectionSettings> {
    /**
     * Sets and gets the property name from the data source in maps.
     *
     * @default null
     */
    shapePath: string;
    /**
     * Sets and gets the value for the shape from data source in maps.
     *
     * @default null
     */
    shapeValue: string;
}
/**
 * Sets and gets the options to customize the maps on selecting the shapes.
 */
export  class SelectionSettings extends base.ChildProperty<SelectionSettings> {
    /**
     * Enables or disables the selection for the layers, markers in maps.
     *
     * @default false
     */
    enable: boolean;
    /**
     * Sets and gets the color for the shape that is selected.
     *
     * @default null
     */
    fill: string;
    /**
     * Sets and gets the opacity for the shape that is selected.
     *
     * @default 1
     */
    opacity: number;
    /**
     * Enables or disables the selection for many shapes in maps.
     *
     * @default false
     */
    enableMultiSelect: boolean;
    /**
     * Sets and gets the options for customizing the color and width of the border of selected shapes in maps.
     */
    border: BorderModel;
}
/**
 * Sets and gets the options to customize the shapes on which the mouse has hovered in maps.
 */
export  class HighlightSettings extends base.ChildProperty<HighlightSettings> {
    /**
     * Sets and gets the color for the shapes on which the mouse has hovered in maps.
     *
     * @default null
     */
    fill: string;
    /**
     * Enables or disables the highlight settings for maps.
     *
     * @default false
     */
    enable: boolean;
    /**
     * Sets and gets the opacity for the highlighted shapes in maps.
     *
     * @default 1
     */
    opacity: number;
    /**
     * Sets and gets the options for customizing the color and width of the border for the highlighted shapes in maps.
     */
    border: BorderModel;
}
/**
 * Sets and gets the options to customize the navigation line in maps.
 */
export  class NavigationLineSettings extends base.ChildProperty<NavigationLineSettings> {
    /**
     * Enables or disables the navigation lines to be drawn in maps.
     *
     * @default false
     */
    visible: boolean;
    /**
     * Sets and gets the width of the navigation lines in maps.
     *
     * @default 1
     */
    width: number;
    /**
     * Sets and gets the longitude for the navigation lines drawn in maps.
     *
     * @default []
     */
    longitude: number[];
    /**
     * Sets and gets the latitude value for the navigation lines drawn in maps.
     *
     * @default []
     */
    latitude: number[];
    /**
     * Sets and gets the dash-array for the navigation lines drawn in maps.
     *
     * @default ''
     */
    dashArray: string;
    /**
     * Sets and gets the color for the navigation lines in maps.
     *
     */
    color: string;
    /**
     * Sets and gets the angle of curve connecting different locations in maps.
     *
     * @default 0
     */
    angle: number;
    /**
     * Sets and gets the options to customize the arrow for the navigation line in maps.
     */
    arrowSettings: ArrowModel;
    /**
     * Sets and gets the selection settings of the navigation line in maps.
     */
    selectionSettings: SelectionSettingsModel;
    /**
     * Sets and gets the highlight settings of the navigation line in maps.
     */
    highlightSettings: HighlightSettingsModel;
}
/**
 * Sets and gets the options to customize the bubble elements in maps.
 */
export  class BubbleSettings extends base.ChildProperty<BubbleSettings> {
    /**
     * Sets and gets the options to customize the color and width of the border for the bubble in maps.
     */
    border: BorderModel;
    /**
     * Enables or disables the visibility state of the bubbles in maps.
     *
     * @default false
     */
    visible: boolean;
    /**
     * Sets and gets the data source for the bubble.
     * The data source must contain the size value of the bubble that can be bound to the bubble
     * of the Maps using the valuePath property in the bubbleSettings.
     * The data source can contain data such as color, and the other information that can be bound to the bubble, and tooltip of the bubble.
     *
     * @isObservable true
     * @default []
     */
    dataSource: Object[] | data.DataManager;
    /**
     * Sets and gets the query to select particular data from the bubble data.
     * This property is applicable only when the data source is created by data manager.
     *
     * @default null
     */
    query: data.Query;
    /**
     * Sets and gets the duration for the animation for bubble in maps.
     *
     * @default 1000
     */
    animationDuration: number;
    /**
     * Sets and gets the delay in animation for bubble in maps.
     *
     * @default 0
     */
    animationDelay: number;
    /**
     * Sets and gets the color for the bubble in maps.
     *
     * @default ''
     */
    fill: string;
    /**
     * Sets and gets the minimum radius for the bubble in maps.
     *
     * @default 10
     */
    minRadius: number;
    /**
     * Sets and gets the maximum radius for the bubble in maps.
     *
     * @default 20
     */
    maxRadius: number;
    /**
     * Sets and gets the opacity of the bubble in maps.
     *
     * @default 1
     */
    opacity: number;
    /**
     * Sets and gets the value from the data source of bubble settings for the bubble to be rendered in maps.
     *
     * @default null
     */
    valuePath: string;
    /**
     * Sets and gets the type of the bubble in maps.
     *
     * @default Circle
     */
    bubbleType: BubbleType;
    /**
     * Sets and gets the value from the data source of bubble settings for the color of the bubble in maps.
     *
     * @default null
     */
    colorValuePath: string;
    /**
     * Sets and gets the color-mapping for the bubble in maps.
     *
     * @default []
     */
    colorMapping: ColorMappingSettingsModel[];
    /**
     * Sets and gets the options to customize the tooltip for the bubbles in maps.
     */
    tooltipSettings: TooltipSettingsModel;
    /**
     * Sets and gets the selection settings for the bubble in maps.
     */
    selectionSettings: SelectionSettingsModel;
    /**
     * Sets and gets the highlight settings for the bubble in maps.
     */
    highlightSettings: HighlightSettingsModel;
}
/**
 * Sets and gets the title for the maps.
 */
export  class CommonTitleSettings extends base.ChildProperty<CommonTitleSettings> {
    /**
     * Sets and gets the text for the title in maps.
     *
     * @default ''
     */
    text: string;
    /**
     * Sets and gets the description of the title in maps.
     *
     * @default ''
     */
    description: string;
}
/**
 * Sets and gets the subtitle for maps.
 */
export  class SubTitleSettings extends CommonTitleSettings {
    /**
     * Sets and gets the options for customizing the text in the subtitle for maps.
     */
    textStyle: FontModel;
    /**
     * Sets and gets the alignment of the subtitle for maps.
     *
     * @default Center
     */
    alignment: Alignment;
}
/**
 * Sets and gets the title for the maps.
 */
export  class TitleSettings extends CommonTitleSettings {
    /**
     * Sets and gets the options for customizing the text of the title in Maps.
     */
    textStyle: FontModel;
    /**
     * Sets and gets the alignment for the text in the title for the maps.
     *
     * @default Center
     */
    alignment: Alignment;
    /**
     * Sets and gets the subtitle for the maps.
     */
    subtitleSettings: SubTitleSettingsModel;
}
/**
 * Sets and gets the options to configure maps zooming operations.
 */
export  class ZoomSettings extends base.ChildProperty<ZoomSettings> {
    /**
     * Enables or disables the zooming operation in the maps component.
     *
     * @default false
     */
    enable: boolean;
    /**
     * Enables or disables the panning operation in the maps component.
     *
     * @default true
     */
    enablePanning: boolean;
    /**
     * Enables or disables the selection zooming operation in the maps component.
     *
     * @default true
     */
    enableSelectionZooming: boolean;
    /**
     * Sets and gets the orientation of the zoom toolbar.
     *
     * @default Horizontal
     */
    toolBarOrientation: Orientation;
    /**
     * Sets and gets the color for the toolbar in maps.
     */
    color: string;
    /**
     * Sets and gets the color for the zooming toolbar when the mouse has hovered on toolbar element in maps.
     */
    highlightColor: string;
    /**
     * Sets and gets the color for the zooming toolbar when clicking the zooming toolbar in maps.
     */
    selectionColor: string;
    /**
     * Sets and gets the position type of toolbar when it is placed horizontally.
     *
     * @default Far
     */
    horizontalAlignment: Alignment;
    /**
     * Sets and gets the position type of toolbar when it is placed vertically.
     *
     * @default Near
     */
    verticalAlignment: Alignment;
    /**
     * Sets and gets the items that are to be shown in the zooming toolbar in maps.
     */
    toolbars: string[];
    /**
     * Enables or disables the mouse wheel zooming in maps.
     *
     * @default true
     */
    mouseWheelZoom: boolean;
    /**
     * Enables or disables the double click zooming in maps.
     *
     * @default false
     */
    doubleClickZoom: boolean;
    /**
     * Enables or disables the pinch zooming in maps.
     *
     * @default true
     */
    pinchZooming: boolean;
    /**
     * Enables or disables the zooming on clicking the shapes in maps.
     *
     * @default false
     */
    zoomOnClick: boolean;
    /**
     * Sets and gets the factor of zoom to be displayed while rendering the maps.
     *
     * @default 1
     */
    zoomFactor: number;
    /**
     * Sets and gets the maximum zooming value in maps.
     *
     * @default 10
     */
    maxZoom: number;
    /**
     * Sets and gets the minimum zooming value in maps.
     *
     * @default 1
     */
    minZoom: number;
    /**
     * Enables or disables the zoom based on the marker position while rendering the maps.
     */
    shouldZoomInitially: boolean;
    /**
     * Enables or disables the zoom to set the initial State.
     */
    resetToInitial: boolean;
}
/**
 * Sets and gets the settings to customize the color-mapping visibility based on the legend visibility.
 */
export  class ToggleLegendSettings extends base.ChildProperty<ToggleLegendSettings> {
    /**
     * Enables or disables the legend to be toggled.
     *
     * @default false
     */
    enable: boolean;
    /**
     * Enables or disables the property of the shape settings to be displayed while clicking the legend.
     *
     * @default true
     */
    applyShapeSettings: boolean;
    /**
     * Sets and gets the opacity for the shape for which the legend is selected.
     *
     * @default 1
     */
    opacity: number;
    /**
     * Sets and gets the color of the shape for which the legend is selected.
     *
     * @default ''
     */
    fill: string;
    /**
     * Sets and gets the options to customize the color and width of the border for the shape in maps.
     */
    border: BorderModel;
}
/**
 * Sets and gets the options to customize the legend of the maps.
 */
export  class LegendSettings extends base.ChildProperty<LegendSettings> {
    /**
     * Enables or disables to render the legend item based on the shapes from the data source of markers.
     *
     * @default false
     */
    useMarkerShape: boolean;
    /**
     * Enables or disables the toggle visibility for legend in maps.
     *
     * @default false
     */
    toggleVisibility: boolean;
    /**
     * Enables or disables the visibility state of the legend in maps.
     *
     * @default false
     */
    visible: boolean;
    /**
     * Sets and gets the background color for the legend in maps.
     *
     * @default 'transparent'
     */
    background: string;
    /**
     * Sets and gets the type of the legend in maps.
     *
     * @default Layers
     */
    type: LegendType;
    /**
     * Enables or disables the visibility of the inverted pointer in interactive legend in maps.
     */
    invertedPointer: boolean;
    /**
     * Sets and gets the position of the label in legend.
     *
     * @default After
     */
    labelPosition: LabelPosition;
    /**
     * Sets and gets the display mode for the label in legend.
     *
     * @default None
     */
    labelDisplayMode: LabelIntersectAction;
    /**
     * Sets and gets the shape of the legend in maps.
     *
     * @default Circle
     */
    shape: LegendShape;
    /**
     * Sets and gets the width of the legend in maps.
     *
     * @default ''
     */
    width: string;
    /**
     * Sets and gets the height of the legend in maps.
     *
     * @default ''
     */
    height: string;
    /**
     * Sets and gets the options for customizing the text styles for the legend in maps.
     */
    textStyle: FontModel;
    /**
     * Sets and gets the width of the shapes in legend.
     *
     * @default 15
     */
    shapeWidth: number;
    /**
     * Sets and gets the width of the shapes in legend.
     *
     * @default 15
     */
    shapeHeight: number;
    /**
     * Sets and gets the padding for the shapes in legend.
     *
     * @default 10
     */
    shapePadding: number;
    /**
     * Sets and gets the options for customizing the color and width of the legend border.
     */
    border: BorderModel;
    /**
     * Sets and gets the options for customizing the color and width of the border for the shape in legend.
     */
    shapeBorder: BorderModel;
    /**
     * Sets and gets the title for the legend in maps.
     */
    title: CommonTitleSettingsModel;
    /**
     * Sets and gets the options for customizing the style of the title for the legend in maps.
     */
    titleStyle: FontModel;
    /**
     * Sets and gets the position of the legend in maps.
     *
     * @default Bottom
     */
    position: LegendPosition;
    /**
     * Sets and gets the alignment for the legend in maps.
     *
     * @default Center
     */
    alignment: Alignment;
    /**
     * Sets and gets the orientation of the legend in maps.
     *
     * @default None
     */
    orientation: LegendArrangement;
    /**
     * Sets and gets the location of the legend, given by x and y values.
     */
    location: Point;
    /**
     * Sets and gets the color of the legend in maps.
     */
    fill: string;
    /**
     * Sets and gets the opacity for the legend in maps.
     *
     * @default 1
     */
    opacity: number;
    /**
     * Sets and gets the mode of the legend in maps. The modes available are default and interactive modes.
     *
     * @default Default
     */
    mode: LegendMode;
    /**
     * Sets and gets the path for the legend from the data source to be shown.
     *
     * @default null
     */
    showLegendPath: string;
    /**
     * Set and gets the value from the data source for legend.
     *
     * @default null
     */
    valuePath: string;
    /**
     * Enables or disables to remove the duplicate legend item.
     *
     * @default false
     */
    removeDuplicateLegend: boolean;
    /**
     * Sets and gets the options for customizing the color and width of the shape related to the legend on selecting the legend.
     */
    toggleLegendSettings: ToggleLegendSettingsModel;
}
/**
 * Sets and gets the options to customize the data-labels in maps.
 */
export  class DataLabelSettings extends base.ChildProperty<DataLabelSettings> {
    /**
     * Enables or disables the visibility of data-labels in maps.
     *
     * @default false
     */
    visible: boolean;
    /**
     * Sets and gets the options for customizing the color and width of the border for the data-labels.
     */
    border: BorderModel;
    /**
     * Sets and gets the color for the data-labels in maps.
     */
    fill: string;
    /**
     * Sets and gets the opacity for the color of the data-labels in maps.
     */
    opacity: number;
    /**
     * Sets and gets the x position for the data-labels.
     *
     * @default 10
     */
    rx: number;
    /**
     * Sets and gets the y position for the data-labels in maps.
     *
     * @default 10
     */
    ry: number;
    /**
     * Sets and gets the options for customizing the styles of the text in data-labels.
     */
    textStyle: FontModel;
    /**
     * Sets and gets the path from the data source based on which the data-labels gets rendered.
     *
     * @default ''
     */
    labelPath: string;
    /**
     * Sets and gets the label mode for the data-labels.
     *
     * @default None
     */
    smartLabelMode: SmartLabelMode;
    /**
     * Sets and gets the intersection action for the data-labels in maps.
     *
     * @default None
     */
    intersectionAction: IntersectAction;
    /**
     * Sets and gets the template for the data-labels in maps.
     *
     * @default ''
     */
    template: string;
}
/**
 * Sets and gets the options to customize the shapes in the maps.
 */
export  class ShapeSettings extends base.ChildProperty<ShapeSettings> {
    /**
     * Sets and gets the color of the shapes in maps.
     *
     * @default null
     */
    fill: string;
    /**
     * Sets and gets a set of colors for the shapes in maps.
     *
     * @default []
     */
    palette: string[];
    /**
     * Sets and gets the radius of the shape.
     */
    circleRadius: number;
    /**
     * Sets and gets the options for customizing the color and width of the border for the shapes in maps.
     */
    border: BorderModel;
    /**
     * Sets and gets the dash-array for the shapes in maps.
     */
    dashArray: string;
    /**
     * Sets and gets the opacity for the shapes in maps.
     *
     * @default 1
     */
    opacity: number;
    /**
     * Sets and gets the value path from the data source to set the color for the shapes in maps.
     *
     * @default null
     */
    colorValuePath: string;
    /**
     * Sets and gets the value path from the data source to set the color for the border of a particular shape in maps.
     *
     * @default null
     */
    borderColorValuePath: string;
    /**
     * Sets and gets the value path from the data source to set the width for the border of a particular shape in maps.
     *
     * @default null
     */
    borderWidthValuePath: string;
    /**
     * Sets and gets the value from the data source based on which the shape gets rendered.
     *
     * @default null
     */
    valuePath: string;
    /**
     * Sets and gets the options to map the color for some set of the shapes in maps.
     *
     * @default []
     */
    colorMapping: ColorMappingSettingsModel[];
    /**
     * Enables or disables the filling of color for the shapes automatically.
     *
     * @default false
     */
    autofill: boolean;
}
/**
 * Sets and gets the options to customize the marker in the maps.
 */
export  class MarkerBase extends base.ChildProperty<MarkerBase> {
    /**
     * Sets and gets the options for customizing the color and width of the border for the marker in maps.
     */
    border: BorderModel;
    /**
     * Sets and gets the dash-array for the marker.
     */
    dashArray: string;
    /**
     * Enables or disables the visibility state of the marker based on the marker data source in maps.
     *
     * @default false
     */
    visible: boolean;
    /**
     * Sets and gets the color for the marker in maps.
     *
     * @default '#FF471A'
     */
    fill: string;
    /**
     * Sets and gets the height of the marker in maps.
     *
     * @default 10
     */
    height: number;
    /**
     * Sets and gets the width of the marker in maps.
     *
     * @default 10
     */
    width: number;
    /**
     * Sets and gets the opacity for the marker in maps.
     *
     * @default 1
     */
    opacity: number;
    /**
     * Sets and gets the value path from the marker data source to apply color for the marker.
     *
     * @default null
     */
    colorValuePath: string;
    /**
     * Sets and gets the value path from the marker data source to set the shape of the marker.
     *
     * @default null
     */
    shapeValuePath: string;
    /**
     * Sets and gets the value path from the marker data source for the image of the marker.
     *
     * @default null
     */
    imageUrlValuePath: string;
    /**
     * Sets and gets the shape of the marker in maps.
     *
     * @default Balloon
     */
    shape: MarkerType;
    /**
     * Sets and gets the text for the legend from the marker data source.
     *
     * @default ''
     */
    legendText: string;
    /**
     * Sets and gets the position to move the marker by setting specific value.
     *
     */
    offset: Point;
    /**
     * Sets and gets the URL for rendering the marker as image.
     */
    imageUrl: string;
    /**
     * Sets and gets the template for the marker.
     *
     * @default null
     */
    template: string;
    /**
     * Sets and gets the data source for the marker.
     * The data source for the marker will contain latitude and longitude values to specify the location
     * of the marker.
     * The data source can contain data such as color, shape, and other details that can be bound to the color, shape,
     * and tooltip of the marker.
     *
     * @isObservable true
     * @default []
     */
    dataSource: Object[] | data.DataManager;
    /**
     * Sets and gets the query to select particular data from the marker data.
     * This property is applicable only when the data source is created by data manager.
     *
     * @default null
     */
    query: data.Query;
    /**
     * Sets and gets the options to customize the tooltip for the marker in maps.
     */
    tooltipSettings: TooltipSettingsModel;
    /**
     * Sets and gets the duration time for animating the marker.
     *
     * @default 1000
     */
    animationDuration: number;
    /**
     * Sets and gets the delay time for the animation in marker.
     *
     * @default 0
     */
    animationDelay: number;
    /**
     * Sets and gets the options to customize the marker while selecting the marker in maps.
     */
    selectionSettings: SelectionSettingsModel;
    /**
     * Sets and gets the options to customize the marker while the mouse has hovered on the marker in maps.
     */
    highlightSettings: HighlightSettingsModel;
    /**
     * Defines the value path from the marker data source for setting latitude for a set of markers.
     */
    latitudeValuePath: string;
    /**
     * Defines the value path from the marker data source for setting longitude for a set of markers.
     */
    longitudeValuePath: string;
    /**
     * To select the shape at the rendering time.
     */
    initialMarkerSelection: InitialMarkerSelectionSettingsModel[];
}
export  class MarkerSettings extends MarkerBase {
    constructor(parent: any, propName: string, defaultValue: Object, isArray?: boolean);
}
/**
 * Sets and gets the options to customize the layers of the maps.
 */
export  class LayerSettings extends base.ChildProperty<LayerSettings> {
    /**
     * Sets and gets the shape data for the maps to render.
     *
     * @isObservable true
     * @default null
     */
    shapeData: Object | data.DataManager | MapAjax;
    /**
     * Sets and gets the query to select particular data from the shape data.
     * This property is applicable only when the data source is created by data manager.
     *
     * @default null
     */
    query: data.Query;
    /**
     * Sets and gets the options to customize the shape of the maps.
     */
    shapeSettings: ShapeSettingsModel;
    /**
     * * Sets and gets the data source for the layer.
     * * The data source can contain data that can be bound to the tooltip, marker, and bubble.
     *
     * @isObservable true
     * @default []
     */
    dataSource: Object[] | data.DataManager | MapAjax;
    /**
     * Sets and gets the type of the layer in maps.
     *
     * @default Layer
     */
    type: Type;
    /**
     * Sets and gets the geometry type for the layer in maps.
     *
     * @default Geographic
     */
    geometryType: GeometryType;
    /**
     * Sets and gets the Bing map type for the layer. If you use shape data with BingMapType without using layer type as Bing,
     * then the map will render based on shape data since default layer type will be set as Geometry.
     *
     * @deprecated
     * @default Aerial
     */
    bingMapType: BingMapType;
    /**
     * Sets and gets the type of the static maps.
     *
     * @deprecated
     * @default RoadMap
     */
    staticMapType: StaticMapType;
    /**
     * Sets and gets the key for the tile map layer in maps.
     *
     * @deprecated
     * @default ''
     */
    key: string;
    /**
     * Sets and gets the type of the layer in maps. If we use layer type with shape data property in layer of the maps
     * then map will render based on the provided layer type.
     *
     * @deprecated
     * @default Geometry
     */
    layerType: ShapeLayerType;
    /**
     * Sets and gets the template for the map using the url.
     *
     * @default ''
     */
    urlTemplate: string;
    /**
     * Enables or disables the visibility state for the layers in maps.
     *
     * @default true
     */
    visible: boolean;
    /**
     * Sets and gets the path for the shape from the shape data in maps.
     *
     * @default 'name'
     */
    shapeDataPath: string;
    /**
     * Sets and gets the path for the layers from the layer data source in maps.
     *
     * @default 'name'
     */
    shapePropertyPath: string | string[];
    /**
     * Sets and gets the duration for the animation of layers in maps.
     *
     * @default 0
     */
    animationDuration: number;
    /**
     * Sets and gets the options for customizing the marker in maps.
     */
    markerSettings: MarkerSettingsModel[];
    /**
     * Sets and gets the options for customizing the cluster of markers in maps.
     */
    markerClusterSettings: MarkerClusterSettingsModel;
    /**
     * Sets and gets the options for customizing the data-label in maps.
     */
    dataLabelSettings: DataLabelSettingsModel;
    /**
     * Sets and gets the options for customizing the bubble in maps.
     */
    bubbleSettings: BubbleSettingsModel[];
    /**
     * Sets and gets the options for customizing the navigation line in maps.
     */
    navigationLineSettings: NavigationLineSettingsModel[];
    /**
     * Sets and gets the options for customizing the tooltip for the layers, markers, and bubbles in maps.
     */
    tooltipSettings: TooltipSettingsModel;
    /**
     * Sets and gets the options for customizing the shapes when clicking the shapes in maps.
     */
    selectionSettings: SelectionSettingsModel;
    /**
     * Sets and gets the options for customizing the shapes when the mouse has hovered on maps.
     */
    highlightSettings: HighlightSettingsModel;
    /**
     * Sets and gets the options for customizing the toggle state of shapes when selecting the legend in maps.
     */
    toggleLegendSettings: ToggleLegendSettingsModel;
    /**
     * Sets and gets the settings for shapes that is selected at the time of rendering.
     */
    initialShapeSelection: InitialShapeSelectionSettingsModel[];
    /** @private */
    layerData: Object[];
    /**
     * @private
     */
    isBaseLayer: boolean;
    /**
     * @private
     */
    factor: number;
    /**
     * @private
     */
    layerBounds: GeoLocation;
    /**
     * @private
     */
    rectBounds: Object;
    /**
     * @private
     */
    translatePoint: Point;
}
/**
 * Internal use for bing type layer rendering
 */
export  class Tile {
    x: number;
    y: number;
    top: number;
    left: number;
    height: number;
    width: number;
    src: string;
    constructor(x: number, y: number, height?: number, width?: number, top?: number, left?: number, src?: string);
}
/**
 * Sets and gets the maps area settings
 */
export  class MapsAreaSettings extends base.ChildProperty<MapsAreaSettings> {
    /**
     * Sets and gets the background color for the map area.
     */
    background: string;
    /**
     * Sets and gets the options for customizing the color and width of the border of maps area.
     */
    border: BorderModel;
}
//node_modules/@syncfusion/ej2-maps/src/maps/model/constants.d.ts
/**
 * Maps constants doc
 */
/**
 * Specifies the maps load event name.
 *
 * @private
 */
export  const load: string;
/**
 * Specifies the maps loaded event name.
 *
 * @private
 */
export  const loaded: string;
/**
 * Specifies the maps click event name.
 *
 * @private
 */
export  const click: string;
/**
 * Specifies the maps onclick event name.
 *
 * @private
 */
export  const onclick: string;
/**
 * Specifies the maps right click event name.
 *
 * @private
 */
export  const rightClick: string;
/**
 * Specifies the maps double click event name.
 *
 * @private
 */
export  const doubleClick: string;
/**
 * Specifies the maps resize event name.
 *
 * @private
 */
export  const resize: string;
/**
 * Specifies the maps tooltip event name.
 *
 */
export  const tooltipRender: string;
/**
 * Specifies the map shape selected event.
 *
 */
export  const shapeSelected: string;
/**
 * Specifies the maps shape highlight event.
 *
 */
export  const shapeHighlight: string;
/**
 * Specifies the maps mouse move event name.
 *
 * @private
 */
export  const mousemove: string;
/**
 * Specifies the maps mouse up event name.
 *
 * @private
 */
export  const mouseup: string;
/**
 * Specifies the maps mouse down event name.
 *
 * @private
 */
export  const mousedown: string;
/**
 * Specifies the maps layer rendering event name.
 *
 * @private
 */
export  const layerRendering: string;
/**
 * Specifies the maps shape rendering event name.
 *
 * @private
 */
export  const shapeRendering: string;
/**
 * Specifies the maps marker rendering event name.
 *
 * @private
 */
export  const markerRendering: string;
/**
 * Specifies the maps cluster rendering event name.
 *
 * @private
 */
export  const markerClusterRendering: string;
/**
 * Specifies the maps marker click event name.
 *
 * @private
 */
export  const markerClick: string;
/**
 * Specifies the maps cluster click event name.
 *
 * @private
 */
export  const markerClusterClick: string;
/**
 * Specifies the maps marker mouse move event name.
 *
 * @private
 */
export  const markerMouseMove: string;
/**
 * Specifies the maps cluster mouse move event name.
 *
 * @private
 */
export  const markerClusterMouseMove: string;
/**
 * Specifies the maps data label rendering event name.
 *
 * @private
 */
export  const dataLabelRendering: string;
/**
 * Specifies the maps bubbleRendering event name.
 *
 * @private
 */
export  const bubbleRendering: string;
/**
 * Specifies the maps bubble click event name.
 *
 * @private
 */
export  const bubbleClick: string;
/**
 * Specifies the maps bubble mouse move event name.
 *
 * @private
 */
export  const bubbleMouseMove: string;
/**
 * Specifies the maps animation complete event name.
 *
 * @private
 */
export  const animationComplete: string;
/**
 * Specifies the maps legend rendering event name.
 *
 * @private
 */
export  const legendRendering: string;
/**
 * Specifies the maps annotation rendering event name.
 *
 * @private
 */
export  const annotationRendering: string;
/**
 * Specifies the maps item selection event name.
 *
 * @private
 */
export  const itemSelection: string;
/**
 * Specifies the maps item highlight event name.
 *
 */
export  const itemHighlight: string;
/**
 * Specifies the maps before print event name.
 *
 */
export  const beforePrint: string;
/**
 * Specifies the maps zoom in event name.
 *
 */
export  const zoomIn: string;
/**
 * Specifies the maps zoom out event name.
 *
 */
export  const zoomOut: string;
/**
 * Specifies the maps pan event name.
 *
 */
export  const pan: string;
//node_modules/@syncfusion/ej2-maps/src/maps/model/export-image.d.ts
/**
 * This module1 enables the export to Image functionality in Maps control.
 *
 * @hidden
 */
export  class ImageExport {
    /**
     * Constructor for Maps
     *
     * @param {Maps} control - Specifies the instance of the map
     */
    constructor(control: Maps);
    /**
     * To export the file as image/svg format
     *
     * @param {ExportType} type - Specifies the type of the image file
     * @param {string} fileName - Specifies the file name of the image file
     * @param {boolean} allowDownload - Specifies whether to download image as a file or not.
     * @returns {Promise<string>} - Returns the promise string.
     * @private
     */
    export(maps: Maps, type: ExportType, fileName: string, allowDownload?: boolean): Promise<string>;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name
     */
    protected getModuleName(): string;
    /**
     * To destroy the ImageExport.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-maps/src/maps/model/export-pdf.d.ts
/**
 * This module11 enables the export to PDF functionality in Maps control.
 *
 * @hidden
 */
export  class PdfExport {
    /**
     * Constructor for Maps
     *
     * @param {Maps} control Specifies the instance of the map
     */
    constructor();
    /**
     * To export the file as image/svg format
     *
     * @param {ExportType} type - Specifies the type of the document
     * @param {string} fileName - Specifies the file name of the document
     * @param {boolean} allowDownload - Specifies whether to download the document or not
     * @param {pdfExport.PdfPageOrientation} orientation - Specifies the orientation of the PDF document to export the component
     * @returns {Promise<string>} - Returns the promise string
     * @private
     */
    export(maps: Maps, type: ExportType, fileName: string, allowDownload?: boolean, orientation?: pdfExport.PdfPageOrientation): Promise<string>;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name
     */
    protected getModuleName(): string;
    /**
     * To destroy the PdfExport.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-maps/src/maps/model/interface.d.ts
/**
 * Maps interfaces doc
 */
/**
 * Specifies the event arguments for the maps component.
 *
 * @private
 */
export interface IMapsEventArgs {
    /** Defines the name of the event. */
    name: string;
    /** Specifies the cancel state for the event. The default value is false. If set as true, the event progress will be stopped. */
    cancel: boolean;
}
/**
 * Specifies the event arguments for print event in maps.
 */
export interface IPrintEventArgs extends IMapsEventArgs {
    /**
     * Specifies the html content that is printed. The html content returned is usually the id string of the maps.
     */
    htmlContent: Element;
}
/**
 * Specifies the event arguments for load event in maps.
 */
export interface ILoadedEventArgs extends IMapsEventArgs {
    /** Defines the current maps instance.
     *
     * @deprecated
     */
    maps?: Maps;
    /** Defines the isResized argument.
     */
    isResized: boolean;
}
/**
 * Specifies the event argument load event in maps.
 */
export interface ILoadEventArgs extends IMapsEventArgs {
    /** Defines the current maps instance.
     *
     * @deprecated
     */
    maps?: Maps;
}
/**
 * Specifies the event arguments for the data-label event in maps.
 */
export interface IDataLabelArgs extends IMapsEventArgs {
    /** Defines the current maps instance.
     *
     * @deprecated
     */
    maps: Maps;
    /**
     * Defines the labels in maps.
     */
    dataLabel: DataLabelSettingsModel;
}
/**
 * Specifies the event arguments for mouse move event in maps.
 */
export interface IMouseEventArgs extends IMapsEventArgs {
    /** Defines the current mouse event target id */
    target: string;
    /** Defines the current mouse x location. */
    x: number;
    /** Defines the current mouse y location. */
    y: number;
    /** Defines the current latitude value of maps location */
    latitude?: number;
    /** Defines the current longitude value of maps location */
    longitude?: number;
    /** Specifies whether the shape is selected or not in the Map */
    isShapeSelected?: boolean;
}
/**
 * Specifies the current position in maps.
 */
export interface GeoPosition {
    /** Specifies the current latitude value for the maps location. */
    latitude?: number;
    /** Specifies the current longitude value for the maps location. */
    longitude?: number;
}
/**
 * Specifies the event arguments for tooltip render event in maps.
 */
export interface ITooltipRenderCompleteEventArgs extends IMapsEventArgs {
    /** Defines the current map instance.
     *
     * @deprecated
     */
    maps?: Maps;
    /**
     * Define the current tooltip element.
     */
    element: Element;
    /**
     * Define the tooltip options.
     */
    options: Object;
}
/**
 * Specifies the event arguments for the resize event in maps.
 */
export interface IResizeEventArgs extends IMapsEventArgs {
    /** Defines the previous size of the maps before the resize event. */
    previousSize: Size;
    /** Defines the current size of the maps after the resize event. */
    currentSize: Size;
    /** Defines the current maps instance.
     *
     * @deprecated
     */
    maps: Maps;
}
/** @private */
export interface IFontMapping {
    size?: string;
    color?: string;
    fontWeight?: string;
    fontStyle?: string;
    fontFamily?: string;
}
/** @private */
export interface MapsTooltipOption {
    location?: svgBase.ToolLocationModel;
    text?: string[];
    data?: Object;
    textStyle?: svgBase.TextStyleModel;
    template?: string;
}
/**
 * Specifies the event arguments for tooltip render event in maps.
 */
export interface ITooltipRenderEventArgs extends IMapsEventArgs {
    /** Defines the current maps instance.
     *
     * @deprecated
     */
    maps?: Maps;
    /**
     * Define the content of the tooltip.
     */
    content?: string | HTMLElement;
    /**
     * Define the tooltip options.
     */
    options?: Object;
    /**
     * Defines the style of text for the tooltip in event argument.
     */
    textStyle?: FontModel;
    /**
     * Defines the color and width of the border for the tooltip in event argument.
     */
    border?: BorderModel;
    /**
     * Defines the color for the tooltip in event argument.
     */
    fill?: string;
    /**
     * Defines the data in tooltip.
     */
    data?: Object;
    /**
     * Defines the current tooltip element.
     */
    element: Element;
    /**
     * Defines the original event arguments.
     */
    eventArgs?: PointerEvent;
}
/**
 * Specifies the event arguments for item selection event in maps.
 */
export interface ISelectionEventArgs extends IMapsEventArgs {
    /** Defines the current maps instance.
     *
     * @deprecated
     */
    maps?: Maps;
    /**
     * Defines the color while selecting the shape in maps.
     */
    fill?: string;
    /**
     * Defines the opacity for the selected shape.
     */
    opacity?: number;
    /**
     * Defines the color and width of the border for the selected shape in maps.
     */
    border?: BorderModel;
    /**
     * Defines current mouse event target id.
     */
    target?: string;
    /**
     * Defines the shape data for the maps.
     */
    shapeData?: Object;
    /**
     * Defines the data from the data source.
     */
    data?: Object;
}
/**
 * Specifies the event arguments for shape selected event in maps.
 */
export interface IShapeSelectedEventArgs extends IMapsEventArgs {
    /** Defines the current maps instance.
     *
     * @deprecated
     */
    maps?: Maps;
    /**
     * Defines the color for the selected shape in maps.
     */
    fill?: string;
    /**
     * Defines the opacity for the selected shape in maps.
     */
    opacity?: number;
    /**
     * Defines the color and width of the border for the selected element in maps.
     */
    border?: BorderModel;
    /**
     * Defines the shapeData for the currently clicked shape.
     */
    shapeData?: Object;
    /**
     * Defines the data source for the currently clicked shape.
     */
    data?: Object;
    /** Defines the id string of current mouse event target. */
    target?: string;
    /**
     * Returns the shape details which are in selected state during multi-selection
     */
    shapeDataCollection?: Object;
}
/** @private */
export interface ITouches {
    pageX?: number;
    pageY?: number;
    pointerId?: number;
}
/** @private */
export interface IShapes {
    renderOption?: Object;
    functionName?: string;
}
/**
 * Specifies the event arguments for layer rendering event in maps.
 */
export interface ILayerRenderingEventArgs extends IMapsEventArgs {
    /**
     * Defines the layer index in event argument.
     */
    index?: number;
    /**
     * Defines the maps instance in event argument.
     *
     * @deprecated
     */
    maps?: Maps;
    /**
     * Defines the options to customize the layers in event argument.
     *
     * @deprecated
     */
    layer?: LayerSettingsModel;
    /**
     * Enables or disables the visibility of layer in event argument.
     */
    visible?: boolean;
}
/**
 * Specifies the event arguments in shape rendering event in maps.
 */
export interface IShapeRenderingEventArgs extends IMapsEventArgs {
    /**
     * Defines the index value of shape rendering in the map.
     */
    index?: number;
    /**
     * Defines the maps instance in event argument.
     *
     * @deprecated
     */
    maps?: Maps;
    /**
     * Defines the current shape settings in event argument.
     */
    shape?: ShapeSettingsModel;
    /**
     * Defines the color for the current shape in event argument.
     */
    fill?: string;
    /**
     * Defines the color and width of the border for the current shape in event argument.
     */
    border?: BorderModel;
    /**
     * Defines the data for the shape from the data source in event argument.
     */
    data?: Object;
}
/**
 * Specifies the event arguments in marker rendering event in maps.
 */
export interface IMarkerRenderingEventArgs extends IMapsEventArgs {
    /**
     * Defines the maps instance in event argument.
     *
     * @deprecated
     */
    maps?: Maps;
    /**
     * Defines the marker instance.
     */
    marker?: MarkerSettingsModel;
    /**
     * Defines the color for the marker in event argument.
     */
    fill?: string;
    /**
     * Defines the height of the marker in event argument.
     */
    height?: number;
    /**
     * Defines the width of the marker.
     */
    width?: number;
    /**
     * Defines the shape of the marker.
     */
    shape?: MarkerType;
    /**
     * Defines the URL path for the marker when rendered as image.
     */
    imageUrl?: string;
    /**
     * Defines the template of the marker.
     */
    template?: string;
    /**
     * Defines the color and width of the border for the marker.
     */
    border?: BorderModel;
    /**
     * Defines the marker data from the marker data source in maps.
     */
    data?: Object;
    /**
     * Defines the value path of marker color from the marker data source.
     */
    colorValuePath?: string;
    /**
     * Defines the value path of marker shape from the marker data source.
     */
    shapeValuePath?: string;
    /**
     * Defines the value path of marker image from the marker data source.
     */
    imageUrlValuePath?: string;
}
/**
 * Specifies the event arguments for marker cluster rendering event in maps.
 */
export interface IMarkerClusterRenderingEventArgs extends IMapsEventArgs {
    /**
     * Defines the maps instance event argument.
     *
     * @deprecated
     */
    maps?: Maps;
    /**
     * Defines the marker cluster instance.
     */
    cluster?: MarkerClusterSettingsModel;
    /**
     * Defines the color for the marker cluster.
     */
    fill?: string;
    /**
     * Defines the height for the marker cluster.
     */
    height?: number;
    /**
     * Defines the width for the marker cluster.
     */
    width?: number;
    /**
     * Defines the shape for the marker cluster.
     */
    shape?: MarkerType;
    /**
     * Defines the URL path for rendering image as marker cluster.
     */
    imageUrl?: string;
    /**
     * Defines the color and width of the border for the marker cluster.
     */
    border?: BorderModel;
    /**
     * Defines the data for the marker cluster in maps.
     */
    data?: Object;
}
/**
 * Specifies the event arguments for marker click event in maps.
 */
export interface IMarkerClickEventArgs extends IMouseEventArgs {
    /**
     * Defines the maps instance event argument.
     *
     * @deprecated
     */
    maps?: Maps;
    /**
     * Defines the marker instance in event argument.
     */
    marker?: MarkerSettingsModel;
    /**
     * Defines the name for a marker.
     */
    value: string;
    /**
     * Defines the marker data for the marker that is clicked.
     */
    data?: Object;
}
/**
 * Specifies the event arguments for marker move event in maps.
 */
export interface IMarkerMoveEventArgs extends IMouseEventArgs {
    /**
     * Defines the maps instance event argument.
     *
     * @deprecated
     */
    maps?: Maps;
    /**
     * Defines the data of the marker in event argument.
     */
    data?: Object;
}
/**
 * Specifies the event arguments for the cluster click event in maps.
 */
export interface IMarkerClusterClickEventArgs extends IMouseEventArgs {
    /**
     * Defines the currently clicked marker data.
     */
    data?: Object;
    /**
     * Defines the maps instance event argument.
     *
     * @deprecated
     */
    maps?: Maps;
    /**
     * Defines the collection of markers in a cluster.
     */
    markerClusterCollection?: Object;
}
/**
 * Specifies the event arguments for marker cluster move event in maps.
 */
export interface IMarkerClusterMoveEventArgs extends IMouseEventArgs {
    /**
     * Defines the maps instance event argument.
     *
     * @deprecated
     */
    maps?: Maps;
    /**
     * Defines the data of the cluster of marker in event argument.
     */
    data?: Object;
}
/**
 * Specifies the event argument for label rendering event in maps.
 */
export interface ILabelRenderingEventArgs extends IMapsEventArgs {
    /**
     * Defines the maps instance event argument.
     *
     * @deprecated
     */
    maps?: Maps;
    /**
     * Defines the text for the data-label in event argument.
     */
    text: string;
    /**
     * Defines the right and left position of text for the data-label in event argument.
     */
    offsetX: number;
    /**
    * Defines the top and bottom position of text for the data-label in event argument.
    */
    offsetY: number;
    /**
     * Defines the color and width of the border for the data-label in event argument.
     */
    border: BorderModel;
    /**
     * Defines the color for the data-label in event argument.
     */
    fill: string;
    /**
     * Defines the template for the data-label.
     */
    template: string;
    /**
     * Defines the instance of the data-label in event argument.
     */
    datalabel?: DataLabelSettingsModel;
}
/**
 * Specifies the event arguments for bubble rendering event in maps.
 */
export interface IBubbleRenderingEventArgs extends IMapsEventArgs {
    /**
     * Defines the maps instance event argument.
     *
     * @deprecated
     */
    maps?: Maps;
    /**
     * Defines the color for the bubble in event argument.
     */
    fill?: string;
    /**
     * Defines the color and width of the border for the bubble in event argument.
     */
    border?: BorderModel;
    /**
     * Defines the center x position for the current bubble.
     */
    cx?: number;
    /**
     * Defines the center Y position for the current bubble.
     */
    cy?: number;
    /**
     * Defines the radius for the current bubble.
     */
    radius?: number;
    /**
     * Defines the data for the current bubble.
     */
    data?: Object;
}
/**
 * Specifies the event argument for bubble click event in maps.
 */
export interface IBubbleClickEventArgs extends IMouseEventArgs {
    /**
     * Defines the maps instance in event argument.
     *
     * @deprecated
     */
    maps?: Maps;
    /**
     * Defines the current data for the bubble in event argument.
     */
    data?: Object;
}
/**
 * Specifies the event argument for bubble mouse move event in maps.
 */
export interface IBubbleMoveEventArgs extends IMouseEventArgs {
    /**
     * Defines the maps instance event argument.
     *
     * @deprecated
     */
    maps?: Maps;
    /**
     * Defines the data for the current bubble on which the mouse has hovered in event argument.
     */
    data?: Object;
}
/**
 * Specifies the event arguments for animation complete event in maps.
 */
export interface IAnimationCompleteEventArgs extends IMapsEventArgs {
    /**
     * Defines the maps instance event argument.
     *
     * @deprecated
     */
    maps?: Maps;
    /**
     * Defines the type of animation element in event argument.
     */
    element: string;
}
/**
 * Specifies the event arguments for the legend rendering event in maps.
 */
export interface ILegendRenderingEventArgs extends IMapsEventArgs {
    /**
     * Defines the maps instance event argument.
     *
     * @deprecated
     */
    maps?: Maps;
    /**
     * Defines the color for the shape of legend in event argument.
     */
    fill?: string;
    /**
     * Defines the options for customizing the color and width of the shape in legend.
     */
    shapeBorder?: BorderModel;
    /**
     * Defines the shape of the legend in maps.
     */
    shape?: LegendShape;
    /**
     * Defines the text for legend.
     */
    text?: string | string[];
}
/**
 * Specifies the event arguments for annotation rendering event in maps.
 */
export interface IAnnotationRenderingEventArgs extends IMapsEventArgs {
    /**
     * Defines the maps instance in event argument.
     *
     * @deprecated
     */
    maps?: Maps;
    /**
     * Defines the content for annotation in maps.
     */
    content?: string;
    /**
     * Specifies the annotation instance.
     */
    annotation?: Annotation;
}
/**
 * Specifies the event arguments for the pan event in maps.
 */
export interface IMapPanEventArgs extends IMapsEventArgs {
    /**
     * Defines the maps instance in event argument.
     *
     * @deprecated
     */
    maps?: Maps;
    /**
     * Defines the tile map translate point.
     */
    tileTranslatePoint?: Object;
    /**
     * Defines the translate point of the geometry map.
     */
    translatePoint?: Object;
    /**
     * Defines the zoom level for the tile map.
     */
    tileZoomLevel?: number;
    /**
     * Defines the scale value for the maps.
     */
    scale?: number;
    /**
     * Defines the latitude value of maps on pan event.
     */
    latitude: number;
    /**
     * Defines the longitude value of maps on pan event.
     */
    longitude: number;
}
/**
 * Specifies the event arguments for zoom event in maps.
 */
export interface IMapZoomEventArgs extends IMapsEventArgs {
    /**
     * Defines the maps instance event argument.
     *
     * @deprecated
     */
    maps?: Maps;
    /**
     * Defines the type of zoom interaction.
     */
    type: string;
    /**
     * Defines the tile translate point.
     */
    tileTranslatePoint?: Object;
    /**
     * Defines the translate point of geometry map.
     */
    translatePoint?: Object;
    /**
     * Defines the zoom level for the tile maps.
     */
    tileZoomLevel?: Object;
    /**
     * Defines the scale value for the maps.
     */
    scale?: Object;
}
/** @private */
/**
 * Specifies the theme style for maps.
 */
export interface IThemeStyle {
    /** Specifies the background color for the maps based on theme style. */
    backgroundColor: string;
    /** Specifies the area background color for the maps based on theme style */
    areaBackgroundColor: string;
    /** Specifies the font color for the title of maps. */
    titleFontColor: string;
    /** Specifies the font color for the sub title of the maps. */
    subTitleFontColor: string;
    /** Specifies the font color for the title of legend in maps. */
    legendTitleFontColor: string;
    /** Specifies the color for the legend text in maps. */
    legendTextColor: string;
    /** Specifies the font color for the label in maps. */
    dataLabelFontColor: string;
    /** Specifies the font color for the tooltip in maps. */
    tooltipFontColor: string;
    /** Specifies the color of the tooltip in maps. */
    tooltipFillColor: string;
    /** Specifies the color for the zoom in maps. */
    zoomFillColor: string;
    /** Specifies the font-family for the maps. */
    fontFamily?: string;
    /** Specifies the font size for the title in maps. */
    titleFontSize?: string;
    /** Specifies the opacity for the tooltip in maps. */
    tooltipFillOpacity?: number;
    /** Specifies the text opacity for the tooltip in maps. */
    tooltipTextOpacity?: number;
    /** Specifies the font size for the legend in maps. */
    legendFontSize?: string;
    /** Specifies the font-family for the data label in maps. */
    labelFontFamily?: string;
    /** Specifies the font-weight for the data label in maps. */
    titleFontWeight?: string;
    /** Specifies the hover color for the zoom toolbar buttons in maps. */
    zoomSelectionColor?: string;
    /** Specifies the color for the shapes in the maps. */
    shapeFill?: string;
}
/**
 * Defines the template for the marker.
 */
export interface IDataTemplate {
    /** Defines the latitude value for the template. */
    latitude?: number;
    /** Defines the longitude value for the template. */
    longitude?: number;
    /** Defines the name of a marker or data-label. */
    name?: string;
    /** Defines the continent name for data-label. */
    continent?: string;
    /** Defines the admin name for data-label. */
    admin?: string;
    /** Defines the population of bubble. */
    Population?: number;
    /** Defines the name of country. */
    Country?: string;
    /** Defines the Text of any string. */
    text?: string[];
}
//node_modules/@syncfusion/ej2-maps/src/maps/model/print.d.ts
/**
 * This module enables the print functionality in maps.
 *
 * @hidden
 */
export  class Print {
    /**
     * Constructor for Maps
     *
     * @param {Maps} control - Specifies the instance of the map
     */
    constructor(control: Maps);
    /**
     * To print the Maps
     *
     * @param {string[] | string | Element} elements - Specifies the element
     * @returns {void}
     * @private
     */
    print(maps: Maps, elements?: string[] | string | Element): void;
    /**
     * To get the html string of the Maps
     *
     * @param {string[] | string | Element} elements - Specifies the html element
     * @returns {Element} - Returns the div element
     * @private
     */
    private getHTMLContent;
    /**
     * Get module name.
     *
     * @returns {string} Returns the module name
     */
    protected getModuleName(): string;
    /**
     * To destroy the print.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-maps/src/maps/model/theme.d.ts
/**
 * Maps Themes doc
 */
/**
 * Specifies Maps Themes
 */
export  namespace Theme {
    /** @private */
    const mapsTitleFont: IFontMapping;
    /** @private */
    const mapsSubTitleFont: IFontMapping;
    /** @private */
    const tooltipLabelFont: IFontMapping;
    /** @private */
    const legendTitleFont: IFontMapping;
    /** @private */
    const legendLabelFont: IFontMapping;
    /** @private */
    const dataLabelFont: IFontMapping;
}
export  namespace FabricTheme {
    /** @private */
    const mapsTitleFont: IFontMapping;
    /** @private */
    const mapsSubTitleFont: IFontMapping;
    /** @private */
    const tooltipLabelFont: IFontMapping;
    /** @private */
    const legendTitleFont: IFontMapping;
    /** @private */
    const legendLabelFont: IFontMapping;
    /** @private */
    const dataLabelFont: IFontMapping;
}
export  namespace BootstrapTheme {
    /** @private */
    const mapsTitleFont: IFontMapping;
    /** @private */
    const mapsSubTitleFont: IFontMapping;
    /** @private */
    const tooltipLabelFont: IFontMapping;
    /** @private */
    const legendTitleFont: IFontMapping;
    /** @private */
    const legendLabelFont: IFontMapping;
    /** @private */
    const dataLabelFont: IFontMapping;
}
/**
 * Internal use of Method to getting colors based on themes.
 *
 * @private
 * @param {MapsTheme} theme Specifies the theme of the maps
 * @returns {string[]} Returns the shape color
 */
export  function getShapeColor(theme: MapsTheme): string[];
/**
 * HighContrast Theme configuration
 */
export  namespace HighContrastTheme {
    /** @private */
    const mapsTitleFont: IFontMapping;
    /** @private */
    const mapsSubTitleFont: IFontMapping;
    /** @private */
    const tooltipLabelFont: IFontMapping;
    /** @private */
    const legendTitleFont: IFontMapping;
    /** @private */
    const legendLabelFont: IFontMapping;
    /** @private */
    const dataLabelFont: IFontMapping;
}
/**
 * Dark Theme configuration
 */
export  namespace DarkTheme {
    /** @private */
    const mapsTitleFont: IFontMapping;
    /** @private */
    const mapsSubTitleFont: IFontMapping;
    /** @private */
    const tooltipLabelFont: IFontMapping;
    /** @private */
    const legendTitleFont: IFontMapping;
    /** @private */
    const legendLabelFont: IFontMapping;
}
/**
 * Method to get the theme style
 *
 * @param {MapsTheme} theme - Specifies the theme.
 * @returns {IThemeStyle} - Returns the theme style.
 */
export  function getThemeStyle(theme: MapsTheme): IThemeStyle;
//node_modules/@syncfusion/ej2-maps/src/maps/user-interaction/annotation.d.ts
/**
 * Represents the annotation elements for map.
 */
export  class Annotations {
    private map;
    constructor(map: Maps);
    renderAnnotationElements(): void;
    /**
     * To create annotation elements
     */
    createAnnotationTemplate(parentElement: HTMLElement, annotation: Annotation, annotationIndex: number): void;
    protected getModuleName(): string;
    /**
     * To destroy the annotation.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-maps/src/maps/user-interaction/highlight.d.ts
/**
 * Highlight module class
 */
export  class Highlight {
    private maps;
    /**
     * @private
     */
    highlightSettings: HighlightSettingsModel;
    constructor(maps: Maps);
    /**
     * To bind events for highlight module
     *
     * @returns {void}
     */
    private addEventListener;
    /**
     * To unbind events for highlight module
     *
     * @returns {void}
     */
    private removeEventListener;
    /**
     * Public method for highlight module
     */
    addHighlight(layerIndex: number, name: string, enable: boolean): void;
    private mouseMove;
    /**
     * @private
     */
    handleHighlight(targetElement: Element, layerIndex: number, data: any, shapeData: any): void;
    private mapHighlight;
    private highlightMap;
    /**
     * Get module name.
     *
     * @returns {string} - Specifies the module name
     */
    protected getModuleName(): string;
    /**
     * To destroy the highlight.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-maps/src/maps/user-interaction/selection.d.ts
/**
 * Selection module class
 */
export  class Selection {
    private maps;
    /**
     * @private
     */
    selectionsettings: SelectionSettingsModel;
    /**
     * @private
     */
    selectionType: string;
    constructor(maps: Maps);
    /**
     * For binding events to selection module
     *
     * @returns {void}
     */
    private addEventListener;
    /**
     * For removing events from selection modue
     *
     * @returns {void}
     */
    private removeEventListener;
    private mouseClick;
    /**
     * @private
     */
    selectElement(targetElement: Element, layerIndex: number, data: any, shapeData: any): void;
    /**
     * Public method for selection
     */
    addSelection(layerIndex: number, name: string, enable: boolean): void;
    /**
     * Method for selection
     *
     * @param {Element} targetElement - Specifies the target element
     * @param {any} shapeData - Specifies the shape data
     * @param {any} data - Specifies the data
     * @returns {void}
     */
    private selectMap;
    /**
     * Remove legend selection
     */
    /**
     * Get module name.
     *
     * @param {Element} targetElement - Specifies the target element
     * @returns {void}
     * @private
     */
    removedSelectionList(targetElement: Element): void;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name
     */
    protected getModuleName(): string;
    /**
     * To destroy the selection.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-maps/src/maps/user-interaction/tooltip.d.ts
/**
 * Map svgBase.Tooltip
 */
export  class MapsTooltip {
    private maps;
    /**
     * @private
     */
    svgTooltip: svgBase.Tooltip;
    private isTouch;
    private tooltipId;
    private clearTimeout;
    tooltipTargetID: string;
    constructor(maps: Maps);
    renderTooltip(e: PointerEvent): void;
    /**
     * To get content for the current toolitp
     *
     * @param {TooltipSettingsModel} options - Specifies the options for rendering tooltip
     * @param {any} templateData - Specifies the template data
     * @returns {any} - Returns the local data
     */
    private setTooltipContent;
    private formatter;
    mouseUpHandler(e: PointerEvent): void;
    removeTooltip(): boolean;
    private clearTooltip;
    /**
     * To bind events for tooltip module
     */
    addEventListener(): void;
    removeEventListener(): void;
    /**
     * Get module name.
     *
     * @returns {string} Returns the module name
     */
    protected getModuleName(): string;
    /**
     * To destroy the tooltip.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-maps/src/maps/user-interaction/zoom.d.ts
/**
 * Zoom module used to process the zoom for maps
 */
export  class Zoom {
    private maps;
    toolBarGroup: Element;
    private currentToolbarEle;
    zoomingRect: Rect;
    selectionColor: string;
    private fillColor;
    private zoomElements;
    private panElements;
    isPanning: boolean;
    mouseEnter: boolean;
    baseTranslatePoint: Point;
    private wheelEvent;
    private cancelEvent;
    currentScale: number;
    isTouch: boolean;
    rectZoomingStart: boolean;
    touchStartList: ITouches[] | TouchList;
    touchMoveList: ITouches[] | TouchList;
    previousTouchMoveList: ITouches[] | TouchList;
    mouseDownPoints: Point;
    mouseMovePoints: Point;
    isDragZoom: boolean;
    currentLayer: LayerSettings;
    private panColor;
    zoomColor: string;
    browserName: string;
    isPointer: Boolean;
    private handled;
    private fingers;
    firstMove: boolean;
    private interaction;
    private lastScale;
    private pinchFactor;
    private startTouches;
    private zoomshapewidth;
    private index;
    intersect: any[];
    private templateCount;
    private distanceX;
    private distanceY;
    mouseDownLatLong: any;
    mouseMoveLatLong: any;
    /**
     * @private
     */
    isSingleClick: boolean;
    /** @private */
    layerCollectionEle: Element;
    constructor(maps: Maps);
    /**
     * To perform zooming for maps
     *
     * @param {Point} position - Specifies the position.
     * @param {number} newZoomFactor - Specifies the zoom factor.
     * @param {string} type - Specifies the type.
     * @returns {void}
     */
    performZooming(position: Point, newZoomFactor: number, type: string): void;
    private calculateInitalZoomTranslatePoint;
    private triggerZoomEvent;
    private getTileTranslatePosition;
    performRectZooming(): void;
    private setInteraction;
    private updateInteraction;
    performPinchZooming(e: PointerEvent | TouchEvent): void;
    drawZoomRectangle(): void;
    /**
     * To animate the zooming process
     *
     * @param {Element} element - Specifies the element
     * @param {boolean} animate - Specifies the boolean value
     * @param {number} x - Specifies the x value
     * @param {number} y - Specifies the y value
     * @param {number} scale - Specifies the scale value
     * @returns {void}
     */
    private animateTransform;
    applyTransform(maps: Maps, animate?: boolean): void;
    private markerTranslates;
    /**
     * To translate the layer template elements
     *
     * @param {number} x - Specifies the x value
     * @param {number} y - Specifies the y value
     * @param {number} scale - Specifies the scale value
     * @param {Maps} maps - Specifies the maps value
     * @returns {void}
     * @private
     */
    processTemplate(x: number, y: number, scale: number, maps: Maps): void;
    private dataLabelTranslate;
    private markerTranslate;
    private markerLineAnimation;
    /**
     * @private
     */
    panning(direction: PanDirection, xDifference: number, yDifference: number, mouseLocation?: PointerEvent | TouchEvent | KeyboardEvent): void;
    private toAlignSublayer;
    toolBarZooming(zoomFactor: number, type: string): void;
    createZoomingToolbars(): void;
    performToolBarAction(e: PointerEvent): void;
    /**
     * @param {string} type - Specifies the type.
     * @returns {void}
     * @private
     */
    performZoomingByToolBar(type: string): void;
    private panningStyle;
    private applySelection;
    showTooltip(e: PointerEvent): void;
    removeTooltip(): void;
    alignToolBar(): void;
    /**
     * To bind events.
     *
     * @param {Element} element - Specifies the element.
     * @param {any} process - Specifies the process.
     * @returns {void}
     * @private
     */
    wireEvents(element: Element, process: any): void;
    mapMouseWheel(e: WheelEvent): void;
    doubleClick(e: PointerEvent): void;
    mouseDownHandler(e: PointerEvent | TouchEvent): void;
    mouseMoveHandler(e: PointerEvent | TouchEvent): void;
    mouseUpHandler(e: PointerEvent | TouchEvent): void;
    mouseCancelHandler(e: PointerEvent): void;
    /**
     * To handle the click event for maps.
     *
     * @param {PointerEvent} e - Specifies the pointer event.
     * @returns {void}
     */
    click(e: PointerEvent): void;
    getMousePosition(pageX: number, pageY: number): Point;
    addEventListener(): void;
    removeEventListener(): void;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the zoom.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-maps/src/maps/utils/enum.d.ts
/**
 * Maps enum doc
 */
/**
 * Defines the alignment for the elements in map.
 */
export  type Alignment = 
/** Specifies the element to be placed near the maps. */
'Near' | 
/** Specifies the element to be placed at the center of the maps. */
'Center' | 
/** Specifies the element to be placed far from the maps. */
'Far';
/**
 * Defines the theme supported for maps.
 */
export  type MapsTheme = 
/** Renders a map with material theme. */
'Material' | 
/** Renders a map with fabric theme. */
'Fabric' | 
/** Renders a map with highcontrast light theme. */
'HighContrastLight' | 
/** Renders a map with bootstrap theme. */
'Bootstrap' | 
/** Renders a map with material dark theme. */
'MaterialDark' | 
/** Renders a map with fabric dark theme. */
'FabricDark' | 
/** Renders a map with highcontrast dark theme. */
'HighContrast' | 
/** Renders a map with bootstrap dark theme. */
'BootstrapDark' | 
/** Renders a map with bootstrap4 theme. */
'Bootstrap4' | 
/** Renders a map with Tailwind theme. */
'Tailwind' | 
/** Renders a map with TailwindDark theme. */
'TailwindDark' | 
/** Renders a map with Bootstrap5 theme. */
'Bootstrap5' | 
/**  Render a map with Bootstrap5 dark theme. */
'Bootstrap5Dark' | 
/** Renders a map with Fluent theme. */
'Fluent' | 
/**  Render a map with Fluent dark theme. */
'FluentDark';
/**
 * Defines the position of the legend.
 */
export  type LegendPosition = 
/** Specifies the legend to be placed on the top of maps. */
'Top' | 
/** Specifies the legend to be placed to the left of maps. */
'Left' | 
/** Specifies the legend to be placed at the bottom of maps. */
'Bottom' | 
/** Specifies the legend to be placed to the right of maps. */
'Right' | 
/** Specifies the legend to be placed based on given x and y location. */
'Float';
/**
 * Defines the type of the element in the map for which legend is to be rendered.
 */
export  type LegendType = 
/** Renders the legend based on layers. */
'Layers' | 
/** Renders the legend based on bubbles. */
'Bubbles' | 
/** Renders the legend based on markers. */
'Markers';
/**
 * Defines the smart label mode for the data-label. Smart label handles the data label text when it exceeds the shape.
 */
export  type SmartLabelMode = 
/** Trims the datalabel which exceed the region. */
'Trim' | 
/** Smart label mode is not applied. */
'None' | 
/** Hides the datalabel which exceeds the region. */
'Hide';
/**
 * Defines the arrow position in navigation line.
 */
export  type ArrowPosition = 
/** Defines the arrow to be positioned at the start of the navigation line. */
'Start' | 
/** Defines the arrow to be positioned at the end of the navigation line. */
'End';
/**
 * Defines the label intersect action. Label interaction action handles the data label text
 * when it intersects with other data label contents.
 */
export  type IntersectAction = 
/** Specifies the data label to be trimmed when it intersects. */
'Trim' | 
/** Specifies that no action will be taken when it intersects. */
'None' | 
/** Specifies the data label to be hidden when it intersects. */
'Hide';
/**
 * Defines the mode of the legend.
 */
export  type LegendMode = 
/** Specifies the legend as static. */
'Default' | 
/** Specifies the legend as interactive. */
'Interactive';
/**
 * Defines the type of the layer in the map.
 */
export  type ShapeLayerType = 
/**
 * Defines the map layer as geometry shapes.
 */
'Geometry' | 
/**
 * Defines the map layer as open street map.
 */
'OSM' | 
/**
 * Defines the map layer as bing.
 */
'Bing' | 
/**
 * Specifies the map layer as google static map.
 */
'GoogleStaticMap' | 
/**
 * Specifies the map layer as google map.
 */
'Google';
/**
 * Defines the type of the layer in maps.
 */
export  type Type = 
/**
 * Specifies the layer type as main layer in the maps component.
 */
'Layer' | 
/**
 * Specifies the layer type as sublayer in the maps component. This layer will be a part of the layer provided in the maps.
 */
'SubLayer';
/**
 * Defines the type of markers in the maps component.
 */
export  type MarkerType = 
/** Specifies to render the marker shape as circle on maps. */
'Circle' | 
/** Specifies to render the marker shape as rectangle on maps. */
'Rectangle' | 
/** Specifies to render the marker shape as cross on maps. */
'Cross' | 
/** Specifies to render the marker shape as diamond on maps. */
'Diamond' | 
/** Specifies to render the marker shape as star on maps. */
'Star' | 
/** Specifies to render the marker shape as balloon on maps. */
'Balloon' | 
/** Specifies to render the marker shape as triangle on maps. */
'Triangle' | 
/** Specifies to render the marker shape as horizontal line on maps. */
'HorizontalLine' | 
/** Specifies to render the marker shape as vertical line on maps. */
'VerticalLine' | 
/** Specifies to render the marker shape as image on maps. */
'Image' | 
/** Specifies to render the marker shape as inverted triangle on maps. */
'InvertedTriangle' | 
/** Specifies to render the marker shape as pentagon on maps. */
'Pentagon';
/**
 * Defines the projection type of the maps.
 */
export  type ProjectionType = 
/** Specifies the maps to render in mercator projection type. */
'Mercator' | 
/** Specifies the maps to render in winklel3 projection type. */
'Winkel3' | 
/** Specifies the maps to render in miller projection type. */
'Miller' | 
/** Specifies the maps to render in eckert3 projection type. */
'Eckert3' | 
/** Specifies the maps to render in eckert5 projection type. */
'Eckert5' | 
/** Specifies the maps to render in eckert6 projection type. */
'Eckert6' | 
/** Specifies the maps to render in ait off projection type. */
'AitOff' | 
/** Specifies the maps to render in equirectangular projection type. */
'Equirectangular';
/**
 * Defines the types of bing map.
 */
export  type BingMapType = 
/** Defines the maps to render bing map layer with aerial type. */
'Aerial' | 
/** Defines the maps to render bing map layer with aerial with label type. */
'AerialWithLabel' | 
/** Defines the maps to render bing map layer with road type. */
'Road' | 
/** Defines the maps to render a dark version of the road maps. */
'CanvasDark' | 
/** Defines the maps to render a lighter version of the road maps. */
'CanvasLight' | 
/** Defines the maps to render a grayscale version of the road maps. */
'CanvasGray';
/**
 * Defines the types of maps.
 */
export  type StaticMapType = 
/** Specifies the maps to render google map layer with road map type. */
'RoadMap' | 
/** Specifies the maps to render google map layer with terrain type. */
'Terrain' | 
/** Specifies the maps to render google map layer with satellite type. */
'Satellite' | 
/** Specifies the maps to render the google map with hybrid type. */
'Hybrid';
/**
 * Defines the zooming tool bar orientation.
 */
export  type Orientation = 
/** Specifies the zooming toolbar to be placed horizontally. */
'Horizontal' | 
/** Specifies the zooming toolbar to be placed vertically. */
'Vertical';
/**
 * Defines the shape of legend.
 */
export  type LegendShape = 
/** Specifies the legend shape as a circle. */
'Circle' | 
/** Specifies the legend shape as a rectangle. */
'Rectangle' | 
/** Specifies the legend shape as a triangle. */
'Triangle' | 
/** Specifies the legend shape as a diamond. */
'Diamond' | 
/** Specifies the legend shape as a cross. */
'Cross' | 
/** Specifies the legend shape as a star. */
'Star' | 
/** Specifies the legend shape as a horizontal line. */
'HorizontalLine' | 
/** Specifies the legend shape as a vertical line. */
'VerticalLine' | 
/** Specifies the legend shape as a pentagon. */
'Pentagon' | 
/** Specifies the legend shape as a inverted triangle. */
'InvertedTriangle' | 
/** Specifies to render the marker shape as balloon on maps. */
'Balloon';
/**
 * Defines the legend arrangement in the maps component.
 */
export  type LegendArrangement = 
/** Specifies the legend item to be placed by default based on legend orientation. */
'None' | 
/** Specifies the legend items to be placed horizontally. */
'Horizontal' | 
/** Specifies the legend items to be placed vertically. */
'Vertical';
/**
 * Defines the alignment for the annotation.
 */
export  type AnnotationAlignment = 
/** Specifies the annotation to be placed by default alignement. */
'None' | 
/** Specifies the annotation to be placed near the maps with respect to the position of the legend. */
'Near' | 
/** Specifies the annotation to be placed at the center of the maps with respect to the position of the legend. */
'Center' | 
/** Specifies the annotation to be placed far from the maps with respect to the position of the legend. */
'Far';
/**
 * Defines the geometry type.
 */
export  type GeometryType = 
/** Specifies the geometry rendering in the layer of the maps. */
'Geographic' | 
/** Specifies the maps in normal rendering. */
'Normal';
/**
 * Defines the type of the bubble.
 */
export  type BubbleType = 
/** Specifies the bubble as circle type. */
'Circle' | 
/** Specifies the bubble as square type. */
'Square';
/**
 * Defines the placement type of the label.
 */
export  type LabelPosition = 
/** Specifies the label placement as before. */
'Before' | 
/** Specifies the label placement as after. */
'After';
/**
 * Defines the label intersect action in the maps component.
 */
export  type LabelIntersectAction = 
/**
 * Specifies that no action will be taken when the label contents intersect.
 */
'None' | 
/**
 * Specifies the data label to be trimmed when it intersects.
 */
'Trim' | 
/**
 * Specifies the data label to be hidden when it intersects.
 */
'Hide';
/**
 * Specifies the export type for the maps.
 */
export  type ExportType = 
/** Specifies the rendered maps to be exported in the png format. */
'PNG' | 
/** Specifies the rendered maps to be exported in the jpeg format. */
'JPEG' | 
/** Specifies the rendered maps to be exported in the svg format. */
'SVG' | 
/** Specifies the rendered maps to be exported in the pdf format. */
'PDF';
/**
 * Specifies the direction of panning.
 */
export  type PanDirection = 
/** Specifies the maps to pan in the left direction. */
'Left' | 
/** Specifies the maps to pan in the right direction. */
'Right' | 
/** Specifies the maps to pan in the top direction. */
'Top' | 
/** Specifies the maps to pan in the bottom direction. */
'Bottom' | 
/** Specifies the maps to pan map by mouse move. */
'None';
/**
 * Specifies the tooltip to be rendered on mouse operation.
 */
export  type TooltipGesture = 
/** Specifies the tooltip to be shown on mouse hover event. */
'MouseMove' | 
/** Specifies the tooltip to be shown on click event. */
'Click' | 
/** Specifies the tooltip to be shown on double click event. */
'DoubleClick';
//node_modules/@syncfusion/ej2-maps/src/maps/utils/helper.d.ts
/**
 * Maps internal use of `Size` type
 */
export  class Size {
    /**
     * height value for size
     */
    height: number;
    /**
     * width value for size
     */
    width: number;
    constructor(width: number, height: number);
}
/**
 * To find number from string
 *
 * @param {string} value Specifies the value
 * @param {number} containerSize Specifies the container size
 * @returns {number} Returns the number
 * @private
 */
export  function stringToNumber(value: string, containerSize: number): number;
/**
 * Method to calculate the width and height of the maps
 *
 * @param {Maps} maps Specifies the maps instance
 * @returns {void}
 */
export  function calculateSize(maps: Maps): Size;
/**
 * Method to create svg for maps.
 *
 * @param {Maps} maps Specifies the map instance
 * @returns {void}
 */
export  function createSvg(maps: Maps): void;
/**
 * Method to get the mouse position
 *
 * @param {number} pageX - Specifies the pageX.
 * @param {number} pageY - Specifies the pageY.
 * @param {Element} element - Specifies the element.
 * @returns {MapLocation} - Returns the location.
 */
export  function getMousePosition(pageX: number, pageY: number, element: Element): MapLocation;
/**
 * Method to convert degrees to radians
 *
 * @param {number} deg Specifies the degree value
 * @returns {number} Returns the number
 */
export  function degreesToRadians(deg: number): number;
/**
 * Convert radians to degrees method
 *
 * @param {number} radian Specifies the radian value
 * @returns {number} Returns the number
 */
export  function radiansToDegrees(radian: number): number;
/**
 * Method for converting from latitude and longitude values to points
 *
 * @param {number} latitude - Specifies the latitude.
 * @param {number} longitude - Specifies the longitude.
 * @param {number} factor - Specifies the factor.
 * @param {LayerSettings} layer - Specifies the layer settings.
 * @param {Maps} mapModel - Specifies the maps.
 * @returns {Point} - Returns the point values.
 */
export  function convertGeoToPoint(latitude: number, longitude: number, factor: number, layer: LayerSettings, mapModel: Maps): Point;
/**
 * Converting tile latitude and longitude to point
 *
 * @param {MapLocation} center Specifies the map center location
 * @param {number} zoomLevel Specifies the zoom level
 * @param {MapLocation} tileTranslatePoint Specifies the tile translate point
 * @param {boolean} isMapCoordinates Specifies the boolean value
 * @returns {MapLocation} Returns the location value
 */
export  function convertTileLatLongToPoint(center: MapLocation, zoomLevel: number, tileTranslatePoint: MapLocation, isMapCoordinates: boolean): MapLocation;
/**
 * Method for calculate x point
 *
 * @param {Maps} mapObject - Specifies the maps.
 * @param {number} val - Specifies the value.
 * @returns {number} - Returns the number.
 */
export  function xToCoordinate(mapObject: Maps, val: number): number;
/**
 * Method for calculate y point
 *
 * @param {Maps} mapObject - Specifies the maps.
 * @param {number} val - Specifies the value.
 * @returns {number} - Returns the number.
 */
export  function yToCoordinate(mapObject: Maps, val: number): number;
/**
 * Method for calculate aitoff projection
 *
 * @param {number} x - Specifies the x value.
 * @param {number} y - Specifies the y value.
 * @returns {Point} - Returns the point value.
 */
export  function aitoff(x: number, y: number): Point;
/**
 * Method to round the number
 *
 * @param {number} a - Specifies the a value
 * @param {number} b - Specifies the b value
 * @returns {number} - Returns the number
 */
export  function roundTo(a: number, b: number): number;
/**
 *
 * @param {number} x - Specifies the x value
 * @returns {number} - Returns the number
 */
export  function sinci(x: number): number;
/**
 *
 * @param {number} a - Specifies the a value
 * @returns {number} - Returns the number
 */
export  function acos(a: number): number;
/**
 * Method to calculate bound
 *
 * @param {number} value Specifies the value
 * @param {number} min Specifies the minimum value
 * @param {number} max Specifies the maximum value
 * @returns {number} Returns the value
 */
export  function calculateBound(value: number, min: number, max: number): number;
/**
 * To trigger the download element
 *
 * @param {string} fileName Specifies the file name
 * @param {ExportType} type Specifies the type
 * @param {string} url Specifies the url
 * @param {boolean} isDownload Specifies whether download a file.
 * @returns {void}
 */
export  function triggerDownload(fileName: string, type: ExportType, url: string, isDownload: boolean): void;
/**
 * Map internal class for point
 */
export  class Point {
    /**
     * Point x value
     */
    x: number;
    /**
     * Point Y value
     */
    y: number;
    constructor(x: number, y: number);
}
/**
 * Map internal class for min and max
 *
 */
export  class MinMax {
    min: number;
    max: number;
    constructor(min: number, max: number);
}
/**
 * Map internal class locations
 */
export  class GeoLocation {
    latitude: MinMax;
    longitude: MinMax;
    constructor(latitude: MinMax, longitude: MinMax);
}
/**
 * Function to measure the height and width of the text.
 *
 * @param  {string} text Specifies the text
 * @param  {FontModel} font Specifies the font
 * @returns {Size} Returns the size
 * @private
 */
export  function measureText(text: string, font: FontModel): Size;
/**
 * Internal use of text options
 *
 * @private
 */
export  class TextOption {
    anchor: string;
    id: string;
    transform: string;
    x: number;
    y: number;
    text: string | string[];
    baseLine: string;
    constructor(id?: string, x?: number, y?: number, anchor?: string, text?: string | string[], transform?: string, baseLine?: string);
}
/**
 * Internal use of path options
 *
 * @private
 */
export  class PathOption {
    id: string;
    fill: string;
    stroke: string;
    ['stroke-width']: number;
    ['stroke-dasharray']: string;
    ['stroke-opacity']: number;
    ['fill-opacity']: number;
    d: string;
    constructor(id: string, fill: string, width: number, color: string, fillOpacity?: number, strokeOpacity?: number, dashArray?: string, d?: string);
}
/** @private */
export  class ColorValue {
    r: number;
    g: number;
    b: number;
    constructor(r?: number, g?: number, b?: number);
}
/**
 * Internal use of rectangle options
 *
 * @private
 */
export  class RectOption extends PathOption {
    x: number;
    y: number;
    height: number;
    width: number;
    rx: number;
    ry: number;
    transform: string;
    ['stroke-dasharray']: string;
    constructor(id: string, fill: string, border: BorderModel, fillOpacity: number, rect: Rect, rx?: number, ry?: number, transform?: string, dashArray?: string);
}
/**
 * Internal use of circle options
 *
 * @private
 */
export  class CircleOption extends PathOption {
    cy: number;
    cx: number;
    r: number;
    ['stroke-dasharray']: string;
    constructor(id: string, fill: string, border: BorderModel, fillOpacity: number, cx: number, cy: number, r: number, dashArray: string);
}
/**
 * Internal use of polygon options
 *
 * @private
 */
export  class PolygonOption extends PathOption {
    points: string;
    constructor(id: string, points: string, fill: string, width: number, color: string, fillOpacity?: number, strokeOpacity?: number, dashArray?: string);
}
/**
 * Internal use of polyline options
 *
 * @private
 */
export  class PolylineOption extends PolygonOption {
    constructor(id: string, points: string, fill: string, width: number, color: string, fillOpacity?: number, strokeOpacity?: number, dashArray?: string);
}
/**
 * Internal use of line options
 *
 * @private
 */
export  class LineOption extends PathOption {
    x1: number;
    y1: number;
    x2: number;
    y2: number;
    constructor(id: string, line: Line, fill: string, width: number, color: string, fillOpacity?: number, strokeOpacity?: number, dashArray?: string);
}
/**
 * Internal use of line
 *
 * @property {number} Line - Specifies the line class
 */
export  class Line {
    x1: number;
    y1: number;
    x2: number;
    y2: number;
    constructor(x1: number, y1: number, x2: number, y2: number);
}
/**
 * Internal use of map location type
 *
 */
export  class MapLocation {
    /**
     * To specify x value
     */
    x: number;
    /**
     * To specify y value
     */
    y: number;
    constructor(x: number, y: number);
}
/**
 * Internal use of type rect
 *
 * @private
 */
export  class Rect {
    x: number;
    y: number;
    height: number;
    width: number;
    constructor(x: number, y: number, width: number, height: number);
}
/**
 * Defines the pattern unit types for drawing the patterns in maps.
 */
export  type patternUnits = 
/** Specifies the user space for maps. */
'userSpaceOnUse' | 
/** Specifies the bounding box for the object. */
'objectBoundingBox';
/**
 * Internal use for pattern creation.
 *
 * @property {PatternOptions} PatternOptions - Specifies the pattern option class.
 */
export  class PatternOptions {
    id: string;
    patternUnits: patternUnits;
    patternContentUnits: patternUnits;
    patternTransform: string;
    x: number;
    y: number;
    width: number;
    height: number;
    href: string;
    constructor(id: string, x: number, y: number, width: number, height: number, patternUnits?: patternUnits, patternContentUnits?: patternUnits, patternTransform?: string, href?: string);
}
/**
 * Internal rendering of text
 *
 * @param {TextOption} option Specifies the text option
 * @param {FontModel} style Specifies the style
 * @param {string} color Specifies the color
 * @param {HTMLElement | Element} parent Specifies the parent element
 * @param {boolean} isMinus Specifies the boolean value
 * @returns {Element} Returns the html object
 * @private
 */
export  function renderTextElement(option: TextOption, style: FontModel, color: string, parent: HTMLElement | Element, isMinus?: boolean): Element;
/**
 * @param {HTMLCollection} element Specifies the html collection
 * @param {string} markerId Specifies the marker id
 * @param {any} data Specifies the data
 * @param {number} index Specifies the index
 * @param {Maps} mapObj Specifies the map object
 * @returns {HTMLCollection} Returns the html collection
 * @private
 */
export  function convertElement(element: HTMLCollection, markerId: string, data: any, index: number, mapObj: Maps): HTMLElement;
/**
 *
 * @param {string} value - Specifies the value
 * @param {Maps} maps - Specifies the instance of the maps
 * @returns {string} - Returns the string value
 */
export  function formatValue(value: string, maps: Maps): string;
/**
 *
 * @param {string} stringTemplate - Specifies the template
 * @param {string} format - Specifies the format
 * @param {any} data - Specifies the data
 * @param {Maps} maps - Specifies the instance of the maps
 * @returns {string} - Returns the string value
 */
export  function convertStringToValue(stringTemplate: string, format: string, data: any, maps: Maps): string;
/**
 *
 * @param {Element} element - Specifies the element
 * @param {string} labelId - Specifies the label id
 * @param {any} data - Specifies the data
 * @param {number} index - Specifies the index
 * @param {Maps} mapObj - Specifies the map object
 * @returns {HTMLElement} - Returns the html element
 */
export  function convertElementFromLabel(element: Element, labelId: string, data: any, index: number, mapObj: Maps): HTMLElement;
/**
 *
 * @param {MarkerType} shape - Specifies the shape
 * @param {string} imageUrl - Specifies the image url
 * @param {Point} location - Specifies the location
 * @param {string} markerID - Specifies the marker id
 * @param {any} shapeCustom - Specifies the shape custom
 * @param {Element} markerCollection - Specifies the marker collection
 * @param {Maps} maps - Specifies the instance of the maps
 * @returns {Element} - Returns the element
 */
export  function drawSymbols(shape: MarkerType, imageUrl: string, location: Point, markerID: string, shapeCustom: any, markerCollection: Element, maps: Maps): Element;
/**
 *
 * @param {any} data - Specifies the data
 * @param {string} value - Specifies the value
 * @returns {any} - Returns the data
 */
export  function getValueFromObject(data: any, value: string): any;
/**
 *
 * @param {IMarkerRenderingEventArgs} eventArgs - Specifies the event arguments
 * @param {any} data - Specifies the data
 * @returns {IMarkerRenderingEventArgs} - Returns the arguments
 */
export  function markerColorChoose(eventArgs: IMarkerRenderingEventArgs, data: any): IMarkerRenderingEventArgs;
/**
 *
 * @param {IMarkerRenderingEventArgs} eventArgs - Specifies the event arguments
 * @param {any} data - Specifies the data
 * @returns {IMarkerRenderingEventArgs} - Returns the arguments
 */
export  function markerShapeChoose(eventArgs: IMarkerRenderingEventArgs, data: any): IMarkerRenderingEventArgs;
/**
 *
 * @param {LayerSettings} currentLayer - Specifies the current layer
 * @param {HTMLElement | Element} markerTemplate - Specifies the marker template
 * @param {Maps} maps - Specifies the instance of the maps
 * @param {number} layerIndex - Specifies the layer index
 * @param {Element} markerCollection - Specifies the marker collection
 * @param {Element} layerElement - Specifies the layer element
 * @param {boolean} check - Specifies the boolean value
 * @param {boolean} zoomCheck - Specifies the boolean value
 * @returns {void}
 */
export  function clusterTemplate(currentLayer: LayerSettings, markerTemplate: HTMLElement | Element, maps: Maps, layerIndex: number, markerCollection: Element, layerElement: Element, check: boolean, zoomCheck: boolean): void;
/**
 *
 * @param {MarkerClusterData[]} sameMarkerData - Specifies the marker data
 * @param {Maps} maps - Specifies the instance of the maps
 * @param {Element | HTMLElement} markerElement - Specifies the marker element
 * @returns {void}
 */
export  function mergeSeparateCluster(sameMarkerData: MarkerClusterData[], maps: Maps, markerElement: Element | HTMLElement): void;
/**
 *
 * @param {MarkerClusterData[]} sameMarkerData - Specifies the marker data
 * @param {Maps} maps - Specifies the instance of the maps
 * @param {Element | HTMLElement} markerElement - Specifies the marker element
 * @param {boolean} isDom - Specifies the boolean value
 * @returns {void}
 */
export  function clusterSeparate(sameMarkerData: MarkerClusterData[], maps: Maps, markerElement: Element | HTMLElement, isDom?: boolean): void;
/**
 *
 * @param {IMarkerRenderingEventArgs} eventArgs - Specifies the arguments
 * @param {MarkerSettings} markerSettings - Specifies the marker settings
 * @param {any[]} markerData - Specifies the marker data
 * @param {number} dataIndex - Specifies the data index
 * @param {Point} location - Specifies the location
 * @param {Point} transPoint - Specifies the translate point
 * @param {string} markerID - Specifies the marker id
 * @param {Point} offset - Specifies the offset value
 * @param {number} scale - Specifies the scale value
 * @param {Maps} maps - Specifies the instance of the maps
 * @param {Element} markerCollection - Specifies the marker collection
 * @returns {Element} - Returns the element
 */
export  function marker(eventArgs: IMarkerRenderingEventArgs, markerSettings: MarkerSettings, markerData: any[], dataIndex: number, location: Point, transPoint: Point, markerID: string, offset: Point, scale: number, maps: Maps, markerCollection: Element): Element;
/**
 *
 * @param {IMarkerRenderingEventArgs} eventArgs - Specifies the arguments
 * @param {any} templateFn - Specifies the template function
 * @param {string} markerID - Specifies the marker id
 * @param {any} data - Specifies the data
 * @param {number} markerIndex - Specifies the marker index
 * @param {HTMLElement} markerTemplate - Specifies the marker template element
 * @param {Point} location - Specifies the location
 * @param {Point} transPoint - Specifies the translate point.
 * @param {number} scale - Specifies the scale value
 * @param {Point} offset - Specifies the offset value
 * @param {Maps} maps - Specifies the instance of the maps
 * @returns {HTMLElement} - Returns the html element
 */
export  function markerTemplate(eventArgs: IMarkerRenderingEventArgs, templateFn: any, markerID: string, data: any, markerIndex: number, markerTemplate: HTMLElement, location: Point, transPoint: Point, scale: number, offset: Point, maps: Maps): HTMLElement;
/**
 * To maintain selection during page resize
 *
 * @param {string[]} elementId - Specifies the element id
 * @param {Element} elementClass - Specifies the element class
 * @param {Element} element - Specifies the element
 * @param {string} className - Specifies the class name
 * @returns {void}
 * @private
 */
export  function maintainSelection(elementId: string[], elementClass: Element, element: Element, className: string): void;
/**
 * To maintain selection style class
 *
 * @param {string} id - Specifies the id
 * @param {string} idClass - Specifies the class id
 * @param {string} fill - Specifies the fill
 * @param {string} opacity - Specifies the opactiy
 * @param {string} borderColor - Specifies the border color
 * @param {string} borderWidth - Specifies the border width
 * @param {Maps} maps - Specifies the maps
 * @returns {void}
 * @private
 */
export  function maintainStyleClass(id: string, idClass: string, fill: string, opacity: string, borderColor: string, borderWidth: string, maps: Maps): void;
/**
 * Internal use of append shape element
 *
 * @param {Element} shape - Specifies the shape
 * @param {Element} element - Specifies the element
 * @returns {Element} - Returns the element
 * @private
 */
export  function appendShape(shape: Element, element: Element): Element;
/**
 * Internal rendering of Circle
 *
 * @param {Maps} maps - Specifies the instance of the maps
 * @param {CircleOption} options - Specifies the circle options
 * @param {Element} element - Specifies the element
 * @returns {Element} - Returns the element
 * @private
 */
export  function drawCircle(maps: Maps, options: CircleOption, element?: Element): Element;
/**
 * Internal rendering of Rectangle
 *
 * @param {Maps} maps - Specifies the instance of the maps
 * @param {RectOption} options - Specifies the rect options
 * @param {Element} element - Specifies the element
 * @returns {Element} - Returns the element
 * @private
 */
export  function drawRectangle(maps: Maps, options: RectOption, element?: Element): Element;
/**
 * Internal rendering of Path
 *
 * @param {Maps} maps - Specifies the instance of the maps
 * @param {PathOption} options - Specifies the polygon options
 * @param {Element} element - Specifies the element
 * @returns {Element} - Returns the element
 * @private
 */
export  function drawPath(maps: Maps, options: PathOption, element?: Element): Element;
/**
 * Internal rendering of Polygon
 *
 * @param {Maps} maps - Specifies the instance of the maps
 * @param {PolygonOption} options - Specifies the polygon options
 * @param {Element} element - Specifies the element
 * @returns {Element} - Returns the element
 * @private
 */
export  function drawPolygon(maps: Maps, options: PolygonOption, element?: Element): Element;
/**
 * Internal rendering of Polyline
 *
 * @param {Maps} maps - Specifies the instance of the maps
 * @param {PolylineOption} options - Specifies the poly line options
 * @param {Element} element - Specifies the element
 * @returns {Element} - Returns the element
 * @private
 */
export  function drawPolyline(maps: Maps, options: PolylineOption, element?: Element): Element;
/**
 * Internal rendering of Line
 *
 * @param {Maps} maps - Specifies the instance of the maps
 * @param {LineOption} options - Specifies the line options
 * @param {Element} element - Specifies the element
 * @returns {Element} - Returns the element
 * @private
 */
export  function drawLine(maps: Maps, options: LineOption, element?: Element): Element;
/**
 * Calculate marker shapes
 *
 * @param {Maps} maps - Specifies the instance of the maps
 * @param {MarkerType} shape - Specifies the marker type
 * @param {PathOption} options - Specifies the path options
 * @param {Size} size - Specifies the size
 * @param {MapLocation} location - Specifies the map location
 * @param {Element} markerEle - Specifies the element
 * @returns {Element} - Returns the element
 * @private
 */
export  function calculateShapes(maps: Maps, shape: MarkerType, options: PathOption, size: Size, location: MapLocation, markerEle: Element): Element;
/**
 * Internal rendering of Diamond
 *
 * @param {Maps} maps - Specifies the instance of the maps
 * @param {PathOption} options - Specifies the path options
 * @param {Size} size - Specifies the size
 * @param {MapLocation} location - Specifies the map location
 * @param {Element} element - Specifies the element
 * @returns {Element} - Returns the element
 * @private
 */
export  function drawDiamond(maps: Maps, options: PathOption, size: Size, location: MapLocation, element?: Element): Element;
/**
 * Internal rendering of Triangle
 *
 * @param {Maps} maps - Specifies the instance of the maps
 * @param {PathOption} options - Specifies the path options
 * @param {Size} size - Specifies the size
 * @param {MapLocation} location - Specifies the map location
 * @param {Element} element - Specifies the element
 * @returns {Element} - Returns the element
 * @private
 */
export  function drawTriangle(maps: Maps, options: PathOption, size: Size, location: MapLocation, element?: Element): Element;
/**
 * Internal rendering of Cross
 *
 * @param {Maps} maps - Specifies the instance of the maps
 * @param {PathOption} options - Specifies the path options
 * @param {Size} size - Specifies the size
 * @param {MapLocation} location - Specifies the map location
 * @param {Element} element - Specifies the element
 * @returns {Element} - Returns the element
 * @private
 */
export  function drawCross(maps: Maps, options: PathOption, size: Size, location: MapLocation, element?: Element): Element;
/**
 * Internal rendering of HorizontalLine
 *
 * @param {Maps} maps - Specifies the instance of the maps
 * @param {PathOption} options - Specifies the path options
 * @param {Size} size - Specifies the size
 * @param {MapLocation} location - Specifies the map location
 * @param {Element} element - Specifies the element
 * @returns {Element} - Returns the element
 * @private
 */
export  function drawHorizontalLine(maps: Maps, options: PathOption, size: Size, location: MapLocation, element?: Element): Element;
/**
 * Internal rendering of VerticalLine
 *
 * @param {Maps} maps - Specifies the instance of the maps
 * @param {PathOption} options - Specifies the path options
 * @param {Size} size - Specifies the size
 * @param {MapLocation} location - Specifies the map location
 * @param {Element} element - Specifies the element
 * @returns {Element} - Returns the element
 * @private
 */
export  function drawVerticalLine(maps: Maps, options: PathOption, size: Size, location: MapLocation, element?: Element): Element;
/**
 * Internal rendering of Star
 *
 * @param {Maps} maps - Specifies the instance of the maps
 * @param {PathOption} options - Specifies the path options
 * @param {Size} size - Specifies the size
 * @param {MapLocation} location - Specifies the map location
 * @param {Element} element - Specifies the element
 * @returns {Element} - Returns the element
 * @private
 */
export  function drawStar(maps: Maps, options: PathOption, size: Size, location: MapLocation, element?: Element): Element;
/**
 * Internal rendering of Balloon
 *
 * @param {Maps} maps - Specifies the instance of the maps
 * @param {PathOption} options - Specifies the path options
 * @param {Size} size - Specifies the size
 * @param {MapLocation} location - Specifies the map location
 * @param {Element} element - Specifies the element
 * @returns {Element} - Returns the element
 * @private
 */
export  function drawBalloon(maps: Maps, options: PathOption, size: Size, location: MapLocation, type: string, element?: Element): Element;
/**
 * Internal rendering of Pattern
 *
 * @param {Maps} maps - Specifies the instance of the maps
 * @param {PatternOptions} options - Specifies the pattern options
 * @param {Element[]} elements - Specifies the elements
 * @param {Element} element - Specifies the element
 * @returns {Element} - Returns the element
 * @private
 */
export  function drawPattern(maps: Maps, options: PatternOptions, elements: Element[], element?: Element): Element;
/**
 * Method to get specific field and vaues from data.
 *
 * @param {any[]} dataSource - Specifies the data source
 * @param {string[]} fields - Specifies the fields
 * @returns {any[]} - Returns the object
 * @private
 */
export  function getFieldData(dataSource: any[], fields: string[]): any[];
/**
 * To find the index of dataSource from shape properties
 *
 * @param {any[]} dataSource - Specifies the data source
 * @param {any} properties - Specifies the properties
 * @param {string} dataPath - Specifies the data path
 * @param {string | string[]} propertyPath - Specifies the property path
 * @param {LayerSettingsModel} layer - Specifies the layer settings
 * @returns {number} - Returns the number
 */
export  function checkShapeDataFields(dataSource: any[], properties: any, dataPath: string, propertyPath: string | string[], layer: LayerSettingsModel): number;
/**
 *
 * @param {string} shapeData - Specifies the shape data
 * @param {string | string[]} shapePropertyPath -  Specifies the shape property path
 * @param {any} shape -  Specifies the shape
 * @returns {string} - Returns the string value
 */
export  function checkPropertyPath(shapeData: string, shapePropertyPath: string | string[], shape: any): string;
/**
 *
 * @param {MapLocation[]} points - Specifies the location
 * @param {number} start - Specifies the start value
 * @param {number} end - Specifies the end value
 * @returns {MapLocation[]} - Returns the location
 */
export  function filter(points: MapLocation[], start: number, end: number): MapLocation[];
/**
 *
 * @param {number} min - Specifies the min value
 * @param {number} max - Specifies the max value
 * @param {number} value - Specifies the value
 * @param {number} minValue - Specifies the minValue
 * @param {number} maxValue -Specifies the maxValue
 * @returns {number} - Returns the number
 */
export  function getRatioOfBubble(min: number, max: number, value: number, minValue: number, maxValue: number): number;
/**
 * To find the midpoint of the polygon from points
 *
 * @param {MapLocation[]} points - Specifies the points
 * @param {string} type - Specifies the type
 * @param {string} geometryType - Specified the type of the geometry
 * @returns {any} - Specifies the object
 */
export  function findMidPointOfPolygon(points: MapLocation[], type: string, geometryType?: string): any;
/**
 * Check custom path
 *
 * @param {any[]} layerData - Specifies the layer data
 * @returns {boolean} - Returns the boolean vlue
 * @private
 */
export  function isCustomPath(layerData: any[]): boolean;
/**
 * Trim the title text
 *
 * @param {number} maxWidth - Specifies the maximum width
 * @param {string} text - Specifies the text
 * @param {FontModel} font - Specifies the font
 * @returns {string} - Returns the string
 * @private
 */
export  function textTrim(maxWidth: number, text: string, font: FontModel): string;
/**
 * Method to calculate x position of title
 *
 * @param {Rect} location - Specifies the location
 * @param {Alignment} alignment - Specifies the alignment
 * @param {Size} textSize - Specifies the text size
 * @param {string} type - Specifies the type
 * @returns {Point} - Returns the point values
 */
export  function findPosition(location: Rect, alignment: Alignment, textSize: Size, type: string): Point;
/**
 * To remove element by id
 *
 * @param {string} id - Specifies the id
 * @returns {void}
 */
export  function removeElement(id: string): void;
/**
 * To calculate map center position from pixel values
 *
 * @param {Maps} mapObject - Specifies the map object
 * @param {LayerSettings} layer - Specifies the layer settings
 * @returns {Point} - Returns the x and y points
 */
export  function calculateCenterFromPixel(mapObject: Maps, layer: LayerSettings): Point;
/**
 * @param {Maps} mapObject - Specifies the map object
 * @param {LayerSettings} layer - Specifies the layer settings
 * @param {boolean} animate - Specifies the boolean value
 * @returns {any} - Returns the object
 * @private
 */
export  function getTranslate(mapObject: Maps, layer: LayerSettings, animate?: boolean): any;
/**
 * @param {Maps} mapObject - Specifies the map object
 * @param {LayerSettings} layer - Specifies the layer
 * @param {boolean} animate - Specifies the boolean value
 * @returns {any} - Returns the object.
 * @private
 */
export  function getZoomTranslate(mapObject: Maps, layer: LayerSettings, animate?: boolean): any;
/**
 * To get the html element by specified id
 *
 * @param {Maps} map - Specifies the instance of the maps
 * @returns {void}
 */
export  function fixInitialScaleForTile(map: Maps): void;
/**
 * To get the html element by specified id
 *
 * @param {string} id - Specifies the id
 * @returns {Element} - Returns the element
 */
export  function getElementByID(id: string): Element;
/**
 * Function to get clientElement from id.
 *
 * @param {string} id - Specifies the id
 * @returns {Element} - Returns the element
 * @private
 */
export  function getClientElement(id: string): ClientRect;
/**
 * To apply internalization
 *
 * @param {Maps} maps - Specifies the instance of the maps
 * @param {number} value - Specifies the value
 * @returns {string} - Returns the string
 */
export  function Internalize(maps: Maps, value: number): string;
/**
 * Function to compile the template function for maps.
 *
 * @param {string} template - Specifies the template
 * @returns {Function} - Returns the function
 * @private
 */
export  function getTemplateFunction(template: string, maps: Maps): any;
/**
 * Function to get element from id.
 *
 * @param {string} id - Specifies the id
 * @returns {Element} - Returns the element
 * @private
 */
export  function getElement(id: string): Element;
/**
 * Function to get shape data using target id
 *
 * @param {string} targetId - Specifies the target id
 * @param {Maps} map - Specifies the instance of the maps
 * @returns {any} - Returns the object
 */
export  function getShapeData(targetId: string, map: Maps): {
    shapeData: any;
    data: any;
};
/**
 * Function to trigger shapeSelected event
 *
 * @param {string} targetId - Specifies the target id
 * @param {SelectionSettingsModel} selection - Specifies the selection
 * @param {Maps} maps - Specifies the instance of the maps
 * @param {string} eventName - Specifies the event name
 * @returns {IShapeSelectedEventArgs} - Returns the event args
 * @private
 */
export  function triggerShapeEvent(targetId: string, selection: SelectionSettingsModel, maps: Maps, eventName: string): IShapeSelectedEventArgs;
/**
 * Function to get elements using class name
 *
 * @param {string} className - Specifies the class name
 * @returns {HTMLCollectionOf<Element>} - Returns the collection
 */
export  function getElementsByClassName(className: string): HTMLCollectionOf<Element>;
/**
 * Function to get elements using querySelectorAll
 */
/**
 * Function to get elements using querySelector
 *
 * @param {string} args - Specifies the args
 * @param {string} elementSelector - Specifies the element selector
 * @returns {Element} - Returns the element
 */
export  function querySelector(args: string, elementSelector: string): Element;
/**
 * Function to get the element for selection and highlight using public method
 *
 * @param {number} layerIndex - Specifies the layer index
 * @param {string} name - Specifies the layer name
 * @param {boolean} enable - Specifies the boolean value
 * @param {Maps} map - Specifies the instance of the maps
 * @returns {Element} - Returns the element
 */
export  function getTargetElement(layerIndex: number, name: string, enable: boolean, map: Maps): Element;
/**
 * Function to create style element for highlight and selection
 *
 * @param {string} id - Specifies the id
 * @param {string} className - Specifies the class name
 * @param {IShapeSelectedEventArgs | any} eventArgs - Specifies the event args
 * @returns {Element} - Returns the element
 */
export  function createStyle(id: string, className: string, eventArgs: IShapeSelectedEventArgs | any): Element;
/**
 * Function to customize the style for highlight and selection
 *
 * @param {string} id - Specifies the id
 * @param {string} className - Specifies the class name
 * @param {IShapeSelectedEventArgs | any} eventArgs - Specifies the event args
 * @returns {void}
 */
export  function customizeStyle(id: string, className: string, eventArgs: IShapeSelectedEventArgs | any): void;
/**
 * Function to trigger itemSelection event for legend selection and public method
 *
 * @param {SelectionSettingsModel} selectionSettings - Specifies the selection settings
 * @param {Maps} map - Specifies the instance of the maps
 * @param {Element} targetElement - Specifies the target element
 * @param {any} shapeData - Specifies the shape data
 * @param {any} data - Specifies the data
 * @returns {void}
 */
export  function triggerItemSelectionEvent(selectionSettings: SelectionSettingsModel, map: Maps, targetElement: Element, shapeData: any, data: any): void;
/**
 * Function to remove class from element
 *
 * @param {Element} element - Specifies the element
 * @returns {void}
 */
export  function removeClass(element: Element): void;
/**
 * Animation Effect Calculation End
 *
 * @param {Element} element - Specifies the element
 * @param {number} delay - Specifies the delay
 * @param {number} duration - Specifies the duration
 * @param {MapLocation} point - Specifies the location
 * @param {Maps} maps - Specifies the instance of the maps
 * @param {string} ele - Specifies the element
 * @param {number} radius - Specifies the radius
 * @returns {void}
 * @private
 */
export  function elementAnimate(element: Element, delay: number, duration: number, point: MapLocation, maps: Maps, ele?: string, radius?: number): void;
/**
 * @param {string} id - Specifies the id
 * @returns {void}
 */
export  function timeout(id: string): void;
/**
 * @param {string} text - Specifies the text
 * @param {string} size - Specifies the size
 * @param {number} x - Specifies the x value
 * @param {number} y - Specifies the y value
 * @param {number} areaWidth - Specifies the area width
 * @param {number} areaHeight - Specifies the area height
 * @param {string} id - Specifies the id
 * @param {Element} element - Specifies the element
 * @param {boolean} isTouch - Specifies the boolean value
 * @returns {void}
 */
export  function showTooltip(text: string, size: string, x: number, y: number, areaWidth: number, areaHeight: number, id: string, element: Element, isTouch?: boolean): void;
/**
 * @param {HTMLElement} tooltip - Specifies the tooltip element
 * @param {string} text - Specifies the text
 * @param {number} x - Specifies the x value
 * @param {number} y - Specifies the y value
 * @param {string[]} size1 - Specifies the size
 * @param {number} width - Specifies the width
 * @param {number} areaWidth - Specifies the area width
 * @param {Element} element - Specifies the element
 * @returns {void}
 */
export  function wordWrap(tooltip: HTMLElement, text: string, x: number, y: number, size1: string[], width: number, areaWidth: number, element: Element): void;
/**
 * @param {string} id - Specifies the id
 * @param {string} text - Specifies the text
 * @param {string} top - Specifies the top
 * @param {string} left - Specifies the left
 * @param {string} fontSize - Specifies the fontSize
 * @returns {void}
 * @private
 */
export  function createTooltip(id: string, text: string, top: number, left: number, fontSize: string): void;
/**
 * @param {Point} location - Specifies the location
 * @param {string} shape - Specifies the shape
 * @param {Size} size - Specifies the size
 * @param {string} url - Specifies the url
 * @param {PathOption} options - Specifies the options
 * @returns {Element} - Returns the element
 * @private
 */
export  function drawSymbol(location: Point, shape: string, size: Size, url: string, options: PathOption): Element;
/**
 * @param {MapLocation} location - Specifies the location
 * @param {Size} size - Specifies the size
 * @param {string} shape - Specifies the shape
 * @param {PathOption} options - Specifies the path options
 * @param {string} url - Specifies the url
 * @returns {IShapes} - Returns the shapes
 * @private
 */
export  function renderLegendShape(location: MapLocation, size: Size, shape: string, options: PathOption, url: string): IShapes;
/**
 * Animation Effect Calculation End
 *
 * @private
 */
/**
 * @param {HTMLElement} childElement - Specifies the child element
 * @param {HTMLElement} parentElement - Specifies the parent element
 * @returns {Size} - Returns the size
 * @private
 */
export  function getElementOffset(childElement: HTMLElement, parentElement: HTMLElement): Size;
/**
 * @param {Element} element - Specifies the element
 * @param {number} index - Specifies the element
 * @param {number} scale - Specifies the scale
 * @param {Maps} maps - Specifies the instance of the maps
 * @returns {void}
 * @private
 */
export  function changeBorderWidth(element: Element, index: number, scale: number, maps: Maps): void;
/**
 * @param {Element} element - Specifies the element
 * @param {number} index - Specifies the element
 * @param {number} scale - Specifies the scale
 * @param {Maps} maps - Specifies the instance of the maps
 * @returns {void}
 * @private
 */
export  function changeNavaigationLineWidth(element: Element, index: number, scale: number, maps: Maps): void;
/**
 * @param {PointerEvent | TouchEvent} event - Specifies the pointer or touch event
 * @returns {ITouches[]} - Returns the target
 * @private */
export  function targetTouches(event: PointerEvent | TouchEvent): ITouches[];
/**
 * @param {ITouches[]} startTouches - Specifies the start touches
 * @param {ITouches[]} endTouches - Specifies the end touches
 * @returns {number} - Returns the number
 * @private
 */
export  function calculateScale(startTouches: ITouches[], endTouches: ITouches[]): number;
/**
 * @param {ITouches} a - Specifies the a value
 * @param {ITouches} b - Specifies the b value
 * @returns {number} - Returns the number
 * @private */
export  function getDistance(a: ITouches, b: ITouches): number;
/**
 * @param {ITouches[]} touches - Specifies the touches
 * @param {Maps} maps - Specifies the instance of the maps
 * @returns {any[]} - Returns the object
 * @private
 */
export  function getTouches(touches: ITouches[], maps: Maps): any[];
/**
 * @param {any[]} touches - Specifies the touches
 * @returns {Point} - Returns the point
 * @private
 */
export  function getTouchCenter(touches: any[]): Point;
/**
 * @param {number} a - Specifies a value
 * @param {number} b - Specifies b value
 * @returns {number} - Returns the sum of a and b
 * @private
 */
export  function sum(a: number, b: number): number;
/**
 * Animation Effect Calculation End
 *
 * @param {Element} element - Specifies the element.
 * @param {number} delay - Specifies the delay.
 * @param {number} duration - Specifies the duration.
 * @param {MapLocation} point - Specifies the location.
 * @param {number} scale - Specifies the scale value.
 * @param {Size} size - Specifies the size.
 * @param {Maps} maps - Specifies the maps.
 * @returns {void}
 * @private
 */
export  function zoomAnimate(element: Element, delay: number, duration: number, point: MapLocation, scale: number, size: Size, maps: Maps): void;
/**
 * To process custom animation
 *
 * @param {Element} element - Specifies the element
 * @param {number} delay - Specifies the delay
 * @param {number} duration - Specifies the duration
 * @param {Function} process - Specifies the process
 * @param {Function} end - Specifies the end
 * @returns {void}
 */
export  function animate(element: Element, delay: number, duration: number, process: any, end: any): void;
/**
 * To get shape data file using Ajax.
 */
export  class MapAjax {
    /**
     * MapAjax data options
     */
    dataOptions: string | any;
    /**
     * MapAjax type value
     */
    type: string;
    /**
     * MapAjax async value
     */
    async: boolean;
    /**
     * MapAjax contentType value
     */
    contentType: string;
    /**
     * MapAjax sendData value
     */
    sendData: string | any;
    constructor(options: string | any, type?: string, async?: boolean, contentType?: string, sendData?: string | any);
}
/**
 * Animation Translate
 *
 * @param {Element} element - Specifies the element
 * @param {number} delay - Specifies the delay
 * @param {number} duration - Specifies the duration
 * @param {MapLocation} point - Specifies the location
 * @returns {void}
 * @private
 */
export  function smoothTranslate(element: Element, delay: number, duration: number, point: MapLocation): void;
/**
 * To find compare should zoom factor with previous factor and current factor
 *
 * @param {number} scaleFactor - Specifies the scale factor
 * @param {Maps} maps - Specifies the instance of the maps
 * @returns {void}
 */
export  function compareZoomFactor(scaleFactor: number, maps: Maps): void;
/**
 * To find zoom level for the min and max latitude values
 *
 * @param {number} minLat - Specifies the minimum latitude
 * @param {number} maxLat - Specifies the maximum latitude
 * @param {number} minLong - Specifies the minimum longitude
 * @param {number} maxLong - Specifies the maximum longitude
 * @param {number} mapWidth - Specifies the width of the maps
 * @param {number} mapHeight - Specifies the height of the maps
 * @param {Maps} maps - Specifies the instance of the maps
 * @returns {number} - Returns the scale factor
 */
export  function calculateZoomLevel(minLat: number, maxLat: number, minLong: number, maxLong: number, mapWidth: number, mapHeight: number, maps: Maps): number;
/**
 * Method to get the result
 *
 * @param {any} e - Specifies the any type value
 * @returns {any} - Returns the data value
 */
export  function processResult(e: any): any;
 }
export namespace navigations { 

//node_modules/@syncfusion/ej2-navigations/src/accordion/accordion-model.d.ts
/**
 * Interface for a class AccordionActionSettings
 */
export interface AccordionActionSettingsModel {
    /**
     * Specifies the type of animation.
     *
     * @default 'SlideDown'
     * @aspType string
     */
    effect?: 'None' | base.Effect;
    /**
     * Specifies the duration to animate.
     *
     * @default 400
     */
    duration?: number;
    /**
     * Specifies the animation timing function.
     *
     * @default 'linear'
     */
    easing?: string;
}
/**
 * Interface for a class AccordionAnimationSettings
 */
export interface AccordionAnimationSettingsModel {
    /**
     * Specifies the animation to appear while collapsing the Accordion item.
     *
     * @default { effect: 'SlideDown', duration: 400, easing: 'linear' }
     */
    collapse?: AccordionActionSettingsModel;
    /**
     * Specifies the animation to appear while expanding the Accordion item.
     *
     * @default { effect: 'SlideDown', duration: 400, easing: 'linear' }
     */
    expand?: AccordionActionSettingsModel;
}
/**
 * Interface for a class AccordionItem
 */
export interface AccordionItemModel {
    /**
     * Sets the text content to be displayed for the Accordion item.
     * You can set the content of the Accordion item using `content` property.
     * It also supports to include the title as `HTML element`, `string`, or `query selector`.
     * ```typescript
     *   let accordionObj: Accordion = new Accordion( {
     *        items: [
     *          { header: 'Accordion Header', content: 'Accordion Content' },
     *          { header: '<div>Accordion Header</div>', content: '<div>Accordion Content</div' },
     *          { header: '#headerContent', content: '#panelContent' }]
     *        });
     *   accordionObj.appendTo('#accordion');
     * ```
     *
     * @default null
     */
    content?: string;
    /**
     * Sets the header text to be displayed for the Accordion item.
     * You can set the title of the Accordion item using `header` property.
     * It also supports to include the title as `HTML element`, `string`, or `query selector`.
     * ```typescript
     *   let accordionObj: Accordion = new Accordion( {
     *        items: [
     *          { header: 'Accordion Header', content: 'Accordion Content' },
     *          { header: '<div>Accordion Header</div>', content: '<div>Accordion Content</div' },
     *          { header: '#headerContent', content: '#panelContent' }]
     *        });
     *   accordionObj.appendTo('#accordion');
     * ```
     *
     * @default null
     */
    header?: string;
    /**
     * Defines single/multiple classes (separated by a space) are to be used for Accordion item customization.
     *
     * @default null
     */
    cssClass?: string;
    /**
     * Defines an icon with the given custom CSS class that is to be rendered before the header text.
     * Add the css classes to the `iconCss` property and write the css styles to the defined class to set images/icons.
     * Adding icon is applicable only to the header.
     * ```typescript
     *   let accordionObj: Accordion = new Accordion( {
     *        items: [
     *          { header: 'Accordion Header', iconCss: 'e-app-icon' }]
     *        });
     *   accordionObj.appendTo('#accordion');
     * ```
     * ```css
     * .e-app-icon::before {
     *   content: "\e710";
     * }
     * ```
     *
     * @default null
     */
    iconCss?: string;
    /**
     * Sets the expand (true) or collapse (false) state of the Accordion item. By default, all the items are in a collapsed state.
     *
     * @default false
     */
    expanded?: boolean;
    /**
     * Sets false to hide an accordion item.
     *
     * @default true
     */
    visible?: boolean;
    /**
     * Sets true to disable an accordion item.
     *
     * @default false
     */
    disabled?: boolean;
    /**
     * Sets unique ID to accordion item.
     *
     * @default null
     */
    id?: string;
}
/**
 * Interface for a class Accordion
 */
export interface AccordionModel extends base.ComponentModel{
    /**
     * An array of item that is used to specify Accordion items.
     * ```typescript
     *   let accordionObj: Accordion = new Accordion( {
     *        items: [
     *          { header: 'Accordion Header', content: 'Accordion Content' }]
     *        });
     *   accordionObj.appendTo('#accordion');
     * ```
     *
     * @default []
     */
    items?: AccordionItemModel[];
    /**
     * Specifies the datasource for the accordion items.
     *
     * @isdatamanager false
     * @default []
     */
    dataSource?: Object[];
    /**
     * Specifies the template option for accordion items.
     *
     * @default null
     */
    itemTemplate?: string;
    /**
     * Specifies the header title template option for accordion items.
     *
     * @default null
     */
    headerTemplate?: string;
    /**
     * Specifies the width of the Accordion in pixels/number/percentage. Number value is considered as pixels.
     *
     * @default '100%'
     */
    width?: string | number;
    /**
     * Specifies the height of the Accordion in pixels/number/percentage. Number value is considered as pixels.
     *
     * @default 'auto'
     */
    height?: string | number;
    /**
     * Specifies the expanded items at initial load.
     *
     * @default []
     */
    expandedIndices?: number[];
    /**
     * Specifies the options to expand single or multiple panel at a time.
     * The possible values are:
     * - Single: Sets to expand only one Accordion item at a time.
     * - Multiple: Sets to expand more than one Accordion item at a time.
     *
     * @default 'Multiple'
     */
    expandMode?: ExpandMode;
    /**
     * Defines whether to allow the cross-scripting site or not.
     *
     * @default false
     */
    enableHtmlSanitizer?: boolean;
    /**
     * Specifies the animation configuration settings for expanding and collapsing the panel.
     *
     * @default { expand: { effect: 'SlideDown', duration: 400, easing: 'linear' },
     * collapse: { effect: 'SlideUp', duration: 400, easing: 'linear' }}
     */
    animation?: AccordionAnimationSettingsModel;
    /**
     * The event will be fired while clicking anywhere within the Accordion.
     *
     * @event clicked
     */
    clicked?: base.EmitType<AccordionClickArgs>;
    /**
     * The event will be fired before the item gets collapsed/expanded.
     *
     * @event expanding
     */
    expanding?: base.EmitType<ExpandEventArgs>;
    /**
     * The event will be fired after the item gets collapsed/expanded.
     *
     * @event expanded
     */
    expanded?: base.EmitType<ExpandedEventArgs>;
    /**
     * The event will be fired once the control rendering is completed.
     *
     * @event created
     */
    created?: base.EmitType<Event>;
    /**
     * The event will be fired when the control gets destroyed.
     *
     * @event destroyed
     */
    destroyed?: base.EmitType<Event>;
}
//node_modules/@syncfusion/ej2-navigations/src/accordion/accordion.d.ts
/**
 * Specifies the option to expand single or multiple panel at a time.
 */
export  type ExpandMode = 'Single' | 'Multiple';
/** An interface that holds options to control the accordion click action. */
export interface AccordionClickArgs extends base.BaseEventArgs {
    /** Defines the current Accordion Item Object. */
    item?: AccordionItemModel;
    /**
     * Defines the current Event arguments.
     */
    originalEvent?: Event;
}
/** An interface that holds options to control the expanding item action. */
export interface ExpandEventArgs extends base.BaseEventArgs {
    /** Defines the current Accordion Item Object. */
    item?: AccordionItemModel;
    /** Defines the current Accordion Item Element. */
    element?: HTMLElement;
    /** Defines the expand/collapse state. */
    isExpanded?: boolean;
    /** Defines the prevent action. */
    cancel?: boolean;
    /** Defines the Accordion Item Index */
    index?: number;
    /** Defines the Accordion Item Content */
    content?: HTMLElement;
}
/** An interface that holds options to control the expanded item action. */
export interface ExpandedEventArgs extends base.BaseEventArgs {
    /** Defines the current Accordion Item Object. */
    item?: AccordionItemModel;
    /** Defines the current Accordion Item Element. */
    element?: HTMLElement;
    /** Defines the expand/collapse state. */
    isExpanded?: boolean;
    /** Defines the Accordion Item Index */
    index?: number;
    /** Defines the Accordion Item Content */
    content?: HTMLElement;
}
/**
 * Objects used for configuring the Accordion expanding item action properties.
 */
export  class AccordionActionSettings extends base.ChildProperty<AccordionActionSettings> {
    /**
     * Specifies the type of animation.
     *
     * @default 'SlideDown'
     * @aspType string
     */
    effect: 'None' | base.Effect;
    /**
     * Specifies the duration to animate.
     *
     * @default 400
     */
    duration: number;
    /**
     * Specifies the animation timing function.
     *
     * @default 'linear'
     */
    easing: string;
}
/**
 * Objects used for configuring the Accordion animation properties.
 */
export  class AccordionAnimationSettings extends base.ChildProperty<AccordionAnimationSettings> {
    /**
     * Specifies the animation to appear while collapsing the Accordion item.
     *
     * @default { effect: 'SlideDown', duration: 400, easing: 'linear' }
     */
    collapse: AccordionActionSettingsModel;
    /**
     * Specifies the animation to appear while expanding the Accordion item.
     *
     * @default { effect: 'SlideDown', duration: 400, easing: 'linear' }
     */
    expand: AccordionActionSettingsModel;
}
/**
 * An item object that is used to configure Accordion items.
 */
export  class AccordionItem extends base.ChildProperty<AccordionItem> {
    /**
     * Sets the text content to be displayed for the Accordion item.
     * You can set the content of the Accordion item using `content` property.
     * It also supports to include the title as `HTML element`, `string`, or `query selector`.
     * ```typescript
     *   let accordionObj$: Accordion = new Accordion( {
     *        items: [
     *          { header: 'Accordion Header', content: 'Accordion Content' },
     *          { header: '<div>Accordion Header</div>', content: '<div>Accordion Content</div' },
     *          { header: '#headerContent', content: '#panelContent' }]
     *        });
     *   accordionObj.appendTo('#accordion');
     * ```
     *
     * @default null
     */
    content: string;
    /**
     * Sets the header text to be displayed for the Accordion item.
     * You can set the title of the Accordion item using `header` property.
     * It also supports to include the title as `HTML element`, `string`, or `query selector`.
     * ```typescript
     *   let accordionObj$: Accordion = new Accordion( {
     *        items: [
     *          { header: 'Accordion Header', content: 'Accordion Content' },
     *          { header: '<div>Accordion Header</div>', content: '<div>Accordion Content</div' },
     *          { header: '#headerContent', content: '#panelContent' }]
     *        });
     *   accordionObj.appendTo('#accordion');
     * ```
     *
     * @default null
     */
    header: string;
    /**
     * Defines single/multiple classes (separated by a space) are to be used for Accordion item customization.
     *
     * @default null
     */
    cssClass: string;
    /**
     * Defines an icon with the given custom CSS class that is to be rendered before the header text.
     * Add the css classes to the `iconCss` property and write the css styles to the defined class to set images/icons.
     * Adding icon is applicable only to the header.
     * ```typescript
     *   let accordionObj$: Accordion = new Accordion( {
     *        items: [
     *          { header: 'Accordion Header', iconCss: 'e-app-icon' }]
     *        });
     *   accordionObj.appendTo('#accordion');
     * ```
     * ```css
     * .e-app-icon::before {
     *   content: "\e710";
     * }
     * ```
     *
     * @default null
     */
    iconCss: string;
    /**
     * Sets the expand (true) or collapse (false) state of the Accordion item. By default, all the items are in a collapsed state.
     *
     * @default false
     */
    expanded: boolean;
    /**
     * Sets false to hide an accordion item.
     *
     * @default true
     */
    visible: boolean;
    /**
     * Sets true to disable an accordion item.
     *
     * @default false
     */
    disabled: boolean;
    /**
     * Sets unique ID to accordion item.
     *
     * @default null
     */
    id: string;
}
/**
 * The Accordion is a vertically collapsible content panel that displays one or more panels at a time within the available space.
 * ```html
 * <div id='accordion'/>
 * <script>
 *   var accordionObj = new Accordion();
 *   accordionObj.appendTo('#accordion');
 * </script>
 * ```
 */
export  class Accordion extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    private lastActiveItemId;
    private trgtEle;
    private ctrlTem;
    private keyModule;
    private initExpand;
    private isNested;
    private isDestroy;
    private templateEle;
    private isAngular;
    private headerTemplateFn;
    private itemTemplateFn;
    private removeRippleEffect;
    /**
     * Contains the keyboard configuration of the Accordion.
     */
    private keyConfigs;
    /**
     * An array of item that is used to specify Accordion items.
     * ```typescript
     *   let accordionObj$: Accordion = new Accordion( {
     *        items: [
     *          { header: 'Accordion Header', content: 'Accordion Content' }]
     *        });
     *   accordionObj.appendTo('#accordion');
     * ```
     *
     * @default []
     */
    items: AccordionItemModel[];
    /**
     * Specifies the datasource for the accordion items.
     *
     * @isdatamanager false
     * @default []
     */
    dataSource: Object[];
    /**
     * Specifies the template option for accordion items.
     *
     * @default null
     */
    itemTemplate: string;
    /**
     * Specifies the header title template option for accordion items.
     *
     * @default null
     */
    headerTemplate: string;
    /**
     * Specifies the width of the Accordion in pixels/number/percentage. Number value is considered as pixels.
     *
     * @default '100%'
     */
    width: string | number;
    /**
     * Specifies the height of the Accordion in pixels/number/percentage. Number value is considered as pixels.
     *
     * @default 'auto'
     */
    height: string | number;
    /**
     * Specifies the expanded items at initial load.
     *
     * @default []
     */
    expandedIndices: number[];
    /**
     * Specifies the options to expand single or multiple panel at a time.
     * The possible values are:
     * - Single: Sets to expand only one Accordion item at a time.
     * - Multiple: Sets to expand more than one Accordion item at a time.
     *
     * @default 'Multiple'
     */
    expandMode: ExpandMode;
    /**
     * Defines whether to allow the cross-scripting site or not.
     *
     * @default false
     */
    enableHtmlSanitizer: boolean;
    /**
     * Specifies the animation configuration settings for expanding and collapsing the panel.
     *
     * @default { expand: { effect: 'SlideDown', duration: 400, easing: 'linear' },
     * collapse: { effect: 'SlideUp', duration: 400, easing: 'linear' }}
     */
    animation: AccordionAnimationSettingsModel;
    /**
     * The event will be fired while clicking anywhere within the Accordion.
     *
     * @event clicked
     */
    clicked: base.EmitType<AccordionClickArgs>;
    /**
     * The event will be fired before the item gets collapsed/expanded.
     *
     * @event expanding
     */
    expanding: base.EmitType<ExpandEventArgs>;
    /**
     * The event will be fired after the item gets collapsed/expanded.
     *
     * @event expanded
     */
    expanded: base.EmitType<ExpandedEventArgs>;
    /**
     * The event will be fired once the control rendering is completed.
     *
     * @event created
     */
    created: base.EmitType<Event>;
    /**
     * The event will be fired when the control gets destroyed.
     *
     * @event destroyed
     */
    destroyed: base.EmitType<Event>;
    /**
     * Initializes a new instance of the Accordion class.
     *
     * @param {AccordionModel} options  - Specifies Accordion model properties as options.
     * @param {string | HTMLElement} element  - Specifies the element that is rendered as an Accordion.
     */
    constructor(options?: AccordionModel, element?: string | HTMLElement);
    /**
     * Removes the control from the DOM and also removes all its related events.
     *
     * @returns {void}
     */
    destroy(): void;
    protected preRender(): void;
    private add;
    private remove;
    /**
     * To initialize the control rendering
     *
     * @private
     * @returns {void}
     */
    protected render(): void;
    private initialize;
    private renderControl;
    private wireFocusEvents;
    private unwireEvents;
    private wireEvents;
    private templateParser;
    private initializeHeaderTemplate;
    private initializeItemTemplate;
    private getHeaderTemplate;
    private getItemTemplate;
    private focusIn;
    private focusOut;
    private ctrlTemplate;
    private toggleIconGenerate;
    private initItemExpand;
    private renderItems;
    private clickHandler;
    private afterContentRender;
    private eleMoveFocus;
    private keyActionHandler;
    private headerEleGenerate;
    private renderInnerItem;
    private angularnativeCondiCheck;
    private fetchElement;
    private ariaAttrUpdate;
    private contentRendering;
    private expand;
    private expandAnimation;
    private expandProgress;
    private expandedItemsPush;
    private getIndexByItem;
    private getItemElements;
    private expandedItemsPop;
    private collapse;
    private collapseAnimation;
    private collapseProgress;
    /**
     * Returns the current module name.
     *
     * @returns {string} - It returns the current module name.
     * @private
     */
    protected getModuleName(): string;
    private itemAttribUpdate;
    private getItems;
    /**
     * Adds new item to the Accordion with the specified index of the Accordion.
     *
     * @param  {AccordionItemModel | AccordionItemModel[] | Object | Object[]} item - Item array that is to be added to the Accordion.
     * @param  {number} index - Number value that determines where the item should be added.
     * By default, item is added at the last index if the index is not specified.
     * @returns {void}
     */
    addItem(item: AccordionItemModel | AccordionItemModel[] | Object | Object[], index?: number): void;
    private expandedItemRefresh;
    /**
     * Dynamically removes item from Accordion.
     *
     * @param  {number} index - Number value that determines which item should be removed.
     * @returns {void}.
     */
    removeItem(index: number): void;
    /**
     * Sets focus to the specified index item header in Accordion.
     *
     * @param  {number} index - Number value that determines which item should be focused.
     * @returns {void}.
     */
    select(index: number): void;
    /**
     * Shows or hides the specified item from Accordion.
     *
     * @param  {number} index - Number value that determines which item should be hidden/shown.
     * @param  {boolean} isHidden - Boolean value that determines the action either hide (true) or show (false). Default value is false.
     * If the `isHidden` value is false, the item is shown or else item it is hidden.
     * @returns {void}.
     */
    hideItem(index: number, isHidden?: boolean): void;
    /**
     * Enables/Disables the specified Accordion item.
     *
     * @param  {number} index - Number value that determines which item should be enabled/disabled.
     * @param  {boolean} isEnable - Boolean value that determines the action as enable (true) or disable (false).
     * If the `isEnable` value is true, the item is enabled or else it is disabled.
     * @returns {void}.
     */
    enableItem(index: number, isEnable: boolean): void;
    /**
     * Expands/Collapses the specified Accordion item.
     *
     * @param  {boolean} isExpand - Boolean value that determines the action as expand or collapse.
     * @param  {number} index - Number value that determines which item should be expanded/collapsed.`index` is optional parameter.
     * Without Specifying index, based on the `isExpand` value all Accordion item can be expanded or collapsed.
     * @returns {void}.
     */
    expandItem(isExpand: boolean, index?: number): void;
    private itemExpand;
    private destroyItems;
    private restoreContent;
    private updateItem;
    private setTemplate;
    private templateCompile;
    protected getPersistData(): string;
    /**
     * Gets called when the model property changes.The data that describes the old and new values of the property that changed.
     *
     * @param  {AccordionModel} newProp - It contains the new value of data.
     * @param  {AccordionModel} oldProp - It contains the old value of data.
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: AccordionModel, oldProp: AccordionModel): void;
}
//node_modules/@syncfusion/ej2-navigations/src/accordion/index.d.ts
/**
 * Accordion all modules
 */
//node_modules/@syncfusion/ej2-navigations/src/appbar/appbar-model.d.ts
/**
 * Interface for a class AppBar
 */
export interface AppBarModel extends base.ComponentModel{
    /**
     *  Specifies the mode of the AppBar that defines the AppBar height. The possible values for this property are as follows:
     *  * Regular
     *  * Prominent
     *  * Dense
     *
     *  @default 'Regular'
     */
    mode?: AppBarMode;
    /**
     *  Specifies the position of the AppBar. The possible values for this property are as follows:
     *  * Top
     *  * Bottom
     *
     *  @default 'Top'
     */
    position?: AppBarPosition;
    /**
     * Accepts single/multiple CSS classes (separated by a space) to be used for AppBar customization.
     *
     * @default null
     */
    cssClass?: string;
    /**
     * Defines whether the AppBar position is fixed or not while scrolling the page.
     * When set to `true`, the AppBar will be sticky while scrolling.
     *
     * @default false
     */
    isSticky?: boolean;
    /**
     * Accepts HTML attributes/custom attributes that will be applied to the AppBar element.
     *
     * @default null
     */
    htmlAttributes?: Record<string, string>;
    /**
     *  Specifies the color mode that defines the color of the AppBar component. The possible values for this property are as follows:
     *  * Light
     *  * Dark
     *  * Primary
     *  * Inherit
     *
     *  @default 'Light'
     */
    colorMode?: AppBarColor;
    /**
     * Triggers after the AppBar component is created.
     *
     * @event created
     */
    created?: base.EmitType<Event>;
    /**
     * Triggers when the AppBar component is destroyed.
     *
     * @event destroyed
     */
    destroyed?: base.EmitType<Event>;
}
//node_modules/@syncfusion/ej2-navigations/src/appbar/appbar.d.ts
/**
 * Specifies the height mode of the AppBar component which defines the height of the AppBar.
 *
 * * `Regular` - Specifies default height for the AppBar.
 * * `Prominent` - Specifies longer height for the AppBar to show the longer titles and images, or to provide a stronger presence.
 * * `Dense` - Specifies compressed (short) height for the AppBar to accommodate all the app bar content in a denser layout.
 */
export  type AppBarMode = 'Regular' | 'Prominent' | 'Dense';
/**
 * Specifies the position of the AppBar.
 *
 * * `Top` - Position the AppBar at the top.
 * * `Bottom` - Position the AppBar at the bottom.
 */
export  type AppBarPosition = 'Top' | 'Bottom';
/**
 * Specifies the color of the AppBar component.
 *
 * * `Light` - Specifies the AppBar in light color.
 * * `Dark` - Specifies the AppBar in dark color.
 * * `Primary` - Specifies the AppBar in a primary color.
 * * `Inherit` - Inherit color from parent for AppBar. AppBar background and colors are inherited from its parent element.
 */
export  type AppBarColor = 'Light' | 'Dark' | 'Primary' | 'Inherit';
/**
 * The AppBar displays the information and actions related to the current application screen. It is used to show branding, screen titles, navigation, and actions.
 * Support to inherit colors from AppBar provided to <c>Button</c>, <c>DropDownButton</c>, <c>Menu</c> and <c>TextBox</c>.
 * Set <c>CssClass</c> property with <code>e-inherit</code> CSS class to inherit the background and color from AppBar.
 */
export  class AppBar extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    /**
     *  Specifies the mode of the AppBar that defines the AppBar height. The possible values for this property are as follows:
     *  * Regular
     *  * Prominent
     *  * Dense
     *
     *  @default 'Regular'
     */
    mode: AppBarMode;
    /**
     *  Specifies the position of the AppBar. The possible values for this property are as follows:
     *  * Top
     *  * Bottom
     *
     *  @default 'Top'
     */
    position: AppBarPosition;
    /**
     * Accepts single/multiple CSS classes (separated by a space) to be used for AppBar customization.
     *
     * @default null
     */
    cssClass: string;
    /**
     * Defines whether the AppBar position is fixed or not while scrolling the page.
     * When set to `true`, the AppBar will be sticky while scrolling.
     *
     * @default false
     */
    isSticky: boolean;
    /**
     * Accepts HTML attributes/custom attributes that will be applied to the AppBar element.
     *
     * @default null
     */
    htmlAttributes: Record<string, string>;
    /**
     *  Specifies the color mode that defines the color of the AppBar component. The possible values for this property are as follows:
     *  * Light
     *  * Dark
     *  * Primary
     *  * Inherit
     *
     *  @default 'Light'
     */
    colorMode: AppBarColor;
    /**
     * Triggers after the AppBar component is created.
     *
     * @event created
     */
    created: base.EmitType<Event>;
    /**
     * Triggers when the AppBar component is destroyed.
     *
     * @event destroyed
     */
    destroyed: base.EmitType<Event>;
    /**
     * Constructor for creating the AppBar widget
     *
     * @param {AppBarModel} options Accepts the AppBar model properties to initiate the rendering
     * @param {string | HTMLElement} element Accepts the DOM element reference
     */
    constructor(options?: AppBarModel, element?: string | HTMLElement);
    /**
     * Removes the control from the DOM and also removes all its related events.
     *
     * @returns {void}
     */
    destroy(): void;
    protected getModuleName(): string;
    protected getPersistData(): string;
    protected preRender(): void;
    protected render(): void;
    onPropertyChanged(newProp: AppBarModel, oldProp: AppBarModel): void;
    private setHtmlAttributes;
    private setHeightMode;
    private setColorMode;
}
//node_modules/@syncfusion/ej2-navigations/src/appbar/index.d.ts
/** AppBar export modules */
//node_modules/@syncfusion/ej2-navigations/src/breadcrumb/breadcrumb-model.d.ts
/**
 * Interface for a class BreadcrumbItem
 */
export interface BreadcrumbItemModel {
    /**
     * Specifies the text content of the Breadcrumb item.
     *
     * @default ''
     */
    text?: string;
    /**
     * Specifies the Url of the Breadcrumb item that will be activated when clicked.
     *
     * @default ''
     */
    url?: string;
    /**
     * Defines a class/multiple classes separated by a space for the item that is used to include an icon.
     *
     * @default null
     */
    iconCss?: string;
    /**
     * Enable or disable the breadcrumb item, when set to true, the breadcrumb item will be disabled.
     *
     * @default false
     */
    disabled?: boolean;
}
/**
 * Interface for a class Breadcrumb
 */
export interface BreadcrumbModel extends base.ComponentModel{
    /**
     * Defines the Url based on which the Breadcrumb items are generated.
     *
     * @default ''
     */
    url?: string;
    /**
     * Defines the list of Breadcrumb items.
     *
     * @default []
     */
    items?: BreadcrumbItemModel[];
    /**
     * Specifies the Url of the active Breadcrumb item.
     *
     * @default ''
     */
    activeItem?: string;
    /**
     * Specifies an integer to enable overflow behavior when the Breadcrumb items count exceeds and it is based on the overflowMode property.
     *
     * @default -1
     * @aspType int
     */
    maxItems?: number;
    /**
     * Specifies the overflow mode of the Breadcrumb item when it exceeds maxItems count. The possible values are,
     * - Default: Specified maxItems count will be visible and the remaining items will be hidden. While clicking on the previous item, the hidden item will become visible.
     * - Collapsed: Only the first and last items will be visible, and the remaining items will be hidden in the collapsed icon. When the collapsed icon is clicked, all items become visible.
     * - Menu: Shows the number of breadcrumb items that can be accommodated within the container space, and creates a sub menu with the remaining items.
     * - Wrap: Wraps the items on multiple lines when the Breadcrumb’s width exceeds the container space.
     * - Scroll: Shows an HTML scroll bar when the Breadcrumb’s width exceeds the container space.
     * - None: Shows all the items on a single line.
     * 
     * @default 'Menu'
     */
    overflowMode?: BreadcrumbOverflowMode;
    /**
     * Defines class/multiple classes separated by a space in the Breadcrumb element.
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * Specifies the template for Breadcrumb item.
     *
     * @default null
     */
    itemTemplate?: string;
    /**
     * Specifies the separator template for Breadcrumb.
     *
     * @default '/'
     */
    separatorTemplate?: string;
    /**
     * Enable or disable the item's navigation, when set to false, each item navigation will be prevented.
     *
     * @default true
     */
    enableNavigation?: boolean;
    /**
     * Enable or disable the active item navigation, when set to true, active item will be navigable.
     *
     * @default false
     */
    enableActiveItemNavigation?: boolean;
    /**
     * Enable or disable the breadcrumb, when set to true, the breadcrumb will be disabled.
     *
     * @default false
     */
    disabled?: boolean;
    /**
     * Overrides the global culture and localization value for this component. Default global culture is 'en-US'.
     *
     * @default ''
     * @private
     * @aspIgnore
     */
    locale?: string;
    /**
     * Triggers while rendering each breadcrumb item.
     *
     * @event beforeItemRender
     */
    beforeItemRender?: base.EmitType<BreadcrumbBeforeItemRenderEventArgs>;
    /**
     * Triggers while clicking the breadcrumb item.
     *
     * @event itemClick
     */
    itemClick?: base.EmitType<BreadcrumbClickEventArgs>;
    /**
     * Triggers once the component rendering is completed.
     *
     * @event created
     */
    created?: base.EmitType<Event>;
}
//node_modules/@syncfusion/ej2-navigations/src/breadcrumb/breadcrumb.d.ts
/**
 * Defines the Breadcrumb overflow modes.
 */
export  type BreadcrumbOverflowMode = 'Hidden' | 'Collapsed' | 'Menu' | 'Wrap' | 'Scroll' | 'None';
export  class BreadcrumbItem extends base.ChildProperty<BreadcrumbItem> {
    /**
     * Specifies the text content of the Breadcrumb item.
     *
     * @default ''
     */
    text: string;
    /**
     * Specifies the Url of the Breadcrumb item that will be activated when clicked.
     *
     * @default ''
     */
    url: string;
    /**
     * Defines a class/multiple classes separated by a space for the item that is used to include an icon.
     *
     * @default null
     */
    iconCss: string;
    /**
     * Enable or disable the breadcrumb item, when set to true, the breadcrumb item will be disabled.
     *
     * @default false
     */
    disabled: boolean;
}
/**
 * Interface for item click event.
 */
export interface BreadcrumbClickEventArgs extends base.BaseEventArgs {
    /**
     * Specifies the item's element.
     */
    element: HTMLElement;
    /**
     * Specifies the Breadcrumb item.
     */
    item: BreadcrumbItemModel;
    /**
     * Specifies the item click event.
     */
    event: Event;
}
/**
 * Interface for before item render event.
 */
export interface BreadcrumbBeforeItemRenderEventArgs extends base.BaseEventArgs {
    /**
     * Specifies the item's element.
     */
    element: HTMLElement;
    /**
     * Specifies the Breadcrumb item.
     */
    item: BreadcrumbItemModel;
    /**
     * Cancels the Breadcrumb item rendering.
     */
    cancel: boolean;
}
/**
 * Breadcrumb is a graphical user interface that helps to identify or highlight the current location within a hierarchical structure of websites.
 * The aim is to make the user aware of their current position in a hierarchy of website links.
 * ```html
 * <nav id='breadcrumb'></nav>
 * ```
 * ```typescript
 * <script>
 * var breadcrumbObj = new Breadcrumb({ items: [{ text: 'Home', url: '/' }, { text: 'Index', url: './index.html }]});
 * breadcrumbObj.appendTo("#breadcrumb");
 * </script>
 * ```
 */
export  class Breadcrumb extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    private isExpanded;
    private startIndex;
    private endIndex;
    private _maxItems;
    private popupObj;
    private popupUl;
    private delegateClickHanlder;
    /**
     * Defines the Url based on which the Breadcrumb items are generated.
     *
     * @default ''
     */
    url: string;
    /**
     * Defines the list of Breadcrumb items.
     *
     * @default []
     */
    items: BreadcrumbItemModel[];
    /**
     * Specifies the Url of the active Breadcrumb item.
     *
     * @default ''
     */
    activeItem: string;
    /**
     * Specifies an integer to enable overflow behavior when the Breadcrumb items count exceeds and it is based on the overflowMode property.
     *
     * @default -1
     * @aspType int
     */
    maxItems: number;
    /**
     * Specifies the overflow mode of the Breadcrumb item when it exceeds maxItems count. The possible values are,
     * - Default: Specified maxItems count will be visible and the remaining items will be hidden. While clicking on the previous item, the hidden item will become visible.
     * - Collapsed: Only the first and last items will be visible, and the remaining items will be hidden in the collapsed icon. When the collapsed icon is clicked, all items become visible.
     * - Menu: Shows the number of breadcrumb items that can be accommodated within the container space, and creates a sub menu with the remaining items.
     * - Wrap: Wraps the items on multiple lines when the Breadcrumb’s width exceeds the container space.
     * - Scroll: Shows an HTML scroll bar when the Breadcrumb’s width exceeds the container space.
     * - None: Shows all the items on a single line.
     *
     * @default 'Menu'
     */
    overflowMode: BreadcrumbOverflowMode;
    /**
     * Defines class/multiple classes separated by a space in the Breadcrumb element.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * Specifies the template for Breadcrumb item.
     *
     * @default null
     */
    itemTemplate: string;
    /**
     * Specifies the separator template for Breadcrumb.
     *
     * @default '/'
     */
    separatorTemplate: string;
    /**
     * Enable or disable the item's navigation, when set to false, each item navigation will be prevented.
     *
     * @default true
     */
    enableNavigation: boolean;
    /**
     * Enable or disable the active item navigation, when set to true, active item will be navigable.
     *
     * @default false
     */
    enableActiveItemNavigation: boolean;
    /**
     * Enable or disable the breadcrumb, when set to true, the breadcrumb will be disabled.
     *
     * @default false
     */
    disabled: boolean;
    /**
     * Overrides the global culture and localization value for this component. Default global culture is 'en-US'.
     *
     * @default ''
     * @private
     * @aspIgnore
     */
    locale: string;
    /**
     * Triggers while rendering each breadcrumb item.
     *
     * @event beforeItemRender
     */
    beforeItemRender: base.EmitType<BreadcrumbBeforeItemRenderEventArgs>;
    /**
     * Triggers while clicking the breadcrumb item.
     *
     * @event itemClick
     */
    itemClick: base.EmitType<BreadcrumbClickEventArgs>;
    /**
     * Triggers once the component rendering is completed.
     *
     * @event created
     */
    created: base.EmitType<Event>;
    /**
     * Constructor for creating the widget.
     *
     * @private
     * @param {BreadcrumbModel} options - Specifies the Breadcrumb model.
     * @param {string | HTMLElement} element - Specifies the element.
     */
    constructor(options?: BreadcrumbModel, element?: string | HTMLElement);
    /**
     * @private
     * @returns {void}
     */
    protected preRender(): void;
    /**
     * Initialize the control rendering.
     *
     * @private
     * @returns {void}
     */
    protected render(): void;
    private initialize;
    private initPvtProps;
    private getEndIndex;
    private initItems;
    private renderItems;
    private calculateMaxItems;
    private hasField;
    private getMenuElement;
    private beforeItemRenderChanges;
    private reRenderItems;
    private clickHandler;
    private renderPopup;
    private documentClickHandler;
    private resize;
    private expandHandler;
    private keyDownHandler;
    private popupKeyDownHandler;
    /**
     * Called internally if any of the property value changed.
     *
     * @private
     * @param {BreadcrumbModel} newProp - Specifies the new properties.
     * @param {BreadcrumbModel} oldProp - Specifies the old properties.
     * @returns {void}
     */
    onPropertyChanged(newProp: BreadcrumbModel, oldProp: BreadcrumbModel): void;
    private wireEvents;
    private popupWireEvents;
    private unWireEvents;
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @returns {string} - Persist data
     */
    protected getPersistData(): string;
    /**
     * Get module name.
     *
     * @private
     * @returns {string} - Module Name
     */
    protected getModuleName(): string;
    /**
     * Destroys the widget.
     *
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-navigations/src/breadcrumb/index.d.ts
/**
 * Breadcrumb modules
 */
//node_modules/@syncfusion/ej2-navigations/src/carousel/carousel-model.d.ts
/**
 * Interface for a class CarouselItem
 */
export interface CarouselItemModel {
    /**
     * Accepts single/multiple classes (separated by a space) to be used for individual carousel item customization.
     *
     * @default null
     */
    cssClass?: string;
    /**
     * Accepts the interval duration in milliseconds for individual carousel item transition.
     *
     * @default null
     */
    interval?: number;
    /**
     * Accepts the template for individual carousel item.
     *
     * @default null
     */
    template?: string;
    /**
     * Accepts HTML base.attributes/custom base.attributes to add in individual carousel item.
     *
     * @default null
     */
    htmlAttributes?: Record<string, string>;
}
/**
 * Interface for a class Carousel
 */
export interface CarouselModel extends base.ComponentModel{
    /**
     * Allows defining the collection of carousel item to be displayed on the Carousel.
     *
     * @default []
     */
    items?: CarouselItemModel[];
    /**
     *  Specifies the type of animation effects. The possible values for this property as follows
     *  * None
     *  * Slide
     *  * Fade
     *  * Custom
     *
     *  @default 'Slide'
     */
    animationEffect?: CarouselAnimationEffect;
    /**
     * Accepts the template for previous navigation button.
     *
     * @default null
     */
    previousButtonTemplate?: string;
    /**
     * Accepts the template for next navigation button.
     *
     * @default null
     */
    nextButtonTemplate?: string;
    /**
     * Accepts the template for indicator buttons.
     *
     * @default null
     */
    indicatorsTemplate?: string;
    /**
     * Accepts the template for play/pause button.
     *
     * @default null
     */
    playButtonTemplate?: string;
    /**
     * Accepts single/multiple classes (separated by a space) to be used for carousel customization.
     *
     * @default null
     */
    cssClass?: string;
    /**
     * Specifies the datasource for the carousel items.
     *
     * @isdatamanager false
     * @default []
     */
    dataSource?: Record<string, any>[];
    /**
     * Specifies the template option for carousel items.
     *
     * @default null
     */
    itemTemplate?: string;
    /**
     * Specifies index of the current carousel item.
     *
     * @default 0
     */
    selectedIndex?: number;
    /**
     * Specifies the width of the Carousel in pixels/number/percentage. The number value is considered as pixels.
     *
     * @default '100%'
     */
    width?: string | number;
    /**
     * Specifies the height of the Carousel in pixels/number/percentage. The number value is considered as pixels.
     *
     * @default '100%'
     */
    height?: string | number;
    /**
     * Specifies the interval duration in milliseconds for carousel item transition.
     *
     * @default 5000
     */
    interval?: number;
    /**
     * Defines whether the slide transition is automatic or manual.
     *
     * @default true
     */
    autoPlay?: boolean;
    /**
     * Defines whether the slide transition gets pause on hover or not.
     *
     * @default true
     */
    pauseOnHover?: boolean;
    /**
     * Defines whether the slide transitions loop end or not. When set to false, the transition stops at last slide.
     *
     * @default true
     */
    loop?: boolean;
    /**
     * Defines whether to show play button or not.
     *
     * @default false
     */
    showPlayButton?: boolean;
    /**
     * Defines whether to enable swipe action in touch devices or not.
     *
     * @default true
     */
    enableTouchSwipe?: boolean;
    /**
     * Defines whether to show the indicator positions or not. The indicator positions allow to know the current slide position of the carousel component.
     *
     * @default true
     */
    showIndicators?: boolean;
    /**
     * Defines how to show the previous, next and play pause buttons visibility. The possible values for this property as follows
     * * Hidden
     * * Visible
     * * VisibleOnHover
     *
     * @default 'Visible'
     */
    buttonsVisibility?: CarouselButtonVisibility;
    /**
     * Enables active slide with partial previous/next slides.
     *
     * Slide animation only applicable if the partialVisible is enabled.
     *
     * @default false
     */
    partialVisible?: boolean;
    /**
     * Accepts HTML base.attributes/custom base.attributes to add in individual carousel item.
     *
     * @default null
     */
    htmlAttributes?: Record<string, string>;
    /**
     * The event will be fired before the slide change.
     *
     * @event slideChanging
     */
    slideChanging?: base.EmitType<SlideChangingEventArgs>;
    /**
     * The event will be fired after the slide changed.
     *
     * @event slideChanged
     */
    slideChanged?: base.EmitType<SlideChangedEventArgs>;
}
//node_modules/@syncfusion/ej2-navigations/src/carousel/carousel.d.ts
/**
 * Specifies the direction of previous/next button navigations in carousel.
 *
 * * `Previous` - To determine the previous direction of carousel item transition.
 * * `Next` - To determine the next direction of carousel item transition.
 */
export  type CarouselSlideDirection = 'Previous' | 'Next';
/**
 * Specifies the state of navigation buttons displayed in carousel.
 *
 * * `Hidden` - Navigation buttons are hidden.
 * * `Visible` - Navigation buttons are visible.
 * * `VisibleOnHover` - Navigation buttons are visible only when we hover the carousel.
 */
export  type CarouselButtonVisibility = 'Hidden' | 'Visible' | 'VisibleOnHover';
/**
 * Specifies the animation effects of carousel slide.
 *
 * * `None` - The carousel item transition happens without animation.
 * * `Slide` - The carousel item transition happens with slide animation.
 * * `Fade` - The Carousel item transition happens with fade animation.
 * * `Custom` - The Carousel item transition happens with custom animation.
 */
export  type CarouselAnimationEffect = 'None' | 'Fade' | 'Slide' | 'Custom';
/** An interface that holds details when changing the slide. */
export interface SlideChangingEventArgs extends base.BaseEventArgs {
    /** Specifies the index of current slide. */
    currentIndex: number;
    /** Specifies the element of current slide. */
    currentSlide: HTMLElement;
    /** Specifies the index of slide to be changed. */
    nextIndex: number;
    /** Specifies the element of slide to be changed. */
    nextSlide: HTMLElement;
    /** Specifies whether the slide transition occur through swiping or not. */
    isSwiped: boolean;
    /** Specifies the slide direction in which transition occurs. */
    slideDirection: CarouselSlideDirection;
    /** Specifies whether the slide transition should occur or not. */
    cancel: boolean;
}
/** An interface that holds details once slide change done. */
export interface SlideChangedEventArgs extends base.BaseEventArgs {
    /** Specifies the index of current slide. */
    currentIndex: number;
    /** Specifies the element of current slide. */
    currentSlide: HTMLElement;
    /** Specifies the index of slide from which it changed. */
    previousIndex: number;
    /** Specifies the element of slide from which it changed. */
    previousSlide: HTMLElement;
    /** Specifies whether the slide transition done through swiping or not. */
    isSwiped: boolean;
    /** Specifies the slide direction in which transition occurred. */
    slideDirection: CarouselSlideDirection;
}
/** Specifies the carousel individual item. */
export  class CarouselItem extends base.ChildProperty<CarouselItem> {
    /**
     * Accepts single/multiple classes (separated by a space) to be used for individual carousel item customization.
     *
     * @default null
     */
    cssClass: string;
    /**
     * Accepts the interval duration in milliseconds for individual carousel item transition.
     *
     * @default null
     */
    interval: number;
    /**
     * Accepts the template for individual carousel item.
     *
     * @default null
     */
    template: string;
    /**
     * Accepts HTML attributes/custom attributes to add in individual carousel item.
     *
     * @default null
     */
    htmlAttributes: Record<string, string>;
}
export  class Carousel extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    private autoSlideInterval;
    private slideItems;
    private touchModule;
    private keyModule;
    private keyConfigs;
    private slideChangedEventArgs;
    private localeObj;
    /**
     * Allows defining the collection of carousel item to be displayed on the Carousel.
     *
     * @default []
     */
    items: CarouselItemModel[];
    /**
     *  Specifies the type of animation effects. The possible values for this property as follows
     *  * None
     *  * Slide
     *  * Fade
     *  * Custom
     *
     *  @default 'Slide'
     */
    animationEffect: CarouselAnimationEffect;
    /**
     * Accepts the template for previous navigation button.
     *
     * @default null
     */
    previousButtonTemplate: string;
    /**
     * Accepts the template for next navigation button.
     *
     * @default null
     */
    nextButtonTemplate: string;
    /**
     * Accepts the template for indicator buttons.
     *
     * @default null
     */
    indicatorsTemplate: string;
    /**
     * Accepts the template for play/pause button.
     *
     * @default null
     */
    playButtonTemplate: string;
    /**
     * Accepts single/multiple classes (separated by a space) to be used for carousel customization.
     *
     * @default null
     */
    cssClass: string;
    /**
     * Specifies the datasource for the carousel items.
     *
     * @isdatamanager false
     * @default []
     */
    dataSource: Record<string, any>[];
    /**
     * Specifies the template option for carousel items.
     *
     * @default null
     */
    itemTemplate: string;
    /**
     * Specifies index of the current carousel item.
     *
     * @default 0
     */
    selectedIndex: number;
    /**
     * Specifies the width of the Carousel in pixels/number/percentage. The number value is considered as pixels.
     *
     * @default '100%'
     */
    width: string | number;
    /**
     * Specifies the height of the Carousel in pixels/number/percentage. The number value is considered as pixels.
     *
     * @default '100%'
     */
    height: string | number;
    /**
     * Specifies the interval duration in milliseconds for carousel item transition.
     *
     * @default 5000
     */
    interval: number;
    /**
     * Defines whether the slide transition is automatic or manual.
     *
     * @default true
     */
    autoPlay: boolean;
    /**
     * Defines whether the slide transition gets pause on hover or not.
     *
     * @default true
     */
    pauseOnHover: boolean;
    /**
     * Defines whether the slide transitions loop end or not. When set to false, the transition stops at last slide.
     *
     * @default true
     */
    loop: boolean;
    /**
     * Defines whether to show play button or not.
     *
     * @default false
     */
    showPlayButton: boolean;
    /**
     * Defines whether to enable swipe action in touch devices or not.
     *
     * @default true
     */
    enableTouchSwipe: boolean;
    /**
     * Defines whether to show the indicator positions or not. The indicator positions allow to know the current slide position of the carousel component.
     *
     * @default true
     */
    showIndicators: boolean;
    /**
     * Defines how to show the previous, next and play pause buttons visibility. The possible values for this property as follows
     * * Hidden
     * * Visible
     * * VisibleOnHover
     *
     * @default 'Visible'
     */
    buttonsVisibility: CarouselButtonVisibility;
    /**
     * Enables active slide with partial previous/next slides.
     *
     * Slide animation only applicable if the partialVisible is enabled.
     *
     * @default false
     */
    partialVisible: boolean;
    /**
     * Accepts HTML attributes/custom attributes to add in individual carousel item.
     *
     * @default null
     */
    htmlAttributes: Record<string, string>;
    /**
     * The event will be fired before the slide change.
     *
     * @event slideChanging
     */
    slideChanging: base.EmitType<SlideChangingEventArgs>;
    /**
     * The event will be fired after the slide changed.
     *
     * @event slideChanged
     */
    slideChanged: base.EmitType<SlideChangedEventArgs>;
    /**
     * Constructor for creating the Carousel widget
     *
     * @param {CarouselModel} options Accepts the carousel model properties to initiate the rendering
     * @param {string | HTMLElement} element Accepts the DOM element reference
     */
    constructor(options?: CarouselModel, element?: string | HTMLElement);
    protected getModuleName(): string;
    protected getPersistData(): string;
    protected preRender(): void;
    protected render(): void;
    onPropertyChanged(newProp: CarouselModel, oldProp: CarouselModel): void;
    private reRenderSlides;
    private initialize;
    private renderSlides;
    private renderSlide;
    private renderNavigators;
    private renderNavigatorButton;
    private renderPlayButton;
    private renderIndicators;
    private renderKeyboardActions;
    private renderTouchActions;
    private applyAnimation;
    private autoSlide;
    private autoSlideChange;
    private applySlideInterval;
    private resetSlideInterval;
    private getSlideIndex;
    private setActiveSlide;
    private onTransitionEnd;
    private setHtmlAttributes;
    private templateParser;
    private getNavigatorState;
    private navigatorClickHandler;
    private indicatorClickHandler;
    private playButtonClickHandler;
    private keyHandler;
    private swipeHandler;
    private isSuspendSlideTransition;
    private handleNavigatorsActions;
    private onHoverActions;
    private onFocusActions;
    private destroyButtons;
    private wireEvents;
    private unWireEvents;
    /**
     * Method to transit from the current slide to the previous slide.
     *
     * @returns {void}
     */
    prev(): void;
    /**
     * Method to transit from the current slide to the next slide.
     *
     * @returns {void}
     */
    next(): void;
    /**
     * Method to play the slides programmatically.
     *
     * @returns {void}
     */
    play(): void;
    /**
     * Method to pause the slides programmatically.
     *
     * @returns {void}
     */
    pause(): void;
    /**
     * Method to render react and angular templates
     *
     * @returns {void}
     * @private
     */
    private renderTemplates;
    /**
     * Method to reset react and angular templates
     *
     * @param {string[]} templates Accepts the template ID
     * @returns {void}
     * @private
     */
    private resetTemplates;
    /**
     * Method for destroy the carousel component.
     *
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-navigations/src/carousel/index.d.ts
/** Carousel export modules */
//node_modules/@syncfusion/ej2-navigations/src/common/h-scroll-model.d.ts
/**
 * Interface for a class HScroll
 */
export interface HScrollModel extends base.ComponentModel{
    /**
     * Specifies the left or right scrolling distance of the horizontal scrollbar moving.
     *
     * @default null
     */
    scrollStep?: number;
}
//node_modules/@syncfusion/ej2-navigations/src/common/h-scroll.d.ts
/**
 * HScroll module is introduces horizontal scroller when content exceeds the current viewing area.
 * It can be useful for the components like Toolbar, Tab which needs horizontal scrolling alone.
 * Hidden content can be view by touch moving or icon click.
 * ```html
 * <div id="scroll"/>
 * <script>
 *   var scrollObj = new HScroll();
 *   scrollObj.appendTo("#scroll");
 * </script>
 * ```
 */
export  class HScroll extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    private isDevice;
    private touchModule;
    private scrollEle;
    private scrollItems;
    private uniqueId;
    private timeout;
    private keyTimeout;
    private keyTimer;
    private browser;
    private browserCheck;
    private ieCheck;
    private customStep;
    /**
     * Specifies the left or right scrolling distance of the horizontal scrollbar moving.
     *
     * @default null
     */
    scrollStep: number;
    /**
     * Initialize the event handler
     *
     * @private
     * @returns {void}
     */
    protected preRender(): void;
    /**
     * To Initialize the horizontal scroll  rendering
     *
     * @private
     * @returns {void}
     */
    protected render(): void;
    private setScrollState;
    /**
     * Initializes a new instance of the HScroll class.
     *
     * @param {HScrollModel} options  - Specifies HScroll model properties as options.
     * @param {string | HTMLElement} element  - Specifies the element for which horizontal scrolling applies.
     */
    constructor(options?: HScrollModel, element?: string | HTMLElement);
    private initialize;
    protected getPersistData(): string;
    /**
     * Returns the current module name.
     *
     * @returns {string} - It returns the current module name.
     * @private
     */
    protected getModuleName(): string;
    /**
     * Removes the control from the DOM and also removes all its related events.
     *
     * @returns {void}
     */
    destroy(): void;
    /**
     * Specifies the value to disable/enable the HScroll component.
     * When set to `true` , the component will be disabled.
     *
     * @param  {boolean} value - Based on this Boolean value, HScroll will be enabled (false) or disabled (true).
     * @returns {void}.
     */
    disable(value: boolean): void;
    private createOverlay;
    private createNavIcon;
    private onKeyPress;
    private onKeyUp;
    private eventBinding;
    private repeatScroll;
    private tabHoldHandler;
    private contains;
    private eleScrolling;
    private clickEventHandler;
    private swipeHandler;
    private scrollUpdating;
    private frameScrollRequest;
    private touchHandler;
    private arrowDisabling;
    private scrollHandler;
    /**
     * Gets called when the model property changes.The data that describes the old and new values of property that changed.
     *
     * @param  {HScrollModel} newProp - It contains the new value of data.
     * @param  {HScrollModel} oldProp - It contains the old value of data.
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: HScrollModel, oldProp: HScrollModel): void;
}
//node_modules/@syncfusion/ej2-navigations/src/common/index.d.ts
/**
 * Navigation Common modules
 */
//node_modules/@syncfusion/ej2-navigations/src/common/menu-base-model.d.ts
/**
 * Interface for a class FieldSettings
 */
export interface FieldSettingsModel {
    /**
     * Specifies the itemId field for Menu item.
     *
     * @default 'id'
     */
    itemId?: string | string[];
    /**
     * Specifies the parentId field for Menu item.
     *
     * @default 'parentId'
     */
    parentId?: string | string[];
    /**
     * Specifies the text field for Menu item.
     *
     * @default 'text'
     */
    text?: string | string[];
    /**
     * Specifies the css icon field for Menu item.
     *
     * @default 'iconCss'
     */
    iconCss?: string | string[];
    /**
     * Specifies the Url field for Menu item.
     *
     * @default 'url'
     */
    url?: string | string[];
    /**
     * Specifies the separator field for Menu item.
     *
     * @default 'separator'
     */
    separator?: string | string[];
    /**
     * Specifies the children field for Menu item.
     *
     * @default 'items'
     */
    children?: string | string[];
}
/**
 * Interface for a class MenuItem
 */
export interface MenuItemModel {
    /**
     * Defines class/multiple classes separated by a space for the menu Item that is used to include an icon.
     * Menu Item can include font icon and sprite image.
     *
     * @default null
     */
    iconCss?: string;
    /**
     * Specifies the id for menu item.
     *
     * @default ''
     */
    id?: string;
    /**
     * Specifies separator between the menu items. Separator are either horizontal or vertical lines used to group menu items.
     *
     * @default false
     */
    separator?: boolean;
    /**
     * Specifies the sub menu items that is the array of MenuItem model.
     *
     * @default []
     */
    items?: MenuItemModel[];
    /**
     * Specifies text for menu item.
     *
     * @default ''
     */
    text?: string;
    /**
     * Specifies url for menu item that creates the anchor link to navigate to the url provided.
     *
     * @default ''
     */
    url?: string;
}
/**
 * Interface for a class MenuAnimationSettings
 */
export interface MenuAnimationSettingsModel {
    /**
     * Specifies the effect that shown in the sub menu transform.
     * The possible effects are:
     * * None: Specifies the sub menu transform with no animation effect.
     * * SlideDown: Specifies the sub menu transform with slide down effect.
     * * ZoomIn: Specifies the sub menu transform with zoom in effect.
     * * FadeIn: Specifies the sub menu transform with fade in effect.
     *
     * @default 'SlideDown'
     * @aspType Syncfusion.EJ2.Navigations.MenuEffect
     * @blazorType Syncfusion.EJ2.Navigations.MenuEffect
     * @isEnumeration true
     */
    effect?: MenuEffect;
    /**
     * Specifies the time duration to transform object.
     *
     * @default 400
     */
    duration?: number;
    /**
     * Specifies the easing effect applied while transform.
     *
     * @default 'ease'
     */
    easing?: string;
}
/**
 * Interface for a class MenuBase
 * @private
 */
export interface MenuBaseModel extends base.ComponentModel{
    /**
     * Triggers while rendering each menu item.
     *
     * @event beforeItemRender
     * @blazorProperty 'OnItemRender'
     */
    beforeItemRender?: base.EmitType<MenuEventArgs>;
    /**
     * Triggers before opening the menu item.
     *
     * @event beforeOpen
     * @blazorProperty 'OnOpen'
     */
    beforeOpen?: base.EmitType<BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers while opening the menu item.
     *
     * @event onOpen
     * @blazorProperty 'Opened'
     */
    onOpen?: base.EmitType<OpenCloseMenuEventArgs>;
    /**
     * Triggers before closing the menu.
     *
     * @event beforeClose
     * @blazorProperty 'OnClose'
     */
    beforeClose?: base.EmitType<BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers while closing the menu.
     *
     * @event onClose
     * @blazorProperty 'Closed'
     */
    onClose?: base.EmitType<OpenCloseMenuEventArgs>;
    /**
     * Triggers while selecting menu item.
     *
     * @event base.select
     * @blazorProperty 'ItemSelected'
     */
    select?: base.EmitType<MenuEventArgs>;
    /**
     * Triggers once the component rendering is completed.
     *
     * @event created
     * @blazorProperty 'Created'
     */
    created?: base.EmitType<Event>;
    /**
     * Defines class/multiple classes separated by a space in the Menu wrapper.
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * If hoverDelay is set by particular number, the menu will open after that period.
     *
     * @default 0
     */
    hoverDelay?: number;
    /**
     * Specifies whether to show the sub menu or not on click.
     * When set to true, the sub menu will open only on mouse click.
     *
     * @default false
     */
    showItemOnClick?: boolean;
    /**
     * Specifies target element selector in which the ContextMenu should be opened.
     * Specifies target element to open/close Menu while click in Hamburger mode.
     *
     * @default ''
     * @private
     */
    target?: string;
    /**
     * Specifies the filter selector for elements inside the target in that the context menu will be opened.
     * Not applicable to Menu component.
     *
     * @default ''
     * @private
     */
    filter?: string;
    /**
     * Specifies the template for Menu item.
     * Not applicable to ContextMenu component.
     *
     * @default null
     * @private
     */
    template?: string;
    /**
     * Specifies whether to enable / disable the scrollable option in Menu.
     * Not applicable to ContextMenu component.
     *
     * @default false
     * @private
     */
    enableScrolling?: boolean;
    /**
     * Defines whether to allow the cross-scripting site or not.
     *
     * @default false
     */
    enableHtmlSanitizer?: boolean;
    /**
     * Specifies mapping fields from the dataSource.
     * Not applicable to ContextMenu component.
     *
     * @default { itemId: "id", text: "text", parentId: "parentId", iconCss: "iconCss", url: "url", separator: "separator",
     * children: "items" }
     * @private
     */
    // eslint:disable-next-line
    fields?: FieldSettingsModel;
    /**
     * Specifies menu items with its properties which will be rendered as Menu.
     *
     * @default []
     */
    items?: MenuItemModel[] | { [key: string]: Object }[];
    /**
     * Specifies the animation settings for the sub menu open.
     *
     * @default { duration: 400, easing: 'ease', effect: 'SlideDown' }
     */
    animationSettings?: MenuAnimationSettingsModel;
}
//node_modules/@syncfusion/ej2-navigations/src/common/menu-base.d.ts
/**
 * Sub menu open type
 */
export  type MenuOpenType = 'Auto' | 'Click' | 'Hover';
/**
 * Menu animation effects
 */
export  type MenuEffect = 'None' | 'SlideDown' | 'ZoomIn' | 'FadeIn';
/**
 * Configures the field options of the Menu.
 */
export  class FieldSettings extends base.ChildProperty<FieldSettings> {
    /**
     * Specifies the itemId field for Menu item.
     *
     * @default 'id'
     */
    itemId: string | string[];
    /**
     * Specifies the parentId field for Menu item.
     *
     * @default 'parentId'
     */
    parentId: string | string[];
    /**
     * Specifies the text field for Menu item.
     *
     * @default 'text'
     */
    text: string | string[];
    /**
     * Specifies the css icon field for Menu item.
     *
     * @default 'iconCss'
     */
    iconCss: string | string[];
    /**
     * Specifies the Url field for Menu item.
     *
     * @default 'url'
     */
    url: string | string[];
    /**
     * Specifies the separator field for Menu item.
     *
     * @default 'separator'
     */
    separator: string | string[];
    /**
     * Specifies the children field for Menu item.
     *
     * @default 'items'
     */
    children: string | string[];
}
/**
 * Specifies menu items.
 */
export  class MenuItem1 extends base.ChildProperty<MenuItem1> {
    /**
     * Defines class/multiple classes separated by a space for the menu Item that is used to include an icon.
     * Menu Item can include font icon and sprite image.
     *
     * @default null
     */
    iconCss: string;
    /**
     * Specifies the id for menu item.
     *
     * @default ''
     */
    id: string;
    /**
     * Specifies separator between the menu items. Separator are either horizontal or vertical lines used to group menu items.
     *
     * @default false
     */
    separator: boolean;
    /**
     * Specifies the sub menu items that is the array of MenuItem model.
     *
     * @default []
     */
    items: MenuItemModel[];
    /**
     * Specifies text for menu item.
     *
     * @default ''
     */
    text: string;
    /**
     * Specifies url for menu item that creates the anchor link to navigate to the url provided.
     *
     * @default ''
     */
    url: string;
}
/**
 * Animation configuration settings.
 */
export  class MenuAnimationSettings extends base.ChildProperty<MenuAnimationSettings> {
    /**
     * Specifies the effect that shown in the sub menu transform.
     * The possible effects are:
     * * None: Specifies the sub menu transform with no animation effect.
     * * SlideDown: Specifies the sub menu transform with slide down effect.
     * * ZoomIn: Specifies the sub menu transform with zoom in effect.
     * * FadeIn: Specifies the sub menu transform with fade in effect.
     *
     * @default 'SlideDown'
     * @aspType Syncfusion.EJ2.Navigations.MenuEffect
     * @blazorType Syncfusion.EJ2.Navigations.MenuEffect
     * @isEnumeration true
     */
    effect: MenuEffect;
    /**
     * Specifies the time duration to transform object.
     *
     * @default 400
     */
    duration: number;
    /**
     * Specifies the easing effect applied while transform.
     *
     * @default 'ease'
     */
    easing: string;
}
/**
 * Base class for Menu and ContextMenu components.
 *
 *  @private
 */
export  abstract class MenuBase extends base.Component<HTMLUListElement> implements base.INotifyPropertyChanged {
    private clonedElement;
    private targetElement;
    private delegateClickHandler;
    private delegateMoverHandler;
    private delegateMouseDownHandler;
    private navIdx;
    private animation;
    private isTapHold;
    protected isMenu: boolean;
    protected hamburgerMode: boolean;
    protected title: string;
    private rippleFn;
    private uList;
    private lItem;
    private popupObj;
    private popupWrapper;
    private isNestedOrVertical;
    private top;
    private left;
    private keyType;
    private showSubMenu;
    private action;
    private cli;
    private cliIdx;
    private isClosed;
    private liTrgt;
    private isMenusClosed;
    private isCMenu;
    private pageX;
    private pageY;
    private tempItem;
    private showSubMenuOn;
    private defaultOption;
    private timer;
    private currentTarget;
    /**
     * Triggers while rendering each menu item.
     *
     * @event beforeItemRender
     * @blazorProperty 'OnItemRender'
     */
    beforeItemRender: base.EmitType<MenuEventArgs>;
    /**
     * Triggers before opening the menu item.
     *
     * @event beforeOpen
     * @blazorProperty 'OnOpen'
     */
    beforeOpen: base.EmitType<BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers while opening the menu item.
     *
     * @event onOpen
     * @blazorProperty 'Opened'
     */
    onOpen: base.EmitType<OpenCloseMenuEventArgs>;
    /**
     * Triggers before closing the menu.
     *
     * @event beforeClose
     * @blazorProperty 'OnClose'
     */
    beforeClose: base.EmitType<BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers while closing the menu.
     *
     * @event onClose
     * @blazorProperty 'Closed'
     */
    onClose: base.EmitType<OpenCloseMenuEventArgs>;
    /**
     * Triggers while selecting menu item.
     *
     * @event select
     * @blazorProperty 'ItemSelected'
     */
    select: base.EmitType<MenuEventArgs>;
    /**
     * Triggers once the component rendering is completed.
     *
     * @event created
     * @blazorProperty 'Created'
     */
    created: base.EmitType<Event>;
    /**
     * Defines class/multiple classes separated by a space in the Menu wrapper.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * If hoverDelay is set by particular number, the menu will open after that period.
     *
     * @default 0
     */
    hoverDelay: number;
    /**
     * Specifies whether to show the sub menu or not on click.
     * When set to true, the sub menu will open only on mouse click.
     *
     * @default false
     */
    showItemOnClick: boolean;
    /**
     * Specifies target element selector in which the ContextMenu should be opened.
     * Specifies target element to open/close Menu while click in Hamburger mode.
     *
     * @default ''
     * @private
     */
    target: string;
    /**
     * Specifies the filter selector for elements inside the target in that the context menu will be opened.
     * Not applicable to Menu component.
     *
     * @default ''
     * @private
     */
    filter: string;
    /**
     * Specifies the template for Menu item.
     * Not applicable to ContextMenu component.
     *
     * @default null
     * @private
     */
    template: string;
    /**
     * Specifies whether to enable / disable the scrollable option in Menu.
     * Not applicable to ContextMenu component.
     *
     * @default false
     * @private
     */
    enableScrolling: boolean;
    /**
     * Defines whether to allow the cross-scripting site or not.
     *
     * @default false
     */
    enableHtmlSanitizer: boolean;
    /**
     * Specifies mapping fields from the dataSource.
     * Not applicable to ContextMenu component.
     *
     * @default { itemId: "id", text: "text", parentId: "parentId", iconCss: "iconCss", url: "url", separator: "separator",
     * children: "items" }
     * @private
     */
    fields: FieldSettingsModel;
    /**
     * Specifies menu items with its properties which will be rendered as Menu.
     *
     * @default []
     */
    items: MenuItemModel[] | {
        [key: string]: Object;
    }[];
    /**
     * Specifies the animation settings for the sub menu open.
     *
     * @default { duration: 400, easing: 'ease', effect: 'SlideDown' }
     */
    animationSettings: MenuAnimationSettingsModel;
    /**
     * Constructor for creating the widget.
     *
     * @private
     * @param {MenuBaseModel} options - Specifies the menu base model
     * @param {string | HTMLUListElement} element - Specifies the element
     */
    constructor(options?: MenuBaseModel, element?: string | HTMLUListElement);
    /**
     * Initialized third party configuration settings.
     *
     * @private
     * @returns {void}
     */
    protected preRender(): void;
    /**
     * Initialize the control rendering.
     *
     * @private
     * @returns {void}
     */
    protected render(): void;
    protected initialize(): void;
    private renderItems;
    protected wireEvents(): void;
    private wireKeyboardEvent;
    private mouseDownHandler;
    private keyBoardHandler;
    private upDownKeyHandler;
    private isValidLI;
    private getUlByNavIdx;
    private rightEnterKeyHandler;
    private leftEscKeyHandler;
    private scrollHandler;
    private touchHandler;
    private cmenuHandler;
    protected closeMenu(ulIndex?: number, e?: MouseEvent | KeyboardEvent, isIterated?: boolean): void;
    private updateReactTemplate;
    private getMenuItemModel;
    private getPopups;
    private isMenuVisible;
    private canOpen;
    protected openMenu(li: Element, item: MenuItemModel | {
        [key: string]: Object;
    }, top?: number, left?: number, e?: MouseEvent | KeyboardEvent, target?: HTMLElement): void;
    private calculateIndentSize;
    private generatePopup;
    protected createHeaderContainer(wrapper?: Element): void;
    protected openHamburgerMenu(e?: MouseEvent | KeyboardEvent): void;
    protected closeHamburgerMenu(e?: MouseEvent | KeyboardEvent): void;
    private callFit;
    private triggerBeforeOpen;
    private collision;
    protected setBlankIconStyle(menu: HTMLElement): void;
    private checkScrollOffset;
    private setPosition;
    private toggleVisiblity;
    private createItems;
    private moverHandler;
    private removeStateWrapper;
    private removeLIStateByClass;
    protected getField(propName: string, level?: number): string;
    private getFields;
    private hasField;
    private menuHeaderClickHandler;
    private clickHandler;
    private afterCloseMenu;
    private setLISelected;
    private getLIByClass;
    /**
     * This method is used to get the index of the menu item in the Menu based on the argument.
     *
     * @param {MenuItem | string} item - item be passed to get the index | id to be passed to get the item index.
     * @param {boolean} isUniqueId - Set `true` if it is a unique id.
     * @returns {void}
     */
    getItemIndex(item: MenuItem1 | string, isUniqueId?: boolean): number[];
    /**
     * This method is used to set the menu item in the Menu based on the argument.
     *
     * @param {MenuItem} item - item need to be updated.
     * @param {string} id - id / text to be passed to update the item.
     * @param {boolean} isUniqueId - Set `true` if it is a unique id.
     * @returns {void}
     */
    setItem(item: MenuItem1, id?: string, isUniqueId?: boolean): void;
    private getItem;
    private getItems;
    private setItems;
    private getIdx;
    private getLI;
    private updateItemsByNavIdx;
    private removeChildElement;
    /**
     * Called internally if any of the property value changed.
     *
     * @private
     * @param {MenuBaseModel} newProp - Specifies the new properties
     * @param {MenuBaseModel} oldProp - Specifies the old properties
     * @returns {void}
     */
    onPropertyChanged(newProp: MenuBaseModel, oldProp: MenuBaseModel): void;
    private updateItem;
    private getChangedItemIndex;
    private removeItem;
    /**
     * Used to unwire the bind events.
     *
     * @private
     * @param {string} targetSelctor - Specifies the target selector
     * @returns {void}
     */
    protected unWireEvents(targetSelctor?: string): void;
    private unWireKeyboardEvent;
    private toggleAnimation;
    private triggerOpen;
    private end;
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @returns {string} - Persist data
     */
    protected getPersistData(): string;
    /**
     * Get wrapper element.
     *
     * @returns {Element} - Wrapper element
     * @private
     */
    private getWrapper;
    protected getIndex(data: string, isUniqueId?: boolean, items?: MenuItemModel[] | {
        [key: string]: Object;
    }[], nIndex?: number[], isCallBack?: boolean, level?: number): number[];
    /**
     * This method is used to enable or disable the menu items in the Menu based on the items and enable argument.
     *
     * @param {string[]} items - Text items that needs to be enabled/disabled.
     * @param {boolean} enable - Set `true`/`false` to enable/disable the list items.
     * @param {boolean} isUniqueId - Set `true` if it is a unique id.
     * @returns {void}
     */
    enableItems(items: string[], enable?: boolean, isUniqueId?: boolean): void;
    /**
     * This method is used to show the menu items in the Menu based on the items text.
     *
     * @param {string[]} items - Text items that needs to be shown.
     * @param {boolean} isUniqueId - Set `true` if it is a unique id.
     * @returns {void}
     */
    showItems(items: string[], isUniqueId?: boolean): void;
    /**
     * This method is used to hide the menu items in the Menu based on the items text.
     *
     * @param {string[]} items - Text items that needs to be hidden.
     * @param {boolean} isUniqueId - Set `true` if it is a unique id.
     * @returns {void}
     */
    hideItems(items: string[], isUniqueId?: boolean): void;
    private showHideItems;
    /**
     * It is used to remove the menu items from the Menu based on the items text.
     *
     * @param {string[]} items Text items that needs to be removed.
     * @param {boolean} isUniqueId - Set `true` if it is a unique id.
     * @returns {void}
     */
    removeItems(items: string[], isUniqueId?: boolean): void;
    /**
     * It is used to insert the menu items after the specified menu item text.
     *
     * @param {MenuItemModel[]} items - Items that needs to be inserted.
     * @param {string} text - Text item after that the element to be inserted.
     * @param {boolean} isUniqueId - Set `true` if it is a unique id.
     * @returns {void}
     */
    insertAfter(items: MenuItemModel[], text: string, isUniqueId?: boolean): void;
    /**
     * It is used to insert the menu items before the specified menu item text.
     *
     * @param {MenuItemModel[]} items - Items that needs to be inserted.
     * @param {string} text - Text item before that the element to be inserted.
     * @param  {boolean} isUniqueId - Set `true` if it is a unique id.
     * @returns {void}
     */
    insertBefore(items: MenuItemModel[], text: string, isUniqueId?: boolean): void;
    private insertItems;
    private removeAttributes;
    /**
     * Destroys the widget.
     *
     * @returns {void}
     */
    destroy(): void;
}
/**
 * Interface for before item render/select event.
 */
export interface MenuEventArgs extends base.BaseEventArgs {
    element: HTMLElement;
    item: MenuItemModel;
    event?: Event;
}
/**
 * Interface for before open/close event.
 */
export interface BeforeOpenCloseMenuEventArgs extends base.BaseEventArgs {
    element: HTMLElement;
    items: MenuItemModel[];
    parentItem: MenuItemModel;
    event: Event;
    cancel: boolean;
    top?: number;
    left?: number;
    isFocused?: boolean;
    showSubMenuOn?: MenuOpenType;
}
/**
 * Interface for open/close event.
 */
export interface OpenCloseMenuEventArgs extends base.BaseEventArgs {
    element: HTMLElement;
    items: MenuItemModel[] | {
        [key: string]: Object;
    }[];
    parentItem: MenuItemModel;
}
//node_modules/@syncfusion/ej2-navigations/src/common/menu-scroll.d.ts
/**
 * Used to add scroll in menu.
 *
 * @param {createElementType} createElement - Specifies the create element model
 * @param {HTMLElement} container - Specifies the element container
 * @param {HTMLElement} content - Specifies the content element
 * @param {string} scrollType - Specifies the scroll type
 * @param {boolean} enableRtl - Specifies the enable RTL property
 * @param {boolean} offset - Specifies the offset value
 * @returns {HTMLElement} - Element
 * @hidden
 */
export  function addScrolling(createElement: createElementType, container: HTMLElement, content: HTMLElement, scrollType: string, enableRtl: boolean, offset?: number): HTMLElement;
/**
 * Used to destroy the scroll option.
 *
 * @param {VScroll | HScroll} scrollObj - Specifies the scroller object
 * @param {Element} element - Specifies the element
 * @param {HTMLElement} skipEle - Specifies the skip  element
 * @returns {void}
 * @hidden
 */
export  function destroyScroll(scrollObj: VScroll | HScroll, element: Element, skipEle?: HTMLElement): void;
 type createElementType = (tag: string, prop?: {
    className?: string;
}) => HTMLElement;
//node_modules/@syncfusion/ej2-navigations/src/common/v-scroll-model.d.ts
/**
 * Interface for a class VScroll
 */
export interface VScrollModel extends base.ComponentModel{
    /**
     * Specifies the up or down scrolling distance of the vertical scrollbar moving.
     *
     * @default null
     */
    scrollStep?: number;
}
//node_modules/@syncfusion/ej2-navigations/src/common/v-scroll.d.ts
/**
 * VScroll module is introduces vertical scroller when content exceeds the current viewing area.
 * It can be useful for the components like Toolbar, Tab which needs vertical scrolling alone.
 * Hidden content can be view by touch moving or icon click.
 * ```html
 * <div id="scroll"/>
 * <script>
 *   var scrollObj = new VScroll();
 *   scrollObj.appendTo("#scroll");
 * </script>
 * ```
 */
export  class VScroll extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    private touchModule;
    private scrollEle;
    private scrollItems;
    private uniqueId;
    private timeout;
    private keyTimeout;
    private keyTimer;
    private browser;
    private browserCheck;
    private ieCheck;
    private isDevice;
    private customStep;
    /**
     * Specifies the up or down scrolling distance of the vertical scrollbar moving.
     *
     * @default null
     */
    scrollStep: number;
    /**
     * Initialize the event handler
     *
     * @private
     * @returns {void}
     */
    protected preRender(): void;
    /**
     * To Initialize the vertical scroll rendering
     *
     * @private
     * @returns {void}
     */
    protected render(): void;
    private setScrollState;
    /**
     * Initializes a new instance of the VScroll class.
     *
     * @param {VScrollModel} options  - Specifies VScroll model properties as options.
     * @param {string | HTMLElement} element  - Specifies the element for which vertical scrolling applies.
     */
    constructor(options?: VScrollModel, element?: string | HTMLElement);
    private initialize;
    protected getPersistData(): string;
    /**
     * Returns the current module name.
     *
     * @returns {string} - It returns the current module name.
     * @private
     */
    protected getModuleName(): string;
    /**
     * Removes the control from the DOM and also removes all its related events.
     *
     * @returns {void}
     */
    destroy(): void;
    /**
     * Specifies the value to disable/enable the VScroll component.
     * When set to `true` , the component will be disabled.
     *
     * @param  {boolean} value - Based on this Boolean value, VScroll will be enabled (false) or disabled (true).
     * @returns {void}.
     */
    disable(value: boolean): void;
    private createOverlayElement;
    private createNavIcon;
    private onKeyPress;
    private onKeyUp;
    private eventBinding;
    private repeatScroll;
    private tabHoldHandler;
    private contains;
    private eleScrolling;
    private clickEventHandler;
    private wheelEventHandler;
    private swipeHandler;
    private scrollUpdating;
    private frameScrollRequest;
    private touchHandler;
    private arrowDisabling;
    private scrollEventHandler;
    /**
     * Gets called when the model property changes.The data that describes the old and new values of property that changed.
     *
     * @param  {VScrollModel} newProp - It contains the new value of data.
     * @param  {VScrollModel} oldProp - It contains the old value of data.
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: VScrollModel, oldProp: VScrollModel): void;
}
//node_modules/@syncfusion/ej2-navigations/src/context-menu/context-menu-model.d.ts
/**
 * Interface for a class ContextMenu
 */
export interface ContextMenuModel extends MenuBaseModel{
    /**
     * Specifies target element selector in which the ContextMenu should be opened.
     *
     * @default ''
     */
    target?: string;
    /**
     * Specifies the filter selector for elements inside the target in that the context menu will be opened.
     *
     * @default ''
     */
    filter?: string;
    /**
     * Specifies menu items with its properties which will be rendered as ContextMenu.
     *
     * @default []
     * @aspType object
     * @blazorType object
     */
    items?: MenuItemModel[];
}
//node_modules/@syncfusion/ej2-navigations/src/context-menu/context-menu.d.ts

/**
 * The ContextMenu is a graphical user interface that appears on the user right click/touch hold operation.
 * ```html
 * <div id = 'target'></div>
 * <ul id = 'contextmenu'></ul>
 * ```
 * ```typescript
 * <script>
 * var contextMenuObj = new ContextMenu({items: [{ text: 'Cut' }, { text: 'Copy' },{ text: 'Paste' }], target: '#target'});
 * </script>
 * ```
 */
export  class ContextMenu extends MenuBase implements base.INotifyPropertyChanged {
    /**
     * Constructor for creating the widget.
     *
     * @private
     * @param {ContextMenuModel} options - Specifies the context menu model
     * @param {string} element - Specifies the element
     */
    constructor(options?: ContextMenuModel, element?: string | HTMLUListElement);
    /**
     * Specifies target element selector in which the ContextMenu should be opened.
     *
     * @default ''
     */
    target: string;
    /**
     * Specifies the filter selector for elements inside the target in that the context menu will be opened.
     *
     * @default ''
     */
    filter: string;
    /**
     * Specifies menu items with its properties which will be rendered as ContextMenu.
     *
     * @default []
     * @aspType object
     * @blazorType object
     */
    items: MenuItemModel[];
    /**
     * For internal use only - prerender processing.
     *
     * @private
     * @returns {void}
     */
    protected preRender(): void;
    protected initialize(): void;
    /**
     * This method is used to open the ContextMenu in specified position.
     *
     * @param {number} top - To specify ContextMenu vertical positioning.
     * @param {number} left - To specify ContextMenu horizontal positioning.
     * @param {HTMLElement} target - To calculate z-index for ContextMenu based upon the specified target.
     * @function open
     * @returns {void}
     */
    open(top: number, left: number, target?: HTMLElement): void;
    /**
     * Closes the ContextMenu if it is opened.
     *
     * @function close
     * @returns {void}
     */
    close(): void;
    /**
     * Called internally if any of the property value changed.
     *
     * @private
     * @param {ContextMenuModel} newProp - Specifies new properties
     * @param {ContextMenuModel} oldProp - Specifies old properties
     * @returns {void}
     */
    onPropertyChanged(newProp: ContextMenuModel, oldProp: ContextMenuModel): void;
    /**
     * Get module name.
     *
     * @returns {string} - Module Name
     * @private
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-navigations/src/context-menu/index.d.ts
/**
 * ContextMenu modules
 */
//node_modules/@syncfusion/ej2-navigations/src/index.d.ts
/**
 * Navigation all modules
 */
//node_modules/@syncfusion/ej2-navigations/src/menu/index.d.ts
/**
 * Menu modules
 */
//node_modules/@syncfusion/ej2-navigations/src/menu/menu-model.d.ts
/**
 * Interface for a class Menu
 */
export interface MenuModel extends MenuBaseModel{
    /**
     * Specified the orientation of Menu whether it can be horizontal or vertical.
     *
     * @default 'Horizontal'
     */
    orientation?: Orientation;
    /**
     * Specifies target element to open/close Menu while click in Hamburger mode.
     *
     * @default ''
     */
    target?: string;
    /**
     * Specifies the template for Menu item.
     *
     * @default null
     */
    template?: string;
    /**
     * Specifies whether to enable / disable the scrollable option in Menu.
     *
     * @default false
     */
    enableScrolling?: boolean;
    /**
     * Specifies whether to enable / disable the hamburger mode in Menu.
     *
     * @default false
     */
    hamburgerMode?: boolean;
    /**
     * Specifies the title text for hamburger mode in Menu.
     *
     * @default 'Menu'
     */
    title?: string;
    /**
     * Defines whether to allow the cross-scripting site or not.
     *
     * @default false
     */
    enableHtmlSanitizer?: boolean;
    /**
     * Specifies mapping fields from the dataSource.
     *
     * @default { itemId: "id", text: "text", parentId: "parentId", iconCss: "iconCss", url: "url", separator: "separator",
     * children: "items" }
     */
    // eslint:disable-next-line
    fields?: FieldSettingsModel;
}
//node_modules/@syncfusion/ej2-navigations/src/menu/menu.d.ts

/**
 * Specifies the option for orientation mode of Menu. By default, component rendered in Horizontal orientation mode.
 */
export  type Orientation = 'Horizontal' | 'Vertical';
/**
 * The Menu is a graphical user interface that serve as navigation headers for your application or site.
 * ```html
 * <ul id = 'menu'></ul>
 * ```
 * ```typescript
 * <script>
 * var menuObj = new Menu({ items: [{ text: 'Home' }, { text: 'Contact Us' },{ text: 'Login' }]});
 * menuObj.appendTo("#menu");
 * </script>
 * ```
 */
export  class Menu extends MenuBase implements base.INotifyPropertyChanged {
    private tempItems;
    /**
     * Specified the orientation of Menu whether it can be horizontal or vertical.
     *
     * @default 'Horizontal'
     */
    orientation: Orientation;
    /**
     * Specifies target element to open/close Menu while click in Hamburger mode.
     *
     * @default ''
     */
    target: string;
    /**
     * Specifies the template for Menu item.
     *
     * @default null
     */
    template: string;
    /**
     * Specifies whether to enable / disable the scrollable option in Menu.
     *
     * @default false
     */
    enableScrolling: boolean;
    /**
     * Specifies whether to enable / disable the hamburger mode in Menu.
     *
     * @default false
     */
    hamburgerMode: boolean;
    /**
     * Specifies the title text for hamburger mode in Menu.
     *
     * @default 'Menu'
     */
    title: string;
    /**
     * Defines whether to allow the cross-scripting site or not.
     *
     * @default false
     */
    enableHtmlSanitizer: boolean;
    /**
     * Specifies mapping fields from the dataSource.
     *
     * @default { itemId: "id", text: "text", parentId: "parentId", iconCss: "iconCss", url: "url", separator: "separator",
     * children: "items" }
     */
    fields: FieldSettingsModel;
    /**
     * Constructor for creating the component.
     *
     * @private
     * @param {MenuModel} options - Specifies the menu model
     * @param {string} element - Specifies the element
     */
    constructor(options?: MenuModel, element?: string | HTMLUListElement);
    /**
     * Get module name.
     *
     * @private
     * @returns {string} - Module Name
     */
    protected getModuleName(): string;
    /**
     * For internal use only - prerender processing.
     *
     * @private
     * @returns {void}
     */
    protected preRender(): void;
    protected initialize(): void;
    private updateMenuItems;
    /**
     * Called internally if any of the property value changed.
     *
     * @private
     * @param {MenuModel} newProp - Specifies the new properties.
     * @param {MenuModel} oldProp - Specifies the old properties.
     * @returns {void}
     */
    onPropertyChanged(newProp: MenuModel, oldProp: MenuModel): void;
    private createMenuItems;
    /**
     * This method is used to open the Menu in hamburger mode.
     *
     * @function open
     * @returns {void}
     */
    open(): void;
    /**
     * Closes the Menu if it is opened in hamburger mode.
     *
     * @function close
     * @returns {void}
     */
    close(): void;
}
//node_modules/@syncfusion/ej2-navigations/src/sidebar/index.d.ts
/**
 * Sidebar modules
 */
//node_modules/@syncfusion/ej2-navigations/src/sidebar/sidebar-model.d.ts
/**
 * Interface for a class Sidebar
 */
export interface SidebarModel extends base.ComponentModel{
    /**
     * Specifies the size of the Sidebar in dock state.
     * > For more details about dockSize refer to
     * [`Dock`](https://ej2.syncfusion.com/documentation/sidebar/docking-sidebar/) documentation.
     *
     * @default 'auto'
     */
    dockSize?: string | number;
    /**
     * Specifies the media query string for resolution, which when met opens the Sidebar.
     * ```typescript
     *   let defaultSidebar: Sidebar = new Sidebar({
     *       mediaQuery:'(min-width: 600px)'
     *   });
     * ```
     * > For more details about mediaQuery refer to
     * [`Auto Close`](https://ej2.syncfusion.com/documentation/sidebar/auto-close/) documentation.
     *
     * @default null
     * @aspType string
     */
    mediaQuery?: string | MediaQueryList;
    /**
     * Specifies the docking state of the component.
     * > For more details about enableDock refer to
     * [`Dock`](https://ej2.syncfusion.com/documentation/sidebar/docking-sidebar/) documentation.
     *
     * @default false
     */
    enableDock?: boolean;
    /**
     * Enables the expand or collapse while swiping in touch devices.
     * This is not a sidebar property.
     *
     * @default 'en-US'
     * @private
     */
    locale?: string;
    /**
     * Enable or disable persisting component's state between page reloads. If enabled, following list of states will be persisted.
     * 1. Position
     * 2. Type
     *
     * @default false
     */
    enablePersistence?: boolean;
    /**
     * Enables the expand or collapse while swiping in touch devices.
     *
     * @default true
     */
    enableGestures?: boolean;
    /**
     * Gets or sets the Sidebar component is open or close.
     * > When the Sidebar type is set to `Auto`,
     * the component will be expanded in the desktop and collapsed in the mobile mode regardless of the isOpen property.
     *
     * @default false
     */
    isOpen?: boolean;
    /**
     * Specifies the Sidebar in RTL mode that displays the content in the right-to-left direction.
     *
     * @default false
     */
    enableRtl?: boolean;
    /**
     * Enable or disable the animation transitions on expanding or collapsing the Sidebar.
     *
     * @default true
     */
    animate?: boolean;
    /**
     * Specifies the height of the Sidebar.
     *
     * @default 'auto'
     * @private
     */
    height?: string | number;
    /**
     * Specifies whether the Sidebar need to be closed or not when document area is clicked.
     *
     * @default false
     */
    closeOnDocumentClick?: boolean;
    /**
     * Specifies the position of the Sidebar (Left/Right) corresponding to the main content.
     * > For more details about SidebarPosition refer to
     * [`position`](https://ej2.syncfusion.com/documentation/sidebar/getting-started/#position) documentation.
     *
     * @default 'Left'
     */
    position?: SidebarPosition;
    /**
     * Allows to place the sidebar inside the target element.
     * > For more details about target refer to
     * [`Custom Context`](https://ej2.syncfusion.com/documentation/sidebar/custom-context/) documentation.
     *
     * @default null
     */
    target?: HTMLElement | string;
    /**
     * Specifies the whether to apply overlay options to main content when the Sidebar is in an open state.
     * > For more details about showBackdrop refer to
     * [`Backdrop`](https://ej2.syncfusion.com/documentation/sidebar/getting-started/#enable-backdrop) documentation.
     *
     * @default false
     */
    showBackdrop?: boolean;
    /**
     * Specifies the expanding types of the Sidebar.
     * * `Over` - The sidebar floats over the main content area.
     * * `Push` - The sidebar pushes the main content area to appear side-by-side, and shrinks the main content within the screen width.
     * * `Slide` - The sidebar translates the x and y positions of main content area based on the sidebar width.
     * The main content area will not be adjusted within the screen width.
     * * `Auto` - Sidebar with `Over` type in mobile resolution and `Push` type in other higher resolutions.
     * > For more details about SidebarType refer to
     * [`SidebarType`](../../sidebar/variations/) documentation.
     *
     * @default 'Auto'
     */
    type?: SidebarType;
    /**
     * Specifies the width of the Sidebar. By default, the width of the Sidebar sets based on the size of its content.
     * Width can also be set in pixel values.
     *
     * @default 'auto'
     */
    width?: string | number;
    /**
     * Specifies the z-index of the Sidebar. It is applicable only when sidebar act as overlay type.
     *
     * @default 1000
     * @aspType double
     */
    zIndex?: string | number;
    /**
     * Triggers when component is created.
     *
     * @event
     *
     *
     */
    /* eslint-disable */
    created?: base.EmitType<Object>;
    /**
     * Triggers when component is closed.
     *
     * @event
     */
    close?: base.EmitType<EventArgs>;
    /**
     * Triggers when component is opened.
     *
     * @event
     */
    open?: base.EmitType<EventArgs>;
    /**
     * Triggers when the state(expand/collapse) of the component is changed.
     *
     * @event
     */
    change?: base.EmitType<ChangeEventArgs>;
    /**
     * Triggers when component gets destroyed.
     *
     * @event
     */
    /* eslint-disable */
    destroyed?: base.EmitType<Object>;
}
//node_modules/@syncfusion/ej2-navigations/src/sidebar/sidebar.d.ts
/**
 * Specifies the Sidebar types.
 */
export  type SidebarType = 'Slide' | 'Over' | 'Push' | 'Auto';
/**
 * Specifies the Sidebar positions.
 */
export  type SidebarPosition = 'Left' | 'Right';
/**
 * Sidebar is an expandable or collapsible
 * component that typically act as a side container to place the primary or secondary content alongside of the main content.
 * ```html
 * <aside id="sidebar">
 * </aside>
 * ```
 * ```typescript
 * <script>
 *   let sidebarObject: Sidebar = new Sidebar();
 *   sidebarObject.appendTo("#sidebar");
 * </script>
 * ```
 */
export  class Sidebar extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    private modal;
    private mainContentEle;
    private sidebarEle;
    private sidebarEleCopy;
    protected tabIndex: string;
    private windowWidth;
    private targetEle;
    private firstRender;
    /**
     * Specifies the size of the Sidebar in dock state.
     * > For more details about dockSize refer to
     * [`Dock`](https://ej2.syncfusion.com/documentation/sidebar/docking-sidebar/) documentation.
     *
     * @default 'auto'
     */
    dockSize: string | number;
    /**
     * Specifies the media query string for resolution, which when met opens the Sidebar.
     * ```typescript
     *   let defaultSidebar$: Sidebar = new Sidebar({
     *       mediaQuery:'(min-width: 600px)'
     *   });
     * ```
     * > For more details about mediaQuery refer to
     * [`Auto Close`](https://ej2.syncfusion.com/documentation/sidebar/auto-close/) documentation.
     *
     * @default null
     * @aspType string
     */
    mediaQuery: string | MediaQueryList;
    /**
     * Specifies the docking state of the component.
     * > For more details about enableDock refer to
     * [`Dock`](https://ej2.syncfusion.com/documentation/sidebar/docking-sidebar/) documentation.
     *
     * @default false
     */
    enableDock: boolean;
    /**
     * Enables the expand or collapse while swiping in touch devices.
     * This is not a sidebar property.
     *
     * @default 'en-US'
     * @private
     */
    locale: string;
    /**
     * Enable or disable persisting component's state between page reloads. If enabled, following list of states will be persisted.
     * 1. Position
     * 2. Type
     *
     * @default false
     */
    enablePersistence: boolean;
    /**
     * Enables the expand or collapse while swiping in touch devices.
     *
     * @default true
     */
    enableGestures: boolean;
    /**
     * Gets or sets the Sidebar component is open or close.
     * > When the Sidebar type is set to `Auto`,
     * the component will be expanded in the desktop and collapsed in the mobile mode regardless of the isOpen property.
     *
     * @default false
     */
    isOpen: boolean;
    /**
     * Specifies the Sidebar in RTL mode that displays the content in the right-to-left direction.
     *
     * @default false
     */
    enableRtl: boolean;
    /**
     * Enable or disable the animation transitions on expanding or collapsing the Sidebar.
     *
     * @default true
     */
    animate: boolean;
    /**
     * Specifies the height of the Sidebar.
     *
     * @default 'auto'
     * @private
     */
    height: string | number;
    /**
     * Specifies whether the Sidebar need to be closed or not when document area is clicked.
     *
     * @default false
     */
    closeOnDocumentClick: boolean;
    /**
     * Specifies the position of the Sidebar (Left/Right) corresponding to the main content.
     * > For more details about SidebarPosition refer to
     * [`position`](https://ej2.syncfusion.com/documentation/sidebar/getting-started/#position) documentation.
     *
     * @default 'Left'
     */
    position: SidebarPosition;
    /**
     * Allows to place the sidebar inside the target element.
     * > For more details about target refer to
     * [`Custom Context`](https://ej2.syncfusion.com/documentation/sidebar/custom-context/) documentation.
     *
     * @default null
     */
    target: HTMLElement | string;
    /**
     * Specifies the whether to apply overlay options to main content when the Sidebar is in an open state.
     * > For more details about showBackdrop refer to
     * [`Backdrop`](https://ej2.syncfusion.com/documentation/sidebar/getting-started/#enable-backdrop) documentation.
     *
     * @default false
     */
    showBackdrop: boolean;
    /**
     * Specifies the expanding types of the Sidebar.
     * * `Over` - The sidebar floats over the main content area.
     * * `Push` - The sidebar pushes the main content area to appear side-by-side, and shrinks the main content within the screen width.
     * * `Slide` - The sidebar translates the x and y positions of main content area based on the sidebar width.
     * The main content area will not be adjusted within the screen width.
     * * `Auto` - Sidebar with `Over` type in mobile resolution and `Push` type in other higher resolutions.
     * > For more details about SidebarType refer to
     * [`SidebarType`](../../sidebar/variations/) documentation.
     *
     * @default 'Auto'
     */
    type: SidebarType;
    /**
     * Specifies the width of the Sidebar. By default, the width of the Sidebar sets based on the size of its content.
     * Width can also be set in pixel values.
     *
     * @default 'auto'
     */
    width: string | number;
    /**
     * Specifies the z-index of the Sidebar. It is applicable only when sidebar act as overlay type.
     *
     * @default 1000
     * @aspType double
     */
    zIndex: string | number;
    /**
     * Triggers when component is created.
     *
     * @event
     *
     *
     */
    created: base.EmitType<Object>;
    /**
     * Triggers when component is closed.
     *
     * @event
     */
    close: base.EmitType<EventArgs>;
    /**
     * Triggers when component is opened.
     *
     * @event
     */
    open: base.EmitType<EventArgs>;
    /**
     * Triggers when the state(expand/collapse) of the component is changed.
     *
     * @event
     */
    change: base.EmitType<ChangeEventArgs>;
    /**
     * Triggers when component gets destroyed.
     *
     * @event
     */
    destroyed: base.EmitType<Object>;
    constructor(options?: SidebarModel, element?: string | HTMLElement);
    protected preRender(): void;
    protected render(): void;
    protected initialize(): void;
    private setEnableRTL;
    private setTarget;
    private getTargetElement;
    private setCloseOnDocumentClick;
    private setWidth;
    private setDimension;
    private setZindex;
    private addClass;
    private checkType;
    private transitionEnd;
    private destroyBackDrop;
    /**
     * Hide the Sidebar component, if it is in an open state.
     *
     * @returns {void}
     *
     */
    hide(e?: Event): void;
    private setTimeOut;
    /**
     * Shows the Sidebar component, if it is in closed state.
     *
     * @returns {void}
     */
    show(e?: Event): void;
    private setAnimation;
    private triggerChange;
    private setDock;
    private createBackDrop;
    protected getPersistData(): string;
    /**
     * Returns the current module name.
     *
     * @returns {string} - returns module name.
     * @private
     *
     */
    protected getModuleName(): string;
    /**
     * Shows or hides the Sidebar based on the current state.
     *
     * @returns {void}
     */
    toggle(): void;
    protected getState(): boolean;
    private setMediaQuery;
    protected resize(): void;
    private documentclickHandler;
    private enableGestureHandler;
    private setEnableGestures;
    private wireEvents;
    private unWireEvents;
    /**
     * Called internally if any of the property value changed.
     *
     * @param {SidebarModel} newProp - specifies newProp value.
     * @param {SidebarModel} oldProp - specifies oldProp value.
     * @returns {void}
     * @private
     *
     */
    onPropertyChanged(newProp: SidebarModel, oldProp: SidebarModel): void;
    protected setType(type?: string): void;
    /**
     * Removes the control from the DOM and detaches all its related event handlers. Also it removes the attributes and classes.
     *
     * @returns {void}
     *
     */
    destroy(): void;
}
/**
 *
 * Defines the event arguments for the event.
 *
 * @returns void
 */
export interface ChangeEventArgs {
    /**
     * Returns event name
     */
    name: string;
    /**
     * Defines the element.
     */
    element: HTMLElement;
}
export interface TransitionEvent extends Event {
    /**
     * Returns event name
     */
    propertyName: string;
}
export interface EventArgs {
    /**
     * Illustrates whether the current action needs to be prevented or not.
     */
    cancel?: boolean;
    /**
     *  Defines the Sidebar model.
     */
    model?: SidebarModel;
    /**
     * Defines the element.
     */
    element: HTMLElement;
    /**
     * Defines the boolean that returns true when the Sidebar is closed by user interaction, otherwise returns false.
     */
    isInteracted?: boolean;
    /**
     * Defines the original event arguments.
     */
    event?: MouseEvent | Event;
}
//node_modules/@syncfusion/ej2-navigations/src/tab/index.d.ts
/**
 * Tab modules
 */
//node_modules/@syncfusion/ej2-navigations/src/tab/tab-model.d.ts
/**
 * Interface for a class TabActionSettings
 */
export interface TabActionSettingsModel {
    /**
     * Specifies the animation effect for displaying Tab content.
     *
     * @default 'SlideLeftIn'
     * @aspType string
     */
    effect?: 'None' | base.Effect;
    /**
     * Specifies the time duration to transform content.
     *
     * @default 600
     */
    duration?: number;
    /**
     * Specifies easing effect applied while transforming content.
     *
     * @default 'ease'
     */
    easing?: string;
}
/**
 * Interface for a class TabAnimationSettings
 */
export interface TabAnimationSettingsModel {
    /**
     * Specifies the animation to appear while moving to previous Tab content.
     *
     * @default { effect: 'SlideLeftIn', duration: 600, easing: 'ease' }
     */
    previous?: TabActionSettingsModel;
    /**
     * Specifies the animation to appear while moving to next Tab content.
     *
     * @default { effect: 'SlideRightIn', duration: 600, easing: 'ease' }
     */
    next?: TabActionSettingsModel;
}
/**
 * Interface for a class Header
 */
export interface HeaderModel {
    /**
     * Specifies the display text of the Tab item header.
     *
     * @default ''
     */
    text?: string | HTMLElement;
    /**
     * Specifies the icon class that is used to render an icon in the Tab header.
     *
     * @default ''
     */
    iconCss?: string;
    /**
     * Options for positioning the icon in the Tab item header. This property depends on `iconCss` property.
     * The possible values are:
     * - Left: Places the icon to the `left` of the item.
     * - Top: Places the icon on the `top` of the item.
     * - Right: Places the icon to the `right` end of the item.
     * - Bottom: Places the icon at the `bottom` of the item.
     *
     * @default 'left'
     */
    iconPosition?: string;
}
/**
 * Interface for a class TabItem
 */
export interface TabItemModel {
    /**
     * The object used for configuring the Tab item header properties.
     *
     * @default {}
     */
    header?: HeaderModel;
    /**
     * Specifies the header text of Tab item.
     *
     * @default null
     */
    headerTemplate?: string;
    /**
     * Specifies the content of Tab item, that is displayed when concern item header is selected.
     *
     * @default ''
     */
    content?: string | HTMLElement;
    /**
     * Sets the CSS classes to the Tab item to customize its styles.
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * Sets true to disable user interactions of the Tab item.
     *
     * @default false
     */
    disabled?: boolean;
    /**
     * Sets false to hide the Tab item.
     *
     * @default true
     */
    visible?: boolean;
    /**
     * Sets unique ID to Tab item.
     *
     * @default null
     */
    id?: string;
}
/**
 * Interface for a class Tab
 */
export interface TabModel extends base.ComponentModel{
    /**
     * An array of object that is used to configure the Tab component.
     * ```typescript
     *   let tabObj: Tab = new Tab( {
     *     items: [
     *       { header: { text: 'TabItem1' }, content: 'Tab Item1 Content' },
     *       { header: { text: 'TabItem2' }, content: 'Tab Item2 Content' }
     *     ]
     *   });
     *   tabObj.appendTo('#tab');
     * ```
     *
     * @default []
     */
    items?: TabItemModel[];
    /**
     * Specifies the width of the Tab component. Default, Tab width sets based on the width of its parent.
     *
     * @default '100%'
     */
    width?: string | number;
    /**
     * Specifies the height of the Tab component. By default, Tab height is set based on the height of its parent.
     * To use height property, heightAdjustMode must be set to 'None'.
     *
     * @default 'auto'
     */
    height?: string | number;
    /**
     * Sets the CSS classes to root element of the Tab that helps to customize component styles.
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * Specifies the index for activating the current Tab item.
     * ```typescript
     *   let tabObj: Tab = new Tab( {
     *     selectedItem: 1,
     *     items: [
     *       { header: { text: 'TabItem1' }, content: 'Tab Item1 Content' },
     *       { header: { text: 'TabItem2' }, content: 'Tab Item2 Content' }
     *     ]
     *   });
     *   tabObj.appendTo('#tab');
     * ```
     *
     * @default 0
     */
    selectedItem?: number;
    /**
     * Specifies the orientation of Tab header.
     * The possible values are:
     * - Top: Places the Tab header on the top.
     * - Bottom: Places the Tab header at the bottom.
     * - Left: Places the Tab header on the left.
     * - Right: Places the Tab header at the right.
     *
     * @default 'Top'
     */
    headerPlacement?: HeaderPosition;
    /**
     * Specifies the height style for Tab content.
     * The possible values are:
     * - None: Based on the given height property, the content panel height is set.
     * - Auto: Tallest panel height of a given Tab content is set to all the other panels.
     * - Content: Based on the corresponding content height, the content panel height is set.
     * - Fill: Based on the parent height, the content panel height is set.
     *
     * @default 'Content'
     */
    heightAdjustMode?: HeightStyles;
    /**
     * Specifies the Tab display mode when Tab content exceeds the viewing area.
     * The possible modes are:
     * - Scrollable: All the elements are displayed in a single line with horizontal scrolling enabled.
     * - popups.Popup: Tab container holds the items that can be placed within the available space and rest of the items are moved to the popup.
     * If the popup content overflows the height of the page, the rest of the elements can be viewed by scrolling the popup.
     *
     * @default 'Scrollable'
     */
    overflowMode?: OverflowMode;
    /**
     * Specifies the modes for Tab content.
     * The possible modes are:
     * `Dynamic` Load Tab content dynamically at the time of switching it's header.
     * `Init` Load all tab contents at initial load.
     * `Demand` Load Tab content when required but keep content once it is rendered.
     *
     * @default 'Dynamic'
     */
    loadOn?: ContentLoad;
    /**
     * Enable or disable persisting component's state between page reloads.
     * If enabled, following list of states will be persisted.
     * 1. selectedItem
     *
     * @default false
     */
    enablePersistence?: boolean;
    /**
     * Defines whether to allow the cross-scripting site or not.
     *
     * @default false
     */
    enableHtmlSanitizer?: boolean;
    /**
     * Specifies whether to show the close button for header items to base.remove the item from the Tab.
     *
     * @default false
     */
    showCloseButton?: boolean;
    /**
     * Determines whether to re-order tab items to show active tab item in the header area or popup when OverflowMode is popups.Popup.
     *  True, if active tab item should be visible in header area instead of pop-up. The default value is true.
     *
     * @default true
     */
    reorderActiveTab?: boolean;
    /**
     * Specifies the scrolling distance in scroller.
     *
     * @default null
     */
    scrollStep?: number;
    /**
     * Defines the area in which the draggable element movement will be occurring. Outside that area will be restricted
     * for the draggable element movement. By default, the draggable element movement occurs in the toolbar. 
     * @default null
     */
    dragArea?: string;
    /**
     * Sets true to allow drag and drop the Tab items
     * @default false
     */
    allowDragAndDrop?: boolean;
    /**
     * Specifies the animation configuration settings while showing the content of the Tab.
     *
     * @default
     * { previous: { effect: 'SlideLeftIn', duration: 600, easing: 'ease' },
     * next: { effect: 'SlideRightIn', duration: 600, easing: 'ease' } }
     */
    animation?: TabAnimationSettingsModel;
    /**
     * The event will be fired once the component rendering is completed.
     *
     * @event
     */
    created?: base.EmitType<Event>;
    /**
     * The event will be fired before adding the item to the Tab.
     *
     * @event
     */
    adding?: base.EmitType<AddEventArgs>;
    /**
     * The event will be fired after adding the item to the Tab.
     *
     * @event
     */
    added?: base.EmitType<AddEventArgs>;
    /**
     * The event will be fired before the item gets selected.
     *
     * @event
     */
    selecting?: base.EmitType<SelectingEventArgs>;
    /**
     * The event will be fired after the item gets selected.
     *
     * @event
     */
    selected?: base.EmitType<SelectEventArgs>;
    /**
     * The event will be fired before removing the item from the Tab.
     *
     * @event
     */
    removing?: base.EmitType<RemoveEventArgs>;
    /**
     * The event will be fired after removing the item from the Tab.
     *
     * @event
     */
    removed?: base.EmitType<RemoveEventArgs>;
    /**
     * The event will be fired before dragging the item from Tab
     * @event
     */
    onDragStart?: base.EmitType<DragEventArgs>;
    /**
     * The event will be fired while dragging the Tab item
     * @event
     */
    dragging?: base.EmitType<DragEventArgs>;
    /**
     * The event will be fired after dropping the Tab item
     * @event
     */
    dragged?: base.EmitType<DragEventArgs>;
    /**
     * The event will be fired when the component gets destroyed.
     *
     * @event
     */
    destroyed?: base.EmitType<Event>;
}
//node_modules/@syncfusion/ej2-navigations/src/tab/tab.d.ts
 type HTEle = HTMLElement;
/**
 * Options to set the orientation of Tab header.
 */
export  type HeaderPosition = 'Top' | 'Bottom' | 'Left' | 'Right';
/**
 * Options to set the content element height adjust modes.
 */
export  type HeightStyles = 'None' | 'Auto' | 'Content' | 'Fill';
/**
 * Specifies the options of Tab content display mode.
 */
export  type ContentLoad = 'Dynamic' | 'Init' | 'Demand';
/** An interface that holds options to control the selected item action. */
export interface SelectEventArgs extends base.BaseEventArgs {
    /** Defines the previous Tab item element. */
    previousItem: HTMLElement;
    /** Defines the previous Tab item index. */
    previousIndex: number;
    /** Defines the selected Tab item element. */
    selectedItem: HTMLElement;
    /** Defines the selected Tab item index. */
    selectedIndex: number;
    /** Defines the content selection done through swiping. */
    isSwiped: boolean;
    /** Defines the prevent action. */
    cancel?: boolean;
    /** Defines the selected content. */
    selectedContent: HTMLElement;
    /** Determines whether the event is triggered via user interaction or programmatic way. True, if the event is triggered by user interaction. */
    isInteracted?: boolean;
}
/** An interface that holds options to control the selecting item action. */
export interface SelectingEventArgs extends SelectEventArgs {
    /** Defines the selecting Tab item element. */
    selectingItem: HTMLElement;
    /** Defines the selecting Tab item index. */
    selectingIndex: number;
    /** Defines the selecting Tab item content. */
    selectingContent: HTMLElement;
    /** Defines the type of the event. */
    event?: Event;
}
/** An interface that holds options to control the removing and removed item action. */
export interface RemoveEventArgs extends base.BaseEventArgs {
    /** Defines the removed Tab item element. */
    removedItem: HTMLElement;
    /** Defines the removed Tab item index. */
    removedIndex: number;
    /** Defines the prevent action. */
    cancel?: boolean;
}
/** An interface that holds options to control the adding and added item action. */
export interface AddEventArgs extends base.BaseEventArgs {
    /** Defines the added Tab item element */
    addedItems: TabItemModel[];
    /** Defines the prevent action. */
    cancel?: boolean;
}
/** An interface that holds option to control the dragging and dragged item action. */
export interface DragEventArgs extends base.BaseEventArgs {
    /** Defines the current dragged Tab item. */
    draggedItem: HTMLElement;
    /** Defines the dropped Tab item. */
    droppedItem: HTMLElement;
    /** defines the Dragged Tab item index. */
    index: number;
    /** Return the actual event. */
    event: MouseEvent;
    /** Return the target element */
    target: HTMLElement;
    /** Return the clone element */
    clonedElement: HTMLElement;
    /** Defines the prevent action. */
    cancel?: boolean;
}
/**
 * Objects used for configuring the Tab selecting item action properties.
 */
export  class TabActionSettings extends base.ChildProperty<TabActionSettings> {
    /**
     * Specifies the animation effect for displaying Tab content.
     *
     * @default 'SlideLeftIn'
     * @aspType string
     */
    effect: 'None' | base.Effect;
    /**
     * Specifies the time duration to transform content.
     *
     * @default 600
     */
    duration: number;
    /**
     * Specifies easing effect applied while transforming content.
     *
     * @default 'ease'
     */
    easing: string;
}
/**
 * Objects used for configuring the Tab animation properties.
 */
export  class TabAnimationSettings extends base.ChildProperty<TabAnimationSettings> {
    /**
     * Specifies the animation to appear while moving to previous Tab content.
     *
     * @default { effect: 'SlideLeftIn', duration: 600, easing: 'ease' }
     */
    previous: TabActionSettingsModel;
    /**
     * Specifies the animation to appear while moving to next Tab content.
     *
     * @default { effect: 'SlideRightIn', duration: 600, easing: 'ease' }
     */
    next: TabActionSettingsModel;
}
/**
 * Objects used for configuring the Tab item header properties.
 */
export  class Header extends base.ChildProperty<Header> {
    /**
     * Specifies the display text of the Tab item header.
     *
     * @default ''
     */
    text: string | HTMLElement;
    /**
     * Specifies the icon class that is used to render an icon in the Tab header.
     *
     * @default ''
     */
    iconCss: string;
    /**
     * Options for positioning the icon in the Tab item header. This property depends on `iconCss` property.
     * The possible values are:
     * - Left: Places the icon to the `left` of the item.
     * - Top: Places the icon on the `top` of the item.
     * - Right: Places the icon to the `right` end of the item.
     * - Bottom: Places the icon at the `bottom` of the item.
     *
     * @default 'left'
     */
    iconPosition: string;
}
/**
 * An array of object that is used to configure the Tab.
 */
export  class TabItem extends base.ChildProperty<TabItem> {
    /**
     * The object used for configuring the Tab item header properties.
     *
     * @default {}
     */
    header: HeaderModel;
    /**
     * Specifies the header text of Tab item.
     *
     * @default null
     */
    headerTemplate: string;
    /**
     * Specifies the content of Tab item, that is displayed when concern item header is selected.
     *
     * @default ''
     */
    content: string | HTMLElement;
    /**
     * Sets the CSS classes to the Tab item to customize its styles.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * Sets true to disable user interactions of the Tab item.
     *
     * @default false
     */
    disabled: boolean;
    /**
     * Sets false to hide the Tab item.
     *
     * @default true
     */
    visible: boolean;
    /**
     * Sets unique ID to Tab item.
     *
     * @default null
     */
    id: string;
}
/**
 * Tab is a content panel to show multiple contents in a single space, one at a time.
 * Each Tab item has an associated content, that will be displayed based on the active Tab header item.
 * ```html
 * <div id="tab"></div>
 * <script>
 *   var tabObj = new Tab();
 *   tab.appendTo("#tab");
 * </script>
 * ```
 */
export  class Tab extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    private hdrEle;
    private cntEle;
    private tbObj;
    tabId: string;
    private tbItems;
    private tbItem;
    private tbPop;
    private isTemplate;
    private isPopup;
    private isReplace;
    private prevIndex;
    private prevItem;
    private popEle;
    private actEleId;
    private bdrLine;
    private popObj;
    private btnCls;
    private cnt;
    private show;
    private hide;
    private enableAnimation;
    private keyModule;
    private tabKeyModule;
    private touchModule;
    private maxHeight;
    private title;
    private initRender;
    private isInteracted;
    private prevActiveEle;
    private lastIndex;
    private isSwipeed;
    private isNested;
    private itemIndexArray;
    private templateEle;
    private scrCntClass;
    private isAdd;
    private content;
    private selectedID;
    private selectingID;
    private isIconAlone;
    private dragItem;
    private cloneElement;
    private droppedIndex;
    private draggingItems;
    private draggableItems;
    private tbId;
    private resizeContext;
    /**
     * Contains the keyboard configuration of the Tab.
     */
    private keyConfigs;
    /**
     * An array of object that is used to configure the Tab component.
     * ```typescript
     *   let tabObj$: Tab = new Tab( {
     *     items: [
     *       { header: { text: 'TabItem1' }, content: 'Tab Item1 Content' },
     *       { header: { text: 'TabItem2' }, content: 'Tab Item2 Content' }
     *     ]
     *   });
     *   tabObj.appendTo('#tab');
     * ```
     *
     * @default []
     */
    items: TabItemModel[];
    /**
     * Specifies the width of the Tab component. Default, Tab width sets based on the width of its parent.
     *
     * @default '100%'
     */
    width: string | number;
    /**
     * Specifies the height of the Tab component. By default, Tab height is set based on the height of its parent.
     * To use height property, heightAdjustMode must be set to 'None'.
     *
     * @default 'auto'
     */
    height: string | number;
    /**
     * Sets the CSS classes to root element of the Tab that helps to customize component styles.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * Specifies the index for activating the current Tab item.
     * ```typescript
     *   let tabObj$: Tab = new Tab( {
     *     selectedItem: 1,
     *     items: [
     *       { header: { text: 'TabItem1' }, content: 'Tab Item1 Content' },
     *       { header: { text: 'TabItem2' }, content: 'Tab Item2 Content' }
     *     ]
     *   });
     *   tabObj.appendTo('#tab');
     * ```
     *
     * @default 0
     */
    selectedItem: number;
    /**
     * Specifies the orientation of Tab header.
     * The possible values are:
     * - Top: Places the Tab header on the top.
     * - Bottom: Places the Tab header at the bottom.
     * - Left: Places the Tab header on the left.
     * - Right: Places the Tab header at the right.
     *
     * @default 'Top'
     */
    headerPlacement: HeaderPosition;
    /**
     * Specifies the height style for Tab content.
     * The possible values are:
     * - None: Based on the given height property, the content panel height is set.
     * - Auto: Tallest panel height of a given Tab content is set to all the other panels.
     * - Content: Based on the corresponding content height, the content panel height is set.
     * - Fill: Based on the parent height, the content panel height is set.
     *
     * @default 'Content'
     */
    heightAdjustMode: HeightStyles;
    /**
     * Specifies the Tab display mode when Tab content exceeds the viewing area.
     * The possible modes are:
     * - Scrollable: All the elements are displayed in a single line with horizontal scrolling enabled.
     * - Popup: Tab container holds the items that can be placed within the available space and rest of the items are moved to the popup.
     * If the popup content overflows the height of the page, the rest of the elements can be viewed by scrolling the popup.
     *
     * @default 'Scrollable'
     */
    overflowMode: OverflowMode;
    /**
     * Specifies the modes for Tab content.
     * The possible modes are:
     * `Dynamic` Load Tab content dynamically at the time of switching it's header.
     * `Init` Load all tab contents at initial load.
     * `Demand` Load Tab content when required but keep content once it is rendered.
     *
     * @default 'Dynamic'
     */
    protected loadOn: ContentLoad;
    /**
     * Enable or disable persisting component's state between page reloads.
     * If enabled, following list of states will be persisted.
     * 1. selectedItem
     *
     * @default false
     */
    enablePersistence: boolean;
    /**
     * Defines whether to allow the cross-scripting site or not.
     *
     * @default false
     */
    enableHtmlSanitizer: boolean;
    /**
     * Specifies whether to show the close button for header items to remove the item from the Tab.
     *
     * @default false
     */
    showCloseButton: boolean;
    /**
     * Determines whether to re-order tab items to show active tab item in the header area or popup when OverflowMode is Popup.
     *  True, if active tab item should be visible in header area instead of pop-up. The default value is true.
     *
     * @default true
     */
    reorderActiveTab: boolean;
    /**
     * Specifies the scrolling distance in scroller.
     *
     * @default null
     */
    scrollStep: number;
    /**
     * Defines the area in which the draggable element movement will be occurring. Outside that area will be restricted
     * for the draggable element movement. By default, the draggable element movement occurs in the toolbar.
     * @default null
     */
    dragArea: string;
    /**
     * Sets true to allow drag and drop the Tab items
     * @default false
     */
    allowDragAndDrop: boolean;
    /**
     * Specifies the animation configuration settings while showing the content of the Tab.
     *
     * @default
     * { previous: { effect: 'SlideLeftIn', duration: 600, easing: 'ease' },
     * next: { effect: 'SlideRightIn', duration: 600, easing: 'ease' } }
     */
    animation: TabAnimationSettingsModel;
    /**
     * The event will be fired once the component rendering is completed.
     *
     * @event
     */
    created: base.EmitType<Event>;
    /**
     * The event will be fired before adding the item to the Tab.
     *
     * @event
     */
    adding: base.EmitType<AddEventArgs>;
    /**
     * The event will be fired after adding the item to the Tab.
     *
     * @event
     */
    added: base.EmitType<AddEventArgs>;
    /**
     * The event will be fired before the item gets selected.
     *
     * @event
     */
    selecting: base.EmitType<SelectingEventArgs>;
    /**
     * The event will be fired after the item gets selected.
     *
     * @event
     */
    selected: base.EmitType<SelectEventArgs>;
    /**
     * The event will be fired before removing the item from the Tab.
     *
     * @event
     */
    removing: base.EmitType<RemoveEventArgs>;
    /**
     * The event will be fired after removing the item from the Tab.
     *
     * @event
     */
    removed: base.EmitType<RemoveEventArgs>;
    /**
     * The event will be fired before dragging the item from Tab
     * @event
     */
    onDragStart: base.EmitType<DragEventArgs>;
    /**
     * The event will be fired while dragging the Tab item
     * @event
     */
    dragging: base.EmitType<DragEventArgs>;
    /**
     * The event will be fired after dropping the Tab item
     * @event
     */
    dragged: base.EmitType<DragEventArgs>;
    /**
     * The event will be fired when the component gets destroyed.
     *
     * @event
     */
    destroyed: base.EmitType<Event>;
    /**
     * Removes the component from the DOM and detaches all its related event handlers, attributes and classes.
     *
     * @returns {void}
     */
    destroy(): void;
    /**
     * Refresh the tab component
     *
     * @returns {void}
     */
    refresh(): void;
    /**
     * Initialize component
     *
     * @private
     * @returns {void}
     */
    protected preRender(): void;
    /**
     * Initializes a new instance of the Tab class.
     *
     * @param {TabModel} options  - Specifies Tab model properties as options.
     * @param {string | HTMLElement} element  - Specifies the element that is rendered as a Tab.
     */
    constructor(options?: TabModel, element?: string | HTMLElement);
    /**
     * Initialize the component rendering
     *
     * @private
     * @returns {void}
     */
    protected render(): void;
    private renderContainer;
    private renderHeader;
    private renderContent;
    private reRenderItems;
    private parseObject;
    private removeActiveClass;
    private checkPopupOverflow;
    private popupHandler;
    private updateOrientationAttribute;
    private setCloseButton;
    private prevCtnAnimation;
    private triggerPrevAnimation;
    private triggerAnimation;
    private keyPressed;
    private getTabHeader;
    private getEleIndex;
    private extIndex;
    private expTemplateContent;
    private templateCompile;
    private compileElement;
    private headerTextCompile;
    private getContent;
    private getTrgContent;
    private findEle;
    private isVertical;
    private addVerticalClass;
    private updatePopAnimationConfig;
    private changeOrientation;
    private focusItem;
    private changeToolbarOrientation;
    private setOrientation;
    private setCssClass;
    private setContentHeight;
    private getHeight;
    private setActiveBorder;
    private setActive;
    private setItems;
    private setRTL;
    private refreshActiveBorder;
    private showPopup;
    private bindDraggable;
    private wireEvents;
    private unWireEvents;
    private clickHandler;
    private swipeHandler;
    private spaceKeyDown;
    private keyHandler;
    private refreshItemVisibility;
    private hoverHandler;
    private evalOnPropertyChangeItems;
    private initializeDrag;
    private helper;
    private itemDragStart;
    private dragAction;
    private itemDragStop;
    /**
     * Enables or disables the specified Tab item. On passing value as `false`, the item will be disabled.
     *
     * @param {number} index - Index value of target Tab item.
     * @param {boolean} value - Boolean value that determines whether the command should be enabled or disabled.
     * By default, isEnable is true.
     * @returns {void}.
     */
    enableTab(index: number, value: boolean): void;
    /**
     * Adds new items to the Tab that accepts an array as Tab items.
     *
     * @param {TabItemModel[]} items - An array of item that is added to the Tab.
     * @param {number} index - Number value that determines where the items to be added. By default, index is 0.
     * @returns {void}.
     */
    addTab(items: TabItemModel[], index?: number): void;
    private addingTabContent;
    /**
     * Removes the items in the Tab from the specified index.
     *
     * @param {number} index - Index of target item that is going to be removed.
     * @returns {void}.
     */
    removeTab(index: number): void;
    /**
     * Shows or hides the Tab that is in the specified index.
     *
     * @param {number} index - Index value of target item.
     * @param {boolean} value - Based on this Boolean value, item will be hide (false) or show (true). By default, value is true.
     * @returns {void}.
     */
    hideTab(index: number, value?: boolean): void;
    private selectTab;
    /**
     * Specifies the index or HTMLElement to select an item from the Tab.
     *
     * @param {number | HTMLElement} args - Index or DOM element is used for selecting an item from the Tab.
     * @param {Event} event - An event which takes place in DOM.
     * @returns {void}
     */
    select(args: number | HTEle, event?: Event): void;
    private selectingContent;
    /**
     * Gets the item index from the Tab.
     *
     * @param  {string} tabItemId - Item ID is used for getting index from the Tab.
     * @returns {number} - It returns item index.
     */
    getItemIndex(tabItemId: string): number;
    /**
     * Specifies the value to disable/enable the Tab component.
     * When set to `true`, the component will be disabled.
     *
     * @param  {boolean} value - Based on this Boolean value, Tab will be enabled (false) or disabled (true).
     * @returns {void}.
     */
    disable(value: boolean): void;
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @returns {string} - It returns the persisted state.
     */
    protected getPersistData(): string;
    /**
     * Returns the current module name.
     *
     * @returns {string} - It returns the current module name.
     * @private
     */
    protected getModuleName(): string;
    /**
     * Gets called when the model property changes.The data that describes the old and new values of the property that changed.
     *
     * @param  {TabModel} newProp - It contains the new value of data.
     * @param  {TabModel} oldProp - It contains the old value of data.
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: TabModel, oldProp: TabModel): void;
    /**
     * To refresh the active tab contents.
     *
     * @returns {void}
     */
    refreshActiveTab(): void;
    /**
     * To refresh the active tab indicator.
     *
     * @returns {void}
     */
    refreshActiveTabBorder(): void;
}
//node_modules/@syncfusion/ej2-navigations/src/toolbar/index.d.ts
/**
 * Toolbar modules
 */
//node_modules/@syncfusion/ej2-navigations/src/toolbar/toolbar-model.d.ts
/**
 * Interface for a class Item
 */
export interface ItemModel {
    /**
     * Specifies the unique ID to be used with button or input element of Toolbar items.
     *
     * @default ""
     */
    id?: string;
    /**
     * Specifies the text to be displayed on the Toolbar button.
     *
     * @default ""
     */
    text?: string;
    /**
     * Specifies the width of the Toolbar button commands.
     *
     * @default 'auto'
     */
    width?: number | string;
    /**
     * Defines single/multiple classes (separated by space) to be used for customization of commands.
     *
     * @default ""
     */
    cssClass?: string;
    /**
     * Defines the priority of items to display it in popup always.
     * It allows to maintain toolbar item on popup always but it does not work for toolbar priority items.
     *
     * @default false
     */
    showAlwaysInPopup?: boolean;
    /**
     * Specifies whether an item should be disabled or not.
     *
     * @default false
     */
    disabled?: boolean;
    /**
     * Defines single/multiple classes separated by space used to specify an icon for the button.
     * The icon will be positioned before the text content if text is available, otherwise the icon alone will be rendered.
     *
     * @default ""
     */
    prefixIcon?: string;
    /**
     * Defines single/multiple classes separated by space used to specify an icon for the button.
     * The icon will be positioned after the text content if text is available.
     *
     * @default ""
     */
    suffixIcon?: string;
    /**
     * Specifies whether an item should be hidden or not.
     *
     * @default true
     */
    visible?: boolean;
    /**
     * Specifies the Toolbar command display area when an element's content is too large to fit available space.
     * This is applicable only to `popup` mode. Possible values are:
     * - Show:  Always shows the item as the primary priority on the *Toolbar*.
     * - Hide: Always shows the item as the secondary priority on the *popup*.
     * - None: No priority for display, and as per normal order moves to popup when content exceeds.
     *
     * @default 'None'
     */
    overflow?: OverflowOption;
    /**
     * Specifies the HTML element/element ID as a string that can be added as a Toolbar command.
     * ```
     * E.g - items: [{ template: '<input placeholder="Search"/>' },{ template: '#checkbox1' }]
     * ```
     *
     * @default ""
     */
    template?: string | Object;
    /**
     * Specifies the types of command to be rendered in the Toolbar.
     * Supported types are:
     * - buttons.Button: Creates the buttons.Button control with its given properties like text, prefixIcon, etc.
     * - Separator: Adds a horizontal line that separates the Toolbar commands.
     * - Input: Creates an input element that is applicable to template rendering with Syncfusion controls like DropDownList,
     * AutoComplete, etc.
     *
     * @default 'buttons.Button'
     */
    type?: ItemType;
    /**
     * Specifies where the button text will be displayed on *popup mode* of the Toolbar.
     * Possible values are:
     * - Toolbar:  Text will be displayed on *Toolbar* only.
     * - Overflow: Text will be displayed only when content overflows to *popup*.
     * - Both: Text will be displayed on *popup* and *Toolbar*.
     *
     * @default 'Both'
     */
    showTextOn?: DisplayMode;
    /**
     * Defines htmlAttributes used to add custom base.attributes to Toolbar command.
     * Supports HTML base.attributes such as style, class, etc.
     *
     * @default null
     */
    htmlAttributes?: { [key: string]: string };
    /**
     * Specifies the text to be displayed on hovering the Toolbar button.
     *
     * @default ""
     */
    tooltipText?: string;
    /**
     * Specifies the location for aligning Toolbar items on the Toolbar. Each command will be aligned according to the `align` property.
     * Possible values are:
     * - Left: To align commands to the left side of the Toolbar.
     * - Center: To align commands at the center of the Toolbar.
     * - Right: To align commands to the right side of the Toolbar.
     * ```html
     * <div id="element"> </div>
     * ```
     * ```typescript
     * let toolbar: Toolbar = new Toolbar({
     *     items: [
     *         { text: "Home" },
     *         { text: "My Home Page" , align: 'Center' },
     *         { text: "Search", align: 'Right' }
     *         { text: "Settings", align: 'Right' }
     *     ]
     * });
     * toolbar.appendTo('#element');
     * ```
     *
     * @default "Left"
     */
    align?: ItemAlign;
    /**
     * base.Event triggers when `click` the toolbar item.
     *
     * @event click
     */
    click?: base.EmitType<ClickEventArgs>;
}
/**
 * Interface for a class Toolbar
 */
export interface ToolbarModel extends base.ComponentModel{
    /**
     * An array of items that is used to configure Toolbar commands.
     *
     * @default []
     */
    items?: ItemModel[];
    /**
     * Specifies the width of the Toolbar in pixels/numbers/percentage. Number value is considered as pixels.
     *
     * @default 'auto'
     */
    width?: string | number;
    /**
     * Specifies the height of the Toolbar in pixels/number/percentage. Number value is considered as pixels.
     *
     * @default 'auto'
     */
    height?: string | number;
    /**
     * Sets the CSS classes to root element of the Tab that helps to customize component styles.
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * Specifies the Toolbar display mode when Toolbar content exceeds the viewing area.
     * Possible modes are:
     * - Scrollable: All the elements are displayed in a single line with horizontal scrolling enabled.
     * - popups.Popup: Prioritized elements are displayed on the Toolbar and the rest of elements are moved to the *popup*.
     * - MultiRow: Displays the overflow toolbar items as an in-line of a toolbar.
     * - Extended: Hide the overflowing toolbar items in the next row.  Show the overflowing toolbar items when you click the expand icons.
     * If the popup content overflows the height of the page, the rest of the elements will be hidden.
     *
     * @default 'Scrollable'
     */
    overflowMode?: OverflowMode;
    /**
     * Specifies the scrolling distance in scroller.
     *
     * @default null
     */
    scrollStep?: number;
    /**
     * Enable or disable the popup collision.
     *
     * @default true
     */
    enableCollision?: boolean;
    /**
     * Defines whether to allow the cross-scripting site or not.
     *
     * @default true
     */
    enableHtmlSanitizer?: boolean;
    /**
     * When this property is set to true, it allows the keyboard interaction in toolbar.
     *
     * @default true
     */
    allowKeyboard?: boolean;
    /**
     * The event will be fired on clicking the Toolbar elements.
     *
     * @event clicked
     */
    clicked?: base.EmitType<ClickEventArgs>;
    /**
     * The event will be fired when the control is rendered.
     *
     * @event created
     */
    created?: base.EmitType<Event>;
    /**
     * The event will be fired when the control gets destroyed.
     *
     * @event destroyed
     */
    destroyed?: base.EmitType<Event>;
    /**
     * The event will be fired before the control is rendered on a page.
     *
     * @event beforeCreate
     */
    beforeCreate?: base.EmitType<BeforeCreateArgs>;
}
//node_modules/@syncfusion/ej2-navigations/src/toolbar/toolbar.d.ts
/**
 * Specifies the options for supporting element types of Toolbar command.
 */
export  type ItemType = 'Button' | 'Separator' | 'Input';
/**
 * Specifies the options of where the text will be displayed in popup mode of the Toolbar.
 */
export  type DisplayMode = 'Both' | 'Overflow' | 'Toolbar';
/**
 * Specifies the options of the Toolbar item display area when the Toolbar content overflows to available space.Applicable to `popup` mode.
 */
export  type OverflowOption = 'None' | 'Show' | 'Hide';
/**
 * Specifies the options of Toolbar display mode. Display option is considered when Toolbar content exceeds the available space.
 */
export  type OverflowMode = 'Scrollable' | 'Popup' | 'MultiRow' | 'Extended';
/**
 * Specifies the options for aligning the Toolbar items.
 */
export  type ItemAlign = 'Left' | 'Center' | 'Right';
/** An interface that holds options to control the toolbar clicked action. */
export interface ClickEventArgs extends base.BaseEventArgs {
    /** Defines the current Toolbar Item Object. */
    item: ItemModel;
    /**
     * Defines the current Event arguments.
     */
    originalEvent: Event;
    /** Defines the prevent action. */
    cancel?: boolean;
}
/** An interface that holds options to control before the toolbar create. */
export interface BeforeCreateArgs extends base.BaseEventArgs {
    /** Enable or disable the popup collision. */
    enableCollision: boolean;
    /** Specifies the scrolling distance in scroller. */
    scrollStep: number;
}
/**
 * An item object that is used to configure Toolbar commands.
 */
export  class Item extends base.ChildProperty<Item> {
    /**
     * Specifies the unique ID to be used with button or input element of Toolbar items.
     *
     * @default ""
     */
    id: string;
    /**
     * Specifies the text to be displayed on the Toolbar button.
     *
     * @default ""
     */
    text: string;
    /**
     * Specifies the width of the Toolbar button commands.
     *
     * @default 'auto'
     */
    width: number | string;
    /**
     * Defines single/multiple classes (separated by space) to be used for customization of commands.
     *
     * @default ""
     */
    cssClass: string;
    /**
     * Defines the priority of items to display it in popup always.
     * It allows to maintain toolbar item on popup always but it does not work for toolbar priority items.
     *
     * @default false
     */
    showAlwaysInPopup: boolean;
    /**
     * Specifies whether an item should be disabled or not.
     *
     * @default false
     */
    disabled: boolean;
    /**
     * Defines single/multiple classes separated by space used to specify an icon for the button.
     * The icon will be positioned before the text content if text is available, otherwise the icon alone will be rendered.
     *
     * @default ""
     */
    prefixIcon: string;
    /**
     * Defines single/multiple classes separated by space used to specify an icon for the button.
     * The icon will be positioned after the text content if text is available.
     *
     * @default ""
     */
    suffixIcon: string;
    /**
     * Specifies whether an item should be hidden or not.
     *
     * @default true
     */
    visible: boolean;
    /**
     * Specifies the Toolbar command display area when an element's content is too large to fit available space.
     * This is applicable only to `popup` mode. Possible values are:
     * - Show:  Always shows the item as the primary priority on the *Toolbar*.
     * - Hide: Always shows the item as the secondary priority on the *popup*.
     * - None: No priority for display, and as per normal order moves to popup when content exceeds.
     *
     * @default 'None'
     */
    overflow: OverflowOption;
    /**
     * Specifies the HTML element/element ID as a string that can be added as a Toolbar command.
     * ```
     * E.g - items: [{ template: '<input placeholder="Search"/>' },{ template: '#checkbox1' }]
     * ```
     *
     * @default ""
     */
    template: string | Object;
    /**
     * Specifies the types of command to be rendered in the Toolbar.
     * Supported types are:
     * - Button: Creates the Button control with its given properties like text, prefixIcon, etc.
     * - Separator: Adds a horizontal line that separates the Toolbar commands.
     * - Input: Creates an input element that is applicable to template rendering with Syncfusion controls like DropDownList,
     * AutoComplete, etc.
     *
     * @default 'Button'
     */
    type: ItemType;
    /**
     * Specifies where the button text will be displayed on *popup mode* of the Toolbar.
     * Possible values are:
     * - Toolbar:  Text will be displayed on *Toolbar* only.
     * - Overflow: Text will be displayed only when content overflows to *popup*.
     * - Both: Text will be displayed on *popup* and *Toolbar*.
     *
     * @default 'Both'
     */
    showTextOn: DisplayMode;
    /**
     * Defines htmlAttributes used to add custom attributes to Toolbar command.
     * Supports HTML attributes such as style, class, etc.
     *
     * @default null
     */
    htmlAttributes: {
        [key: string]: string;
    };
    /**
     * Specifies the text to be displayed on hovering the Toolbar button.
     *
     * @default ""
     */
    tooltipText: string;
    /**
     * Specifies the location for aligning Toolbar items on the Toolbar. Each command will be aligned according to the `align` property.
     * Possible values are:
     * - Left: To align commands to the left side of the Toolbar.
     * - Center: To align commands at the center of the Toolbar.
     * - Right: To align commands to the right side of the Toolbar.
     * ```html
     * <div id="element"> </div>
     * ```
     * ```typescript
     * let toolbar$: Toolbar = new Toolbar({
     *     items: [
     *         { text: "Home" },
     *         { text: "My Home Page" , align: 'Center' },
     *         { text: "Search", align: 'Right' }
     *         { text: "Settings", align: 'Right' }
     *     ]
     * });
     * toolbar.appendTo('#element');
     * ```
     *
     * @default "Left"
     */
    align: ItemAlign;
    /**
     * Event triggers when `click` the toolbar item.
     *
     * @event click
     */
    click: base.EmitType<ClickEventArgs>;
}
/**
 * The Toolbar control contains a group of commands that are aligned horizontally.
 * ```html
 * <div id="toolbar"/>
 * <script>
 *   var toolbarObj = new Toolbar();
 *   toolbarObj.appendTo("#toolbar");
 * </script>
 * ```
 */
export  class Toolbar extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    private trgtEle;
    private ctrlTem;
    private popObj;
    private tbarEle;
    private tbarAlgEle;
    private tbarAlign;
    private tbarEleMrgn;
    private tbResize;
    private offsetWid;
    private keyModule;
    private scrollModule;
    private activeEle;
    private popupPriCount;
    private tbarItemsCol;
    private isVertical;
    private tempId;
    private isExtendedOpen;
    private resizeContext;
    /**
     * Contains the keyboard configuration of the Toolbar.
     */
    private keyConfigs;
    /**
     * An array of items that is used to configure Toolbar commands.
     *
     * @default []
     */
    items: ItemModel[];
    /**
     * Specifies the width of the Toolbar in pixels/numbers/percentage. Number value is considered as pixels.
     *
     * @default 'auto'
     */
    width: string | number;
    /**
     * Specifies the height of the Toolbar in pixels/number/percentage. Number value is considered as pixels.
     *
     * @default 'auto'
     */
    height: string | number;
    /**
     * Sets the CSS classes to root element of the Tab that helps to customize component styles.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * Specifies the Toolbar display mode when Toolbar content exceeds the viewing area.
     * Possible modes are:
     * - Scrollable: All the elements are displayed in a single line with horizontal scrolling enabled.
     * - Popup: Prioritized elements are displayed on the Toolbar and the rest of elements are moved to the *popup*.
     * - MultiRow: Displays the overflow toolbar items as an in-line of a toolbar.
     * - Extended: Hide the overflowing toolbar items in the next row.  Show the overflowing toolbar items when you click the expand icons.
     * If the popup content overflows the height of the page, the rest of the elements will be hidden.
     *
     * @default 'Scrollable'
     */
    overflowMode: OverflowMode;
    /**
     * Specifies the scrolling distance in scroller.
     *
     * @default null
     */
    scrollStep: number;
    /**
     * Enable or disable the popup collision.
     *
     * @default true
     */
    enableCollision: boolean;
    /**
     * Defines whether to allow the cross-scripting site or not.
     *
     * @default true
     */
    enableHtmlSanitizer: boolean;
    /**
     * When this property is set to true, it allows the keyboard interaction in toolbar.
     *
     * @default true
     */
    allowKeyboard: boolean;
    /**
     * The event will be fired on clicking the Toolbar elements.
     *
     * @event clicked
     */
    clicked: base.EmitType<ClickEventArgs>;
    /**
     * The event will be fired when the control is rendered.
     *
     * @event created
     */
    created: base.EmitType<Event>;
    /**
     * The event will be fired when the control gets destroyed.
     *
     * @event destroyed
     */
    destroyed: base.EmitType<Event>;
    /**
     * The event will be fired before the control is rendered on a page.
     *
     * @event beforeCreate
     */
    beforeCreate: base.EmitType<BeforeCreateArgs>;
    /**
     * Removes the control from the DOM and also removes all its related events.
     *
     * @returns {void}.
     */
    destroy(): void;
    /**
     * Initialize the event handler
     *
     * @private
     * @returns {void}
     */
    protected preRender(): void;
    /**
     * Initializes a new instance of the Toolbar class.
     *
     * @param {ToolbarModel} options  - Specifies Toolbar model properties as options.
     * @param { string | HTMLElement} element  - Specifies the element that is rendered as a Toolbar.
     */
    constructor(options?: ToolbarModel, element?: string | HTMLElement);
    private wireEvents;
    private wireKeyboardEvent;
    private unwireKeyboardEvent;
    private docKeyDown;
    private unwireEvents;
    private clearProperty;
    private docEvent;
    private destroyScroll;
    private destroyItems;
    private destroyMode;
    private add;
    private remove;
    private elementFocus;
    private clstElement;
    private keyHandling;
    private keyActionHandler;
    /**
     * Specifies the value to disable/enable the Toolbar component.
     * When set to `true`, the component will be disabled.
     *
     * @param  {boolean} value - Based on this Boolean value, Toolbar will be enabled (false) or disabled (true).
     * @returns {void}.
     */
    disable(value: boolean): void;
    private eleContains;
    private eleFocus;
    private clickHandler;
    private popupClickHandler;
    /**
     * To Initialize the control rendering
     *
     * @private
     * @returns {void}
     */
    protected render(): void;
    private initialize;
    private renderControl;
    private renderLayout;
    private itemsAlign;
    /**
     * @hidden
     * @returns {void}
     */
    changeOrientation(): void;
    private initScroll;
    private itemWidthCal;
    private getScrollCntEle;
    private checkOverflow;
    /**
     * Refresh the whole Toolbar component without re-rendering.
     * - It is used to manually refresh the Toolbar overflow modes such as scrollable, popup, multi row, and extended.
     * - It will refresh the Toolbar component after loading items dynamically.
     *
     * @returns {void}.
     */
    refreshOverflow(): void;
    private toolbarAlign;
    private renderOverflowMode;
    private setOverflowAttributes;
    private separator;
    private createPopupEle;
    private pushingPoppedEle;
    private createPopup;
    private getElementOffsetY;
    private popupInit;
    private tbarPopupHandler;
    private popupOpen;
    private popupClose;
    private checkPriority;
    private createPopupIcon;
    private tbarPriRef;
    private popupRefresh;
    private ignoreEleFetch;
    private checkPopupRefresh;
    private popupEleWidth;
    private popupEleRefresh;
    private removePositioning;
    private refreshPositioning;
    private itemPositioning;
    private tbarItemAlign;
    private ctrlTemplate;
    private renderItems;
    private setAttr;
    /**
     * Enables or disables the specified Toolbar item.
     *
     * @param  {number|HTMLElement|NodeList} items - DOM element or an array of items to be enabled or disabled.
     * @param  {boolean} isEnable  - Boolean value that determines whether the command should be enabled or disabled.
     * By default, `isEnable` is set to true.
     * @returns {void}.
     */
    enableItems(items: number | HTMLElement | NodeList, isEnable?: boolean): void;
    private getElementByIndex;
    /**
     * Adds new items to the Toolbar that accepts an array as Toolbar items.
     *
     * @param  {ItemModel[]} items - DOM element or an array of items to be added to the Toolbar.
     * @param  {number} index - Number value that determines where the command is to be added. By default, index is 0.
     * @returns {void}.
     */
    addItems(items: ItemModel[], index?: number): void;
    /**
     * Removes the items from the Toolbar. Acceptable arguments are index of item/HTMLElement/node list.
     *
     * @param  {number|HTMLElement|NodeList|HTMLElement[]} args
     * Index or DOM element or an Array of item which is to be removed from the Toolbar.
     * @returns {void}.
     */
    removeItems(args: number | HTMLElement | NodeList | Element | HTMLElement[]): void;
    private removeItemByIndex;
    private templateRender;
    private buttonRendering;
    private renderSubComponent;
    private itemClick;
    private activeEleSwitch;
    private activeEleRemove;
    protected getPersistData(): string;
    /**
     * Returns the current module name.
     *
     * @returns {string} - Returns the module name as string.
     * @private
     */
    protected getModuleName(): string;
    private itemsRerender;
    private resize;
    private extendedOpen;
    /**
     * Gets called when the model property changes.The data that describes the old and new values of the property that changed.
     *
     * @param  {ToolbarModel} newProp - It contains new value of the data.
     * @param  {ToolbarModel} oldProp - It contains old value of the data.
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: ToolbarModel, oldProp: ToolbarModel): void;
    /**
     * Shows or hides the Toolbar item that is in the specified index.
     *
     * @param  {number | HTMLElement} index - Index value of target item or DOM element  of items to be hidden or shown.
     * @param  {boolean} value - Based on this Boolean value, item will be hide (true) or show (false). By default, value is false.
     * @returns {void}.
     */
    hideItem(index: number | HTMLElement | Element, value?: boolean): void;
}
//node_modules/@syncfusion/ej2-navigations/src/treeview/index.d.ts
/**
 * TreeView modules
 */
//node_modules/@syncfusion/ej2-navigations/src/treeview/treeview-model.d.ts
/**
 * Interface for a class FieldsSettings
 */
export interface FieldsSettingsModel {
    /**
     * Binds the field settings for child nodes or mapping field for nested nodes objects that contain array of JSON objects.
     */
    child?: string | FieldsSettingsModel;
    /**
     * Specifies the array of JavaScript objects or instance of data.DataManager to populate the nodes.
     *
     * @default []
     * @aspDatasourceNullIgnore
     * @isGenericType true
     */
    /* eslint-disable */
    dataSource?: data.DataManager | { [key: string]: Object }[];
    /**
     * Specifies the mapping field for expand state of the TreeView node.
     */
    expanded?: string;
    /**
     * Specifies the mapping field for hasChildren to check whether a node has child nodes or not.
     */
    hasChildren?: string;
    /**
     * Specifies the mapping field for htmlAttributes to be added to the TreeView node.
     */
    htmlAttributes?: string;
    /**
     * Specifies the mapping field for icon class of each TreeView node that will be added before the text.
     */
    iconCss?: string;
    /**
     * Specifies the ID field mapped in dataSource.
     */
    id?: string;
    /**
     * Specifies the mapping field for image URL of each TreeView node where image will be added before the text.
     */
    imageUrl?: string;
    /**
     * Specifies the field for checked state of the TreeView node.
     */
    isChecked?: string;
    /**
     * Specifies the parent ID field mapped in dataSource.
     */
    parentID?: string;
    /**
     * Defines the external [`data.Query`](https://ej2.syncfusion.com/documentation/api/data/query/)
     * that will execute along with data processing.
     *
     * @default null
     */
    query?: data.Query;
    /**
     * Specifies the mapping field for selected state of the TreeView node.
     */
    selected?: string;
    /**
     * Specifies the table name used to fetch data from a specific table in the server.
     */
    tableName?: string;
    /**
     * Specifies the mapping field for text displayed as TreeView node's display text.
     */
    text?: string;
    /**
     * Specifies the mapping field for tooltip that will be displayed as hovering text of the TreeView node.
     */
    tooltip?: string;
    /**
     * Specifies the mapping field for navigateUrl to be added as hyper-link of the TreeView node.
     */
    navigateUrl?: string;
}
/**
 * Interface for a class ActionSettings
 */
export interface ActionSettingsModel {
    /**
     * Specifies the type of animation.
     *
     * @default 'SlideDown'
     */
    effect?: base.Effect;
    /**
     * Specifies the duration to animate.
     *
     * @default 400
     */
    duration?: number;
    /**
     * Specifies the animation timing function.
     *
     * @default 'linear'
     */
    easing?: string;
}
/**
 * Interface for a class NodeAnimationSettings
 */
export interface NodeAnimationSettingsModel {
    /**
     * Specifies the animation that applies on collapsing the nodes.
     *
     * @default { effect: 'SlideUp', duration: 400, easing: 'linear' }
     */
    collapse?: ActionSettingsModel;
    /**
     * Specifies the animation that applies on expanding the nodes.
     *
     * @default { effect: 'SlideDown', duration: 400, easing: 'linear' }
     */
    expand?: ActionSettingsModel;
}
/**
 * Interface for a class TreeView
 */
export interface TreeViewModel extends base.ComponentModel{
    /**
     * Indicates whether the TreeView allows drag and drop of nodes. To drag and drop a node in
     * desktop, hold the mouse on the node, drag it to the target node and drop the node by releasing
     * the mouse. For touch devices, drag and drop operation is performed by touch, touch move
     * and touch end. For more information on drag and drop nodes concept, refer to
     * [Drag and Drop](../../treeview/drag-and-drop/).
     *
     * @default false
     */
    allowDragAndDrop?: boolean;
    /**
     * Enables or disables editing of the text in the TreeView node. When `allowEditing` property is set
     * to true, the TreeView allows you to edit the node by double clicking the node or by navigating to
     * the node and pressing **F2** key. For more information on node editing, refer
     * to [Node Editing](../../treeview/node-editing/).
     *
     * @default false
     */
    allowEditing?: boolean;
    /**
     * Enables or disables multi-selection of nodes. To base.select multiple nodes:
     * * Select the nodes by holding down the CTRL key while clicking on the nodes.
     * * Select consecutive nodes by clicking the first node to base.select and hold down the **SHIFT** key
     * and click the last node to base.select.
     *
     * For more information on multi-selection, refer to
     * [Multi-Selection](../../treeview/multiple-selection/).
     *
     * @default false
     */
    allowMultiSelection?: boolean;
    /**
     * Enables or disables text wrapping when text exceeds the bounds in the TreeView node.  
     * When the allowTextWrap property is set to true, the TreeView node text content will wrap to the next line 
     * when it exceeds the width of the TreeView node.
     * The TreeView node height will be adjusted automatically based on the TreeView node content.  
     *
     * @default false
     */
    allowTextWrap?: boolean;
    /**
     * Specifies the type of animation applied on expanding and collapsing the nodes along with duration.
     *
     * @default {expand: { effect: 'SlideDown', duration: 400, easing: 'linear' },
     * collapse: { effect: 'SlideUp', duration: 400, easing: 'linear' }}
     */
    animation?: NodeAnimationSettingsModel;
    /**
     * The `checkedNodes` property is used to set the nodes that need to be checked or
     * get the ID of nodes that are currently checked in the TreeView component.
     * The `checkedNodes` property depends upon the value of `showCheckBox` property.
     * For more information on checkedNodes, refer to
     * [checkedNodes](../../treeview/check-box#checked-nodes).
     *
     * @default []
     */
    checkedNodes?: string[];
    /**
     * Specifies the CSS classes to be added with root element of the TreeView to help customize the appearance of the component.
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * Specifies a value that indicates whether the TreeView component is disabled or not.
     * When set to true, user interaction will not be occurred in TreeView.
     *
     * @default false
     */
    disabled?: boolean;
    /**
     * Defines the area in which the draggable element movement will be occurring. Outside that area will be restricted
     * for the draggable element movement. By default, the draggable element movement occurs in the entire page.
     *
     * @default null
     */
    dragArea?: HTMLElement | string;
    /**
     * Defines whether to allow the cross-scripting site or not.
     *
     * @default false
     */
    enableHtmlSanitizer?: boolean;
    /**
     * Enables or disables persisting TreeView state between page reloads. If enabled, following APIs will persist.
     * 1. `selectedNodes` - Represents the nodes that are selected in the TreeView component.
     * 2. `checkedNodes`  - Represents the nodes that are checked in the TreeView component.
     * 3. `expandedNodes` - Represents the nodes that are expanded in the TreeView component.
     *
     * @default false
     */
    enablePersistence?: boolean;
    /**
     * Represents the expanded nodes in the TreeView component. We can set the nodes that need to be
     * expanded or get the ID of the nodes that are currently expanded by using this property.
     *
     * @default []
     */
    expandedNodes?: string[];
    /**
     * Specifies the action on which the node expands or collapses. The available actions are,
     * * `Auto` - In desktop, the expand/collapse operation happens when you double-click the node, and in mobile devices it
     * happens on single-click.
     * * `Click` - The expand/collapse operation happens when you single-click the node in both desktop and mobile devices.
     * * `DblClick` - The expand/collapse operation happens when you double-click the node in both desktop and mobile devices.
     * * `None` - The expand/collapse operation will not happen when you single-click or double-click the node in both desktop
     *  and mobile devices.
     *
     * @default 'Auto'
     */
    expandOn?: ExpandOnSettings;
    /**
     * Specifies the data source and mapping fields to render TreeView nodes.
     *
     * @default {id: 'id', text: 'text', dataSource: [], child: 'child', parentID: 'parentID', hasChildren: 'hasChildren',
     *  expanded: 'expanded', htmlAttributes: 'htmlAttributes', iconCss: 'iconCss', imageUrl: 'imageUrl', isChecked: 'isChecked',
     *  query: null, selected: 'selected', tableName: null, tooltip: 'tooltip', navigateUrl: 'navigateUrl'}
     */
    fields?: FieldsSettingsModel;
    /**
     * On enabling this property, the entire row of the TreeView node gets selected by clicking a node.
     * When disabled only the corresponding node's text gets selected.
     * For more information on Fields concept, refer to
     * [Fields](../../treeview/data-binding#local-data).
     *
     * @default true
     */
    fullRowSelect?: boolean;
    /**
     * By default, the load on demand (Lazy load) is set to true. By disabling this property, all the tree nodes are rendered at the
     * beginning itself.
     *
     * @default true
     */
    loadOnDemand?: boolean;
    /**
     * Overrides the global culture and localization value for this component. Default global culture is 'en-US'.
     *
     * @private
     */
    locale?: string;
    /**
     * Specifies a template to render customized content for all the nodes. If the `nodeTemplate` property
     * is set, the template content overrides the displayed node text. The property accepts template string
     * [template string](https://ej2.syncfusion.com/documentation/common/template-engine/)
     * or HTML element ID holding the content. For more information on template concept, refer to
     * [Template](../../treeview/template/).
     *
     * @default null
     */
    nodeTemplate?: string;
    /**
     * Represents the selected nodes in the TreeView component. We can set the nodes that need to be
     * selected or get the ID of the nodes that are currently selected by using this property.
     * On enabling `allowMultiSelection` property we can base.select multiple nodes and on disabling
     * it we can base.select only a single node.
     * For more information on selectedNodes, refer to
     * [selectedNodes](../../treeview/multiple-selection#selected-nodes).
     *
     * @default []
     */
    selectedNodes?: string[];
    /**
     * Specifies a value that indicates whether the nodes are sorted in the ascending or descending order,
     * or are not sorted at all. The available types of sort order are,
     * * `None` - The nodes are not sorted.
     * * `Ascending` - The nodes are sorted in the ascending order.
     * * `Descending` - The nodes are sorted in the ascending order.
     *
     * @default 'None'
     */
    sortOrder?: SortOrder;
    /**
     * Indicates that the nodes will display CheckBoxes in the TreeView.
     * The CheckBox will be displayed next to the expand/collapse icon of the node. For more information on CheckBoxes, refer to
     * [CheckBox](../../treeview/check-box/).
     *
     * @default false
     */
    showCheckBox?: boolean;
    /**
     * Allow us to specify the parent and child nodes to get auto check while we check or uncheck a node.
     *
     * @default true
     */
    autoCheck?: boolean;
    /**
     * If this property is set to true, then the entire TreeView node will be navigate-able instead of text element.
     *
     * @default false
     */
    fullRowNavigable?: boolean;
    /**
     * Triggers when any TreeView action failed to fetch the desired results.
     *
     * @event
     */
    actionFailure?: base.EmitType<FailureEventArgs>;
    /**
     * Triggers when the TreeView control is created successfully.
     *
     * @event
     */
    /* eslint-disable */
    created?: base.EmitType<Object>;
    /**
     * Triggers when data source is populated in the TreeView.
     *
     * @event
     */
    dataBound?: base.EmitType<DataBoundEventArgs>;
    /**
     * Triggers when data source is changed in the TreeView. The data source will be changed after performing some operation like
     * drag and drop, node editing, adding and removing node.
     *
     * @event
     */
    dataSourceChanged?: base.EmitType<DataSourceChangedEventArgs>;
    /**
     * Triggers before the TreeView node is appended to the TreeView element. It helps to customize specific nodes.
     *
     * @event
     */
    drawNode?: base.EmitType<DrawNodeEventArgs>;
    /**
     * Triggers when the TreeView control is destroyed successfully.
     *
     * @event
     */
    /* eslint-disable */
    destroyed?: base.EmitType<Object>;
    /**
     * Triggers when key press is successful. It helps to customize the operations at key press.
     *
     * @event
     */
    keyPress?: base.EmitType<NodeKeyPressEventArgs>;
    /**
     * Triggers when the TreeView node is checked/unchecked successfully.
     *
     * @event
     */
    nodeChecked?: base.EmitType<NodeCheckEventArgs>;
    /**
     * Triggers before the TreeView node is to be checked/unchecked.
     *
     * @event
     */
    nodeChecking?: base.EmitType<NodeCheckEventArgs>;
    /**
     * Triggers when the TreeView node is clicked successfully.
     *
     * @event
     */
    nodeClicked?: base.EmitType<NodeClickEventArgs>;
    /**
     * Triggers when the TreeView node collapses successfully.
     *
     * @event
     */
    nodeCollapsed?: base.EmitType<NodeExpandEventArgs>;
    /**
     * Triggers before the TreeView node collapses.
     *
     * @event
     */
    nodeCollapsing?: base.EmitType<NodeExpandEventArgs>;
    /**
     * Triggers when the TreeView node is dragged (moved) continuously.
     *
     * @deprecated
     * @event
     */
    nodeDragging?: base.EmitType<DragAndDropEventArgs>;
    /**
     * Triggers when the TreeView node drag (move) starts.
     *
     * @event
     */
    nodeDragStart?: base.EmitType<DragAndDropEventArgs>;
    /**
     * Triggers when the TreeView node drag (move) is stopped.
     *
     * @event
     */
    nodeDragStop?: base.EmitType<DragAndDropEventArgs>;
    /**
     * Triggers when the TreeView node is dropped on target element successfully.
     *
     * @event
     */
    nodeDropped?: base.EmitType<DragAndDropEventArgs>;
    /**
     * Triggers when the TreeView node is renamed successfully.
     *
     * @event
     */
    nodeEdited?: base.EmitType<NodeEditEventArgs>;
    /**
     * Triggers before the TreeView node is renamed.
     *
     * @event
     */
    nodeEditing?: base.EmitType<NodeEditEventArgs>;
    /**
     * Triggers when the TreeView node expands successfully.
     *
     * @event
     */
    nodeExpanded?: base.EmitType<NodeExpandEventArgs>;
    /**
     * Triggers before the TreeView node is to be expanded.
     *
     * @event
     */
    nodeExpanding?: base.EmitType<NodeExpandEventArgs>;
    /**
     * Triggers when the TreeView node is selected/unselected successfully.
     *
     * @event
     */
    nodeSelected?: base.EmitType<NodeSelectEventArgs>;
    /**
     * Triggers before the TreeView node is selected/unselected.
     *
     * @event
     */
    nodeSelecting?: base.EmitType<NodeSelectEventArgs>;
}
//node_modules/@syncfusion/ej2-navigations/src/treeview/treeview.d.ts
/**
 * Interface for NodeExpand event arguments.
 */
export interface NodeExpandEventArgs {
    /**
     * If you want to cancel this event then, set cancel as true. Otherwise, false.
     */
    cancel: boolean;
    /**
     * If the event is triggered by interaction, it returns true. Otherwise, it returns false.
     */
    isInteracted: boolean;
    /**
     * Return the expanded/collapsed TreeView node.
     */
    node: HTMLLIElement;
    /**
     *
     * Return the expanded/collapsed node as JSON object from data source.
     *
     *
     */
    nodeData: {
        [key: string]: Object;
    };
    event: MouseEvent | base.KeyboardEventArgs | base.TapEventArgs;
}
/**
 * Interface for NodeSelect event arguments.
 */
export interface NodeSelectEventArgs {
    /**
     * Return the name of action like select or un-select.
     */
    action: string;
    /**
     * If you want to cancel this event then, set cancel as true. Otherwise, false.
     */
    cancel: boolean;
    /**
     * If the event is triggered by interaction, it returns true. Otherwise, it returns false.
     */
    isInteracted: boolean;
    /**
     * Return the currently selected TreeView node.
     */
    node: HTMLLIElement;
    /**
     * Return the currently selected node as JSON object from data source.
     *
     */
    nodeData: {
        [key: string]: Object;
    };
}
/**
 * Interface for NodeCheck event arguments.
 */
export interface NodeCheckEventArgs {
    /**
     * Return the name of action like check or un-check.
     */
    action: string;
    /**
     * If you want to cancel this event then, set cancel as true. Otherwise, false.
     */
    cancel: boolean;
    /**
     * If the event is triggered by interaction, it returns true. Otherwise, it returns false.
     */
    isInteracted: boolean;
    /**
     * Return the currently checked TreeView node.
     */
    node: HTMLLIElement;
    /**
     * Return the currently checked node as JSON object from data source.
     *
     */
    data: {
        [key: string]: Object;
    }[];
}
/**
 * Interface for NodeEdit event arguments.
 */
export interface NodeEditEventArgs {
    /**
     * If you want to cancel this event then, set cancel as true. Otherwise, false.
     */
    cancel: boolean;
    /**
     * Return the current TreeView node new text.
     */
    newText: string;
    /**
     * Return the current TreeView node.
     */
    node: HTMLLIElement;
    /**
     * Return the current node as JSON object from data source.
     *
     */
    nodeData: {
        [key: string]: Object;
    };
    /**
     * Return the current TreeView node old text.
     */
    oldText: string;
    /**
     * Gets or sets the inner HTML of TreeView node while editing.
     */
    innerHtml: string;
}
/**
 * Interface for DragAndDrop event arguments.
 */
export interface DragAndDropEventArgs {
    /**
     * If you want to cancel this event then, set cancel as true. Otherwise, false.
     */
    cancel: boolean;
    /**
     * Return the cloned element
     */
    clonedNode: HTMLElement;
    /**
     * Return the actual event.
     */
    event: MouseEvent & TouchEvent;
    /**
     * Return the currently dragged TreeView node.
     */
    draggedNode: HTMLLIElement;
    /**
     * Return the currently dragged node as array of JSON object from data source.
     *
     */
    draggedNodeData: {
        [key: string]: Object;
    };
    /**
     * Returns the dragged/dropped element's target index position
     *
     */
    dropIndex: number;
    /**
     * Returns the dragged/dropped element's target level
     *
     */
    dropLevel: number;
    /**
     * Return the dragged element's source parent
     */
    draggedParentNode: Element;
    /**
     * Return the dragged element's destination parent
     */
    dropTarget: Element;
    /**
     * Return the cloned element's drop status icon while dragging
     */
    dropIndicator: string;
    /**
     * Return the dropped TreeView node.
     */
    droppedNode: HTMLLIElement;
    /**
     * Return the dropped node as array of JSON object from data source.
     *
     */
    droppedNodeData: {
        [key: string]: Object;
    };
    /**
     * Return the target element from which drag starts/end.
     */
    target: HTMLElement;
    /**
     * Return boolean value for preventing auto-expanding of parent node.
     */
    preventTargetExpand?: boolean;
    /**
     * Denotes the cloned element's drop position relative to the dropped node while dragging. The available values are,
     *   1. Inside – Denotes that the cloned element will be appended as the child node of the dropped node.
     *   2. Before - Denotes that the cloned element will be appended before the dropped node.
     *   3. After - Denotes that the cloned element will be appended after the dropped node.
     */
    position: string;
}
/**
 * Interface for DrawNode event arguments.
 */
export interface DrawNodeEventArgs {
    /**
     * Return the current rendering node.
     */
    node: HTMLLIElement;
    /**
     * Return the current rendering node as JSON object.
     *
     * @isGenericType true
     */
    nodeData: {
        [key: string]: Object;
    };
    /**
     * Return the current rendering node text.
     */
    text: string;
}
/**
 * Interface for NodeClick event arguments.
 */
export interface NodeClickEventArgs {
    /**
     * Return the actual event.
     */
    event: MouseEvent;
    /**
     * Return the current clicked TreeView node.
     */
    node: HTMLLIElement;
}
/**
 * Interface for NodeKeyPress event arguments.
 */
export interface NodeKeyPressEventArgs {
    /**
     * If you want to cancel this event then, set cancel as true. Otherwise, false.
     */
    cancel: boolean;
    /**
     * Return the actual event.
     *
     */
    event: base.KeyboardEventArgs;
    /**
     * Return the current active TreeView node.
     */
    node: HTMLLIElement;
}
/**
 * Interface for DataBound event arguments.
 */
export interface DataBoundEventArgs {
    /**
     * Return the TreeView data.
     *
     * @isGenericType true
     */
    data: {
        [key: string]: Object;
    }[];
}
/**
 * Interface for DataSourceChanged event arguments.
 */
export interface DataSourceChangedEventArgs {
    /**
     * Return the updated TreeView data. The data source will be updated after performing some operation like
     * drag and drop, node editing, adding and removing node. If you want to get updated data source after performing operation like
     * selecting/unSelecting, checking/unChecking, expanding/collapsing the node, then you can use getTreeData method.
     *
     * @isGenericType true
     */
    data: {
        [key: string]: Object;
    }[];
}
/**
 * Interface that holds the node details.
 */
export interface NodeData {
    /**
     * Specifies the ID field mapped in dataSource.
     */
    id: string;
    /**
     * Specifies the mapping field for text displayed as TreeView node's display text.
     */
    text: string;
    /**
     * Specifies the parent ID field mapped in dataSource.
     */
    parentID: string;
    /**
     * Specifies the mapping field for selected state of the TreeView node.
     */
    selected: boolean;
    /**
     * Specifies the mapping field for expand state of the TreeView node.
     */
    expanded: boolean;
    /**
     * Specifies the field for checked state of the TreeView node.
     */
    isChecked: string;
    /**
     * Specifies the mapping field for hasChildren to check whether a node has child nodes or not.
     */
    hasChildren: boolean;
}
/**
 * Interface for Failure event arguments
 */
export interface FailureEventArgs {
    /** Defines the error information. */
    error?: Error;
}
/**
 * Configures the fields to bind to the properties of node in the TreeView component.
 */
export  class FieldsSettings extends base.ChildProperty<FieldsSettings> {
    /**
     * Binds the field settings for child nodes or mapping field for nested nodes objects that contain array of JSON objects.
     */
    child: string | FieldsSettingsModel;
    /**
     * Specifies the array of JavaScript objects or instance of data.DataManager to populate the nodes.
     *
     * @default []
     * @aspDatasourceNullIgnore
     * @isGenericType true
     */
    dataSource: data.DataManager | {
        [key: string]: Object;
    }[];
    /**
     * Specifies the mapping field for expand state of the TreeView node.
     */
    expanded: string;
    /**
     * Specifies the mapping field for hasChildren to check whether a node has child nodes or not.
     */
    hasChildren: string;
    /**
     * Specifies the mapping field for htmlAttributes to be added to the TreeView node.
     */
    htmlAttributes: string;
    /**
     * Specifies the mapping field for icon class of each TreeView node that will be added before the text.
     */
    iconCss: string;
    /**
     * Specifies the ID field mapped in dataSource.
     */
    id: string;
    /**
     * Specifies the mapping field for image URL of each TreeView node where image will be added before the text.
     */
    imageUrl: string;
    /**
     * Specifies the field for checked state of the TreeView node.
     */
    isChecked: string;
    /**
     * Specifies the parent ID field mapped in dataSource.
     */
    parentID: string;
    /**
     * Defines the external [`data.Query`](https://ej2.syncfusion.com/documentation/api/data/query/)
     * that will execute along with data processing.
     *
     * @default null
     */
    query: data.Query;
    /**
     * Specifies the mapping field for selected state of the TreeView node.
     */
    selected: string;
    /**
     * Specifies the table name used to fetch data from a specific table in the server.
     */
    tableName: string;
    /**
     * Specifies the mapping field for text displayed as TreeView node's display text.
     */
    text: string;
    /**
     * Specifies the mapping field for tooltip that will be displayed as hovering text of the TreeView node.
     */
    tooltip: string;
    /**
     * Specifies the mapping field for navigateUrl to be added as hyper-link of the TreeView node.
     */
    navigateUrl: string;
}
/**
 * Defines the expand type of the TreeView node.
 */
export  type ExpandOnSettings = 'Auto' | 'Click' | 'DblClick' | 'None';
/**
 * Defines the sorting order type for TreeView.
 */
export  type SortOrder = 'None' | 'Ascending' | 'Descending';
/**
 * Configures animation settings for the TreeView component.
 */
export  class ActionSettings extends base.ChildProperty<ActionSettings> {
    /**
     * Specifies the type of animation.
     *
     * @default 'SlideDown'
     */
    effect: base.Effect;
    /**
     * Specifies the duration to animate.
     *
     * @default 400
     */
    duration: number;
    /**
     * Specifies the animation timing function.
     *
     * @default 'linear'
     */
    easing: string;
}
/**
 * Configures the animation settings for expanding and collapsing nodes in TreeView.
 */
export  class NodeAnimationSettings extends base.ChildProperty<NodeAnimationSettings> {
    /**
     * Specifies the animation that applies on collapsing the nodes.
     *
     * @default { effect: 'SlideUp', duration: 400, easing: 'linear' }
     */
    collapse: ActionSettingsModel;
    /**
     * Specifies the animation that applies on expanding the nodes.
     *
     * @default { effect: 'SlideDown', duration: 400, easing: 'linear' }
     */
    expand: ActionSettingsModel;
}
/**
 * The TreeView component is used to represent hierarchical data in a tree like structure with advanced
 * functions to perform edit, drag and drop, selection with check-box, and more.
 * ```html
 *  <div id="tree"></div>
 * ```
 * ```typescript
 *  let treeObj: TreeView = new TreeView();
 *  treeObj.appendTo('#tree');
 * ```
 */
export  class TreeView extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    private cloneElement;
    private initialRender;
    private treeData;
    private rootData;
    private groupedData;
    private ulElement;
    private listBaseOption;
    private dataType;
    private rippleFn;
    private rippleIconFn;
    private isNumberTypeId;
    private expandOnType;
    private keyboardModule;
    private liList;
    private aniObj;
    private treeList;
    private isLoaded;
    private expandArgs;
    private oldText;
    private dragObj;
    private dropObj;
    private dragTarget;
    private dragLi;
    private dragData;
    private startNode;
    private nodeTemplateFn;
    private currentLoadData;
    private checkActionNodes;
    private touchEditObj;
    private touchClickObj;
    private dragStartAction;
    private touchExpandObj;
    private inputObj;
    private isAnimate;
    private spinnerElement;
    private touchClass;
    private editData;
    private editFields;
    private refreshData;
    private refreshFields;
    private isRefreshed;
    private keyConfigs;
    private isInitalExpand;
    private index;
    private preventExpand;
    private hasPid;
    private dragParent;
    private checkedElement;
    private ele;
    private disableNode;
    private onLoaded;
    private parentNodeCheck;
    private parentCheckData;
    private validArr;
    private validNodes;
    private expandChildren;
    private isFieldChange;
    private changeDataSource;
    private isOffline;
    private firstTap;
    private hasTemplate;
    private isFirstRender;
    private isNodeDropped;
    /**
     * Indicates whether the TreeView allows drag and drop of nodes. To drag and drop a node in
     * desktop, hold the mouse on the node, drag it to the target node and drop the node by releasing
     * the mouse. For touch devices, drag and drop operation is performed by touch, touch move
     * and touch end. For more information on drag and drop nodes concept, refer to
     * [Drag and Drop](../../treeview/drag-and-drop/).
     *
     * @default false
     */
    allowDragAndDrop: boolean;
    /**
     * Enables or disables editing of the text in the TreeView node. When `allowEditing` property is set
     * to true, the TreeView allows you to edit the node by double clicking the node or by navigating to
     * the node and pressing **F2** key. For more information on node editing, refer
     * to [Node Editing](../../treeview/node-editing/).
     *
     * @default false
     */
    allowEditing: boolean;
    /**
     * Enables or disables multi-selection of nodes. To select multiple nodes:
     * * Select the nodes by holding down the CTRL key while clicking on the nodes.
     * * Select consecutive nodes by clicking the first node to select and hold down the **SHIFT** key
     * and click the last node to select.
     *
     * For more information on multi-selection, refer to
     * [Multi-Selection](../../treeview/multiple-selection/).
     *
     * @default false
     */
    allowMultiSelection: boolean;
    /**
     * Enables or disables text wrapping when text exceeds the bounds in the TreeView node.
     * When the allowTextWrap property is set to true, the TreeView node text content will wrap to the next line
     * when it exceeds the width of the TreeView node.
     * The TreeView node height will be adjusted automatically based on the TreeView node content.
     *
     * @default false
     */
    allowTextWrap: boolean;
    /**
     * Specifies the type of animation applied on expanding and collapsing the nodes along with duration.
     *
     * @default {expand: { effect: 'SlideDown', duration: 400, easing: 'linear' },
     * collapse: { effect: 'SlideUp', duration: 400, easing: 'linear' }}
     */
    animation: NodeAnimationSettingsModel;
    /**
     * The `checkedNodes` property is used to set the nodes that need to be checked or
     * get the ID of nodes that are currently checked in the TreeView component.
     * The `checkedNodes` property depends upon the value of `showCheckBox` property.
     * For more information on checkedNodes, refer to
     * [checkedNodes](../../treeview/check-box#checked-nodes).
     *
     * @default []
     */
    checkedNodes: string[];
    /**
     * Specifies the CSS classes to be added with root element of the TreeView to help customize the appearance of the component.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * Specifies a value that indicates whether the TreeView component is disabled or not.
     * When set to true, user interaction will not be occurred in TreeView.
     *
     * @default false
     */
    disabled: boolean;
    /**
     * Defines the area in which the draggable element movement will be occurring. Outside that area will be restricted
     * for the draggable element movement. By default, the draggable element movement occurs in the entire page.
     *
     * @default null
     */
    dragArea: HTMLElement | string;
    /**
     * Defines whether to allow the cross-scripting site or not.
     *
     * @default false
     */
    enableHtmlSanitizer: boolean;
    /**
     * Enables or disables persisting TreeView state between page reloads. If enabled, following APIs will persist.
     * 1. `selectedNodes` - Represents the nodes that are selected in the TreeView component.
     * 2. `checkedNodes`  - Represents the nodes that are checked in the TreeView component.
     * 3. `expandedNodes` - Represents the nodes that are expanded in the TreeView component.
     *
     * @default false
     */
    enablePersistence: boolean;
    /**
     * Represents the expanded nodes in the TreeView component. We can set the nodes that need to be
     * expanded or get the ID of the nodes that are currently expanded by using this property.
     *
     * @default []
     */
    expandedNodes: string[];
    /**
     * Specifies the action on which the node expands or collapses. The available actions are,
     * * `Auto` - In desktop, the expand/collapse operation happens when you double-click the node, and in mobile devices it
     * happens on single-click.
     * * `Click` - The expand/collapse operation happens when you single-click the node in both desktop and mobile devices.
     * * `DblClick` - The expand/collapse operation happens when you double-click the node in both desktop and mobile devices.
     * * `None` - The expand/collapse operation will not happen when you single-click or double-click the node in both desktop
     *  and mobile devices.
     *
     * @default 'Auto'
     */
    expandOn: ExpandOnSettings;
    /**
     * Specifies the data source and mapping fields to render TreeView nodes.
     *
     * @default {id: 'id', text: 'text', dataSource: [], child: 'child', parentID: 'parentID', hasChildren: 'hasChildren',
     *  expanded: 'expanded', htmlAttributes: 'htmlAttributes', iconCss: 'iconCss', imageUrl: 'imageUrl', isChecked: 'isChecked',
     *  query: null, selected: 'selected', tableName: null, tooltip: 'tooltip', navigateUrl: 'navigateUrl'}
     */
    fields: FieldsSettingsModel;
    /**
     * On enabling this property, the entire row of the TreeView node gets selected by clicking a node.
     * When disabled only the corresponding node's text gets selected.
     * For more information on Fields concept, refer to
     * [Fields](../../treeview/data-binding#local-data).
     *
     * @default true
     */
    fullRowSelect: boolean;
    /**
     * By default, the load on demand (Lazy load) is set to true. By disabling this property, all the tree nodes are rendered at the
     * beginning itself.
     *
     * @default true
     */
    loadOnDemand: boolean;
    /**
     * Overrides the global culture and localization value for this component. Default global culture is 'en-US'.
     *
     * @private
     */
    locale: string;
    /**
     * Specifies a template to render customized content for all the nodes. If the `nodeTemplate` property
     * is set, the template content overrides the displayed node text. The property accepts template string
     * [template string](https://ej2.syncfusion.com/documentation/common/template-engine/)
     * or HTML element ID holding the content. For more information on template concept, refer to
     * [Template](../../treeview/template/).
     *
     * @default null
     */
    nodeTemplate: string;
    /**
     * Represents the selected nodes in the TreeView component. We can set the nodes that need to be
     * selected or get the ID of the nodes that are currently selected by using this property.
     * On enabling `allowMultiSelection` property we can select multiple nodes and on disabling
     * it we can select only a single node.
     * For more information on selectedNodes, refer to
     * [selectedNodes](../../treeview/multiple-selection#selected-nodes).
     *
     * @default []
     */
    selectedNodes: string[];
    /**
     * Specifies a value that indicates whether the nodes are sorted in the ascending or descending order,
     * or are not sorted at all. The available types of sort order are,
     * * `None` - The nodes are not sorted.
     * * `Ascending` - The nodes are sorted in the ascending order.
     * * `Descending` - The nodes are sorted in the ascending order.
     *
     * @default 'None'
     */
    sortOrder: SortOrder;
    /**
     * Indicates that the nodes will display CheckBoxes in the TreeView.
     * The CheckBox will be displayed next to the expand/collapse icon of the node. For more information on CheckBoxes, refer to
     * [CheckBox](../../treeview/check-box/).
     *
     * @default false
     */
    showCheckBox: boolean;
    /**
     * Allow us to specify the parent and child nodes to get auto check while we check or uncheck a node.
     *
     * @default true
     */
    autoCheck: boolean;
    /**
     * If this property is set to true, then the entire TreeView node will be navigate-able instead of text element.
     *
     * @default false
     */
    fullRowNavigable: boolean;
    /**
     * Triggers when any TreeView action failed to fetch the desired results.
     *
     * @event
     */
    actionFailure: base.EmitType<FailureEventArgs>;
    /**
     * Triggers when the TreeView control is created successfully.
     *
     * @event
     */
    created: base.EmitType<Object>;
    /**
     * Triggers when data source is populated in the TreeView.
     *
     * @event
     */
    dataBound: base.EmitType<DataBoundEventArgs>;
    /**
     * Triggers when data source is changed in the TreeView. The data source will be changed after performing some operation like
     * drag and drop, node editing, adding and removing node.
     *
     * @event
     */
    dataSourceChanged: base.EmitType<DataSourceChangedEventArgs>;
    /**
     * Triggers before the TreeView node is appended to the TreeView element. It helps to customize specific nodes.
     *
     * @event
     */
    drawNode: base.EmitType<DrawNodeEventArgs>;
    /**
     * Triggers when the TreeView control is destroyed successfully.
     *
     * @event
     */
    destroyed: base.EmitType<Object>;
    /**
     * Triggers when key press is successful. It helps to customize the operations at key press.
     *
     * @event
     */
    keyPress: base.EmitType<NodeKeyPressEventArgs>;
    /**
     * Triggers when the TreeView node is checked/unchecked successfully.
     *
     * @event
     */
    nodeChecked: base.EmitType<NodeCheckEventArgs>;
    /**
     * Triggers before the TreeView node is to be checked/unchecked.
     *
     * @event
     */
    nodeChecking: base.EmitType<NodeCheckEventArgs>;
    /**
     * Triggers when the TreeView node is clicked successfully.
     *
     * @event
     */
    nodeClicked: base.EmitType<NodeClickEventArgs>;
    /**
     * Triggers when the TreeView node collapses successfully.
     *
     * @event
     */
    nodeCollapsed: base.EmitType<NodeExpandEventArgs>;
    /**
     * Triggers before the TreeView node collapses.
     *
     * @event
     */
    nodeCollapsing: base.EmitType<NodeExpandEventArgs>;
    /**
     * Triggers when the TreeView node is dragged (moved) continuously.
     *
     * @deprecated
     * @event
     */
    nodeDragging: base.EmitType<DragAndDropEventArgs>;
    /**
     * Triggers when the TreeView node drag (move) starts.
     *
     * @event
     */
    nodeDragStart: base.EmitType<DragAndDropEventArgs>;
    /**
     * Triggers when the TreeView node drag (move) is stopped.
     *
     * @event
     */
    nodeDragStop: base.EmitType<DragAndDropEventArgs>;
    /**
     * Triggers when the TreeView node is dropped on target element successfully.
     *
     * @event
     */
    nodeDropped: base.EmitType<DragAndDropEventArgs>;
    /**
     * Triggers when the TreeView node is renamed successfully.
     *
     * @event
     */
    nodeEdited: base.EmitType<NodeEditEventArgs>;
    /**
     * Triggers before the TreeView node is renamed.
     *
     * @event
     */
    nodeEditing: base.EmitType<NodeEditEventArgs>;
    /**
     * Triggers when the TreeView node expands successfully.
     *
     * @event
     */
    nodeExpanded: base.EmitType<NodeExpandEventArgs>;
    /**
     * Triggers before the TreeView node is to be expanded.
     *
     * @event
     */
    nodeExpanding: base.EmitType<NodeExpandEventArgs>;
    /**
     * Triggers when the TreeView node is selected/unselected successfully.
     *
     * @event
     */
    nodeSelected: base.EmitType<NodeSelectEventArgs>;
    /**
     * Triggers before the TreeView node is selected/unselected.
     *
     * @event
     */
    nodeSelecting: base.EmitType<NodeSelectEventArgs>;
    constructor(options?: TreeViewModel, element?: string | HTMLElement);
    /**
     * Get component name.
     *
     * @returns {string} - returns module name.
     * @private
     */
    getModuleName(): string;
    /**
     * Initialize the event handler
     *
     * @returns {void}
     */
    protected preRender(): void;
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @returns {string} - returns the persisted data
     * @hidden
     */
    getPersistData(): string;
    /**
     * To Initialize the control rendering
     *
     * @private
     * @returns {void}
     */
    protected render(): void;
    private initialize;
    private setDisabledMode;
    private setEnableRtl;
    private setRipple;
    private setFullRow;
    private setMultiSelect;
    private templateComplier;
    private setDataBinding;
    private getQuery;
    private getType;
    private setRootData;
    private renderItems;
    /**
     * Update the checkedNodes from datasource at initial rendering
     */
    private updateCheckedStateFromDS;
    /**
     * To check whether the list data has sub child and to change the parent check state accordingly
     */
    private getCheckedNodeDetails;
    /**
     * Update the checkedNodes and parent state when all the child Nodes are in checkedstate at initial rendering
     */
    private updateParentCheckState;
    /**
     * Change the parent to indeterminate state whenever the child is in checked state which is not rendered in DOM
     */
    private checkIndeterminateState;
    /**
     * Update the checkedNodes for child and subchild from datasource (hierarchical datasource) at initial rendering
     */
    private updateChildCheckState;
    private beforeNodeCreate;
    private frameMouseHandler;
    private addActionClass;
    private getDataType;
    private getGroupedData;
    private getSortedData;
    private finalizeNode;
    private updateCheckedProp;
    private ensureIndeterminate;
    private ensureParentCheckState;
    private ensureChildCheckState;
    private doCheckBoxAction;
    private updateFieldChecked;
    /**
     * Changes the parent and child  check state while changing the checkedNodes via setmodel
     */
    private dynamicCheckState;
    /**
     * updates the parent and child  check state while changing the checkedNodes via setmodel for listData
     */
    private updateIndeterminate;
    /**
     * updates the parent and child  check state while changing the checkedNodes via setmodel for hierarchical data
     */
    private updateChildIndeterminate;
    private changeState;
    private nodeCheckAction;
    private addCheck;
    private removeCheck;
    private getCheckEvent;
    private finalize;
    private setTextWrap;
    private updateWrap;
    private calculateWrap;
    private doExpandAction;
    private expandGivenNodes;
    private expandCallback;
    private afterFinalized;
    private doSelectionAction;
    private selectGivenNodes;
    private clickHandler;
    private nodeCheckedEvent;
    private triggerClickEvent;
    private expandNode;
    private expandedNode;
    private addExpand;
    private collapseNode;
    private nodeCollapseAction;
    private collapsedNode;
    private removeExpand;
    private disableExpandAttr;
    private setHeight;
    private animateHeight;
    private renderChildNodes;
    private loadChild;
    private disableTreeNodes;
    /**
     * Sets the child Item in selectedState while rendering the child node
     */
    private setSelectionForChildNodes;
    private ensureCheckNode;
    private getFields;
    private getChildFields;
    private getChildMapper;
    private getChildNodes;
    private getChildGroup;
    private renderSubChild;
    private toggleSelect;
    private isActive;
    private selectNode;
    private nodeSelectAction;
    private unselectNode;
    private nodeUnselectAction;
    private setFocusElement;
    private addSelect;
    private removeSelect;
    private removeSelectAll;
    private getSelectEvent;
    private setExpandOnType;
    private expandHandler;
    private expandCollapseAction;
    private expandAction;
    private nodeExpandAction;
    private keyActionHandler;
    private navigateToFocus;
    private isVisibleInViewport;
    private getScrollParent;
    private shiftKeySelect;
    private checkNode;
    private validateCheckNode;
    private nodeCheckingAction;
    /**
     * Update checkedNodes when UI interaction happens before the child node renders in DOM
     */
    private ensureStateChange;
    private getChildItems;
    /**
     * Update checkedNodes when UI interaction happens before the child node renders in DOM for hierarchical DS
     */
    private childStateChange;
    private allCheckNode;
    private openNode;
    private navigateNode;
    private navigateRootNode;
    private getFocusedNode;
    private focusNextNode;
    private getNextNode;
    private getPrevNode;
    private getRootNode;
    private getEndNode;
    private setFocus;
    private updateIdAttr;
    private focusIn;
    private focusOut;
    private onMouseOver;
    private setHover;
    private onMouseLeave;
    private removeHover;
    private getNodeData;
    private getText;
    private getExpandEvent;
    private renderNodeTemplate;
    private destroyTemplate;
    private reRenderNodes;
    private setCssClass;
    private editingHandler;
    private createTextbox;
    private renderTextBox;
    private updateOldText;
    private inputFocusOut;
    private appendNewText;
    private updateText;
    private getElement;
    private getId;
    private getEditEvent;
    private getNodeObject;
    private getChildNodeObject;
    private setDragAndDrop;
    private initializeDrag;
    private dragCancelAction;
    private dragAction;
    private appendIndicator;
    private dropAction;
    private appendNode;
    private dropAsSiblingNode;
    private dropAsChildNode;
    private moveData;
    private expandParent;
    private updateElement;
    private updateAriaLevel;
    private updateChildAriaLevel;
    private renderVirtualEle;
    private removeVirtualEle;
    private destroyDrag;
    private getDragEvent;
    private addFullRow;
    private createFullRow;
    private addMultiSelect;
    private collapseByLevel;
    private collapseAllNodes;
    private expandByLevel;
    private expandAllNodes;
    private getVisibleNodes;
    private removeNode;
    private updateInstance;
    private updateList;
    private updateSelectedNodes;
    private updateExpandedNodes;
    private removeData;
    private removeChildNodes;
    private doGivenAction;
    private addGivenNodes;
    private updateMapper;
    private updateListProp;
    private getDataPos;
    private addChildData;
    private doDisableAction;
    private doEnableAction;
    private nodeType;
    private checkValidId;
    private filterNestedChild;
    private setTouchClass;
    private updatePersistProp;
    private removeField;
    private getMapperProp;
    private updateField;
    private updateChildField;
    private triggerEvent;
    private wireInputEvents;
    private wireEditingEvents;
    private wireClickEvent;
    private wireExpandOnEvent;
    private mouseDownStatus;
    private mouseDownHandler;
    private preventContextMenu;
    private wireEvents;
    private unWireEvents;
    private parents;
    private isDoubleTapped;
    private isDescendant;
    protected showSpinner(element: HTMLElement): void;
    protected hideSpinner(element: HTMLElement): void;
    private setCheckedNodes;
    /**
     * Checks whether the checkedNodes entered are valid and sets the valid checkedNodes while changing via setmodel
     */
    private setValidCheckedNode;
    /**
     * Checks whether the checkedNodes entered are valid and sets the valid checkedNodes while changing via setmodel(for hierarchical DS)
     */
    private setChildCheckState;
    private setIndeterminate;
    private updatePosition;
    private updateChildPosition;
    private dynamicState;
    private crudOperation;
    private deleteSuccess;
    private editSucess;
    private addSuccess;
    private dmFailure;
    private updatePreviousText;
    /**
     * Called internally if any of the property value changed.
     * @param  {TreeView} newProp
     * @param  {TreeView} oldProp
     * @returns void
     * @private
     */
    onPropertyChanged(newProp: TreeViewModel, oldProp: TreeViewModel): void;
    /**
     * Removes the component from the DOM and detaches all its related event handlers. It also removes the attributes and classes.
     */
    destroy(): void;
    /**
     * Adds the collection of TreeView nodes based on target and index position. If target node is not specified,
     * then the nodes are added as children of the given parentID or in the root level of TreeView.
     * @param  { { [key: string]: Object }[] } nodes - Specifies the array of JSON data that has to be added.
     * @param  { string | Element } target - Specifies ID of TreeView node/TreeView node as target element.
     * @param  { number } index - Specifies the index to place the newly added nodes in the target element.
     * @param { boolean } preventTargetExpand - If set to true, the target parent node will be prevented from auto expanding.
     */
    addNodes(nodes: {
        [key: string]: Object;
    }[], target?: string | Element, index?: number, preventTargetExpand?: boolean): void;
    /**
     * Instead of clicking on the TreeView node for editing, we can enable it by using
     * `beginEdit` property. On passing the node ID or element through this property, the edit textBox
     * will be created for the particular node thus allowing us to edit it.
     * @param  {string | Element} node - Specifies ID of TreeView node/TreeView node.
     */
    beginEdit(node: string | Element): void;
    /**
     * Checks all the unchecked nodes. You can also check specific nodes by passing array of unchecked nodes
     * as argument to this method.
     * @param  {string[] | Element[]} nodes - Specifies the array of TreeView nodes ID/array of TreeView node.
     */
    checkAll(nodes?: string[] | Element[]): void;
    /**
     * Collapses all the expanded TreeView nodes. You can collapse specific nodes by passing array of nodes as argument to this method.
     * You can also collapse all the nodes excluding the hidden nodes by setting **excludeHiddenNodes** to true. If you want to collapse
     * a specific level of nodes, set **level** as argument to collapseAll method.
     * @param  {string[] | Element[]} nodes - Specifies the array of TreeView nodes ID/ array of TreeView node.
     * @param  {number} level - TreeView nodes will collapse up to the given level.
     * @param  {boolean} excludeHiddenNodes - Whether or not to exclude hidden nodes of TreeView when collapsing all nodes.
     */
    collapseAll(nodes?: string[] | Element[], level?: number, excludeHiddenNodes?: boolean): void;
    /**
     * Disables the collection of nodes by passing the ID of nodes or node elements in the array.
     * @param  {string[] | Element[]} nodes - Specifies the array of TreeView nodes ID/array of TreeView nodes.
     */
    disableNodes(nodes: string[] | Element[]): void;
    /**
     * Enables the collection of disabled nodes by passing the ID of nodes or node elements in the array.
     * @param  {string[] | Element[]} nodes - Specifies the array of TreeView nodes ID/array of TreeView nodes.
     */
    enableNodes(nodes: string[] | Element[]): void;
    /**
     * Ensures visibility of the TreeView node by using node ID or node element.
     * When many TreeView nodes are present and we need to find a particular node, `ensureVisible` property
     * helps bring the node to visibility by expanding the TreeView and scrolling to the specific node.
     * @param  {string | Element} node - Specifies ID of TreeView node/TreeView nodes.
     */
    ensureVisible(node: string | Element): void;
    /**
     * Expands all the collapsed TreeView nodes. You can expand the specific nodes by passing the array of collapsed nodes
     * as argument to this method. You can also expand all the collapsed nodes by excluding the hidden nodes by setting
     * **excludeHiddenNodes** to true to this method. To expand a specific level of nodes, set **level** as argument to expandAll method.
     * @param  {string[] | Element[]} nodes - Specifies the array of TreeView nodes ID/array of TreeView nodes.
     * @param  {number} level - TreeView nodes will expand up to the given level.
     * @param  {boolean} excludeHiddenNodes - Whether or not to exclude hidden nodes when expanding all nodes.
     */
    expandAll(nodes?: string[] | Element[], level?: number, excludeHiddenNodes?: boolean): void;
    /**
     * Gets all the checked nodes including child, whether it is loaded or not.
     */
    getAllCheckedNodes(): string[];
    /**
    * Gets all the disabled nodes including child, whether it is loaded or not.
    */
    getDisabledNodes(): string[];
    /**
     * Get the node's data such as id, text, parentID, selected, isChecked, and expanded by passing the node element or it's ID.
     * @param  {string | Element} node - Specifies ID of TreeView node/TreeView node.
     */
    getNode(node: string | Element): {
        [key: string]: Object;
    };
    /**
     * To get the updated data source of TreeView after performing some operation like drag and drop, node editing,
     * node selecting/unSelecting, node expanding/collapsing, node checking/unChecking, adding and removing node.
     * * If you pass the ID of TreeView node as arguments for this method then it will return the updated data source
     * of the corresponding node otherwise it will return the entire updated data source of TreeView.
     * * The updated data source also contains custom attributes if you specified in data source.
     * @param  {string | Element} node - Specifies ID of TreeView node/TreeView node.
     * @isGenericType true
     */
    getTreeData(node?: string | Element): {
        [key: string]: Object;
    }[];
    /**
     * Moves the collection of nodes within the same TreeView based on target or its index position.
     * @param  {string[] | Element[]} sourceNodes - Specifies the array of TreeView nodes ID/array of TreeView node.
     * @param  {string | Element} target - Specifies ID of TreeView node/TreeView node as target element.
     * @param  {number} index - Specifies the index to place the moved nodes in the target element.
     * @param { boolean } preventTargetExpand - If set to true, the target parent node will be prevented from auto expanding.
     */
    moveNodes(sourceNodes: string[] | Element[], target: string | Element, index: number, preventTargetExpand?: boolean): void;
    /**
     * Refreshes a particular node of the TreeView.
     * @param  {string | Element} target - Specifies the ID of TreeView node or TreeView node as target element.
     * @param  {{ [key: string]: Object }[]} newData - Specifies the new data of TreeView node.
     */
    refreshNode(target: string | Element, newData: {
        [key: string]: Object;
    }[]): void;
    /**
     * Removes the collection of TreeView nodes by passing the array of node details as argument to this method.
     * @param  {string[] | Element[]} nodes - Specifies the array of TreeView nodes ID/array of TreeView node.
     */
    removeNodes(nodes: string[] | Element[]): void;
    /**
     * Replaces the text of the TreeView node with the given text.
     * @param  {string | Element} target - Specifies ID of TreeView node/TreeView node as target element.
     * @param  {string} newText - Specifies the new text of TreeView node.
     */
    updateNode(target: string | Element, newText: string): void;
    /**
     * Unchecks all the checked nodes. You can also uncheck the specific nodes by passing array of checked nodes
     * as argument to this method.
     * @param  {string[] | Element[]} nodes - Specifies the array of TreeView nodes ID/array of TreeView node.
     */
    uncheckAll(nodes?: string[] | Element[]): void;
}
 }
export namespace notifications { 

//node_modules/@syncfusion/ej2-notifications/src/global.d.ts
/**
 * Notification Components
 */
//node_modules/@syncfusion/ej2-notifications/src/index.d.ts
/**
 * Notification Components
 */
//node_modules/@syncfusion/ej2-notifications/src/message/index.d.ts
/**
 * Message modules
 */
//node_modules/@syncfusion/ej2-notifications/src/message/message-model.d.ts
/**
 * Interface for a class Message
 */
export interface MessageModel extends base.ComponentModel{
    /**
     * Specifies the content to be displayed in the Message component. It can be a paragraph, a list, or any other HTML element.
     * 
     * @default null
     */
    content?: string;
    /**
     * Specifies the CSS class or multiple classes separated by space that can be appended to the root element of the Message component to customize the message.
     * 
     * @default ''
     */
    cssClass?: string;
    /**
     * Shows or hides the severity icon in the Message component. When set to true, the severity icon is displayed at the left edge of the Message component.
     * This icon will be distinctive based on the severity property.
     * 
     * @default true
     */
    showIcon?: boolean;
    /**
     * Shows or hides the close icon in the Message component. An end user can click the close icon to hide the message. The closed event is triggered when the message is closed.
     * 
     * @default false
     */
    showCloseIcon?: boolean;
    /**
     * Specifies the severity of the message, which is used to define the appearance (icons and colors) of the message. The available severity messages are Normal, Success, Info, Warning, and Error.
     * 
     * @isenumeration true
     * @default Severity.Normal
     * @asptype Severity
     */
    severity?: string | Severity;
    /**
     * Specifies the variant from predefined appearance variants to display the content of the Message component. The available variants are Text, Outlined, and Filled.
     * 
     * @isenumeration true
     * @default Variant.Text
     * @asptype Variant
     */
    variant?: string | Variant;
    /**
     * Shows or hides the visibility of the Message component. When set to false, the Message component will be hidden.
     * 
     * @default true
     */
    visible?: boolean;
    /**
     * Triggers when the Message component is created successfully.
     * 
     * @event
     */
    created?: base.EmitType<Object>;
    /**
     * Triggers when the Message component is destroyed successfully.
     * 
     * @event
     */
    destroyed?: base.EmitType<Event>;
    /**
     * Triggers when the Message component is closed successfully.
     * 
     * @event
     */
    closed?: base.EmitType<MessageCloseEventArgs>
}
//node_modules/@syncfusion/ej2-notifications/src/message/message.d.ts
/**
 * Specifies the type of severity to display the message with distinctive icons and colors.
 */
export  enum Severity {
    /**
     * The message is displayed with icons and colors to denote it as a normal message.
     */
    Normal = "Normal",
    /**
     * The message is displayed with icons and colors to denote it as a success message.
     */
    Success = "Success",
    /**
     * The message is displayed with icons and colors to denote it as information.
     */
    Info = "Info",
    /**
     * The message is displayed with icons and colors to denote it as a warning message.
     */
    Warning = "Warning",
    /**
     * The message is displayed with icons and colors to denote it as an error message.
     */
    Error = "Error"
}
/**
 * Specifies the predefined appearance variants for the component to display.
 */
export  enum Variant {
    /**
     * Denotes the severity is differentiated using text color and light background color.
     */
    Text = "Text",
    /**
     * Denotes the severity is differentiated using text color and border without background.
     */
    Outlined = "Outlined",
    /**
     * Denotes the severity is differentiated using text color and dark background color.
     */
    Filled = "Filled"
}
/**
 * Provides information about the closed event.
 */
export interface MessageCloseEventArgs {
    /**
     * Returns the element.
     */
    element: Element;
    /**
     * Returns the original event arguments.
     */
    event: Event;
    /**
     * Determines whether the event is triggered by interaction.
     */
    isInteracted: boolean;
}
/**
 * ```html
 * <div id="msg"></div>
 * <script>
 *   var msgObj: Message = new Message({
 *      content: 'Editing is restricted',
 *      showCloseIcon: true
 *   })
 *   msgObj.appendTo('#msg');
 * </script>
 * ```
 *
 */
export  class Message extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    private iconElement;
    private closeIcon;
    private txtElement;
    private initialRender;
    private l10n;
    private innerContent;
    /**
     * Specifies the content to be displayed in the Message component. It can be a paragraph, a list, or any other HTML element.
     *
     * @default null
     */
    content: string;
    /**
     * Specifies the CSS class or multiple classes separated by space that can be appended to the root element of the Message component to customize the message.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * Shows or hides the severity icon in the Message component. When set to true, the severity icon is displayed at the left edge of the Message component.
     * This icon will be distinctive based on the severity property.
     *
     * @default true
     */
    showIcon: boolean;
    /**
     * Shows or hides the close icon in the Message component. An end user can click the close icon to hide the message. The closed event is triggered when the message is closed.
     *
     * @default false
     */
    showCloseIcon: boolean;
    /**
     * Specifies the severity of the message, which is used to define the appearance (icons and colors) of the message. The available severity messages are Normal, Success, Info, Warning, and Error.
     *
     * @isenumeration true
     * @default Severity.Normal
     * @asptype Severity
     */
    severity: string | Severity;
    /**
     * Specifies the variant from predefined appearance variants to display the content of the Message component. The available variants are Text, Outlined, and Filled.
     *
     * @isenumeration true
     * @default Variant.Text
     * @asptype Variant
     */
    variant: string | Variant;
    /**
     * Shows or hides the visibility of the Message component. When set to false, the Message component will be hidden.
     *
     * @default true
     */
    visible: boolean;
    /**
     * Triggers when the Message component is created successfully.
     *
     * @event
     */
    created: base.EmitType<Object>;
    /**
     * Triggers when the Message component is destroyed successfully.
     *
     * @event
     */
    destroyed: base.EmitType<Event>;
    /**
     * Triggers when the Message component is closed successfully.
     *
     * @event
     */
    closed: base.EmitType<MessageCloseEventArgs>;
    /**
     * Constructor for creating the Message component widget.
     *
     * @param {MessageModel}options - Specifies the Message component interface.
     * @param {HTMLElement}element - Specifies the target element.
     */
    constructor(options?: MessageModel, element?: HTMLElement);
    /**
     * Gets the Message component module name.
     *
     * @returns {string} - Returns the string.
     * @private
     */
    getModuleName(): string;
    /**
     * Get the persisted state properties of the Message component.
     *
     * @returns {string} - Returns the string.
     */
    getPersistData(): string;
    /**
     * Method to initialize the variables for the Message component.
     *
     * @returns {void}
     * @private
     */
    preRender(): void;
    /**
     * Method to initialize the Message component rendering.
     *
     * @returns {void}
     * @private
     */
    render(): void;
    private initialize;
    private setIcon;
    private setCloseIcon;
    private setTitle;
    private setContent;
    private setTemplate;
    private setSeverity;
    private setVariant;
    private setCssClass;
    private setVisible;
    private clickHandler;
    private keyboardHandler;
    private closeMessage;
    private wireEvents;
    private unWireEvents;
    /**
     * Method to handle the dynamic changes of the Message component properties.
     *
     * @param {MessageModel} newProp - Specifies the old property.
     * @param {MessageModel} oldProp - Specifies the new property.
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp?: MessageModel, oldProp?: MessageModel): void;
    /**
     * Method to destroy the Message component. It removes the component from the DOM and detaches all its bound events. It also removes the attributes and classes of the component.
     *
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-notifications/src/skeleton/index.d.ts
/**
 * Shimmer modules that need to be exported.
 */
//node_modules/@syncfusion/ej2-notifications/src/skeleton/skeleton-model.d.ts
/**
 * Interface for a class Skeleton
 */
export interface SkeletonModel extends base.ComponentModel{
    /**
     * Defines the width of the Skeleton.
     * Width will be prioritized and used as dimension when shape is "Circle" and "Square".
     * @default ""
     * @aspType string
     */
    width?: string | number;
    /**
     * Defines the height of the Skeleton.
     * Height is not required when shape is "Circle" and "Square".
     * @default ""
     * @aspType string
     */
    height?: string | number;
    /**
     * Defines the visibility state of Skeleton.
     * @default true
     */
    visible?: boolean;
    /**
     * Defines the shape of the Skeleton.
     * @default Text
     */
    shape?: SkeletonType;
    /**
     * Defines the animation effect of the Skeleton.
     * @default Wave
     */
    shimmerEffect?: ShimmerEffect;
    /**
     * Defines the 'aria-label' for Skeleton accessibility.
     * @default "Loading..."
     */
    label?: string;
    /**
     * Defines single/multiple classes (separated by space) to be used for customization of Skeleton.
     * @default '''
     */
    cssClass?: string;
}
//node_modules/@syncfusion/ej2-notifications/src/skeleton/skeleton.d.ts
/**
 * Defines the shape of Skeleton.
 */
export  type SkeletonType = 
/**
 * Defines the skeleton shape as text.
 */
'Text' | 
/**
 * Defines the skeleton shape as circle.
 */
'Circle' | 
/**
 * Defines the skeleton shape as square.
 */
'Square' | 
/**
 * Defines the skeleton shape as rectangle.
 */
'Rectangle';
/**
 * Defines the animation effect of Skeleton.
 */
export  type ShimmerEffect = 
/**
 * Defines the animation as shimmer wave effect.
 */
'Wave' | 
/**
 * Defines the animation as fade effect.
 */
'Fade' | 
/**
 * Defines the animation as pulse effect.
 */
'Pulse' | 
/**
 * Defines the animation as no effect.
 */
'None';
/**
 * The Shimmer is a placeholder that animates a shimmer effect to let users know that the page’s content is loading at the moment.
 * In other terms, it simulates the layout of page content while loading the actual content.
 * ```html
 * <div id="skeletonCircle"></div>
 * ```
 * ```typescript
 * <script>
 * var skeletonObj = new Skeleton({ shape: 'Circle', width: "2rem" });
 * skeletonObj.appendTo("#skeletonCircle");
 * </script>
 * ```
 */
export  class Skeleton extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    /**
     * Constructor for creating Skeleton component.
     * @param {SkeletonModel} options - Defines the model of Skeleton class.
     * @param {HTMLElement} element - Defines the target HTML element.
     */
    constructor(options?: SkeletonModel, element?: HTMLElement);
    /**
     * Defines the width of the Skeleton.
     * Width will be prioritized and used as dimension when shape is "Circle" and "Square".
     * @default ""
     * @aspType string
     */
    width: string | number;
    /**
     * Defines the height of the Skeleton.
     * Height is not required when shape is "Circle" and "Square".
     * @default ""
     * @aspType string
     */
    height: string | number;
    /**
     * Defines the visibility state of Skeleton.
     * @default true
     */
    visible: boolean;
    /**
     * Defines the shape of the Skeleton.
     * @default Text
     */
    shape: SkeletonType;
    /**
     * Defines the animation effect of the Skeleton.
     * @default Wave
     */
    shimmerEffect: ShimmerEffect;
    /**
     * Defines the 'aria-label' for Skeleton accessibility.
     * @default "Loading..."
     */
    label: string;
    /**
     * Defines single/multiple classes (separated by space) to be used for customization of Skeleton.
     * @default '''
     */
    cssClass: string;
    /**
     * Get component module name.
     * @returns {string} - Module name
     * @private
     */
    protected getModuleName(): string;
    getPersistData(): string;
    protected preRender(): void;
    /**
     * Method for initialize the component rendering.
     * @returns {void}
     * @private
     */
    protected render(): void;
    onPropertyChanged(newProp: SkeletonModel, oldProp: SkeletonModel): void;
    /**
     * Method to destroys the Skeleton component.
     * @returns {void}
     */
    destroy(): void;
    private initialize;
    private updateShape;
    private updateDimension;
    private updateEffect;
    private updateVisibility;
    private updateCssClass;
}
//node_modules/@syncfusion/ej2-notifications/src/toast/index.d.ts
/**
 * Toast modules
 */
//node_modules/@syncfusion/ej2-notifications/src/toast/toast-model.d.ts
/**
 * Interface for a class ToastPosition
 */
export interface ToastPositionModel {
    /**
     * Specifies the position of the Toast notification with respect to the target container's left edge.
     *
     * @default 'Left'
     * @aspType string
     * @blazorType string
     */
    X?: PositionX | number | string;
    /**
     * Specifies the position of the Toast notification with respect to the target container's top edge.
     *
     * @default 'Top'
     * @aspType string
     * @blazorType string
     */
    Y?: PositionY | number | string;
}
/**
 * Interface for a class ButtonModelProps
 */
export interface ButtonModelPropsModel {
    /**
   * Specifies the buttons.Button component model properties to render the Toast action buttons.
   * ```html
   * <div id="element"> </div>
   * ```
   * ```typescript
   * let toast: Toast =  new Toast({
   *      buttons:
   *      [{
   *         model: { content:`Button1`, cssClass: `e-success` }
   *      }]
   * });
   * toast.appendTo('#element');
   * ```
   *
   * @default null
   */
    model?: buttons.ButtonModel;
    /**
   * Specifies the click event binding of action buttons created within Toast.
   *
   * @event 'event'
   * @blazorProperty 'Clicked'
   * @blazorType Microsoft.AspNetCore.Components.Web.MouseEventArgs
   */
    click?: base.EmitType<Event>;
}
/**
 * Interface for a class ToastAnimations
 */
export interface ToastAnimationsModel {
    /**
   * Specifies the type of animation.
   *
   * @default 'FadeIn'
   * @aspType string
   */
    effect?: base.Effect;
    /**
   * Specifies the duration to animate.
   *
   * @default 600
   */
    duration?: number;
    /**
   * Specifies the animation timing function.
   *
   * @default 'ease'
   */
    easing?: string;
}
/**
 * Interface for a class ToastAnimationSettings
 */
export interface ToastAnimationSettingsModel {
    /**
   * Specifies the animation to appear while showing the Toast.
   *
   * @default { effect: 'FadeIn', duration: 600, easing: 'ease' }
   */
    show?: ToastAnimationsModel;
    /**
   * Specifies the animation to appear while hiding the Toast.
   *
   * @default { effect: 'FadeOut', duration: 600, easing: 'ease' }
   */
    hide?: ToastAnimationsModel;
}
/**
 * Interface for a class Toast
 */
export interface ToastModel extends base.ComponentModel{
    /**
   * Specifies the width of the Toast in pixels/numbers/percentage. Number value is considered as pixels.
   * In mobile devices, default width is considered as `100%`.
   *
   * @default '300'
   * @blazorType string
   */
    width?: string | number;
    /**
   * Specifies the height of the Toast in pixels/number/percentage. Number value is considered as pixels.
   * 
   * @default 'auto'
   * @blazorType string
   */
    height?: string | number;
    /**
   * Specifies the title to be displayed on the Toast. 
   * Accepts selectors, string values and HTML elements.
   *
   * @default null
   */
    title?: string;
    /**
   * Specifies the content to be displayed on the Toast. 
   * Accepts selectors, string values and HTML elements.
   * 
   * @default null
   * @blazorType string
   */
    content?: string | HTMLElement;
    /**
   * Defines whether to allow the cross-scripting site or not.
   * 
   * @default true
   */
    enableHtmlSanitizer?: boolean;
    /**
   * Defines CSS classes to specify an icon for the Toast which is to be displayed at top left corner of the Toast.
   * 
   * @default null
   */
    icon?: string;
    /**
   * Defines single/multiple classes (separated by space) to be used for customization of Toast.
   * 
   * @default null
   */
    cssClass?: string;
    /**
   * Specifies the HTML element/element ID as a string that can be displayed as a Toast.
   * The given template is taken as preference to render the Toast, even if the built-in properties such as title and content are defined.
   * 
   * {% codeBlock src='toast/template/index.md' %}{% endcodeBlock %}
   * 
   * @default null
   */
    template?: string;
    /**
   * Specifies the newly created Toast message display order while multiple toast's are added to page one after another.
   * By default, newly added Toast will be added after old Toast's.
   * 
   * @default true
   */
    newestOnTop?: boolean;
    /**
   * Specifies whether to show the close button in Toast message to close the Toast.
   * 
   * @default false
   */
    showCloseButton?: boolean;
    /**
   * Specifies whether to show the progress bar to denote the Toast message display timeout.
   * 
   * @default false
   */
    showProgressBar?: boolean;
    /**
   * Specifies the Toast display time duration on the page in milliseconds. 
   * - Once the time expires, Toast message will be removed.
   * - Setting 0 as a time out value displays the Toast on the page until the user closes it manually.
   * 
   * @default 5000
   */
    timeOut?: number;
    /**
   * Specifies whether to show the progress bar with left to right direction to denote the Toast message display timeout.
   */
    progressDirection?: ProgressDirectionType;
    /**
   * Specifies the Toast display time duration after interacting with the Toast. 
   * 
   * @default 1000
   */
    extendedTimeout?: number;
    /**
   * Specifies the animation configuration settings for showing and hiding the Toast.
   * 
   * {% codeBlock src='toast/animation/index.md' %}{% endcodeBlock %}
   * 
   * @blazorType ToastAnimationSettings
   * @default { show: { effect: 'FadeIn', duration: 600, easing: 'linear' },
   * hide: { effect: 'FadeOut', duration: 600, easing: 'linear' }}
   */
    animation?: ToastAnimationSettingsModel;
    /**
   * Specifies the position of the Toast message to be displayed within target container.
   * In the case of multiple Toast display, new Toast position will not update on dynamic change of property values
   * until the old Toast messages removed.
   * X values are: Left , Right ,Center
   * Y values are: Top , Bottom
   * 
   * {% codeBlock src='toast/position/index.md' %}{% endcodeBlock %}
   * 
   * @default { X: "Left", Y: "Top" }
   * @blazorType ToastPosition
   */
    position?: ToastPositionModel;
    /**
   * Specifies the collection of Toast action `buttons` to be rendered with the given
   * buttons.Button model properties and its click action handler.
   * 
   * {% codeBlock src='toast/buttons/index.md' %}{% endcodeBlock %}
   * 
   * @default [{}]
   * @deprecated
   */
    buttons?: ButtonModelPropsModel[];
    /**
   * Specifies the target container where the Toast to be displayed.
   * Based on the target, the positions such as `Left`, `Top` will be applied to the Toast.
   * The default value is null, which refers the `document.body` element.
   * 
   * @default null
   * @aspType string
   * @blazorType string
   */
    target?: HTMLElement | Element | string;
    /**
   * Triggers the event after the Toast gets created.
   * 
   * @event 'event'
   * @blazorProperty 'Created'
   */
    created?: base.EmitType<Event>;
    /**
   * base.Event triggers before sanitize the value.
   * 
   * @event 'event'
   * @blazorProperty 'OnSanitizeHtml'
   */
    beforeSanitizeHtml?: base.EmitType<BeforeSanitizeHtmlArgs>;
    /**
   * Triggers the event after the Toast gets destroyed.
   * 
   * @event 'event'
   * @blazorProperty 'Destroyed'
   */
    destroyed?: base.EmitType<Event>;
    /**
   * Triggers the event after the Toast shown on the target container.
   * 
   * @event 'event'
   * @blazorProperty 'Opened'
   */
    open?: base.EmitType<ToastOpenArgs>;
    /**
   * Triggers the event before the toast shown.
   * 
   * @event 'event'
   * @blazorProperty 'OnOpen'
   */
    beforeOpen?: base.EmitType<ToastBeforeOpenArgs>;
    /**
   * Triggers the event before the toast close.
   * 
   * @event 'event'
   * @blazorProperty 'OnClose'
   */
    beforeClose?: base.EmitType<ToastBeforeCloseArgs>;
    /**
   * Trigger the event after the Toast hides.
   * 
   * @event 'event'
   * @blazorProperty 'Closed'
   */
    close?: base.EmitType<ToastCloseArgs>;
    /**
   * The event will be fired while clicking on the Toast.
   * 
   * @event 'event'
   * @blazorProperty 'OnClick'
   */
    click?: base.EmitType<ToastClickEventArgs>;
}
//node_modules/@syncfusion/ej2-notifications/src/toast/toast.d.ts
/**
 * Provides information about a SanitizeSelectors.
 */
export interface SanitizeSelectors {
    /** Returns the tags. */
    tags?: string[];
    /** Returns the attributes. */
    attributes?: SanitizeRemoveAttrs[];
}
/**
 * Provides information about a BeforeSanitizeHtml event.
 */
export interface BeforeSanitizeHtmlArgs {
    /** Illustrates whether the current action needs to be prevented or not. */
    cancel?: boolean;
    /** It is a callback function and executed it before our inbuilt action. It should return HTML as a string.
     *
     * @function
     * @param {string} value - Returns the value.
     * @returns {string}
     */
    helper?: Function;
    /** Returns the selectors object which carrying both tags and attributes selectors to block list of cross-site scripting attack.
     *  Also possible to modify the block list in this event.
     */
    selectors?: SanitizeSelectors;
}
/**
 * Provides information about a SanitizeRemoveAttributes.
 */
export interface SanitizeRemoveAttrs {
    /** Defines the attribute name to sanitize */
    attribute?: string;
    /** Defines the selector that sanitize the specified attributes within the selector */
    selector?: string;
}
/**
 * Specifies the options for positioning the Toast in Y axis.
 */
export  type PositionY = 'Top' | 'Bottom';
/**
 * Specifies the direction for the Toast progressBar.
 */
export  type ProgressDirectionType = 'Rtl' | 'Ltr';
/**
 * Specifies the options for positioning the Toast in X axis.
 */
export  type PositionX = 'Left' | 'Right' | 'Center';
/**
 * Specifies the event arguments of Toast click.
 */
export interface ToastClickEventArgs extends base.BaseEventArgs {
    /** Defines the Toast element. */
    element: HTMLElement;
    /**
     * Defines the Toast object.
     *
     * @deprecated
     */
    toastObj?: Toast;
    /** Defines the prevent action for Toast click event. */
    cancel: boolean;
    /** Defines the close action for click or tab on the Toast. */
    clickToClose: boolean;
    /** Defines the current event object. */
    originalEvent: Event;
}
/**
 * Specifies the event arguments of Toast before open.
 */
export interface ToastBeforeOpenArgs extends base.BaseEventArgs {
    /**
     * Defines the Toast object.
     *
     * @deprecated
     */
    toastObj?: Toast;
    /** Defines current Toast model properties as options. */
    options?: ToastModel;
    /** Defines the Toast element. */
    element: HTMLElement;
    /** Defines the prevent action for before opening toast. */
    cancel: boolean;
}
/**
 * Specifies the event arguments of Toast before close.
 */
export interface ToastBeforeCloseArgs extends base.BaseEventArgs {
    /** Defines current Toast model properties as options. */
    options?: ToastModel;
    /** Defines the Toast element. */
    element: HTMLElement;
    /** Defines the prevent action for before closing toast. */
    cancel: boolean;
    /** Defines the interaction type. */
    type: string;
    /** Defines the Toast container element. */
    toastContainer: HTMLElement;
}
/**
 * Toast Collection model
 *
 * @hidden
 */
export interface CollectionToast extends ToastModel {
    /**
     * Element of the current toast
     */
    element?: HTMLElement[];
}
/**
 * Specifies the event arguments of Toast open.
 */
export interface ToastOpenArgs extends base.BaseEventArgs {
    /**
     * Defines the Toast object.
     *
     * @deprecated
     */
    toastObj?: Toast;
    /** Defines current Toast model properties as options. */
    options?: ToastModel;
    /** Defines the Toast element. */
    element: HTMLElement;
}
/**
 * Specifies the event arguments of Toast close.
 */
export interface ToastCloseArgs extends base.BaseEventArgs {
    /** Defines the Toast container element. */
    toastContainer: HTMLElement;
    /** Defines current Toast model properties as options. */
    options?: ToastModel;
    /**
     * Defines the Toast object.
     *
     * @deprecated
     */
    toastObj?: Toast;
}
/**
 * An object that is used to configure the Toast X Y positions.
 */
export  class ToastPosition extends base.ChildProperty<ToastPosition> {
    /**
       * Specifies the position of the Toast notification with respect to the target container's left edge.
       *
       * @default 'Left'
       * @aspType string
       * @blazorType string
       */
    X: PositionX | number | string;
    /**
     * Specifies the position of the Toast notification with respect to the target container's top edge.
     *
     * @default 'Top'
     * @aspType string
     * @blazorType string
     */
    Y: PositionY | number | string;
}
/**
 * An object that is used to configure the action button model properties and event.
 */
export  class ButtonModelProps extends base.ChildProperty<ButtonModelProps> {
    /**
    * Specifies the Button component model properties to render the Toast action buttons.
    * ```html
    * <div id="element"> </div>
    * ```
    * ```typescript
    * let toast$: Toast =  new Toast({
    *      buttons:
    *      [{
    *         model: { content:`Button1`, cssClass: `e-success` }
    *      }]
    * });
    * toast.appendTo('#element');
    * ```
    *
    * @default null
    */
    model: buttons.ButtonModel;
    /**
     * Specifies the click event binding of action buttons created within Toast.
     *
     * @event 'event'
     * @blazorProperty 'Clicked'
     * @blazorType Microsoft.AspNetCore.Components.Web.MouseEventArgs
     */
    click: base.EmitType<Event>;
}
/**
 * An object that is used to configure the animation object of Toast.
 */
export  class ToastAnimations extends base.ChildProperty<ToastAnimations> {
    /**
     * Specifies the type of animation.
     *
     * @default 'FadeIn'
     * @aspType string
     */
    effect: base.Effect;
    /**
     * Specifies the duration to animate.
     *
     * @default 600
     */
    duration: number;
    /**
     * Specifies the animation timing function.
     *
     * @default 'ease'
     */
    easing: string;
}
/**
 * An object that is used to configure the show/hide animation settings of Toast.
 */
export  class ToastAnimationSettings extends base.ChildProperty<ToastAnimationSettings> {
    /**
     * Specifies the animation to appear while showing the Toast.
     *
     * @default { effect: 'FadeIn', duration: 600, easing: 'ease' }
     */
    show: ToastAnimationsModel;
    /**
     * Specifies the animation to appear while hiding the Toast.
     *
     * @default { effect: 'FadeOut', duration: 600, easing: 'ease' }
     */
    hide: ToastAnimationsModel;
}
/**
 * The Toast is a notification pop-up that showing on desired position which can provide an information to the user.
 * ```html
 * <div id="toast"/>
 * <script>
 *   var toastObj = new Toast();
 *   toastObj.appendTo("#toast");
 * </script>
 * ```
 */
export  class Toast extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    private toastContainer;
    private toastEle;
    private progressBarEle;
    private intervalId;
    private progressObj;
    private contentTemplate;
    private toastTemplate;
    private customPosition;
    private isDevice;
    private innerEle;
    private toastCollection;
    private l10n;
    private refElement;
    private initRenderClass;
    needsID: boolean;
    /**
     * Initializes a new instance of the Toast class.
     *
     * @param {ToastModel} options  - Specifies Toast model properties as options.
     * @param {HTMLElement} element  - Specifies the element that is rendered as a Toast.
     */
    constructor(options?: ToastModel, element?: HTMLElement);
    /**
     * Specifies the width of the Toast in pixels/numbers/percentage. Number value is considered as pixels.
     * In mobile devices, default width is considered as `100%`.
     *
     * @default '300'
     * @blazorType string
     */
    width: string | number;
    /**
     * Specifies the height of the Toast in pixels/number/percentage. Number value is considered as pixels.
     *
     * @default 'auto'
     * @blazorType string
     */
    height: string | number;
    /**
     * Specifies the title to be displayed on the Toast.
     * Accepts selectors, string values and HTML elements.
     *
     * @default null
     */
    title: string;
    /**
     * Specifies the content to be displayed on the Toast.
     * Accepts selectors, string values and HTML elements.
     *
     * @default null
     * @blazorType string
     */
    content: string | HTMLElement;
    /**
     * Defines whether to allow the cross-scripting site or not.
     *
     * @default true
     */
    enableHtmlSanitizer: boolean;
    /**
     * Defines CSS classes to specify an icon for the Toast which is to be displayed at top left corner of the Toast.
     *
     * @default null
     */
    icon: string;
    /**
     * Defines single/multiple classes (separated by space) to be used for customization of Toast.
     *
     * @default null
     */
    cssClass: string;
    /**
     * Specifies the HTML element/element ID as a string that can be displayed as a Toast.
     * The given template is taken as preference to render the Toast, even if the built-in properties such as title and content are defined.
     *
     * {% codeBlock src='toast/template/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    template: string;
    /**
     * Specifies the newly created Toast message display order while multiple toast's are added to page one after another.
     * By default, newly added Toast will be added after old Toast's.
     *
     * @default true
     */
    newestOnTop: boolean;
    /**
     * Specifies whether to show the close button in Toast message to close the Toast.
     *
     * @default false
     */
    showCloseButton: boolean;
    /**
     * Specifies whether to show the progress bar to denote the Toast message display timeout.
     *
     * @default false
     */
    showProgressBar: boolean;
    /**
     * Specifies the Toast display time duration on the page in milliseconds.
     * - Once the time expires, Toast message will be removed.
     * - Setting 0 as a time out value displays the Toast on the page until the user closes it manually.
     *
     * @default 5000
     */
    timeOut: number;
    /**
     * Specifies whether to show the progress bar with left to right direction to denote the Toast message display timeout.
     */
    progressDirection: ProgressDirectionType;
    /**
     * Specifies the Toast display time duration after interacting with the Toast.
     *
     * @default 1000
     */
    extendedTimeout: number;
    /**
     * Specifies the animation configuration settings for showing and hiding the Toast.
     *
     * {% codeBlock src='toast/animation/index.md' %}{% endcodeBlock %}
     *
     * @blazorType ToastAnimationSettings
     * @default { show: { effect: 'FadeIn', duration: 600, easing: 'linear' },
     * hide: { effect: 'FadeOut', duration: 600, easing: 'linear' }}
     */
    animation: ToastAnimationSettingsModel;
    /**
     * Specifies the position of the Toast message to be displayed within target container.
     * In the case of multiple Toast display, new Toast position will not update on dynamic change of property values
     * until the old Toast messages removed.
     * X values are: Left , Right ,Center
     * Y values are: Top , Bottom
     *
     * {% codeBlock src='toast/position/index.md' %}{% endcodeBlock %}
     *
     * @default { X: "Left", Y: "Top" }
     * @blazorType ToastPosition
     */
    position: ToastPositionModel;
    /**
     * Specifies the collection of Toast action `buttons` to be rendered with the given
     * Button model properties and its click action handler.
     *
     * {% codeBlock src='toast/buttons/index.md' %}{% endcodeBlock %}
     *
     * @default [{}]
     * @deprecated
     */
    buttons: ButtonModelPropsModel[];
    /**
     * Specifies the target container where the Toast to be displayed.
     * Based on the target, the positions such as `Left`, `Top` will be applied to the Toast.
     * The default value is null, which refers the `document.body` element.
     *
     * @default null
     * @aspType string
     * @blazorType string
     */
    target: HTMLElement | Element | string;
    /**
     * Triggers the event after the Toast gets created.
     *
     * @event 'event'
     * @blazorProperty 'Created'
     */
    created: base.EmitType<Event>;
    /**
     * Event triggers before sanitize the value.
     *
     * @event 'event'
     * @blazorProperty 'OnSanitizeHtml'
     */
    beforeSanitizeHtml: base.EmitType<BeforeSanitizeHtmlArgs>;
    /**
     * Triggers the event after the Toast gets destroyed.
     *
     * @event 'event'
     * @blazorProperty 'Destroyed'
     */
    destroyed: base.EmitType<Event>;
    /**
     * Triggers the event after the Toast shown on the target container.
     *
     * @event 'event'
     * @blazorProperty 'Opened'
     */
    open: base.EmitType<ToastOpenArgs>;
    /**
     * Triggers the event before the toast shown.
     *
     * @event 'event'
     * @blazorProperty 'OnOpen'
     */
    beforeOpen: base.EmitType<ToastBeforeOpenArgs>;
    /**
     * Triggers the event before the toast close.
     *
     * @event 'event'
     * @blazorProperty 'OnClose'
     */
    beforeClose: base.EmitType<ToastBeforeCloseArgs>;
    /**
     * Trigger the event after the Toast hides.
     *
     * @event 'event'
     * @blazorProperty 'Closed'
     */
    close: base.EmitType<ToastCloseArgs>;
    /**
     * The event will be fired while clicking on the Toast.
     *
     * @event 'event'
     * @blazorProperty 'OnClick'
     */
    click: base.EmitType<ToastClickEventArgs>;
    /**
     * Gets the base.Component module name.
     *
     * @returns {string} - returns the string
     * @private
     */
    getModuleName(): string;
    /**
     * Gets the persisted state properties of the base.Component.
     *
     * @returns {string} - returns the string
     */
    protected getPersistData(): string;
    /**
     * Removes the component from the DOM and detaches all its related event handlers, attributes and classes.
     *
     * @returns {void}
     */
    destroy(): void;
    /**
     * Initialize the event handler
     *
     * @returns {void}
     * @private
     */
    protected preRender(): void;
    /**
     * Initialize the component rendering
     *
     * @returns {void}
     * @private
     */
    render(): void;
    /**
     * To show Toast element on a document with the relative position.
     *
     * @param  {ToastModel} toastObj - To show Toast element on screen.
     * @returns {void}
     * @deprecated
     */
    show(toastObj?: ToastModel): void;
    /**
      * @param {string} id - specifies the id
      * @param {ToastModel} toastObj - specifies the model
      * @returns {void}
      * @hidden
      * @deprecated
      * This method applicable for blazor alone.
     */
    showToast(id: string, toastObj?: ToastModel): void;
    private isToastModel;
    private swipeHandler;
    private templateChanges;
    private setCSSClass;
    private setWidthHeight;
    private templateRendering;
    /**
     * @param {string} value - specifies the string value.
     * @returns {string} - returns the string
     * @hidden
     */
    sanitizeHelper(value: string): string;
    /**
     * To Hide Toast element on a document.
     * To Hide all toast element when passing 'All'.
     *
     * @param  {HTMLElement} element - To Hide Toast element on screen.
     * @returns {void}
     */
    hide(element?: HTMLElement | Element | string): void;
    private hideToast;
    private fetchEle;
    private clearProgress;
    private removeToastContainer;
    private clearContainerPos;
    private clearContentTemplate;
    private clearToastTemplate;
    private isBlazorServer;
    private destroyToast;
    private personalizeToast;
    private setAria;
    private setPositioning;
    private setCloseButton;
    private setProgress;
    private toastHoverAction;
    private delayedToastProgress;
    private updateProgressBar;
    private setIcon;
    private setTitle;
    private setContent;
    private appendMessageContainer;
    private actionButtons;
    private appendToTarget;
    private clickHandler;
    private keyDownHandler;
    private displayToast;
    private getContainer;
    /**
     * Called internally if any of the property value changed.
     *
     * @param {ToastModel} newProp - specifies the new property
     * @param {ToastModel} oldProp - specifies the old property
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: ToastModel, oldProp: ToastModel): void;
}
/**
 * Base for creating Toast through utility method.
 */
export  namespace ToastUtility {
    /**
     * To display a simple toast using the 'ToastUtility' with 'ToastModal' or
     * as string with toast content, type, timeOut.
     * ```
     * Eg : ToastUtility.show('Toast Content Message', 'Information', 7000);
     *
     * ```
     */
    /**
     *
     * @param { ToastModel | string } content - Specifies the toast modal or the content of the Toast.
     * @param {string} type - Specifies the type of toast.
     * @param { number } timeOut - Specifies the timeOut of the toast.
     * @returns {Toast} - returns the element
     */
    function show(content: ToastModel | string, type?: string, timeOut?: number): Toast;
}
 }
export namespace officeChart { 

//node_modules/@syncfusion/ej2-office-chart/src/index.d.ts
/**
 * export word-chart modules
 */
//node_modules/@syncfusion/ej2-office-chart/src/office-chart/chart.d.ts
/**
 * charts.Chart component is used to convert office charts to ej2-charts.
 */
export  class ChartComponent {
    /**
     * @private
     */
    chart: charts.Chart | charts.AccumulationChart;
    /**
     * @private
     */
    private chartType;
    /**
     * @private
     */
    private isPieType;
    /**
     * @private
     */
    chartRender(chart: any): void;
    /**
     * @private
     */
    convertChartToImage(chart: charts.Chart | charts.AccumulationChart, elementWidth: number, elementHeight: number): Promise<string>;
    private getControlsValue;
    private officeChartType;
    private chartSeries;
    private writeChartSeries;
    private parseDataLabels;
    private parseErrorBars;
    private parseTrendLines;
    private dataLabelPosition;
    private chartFormat;
    private chartPrimaryXAxis;
    private chartCategoryType;
    private chartPrimaryYAxis;
    private checkAndSetAxisValue;
    private chartData;
    private chartPlotData;
    getColor(color: string): string;
    private parseChartLegend;
    /**
     * Destroys the internal objects which is maintained.
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-office-chart/src/office-chart/index.d.ts
/**
 * export word-chart modules
 */
 }
export namespace pdfExport { 

//node_modules/@syncfusion/ej2-pdf-export/src/implementation/actions/action.d.ts
/**
 * `PdfAction` class represents base class for all action types.
 * @private
 */
export  abstract class PdfAction implements IPdfWrapper {
    /**
     * Specifies the Next `action` to perform.
     * @private
     */
    private action;
    /**
     * Specifies the Internal variable to store `dictionary`.
     * @private
     */
    private pdfDictionary;
    /**
     * Specifies the Internal variable to store `dictionary properties`.
     * @private
     */
    protected dictionaryProperties: DictionaryProperties;
    /**
     * Initialize instance for `Action` class.
     * @private
     */
    protected constructor();
    /**
     * Gets and Sets the `Next` action to perform.
     * @private
     */
    next: PdfAction;
    /**
     * Gets and Sets the instance of PdfDictionary class for `Dictionary`.
     * @private
     */
    readonly dictionary: PdfDictionary;
    /**
     * `Initialize` the action type.
     * @private
     */
    protected initialize(): void;
    /**
     * Gets the `Element` as IPdfPrimitive class.
     * @private
     */
    readonly element: IPdfPrimitive;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/actions/index.d.ts
/**
 * Actions classes
 * @hidden
 */
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/actions/uri-action.d.ts
/**
 * `PdfUriAction` class for initialize the uri related internals.
 * @private
 */
export  class PdfUriAction extends PdfAction {
    /**
     * Specifies the `uri` string.
     * @default ''.
     * @private
     */
    private uniformResourceIdentifier;
    /**
     * Initialize instance of `PdfUriAction` class.
     * @private
     */
    constructor();
    /**
     * Initialize instance of `PdfUriAction` class.
     * @private
     */
    constructor(uri: string);
    /**
     * Gets and Sets the value of `Uri`.
     * @private
     */
    uri: string;
    /**
     * `Initialize` the internals.
     * @private
     */
    protected initialize(): void;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/annotations/action-link-annotation.d.ts
/**
 * Represents base class for `link annotations` with associated action.
 * @private
 */
export  abstract class PdfActionLinkAnnotation extends PdfLinkAnnotation {
    /**
     * Internal variable to store annotation's `action`.
     * @default null
     * @private
     */
    private pdfAction;
    /**
     * Internal variable to store annotation's `Action`.
     * @private
     */
    abstract action: PdfAction;
    /**
     * Specifies the constructor for `ActionLinkAnnotation`.
     * @private
     */
    constructor(rectangle: RectangleF);
    /**
     * get and set the `action`.
     * @hidden
     */
    getSetAction(value?: PdfAction): PdfAction | void;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/annotations/annotation-collection.d.ts
/**
 * `PdfAnnotationCollection` class represents the collection of 'PdfAnnotation' objects.
 * @private
 */
export  class PdfAnnotationCollection implements IPdfWrapper {
    /**
     * `Error` constant message.
     * @private
     */
    private alreadyExistsAnnotationError;
    /**
     * `Error` constant message.
     * @private
     */
    private missingAnnotationException;
    /**
     * Specifies the Internal variable to store fields of `PdfDictionaryProperties`.
     * @private
     */
    protected dictionaryProperties: DictionaryProperties;
    /**
     * Parent `page` of the collection.
     * @private
     */
    private page;
    /**
     * Array of the `annotations`.
     * @private
     */
    private internalAnnotations;
    /**
     * privte `list` for the annotations.
     * @private
     */
    lists: PdfAnnotation[];
    /**
     * Gets the `PdfAnnotation` object at the specified index. Read-Only.
     * @private
     */
    annotations: PdfArray;
    /**
     * Initializes a new instance of the `PdfAnnotationCollection` class.
     * @private
     */
    constructor();
    /**
     * Initializes a new instance of the `PdfAnnotationCollection` class with the specified page.
     * @private
     */
    constructor(page: PdfPage);
    /**
     * `Adds` a new annotation to the collection.
     * @private
     */
    add(annotation: PdfAnnotation): void | number;
    /**
     * `Adds` a Annotation to collection.
     * @private
     */
    protected doAdd(annotation: PdfAnnotation): void | number;
    /**
     * `Set a color of an annotation`.
     * @private
     */
    private setColor;
    /**
     * Gets the `Element` representing this object.
     * @private
     */
    readonly element: IPdfPrimitive;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/annotations/annotation.d.ts
/**
 * `PdfAnnotation` class represents the base class for annotation objects.
 * @private
 */
export  abstract class PdfAnnotation implements IPdfWrapper {
    /**
     * Specifies the Internal variable to store fields of `PdfDictionaryProperties`.
     * @private
     */
    protected dictionaryProperties: DictionaryProperties;
    /**
     * `Color` of the annotation
     * @private
     */
    private pdfColor;
    /**
     * `Bounds` of the annotation.
     * @private
     */
    private rectangle;
    /**
     * Parent `page` of the annotation.
     * @private
     */
    private pdfPage;
    /**
     * `Brush of the text` of the annotation.
     * @default new PdfSolidBrush(new PdfColor(0, 0, 0))
     * @private
     */
    private textBrush;
    /**
     * `Font of the text` of the annotation.
     * @default new PdfStandardFont(PdfFontFamily.TimesRoman, 10)
     * @private
     */
    private textFont;
    /**
     * `StringFormat of the text` of the annotation.
     * @default new PdfStringFormat(PdfTextAlignment.Left)
     * @private
     */
    private format;
    /**
     * `Text` of the annotation.
     * @private
     */
    private content;
    /**
     * Internal variable to store `dictionary`.
     * @private
     */
    private pdfDictionary;
    /**
     * To specifying the `Inner color` with which to fill the annotation
     * @private
     */
    private internalColor;
    /**
     * `opacity or darkness` of the annotation.
     * @private
     * @default 1.0
     */
    private darkness;
    /**
     * `Color` of the annotation
     * @private
     */
    color: PdfColor;
    /**
     * To specifying the `Inner color` with which to fill the annotation
     * @private
     */
    innerColor: PdfColor;
    /**
     * `bounds` of the annotation.
     * @private
     */
    bounds: RectangleF;
    /**
     * Parent `page` of the annotation.
     * @private
     */
    readonly page: PdfPage;
    /**
     * To specifying the `Font of the text` in the annotation.
     * @private
     */
    font: PdfFont;
    /**
     * To specifying the `StringFormat of the text` in the annotation.
     * @private
     */
    stringFormat: PdfStringFormat;
    /**
     * To specifying the `Brush of the text` in the annotation.
     * @private
     */
    brush: PdfBrush;
    /**
     * `Text` of the annotation.
     * @private
     */
    text: string;
    /**
     * Internal variable to store `dictionary`.
     * @hidden
     */
    dictionary: PdfDictionary;
    /**
     * Object initialization for `Annotation` class
     * @private
     */
    constructor();
    constructor(bounds: RectangleF);
    /**
     * `Initialize` the annotation event handler and specifies the type of the annotation.
     * @private
     */
    protected initialize(): void;
    /**
     * Sets related `page` of the annotation.
     * @private
     */
    setPage(page: PdfPageBase): void;
    /**
     * Handles the `BeginSave` event of the Dictionary.
     * @private
     */
    beginSave(): void;
    /**
     * `Saves` an annotation.
     * @private
     */
    protected save(): void;
    /**
     * Gets the `element`.
     * @private
     */
    readonly element: IPdfPrimitive;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/annotations/document-link-annotation.d.ts
/**
 * `PdfDocumentLinkAnnotation` class represents an annotation object with holds link on another location within a document.
 * ```typescript
 * // create a new PDF document
 * let document : PdfDocument = new PdfDocument();
 * // create new pages
 * let page1 : PdfPage = document.pages.add();
 * let page2 : PdfPage = document.pages.add();
 * // create a new rectangle
 * let bounds : RectangleF = new RectangleF({x : 10, y : 200}, {width : 300, height : 25});
 * //
 * // create a new document link annotation
 * let documentLinkAnnotation : PdfDocumentLinkAnnotation = new PdfDocumentLinkAnnotation(bounds);
 * // set the annotation text
 * documentLinkAnnotation.text = 'Document link annotation';
 * // set the destination
 * documentLinkAnnotation.destination = new PdfDestination(page2);
 * // set the documentlink annotation location
 * documentLinkAnnotation.destination.location = new PointF(10, 0);
 * // add this annotation to a new page
 * page1.annotations.add(documentLinkAnnotation);
 * //
 * // save the document to disk
 * document.save('output.pdf');
 * // destroy the document
 * document.destroy();
 * ```
 */
export  class PdfDocumentLinkAnnotation extends PdfLinkAnnotation {
    /**
     * `Destination` of the annotation.
     * @default null
     * @private
     */
    private pdfDestination;
    /**
     * Gets or sets the `destination` of the annotation.
     * ```typescript
     * // create a new PDF document
     * let document : PdfDocument = new PdfDocument();
     * // create new pages
     * let page1 : PdfPage = document.pages.add();
     * let page2 : PdfPage = document.pages.add();
     * // create a new rectangle
     * let bounds : RectangleF = new RectangleF({x : 10, y : 200}, {width : 300, height : 25});
     * //
     * // create a new document link annotation
     * let documentLinkAnnotation : PdfDocumentLinkAnnotation = new PdfDocumentLinkAnnotation(bounds);
     * // set the annotation text
     * documentLinkAnnotation.text = 'Document link annotation';
     * // set the destination
     * documentLinkAnnotation.destination = new PdfDestination(page2);
     * // set the documentlink annotation location
     * documentLinkAnnotation.destination.location = new PointF(10, 0);
     * // add this annotation to a new page
     * page1.annotations.add(documentLinkAnnotation);
     * //
     * // save the document to disk
     * document.save('output.pdf');
     * // destroy the document
     * document.destroy();
     * ```
     * @default null
     */
    destination: PdfDestination;
    /**
     * Initializes new `PdfDocumentLinkAnnotation` instance with specified bounds.
     * @private
     */
    constructor(rectangle: RectangleF);
    /**
     * Initializes new `PdfDocumentLinkAnnotation` instance with specified bounds and destination.
     * @private
     */
    constructor(rectangle: RectangleF, destination: PdfDestination);
    /**
     * `Saves` annotation object.
     * @private
     */
    save(): void;
    /**
     * `Clone` the document link annotation.
     * @private
     */
    clone(): PdfDocumentLinkAnnotation;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/annotations/index.d.ts
/**
 * Annotations classes
 * @hidden
 */
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/annotations/link-annotation.d.ts
/**
 * `PdfLinkAnnotation` class represents the ink annotation class.
 * @private
 */
export  abstract class PdfLinkAnnotation extends PdfAnnotation {
    /**
     * Initializes new instance of `PdfLineAnnotation` class with specified points.
     * @private
     */
    constructor();
    /**
     * Initializes new instance of `PdfLineAnnotation` class with set of points and annotation text.
     * @private
     */
    constructor(rectangle: RectangleF);
    /**
     * `Initializes` annotation object.
     * @private
     */
    protected initialize(): void;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/annotations/pdf-text-web-link.d.ts
/**
 * `PdfTextWebLink` class represents the class for text web link annotation.
 * ```typescript
 * // create a new PDF document.
 * let document$ : PdfDocument = new PdfDocument();
 * // add a page to the document.
 * let page1$ : PdfPage = document.pages.add();
 * // create the font
 * let font : PdfFont = new PdfStandardFont(PdfFontFamily.Helvetica, 12);
 * //
 * // create the Text Web Link
 * let textLink : PdfTextWebLink = new PdfTextWebLink();
 * // set the hyperlink
 * textLink.url = 'http://www.google.com';
 * // set the link text
 * textLink.text = 'Google';
 * // set the font
 * textLink.font = font;
 * // draw the hyperlink in PDF page
 * textLink.draw(page1, new PointF(10, 40));
 * //
 * // save the document.
 * document.save('output.pdf');
 * // destroy the document
 * document.destroy();
 * ```
 */
export  class PdfTextWebLink extends PdfTextElement {
    /**
     * Internal variable to store `Url`.
     * @default ''
     * @private
     */
    private uniformResourceLocator;
    /**
     * Internal variable to store `Uri Annotation` object.
     * @default null
     * @private
     */
    private uriAnnotation;
    /**
     * Checks whether the drawTextWebLink method with `PointF` overload is called or not.
     * If it set as true, then the start position of each lines excluding firest line is changed as (0, Y).
     * @private
     * @hidden
     */
    private recalculateBounds;
    private defaultBorder;
    /**
     * Gets or sets the `Uri address`.
     * ```typescript
     * // create a new PDF document.
     * let document$ : PdfDocument = new PdfDocument();
     * // add a page to the document.
     * let page1$ : PdfPage = document.pages.add();
     * // create the font
     * let font : PdfFont = new PdfStandardFont(PdfFontFamily.Helvetica, 12);
     * // create the Text Web Link
     * let textLink : PdfTextWebLink = new PdfTextWebLink();
     * //
     * // set the hyperlink
     * textLink.url = 'http://www.google.com';
     * //
     * // set the link text
     * textLink.text = 'Google';
     * // set the font
     * textLink.font = font;
     * // draw the hyperlink in PDF page
     * textLink.draw(page1, new PointF(10, 40));
     * // save the document.
     * document.save('output.pdf');
     * // destroy the document
     * document.destroy();
     * ```
     */
    url: string;
    /**
     * Initializes a new instance of the `PdfTextWebLink` class.
     * @private
     */
    constructor();
    /**
     * `Draws` a Text Web Link on the Page with the specified location.
     * @private
     */
    draw(page: PdfPage, location: PointF): PdfLayoutResult;
    /**
     * `Draws` a Text Web Link on the Page with the specified bounds.
     * @private
     */
    draw(page: PdfPage, bounds: RectangleF): PdfLayoutResult;
    /**
     * `Draw` a Text Web Link on the Graphics with the specified location.
     * @private
     */
    draw(graphics: PdfGraphics, location: PointF): PdfLayoutResult;
    /**
     * `Draw` a Text Web Link on the Graphics with the specified bounds.
     * @private
     */
    draw(graphics: PdfGraphics, bounds: RectangleF): PdfLayoutResult;
    /**
     * Helper method `Draw` a Multiple Line Text Web Link on the Graphics with the specified location.
     * @private
     */
    private drawMultipleLineWithPoint;
    /**
     * Helper method `Draw` a Multiple Line Text Web Link on the Graphics with the specified bounds.
     * @private
     */
    private drawMultipleLineWithBounds;
    private calculateBounds;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/annotations/uri-annotation.d.ts
/**
 * PdfUriAnnotation.ts class for EJ2-PDF
 */
/**
 * `PdfUriAnnotation` class represents the Uri annotation.
 * @private
 */
export  class PdfUriAnnotation extends PdfActionLinkAnnotation {
    /**
     * Internal variable to store `acton` for the annotation.
     * @private
     */
    private pdfUriAction;
    /**
     * Get `action` of the annotation.
     * @private
     */
    readonly uriAction: PdfUriAction;
    /**
     * Gets or sets the `Uri` address.
     * @private
     */
    uri: string;
    /**
     * Gets or sets the `action`.
     * @private
     */
    action: PdfAction;
    /**
     * Initializes a new instance of the `PdfUriAnnotation` class with specified bounds.
     * @private
     */
    constructor(rectangle: RectangleF);
    /**
     * Initializes a new instance of the `PdfUriAnnotation` class with specified bounds and URI.
     * @private
     */
    constructor(rectangle: RectangleF, uri: string);
    /**
     * `Initializes` annotation object.
     * @private
     */
    protected initialize(): void;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/collections/dictionary.d.ts
/**
 * @private
 * @hidden
 */
export interface IDictionaryPair<K, V> {
    key: K;
    value: V;
}
/**
 * @private
 * @hidden
 */
export  class Dictionary<K, V> {
    /**
     * @private
     * @hidden
     */
    protected table: {
        [key: string]: IDictionaryPair<K, V>;
    };
    /**
     * @private
     * @hidden
     */
    protected nElements: number;
    /**
     * @private
     * @hidden
     */
    protected toStr: (key: K) => string;
    /**
     * @private
     * @hidden
     */
    constructor(toStringFunction?: (key: K) => string);
    /**
     * @private
     * @hidden
     */
    getValue(key: K): V;
    /**
     * @private
     * @hidden
     */
    setValue(key: K, value: V): V;
    /**
     * @private
     * @hidden
     */
    remove(key: K): V;
    /**
     * @private
     * @hidden
     */
    keys(): K[];
    /**
     * @private
     * @hidden
     */
    values(): V[];
    /**
     * @private
     * @hidden
     */
    containsKey(key: K): boolean;
    /**
     * @private
     * @hidden
     */
    clear(): void;
    /**
     * @private
     * @hidden
     */
    size(): number;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/collections/index.d.ts
/**
 * Collections classes
 * @hidden
 */
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/collections/object-object-pair/dictionary.d.ts
/**
 * Dictionary class
 * @private
 * @hidden
 */
export  class TemporaryDictionary<K, V> {
    /**
     * @hidden
     * @private
     */
    private mKeys;
    /**
     * @hidden
     * @private
     */
    private mValues;
    /**
     * @hidden
     * @private
     */
    size(): number;
    /**
     * @hidden
     * @private
     */
    add(key: K, value: V): number;
    /**
     * @hidden
     * @private
     */
    keys(): K[];
    /**
     * @hidden
     * @private
     */
    values(): V[];
    /**
     * @hidden
     * @private
     */
    getValue(key: K): V;
    /**
     * @hidden
     * @private
     */
    setValue(key: K, value: V): void;
    /**
     * @hidden
     * @private
     */
    remove(key: K): boolean;
    /**
     * @hidden
     * @private
     */
    containsKey(key: K): boolean;
    /**
     * @hidden
     * @private
     */
    clear(): void;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/collections/object-object-pair/index.d.ts
/**
 * ObjectObjectPair classes
 * @hidden
 */
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/collections/utils.d.ts
/**
 * Utils.ts class for EJ2-PDF
 * @private
 * @hidden
 */
export interface ICompareFunction<T> {
    (a: T, b: T): number;
}
/**
 * @private
 * @hidden
 */
export interface IEqualsFunction<T> {
    (a: T, b: T): boolean;
}
/**
 * @private
 * @hidden
 */
export interface ILoopFunction<T> {
    (a: T): boolean | void;
}
/**
 * @private
 * @hidden
 */
export  function defaultToString(item: string | number | string[] | number[] | Object | Object[] | boolean): string;
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/automatic-fields/automatic-field-info-collection.d.ts
/**
 * PdfAutomaticFieldInfoCollection.ts class for EJ2-PDF
 * @private
 */
/**
 * Represent a `collection of automatic fields information`.
 * @private
 */
export  class PdfAutomaticFieldInfoCollection {
    /**
     * Internal variable to store instance of `pageNumberFields` class.
     * @private
     */
    private automaticFieldsInformation;
    /**
     * Gets the `page number fields collection`.
     * @private
     */
    readonly automaticFields: PdfAutomaticFieldInfo[];
    /**
     * Initializes a new instance of the 'PdfPageNumberFieldInfoCollection' class.
     * @private
     */
    constructor();
    /**
     * Add page number field into collection.
     * @private
     */
    add(fieldInfo: PdfAutomaticFieldInfo): number;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/automatic-fields/automatic-field-info.d.ts
/**
 * PdfAutomaticFieldInfo.ts class for EJ2-PDF
 * @private
 */
/**
 * Represents information about the automatic field.
 * @private
 */
export  class PdfAutomaticFieldInfo {
    /**
     * Internal variable to store location of the field.
     * @private
     */
    private pageNumberFieldLocation;
    /**
     * Internal variable to store field.
     * @private
     */
    private pageNumberField;
    /**
     * Internal variable to store x scaling factor.
     * @private
     */
    private scaleX;
    /**
     * Internal variable to store y scaling factor.
     * @private
     */
    private scaleY;
    /**
     * Initializes a new instance of the 'PdfAutomaticFieldInfo' class.
     * @private
     */
    constructor(field: PdfAutomaticFieldInfo);
    /**
     * Initializes a new instance of the 'PdfAutomaticFieldInfo' class.
     * @private
     */
    constructor(field: PdfAutomaticField, location: PointF);
    /**
     * Initializes a new instance of the 'PdfAutomaticFieldInfo' class.
     * @private
     */
    constructor(field: PdfAutomaticField, location: PointF, scaleX: number, scaleY: number);
    /**
     * Gets or sets the location.
     * @private
     */
    location: PointF;
    /**
     * Gets or sets the field.
     * @private
     */
    field: PdfAutomaticField;
    /**
     * Gets or sets the scaling X factor.
     * @private
     */
    scalingX: number;
    /**
     * Gets or sets the scaling Y factor.
     * @private
     */
    scalingY: number;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/automatic-fields/automatic-field.d.ts
/**
 * PdfAutomaticField.ts class for EJ2-PDF
 */
/**
 * Represents a fields which is calculated before the document saves.
 */
export  abstract class PdfAutomaticField extends PdfGraphicsElement {
    private internalBounds;
    private internalFont;
    private internalBrush;
    private internalPen;
    private internalStringFormat;
    private internalTemplateSize;
    protected constructor();
    bounds: RectangleF;
    size: SizeF;
    location: PointF;
    font: PdfFont;
    brush: PdfBrush;
    pen: PdfPen;
    stringFormat: PdfStringFormat;
    abstract getValue(graphics: PdfGraphics): string;
    abstract performDraw(graphics: PdfGraphics, location: PointF, scalingX: number, scalingY: number): void;
    performDrawHelper(graphics: PdfGraphics, location: PointF, scalingX: number, scalingY: number): void;
    draw(graphics: PdfGraphics): void;
    draw(graphics: PdfGraphics, location: PointF): void;
    draw(graphics: PdfGraphics, x: number, y: number): void;
    protected getSize(): SizeF;
    protected drawInternal(graphics: PdfGraphics): void;
    protected getBrush(): PdfBrush;
    protected getFont(): PdfFont;
    getPageFromGraphics(graphics: PdfGraphics): PdfPage;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/automatic-fields/composite-field.d.ts
/**
 * PdfCompositeField.ts class for EJ2-PDF
 */
/**
 * Represents class which can concatenate multiple automatic fields into single string.
 */
export  class PdfCompositeField extends PdfMultipleValueField {
    /**
     * Stores the array of automatic fields.
     * @private
     */
    private internalAutomaticFields;
    /**
     * Stores the text value of the field.
     * @private
     */
    private internalText;
    /**
     * Initialize a new instance of `PdfCompositeField` class.
     * @param font Font of the field.
     * @param brush Color of the field.
     * @param text Content of the field.
     * @param list List of the automatic fields in specific order based on the text content.
     */
    constructor(font: PdfFont, brush: PdfBrush, text: string, ...list: PdfAutomaticField[]);
    /**
     * Gets and sets the content of the field.
     * @public
     */
    text: string;
    /**
     * Gets and sets the list of the field to drawn.
     * @public
     */
    automaticFields: PdfAutomaticField[];
    /**
     * Return the actual value generated from the list of automatic fields.
     * @public
     */
    getValue(graphics: PdfGraphics): string;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/automatic-fields/index.d.ts
/**
 * Automatic fields classes
 * @hidden
 */
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/automatic-fields/multiple-value-field.d.ts
/**
 * PdfAutomaticField.ts class for EJ2-PDF
 */
/**
 * Represents automatic field which has the same value within the `PdfGraphics`.
 */
export  abstract class PdfMultipleValueField extends PdfAutomaticField {
    /**
     * Stores the instance of dictionary values of `graphics and template value pair`.
     * @private
     */
    private list;
    constructor();
    performDraw(graphics: PdfGraphics, location: PointF, scalingX: number, scalingY: number): void;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/automatic-fields/page-count-field.d.ts
/**
 * PdfPageCountField.ts class for EJ2-PDF
 */
/**
 * Represents total PDF document page count automatic field.
 */
export  class PdfPageCountField extends PdfSingleValueField {
    /**
     * Stores the number style of the field.
     * @private
     */
    private internalNumberStyle;
    /**
     * Initialize a new instance for page number field.
     * @public
     */
    constructor(font: PdfFont);
    /**
     * Initialize a new instance for page number field.
     * @public
     */
    constructor(font: PdfFont, bounds: RectangleF);
    /**
     * Initialize a new instance for page number field.
     * @public
     */
    constructor(font: PdfFont, brush: PdfBrush);
    /**
     * Gets and sets the number style of the field.
     * @public
     */
    numberStyle: PdfNumberStyle;
    /**
     * Return the actual value of the content to drawn.
     * @public
     */
    getValue(graphics: PdfGraphics): string;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/automatic-fields/pdf-numbers-convertor.d.ts
/**
 * PdfNumbersConvertor.ts class for EJ2-PDF
 * @private
 */
/**
 * `PdfNumbersConvertor` for convert page number into numbers, roman letters, etc.,
 * @private
 */
export  class PdfNumbersConvertor {
    /**
     * numbers of letters in english [readonly].
     * @default = 26.0
     * @private
     */
    private static readonly letterLimit;
    /**
     * Resturns `acsii start index` value.
     * @default 64
     * @private
     */
    private static readonly acsiiStartIndex;
    /**
     * Convert string value from page number with correct format.
     * @private
     */
    static convert(intArabic: number, numberStyle: PdfNumberStyle): string;
    /**
     * Converts `arabic to roman` letters.
     * @private
     */
    private static arabicToRoman;
    /**
     * Converts `arabic to normal letters`.
     * @private
     */
    private static arabicToLetter;
    /**
     * Generate a string value of an input number.
     * @private
     */
    private static generateNumber;
    /**
     * Convert a input number into letters.
     * @private
     */
    private static convertToLetter;
    /**
     * Convert number to actual string value.
     * @private
     */
    private static appendChar;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/automatic-fields/pdf-page-number-field.d.ts
/**
 * PdfPageNumberField.ts class for EJ2-PDF
 */
/**
 * Represents PDF document `page number field`.
 * @public
 */
export  class PdfPageNumberField extends PdfMultipleValueField {
    /**
     * Initialize a new instance for page number field.
     * @public
     */
    constructor(font: PdfFont);
    /**
     * Initialize a new instance for page number field.
     * @public
     */
    constructor(font: PdfFont, bounds: RectangleF);
    /**
     * Initialize a new instance for page number field.
     * @public
     */
    constructor(font: PdfFont, brush: PdfBrush);
    /**
     * Stores the number style of the page number field.
     * @private
     */
    private internalNumberStyle;
    /**
     * Gets and sets the number style of the page number field.
     * @private
     */
    numberStyle: PdfNumberStyle;
    /**
     * Return the `string` value of page number field.
     * @public
     */
    getValue(graphics: PdfGraphics): string;
    /**
     * Internal method to `get actual value of page number`.
     * @private
     */
    protected internalGetValue(page: PdfPage): string;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/automatic-fields/pdf-template-value-pair.d.ts
/**
 * PdfTemplateValuePair.ts class for EJ2-PDF
 * @private
 */
/**
 * Represent class to store information about `template and value pairs`.
 * @private
 */
export  class PdfTemplateValuePair {
    /**
     * Internal variable to store template.
     * @default null
     * @private
     */
    private pdfTemplate;
    /**
     * Intenal variable to store value.
     * @private
     */
    private content;
    /**
     * Initializes a new instance of the 'PdfTemplateValuePair' class.
     * @private
     */
    constructor();
    constructor(template: PdfTemplate, value: string);
    /**
     * Gets or sets the template.
     * @private
     */
    template: PdfTemplate;
    /**
     * Gets or sets the value.
     * @private
     */
    value: string;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/automatic-fields/single-value-field.d.ts
/**
 * PdfSingleValueField.ts class for EJ2-PDF
 */
/**
 * Represents automatic field which has the same value in the whole document.
 */
export  abstract class PdfSingleValueField extends PdfAutomaticField {
    private list;
    private painterGraphics;
    constructor();
    performDraw(graphics: PdfGraphics, location: PointF, scalingX: number, scalingY: number): void;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/index.d.ts
/**
 * Document classes
 * @hidden
 */
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/pdf-catalog.d.ts
/**
 * PdfCatalog.ts class for EJ2-PDF
 */
/**
 * `PdfCatalog` class represents internal catalog of the Pdf document.
 * @private
 */
export  class PdfCatalog extends PdfDictionary {
    /**
     * Internal variable to store collection of `sections`.
     * @default null
     * @private
     */
    private sections;
    /**
     * Internal variable for accessing fields from `DictionryProperties` class.
     * @private
     */
    private tempDictionaryProperties;
    /**
     * Initializes a new instance of the `PdfCatalog` class.
     * @private
     */
    constructor();
    /**
     * Gets or sets the sections, which contain `pages`.
     * @private
     */
    pages: PdfSectionCollection;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/pdf-document-base.d.ts
/**
 * PdfDocumentBase.ts class for EJ2-PDF
 */
/**
 * `PdfDocumentBase` class represent common properties of PdfDocument classes.
 * @private
 */
export  class PdfDocumentBase {
    /**
     * Collection of the main `objects`.
     * @private
     */
    private objects;
    /**
     * The `cross table`.
     * @private
     */
    private pdfCrossTable;
    /**
     * `Object` that is saving currently.
     * @private
     */
    private currentSavingObject;
    /**
     * Document `catlog`.
     * @private
     */
    private pdfCatalog;
    /**
     * If the stream is copied,  then it specifies true.
     * @private
     */
    isStreamCopied: boolean;
    /**
     * Instance of parent `document`.
     * @private
     */
    document: PdfDocument;
    /**
     * Initializes a new instance of the `PdfDocumentBase` class.
     * @private
     */
    constructor();
    /**
     * Initializes a new instance of the `PdfDocumentBase` class with instance of PdfDocument as argument.
     * @private
     */
    constructor(document: PdfDocument);
    /**
     * Gets the `PDF objects` collection, which stores all objects and references to it..
     * @private
     */
    readonly pdfObjects: PdfMainObjectCollection;
    /**
     * Gets the `cross-reference` table.
     * @private
     */
    readonly crossTable: PdfCrossTable;
    /**
     * Gets or sets the current saving `object number`.
     * @private
     */
    currentSavingObj: PdfReference;
    /**
     * Gets the PDF document `catalog`.
     * @private
     */
    catalog: PdfCatalog;
    /**
     * Sets the `main object collection`.
     * @private
     */
    setMainObjectCollection(mainObjectCollection: PdfMainObjectCollection): void;
    /**
     * Sets the `cross table`.
     * @private
     */
    setCrossTable(cTable: PdfCrossTable): void;
    /**
     * Sets the `catalog`.
     * @private
     */
    setCatalog(catalog: PdfCatalog): void;
    /**
     * `Saves` the document to the specified filename.
     * @private
     */
    save(): Promise<{
        blobData: Blob;
    }>;
    /**
     * `Saves` the document to the specified filename.
     * @public
     * ```typescript
     * // create a new PDF document
     * let document$ : PdfDocument = new PdfDocument();
     * // add a pages to the document
     * let page1$ : PdfPage = document.pages.add();
     * //
     * // save the document
     * document.save('output.pdf');
     * //
     * // destroy the document
     * document.destroy();
     * ```
     * @param filename Specifies the file name to save the output pdf document.
     */
    save(filename: string): void;
    /**
     * `Clone` of parent object - PdfDocument.
     * @private
     */
    clone(): PdfDocument;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/pdf-document-template.d.ts
/**
 * PdfDocumentTemplate.ts class for EJ2-PDF
 */
/**
 * `PdfDocumentTemplate` class encapsulates a page template for all the pages in the document.
 * @private
 */
export  class PdfDocumentTemplate {
    /**
     * `Left` page template object.
     * @private
     */
    private leftTemplate;
    /**
     * `Top` page template object.
     * @private
     */
    private topTemplate;
    /**
     * `Right` page template object.
     * @private
     */
    private rightTemplate;
    /**
     * `Bottom` page template object.
     * @private
     */
    private bottomTemplate;
    /**
     * `EvenLeft` page template object.
     * @private
     */
    private evenLeft;
    /**
     * `EvenTop` page template object.
     * @private
     */
    private evenTop;
    /**
     * `EvenRight` page template object.
     * @private
     */
    private evenRight;
    /**
     * `EventBottom` page template object.
     * @private
     */
    private evenBottom;
    /**
     * `OddLeft` page template object.
     * @private
     */
    private oddLeft;
    /**
     * `OddTop` page template object.
     * @private
     */
    private oddTop;
    /**
     * `OddRight` page template object.
     * @private
     */
    private oddRight;
    /**
     * `OddBottom` page template object.
     * @private
     */
    private oddBottom;
    /**
     * `Left` page template object.
     * @public
     */
    left: PdfPageTemplateElement;
    /**
     * `Top` page template object.
     * @public
     */
    top: PdfPageTemplateElement;
    /**
     * `Right` page template object.
     * @public
     */
    right: PdfPageTemplateElement;
    /**
     * `Bottom` page template object.
     * @public
     */
    bottom: PdfPageTemplateElement;
    /**
     * `EvenLeft` page template object.
     * @public
     */
    EvenLeft: PdfPageTemplateElement;
    /**
     * `EvenTop` page template object.
     * @public
     */
    EvenTop: PdfPageTemplateElement;
    /**
     * `EvenRight` page template object.
     * @public
     */
    EvenRight: PdfPageTemplateElement;
    /**
     * `EvenBottom` page template object.
     * @public
     */
    EvenBottom: PdfPageTemplateElement;
    /**
     * `OddLeft` page template object.
     * @public
     */
    OddLeft: PdfPageTemplateElement;
    /**
     * `OddTop` page template object.
     * @public
     */
    OddTop: PdfPageTemplateElement;
    /**
     * `OddRight` page template object.
     * @public
     */
    OddRight: PdfPageTemplateElement;
    /**
     * `OddBottom` page template object.
     * @public
     */
    OddBottom: PdfPageTemplateElement;
    /**
     * Initializes a new instance of the `PdfDocumentTemplate` class.
     * @public
     */
    constructor();
    /**
     * Returns `left` template.
     * @public
     */
    getLeft(page: PdfPage): PdfPageTemplateElement;
    /**
     * Returns `top` template.
     * @public
     */
    getTop(page: PdfPage): PdfPageTemplateElement;
    /**
     * Returns `right` template.
     * @public
     */
    getRight(page: PdfPage): PdfPageTemplateElement;
    /**
     * Returns `bottom` template.
     * @public
     */
    getBottom(page: PdfPage): PdfPageTemplateElement;
    /**
     * Checks whether the page `is even`.
     * @private
     */
    private isEven;
    /**
     * Checks a `template element`.
     * @private
     */
    private checkElement;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/document/pdf-document.d.ts
/**
 * Represents a PDF document and can be used to create a new PDF document from the scratch.
 * ```typescript
 * // create a new PDF document
 * let document$ : PdfDocument = new PdfDocument();
 * // add a new page to the document
 * let page1$ : PdfPage = document.pages.add();
 * // set the font
 * let font$ : PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);
 * // create black brush
 * let blackBrush : PdfSolidBrush = new PdfSolidBrush(new PdfColor(0, 0, 0));
 * // draw the text
 * page1.graphics.drawString('Hello World', font, blackBrush, new PointF(0, 0));
 * // save the document
 * document.save('output.pdf');
 * // destroy the document
 * document.destroy();
 * ```
 */
export  class PdfDocument extends PdfDocumentBase {
    /**
     * `Cache` of the objects.
     * @private
     */
    private static cacheCollection;
    /**
     * Default `margin` value.
     * @default 40.0
     * @private
     */
    readonly defaultMargin: number;
    /**
     * Default page `settings`.
     * @private
     */
    private settings;
    /**
     * Internal variable to store document`s collection of `sections`.
     * @private
     */
    private sectionCollection;
    /**
     * Internal variable to store document`s collection of `pages`.
     * @private
     */
    private documentPageCollection;
    /**
     * Internal variable to store instance of `fileUtils.StreamWriter` classes..
     * @default null
     * @private
     */
    streamWriter: fileUtils.StreamWriter;
    /**
     * Defines the `color space` of the document
     * @private
     */
    private pdfColorSpace;
    /**
     * Internal variable to store `template` which is applied to each page of the document.
     * @private
     */
    private pageTemplate;
    /**
     * `Font` used in complex objects to draw strings and text when it is not defined explicitly.
     * @default null
     * @private
     */
    private static defaultStandardFont;
    /**
     * Indicates whether enable cache or not
     * @default true
     * @private
     */
    private static isCacheEnabled;
    /**
     * Initializes a new instance of the `PdfDocument` class.
     * @public
     */
    constructor();
    /**
     * Initializes a new instance of the `PdfDocument` class.
     * @private
     */
    constructor(isMerging: boolean);
    /**
     * Gets the `default font`. It is used for complex objects when font is not explicitly defined.
     * @private
     */
    static readonly defaultFont: PdfFont;
    /**
     * Gets the collection of the `sections` in the document.
     * @private
     */
    readonly sections: PdfSectionCollection;
    /**
     * Gets the document's page setting.
     * @public
     */
    /**
    * Sets the document's page setting.
    * ```typescript
    * // create a new PDF document
    * let document : PdfDocument = new PdfDocument();
    *
    * // sets the right margin of the page
    * document.pageSettings.margins.right = 0;
    * // set the page size.
    * document.pageSettings.size = new SizeF(500, 500);
    * // change the page orientation to landscape
    * document.pageSettings.orientation = PdfPageOrientation.Landscape;
    * // apply 90 degree rotation on the page
    * document.pageSettings.rotate = PdfPageRotateAngle.RotateAngle90;
    *
    * // add a pages to the document
    * let page1 : PdfPage = document.pages.add();
    * // set font
    * let font : PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);
    * // set brush
    * let blackBrush : PdfSolidBrush = new PdfSolidBrush(new PdfColor(0, 0, 0));
    * // set the specified Point
    * let point : PointF = new PointF(page1.getClientSize().width - 200, page1.getClientSize().height - 200);
    * // draw the text
    * page1.graphics.drawString('Hello World', font, blackBrush, point);
    * // save the document
    * document.save('output.pdf');
    * // destroy the document
    * document.destroy();
    * ```
    */
    pageSettings: PdfPageSettings;
    /**
     * Represents the collection of pages in the PDF document.
     * ```typescript
     * // create a new PDF document
     * let document$ : PdfDocument = new PdfDocument();
     * //
     * // get the collection of pages in the document
     * let pageCollection : PdfDocumentPageCollection  = document.pages;
     * //
     * // add pages
     * let page1$ : PdfPage = pageCollection.add();
     * // save the document
     * document.save('output.pdf');
     * // destroy the document
     * document.destroy();
     * ```
     */
    readonly pages: PdfDocumentPageCollection;
    /**
     * Gets collection of the `cached objects`.
     * @private
     */
    /**
    * Sets collection of the `cached objects`.
    * @private
    */
    static cache: PdfCacheCollection;
    /**
     * Gets the value of enable cache.
     * @private
     */
    /**
    * Sets thie value of enable cache.
    * @private
    */
    static enableCache: boolean;
    /**
     * Gets or sets the `color space` of the document. This property can be used to create PDF document in RGB, Gray scale or CMYK color spaces.
     * @private
     */
    colorSpace: PdfColorSpace;
    /**
     * Gets or sets a `template` to all pages in the document.
     * @private
     */
    template: PdfDocumentTemplate;
    /**
     * Saves the document to the specified output stream and return the stream as Blob.
     * @private
     */
    docSave(stream: fileUtils.StreamWriter, isBase: boolean): Blob;
    /**
     * Saves the document to the specified output stream.
     * @private
     */
    docSave(stream: fileUtils.StreamWriter, filename: string, isBase: boolean): void;
    /**
     * Checks the pages `presence`.
     * @private
     */
    private checkPagesPresence;
    /**
     * disposes the current instance of `PdfDocument` class.
     * ```typescript
     * // create a new PDF document
     * let document$ : PdfDocument = new PdfDocument();
     * // add a new page to the document
     * let page1$ : PdfPage = document.pages.add();
     * // set the font
     * let font$ : PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);
     * // create black brush
     * let blackBrush : PdfSolidBrush = new PdfSolidBrush(new PdfColor(0, 0, 0));
     * // draw the text
     * page1.graphics.drawString('Hello World', font, blackBrush, new PointF(0, 0));
     * // save the document
     * document.save('output.pdf');
     * // destroy the document
     * document.destroy();
     * ```
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/drawing/index.d.ts
/**
 * Drawing classes
 * @hidden
 */
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/drawing/pdf-drawing.d.ts
/**
 * Coordinates of Position for `PointF`.
 * @private
 */
export  class PointF {
    /**
     * Value of `X`.
     * @private
     */
    x: number;
    /**
     * Value of `Y`.
     * @private
     */
    y: number;
    /**
     * Instance of `PointF` class.
     * @private
     */
    constructor();
    /**
     * Instance of `PointF` class with X, Y co-ordinates.
     * @private
     */
    constructor(x: number, y: number);
}
/**
 * Width and Height as `Size`.
 * @private
 */
export  class SizeF {
    /**
     * Value of ``Height``.
     * @private
     */
    height: number;
    /**
     * Value of `Width`.
     * @private
     */
    width: number;
    /**
     * Instance of `SizeF` class.
     * @private
     */
    constructor();
    /**
     * Instance of `SizeF` class with Width and Height.
     * @private
     */
    constructor(width: number, height: number);
}
/**
 * `RectangleF` with Position and size.
 * @private
 */
export  class RectangleF {
    /**
     * Value of `X`.
     * @private
     */
    x: number;
    /**
     * Value of `Y`.
     * @private
     */
    y: number;
    /**
     * Value of `Height`.
     * @private
     */
    height: number;
    /**
     * Value of `Width`.
     * @private
     */
    width: number;
    /**
     * Instance of `RectangleF` class.
     * @private
     */
    constructor();
    /**
     * Instance of `RectangleF` class with X, Y, Width and Height.
     * @private
     */
    constructor(x: number, y: number, height: number, width: number);
    /**
     * Instance of `RectangleF` class with PointF, SizeF.
     * @private
     */
    constructor(pointF: PointF, sizeF: SizeF);
}
/**
 * `Rectangle` with left, right, top and bottom.
 * @private
 */
export  class Rectangle {
    /**
     * Value of `left`.
     * @private
     */
    left: number;
    /**
     * Value of `top`.
     * @private
     */
    top: number;
    /**
     * Value of `right`.
     * @private
     */
    right: number;
    /**
     * Value of `bottom`.
     * @private
     */
    bottom: number;
    /**
     * Instance of `RectangleF` class with X, Y, Width and Height.
     * @private
     */
    constructor(left: number, top: number, right: number, bottom: number);
    /**
     * Gets a value of width
     */
    readonly width: number;
    /**
     * Gets a value of height
     */
    readonly height: number;
    /**
     * Gets a value of Top and Left
     */
    readonly topLeft: PointF;
    /**
     * Gets a value of size
     */
    readonly size: SizeF;
    toString(): string;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/general/enum.d.ts
/**
 * public Enum for `PdfDestinationMode`.
 * @private
 */
export  enum PdfDestinationMode {
    /**
     * Specifies the type of `Location`.
     * @private
     */
    Location = 0,
    /**
     * Specifies the type of `FitToPage`.
     * @private
     */
    FitToPage = 1,
    /**
     * Specifies the type of `FitR`.
     * @private
     */
    FitR = 2
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/general/functions/index.d.ts
/**
 * Function classes
 * @hidden
 */
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/general/functions/pdf-function.d.ts
/**
 * PdfFunction.ts class for EJ2-PDF
 * Implements the base class for all functions.
 */
export  abstract class PdfFunction implements IPdfWrapper {
    /**
     * Internal variable to store dictionary.
     * @private
     */
    private mDictionary;
    /**
     * Local variable to store the dictionary properties.
     * @private
     */
    protected mDictionaryProperties: DictionaryProperties;
    /**
     * Initializes a new instance of the `PdfFunction` class.
     * @public
     */
    constructor(dictionary: PdfDictionary);
    /**
     * Gets or sets the domain of the function.
     * @public
     */
    protected domain: PdfArray;
    /**
     * Gets or sets the range.
     * @public
     */
    protected range: PdfArray;
    /**
     * Gets the dictionary.
     */
    protected readonly dictionary: PdfDictionary;
    /**
     * Gets the element.
     */
    readonly element: IPdfPrimitive;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/general/functions/pdf-sampled-function.d.ts
export  class PdfSampledFunction extends PdfFunction {
    /**
     * Initializes a new instance of the `PdfSampledFunction` class.
     * @public
     */
    constructor();
    /**
     * Initializes a new instance of the `PdfSampledFunction` class.
     * @public
     */
    constructor(domain: number[], range: number[], sizes: number[], samples: number[]);
    /**
     * Checks the input parameters.
     */
    private checkParams;
    /**
     * Sets the domain and range.
     */
    private setDomainAndRange;
    /**
     * Sets the size and values.
     */
    private setSizeAndValues;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/general/index.d.ts
/**
 * General classes
 * @hidden
 */
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/general/pdf-cache-collection.d.ts
/**
 * `Collection of the cached objects`.
 * @private
 */
export  class PdfCacheCollection {
    /**
     * Stores the similar `objects`.
     * @private
     */
    private referenceObjects;
    /**
     * Stores the references of font with GUID `objects`.
     * @private
     */
    private pdfFontCollection;
    /**
     * Initializes a new instance of the `PdfCacheCollection` class.
     * @private
     */
    constructor();
    /**
     * `Searches` for the similar cached object. If is not found - adds the object to the cache.
     * @private
     */
    search(obj: IPdfCache): IPdfCache;
    /**
     * `Creates` a new group.
     * @private
     */
    createNewGroup(): Object[];
    /**
     * `Find and Return` a group.
     * @private
     */
    getGroup(result: IPdfCache): Object[];
    /**
     * Remove a group from the storage.
     */
    removeGroup(group: Object[]): void;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/general/pdf-collection.d.ts
/**
 * PdfCollection.ts class for EJ2-PDF
 * The class used to handle the collection of PdF objects.
 */
export  class PdfCollection {
    /**
     * Stores the `objects` as array.
     * @private
     */
    private collection;
    /**
     * Initializes a new instance of the `Collection` class.
     * @private
     */
    constructor();
    /**
     * Gets the `Count` of stored objects.
     * @private
     */
    readonly count: number;
    /**
     * Gets the `list` of stored objects.
     * @private
     */
    readonly list: Object[];
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/general/pdf-destination.d.ts
/**
 * PdfDestination.ts class for EJ2-PDF
 */
/**
 * `PdfDestination` class represents an anchor in the document
 * where bookmarks or annotations can direct when clicked.
 */
export  class PdfDestination implements IPdfWrapper {
    /**
     * Internal variable for accessing fields from `DictionryProperties` class.
     * @private
     */
    protected dictionaryProperties: DictionaryProperties;
    /**
     * Type of the `destination`.
     * @private
     */
    private destinationMode;
    /**
     * `Zoom` factor.
     * @private
     * @default 0
     */
    private zoomFactor;
    /**
     * `Location` of the destination.
     * @default new PointF() with 0 ,0 as co-ordinates
     * @private
     */
    private destinationLocation;
    /**
     * `Bounds` of the destination as RectangleF.
     * @default RectangleF.Empty
     * @private
     */
    private bounds;
    /**
     * Parent `page` reference.
     * @private
     */
    private pdfPage;
    /**
     * Pdf primitive representing `this` object.
     * @private
     */
    private array;
    /**
     * Initializes a new instance of the `PdfDestination` class with page object.
     * @private
     */
    constructor(page: PdfPageBase);
    /**
     * Initializes a new instance of the `PdfDestination` class with page object and location.
     * @private
     */
    constructor(page: PdfPageBase, location: PointF);
    /**
     * Initializes a new instance of the `PdfDestination` class with page object and bounds.
     * @private
     */
    constructor(page: PdfPageBase, rectangle: RectangleF);
    /**
     * Gets and Sets the `zoom` factor.
     * @private
     */
    zoom: number;
    /**
     * Gets and Sets the `page` object.
     * @private
     */
    page: PdfPageBase;
    /**
     * Gets and Sets the destination `mode`.
     * @private
     */
    mode: PdfDestinationMode;
    /**
     * Gets and Sets the `location`.
     * @private
     */
    location: PointF;
    /**
     * `Translates` co-ordinates to PDF co-ordinate system (lower/left).
     * @private
     */
    private pointToNativePdf;
    /**
     * `In fills` array by correct values.
     * @private
     */
    private initializePrimitive;
    /**
     * Gets the `element` representing this object.
     * @private
     */
    readonly element: IPdfPrimitive;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/brushes/enum.d.ts
/**
 * Specifies the constant values specifying whether to extend the shading
 * beyond the starting and ending points of the axis.
 */
export  enum PdfExtend {
    /**
     * Do not extend any point.
     */
    None = 0,
    /**
     * Extend start point.
     */
    Start = 1,
    /**
     * Extend end point.
     */
    End = 2,
    /**
     * Extend both start and end points.
     */
    Both = 3
}
/**
 * Specifies the gradient direction of the linear gradient brush.
 */
export  enum PdfLinearGradientMode {
    /**
     * Specifies a gradient from upper right to lower left.
     */
    BackwardDiagonal = 0,
    /**
     * Specifies a gradient from upper left to lower right.
     */
    ForwardDiagonal = 1,
    /**
     * Specifies a gradient from left to right.
     */
    Horizontal = 2,
    /**
     * Specifies a gradient from top to bottom.
     */
    Vertical = 3
}
/**
 * Shading type constants.
 */
export  enum ShadingType {
    /**
     * Function-based shading.
     */
    Function = 1,
    /**
     * Axial shading.
     */
    Axial = 2,
    /**
     * Radial shading.
     */
    Radial = 3
}
export  enum KnownColor {
    ActiveBorder = 1,
    ActiveCaption = 2,
    ActiveCaptionText = 3,
    AppWorkspace = 4,
    Control = 5,
    ControlDark = 6,
    ControlDarkDark = 7,
    ControlLight = 8,
    ControlLightLight = 9,
    ControlText = 10,
    Desktop = 11,
    GrayText = 12,
    Highlight = 13,
    HighlightText = 14,
    HotTrack = 15,
    InactiveBorder = 16,
    InactiveCaption = 17,
    InactiveCaptionText = 18,
    Info = 19,
    InfoText = 20,
    Menu = 21,
    MenuText = 22,
    ScrollBar = 23,
    Window = 24,
    WindowFrame = 25,
    WindowText = 26,
    Transparent = 27,
    AliceBlue = 28,
    AntiqueWhite = 29,
    Aqua = 30,
    Aquamarine = 31,
    Azure = 32,
    Beige = 33,
    Bisque = 34,
    Black = 35,
    BlanchedAlmond = 36,
    Blue = 37,
    BlueViolet = 38,
    Brown = 39,
    BurlyWood = 40,
    CadetBlue = 41,
    Chartreuse = 42,
    Chocolate = 43,
    Coral = 44,
    CornflowerBlue = 45,
    Cornsilk = 46,
    Crimson = 47,
    Cyan = 48,
    DarkBlue = 49,
    DarkCyan = 50,
    DarkGoldenrod = 51,
    DarkGray = 52,
    DarkGreen = 53,
    DarkKhaki = 54,
    DarkMagenta = 55,
    DarkOliveGreen = 56,
    DarkOrange = 57,
    DarkOrchid = 58,
    DarkRed = 59,
    DarkSalmon = 60,
    DarkSeaGreen = 61,
    DarkSlateBlue = 62,
    DarkSlateGray = 63,
    DarkTurquoise = 64,
    DarkViolet = 65,
    DeepPink = 66,
    DeepSkyBlue = 67,
    DimGray = 68,
    DodgerBlue = 69,
    Firebrick = 70,
    FloralWhite = 71,
    ForestGreen = 72,
    Fuchsia = 73,
    Gainsboro = 74,
    GhostWhite = 75,
    Gold = 76,
    Goldenrod = 77,
    Gray = 78,
    Green = 79,
    GreenYellow = 80,
    Honeydew = 81,
    HotPink = 82,
    IndianRed = 83,
    Indigo = 84,
    Ivory = 85,
    Khaki = 86,
    Lavender = 87,
    LavenderBlush = 88,
    LawnGreen = 89,
    LemonChiffon = 90,
    LightBlue = 91,
    LightCoral = 92,
    LightCyan = 93,
    LightGoldenrodYellow = 94,
    LightGray = 95,
    LightGreen = 96,
    LightPink = 97,
    LightSalmon = 98,
    LightSeaGreen = 99,
    LightSkyBlue = 100,
    LightSlateGray = 101,
    LightSteelBlue = 102,
    LightYellow = 103,
    Lime = 104,
    LimeGreen = 105,
    Linen = 106,
    Magenta = 107,
    Maroon = 108,
    MediumAquamarine = 109,
    MediumBlue = 110,
    MediumOrchid = 111,
    MediumPurple = 112,
    MediumSeaGreen = 113,
    MediumSlateBlue = 114,
    MediumSpringGreen = 115,
    MediumTurquoise = 116,
    MediumVioletRed = 117,
    MidnightBlue = 118,
    MintCream = 119,
    MistyRose = 120,
    Moccasin = 121,
    NavajoWhite = 122,
    Navy = 123,
    OldLace = 124,
    Olive = 125,
    OliveDrab = 126,
    Orange = 127,
    OrangeRed = 128,
    Orchid = 129,
    PaleGoldenrod = 130,
    PaleGreen = 131,
    PaleTurquoise = 132,
    PaleVioletRed = 133,
    PapayaWhip = 134,
    PeachPuff = 135,
    Peru = 136,
    Pink = 137,
    Plum = 138,
    PowderBlue = 139,
    Purple = 140,
    Red = 141,
    RosyBrown = 142,
    RoyalBlue = 143,
    SaddleBrown = 144,
    Salmon = 145,
    SandyBrown = 146,
    SeaGreen = 147,
    SeaShell = 148,
    Sienna = 149,
    Silver = 150,
    SkyBlue = 151,
    SlateBlue = 152,
    SlateGray = 153,
    Snow = 154,
    SpringGreen = 155,
    SteelBlue = 156,
    Tan = 157,
    Teal = 158,
    Thistle = 159,
    Tomato = 160,
    Turquoise = 161,
    Violet = 162,
    Wheat = 163,
    White = 164,
    WhiteSmoke = 165,
    Yellow = 166,
    YellowGreen = 167,
    ButtonFace = 168,
    ButtonHighlight = 169,
    ButtonShadow = 170,
    GradientActiveCaption = 171,
    GradientInactiveCaption = 172,
    MenuBar = 173,
    MenuHighlight = 174
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/brushes/index.d.ts
/**
 * Collections classes
 * @hidden
 */
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/brushes/pdf-blend.d.ts
/**
 * PdfBlend.ts class for EJ2-PDF
 */
/**
 * `PdfBlend` Represents the blend color space
 * @private
 */
export  class PdfBlend {
    /**
     * precision of the GCD calculations.
     * @private
     */
    private precision;
    /**
     * Local variable to store the count.
     * @private
     */
    private mCount;
    /**
     * Local variable to store the positions.
     * @private
     */
    private mPositions;
    /**
     * Local variable to store the factors
     * @private.
     */
    private mFactors;
    /**
     * Initializes a new instance of the `PdfBlend` class.
     * @public
     */
    constructor();
    /**
     * Initializes a new instance of the `PdfBlend` class.
     * @public
     */
    constructor(count: number);
    /**
     * Gets or sets the array of factor to the blend.
     * @public
     */
    factors: number[];
    /**
     * 'positions' Gets or sets the array of positions
     * @public
     */
    positions: number[];
    /**
     * Gets the number of elements that specify the blend.
     * @protected
     */
    protected readonly count: number;
    /**
     * Generates a correct color blend.
     * @param colours The colours.
     * @param colorSpace The color space.
     */
    generateColorBlend(colours: PdfColor[], colorSpace: PdfColorSpace): PdfColorBlend;
    /**
     * 'clonePdfBlend' Clones this instance.
     * @public
     */
    clonePdfBlend(): PdfBlend;
    /**
     * Calculate the GCD of the specified values.
     * @param u The values.
     */
    protected gcd(u: number[]): number;
    /**
     * Determines greatest common divisor of the specified u and v.
     * @param u The u.
     * @param v The v.
     */
    protected gcd(u: number, v: number): number;
    /**
     * Calculate the GCD int of the specified values.
     * @param u The u.
     * @param v The v.
     */
    protected gcdInt(u: number, v: number): number;
    /**
     * Determines if the u value is even.
     * @param u The u value.
     */
    private isEven;
    /**
     * Interpolates the specified colours according to the t value.
     * @param t The t value, which show the imagine position on a line from 0 to 1.
     * @param v1 The minimal value.
     * @param v2 The maximal value.
     */
    protected interpolate(t: number, v1: number, v2: number): number;
    /**
     * Interpolates the specified colours according to the t value.
     * @param t The t value, which show the imagine position on a line from 0 to 1.
     * @param color1 The minimal colour.
     * @param color2 The maximal colour.
     * @param colorSpace The color space.
     */
    protected interpolate(t: number, color1: PdfColor, color2: PdfColor, colorSpace: PdfColorSpace): PdfColor;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/brushes/pdf-brush.d.ts
/**
 * PdfBrush.ts class for EJ2-PDF
 */
/**
 * `PdfBrush` class provides objects used to fill the interiors of graphical shapes such as rectangles,
 * ellipses, pies, polygons, and paths.
 * @private
 */
export  abstract class PdfBrush implements ICloneable {
    /**
     * Creates instanceof `PdfBrush` class.
     * @hidden
     * @private
     */
    constructor();
    /**
     * Stores the instance of `PdfColor` class.
     * @private
     */
    color: PdfColor;
    /**
     * `MonitorChanges` abstract method overload.
     * @hidden
     * @private
     */
    abstract monitorChanges(brush: PdfBrush, streamWriter: PdfStreamWriter, getResources: GetResourceEventHandler, saveChanges: boolean, currentColorSpace: PdfColorSpace): boolean;
    /**
     * `MonitorChanges` abstract method overload.
     * @hidden
     * @private
     */
    abstract monitorChanges(brush: PdfBrush, streamWriter: PdfStreamWriter, getResources: GetResourceEventHandler, saveChanges: boolean, currentColorSpace: PdfColorSpace, check: boolean): boolean;
    /**
     * `MonitorChanges` abstract method overload.
     * @hidden
     * @private
     */
    abstract monitorChanges(brush: PdfBrush, streamWriter: PdfStreamWriter, getResources: GetResourceEventHandler, saveChanges: boolean, currentColorSpace: PdfColorSpace, check: boolean, iccBased: boolean): boolean;
    /**
     * `MonitorChanges` abstract method overload.
     * @hidden
     * @private
     */
    abstract monitorChanges(brush: PdfBrush, streamWriter: PdfStreamWriter, getResources: GetResourceEventHandler, saveChanges: boolean, currentColorSpace: PdfColorSpace, check: boolean, iccBased: boolean, indexed: boolean): boolean;
    /**
     * `MonitorChanges` abstract method overload.
     * @hidden
     * @private
     */
    abstract resetChanges(streamWriter: PdfStreamWriter): void;
    clone(): PdfBrush;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/brushes/pdf-brushes.d.ts
/**
 * `PdfBrushes` class provides objects used to fill the interiors of graphical shapes such as rectangles,
 * ellipses, pies, polygons, and paths.
 * @private
 */
export  class PdfBrushes {
    /**
     * Local variable to store the brushes.
     */
    private static sBrushes;
    /**
     * Gets the AliceBlue brush.
     * @public
     */
    static readonly AliceBlue: PdfBrush;
    /**
     * Gets the antique white brush.
     * @public
     */
    static readonly AntiqueWhite: PdfBrush;
    /**
     * Gets the Aqua default brush.
     * @public
     */
    static readonly Aqua: PdfBrush;
    /**
     * Gets the Aquamarine default brush.
     * @public
     */
    static readonly Aquamarine: PdfBrush;
    /**
     * Gets the Azure default brush.
     * @public
     */
    static readonly Azure: PdfBrush;
    /**
     * Gets the Beige default brush.
     * @public
     */
    static readonly Beige: PdfBrush;
    /**
     * Gets the Bisque default brush.
     * @public
     */
    static readonly Bisque: PdfBrush;
    /**
     * Gets the Black default brush.
     * @public
     */
    static readonly Black: PdfBrush;
    /**
     * Gets the BlanchedAlmond default brush.
     * @public
     */
    static readonly BlanchedAlmond: PdfBrush;
    /**
     * Gets the Blue default brush.
     * @public
     */
    static readonly Blue: PdfBrush;
    /**
     * Gets the BlueViolet default brush.
     * @public
     */
    static readonly BlueViolet: PdfBrush;
    /**
     * Gets the Brown default brush.
     * @public
     */
    static readonly Brown: PdfBrush;
    /**
     * Gets the BurlyWood default brush.
     * @public
     */
    static readonly BurlyWood: PdfBrush;
    /**
     * Gets the CadetBlue default brush.
     * @public
     */
    static readonly CadetBlue: PdfBrush;
    /**
     * Gets the Chartreuse default brush.
     * @public
     */
    static readonly Chartreuse: PdfBrush;
    /**
     * Gets the Chocolate default brush.
     * @public
     */
    static readonly Chocolate: PdfBrush;
    /**
     * Gets the Coral default brush.
     * @public
     */
    static readonly Coral: PdfBrush;
    /**
     * Gets the CornflowerBlue default brush.
     * @public
     */
    static readonly CornflowerBlue: PdfBrush;
    /**
     * Gets the Corn silk default brush.
     * @public
     */
    static readonly Cornsilk: PdfBrush;
    /**
     *  Gets the Crimson default brush.
     * @public
     */
    static readonly Crimson: PdfBrush;
    /**
     * Gets the Cyan default brush.
     * @public
     */
    static readonly Cyan: PdfBrush;
    /**
     * Gets the DarkBlue default brush.
     * @public
     */
    static readonly DarkBlue: PdfBrush;
    /**
     * Gets the DarkCyan default brush.
     * @public
     */
    static readonly DarkCyan: PdfBrush;
    /**
     * Gets the DarkGoldenrod default brush.
     * @public
     */
    static readonly DarkGoldenrod: PdfBrush;
    /**
     * Gets the DarkGray default brush.
     * @public
     */
    static readonly DarkGray: PdfBrush;
    /**
     * Gets the DarkGreen default brush.
     * @public
     */
    static readonly DarkGreen: PdfBrush;
    /**
     * Gets the DarkKhaki default brush.
     * @public
     */
    static readonly DarkKhaki: PdfBrush;
    /**
     * Gets the DarkMagenta default brush.
     * @public
     */
    static readonly DarkMagenta: PdfBrush;
    /**
     * Gets the DarkOliveGreen default brush.
     * @public
     */
    static readonly DarkOliveGreen: PdfBrush;
    /**
     * Gets the DarkOrange default brush.
     * @public
     */
    static readonly DarkOrange: PdfBrush;
    /**
     * Gets the DarkOrchid default brush.
     * @public
     */
    static readonly DarkOrchid: PdfBrush;
    /**
     * Gets the DarkRed default brush.
     * @public
     */
    static readonly DarkRed: PdfBrush;
    /**
     * Gets the DarkSalmon default brush.
     * @public
     */
    static readonly DarkSalmon: PdfBrush;
    /**
     * Gets the DarkSeaGreen default brush.
     * @public
     */
    static readonly DarkSeaGreen: PdfBrush;
    /**
     * Gets the DarkSlateBlue default brush.
     * @public
     */
    static readonly DarkSlateBlue: PdfBrush;
    /**
     * Gets the DarkSlateGray default brush.
     * @public
     */
    static readonly DarkSlateGray: PdfBrush;
    /**
     * Gets the DarkTurquoise default brush.
     * @public
     */
    static readonly DarkTurquoise: PdfBrush;
    /**
     * Gets the DarkViolet default brush.
     * @public
     */
    static readonly DarkViolet: PdfBrush;
    /**
     * Gets the DeepPink default brush.
     * @public
     */
    static readonly DeepPink: PdfBrush;
    /**
     * Gets the DeepSkyBlue default brush.
     * @public
     */
    static readonly DeepSkyBlue: PdfBrush;
    /**
     * Gets the DimGray default brush.
     * @public
     */
    static readonly DimGray: PdfBrush;
    /**
     * Gets the DodgerBlue default brush.
     * @public
     */
    static readonly DodgerBlue: PdfBrush;
    /**
     * Gets the Firebrick default brush.
     * @public
     */
    static readonly Firebrick: PdfBrush;
    /**
     * Gets the FloralWhite default brush.
     * @public
     */
    static readonly FloralWhite: PdfBrush;
    /**
     * Gets the ForestGreen default brush.
     * @public
     */
    static readonly ForestGreen: PdfBrush;
    /**
     * Gets the Fuchsia default brush.
     * @public
     */
    static readonly Fuchsia: PdfBrush;
    /**
     * Gets the Gainsborough default brush.
     * @public
     */
    static readonly Gainsboro: PdfBrush;
    /**
     * Gets the GhostWhite default brush.
     * @public
     */
    static readonly GhostWhite: PdfBrush;
    /**
     * Gets the Gold default brush.
     * @public
     */
    static readonly Gold: PdfBrush;
    /**
     * Gets the Goldenrod default brush.
     * @public
     */
    static readonly Goldenrod: PdfBrush;
    /**
     * Gets the Gray default brush.
     * @public
     */
    static readonly Gray: PdfBrush;
    /**
     * Gets the Green default brush.
     * @public
     */
    static readonly Green: PdfBrush;
    /**
     * Gets the GreenYellow default brush.
     * @public
     */
    static readonly GreenYellow: PdfBrush;
    /**
     * Gets the Honeydew default brush.
     * @public
     */
    static readonly Honeydew: PdfBrush;
    /**
     * Gets the HotPink default brush.
     * @public
     */
    static readonly HotPink: PdfBrush;
    /**
     * Gets the IndianRed default brush.
     * @public
     */
    static readonly IndianRed: PdfBrush;
    /**
     * Gets the Indigo default brush.
     * @public
     */
    static readonly Indigo: PdfBrush;
    /**
     * Gets the Ivory default brush.
     * @public
     */
    static readonly Ivory: PdfBrush;
    /**
     * Gets the Khaki default brush.
     * @public
     */
    static readonly Khaki: PdfBrush;
    /**
     * Gets the Lavender default brush.
     * @public
     */
    static readonly Lavender: PdfBrush;
    /**
     * Gets the LavenderBlush default brush.
     * @public
     */
    static readonly LavenderBlush: PdfBrush;
    /**
     * Gets the LawnGreen default brush.
     * @public
     */
    static readonly LawnGreen: PdfBrush;
    /**
     * Gets the LemonChiffon default brush.
     * @public
     */
    static readonly LemonChiffon: PdfBrush;
    /**
     * Gets the LightBlue default brush.
     * @public
     */
    static readonly LightBlue: PdfBrush;
    /**
     * Gets the LightCoral default brush.
     * @public
     */
    static readonly LightCoral: PdfBrush;
    /**
     * Gets the LightCyan default brush.
     * @public
     */
    static readonly LightCyan: PdfBrush;
    /**
     * Gets the LightGoldenrodYellow default brush.
     * @public
     */
    static readonly LightGoldenrodYellow: PdfBrush;
    /**
     * Gets the LightGray default brush.
     * @public
     */
    static readonly LightGray: PdfBrush;
    /**
     * Gets the LightGreen default brush.
     * @public
     */
    static readonly LightGreen: PdfBrush;
    /**
     * Gets the LightPink default brush.
     * @public
     */
    static readonly LightPink: PdfBrush;
    /**
     * Gets the LightSalmon default brush.
     * @public
     */
    static readonly LightSalmon: PdfBrush;
    /**
     * Gets the LightSeaGreen default brush.
     * @public
     */
    static readonly LightSeaGreen: PdfBrush;
    /**
     * Gets the LightSkyBlue default brush.
     * @public
     */
    static readonly LightSkyBlue: PdfBrush;
    /**
     * Gets the LightSlateGray default brush.
     * @public
     */
    static readonly LightSlateGray: PdfBrush;
    /**
     * Gets the LightSteelBlue default brush.
     * @public
     */
    static readonly LightSteelBlue: PdfBrush;
    /**
     * Gets the LightYellow default brush.
     * @public
     */
    static readonly LightYellow: PdfBrush;
    /**
     * Gets the Lime default brush.
     * @public
     */
    static readonly Lime: PdfBrush;
    /**
     * Gets the LimeGreen default brush.
     * @public
     */
    static readonly LimeGreen: PdfBrush;
    /**
     * Gets the Linen default brush.
     * @public
     */
    static readonly Linen: PdfBrush;
    /**
     * Gets the Magenta default brush.
     * @public
     */
    static readonly Magenta: PdfBrush;
    /**
     * Gets the Maroon default brush.
     * @public
     */
    static readonly Maroon: PdfBrush;
    /**
     * Gets the MediumAquamarine default brush.
     * @public
     */
    static readonly MediumAquamarine: PdfBrush;
    /**
     * Gets the MediumBlue default brush.
     * @public
     */
    static readonly MediumBlue: PdfBrush;
    /**
     * Gets the MediumOrchid default brush.
     * @public
     */
    static readonly MediumOrchid: PdfBrush;
    /**
     * Gets the MediumPurple default brush.
     * @public
     */
    static readonly MediumPurple: PdfBrush;
    /**
     * Gets the MediumSeaGreen default brush.
     * @public
     */
    static readonly MediumSeaGreen: PdfBrush;
    /**
     * Gets the MediumSlateBlue default brush.
     * @public
     */
    static readonly MediumSlateBlue: PdfBrush;
    /**
     * Gets the MediumSpringGreen default brush.
     * @public
     */
    static readonly MediumSpringGreen: PdfBrush;
    /**
     * Gets the MediumTurquoise default brush.
     * @public
     */
    static readonly MediumTurquoise: PdfBrush;
    /**
     * Gets the MediumVioletRed default brush.
     * @public
     */
    static readonly MediumVioletRed: PdfBrush;
    /**
     * Gets the MidnightBlue default brush.
     * @public
     */
    static readonly MidnightBlue: PdfBrush;
    /**
     * Gets the MintCream default brush.
     * @public
     */
    static readonly MintCream: PdfBrush;
    /**
     * Gets the MistyRose default brush.
     * @public
     */
    static readonly MistyRose: PdfBrush;
    /**
     * Gets the Moccasin default brush.
     * @public
     */
    static readonly Moccasin: PdfBrush;
    /**
     * Gets the NavajoWhite default brush.
     * @public
     */
    static readonly NavajoWhite: PdfBrush;
    /**
     * Gets the Navy default brush.
     * @public
     */
    static readonly Navy: PdfBrush;
    /**
     * Gets the OldLace default brush.
     * @public
     */
    static readonly OldLace: PdfBrush;
    /**
     * Gets the Olive default brush.
     * @public
     */
    static readonly Olive: PdfBrush;
    /**
     * Gets the OliveDrab default brush.
     * @public
     */
    static readonly OliveDrab: PdfBrush;
    /**
     * Gets the Orange default brush.
     * @public
     */
    static readonly Orange: PdfBrush;
    /**
     * Gets the OrangeRed default brush.
     * @public
     */
    static readonly OrangeRed: PdfBrush;
    /**
     * Gets the Orchid default brush.
     * @public
     */
    static readonly Orchid: PdfBrush;
    /**
     * Gets the PaleGoldenrod default brush.
     * @public
     */
    static readonly PaleGoldenrod: PdfBrush;
    /**
     * Gets the PaleGreen default brush.
     * @public
     */
    static readonly PaleGreen: PdfBrush;
    /**
     * Gets the PaleTurquoise default brush.
     * @public
     */
    static readonly PaleTurquoise: PdfBrush;
    /**
     * Gets the PaleVioletRed default brush.
     * @public
     */
    static readonly PaleVioletRed: PdfBrush;
    /**
     * Gets the PapayaWhip default brush.
     * @public
     */
    static readonly PapayaWhip: PdfBrush;
    /**
     * Gets the PeachPuff default brush.
     * @public
     */
    static readonly PeachPuff: PdfBrush;
    /**
     * Gets the Peru default brush.
     * @public
     */
    static readonly Peru: PdfBrush;
    /**
     * Gets the Pink default brush.
     * @public
     */
    static readonly Pink: PdfBrush;
    /**
     * Gets the Plum default brush.
     * @public
     */
    static readonly Plum: PdfBrush;
    /**
     * Gets the PowderBlue default brush.
     * @public
     */
    static readonly PowderBlue: PdfBrush;
    /**
     * Gets the Purple default brush.
     * @public
     */
    static readonly Purple: PdfBrush;
    /**
     * Gets the Red default brush.
     * @public
     */
    static readonly Red: PdfBrush;
    /**
     * Gets the RosyBrown default brush.
     * @public
     */
    static readonly RosyBrown: PdfBrush;
    /**
     * Gets the RoyalBlue default brush.
     * @public
     */
    static readonly RoyalBlue: PdfBrush;
    /**
     * Gets the SaddleBrown default brush.
     * @public
     */
    static readonly SaddleBrown: PdfBrush;
    /**
     * Gets the Salmon default brush.
     * @public
     */
    static readonly Salmon: PdfBrush;
    /**
     * Gets the SandyBrown default brush.
     * @public
     */
    static readonly SandyBrown: PdfBrush;
    /**
     * Gets the SeaGreen default brush.
     * @public
     */
    static readonly SeaGreen: PdfBrush;
    /**
     * Gets the SeaShell default brush.
     * @public
     */
    static readonly SeaShell: PdfBrush;
    /**
     * Gets the Sienna default brush.
     * @public
     */
    static readonly Sienna: PdfBrush;
    /**
     * Gets the Silver default brush.
     * @public
     */
    static readonly Silver: PdfBrush;
    /**
     * Gets the SkyBlue default brush.
     * @public
     */
    static readonly SkyBlue: PdfBrush;
    /**
     * Gets the SlateBlue default brush.
     * @public
     */
    static readonly SlateBlue: PdfBrush;
    /**
     * Gets the SlateGray default brush.
     * @public
     */
    static readonly SlateGray: PdfBrush;
    /**
     * Gets the Snow default brush.
     * @public
     */
    static readonly Snow: PdfBrush;
    /**
     * Gets the SpringGreen default brush.
     * @public
     */
    static readonly SpringGreen: PdfBrush;
    /**
     * Gets the SteelBlue default brush.
     * @public
     */
    static readonly SteelBlue: PdfBrush;
    /**
     * Gets the Tan default brush.
     * @public
     */
    static readonly Tan: PdfBrush;
    /**
     * Gets the Teal default brush.
     * @public
     */
    static readonly Teal: PdfBrush;
    /**
     * Gets the Thistle default brush.
     * @public
     */
    static readonly Thistle: PdfBrush;
    /**
     * Gets the Tomato default brush.
     * @public
     */
    static readonly Tomato: PdfBrush;
    /**
     * Gets the Transparent default brush.
     * @public
     */
    static readonly Transparent: PdfBrush;
    /**
     * Gets the Turquoise default brush.
     * @public
     */
    static readonly Turquoise: PdfBrush;
    /**
     * Gets the Violet default brush.
     * @public
     */
    static readonly Violet: PdfBrush;
    /**
     * Gets the Wheat default brush.
     * @public
     */
    static readonly Wheat: PdfBrush;
    /**
     * Gets the White default brush.
     * @public
     */
    static readonly White: PdfBrush;
    /**
     * Gets the WhiteSmoke default brush.
     * @public
     */
    static readonly WhiteSmoke: PdfBrush;
    /**
     * Gets the Yellow default brush.
     * @public
     */
    static readonly Yellow: PdfBrush;
    /**
     * Gets the YellowGreen default brush.
     * @public
     */
    static readonly YellowGreen: PdfBrush;
    /**
     * Get the brush.
     */
    private static getBrush;
    /**
     * Get the color value.
     * @param colorName The KnownColor name.
     */
    private static getColorValue;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/brushes/pdf-color-blend.d.ts
/**
 * PdfColorBlend.ts class for EJ2-PDF
 */
/**
 * `PdfColorBlend` Represents the arrays of colors and positions used for
 *  interpolating color blending in a multicolor gradient.
 * @private
 */
export  class PdfColorBlend extends PdfBlend {
    /**
     * Array of colors.
     * @private
     */
    private mcolors;
    /**
     * Local variable to store the brush.
     */
    private mbrush;
    /**
     * Initializes a new instance of the `PdfColorBlend` class.
     * @public
     */
    constructor();
    /**
     * Initializes a new instance of the `PdfColorBlend` class.
     * @public
     */
    constructor(count: number);
    /**
     * Gets or sets the array of colors.
     * @public
     */
    colors: PdfColor[];
    /**
     * Gets the function.
     * @param colorSpace The color space.
     * @public
     */
    getFunction(colorSpace: PdfColorSpace): PdfFunction;
    /**
     * 'cloneColorBlend' Clones this instance.
     * @public
     */
    cloneColorBlend(): PdfColorBlend;
    /**
     * Sets the range.
     * @param colourComponents The colour components.
     * @param maxValue The max value.
     */
    private setRange;
    /**
     * Calculates the color components count according to colour space.
     * @param colorSpace The color space.
     */
    private getColorComponentsCount;
    /**
     * Gets samples values for specified colour space.
     * @param colorSpace The color space.
     * @param sampleCount The sample count.
     * @param maxComponentValue The max component value.
     * @param step The step.
     */
    private getSamplesValues;
    /**
     * Gets the grayscale samples.
     * @param sampleCount The sample count.
     * @param maxComponentValue The max component value.
     * @param step The step.
     */
    private getGrayscaleSamples;
    /**
     * Gets the RGB samples.
     * @param sampleCount The sample count.
     * @param maxComponentValue The max component value.
     * @param step The step.
     */
    private getRgbSamples;
    /**
     * Gets the CMYK samples.
     * @param sampleCount The sample count.
     * @param maxComponentValue The max component value.
     * @param step The step.
     */
    private getCmykSamples;
    /**
     * Calculates the color that should be at the specified index.
     * @param index The index.
     * @param step The step.
     * @param colorSpace The color space.
     */
    private getNextColor;
    /**
     * Gets the indices.
     * @param position The position.
     * @param indexLow The index low.
     * @param indexHi The index hi.
     */
    private getIndices;
    /**
     * Calculates the max component value.
     * @param colorSpace The color space.
     */
    private getMaxComponentValue;
    /**
     * Gets an intervals array from the positions array.
     * @param positions The positions array.
     */
    private getIntervals;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/brushes/pdf-gradient-brush.d.ts
/**
 * PdfGradientBrush.ts class for EJ2-PDF
 */
/**
 * `PdfGradientBrush` class provides objects used to fill the interiors of graphical shapes such as rectangles,
 * ellipses, pies, polygons, and paths.
 * @private
 */
export  abstract class PdfGradientBrush extends PdfBrush implements IPdfWrapper {
    /**
     * Local variable to store the background color.
     * @private
     */
    private mbackground;
    /**
     * Local variable to store the stroking color.
     * @private
     */
    private mbStroking;
    /**
     * Local variable to store the dictionary.
     * @private
     */
    private mpatternDictionary;
    /**
     * Local variable to store the shading.
     * @private
     */
    private mshading;
    /**
     * Local variable to store the Transformation Matrix.
     * @private
     */
    private mmatrix;
    /**
     * Local variable to store the colorSpace.
     * @private
     */
    private mcolorSpace;
    /**
     * Local variable to store the function.
     * @private
     */
    private mfunction;
    /**
     * Local variable to store the DictionaryProperties.
     * @private
     */
    private dictionaryProperties;
    /**
     * Initializes a new instance of the `PdfGradientBrush` class.
     * @public
     */
    constructor(shading: PdfDictionary);
    /**
     * Gets or sets the background color of the brush.
     * @public
     */
    background: PdfColor;
    /**
     * Gets or sets a value indicating whether use anti aliasing algorithm.
     * @public
     */
    antiAlias: boolean;
    /**
     * Gets or sets the function of the brush.
     * @protected
     */
    protected function: PdfFunction;
    /**
     * Gets or sets the boundary box of the brush.
     * @protected
     */
    protected bBox: PdfArray;
    /**
     * Gets or sets the color space of the brush.
     * @public
     */
    colorSpace: PdfColorSpace;
    /**
     * Gets or sets a value indicating whether this PdfGradientBrush is stroking.
     * @public
     */
    stroking: boolean;
    /**
     * Gets the pattern dictionary.
     * @protected
     */
    protected readonly patternDictionary: PdfDictionary;
    /**
     * Gets or sets the shading dictionary.
     * @protected
     */
    protected shading: PdfDictionary;
    /**
     * Gets or sets the transformation matrix.
     * @public
     */
    matrix: PdfTransformationMatrix;
    /**
     * Monitors the changes of the brush and modify PDF state respectfully.
     * @param brush The brush.
     * @param streamWriter The stream writer.
     * @param getResources The get resources delegate.
     * @param saveChanges if set to true the changes should be saved anyway.
     * @param currentColorSpace The current color space.
     */
    monitorChanges(brush: PdfBrush, streamWriter: PdfStreamWriter, getResources: GetResourceEventHandler, saveChanges: boolean, currentColorSpace: PdfColorSpace): boolean;
    /**
     * Resets the changes, which were made by the brush.
     * In other words resets the state to the initial one.
     * @param streamWriter The stream writer.
     */
    resetChanges(streamWriter: PdfStreamWriter): void;
    /**
     * Converts colorspace enum to a PDF name.
     * @param colorSpace The color space enum value.
     */
    private colorSpaceToDeviceName;
    /**
     * Resets the pattern dictionary.
     * @param dictionary A new pattern dictionary.
     */
    protected resetPatternDictionary(dictionary: PdfDictionary): void;
    /**
     * Resets the function.
     */
    abstract resetFunction(): void;
    /**
     * Clones the anti aliasing value.
     * @param brush The brush.
     */
    protected cloneAntiAliasingValue(brush: PdfGradientBrush): void;
    /**
     * Clones the background value.
     * @param brush The brush.
     */
    protected cloneBackgroundValue(brush: PdfGradientBrush): void;
    /**
     * Gets the `element`.
     * @private
     */
    readonly element: IPdfPrimitive;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/brushes/pdf-linear-gradient-brush.d.ts
/**
 * `PdfLinearGradientBrush` Implements linear gradient brush by using PDF axial shading pattern.
 * @private
 */
export  class PdfLinearGradientBrush extends PdfGradientBrush {
    /**
     * Local variable to store the point start.
     * @private
     */
    private mPointStart;
    /**
     * Local variable to store the point end.
     */
    private mPointEnd;
    /**
     * Local variable to store the colours.
     */
    private mColours;
    /**
     * Local variable to store the colour Blend.
     */
    private mColourBlend;
    /**
     * Local variable to store the blend.
     * @private
     */
    private mBlend;
    /**
     * Local variable to store the boundaries.
     * @private
     */
    private mBoundaries;
    /**
     * Local variable to store the dictionary properties.
     * @private
     */
    private mDictionaryProperties;
    /**
     * Initializes a new instance of the `PdfLinearGradientBrush` class.
     * @public
     */
    constructor(point1: PointF, point2: PointF, color1: PdfColor, color2: PdfColor);
    /**
     * Initializes a new instance of the `PdfLinearGradientBrush` class.
     * @public
     */
    constructor(rect: Rectangle, color1: PdfColor, color2: PdfColor, mode: PdfLinearGradientMode);
    /**
     * Initializes a new instance of the `PdfLinearGradientBrush` class.
     * @public
     */
    constructor(rect: Rectangle, color1: PdfColor, color2: PdfColor, angle: number);
    /**
     * Initializes a new instance of the `PdfLinearGradientBrush` class.
     * @param color1 The starting color of the gradient.
     * @param color2 The end color of the gradient.
     */
    private initialize;
    /**
     * Gets or sets a PdfBlend that specifies positions
     * and factors that define a custom falloff for the gradient.
     * @public
     */
    blend: PdfBlend;
    /**
     * Gets or sets a ColorBlend that defines a multicolor linear gradient.
     * @public
     */
    interpolationColors: PdfColorBlend;
    /**
     * Gets or sets the starting and ending colors of the gradient.
     * @public
     */
    linearColors: PdfColor[];
    /**
     * Gets a rectangular region that defines the boundaries of the gradient.
     * @public
     */
    readonly rectangle: Rectangle;
    /**
     * Gets or sets the value indicating whether the gradient should extend starting and ending points.
     * @public
     */
    extend: PdfExtend;
    /**
     * Adds two points to each other.
     * @param point1 The point1.
     * @param point2 The point2.
     */
    private addPoints;
    /**
     * Subs the second point from the first one.
     * @param point1 The point1.
     * @param point2 The point2.
     */
    private subPoints;
    /**
     * Makes scalar multiplication of two points.
     * @param point1 The point1.
     * @param point2 The point2.
     */
    private mulPoints;
    /**
     * Multiplies the point by the value specified.
     * @param point The point1.
     * @param value The value.
     */
    private mulPoint;
    /**
     * Choose the point according to the angle.
     * @param angle The angle.
     */
    private choosePoint;
    /**
     * Sets the start and end points.
     * @param point1 The point1.
     * @param point2 The point2.
     */
    private setPoints;
    /**
     * Updates y co-ordinate.
     * @param y Y co-ordinate..
     */
    private updateY;
    /**
     * Initializes the shading dictionary.
     * @private
     */
    private initShading;
    /**
     * Creates a new copy of a brush.
     * @public
     */
    clone(): PdfBrush;
    /**
     * Resets the function.
     * @public
     */
    resetFunction(): void;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/brushes/pdf-radial-gradient-brush.d.ts
/**
 * `PdfRadialGradientBrush` Represent radial gradient brush.
 * @private
 */
export  class PdfRadialGradientBrush extends PdfGradientBrush {
    /**
     * Local varaible to store the point start.
     * @private
     */
    private mPointStart;
    /**
     * Local varaible to store the radius start.
     * @private
     */
    private mRadiusStart;
    /**
     * Local varaible to store the point End.
     * @private
     */
    private mPointEnd;
    /**
     * Local varaible to store the radius End.
     * @private
     */
    private mRadiusEnd;
    /**
     * Local varaible to store the colours.
     * @private
     */
    private mColour;
    /**
     * Local varaible to store the colour blend.
     * @private
     */
    private mColourBlends;
    /**
     * Local varaible to store the blend.
     * @private
     */
    private mBlend;
    /**
     * Local varaible to store the boundaries.
     * @private
     */
    private mBoundaries;
    /**
     * Local varaible to store the dictionary properties.
     */
    private mDictionaryProperties;
    /**
     * Initializes a new instance of the `PdfRadialGradientBrush` class.
     * @public
     */
    constructor(centerStart: PointF, radiusStart: number, centerEnd: PointF, radiusEnd: number, colorStart: PdfColor, colorEnd: PdfColor);
    /**
     * Initializes a new instance of the `PdfRadialGradientBrush` class.
     * @param color1 The color1.
     * @param color2 The color2.
     */
    private initialize;
    /**
     * Gets or sets a PdfBlend that specifies positions and factors that define a custom falloff for the gradient.
     * @public
     */
    blend: PdfBlend;
    /**
     * Gets or sets a ColorBlend that defines a multicolor radial gradient.
     * @public
     */
    interpolationColors: PdfColorBlend;
    /**
     * Gets or sets the starting and ending colors of the radial gradient.
     * @public
     */
    linearColors: PdfColor[];
    /**
     * Gets or sets the rectangle.
     * @public
     */
    rectangle: RectangleF;
    /**
     * Gets or sets the value indicating whether the gradient
     *  should extend starting and ending points.
     * @public
     */
    extend: PdfExtend;
    /**
     * Sets the points.
     * @param pointStart The point start.
     * @param pointEnd The point end.
     * @param radiusStart The radius start.
     * @param radiusEnd The radius end.
     */
    private setPoints;
    /**
     * Update y co-ordinate.
     * @param y Y co-ordinate.
     */
    private updateY;
    /**
     * Initializess the shading dictionary.
     * @private
     */
    private initShading;
    /**
     * Creates a new copy of a brush.
     * @public
     */
    clone(): PdfBrush;
    /**
     * Resets the function.
     * @public
     */
    resetFunction(): void;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/brushes/pdf-solid-brush.d.ts
/**
 * Represents a brush that fills any object with a solid color.
 * ```typescript
 * // create a new PDF document
 * let document$ : PdfDocument = new PdfDocument();
 * // add a pages to the document
 * let page1$ : PdfPage = document.pages.add();
 * // set font
 * let font$ : PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);
 * // set brush
 * let blackBrush$ : PdfSolidBrush = new PdfSolidBrush(new PdfColor(0, 0, 0));
 * // draw the text
 * page1.graphics.drawString('Hello World', font, blackBrush, new PointF(10, 10));
 * // save the document
 * document.save('output.pdf');
 * // destroy the document
 * document.destroy();
 * ```
 */
export  class PdfSolidBrush extends PdfBrush {
    /**
     * The `colour` of the brush.
     * @private
     */
    pdfColor: PdfColor;
    /**
     * Indicates if the brush is `immutable`.
     * @private
     */
    private bImmutable;
    /**
     * The `color space` of the brush.
     * @private
     */
    private colorSpace;
    /**
     * Initializes a new instance of the `PdfSolidBrush` class.
     * ```typescript
     * // create a new PDF document
     * let document$ : PdfDocument = new PdfDocument();
     * // add a pages to the document
     * let page1$ : PdfPage = document.pages.add();
     * // set font
     * let font$ : PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);
     * // set brush
     * let blackBrush$ : PdfSolidBrush = new PdfSolidBrush(new PdfColor(0, 0, 0));
     * // draw the text
     * page1.graphics.drawString('Hello World', font, blackBrush, new PointF(10, 10));
     * // save the document
     * document.save('output.pdf');
     * // destroy the document
     * document.destroy();
     * ```
     * @param color color of the brush
     */
    constructor(color: PdfColor);
    /**
     * Gets or sets the `color` of the brush.
     * @private
     */
    color: PdfColor;
    /**
     * `Monitors` the changes of the brush and modify PDF state respectively.
     * @private
     */
    monitorChanges(brush: PdfBrush, streamWriter: PdfStreamWriter, getResources: GetResourceEventHandler, saveChanges: boolean, currentColorSpace: PdfColorSpace): boolean;
    /**
     * `Resets` the changes, which were made by the brush.
     * @private
     */
    resetChanges(streamWriter: PdfStreamWriter): void;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/brushes/pdf-tiling-brush.d.ts
/**
 * PdfTilingBrush.ts class for EJ2-PDF
 */
/**
 * `PdfTilingBrush` Implements a colored tiling brush.
 */
export  class PdfTilingBrush extends PdfBrush implements IPdfWrapper {
    /**
     * Local variable to store rectanble box.
     * @private
     */
    private mBox;
    /**
     * Local variable to store graphics.
     * @private
     */
    private mGraphics;
    /**
     * Local variable to store brush Stream.
     * @private
     */
    private brushStream;
    /**
     * Local variable to store brush Stream.
     * @private
     */
    private tempBrushStream;
    /**
     * Local variable to store resources.
     * @private
     */
    private mResources;
    /**
     * Local variable to store Stroking.
     * @private
     */
    private mStroking;
    /**
     * Local variable to store the page.
     * @private
     */
    private mPage;
    /**
     * Local variable to store the tile start location.
     * @private
     */
    private mLocation;
    /**
     * Local variable to store the Matrix.
     * @private
     */
    private mTransformationMatrix;
    /**
     * Local variable to store the dictionary properties.
     * @private
     */
    private mDictionaryProperties;
    /**
     * Initializes a new instance of the `PdfTilingBrush` class.
     * @public
     */
    constructor(rectangle: Rectangle);
    /**
     * Initializes a new instance of the `PdfTilingBrush` class.
     * @public
     */
    constructor(size: SizeF);
    /**
     * Initializes a new instance of the `PdfTilingBrush` class.
     * @public
     */
    constructor(size: SizeF, page: PdfPage);
    /**
     * Initializes a new instance of the `PdfTilingBrush` class.
     * @public
     */
    constructor(rectangle: Rectangle, page: PdfPage);
    /**
     * Initializes a new instance of the `PdfTilingBrush` class.
     * @private
     * @param rectangle The size of the smallest brush cell.
     * @param page The Current Page Object.
     * @param location The Tile start location.
     * @param matrix The matrix.
     */
    private initialize;
    /**
     * Location representing the start position of the tiles.
     * @public
     */
    location: PointF;
    /**
     * Sets the obligatory fields.
     * @private
     */
    private setObligatoryFields;
    /**
     * Sets the BBox coordinates.
     * @private
     */
    private setBox;
    /**
     * Gets the boundary box of the smallest brush cell.
     * @public
     */
    readonly rectangle: Rectangle;
    /**
     * Gets the size of the smallest brush cell.
     * @public
     */
    readonly size: SizeF;
    /**
     * Gets Graphics context of the brush.
     */
    readonly graphics: PdfGraphics;
    /**
     * Gets the resources and modifies the template dictionary.
     * @public
     */
    getResources(): PdfResources;
    /**
     * Gets or sets a value indicating whether this PdfTilingBrush
     * is used for stroking operations.
     */
    stroking: boolean;
    /**
     * Creates a new copy of a brush.
     * @public
     */
    clone(): PdfBrush;
    /**
     * Monitors the changes of the brush and modify PDF state respectfully.
     * @param brush The brush
     * @param streamWriter The stream writer
     * @param getResources The get resources delegate.
     * @param saveChanges if set to true the changes should be saved anyway.
     * @param currentColorSpace The current color space.
     */
    monitorChanges(brush: PdfBrush, streamWriter: PdfStreamWriter, getResources: GetResourceEventHandler, saveChanges: boolean, currentColorSpace: PdfColorSpace): boolean;
    /**
     * Resets the changes, which were made by the brush.
     * In other words resets the state to the initial one.
     * @param streamWriter The stream writer.
     */
    resetChanges(streamWriter: PdfStreamWriter): void;
    /**
     * Gets the `element`.
     * @public
     */
    readonly element: IPdfPrimitive;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/constants.d.ts
/**
 * `constants.ts` class for EJ2-PDF
 * @private
 */
export  class ProcedureSets {
    /**
     * Specifies the `PDF` procedure set.
     * @private
     */
    readonly pdf: string;
    /**
     * Specifies the `Text` procedure set.
     * @private
     */
    readonly text: string;
    /**
     * Specifies the `ImageB` procedure set.
     * @private
     */
    readonly imageB: string;
    /**
     * Specifies the `ImageC` procedure set.
     * @private
     */
    readonly imageC: string;
    /**
     * Specifies the `ImageI` procedure set.
     * @private
     */
    readonly imageI: string;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/enum.d.ts
/**
 * public Enum for `PdfHorizontalAlignment`.
 * @private
 */
export  enum PdfHorizontalAlignment {
    /**
     * Specifies the type of `Left`.
     * @private
     */
    Left = 0,
    /**
     * Specifies the type of `Center`.
     * @private
     */
    Center = 1,
    /**
     * Specifies the type of `Right`.
     * @private
     */
    Right = 2
}
/**
 * public Enum for `PdfVerticalAlignment`.
 * @private
 */
export  enum PdfVerticalAlignment {
    /**
     * Specifies the type of `Top`.
     * @private
     */
    Top = 0,
    /**
     * Specifies the type of `Middle`.
     * @private
     */
    Middle = 1,
    /**
     * Specifies the type of `Bottom`.
     * @private
     */
    Bottom = 2
}
/**
 * public Enum for `public`.
 * @private
 */
export  enum PdfTextAlignment {
    /**
     * Specifies the type of `Left`.
     * @private
     */
    Left = 0,
    /**
     * Specifies the type of `Center`.
     * @private
     */
    Center = 1,
    /**
     * Specifies the type of `Right`.
     * @private
     */
    Right = 2,
    /**
     * Specifies the type of `Justify`.
     * @private
     */
    Justify = 3
}
/**
 * public Enum for `TextRenderingMode`.
 * @private
 */
export  enum TextRenderingMode {
    /**
     * Specifies the type of `Fill`.
     * @private
     */
    Fill = 0,
    /**
     * Specifies the type of `Stroke`.
     * @private
     */
    Stroke = 1,
    /**
     * Specifies the type of `FillStroke`.
     * @private
     */
    FillStroke = 2,
    /**
     * Specifies the type of `None`.
     * @private
     */
    None = 3,
    /**
     * Specifies the type of `ClipFlag`.
     * @private
     */
    ClipFlag = 4,
    /**
     * Specifies the type of `ClipFill`.
     * @private
     */
    ClipFill = 4,
    /**
     * Specifies the type of `ClipStroke`.
     * @private
     */
    ClipStroke = 5,
    /**
     * Specifies the type of `ClipFillStroke`.
     * @private
     */
    ClipFillStroke = 6,
    /**
     * Specifies the type of `Clip`.
     * @private
     */
    Clip = 7
}
/**
 * public Enum for `PdfLineJoin`.
 * @private
 */
export  enum PdfLineJoin {
    /**
     * Specifies the type of `Miter`.
     * @private
     */
    Miter = 0,
    /**
     * Specifies the type of `Round`.
     * @private
     */
    Round = 1,
    /**
     * Specifies the type of `Bevel`.
     * @private
     */
    Bevel = 2
}
/**
 * public Enum for `PdfLineCap`.
 * @private
 */
export  enum PdfLineCap {
    /**
     * Specifies the type of `Flat`.
     * @private
     */
    Flat = 0,
    /**
     * Specifies the type of `Round`.
     * @private
     */
    Round = 1,
    /**
     * Specifies the type of `Square`.
     * @private
     */
    Square = 2
}
/**
 * public Enum for `PdfDashStyle`.
 * @private
 */
export  enum PdfDashStyle {
    /**
     * Specifies the type of `Solid`.
     * @private
     */
    Solid = 0,
    /**
     * Specifies the type of `Dash`.
     * @private
     */
    Dash = 1,
    /**
     * Specifies the type of `Dot`.
     * @private
     */
    Dot = 2,
    /**
     * Specifies the type of `DashDot`.
     * @private
     */
    DashDot = 3,
    /**
     * Specifies the type of `DashDotDot`.
     * @private
     */
    DashDotDot = 4,
    /**
     * Specifies the type of `Custom`.
     * @private
     */
    Custom = 5
}
/**
 * public Enum for `PdfFillMode`.
 * @private
 */
export  enum PdfFillMode {
    /**
     * Specifies the type of `Winding`.
     * @private
     */
    Winding = 0,
    /**
     * Specifies the type of `Alternate`.
     * @private
     */
    Alternate = 1
}
/**
 * public Enum for `PdfColorSpace`.
 * @private
 */
export  enum PdfColorSpace {
    /**
     * Specifies the type of `Rgb`.
     * @private
     */
    Rgb = 0,
    /**
     * Specifies the type of `Cmyk`.
     * @private
     */
    Cmyk = 1,
    /**
     * Specifies the type of `GrayScale`.
     * @private
     */
    GrayScale = 2,
    /**
     * Specifies the type of `Indexed`.
     * @private
     */
    Indexed = 3
}
/**
 * public Enum for `PdfBlendMode`.
 * @private
 */
export  enum PdfBlendMode {
    /**
     * Specifies the type of `Normal`.
     * @private
     */
    Normal = 0,
    /**
     * Specifies the type of `Multiply`.
     * @private
     */
    Multiply = 1,
    /**
     * Specifies the type of `Screen`.
     * @private
     */
    Screen = 2,
    /**
     * Specifies the type of `Overlay`.
     * @private
     */
    Overlay = 3,
    /**
     * Specifies the type of `Darken`.
     * @private
     */
    Darken = 4,
    /**
     * Specifies the type of `Lighten`.
     * @private
     */
    Lighten = 5,
    /**
     * Specifies the type of `ColorDodge`.
     * @private
     */
    ColorDodge = 6,
    /**
     * Specifies the type of `ColorBurn`.
     * @private
     */
    ColorBurn = 7,
    /**
     * Specifies the type of `HardLight`.
     * @private
     */
    HardLight = 8,
    /**
     * Specifies the type of `SoftLight`.
     * @private
     */
    SoftLight = 9,
    /**
     * Specifies the type of `Difference`.
     * @private
     */
    Difference = 10,
    /**
     * Specifies the type of `Exclusion`.
     * @private
     */
    Exclusion = 11,
    /**
     * Specifies the type of `Hue`.
     * @private
     */
    Hue = 12,
    /**
     * Specifies the type of `Saturation`.
     * @private
     */
    Saturation = 13,
    /**
     * Specifies the type of `Color`.
     * @private
     */
    Color = 14,
    /**
     * Specifies the type of `Luminosity`.
     * @private
     */
    Luminosity = 15
}
/**
 * public Enum for `PdfGraphicsUnit`.
 * @private
 */
export  enum PdfGraphicsUnit {
    /**
     * Specifies the type of `Centimeter`.
     * @private
     */
    Centimeter = 0,
    /**
     * Specifies the type of `Pica`.
     * @private
     */
    Pica = 1,
    /**
     * Specifies the type of `Pixel`.
     * @private
     */
    Pixel = 2,
    /**
     * Specifies the type of `Point`.
     * @private
     */
    Point = 3,
    /**
     * Specifies the type of `Inch`.
     * @private
     */
    Inch = 4,
    /**
     * Specifies the type of `Document`.
     * @private
     */
    Document = 5,
    /**
     * Specifies the type of `Millimeter`.
     * @private
     */
    Millimeter = 6
}
/**
 * public Enum for `PdfGridImagePosition`.
 * @private
 */
export  enum PdfGridImagePosition {
    /**
     * Specifies the type of `Fit`.
     * @private
     */
    Fit = 0,
    /**
     * Specifies the type of `Center`.
     * @private
     */
    Center = 1,
    /**
     * Specifies the type of `Stretch`.
     * @private
     */
    Stretch = 2,
    /**
     * Specifies the type of `Tile`.
     * @private
     */
    Tile = 3
}
/**
 * public Enum for `the text rendering direction`.
 * @private
 */
export  enum PdfTextDirection {
    /**
     * Specifies the type of `None`.
     * @private
     */
    None = 0,
    /**
     * Specifies the type of `LeftToRight`.
     * @private
     */
    LeftToRight = 1,
    /**
     * Specifies the type of `RightToLeft`.
     * @private
     */
    RightToLeft = 2
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/arc.d.ts
/**
 * arc.ts class for EJ2-PDF
 */
/**
 * `PdfArc` class Implements graphics arc, which is a sequence of primitive graphics elements.
 * @private
 */
export  class PdfArc extends PdfEllipsePart {
    /**
     * Initializes a new instance of the `PdfArc` class.
     * @public
     */
    constructor();
    /**
     * Initializes a new instance of the `PdfArc` class.
     * @public
     */
    constructor(width: number, height: number, startAngle: number, sweepAngle: number);
    /**
     * Initializes a new instance of the `PdfArc` class.
     * @public
     */
    constructor(pen: PdfPen, rectangle: RectangleF, startAngle: number, sweepAngle: number);
    /**
     * Initializes a new instance of the `PdfArc` class.
     * @public
     */
    constructor(pen: PdfPen, x: number, y: number, width: number, height: number, startAngle: number, sweepAngle: number);
    /**
     * Initializes a new instance of the `PdfArc` class.
     * @public
     */
    constructor(pen: PdfPen, width: number, height: number, startAngle: number, sweepAngle: number);
    /**
     * Initializes a new instance of the `PdfArc` class.
     * @public
     */
    constructor(x: number, y: number, width: number, height: number, startAngle: number, sweepAngle: number);
    /**
     * Initializes a new instance of the `PdfArc` class.
     * @public
     */
    constructor(rectangle: RectangleF, startAngle: number, sweepAngle: number);
    /**
     * `draw` the element on the page with the specified page and 'PointF' class
     * @param page Current page where the element should be drawn.
     * @param location Start location on the page.
     */
    draw(page: PdfPage, location: PointF): PdfLayoutResult;
    /**
     * `draw` the element on the page with the specified page and pair of coordinates
     * @private
     */
    draw(page: PdfPage, x: number, y: number): PdfLayoutResult;
    /**
     * `draw` the element on the page with the specified page and 'RectangleF' class
     * @private
     */
    draw(page: PdfPage, layoutRectangle: RectangleF): PdfLayoutResult;
    /**
     * `draw` the element on the page with the specified page, 'PointF' class and layout format
     * @private
     */
    draw(page: PdfPage, location: PointF, format: PdfLayoutFormat): PdfLayoutResult;
    /**
     * `draw` the element on the page with the specified page, pair of coordinates and layout format
     * @private
     */
    draw(page: PdfPage, x: number, y: number, format: PdfLayoutFormat): PdfLayoutResult;
    /**
     * `draw` the element on the page.
     * @private
     */
    draw(page: PdfPage, layoutRect: RectangleF, format: PdfLayoutFormat): PdfLayoutResult;
    /**
     * `drawInternal` Draws an element on the Graphics.
     * @param graphics Graphics context where the element should be printed.
     *
     */
    drawInternal(graphics: PdfGraphics): void;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/base/draw-element.d.ts
/**
 * PdfDrawElement.ts class for EJ2-PDF
 */
/**
 * Represents a base class for all page graphics elements.
 */
export  abstract class PdfDrawElement extends PdfShapeElement {
    /**
     * Internal variable to store pen.
     * @private
     */
    private mpen;
    /**
     * Initializes a new instance of the `PdfDrawElement` class.
     * @protected
     */
    protected constructor();
    /**
     * Initializes a new instance of the `PdfDrawElement` class.
     * @protected
     */
    protected constructor(pen: PdfPen);
    /**
     * Gets or sets a pen that will be used to draw the element.
     * @public
     */
    pen: PdfPen;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/base/element-layouter.d.ts
/**
 * ElementLayouter.ts class for EJ2-PDF
 */
/**
 * Base class for `elements lay outing`.
 * @private
 */
export  abstract class ElementLayouter {
    /**
     * Layout the `element`.
     * @private
     */
    private layoutElement;
    /**
     * Initializes a new instance of the `ElementLayouter` class.
     * @private
     */
    constructor(element: PdfLayoutElement);
    /**
     * Gets the `element`.
     * @private
     */
    readonly elements: PdfLayoutElement;
    /**
     * Gets the `element`.
     * @private
     */
    getElement(): PdfLayoutElement;
    /**
     * `Layouts` the element.
     * @private
     */
    layout(param: PdfLayoutParams): PdfLayoutResult;
    Layouter(param: PdfLayoutParams): PdfLayoutResult;
    /**
     * Returns the `next page`.
     * @private
     */
    getNextPage(currentPage: PdfPage): PdfPage;
    protected getPaginateBounds(param: PdfLayoutParams): RectangleF;
    /**
     * `Layouts` the element.
     * @private
     */
    protected abstract layoutInternal(param: PdfLayoutParams): PdfLayoutResult;
}
export  class PdfLayoutFormat {
    /**
     * Indicates whether `PaginateBounds` were set and should be used or not.
     * @private
     */
    private boundsSet;
    /**
     * `Bounds` for the paginating.
     * @private
     */
    private layoutPaginateBounds;
    /**
     * `Layout` type of the element.
     * @private
     */
    private layoutType;
    /**
     * `Break` type of the element.
     * @private
     */
    private breakType;
    /**
     * Gets or sets `layout` type of the element.
     * @private
     */
    layout: PdfLayoutType;
    /**
     * Gets or sets `break` type of the element.
     * @private
     */
    break: PdfLayoutBreakType;
    /**
     * Gets or sets the `bounds` on the next page.
     * @private
     */
    paginateBounds: RectangleF;
    /**
     * Gets a value indicating whether [`use paginate bounds`].
     * @private
     */
    readonly usePaginateBounds: boolean;
    /**
     * Initializes a new instance of the `PdfLayoutFormat` class.
     * @private
     */
    constructor();
    /**
     * Initializes a new instance of the `PdfLayoutFormat` class.
     * @private
     */
    constructor(baseFormat: PdfLayoutFormat);
}
export  class PdfLayoutParams {
    /**
     * The last `page` where the element was drawn.
     * @private
     */
    private pdfPage;
    /**
     * The `bounds` of the element on the last page where it was drawn.
     * @private
     */
    private layoutBounds;
    /**
     * Layout settings as `format`.
     * @private
     */
    private layoutFormat;
    /**
     * Gets or sets the layout `page` for the element.
     * @private
     */
    page: PdfPage;
    /**
     * Gets or sets layout `bounds` for the element.
     * @private
     */
    bounds: RectangleF;
    /**
     * Gets or sets `layout settings` for the element.
     * @private
     */
    format: PdfLayoutFormat;
}
export  class PdfLayoutResult {
    /**
     * The last `page` where the element was drawn.
     * @private
     */
    private pdfPage;
    /**
     * The `bounds` of the element on the last page where it was drawn.
     * @private
     */
    private layoutBounds;
    /**
     * Gets the last `page` where the element was drawn.
     * @private
     */
    readonly page: PdfPage;
    /**
     * Gets the `bounds` of the element on the last page where it was drawn.
     * @private
     */
    readonly bounds: RectangleF;
    /**
     * Initializes the new instance of `PdfLayoutResult` class.
     * @private
     */
    constructor(page: PdfPage, bounds: RectangleF);
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/base/fill-element.d.ts
/**
 * PdfFillElement.ts class for EJ2-PDF
 */
/**
 * Represents a base class for all page graphics elements.
 */
export  abstract class PdfFillElement extends PdfDrawElement {
    /**
     * Internal variable to store pen.
     * @private
     */
    private mbrush;
    /**
     * Initializes a new instance of the `PdfFillElement` class.
     * @protected
     */
    protected constructor();
    /**
     * Initializes a new instance of the `PdfFillElement` class.
     * @protected
     */
    protected constructor(pen: PdfPen);
    /**
     * Initializes a new instance of the `PdfFillElement` class.
     * @protected
     */
    protected constructor(brush: PdfBrush);
    /**
     * Initializes a new instance of the `PdfFillElement` class.
     * @protected
     */
    protected constructor(pen: PdfPen, brush: PdfBrush);
    /**
     * Gets or sets a brush of the element.
     * @public
     */
    brush: PdfBrush;
    /**
     * Gets the pen. If both pen and brush are not explicitly defined, default pen will be used.
     * @protected
     */
    protected obtainPen(): PdfPen;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/base/graphics-element.d.ts
/**
 * PdfGraphicsElement.ts class for EJ2-PDF
 */
/**
 * Represents a base class for all page graphics elements.
 */
export  abstract class PdfGraphicsElement {
    protected constructor();
    /**
     * `Draws` the page number field.
     * @public
     */
    drawHelper(graphics: PdfGraphics, x: number, y: number): void;
    protected abstract drawInternal(graphics: PdfGraphics): void;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/base/index.d.ts
/**
 * Figures Base classes
 * @hidden
 */
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/base/pdf-shape-element.d.ts
/**
 * PdfShapeElement.ts class for EJ2-PDF
 * @private
 */
/**
 * Base class for the main shapes.
 * @private
 */
export  abstract class PdfShapeElement extends PdfLayoutElement {
    /**
     * Gets the bounds.
     * @private
     */
    getBounds(): RectangleF;
    /**
     * `drawGraphicsHelper` the graphics.
     * @public
     */
    drawGraphicsHelper(graphics: PdfGraphics, location: PointF): void;
    /**
     * `drawShapeHelper` the graphics.
     * @private
     */
    private drawShapeHelper;
    protected abstract drawInternal(graphics: PdfGraphics): void;
    /**
     * Returns a rectangle that bounds this element.
     * @private
     */
    protected abstract getBoundsInternal(): RectangleF;
    /**
     * Layouts the element.
     * @private
     */
    protected layout(param: PdfLayoutParams): PdfLayoutResult;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/base/shape-layouter.d.ts
/**
 * ShapeLayouter.ts class for EJ2-PDF
 * @private
 */
/**
 * ShapeLayouter class.
 * @private
 */
export  class ShapeLayouter extends ElementLayouter {
    /**
     * Initializes the object to store `older form elements` of previous page.
     * @default 0
     * @private
     */
    olderPdfForm: number;
    /**
     * Initializes the offset `index`.
     * * @default 0
     * @private
     */
    private static index;
    /**
     * Initializes the `difference in page height`.
     * * @default 0
     * @private
     */
    private static splitDiff;
    /**
     * Determines the `end of Vertical offset` values.
     * * @default false
     * @private
     */
    private static last;
    /**
     * Determines the document link annotation `border width`.
     * * @default 0
     * @private
     */
    private static readonly borderWidth;
    /**
     * Checks weather `is pdf grid` or not.
     * @private
     */
    isPdfGrid: boolean;
    /**
     * The `bounds` of the shape element.
     * * @default new RectangleF()
     * @private
     */
    shapeBounds: RectangleF;
    /**
     * The `bottom cell padding`.
     * @private
     */
    bottomCellPadding: number;
    /**
     * Total Page size of the web page.
     * * @default 0
     * @private
     */
    private totalPageSize;
    /**
     * Initializes a new instance of the `ShapeLayouter` class.
     * @private
     */
    constructor(element: PdfShapeElement);
    /**
     * Gets shape element.
     * @private
     */
    readonly element: PdfShapeElement;
    /**
     * Layouts the element.
     * @private
     */
    protected layoutInternal(param: PdfLayoutParams): PdfLayoutResult;
    /**
     * Raises BeforePageLayout event.
     * @private
     */
    private raiseBeforePageLayout;
    /**
     * Raises PageLayout event if needed.
     * @private
     */
    private raiseEndPageLayout;
    /**
     * Creates layout result.
     * @private
     */
    private getLayoutResult;
    /**
     * Calculates the next active shape bounds.
     * @private
     */
    private getNextShapeBounds;
    /**
     * Layouts the element on the current page.
     * @private
     */
    private layoutOnPage;
    /**
     * Returns Rectangle for element drawing on the page.
     * @private
     */
    private getDrawBounds;
    /**
     * Draws the shape.
     * @private
     */
    private drawShape;
    /**
     * Corrects current bounds on the page.
     * @protected
     */
    protected checkCorrectCurrentBounds(currentPage: PdfPage, curBounds: RectangleF, param: PdfLayoutParams): RectangleF;
    /**
     * Calculates bounds where the shape was layout on the page.
     * @private
     */
    private getPageResultBounds;
    /**
     * Checks whether shape rectangle fits to the lay outing bounds.
     * @private
     */
    private fitsToBounds;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/base/text-layouter.d.ts
/**
 * TextLayouter.ts class for EJ2-PDF
 */
/**
 * Class that `layouts the text`.
 * @private
 */
export  class TextLayouter extends ElementLayouter {
    /**
     * String `format`.
     * @private
     */
    private format;
    /**
     * Gets the layout `element`.
     * @private
     */
    readonly element: PdfTextElement;
    /**
     * Initializes a new instance of the `TextLayouter` class.
     * @private
     */
    constructor(element: PdfTextElement);
    /**
     * `Layouts` the element.
     * @private
     */
    protected layoutInternal(param: PdfLayoutParams): PdfLayoutResult;
    /**
     * Raises `PageLayout` event if needed.
     * @private
     */
    private getLayoutResult;
    /**
     * `Layouts` the text on the page.
     * @private
     */
    private layoutOnPage;
    /**
     * `Corrects current bounds` on the page.
     * @private
     */
    private checkCorrectBounds;
    /**
     * Returns a `rectangle` where the text was printed on the page.
     * @private
     */
    private getTextPageBounds;
}
export  class TextPageLayoutResult {
    /**
     * The last `page` where the text was drawn.
     * @private
     */
    page: PdfPage;
    /**
     * The `bounds` of the element on the last page where it was drawn.
     * @private
     */
    bounds: RectangleF;
    /**
     * Indicates whether the lay outing has been finished [`end`].
     * @private
     */
    end: boolean;
    /**
     * The `text` that was not printed.
     * @private
     */
    remainder: string;
    /**
     * Gets or sets a `bounds` of the last text line that was printed.
     * @private
     */
    lastLineBounds: RectangleF;
}
export  class PdfTextLayoutResult extends PdfLayoutResult {
    /**
     * The `text` that was not printed.
     * @private
     */
    private remainderText;
    /**
     * The `bounds` of the last line that was printed.
     * @private
     */
    private lastLineTextBounds;
    /**
     * Gets a value that contains the `text` that was not printed.
     * @private
     */
    readonly remainder: string;
    /**
     * Gets a value that indicates the `bounds` of the last line that was printed on the page.
     * @private
     */
    readonly lastLineBounds: RectangleF;
    /**
     * Initializes the new instance of `PdfTextLayoutResult` class.
     * @private
     */
    constructor(page: PdfPage, bounds: RectangleF, remainder: string, lastLineBounds: RectangleF);
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/ellipse-part.d.ts
/**
 * ellipse-part.ts class for EJ2-PDF
 */
/**
 * `PdfEllipsePart` class Implements graphics ellipse part, which is a sequence of primitive graphics elements.
 * @private
 */
export  abstract class PdfEllipsePart extends PdfRectangleArea {
    /**
     * public variable to store the start angle.
     * @public
     */
    startAngle: number;
    /**
     * public variable to store the sweep angle.
     * @public
     */
    sweepAngle: number;
    /**
     * Initializes a new instance of the `PdfEllipsePart` class.
     * @protected
     */
    protected constructor();
    /**
     * Initializes a new instance of the `PdfEllipsePart` class.
     * @protected
     */
    protected constructor(x: number, y: number, width: number, height: number, startAngle: number, sweepAngle: number);
    /**
     * Initializes a new instance of the `PdfEllipsePart` class.
     * @protected
     */
    protected constructor(rectangle: RectangleF, startAngle: number, sweepAngle: number);
    /**
     * Initializes a new instance of the `PdfEllipsePart` class.
     * @protected
     */
    protected constructor(pen: PdfPen, brush: PdfBrush, x: number, y: number, width: number, height: number, startAngle: number, sweepAngle: number);
    /**
     * Initializes a new instance of the `PdfEllipsePart` class.
     * @protected
     */
    protected constructor(pen: PdfPen, brush: PdfBrush, rectangle: RectangleF, startAngle: number, sweepAngle: number);
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/enum.d.ts
/**
 * public Enum for `PdfLayoutType`.
 * @private
 */
export  enum PdfLayoutType {
    /**
     * Specifies the type of `Paginate`.
     * @private
     */
    Paginate = 0,
    /**
     * Specifies the type of `OnePage`.
     * @private
     */
    OnePage = 1
}
/**
 * public Enum for `PdfLayoutBreakType`.
 * @private
 */
export  enum PdfLayoutBreakType {
    /**
     * Specifies the type of `FitPage`.
     * @private
     */
    FitPage = 0,
    /**
     * Specifies the type of `FitElement`.
     * @private
     */
    FitElement = 1,
    /**
     * Specifies the type of `FitColumnsToPage`.
     * @private
     */
    FitColumnsToPage = 2
}
export  enum PathPointType {
    /**
     * Specifies the path point type of `Start`.
     * @private
     */
    Start = 0,
    /**
     * Specifies the path point type of `Line`.
     * @private
     */
    Line = 1,
    /**
     * Specifies the path point type of `Bezier3`.
     * @private
     */
    Bezier3 = 3,
    /**
     * Specifies the path point type of `Bezier`.
     * @private
     */
    Bezier = 3,
    /**
     * Specifies the path point type of `PathTypeMask`.
     * @private
     */
    PathTypeMask = 7,
    /**
     * Specifies the path point type of `DashMode`.
     * @private
     */
    DashMode = 16,
    /**
     * Specifies the path point type of `PathMarker`.
     * @private
     */
    PathMarker = 32,
    /**
     * Specifies the path point type of `CloseSubpath`.
     * @private
     */
    CloseSubpath = 128
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/index.d.ts
/**
 * Figures classes
 * @hidden
 */
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/layout-element.d.ts
/**
 * PdfLayoutElement.ts class for EJ2-PDF
 */
/**
 * `PdfLayoutElement` class represents the base class for all elements that can be layout on the pages.
 * @private
 */
export  abstract class PdfLayoutElement {
    /**
     * Indicating whether [`embed fonts`]
     * @private
     */
    private bEmbedFonts;
    endPageLayout: Function;
    beginPageLayout: Function;
    /**
     * Gets a value indicating whether the `start page layout event` should be raised.
     * @private
     */
    readonly raiseBeginPageLayout: boolean;
    /**
     * Gets a value indicating whether the `ending page layout event` should be raised.
     * @private
     */
    readonly raiseEndPageLayout: boolean;
    onBeginPageLayout(args: PdfGridBeginPageLayoutEventArgs | BeginPageLayoutEventArgs): void;
    onEndPageLayout(args: PdfGridEndPageLayoutEventArgs | EndPageLayoutEventArgs): void;
    /**
     * `Draws` the element on the page with the specified page and "PointF" class
     * @private
     */
    drawHelper(page: PdfPage, location: PointF): PdfLayoutResult;
    /**
     * `Draws` the element on the page with the specified page and pair of coordinates
     * @private
     */
    drawHelper(page: PdfPage, x: number, y: number): PdfLayoutResult;
    /**
     * `Draws` the element on the page with the specified page and "RectangleF" class
     * @private
     */
    drawHelper(page: PdfPage, layoutRectangle: RectangleF): PdfLayoutResult;
    /**
     * `Draws` the element on the page with the specified page, "PointF" class and layout format
     * @private
     */
    drawHelper(page: PdfPage, location: PointF, format: PdfLayoutFormat): PdfLayoutResult;
    /**
     * `Draws` the element on the page with the specified page, pair of coordinates and layout format
     * @private
     */
    drawHelper(page: PdfPage, x: number, y: number, format: PdfLayoutFormat): PdfLayoutResult;
    /**
     * `Draws` the element on the page.
     * @private
     */
    drawHelper(page: PdfPage, layoutRectangle: RectangleF, embedFonts: boolean): PdfLayoutResult;
    /**
     * `Draws` the element on the page with the specified page, "RectangleF" class and layout format
     * @private
     */
    drawHelper(page: PdfPage, layoutRectangle: RectangleF, format: PdfLayoutFormat): PdfLayoutResult;
    /**
     * `Layouts` the specified param.
     * @private
     */
    protected abstract layout(param: PdfLayoutParams): PdfLayoutResult;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/path.d.ts
/**
 * Path.ts class for EJ2-PDF
 */
/**
 * `PdfPath` class Implements graphics path, which is a sequence of primitive graphics elements.
 * @private
 */
export  class PdfPath extends PdfFillElement {
    /**
     * Local variable to store the points.
     * @private
     */
    private mpoints;
    /**
     * Local variable to store the path Types.
     * @private
     */
    private mpathTypes;
    /**
     * Local variable to store the Start Figure.
     * @private
     */
    private mStartFigure;
    /**
     * Local variable to store the fill Mode.
     * @private
     */
    private mfillMode;
    /**
     * Local variable to store the Beziers.
     * @private
     */
    private isBeziers3;
    /**
     * Local variable to store the xps.
     * @private
     */
    private isXps;
    /**
     * Initializes a new instance of the `PdfPath` class.
     * @public
     */
    constructor();
    /**
     * Initializes a new instance of the `PdfPath` class.
     * @public
     */
    constructor(pen: PdfPen);
    /**
     * Initializes a new instance of the `PdfPath` class.
     * @public
     */
    constructor(brush: PdfBrush);
    /**
     * Initializes a new instance of the `PdfPath` class.
     * @public
     */
    constructor(points: PointF[], pathTypes: number[]);
    /**
     * Initializes a new instance of the `PdfPath` class.
     * @public
     */
    constructor(brush: PdfBrush, fillMode: PdfFillMode);
    /**
     * Initializes a new instance of the `PdfPath` class.
     * @public
     */
    constructor(pen: PdfPen, points: PointF[], pathTypes: number[]);
    /**
     * Initializes a new instance of the `PdfPath` class.
     * @public
     */
    constructor(pen: PdfPen, brush: PdfBrush, fillMode: PdfFillMode);
    /**
     * Initializes a new instance of the `PdfPath` class.
     * @public
     */
    constructor(brush: PdfBrush, fillMode: PdfFillMode, points: PointF[], pathTypes: number[]);
    /**
     * Gets or sets the fill mode.
     * @public
     */
    fillMode: PdfFillMode;
    /**
     * Gets the path points.
     * @public
     */
    readonly pathPoints: PointF[];
    /**
     * Gets the path point types.
     * @public
     */
    readonly pathTypes: number[];
    /**
     * Gets the point count.
     * @public
     */
    readonly pointCount: number;
    /**
     * Gets the last points.
     * @public
     */
    readonly lastPoint: PointF;
    /**
     * Gets the points list.
     * @private
     */
    private readonly points;
    /**
     * Gets the types.
     * @private
     */
    private readonly types;
    /**
     * `draw` the element on the page with the specified page and 'PointF' class
     * @param page Current page where the element should be drawn.
     * @param location Start location on the page.
     */
    draw(page: PdfPage, location: PointF): PdfLayoutResult;
    /**
     * `draw` the element on the page with the specified page and pair of coordinates
     * @private
     */
    draw(page: PdfPage, x: number, y: number): PdfLayoutResult;
    /**
     * `draw` the element on the page with the specified page and 'RectangleF' class
     * @private
     */
    draw(page: PdfPage, layoutRectangle: RectangleF): PdfLayoutResult;
    /**
     * `draw` the element on the page with the specified page, 'PointF' class and layout format
     * @private
     */
    draw(page: PdfPage, location: PointF, format: PdfLayoutFormat): PdfLayoutResult;
    /**
     * `draw` the element on the page with the specified page, pair of coordinates and layout format
     * @private
     */
    draw(page: PdfPage, x: number, y: number, format: PdfLayoutFormat): PdfLayoutResult;
    /**
     * `draw` the element on the page.
     * @private
     */
    draw(page: PdfPage, layoutRect: RectangleF, format: PdfLayoutFormat): PdfLayoutResult;
    /**
     * `add a arc` specified by a rectangle, a coordinate start angle and sweepangle.
     * @param rectangle The boundaries of the arc.
     * @param startAngle The start angle of the arc.
     * @param sweepAngle The angle between startAngle and the end of the arc.
     */
    addArc(rectangle: RectangleF, startAngle: number, sweepAngle: number): void;
    /**
     * `add a arc` specified by a x , y coordinate points, a width, a height and coordinate start angle and sweepangle.
     * @param x The x-coordinate of the upper-left corner of the rectangular region.
     * @param y The y-coordinate of the upper-left corner of the rectangular region
     * @param width The width of the rectangular region.
     * @param height The height of the rectangular region.
     * @param startAngle The start angle of the arc.
     * @param sweepAngle The angle between startAngle and the end of the arc.
     */
    addArc(x: number, y: number, width: number, height: number, startAngle: number, sweepAngle: number): void;
    /**
     * `add a bezier curve` specified by region points.
     * @param startPoint The start point - represents the starting point of the curve.
     * @param firstControlPoint The first control point - represents the second control point of the curve.
     * @param secondControlPoint The second control point - represents the second control point of the curve.
     * @param endPoint The end point - represents the end point of the curve.
     */
    addBezier(startPoint: PointF, firstControlPoint: PointF, secondControlPoint: PointF, endPoint: PointF): void;
    /**
     * `add a bezier curve` specified by region points.
     * @param startPointX The start point X.
     * @param startPointY The start point Y.
     * @param firstControlPointX The first control point X.
     * @param firstControlPointY The first control point Y.
     * @param secondControlPointX The second control point X.
     * @param secondControlPointY The second control point Y.
     * @param endPointX The end point X.
     * @param endPointY The end point Y.
     */
    addBezier(startPointX: number, startPointY: number, firstControlPointX: number, firstControlPointY: number, secondControlPointX: number, secondControlPointY: number, endPointX: number, endPointY: number): void;
    /**
     * `add a ellipse` specified by a rectangle.
     * @param rectangle The boundaries of the ellipse.
     */
    addEllipse(rectangle: RectangleF): void;
    /**
     * `add a ellipse` specified by a rectangle bounds .
     * @param x The x-coordinate of the upper-left corner of the rectangular region.
     * @param y The y-coordinate of the upper-left corner of the rectangular region.
     * @param width The width of the rectangular region.
     * @param height The height of the rectangular region.
     */
    addEllipse(x: number, y: number, width: number, height: number): void;
    /**
     * `add a line` specified by points .
     * @param point1 The start point of the line.
     * @param point2 The end point of the line.
     */
    addLine(point1: PointF, point2: PointF): void;
    /**
     * `add a line` specified by a rectangle bounds.
     * @param x1 The x-coordinate of the starting point of the line.
     * @param y1 The y-coordinate of the starting point of the line.
     * @param x2 The x-coordinate of the end point of the line.
     * @param y2 The y-coordinate of the end point of the line.
     */
    addLine(x1: number, y1: number, x2: number, y2: number): void;
    /**
     * `add a path` specified by a path, appends the path specified to this one.
     * @param path The path, which should be appended.
     */
    addPath(path: PdfPath): void;
    /**
     * `add a path` specified by a path points and path types.
     * @param pathPoints The array of points that represents the points to define the path
     * @param pathTypes The path types specifies the types of the corresponding points in the path.
     */
    addPath(pathPoints: PointF[], pathTypes: number[]): void;
    /**
     * `add a pie` specified by a rectangle, a coordinate start angle and sweepangle.
     * @param rectangle The bounding rectangle of the pie.
     * @param startAngle The start angle of the pie.
     * @param sweepAngle The sweep angle of the pie.
     */
    addPie(rectangle: RectangleF, startAngle: number, sweepAngle: number): void;
    /**
     * `add a pie` specified by x , y coordinate points, a width, a height and start angle and sweepangle.
     * @param x The x-coordinate of the upper-left corner of the bounding rectangle.
     * @param y The y-coordinate of the upper-left corner of the bounding rectangle.
     * @param width The width of the bounding rectangle.
     * @param height The height of the bounding rectangle
     * @param startAngle The start angle of the pie.
     * @param sweepAngle The sweep angle of the pie.
     */
    addPie(x: number, y: number, width: number, height: number, startAngle: number, sweepAngle: number): void;
    /**
     * `add a polygon` specified by points.
     * @param points The points of the polygon
     */
    addPolygon(points: PointF[]): void;
    /**
     * `add a rectangle` specified by a rectangle.
     * @param rectangle The rectangle.
     */
    addRectangle(rectangle: RectangleF): void;
    /**
     * `add a rectangle` specified by a rectangle.
     * @param x The x-coordinate of the upper-left corner of the rectangular region.
     * @param y The y-coordinate of the upper-left corner of the rectangular region
     * @param width The width of the rectangular region.
     * @param height The height of the rectangular region.
     */
    addRectangle(x: number, y: number, width: number, height: number): void;
    /**
     * Starts a new figure.
     * @public
     */
    startFigure(): void;
    /**
     * Closed all non-closed figures.
     * @public
     */
    closeAllFigures(): void;
    /**
     * Gets the last point.
     * @public
     */
    getLastPoint(): PointF;
    /**
     * Gets the bezier points for arc constructing.
     * @public
     */
    getBezierArcPoints(x1: number, y1: number, x2: number, y2: number, s1: number, e1: number): number[];
    /**
     * `getBoundsInternal` Returns a rectangle that bounds this element.
     * @public
     */
    getBoundsInternal(): RectangleF;
    /**
     * `drawInternal` Draws an element on the Graphics.
     * @param graphics Graphics context where the element should be printed.
     * @public
     */
    drawInternal(graphics: PdfGraphics): void;
    /**
     * `add a points` Adds the points along with their type to the path.
     * @param points The points.
     * @param pointType Type of the points.
     * @private
     */
    private addPoints;
    /**
     * `add a point` Adds the point and its type
     * @param points The points.
     * @param pointType Type of the points.
     * @private
     */
    private addPoint;
    /**
     * Closes the figure.
     * @public
     */
    closeFigure(): void;
    /**
     * Closes the figure.
     * @param index The index of the last figure point.
     * @public
     */
    closeFigure(index: number): void;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/pdf-template.d.ts
/**
 * PdfTemplate.ts class for EJ2-PDF
 */
/**
 * Represents `Pdf Template` object.
 * @private
 */
export  class PdfTemplate implements IPdfWrapper {
    /**
     * Stores the value of current `graphics`.
     * @private
     */
    private pdfGraphics;
    /**
     * Stores the instance of `PdfResources` class.
     * @private
     */
    private resources;
    /**
     * Stores the `size` of the 'PdfTemplate'.
     * @private
     */
    private templateSize;
    /**
     * Initialize an instance for `DictionaryProperties` class.
     * @private
     * @hidden
     */
    private dictionaryProperties;
    /**
     * Stores the `content` of the 'PdfTemplate'.
     * @private
     */
    content: PdfStream;
    /**
     * Checks whether the transformation 'is performed'.
     * @default true
     * @private
     */
    writeTransformation: boolean;
    /**
     * Gets the size of the 'PdfTemplate'.
     */
    readonly size: SizeF;
    /**
     * Gets the width of the 'PdfTemplate'.
     */
    readonly width: number;
    /**
     * Gets the height of the 'PdfTemplate'.
     */
    readonly height: number;
    /**
     * Gets the `graphics` of the 'PdfTemplate'.
     */
    readonly graphics: PdfGraphics;
    /**
     * Gets the resources and modifies the template dictionary.
     * @private
     */
    getResources(): PdfResources;
    /**
     * Create the new instance for `PdfTemplate` class.
     * @private
     */
    constructor();
    /**
     * Create the new instance for `PdfTemplate` class with Size.
     * @private
     */
    constructor(arg1: SizeF);
    /**
     * Create the new instance for `PdfTemplate` class with width and height.
     * @private
     */
    constructor(arg1: number, arg2: number);
    /**
     * `Initialize` the type and subtype of the template.
     * @private
     */
    private initialize;
    /**
     * `Adds type key`.
     * @private
     */
    private addType;
    /**
     * `Adds SubType key`.
     * @private
     */
    private addSubType;
    /**
     * `Reset` the size of the 'PdfTemplate'.
     */
    reset(): void;
    reset(size: SizeF): void;
    /**
     * `Set the size` of the 'PdfTemplate'.
     * @private
     */
    private setSize;
    /**
     * Gets the `content stream` of 'PdfTemplate' class.
     * @private
     */
    readonly element: IPdfPrimitive;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/rectangle-area.d.ts
/**
 * RectangleArea.ts class for EJ2-PDF
 */
/**
 * `PdfRectangleArea` class Implements graphics rectangle area, which is a sequence of primitive graphics elements.
 * @private
 */
export  abstract class PdfRectangleArea extends PdfFillElement {
    /**
     * public variable to store the rectangle.
     * @public
     */
    bounds: RectangleF;
    /**
     * Initializes a new instance of the `PdfRectangleArea` class.
     * @protected
     */
    protected constructor();
    /**
     * Initializes a new instance of the `PdfRectangleArea` class.
     * @protected
     */
    protected constructor(rectangle: RectangleF);
    /**
     * Initializes a new instance of the `PdfRectangleArea` class.
     * @protected
     */
    protected constructor(pen: PdfPen, brush: PdfBrush, rectangle: RectangleF);
    /**
     * Initializes a new instance of the `PdfRectangleArea` class.
     * @protected
     */
    protected constructor(x: number, y: number, width: number, height: number);
    /**
     * Initializes a new instance of the `PdfRectangleArea` class.
     * @protected
     */
    protected constructor(pen: PdfPen, brush: PdfBrush, x: number, y: number, width: number, height: number);
    /**
     * Gets or sets the X co-ordinate of the upper-left corner of this the element.
     * @public
     */
    x: number;
    /**
     * Gets or sets the Y co-ordinate of the upper-left corner of this the element.
     * @public
     */
    y: number;
    /**
     * Gets or sets the width of this element.
     * @public
     */
    width: number;
    /**
     * Gets or sets the height of this element.
     * @public
     */
    height: number;
    protected getBoundsInternal(): RectangleF;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/figures/text-element.d.ts
/**
 * PdfTextElement.ts class for EJ2-PDF
 */
/**
 * `PdfTextElement` class represents the text area with the ability to span several pages
 * and inherited from the 'PdfLayoutElement' class.
 * @private
 */
export  class PdfTextElement extends PdfLayoutElement {
    /**
     * `Text` data.
     * @private
     */
    private content;
    /**
     * `Value` of text data.
     * @private
     */
    private elementValue;
    /**
     * `Pen` for text drawing.
     * @private
     */
    private pdfPen;
    /**
     * `Brush` for text drawing.
     * @private
     */
    private pdfBrush;
    /**
     * `Font` for text drawing.
     * @private
     */
    private pdfFont;
    /**
     * Text `format`.
     * @private
     */
    private format;
    /**
     * indicate whether the drawText with PointF overload is called or not.
     * @default false
     * @private
     */
    private hasPointOverload;
    /**
     * indicate whether the PdfGridCell value is `PdfTextElement`
     * @default false
     * @private
     */
    isPdfTextElement: boolean;
    /**
     * Initializes a new instance of the `PdfTextElement` class.
     * @private
     */
    constructor();
    /**
     * Initializes a new instance of the `PdfTextElement` class with text to draw into the PDF.
     * @private
     */
    constructor(text: string);
    /**
     * Initializes a new instance of the `PdfTextElement` class with the text and `PdfFont`.
     * @private
     */
    constructor(text: string, font: PdfFont);
    /**
     * Initializes a new instance of the `PdfTextElement` class with text,`PdfFont` and `PdfPen`.
     * @private
     */
    constructor(text: string, font: PdfFont, pen: PdfPen);
    /**
     * Initializes a new instance of the `PdfTextElement` class with text,`PdfFont` and `PdfBrush`.
     * @private
     */
    constructor(text: string, font: PdfFont, brush: PdfBrush);
    /**
     * Initializes a new instance of the `PdfTextElement` class with text,`PdfFont`,`PdfPen`,`PdfBrush` and `PdfStringFormat`.
     * @private
     */
    constructor(text: string, font: PdfFont, pen: PdfPen, brush: PdfBrush, format: PdfStringFormat);
    /**
     * Gets or sets a value indicating the `text` that should be printed.
     * ```typescript
     * // create a new PDF document.
     * let document$ : PdfDocument = new PdfDocument();
     * // add a page to the document.
     * let page1$ : PdfPage = document.pages.add();
     * // create the font
     * let font$ : PdfFont = new PdfStandardFont(PdfFontFamily.Helvetica, 12);
     * // create the Text Web Link
     * let textLink$ : PdfTextWebLink = new PdfTextWebLink();
     * // set the hyperlink
     * textLink.url = 'http://www.google.com';
     * //
     * // set the link text
     * textLink.text = 'Google';
     * //
     * // set the font
     * textLink.font = font;
     * // draw the hyperlink in PDF page
     * textLink.draw(page1, new PointF(10, 40));
     * // save the document.
     * document.save('output.pdf');
     * // destroy the document
     * document.destroy();
     * ```
     */
    text: string;
    /**
     * Gets or sets a `value` indicating the text that should be printed.
     * @private
     */
    readonly value: string;
    /**
     * Gets or sets a `PdfPen` that determines the color, width, and style of the text
     * @private
     */
    pen: PdfPen;
    /**
     * Gets or sets the `PdfBrush` that will be used to draw the text with color and texture.
     * @private
     */
    brush: PdfBrush;
    /**
     * Gets or sets a `PdfFont` that defines the text format.
     * ```typescript
     * // create a new PDF document.
     * let document$ : PdfDocument = new PdfDocument();
     * // add a page to the document.
     * let page1$ : PdfPage = document.pages.add();
     * // create the font
     * let font$ : PdfFont = new PdfStandardFont(PdfFontFamily.Helvetica, 12);
     * // create the Text Web Link
     * let textLink$ : PdfTextWebLink = new PdfTextWebLink();
     * // set the hyperlink
     * textLink.url = 'http://www.google.com';
     * // set the link text
     * textLink.text = 'Google';
     * //
     * // set the font
     * textLink.font = font;
     * //
     * // draw the hyperlink in PDF page
     * textLink.draw(page1, new PointF(10, 40));
     * // save the document.
     * document.save('output.pdf');
     * // destroy the document
     * document.destroy();
     * ```
     */
    font: PdfFont;
    /**
     * Gets or sets the `PdfStringFormat` that will be used to set the string format
     * @private
     */
    stringFormat: PdfStringFormat;
    /**
     * Gets a `brush` for drawing.
     * @private
     */
    getBrush(): PdfBrush;
    /**
     * `Layouts` the element.
     * @private
     */
    protected layout(param: PdfLayoutParams): PdfLayoutResult;
    /**
     * `Draws` the element on the page with the specified page and "PointF" class
     * @private
     */
    drawText(page: PdfPage, location: PointF): PdfLayoutResult;
    /**
     * `Draws` the element on the page with the specified page and pair of coordinates
     * @private
     */
    drawText(page: PdfPage, x: number, y: number): PdfLayoutResult;
    /**
     * `Draws` the element on the page with the specified page and "RectangleF" class
     * @private
     */
    drawText(page: PdfPage, layoutRectangle: RectangleF): PdfLayoutResult;
    /**
     * `Draws` the element on the page with the specified page, "PointF" class and layout format
     * @private
     */
    drawText(page: PdfPage, location: PointF, format: PdfLayoutFormat): PdfLayoutResult;
    /**
     * `Draws` the element on the page with the specified page, pair of coordinates and layout format
     * @private
     */
    drawText(page: PdfPage, x: number, y: number, format: PdfLayoutFormat): PdfLayoutResult;
    /**
     * `Draws` the element on the page.
     * @private
     */
    drawText(page: PdfPage, layoutRectangle: RectangleF, embedFonts: boolean): PdfLayoutResult;
    /**
     * `Draws` the element on the page with the specified page, "RectangleF" class and layout format
     * @private
     */
    drawText(page: PdfPage, layoutRectangle: RectangleF, format: PdfLayoutFormat): PdfLayoutResult;
    private calculateResultBounds;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/enum.d.ts
/**
 * public Enum for `PdfFontStyle`.
 * @private
 */
export  enum PdfFontStyle {
    /**
     * Specifies the type of `Regular`.
     * @private
     */
    Regular = 0,
    /**
     * Specifies the type of `Bold`.
     * @private
     */
    Bold = 1,
    /**
     * Specifies the type of `Italic`.
     * @private
     */
    Italic = 2,
    /**
     * Specifies the type of `Underline`.
     * @private
     */
    Underline = 4,
    /**
     * Specifies the type of `Strikeout`.
     * @private
     */
    Strikeout = 8
}
/**
 * Specifies the font family from the standard font.
 * ```typescript
 * // create a new PDF document
 * let document$ : PdfDocument = new PdfDocument();
 * // add a new page to the document
 * let page1$ : PdfPage = document.pages.add();
 * // create new standard font
 * let font$ : PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);
 * // create black brush
 * let blackBrush$ : PdfSolidBrush = new PdfSolidBrush(new PdfColor(0, 0, 0));
 * // draw the text
 * page1.graphics.drawString('Hello World', font, blackBrush, new PointF(0, 0));
 * // save the document
 * document.save('output.pdf');
 * ```
 */
export  enum PdfFontFamily {
    /**
     * Specifies the `Helvetica` font.
     */
    Helvetica = 0,
    /**
     * Specifies the `Courier` font.
     */
    Courier = 1,
    /**
     * Specifies the `TimesRoman` font.
     */
    TimesRoman = 2,
    /**
     * Specifies the `Symbol` font.
     */
    Symbol = 3,
    /**
     * Specifies the `ZapfDingbats` font.
     */
    ZapfDingbats = 4
}
/**
 * public Enum for `PdfFontType`.
 * @private
 */
export  enum PdfFontType {
    /**
     * Specifies the type of `Standard`.
     * @private
     */
    Standard = 0,
    /**
     * Specifies the type of `TrueType`.
     * @private
     */
    TrueType = 1,
    /**
     * Specifies the type of `TrueTypeEmbedded`.
     * @private
     */
    TrueTypeEmbedded = 2
}
/**
 * public Enum for `PdfWordWrapType`.
 * @private
 */
export  enum PdfWordWrapType {
    /**
     * Specifies the type of `None`.
     * @private
     */
    None = 0,
    /**
     * Specifies the type of `Word`.
     * @private
     */
    Word = 1,
    /**
     * Specifies the type of `WordOnly`.
     * @private
     */
    WordOnly = 2,
    /**
     * Specifies the type of `Character`.
     * @private
     */
    Character = 3
}
/**
 * public Enum for `PdfSubSuperScript`.
 * @private
 */
export  enum PdfSubSuperScript {
    /**
     * Specifies the type of `None`.
     * @private
     */
    None = 0,
    /**
     * Specifies the type of `SuperScript`.
     * @private
     */
    SuperScript = 1,
    /**
     * Specifies the type of `SubScript`.
     * @private
     */
    SubScript = 2
}
/**
 * public Enum for `FontEncoding`.
 * @private
 */
export  enum FontEncoding {
    /**
     * Specifies the type of `Unknown`.
     * @private
     */
    Unknown = 0,
    /**
     * Specifies the type of `StandardEncoding`.
     * @private
     */
    StandardEncoding = 1,
    /**
     * Specifies the type of `MacRomanEncoding`.
     * @private
     */
    MacRomanEncoding = 2,
    /**
     * Specifies the type of `MacExpertEncoding`.
     * @private
     */
    MacExpertEncoding = 3,
    /**
     * Specifies the type of `WinAnsiEncoding`.
     * @private
     */
    WinAnsiEncoding = 4,
    /**
     * Specifies the type of `PdfDocEncoding`.
     * @private
     */
    PdfDocEncoding = 5,
    /**
     * Specifies the type of `IdentityH`.
     * @private
     */
    IdentityH = 6
}
/**
 * public Enum for `TtfCmapFormat`.
 * @private
 */
export  enum TtfCmapFormat {
    /**
     * This is the Apple standard character to glyph index mapping table.
     * @private
     */
    Apple = 0,
    /**
     * This is the Microsoft standard character to glyph index mapping table.
     * @private
     */
    Microsoft = 4,
    /**
     * Format 6: Trimmed table mapping.
     * @private
     */
    Trimmed = 6
}
/**
 * Enumerator that implements CMAP encodings.
 * @private
 */
export  enum TtfCmapEncoding {
    /**
     * Unknown encoding.
     * @private
     */
    Unknown = 0,
    /**
     * When building a symbol font for Windows.
     * @private
     */
    Symbol = 1,
    /**
     * When building a Unicode font for Windows.
     * @private
     */
    Unicode = 2,
    /**
     * For font that will be used on a Macintosh.
     * @private
     */
    Macintosh = 3
}
/**
 * Ttf platform ID.
 * @private
 */
export  enum TtfPlatformID {
    /**
     * Apple platform.
     * @private
     */
    AppleUnicode = 0,
    /**
     * Macintosh platform.
     * @private
     */
    Macintosh = 1,
    /**
     * Iso platform.
     * @private
     */
    Iso = 2,
    /**
     * Microsoft platform.
     * @private
     */
    Microsoft = 3
}
/**
 * Microsoft encoding ID.
 * @private
 */
export  enum TtfMicrosoftEncodingID {
    /**
     * Undefined encoding.
     * @private
     */
    Undefined = 0,
    /**
     * Unicode encoding.
     * @private
     */
    Unicode = 1
}
/**
 * Macintosh encoding ID.
 * @private
 */
export  enum TtfMacintoshEncodingID {
    /**
     * Roman encoding.
     * @private
     */
    Roman = 0,
    /**
     * Japanese encoding.
     * @private
     */
    Japanese = 1,
    /**
     * Chinese encoding.
     * @private
     */
    Chinese = 2
}
/**
 * Enumerator that implements font descriptor flags.
 * @private
 */
export  enum FontDescriptorFlags {
    /**
     * All glyphs have the same width (as opposed to proportional or variable-pitch fonts, which have different widths).
     * @private
     */
    FixedPitch = 1,
    /**
     * Glyphs have serifs, which are short strokes drawn at an angle on the top and
     * bottom of glyph stems (as opposed to sans serif fonts, which do not).
     * @private
     */
    Serif = 2,
    /**
     * Font contains glyphs outside the Adobe standard Latin character set. The
     * flag and the nonsymbolic flag cannot both be set or both be clear.
     * @private
     */
    Symbolic = 4,
    /**
     * Glyphs resemble cursive handwriting.
     * @private
     */
    Script = 8,
    /**
     * Font uses the Adobe standard Latin character set or a subset of it.
     * @private
     */
    Nonsymbolic = 32,
    /**
     * Glyphs have dominant vertical strokes that are slanted.
     * @private
     */
    Italic = 64,
    /**
     * Bold font.
     * @private
     */
    ForceBold = 262144
}
/**
 * true type font composite glyph flags.
 * @private
 */
export  enum TtfCompositeGlyphFlags {
    /**
     * The Arg1And2AreWords.
     * @private
     */
    Arg1And2AreWords = 1,
    /**
     * The ArgsAreXyValues.
     * @private
     */
    ArgsAreXyValues = 2,
    /**
     * The RoundXyToGrid.
     * @private
     */
    RoundXyToGrid = 4,
    /**
     * The WeHaveScale.
     * @private
     */
    WeHaveScale = 8,
    /**
     * The Reserved.
     * @private
     */
    Reserved = 16,
    /**
     * The MoreComponents.
     * @private
     */
    MoreComponents = 32,
    /**
     * The WeHaveAnXyScale.
     * @private
     */
    WeHaveAnXyScale = 64,
    /**
     * The WeHaveTwoByTwo
     */
    WeHaveTwoByTwo = 128,
    /**
     * The WeHaveInstructions.
     */
    WeHaveInstructions = 256,
    /**
     * The UseMyMetrics.
     */
    UseMyMetrics = 512
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/index.d.ts
/**
 * Font classes
 * @hidden
 */
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/pdf-font-metrics.d.ts
/**
 * PdfFontMetrics.ts class for EJ2-PDF
 */
/**
 * `Metrics` of the font.
 * @private
 */
export  class PdfFontMetrics {
    /**
     * Gets `ascent` of the font.
     * @private
     */
    ascent: number;
    /**
     * Gets `descent` of the font.
     * @private
     */
    descent: number;
    /**
     * `Name` of the font.
     * @private
     */
    name: string;
    /**
     * Gets `PostScript` Name of the  font.
     * @private
     */
    postScriptName: string;
    /**
     * Gets `size` of the font.
     * @private
     */
    size: number;
    /**
     * Gets `height` of the font.
     * @private
     */
    height: number;
    /**
     * `First char` of the font.
     * @private
     */
    firstChar: number;
    /**
     * `Last char` of the font.
     * @private
     */
    lastChar: number;
    /**
     * `Line gap`.
     * @private
     */
    lineGap: number;
    /**
     * `Subscript` size factor.
     * @private
     */
    subScriptSizeFactor: number;
    /**
     * `Superscript` size factor.
     * @private
     */
    superscriptSizeFactor: number;
    /**
     * Gets `table` of glyphs` width.
     * @private
     */
    internalWidthTable: WidthTable;
    /**
     * Checks whether is it `unicode font` or not.
     * @private
     */
    isUnicodeFont: boolean;
    /**
     * Indicate whether the true type font reader font has bold style.
     */
    isBold: boolean;
    /**
     * Returns `ascent` taking into consideration font`s size.
     * @private
     */
    getAscent(format: PdfStringFormat): number;
    /**
     * Returns `descent` taking into consideration font`s size.
     * @private
     */
    getDescent(format: PdfStringFormat): number;
    /**
     * Returns `Line gap` taking into consideration font`s size.
     * @private
     */
    getLineGap(format: PdfStringFormat): number;
    /**
     * Returns `height` taking into consideration font`s size.
     * @private
     */
    getHeight(format: PdfStringFormat): number;
    /**
     * Calculates `size` of the font depending on the subscript/superscript value.
     * @private
     */
    getSize(format: PdfStringFormat): number;
    /**
     * `Clones` the metrics.
     * @private
     */
    clone(): PdfFontMetrics;
    /**
     * Gets or sets the `width table`.
     * @private
     */
    widthTable: WidthTable;
}
export  abstract class WidthTable {
    /**
     * Returns the `width` of the specific index.
     * @private
     */
    abstract items(index: number): number;
    /**
     * `Clones` this instance of the WidthTable class.
     * @private
     */
    abstract clone(): WidthTable;
    /**
     * Static `clones` this instance of the WidthTable class.
     * @private
     */
    static clone(): WidthTable;
}
export  class StandardWidthTable extends WidthTable {
    /**
     * The `widths` of the supported characters.
     * @private
     */
    private widths;
    /**
     * Gets the `32 bit number` at the specified index.
     * @private
     */
    items(index: number): number;
    /**
     * Gets the `length` of the internal array.
     * @private
     */
    readonly length: number;
    /**
     * Initializes a new instance of the `StandardWidthTable` class.
     * @private
     */
    constructor(widths: number[]);
    /**
     * `Clones` this instance of the WidthTable class.
     * @private
     */
    clone(): WidthTable;
    /**
     * Converts width table to a `PDF array`.
     * @private
     */
    toArray(): PdfArray;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/pdf-font.d.ts
/**
 * PdfFont.ts class for EJ2-PDF
 */
/**
 * Defines a particular format for text, including font face, size, and style attributes.
 * @private
 */
export  abstract class PdfFont implements IPdfWrapper, IPdfCache {
    /**
     * `Multiplier` of the symbol width.
     * @default 0.001
     * @private
     */
    static readonly charSizeMultiplier: number;
    /**
     * `Synchronization` object.
     * @private
     */
    protected static syncObject: Object;
    /**
     * `Size` of the font.
     * @private
     */
    private fontSize;
    /**
     * `Style` of the font.
     * @private
     */
    private fontStyle;
    /**
     * `Metrics` of the font.
     * @private
     */
    private fontMetrics;
    /**
     * PDf `primitive` of the font.
     * @private
     */
    private pdfFontInternals;
    /**
     * Initializes a new instance of the `PdfFont` class.
     * @private
     */
    protected constructor(size: number);
    /**
     * Initializes a new instance of the `PdfFont` class.
     * @private
     */
    protected constructor(size: number, style: PdfFontStyle);
    /**
     * Gets the face name of this Font.
     * @private
     */
    readonly name: string;
    /**
     * Gets the size of this font.
     * @private
     */
    readonly size: number;
    /**
     * Gets the height of the font in points.
     * @private
     */
    readonly height: number;
    /**
     * Gets the style information for this font.
     * @private
     */
    style: PdfFontStyle;
    /**
     * Gets a value indicating whether this `PdfFont` is `bold`.
     * @private
     */
    readonly bold: boolean;
    /**
     * Gets a value indicating whether this `PdfFont` has the `italic` style applied.
     * @private
     */
    readonly italic: boolean;
    /**
     * Gets a value indicating whether this `PdfFont` is `strikeout`.
     * @private
     */
    readonly strikeout: boolean;
    /**
     * Gets a value indicating whether this `PdfFont` is `underline`.
     * @private
     */
    readonly underline: boolean;
    /**
     * Gets or sets the `metrics` for this font.
     * @private
     */
    metrics: PdfFontMetrics;
    /**
     * Gets the `element` representing the font.
     * @private
     */
    readonly element: IPdfPrimitive;
    /**
     * `Measures` a string by using this font.
     * @private
     */
    measureString(text: string): SizeF;
    /**
     * `Measures` a string by using this font.
     * @private
     */
    measureString(text: string, format: PdfStringFormat): SizeF;
    /**
     * `Measures` a string by using this font.
     * @private
     */
    measureString(text: string, format: PdfStringFormat, charactersFitted: number, linesFilled: number): SizeF;
    /**
     * `Measures` a string by using this font.
     * @private
     */
    measureString(text: string, width: number): SizeF;
    /**
     * `Measures` a string by using this font.
     * @private
     */
    measureString(text: string, width: number, format: PdfStringFormat): SizeF;
    /**
     * `Measures` a string by using this font.
     * @private
     */
    measureString(text: string, width: number, format: PdfStringFormat, charactersFitted: number, linesFilled: number): SizeF;
    /**
     * `Measures` a string by using this font.
     * @private
     */
    measureString(text: string, layoutArea: SizeF): SizeF;
    /**
     * `Measures` a string by using this font.
     * @private
     */
    measureString(text: string, layoutArea: SizeF, format: PdfStringFormat): SizeF;
    /**
     * `Measures` a string by using this font.
     * @private
     */
    measureString(text: string, layoutArea: SizeF, format: PdfStringFormat, charactersFitted: number, linesFilled: number): SizeF;
    /**
     * `Checks` whether the object is similar to another object.
     * @private
     */
    equalsTo(obj: IPdfCache): boolean;
    /**
     * Returns `internals` of the object.
     * @private
     */
    getInternals(): IPdfPrimitive;
    /**
     * Sets `internals` to the object.
     * @private
     */
    setInternals(internals: IPdfPrimitive): void;
    /**
     * `Checks` whether fonts are equals.
     * @private
     */
    protected abstract equalsToFont(font: PdfFont): boolean;
    /**
     * Returns `width` of the line.
     * @private
     */
    abstract getLineWidth(line: string, format: PdfStringFormat): number;
    /**
     * Sets the `style` of the font.
     * @private
     */
    protected setStyle(style: PdfFontStyle): void;
    /**
     * Applies `settings` to the default line width.
     * @private
     */
    protected applyFormatSettings(line: string, format: PdfStringFormat, width: number): number;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/pdf-standard-font-metrics-factory.d.ts
/**
 * PdfStandardFontMetricsFactory.ts class for EJ2-PDF
 */
/**
 * @private
 * `Factory of the standard fonts metrics`.
 */
export  class PdfStandardFontMetricsFactory {
    /**
     * `Multiplier` os subscript superscript.
     * @private
     */
    private static readonly subSuperScriptFactor;
    /**
     * `Ascender` value for the font.
     * @private
     */
    private static readonly helveticaAscent;
    /**
     * `Ascender` value for the font.
     * @private
     */
    private static readonly helveticaDescent;
    /**
     * `Font type`.
     * @private
     */
    private static readonly helveticaName;
    /**
     * `Ascender` value for the font.
     * @private
     */
    private static readonly helveticaBoldAscent;
    /**
     * `Ascender` value for the font.
     * @private
     */
    private static readonly helveticaBoldDescent;
    /**
     * `Font type`.
     * @private
     */
    private static readonly helveticaBoldName;
    /**
     * `Ascender` value for the font.
     * @private
     */
    private static readonly helveticaItalicAscent;
    /**
     * `Ascender` value for the font.
     * @private
     */
    private static readonly helveticaItalicDescent;
    /**
     * `Font type`.
     * @private
     */
    private static readonly helveticaItalicName;
    /**
     * `Ascender` value for the font.
     * @private
     */
    private static readonly helveticaBoldItalicAscent;
    /**
     * `Ascender` value for the font.
     * @private
     */
    private static readonly helveticaBoldItalicDescent;
    /**
     * `Font type`.
     * @private
     */
    private static readonly helveticaBoldItalicName;
    /**
     * `Ascender` value for the font.
     * @private
     */
    private static readonly courierAscent;
    /**
     * `Ascender` value for the font.
     * @private
     */
    private static readonly courierDescent;
    /**
     * `Font type`.
     * @private
     */
    private static readonly courierName;
    /**
     * `Ascender` value for the font.
     * @private
     */
    private static readonly courierBoldAscent;
    /**
     * `Ascender` value for the font.
     * @private
     */
    private static readonly courierBoldDescent;
    /**
     * `Font type`.
     * @private
     */
    private static readonly courierBoldName;
    /**
     * `Ascender` value for the font.
     * @private
     */
    private static readonly courierItalicAscent;
    /**
     * `Ascender` value for the font.
     * @private
     */
    private static readonly courierItalicDescent;
    /**
     * `Font type`.
     * @private
     */
    private static readonly courierItalicName;
    /**
     * `Ascender` value for the font.
     * @private
     */
    private static readonly courierBoldItalicAscent;
    /**
     * `Ascender` value for the font.
     * @private
     */
    private static readonly courierBoldItalicDescent;
    /**
     * `Font type`.
     * @private
     */
    private static readonly courierBoldItalicName;
    /**
     * `Ascender` value for the font.
     * @private
     */
    private static readonly timesAscent;
    /**
     * `Ascender` value for the font.
     * @private
     */
    private static readonly timesDescent;
    /**
     * `Font type`.
     * @private
     */
    private static readonly timesName;
    /**
     * `Ascender` value for the font.
     * @private
     */
    private static readonly timesBoldAscent;
    /**
     * `Ascender` value for the font.
     * @private
     */
    private static readonly timesBoldDescent;
    /**
     * `Font type`.
     * @private
     */
    private static readonly timesBoldName;
    /**
     * `Ascender` value for the font.
     * @private
     */
    private static readonly timesItalicAscent;
    /**
     * `Ascender` value for the font.
     * @private
     */
    private static readonly timesItalicDescent;
    /**
     * `Font type`.
     * @private
     */
    private static readonly timesItalicName;
    /**
     * `Ascender` value for the font.
     * @private
     */
    private static readonly timesBoldItalicAscent;
    /**
     * `Ascender` value for the font.
     * @private
     */
    private static readonly timesBoldItalicDescent;
    /**
     * `Font type`.
     * @private
     */
    private static readonly timesBoldItalicName;
    /**
     * `Ascender` value for the font.
     * @private
     */
    private static readonly symbolAscent;
    /**
     * `Ascender` value for the font.
     * @private
     */
    private static readonly symbolDescent;
    /**
     * `Font type`.
     * @private
     */
    private static readonly symbolName;
    /**
     * `Ascender` value for the font.
     * @private
     */
    private static readonly zapfDingbatsAscent;
    /**
     * `Ascender` value for the font.
     * @private
     */
    private static readonly zapfDingbatsDescent;
    /**
     * `Font type`.
     * @private
     */
    private static readonly zapfDingbatsName;
    /**
     * `Arial` widths table.
     * @private
     */
    private static arialWidth;
    /**
     * `Arial bold` widths table.
     * @private
     */
    private static arialBoldWidth;
    /**
     * `Fixed` widths table.
     * @private
     */
    private static fixedWidth;
    /**
     * `Times` widths table.
     * @private
     */
    private static timesRomanWidth;
    /**
     * `Times bold` widths table.
     * @private
     */
    private static timesRomanBoldWidth;
    /**
     * `Times italic` widths table.
     * @private
     */
    private static timesRomanItalicWidth;
    /**
     * `Times bold italic` widths table.
     * @private
     */
    static timesRomanBoldItalicWidths: number[];
    /**
     * `Symbol` widths table.
     * @private
     */
    private static symbolWidth;
    /**
     * `Zip dingbats` widths table.
     * @private
     */
    private static zapfDingbatsWidth;
    /**
     * Returns `metrics` of the font.
     * @private
     */
    static getMetrics(fontFamily: PdfFontFamily, fontStyle: PdfFontStyle, size: number): PdfFontMetrics;
    /**
     * Creates `Helvetica font metrics`.
     * @private
     */
    private static getHelveticaMetrics;
    /**
     * Creates `Courier font metrics`.
     * @private
     */
    private static getCourierMetrics;
    /**
     * Creates `Times font metrics`.
     * @private
     */
    private static getTimesMetrics;
    /**
     * Creates `Symbol font metrics`.
     * @private
     */
    private static getSymbolMetrics;
    /**
     * Creates `ZapfDingbats font metrics`.
     * @private
     */
    private static getZapfDingbatsMetrics;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/pdf-standard-font.d.ts
/**
 * Represents one of the 14 standard fonts.
 * It's used to create a standard PDF font to draw the text in to the PDF.
 * ```typescript
 * // create a new PDF document
 * let document$ : PdfDocument = new PdfDocument();
 * // add a new page to the document
 * let page1$ : PdfPage = document.pages.add();
 * //
 * // create new standard font
 * let font$ : PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);
 * //
 * // create black brush
 * let blackBrush$ : PdfSolidBrush = new PdfSolidBrush(new PdfColor(0, 0, 0));
 * // draw the text
 * page1.graphics.drawString('Hello World', font, blackBrush, new PointF(0, 0));
 * // save the document
 * document.save('output.pdf');
 * // destroy the document
 * document.destroy();
 * ```
 */
export  class PdfStandardFont extends PdfFont {
    /**
     * First character `position`.
     * @private
     */
    private static readonly charOffset;
    /**
     * `FontFamily` of the font.
     * @private
     */
    private pdfFontFamily;
    /**
     * Gets `ascent` of the font.
     * @private
     */
    private dictionaryProperties;
    /**
     * Gets `encodings` for internal class use.
     * @hidden
     * @private
     */
    private encodings;
    /**
     * Initializes a new instance of the `PdfStandardFont` class with font family and it`s size.
     * ```typescript
     * // create a new PDF document
     * let document$ : PdfDocument = new PdfDocument();
     * // add a new page to the document
     * let page1$ : PdfPage = document.pages.add();
     * // create black brush
     * let blackBrush$ : PdfSolidBrush = new PdfSolidBrush(new PdfColor(0, 0, 0));
     * // set the font with the font family and font size
     * let font$ : PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);
     * // draw the text
     * page1.graphics.drawString('Hello World', font, blackBrush, new PointF(0, 0));
     * // save the document
     * document.save('output.pdf');
     * // destroy the document
     * document.destroy();
     * ```
     * @param fontFamily Represents the font family to be used.
     * @param size Represents the size of the font.
     */
    constructor(fontFamily: PdfFontFamily, size: number);
    /**
     * Initializes a new instance of the `PdfStandardFont` class with font family, size and font style.
     * ```typescript
     * // create a new PDF document
     * let document$ : PdfDocument = new PdfDocument();
     * // add a pages to the document
     * let page1$ : PdfPage = document.pages.add();
     * // set font
     * let font$ : PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20, PdfFontStyle.Bold);
     * // set brush
     * let blackBrush$ : PdfSolidBrush = new PdfSolidBrush(new PdfColor(0, 0, 0));
     * // draw the text
     * page1.graphics.drawString('Hello World', font, blackBrush, new PointF(10, 10));
     * // save the document
     * document.save('output.pdf');
     * // destroy the document
     * document.destroy();
     * ```
     * @param fontFamily Represents the font family to be used.
     * @param size Represents the size of the font.
     * @param style Represents the font style.
     */
    constructor(fontFamily: PdfFontFamily, size: number, style: PdfFontStyle);
    /**
     * Initializes a new instance of the `PdfStandardFont` class with `PdfStandardFont` as prototype and font size.
     * @private
     */
    constructor(prototype: PdfStandardFont, size: number);
    /**
     * Initializes a new instance of the `PdfStandardFont` class with `PdfStandardFont` as prototype,font size and font style.
     * @private
     */
    constructor(prototype: PdfStandardFont, size: number, style: PdfFontStyle);
    /**
     * Gets the `FontFamily`.
     * @private
     */
    readonly fontFamily: PdfFontFamily;
    /**
     * Checks font `style` of the font.
     * @private
     */
    private checkStyle;
    /**
     * Returns `width` of the line.
     * @public
     */
    getLineWidth(line: string, format: PdfStringFormat): number;
    /**
     * Checks whether fonts are `equals`.
     * @private
     */
    protected equalsToFont(font: PdfFont): boolean;
    /**
     * `Initializes` font internals..
     * @private
     */
    private initializeInternals;
    /**
     * `Creates` font`s dictionary.
     * @private
     */
    private createInternals;
    /**
     * Returns `width` of the char. This methods doesn`t takes into consideration font`s size.
     * @private
     */
    private getCharWidthInternal;
    /**
     * `Converts` the specified text.
     * @private
     */
    static convert(text: string): string;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/pdf-string-format.d.ts
/**
 * PdfStringFormat.ts class for EJ2-PDF
 */
/**
 * `PdfStringFormat` class represents the text layout information on PDF.
 * ```typescript
 * // create a new PDF document
 * let document$ : PdfDocument = new PdfDocument();
 * // add a pages to the document
 * let page1$ : PdfPage = document.pages.add();
 * // set font
 * let font$ : PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);
 * // set brush
 * let blackBrush$ : PdfSolidBrush = new PdfSolidBrush(new PdfColor(0, 0, 0));
 * //
 * // set the format for string
 * let stringFormat : PdfStringFormat = new PdfStringFormat();
 * // set the text alignment
 * stringFormat.alignment = PdfTextAlignment.Center;
 * // set the vertical alignment
 * stringFormat.lineAlignment = PdfVerticalAlignment.Middle;
 * //
 * // draw the text
 * page1.graphics.drawString('Hello World', font, blackBrush, new PointF(10, 10), stringFormat);
 * // save the document
 * document.save('output.pdf');
 * // destroy the document
 * document.destroy();
 * ```
 */
export  class PdfStringFormat {
    /**
     * `Horizontal text alignment`.
     * @private
     */
    private textAlignment;
    /**
     * `Vertical text alignment`.
     * @private
     */
    private verticalAlignment;
    /**
     * Indicates whether `RTL` should be checked.
     * @private
     */
    private isRightToLeft;
    /**
     * `Character spacing` value.
     * @private
     */
    private internalCharacterSpacing;
    /**
     * `Word spacing` value.
     * @private
     */
    private internalWordSpacing;
    /**
     * Text `leading`.
     * @private
     */
    private leading;
    /**
     * Shows if the text should be a part of the current `clipping` path.
     * @private
     */
    private clip;
    /**
     * Indicates whether the text is in `subscript or superscript` mode.
     * @private
     */
    private pdfSubSuperScript;
    /**
     * The `scaling factor` of the text being drawn.
     * @private
     */
    private scalingFactor;
    /**
     * Indent of the `first line` in the text.
     * @private
     */
    private initialLineIndent;
    /**
     * Indent of the `first line` in the paragraph.
     * @private
     */
    private internalParagraphIndent;
    /**
     * Indicates whether entire lines are laid out in the formatting rectangle only or not[`line limit`].
     * @private
     */
    private internalLineLimit;
    /**
     * Indicates whether spaces at the end of the line should be left or removed[`measure trailing spaces`].
     * @private
     */
    private trailingSpaces;
    /**
     * Indicates whether the text region should be `clipped` or not.
     * @private
     */
    private isNoClip;
    /**
     * Indicates text `wrapping` type.
     * @private
     */
    wordWrapType: PdfWordWrapType;
    private direction;
    /**
     * Initializes a new instance of the `PdfStringFormat` class.
     * @private
     */
    constructor();
    /**
     * Initializes a new instance of the `PdfStringFormat` class with horizontal alignment of a text.
     * @private
     */
    constructor(alignment: PdfTextAlignment);
    /**
     * Initializes a new instance of the `PdfStringFormat` class with column format.
     * @private
     */
    constructor(columnFormat: string);
    /**
     * Initializes a new instance of the `PdfStringFormat` class with horizontal and vertical alignment.
     * @private
     */
    constructor(alignment: PdfTextAlignment, lineAlignment: PdfVerticalAlignment);
    /**
     * Gets or sets the `horizontal` text alignment
     * ```typescript
     * // create a new PDF document
     * let document$ : PdfDocument = new PdfDocument();
     * // add a pages to the document
     * let page1$ : PdfPage = document.pages.add();
     * // set font
     * let font$ : PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);
     * // set brush
     * let blackBrush$ : PdfSolidBrush = new PdfSolidBrush(new PdfColor(0, 0, 0));
     * //
     * // set the format for string
     * let stringFormat : PdfStringFormat = new PdfStringFormat();
     * // set the text alignment
     * stringFormat.alignment = PdfTextAlignment.Center;
     * //
     * // draw the text
     * page1.graphics.drawString('Hello World', font, blackBrush, new PointF(10, 10), stringFormat);
     * // save the document
     * document.save('output.pdf');
     * // destroy the document
     * document.destroy();
     * ```
     */
    alignment: PdfTextAlignment;
    textDirection: PdfTextDirection;
    /**
     * Gets or sets the `vertical` text alignment.
     * ```typescript
     * // create a new PDF document
     * let document$ : PdfDocument = new PdfDocument();
     * // add a pages to the document
     * let page1$ : PdfPage = document.pages.add();
     * // set font
     * let font$ : PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);
     * // set brush
     * let blackBrush$ : PdfSolidBrush = new PdfSolidBrush(new PdfColor(0, 0, 0));
     * //
     * // set the format for string
     * let stringFormat : PdfStringFormat = new PdfStringFormat();
     * // set the vertical alignment
     * stringFormat.lineAlignment = PdfVerticalAlignment.Middle;
     * //
     * // draw the text
     * page1.graphics.drawString('Hello World', font, blackBrush, new PointF(10, 10), stringFormat);
     * // save the document
     * document.save('output.pdf');
     * // destroy the document
     * document.destroy();
     * ```
     */
    lineAlignment: PdfVerticalAlignment;
    /**
     * Gets or sets the value that indicates text `direction` mode.
     * @private
     */
    rightToLeft: boolean;
    /**
     * Gets or sets value that indicates a `size` among the characters in the text.
     * ```typescript
     * // create a new PDF document
     * let document$ : PdfDocument = new PdfDocument();
     * // add a pages to the document
     * let page1$ : PdfPage = document.pages.add();
     * // set font
     * let font$ : PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);
     * // set brush
     * let blackBrush$ : PdfSolidBrush = new PdfSolidBrush(new PdfColor(0, 0, 0));
     * //
     * // set the format for string
     * let stringFormat : PdfStringFormat = new PdfStringFormat();
     * // set character spacing
     * stringFormat.characterSpacing = 10;
     * //
     * // draw the text
     * page1.graphics.drawString('Hello World', font, blackBrush, new PointF(10, 10), stringFormat);
     * // save the document
     * document.save('output.pdf');
     * // destroy the document
     * document.destroy();
     * ```
     */
    characterSpacing: number;
    /**
     * Gets or sets value that indicates a `size` among the words in the text.
     * ```typescript
     * // create a new PDF document
     * let document$ : PdfDocument = new PdfDocument();
     * // add a pages to the document
     * let page1$ : PdfPage = document.pages.add();
     * // set font
     * let font$ : PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);
     * // set brush
     * let blackBrush$ : PdfSolidBrush = new PdfSolidBrush(new PdfColor(0, 0, 0));
     * //
     * // set the format for string
     * let stringFormat : PdfStringFormat = new PdfStringFormat();
     * // set word spacing
     * stringFormat.wordSpacing = 10;
     * //
     * // draw the text
     * page1.graphics.drawString('Hello World', font, blackBrush, new PointF(10, 10), stringFormat);
     * // save the document
     * document.save('output.pdf');
     * // destroy the document
     * document.destroy();
     * ```
     */
    wordSpacing: number;
    /**
     * Gets or sets value that indicates the `vertical distance` between the baselines of adjacent lines of text.
     * ```typescript
     * // create a new PDF document
     * let document$ : PdfDocument = new PdfDocument();
     * // add a pages to the document
     * let page1$ : PdfPage = document.pages.add();
     * // set font
     * let font$ : PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);
     * // set brush
     * let blackBrush$ : PdfSolidBrush = new PdfSolidBrush(new PdfColor(0, 0, 0));
     * // set string
     * let text : string = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor
     * incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitati';
     * // set rectangle bounds
     * let rectangle : RectangleF = new RectangleF({x : 0, y : 0}, {width : 300, height : 100})
     * //
     * // set the format for string
     * let stringFormat : PdfStringFormat = new PdfStringFormat();
     * // set line spacing
     * stringFormat.lineSpacing = 10;
     * //
     * // draw the text
     * page1.graphics.drawString(text, font, blackBrush, rectangle, stringFormat);
     * // save the document
     * document.save('output.pdf');
     * // destroy the document
     * document.destroy();
     * ```
     */
    lineSpacing: number;
    /**
     * Gets or sets a value indicating whether the text is `clipped` or not.
     * @private
     */
    clipPath: boolean;
    /**
     * Gets or sets value indicating whether the text is in `subscript or superscript` mode.
     * @private
     */
    subSuperScript: PdfSubSuperScript;
    /**
     * Gets or sets the `indent` of the first line in the paragraph.
     * @private
     */
    paragraphIndent: number;
    /**
     * Gets or sets a value indicating whether [`line limit`].
     * @private
     */
    lineLimit: boolean;
    /**
     * Gets or sets a value indicating whether [`measure trailing spaces`].
     * @private
     */
    measureTrailingSpaces: boolean;
    /**
     * Gets or sets a value indicating whether [`no clip`].
     * @private
     */
    noClip: boolean;
    /**
     * Gets or sets value indicating type of the text `wrapping`.
     * @private
     */
    wordWrap: PdfWordWrapType;
    /**
     * Gets or sets the `scaling factor`.
     * @private
     */
    horizontalScalingFactor: number;
    /**
     * Gets or sets the `indent` of the first line in the text.
     * @private
     */
    firstLineIndent: number;
    /**
     * `Clones` the object.
     * @private
     */
    clone(): Object;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/pdf-true-type-font.d.ts
/**
 * PdfTrueTypeFont.ts class for EJ2-PDF
 */
export  class PdfTrueTypeFont extends PdfFont {
    /**
     * Internal font object.
     * @private
     */
    fontInternal: UnicodeTrueTypeFont;
    /**
     * Indicates whether the font is embedded or not.
     * @private
     */
    isEmbedFont: boolean;
    /**
     * Indicates whether the font is unicoded or not.
     * @private
     */
    isUnicode: boolean;
    /**
     * Initializes a new instance of the `PdfTrueTypeFont` class.
     * @private
     */
    constructor(base64String: string, size: number);
    constructor(base64String: string, size: number, style: PdfFontStyle);
    protected equalsToFont(font: PdfFont): boolean;
    getLineWidth(line: string, format: PdfStringFormat): number;
    /**
     * Returns width of the char.
     */
    getCharWidth(charCode: string, format: PdfStringFormat): number;
    createFontInternal(base64String: string, style: PdfFontStyle): void;
    private calculateStyle;
    private initializeInternals;
    /**
     * Stores used symbols.
     */
    setSymbols(text: string): void;
    /**
     * Property
     *
     */
    readonly Unicode: boolean;
    private getUnicodeLineWidth;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/rtl-renderer.d.ts
/**
 * RTL-Renderer.ts class for EJ2-PDF
 */
/**
 * `Metrics` of the font.
 * @private
 */
export  class RtlRenderer {
    private readonly openBracket;
    private readonly closeBracket;
    layout(line: string, font: PdfTrueTypeFont, rtl: boolean, wordSpace: boolean, format: PdfStringFormat): string[];
    splitLayout(line: string, font: PdfTrueTypeFont, rtl: boolean, wordSpace: boolean, format: PdfStringFormat): string[];
    getGlyphIndex(line: string, font: PdfTrueTypeFont, rtl: boolean, /*out*/ glyphs: Uint16Array, custom?: boolean | null): {
        success: boolean;
        glyphs: Uint16Array;
    };
    customLayout(line: string, rtl: boolean, format: PdfStringFormat): string;
    customLayout(line: string, rtl: boolean, format: PdfStringFormat, font: PdfTrueTypeFont, wordSpace: boolean): string[];
    addChars(font: PdfTrueTypeFont, glyphs: string): string;
    customSplitLayout(line: string, font: PdfTrueTypeFont, rtl: boolean, wordSpace: boolean, format: PdfStringFormat): string[];
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/rtl/index.d.ts
/**
 * Figures Base classes
 * @hidden
 */
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/rtl/rtl-bidirectional.d.ts
/**
 * `Metrics` of the font.
 * @private
 */
export  class Bidi {
    private indexes;
    private indexLevels;
    private mirroringShapeCharacters;
    constructor();
    private doMirrorShaping;
    getLogicalToVisualString(inputText: string, isRtl: boolean): string;
    private setDefaultIndexLevel;
    private doOrder;
    private reArrange;
    private update;
}
export  class RtlCharacters {
    private types;
    private textOrder;
    private length;
    private result;
    private levels;
    rtlCharacterTypes: number[];
    private readonly L;
    private readonly LRE;
    private readonly LRO;
    private readonly R;
    private readonly AL;
    private readonly RLE;
    private readonly RLO;
    private readonly PDF;
    private readonly EN;
    private readonly ES;
    private readonly ET;
    private readonly AN;
    private readonly CS;
    private readonly NSM;
    private readonly BN;
    private readonly B;
    private readonly S;
    private readonly WS;
    private readonly ON;
    private readonly charTypes;
    constructor();
    getVisualOrder(inputText: string, isRtl: boolean): number[];
    private getCharacterCode;
    private setDefaultLevels;
    private setLevels;
    private updateLevels;
    private doVisualOrder;
    private getEmbeddedCharactersLength;
    private checkEmbeddedCharacters;
    private checkNSM;
    private checkEuropeanDigits;
    private checkArabicCharacters;
    private checkEuropeanNumberSeparator;
    private checkEuropeanNumberTerminator;
    private checkOtherNeutrals;
    private checkOtherCharacters;
    private getLength;
    private checkCommanCharacters;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/rtl/rtl-text-shape.d.ts
export  class ArabicShapeRenderer {
    private readonly arabicCharTable;
    private readonly alef;
    private readonly alefHamza;
    private readonly alefHamzaBelow;
    private readonly alefMadda;
    private readonly lam;
    private readonly hamza;
    private readonly zeroWidthJoiner;
    private readonly hamzaAbove;
    private readonly hamzaBelow;
    private readonly wawHamza;
    private readonly yehHamza;
    private readonly waw;
    private readonly alefMaksura;
    private readonly yeh;
    private readonly farsiYeh;
    private readonly shadda;
    private readonly madda;
    private readonly lwa;
    private readonly lwawh;
    private readonly lwawhb;
    private readonly lwawm;
    private readonly bwhb;
    private readonly fathatan;
    private readonly superScriptalef;
    private readonly vowel;
    private arabicMapTable;
    constructor();
    private getCharacterShape;
    shape(text: string, level: number): string;
    private doShape;
    private append;
    private ligature;
    private getShapeCount;
}
export  class ArabicShape {
    private shapeValue;
    private shapeType;
    private shapeVowel;
    private shapeLigature;
    private shapeShapes;
    /**
     * Gets or sets the values.
     * @private
     */
    Value: string;
    /**
     * Gets or sets the values.
     * @private
     */
    Type: string;
    /**
     * Gets or sets the values.
     * @private
     */
    vowel: string;
    /**
     * Gets or sets the values.
     * @private
     */
    Ligature: number;
    /**
     * Gets or sets the values.
     * @private
     */
    Shapes: number;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/string-layouter.d.ts
/**
 * PdfStringLayouter.ts class for EJ2-PDF
 */
/**
 * Class `lay outing the text`.
 */
export  class PdfStringLayouter {
    /**
     * `Text` data.
     * @private
     */
    private text;
    /**
     * Pdf `font`.
     * @private
     */
    private font;
    /**
     * String `format`.
     * @private
     */
    private format;
    /**
     * `Size` of the text.
     * @private
     */
    private size;
    /**
     * `Bounds` of the text.
     * @private
     */
    private rectangle;
    /**
     * Pdf page `height`.
     * @private
     */
    private pageHeight;
    /**
     * String `tokenizer`.
     * @private
     */
    private reader;
    /**
     * Specifies if [`isTabReplaced`].
     * @private
     */
    private isTabReplaced;
    /**
     * Count of tab `occurance`.
     * @private
     */
    private tabOccuranceCount;
    /**
     * Checks whether the x co-ordinate is need to set as client size or not.
     * @hidden
     * @private
     */
    private isOverloadWithPosition;
    /**
     * Stores client size of the page if the layout method invoked with `PointF` overload.
     * @hidden
     * @private
     */
    private clientSize;
    /**
     * Initializes a new instance of the `StringLayouter` class.
     * @private
     */
    constructor();
    /**
     * `Layouts` the text.
     * @private
     */
    layout(text: string, font: PdfFont, format: PdfStringFormat, rectangle: RectangleF, pageHeight: number, recalculateBounds: boolean, clientSize: SizeF): PdfStringLayoutResult;
    layout(text: string, font: PdfFont, format: PdfStringFormat, size: SizeF, recalculateBounds: boolean, clientSize: SizeF): PdfStringLayoutResult;
    /**
     * `Initializes` internal data.
     * @private
     */
    private initialize;
    /**
     * `Clear` all resources.
     * @private
     */
    private clear;
    /**
     * `Layouts` the text.
     * @private
     */
    private doLayout;
    /**
     * Returns `line indent` for the line.
     * @private
     */
    private getLineIndent;
    /**
     * Calculates `height` of the line.
     * @private
     */
    private getLineHeight;
    /**
     * Calculates `width` of the line.
     * @private
     */
    private getLineWidth;
    /**
     * `Layouts` line.
     * @private
     */
    private layoutLine;
    /**
     * `Adds` line to line result.
     * @private
     */
    private addToLineResult;
    /**
     * `Copies` layout result from line result to entire result. Checks whether we can proceed lay outing or not.
     * @private
     */
    private copyToResult;
    /**
     * `Finalizes` final result.
     * @private
     */
    private finalizeResult;
    /**
     * `Trims` whitespaces at the line.
     * @private
     */
    private trimLine;
    /**
     * Returns `wrap` type.
     * @private
     */
    private getWrapType;
}
export  class PdfStringLayoutResult {
    /**
     * Layout `lines`.
     * @private
     */
    layoutLines: LineInfo[];
    /**
     * The `text` wasn`t lay outed.
     * @private
     */
    textRemainder: string;
    /**
     * Actual layout text `bounds`.
     * @private
     */
    size: SizeF;
    /**
     * `Height` of the line.
     * @private
     */
    layoutLineHeight: number;
    /**
     * Gets the `text` which is not lay outed.
     * @private
     */
    readonly remainder: string;
    /**
     * Gets the actual layout text `bounds`.
     * @private
     */
    readonly actualSize: SizeF;
    /**
     * Gets layout `lines` information.
     * @private
     */
    readonly lines: LineInfo[];
    /**
     * Gets the `height` of the line.
     * @private
     */
    readonly lineHeight: number;
    /**
     * Gets value that indicates whether any layout text [`empty`].
     * @private
     */
    readonly empty: boolean;
    /**
     * Gets `number of` the layout lines.
     * @private
     */
    readonly lineCount: number;
}
export  class LineInfo {
    /**
     * Line `text`.
     * @private
     */
    content: string;
    /**
     * `Width` of the text.
     * @private
     */
    lineWidth: number;
    /**
     * `Breaking type` of the line.
     * @private
     */
    type: LineType;
    /**
     * Gets the `type` of the line text.
     * @private
     */
    lineType: LineType;
    /**
     * Gets the line `text`.
     * @private
     */
    text: string;
    /**
     * Gets `width` of the line text.
     * @private
     */
    width: number;
}
/**
* Break type of the `line`.
* @private
*/
export  enum LineType {
    /**
     * Specifies the type of `None`.
     * @private
     */
    None = 0,
    /**
     * Specifies the type of `NewLineBreak`.
     * @private
     */
    NewLineBreak = 1,
    /**
     * Specifies the type of `LayoutBreak`.
     * @private
     */
    LayoutBreak = 2,
    /**
     * Specifies the type of `FirstParagraphLine`.
     * @private
     */
    FirstParagraphLine = 4,
    /**
     * Specifies the type of `LastParagraphLine`.
     * @private
     */
    LastParagraphLine = 8
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/string-tokenizer.d.ts
/**
 * StringTokenizer.ts class for EJ2-PDF
 * Utility class for working with strings.
 * @private
 */
export  class StringTokenizer {
    /**
     * `Whitespace` symbol.
     * @private
     */
    static readonly whiteSpace: string;
    /**
     * `tab` symbol.
     * @private
     */
    static readonly tab: string;
    /**
     * Array of `spaces`.
     * @private
     */
    static readonly spaces: string[];
    /**
     * `Pattern` for WhiteSpace.
     * @private
     */
    private static readonly whiteSpacePattern;
    /**
     * `Text` data.
     * @private
     */
    private text;
    /**
     * Current `position`.
     * @private
     */
    private currentPosition;
    /**
     * Initializes a new instance of the `StringTokenizer` class.
     * @private
     */
    constructor(textValue: string);
    /**
     * Gets text `length`.
     * @private
     */
    readonly length: number;
    readonly end: boolean;
    /**
     * Gets or sets the position.
     * @private
     */
    position: number;
    /**
     * Returns number of symbols occurred in the text.
     * @private
     */
    static getCharsCount(text: string, symbols: string): number;
    /**
     * Returns number of symbols occurred in the text.
     * @private
     */
    static getCharsCount(text: string, symbols: string[]): number;
    /**
     * Reads line of the text.
     * @private
     */
    readLine(): string;
    /**
     * Reads line of the text.
     * @private
     */
    peekLine(): string;
    /**
     * Reads a word from the text.
     * @private
     */
    readWord(): string;
    /**
     * Peeks a word from the text.
     * @private
     */
    peekWord(): string;
    /**
     * Reads char form the data.
     * @private
     */
    read(): string;
    /**
     * Reads count of the symbols.
     * @private
     */
    read(count: number): string;
    /**
     * Peeks char form the data.
     * @private
     */
    peek(): string;
    /**
     * Closes a reader.
     * @private
     */
    close(): void;
    readToEnd(): string;
    /**
     * Checks whether array contains a symbol.
     * @private
     */
    private static contains;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-apple-cmap-sub-table.d.ts
/**
 * TtfAppleCmapSubTable.ts class for EJ2-PDF
 */
export  class TtfAppleCmapSubTable {
    /**
     * Structure field.
     */
    format: number;
    /**
     * Structure field.
     */
    length: number;
    /**
     * Structure field.
     */
    version: number;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-cmap-sub-table.d.ts
/**
 * TtfCmapSubTable.ts class for EJ2-PDF
 */
export  class TtfCmapSubTable {
    /**
     * Structure field.
     */
    platformID: number;
    /**
     * Structure field.
     */
    encodingID: number;
    /**
     * Structure field.
     */
    offset: number;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-cmap-table.d.ts
/**
 * TtfCmapTable.ts class for EJ2-PDF
 */
export  class TtfCmapTable {
    /**
     * Structure field.
     */
    version: number;
    /**
     * Structure field.
     */
    tablesCount: number;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-glyph-header.d.ts
/**
 * TtfLocaTable.ts class for EJ2-PDF
 */
export  class TtfGlyphHeader {
    /**
     * Structure field.
     */
    numberOfContours: number;
    /**
     * Structure field.
     */
    xMin: number;
    /**
     * Structure field.
     */
    yMin: number;
    /**
     * Structure field.
     */
    xMax: number;
    /**
     * Structure field.
     */
    yMax: number;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-glyph-info.d.ts
/**
 * TtfGlyphInfo.ts class for EJ2-PDF
 */
export  class TtfGlyphInfo {
    /**
     * Holds glyph index.
     */
    index: number;
    /**
     * Holds character's width.
     */
    width: number;
    /**
     * Code of the char symbol.
     */
    charCode: number;
    /**
     * Gets a value indicating whether this TtfGlyphInfo is empty.
     */
    readonly empty: boolean;
    /**
     * Compares two WidthDescriptor objects.
     */
    compareTo(obj: Object): number;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-head-table.d.ts
/**
 * TtfHeadTable.ts class for EJ2-PDF
 */
export  class TtfHeadTable {
    /**
     * Modified: International date (8-byte field).
     */
    modified: number;
    /**
     * Created: International date (8-byte field).
     */
    created: number;
    /**
     * MagicNumber: Set to 0x5F0F3CF5.
     */
    magicNumber: number;
    /**
     * CheckSumAdjustment: To compute: set it to 0, sum the entire font as U Long,
     * then store 0x B 1 B 0 A F B A - sum.
     */
    checkSumAdjustment: number;
    /**
     * FontRevision: Set by font manufacturer.
     */
    fontRevision: number;
    /**
     * Table version number: 0x00010000 for version 1.0.
     */
    version: number;
    /**
     * Minimum x for all glyph bounding boxes.
     */
    xMin: number;
    /**
     * Minimum y for all glyph bounding boxes.
     */
    yMin: number;
    /**
     * Valid range is from 16 to 16384.
     */
    unitsPerEm: number;
    /**
     * Maximum y for all glyph bounding boxes.
     */
    yMax: number;
    /**
     * Maximum x for all glyph bounding boxes.
     */
    xMax: number;
    /**
     * Regular: 0
     * Bold: 1
     * Italic: 2
     * Bold Italic: 3
     * Bit 0 - bold (if set to 1)
     * Bit 1 - italic (if set to 1)
     * Bits 2-15 - reserved (set to 0)
     * NOTE:
     * Note that macStyle bits must agree with the 'OS/2' table fsSelection bits.
     * The fsSelection bits are used over the macStyle bits in Microsoft Windows.
     * The PANOSE values and 'post' table values are ignored for determining bold or italic fonts.
     */
    macStyle: number;
    /**
     * Bit 0 - baseline for font at y=0
     * Bit 1 - left SideBearing at x=0
     * Bit 2 - instructions may depend on point size
     * Bit 3 - force p p e m to integer values for all private scaler math;
 may use fractional p p e m sizes if this bit is clean
     * Bit 4 - instructions may alter advance width (the advance widths might not scale linearly)
     * Note: All other bits must be zero.
     */
    flags: number;
    /**
     * lowestReadableSize: Smallest readable size in pixels.
     */
    lowestReadableSize: number;
    /**
     * FontDirectionHint:
     * 0   Fully mixed directional glyphs
     * 1   Only strongly left to right
     * 2   Like 1 but also contains neutrals
     * -1   Only strongly right to left
     * -2   Like -1 but also contains neutrals.
     */
    fontDirectionHint: number;
    /**
     * 0 for short offsets, 1 for long.
     */
    indexToLocalFormat: number;
    /**
     * 0 for current format.
     */
    glyphDataFormat: number;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-horizontal-header-table.d.ts
/**
 * TtfHorizontalHeaderTable.ts class for EJ2-PDF
 */
export  class TtfHorizontalHeaderTable {
    /**
     * Version of the horizontal header table.
     */
    version: number;
    /**
     * Typographic ascent.
     */
    ascender: number;
    /**
     * Maximum advance width value in HTML table.
     */
    advanceWidthMax: number;
    /**
     * Typographic descent.
     */
    descender: number;
    /**
     * Number of hMetric entries in HTML table;
     * may be smaller than the total number of glyphs in the font.
     */
    numberOfHMetrics: number;
    /**
     * Typographic line gap. Negative LineGap values are treated as DEF_TABLE_CHECKSUM
     * in Windows 3.1, System 6, and System 7.
     */
    lineGap: number;
    /**
     * Minimum left SideBearing value in HTML table.
     */
    minLeftSideBearing: number;
    /**
     * Minimum right SideBearing value;
 calculated as Min(aw - lsb - (xMax - xMin)).
     */
    minRightSideBearing: number;
    /**
     * Max(lsb + (xMax - xMin)).
     */
    xMaxExtent: number;
    /**
     * Used to calculate the slope of the cursor (rise/run);
 1 for vertical.
     */
    caretSlopeRise: number;
    /**
     * 0 for vertical.
     */
    caretSlopeRun: number;
    /**
     * 0 for current format.
     */
    metricDataFormat: number;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-loca-table.d.ts
/**
 * TtfLocaTable.ts class for EJ2-PDF
 */
export  class TtfLocaTable {
    /**
     * Structure field.
     */
    offsets: number[];
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-long-hor-metric.d.ts
/**
 * TtfLongHorMetric.ts class for EJ2-PDF
 */
export  class TtfLongHorMetric {
    /**
     * Structure field.
     */
    advanceWidth: number;
    /**
     * Structure field.
     */
    lsb: number;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-metrics.d.ts
/**
 * TtfMetrics.ts class for EJ2-PDF
 */
export  class TtfMetrics {
    /**
     * Typographic line gap.
     * Negative LineGap values are treated as DEF_TABLE_CHECKSUM.
     */
    lineGap: number;
    /**
     * Gets or sets contains C F F.
     */
    contains: boolean;
    /**
     * Gets or sets value indicating if Symbol font is used.
     */
    isSymbol: boolean;
    /**
     * Gets or sets description font item.
     */
    fontBox: Rectangle;
    /**
     * Gets or sets description font item.
     */
    isFixedPitch: boolean;
    /**
     * Gets or sets description font item.
     */
    italicAngle: number;
    /**
     * Gets or sets post-script font name.
     */
    postScriptName: string;
    /**
     * Gets or sets font family name.
     */
    fontFamily: string;
    /**
     * Gets or sets description font item.
     */
    capHeight: number;
    /**
     * Gets or sets description font item.
     */
    leading: number;
    /**
     * Gets or sets description font item.
     */
    macAscent: number;
    /**
     * Gets or sets description font item.
     */
    macDescent: number;
    /**
     * Gets or sets description font item.
     */
    winDescent: number;
    /**
     * Gets or sets description font item.
     */
    winAscent: number;
    /**
     * Gets or sets description font item.
     */
    stemV: number;
    /**
     * Gets or sets widths table for the font.
     */
    widthTable: number[];
    /**
     * Regular: 0
     * Bold: 1
     * Italic: 2
     * Bold Italic: 3
     * Bit 0- bold (if set to 1)
     * Bit 1- italic (if set to 1)
     * Bits 2-15- reserved (set to 0).
     * NOTE:
     * Note that macStyle bits must agree with the 'OS/2' table fsSelection bits.
     * The fsSelection bits are used over the macStyle bits in Microsoft Windows.
     * The PANOSE values and 'post' table values are ignored for determining bold or italic fonts.
     */
    macStyle: number;
    /**
     * Subscript size factor.
     */
    subScriptSizeFactor: number;
    /**
     * Superscript size factor.
     */
    superscriptSizeFactor: number;
    /**
     * Gets a value indicating whether this instance is italic.
     */
    readonly isItalic: boolean;
    /**
     * Gets a value indicating whether this instance is bold.
     */
    readonly isBold: boolean;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-microsoft-cmap-sub-table.d.ts
/**
 * TtfMicrosoftCmapSubTable.ts class for EJ2-PDF
 */
export  class TtfMicrosoftCmapSubTable {
    /**
     * Structure field.
     */
    format: number;
    /**
     * Structure field.
     */
    length: number;
    /**
     * Structure field.
     */
    version: number;
    /**
     * Structure field.
     */
    segCountX2: number;
    /**
     * Structure field.
     */
    searchRange: number;
    /**
     * Structure field.
     */
    entrySelector: number;
    /**
     * Structure field.
     */
    rangeShift: number;
    /**
     * Structure field.
     */
    endCount: number[];
    /**
     * Structure field.
     */
    reservedPad: number;
    /**
     * Structure field.
     */
    startCount: number[];
    /**
     * Structure field.
     */
    idDelta: number[];
    /**
     * Structure field.
     */
    idRangeOffset: number[];
    /**
     * Structure field.
     */
    glyphID: number[];
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-name-record.d.ts
/**
 * TtfNameRecord.ts class for EJ2-PDF
 */
export  class TtfNameRecord {
    /**
     * The PlatformID.
     */
    platformID: number;
    /**
     * The EncodingID.
     */
    encodingID: number;
    /**
     * The LanguageID
     */
    languageID: number;
    /**
     * The NameID.
     */
    nameID: number;
    /**
     * The Length.
     */
    length: number;
    /**
     * The Offset.
     */
    offset: number;
    /**
     * The Name.
     */
    name: string;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-name-table.d.ts
/**
 * TtfNameTable.ts class for EJ2-PDF
 */
export  class TtfNameTable {
    /**
     * Local variable to store Format Selector.
     */
    formatSelector: number;
    /**
     * Local variable to store Records Count.
     */
    recordsCount: number;
    /**
     * Local variable to store Offset.
     */
    offset: number;
    /**
     * Local variable to store Name Records.
     */
    nameRecords: TtfNameRecord[];
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-OS2-Table.d.ts
/**
 * TtfOS2Table.ts class for EJ2-PDF
 * The OS/2 table consists of a set of metrics that are required by Windows and OS/2.
 */
export  class TtfOS2Table {
    /**
     * Structure field.
     */
    version: number;
    /**
     * The Average Character Width parameter specifies
     * the arithmetic average of the escapement (width)
     * of all of the 26 lowercase letters a through z of the Latin alphabet
     * and the space character. If any of the 26 lowercase letters are not present,
     * this parameter should equal the weighted average of all glyphs in the font.
     * For non - U G L (platform 3, encoding 0) fonts, use the unweighted average.
     */
    xAvgCharWidth: number;
    /**
     * Indicates the visual weight (degree of blackness or thickness of strokes)
     * of the characters in the font.
     */
    usWeightClass: number;
    /**
     * Indicates a relative change from the normal aspect ratio (width to height ratio)
     * as specified by a font designer for the glyphs in a font.
     */
    usWidthClass: number;
    /**
     * Indicates font embedding licensing rights for the font.
     * Embeddable fonts may be stored in a document.
     * When a document with embedded fonts is opened on a system that does not have the font installed
     * (the remote system), the embedded font may be loaded for temporary (and in some cases, permanent)
     * use on that system by an embedding-aware application.
     * Embedding licensing rights are granted by the vendor of the font.
     */
    fsType: number;
    /**
     * The recommended horizontal size in font design units for subscripts for this font.
     */
    ySubscriptXSize: number;
    /**
     * The recommended vertical size in font design units for subscripts for this font.
     */
    ySubscriptYSize: number;
    /**
     * The recommended horizontal offset in font design units for subscripts for this font.
     */
    ySubscriptXOffset: number;
    /**
     * The recommended vertical offset in font design units from the baseline for subscripts for this font.
     */
    ySubscriptYOffset: number;
    /**
     * The recommended horizontal size in font design units for superscripts for this font.
     */
    ySuperscriptXSize: number;
    /**
     * The recommended vertical size in font design units for superscripts for this font.
     */
    ySuperscriptYSize: number;
    /**
     * The recommended horizontal offset in font design units for superscripts for this font.
     */
    ySuperscriptXOffset: number;
    /**
     * The recommended vertical offset in font design units from the baseline for superscripts for this font.
     */
    ySuperscriptYOffset: number;
    /**
     * Width of the strikeout stroke in font design units.
     */
    yStrikeoutSize: number;
    /**
     * The position of the strikeout stroke relative to the baseline in font design units.
     */
    yStrikeoutPosition: number;
    /**
     * This parameter is a classification of font-family design.
     */
    sFamilyClass: number;
    /**
     * This 10 byte series of numbers are used to describe the visual characteristics
     * of a given typeface.  These characteristics are then used to associate the font with
     * other fonts of similar appearance having different names. The variables for each digit are listed below.
     * The specifications for each variable can be obtained in the specification
     * PANOSE v2.0 Numerical Evaluation from Microsoft Corporation.
     */
    panose: number[];
    /**
     * Structure field.
     */
    ulUnicodeRange1: number;
    /**
     * Structure field.
     */
    ulUnicodeRange2: number;
    /**
     * Structure field.
     */
    ulUnicodeRange3: number;
    /**
     * Structure field.
     */
    ulUnicodeRange4: number;
    /**
     * The four character identifier for the vendor of the given type face.
     */
    vendorIdentifier: number[];
    /**
     * Information concerning the nature of the font patterns.
     */
    fsSelection: number;
    /**
     * The minimum Unicode index (character code) in this font,
     * according to the cmap subtable for platform ID 3 and encoding ID 0 or 1.
     * For most fonts supporting Win-ANSI or other character sets, this value would be 0x0020.
     */
    usFirstCharIndex: number;
    /**
     * usLastCharIndex: The maximum Unicode index (character code) in this font,
     * according to the cmap subtable for platform ID 3 and encoding ID 0 or 1.
     * This value depends on which character sets the font supports.
     */
    usLastCharIndex: number;
    /**
     * The typographic ascender for this font.
     * Remember that this is not the same as the Ascender value in the 'h h e a' table,
     * which Apple defines in a far different manner.
     * DEF_TABLE_OFFSET good source for usTypoAscender is the Ascender value from an A F M file.
     */
    sTypoAscender: number;
    /**
     * The typographic descender for this font.
     * Remember that this is not the same as the Descender value in the 'h h e a' table,
     * which Apple defines in a far different manner.
     * DEF_TABLE_OFFSET good source for usTypoDescender is the Descender value from an A F M file.
     */
    sTypoDescender: number;
    /**
     * The typographic line gap for this font.
     * Remember that this is not the same as the LineGap value in the 'h h e a' table,
     * which Apple defines in a far different manner.
     */
    sTypoLineGap: number;
    /**
     * The ascender metric for Windows.
     * This too is distinct from Apple's Ascender value and from the usTypoAscender values.
     * usWinAscent is computed as the yMax for all characters in the Windows ANSI character set.
     * usTypoAscent is used to compute the Windows font height and default line spacing.
     * For platform 3 encoding 0 fonts, it is the same as yMax.
     */
    usWinAscent: number;
    /**
     * The descender metric for Windows.
     * This too is distinct from Apple's Descender value and from the usTypoDescender values.
     * usWinDescent is computed as the -yMin for all characters in the Windows ANSI character set.
     * usTypoAscent is used to compute the Windows font height and default line spacing.
     * For platform 3 encoding 0 fonts, it is the same as -yMin.
     */
    usWinDescent: number;
    /**
     * This field is used to specify the code pages encompassed
     * by the font file in the 'cmap' subtable for platform 3, encoding ID 1 (Microsoft platform).
     * If the font file is encoding ID 0, then the Symbol Character Set bit should be set.
     * If the bit is set (1) then the code page is considered functional.
     * If the bit is clear (0) then the code page is not considered functional.
     * Each of the bits is treated as an independent flag and the bits can be set in any combination.
     * The determination of "functional" is left up to the font designer,
     * although character set selection should attempt to be functional by code pages if at all possible.
     */
    ulCodePageRange1: number;
    /**
     * This field is used to specify the code pages encompassed
     * by the font file in the 'cmap' subtable for platform 3, encoding ID 1 (Microsoft platform).
     * If the font file is encoding ID 0, then the Symbol Character Set bit should be set.
     * If the bit is set (1) then the code page is considered functional.
     * If the bit is clear (0) then the code page is not considered functional.
     * Each of the bits is treated as an independent flag and the bits can be set in any combination.
     * The determination of "functional" is left up to the font designer,
     * although character set selection should attempt to be functional by code pages if at all possible.
     */
    ulCodePageRange2: number;
    /**
     * Structure field.
     */
    sxHeight: number;
    /**
     * Structure field.
     */
    sCapHeight: number;
    /**
     * Structure field.
     */
    usDefaultChar: number;
    /**
     * Structure field.
     */
    usBreakChar: number;
    /**
     * Structure field.
     */
    usMaxContext: number;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-post-table.d.ts
/**
 * TtfPostTable.ts class for EJ2-PDF
 */
export  class TtfPostTable {
    /**
     * Structure field.
     */
    formatType: number;
    /**
     * Structure field.
     */
    italicAngle: number;
    /**
     * Structure field.
     */
    underlinePosition: number;
    /**
     * Structure field.
     */
    underlineThickness: number;
    /**
     * Structure field.
     */
    isFixedPitch: number;
    /**
     * Structure field.
     */
    minType42: number;
    /**
     * Structure field.
     */
    maxType42: number;
    /**
     * Structure field.
     */
    minType1: number;
    /**
     * Structure field.
     */
    maxType1: number;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-reader.d.ts
/**
 * TtfReader.ts class for EJ2-PDF
 */
export  class TtfReader {
    private fontData;
    private readonly int32Size;
    private offset;
    tableDirectory: Dictionary<string, TtfTableInfo>;
    private isTtcFont;
    private isMacTtf;
    private lowestPosition;
    private metricsName;
    metrics: TtfMetrics;
    private maxMacIndex;
    private isFontPresent;
    private isMacTTF;
    private missedGlyphs;
    private tableNames;
    private entrySelectors;
    /**
     * Width table.
     */
    private width;
    /**
     * Indicates whether loca table is short.
     */
    bIsLocaShort: boolean;
    /**
     * Glyphs for Macintosh or Symbol fonts.
     */
    private macintoshDictionary;
    /**
     * Glyphs for Microsoft or Symbol fonts.
     */
    private microsoftDictionary;
    /**
     * Glyphs for Macintosh or Symbol fonts (glyph index - key, glyph - value).
     */
    private internalMacintoshGlyphs;
    /**
     * Glyphs for Microsoft or Symbol fonts (glyph index - key, glyph - value).
     */
    private internalMicrosoftGlyphs;
    /**
     * Gets glyphs for Macintosh or Symbol fonts (char - key, glyph - value).
     */
    private readonly macintosh;
    /**
     * Gets glyphs for Microsoft or Symbol fonts (char - key, glyph - value).
     */
    private readonly microsoft;
    /**
     * Gets glyphs for Macintosh or Symbol fonts (glyph index - key, glyph - value).
     */
    private readonly macintoshGlyphs;
    /**
     * Gets glyphs for Microsoft Unicode fonts (glyph index - key, glyph - value).
     */
    private readonly microsoftGlyphs;
    constructor(fontData: Uint8Array);
    private initialize;
    private readFontDictionary;
    private fixOffsets;
    private checkPreambula;
    private readNameTable;
    private readHeadTable;
    private readHorizontalHeaderTable;
    private readOS2Table;
    private readPostTable;
    /**
     * Reads Width of the glyphs.
     */
    private readWidthTable;
    /**
     * Reads the cmap table.
     */
    private readCmapTable;
    /**
     * Reads the cmap sub table.
     */
    private readCmapSubTable;
    /**
     * Reads Symbol cmap table.
     */
    private readAppleCmapTable;
    /**
     * Reads Symbol cmap table.
     */
    private readMicrosoftCmapTable;
    /**
     * Reads Trimed cmap table.
     */
    private readTrimmedCmapTable;
    private initializeFontName;
    private getTable;
    /**
     * Returns width of the glyph.
     */
    private getWidth;
    /**
     * Gets CMAP encoding based on platform ID and encoding ID.
     */
    private getCmapEncoding;
    /**
     * Adds glyph to the collection.
     */
    private addGlyph;
    /**
     * Initializes metrics.
     */
    private initializeMetrics;
    /**
     * Updates chars structure which is used in the case of ansi encoding (256 bytes).
     */
    private updateWidth;
    /**
     * Returns default glyph.
     */
    private getDefaultGlyph;
    /**
     * Reads unicode string from byte array.
     */
    private getString;
    /**
     * Reads loca table.
     */
    private readLocaTable;
    /**
     * Updates hash table of used glyphs.
     */
    private updateGlyphChars;
    /**
     * Checks if glyph is composite or not.
     */
    private processCompositeGlyph;
    /**
     * Creates new glyph tables based on chars that are used for output.
     */
    private generateGlyphTable;
    /**
     * Updates new Loca table.
     */
    private updateLocaTable;
    /**
     * Aligns number to be divisible on 4.
     */
    private align;
    /**
     * Returns font program data.
     */
    private getFontProgram;
    private getFontProgramLength;
    /**
     * Writing to destination buffer - checksums and sizes of used tables.
     */
    private writeCheckSums;
    /**
     * Gets checksum from source buffer.
     */
    private calculateCheckSum;
    /**
     * Writing to destination buffer - used glyphs.
     */
    private writeGlyphs;
    /**
     * Sets position value of font data.
     */
    setOffset(offset: number): void;
    /**
     * Creates font Internals
     * @private
     */
    createInternals(): void;
    /**
     * Gets glyph's info by char code.
     */
    getGlyph(charCode: string): TtfGlyphInfo;
    getGlyph(charCode: number): TtfGlyphInfo;
    /**
     * Gets hash table with chars indexed by glyph index.
     */
    getGlyphChars(chars: Dictionary<string, string>): Dictionary<number, number>;
    /**
     * Gets all glyphs.
     */
    getAllGlyphs(): TtfGlyphInfo[];
    /**
     * Reads a font's program.
     * @private
     */
    readFontProgram(chars: Dictionary<string, string>): number[];
    /**
     * Reconverts string to be in proper format saved into PDF file.
     */
    convertString(text: string): string;
    /**
     * Gets char width.
     */
    getCharWidth(code: string): number;
    private readString;
    private readFixed;
    private readInt32;
    private readUInt32;
    private readInt16;
    private readInt64;
    private readUInt16;
    /**
     * Reads ushort array.
     */
    private readUshortArray;
    private readBytes;
    private readByte;
    /**
     * Reads bytes to array in BigEndian order.
     * @private
     */
    read(buffer: number[], index: number, count: number): {
        buffer: number[];
        written: number;
    };
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-table-info.d.ts
/**
 * TtfTableInfo.ts class for EJ2-PDF
 */
export  class TtfTableInfo {
    /**
     * offset from beginning of true type font file.
     */
    offset: number;
    /**
     * length of the table.
     */
    length: number;
    /**
     * table checksum;
     */
    checksum: number;
    /**
     * Gets a value indicating whether this table is empty.
     * @private
     */
    readonly empty: boolean;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/ttf-trimmed-cmap-sub-table.d.ts
/**
 * TtfTrimmedCmapSubTable.ts class for EJ2-PDF
 */
export  class TtfTrimmedCmapSubTable {
    /**
     * Structure field.
     */
    format: number;
    /**
     * Structure field.
     */
    length: number;
    /**
     * Structure field.
     */
    version: number;
    /**
     * Structure field.
     */
    firstCode: number;
    /**
     * Structure field.
     */
    entryCount: number;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/fonts/unicode-true-type-font.d.ts
export  class UnicodeTrueTypeFont {
    private readonly nameString;
    /**
     * Name of the font subset.
     */
    private subsetName;
    /**
     * `Size` of the true type font.
     * @private
     */
    private fontSize;
    /**
     * `Base64 string` of the true type font.
     * @private
     */
    private fontString;
    /**
     * `font data` of the true type font.
     * @private
     */
    private fontData;
    /**
     * `true type font` reader object.
     * @private
     */
    ttfReader: TtfReader;
    /**
     * metrics of true type font.
     * @private
     */
    ttfMetrics: TtfMetrics;
    /**
     * Indicates whether the font is embedded or not.
     * @private
     */
    isEmbed: boolean;
    /**
     * Pdf primitive describing the font.
     */
    private fontDictionary;
    /**
     * Descendant font.
     */
    private descendantFont;
    /**
     * font descripter.
     */
    private fontDescriptor;
    /**
     * Font program.
     */
    private fontProgram;
    /**
     * Cmap stream.
     */
    private cmap;
    /**
     * C i d stream.
     */
    private cidStream;
    /**
     * Font metrics.
     */
    metrics: PdfFontMetrics;
    /**
     * Specifies the Internal variable to store fields of `PdfDictionaryProperties`.
     * @private
     */
    private dictionaryProperties;
    /**
     * Array of used chars.
     * @private
     */
    private usedChars;
    /**
     * Indicates whether the font program is compressed or not.
     * @private
     */
    private isCompress;
    /**
     * Indicates whether the font is embedded or not.
     */
    private isEmbedFont;
    /**
     * Cmap table's start prefix.
     */
    private readonly cmapPrefix;
    /**
     * Cmap table's start suffix.
     */
    private readonly cmapEndCodespaceRange;
    /**
     * Cmap's begin range marker.
     */
    private readonly cmapBeginRange;
    /**
     * Cmap's end range marker.
     */
    private readonly cmapEndRange;
    /**
     * Cmap table's end
     */
    private readonly cmapSuffix;
    /**
     * Initializes a new instance of the `PdfTrueTypeFont` class.
     * @private
     */
    constructor(base64String: string, size: number);
    /**
     * Returns width of the char symbol.
     */
    getCharWidth(charCode: string): number;
    /**
     * Returns width of the text line.
     */
    getLineWidth(line: string): number;
    /**
     * Initializes a new instance of the `PdfTrueTypeFont` class.
     * @private
     */
    private Initialize;
    createInternals(): void;
    getInternals(): IPdfPrimitive;
    /**
     * Initializes metrics.
     */
    private initializeMetrics;
    /**
     * Gets random string.
     */
    private getFontName;
    /**
     * Generates name of the font.
     */
    private formatName;
    /**
     * Creates descendant font.
     */
    private createDescendantFont;
    /**
     * Creates font descriptor.
     */
    private createFontDescriptor;
    /**
     * Generates cmap.
     * @private
     */
    private createCmap;
    /**
     * Generates font dictionary.
     */
    private createFontDictionary;
    /**
     * Creates font program.
     */
    private createFontProgram;
    /**
     * Creates system info dictionary for CID font.
     * @private
     */
    private createSystemInfo;
    /**
     * Runs before font Dictionary will be saved.
     */
    descendantFontBeginSave(): void;
    /**
     * Runs before font Dictionary will be saved.
     */
    cmapBeginSave(): void;
    /**
     * Runs before font Dictionary will be saved.
     */
    fontDictionaryBeginSave(): void;
    /**
     * Runs before font program stream save.
     */
    fontProgramBeginSave(): void;
    /**
     * Gets width description pad array for c i d font.
     */
    getDescendantWidth(): PdfArray;
    /**
     * Creates cmap.
     */
    private generateCmap;
    /**
     * Generates font program.
     */
    private generateFontProgram;
    /**
     * Calculates flags for the font descriptor.
     * @private
     */
    getDescriptorFlags(): number;
    /**
     * Calculates BoundBox of the descriptor.
     * @private
     */
    private getBoundBox;
    /**
     * Converts integer of decimal system to hex integer.
     */
    private toHexString;
    /**
     * Stores used symbols.
     */
    setSymbols(text: string): void;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/images/byte-array.d.ts
/**
 * ByteArray class
 * Used to keep information about image stream as byte array.
 * @private
 */
export  class ByteArray {
    /**
     * Current stream `position`.
     * @default 0
     * @private
     */
    private mPosition;
    /**
     * Uint8Array for returing `buffer`.
     * @hidden
     * @private
     */
    private buffer;
    /**
     * Specifies the `data view`.
     * @hidden
     * @private
     */
    private dataView;
    /**
     * Initialize the new instance for `byte-array` class
     * @hidden
     * @private
     */
    constructor(length: number);
    /**
     * Gets and Sets a current `position` of byte array.
     * @hidden
     * @private
     */
    position: number;
    /**
     * `Read` from current stream position.
     * @default 0
     * @hidden
     * @private
     */
    read(buffer: ByteArray, offset: number, count: number): void;
    /**
     * @hidden
     */
    getBuffer(index: number): number;
    /**
     * @hidden
     */
    writeFromBase64String(base64: string): void;
    /**
     * @hidden
     */
    encodedString(input: string): Uint8Array;
    /**
     * @hidden
     */
    readByte(offset: number): number;
    /**
     * @hidden
     */
    readonly internalBuffer: Uint8Array;
    /**
     * @hidden
     */
    readonly count: number;
    /**
     * 'readNextTwoBytes' stream
     * @hidden
     * @private
     */
    readNextTwoBytes(stream: ByteArray): number;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/images/image-decoder.d.ts
/**
 * ImageDecoder class
 */
/**
 * Specifies the image `format`.
 * @private
 */
export  enum ImageFormat {
    /**
     * Specifies the type of `Unknown`.
     * @hidden
     * @private
     */
    Unknown = 0,
    /**
     * Specifies the type of `Bmp`.
     * @hidden
     * @private
     */
    Bmp = 1,
    /**
     * Specifies the type of `Emf`.
     * @hidden
     * @private
     */
    Emf = 2,
    /**
     * Specifies the type of `Gif`.
     * @hidden
     * @private
     */
    Gif = 3,
    /**
     * Specifies the type of `Jpeg`.
     * @hidden
     * @private
     */
    Jpeg = 4,
    /**
     * Specifies the type of `Png`.
     * @hidden
     * @private
     */
    Png = 5,
    /**
     * Specifies the type of `Wmf`.
     * @hidden
     * @private
     */
    Wmf = 6,
    /**
     * Specifies the type of `Icon`.
     * @hidden
     * @private
     */
    Icon = 7
}
/**
 * `Decode the image stream`.
 * @private
 */
export  class ImageDecoder {
    /**
     * Start of file markers.
     * @hidden
     * @private
     */
    private sof1Marker;
    private sof2Marker;
    private sof3Marker;
    private sof5Marker;
    private sof6Marker;
    private sof7Marker;
    private sof9Marker;
    private sof10Marker;
    private sof11Marker;
    private sof13Marker;
    private sof14Marker;
    private sof15Marker;
    /**
     * Number array for `png header`.
     * @hidden
     * @private
     */
    private static mPngHeader;
    /**
     * Number Array for `jpeg header`.
     * @hidden
     * @private
     */
    private static mJpegHeader;
    /**
     * Number array for `gif header`.
     * @hidden
     * @private
     */
    private static GIF_HEADER;
    /**
     * Number array for `bmp header.`
     * @hidden
     * @private
     */
    private static BMP_HEADER;
    /**
     * `memory stream` to store image data.
     * @hidden
     * @private
     */
    private mStream;
    /**
     * Specifies `format` of image.
     * @hidden
     * @private
     */
    private mFormat;
    /**
     * `height` of image.
     * @hidden
     * @private
     */
    private mHeight;
    /**
     * `width` of image.
     * @hidden
     * @private
     */
    private mWidth;
    /**
     * `Bits per component`.
     * @default 8
     * @hidden
     * @private
     */
    private mbitsPerComponent;
    /**
     * ByteArray to store `image data`.
     * @hidden
     * @private
     */
    private mImageData;
    /**
     * Store an instance of `PdfStream` for an image.
     * @hidden
     * @private
     */
    private imageStream;
    /**
     * 'offset' of image.
     * @hidden
     * @private
     */
    private offset;
    /**
     * Internal variable for accessing fields from `DictionryProperties` class.
     * @hidden
     * @private
     */
    private dictionaryProperties;
    /**
     * Initialize the new instance for `image-decoder` class.
     * @private
     */
    constructor(stream: ByteArray);
    /**
     * Gets the `height` of image.
     * @hidden
     * @private
     */
    readonly height: number;
    /**
     * Gets the `width` of image.
     * @hidden
     * @private
     */
    readonly width: number;
    /**
     * Gets `bits per component`.
     * @hidden
     * @private
     */
    readonly bitsPerComponent: number;
    /**
     * Gets the `size` of an image data.
     * @hidden
     * @private
     */
    readonly size: number;
    /**
     * Gets the value of an `image data`.
     * @hidden
     * @private
     */
    readonly imageData: ByteArray;
    /**
     * Gets the value of an `image data as number array`.
     * @hidden
     * @private
     */
    readonly imageDataAsNumberArray: ArrayBuffer;
    /**
     * `Initialize` image data and image stream.
     * @hidden
     * @private
     */
    private initialize;
    /**
     * `Reset` stream position into 0.
     * @hidden
     * @private
     */
    private reset;
    /**
     * `Parse` Jpeg image.
     * @hidden
     * @private
     */
    private parseJpegImage;
    /**
     * Gets the image `format`.
     * @private
     * @hidden
     */
    readonly format: ImageFormat;
    /**
     * `Checks if JPG`.
     * @private
     * @hidden
     */
    private checkIfJpeg;
    /**
     * Return image `dictionary`.
     * @hidden
     * @private
     */
    getImageDictionary(): PdfStream;
    /**
     * Return `colorSpace` of an image.
     * @hidden
     * @private
     */
    private getColorSpace;
    /**
     * Return `decode parameters` of an image.
     * @hidden
     * @private
     */
    private getDecodeParams;
    /**
     * 'readExceededJPGImage' stream
     * @hidden
     * @private
     */
    private readExceededJPGImage;
    /**
     * 'skip' stream
     * @hidden
     * @private
     */
    private skip;
    /**
     * 'getMarker' stream
     * @hidden
     * @private
     */
    private getMarker;
    /**
     * 'skipStream' stream
     * @hidden
     * @private
     */
    private skipStream;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/images/index.d.ts
/**
 * Images classes
 * @hidden
 */
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/images/pdf-bitmap.d.ts
/**
 * PdfBitmap.ts class for EJ2-PDF
 */
/**
 * The 'PdfBitmap' contains methods and properties to handle the Bitmap images.
 * ```typescript
 * // create a new PDF document.
 * let document$ : PdfDocument = new PdfDocument();
 * // add a page to the document.
 * let page1$ : PdfPage = document.pages.add();
 * // base64 string of an image
 * let imageString : string = '/9j/3+2w7em7HzY/KiijFw … 1OEYRUYrQ45yc5OUtz/9k=';
 * // load the image from the base64 string of original image.
 * let image : PdfBitmap = new PdfBitmap(imageString);
 * // draw the image
 * page1.graphics.drawImage(image, new RectangleF({x : 10, y : 10}, {width : 200, height : 200}));
 * // save the document.
 * document.save('output.pdf');
 * // destroy the document
 * document.destroy();
 * ```
 */
export  class PdfBitmap extends PdfImage {
    /**
     * Specifies the `status` of an image.
     * @default true.
     * @hidden
     * @private
     */
    private imageStatus;
    /**
     * Internal variable for accessing fields from `DictionryProperties` class.
     * @hidden
     * @private
     */
    private dictionaryProperties;
    /**
     * `Type` of an image.
     * @hidden
     * @private
     */
    checkImageType: number;
    /**
     * Object to store `decoder` of an image.
     * @hidden
     * @private
     */
    decoder: ImageDecoder;
    /**
     * `Load image`.
     * @hidden
     * @private
     */
    private loadImage;
    /**
     * Create an instance for `PdfBitmap` class.
     * @param encodedString Base64 string of an image.
     * ```typescript
     * // create a new PDF document.
     * let document$ : PdfDocument = new PdfDocument();
     * // add a page to the document.
     * let page1$ : PdfPage = document.pages.add();
     * // base64 string of an image
     * let imageString : string = '/9j/3+2w7em7HzY/KiijFw … 1OEYRUYrQ45yc5OUtz/9k=';
     * //
     * // load the image from the base64 string of original image.
     * let image : PdfBitmap = new PdfBitmap(imageString);
     * //
     * // draw the image
     * page1.graphics.drawImage(image, new RectangleF({x : 10, y : 10}, {width : 200, height : 200}));
     * // save the document.
     * document.save('output.pdf');
     * // destroy the document
     * document.destroy();
     * ```
     */
    constructor(encodedString: string);
    /**
     * `Initialize` image parameters.
     * @private
     */
    initializeAsync(encodedString: string): void;
    /**
     * `Saves` the image into stream.
     * @private
     */
    save(): void;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/images/pdf-image.d.ts
/**
 * PdfImage.ts class for EJ2-PDF
 */
/**
 * `PdfImage` class represents the base class for images and provides functionality for the 'PdfBitmap' class.
 * @private
 */
export  abstract class PdfImage implements IPdfWrapper {
    /**
     * `Width` of an image.
     * @private
     */
    private imageWidth;
    /**
     * `Height` of an image.
     * @private
     */
    private imageHeight;
    /**
     * `Bits per component` of an image.
     * @hidden
     * @private
     */
    bitsPerComponent: number;
    /**
     * `horizontal resolution` of an image.
     * @hidden
     * @private
     */
    horizontalResolution: number;
    /**
     * `Vertical resolution` of an image.
     * @hidden
     * @private
     */
    verticalResolution: number;
    /**
     * `physical dimension` of an image.
     * @hidden
     * @private
     */
    private imagePhysicalDimension;
    /**
     * Gets and Sets the `width` of an image.
     * @private
     */
    width: number;
    /**
     * Gets and Sets the `height` of an image.
     * @private
     */
    height: number;
    /**
     * Gets or sets the size of the image.
     * @private
     */
    size: SizeF;
    /**
     * Gets the `physical dimension` of an image.
     * @private
     */
    readonly physicalDimension: SizeF;
    /**
     * return the stored `stream of an image`.
     * @private
     */
    imageStream: PdfStream;
    /**
     * Gets the `element` image stream.
     * @private
     */
    readonly element: IPdfPrimitive;
    /**
     * `Save` the image stream.
     * @private
     */
    abstract save(): void;
    /**
     * Return the value of `width and height of an image` in points.
     * @private
     */
    getPointSize(width: number, height: number): SizeF;
    getPointSize(width: number, height: number, horizontalResolution: number, verticalResolution: number): SizeF;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/index.d.ts
/**
 * Graphics classes
 * @hidden
 */
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/pdf-color.d.ts
/**
 * Implements structures and routines working with `color`.
 * ```typescript
 * // create a new PDF document
 * let document$ : PdfDocument = new PdfDocument();
 * // add a new page to the document
 * let page1$ : PdfPage = document.pages.add();
 * // set the font
 * let font$ : PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);
 * //
 * // set color
 * let brushColor : PdfColor = new PdfColor(0, 0, 0);
 * //
 * // create black brush
 * let blackBrush$ : PdfSolidBrush = new PdfSolidBrush(brushColor);
 * // draw the text
 * page1.graphics.drawString('Hello World', font, blackBrush, new PointF(0, 0));
 * // save the document
 * document.save('output.pdf');
 * // destroy the document
 * document.destroy();
 * ```
 * @default black color
 */
export  class PdfColor {
    /**
     * Holds `RGB colors` converted into strings.
     * @private
     */
    private static rgbStrings;
    /**
     * Holds Gray scale colors converted into strings for `stroking`.
     * @private
     */
    private static grayStringsSroke;
    /**
     * Holds Gray scale colors converted into strings for `filling`.
     * @private
     */
    private static grayStringsFill;
    /**
     * Value of `Red` channel.
     * @private
     */
    private redColor;
    /**
     * Value of `Cyan` channel.
     * @private
     */
    private cyanColor;
    /**
     * Value of `Green` channel.
     * @private
     */
    private greenColor;
    /**
     * Value of `Magenta` channel.
     * @private
     */
    private magentaColor;
    /**
     * Value of `Blue` channel.
     * @private
     */
    private blueColor;
    /**
     * Value of `Yellow` channel.
     * @private
     */
    private yellowColor;
    /**
     * Value of `Black` channel.
     * @private
     */
    private blackColor;
    /**
     * Value of `Gray` channel.
     * @private
     */
    private grayColor;
    /**
     * `Alpha` channel.
     * @private
     */
    private alpha;
    /**
     * Shows if the color `is empty`.
     * @private
     */
    private filled;
    /**
     * `Max value` of color channel.
     * @private
     */
    static readonly maxColourChannelValue: number;
    /**
     * Initialize a new instance for `PdfColor` class.
     */
    constructor();
    constructor(color1: PdfColor);
    constructor(color1: number);
    constructor(color1: number, color2: number, color3: number);
    constructor(color1: number, color2: number, color3: number, color4: number);
    /**
     * `Assign` red, green, blue colors with alpha value..
     * @private
     */
    private assignRGB;
    /**
     * `Calculate and assign` cyan, megenta, yellow colors from rgb values..
     * @private
     */
    private assignCMYK;
    /**
     * Gets or sets `Red` channel value.
     * @private
     */
    r: number;
    /**
     * Gets the `Red` color
     * @private
     */
    readonly red: number;
    /**
     * Gets or sets `Blue` channel value.
     * @private
     */
    b: number;
    /**
     * Gets the `blue` color.
     * @private
     */
    readonly blue: number;
    /**
     * Gets or sets `Cyan` channel value.
     * @private
     */
    c: number;
    /**
     * Gets or sets `Black` channel value.
     * @private
     */
    k: number;
    /**
     * Gets or sets `Magenta` channel value.
     * @private
     */
    m: number;
    /**
     * Gets or sets `Yellow` channel value.
     * @private
     */
    y: number;
    /**
     *  Gets or sets `Green` channel value.
     * @private
     */
    g: number;
    /**
     * Gets the `Green` color.
     * @private
     */
    readonly green: number;
    /**
     * Gets or sets `Gray` channel value.
     * @private
     */
    gray: number;
    /**
     * Gets whether the PDFColor `is Empty` or not.
     * @private
     */
    readonly isEmpty: boolean;
    /**
     * Gets or sets `Alpha` channel value.
     * @private
     */
    a: number;
    /**
     * Converts `PDFColor to PDF string` representation.
     * @private
     */
    toString(colorSpace: PdfColorSpace, stroke: boolean): string;
    /**
     * Sets `GrayScale` color.
     * @private
     */
    private grayScaleToString;
    /**
     * Sets `RGB` color.
     * @private
     */
    private rgbToString;
    /***
     * Sets `CMYK` color.
     * @private
     */
    private cmykToString;
    /**
     * Converts `colour to a PDF array`.
     * @private
     */
    toArray(colorSpace: PdfColorSpace): PdfArray;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/pdf-graphics.d.ts
/**
 * PdfGraphics.ts class for EJ2-PDF
 */
/**
 * `PdfGraphics` class represents a graphics context of the objects.
 * It's used for performing all the graphics operations.
 * ```typescript
 * // create a new PDF document
 * let document$ : PdfDocument = new PdfDocument();
 * // add a new page to the document
 * let page1$ : PdfPage = document.pages.add();
 * // set the font
 * let font$ : PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);
 * // create black brush
 * let blackBrush$ : PdfSolidBrush = new PdfSolidBrush(new PdfColor(0, 0, 0));
 * //
 * //graphics of the page
 * let page1Graphics : PdfGraphics = page1.graphics;
 * // draw the text on the page1 graphics
 * page1Graphics.drawString('Hello World', font, blackBrush, new PointF(0, 0));
 * //
 * // save the document
 * document.save('output.pdf');
 * // destroy the document
 * document.destroy();
 * ```
 */
export  class PdfGraphics {
    /**
     * Specifies the mask of `path type values`.
     * @private
     */
    private static readonly pathTypesValuesMask;
    /**
     * Represents the `Stream writer` object.
     * @private
     */
    private pdfStreamWriter;
    /**
     * Represents the state, whether it `is saved or not`.
     * @private
     */
    private bStateSaved;
    /**
     * Represents the `Current pen`.
     * @private
     */
    private currentPen;
    /**
     * Represents the `Current brush`.
     * @private
     */
    private currentBrush;
    /**
     * Represents the `Current font`.
     * @private
     */
    private currentFont;
    /**
     * Represents the `Current font`.
     * @private
     */
    currentPage: PdfPage;
    /**
     * Represents the `Current color space`.
     * @private
     */
    private currentColorSpace;
    /**
     * The `transformation matrix` monitoring all changes with CTM.
     * @private
     */
    private transformationMatrix;
    /**
     * Stores `previous rendering mode`.
     * @private
     */
    private previousTextRenderingMode;
    /**
     * Previous `character spacing` value or 0.
     * @private
     */
    private previousCharacterSpacing;
    /**
     * Previous `word spacing` value or 0.
     * @private
     */
    private previousWordSpacing;
    /**
     * The `previously used text scaling` value.
     * @private
     */
    private previousTextScaling;
    /**
     * Event handler object to store instance of `PdfResources` class.
     * @private
     */
    private getResources;
    /**
     * Indicates whether `color space was initialized`.
     * @private
     */
    private bCSInitialized;
    /**
     * Represents the `Size of the canvas`.
     * @private
     */
    private canvasSize;
    /**
     * Represents the size of the canvas reduced by `margins and templates`.
     * @private
     */
    clipBounds: RectangleF;
    /**
     * Current `string format`.
     * @private
     */
    private currentStringFormat;
    /**
     * Instance of `ProcedureSets` class.
     * @private
     */
    private procedureSets;
    /**
     * To check wihether it is a `direct text rendering`.
     * @default true
     * @private
     */
    private isNormalRender;
    /**
     * check whether to `use font size` to calculate the shift.
     * @default false
     * @private
     */
    private isUseFontSize;
    /**
     * check whether the font is in `italic type`.
     * @default false
     * @private
     */
    private isItalic;
    /**
     * Check whether it is an `emf Text Matrix`.
     * @default false
     * @private
     */
    isEmfTextScaled: boolean;
    /**
     * Check whether it is an `emf` call.
     * @default false
     * @private
     */
    isEmf: boolean;
    /**
     * Check whether it is an `emf plus` call.
     * @default false
     * @private
     */
    isEmfPlus: boolean;
    /**
     * Check whether it is in `base line format`.
     * @default true
     * @private
     */
    isBaselineFormat: boolean;
    /**
     * Emf Text `Scaling Factor`.
     * @private
     */
    emfScalingFactor: SizeF;
    /**
     * Internal variable to store `layout result` after drawing string.
     * @private
     */
    private pdfStringLayoutResult;
    /**
     * Internal variable to store `layer` on which this graphics lays.
     * @private
     */
    private pageLayer;
    /**
     * To check whether the `last color space` of document and garphics is saved.
     * @private
     */
    private colorSpaceChanged;
    /**
     * Media box upper right `bound`.
     * @hidden
     * @private
     */
    private internalMediaBoxUpperRightBound;
    /**
     * Holds instance of PdfArray as `cropBox`.
     * @private
     */
    cropBox: PdfArray;
    /**
     * Checks whether the object is `transparencyObject`.
     * @hidden
     * @private
     */
    private static transparencyObject;
    /**
     * Stores an instance of `DictionaryProperties`.
     * @private
     */
    private dictionaryProperties;
    /**
     * `last document colorspace`.
     * @hidden
     * @private
     */
    private lastDocumentCS;
    /**
     * `last graphics's colorspace`.
     * @hidden
     * @private
     */
    private lastGraphicsCS;
    /**
     * Checks whether the x co-ordinate is need to set as client size or not.
     * @hidden
     * @private
     */
    private isOverloadWithPosition;
    /**
     * Checks whether the x co-ordinate is need to set as client size or not.
     * @hidden
     * @private
     */
    private isPointOverload;
    /**
     * Current colorspaces.
     * @hidden
     * @private
     */
    private currentColorSpaces;
    /**
     * Checks the current image `is optimized` or not.
     * @default false.
     * @private
     */
    isImageOptimized: boolean;
    /**
     * Returns the `current graphics state`.
     * @private
     */
    private gState;
    /**
     * Stores the `graphics states`.
     * @private
     */
    private graphicsState;
    /**
     * Stores the `trasparencies`.
     * @private
     */
    private trasparencies;
    /**
     * Indicates whether the object `had trasparency`.
     * @default false
     * @private
     */
    private istransparencySet;
    /**
     * Stores the instance of `PdfAutomaticFieldInfoCollection` class .
     * @default null
     * @private
     */
    private internalAutomaticFields;
    /**
     * Stores shift value for draw string with `PointF` overload.
     * @private
     * @hidden
     */
    private shift;
    /**
     * Stores the index of the start line that should draw with in the next page.
     * @private
     */
    private startCutIndex;
    /**
     * Returns the `result` after drawing string.
     * @private
     */
    readonly stringLayoutResult: PdfStringLayoutResult;
    /**
     * Gets the `size` of the canvas.
     * @private
     */
    readonly size: SizeF;
    /**
     * Gets and Sets the value of `MediaBox upper right bound`.
     * @private
     */
    mediaBoxUpperRightBound: number;
    /**
     * Gets the `size` of the canvas reduced by margins and page templates.
     * @private
     */
    readonly clientSize: SizeF;
    /**
     * Gets or sets the current `color space` of the document
     * @private
     */
    colorSpace: PdfColorSpace;
    /**
     * Gets the `stream writer`.
     * @private
     */
    readonly streamWriter: PdfStreamWriter;
    /**
     * Gets the `transformation matrix` reflecting current transformation.
     * @private
     */
    readonly matrix: PdfTransformationMatrix;
    /**
     * Gets the `layer` for the graphics, if exists.
     * @private
     */
    readonly layer: PdfPageLayer;
    /**
     * Gets the `page` for this graphics, if exists.
     * @private
     */
    readonly page: PdfPageBase;
    readonly automaticFields: PdfAutomaticFieldInfoCollection;
    /**
     * Initializes a new instance of the `PdfGraphics` class.
     * @private
     */
    constructor(size: SizeF, resources: GetResourceEventHandler, writer: PdfStreamWriter);
    /**
     * Initializes a new instance of the `PdfGraphics` class.
     * @private
     */
    constructor(size: SizeF, resources: GetResourceEventHandler, stream: PdfStream);
    /**
     * `Initializes` this instance.
     * @private
     */
    initialize(): void;
    /**
     * `Draw the template`.
     * @private
     */
    drawPdfTemplate(template: PdfTemplate, location: PointF): void;
    drawPdfTemplate(template: PdfTemplate, location: PointF, size: SizeF): void;
    /**
     * `Draws the specified text` at the specified location and size with string format.
     * ```typescript
     * // create a new PDF document
     * let document$ : PdfDocument = new PdfDocument();
     * // add a pages to the document
     * let page1$ : PdfPage = document.pages.add();
     * // set font
     * let font$ : PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);
     * // set pen
     * let pen : PdfPen = new PdfPen(new PdfColor(255, 0, 0));
     * // set brush
     * let brush : PdfSolidBrush = new PdfSolidBrush(new PdfColor(0, 0, 0));
     * // set rectangle bounds
     * let rectangle$ : RectangleF = new RectangleF({x : 10, y : 10}, {width : 200, height : 200});
     * // set the format for string
     * let stringFormat$ : PdfStringFormat = new PdfStringFormat();
     * // set the text alignment
     * stringFormat.alignment = PdfTextAlignment.Center;
     * // set the vertical alignment
     * stringFormat.lineAlignment = PdfVerticalAlignment.Middle;
     * //
     * // draw the text
     * page1.graphics.drawString('Hello World', font, pen, brush, rectangle, stringFormat);
     * //
     * // save the document
     * document.save('output.pdf');
     * // destroy the document
     * document.destroy();
     * ```
     * @param s Input text.
     * @param font Font of the text.
     * @param pen Color of the text.
     * @param brush Color of the text.
     * @param layoutRectangle RectangleF structure that specifies the bounds of the drawn text.
     * @param format String formatting information.
     */
    drawString(s: string, font: PdfFont, pen: PdfPen, brush: PdfBrush, x: number, y: number, format: PdfStringFormat): void;
    drawString(s: string, font: PdfFont, pen: PdfPen, brush: PdfBrush, x: number, y: number, width: number, height: number, format: PdfStringFormat): void;
    /**
     * `Draws a line` connecting the two points specified by the coordinate pairs.
     * ```typescript
     * // create a new PDF document
     * let document$ : PdfDocument = new PdfDocument();
     * // create a new page
     * let page1$ : PdfPage = document.pages.add();
     * //
     * // draw the line
     * page1.graphics.drawLine(new PdfPen(new PdfColor(0, 0, 255)), new PointF(10, 20), new PointF(100, 200));
     * //
     * // save the document.
     * document.save('output.pdf');
     * // destroy the document
     * document.destroy();
     * ```
     * @param pen Color of the line.
     * @param point1 PointF structure that represents the first point to connect.
     * @param point2 PointF structure that represents the second point to connect.
     */
    drawLine(pen: PdfPen, point1: PointF, point2: PointF): void;
    /**
     * `Draws a line` connecting the two points specified by the coordinate pairs.
     * ```typescript
     * // create a new PDF document
     * let document$ : PdfDocument = new PdfDocument();
     * // create a new page
     * let page1$ : PdfPage = document.pages.add();
     * //
     * // draw the line
     * page1.graphics.drawLine(new PdfPen(new PdfColor(0, 0, 255)), 10, 20, 100, 200);
     * //
     * // save the document.
     * document.save('output.pdf');
     * // destroy the document
     * document.destroy();
     * ```
     * @param pen Color of the line.
     * @param x1 The x-coordinate of the first point.
     * @param y1 The y-coordinate of the first point.
     * @param x2 The x-coordinate of the second point.
     * @param y2 The y-coordinate of the second point.
     */
    drawLine(pen: PdfPen, x1: number, y1: number, x2: number, y2: number): void;
    /**
     * `Draws a rectangle` specified by a pen, a coordinate pair, a width, and a height.
     * ```typescript
     * // create a new PDF document.
     * let document$ : PdfDocument = new PdfDocument();
     * // create a new page
     * let page1$ : PdfPage = document.pages.add();
     * // create pen for draw rectangle
     * let pen : PdfPen = new PdfPen(new PdfColor(238, 130, 238));
     * //
     * // draw rectangle
     * page1.graphics.drawRectangle(pen, 10, 10, 50, 100);
     * //
     * // save the document
     * document.save('output.pdf');
     * // destroy the document
     * document.destroy();
     * ```
     * @param pen Color of the rectangle.
     * @param x The x-coordinate of the upper-left corner of the rectangle to draw.
     * @param y The y-coordinate of the upper-left corner of the rectangle to draw.
     * @param width Width of the rectangle to draw.
     * @param height Height of the rectangle to draw.
     */
    drawRectangle(pen: PdfPen, x: number, y: number, width: number, height: number): void;
    /**
     * `Draws a rectangle` specified by a brush, coordinate pair, a width, and a height.
     * ```typescript
     * // create a new PDF document.
     * let document$ : PdfDocument = new PdfDocument();
     * // create a new page
     * let page1$ : PdfPage = document.pages.add();
     * // create brush for draw rectangle
     * let brush : PdfSolidBrush = new PdfSolidBrush(new PdfColor(238, 130, 238));
     * //
     * // draw rectangle
     * page1.graphics.drawRectangle(brush, 10, 10, 50, 100);
     * //
     * // save the document
     * document.save('output.pdf');
     * // destroy the document
     * document.destroy();
     * ```
     * @param brush Color of the rectangle.
     * @param x The x-coordinate of the upper-left corner of the rectangle to draw.
     * @param y The y-coordinate of the upper-left corner of the rectangle to draw.
     * @param width Width of the rectangle to draw.
     * @param height Height of the rectangle to draw.
     */
    drawRectangle(brush: PdfBrush, x: number, y: number, width: number, height: number): void;
    /**
     * `Draws a rectangle` specified by a pen, a coordinate pair, a width, and a height.
     * ```typescript
     * // create a new PDF document.
     * let document$ : PdfDocument = new PdfDocument();
     * // create a new page
     * let page1$ : PdfPage = document.pages.add();
     * // create brush for draw rectangle
     * let brush : PdfSolidBrush = new PdfSolidBrush(new PdfColor(238, 130, 238));
     * // set pen
     * let pen : PdfPen = new PdfPen(new PdfColor(0, 0, 0));
     * //
     * // draw rectangle
     * page1.graphics.drawRectangle(pen, brush, 10, 10, 50, 100);
     * //
     * // save the document
     * document.save('output.pdf');
     * // destroy the document
     * document.destroy();
     * ```
     * @param pen A Pen that determines the color, width, and style of the rectangle.
     * @param brush Color of the rectangle.
     * @param x The x-coordinate of the upper-left corner of the rectangle to draw.
     * @param y The y-coordinate of the upper-left corner of the rectangle to draw.
     * @param width Width of the rectangle to draw.
     * @param height Height of the rectangle to draw.
     */
    drawRectangle(pen: PdfPen, brush: PdfBrush, x: number, y: number, width: number, height: number): void;
    /**
     * `Draws the path`.
     * @private
     */
    private drawPathHelper;
    /**
     * `Draws the specified image`, using its original physical size, at the location specified by a coordinate pair.
     * ```typescript
     * // create a new PDF document.
     * let document$ : PdfDocument = new PdfDocument();
     * // add a page to the document.
     * let page1$ : PdfPage = document.pages.add();
     * // base64 string of an image
     * let imageString$ : string = '/9j/3+2w7em7HzY/KiijFw … 1OEYRUYrQ45yc5OUtz/9k=';
     * // load the image from the base64 string of original image.
     * let image$ : PdfBitmap = new PdfBitmap(imageString);
     * //
     * // draw the image
     * page1.graphics.drawImage(image, 10, 10);
     * //
     * // save the document.
     * document.save('output.pdf');
     * // destroy the document
     * document.destroy();
     * ```
     * @param image PdfImage to draw.
     * @param x The x-coordinate of the upper-left corner of the drawn image.
     * @param y The y-coordinate of the upper-left corner of the drawn image.
     */
    drawImage(image: PdfImage, x: number, y: number): void;
    /**
     * `Draws the specified image`, using its original physical size, at the location specified by a coordinate pair.
     * ```typescript
     * // create a new PDF document.
     * let document$ : PdfDocument = new PdfDocument();
     * // add a page to the document.
     * let page1$ : PdfPage = document.pages.add();
     * // base64 string of an image
     * let imageString$ : string = '/9j/3+2w7em7HzY/KiijFw … 1OEYRUYrQ45yc5OUtz/9k=';
     * // load the image from the base64 string of original image.
     * let image$ : PdfBitmap = new PdfBitmap(imageString);
     * //
     * // draw the image
     * page1.graphics.drawImage(image, 0, 0, 100, 100);
     * //
     * // save the document.
     * document.save('output.pdf');
     * // destroy the document
     * document.destroy();
     * ```
     * @param image PdfImage to draw.
     * @param x The x-coordinate of the upper-left corner of the drawn image.
     * @param y The y-coordinate of the upper-left corner of the drawn image.
     * @param width Width of the drawn image.
     * @param height Height of the drawn image.
     */
    drawImage(image: PdfImage, x: number, y: number, width: number, height: number): void;
    /**
     * Returns `bounds` of the line info.
     * @private
     */
    getLineBounds(lineIndex: number, result: PdfStringLayoutResult, font: PdfFont, layoutRectangle: RectangleF, format: PdfStringFormat): RectangleF;
    /**
     * Creates `lay outed rectangle` depending on the text settings.
     * @private
     */
    checkCorrectLayoutRectangle(textSize: SizeF, x: number, y: number, format: PdfStringFormat): RectangleF;
    /**
     * Sets the `layer` for the graphics.
     * @private
     */
    setLayer(layer: PdfPageLayer): void;
    /**
     * Adding page number field before page saving.
     * @private
     */
    pageSave(page: PdfPage): void;
    /**
     * `Draws a layout result`.
     * @private
     */
    drawStringLayoutResult(result: PdfStringLayoutResult, font: PdfFont, pen: PdfPen, brush: PdfBrush, layoutRectangle: RectangleF, format: PdfStringFormat): void;
    /**
     * Gets the `next page`.
     * @private
     */
    getNextPage(): PdfPage;
    /**
     * `Sets the clipping` region of this Graphics to the rectangle specified by a RectangleF structure.
     * ```typescript
     * // create a new PDF document
     * let document$ : PdfDocument = new PdfDocument();
     * // create a new page
     * let page1$ : PdfPage = document.pages.add();
     * // create PDF graphics for the page
     * let graphics : PdfGraphics = page1.graphics;
     * // set the font
     * let font$ : PdfFont = new PdfStandardFont(PdfFontFamily.TimesRoman, 20);
     * // create black brush
     * let blackBrush$ : PdfSolidBrush = new PdfSolidBrush(new PdfColor(0, 0, 0));
     * //
     * // set clipping with rectangle bounds
     * graphics.setClip(new RectangleF({x : 10, y : 80}, {width : 150 , height : 15}));
     * //
     * // draw the text after clipping
     * graphics.drawString('Text after clipping', font, blackBrush, new PointF(10, 80));
     * // save the document.
     * document.save('output.pdf');
     * // destroy the document
     * document.destroy();
     * ```
     * @param rectangle RectangleF structure that represents the new clip region.
     */
    setClip(rectangle: RectangleF): void;
    /**
     * `Sets the clipping` region of this Graphics to the result of the specified operation combining the current clip region and the rectangle specified by a RectangleF structure.
     * @private
     */
    setClip(rectangle: RectangleF, mode: PdfFillMode): void;
    /**
     * Applies all the `text settings`.
     * @private
     */
    private applyStringSettings;
    /**
     * Calculates `shift value` if the text is vertically aligned.
     * @private
     */
    getTextVerticalAlignShift(textHeight: number, boundsHeight: number, format: PdfStringFormat): number;
    /**
     * `Draws layout result`.
     * @private
     */
    private drawLayoutResult;
    /**
     * `Draws Ascii line`.
     * @private
     */
    private drawAsciiLine;
    /**
     * Draws unicode line.
     * @private
     */
    private drawUnicodeLine;
    /**
     * Draws array of unicode tokens.
     */
    private drawUnicodeBlocks;
    /**
     * Breakes the unicode line to the words and converts symbols to glyphs.
     */
    private breakUnicodeLine;
    /**
     * Creates PdfString from the unicode text.
     */
    private getUnicodeString;
    /**
     * Converts to unicode format.
     */
    private convertToUnicode;
    /**
     * `Justifies` the line if needed.
     * @private
     */
    private justifyLine;
    /**
     * `Reset` or reinitialize the current graphic value.
     * @private
     */
    reset(size: SizeF): void;
    /**
     * Checks whether the line should be `justified`.
     * @private
     */
    private shouldJustify;
    /**
     * Emulates `Underline, Strikeout` of the text if needed.
     * @private
     */
    private underlineStrikeoutText;
    /**
     * `Creates a pen` for drawing lines in the text.
     * @private
     */
    private createUnderlineStikeoutPen;
    /**
     * Return `text rendering mode`.
     * @private
     */
    private getTextRenderingMode;
    /**
     * Returns `line indent` for the line.
     * @private
     */
    private getLineIndent;
    /**
     * Calculates shift value if the line is `horizontaly aligned`.
     * @private
     */
    private getHorizontalAlignShift;
    /**
     * Gets or sets the value that indicates `text direction` mode.
     * @private
     */
    private rightToLeft;
    /**
     * Controls all `state modifications` and react repectively.
     * @private
     */
    private stateControl;
    /**
     * Initializes the `current color space`.
     * @private
     */
    private initCurrentColorSpace;
    /**
     * Controls the `pen state`.
     * @private
     */
    private penControl;
    /**
     * Controls the `brush state`.
     * @private
     */
    private brushControl;
    /**
     * Saves the font and other `font settings`.
     * @private
     */
    private fontControl;
    /**
     * `Sets the transparency` of this Graphics with the specified value for pen.
     * ```typescript
     * // create a new PDF document
     * let document$ : PdfDocument = new PdfDocument();
     * // create a new page
     * let page1$ : PdfPage = document.pages.add();
     * // create pen
     * let pen : PdfPen = new PdfPen(new PdfColor(0, 0, 0));
     * //
     * // set transparency
     * page1.graphics.setTransparency(0.5);
     * //
     * // draw the rectangle after applying transparency
     * page1.graphics.drawRectangle(pen, new RectangleF({x : 0, y : 0}, {width : 100, height : 50}));
     * // save the document.
     * document.save('output.pdf');
     * // destroy the document
     * document.destroy();
     * ```
     * @param alpha The alpha value for both pen and brush.
     */
    setTransparency(alpha: number): void;
    /**
     * `Sets the transparency` of this Graphics with the specified value for pen and brush.
     * ```typescript
     * // create a new PDF document
     * let document$ : PdfDocument = new PdfDocument();
     * // create a new page
     * let page1$ : PdfPage = document.pages.add();
     * // create pen
     * let pen : PdfPen = new PdfPen(new PdfColor(0, 0, 0));
     * // set brush
     * let brush : PdfSolidBrush = new PdfSolidBrush(new PdfColor(0, 0, 0));
     * //
     * // set transparency
     * page1.graphics.setTransparency(0.8, 0.2);
     * //
     * // draw the rectangle after applying transparency
     * page1.graphics.drawRectangle(pen, brush, new RectangleF({x : 0, y : 0}, {width : 100, height : 50}));
     * // save the document.
     * document.save('output.pdf');
     * // destroy the document
     * document.destroy();
     * ```
     * @param alphaPen The alpha value for pen.
     * @param alphaBrush The alpha value for brush.
     */
    setTransparency(alphaPen: number, alphaBrush: number): void;
    /**
     * `Sets the transparency` of this Graphics with the specified PdfBlendMode.
     * @private
     */
    setTransparency(alphaPen: number, alphaBrush: number, blendMode: PdfBlendMode): void;
    /**
     * Sets the `drawing area and translates origin`.
     * @private
     */
    clipTranslateMargins(clipBounds: RectangleF): void;
    clipTranslateMargins(x: number, y: number, left: number, top: number, right: number, bottom: number): void;
    /**
     * `Updates y` co-ordinate.
     * @private
     */
    updateY(y: number): number;
    /**
     * Used to `translate the transformation`.
     * ```typescript
     * // create a new PDF document
     * let document$ : PdfDocument = new PdfDocument();
     * // create a new page
     * let page1$ : PdfPage = document.pages.add();
     * // set pen
     * let pen : PdfPen = new PdfPen(new PdfColor(0, 0, 0));
     * //
     * // set translate transform
     * page1.graphics.translateTransform(100, 100);
     * //
     * // draw the rectangle after applying translate transform
     * page1.graphics.drawRectangle(pen, new RectangleF({x : 0, y : 0}, {width : 100, height : 50}));
     * // save the document.
     * document.save('output.pdf');
     * // destroy the document
     * document.destroy();
     * ```
     * @param offsetX The x-coordinate of the translation.
     * @param offsetY The y-coordinate of the translation.
     */
    translateTransform(offsetX: number, offsetY: number): void;
    /**
     * `Translates` coordinates of the input matrix.
     * @private
     */
    private getTranslateTransform;
    /**
     * Applies the specified `scaling operation` to the transformation matrix of this Graphics by prepending it to the object's transformation matrix.
     * ```typescript
     * // create a new PDF document
     * let document$ : PdfDocument = new PdfDocument();
     * // create a new page
     * let page1$ : PdfPage = document.pages.add();
     * // create pen
     * let pen : PdfPen = new PdfPen(new PdfColor(0, 0, 0));
     * //
     * // apply scaling trasformation
     * page1.graphics.scaleTransform(1.5, 2);
     * //
     * // draw the rectangle after applying scaling transform
     * page1.graphics.drawRectangle(pen, new RectangleF({x : 100, y : 100}, {width : 100, height : 50}));
     * // save the document.
     * document.save('output.pdf');
     * // destroy the document
     * document.destroy();
     * ```
     * @param scaleX Scale factor in the x direction.
     * @param scaleY Scale factor in the y direction.
     */
    scaleTransform(scaleX: number, scaleY: number): void;
    /**
     * `Scales` coordinates of the input matrix.
     * @private
     */
    private getScaleTransform;
    /**
     * Applies the specified `rotation` to the transformation matrix of this Graphics.
     * ```typescript
     * // create a new PDF document
     * let document$ : PdfDocument = new PdfDocument();
     * // create a new page
     * let page1$ : PdfPage = document.pages.add();
     * // create pen
     * let pen : PdfPen = new PdfPen(new PdfColor(0, 0, 0));
     * //
     * // set RotateTransform with 25 degree of angle
     * page1.graphics.rotateTransform(25);
     * //
     * // draw the rectangle after RotateTransformation
     * page1.graphics.drawRectangle(pen, new RectangleF({x : 100, y : 100}, {width : 100, height : 50}));
     * // save the document.
     * document.save('output.pdf');
     * // destroy the document
     * document.destroy();
     * ```
     * @param angle Angle of rotation in degrees.
     */
    rotateTransform(angle: number): void;
    /**
     * `Initializes coordinate system`.
     * @private
     */
    initializeCoordinates(): void;
    /**
     * `Rotates` coordinates of the input matrix.
     * @private
     */
    private getRotateTransform;
    /**
     * `Saves` the current state of this Graphics and identifies the saved state with a GraphicsState.
     * ```typescript
     * // create a new PDF document
     * let document$ : PdfDocument = new PdfDocument();
     * // create a new page
     * let page1$ : PdfPage = document.pages.add();
     * // create pen
     * let pen : PdfPen = new PdfPen(new PdfColor(0, 0, 0));
     * //
     * // save the graphics state
     * let state1 : PdfGraphicsState = page1.graphics.save();
     * //
     * page1.graphics.scaleTransform(1.5, 2);
     * // draw the rectangle
     * page1.graphics.drawRectangle(pen, new RectangleF({x : 100, y : 100}, {width : 100, height : 50}));
     * // restore the graphics state
     * page1.graphics.restore(state1);
     * // save the document.
     * document.save('output.pdf');
     * // destroy the document
     * document.destroy();
     * ```
     */
    save(): PdfGraphicsState;
    /**
     * `Restores the state` of this Graphics to the state represented by a GraphicsState.
     * @private
     */
    restore(): void;
    /**
     * `Restores the state` of this Graphics to the state represented by a GraphicsState.
     * @private
     */
    restore(state: PdfGraphicsState): void;
    /**
     * `Restores graphics state`.
     * @private
     */
    private doRestoreState;
    /**
     * `Draws the specified path`, using its original physical size, at the location specified by a coordinate pair.
     * ```typescript
     * // create a new PDF document.
     * let document$ : PdfDocument = new PdfDocument();
     * // add a page to the document.
     * let page1$ : PdfPage = document.pages.add();
     * //Create new PDF path.
     * let path : PdfPath = new PdfPath();
     * //Add line path points.
     * path.addLine(new PointF(10, 100), new PointF(10, 200));
     * path.addLine(new PointF(100, 100), new PointF(100, 200));
     * path.addLine(new PointF(100, 200), new PointF(55, 150));
     * // set pen
     * let pen : PdfPen = new PdfPen(new PdfColor(255, 0, 0));
     * // set brush
     * let brush : PdfSolidBrush = new PdfSolidBrush(new PdfColor(0, 0, 0));
     * // draw the path
     * page1.graphics.drawPath(pen, brush, path);
     * //
     * // save the document.
     * document.save('output.pdf');
     * // destroy the document
     * document.destroy();
     * ```
     * @param pen Color of the text.
     * @param brush Color of the text.
     * @param path Draw path.
     */
    drawPath(pen: PdfPen, brush: PdfBrush, path: PdfPath): void;
    /**
     * `Draws the specified arc`, using its original physical size, at the location specified by a coordinate pair.
     * ```typescript
     * // create a new PDF document.
     * let document$ : PdfDocument = new PdfDocument();
     * // add a page to the document.
     * let page1$ : PdfPage = document.pages.add();
     * let pen : PdfPen = new PdfPen(new PdfColor(255, 0, 0));
     * // draw the path
     * page1.graphics.drawArc(pen, 10, 10, 100, 200, 90, 270);
     * // save the document.
     * document.save('output.pdf');
     * // destroy the document
     * document.destroy();
     * ```
     * @param name Pen that determines the color, width, and style of the arc.
     * @param rectangle RectangleF structure that defines the boundaries of the ellipse.
     * @param startAngle Angle in degrees measured clockwise from the x-axis to the starting point of the arc.
     * @param sweepAngle Angle in degrees measured clockwise from the startAngle parameter to ending point of the arc.
     */
    drawArc(pen: PdfPen, rectangle: RectangleF, startAngle: number, sweepAngle: number): void;
    drawArc(pen: PdfPen, x: number, y: number, width: number, height: number, startAngle: number, sweepAngle: number): void;
    /**
     * Builds up the path.
     * @private
     */
    private buildUpPath;
    /**
     * Gets the bezier points from respective arrays.
     * @private
     */
    private getBezierPoints;
    /**
     * Checks path point type flags.
     * @private
     */
    private checkFlags;
    /**
     * Constructs the arc path using Bezier curves.
     * @private
     */
    private constructArcPath;
    /**
     * Gets the bezier points for arc constructing.
     * @private
     */
    private getBezierArc;
}
/**
 * `GetResourceEventHandler` class is alternate for event handlers and delegates.
 * @private
 * @hidden
 */
export  class GetResourceEventHandler {
    /**
     * Return the instance of `PdfResources` class.
     * @private
     */
    getResources(): PdfResources;
    /**
     * Variable to store instance of `PdfPageBase as sender`.
     * @hidden
     * @private
     */
    sender: PdfPageBase | PdfTemplate | PdfTilingBrush;
    /**
     * Initialize instance of `GetResourceEventHandler` class.
     * Alternate for event handlers and delegates.
     * @private
     */
    constructor(sender: PdfPageBase | PdfTemplate | PdfTilingBrush);
}
export  class PdfGraphicsState {
    /**
     * `Parent graphics` object.
     * @private
     */
    private pdfGraphics;
    /**
     * The current `transformation matrix`.
     * @private
     */
    private transformationMatrix;
    /**
     * Stores `previous rendering mode`.
     * @default TextRenderingMode.Fill
     * @private
     */
    private internalTextRenderingMode;
    /**
     * `Previous character spacing` value or 0.
     * @default 0.0
     * @private
     */
    private internalCharacterSpacing;
    /**
     * `Previous word spacing` value or 0.
     * @default 0.0
     * @private
     */
    private internalWordSpacing;
    /**
     * The previously used `text scaling value`.
     * @default 100.0
     * @private
     */
    private internalTextScaling;
    /**
     * `Current pen`.
     * @private
     */
    private pdfPen;
    /**
     * `Current brush`.
     * @private
     */
    private pdfBrush;
    /**
     * `Current font`.
     * @private
     */
    private pdfFont;
    /**
     * `Current color space`.
     * @default PdfColorSpace.Rgb
     * @private
     */
    private pdfColorSpace;
    /**
     * Gets the parent `graphics object`.
     * @private
     */
    readonly graphics: PdfGraphics;
    /**
     * Gets the `current matrix`.
     * @private
     */
    readonly matrix: PdfTransformationMatrix;
    /**
     * Gets or sets the `current character spacing`.
     * @private
     */
    characterSpacing: number;
    /**
     * Gets or sets the `word spacing` value.
     * @private
     */
    wordSpacing: number;
    /**
     * Gets or sets the `text scaling` value.
     * @private
     */
    textScaling: number;
    /**
     * Gets or sets the `current pen` object.
     * @private
     */
    pen: PdfPen;
    /**
     * Gets or sets the `brush`.
     * @private
     */
    brush: PdfBrush;
    /**
     * Gets or sets the `current font` object.
     * @private
     */
    font: PdfFont;
    /**
     * Gets or sets the `current color space` value.
     * @private
     */
    colorSpace: PdfColorSpace;
    /**
     * Gets or sets the `text rendering mode`.
     * @private
     */
    textRenderingMode: TextRenderingMode;
    /**
     * `default constructor`.
     * @private
     */
    constructor();
    /**
     * Creates new object for `PdfGraphicsState`.
     * @private
     */
    constructor(graphics: PdfGraphics, matrix: PdfTransformationMatrix);
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/pdf-margins.d.ts
/**
 * PdfMargins.ts class for EJ2-PDF
 * A class representing PDF page margins.
 */
export  class PdfMargins {
    /**
     * Represents the `Left margin` value.
     * @private
     */
    private leftMargin;
    /**
     * Represents the `Top margin` value.
     * @private
     */
    private topMargin;
    /**
     * Represents the `Right margin` value.
     * @private
     */
    private rightMargin;
    /**
     * Represents the `Bottom margin` value.
     * @private
     */
    private bottomMargin;
    /**
     * Represents the `Default Page Margin` value.
     * @default 0.0
     * @private
     */
    private readonly pdfMargin;
    /**
     * Initializes a new instance of the `PdfMargins` class.
     * @private
     */
    constructor();
    /**
     * Gets or sets the `left margin` size.
     * @private
     */
    left: number;
    /**
     * Gets or sets the `top margin` size.
     * @private
     */
    top: number;
    /**
     * Gets or sets the `right margin` size.
     * @private
     */
    right: number;
    /**
     * Gets or sets the `bottom margin` size.
     * @private
     */
    bottom: number;
    /**
     * Sets the `margins`.
     * @private
     */
    all: number;
    /**
     * Sets the `margins`.
     * @private
     */
    setMargins(margin1: number): void;
    /**
     * Sets the `margins`.
     * @private
     */
    setMargins(margin1: number, margin2: number): void;
    /**
     * Sets the `margins`.
     * @private
     */
    setMargins(margin1: number, margin2: number, margin3: number, margin4: number): void;
    /**
     * `Clones` the object.
     * @private
     */
    clone(): PdfMargins;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/pdf-pen.d.ts
/**
 * PdfPen.ts class for EJ2-PDF
 */
/**
 * `PdfPen` class defining settings for drawing operations, that determines the color,
 * width, and style of the drawing elements.
 * ```typescript
 * // create a new PDF document
 * let document$ : PdfDocument = new PdfDocument();
 * // create a new page
 * let page1$ : PdfPage = document.pages.add();
 * // set pen
 * let pen$ : PdfPen = new PdfPen(new PdfColor(0, 0, 0));
 * // draw rectangle
 * page1.graphics.drawRectangle(pen, new RectangleF({x : 0, y : 0}, {width : 100, height : 50}));
 * // save the document.
 * document.save('output.pdf');
 * // destroy the document
 * document.destroy();
 * ```
 */
export  class PdfPen {
    /**
     * Specifies the `color of the pen`.
     * @default new PdfColor()
     * @private
     */
    private pdfColor;
    /**
     * Specifies the `dash offset of the pen`.
     * @default 0
     * @private
     */
    private dashOffsetValue;
    /**
     * Specifies the `dash pattern of the pen`.
     * @default [0]
     * @private
     */
    private penDashPattern;
    /**
     * Specifies the `dash style of the pen`.
     * @default Solid
     * @private
     */
    private pdfDashStyle;
    /**
     * Specifies the `line cap of the pen`.
     * @default 0
     * @private
     */
    private pdfLineCap;
    /**
     * Specifies the `line join of the pen`.
     * @default 0
     * @private
     */
    private pdfLineJoin;
    /**
     * Specifies the `width of the pen`.
     * @default 1.0
     * @private
     */
    private penWidth;
    /**
     * Specifies the `brush of the pen`.
     * @private
     */
    private pdfBrush;
    /**
     * Specifies the `mitter limit of the pen`.
     * @default 0.0
     * @private
     */
    private internalMiterLimit;
    /**
     * Stores the `colorspace` value.
     * @default Rgb
     * @private
     */
    private colorSpace;
    /**
     * Initializes a new instance of the `PdfPen` class with color.
     * ```typescript
     * // create a new PDF document
     * let document$ : PdfDocument = new PdfDocument();
     * // create a new page
     * let page1$ : PdfPage = document.pages.add();
     * //
     * // set pen
     * let pen$ : PdfPen = new PdfPen(new PdfColor(0, 0, 0));
     * //
     * // draw rectangle
     * page1.graphics.drawRectangle(pen, new RectangleF({x : 0, y : 0}, {width : 100, height : 50}));
     * // save the document.
     * document.save('output.pdf');
     * // destroy the document
     * document.destroy();
     * ```
     * @param color Color of the pen.
     */
    constructor(color: PdfColor);
    /**
     * Initializes a new instance of the `PdfPen` class with 'PdfBrush' class and width of the pen.
     * @private
     */
    constructor(brush: PdfBrush, width: number);
    /**
     * Initializes a new instance of the `PdfPen` class with color and width of the pen.
     * ```typescript
     * // create a new PDF document
     * let document$ : PdfDocument = new PdfDocument();
     * // create a new page
     * let page1$ : PdfPage = document.pages.add();
     * //
     * // set pen
     * let pen$ : PdfPen = new PdfPen(new PdfColor(0, 0, 0), 2);
     * //
     * // draw rectangle
     * page1.graphics.drawRectangle(pen, new RectangleF({x : 0, y : 0}, {width : 100, height : 50}));
     * // save the document.
     * document.save('output.pdf');
     * // destroy the document
     * document.destroy();
     * ```
     * @param color Color of the pen.
     * @param width Width of the pen's line.
     */
    constructor(color: PdfColor, width: number);
    /**
     * Gets or sets the `color of the pen`.
     * @private
     */
    color: PdfColor;
    /**
     * Gets or sets the `dash offset of the pen`.
     * @private
     */
    dashOffset: number;
    /**
     * Gets or sets the `dash pattern of the pen`.
     * @private
     */
    dashPattern: number[];
    /**
     * Gets or sets the `dash style of the pen`.
     * ```typescript
     * // create a new PDF document
     * let document$ : PdfDocument = new PdfDocument();
     * // create a new page
     * let page1$ : PdfPage = document.pages.add();
     * // set pen
     * let pen$ : PdfPen = new PdfPen(new PdfColor(0, 0, 0));
     * //
     * // set pen style
     * pen.dashStyle = PdfDashStyle.DashDot;
     * // get pen style
     * let style : PdfDashStyle = pen.dashStyle;
     * //
     * // draw rectangle
     * page1.graphics.drawRectangle(pen, new RectangleF({x : 0, y : 0}, {width : 100, height : 50}));
     * // save the document.
     * document.save('output.pdf');
     * // destroy the document
     * document.destroy();
     * ```
     */
    dashStyle: PdfDashStyle;
    /**
     * Gets or sets the `line cap of the pen`.
     * @private
     */
    lineCap: PdfLineCap;
    /**
     * Gets or sets the `line join style of the pen`.
     * @private
     */
    lineJoin: PdfLineJoin;
    /**
     * Gets or sets the `miter limit`.
     * @private
     */
    miterLimit: number;
    /**
     * Gets or sets the `width of the pen`.
     * ```typescript
     * // create a new PDF document
     * let document$ : PdfDocument = new PdfDocument();
     * // create a new page
     * let page1$ : PdfPage = document.pages.add();
     * // set pen
     * let pen$ : PdfPen = new PdfPen(new PdfColor(0, 0, 0));
     * //
     * // set pen width
     * pen.width = 2;
     * //
     * // draw rectangle
     * page1.graphics.drawRectangle(pen, new RectangleF({x : 0, y : 0}, {width : 100, height : 50}));
     * // save the document.
     * document.save('output.pdf');
     * // destroy the document
     * document.destroy();
     * ```
     */
    width: number;
    /**
     * `Clones` this instance of PdfPen class.
     * @private
     */
    clone(): PdfPen;
    /**
     * `Sets the brush`.
     * @private
     */
    private setBrush;
    /**
     * `Monitors the changes`.
     * @private
     */
    monitorChanges(currentPen: PdfPen, streamWriter: PdfStreamWriter, getResources: GetResourceEventHandler, saveState: boolean, currentColorSpace: PdfColorSpace, matrix: PdfTransformationMatrix): boolean;
    /**
     * `Controls the dash style` and behaviour of each line.
     * @private
     */
    private dashControl;
    /**
     * `Gets the pattern` of PdfPen.
     * @private
     */
    getPattern(): number[];
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/pdf-resources.d.ts
/**
 * PdfResources.ts class for EJ2-PDF
 */
/**
 * `PdfResources` class used to set resource contents like font, image.
 * @private
 */
export  class PdfResources extends PdfDictionary {
    /**
     * Dictionary for the `objects names`.
     * @private
     */
    private pdfNames;
    /**
     * Dictionary for the `properties names`.
     * @private
     */
    private properties;
    /**
     * `Font name`.
     * @private
     */
    private fontName;
    /**
     * Stores instance of `parent document`.
     * @private
     */
    private pdfDocument;
    /**
     * Initializes a new instance of the `PdfResources` class.
     * @private
     */
    constructor();
    /**
     * Initializes a new instance of the `PdfResources` class.
     * @private
     */
    constructor(baseDictionary: PdfDictionary);
    /**
     * Gets the `font names`.
     * @private
     */
    private readonly names;
    /**
     * Get or set the `page document`.
     * @private
     */
    document: PdfDocument;
    /**
     * `Generates name` for the object and adds to the resource if the object is new.
     * @private
     */
    getName(obj: IPdfWrapper): PdfName;
    /**
     * Gets `resource names` to font dictionaries.
     * @private
     */
    getNames(): TemporaryDictionary<IPdfPrimitive, PdfName>;
    /**
     * Add `RequireProcedureSet` into procset array.
     * @private
     */
    requireProcedureSet(procedureSetName: string): void;
    /**
     * `Remove font` from array.
     * @private
     */
    removeFont(name: string): void;
    /**
     * Generates `Unique string name`.
     * @private
     */
    private generateName;
    /**
     * `Adds object` to the resources.
     * @private
     */
    add(font: PdfFont, name: PdfName): void;
    /**
     * `Adds object` to the resources.
     * @private
     */
    add(template: PdfTemplate, name: PdfName): void;
    /**
     * `Adds object` to the resources.
     * @private
     */
    add(brush: PdfBrush, name: PdfName): void;
    /**
     * `Adds object` to the resources.
     * @private
     */
    add(transparency: PdfTransparency, name: PdfName): void;
    /**
     * `Adds object` to the resources.
     * @private
     */
    add(image: PdfImage | PdfBitmap, name: PdfName): void;
}
/**
 * Used to create new guid for resources.
 * @private
 */
export  class Guid {
    /**
     * Generate `new GUID`.
     * @private
     */
    static getNewGuidString(): string;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/pdf-transformation-matrix.d.ts
/**
 * PdfTransformationMatrix.ts class for EJ2-PDF
 */
/**
 * Class for representing Root `transformation matrix`.
 */
export  class PdfTransformationMatrix {
    /**
     * Value for `angle converting`.
     * @default Math.PI / 180.0
     * @private
     */
    private static readonly degRadFactor;
    /**
     * Value for `angle converting`.
     * @default 180.0 / Math.PI
     * @private
     */
    private readonly radDegFactor;
    /**
     * `Transformation matrix`.
     * @private
     */
    private transformationMatrix;
    /**
     * Gets or sets the `internal matrix object`.
     * @private
     */
    matrix: Matrix;
    /**
     * Initializes object of `PdfTransformationMatrix` class.
     * @private
     */
    constructor();
    /**
     * Initializes object of `PdfTransformationMatrix` class.
     * @private
     */
    constructor(value: boolean);
    /**
     * `Translates` coordinates by specified coordinates.
     * @private
     */
    translate(offsetX: number, offsetY: number): void;
    /**
     * `Scales` coordinates by specified coordinates.
     * @private
     */
    scale(scaleX: number, scaleY: number): void;
    /**
     * `Rotates` coordinate system in counterclockwise direction.
     * @private
     */
    rotate(angle: number): void;
    /**
     * Gets `PDF representation`.
     * @private
     */
    toString(): string;
    /**
     * `Multiplies` matrices (changes coordinate system.)
     * @private
     */
    multiply(matrix: PdfTransformationMatrix): void;
    /**
     * Converts `degrees to radians`.
     * @private
     */
    static degreesToRadians(degreesX: number): number;
    /**
     * Converts `radians to degrees`.
     * @private
     */
    radiansToDegrees(radians: number): number;
    /**
     * `Clones` this instance of PdfTransformationMatrix.
     * @private
     */
    clone(): PdfTransformationMatrix;
}
export  class Matrix {
    /**
     * `elements` in the matrix.
     * @private
     */
    private metrixElements;
    /**
     * Initializes a new instance of the `Matrix` class.
     * @private
     */
    constructor();
    /**
     * Initializes a new instance of the `Matrix` class with number array.
     * @private
     */
    constructor(elements: number[]);
    /**
     * Initializes a new instance of the `Matrix` class.
     * @private
     */
    constructor(m11: number, m12: number, m21: number, m22: number, dx: number, dy: number);
    /**
     * Gets the `elements`.
     * @private
     */
    readonly elements: number[];
    /**
     * Gets the off set `X`.
     * @private
     */
    readonly offsetX: number;
    /**
     * Gets the off set `Y`.
     * @private
     */
    readonly offsetY: number;
    /**
     * `Translates` coordinates by specified coordinates.
     * @private
     */
    translate(offsetX: number, offsetY: number): void;
    /**
     * `Translates` the specified offset X.
     * @private
     */
    transform(point: PointF): PointF;
    /**
     * `Multiplies matrices` (changes coordinate system.)
     * @private
     */
    multiply(matrix: Matrix): void;
    /**
     * `Dispose` this instance of PdfTransformationMatrix class.
     * @private
     */
    dispose(): void;
    /**
     * `Clones` this instance of PdfTransformationMatrix class.
     * @private
     */
    clone(): Object;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/pdf-transparency.d.ts
/**
 * PdfTransparency.ts class for EJ2-PDF
 */
/**
 * Represents a simple `transparency`.
 * @private
 */
export  class PdfTransparency implements IPdfWrapper {
    /**
     * Internal variable to store `dictionary`.
     * @default new PdfDictionary()
     * @private
     */
    private dictionary;
    /**
     * Internal variable for accessing fields from `DictionryProperties` class.
     * @default new DictionaryProperties()
     * @private
     */
    private dictionaryProperties;
    /**
     * Initializes a new instance of the `Transparency` class.
     * @private
     */
    constructor(stroke: number, fill: number, mode: PdfBlendMode);
    /**
     * Gets the `element`.
     * @private
     */
    readonly element: IPdfPrimitive;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/graphics/unit-convertor.d.ts
/**
 * PdfUnitConverter.ts class for EJ2-PDF
 */
/**
 * Used to perform `convertion between pixels and points`.
 * @private
 */
export  class PdfUnitConverter {
    /**
     * Indicates default `horizontal resolution`.
     * @default 96
     * @private
     */
    static readonly horizontalResolution: number;
    /**
     * Indicates default `vertical resolution`.
     * @default 96
     * @private
     */
    static readonly verticalResolution: number;
    /**
     * `Width, in millimeters`, of the physical screen.
     * @private
     */
    static readonly horizontalSize: number;
    /**
     * `Height, in millimeters`, of the physical screen.
     * @private
     */
    static readonly verticalSize: number;
    /**
     * `Width, in pixels`, of the screen.
     * @private
     */
    static readonly pxHorizontalResolution: number;
    /**
     * `Height, in pixels`, of the screen.
     * @private
     */
    static readonly pxVerticalResolution: number;
    /**
     * `Matrix` for conversations between different numeric systems.
     * @private
     */
    private proportions;
    /**
     * Initializes a new instance of the `UnitConvertor` class with DPI value.
     * @private
     */
    constructor(dpi: number);
    /**
     * `Converts` the value, from one graphics unit to another graphics unit.
     * @private
     */
    convertUnits(value: number, from: PdfGraphicsUnit, to: PdfGraphicsUnit): number;
    /**
     * Converts the value `to pixel` from specified graphics unit.
     * @private
     */
    convertToPixels(value: number, from: PdfGraphicsUnit): number;
    /**
     * Converts value, to specified graphics unit `from Pixel`.
     * @private
     */
    convertFromPixels(value: number, to: PdfGraphicsUnit): number;
    /**
     * `Update proportions` matrix according to Graphics settings.
     * @private
     */
    private updateProportionsHelper;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/index.d.ts
/**
 * Pdf implementation all modules
 * @hidden
 */
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/big-endian-writer.d.ts
/**
 * Writes data in BigEndian order.
 */
export  class BigEndianWriter {
    /**
     * Size of Int32 type.
     */
    readonly int32Size: number;
    /**
     * Size of Int16 type.
     */
    readonly int16Size: number;
    /**
     * Size of long type.
     */
    readonly int64Size: number;
    /**
     * Internal buffer.
     */
    private buffer;
    /**
     * Internal buffer capacity.
     */
    private bufferLength;
    /**
     * Current position.
     */
    private internalPosition;
    /**
     * Gets data written to the writer.
     */
    readonly data: number[];
    readonly position: number;
    /**
     * Creates a new writer.
     */
    constructor(capacity: number);
    /**
     * Writes short value.
     */
    writeShort(value: number): void;
    /**
     * Writes int value.
     */
    writeInt(value: number): void;
    /**
     * Writes u int value.
     */
    writeUInt(value: number): void;
    /**
     * Writes string value.
     */
    writeString(value: string): void;
    /**
     * Writes byte[] value.
     */
    writeBytes(value: number[]): void;
    private flush;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/cross-table.d.ts
/**
 * public Enum for `ObjectType`.
 * @private
 */
export  enum ObjectType {
    /**
     * Specifies the type of `Free`.
     * @private
     */
    Free = 0,
    /**
     * Specifies the type of `Normal`.
     * @private
     */
    Normal = 1,
    /**
     * Specifies the type of `Packed`.
     * @private
     */
    Packed = 2
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/enum.d.ts
/**
 * public Enum for `CompositeFontType`.
 * @private
 */
export  enum ObjectStatus {
    /**
     * Specifies the type of `None`.
     * @private
     */
    None = 0,
    /**
     * Specifies the type of `Registered`.
     * @private
     */
    Registered = 1
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/index.d.ts
/**
 * IO classes
 * @hidden
 */
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/pdf-cross-table.d.ts
/**
 * `PdfCrossTable` is responsible for intermediate level parsing
 * and savingof a PDF document.
 * @private
 */
export  class PdfCrossTable {
    /**
     * Parent `Document`.
     * @private
     */
    private pdfDocument;
    /**
     * Internal variable to store primtive objects of `main object collection`.
     * @private
     */
    private items;
    /**
     * The `mapped references`.
     * @private
     */
    private mappedReferences;
    /**
     * The modified `objects` that should be saved.
     * @private
     */
    private objects;
    /**
     * The `trailer` for a new document.
     * @private
     */
    private internalTrailer;
    /**
     * Internal variable to store if document `is being merged`.
     * @private
     */
    private merging;
    /**
     * `Flag` that forces an object to be 'a new'.
     * @private
     */
    private bForceNew;
    /**
     * Holds `maximal generation number` or offset to object.
     * @default 0
     * @private
     */
    private maxGenNumIndex;
    /**
     * The `number of the objects`.
     * @default 0
     * @private
     */
    private objectCount;
    /**
     * Internal variable for accessing fields from `DictionryProperties` class.
     * @default new PdfDictionaryProperties()
     * @private
     */
    private dictionaryProperties;
    /**
     * Gets or sets if the document `is merged`.
     * @private
     */
    isMerging: boolean;
    /**
     * Gets the `trailer`.
     * @private
     */
    readonly trailer: PdfDictionary;
    /**
     * Gets or sets the main `PdfDocument` class instance.
     * @private
     */
    document: PdfDocumentBase;
    /**
     * Gets the catched `PDF object` main collection.
     * @private
     */
    readonly pdfObjects: PdfMainObjectCollection;
    /**
     * Gets the `object collection`.
     * @private
     */
    private readonly objectCollection;
    /**
     * Gets or sets the `number of the objects` within the document.
     * @private
     */
    count: number;
    /**
     * Returns `next available object number`.
     * @private
     */
    readonly nextObjNumber: number;
    /**
     * `Saves` the cross-reference table into the stream and return it as Blob.
     * @private
     */
    save(writer: PdfWriter): Blob;
    /**
     * `Saves` the cross-reference table into the stream.
     * @private
     */
    save(writer: PdfWriter, filename: string): void;
    /**
     * `Saves the endess` of the file.
     * @private
     */
    private saveTheEndess;
    /**
     * `Saves the new trailer` dictionary.
     * @private
     */
    private saveTrailer;
    /**
     * `Saves the xref section`.
     * @private
     */
    private saveSections;
    /**
     * `Saves a subsection`.
     * @private
     */
    private saveSubsection;
    /**
     * Generates string for `xref table item`.
     * @private
     */
    getItem(offset: number, genNumber: number, isFree: boolean): string;
    /**
     * `Prepares a subsection` of the current section within the cross-reference table.
     * @private
     */
    private prepareSubsection;
    /**
     * `Marks the trailer references` being saved.
     * @private
     */
    private markTrailerReferences;
    /**
     * `Saves the head`.
     * @private
     */
    private saveHead;
    /**
     * Generates the `version` of the file.
     * @private
     */
    private generateFileVersion;
    /**
     * Retrieves the `reference` of the object given.
     * @private
     */
    getReference(obj: IPdfPrimitive): PdfReference;
    /**
     * Retrieves the `reference` of the object given.
     * @private
     */
    getReference(obj: IPdfPrimitive, bNew: boolean): PdfReference;
    /**
     * Retrieves the `reference` of the object given.
     * @private
     */
    private getSubReference;
    /**
     * `Saves all objects` in the collection.
     * @private
     */
    private saveObjects;
    /**
     * `Saves indirect object`.
     * @private
     */
    saveIndirectObject(obj: IPdfPrimitive, writer: PdfWriter): void;
    /**
     * Performs `real saving` of the save object.
     * @private
     */
    private doSaveObject;
    /**
     * `Registers` an archived object.
     * @private
     */
    registerObject(offset: number, reference: PdfReference): void;
    /**
     * `Registers` the object in the cross reference table.
     * @private
     */
    registerObject(offset: number, reference: PdfReference, free: boolean): void;
    /**
     * `Dereferences` the specified primitive object.
     * @private
     */
    static dereference(obj: IPdfPrimitive): IPdfPrimitive;
}
export  class RegisteredObject {
    /**
     * The `object number` of the indirect object.
     * @private
     */
    private object;
    /**
     * The `generation number` of the indirect object.
     * @private
     */
    generation: number;
    /**
     * The `offset` of the indirect object within the file.
     * @private
     */
    private offsetNumber;
    /**
     * Shows if the object `is free`.
     * @private
     */
    type: ObjectType;
    /**
     * Holds the current `cross-reference` table.
     * @private
     */
    private xrefTable;
    /**
     * Gets the `object number`.
     * @private
     */
    readonly objectNumber: number;
    /**
     * Gets the `offset`.
     * @private
     */
    readonly offset: number;
    /**
     * Initialize the `structure` with the proper values.
     * @private
     */
    constructor(offset: number, reference: PdfReference);
    /**
     * Initialize the `structure` with the proper values.
     * @private
     */
    constructor(offset: number, reference: PdfReference, free: boolean);
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/pdf-dictionary-properties.d.ts
/**
 * dictionaryProperties.ts class for EJ2-PDF
 * PDF dictionary properties.
 * @private
 */
export  class DictionaryProperties {
    /**
     * Specifies the value of `Pages`.
     * @private
     */
    readonly pages: string;
    /**
     * Specifies the value of `Kids`.
     * @private
     */
    readonly kids: string;
    /**
     * Specifies the value of `Count`.
     * @private
     */
    readonly count: string;
    /**
     * Specifies the value of `Resources`.
     * @private
     */
    readonly resources: string;
    /**
     * Specifies the value of `Type`.
     * @private
     */
    readonly type: string;
    /**
     * Specifies the value of `Size`.
     * @private
     */
    readonly size: string;
    /**
     * Specifies the value of `MediaBox`.
     * @private
     */
    readonly mediaBox: string;
    /**
     * Specifies the value of `Parent`.
     * @private
     */
    readonly parent: string;
    /**
     * Specifies the value of `Root`.
     * @private
     */
    readonly root: string;
    /**
     * Specifies the value of `DecodeParms`.
     * @private
     */
    readonly decodeParms: string;
    /**
     * Specifies the value of `Filter`.
     * @private
     */
    readonly filter: string;
    /**
     * Specifies the value of `Font`.
     * @private
     */
    readonly font: string;
    /**
     * Specifies the value of `Type1`.
     * @private
     */
    readonly type1: string;
    /**
     * Specifies the value of `BaseFont`.
     * @private
     */
    readonly baseFont: string;
    /**
     * Specifies the value of `Encoding`.
     * @private
     */
    readonly encoding: string;
    /**
     * Specifies the value of `Subtype`.
     * @private
     */
    readonly subtype: string;
    /**
     * Specifies the value of `Contents`.
     * @private
     */
    readonly contents: string;
    /**
     * Specifies the value of `ProcSet`.
     * @private
     */
    readonly procset: string;
    /**
     * Specifies the value of `ColorSpace`.
     * @private
     */
    readonly colorSpace: string;
    /**
     * Specifies the value of `ExtGState`.
     * @private
     */
    readonly extGState: string;
    /**
     * Specifies the value of `Pattern`.
     * @private
     */
    readonly pattern: string;
    /**
     * Specifies the value of `XObject`.
     * @private
     */
    readonly xObject: string;
    /**
     * Specifies the value of `Length`.
     * @private
     */
    readonly length: string;
    /**
     * Specifies the value of `Width`.
     * @private
     */
    readonly width: string;
    /**
     * Specifies the value of `Height`.
     * @private
     */
    readonly height: string;
    /**
     * Specifies the value of `BitsPerComponent`.
     * @private
     */
    readonly bitsPerComponent: string;
    /**
     * Specifies the value of `Image`.
     * @private
     */
    readonly image: string;
    /**
     * Specifies the value of `dctdecode`.
     * @private
     */
    readonly dctdecode: string;
    /**
     * Specifies the value of `Columns`.
     * @private
     */
    readonly columns: string;
    /**
     * Specifies the value of `BlackIs1`.
     * @private
     */
    readonly blackIs1: string;
    /**
     * Specifies the value of `K`.
     * @private
     */
    readonly k: string;
    /**
     * Specifies the value of `S`.
     * @private
     */
    readonly s: string;
    /**
     * Specifies the value of `Predictor`.
     * @private
     */
    readonly predictor: string;
    /**
     * Specifies the value of `DeviceRGB`.
     * @private
     */
    readonly deviceRgb: string;
    /**
     * Specifies the value of `Next`.
     * @private
     */
    readonly next: string;
    /**
     * Specifies the value of `Action`.
     * @private
     */
    readonly action: string;
    /**
     * Specifies the value of `Link`.
     * @private
     */
    readonly link: string;
    /**
     *
     * Specifies the value of `A`.
     * @private
     */
    readonly a: string;
    /**
     * Specifies the value of `Annot`.
     * @private
     */
    readonly annot: string;
    /**
     * Specifies the value of `P`.
     * @private
     */
    readonly p: string;
    /**
     * Specifies the value of `C`.
     * @private
     */
    readonly c: string;
    /**
     * Specifies the value of `Rect`.
     * @private
     */
    readonly rect: string;
    /**
     * Specifies the value of `URI`.
     * @private
     */
    readonly uri: string;
    /**
     * Specifies the value of `Annots`.
     * @private
     */
    readonly annots: string;
    /**
     * Specifies the value of `ca`.
     * @private
     */
    readonly ca: string;
    /**
     * Specifies the value of `CA`.
     * @private
     */
    readonly CA: string;
    /**
     * Specifies the value of `XYZ`.
     * @private
     */
    readonly xyz: string;
    /**
     * Specifies the value of `Fit`.
     * @private
     */
    readonly fit: string;
    /**
     * Specifies the value of `Dest`.
     * @private
     */
    readonly dest: string;
    /**
     * Specifies the value of `BM`.
     * @private
     */
    readonly BM: string;
    /**
     * Specifies the value of `flatedecode`.
     * @private
     */
    readonly flatedecode: string;
    /**
     * Specifies the value of `Rotate`.
     * @private
     */
    readonly rotate: string;
    /**
     * Specifies the value of 'bBox'.
     * @private
     */
    readonly bBox: string;
    /**
     * Specifies the value of 'form'.
     * @private
     */
    readonly form: string;
    /**
     * Specifies the value of 'w'.
     * @private
     */
    readonly w: string;
    /**
     * Specifies the value of 'cIDFontType2'.
     * @private
     */
    readonly cIDFontType2: string;
    /**
     * Specifies the value of 'cIDToGIDMap'.
     * @private
     */
    readonly cIDToGIDMap: string;
    /**
     * Specifies the value of 'identity'.
     * @private
     */
    readonly identity: string;
    /**
     * Specifies the value of 'dw'.
     * @private
     */
    readonly dw: string;
    /**
     * Specifies the value of 'fontDescriptor'.
     * @private
     */
    readonly fontDescriptor: string;
    /**
     * Specifies the value of 'cIDSystemInfo'.
     * @private
     */
    readonly cIDSystemInfo: string;
    /**
     * Specifies the value of 'fontName'.
     * @private
     */
    readonly fontName: string;
    /**
     * Specifies the value of 'flags'.
     * @private
     */
    readonly flags: string;
    /**
     * Specifies the value of 'fontBBox'.
     * @private
     */
    readonly fontBBox: string;
    /**
     * Specifies the value of 'missingWidth'.
     * @private
     */
    readonly missingWidth: string;
    /**
     * Specifies the value of 'stemV'.
     * @private
     */
    readonly stemV: string;
    /**
     * Specifies the value of 'italicAngle'.
     * @private
     */
    readonly italicAngle: string;
    /**
     * Specifies the value of 'capHeight'.
     * @private
     */
    readonly capHeight: string;
    /**
     * Specifies the value of 'ascent'.
     * @private
     */
    readonly ascent: string;
    /**
     * Specifies the value of 'descent'.
     * @private
     */
    readonly descent: string;
    /**
     * Specifies the value of 'leading'.
     * @private
     */
    readonly leading: string;
    /**
     * Specifies the value of 'avgWidth'.
     * @private
     */
    readonly avgWidth: string;
    /**
     * Specifies the value of 'fontFile2'.
     * @private
     */
    readonly fontFile2: string;
    /**
     * Specifies the value of 'maxWidth'.
     * @private
     */
    readonly maxWidth: string;
    /**
     * Specifies the value of 'xHeight'.
     * @private
     */
    readonly xHeight: string;
    /**
     * Specifies the value of 'stemH'.
     * @private
     */
    readonly stemH: string;
    /**
     * Specifies the value of 'registry'.
     * @private
     */
    readonly registry: string;
    /**
     * Specifies the value of 'ordering'.
     * @private
     */
    readonly ordering: string;
    /**
     * Specifies the value of 'supplement'.
     * @private
     */
    readonly supplement: string;
    /**
     * Specifies the value of 'type0'.
     * @private
     */
    readonly type0: string;
    /**
     * Specifies the value of 'identityH'.
     * @private
     */
    readonly identityH: string;
    /**
     * Specifies the value of 'toUnicode'.
     * @private
     */
    readonly toUnicode: string;
    /**
     * Specifies the value of 'descendantFonts'.
     * @private
     */
    readonly descendantFonts: string;
    /**
     * Specifies the value of 'background'.
     * @private
     */
    readonly background: string;
    /**
     * Specifies the value of 'shading'.
     * @private
     */
    readonly shading: string;
    /**
     * Specifies the value of 'matrix'.
     * @private
     */
    readonly matrix: string;
    /**
     * Specifies the value of 'antiAlias'.
     * @private
     */
    readonly antiAlias: string;
    /**
     * Specifies the value of 'function'.
     * @private
     */
    readonly function: string;
    /**
     * Specifies the value of 'extend'.
     * @private
     */
    readonly extend: string;
    /**
     * Specifies the value of 'shadingType'.
     * @private
     */
    readonly shadingType: string;
    /**
     * Specifies the value of 'coords'.
     * @private
     */
    readonly coords: string;
    /**
     * Specifies the value of 'domain'.
     * @private
     */
    readonly domain: string;
    /**
     * Specifies the value of 'range'.
     * @private
     */
    readonly range: string;
    /**
     * Specifies the value of 'functionType'.
     * @private
     */
    readonly functionType: string;
    /**
     * Specifies the value of 'bitsPerSample'.
     * @private
     */
    readonly bitsPerSample: string;
    /**
     * Specifies the value of 'patternType'.
     * @private
     */
    readonly patternType: string;
    /**
     * Specifies the value of 'paintType'.
     * @private
     */
    readonly paintType: string;
    /**
     * Specifies the value of 'tilingType'.
     * @private
     */
    readonly tilingType: string;
    /**
     * Specifies the value of 'xStep'.
     * @private
     */
    readonly xStep: string;
    /**
     * Specifies the value of 'yStep'.
     * @private
     */
    readonly yStep: string;
    /**
     * Initialize an instance for `PdfDictionaryProperties` class.
     * @private
     */
    constructor();
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/pdf-main-object-collection.d.ts
/**
 * PdfMainObjectCollection.ts class for EJ2-PDF
 */
/**
 * The collection of all `objects` within a PDF document.
 * @private
 */
export  class PdfMainObjectCollection {
    /**
     * The collection of the `indirect objects`.
     * @default []
     * @private
     */
    objectCollections: ObjectInfo[];
    /**
     * The collection of the `Indirect objects`.
     * @default new Dictionary<number, ObjectInfo>()
     * @private
     */
    mainObjectCollection: Dictionary<number, ObjectInfo>;
    /**
     * The collection of `primitive objects`.
     * @private
     */
    primitiveObjectCollection: Dictionary<IPdfPrimitive, number>;
    /**
     * Holds the `index of the object`.
     * @private
     */
    private index;
    /**
     * Stores the value of `IsNew`.
     * @private
     */
    private isNew;
    /**
     * Gets the `count`.
     * @private
     */
    readonly count: number;
    /**
     * Gets the value of `ObjectInfo` from object collection.
     * @private
     */
    items(index: number): ObjectInfo;
    /**
     * Specifies the value of `IsNew`.
     * @private
     */
    readonly outIsNew: boolean;
    /**
     * `Adds` the specified element.
     * @private
     */
    add(element: IPdfPrimitive): void;
    /**
     * `Looks` through the collection for the object specified.
     * @private
     */
    private lookFor;
    /**
     * Gets the `reference of the object`.
     * @private
     */
    getReference(index: IPdfPrimitive, isNew: boolean): {
        reference: PdfReference;
        wasNew: boolean;
    };
    /**
     * Tries to set the `reference to the object`.
     * @private
     */
    trySetReference(obj: IPdfPrimitive, reference: PdfReference, found: boolean): boolean;
    destroy(): void;
}
export  class ObjectInfo {
    /**
     * The `PDF object`.
     * @private
     */
    pdfObject: IPdfPrimitive;
    /**
     * `Object number and generation number` of the object.
     * @private
     */
    private pdfReference;
    /**
     * Initializes a new instance of the `ObjectInfo` class.
     * @private
     */
    constructor();
    /**
     * Initializes a new instance of the `ObjectInfo` class.
     * @private
     */
    constructor(obj: IPdfPrimitive);
    /**
     * Initializes a new instance of the `ObjectInfo` class.
     * @private
     */
    constructor(obj: IPdfPrimitive, reference: PdfReference);
    /**
     * Gets the `object`.
     * @private
     */
    object: IPdfPrimitive;
    /**
     * Gets the `reference`.
     * @private
     */
    readonly reference: PdfReference;
    /**
     * Sets the `reference`.
     * @private
     */
    setReference(reference: PdfReference): void;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/pdf-operators.d.ts
/**
 * PdfOperators.ts class for EJ2-PDF
 * Class of string PDF common operators.
 * @private
 */
export  class Operators {
    /**
     * Specifies the value of `obj`.
     * @private
     */
    static readonly obj: string;
    /**
     * Specifies the value of `endObj`.
     * @private
     */
    static readonly endObj: string;
    /**
     * Specifies the value of `R`.
     * @private
     */
    static readonly r: string;
    /**
     * Specifies the value of ` `.
     * @private
     */
    static readonly whiteSpace: string;
    /**
     * Specifies the value of `/`.
     * @private
     */
    static readonly slash: string;
    /**
     * Specifies the value of `\r\n`.
     * @private
     */
    static readonly newLine: string;
    /**
     * Specifies the value of `stream`.
     * @private
     */
    static readonly stream: string;
    /**
     * Specifies the value of `endStream`.
     * @private
     */
    static readonly endStream: string;
    /**
     * Specifies the value of `xref`.
     * @private
     */
    static readonly xref: string;
    /**
     * Specifies the value of `f`.
     * @private
     */
    static readonly f: string;
    /**
     * Specifies the value of `n`.
     * @private
     */
    static readonly n: string;
    /**
     * Specifies the value of `trailer`.
     * @private
     */
    static readonly trailer: string;
    /**
     * Specifies the value of `startxref`.
     * @private
     */
    static readonly startxref: string;
    /**
     * Specifies the value of `eof`.
     * @private
     */
    static readonly eof: string;
    /**
     * Specifies the value of `header`.
     * @private
     */
    static readonly header: string;
    /**
     * Specifies the value of `beginText`.
     * @private
     */
    static readonly beginText: string;
    /**
     * Specifies the value of `endText`.
     * @private
     */
    static readonly endText: string;
    /**
     * Specifies the value of `m`.
     * @private
     */
    static readonly beginPath: string;
    /**
     * Specifies the value of `l`.
     * @private
     */
    static readonly appendLineSegment: string;
    /**
     * Specifies the value of `S`.
     * @private
     */
    static readonly stroke: string;
    /**
     * Specifies the value of `f`.
     * @private
     */
    static readonly fill: string;
    /**
     * Specifies the value of `f*`.
     * @private
     */
    static readonly fillEvenOdd: string;
    /**
     * Specifies the value of `B`.
     * @private
     */
    static readonly fillStroke: string;
    /**
     * Specifies the value of `B*`.
     * @private
     */
    static readonly fillStrokeEvenOdd: string;
    /**
     * Specifies the value of `c`.
     * @private
     */
    static readonly appendbeziercurve: string;
    /**
     * Specifies the value of `re`.
     * @private
     */
    static readonly appendRectangle: string;
    /**
     * Specifies the value of `q`.
     * @private
     */
    static readonly saveState: string;
    /**
     * Specifies the value of `Q`.
     * @private
     */
    static readonly restoreState: string;
    /**
     * Specifies the value of `Do`.
     * @private
     */
    static readonly paintXObject: string;
    /**
     * Specifies the value of `cm`.
     * @private
     */
    static readonly modifyCtm: string;
    /**
     * Specifies the value of `Tm`.
     * @private
     */
    static readonly modifyTM: string;
    /**
     * Specifies the value of `w`.
     * @private
     */
    static readonly setLineWidth: string;
    /**
     * Specifies the value of `J`.
     * @private
     */
    static readonly setLineCapStyle: string;
    /**
     * Specifies the value of `j`.
     * @private
     */
    static readonly setLineJoinStyle: string;
    /**
     * Specifies the value of `d`.
     * @private
     */
    static readonly setDashPattern: string;
    /**
     * Specifies the value of `i`.
     * @private
     */
    static readonly setFlatnessTolerance: string;
    /**
     * Specifies the value of `h`.
     * @private
     */
    static readonly closePath: string;
    /**
     * Specifies the value of `s`.
     * @private
     */
    static readonly closeStrokePath: string;
    /**
     * Specifies the value of `b`.
     * @private
     */
    static readonly closeFillStrokePath: string;
    /**
     * Specifies the value of `setCharacterSpace`.
     * @private
     */
    static readonly setCharacterSpace: string;
    /**
     * Specifies the value of `setWordSpace`.
     * @private
     */
    static readonly setWordSpace: string;
    /**
     * Specifies the value of `setHorizontalScaling`.
     * @private
     */
    static readonly setHorizontalScaling: string;
    /**
     * Specifies the value of `setTextLeading`.
     * @private
     */
    static readonly setTextLeading: string;
    /**
     * Specifies the value of `setFont`.
     * @private
     */
    static readonly setFont: string;
    /**
     * Specifies the value of `setRenderingMode`.
     * @private
     */
    static readonly setRenderingMode: string;
    /**
     * Specifies the value of `setTextRise`.
     * @private
     */
    static readonly setTextRise: string;
    /**
     * Specifies the value of `setTextScaling`.
     * @private
     */
    static readonly setTextScaling: string;
    /**
     * Specifies the value of `setCoords`.
     * @private
     */
    static readonly setCoords: string;
    /**
     * Specifies the value of `goToNextLine`.
     * @private
     */
    static readonly goToNextLine: string;
    /**
     * Specifies the value of `setText`.
     * @private
     */
    static readonly setText: string;
    /**
     * Specifies the value of `setTextWithFormatting`.
     * @private
     */
    static readonly setTextWithFormatting: string;
    /**
     * Specifies the value of `setTextOnNewLine`.
     * @private
     */
    static readonly setTextOnNewLine: string;
    /**
     * Specifies the value of `selectcolorspaceforstroking`.
     * @private
     */
    static readonly selectcolorspaceforstroking: string;
    /**
     * Specifies the value of `selectcolorspacefornonstroking`.
     * @private
     */
    static readonly selectcolorspacefornonstroking: string;
    /**
     * Specifies the value of `setrbgcolorforstroking`.
     * @private
     */
    static readonly setrbgcolorforstroking: string;
    /**
     * Specifies the value of `setrbgcolorfornonstroking`.
     * @private
     */
    static readonly setrbgcolorfornonstroking: string;
    /**
     * Specifies the value of `K`.
     * @private
     */
    static readonly setcmykcolorforstroking: string;
    /**
     * Specifies the value of `k`.
     * @private
     */
    static readonly setcmykcolorfornonstroking: string;
    /**
     * Specifies the value of `G`.
     * @private
     */
    static readonly setgraycolorforstroking: string;
    /**
     * Specifies the value of `g`.
     * @private
     */
    static readonly setgraycolorfornonstroking: string;
    /**
     * Specifies the value of `W`.
     * @private
     */
    static readonly clipPath: string;
    /**
     * Specifies the value of `clipPathEvenOdd`.
     * @private
     */
    static readonly clipPathEvenOdd: string;
    /**
     * Specifies the value of `n`.
     * @private
     */
    static readonly endPath: string;
    /**
     * Specifies the value of `setGraphicsState`.
     * @private
     */
    static readonly setGraphicsState: string;
    /**
     * Specifies the value of `%`.
     * @private
     */
    static readonly comment: string;
    /**
     * Specifies the value of `*`.
     * @private
     */
    static readonly evenOdd: string;
    /**
     * Specifies the value of `M`.
     * @private
     */
    static readonly setMiterLimit: string;
    /**
     * Specifies the value of `test`.
     * @private
     */
    private forTest;
    /**
     * Same as SC, but also supports Pattern, Separation, DeviceN, and ICCBased color spaces. For non-stroking operations.
     * @public
     */
    static readonly setColorAndPattern: string;
    /**
     * Same as SC, but also supports Pattern, Separation, DeviceN, and ICCBased color spaces. For stroking.
     */
    static readonly setColorAndPatternStroking: string;
    /**
     * Create an instance of `PdfOperator` class.
     * @private
     */
    constructor();
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/pdf-stream-writer.d.ts
/**
 * PdfStreamWriter.ts class for EJ2-PDF
 */
/**
 * Helper class to `write PDF graphic streams` easily.
 * @private
 */
export  class PdfStreamWriter implements IPdfWriter {
    /**
     * The PDF `stream` where the data should be write into.
     * @private
     */
    private stream;
    /**
     * Initialize an instance of `PdfStreamWriter` class.
     * @private
     */
    constructor(stream: PdfStream);
    /**
     * `Clear` the stream.
     * @public
     */
    clear(): void;
    /**
     * Sets the `graphics state`.
     * @private
     */
    setGraphicsState(dictionaryName: PdfName): void;
    /**
     * Sets the `graphics state`.
     * @private
     */
    setGraphicsState(dictionaryName: string): void;
    /**
     * `Executes the XObject`.
     * @private
     */
    executeObject(name: PdfName): void;
    /**
     * `Closes path object`.
     * @private
     */
    closePath(): void;
    /**
     * `Clips the path`.
     * @private
     */
    clipPath(useEvenOddRule: boolean): void;
    /**
     * `Closes, then fills and strokes the path`.
     * @private
     */
    closeFillStrokePath(useEvenOddRule: boolean): void;
    /**
     * `Fills and strokes path`.
     * @private
     */
    fillStrokePath(useEvenOddRule: boolean): void;
    /**
     * `Fills path`.
     * @private
     */
    fillPath(useEvenOddRule: boolean): void;
    /**
     * `Ends the path`.
     * @private
     */
    endPath(): void;
    /**
     * `Closes and fills the path`.
     * @private
     */
    closeFillPath(useEvenOddRule: boolean): void;
    /**
     * `Closes and strokes the path`.
     * @private
     */
    closeStrokePath(): void;
    /**
     * `Sets the text scaling`.
     * @private
     */
    setTextScaling(textScaling: number): void;
    /**
     * `Strokes path`.
     * @private
     */
    strokePath(): void;
    /**
     * `Restores` the graphics state.
     * @private
     */
    restoreGraphicsState(): void;
    /**
     * `Saves` the graphics state.
     * @private
     */
    saveGraphicsState(): void;
    /**
     * `Shifts the text to the point`.
     * @private
     */
    startNextLine(): void;
    /**
     * `Shifts the text to the point`.
     * @private
     */
    startNextLine(point: PointF): void;
    /**
     * `Shifts the text to the point`.
     * @private
     */
    startNextLine(x: number, y: number): void;
    /**
     * Shows the `text`.
     * @private
     */
    showText(text: PdfString): void;
    /**
     * Sets `text leading`.
     * @private
     */
    setLeading(leading: number): void;
    /**
     * `Begins the path`.
     * @private
     */
    beginPath(x: number, y: number): void;
    /**
     * `Begins text`.
     * @private
     */
    beginText(): void;
    /**
     * `Ends text`.
     * @private
     */
    endText(): void;
    /**
     * `Appends the rectangle`.
     * @private
     */
    appendRectangle(rectangle: RectangleF): void;
    /**
     * `Appends the rectangle`.
     * @private
     */
    appendRectangle(x: number, y: number, width: number, height: number): void;
    /**
     * `Appends a line segment`.
     * @private
     */
    appendLineSegment(point: PointF): void;
    /**
     * `Appends a line segment`.
     * @private
     */
    appendLineSegment(x: number, y: number): void;
    /**
     * Sets the `text rendering mode`.
     * @private
     */
    setTextRenderingMode(renderingMode: TextRenderingMode): void;
    /**
     * Sets the `character spacing`.
     * @private
     */
    setCharacterSpacing(charSpacing: number): void;
    /**
     * Sets the `word spacing`.
     * @private
     */
    setWordSpacing(wordSpacing: number): void;
    /**
     * Shows the `next line text`.
     * @private
     */
    showNextLineText(text: string, hex: boolean): void;
    /**
     * Shows the `next line text`.
     * @private
     */
    showNextLineText(text: PdfString): void;
    /**
     * Set the `color space`.
     * @private
     */
    setColorSpace(name: string, forStroking: boolean): void;
    /**
     * Set the `color space`.
     * @private
     */
    setColorSpace(name: PdfName, forStroking: boolean): void;
    /**
     * Modifies current `transformation matrix`.
     * @private
     */
    modifyCtm(matrix: PdfTransformationMatrix): void;
    /**
     * Sets `font`.
     * @private
     */
    setFont(font: PdfFont, name: string, size: number): void;
    /**
     * Sets `font`.
     * @private
     */
    setFont(font: PdfFont, name: PdfName, size: number): void;
    /**
     * `Writes the operator`.
     * @private
     */
    private writeOperator;
    /**
     * Checks the `text param`.
     * @private
     */
    private checkTextParam;
    /**
     * `Writes the text`.
     * @private
     */
    private writeText;
    /**
     * `Writes the point`.
     * @private
     */
    private writePoint;
    /**
     * `Updates y` co-ordinate.
     * @private
     */
    updateY(arg: number): number;
    /**
     * `Writes string` to the file.
     * @private
     */
    write(string: string): void;
    /**
     * `Writes comment` to the file.
     * @private
     */
    writeComment(comment: string): void;
    /**
     * Sets the `color and space`.
     * @private
     */
    setColorAndSpace(color: PdfColor, colorSpace: PdfColorSpace, forStroking: boolean): void;
    /**
     * Sets the `line dash pattern`.
     * @private
     */
    setLineDashPattern(pattern: number[], patternOffset: number): void;
    /**
     * Sets the `line dash pattern`.
     * @private
     */
    private setLineDashPatternHelper;
    /**
     * Sets the `miter limit`.
     * @private
     */
    setMiterLimit(miterLimit: number): void;
    /**
     * Sets the `width of the line`.
     * @private
     */
    setLineWidth(width: number): void;
    /**
     * Sets the `line cap`.
     * @private
     */
    setLineCap(lineCapStyle: PdfLineCap): void;
    /**
     * Sets the `line join`.
     * @private
     */
    setLineJoin(lineJoinStyle: PdfLineJoin): void;
    /**
     * Gets or sets the current `position` within the stream.
     * @private
     */
    readonly position: number;
    /**
     * Gets `stream length`.
     * @private
     */
    readonly length: number;
    /**
     * Gets and Sets the `current document`.
     * @private
     */
    readonly document: PdfDocument;
    /**
     * `Appends a line segment`.
     * @public
     */
    appendBezierSegment(arg1: PointF, arg2: PointF, arg3: PointF): void;
    appendBezierSegment(x1: number, y1: number, x2: number, y2: number, x3: number, y3: number): void;
    setColourWithPattern(colours: number[], patternName: PdfName, forStroking: boolean): void;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/input-output/pdf-writer.d.ts
/**
 * PdfWriter.ts class for EJ2-PDF
 */
/**
 * Used to `write a string` into output file.
 * @private
 */
export  class PdfWriter implements IPdfWriter {
    /**
     * Specifies the current `position`.
     * @private
     */
    private currentPosition;
    /**
     * Specifies the `length` of the stream.
     * @private
     */
    private streamLength;
    /**
     * Check wheather the stream `can seek` or not.
     * @private
     */
    private cannotSeek;
    /**
     * Specifies the parent `document`.
     * @private
     */
    private pdfDocument;
    /**
     * Specifies the `stream`.
     * @private
     */
    private streamWriter;
    /**
     * Initialize an instance of `PdfWriter` class.
     * @private
     */
    constructor(stream: fileUtils.StreamWriter);
    /**
     * Gets and Sets the `document`.
     * @private
     */
    document: PdfDocumentBase;
    /**
     * Gets the `position`.
     * @private
     */
    readonly position: number;
    /**
     * Gets  the `length` of the stream'.
     * @private
     */
    readonly length: number;
    /**
     * Gets the `stream`.
     * @private
     */
    readonly stream: fileUtils.StreamWriter;
    /**
     * `Writes the specified data`.
     * @private
     */
    write(overload: IPdfPrimitive | number | string | number[]): void;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/enum.d.ts
/**
 * public Enum for `PdfPageOrientation`.
 * @private
 */
export  enum PdfPageOrientation {
    /**
     * Specifies the type of `Portrait`.
     * @private
     */
    Portrait = 0,
    /**
     * Specifies the type of `Landscape`.
     * @private
     */
    Landscape = 1
}
/**
 * public Enum for `PdfPageRotateAngle`.
 * @private
 */
export  enum PdfPageRotateAngle {
    /**
     * Specifies the type of `RotateAngle0`.
     * @private
     */
    RotateAngle0 = 0,
    /**
     * Specifies the type of `RotateAngle90`.
     * @private
     */
    RotateAngle90 = 1,
    /**
     * Specifies the type of `RotateAngle180`.
     * @private
     */
    RotateAngle180 = 2,
    /**
     * Specifies the type of `RotateAngle270`.
     * @private
     */
    RotateAngle270 = 3
}
/**
 * public Enum for `PdfNumberStyle`.
 * @private
 */
export  enum PdfNumberStyle {
    /**
     * Specifies the type of `None`.
     * @private
     */
    None = 0,
    /**
     * Specifies the type of `Numeric`.
     * @private
     */
    Numeric = 1,
    /**
     * Specifies the type of `LowerLatin`.
     * @private
     */
    LowerLatin = 2,
    /**
     * Specifies the type of `LowerRoman`.
     * @private
     */
    LowerRoman = 3,
    /**
     * Specifies the type of `UpperLatin`.
     * @private
     */
    UpperLatin = 4,
    /**
     * Specifies the type of `UpperRoman`.
     * @private
     */
    UpperRoman = 5
}
/**
 * public Enum for `PdfDockStyle`.
 * @private
 */
export  enum PdfDockStyle {
    /**
     * Specifies the type of `None`.
     * @private
     */
    None = 0,
    /**
     * Specifies the type of `Bottom`.
     * @private
     */
    Bottom = 1,
    /**
     * Specifies the type of `Top`.
     * @private
     */
    Top = 2,
    /**
     * Specifies the type of `Left`.
     * @private
     */
    Left = 3,
    /**
     * Specifies the type of `Right`.
     * @private
     */
    Right = 4,
    /**
     * Specifies the type of `Fill`.
     * @private
     */
    Fill = 5
}
/**
 * public Enum for `PdfAlignmentStyle`.
 * @private
 */
export  enum PdfAlignmentStyle {
    /**
     * Specifies the type of `None`.
     * @private
     */
    None = 0,
    /**
     * Specifies the type of `TopLeft`.
     * @private
     */
    TopLeft = 1,
    /**
     * Specifies the type of `TopCenter`.
     * @private
     */
    TopCenter = 2,
    /**
     * Specifies the type of `TopRight`.
     * @private
     */
    TopRight = 3,
    /**
     * Specifies the type of `MiddleLeft`.
     * @private
     */
    MiddleLeft = 4,
    /**
     * Specifies the type of `MiddleCenter`.
     * @private
     */
    MiddleCenter = 5,
    /**
     * Specifies the type of `MiddleRight`.
     * @private
     */
    MiddleRight = 6,
    /**
     * Specifies the type of `BottomLeft`.
     * @private
     */
    BottomLeft = 7,
    /**
     * Specifies the type of `BottomCenter`.
     * @private
     */
    BottomCenter = 8,
    /**
     * Specifies the type of `BottomRight`.
     * @private
     */
    BottomRight = 9
}
/**
 * public Enum for `TemplateType`.
 * @private
 */
export  enum TemplateType {
    /**
     * Specifies the type of `None`.
     * @private
     */
    None = 0,
    /**
     * Specifies the type of `Top`.
     * @private
     */
    Top = 1,
    /**
     * Specifies the type of `Bottom`.
     * @private
     */
    Bottom = 2,
    /**
     * Specifies the type of `Left`.
     * @private
     */
    Left = 3,
    /**
     * Specifies the type of `Right`.
     * @private
     */
    Right = 4
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/index.d.ts
/**
 * Pages classes
 * @hidden
 */
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/page-added-event-arguments.d.ts
/**
 * PageAddedEventArguments.ts class for EJ2-PDF
 */
/**
 * Provides data for `PageAddedEventHandler` event.
 * This event raises when adding the new PDF page to the PDF document.
 */
export  class PageAddedEventArgs {
    /**
     * Represents added `page`.
     * @private
     */
    private pdfPage;
    /**
     * Gets the `newly added page`.
     * @private
     */
    readonly page: PdfPage;
    /**
     * Initializes a new instance of the `PageAddedEventArgs` class.
     * @private
     */
    constructor();
    /**
     * Initializes a new instance of the `PageAddedEventArgs` class with 'PdfPage'.
     * @private
     */
    constructor(page: PdfPage);
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-document-page-collection.d.ts
/**
 * Represents a virtual collection of all the pages in the document.
 * @private
 */
export  class PdfDocumentPageCollection {
    /**
     * Parent `document`.
     * @private
     */
    private document;
    /**
     * It holds the page collection with the `index`.
     * @private
     */
    private pdfPageCollectionIndex;
    /**
     * Internal variable for `page added event`.
     * @private
     */
    pageAdded: PageAddedEventArgs;
    /**
     * Gets the total `number of the pages`.
     * @private
     */
    readonly count: number;
    /**
     * Gets a `page index` from the document.
     * @private
     */
    readonly pageCollectionIndex: Dictionary<PdfPage, number>;
    /**
     * Initializes a new instance of the `PdfPageCollection` class.
     * @private
     */
    constructor(document: PdfDocument);
    /**
     * Creates a page and `adds` it to the last section in the document.
     * @private
     */
    add(): PdfPage;
    /**
     * Creates a page and `adds` it to the last section in the document.
     * @private
     */
    add(page: PdfPage): void;
    /**
     * Returns `last section` in the document.
     * @private
     */
    private getLastSection;
    /**
     * Called when `new page has been added`.
     * @private
     */
    onPageAdded(args: PageAddedEventArgs): void;
    /**
     * Gets the `total number of pages`.
     * @private
     */
    private countPages;
    /**
     * Gets the `page object` from page index.
     * @private
     */
    getPageByIndex(index: number): PdfPage;
    /**
     * Gets a page by its `index` in the document.
     * @private
     */
    private getPage;
    /**
     * Gets the `index of` the page in the document.
     * @private
     */
    indexOf(page: PdfPage): number;
    /**
     * `Removes` the specified page.
     * @private
     */
    remove(page: PdfPage): PdfSection;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-page-base.d.ts
/**
 * The abstract base class for all pages,
 * `PdfPageBase` class provides methods and properties to create PDF pages and its elements.
 * @private
 */
export  abstract class PdfPageBase implements IPdfWrapper {
    /**
     * Collection of the `layers` of the page.
     * @private
     */
    private layerCollection;
    /**
     * Stores the instance of `PdfDictionary` class.
     * @private
     */
    private pageDictionary;
    /**
     * `Index` of the default layer.
     * @default -1.
     * @private
     */
    private defLayerIndex;
    /**
     * Local variable to store if page `updated`.
     * @default false.
     * @private
     */
    private modified;
    /**
     * Stores the instance of `PdfResources`.
     * @hidden
     * @private
     */
    private resources;
    /**
     * Instance of `DictionaryProperties` class.
     * @hidden
     * @private
     */
    protected dictionaryProperties: DictionaryProperties;
    /**
     * Specifies the current `section`.
     * @hidden
     * @private
     */
    private pdfSection;
    /**
     * Gets the `section` of a page.
     * @private
     */
    section: PdfSection;
    /**
     * Gets the page `dictionary`.
     * @private
     */
    readonly dictionary: PdfDictionary;
    /**
     * Gets the wrapped `element`.
     * @private
     */
    readonly element: IPdfPrimitive;
    /**
     * Gets the `default layer` of the page (Read only).
     * @private
     */
    readonly defaultLayer: PdfPageLayer;
    /**
     * Gets or sets `index of the default layer`.
     * @private
     */
    /**
    * Gets or sets` index of the default layer`.
    * @private
    */
    defaultLayerIndex: number;
    /**
     * Gets the collection of the page's `layers` (Read only).
     * @private
     */
    readonly layers: PdfPageLayerCollection;
    /**
     * Return an instance of `PdfResources` class.
     * @private
     */
    getResources(): PdfResources;
    /**
     * Gets `array of page's content`.
     * @private
     */
    readonly contents: PdfArray;
    /**
     * Sets the `resources`.
     * @private
     */
    setResources(res: PdfResources): void;
    /**
     * Gets the `size of the page` (Read only).
     * @private
     */
    abstract readonly size: SizeF;
    /**
     * Gets the `origin of the page`.
     * @private
     */
    abstract readonly origin: PointF;
    /**
     * Initializes a new instance of the `PdfPageBase` class.
     * @private
     */
    constructor(dictionary: PdfDictionary);
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-page-layer-collection.d.ts
/**
 * PdfPageLayerCollection.ts class for EJ2-PDF
 */
/**
 * The class provides methods and properties to handle the collections of `PdfPageLayer`.
 */
export  class PdfPageLayerCollection extends PdfCollection {
    /**
     * Parent `page`.
     * @private
     */
    private page;
    /**
     * Stores the `number of first level layers` in the document.
     * @default 0
     * @private
     */
    private parentLayerCount;
    /**
     * Indicates if `Sublayer` is present.
     * @default false
     * @private
     */
    sublayer: boolean;
    /**
     * Stores the `optional content dictionary`.
     * @private
     */
    optionalContent: PdfDictionary;
    /**
     * Return the `PdfLayer` from the layer collection by index.
     * @private
     */
    items(index: number): PdfPageLayer;
    /**
     * Stores the `layer` into layer collection with specified index.
     * @private
     */
    items(index: number, value: PdfPageLayer): void;
    /**
     * Initializes a new instance of the `PdfPageLayerCollection` class
     * @private
     */
    constructor();
    /**
     * Initializes a new instance of the `PdfPageLayerCollection` class
     * @private
     */
    constructor(page: PdfPageBase);
    /**
     * Creates a new `PdfPageLayer` and adds it to the end of the collection.
     * @private
     */
    add(): PdfPageLayer;
    /**
     * Creates a new `PdfPageLayer` and adds it to the end of the collection.
     * @private
     */
    add(layerName: string, visible: boolean): PdfPageLayer;
    /**
     * Creates a new `PdfPageLayer` and adds it to the end of the collection.
     * @private
     */
    add(layerName: string): PdfPageLayer;
    /**
     * Creates a new `PdfPageLayer` and adds it to the end of the collection.
     * @private
     */
    add(layer: PdfPageLayer): number;
    /**
     * Registers `layer` at the page.
     * @private
     */
    private addLayer;
    /**
     * Inserts `PdfPageLayer` into the collection at specified index.
     * @private
     */
    insert(index: number, layer: PdfPageLayer): void;
    /**
     * Registers layer at the page.
     * @private
     */
    private insertLayer;
    /**
     * `Parses the layers`.
     * @private
     */
    private parseLayers;
    /**
     * Returns `index of` the `PdfPageLayer` in the collection if exists, -1 otherwise.
     * @private
     */
    indexOf(layer: PdfPageLayer): number;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-page-layer.d.ts
/**
 * PdfPageLayer.ts class for EJ2-PDF
 */
/**
 * The `PdfPageLayer` used to create layers in PDF document.
 * @private
 */
export  class PdfPageLayer implements IPdfWrapper {
    /**
     * Parent `page` of the layer.
     * @private
     */
    private pdfPage;
    /**
     * `Graphics context` of the layer.
     * @private
     */
    private pdfGraphics;
    /**
     * `Content` of the object.
     * @private
     */
    private content;
    /**
     * Indicates whether the layer should `clip page template` dimensions or not.
     * @private
     */
    private clipPageTemplates;
    /**
     * Local Variable to store the `color space` of the document.
     * @private
     */
    private pdfColorSpace;
    /**
     * Local Variable to store the `layer id`.
     * @private
     */
    private layerid;
    /**
     * Local Variable to store the `name`.
     * @private
     */
    private layerName;
    /**
     * Local Variable to set `visibility`.
     * @default true
     * @private
     */
    private isVisible;
    /**
     * Collection of the `layers` of the page.
     * @private
     */
    private layer;
    /**
     * Indicates if `Sublayer` is present.
     * @default false
     * @private
     */
    sublayer: boolean;
    /**
     * Local variable to store `length` of the graphics.
     * @default 0
     * @private
     */
    contentLength: number;
    /**
     * Stores the `print Option` dictionary.
     * @private
     */
    printOption: PdfDictionary;
    /**
     * Stores the `usage` dictionary.
     * @private
     */
    usage: PdfDictionary;
    /**
     * Instance for `PdfDictionaryProperties` Class.
     * @private
     */
    private dictionaryProperties;
    /**
     * Get or set the `color space`.
     * @private
     */
    colorSpace: PdfColorSpace;
    /**
     * Gets parent `page` of the layer.
     * @private
     */
    readonly page: PdfPageBase;
    /**
     * Gets and Sets the `id of the layer`.
     * @private
     */
    layerId: string;
    /**
     * Gets or sets the `name` of the layer.
     * @private
     */
    name: string;
    /**
     * Gets or sets the `visibility` of the layer.
     * @private
     */
    visible: boolean;
    /**
     * Gets `Graphics` context of the layer, used to draw various graphical content on layer.
     * @private
     */
    readonly graphics: PdfGraphics;
    /**
     * Gets the collection of `PdfPageLayer`, this collection handle by the class 'PdfPageLayerCollection'.
     * @private
     */
    readonly layers: PdfPageLayerCollection;
    /**
     * Initializes a new instance of the `PdfPageLayer` class with specified PDF page.
     * @private
     */
    constructor(page: PdfPageBase);
    /**
     * Initializes a new instance of the `PdfPageLayer` class with specified PDF page and PDF stream.
     * @private
     */
    constructor(page: PdfPageBase, stream: PdfStream);
    /**
     * Initializes a new instance of the `PdfPageLayer` class.
     * @private
     */
    constructor(page: PdfPageBase, clipPageTemplates: boolean);
    /**
     * `Adds` a new PDF Page layer.
     * @private
     */
    add(): PdfPageLayer;
    /**
     * Returns a value indicating the `sign` of a single-precision floating-point number.
     * @private
     */
    private sign;
    /**
     * `Initializes Graphics context` of the layer.
     * @private
     */
    private initializeGraphics;
    /**
     * Gets the wrapped `element`.
     * @private
     */
    readonly element: IPdfPrimitive;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-page-settings.d.ts
/**
 * PdfPageSettings.ts class for EJ2-PDF
 */
/**
 * The class provides various `setting` related with PDF pages.
 */
export  class PdfPageSettings {
    /**
     * The page `margins`.
     * @private
     */
    private pageMargins;
    /**
     * The page `size`.
     * @default a4
     * @private
     */
    private pageSize;
    /**
     * The page `rotation angle`.
     * @default PdfPageRotateAngle.RotateAngle0
     * @private
     */
    private rotateAngle;
    /**
     * The page `orientation`.
     * @default PdfPageOrientation.Portrait
     * @private
     */
    private pageOrientation;
    /**
     * The page `origin`.
     * @default 0,0
     * @private
     */
    private pageOrigin;
    /**
     * Checks the Whether the `rotation` is applied or not.
     * @default false
     * @private
     */
    isRotation: boolean;
    /**
     * Initializes a new instance of the `PdfPageSettings` class.
     * @private
     */
    constructor();
    /**
     * Initializes a new instance of the `PdfPageSettings` class.
     * @private
     */
    constructor(margins: number);
    /**
     * Gets or sets the `size` of the page.
     * @private
     */
    size: SizeF;
    /**
     * Gets or sets the page `orientation`.
     * @private
     */
    orientation: PdfPageOrientation;
    /**
     * Gets or sets the `margins` of the page.
     * @private
     */
    margins: PdfMargins;
    /**
     * Gets or sets the `width` of the page.
     * @private
     */
    width: number;
    /**
     * Gets or sets the `height` of the page.
     * @private
     */
    height: number;
    /**
     * Gets or sets the `origin` of the page.
     * @private
     */
    origin: PointF;
    /**
     * Gets or sets the number of degrees by which the page should be `rotated` clockwise when displayed or printed.
     * @private
     */
    rotate: PdfPageRotateAngle;
    /**
     * `Update page size` depending on orientation.
     * @private
     */
    private updateSize;
    /**
     * Creates a `clone` of the object.
     * @private
     */
    clone(): PdfPageSettings;
    /**
     * Returns `size`, shrinked by the margins.
     * @private
     */
    getActualSize(): SizeF;
    /**
     * Sets `size` to the page aaccording to the orientation.
     * @private
     */
    private setSize;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-page-size.d.ts
/**
 * PdfPageSize.ts class for EJ2-PDF
 */
/**
 * Represents information about various predefined `page sizes`.
 */
export  class PdfPageSize {
    /**
     * Specifies the size of `letter`.
     * @private
     */
    static readonly letter: SizeF;
    /**
     * Specifies the size of `note`.
     * @private
     */
    static readonly note: SizeF;
    /**
     * Specifies the size of `legal`.
     * @private
     */
    static readonly legal: SizeF;
    /**
     * Specifies the size of `a0`.
     * @private
     */
    static readonly a0: SizeF;
    /**
     * Specifies the size of `a1`.
     * @private
     */
    static readonly a1: SizeF;
    /**
     * Specifies the size of `a2`.
     * @private
     */
    static readonly a2: SizeF;
    /**
     * Specifies the size of `a3`.
     * @private
     */
    static readonly a3: SizeF;
    /**
     * Specifies the size of `a4`.
     * @private
     */
    static readonly a4: SizeF;
    /**
     * Specifies the size of `a5`.
     * @private
     */
    static readonly a5: SizeF;
    /**
     * Specifies the size of `a6`.
     * @private
     */
    static readonly a6: SizeF;
    /**
     * Specifies the size of `a7`.
     * @private
     */
    static readonly a7: SizeF;
    /**
     * Specifies the size of `a8`.
     * @private
     */
    static readonly a8: SizeF;
    /**
     * Specifies the size of `a9`.
     * @private
     */
    static readonly a9: SizeF;
    /**
     * Specifies the size of `a10`.
     * @private
     */
    static readonly a10: SizeF;
    /**
     * Specifies the size of `b0`.
     * @private
     */
    static readonly b0: SizeF;
    /**
     * Specifies the size of `b1`.
     * @private
     */
    static readonly b1: SizeF;
    /**
     * Specifies the size of `b2`.
     * @private
     */
    static readonly b2: SizeF;
    /**
     * Specifies the size of `b3`.
     * @private
     */
    static readonly b3: SizeF;
    /**
     * Specifies the size of `b4`.
     * @private
     */
    static readonly b4: SizeF;
    /**
     * Specifies the size of `b5`.
     * @private
     */
    static readonly b5: SizeF;
    /**
     * Specifies the size of `archE`.
     * @private
     */
    static readonly archE: SizeF;
    /**
     * Specifies the size of `archD`.
     * @private
     */
    static readonly archD: SizeF;
    /**
     * Specifies the size of `archC`.
     * @private
     */
    static readonly archC: SizeF;
    /**
     * Specifies the size of `archB`.
     * @private
     */
    static readonly archB: SizeF;
    /**
     * Specifies the size of `archA`.
     * @private
     */
    static readonly archA: SizeF;
    /**
     * Specifies the size of `flsa`.
     * @private
     */
    static readonly flsa: SizeF;
    /**
     * Specifies the size of `halfLetter`.
     * @private
     */
    static readonly halfLetter: SizeF;
    /**
     * Specifies the size of `letter11x17`.
     * @private
     */
    static readonly letter11x17: SizeF;
    /**
     * Specifies the size of `ledger`.
     * @private
     */
    static readonly ledger: SizeF;
    /**
     * Initialize an instance for `PdfPageSize` class.
     * @private
     */
    constructor();
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-page-template-element.d.ts
/**
 * PdfPageTemplateElement.ts class for EJ2-Pdf
 */
/**
 * Describes a `page template` object that can be used as header/footer, watermark or stamp.
 */
export  class PdfPageTemplateElement {
    /**
     * `Layer type` of the template.
     * @private
     */
    private isForeground;
    /**
     * `Docking style`.
     * @private
     */
    private dockStyle;
    /**
     * `Alignment style`.
     * @private
     */
    private alignmentStyle;
    /**
     * `PdfTemplate` object.
     * @private
     */
    private pdfTemplate;
    /**
     * Usage `type` of this template.
     * @private
     */
    private templateType;
    /**
     * `Location` of the template on the page.
     * @private
     */
    private currentLocation;
    /**
     * Gets or sets the `dock style` of the page template element.
     * @private
     */
    dock: PdfDockStyle;
    /**
     * Gets or sets `alignment` of the page template element.
     * @private
     */
    alignment: PdfAlignmentStyle;
    /**
     * Indicates whether the page template is located `in front of the page layers or behind of it`.
     * @private
     */
    foreground: boolean;
    /**
     * Indicates whether the page template is located `behind of the page layers or in front of it`.
     * @private
     */
    background: boolean;
    /**
     * Gets or sets `location` of the page template element.
     * @private
     */
    location: PointF;
    /**
     * Gets or sets `X` co-ordinate of the template element on the page.
     * @private
     */
    x: number;
    /**
     * Gets or sets `Y` co-ordinate of the template element on the page.
     * @private
     */
    y: number;
    /**
     * Gets or sets `size` of the page template element.
     * @private
     */
    size: SizeF;
    /**
     * Gets or sets `width` of the page template element.
     * @private
     */
    width: number;
    /**
     * Gets or sets `height` of the page template element.
     * @private
     */
    height: number;
    /**
     * Gets `graphics` context of the page template element.
     * @private
     */
    readonly graphics: PdfGraphics;
    /**
     * Gets Pdf `template` object.
     * @private
     */
    readonly template: PdfTemplate;
    /**
     * Gets or sets `type` of the usage of this page template.
     * @private
     */
    type: TemplateType;
    /**
     * Gets or sets `bounds` of the page template.
     * @public
     */
    bounds: RectangleF;
    /**
     * Creates a new page template.
     * @param bounds Bounds of the template.
     */
    constructor(bounds: RectangleF);
    /**
     * Creates a new page template.
     * @param bounds Bounds of the template.
     * @param page Page of the template.
     */
    constructor(bounds: RectangleF, page: PdfPage);
    /**
     * Creates a new page template.
     * @param location Location of the template.
     * @param size Size of the template.
     */
    constructor(location: PointF, size: SizeF);
    /**
     * Creates a new page template.
     * @param location Location of the template.
     * @param size Size of the template.
     * @param page Page of the template.
     */
    constructor(location: PointF, size: SizeF, page: PdfPage);
    /**
     * Creates a new page template.
     * @param size Size of the template.
     */
    constructor(size: SizeF);
    /**
     * Creates a new page template.
     * @param width Width of the template.
     * @param height Height of the template.
     */
    constructor(width: number, height: number);
    /**
     * Creates a new page template.
     * @param width Width of the template.
     * @param height Height of the template.
     * @param page The Current Page object.
     */
    constructor(width: number, height: number, page: PdfPage);
    /**
     * Creates a new page template.
     * @param x X co-ordinate of the template.
     * @param y Y co-ordinate of the template.
     * @param width Width of the template.
     * @param height Height of the template.
     */
    constructor(x: number, y: number, width: number, height: number);
    /**
     * Creates a new page template.
     * @param x X co-ordinate of the template.
     * @param y Y co-ordinate of the template.
     * @param width Width of the template.
     * @param height Height of the template.
     * @param page The Current Page object.
     */
    constructor(x: number, y: number, width: number, height: number, page: PdfPage);
    /**
     * `Initialize Bounds` Initialize the bounds value of the template.
     * @private
     */
    private InitiateBounds;
    /**
     * `Updates Dock` property if template is used as header/footer.
     * @private
     */
    private updateDocking;
    /**
     * `Resets alignment` of the template.
     * @private
     */
    private resetAlignment;
    /**
     * `Sets alignment` of the template.
     * @private
     */
    private setAlignment;
    /**
     * Draws the template.
     * @private
     */
    draw(layer: PdfPageLayer, document: PdfDocument): void;
    /**
     * Calculates bounds of the page template.
     * @private
     */
    private calculateBounds;
    /**
     * Calculates bounds according to the alignment.
     * @private
     */
    private getAlignmentBounds;
    /**
     * Calculates bounds according to the alignment.
     * @private
     */
    private getSimpleAlignmentBounds;
    /**
     * Calculates bounds according to the alignment.
     * @private
     */
    private getTemplateAlignmentBounds;
    /**
     * Calculates bounds according to the docking.
     * @private
     */
    private getDockBounds;
    /**
     * Calculates bounds according to the docking.
     * @private
     */
    private getSimpleDockBounds;
    /**
     * Calculates template bounds basing on docking if template is a page template.
     * @private
     */
    private getTemplateDockBounds;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-page.d.ts
/**
 * Provides methods and properties to create pages and its elements.
 * `PdfPage` class inherited from the `PdfPageBase` class.
 * ```typescript
 * // create a new PDF document
 * let document$ : PdfDocument = new PdfDocument();
 * //
 * // add a new page to the document
 * let page1$ : PdfPage = document.pages.add();
 * //
 * // set the font
 * let font$ : PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);
 * // create black brush
 * let blackBrush$ : PdfSolidBrush = new PdfSolidBrush(new PdfColor(0, 0, 0));
 * // draw the text
 * page1.graphics.drawString('Hello World', font, blackBrush, new PointF(0, 0));
 * // save the document
 * document.save('output.pdf');
 * // destroy the document
 * document.destroy();
 * ```
 */
export  class PdfPage extends PdfPageBase {
    /**
     * Checks whether the `progress is on`.
     * @hidden
     * @private
     */
    private isProgressOn;
    /**
     * Stores the instance of `PdfAnnotationCollection` class.
     * @hidden
     * @default null
     * @private
     */
    private annotationCollection;
    /**
     * Stores the instance of `PageBeginSave` event for Page Number Field.
     * @default null
     * @private
     */
    beginSave: Function;
    /**
     * Initialize the new instance for `PdfPage` class.
     * @private
     */
    constructor();
    /**
     * Gets current `document`.
     * @private
     */
    readonly document: PdfDocument;
    /**
     * Get the current `graphics`.
     * ```typescript
     * // create a new PDF document
     * let document$ : PdfDocument = new PdfDocument();
     * // add a new page to the document
     * let page1$ : PdfPage = document.pages.add();
     * //
     * // get graphics
     * let graphics$ : PdfGraphics = page1.graphics;
     * //
     * // set the font
     * let font$ : PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);
     * // create black brush
     * let blackBrush$ : PdfSolidBrush = new PdfSolidBrush(new PdfColor(0, 0, 0));
     * // draw the text
     * graphics.drawString('Hello World', font, blackBrush, new PointF(0, 0));
     * // save the document
     * document.save('output.pdf');
     * // destroy the document
     * document.destroy();
     * ```
     */
    readonly graphics: PdfGraphics;
    /**
     * Gets the `cross table`.
     * @private
     */
    readonly crossTable: PdfCrossTable;
    /**
     * Gets the size of the PDF page- Read only.
     * @public
     */
    readonly size: SizeF;
    /**
     * Gets the `origin` of the page.
     * @private
     */
    readonly origin: PointF;
    /**
     * Gets a collection of the `annotations` of the page- Read only.
     * @private
     */
    readonly annotations: PdfAnnotationCollection;
    /**
     * `Initializes` a page.
     * @private
     */
    private initialize;
    /**
     * Sets parent `section` to the page.
     * @private
     */
    setSection(section: PdfSection): void;
    /**
     * `Resets the progress`.
     * @private
     */
    resetProgress(): void;
    /**
     * Get the page size reduced by page margins and page template dimensions.
     * ```typescript
     * // create a new PDF document
     * let document : PdfDocument = new PdfDocument();
     * // add a pages to the document
     * let page1 : PdfPage = document.pages.add();
     * // create new standard font
     * let font : PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);
     * // set brush
     * let blackBrush : PdfSolidBrush = new PdfSolidBrush(new PdfColor(0, 0, 0));
     * //
     * // set the specified point using `getClientSize` method
     * let point : PointF = new PointF(page1.getClientSize().width - 200, page1.getClientSize().height - 200);
     * // draw the text
     * page1.graphics.drawString('Hello World', font, blackBrush, point);
     * //
     * // save the document
     * document.save('output.pdf');
     * // destroy the document
     * document.destroy();
     * ```
     */
    getClientSize(): SizeF;
    /**
     * Helper method to retrive the instance of `PageBeginSave` event for header and footer elements.
     * @private
     */
    pageBeginSave(): void;
    /**
     * Helper method to draw template elements.
     * @private
     */
    private drawPageTemplates;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-section-collection.d.ts
/**
 * PdfSectionCollection.ts class for EJ2-PDF
 */
/**
 * Represents the `collection of the sections`.
 * @private
 */
export  class PdfSectionCollection implements IPdfWrapper {
    /**
     * Rotate factor for page `rotation`.
     * @default 90
     * @private
     */
    static readonly rotateFactor: number;
    /**
     * the current `document`.
     * @private
     */
    private pdfDocument;
    /**
     * `count` of the sections.
     * @private
     */
    private sectionCount;
    /**
     * @hidden
     * @private
     */
    private sections;
    /**
     * @hidden
     * @private
     */
    private sectionCollection;
    /**
     * @hidden
     * @private
     */
    private pages;
    /**
     * @hidden
     * @private
     */
    private dictionaryProperties;
    /**
     * Initializes a new instance of the `PdfSectionCollection` class.
     * @private
     */
    constructor(document: PdfDocument);
    /**
     * Gets the `Section` collection.
     */
    readonly section: PdfSection[];
    /**
     * Gets a parent `document`.
     * @private
     */
    readonly document: PdfDocument;
    /**
     * Gets the `number of sections` in a document.
     * @private
     */
    readonly count: number;
    /**
     * Gets the wrapped `element`.
     * @private
     */
    readonly element: IPdfPrimitive;
    /**
     * `Initializes the object`.
     * @private
     */
    private initialize;
    /**
     * Initializes a new instance of the `PdfSectionCollection` class.
     * @private
     */
    pdfSectionCollection(index: number): PdfSection;
    /**
     * In fills dictionary by the data from `Page settings`.
     * @private
     */
    private setPageSettings;
    /**
     * `Adds` the specified section.
     * @private
     */
    add(section?: PdfSection): number | PdfSection;
    /**
     * `Checks` if the section is within the collection.
     * @private
     */
    private checkSection;
    /**
     * Catches the Save event of the dictionary to `count the pages`.
     * @private
     */
    countPages(): number;
    /**
     * Catches the Save event of the dictionary to `count the pages`.
     * @hidden
     * @private
     */
    beginSave(): void;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-section-page-collection.d.ts
/**
 * PdfSectionPageCollection.ts class for EJ2-PDF
 */
/**
 * Represents the `collection of pages in a section`.
 * @private
 */
export  class PdfSectionPageCollection {
    /**
     * @hidden
     * @private
     */
    private pdfSection;
    /**
     * Gets the `PdfPage` at the specified index.
     * @private
     */
    section: PdfSection;
    /**
     * Initializes a new instance of the `PdfSectionPageCollection` class.
     * @private
     */
    constructor(section: PdfSection);
    /**
     * `Determines` whether the specified page is within the collection.
     * @private
     */
    contains(page: PdfPage): boolean;
    /**
     * `Removes` the specified page from collection.
     * @private
     */
    remove(page: PdfPage): void;
    /**
     * `Adds` a new page from collection.
     * @private
     */
    add(): PdfPage;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-section-templates.d.ts
/**
 * PdfSectionTemplate.ts class for EJ2-PDF
 */
/**
 * Represents a `page template` for all the pages in the section.
 */
export  class PdfSectionTemplate extends PdfDocumentTemplate {
    /**
     * `Left` settings.
     * @private
     */
    private leftValue;
    /**
     * `Top` settings.
     * @private
     */
    private topValue;
    /**
     * `Right` settings.
     * @private
     */
    private rightValue;
    /**
     * `Bottom` settings.
     * @private
     */
    private bottomValue;
    /**
     * `Other templates settings`.
     * @private
     */
    private stampValue;
    /**
     * Gets or sets value indicating whether parent `Left page template should be used or not`.
     * @private
     */
    applyDocumentLeftTemplate: boolean;
    /**
     * Gets or sets value indicating whether parent `Top page template should be used or not`.
     * @private
     */
    applyDocumentTopTemplate: boolean;
    /**
     * Gets or sets value indicating whether parent `Right page template should be used or not`.
     * @private
     */
    applyDocumentRightTemplate: boolean;
    /**
     * Gets or sets value indicating whether parent `Bottom page template should be used or not`.
     * @private
     */
    applyDocumentBottomTemplate: boolean;
    /**
     * Gets or sets value indicating whether the `stamp value` is true or not.
     * @private
     */
    applyDocumentStamps: boolean;
    /**
     * `Creates a new object`.
     * @private
     */
    constructor();
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/pages/pdf-section.d.ts
/**
 * PdfSection.ts class for EJ2-PDF
 */
/**
 * Represents a `section` entity. A section it's a set of the pages with similar page settings.
 */
export  class PdfSection implements IPdfWrapper {
    /**
     * @hidden
     * @private
     */
    private pageAdded;
    /**
     * the parent `document`.
     * @private
     */
    private pdfDocument;
    /**
     * Page `settings` of the pages in the section.
     * @private
     */
    private settings;
    /**
     * Internal variable to store `initial page settings`.
     * @private
     */
    initialSettings: PdfPageSettings;
    /**
     * @hidden
     * @private
     */
    pagesReferences: PdfArray;
    /**
     * @hidden
     * @private
     */
    private section;
    /**
     * @hidden
     * @private
     */
    private pageCount;
    /**
     * @hidden
     * @private
     */
    private sectionCollection;
    /**
     * @hidden
     * @private
     */
    private pdfPages;
    /**
     * Indicates if the `progress is turned on`.
     * @private
     */
    private isProgressOn;
    /**
     * Page `template` for the section.
     * @private
     */
    private pageTemplate;
    /**
     * @hidden
     * @private
     */
    private dictionaryProperties;
    /**
     * A virtual `collection of pages`.
     * @private
     */
    private pagesCollection;
    /**
     * Stores the information about the page settings of the current section.
     * @private
     */
    private state;
    /**
     * Initializes a new instance of the `PdfSection` class.
     * @private
     */
    constructor(document: PdfDocument);
    /**
     * Initializes a new instance of the `PdfSection` class.
     * @private
     */
    constructor(document: PdfDocument, pageSettings: PdfPageSettings);
    /**
     * Gets or sets the `parent`.
     * @private
     */
    parent: PdfSectionCollection;
    /**
     * Gets the `parent document`.
     * @private
     */
    readonly parentDocument: PdfDocumentBase;
    /**
     * Gets or sets the `page settings` of the section.
     * @private
     */
    pageSettings: PdfPageSettings;
    /**
     * Gets the wrapped `element`.
     * @private
     */
    readonly element: IPdfPrimitive;
    /**
     * Gets the `count` of the pages in the section.
     * @private
     */
    readonly count: number;
    /**
     * Gets or sets a `template` for the pages in the section.
     * @private
     */
    template: PdfSectionTemplate;
    /**
     * Gets the `document`.
     * @private
     */
    readonly document: PdfDocument;
    /**
     * Gets the collection of `pages` in a section (Read only)
     * @private
     */
    readonly pages: PdfSectionPageCollection;
    /**
     * `Return the page collection` of current section.
     * @private
     */
    getPages(): PdfPageBase[];
    /**
     * `Translates` point into native coordinates of the page.
     * @private
     */
    pointToNativePdf(page: PdfPage, point: PointF): PointF;
    /**
     * Sets the page setting of the current section.
     * @public
     * @param settings Instance of `PdfPageSettings`
     */
    setPageSettings(settings: PdfPageSettings): void;
    /**
     * `Initializes` the object.
     * @private
     */
    private initialize;
    /**
     * Checks whether any template should be printed on this layer.
     * @private
     * @param document The parent document.
     * @param page The parent page.
     * @param foreground Layer z-order.
     * @returns True - if some content should be printed on the layer, False otherwise.
     */
    containsTemplates(document: PdfDocument, page: PdfPage, foreground: boolean): boolean;
    /**
     * Returns array of the document templates.
     * @private
     * @param document The parent document.
     * @param page The parent page.
     * @param headers If true - return headers/footers, if false - return simple templates.
     * @param foreground If true - return foreground templates, if false - return background templates.
     * @returns Returns array of the document templates.
     */
    private getDocumentTemplates;
    /**
     * Returns array of the section templates.
     * @private
     * @param page The parent page.
     * @param foreground If true - return foreground templates, if false - return background templates.
     * @returns Returns array of the section templates.
     */
    private getSectionTemplates;
    /**
     * `Adds` the specified page.
     * @private
     */
    add(page?: PdfPage): void | PdfPage;
    /**
     * `Checks the presence`.
     * @private
     */
    private checkPresence;
    /**
     * `Determines` whether the page in within the section.
     * @private
     */
    contains(page: PdfPage): boolean;
    /**
     * Get the `index of` the page.
     * @private
     */
    indexOf(page: PdfPage): number;
    /**
     * Call two event's methods.
     * @hidden
     * @private
     */
    private pageAddedMethod;
    /**
     * Called when the page has been added.
     * @hidden
     * @private
     */
    protected onPageAdded(args: PageAddedEventArgs): void;
    /**
     * Calculates actual `bounds` of the page.
     * @private
     */
    getActualBounds(page: PdfPage, includeMargins: boolean): RectangleF;
    /**
     * Calculates actual `bounds` of the page.
     * @private
     */
    getActualBounds(document: PdfDocument, page: PdfPage, includeMargins: boolean): RectangleF;
    /**
     * Calculates width of the `left indent`.
     * @private
     */
    getLeftIndentWidth(document: PdfDocument, page: PdfPage, includeMargins: boolean): number;
    /**
     * Calculates `Height` of the top indent.
     * @private
     */
    getTopIndentHeight(document: PdfDocument, page: PdfPage, includeMargins: boolean): number;
    /**
     * Calculates `width` of the right indent.
     * @private
     */
    getRightIndentWidth(document: PdfDocument, page: PdfPage, includeMargins: boolean): number;
    /**
     * Calculates `Height` of the bottom indent.
     * @private
     */
    getBottomIndentHeight(document: PdfDocument, page: PdfPage, includeMargins: boolean): number;
    /**
     * `Removes` the page from the section.
     * @private
     */
    remove(page: PdfPage): void;
    /**
     * In fills dictionary by the data from `Page settings`.
     * @private
     */
    private applyPageSettings;
    /**
     * Catches the Save event of the dictionary.
     * @hidden
     * @private
     */
    beginSave(state: PageSettingsState, writer: IPdfWriter): void;
    /**
     * Draws page templates on the page.
     * @private
     */
    drawTemplates(page: PdfPage, layer: PdfPageLayer, document: PdfDocument, foreground: boolean): void;
    /**
     * Draws page templates on the page.
     * @private
     */
    private drawTemplatesHelper;
}
export  class PageSettingsState {
    /**
     * @hidden
     * @private
     */
    private pageOrientation;
    /**
     * @hidden
     * @private
     */
    private pageRotate;
    /**
     * @hidden
     * @private
     */
    private pageSize;
    /**
     * @hidden
     * @private
     */
    private pageOrigin;
    /**
     * @hidden
     * @private
     */
    orientation: PdfPageOrientation;
    /**
     * @hidden
     * @private
     */
    rotate: PdfPageRotateAngle;
    /**
     * @hidden
     * @private
     */
    size: SizeF;
    /**
     * @hidden
     * @private
     */
    origin: PointF;
    /**
     * New instance to store the `PageSettings`.
     * @private
     */
    constructor(document: PdfDocument);
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/index.d.ts
/**
 * Primitives classes
 * @hidden
 */
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-array.d.ts
/**
 * PdfArray.ts class for EJ2-PDF
 */
/**
 * `PdfArray` class is used to perform array related primitive operations.
 * @private
 */
export  class PdfArray implements IPdfPrimitive {
    /**
     * `startMark` - '['
     * @private
     */
    startMark: string;
    /**
     * `endMark` - ']'.
     * @private
     */
    endMark: string;
    /**
     * The `elements` of the PDF array.
     * @private
     */
    private internalElements;
    /**
     * Indicates if the array `was changed`.
     * @private
     */
    private bChanged;
    /**
     * Shows the type of object `status` whether it is object registered or other status;
     * @private
     */
    private status9;
    /**
     * Indicates if the object is currently in `saving state` or not.
     * @private
     */
    private isSaving9;
    /**
     * Holds the `index` number of the object.
     * @private
     */
    private index9;
    /**
     * Internal variable to store the `position`.
     * @default -1
     * @private
     */
    private position9;
    /**
     * Internal variable to hold `PdfCrossTable` reference.
     * @private
     */
    private pdfCrossTable;
    /**
     * Internal variable to hold `cloned object`.
     * @default null
     * @private
     */
    private clonedObject9;
    /**
     * Represents the Font dictionary.
     * @hidden
     * @private
     */
    isFont: boolean;
    /**
     * Gets the `IPdfSavable` at the specified index.
     * @private
     */
    items(index: number): IPdfPrimitive;
    /**
     * Gets the `count`.
     * @private
     */
    readonly count: number;
    /**
     * Gets or sets the `Status` of the specified object.
     * @private
     */
    status: ObjectStatus;
    /**
     * Gets or sets a value indicating whether this document `is saving` or not.
     * @private
     */
    isSaving: boolean;
    /**
     * Returns `cloned object`.
     * @private
     */
    readonly clonedObject: IPdfPrimitive;
    /**
     * Gets or sets the `position` of the object.
     * @private
     */
    position: number;
    /**
     * Gets or sets the `index` value of the specified object.
     * @private
     */
    objectCollectionIndex: number;
    /**
     * Returns `PdfCrossTable` associated with the object.
     * @private
     */
    readonly CrossTable: PdfCrossTable;
    /**
     * Gets the `elements` of the Pdf Array.
     * @private
     */
    readonly elements: IPdfPrimitive[];
    /**
     * Initializes a new instance of the `PdfArray` class.
     * @private
     */
    constructor();
    /**
     * Initializes a new instance of the `PdfArray` class.
     * @private
     */
    constructor(array: PdfArray | number[]);
    /**
     * `Adds` the specified element to the PDF array.
     * @private
     */
    add(element: IPdfPrimitive): void;
    /**
     * `Marks` the object changed.
     * @private
     */
    private markedChange;
    /**
     * `Determines` whether the specified element is within the array.
     * @private
     */
    contains(element: IPdfPrimitive): boolean;
    /**
     * Returns the `primitive object` of input index.
     * @private
     */
    getItems(index: number): IPdfPrimitive;
    /**
     * `Saves` the object using the specified writer.
     * @private
     */
    save(writer: IPdfWriter): void;
    /**
     * Creates a `copy of PdfArray`.
     * @private
     */
    clone(crossTable: PdfCrossTable): IPdfPrimitive;
    /**
     * Creates filled PDF array `from the rectangle`.
     * @private
     */
    static fromRectangle(bounds: RectangleF): PdfArray;
    /**
     * `Inserts` the element into the array.
     * @private
     */
    insert(index: number, element: IPdfPrimitive): void;
    /**
     * `Checks whether array contains the element`.
     * @private
     */
    indexOf(element: IPdfPrimitive): number;
    /**
     * `Removes` element from the array.
     * @private
     */
    remove(element: IPdfPrimitive): void;
    /**
     * `Remove` the element from the array by its index.
     * @private
     */
    removeAt(index: number): void;
    /**
     * `Clear` the array.
     * @private
     */
    clear(): void;
    /**
     * `Marks` the object changed.
     * @private
     */
    markChanged(): void;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-boolean.d.ts
/**
 * PdfBoolean.ts class for EJ2-PDF
 */
/**
 * `PdfBoolean` class is used to perform boolean related primitive operations.
 * @private
 */
export  class PdfBoolean implements IPdfPrimitive {
    /**
     * Shows the type of object `status` whether it is object registered or other status;
     * @private
     */
    private objectStatus;
    /**
     * Indicates if the object `is currently in saving state` or not.
     * @private
     */
    private saving;
    /**
     * Holds the `index` number of the object.
     * @private
     */
    private index;
    /**
     * The `value` of the PDF boolean.
     * @private
     */
    value: boolean;
    /**
     * Internal variable to store the `position`.
     * @default -1
     * @private
     */
    private currentPosition;
    /**
     * Initializes a new instance of the `PdfBoolean` class.
     * @private
     */
    constructor(value: boolean);
    /**
     * Gets or sets the `Status` of the specified object.
     * @private
     */
    status: ObjectStatus;
    /**
     * Gets or sets a value indicating whether this document `is saving` or not.
     * @private
     */
    isSaving: boolean;
    /**
     * Gets or sets the `index` value of the specified object.
     * @private
     */
    objectCollectionIndex: number;
    /**
     * Gets or sets the `position` of the object.
     * @private
     */
    position: number;
    /**
     * Returns `cloned object`.
     * @private
     */
    readonly clonedObject: IPdfPrimitive;
    /**
     * `Saves` the object using the specified writer.
     * @private
     */
    save(writer: IPdfWriter): void;
    /**
     * Creates a `copy of PdfBoolean`.
     * @private
     */
    clone(crossTable: PdfCrossTable): IPdfPrimitive;
    /**
     * Converts `boolean to string` - 0/1 'true'/'false'.
     * @private
     */
    private boolToStr;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-dictionary.d.ts
/**
 * PdfDictionary.ts class for EJ2-PDF
 */
/**
 * `PdfDictionary` class is used to perform primitive operations.
 * @private
 */
export  class PdfDictionary implements IPdfPrimitive {
    /**
     * Indicates if the object was `changed`.
     * @private
     */
    private bChanged;
    /**
     * Internal variable to store the `position`.
     * @default -1
     * @private
     */
    private position7;
    /**
     * Flag is dictionary need to `encrypt`.
     * @private
     */
    private encrypt;
    /**
     * The `IPdfSavable` with the specified key.
     * @private
     */
    private primitiveItems;
    /**
     * `Start marker` for dictionary.
     * @private
     */
    private readonly prefix;
    /**
     * `End marker` for dictionary.
     * @private
     */
    private readonly suffix;
    /**
     * @hidden
     * @private
     */
    private resources;
    /**
     * Shows the type of object `status` whether it is object registered or other status.
     * @private
     */
    private status7;
    /**
     * Indicates if the object `is currently in saving state` or not.
     * @private
     */
    private isSaving7;
    /**
     * Holds the `index` number of the object.
     * @private
     */
    private index7;
    /**
     * Internal variable to hold `cloned object`.
     * @default null
     * @private
     */
    private readonly object;
    /**
     * Flag for PDF file formar 1.5 is dictionary `archiving` needed.
     * @default true
     * @private
     */
    private archive;
    /**
     * @hidden
     * @private
     */
    private tempPageCount;
    /**
     * @hidden
     * @private
     */
    protected dictionaryProperties: DictionaryProperties;
    /**
     * Event. Raise before the object saves.
     * @public
     */
    pageBeginDrawTemplate: SaveTemplateEventHandler;
    /**
     * Event. Raise `before the object saves`.
     * @private
     */
    beginSave: SaveSectionCollectionEventHandler;
    /**
     * Event. Raise `after the object saved`.
     * @private
     */
    endSave: SaveSectionCollectionEventHandler;
    /**
     * @hidden
     * @private
     */
    sectionBeginSave: SaveSectionEventHandler;
    /**
     * @hidden
     * @private
     */
    annotationBeginSave: SaveAnnotationEventHandler;
    /**
     * @hidden
     * @private
     */
    annotationEndSave: SaveAnnotationEventHandler;
    /**
     * Event. Raise `before the object saves`.
     * @private
     */
    descendantFontBeginSave: SaveDescendantFontEventHandler;
    /**
     * Event. Raise `before the object saves`.
     * @private
     */
    fontDictionaryBeginSave: SaveFontDictionaryEventHandler;
    /**
     * Represents the Font dictionary.
     * @hidden
     * @private
     */
    isFont: boolean;
    /**
     * Gets or sets the `IPdfSavable` with the specified key.
     * @private
     */
    readonly items: Dictionary<string, IPdfPrimitive>;
    /**
     * Gets or sets the `Status` of the specified object.
     * @private
     */
    status: ObjectStatus;
    /**
     * Gets or sets a value indicating whether this document `is saving` or not.
     * @private
     */
    isSaving: boolean;
    /**
     * Gets or sets the `index` value of the specified object.
     * @private
     */
    objectCollectionIndex: number;
    /**
     * Returns `cloned object`.
     * @private
     */
    readonly clonedObject: IPdfPrimitive;
    /**
     * Gets or sets the `position` of the object.
     * @private
     */
    position: number;
    /**
     * Gets the `count`.
     * @private
     */
    readonly Count: number;
    /**
     * Collection of `items` in the object.
     * @private
     */
    readonly Dictionary: PdfDictionary;
    /**
     * Get flag if need to `archive` dictionary.
     * @private
     */
    getArchive(): boolean;
    /**
     * Set flag if need to `archive` dictionary.
     * @private
     */
    setArchive(value: boolean): void;
    /**
     * Sets flag if `encryption` is needed.
     * @private
     */
    setEncrypt(value: boolean): void;
    /**
     * Gets flag if `encryption` is needed.
     * @private
     */
    getEncrypt(): boolean;
    /**
     * Initializes a new empty instance of the `PdfDictionary` class.
     * @private
     */
    constructor();
    /**
     * Initializes a new empty instance of the `PdfDictionary` class.
     * @private
     */
    constructor(dictionary: PdfDictionary);
    /**
     * `Freezes` the changes.
     * @private
     */
    freezeChanges(freezer: Object): void;
    /**
     * Creates a `copy of PdfDictionary`.
     * @private
     */
    clone(crossTable: PdfCrossTable): IPdfPrimitive;
    /**
     * `Mark` this instance modified.
     * @private
     */
    modify(): void;
    /**
     * `Removes` the specified key.
     * @private
     */
    remove(key: PdfName | string): void;
    /**
     * `Determines` whether the dictionary contains the key.
     * @private
     */
    containsKey(key: string | PdfName): boolean;
    /**
     * Raises event `BeginSave`.
     * @private
     */
    protected onBeginSave(): void;
    /**
     * Raises event `Font Dictionary BeginSave`.
     * @private
     */
    protected onFontDictionaryBeginSave(): void;
    /**
     * Raises event `Descendant Font BeginSave`.
     * @private
     */
    protected onDescendantFontBeginSave(): void;
    /**
     * Raises event 'BeginSave'.
     * @private
     */
    protected onTemplateBeginSave(): void;
    /**
     * Raises event `BeginSave`.
     * @private
     */
    protected onBeginAnnotationSave(): void;
    /**
     * Raises event `BeginSave`.
     * @private
     */
    protected onSectionBeginSave(writer: IPdfWriter): void;
    /**
     * `Saves` the object using the specified writer.
     * @private
     */
    save(writer: IPdfWriter): void;
    /**
     * `Saves` the object using the specified writer.
     * @private
     */
    save(writer: IPdfWriter, bRaiseEvent: boolean): void;
    /**
     * `Save dictionary items`.
     * @private
     */
    private saveItems;
}
export  class SaveSectionCollectionEventHandler {
    /**
     * @hidden
     * @private
     */
    sender: PdfSectionCollection;
    /**
     * New instance for `save section collection event handler` class.
     * @private
     */
    constructor(sender: PdfSectionCollection);
}
export  class SaveDescendantFontEventHandler {
    /**
     * @hidden
     * @private
     */
    sender: UnicodeTrueTypeFont;
    /**
     * New instance for `save section collection event handler` class.
     * @private
     */
    constructor(sender: UnicodeTrueTypeFont);
}
export  class SaveFontDictionaryEventHandler {
    /**
     * @hidden
     * @private
     */
    sender: UnicodeTrueTypeFont;
    /**
     * New instance for `save section collection event handler` class.
     * @private
     */
    constructor(sender: UnicodeTrueTypeFont);
}
export  class SaveAnnotationEventHandler {
    /**
     * @hidden
     * @private
     */
    sender: PdfAnnotation;
    /**
     * New instance for `save annotation event handler` class.
     * @private
     */
    constructor(sender: PdfAnnotation);
}
export  class SaveSectionEventHandler {
    /**
     * @hidden
     * @private
     */
    sender: PdfSection;
    /**
     * @hidden
     * @private
     */
    state: PageSettingsState;
    /**
     * New instance for `save section event handler` class.
     * @private
     */
    constructor(sender: PdfSection, state: PageSettingsState);
}
/**
 * SaveTemplateEventHandler class used to store information about template elements.
 * @private
 * @hidden
 */
export  class SaveTemplateEventHandler {
    /**
     * @public
     * @hidden
     */
    sender: PdfPage;
    /**
     * New instance for save section collection event handler class.
     * @public
     */
    constructor(sender: PdfPage);
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-name.d.ts
/**
 * PdfName.ts class for EJ2-PDF
 */
/**
 * `PdfName` class is used to perform name (element names) related primitive operations.
 * @private
 */
export  class PdfName implements IPdfPrimitive {
    /**
     * `Start symbol` of the name object.
     * @default /
     * @private
     */
    readonly stringStartMark: string;
    /**
     * PDF `special characters`.
     * @private
     */
    static delimiters: string;
    /**
     * The symbols that are not allowed in PDF names and `should be replaced`.
     * @private
     */
    private static readonly replacements;
    /**
     * `Value` of the element.
     * @private
     */
    private internalValue;
    /**
     * Shows the type of object `status` whether it is object registered or other status;
     * @private
     */
    private status6;
    /**
     * Indicates if the object is currently in `saving state or not`.
     * @default false
     * @private
     */
    private isSaving6;
    /**
     * Holds the `index` number of the object.
     * @private
     */
    private index6;
    /**
     * Internal variable to store the `position`.
     * @default -1
     * @private
     */
    private position6;
    /**
     * Initializes a new instance of the `PdfName` class.
     * @private
     */
    constructor();
    /**
     * Initializes a new instance of the `PdfName` class.
     * @private
     */
    constructor(value: string);
    /**
     * Gets or sets the `Status` of the specified object.
     * @private
     */
    status: ObjectStatus;
    /**
     * Gets or sets a value indicating whether this document `is saving` or not.
     * @private
     */
    isSaving: boolean;
    /**
     * Gets or sets the `index` value of the specified object.
     * @private
     */
    objectCollectionIndex: number;
    /**
     * Gets or sets the `position` of the object.
     * @private
     */
    position: number;
    /**
     * Returns `cloned object`.
     * @private
     */
    readonly clonedObject: IPdfPrimitive;
    /**
     * Gets or sets the `value` of the object.
     * @private
     */
    value: string;
    /**
     * `Saves` the name using the specified writer.
     * @private
     */
    save(writer: IPdfWriter): void;
    /**
     * Gets `string` representation of the primitive.
     * @private
     */
    toString(): string;
    /**
     * Creates a `copy of PdfName`.
     * @private
     */
    clone(crossTable: PdfCrossTable): IPdfPrimitive;
    /**
     * Replace some characters with its `escape sequences`.
     * @private
     */
    escapeString(stringValue: string): string;
    /**
     * Replace a symbol with its code with the precedence of the `sharp sign`.
     * @private
     */
    private normalizeValue;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-number.d.ts
/**
 * PdfNumber.ts class for EJ2-PDF
 */
/**
 * `PdfNumber` class is used to perform number related primitive operations.
 * @private
 */
export  class PdfNumber implements IPdfPrimitive {
    /**
     * Shows the type of object `status` whether it is object registered or other status;
     * @private
     */
    private status5;
    /**
     * Indicates if the object is currently in `saving state or not`.
     * @private
     */
    private isSaving5;
    /**
     * Holds the `index` number of the object.
     * @private
     */
    private index5;
    /**
     * Stores the `int` value.
     * @private
     */
    private value;
    /**
     * Sotres the `position`.
     * @default -1
     * @private
     */
    private position5;
    /**
     * The `integer` value.
     * @private
     */
    private integer;
    /**
     * Initializes a new instance of the `PdfNumber` class.
     * @private
     */
    constructor(value: number);
    /**
     * Gets or sets the `integer` value.
     * @private
     */
    intValue: number;
    /**
     * Gets or sets a value indicating whether this instance `is integer`.
     * @private
     */
    isInteger: boolean;
    /**
     * Gets or sets the `Status` of the specified object.
     * @private
     */
    status: ObjectStatus;
    /**
     * Gets or sets a value indicating whether this document `is saving` or not.
     * @private
     */
    isSaving: boolean;
    /**
     * Gets or sets the `index` value of the specified object.
     * @private
     */
    objectCollectionIndex: number;
    /**
     * Gets or sets the `position` of the object.
     * @private
     */
    position: number;
    /**
     * Returns `cloned object`.
     * @private
     */
    readonly clonedObject: IPdfPrimitive;
    /**
     * `Saves the object`.
     * @private
     */
    save(writer: IPdfWriter): void;
    /**
     * Creates a `copy of PdfNumber`.
     * @private
     */
    clone(crossTable: PdfCrossTable): IPdfPrimitive;
    /**
     * Converts a `float value to a string` using Adobe PDF rules.
     * @private
     */
    static floatToString(number: number): string;
    /**
     * Determines the `minimum of the three values`.
     * @private
     */
    static min(x: number, y: number, z: number): number;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-reference.d.ts
/**
 * PdfReference.ts and PdfReferenceHolder.ts class for EJ2-PDF
 */
/**
 * `PdfReference` class is used to perform reference related primitive operations.
 * @private
 */
export  class PdfReference implements IPdfPrimitive {
    /**
     * Indicates if the object is currently in `saving stat`e or not.
     * @private
     */
    private isSaving3;
    /**
     * Shows the type of object `status` whether it is object registered or other status;
     * @private
     */
    private status3;
    /**
     * Holds the `index` number of the object.
     * @default -1
     * @private
     */
    private index3;
    /**
     * Internal variable to store the `position`.
     * @default -1
     * @private
     */
    private position3;
    /**
     * Holds the `object number`.
     * @default 0
     * @private
     */
    readonly objNumber: number;
    /**
     * Holds the `generation number` of the object.
     * @default 0
     * @private
     */
    readonly genNumber: number;
    /**
     * Gets or sets the `Status` of the specified object.
     * @private
     */
    status: ObjectStatus;
    /**
     * Gets or sets a value indicating whether this document `is saving` or not.
     * @private
     */
    isSaving: boolean;
    /**
     * Gets or sets the `index` value of the specified object.
     * @private
     */
    objectCollectionIndex: number;
    /**
     * Gets or sets the `position` of the object.
     * @private
     */
    position: number;
    /**
     * Returns `cloned object`.
     * @private
     */
    readonly clonedObject: IPdfPrimitive;
    /**
     * `Saves` the object.
     * @private
     */
    save(writer: IPdfWriter): void;
    /**
     * Initialize the `PdfReference` class.
     * @private
     */
    constructor(objNumber: number, genNumber: number);
    /**
     * Initialize the `PdfReference` class.
     * @private
     */
    constructor(objNumber: string, genNumber: string);
    /**
     * Returns a `string` representing the object.
     * @private
     */
    toString(): string;
    /**
     * Creates a `deep copy` of the IPdfPrimitive object.
     * @private
     */
    clone(crossTable: PdfCrossTable): IPdfPrimitive;
}
/**
 * `PdfReferenceHolder` class is used to perform reference holder related primitive operations.
 * @private
 */
export  class PdfReferenceHolder implements IPdfPrimitive, IPdfWrapper {
    /**
     * Indicates if the object is currently in `saving state or not`.
     * @private
     */
    private isSaving4;
    /**
     * Shows the type of object `status` whether it is object registered or other status;
     * @private
     */
    private status4;
    /**
     * Holds the `index` number of the object.
     * @default -1
     * @private
     */
    private index4;
    /**
     * Internal variable to store the `position`.
     * @default -1
     * @private
     */
    private position4;
    /**
     * The `object` which the reference is of.
     * @private
     */
    private primitiveObject;
    /**
     * The `reference` to the object, which was read from the PDF document.
     * @private
     */
    private pdfReference;
    /**
     * The `cross-reference table`, which the object is within.
     * @private
     */
    private crossTable;
    /**
     * The `index` of the object within the object collection.
     * @default -1
     * @private
     */
    private objectIndex;
    /**
     * @hidden
     * @private
     */
    private dictionaryProperties;
    /**
     * Gets or sets the `Status` of the specified object.
     * @private
     */
    status: ObjectStatus;
    /**
     * Gets or sets a value indicating whether this document `is saving` or not.
     * @private
     */
    isSaving: boolean;
    /**
     * Gets or sets the `index` value of the specified object.
     * @private
     */
    objectCollectionIndex: number;
    /**
     * Gets or sets the `position` of the object.
     * @private
     */
    position: number;
    /**
     * Returns `cloned object`.
     * @private
     */
    readonly clonedObject: IPdfPrimitive;
    /**
     * Gets the `object` the reference is of.
     * @private
     */
    readonly object: IPdfPrimitive;
    /**
     * Gets the `reference`.
     * @private
     */
    readonly reference: PdfReference;
    /**
     * Gets the `index` of the object.
     * @private
     */
    readonly index: number;
    /**
     * Gets the `element`.
     * @private
     */
    readonly element: IPdfPrimitive;
    /**
     * Initializes the `PdfReferenceHolder` class instance with an object.
     * @private
     */
    constructor(obj1: IPdfWrapper);
    /**
     * Initializes the `PdfReferenceHolder` class instance with an object.
     * @private
     */
    constructor(obj1: IPdfPrimitive);
    /**
     * Initializes the `PdfReferenceHolder` class instance with an object.
     * @private
     */
    constructor(obj1: PdfReference, obj2: PdfCrossTable);
    private initialize;
    /**
     * `Writes` a reference into a PDF document.
     * @private
     */
    save(writer: IPdfWriter): void;
    /**
     * Creates a `copy of PdfReferenceHolder`.
     * @private
     */
    clone(crossTable: PdfCrossTable): IPdfPrimitive;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-stream.d.ts
/**
 * PdfStream.ts class for EJ2-PDF
 */
/**
 * `PdfStream` class is used to perform stream related primitive operations.
 * @private
 */
export  class PdfStream extends PdfDictionary {
    /**
     * @hidden
     * @private
     */
    private readonly dicPrefix;
    /**
     * @hidden
     * @private
     */
    private readonly dicSuffix;
    /**
     * @hidden
     * @private
     */
    private dataStream2;
    /**
     * @hidden
     * @private
     */
    private blockEncryption2;
    /**
     * @hidden
     * @private
     */
    private bDecrypted2;
    /**
     * @hidden
     * @private
     */
    private bCompress2;
    /**
     * @hidden
     * @private
     */
    private bEncrypted2;
    /**
     * Internal variable to hold `cloned object`.
     * @private
     */
    private clonedObject2;
    /**
     * @hidden
     * @private
     */
    private bCompress;
    /**
     * @hidden
     * @private
     */
    private isImageStream;
    /**
     * @hidden
     * @private
     */
    private isFontStream;
    /**
     * Event. Raise `before the object saves`.
     * @private
     */
    cmapBeginSave: SaveCmapEventHandler;
    /**
     * Event. Raise `before the object saves`.
     * @private
     */
    fontProgramBeginSave: SaveFontProgramEventHandler;
    /**
     * Initialize an instance for `PdfStream` class.
     * @private
     */
    constructor();
    /**
     * Initialize an instance for `PdfStream` class.
     * @private
     */
    constructor(dictionary: PdfDictionary, data: string[]);
    /**
     * Gets the `internal` stream.
     * @private
     */
    internalStream: string[];
    /**
     * Gets or sets 'is image' flag.
     * @private
     */
    isImage: boolean;
    /**
     * Gets or sets 'is font' flag.
     * @private
     */
    isFont: boolean;
    /**
     * Gets or sets `compression` flag.
     * @private
     */
    compress: boolean;
    /**
     * Gets or sets the `data`.
     * @private
     */
    data: string[];
    /**
     * `Clear` the internal stream.
     * @private
     */
    clearStream(): void;
    /**
     * `Writes` the specified string.
     * @private
     */
    write(text: string): void;
    /**
     * `Writes` the specified bytes.
     * @private
     */
    writeBytes(data: number[]): void;
    /**
     * Raises event `Cmap BeginSave`.
     * @private
     */
    onCmapBeginSave(): void;
    /**
     * Raises event `Font Program BeginSave`.
     * @private
     */
    protected onFontProgramBeginSave(): void;
    /**
     * `Compresses the content` if it's required.
     * @private
     */
    private compressContent;
    /**
     * `Adds a filter` to the filter array.
     * @private
     */
    addFilter(filterName: string): void;
    /**
     * `Saves` the object using the specified writer.
     * @private
     */
    save(writer: IPdfWriter): void;
    /**
     * Converts `bytes to string`.
     * @private
     */
    static bytesToString(byteArray: number[]): string;
}
export  class SaveCmapEventHandler {
    /**
     * @hidden
     * @private
     */
    sender: UnicodeTrueTypeFont;
    /**
     * New instance for `save section collection event handler` class.
     * @private
     */
    constructor(sender: UnicodeTrueTypeFont);
}
export  class SaveFontProgramEventHandler {
    /**
     * @hidden
     * @private
     */
    sender: UnicodeTrueTypeFont;
    /**
     * New instance for `save section collection event handler` class.
     * @private
     */
    constructor(sender: UnicodeTrueTypeFont);
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/primitives/pdf-string.d.ts
/**
 * PdfString.ts class for EJ2-PDF
 */
/**
 * `PdfString` class is used to perform string related primitive operations.
 * @private
 */
export  namespace InternalEnum {
    /**
     * public Enum for `ForceEncoding`.
     * @private
     */
    enum ForceEncoding {
        /**
         * Specifies the type of `None`.
         * @private
         */
        None = 0,
        /**
         * Specifies the type of `Ascii`.
         * @private
         */
        Ascii = 1,
        /**
         * Specifies the type of `Unicode`.
         * @private
         */
        Unicode = 2
    }
}
export  class PdfString implements IPdfPrimitive {
    /**
     * `General markers` for string.
     * @private
     */
    static readonly stringMark: string;
    /**
     * `Hex markers` for string.
     * @private
     */
    static readonly hexStringMark: string;
    /**
     * Format of password data.
     * @private
     */
    private static readonly hexFormatPattern;
    /**
     * Value of the object.
     * @private
     */
    private stringValue;
    /**
     * The byte data of the string.
     * @private
     */
    private data;
    /**
     * Value indicating whether the string was converted to hex.
     * @default false
     * @private
     */
    private bHex;
    /**
     * Shows the type of object `status` whether it is object registered or other status;
     * @private
     */
    private status1;
    /**
     * Indicates if the object is currently in `saving state or not`.
     * @private
     */
    private isSaving1;
    /**
     * Internal variable to store the `position`.
     * @default -1
     * @private
     */
    private position1;
    /**
     * Internal variable to hold `PdfCrossTable` reference.
     * @private
     */
    private crossTable;
    /**
     * Internal variable to hold `cloned object`.
     * @default null
     * @private
     */
    private clonedObject1;
    /**
     * Indicates whether to check if the value `has unicode characters`.
     * @private
     */
    private bConverted;
    /**
     * Indicates whether we should convert `data to Unicode`.
     * @private
     */
    private bForceEncoding;
    /**
     * `Shows` if the data of the stream was decrypted.
     * @default false
     * @private
     */
    private bDecrypted;
    /**
     * Holds the `index` number of the object.
     * @private
     */
    private index1;
    /**
     * Shows if the data of the stream `was decrypted`.
     * @default false
     * @private
     */
    private isParentDecrypted;
    /**
     * Gets a value indicating whether the object is `packed or not`.
     * @default false
     * @private
     */
    private isPacked;
    /**
     * @hidden
     * @private
     */
    isFormField: boolean;
    /**
     * @hidden
     * @private
     */
    isColorSpace: boolean;
    /**
     * @hidden
     * @private
     */
    isHexString: boolean;
    /**
     * @hidden
     * @private
     */
    private encodedBytes;
    /**
     * Initializes a new instance of the `PdfString` class.
     * @private
     */
    constructor();
    /**
     * Initializes a new instance of the `PdfString` class.
     * @private
     */
    constructor(value: string);
    /**
     * Gets a value indicating whether string is in `hex`.
     * @private
     */
    readonly hex: boolean;
    /**
     * Gets or sets string `value` of the object.
     * @private
     */
    value: string;
    /**
     * Gets or sets the `Status` of the specified object.
     * @private
     */
    status: ObjectStatus;
    /**
     * Gets or sets a value indicating whether this document `is saving` or not.
     * @private
     */
    isSaving: boolean;
    /**
     * Gets or sets the `index` value of the specified object.
     * @private
     */
    objectCollectionIndex: number;
    /**
     * Returns `cloned object`.
     * @private
     */
    readonly clonedObject: IPdfPrimitive;
    /**
     * Gets or sets the `position` of the object.
     * @private
     */
    position: number;
    /**
     * Returns `PdfCrossTable` associated with the object.
     * @private
     */
    readonly CrossTable: PdfCrossTable;
    /**
     * Gets a value indicating whether to check if the value has unicode characters.
     * @private
     */
    /**
    * sets a value indicating whether to check if the value has unicode characters.
    * @private
    */
    converted: boolean;
    /**
     * Gets value indicating whether we should convert data to Unicode.
     */
    encode: InternalEnum.ForceEncoding;
    /**
     * Converts `bytes to string using hex format` for representing string.
     * @private
     */
    static bytesToHex(bytes: number[]): string;
    /**
     * `Saves` the object using the specified writer.
     * @private
     */
    save(writer: IPdfWriter): void;
    pdfEncode(): string;
    private escapeSymbols;
    /**
     * Creates a `copy of PdfString`.
     * @private
     */
    clone(crossTable: PdfCrossTable): IPdfPrimitive;
    /**
     * Converts string to array of unicode symbols.
     */
    static toUnicodeArray(value: string, bAddPrefix: boolean): number[];
    /**
     * Converts byte data to string.
     */
    static byteToString(data: number[]): string;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/structured-elements/grid/index.d.ts
/**
 * Grid classes
 * @hidden
 */
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/structured-elements/grid/layout/grid-layouter.d.ts
/**
 * Class `lay outing the text`.
 *
 */
export  class PdfGridLayouter extends ElementLayouter {
    /**
     * `Text` data.
     * @private
     */
    private text;
    /**
     * Pdf `font`.
     * @private
     */
    private font;
    /**
     * String `format`.
     * @private
     */
    private format;
    /**
     * `Size` of the text.
     * @private
     */
    private gridColumns;
    /**
     * @hidden
     * @private
     */
    private gridRows;
    /**
     * @hidden
     * @private
     */
    private gridHeaders;
    /**
     * @hidden
     * @private
     */
    private gridInitialWidth;
    /**
     * @hidden
     * @private
     */
    isComplete: boolean;
    /**
     * @hidden
     * @private
     */
    private gridSize;
    private parentCell;
    private parentCellIndex;
    tempWidth: number;
    private childheight;
    /**
     * The event raised on `starting cell drawing`.
     * @event
     * @private
     */
    beginCellDraw: Function;
    /**
     * The event raised on `ending cell drawing`.
     * @event
     * @private
     */
    endCellDraw: Function;
    /**
     * The event raised on `begin cell lay outing`.
     * @event
     * @private
     */
    beginPageLayout: Function;
    /**
     * The event raised on `end cell lay outing`.
     * @event
     * @private
     */
    endPageLayout: Function;
    /**
     * @hidden
     * @private
     */
    /**
     * @hidden
     * @private
     */
    private gridLocation;
    /**
     * @hidden
     * @private
     */
    private gridStyle;
    /**
     * @hidden
     * @private
     */
    private pageWidth;
    /**
     * Check weather it is `child grid or not`.
     * @private
     */
    private isChildGrid;
    /**
     * @hidden
     * @private
     */
    rowLayoutBoundsWidth: number;
    /**
     * @hidden
     * @private
     */
    hasRowSpanSpan: boolean;
    /**
     * @hidden
     * @private
     */
    isRearranged: boolean;
    /**
     * @hidden
     * @private
     */
    private bRepeatHeader;
    /**
     * @hidden
     * @private
     */
    private pageBounds;
    /**
     * @hidden
     * @private
     */
    private currentPage;
    /**
     * @hidden
     * @private
     */
    private currentPageBounds;
    /**
     * @hidden
     * @private
     */
    private currentBounds;
    /**
     * @hidden
     * @private
     */
    private listOfNavigatePages;
    /**
     * @hidden
     * @private
     */
    private startLocation;
    /**
     * @hidden
     * @private
     */
    private hType;
    /**
     * @hidden
     * @private
     */
    private flag;
    /**
     * @hidden
     * @private
     */
    private columnRanges;
    /**
     * @hidden
     * @private
     */
    private cellStartIndex;
    /**
     * @hidden
     * @private
     */
    private cellEndIndex;
    /**
     * @hidden
     * @private
     */
    private currentRowIndex;
    /**
     * @hidden
     * @private
     */
    static repeatRowIndex: number;
    /**
     * @hidden
     * @private
     */
    private isChanged;
    /**
     * @hidden
     * @private
     */
    private currentLocation;
    /**
     * @hidden
     * @private
     */
    private breakRow;
    /**
     * @hidden
     * @private
     */
    private rowBreakPageHeightCellIndex;
    private slr;
    private remainderText;
    private isPaginate;
    /**
     * Initialize a new instance for `PdfGrid` class.
     * @private
     */
    constructor(baseFormat: PdfGrid);
    readonly Grid: PdfGrid;
    /**
     * `Bounds` of the text.
     * @private
     */
    private rectangle;
    /**
     * Pdf page `height`.
     * @private
     */
    private gridHeight;
    /**
     * Specifies if [`isTabReplaced`].
     * @private
     */
    private isTabReplaced;
    /**
     * `currentGraphics` of the text.
     * @private
     */
    private currentGraphics;
    /**
     * Count of tab `occurance`.
     * @private
     */
    private tabOccuranceCount;
    /**
     * Checks whether the x co-ordinate is need to set as client size or not.
     * @hidden
     * @private
     */
    private isOverloadWithPosition;
    /**
     * Stores client size of the page if the layout method invoked with `PointF` overload.
     * @hidden
     * @private
     */
    private clientSize;
    private gridLayoutFormat;
    private isHeader;
    /**
     * Initializes a new instance of the `StringLayouter` class.
     * @private
     */
    /**
     * `Layouts` the text.
     * @private
     */
    /**
     * `Layouts` the specified graphics.
     * @private
     */
    /**
     * `Layouts` the specified graphics.
     * @private
     */
    /**
     * Gets the `format`.
     * @private
     */
    private getFormat;
    /**
     * `Layouts` the element.
     * @private
     */
    protected layoutInternal(param: PdfLayoutParams): PdfLayoutResult;
    /**
     * `Determines the column draw ranges`.
     * @private
     */
    private determineColumnDrawRanges;
    /**
     * `Layouts the on page`.
     * @private
     */
    private layoutOnPage;
    private checkIsFisished;
    /**
     * Gets the `next page`.
     * @private
     */
    getNextPageformat(format: PdfLayoutFormat): PdfPage;
    private CheckIfDefaultFormat;
    /**
     * `Raises BeforeCellDraw event`.
     * @private
     */
    private RaiseBeforeCellDraw;
    /**
     * `Raises AfterCellDraw event`.
     * @private
     */
    private raiseAfterCellDraw;
    private reArrangePages;
    /**
     * Gets the `layout result`.
     * @private
     */
    private getLayoutResult;
    /**
     * `Recalculate row height` for the split cell to be drawn.
     * @private
     */
    ReCalculateHeight(row: PdfGridRow, height: number): number;
    /**
     * `Raises BeforePageLayout event`.
     * @private
     */
    private raiseBeforePageLayout;
    /**
     * `Raises PageLayout event` if needed.
     * @private
     */
    private raisePageLayouted;
    private drawRow;
    private isFitToCell;
    /**
     * `Draws row`
     * @private
     */
    private drawRowWithBreak;
}
/**
 * `Initializes` internal data.
 * @private
 */
export  class PdfGridLayoutResult extends PdfLayoutResult {
    /**
     * Constructor
     * @private
     */
    constructor(page: PdfPage, bounds: RectangleF);
}
/**
 * `PdfGridLayoutFormat` class represents a flexible grid that consists of columns and rows.
 */
export  class PdfGridLayoutFormat extends PdfLayoutFormat {
    /**
     * Initializes a new instance of the `PdfGridLayoutFormat` class.
     * @private
     */
    constructor();
    /**
     * Initializes a new instance of the `PdfGridLayoutFormat` class.
     * @private
     */
    constructor(baseFormat: PdfLayoutFormat);
}
export  abstract class GridCellEventArgs {
    /**
     * @hidden
     * @private
     */
    private gridRowIndex;
    /**
     * @hidden
     * @private
     */
    private gridCellIndex;
    /**
     * @hidden
     * @private
     */
    private internalValue;
    /**
     * @hidden
     * @private
     */
    private gridBounds;
    /**
     * @hidden
     * @private
     */
    private pdfGraphics;
    /**
     * Gets the value of current `row index`.
     * @private
     */
    readonly rowIndex: number;
    /**
     * Gets the value of current `cell index`.
     * @private
     */
    readonly cellIndex: number;
    /**
     * Gets the actual `value` of current cell.
     * @private
     */
    readonly value: string;
    /**
     * Gets the `bounds` of current cell.
     * @private
     */
    readonly bounds: RectangleF;
    /**
     * Gets the instance of `current graphics`.
     * @private
     */
    readonly graphics: PdfGraphics;
    /**
     * Initialize a new instance for `GridCellEventArgs` class.
     * @private
     */
    constructor(graphics: PdfGraphics, rowIndex: number, cellIndex: number, bounds: RectangleF, value: string);
}
export  class PdfGridBeginCellDrawEventArgs extends GridCellEventArgs {
    /**
     * @hidden
     * @private
     */
    private bSkip;
    /**
     * @hidden
     * @private
     */
    private cellStyle;
    /**
     * Gets or sets a value indicating whether the value of this cell should be `skipped`.
     * @private
     */
    skip: boolean;
    /**
     * Gets or sets a `style` value of the cell.
     * @private
     */
    style: PdfGridCellStyle;
    /**
     * Initializes a new instance of the `StartCellLayoutEventArgs` class.
     * @private
     */
    constructor(graphics: PdfGraphics, rowIndex: number, cellIndex: number, bounds: RectangleF, value: string, style: PdfGridCellStyle);
}
export  class PdfGridEndCellDrawEventArgs extends GridCellEventArgs {
    /**
     * @hidden
     * @private
     */
    private cellStyle;
    /**
     * Get the `PdfGridCellStyle`.
     * @private
     */
    readonly style: PdfGridCellStyle;
    /**
     * Initializes a new instance of the `PdfGridEndCellLayoutEventArgs` class.
     * @private
     */
    constructor(graphics: PdfGraphics, rowIndex: number, cellIndex: number, bounds: RectangleF, value: string, style: PdfGridCellStyle);
}
export  class PdfCancelEventArgs {
    /**
     * @hidden
     * @private
     */
    private isCancel;
    /**
     * Gets and Sets the value of `cancel`.
     * @private
     */
    cancel: boolean;
}
export  class BeginPageLayoutEventArgs extends PdfCancelEventArgs {
    /**
     * The `bounds` of the lay outing on the page.
     * @private
     */
    private cellBounds;
    /**
     * `Page` where the lay outing should start.
     * @private
     */
    private pdfPage;
    /**
     * Gets or sets value that indicates the lay outing `bounds` on the page.
     * @private
     */
    bounds: RectangleF;
    /**
     * Gets the `page` where the lay outing should start.
     * @private
     */
    readonly page: PdfPage;
    /**
     * Initializes a new instance of the `BeginPageLayoutEventArgs` class with the specified rectangle and page.
     * @private
     */
    constructor(bounds: RectangleF, page: PdfPage);
}
/**
 * `EndPageLayoutEventArgs` class is alternate for end page layout events.
 */
export  class EndPageLayoutEventArgs extends PdfCancelEventArgs {
    /**
     * `Layout result`.
     * @private
     */
    private layoutResult;
    /**
     * The `next page` for lay outing.
     * @private
     */
    private nextPdfPage;
    /**
     * Gets the lay outing `result` of the page.
     * @private
     */
    readonly result: PdfLayoutResult;
    /**
     * Gets or sets a value indicating the `next page` where the element should be layout.
     * @private
     */
    nextPage: PdfPage;
    /**
     * Initializes a new instance of the `EndPageLayoutEventArgs` class. with the specified 'PdfLayoutResult'.
     * @private
     */
    constructor(result: PdfLayoutResult);
}
/**
 * `PdfGridBeginPageLayoutEventArgs` class is alternate for begin page layout events.
 */
export  class PdfGridBeginPageLayoutEventArgs extends BeginPageLayoutEventArgs {
    /**
     * @hidden
     * @private
     */
    private startRow;
    /**
     * Gets the `start row index`.
     * @private
     */
    readonly startRowIndex: number;
    /**
     * Initialize a new instance of `PdfGridBeginPageLayoutEventArgs` class.
     * @private
     */
    constructor(bounds: RectangleF, page: PdfPage, startRow: number);
}
/**
 * `PdfGridEndPageLayoutEventArgs` class is alternate for begin page layout events.
 */
export  class PdfGridEndPageLayoutEventArgs extends EndPageLayoutEventArgs {
    /**
     * Initialize a new instance of `PdfGridEndPageLayoutEventArgs` class.
     * @private
     */
    constructor(result: PdfLayoutResult);
}
export  class RowLayoutResult {
    /**
     * @hidden
     * @private
     */
    private bIsFinished;
    /**
     * @hidden
     * @private
     */
    private layoutedBounds;
    /**
     * Gets or sets a value indicating whether this instance `is finish`.
     * @private
     */
    isFinish: boolean;
    /**
     * Gets or sets the `bounds`.
     * @private
     */
    bounds: RectangleF;
    /**
     * Initializes a new instance of the `RowLayoutResult` class.
     * @private
     */
    constructor();
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/structured-elements/grid/pdf-grid-cell.d.ts
/**
 * `PdfGridCell.ts` class for EJ2-PDF
 */
/**
 * `PdfGridCell` class represents the schema of a cell in a 'PdfGrid'.
 */
export  class PdfGridCell {
    /**
     * The `row span`.
     * @private
     */
    private gridRowSpan;
    /**
     * The `column span`.
     * @private
     */
    private colSpan;
    /**
     * Specifies the current `row`.
     * @private
     */
    private gridRow;
    /**
     * The actual `value` of the cell.
     * @private
     */
    private objectValue;
    /**
     * Current cell `style`.
     * @private
     */
    private cellStyle;
    /**
     * `Width` of the cell.
     * @default 0
     * @private
     */
    private cellWidth;
    /**
     * `Height` of the cell.
     * @default 0
     * @private
     */
    private cellHeight;
    /**
     * `tempval`to stores current width .
     * @default 0
     * @private
     */
    private tempval;
    private fontSpilt;
    /**
     * The `remaining string`.
     * @private
     */
    private remaining;
    /**
     * Specifies weather the `cell is drawn`.
     * @default true
     * @private
     */
    private finsh;
    /**
     * 'parent ' of the grid cell.
     * @private
     */
    private parent;
    /**
     * `StringFormat` of the cell.
     * @private
     */
    private format;
    /**
     * The `remaining height` of row span.
     * @default 0
     * @private
     */
    rowSpanRemainingHeight: number;
    private internalIsCellMergeContinue;
    private internalIsRowMergeContinue;
    private internalIsCellMergeStart;
    private internalIsRowMergeStart;
    hasRowSpan: boolean;
    hasColSpan: boolean;
    /**
     * the 'isFinish' is set to page finish
     */
    private isFinish;
    /**
     * The `present' to store the current cell.
     * @default false
     * @private
     */
    present: boolean;
    /**
     * The `Count` of the page.
     * @private
     */
    pageCount: number;
    /**
     * Initializes a new instance of the `PdfGridCell` class.
     * @private
     */
    constructor();
    /**
     * Initializes a new instance of the `PdfGridCell` class.
     * @private
     */
    constructor(row: PdfGridRow);
    isCellMergeContinue: boolean;
    isRowMergeContinue: boolean;
    isCellMergeStart: boolean;
    isRowMergeStart: boolean;
    /**
     * Gets or sets the `remaining string` after the row split between pages.
     * @private
     */
    remainingString: string;
    /**
     * Gets or sets the `FinishedDrawingCell` .
     * @private
     */
    FinishedDrawingCell: boolean;
    /**
     * Gets or sets the `string format`.
     * @private
     */
    stringFormat: PdfStringFormat;
    /**
     * Gets or sets the parent `row`.
     * @private
     */
    row: PdfGridRow;
    /**
     * Gets or sets the `value` of the cell.
     * @private
     */
    value: Object;
    /**
     * Gets or sets a value that indicates the total number of rows that cell `spans` within a PdfGrid.
     * @private
     */
    rowSpan: number;
    /**
     * Gets or sets the cell `style`.
     * @private
     */
    style: PdfGridCellStyle;
    /**
     * Gets the `height` of the PdfGrid cell.[Read-Only].
     * @private
     */
    height: number;
    /**
     * Gets or sets a value that indicates the total number of columns that cell `spans` within a PdfGrid.
     * @private
     */
    columnSpan: number;
    /**
     * Gets the `width` of the PdfGrid cell.[Read-Only].
     * @private
     */
    width: number;
    /**
     * `Calculates the width`.
     * @private
     */
    private measureWidth;
    /**
     * Draw the `cell background`.
     * @private
     */
    drawCellBackground(graphics: PdfGraphics, bounds: RectangleF): void;
    /**
     * `Adjusts the text layout area`.
     * @private
     */
    private adjustContentLayoutArea;
    /**
     * `Draws` the specified graphics.
     * @private
     */
    draw(graphics: PdfGraphics, bounds: RectangleF, cancelSubsequentSpans: boolean): PdfStringLayoutResult;
    /**
     * Draws the `cell border` constructed by drawing lines.
     * @private
     */
    drawCellBorders(graphics: PdfGraphics, bounds: RectangleF): void;
    /**
     * `Adjusts the outer layout area`.
     * @private
     */
    private adjustOuterLayoutArea;
    /**
     * Gets the `text font`.
     * @private
     */
    private getTextFont;
    /**
     * Gets the `text brush`.
     * @private
     */
    private getTextBrush;
    /**
     * Gets the `text pen`.
     * @private
     */
    private getTextPen;
    /**
     * Gets the `background brush`.
     * @private
     */
    private getBackgroundBrush;
    /**
     * Gets the `background image`.
     * @private
     */
    private getBackgroundImage;
    /**
     * Gets the current `StringFormat`.
     * @private
     */
    private getStringFormat;
    /**
     * Calculates the `height`.
     * @private
     */
    measureHeight(): number;
    /**
     * return the calculated `width` of the cell.
     * @private
     */
    private calculateWidth;
}
/**
 * `PdfGridCellCollection` class provides access to an ordered,
 * strongly typed collection of 'PdfGridCell' objects.
 * @private
 */
export  class PdfGridCellCollection {
    /**
     * @hidden
     * @private
     */
    private gridRow;
    /**
     * @hidden
     * @private
     */
    private cells;
    /**
     * Initializes a new instance of the `PdfGridCellCollection` class with the row.
     * @private
     */
    constructor(row: PdfGridRow);
    /**
     * Gets the current `cell`.
     * @private
     */
    getCell(index: number): PdfGridCell;
    /**
     * Gets the cells `count`.[Read-Only].
     * @private
     */
    readonly count: number;
    /**
     * `Adds` this instance.
     * @private
     */
    add(): PdfGridCell;
    /**
     * `Adds` this instance.
     * @private
     */
    add(cell: PdfGridCell): void;
    /**
     * Returns the `index of` a particular cell in the collection.
     * @private
     */
    indexOf(cell: PdfGridCell): number;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/structured-elements/grid/pdf-grid-column.d.ts
/**
 * `PdfGridColumn.ts` class for EJ2-PDF
 */
/**
 * `PdfGridColumn` class represents the schema of a column in a 'PdfGrid'.
 */
export  class PdfGridColumn {
    /**
     * The current `grid`.
     * @private
     */
    private grid;
    /**
     * The `width` of the column.
     * @default 0
     * @private
     */
    columnWidth: number;
    /**
     * Represent the `custom width` of the column.
     * @private
     */
    isCustomWidth: boolean;
    /**
     * The `string format` of the column.
     * @private
     */
    private stringFormat;
    /**
     * Initializes a new instance of the `PdfGridColumn` class with the parent grid.
     * @private
     */
    constructor(grid: PdfGrid);
    /**
     * Gets or sets the `width` of the 'PdfGridColumn'.
     * @private
     */
    width: number;
    /**
     * Gets or sets the information about the text `formatting`.
     * @private
     */
    format: PdfStringFormat;
}
/**
 * `PdfGridColumnCollection` class provides access to an ordered,
 * strongly typed collection of 'PdfGridColumn' objects.
 * @private
 */
export  class PdfGridColumnCollection {
    /**
     * @hidden
     * @private
     */
    private grid;
    /**
     * @hidden
     * @private
     */
    private internalColumns;
    /**
     * @hidden
     * @private
     */
    private columnWidth;
    /**
     * Initializes a new instance of the `PdfGridColumnCollection` class with the parent grid.
     * @private
     */
    constructor(grid: PdfGrid);
    /**
     * `Add` a new column to the 'PdfGrid'.
     * @private
     */
    add(count: number): void;
    /**
     * Gets the `number of columns` in the 'PdfGrid'.[Read-Only].
     * @private
     */
    readonly count: number;
    /**
     * Gets the `widths`.
     * @private
     */
    readonly width: number;
    /**
     * Gets the `array of PdfGridColumn`.[Read-Only]
     * @private
     */
    readonly columns: PdfGridColumn[];
    /**
     * Gets the `PdfGridColumn` from the specified index.[Read-Only]
     * @private
     */
    getColumn(index: number): PdfGridColumn;
    /**
     * `Calculates the column widths`.
     * @private
     */
    measureColumnsWidth(): number;
    /**
     * Gets the `widths of the columns`.
     * @private
     */
    getDefaultWidths(totalWidth: number): number[];
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/structured-elements/grid/pdf-grid-row.d.ts
/**
 * PdfGridRow.ts class for EJ2-PDF
 */
/**
 * `PdfGridRow` class provides customization of the settings for the particular row.
 */
export  class PdfGridRow {
    /**
     * `Cell collecton` of the current row..
     * @private
     */
    private gridCells;
    /**
     * Stores the current `grid`.
     * @private
     */
    private pdfGrid;
    /**
     * The grid row `style`.
     * @private
     */
    private rowStyle;
    /**
     * Stores the row `break height`.
     * @private
     */
    private gridRowBreakHeight;
    /**
     * Stores the index of the overflowing row.
     * @private
     */
    private gridRowOverflowIndex;
    /**
     * The `height` of the row.
     * @private
     */
    private rowHeight;
    /**
     * The `width` of the row.
     * @private
     */
    private rowWidth;
    /**
     * The `isFinish` of the row.
     * @private
     */
    isrowFinish: boolean;
    /**
     * Check whether the Row span row height `is set explicitly`.
     * @default false
     * @public
     */
    isRowSpanRowHeightSet: boolean;
    /**
     * The grid row `Layout Result`.
     * @private
     */
    private gridResult;
    /**
     * The `Maximum span` of the row.
     * @public
     */
    maximumRowSpan: number;
    /**
     * The `page count` of the row.
     * @public
     */
    noOfPageCount: number;
    /**
     * Check whether the row height `is set explicitly`.
     * @default false
     * @private
     */
    isRowHeightSet: boolean;
    isRowBreaksNextPage: boolean;
    rowBreakHeightValue: number;
    isPageBreakRowSpanApplied: boolean;
    /**
     * Checks whether the `columns span is exist or not`.
     * @private
     */
    private bColumnSpanExists;
    /**
     * Check weather the row merge `is completed` or not.
     * @default true
     * @private
     */
    private isRowMergeComplete;
    /**
     * Checks whether the `row span is exist or not`.
     * @private
     */
    private bRowSpanExists;
    repeatFlag: boolean;
    repeatRowNumber: number;
    rowFontSplit: boolean;
    isHeaderRow: boolean;
    /**
     * Initializes a new instance of the `PdfGridRow` class with the parent grid.
     * @private
     */
    constructor(grid: PdfGrid);
    /**
     * Gets or sets a value indicating [`row span exists`].
     * @private
     */
    rowSpanExists: boolean;
    /**
     * Gets the `cells` from the selected row.[Read-Only].
     * @private
     */
    readonly cells: PdfGridCellCollection;
    /**
     * Gets or sets the parent `grid`.
     * @private
     */
    grid: PdfGrid;
    /**
     * Gets or sets the row `style`.
     * @private
     */
    style: PdfGridRowStyle;
    /**
     * `Height` of the row yet to be drawn after split.
     * @private
     */
    rowBreakHeight: number;
    /**
     * `over flow index` of the row.
     * @private
     */
    rowOverflowIndex: number;
    /**
     * Gets or sets the `height` of the row.
     * @private
     */
    height: number;
    /**
     * Gets or sets the `width` of the row.
     * @private
     */
    readonly width: number;
    /**
     * Gets or sets the row `Nested grid Layout Result`.
     * @private
     */
    NestedGridLayoutResult: PdfLayoutResult;
    /**
     * Gets or sets a value indicating [`column span exists`].
     * @private
     */
    columnSpanExists: boolean;
    /**
     * Check whether the Row `has row span or row merge continue`.
     * @private
     */
    rowMergeComplete: boolean;
    /**
     * Returns `index` of the row.
     * @private
     */
    readonly rowIndex: number;
    /**
     * `Calculates the height`.
     * @private
     */
    private measureHeight;
    private measureWidth;
}
/**
 * `PdfGridRowCollection` class provides access to an ordered, strongly typed collection of 'PdfGridRow' objects.
 * @private
 */
export  class PdfGridRowCollection {
    /**
     * @hidden
     * @private
     */
    private grid;
    /**
     * The row collection of the `grid`.
     * @private
     */
    private rows;
    /**
     * Initializes a new instance of the `PdfGridRowCollection` class with the parent grid.
     * @private
     */
    constructor(grid: PdfGrid);
    /**
     * Gets the number of header in the `PdfGrid`.[Read-Only].
     * @private
     */
    readonly count: number;
    /**
     * Return the row collection of the `grid`.
     * @private
     */
    readonly rowCollection: PdfGridRow[];
    /**
     * `Adds` the specified row.
     * @private
     */
    addRow(): PdfGridRow;
    /**
     * `Adds` the specified row.
     * @private
     */
    addRow(row: PdfGridRow): void;
    /**
     * Return the row by index.
     * @private
     */
    getRow(index: number): PdfGridRow;
}
/**
 * `PdfGridHeaderCollection` class provides customization of the settings for the header.
 * @private
 */
export  class PdfGridHeaderCollection {
    /**
     * The `grid`.
     * @private
     */
    private grid;
    /**
     * The array to store the `rows` of the grid header.
     * @private
     */
    private rows;
    /**
     * Initializes a new instance of the `PdfGridHeaderCollection` class with the parent grid.
     * @private
     */
    constructor(grid: PdfGrid);
    /**
     * Gets a 'PdfGridRow' object that represents the `header` row in a 'PdfGridHeaderCollection' control.[Read-Only].
     * @private
     */
    getHeader(index: number): PdfGridRow;
    /**
     * Gets the `number of header` in the 'PdfGrid'.[Read-Only]
     * @private
     */
    readonly count: number;
    /**
     * `Adds` the specified row.
     * @private
     */
    add(row: PdfGridRow): void;
    /**
     * `Adds` the specified row.
     * @private
     */
    add(count: number): PdfGridRow[];
    indexOf(row: PdfGridRow): number;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/structured-elements/grid/pdf-grid.d.ts
/**
 * PdfGrid.ts class for EJ2-PDF
 */
export  class PdfGrid extends PdfLayoutElement {
    /**
     * @hidden
     * @private
     */
    private gridColumns;
    /**
     * @hidden
     * @private
     */
    private gridRows;
    /**
     * @hidden
     * @private
     */
    private gridHeaders;
    /**
     * @hidden
     * @private
     */
    private gridInitialWidth;
    /**
     * @hidden
     * @private
     */
    isComplete: boolean;
    /**
     * @hidden
     * @private
     */
    private gridSize;
    /**
     * @hidden
     * @private
     */
    private layoutFormat;
    /**
     * @hidden
     * @private
     */
    private gridLocation;
    /**
     * @hidden
     * @private
     */
    private gridStyle;
    /**
     * @hidden
     * @private
     */
    private ispageWidth;
    /**
     * Check weather it is `child grid or not`.
     * @private
     */
    private ischildGrid;
    /**
     * Check the child grid is ' split or not'
     */
    isGridSplit: boolean;
    /**
     * @hidden
     * @private
     */
    rowLayoutBoundsWidth: number;
    /**
     * @hidden
     * @private
     */
    isRearranged: boolean;
    /**
     * @hidden
     * @private
     */
    private bRepeatHeader;
    /**
     * @hidden
     * @private
     */
    private pageBounds;
    /**
     * @hidden
     * @private
     */
    private currentPage;
    /**
     * @hidden
     * @private
     */
    private currentPageBounds;
    /**
     * @hidden
     * @private
     */
    private currentBounds;
    /**
     * @hidden
     * @private
     */
    private currentGraphics;
    /**
     * @hidden
     * @private
     */
    listOfNavigatePages: number[];
    /**
     * @hidden
     * @private
     */
    private startLocation;
    /**
     * @hidden
     * @private
     */
    parentCellIndex: number;
    tempWidth: number;
    /**
     * @hidden
     * @private
     */
    private breakRow;
    splitChildRowIndex: number;
    private rowBreakPageHeightCellIndex;
    /**
     * The event raised on `starting cell drawing`.
     * @event
     * @private
     */
    beginCellDraw: Function;
    /**
     * The event raised on `ending cell drawing`.
     * @event
     * @private
     */
    endCellDraw: Function;
    /**
     * The event raised on `begin cell lay outing`.
     * @event
     * @private
     */
    /**
     * The event raised on `end cell lay outing`.
     * @event
     * @private
     */
    hasRowSpanSpan: boolean;
    hasColumnSpan: boolean;
    isSingleGrid: boolean;
    private parentCell;
    /**
     * Initialize a new instance for `PdfGrid` class.
     * @private
     */
    constructor();
    /**
     * Gets a value indicating whether the `start cell layout event` should be raised.
     * @private
     */
    readonly raiseBeginCellDraw: boolean;
    /**
     * Gets a value indicating whether the `end cell layout event` should be raised.
     * @private
     */
    readonly raiseEndCellDraw: boolean;
    /**
     * Gets or sets a value indicating whether to `repeat header`.
     * @private
     */
    repeatHeader: boolean;
    /**
     * Gets or sets a value indicating whether to split or cut rows that `overflow a page`.
     * @private
     */
    allowRowBreakAcrossPages: boolean;
    /**
     * Gets the `column` collection of the PdfGrid.[Read-Only]
     * @private
     */
    readonly columns: PdfGridColumnCollection;
    /**
     * Gets the `row` collection from the PdfGrid.[Read-Only]
     * @private
     */
    readonly rows: PdfGridRowCollection;
    /**
     * Gets the `headers` collection from the PdfGrid.[Read-Only]
     * @private
     */
    readonly headers: PdfGridHeaderCollection;
    /**
     * Indicating `initial width` of the page.
     * @private
     */
    initialWidth: number;
    /**
     * Gets or sets the `grid style`.
     * @private
     */
    style: PdfGridStyle;
    /**
     * Gets a value indicating whether the grid column width is considered to be `page width`.
     * @private
     */
    isPageWidth: boolean;
    /**
     * Gets or set if grid `is nested grid`.
     * @private
     */
    isChildGrid: boolean;
    /**
     * Gets or set if grid ' is split or not'
     * @public
     */
    /**
     * Gets the `size`.
     * @private
     */
    size: SizeF;
    ParentCell: PdfGridCell;
    readonly LayoutFormat: PdfLayoutFormat;
    /**
     * `Draws` the element on the page with the specified page and 'PointF' class
     * @private
     */
    draw(page: PdfPage, location: PointF): PdfLayoutResult;
    /**
     * `Draws` the element on the page with the specified page and pair of coordinates
     * @private
     */
    draw(page: PdfPage, x: number, y: number): PdfLayoutResult;
    /**
     * `Draws` the element on the page with the specified page and 'RectangleF' class
     * @private
     */
    draw(page: PdfPage, layoutRectangle: RectangleF): PdfLayoutResult;
    /**
     * `Draws` the element on the page with the specified page, 'PointF' class and layout format
     * @private
     */
    draw(page: PdfPage, location: PointF, format: PdfLayoutFormat): PdfLayoutResult;
    /**
     * `Draws` the element on the page with the specified page, pair of coordinates and layout format
     * @private
     */
    draw(page: PdfPage, x: number, y: number, format: PdfLayoutFormat): PdfLayoutResult;
    /**
     * `Draws` the element on the page.
     * @private
     */
    draw(page: PdfPage, layoutRectangle: RectangleF, embedFonts: boolean): PdfLayoutResult;
    /**
     * `Draws` the element on the page with the specified page, 'RectangleF' class and layout format
     * @private
     */
    draw(page: PdfPage, layoutRectangle: RectangleF, format: PdfLayoutFormat): PdfLayoutResult;
    /**
     * `measures` this instance.
     * @private
     */
    private measure;
    onBeginCellDraw(args: PdfGridBeginCellDrawEventArgs): void;
    onEndCellDraw(args: PdfGridEndCellDrawEventArgs): void;
    /**
     * `Layouts` the specified graphics.
     * @private
     */
    protected layout(param: PdfLayoutParams): PdfLayoutResult;
    setSpan(): void;
    checkSpan(): void;
    /**
     * Calculates the `width` of the columns.
     * @private
     */
    measureColumnsWidth(): void;
    /**
     * Calculates the `width` of the columns.
     * @private
     */
    measureColumnsWidth(bounds: RectangleF): void;
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/structured-elements/grid/styles/index.d.ts
/**
 * Grid styles classes
 */
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/structured-elements/grid/styles/pdf-borders.d.ts
/**
 * PdfBorders.ts class for EJ2-PDF
 */
/**
 * `PdfBorders` class used represents the cell border of the PDF grid.
 */
export  class PdfBorders {
    /**
     * The `left` border.
     * @private
     */
    private leftPen;
    /**
     * The `right` border.
     * @private
     */
    private rightPen;
    /**
     * The `top` border.
     * @private
     */
    private topPen;
    /**
     * The `bottom` border.
     * @private
     */
    private bottomPen;
    /**
     * Gets or sets the `Left`.
     * @private
     */
    left: PdfPen;
    /**
     * Gets or sets the `Right`.
     * @private
     */
    right: PdfPen;
    /**
     * Gets or sets the `Top`.
     * @private
     */
    top: PdfPen;
    /**
     * Gets or sets the `Bottom`.
     * @private
     */
    bottom: PdfPen;
    /**
     * sets the `All`.
     * @private
     */
    all: PdfPen;
    /**
     * Gets a value indicating whether this instance `is all`.
     * @private
     */
    readonly isAll: boolean;
    /**
     * Gets the `default`.
     * @private
     */
    static readonly default: PdfBorders;
    /**
     * Create a new instance for `PdfBorders` class.
     * @private
     */
    constructor();
}
export  class PdfPaddings {
    /**
     * The `left` padding.
     * @private
     */
    private leftPad;
    /**
     * The `right` padding.
     * @private
     */
    private rightPad;
    /**
     * The `top` padding.
     * @private
     */
    private topPad;
    /**
     * The `bottom` padding.
     * @private
     */
    private bottomPad;
    /**
     * The 'left' border padding set.
     * @private
     */
    hasLeftPad: boolean;
    /**
     * The 'right' border padding set.
     * @private
     */
    hasRightPad: boolean;
    /**
     * The 'top' border padding set.
     * @private
     */
    hasTopPad: boolean;
    /**
     * The 'bottom' border padding set.
     * @private
     */
    hasBottomPad: boolean;
    /**
     * Gets or sets the `left` value of the edge
     * @private
     */
    left: number;
    /**
     * Gets or sets the `right` value of the edge.
     * @private
     */
    right: number;
    /**
     * Gets or sets the `top` value of the edge
     * @private
     */
    top: number;
    /**
     * Gets or sets the `bottom` value of the edge.
     * @private
     */
    bottom: number;
    /**
     * Sets value to all sides `left,right,top and bottom`.s
     * @private
     */
    all: number;
    /**
     * Initializes a new instance of the `PdfPaddings` class.
     * @private
     */
    constructor();
    /**
     * Initializes a new instance of the `PdfPaddings` class.
     * @private
     */
    constructor(left: number, right: number, top: number, bottom: number);
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/structured-elements/grid/styles/style.d.ts
/**
 * PdfGridStyleBase.ts class for EJ2-PDF
 */
/**
 * Base class for the `grid style`,
 */
export  abstract class PdfGridStyleBase {
    /**
     * @hidden
     * @private
     */
    private gridBackgroundBrush;
    /**
     * @hidden
     * @private
     */
    private gridTextBrush;
    /**
     * @hidden
     * @private
     */
    private gridTextPen;
    /**
     * @hidden
     * @private
     */
    private gridFont;
    /**
     * @hidden
     * @private
     */
    private gridBackgroundImage;
    /**
     * Gets or sets the `background brush`.
     * @private
     */
    backgroundBrush: PdfBrush;
    /**
     * Gets or sets the `text brush`.
     * @private
     */
    textBrush: PdfBrush;
    /**
     * Gets or sets the `text pen`.
     * @private
     */
    textPen: PdfPen;
    /**
     * Gets or sets the `font`.
     * @private
     */
    font: PdfFont;
    /**
     * Gets or sets the `background Image`.
     * @private
     */
    backgroundImage: PdfImage;
}
/**
 * `PdfGridStyle` class provides customization of the appearance for the 'PdfGrid'.
 */
export  class PdfGridStyle extends PdfGridStyleBase {
    /**
     * @hidden
     * @private
     */
    private gridBorderOverlapStyle;
    /**
     * @hidden
     * @private
     */
    private gridHorizontalOverflowType;
    /**
     * @hidden
     * @private
     */
    private bAllowHorizontalOverflow;
    /**
     * @hidden
     * @private
     */
    private gridCellPadding;
    /**
     * @hidden
     * @private
     */
    private gridCellSpacing;
    /**
     * Initialize a new instance for `PdfGridStyle` class.
     * @private
     */
    constructor();
    /**
     * Gets or sets the `cell spacing` of the 'PdfGrid'.
     * @private
     */
    cellSpacing: number;
    /**
     * Gets or sets the type of the `horizontal overflow` of the 'PdfGrid'.
     * @private
     */
    horizontalOverflowType: PdfHorizontalOverflowType;
    /**
     * Gets or sets a value indicating whether to `allow horizontal overflow`.
     * @private
     */
    allowHorizontalOverflow: boolean;
    /**
     * Gets or sets the `cell padding`.
     * @private
     */
    cellPadding: PdfPaddings;
    /**
     * Gets or sets the `border overlap style` of the 'PdfGrid'.
     * @private
     */
    borderOverlapStyle: PdfBorderOverlapStyle;
}
/**
 * `PdfGridCellStyle` class provides customization of the appearance for the 'PdfGridCell'.
 */
export  class PdfGridCellStyle extends PdfGridStyleBase {
    /**
     * @hidden
     * @private
     */
    private gridCellBorders;
    /**
     * @hidden
     * @private
     */
    private gridCellPadding;
    /**
     * @hidden
     * @private
     */
    private format;
    /**
     * Gets the `string format` of the 'PdfGridCell'.
     * @private
     */
    stringFormat: PdfStringFormat;
    /**
     * Gets or sets the `border` of the 'PdfGridCell'.
     * @private
     */
    borders: PdfBorders;
    /**
     * Gets or sets the `cell padding`.
     * @private
     */
    cellPadding: PdfPaddings;
    /**
     * Initializes a new instance of the `PdfGridCellStyle` class.
     * @private
     */
    constructor();
}
/**
 * `PdfGridRowStyle` class provides customization of the appearance for the `PdfGridRow`.
 */
export  class PdfGridRowStyle {
    /**
     * @hidden
     * @private
     */
    private gridRowBackgroundBrush;
    /**
     * @hidden
     * @private
     */
    private gridRowTextBrush;
    /**
     * @hidden
     * @private
     */
    private gridRowTextPen;
    /**
     * @hidden
     * @private
     */
    private gridRowFont;
    /**
     * Specifies the `border` value of the current row.
     * @private
     */
    private gridRowBorder;
    /**
     * Specifies the `parent row` of the current object.
     * @private
     */
    private parent;
    /**
     * @hidden
     * @private
     */
    private gridRowBackgroundImage;
    /**
     * Gets or sets the `background brush`.
     * @private
     */
    readonly backgroundBrush: PdfBrush;
    setBackgroundBrush(value: PdfBrush): void;
    /**
     * Gets or sets the `text brush`.
     * @private
     */
    readonly textBrush: PdfBrush;
    setTextBrush(value: PdfBrush): void;
    /**
     * Gets or sets the `text pen`.
     * @private
     */
    readonly textPen: PdfPen;
    setTextPen(value: PdfPen): void;
    /**
     * Gets or sets the `font`.
     * @private
     */
    readonly font: PdfFont;
    setFont(value: PdfFont): void;
    /**
     * Gets or sets the `border` of the current row.
     * @private
     */
    readonly border: PdfBorders;
    setBorder(value: PdfBorders): void;
    /**
     * sets the `parent row` of the current object.
     * @private
     */
    setParent(parent: PdfGridRow): void;
    /**
     * Gets or sets the `backgroundImage` of the 'PdfGridCell'.
     * @private
     */
    readonly backgroundImage: PdfImage;
    /**
     * sets the `backgroundImage` of the 'PdfGridCell'.
     * @private
     */
    setBackgroundImage(value: PdfImage): void;
    /**
     * Initializes a new instance of the `PdfGridRowStyle` class.
     * @private
     */
    constructor();
}
/**
 * public Enum for `PdfHorizontalOverflowType`.
 * @private
 */
export  enum PdfHorizontalOverflowType {
    /**
     * Specifies the type of `NextPage`.
     * @private
     */
    NextPage = 0,
    /**
     * Specifies the type of `LastPage`.
     * @private
     */
    LastPage = 1
}
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/structured-elements/index.d.ts
/**
 * StructuredElements classes
 * @hidden
 */
//node_modules/@syncfusion/ej2-pdf-export/src/implementation/structured-elements/tables/light-tables/enum.d.ts
/**
 * public Enum for `PdfBorderOverlapStyle`.
 * @private
 */
export  enum PdfBorderOverlapStyle {
    /**
     * Specifies the type of `Overlap`.
     * @private
     */
    Overlap = 0,
    /**
     * Specifies the type of `Inside`.
     * @private
     */
    Inside = 1
}
//node_modules/@syncfusion/ej2-pdf-export/src/index.d.ts
/**
 * Pdf all modules
 * @hidden
 */
//node_modules/@syncfusion/ej2-pdf-export/src/interfaces/i-pdf-cache.d.ts
/**
 * `IPdfCache.ts` interface for EJ2-PDF
 * Interface of the objects that support caching of their internals.
 * @private
 */
export interface IPdfCache {
    /**
     * Checks whether the object `is similar to another object`.
     * @private
     */
    equalsTo(obj: IPdfCache): boolean;
    /**
     * Returns `internals of the object`.
     * @private
     */
    getInternals(): IPdfPrimitive;
    /**
     * Sets `internals of the object`.
     * @private
     */
    setInternals(internals: IPdfPrimitive): void;
}
//node_modules/@syncfusion/ej2-pdf-export/src/interfaces/i-pdf-changable.d.ts
/**
 * `IPdfChangable.ts` interface for EJ2-PDF
 * Interface of the objects that support Changable of their internals.
 * @private
 */
export interface IPdfChangable {
    /**
     * Gets a value indicating whether this 'IPdfChangable' `is changed`.
     * @private
     */
    changed(): boolean;
    /**
     * `Freezes the changes`.
     * @private
     */
    freezeChanges(freezer: Object): void;
}
//node_modules/@syncfusion/ej2-pdf-export/src/interfaces/i-pdf-clonable.d.ts
/**
 * `ICloneable.ts` interface for EJ2-PDF
 * Defines the basic interace of the various Cloneable.
 * @private
 */
export interface ICloneable {
    /**
     * Creates a `deep copy` of the IPdfPrimitive object.
     * @private
     */
    clone(): ICloneable;
}
//node_modules/@syncfusion/ej2-pdf-export/src/interfaces/i-pdf-primitives.d.ts
/**
 * `IPdfPrimitive.ts` interface for EJ2-PDF
 * Defines the basic interace of the various Primitive.
 * @private
 */
export interface IPdfPrimitive {
    /**
     * Specifies the `status` of the IPdfPrimitive. Status is registered if it has a reference or else none.
     * @private
     */
    status: ObjectStatus;
    /**
     * Gets or sets a value indicating whether this document `is saving` or not.
     * @private
     */
    isSaving: boolean;
    /**
     * Gets or sets the `index` value of the specified object.
     * @private
     */
    objectCollectionIndex: number;
    /**
     * Stores the `cloned object` for future use.
     * @private
     */
    clonedObject: IPdfPrimitive;
    /**
     * `Saves` the object using the specified writer.
     * @private
     */
    save(writer: IPdfWriter): void;
    /**
     * Creates a `deep copy` of the IPdfPrimitive object.
     * @private
     */
    clone(crossTable: PdfCrossTable): IPdfPrimitive;
    /**
     * Gets or sets the `position` of the object.
     * @private
     */
    position: number;
}
//node_modules/@syncfusion/ej2-pdf-export/src/interfaces/i-pdf-true-type-font.d.ts
/**
 * `IPdfTrueTypeFont.ts` interface for EJ2-PDF
 * Defines the basic interace of the various Pdf True Type Font.
 * @private
 */
export interface IPdfTrueTypeFont {
    size: number;
    metrics: PdfFontMetrics;
    getInternals(): IPdfPrimitive;
    equalsToFont(font: PdfFont): boolean;
    createInternals(): void;
    getCharWidth(charCode: string): number;
    getLineWidth(line: string): number;
    close(): void;
}
//node_modules/@syncfusion/ej2-pdf-export/src/interfaces/i-pdf-wrapper.d.ts
/**
 * `IPdfWrapper.ts` interface for EJ2-PDF
 * Defines the basic interace of the various Wrapper.
 * @private
 */
export interface IPdfWrapper {
    /**
     * Gets the `element`.
     * @private
     */
    element: IPdfPrimitive;
}
//node_modules/@syncfusion/ej2-pdf-export/src/interfaces/i-pdf-writer.d.ts
/**
 * `IPdfWriter.ts` interface for EJ2-PDF
 * Defines the basic interace of the various writers.
 * @private
 */
export interface IPdfWriter {
    /**
     * Gets or sets the current `position` within the stream.
     * @private
     */
    position: number;
    /**
     * Stream `length`.
     * @private
     */
    length: number;
    /**
     * The `document` required for saving process.
     * @private
     */
    document: PdfDocumentBase;
    /**
     * `Writes` the specified data.
     * @private
     */
    write(overload: IPdfPrimitive | number | string): void;
}
//node_modules/@syncfusion/ej2-pdf-export/src/interfaces/index.d.ts
/**
 * Interfaces
 * @hidden
 */
 }
export namespace pdfviewer { 

//node_modules/@syncfusion/ej2-pdfviewer/src/index.d.ts
/**
 * export PDF viewer modules
 */
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/annotation/annotation.d.ts
/**
 * @hidden
 */
export interface IActionElements {
    pageIndex: number;
    index: number;
    annotation: any;
    action: string;
    undoElement: any;
    redoElement: any;
    duplicate?: any;
    modifiedProperty: string;
}
/**
 * @hidden
 */
export interface IPoint {
    x: number;
    y: number;
}
/**
 * Interface for a class Point
 *  @hidden
 */
export interface IAnnotationPoint {
    /**
     * Sets the x-coordinate of a position
     * @default 0
     */
    x: number;
    /**
     * Sets the y-coordinate of a position
     * @default 0
     */
    y: number;
    /**
     * Sets the x-coordinate of a position
     * @default 0
     */
    width: number;
    /**
     * Sets the y-coordinate of a position
     * @default 0
     */
    height: number;
}
/**
 * @hidden
 */
export interface IPageAnnotations {
    pageIndex: number;
    annotations: any[];
}
/**
 * The `Annotation` module is used to handle annotation actions of PDF viewer.
 */
export  class Annotation {
    private pdfViewer;
    private pdfViewerBase;
    /**
     * @private
     */
    textMarkupAnnotationModule: TextMarkupAnnotation;
    /**
     * @private
     */
    shapeAnnotationModule: ShapeAnnotation;
    /**
     * @private
     */
    measureAnnotationModule: MeasureAnnotation;
    /**
     * @private
     */
    stampAnnotationModule: StampAnnotation;
    /**
     * @private
     */
    freeTextAnnotationModule: FreeTextAnnotation;
    /**
     * @private
     */
    inputElementModule: InputElement;
    /**
     * @private
     */
    inkAnnotationModule: InkAnnotation;
    /**
     * @private
     */
    stickyNotesAnnotationModule: StickyNotesAnnotation;
    private popupNote;
    private popupNoteAuthor;
    private popupNoteContent;
    private popupElement;
    private authorPopupElement;
    private noteContentElement;
    private modifiedDateElement;
    private opacityIndicator;
    private startArrowDropDown;
    private endArrowDropDown;
    private lineStyleDropDown;
    private thicknessBox;
    private leaderLengthBox;
    private fillColorPicker;
    private strokeColorPicker;
    private fillDropDown;
    private strokeDropDown;
    private opacitySlider;
    private propertiesDialog;
    private currentAnnotPageNumber;
    private clientX;
    private clientY;
    private isPopupMenuMoved;
    private selectedLineStyle;
    private selectedLineDashArray;
    private isUndoRedoAction;
    private isUndoAction;
    private annotationSelected;
    private isAnnotDeletionApiCall;
    private removedDocumentAnnotationCollection;
    /**
     * @private
     */
    isShapeCopied: boolean;
    /**
     * @private
     */
    actionCollection: IActionElements[];
    /**
     * @private
     */
    redoCollection: IActionElements[];
    /**
     * @private
     */
    isPopupNoteVisible: boolean;
    /**
     * @private
     */
    undoCommentsElement: IPopupAnnotation[];
    /**
     * @private
     */
    redoCommentsElement: IPopupAnnotation[];
    /**
     * @private
     */
    selectAnnotationId: string;
    /**
     * @private
     */
    isAnnotationSelected: boolean;
    /**
     * @private
     */
    annotationPageIndex: number;
    private previousIndex;
    private overlappedAnnotations;
    /**
     * @private
     */
    overlappedCollections: any;
    /**
     * @private
     */
    isFormFieldShape: boolean;
    /**
     * @private
     */
    removedAnnotationCollection: any;
    /**
     * @param pdfViewer
     * @param viewerBase
     * @param pdfViewer
     * @param viewerBase
     * @private
     */
    constructor(pdfViewer: PdfViewer, viewerBase: PdfViewerBase);
    /**
     * Set annotation type to be added in next user interaction in PDF Document.
     *
     * @param type
     * @param dynamicStampItem
     * @param signStampItem
     * @param standardBusinessStampItem
     * @returns void
     */
    setAnnotationMode(type: AnnotationType, dynamicStampItem?: DynamicStampItem, signStampItem?: SignStampItem, standardBusinessStampItem?: StandardBusinessStampItem): void;
    deleteAnnotationById(annotationId: string | object): void;
    private clearAnnotationMode;
    deleteAnnotation(): void;
    /**
     * @param annotationId
    */
    private getAnnotationsFromCollections;
    /**
     * @param annotation
    */
    private updateInputFieldDivElement;
    /**
     * @param annotation
     * @param pageNumber
     * @param annotation
     * @param pageNumber
     * @private
     */
    storeAnnotationCollections(annotation: any, pageNumber: number): void;
    checkFormDesignCollection(annotation: any): any;
    updateFormFieldCollection(annotation: any): void;
    /**
     * @param annotation
     * @private
     */
    getCustomData(annotation: any): object;
    /**
     * @param type
     * @param subject
     * @private
     */
    getShapeData(type: string, subject: string): object;
    /**
     * @param type
     * @private
     */
    getMeasureData(type: string): object;
    /**
     * @param type
     * @private
     */
    getTextMarkupData(type: string): object;
    /**
     * @param type
     * @private
     */
    getData(type: string): object;
    /**
     * @private
     */
    clearAnnotationStorage(): void;
    /**
     * @param annotation
     * @private
     */
    checkAnnotationCollection(annotation: any): any;
    /**
     * @param annotation
     * @private
     */
    updateAnnotationCollection(annotation: any): void;
    /**
     * @param annotation
     * @param pageNumber
     * @param annotationType
     * @private
     */
    updateImportAnnotationCollection(annotation: any, pageNumber: number, annotationType: string): void;
    /**
     * Select the annotations using annotation object or annotation Id.
     *
     * @param annotationId
     * @returns void
     */
    selectAnnotation(annotationId: string | object): void;
    private updateCollectionForNonRenderedPages;
    private getTypeOfAnnotation;
    private removeCommentPanelDiv;
    /**
     * Clear the annotation selection.
     *
     * @returns void
     */
    clearSelection(): void;
    /**
     * @param annotation
     * @private
     */
    getAnnotationTop(annotation: any): number;
    /**
      * @param annotation
      */
    private getAnnotationLeft;
    /**
     * @private
     */
    selectAnnotationFromCodeBehind(): void;
    /**
     * @param pageIndex
     * @private
     */
    findRenderPageList(pageIndex: number): boolean;
    private getPageNumberFromAnnotationCollections;
    private getAnnotationsFromAnnotationCollections;
    private getTextMarkupAnnotations;
    /**
     * @param type
     * @param measureType
     * @param type
     * @param measureType
     * @private
     */
    getAnnotationType(type: string, measureType: string): AnnotationType;
    /**
     * @param pageNumber
     * @param annotationId
     * @private
     */
    getAnnotationIndex(pageNumber: number, annotationId: string): number;
    /**
     * @private
     */
    initializeCollection(): void;
    /**
     * @private
     */
    showCommentsPanel(): void;
    /**
     * @param pageNumber
     * @param index
     * @param annotation
     * @param actionString
     * @param property
     * @param node
     * @param redo
     * @param pageNumber
     * @param index
     * @param annotation
     * @param actionString
     * @param property
     * @param node
     * @param redo
     * @private
     */
    addAction(pageNumber: number, index: number, annotation: any, actionString: string, property: string, node?: any, redo?: any): void;
    /**
     * @private
     */
    undo(): void;
    /**
     * @private
     */
    redo(): void;
    private undoRedoMultiline;
    private updateFormFieldValueChange;
    private updateFormFieldPropertiesChanges;
    private updateCollectionForLineProperty;
    private updateToolbar;
    private createNote;
    /**
     * @param event
     * @param color
     * @param author
     * @param note
     * @param type
     * @param event
     * @param color
     * @param author
     * @param note
     * @param type
     * @private
     */
    showPopupNote(event: any, color: string, author: string, note: string, type: string): void;
    /**
     * @private
     */
    hidePopupNote(): void;
    private createTextMarkupPopup;
    private onPopupElementMoveStart;
    private onPopupElementMove;
    private onPopupElementMoveEnd;
    private saveClosePopupMenu;
    /**
     * @private
     */
    closePopupMenu(): void;
    /**
     * @param event
     * @private
     */
    showAnnotationPopup(event: any): void;
    /**
     * @param args
     * @param isOpacity
     * @param args
     * @param isOpacity
     * @private
     */
    modifyOpacity(args: any, isOpacity?: boolean): void;
    /**
     * @param currentColor
     * @private
     */
    modifyFontColor(currentColor: string): void;
    /**
     * @param currentValue
     * @private
     */
    modifyFontFamily(currentValue: string): void;
    /**
     * @param currentValue
     * @private
     */
    modifyFontSize(currentValue: number): void;
    /**
     * @param currentValue
     * @private
     */
    modifyTextAlignment(currentValue: string): void;
    /**
     * @param fontInfo
     * @param action
     * @private
     */
    modifyTextProperties(fontInfo: PdfFontModel, action: string): void;
    /**
     * @param thicknessValue
     * @private
     */
    modifyThickness(thicknessValue: number): void;
    /**
     * @param color
     * @private
     */
    modifyStrokeColor(color: string): void;
    /**
     * @param color
     * @private
     */
    modifyFillColor(color: string): void;
    /**
     * @param dynamicText
     * @param annotName
     * @private
     */
    modifyDynamicTextValue(dynamicText: string, annotName: string): void;
    private modifyInCollections;
    /**
     * @private
     */
    createPropertiesWindow(): void;
    private updatePropertiesWindowInBlazor;
    private destroyPropertiesWindow;
    private refreshColorPicker;
    private createAppearanceTab;
    private createContent;
    private onStrokeDropDownBeforeOpen;
    private onFillDropDownBeforeOpen;
    private createStyleList;
    private createColorPicker;
    private createDropDownButton;
    private updateColorInIcon;
    /**
     * @param color
     * @private
     */
    onFillColorChange(color: string): void;
    /**
     * @param color
     * @private
     */
    onStrokeColorChange(color: string): void;
    private setThickness;
    private createDropDownContent;
    private createListForStyle;
    private onStartArrowHeadStyleSelect;
    private onEndArrowHeadStyleSelect;
    private createInputElement;
    private updateOpacityIndicator;
    /**
     * @private
     */
    onOkClicked(opacityValue?: number): void;
    private onCancelClicked;
    private getArrowTypeFromDropDown;
    /**
     * @param arrow
     * @private
     */
    getArrowString(arrow: drawings.DecoratorShapes): string;
    /**
     * @private
     */
    onAnnotationMouseUp(): void;
    /**
     * @param pdfAnnotationBase
     * @param event
     * @param pdfAnnotationBase
     * @param event
     * @private
     */
    onShapesMouseup(pdfAnnotationBase: PdfAnnotationBaseModel, event: any): void;
    /**
     * @param pdfAnnotationBase
     * @param isNewlyAdded
     * @param pdfAnnotationBase
     * @param isNewlyAdded
     * @private
     */
    updateCalibrateValues(pdfAnnotationBase: PdfAnnotationBaseModel, isNewlyAdded?: boolean): void;
    /**
     * @private
     */
    onAnnotationMouseDown(): void;
    private enableBasedOnType;
    private getProperDate;
    /**
     * @param pageAnnotations
     * @param pageNumber
     * @private
     */
    getPageCollection(pageAnnotations: IPageAnnotations[], pageNumber: number): number;
    /**
     * @param annotations
     * @param id
     * @param annotations
     * @param id
     * @private
     */
    getAnnotationWithId(annotations: any[], id: string): any;
    /**
     * @param event
     * @private
     */
    getEventPageNumber(event: any): number;
    /**
     * @param commentsAnnotations
     * @param parentAnnotation
     * @param author
     * @param commentsAnnotations
     * @param parentAnnotation
     * @param author
     * @param commentsAnnotations
     * @param parentAnnotation
     * @param author
     * @private
     */
    getAnnotationComments(commentsAnnotations: any, parentAnnotation: any, author: string): any;
    private getRandomNumber;
    /**
     * @private
     */
    createGUID(): string;
    /**
     * @param pageDiv
     * @param pageWidth
     * @param pageHeight
     * @param pageNumber
     * @param displayMode
     * @param pageDiv
     * @param pageWidth
     * @param pageHeight
     * @param pageNumber
     * @param displayMode
     * @private
     */
    createAnnotationLayer(pageDiv: HTMLElement, pageWidth: number, pageHeight: number, pageNumber: number, displayMode: string): HTMLElement;
    /**
     * @param width
     * @param height
     * @param pageNumber
     * @private
     */
    resizeAnnotations(width: number, height: number, pageNumber: number): void;
    /**
     * @param pageNumber
     * @private
     */
    clearAnnotationCanvas(pageNumber: number): void;
    /**
     * @param pageNumber
     * @param shapeAnnotation
     * @param measureShapeAnnotation
     * @param textMarkupAnnotation
     * @param canvas
     * @param isImportAnnotations
     * @param pageNumber
     * @param shapeAnnotation
     * @param measureShapeAnnotation
     * @param textMarkupAnnotation
     * @param canvas
     * @param isImportAnnotations
     * @param pageNumber
     * @param shapeAnnotation
     * @param measureShapeAnnotation
     * @param textMarkupAnnotation
     * @param canvas
     * @param isImportAnnotations
     * @private
     */
    renderAnnotations(pageNumber: number, shapeAnnotation: any, measureShapeAnnotation: any, textMarkupAnnotation: any, canvas?: any, isImportAnnotations?: boolean): void;
    /**
     * @param pageNumber
     * @param annotation
     * @param annotationId
     * @param pageNumber
     * @param annotation
     * @param annotationId
     * @param pageNumber
     * @param annotation
     * @param annotationId
     * @private
     */
    storeAnnotations(pageNumber: number, annotation: any, annotationId: string): number;
    /**
     * @param type
     * @private
     */
    getArrowType(type: string): drawings.DecoratorShapes;
    /**
     * @param arrow
     * @private
     */
    getArrowTypeForCollection(arrow: drawings.DecoratorShapes): string;
    /**
     * @param bound
     * @param pageIndex
     * @private
     */
    getBounds(bound: any, pageIndex: number): any;
    /**
     * @param bound
     * @param pageIndex
     * @private
     */
    getInkBounds(bound: any, pageIndex: number): any;
    /**
     * @param points
     * @param pageIndex
     * @param points
     * @param pageIndex
     * @private
     */
    getVertexPoints(points: any[], pageIndex: number): any;
    /**
     * @param pageIndex
     * @param shapeAnnotations
     * @param idString
     * @param pageIndex
     * @param shapeAnnotations
     * @param idString
     * @private
     */
    getStoredAnnotations(pageIndex: number, shapeAnnotations: any[], idString: string): any[];
    /**
     * @param pdfAnnotationBase
     * @param isColor
     * @param isStroke
     * @param isThickness
     * @param isOpacity
     * @param isLineStart
     * @param isLineEnd
     * @param isDashArray
     * @param isFreeText
     * @param previousText
     * @param currentText
     * @param pdfAnnotationBase
     * @param isColor
     * @param isStroke
     * @param isThickness
     * @param isOpacity
     * @param isLineStart
     * @param isLineEnd
     * @param isDashArray
     * @param isFreeText
     * @param previousText
     * @param currentText
     * @param pdfAnnotationBase
     * @param isColor
     * @param isStroke
     * @param isThickness
     * @param isOpacity
     * @param isLineStart
     * @param isLineEnd
     * @param isDashArray
     * @param isFreeText
     * @param previousText
     * @param currentText
     * @param pdfAnnotationBase
     * @param isColor
     * @param isStroke
     * @param isThickness
     * @param isOpacity
     * @param isLineStart
     * @param isLineEnd
     * @param isDashArray
     * @param isFreeText
     * @param previousText
     * @param currentText
     * @param pdfAnnotationBase
     * @param isColor
     * @param isStroke
     * @param isThickness
     * @param isOpacity
     * @param isLineStart
     * @param isLineEnd
     * @param isDashArray
     * @param isFreeText
     * @param previousText
     * @param currentText
     * @param pdfAnnotationBase
     * @param isColor
     * @param isStroke
     * @param isThickness
     * @param isOpacity
     * @param isLineStart
     * @param isLineEnd
     * @param isDashArray
     * @param isFreeText
     * @param previousText
     * @param currentText
     * @param pdfAnnotationBase
     * @param isColor
     * @param isStroke
     * @param isThickness
     * @param isOpacity
     * @param isLineStart
     * @param isLineEnd
     * @param isDashArray
     * @param isFreeText
     * @param previousText
     * @param currentText
     * @param pdfAnnotationBase
     * @param isColor
     * @param isStroke
     * @param isThickness
     * @param isOpacity
     * @param isLineStart
     * @param isLineEnd
     * @param isDashArray
     * @param isFreeText
     * @param previousText
     * @param currentText
     * @param pdfAnnotationBase
     * @param isColor
     * @param isStroke
     * @param isThickness
     * @param isOpacity
     * @param isLineStart
     * @param isLineEnd
     * @param isDashArray
     * @param isFreeText
     * @param previousText
     * @param currentText
     * @param pdfAnnotationBase
     * @param isColor
     * @param isStroke
     * @param isThickness
     * @param isOpacity
     * @param isLineStart
     * @param isLineEnd
     * @param isDashArray
     * @param isFreeText
     * @param previousText
     * @param currentText
     * @private
     */
    triggerAnnotationPropChange(pdfAnnotationBase: PdfAnnotationBaseModel, isColor: boolean, isStroke: boolean, isThickness: boolean, isOpacity: boolean, isLineStart?: boolean, isLineEnd?: boolean, isDashArray?: boolean, isFreeText?: boolean, previousText?: string, currentText?: string): void;
    /**
     * @param pdfAnnotationBase
     * @private
     */
    triggerAnnotationAdd(pdfAnnotationBase: PdfAnnotationBaseModel): void;
    /**
     * @param pdfAnnotationBase
     * @private
     */
    triggerAnnotationResize(pdfAnnotationBase: PdfAnnotationBaseModel): void;
    /**
     * @param pdfAnnotationBase
     * @private
     */
    triggerAnnotationMove(pdfAnnotationBase: PdfAnnotationBaseModel, isMoving?: boolean): void;
    /**
     * @param annotationId
     * @param pageNumber
     * @param annotation
     * @param annotationCollection
     * @param isDblClick
     * @param isSelected
     * @private
     */
    annotationSelect(annotationId: any, pageNumber: number, annotation: any, annotationCollection?: any, isDblClick?: boolean, isSelected?: boolean): void;
    selectSignature(signatureId: string, pageNumber: number, signatureModule: any): void;
    editSignature(signature: any): void;
    private deletComment;
    private addReplyComments;
    private editComments;
    editAnnotation(annotation: any): void;
    private annotationPropertyChange;
    private calculateAnnotationBounds;
    /**
     * @param annotation
     * @private
     */
    updateFreeTextProperties(annotation: any): void;
    private updateAnnotationComments;
    /**
     * @param annotation
     * @param currentAnnotation
     * @private
     */
    addFreeTextProperties(annotation: any, currentAnnotation: any): void;
    updateMeasurementSettings(): void;
    private updateCollection;
    private modifyAnnotationProperties;
    /**
     * @param annotationType
     * @param annotationSubType
     * @param annotationType
     * @param annotationSubType
     * @private
     */
    updateAnnotationAuthor(annotationType: string, annotationSubType?: string): string;
    /**
     * @param colour
     * @private
     */
    nameToHash(colour: string): string;
    private updateFreeTextFontStyle;
    private setFreeTextFontStyle;
    /**
     * @param annotation
     * @param isSettings
     * @private
     */
    findAnnotationSettings(annotation: any, isSettings?: boolean): any;
    /**
     * @param annotation
     * @private
     */
    updateAnnotationSettings(annotation: any): any;
    /**
     * @param annotationSettings
     * @private
     */
    updateSettings(annotationSettings: any): any;
    private getOverlappedAnnotations;
    private getPageShapeAnnotations;
    private findOverlappedAnnotations;
    private calculateOverlappedAnnotationBounds;
    /**
     * @param annotation
     * @param pageNumber
     * @param type
     * @param annotation
     * @param pageNumber
     * @param type
     * @private
     */
    findAnnotationMode(annotation: any, pageNumber: number, type: string): string;
    private checkOverlappedCollections;
    private orderTextMarkupBounds;
    /**
     * @param annotation
     * @private
     */
    updateModifiedDate(annotation: any): any;
    private setAnnotationModifiedDate;
    /**
     * @private
     */
    clear(): void;
    retrieveAnnotationCollection(): any[];
    /**
     * @param interaction
     * @param annotation
     * @param interaction
     * @param annotation
     * @private
     */
    checkAllowedInteractions(interaction: string, annotation: any): boolean;
    /**
     * @param menuObj
     * @private
     */
    checkContextMenuDeleteItem(menuObj: any): void;
    /**
     * @private
     */
    isEnableDelete(): boolean;
    /**
     * @private
     */
    findCurrentAnnotation(): any;
    /**
     * @param annotation
     * @private
     */
    updateAnnotationAllowedInteractions(annotation: any): any;
    /**
     * @param annotation
     * @private
     */
    checkIsLockSettings(annotation: any): boolean;
    private checkLockSettings;
    /**
     * @private
     */
    restrictContextMenu(): boolean;
    private checkAllowedInteractionSettings;
    /**
     * @param value
     * @param type
     * @param value
     * @param type
     * @private
     */
    getValue(value?: string, type?: string): string;
    private convertRgbToNumberArray;
    private convertToRgbString;
    private convertToHsvString;
    private roundValue;
    private hexToRgb;
    private rgbToHsv;
    private hsvToRgb;
    private rgbToHex;
    /**
     * @param dataFormat
     * @private
     */
    exportAnnotationsAsStream(dataFormat: AnnotationDataFormat): Promise<object>;
    private hex;
    /**
     * @param obj
     * @private
     */
    cloneObject(obj: any): any;
    /**
     * @private
     */
    destroy(): void;
    /**
     * @private
     */
    getModuleName(): string;
    /**
     * Get vertex points properties
     * @private
     */
    getVertexPointsXY(points: any): any;
    /**
     * Method used to add annotations using program.
     *
     * @param annotationType - It describes type of annotation object.
     * @param options -  It describes about the annotation objects and it's property.
     * @param dynamicStampItem - It describe which type of dynamic stamp.
     * @param signStampItem - It describe which type of sign stamp.
     * @param standardBusinessStampItem - It describe which type of standard business stamp.
     * @returns void
     */
    addAnnotation(annotationType: AnnotationType, options?: FreeTextSettings | StickyNotesSettings | HighlightSettings | UnderlineSettings | LineSettings | StrikethroughSettings | RectangleSettings | CircleSettings | ArrowSettings | PolygonSettings | DistanceSettings | PerimeterSettings | AreaSettings | RadiusSettings | VolumeSettings | InkAnnotationSettings | StampSettings | CustomStampSettings, dynamicStampItem?: DynamicStampItem, signStampItem?: SignStampItem, standardBusinessStampItem?: StandardBusinessStampItem): void;
    /**
     * @param annotation
     * @private
     */
    triggerAnnotationAddEvent(annotation: PdfAnnotationBaseModel): void;
    /**
     * @private
     */
    triggerAnnotationUnselectEvent(): void;
    /**
     * @private
    */
    updateFontFamilyRenderSize(currentAnnotation: PdfAnnotationBaseModel, currentValue: any): void;
    private updateCanvas;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/annotation/free-text-annotation.d.ts
/**
 * @hidden
 */
export interface IFreeTextAnnotation {
    shapeAnnotationType: string;
    author: string;
    modifiedDate: string;
    subject: string;
    note: string;
    opacity: number;
    bounds: any;
    thickness: number;
    borderStyle: string;
    borderDashArray: number;
    rotateAngle: string;
    isLocked: boolean;
    id: string;
    annotName: string;
    position?: string;
    fillColor: string;
    strokeColor: string;
    dynamicText: string;
    fontColor: string;
    fontSize: number;
    fontFamily: string;
    textAlign: string;
    font: any;
    comments: ICommentsCollection[];
    review: IReviewCollection;
    annotationSelectorSettings: AnnotationSelectorSettingsModel;
    annotationSettings?: any;
    allowedInteractions?: AllowedInteraction;
    isCommentLock: boolean;
    isReadonly: boolean;
}
/**
 * @hidden
 */
export  class FreeTextAnnotation {
    private pdfViewer;
    private pdfViewerBase;
    /**
     * @private
     */
    currentAnnotationMode: string;
    /**
     * @private
     */
    opacity: number;
    /**
     * @private
     */
    borderColor: string;
    /**
     * @private
     */
    borderWidth: number;
    /**
     * @private
     */
    defautWidth: number;
    /**
     * @private
     */
    defaultHeight: number;
    /**
     * @private
     */
    inputBoxElement: any;
    /**
     * @private
     */
    borderStyle: string;
    /**
     * @private
     */
    author: string;
    /**
     * @private
     */
    isNewFreeTextAnnot: boolean;
    /**
     * @private
     */
    isNewAddedAnnot: boolean;
    /**
     * @private
     */
    inputBoxCount: number;
    /**
     * @private
     */
    selectedAnnotation: PdfAnnotationBaseModel;
    /**
     * @private
     */
    isFreeTextValueChange: boolean;
    /**
     * @private
     */
    isAddAnnotationProgramatically: boolean;
    /**
     * @private
     */
    isInuptBoxInFocus: boolean;
    /**
     * @private
     */
    fontSize: number;
    /**
     * @private
     */
    annodationIntent: string;
    /**
     * @private
     */
    annotationFlags: string;
    /**
     * @private
     */
    fillColor: string;
    /**
     * @private
     */
    fontColor: string;
    /**
     * @private
     */
    fontFamily: string;
    /**
     * @private
     */
    freeTextPageNumbers: any;
    /**
     * @private
     */
    selectedText: string;
    /**
     * @private
     */
    isTextSelected: boolean;
    private selectionStart;
    private selectionEnd;
    /**
     * @private
     */
    isBold: boolean;
    /**
     * @private
     */
    isItalic: boolean;
    /**
     * @private
     */
    isUnderline: boolean;
    /**
     * @private
     */
    isStrikethrough: boolean;
    /**
     * @private
     */
    textAlign: string;
    private defaultText;
    private isReadonly;
    private isMaximumWidthReached;
    private padding;
    private wordBreak;
    /**
     * @private
     */
    previousText: string;
    /**
     * @private
     */
    currentPosition: any;
    constructor(pdfviewer: PdfViewer, pdfViewerBase: PdfViewerBase);
    /**
     * @private
     */
    updateTextProperties(): void;
    /**
     * @param shapeAnnotations
     * @param pageNumber
     * @param isImportAction
     * @private
     */
    renderFreeTextAnnotations(shapeAnnotations: any, pageNumber: number, isImportAction?: boolean): void;
    /**
     * @param annotation
     * @private
     */
    getSettings(annotation: any): any;
    /**
     * @param type
     * @private
     */
    setAnnotationType(type: AnnotationType): void;
    /**
     * @param property
     * @param pageNumber
     * @param annotationBase
     * @param isNewAdded
     * @param property
     * @param pageNumber
     * @param annotationBase
     * @param isNewAdded
     * @param property
     * @param pageNumber
     * @param annotationBase
     * @param isNewAdded
     * @param property
     * @param pageNumber
     * @param annotationBase
     * @param isNewAdded
     * @private
     */
    modifyInCollection(property: string, pageNumber: number, annotationBase: any, isNewAdded?: boolean): IFreeTextAnnotation;
    /**
     * @param pageNumber
     * @param annotationBase
     * @private
     */
    addInCollection(pageNumber: number, annotationBase: IFreeTextAnnotation): void;
    /**
     * @private
     */
    saveFreeTextAnnotations(): string;
    private getRotationValue;
    private getBoundsBasedOnRotation;
    private manageAnnotations;
    private getAnnotations;
    private getRgbCode;
    /**
     * @private
     */
    onFocusOutInputBox(): void;
    /**
     * @param event
     * @private
     */
    onKeyDownInputBox(event: KeyboardEvent): void;
    private updateFreeTextAnnotationSize;
    /**
     * @param event
     * @private
     */
    autoFitFreeText(xPosition?: number, yPosition?: number): void;
    /**
     * @param event
     * @private
     */
    onMouseUpInputBox(event: MouseEvent): void;
    /**
     * @param currentPosition
     * @param annotation
     * @param pageIndex
     * @private
     */
    addInuptElemet(currentPosition: drawings.PointModel, annotation?: PdfAnnotationBaseModel, pageIndex?: number): void;
    private applyFreetextStyles;
    /**
     * @private
     */
    copySelectedText(): void;
    /**
     * @param target
     * @private
     */
    pasteSelectedText(target: any): void;
    /**
     * @param target
     * @private
     */
    cutSelectedText(target: any): void;
    /**
     * @param shapeAnnotations
     * @param pageNumber
     * @private
     */
    saveImportedFreeTextAnnotations(shapeAnnotations: any, pageNumber: number): void;
    /**
     * @param shapeAnnotations
     * @param pageNumber
     * @private
     */
    updateFreeTextAnnotationCollections(shapeAnnotations: any, pageNumber: number): void;
    /**
     * This method used to add annotations with using program.
     *
     * @param annotationType - It describes type of annotation
     * @param offset - It describes about the annotation bounds
     * @returns Object
     * @private
     */
    updateAddAnnotationDetails(annotationObject: FreeTextSettings, offset: IPoint): Object;
    /**
     * This method used to get the padding.
    */
    private getPaddingValues;
    /**
     * @private
     * This method used tp get the current position of x and y.
    */
    addInputInZoom(currentPosition: any): void;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/annotation/index.d.ts
/**
 * export types
 */
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/annotation/ink-annotation.d.ts
export  class InkAnnotation {
    private pdfViewer;
    private pdfViewerBase;
    newObject: any;
    /**
     * @private
     */
    outputString: string;
    /**
     * @private
     */
    mouseX: number;
    /**
     * @private
     */
    mouseY: number;
    /**
     * @private
     */
    inkAnnotationindex: any;
    /**
     * @private
     */
    isAddAnnotationProgramatically: boolean;
    /**
     * @private
     */
    currentPageNumber: string;
    constructor(pdfViewer: PdfViewer, pdfViewerBase: PdfViewerBase);
    /**
     * @private
     */
    drawInk(): void;
    drawInkAnnotation(pageNumber?: number): void;
    /**
     * @private
     */
    storePathData(): void;
    /**
     * @param position
     * @param pageIndex
     * @private
     */
    drawInkInCanvas(position: any, pageIndex: number): void;
    private convertToPath;
    private linePath;
    private movePath;
    /**
     * @param pageNumber
     * @private
     */
    addInk(pageNumber?: number): any;
    /**
     * @private
     */
    setAnnotationMode(): void;
    saveInkSignature(): string;
    /**
     * @param pageNumber
     * @param annotationBase
     * @param pageNumber
     * @param annotationBase
     * @private
     */
    addInCollection(pageNumber: number, annotationBase: any): void;
    private calculateInkSize;
    /**
     * @param annotationCollection
     * @param pageIndex
     * @param isImport
     * @private
     */
    renderExistingInkSignature(annotationCollection: any, pageIndex: number, isImport: boolean): void;
    /**
     * @private
     */
    saveImportedInkAnnotation(annotation: any, pageNumber: number): any;
    private getSettings;
    /**
     * @param pageNumber
     * @param annotations
     * @private
     */
    storeInkSignatureData(pageNumber: number, annotations: any): void;
    getSelector(type: string, subject: string): AnnotationSelectorSettingsModel;
    private getAnnotations;
    /**
     * @param property
     * @param pageNumber
     * @param annotationBase
     * @param property
     * @param pageNumber
     * @param annotationBase
     * @private
     */
    modifySignatureInkCollection(property: string, pageNumber: number, annotationBase: any): any;
    private manageInkAnnotations;
    /**
     * @param currentAnnotation
     * @param pageIndex
     * @param isImport
     * @param currentAnnotation
     * @param pageIndex
     * @param isImport
     * @private
     */
    updateInkCollections(currentAnnotation: any, pageIndex: number, isImport?: boolean): any;
    /**
     * This method used to add annotations with using program.
     *
     * @param annotationObject - It describes type of annotation object
     * @param offset - It describes about the annotation bounds or location
     * @param pageNumber - It describes about the annotation page number
     * @returns Object
     * @private
     */
    updateAddAnnotationDetails(annotationObject: InkAnnotationSettings, offset: IPoint, pageNumber: number): Object;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/annotation/input-element.d.ts
/**
 * @hidden
 */
export  class InputElement {
    private pdfViewer;
    private pdfViewerBase;
    /**
     * @private
     */
    inputBoxElement: any;
    /**
     * @private
     */
    isInFocus: boolean;
    /**
     * @private
     */
    maxHeight: number;
    /**
     * @private
     */
    maxWidth: number;
    /**
     * @private
     */
    fontSize: number;
    constructor(pdfviewer: PdfViewer, pdfViewerBase: PdfViewerBase);
    /**
     * @param currentPosition
     * @param annotation
     * @private
     */
    editLabel(currentPosition: drawings.PointModel, annotation: PdfAnnotationBaseModel): void;
    /**
     * @private
     */
    onFocusOutInputBox(): void;
    /**
     * @param bounds
     * @param pageIndex
     * @param bounds
     * @param pageIndex
     * @private
     */
    calculateLabelBounds(bounds: any, pageIndex?: number): any;
    /**
     * @param bounds
     * @private
     */
    calculateLabelBoundsFromLoadedDocument(bounds: any): any;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/annotation/link-annotation.d.ts
/**
 * The `LinkAnnotation` module is used to handle link annotation actions of PDF viewer.
 *
 * @hidden
 */
export  class LinkAnnotation {
    private pdfViewer;
    private pdfViewerBase;
    /**
     * @private
     */
    linkAnnotation: number[];
    /**
     * @private
     */
    linkPage: number[];
    /**
     * @private
     */
    annotationY: number[];
    /**
     * @param pdfViewer
     * @param viewerBase
     * @param pdfViewer
     * @param viewerBase
     * @private
     */
    constructor(pdfViewer: PdfViewer, viewerBase: PdfViewerBase);
    /**
     * @param data
     * @param pageIndex
     * @param data
     * @param pageIndex
     * @private
     */
    renderHyperlinkContent(data: any, pageIndex: number): void;
    /**
     * @private
     */
    disableHyperlinkNavigationUnderObjects(eventTarget: HTMLElement, evt: MouseEvent | TouchEvent, element: any): void;
    private renderWebLink;
    private triggerHyperlinkEvent;
    private renderDocumentLink;
    private setHyperlinkProperties;
    /**
     * @param pageNumber
     * @param isAdd
     * @param pageNumber
     * @param isAdd
     * @private
     */
    modifyZindexForTextSelection(pageNumber: number, isAdd: boolean): void;
    /**
     * @param element
     * @param isAdd
     * @param element
     * @param isAdd
     * @private
     */
    modifyZindexForHyperlink(element: HTMLElement, isAdd: boolean): void;
    /**
     * @private
     */
    destroy(): void;
    /**
     * @private
     */
    getModuleName(): string;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/annotation/measure-annotation.d.ts
/**
 * @hidden
 */
export interface IMeasureShapeAnnotation {
    shapeAnnotationType: string;
    author: string;
    modifiedDate: string;
    subject: string;
    note: string;
    strokeColor: string;
    fillColor: string;
    opacity: number;
    bounds: IRectangle;
    thickness: number;
    borderStyle: string;
    borderDashArray: number;
    rotateAngle: string;
    isCloudShape: boolean;
    cloudIntensity: number;
    vertexPoints: drawings.PointModel[];
    lineHeadStart: string;
    lineHeadEnd: string;
    rectangleDifference: string[];
    isLocked: boolean;
    caption: boolean;
    captionPosition: string;
    leaderLineExtension: number;
    leaderLength: number;
    leaderLineOffset: number;
    indent: string;
    calibrate: any;
    id: string;
    annotName: string;
    comments: ICommentsCollection[];
    review: IReviewCollection;
    enableShapeLabel: boolean;
    labelContent: string;
    labelFillColor: string;
    labelBorderColor: string;
    fontColor: string;
    fontSize: number;
    labelBounds: IRectangle;
    annotationSelectorSettings: AnnotationSelectorSettingsModel;
    labelSettings?: ShapeLabelSettingsModel;
    annotationSettings?: any;
    customData: object;
    allowedInteractions?: AllowedInteraction;
    isPrint: boolean;
    isCommentLock: boolean;
    isAnnotationRotated: boolean;
}
/**
 * @hidden
 */
export interface IMeasure {
    ratio: string;
    x?: INumberFormat[];
    distance?: INumberFormat[];
    area?: INumberFormat[];
    angle?: INumberFormat[];
    volume?: INumberFormat[];
    targetUnitConversion?: number;
    depth?: number;
}
/**
 * @hidden
 */
export interface INumberFormat {
    unit: string;
    conversionFactor: number;
    fractionalType: string;
    denominator: number;
    formatDenominator: boolean;
}
/**
 * @hidden
 */
export  class MeasureAnnotation {
    private pdfViewer;
    private pdfViewerBase;
    /**
     * @private
     */
    currentAnnotationMode: string;
    /**
     * @private
     */
    distanceOpacity: number;
    /**
     * @private
     */
    perimeterOpacity: number;
    /**
     * @private
     */
    areaOpacity: number;
    /**
     * @private
     */
    radiusOpacity: number;
    /**
     * @private
     */
    volumeOpacity: number;
    /**
     * @private
     */
    distanceFillColor: string;
    /**
     * @private
     */
    perimeterFillColor: string;
    /**
     * @private
     */
    areaFillColor: string;
    /**
     * @private
     */
    radiusFillColor: string;
    /**
     * @private
     */
    volumeFillColor: string;
    /**
     * @private
     */
    distanceStrokeColor: string;
    /**
     * @private
     */
    perimeterStrokeColor: string;
    /**
     * @private
     */
    areaStrokeColor: string;
    /**
     * @private
     */
    radiusStrokeColor: string;
    /**
     * @private
     */
    volumeStrokeColor: string;
    /**
     * @private
     */
    distanceThickness: number;
    /**
     * @private
     */
    leaderLength: number;
    /**
     * @private
     */
    perimeterThickness: number;
    /**
     * @private
     */
    areaThickness: number;
    /**
     * @private
     */
    radiusThickness: number;
    /**
     * @private
     */
    volumeThickness: number;
    /**
     * @private
     */
    distanceDashArray: number;
    /**
     * @private
     */
    distanceStartHead: LineHeadStyle;
    /**
     * @private
     */
    distanceEndHead: LineHeadStyle;
    /**
     * @private
     */
    perimeterDashArray: number;
    /**
     * @private
     */
    perimeterStartHead: LineHeadStyle;
    /**
     * @private
     */
    perimeterEndHead: LineHeadStyle;
    private unit;
    /**
     * @private
     */
    displayUnit: CalibrationUnit;
    /**
     * @private
     */
    measureShapeCount: number;
    /**
     * @private
     */
    volumeDepth: number;
    /**
     * @private
     */
    isAddAnnotationProgramatically: boolean;
    private ratio;
    private scaleRatioString;
    private scaleRatioDialog;
    private sourceTextBox;
    private convertUnit;
    private destTextBox;
    private dispUnit;
    private depthTextBox;
    private depthUnit;
    constructor(pdfviewer: PdfViewer, pdfViewerBase: PdfViewerBase);
    /**
     * @private
     */
    readonly pixelToPointFactor: number;
    /**
     * @param shapeAnnotations
     * @param pageNumber
     * @param isImportAction
     * @param shapeAnnotations
     * @param pageNumber
     * @param isImportAction
     * @private
     */
    renderMeasureShapeAnnotations(shapeAnnotations: any, pageNumber: number, isImportAction?: boolean): void;
    /**
     * @param annotation
     * @private
     */
    getSettings(annotation: any): any;
    /**
     * @param type
     * @private
     */
    setAnnotationType(type: AnnotationType): void;
    private updateMeasureproperties;
    private createAnnotationObject;
    private getSelector;
    private getShapeAnnotType;
    private getShapeType;
    private getMeasureType;
    private getIndent;
    private getNumberFormatArray;
    private createNumberFormat;
    /**
     * @private
     */
    saveMeasureShapeAnnotations(): string;
    /**
     * @private
     */
    createScaleRatioWindow(): void;
    private createRatioUI;
    private convertUnitSelect;
    private dispUnitSelect;
    private depthUnitSelect;
    private createContent;
    private createInputElement;
    /**
     * @private
     */
    onOkClicked(): void;
    private restoreUnit;
    /**
     * @param ratio
     * @param displayUnit
     * @param conversionUnit
     * @param depth
     * @private
     */
    updateMeasureValues(ratio: string, displayUnit: CalibrationUnit, conversionUnit: CalibrationUnit, depth: number): void;
    private getAnnotationBaseModel;
    private getContent;
    /**
     * @param value
     * @param currentAnnot
     * @private
     */
    setConversion(value: number, currentAnnot: any): string;
    private onCancelClicked;
    /**
     * @param property
     * @param pageNumber
     * @param annotationBase
     * @param isNewlyAdded
     * @param property
     * @param pageNumber
     * @param annotationBase
     * @param isNewlyAdded
     * @param property
     * @param pageNumber
     * @param annotationBase
     * @param isNewlyAdded
     * @param property
     * @param pageNumber
     * @param annotationBase
     * @param isNewlyAdded
     * @private
     */
    modifyInCollection(property: string, pageNumber: number, annotationBase: any, isNewlyAdded?: boolean): IMeasureShapeAnnotation;
    /**
     * @param pageNumber
     * @param annotationBase
     * @param pageNumber
     * @param annotationBase
     * @private
     */
    addInCollection(pageNumber: number, annotationBase: IMeasureShapeAnnotation): void;
    private manageAnnotations;
    private getAnnotations;
    private getCurrentObject;
    private getCurrentValues;
    private getCurrentRatio;
    /**
     * @param points
     * @param id
     * @param pageNumber
     * @param points
     * @param id
     * @param pageNumber
     * @param points
     * @param id
     * @param pageNumber
     * @private
     */
    calculateArea(points: drawings.PointModel[], id?: string, pageNumber?: number): string;
    private getArea;
    /**
     * @param points
     * @param id
     * @param pageNumber
     * @param points
     * @param id
     * @param pageNumber
     * @param points
     * @param id
     * @param pageNumber
     * @private
     */
    calculateVolume(points: drawings.PointModel[], id?: string, pageNumber?: number): string;
    /**
     * @param pdfAnnotationBase
     * @private
     */
    calculatePerimeter(pdfAnnotationBase: PdfAnnotationBaseModel): string;
    private getFactor;
    private convertPointToUnits;
    private convertUnitToPoint;
    private getStringifiedMeasure;
    private getRgbCode;
    /**
     * @param annotation
     * @param pageNumber
     * @param annotation
     * @param pageNumber
     * @private
     */
    saveImportedMeasureAnnotations(annotation: any, pageNumber: number): any;
    /**
     * @param annotation
     * @param pageNumber
     * @private
     */
    updateMeasureAnnotationCollections(annotation: any, pageNumber: number): any;
    /**
    * This method used to add annotations with using program.
    *
    * @param annotationType - It describes the annotation type
    * @param annotationObject - It describes type of annotation object
    * @param offset - It describes about the annotation bounds or location
    * @returns Object
    * @private
    */
    updateAddAnnotationDetails(annotationType: AnnotationType, annotationObject: any, offset: IPoint): Object;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/annotation/shape-annotation.d.ts
/**
 * @hidden
 */
export interface IShapeAnnotation {
    shapeAnnotationType: string;
    author: string;
    modifiedDate: string;
    subject: string;
    note: string;
    strokeColor: string;
    fillColor: string;
    opacity: number;
    bounds: IRectangle;
    thickness: number;
    borderStyle: string;
    borderDashArray: number;
    rotateAngle: string;
    isCloudShape: boolean;
    cloudIntensity: number;
    vertexPoints: drawings.PointModel[];
    lineHeadStart: string;
    lineHeadEnd: string;
    rectangleDifference: string[];
    isLocked: boolean;
    id: string;
    comments: ICommentsCollection[];
    review: IReviewCollection;
    annotName: string;
    position?: string;
    pageNumber: number;
    enableShapeLabel: boolean;
    labelContent: string;
    labelFillColor: string;
    labelBorderColor: string;
    fontColor: string;
    fontSize: number;
    labelBounds: IRectangle;
    annotationSelectorSettings: AnnotationSelectorSettingsModel;
    labelSettings?: ShapeLabelSettingsModel;
    annotationSettings?: any;
    customData: object;
    allowedInteractions?: AllowedInteraction;
    isPrint: boolean;
    isCommentLock: boolean;
    isAnnotationRotated: boolean;
}
/**
 * @hidden
 */
export  class ShapeAnnotation {
    private pdfViewer;
    private pdfViewerBase;
    /**
     * @private
     */
    currentAnnotationMode: string;
    /**
     * @private
     */
    lineOpacity: number;
    /**
     * @private
     */
    arrowOpacity: number;
    /**
     * @private
     */
    rectangleOpacity: number;
    /**
     * @private
     */
    circleOpacity: number;
    /**
     * @private
     */
    polygonOpacity: number;
    /**
     * @private
     */
    lineFillColor: string;
    /**
     * @private
     */
    arrowFillColor: string;
    /**
     * @private
     */
    rectangleFillColor: string;
    /**
     * @private
     */
    circleFillColor: string;
    /**
     * @private
     */
    polygonFillColor: string;
    /**
     * @private
     */
    lineStrokeColor: string;
    /**
     * @private
     */
    arrowStrokeColor: string;
    /**
     * @private
     */
    rectangleStrokeColor: string;
    /**
     * @private
     */
    circleStrokeColor: string;
    /**
     * @private
     */
    polygonStrokeColor: string;
    /**
     * @private
     */
    lineThickness: number;
    /**
     * @private
     */
    arrowThickness: number;
    /**
     * @private
     */
    rectangleThickness: number;
    /**
     * @private
     */
    circleThickness: number;
    /**
     * @private
     */
    polygonThickness: number;
    /**
     * @private
     */
    lineDashArray: number;
    /**
     * @private
     */
    lineStartHead: LineHeadStyle;
    /**
     * @private
     */
    lineEndHead: LineHeadStyle;
    /**
     * @private
     */
    arrowDashArray: number;
    /**
     * @private
     */
    arrowStartHead: LineHeadStyle;
    /**
     * @private
     */
    arrowEndHead: LineHeadStyle;
    /**
     * @private
     */
    shapeCount: number;
    /**
     * @private
     */
    isAddAnnotationProgramatically: boolean;
    constructor(pdfviewer: PdfViewer, pdfViewerBase: PdfViewerBase);
    /**
     * @param shapeAnnotations
     * @param pageNumber
     * @param isImportAcion
     * @private
     */
    renderShapeAnnotations(shapeAnnotations: any, pageNumber: number, isImportAcion?: boolean): void;
    /**
     * @param annotation
     * @private
     */
    getSettings(annotation: any): any;
    /**
     * @param type
     * @private
     */
    setAnnotationType(type: AnnotationType): void;
    private updateShapeProperties;
    private setShapeType;
    private getShapeType;
    private getShapeAnnotType;
    /**
     * @param property
     * @param pageNumber
     * @param annotationBase
     * @param property
     * @param pageNumber
     * @param annotationBase
     * @param property
     * @param pageNumber
     * @param annotationBase
     * @private
     */
    modifyInCollection(property: string, pageNumber: number, annotationBase: any): IShapeAnnotation;
    /**
     * @param pageNumber
     * @param annotationBase
     * @param pageNumber
     * @param annotationBase
     * @private
     */
    addInCollection(pageNumber: number, annotationBase: IShapeAnnotation): void;
    /**
     * @private
     */
    saveShapeAnnotations(): string;
    private manageAnnotations;
    private createAnnotationObject;
    private getSelector;
    private getAnnotations;
    private getRgbCode;
    /**
     * @param annotation
     * @param pageNumber
     * @param annotation
     * @param pageNumber
     * @private
     */
    saveImportedShapeAnnotations(annotation: any, pageNumber: number): any;
    /**
     * @param annotation
     * @param pageNumber
     * @param annotation
     * @param pageNumber
     * @private
     */
    updateShapeAnnotationCollections(annotation: any, pageNumber: number): any;
    /**
     * This method used to add annotations with using program.
     *
     * @param annotationType - It describes the annotation type
     * @param annotationObject - It describes type of annotation object
     * @param offset - It describes about the annotation bounds or location
     * @returns Object
     * @private
     */
    updateAddAnnotationDetails(annotationType: AnnotationType, annotationObject: any, offset: IPoint): Object;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/annotation/stamp-annotation.d.ts
/**
 * @hidden
 */
export interface IStampAnnotation {
    stampAnnotationPath: string;
    author: string;
    creationDate: string;
    modifiedDate: string;
    subject: string;
    note: string;
    strokeColor: string;
    fillColor: string;
    opacity: number;
    bounds: IRectangles;
    icon: string;
    pageNumber: number;
    rotateAngle: string;
    randomId: string;
    stampAnnotationType: string;
    stampFillcolor: string;
    isDynamicStamp: boolean;
    dynamicText?: string;
    shapeAnnotationType: string;
    comments: ICommentsCollection[];
    review: IReviewCollection;
    annotName: string;
    position?: string;
    annotationSelectorSettings: AnnotationSelectorSettingsModel;
    annotationSettings?: any;
    customData: object;
    allowedInteractions?: AllowedInteraction;
    isPrint: boolean;
    isCommentLock: boolean;
    isMaskedImage: boolean;
    customStampName: string;
}
interface IRectangles {
    height: number;
    left: number;
    top: number;
    width: number;
}
/**
 * The `StampAnnotation` module is used to handle annotation actions of PDF viewer.
 *
 * @hidden
 */
export  class StampAnnotation {
    private pdfViewer;
    private pdfViewerBase;
    private author;
    /**
     * @private
     */
    currentStampAnnotation: any;
    /**
     * @private
     */
    isStampAnnotSelected: boolean;
    /**
     * @private
     */
    isStampAddMode: boolean;
    /**
     * @private
     */
    isNewStampAnnot: boolean;
    private isExistingStamp;
    /**
     * @private
     */
    stampPageNumber: any;
    /**
     * @private
     */
    isAddAnnotationProgramatically: boolean;
    /**
     * @private
     */
    customStampName: string;
    private dynamicText;
    constructor(pdfviewer: PdfViewer, pdfViewerBase: PdfViewerBase);
    /**
     * @param stampAnnotations
     * @param pageNumber
     * @param canvass
     * @param isImport
     * @private
     */
    renderStampAnnotations(stampAnnotations: any, pageNumber: number, canvass?: any, isImport?: boolean): void;
    /**
     * @private
     */
    moveStampElement(X: number, Y: number, pageIndex: number): PdfAnnotationBase;
    private ConvertPointToPixel;
    private calculateImagePosition;
    /**
     * @private
     */
    createCustomStampAnnotation(imageSource: any, annotName?: string): void;
    /**
     * @private
     */
    renderStamp(X: number, Y: number, width: number, height: number, pageIndex: number, opacity: number, rotation: any, canvass: any, existingAnnotation: any, isDynamic?: any): any;
    /**
     * @private
     */
    getSettings(annotation: any): any;
    /**
     * @private
     */
    resetAnnotation(): void;
    /**
     * @private
     */
    updateDeleteItems(pageNumber: number, annotation: any, opacity?: number): any;
    /**
     * @private
     */
    renderCustomImage(position: any, pageIndex: any, image: any, currentDate: any, modifiedDate: any, RotationAngle: any, opacity: any, canvas?: any, isExistingStamp?: boolean, annotation?: any, annotName?: string): void;
    /**
     * @private
     */
    retrieveDynamicStampAnnotation(icontype: any): any;
    /**
     * @private
     */
    retrievestampAnnotation(icontype: any): any;
    /**
     * @private
     */
    saveStampAnnotations(): any;
    /**
     * @private
     */
    storeStampInSession(pageNumber: number, annotation: IStampAnnotation): any;
    /**
     * @private
     */
    updateSessionStorage(annotation: any, id: any, type: String): any;
    /**
     * @private
     */
    saveImportedStampAnnotations(annotation: any, pageNumber: number): any;
    /**
     * @private
     */
    updateStampAnnotationCollections(annotation: any, pageNumber: number): any;
    stampImageData(annot: any): boolean;
    private findImageData;
    private findDynamicText;
    private getAnnotations;
    /**
     * @private
     */
    modifyInCollection(property: string, pageNumber: number, annotationBase: any): IStampAnnotation;
    private manageAnnotations;
    /**
     * This method used to add annotations with using programmatically.
     *
     * @param annotationObject - It describes type of annotation object
     * @param offset - It describes about the annotation bounds or location
     * @param pageNumber - It describes about the annotation page number
     * @param dynamicStampItem - It describe which type of dynamic stamp
     * @param signStampItem - It describe which type of sign stamp
     * @param standardBusinessStampItem - It describe which type of standard business stamp
     * @returns Object
     * @private
     */
    updateAddAnnotationDetails(annotationObject: any, offset: IPoint, pageNumber: number, dynamicStampItem?: DynamicStampItem, signStampItem?: SignStampItem, standardBusinessStampItem?: StandardBusinessStampItem): Object;
    /**
     * @private
    */
    triggerAnnotationAdd(annot: any, annotation: any): void;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/annotation/sticky-notes-annotation.d.ts
/**
 * @hidden
 */
export interface IPopupAnnotation {
    shapeAnnotationType: string;
    pathData: string;
    author: string;
    subject: string;
    modifiedDate: string;
    note: string;
    bounds: any;
    color: any;
    opacity: number;
    state: string;
    stateModel: string;
    comments: ICommentsCollection[];
    review: IReviewCollection;
    annotName: string;
    pageNumber: number;
    annotationSelectorSettings: AnnotationSelectorSettingsModel;
    customData: object;
    annotationSettings: any;
    allowedInteractions: AllowedInteraction;
    isPrint: boolean;
    isCommentLock: boolean;
}
/**
 * @hidden
 */
export interface ICommentsCollection {
    author: string;
    modifiedDate: string;
    annotName: string;
    subject: string;
    parentId: string;
    note: string;
    state: string;
    stateModel: string;
    comments: ICommentsCollection[];
    review: IReviewCollection;
    shapeAnnotationType: string;
    position?: number;
    isLock: boolean;
}
/**
 * @hidden
 */
export interface IReviewCollection {
    author: string;
    state: string;
    stateModel: string;
    modifiedDate: string;
    annotId?: string;
}
/**
 * StickyNotes module
 */
export  class StickyNotesAnnotation {
    private pdfViewer;
    private pdfViewerBase;
    private accordionContent;
    private accordionPageContainer;
    private accordionContentContainer;
    private commentsContainer;
    private commentMenuObj;
    private commentsCount;
    private commentsreplyCount;
    private commentContextMenu;
    private isAccordionContainer;
    private isSetAnnotationType;
    private isNewcommentAdded;
    private isCreateContextMenu;
    private commentsRequestHandler;
    private selectAnnotationObj;
    private isCommentsSelected;
    /**
     * @private
     */
    isAddAnnotationProgramatically: boolean;
    /**
     * @private
     */
    isEditableElement: boolean;
    /**
     * @private
     */
    accordionContainer: HTMLElement;
    /**
     * @private
     */
    mainContainer: HTMLElement;
    /**
     * @private
     */
    opacity: number;
    private isPageCommentsRendered;
    private isCommentsRendered;
    /**
     * @private
     */
    isAnnotationRendered: boolean;
    private globalize;
    /**
     * @param pdfViewer
     * @param pdfViewerBase
     * @param pdfViewer
     * @param pdfViewerBase
     * @private
     */
    constructor(pdfViewer: PdfViewer, pdfViewerBase: PdfViewerBase);
    /**
     * @param stickyAnnotations
     * @param pageNumber
     * @param canvas
     * @private
     */
    renderStickyNotesAnnotations(stickyAnnotations: any, pageNumber: number, canvas?: any): void;
    /**
     * @param annotation
     * @private
     */
    getSettings(annotation: any): any;
    /**
     * @param X
     * @param Y
     * @param width
     * @param height
     * @param pageIndex
     * @param annotation
     * @param canvas
     * @param X
     * @param Y
     * @param width
     * @param height
     * @param pageIndex
     * @param annotation
     * @param canvas
     * @param X
     * @param Y
     * @param width
     * @param height
     * @param pageIndex
     * @param annotation
     * @param canvas
     * @private
     */
    drawStickyNotes(X: number, Y: number, width: number, height: number, pageIndex: number, annotation: any, canvas?: any): any;
    private setImageSource;
    /**
     * @private
     */
    createRequestForComments(): void;
    /**
     * @param excistingAnnotation
     * @param newAnnotation
     * @private
     */
    updateAnnotationsInDocumentCollections(excistingAnnotation: any, newAnnotation: any): any;
    private updateDocumentAnnotationCollections;
    private renderAnnotationCollections;
    /**
     * @param annotation
     * @param isSignature
     * @param annotation
     * @param isSignature
     * @private
     */
    updateCollections(annotation: any, isSignature?: boolean): void;
    /**
     * @param data
     * @param pageIndex
     * @private
     */
    renderAnnotationComments(data: any, pageIndex: number): void;
    /**
     * @private
     */
    initializeAcccordionContainer(): void;
    /**
     * @private
     */
    updateCommentPanelTextTop(): void;
    /**
     * @param pageIndex
     * @private
     */
    createPageAccordion(pageIndex: number): any;
    private alignAccordionContainer;
    /**
     * @param pageNumber
     * @private
     */
    updateCommentPanelScrollTop(pageNumber: number): void;
    /**
     * @param data
     * @param pageIndex
     * @param type
     * @param annotationSubType
     * @param data
     * @param pageIndex
     * @param type
     * @param annotationSubType
     * @param data
     * @param pageIndex
     * @param type
     * @param annotationSubType
     * @private
     */
    createCommentControlPanel(data: any, pageIndex: number, type?: string, annotationSubType?: string, isReRender?: boolean): string;
    private commentDivFocus;
    private updateScrollPosition;
    private updateCommentsScrollTop;
    /**
     * @param args
     * @private
     */
    createCommentDiv(args: any): void;
    /**
     * @param args
     * @param comment
     * @private
     */
    saveCommentDiv(args: any, comment: any): void;
    private renderComments;
    /**
     * @param data
     * @param pageIndex
     * @param isCopy
     * @param data
     * @param pageIndex
     * @param isCopy
     * @private
     */
    createCommentsContainer(data: any, pageIndex: number, isCopy?: boolean): string;
    private modifyProperty;
    private createTitleContainer;
    private createReplyDivTitleContainer;
    private updateCommentIcon;
    private updateStatusContainer;
    /**
     * @param removeDiv
     * @private
     */
    updateAccordionContainer(removeDiv: HTMLElement): void;
    /**
     * @private
     */
    createCommentContextMenu(): void;
    private contextMenuBeforeOpen;
    private commentMenuItemSelect;
    private moreOptionsClick;
    private openTextEditor;
    private checkIslockProperty;
    private openEditorElement;
    private commentsDivClickEvent;
    private commentsDivDoubleClickEvent;
    private commentDivOnSelect;
    private commentDivMouseOver;
    private commentDivMouseLeave;
    /**
     * @param event
     * @private
     */
    drawIcons(event: any): void;
    /**
     * @param annotationType
     * @param pageNumber
     * @param annotationSubType
     * @param annotationType
     * @param pageNumber
     * @param annotationSubType
     * @param annotationType
     * @param pageNumber
     * @param annotationSubType
     * @private
     */
    addComments(annotationType: string, pageNumber: number, annotationSubType?: string): string;
    private commentsAnnotationSelect;
    private findAnnotationObject;
    private checkAnnotationSettings;
    private updateCommentsContainerWidth;
    /**
     * @param pageIndex
     * @private
     */
    selectCommentsAnnotation(pageIndex: number): void;
    private setAnnotationType;
    private modifyTextProperty;
    /**
     * @param date
     * @private
     */
    getDateAndTime(date?: any): string;
    private modifyCommentsProperty;
    private modifyStatusProperty;
    /**
     * @param commentsElement
     * @param replyElement
     * @private
     */
    modifyCommentDeleteProperty(commentsElement: any, replyElement: any): any;
    /**
     * @param annotation
     * @private
     */
    updateOpacityValue(annotation: any): void;
    /**
     * @param annotation
     * @param isAction
     * @param undoAnnotation
     * @param annotation
     * @param isAction
     * @param undoAnnotation
     * @param annotation
     * @param isAction
     * @param undoAnnotation
     * @private
     */
    undoAction(annotation: any, isAction: string, undoAnnotation?: any): any;
    /**
     * @param annotation
     * @param isAction
     * @param undoAnnotation
     * @param annotation
     * @param isAction
     * @param undoAnnotation
     * @private
     */
    redoAction(annotation: any, isAction: string, undoAnnotation?: any): any;
    private updateUndoRedoCollections;
    /**
     * @param pageIndex
     * @param type
     * @private
     */
    addAnnotationComments(pageIndex: any, type: string): void;
    /**
     * @param annotation
     * @param type
     * @param action
     * @private
     */
    findPosition(annotation: any, type: string, action?: string): any;
    private getAnnotations;
    private manageAnnotations;
    updateStickyNotes(annotation: any, id: any): any;
    saveStickyAnnotations(): any;
    private deleteStickyNotesAnnotations;
    addStickyNotesAnnotations(pageNumber: number, annotationBase: any): void;
    /**
     * @param annotName
     * @param text
     * @private
     */
    addTextToComments(annotName: string, text: string): void;
    /**
     * @param newAnnotation
     * @param annotation
     * @param isCut
     * @param newAnnotation
     * @param annotation
     * @param isCut
     * @param newAnnotation
     * @param annotation
     * @param isCut
     * @private
     */
    updateAnnotationCollection(newAnnotation: any, annotation: any, isCut: boolean): void;
    private findAnnotationType;
    private setExistingAnnotationModifiedDate;
    private updateModifiedTime;
    private setModifiedDate;
    private convertUTCDateToLocalDate;
    private updateModifiedDate;
    /**
     * @param annotation
     * @param isBounds
     * @param isUndoRedoAction
     * @private
     */
    updateAnnotationModifiedDate(annotation: any, isBounds?: boolean, isUndoRedoAction?: boolean): void;
    /**
     * @param annotation
     * @param pageNumber
     * @param annotation
     * @param pageNumber
     * @private
     */
    saveImportedStickyNotesAnnotations(annotation: any, pageNumber: number): any;
    /**
     * @param annotation
     * @param pageNumber
     * @param annotation
     * @param pageNumber
     * @private
     */
    updateStickyNotesAnnotationCollections(annotation: any, pageNumber: number): any;
    /**
     * @private
     */
    clear(): void;
    /**
     * @private
     */
    getModuleName(): string;
    /**
     * This method used to add annotations with using program.
     *
     * @param annotationObject - It describes type of annotation object
     * @param offset - It describes about the annotation bounds or location
     * @returns Object
     * @private
     */
    updateAddAnnotationDetails(annotationObject: StickyNotesSettings, offset: IPoint): Object;
    /**
     * @private
    */
    private getAnnotationType;
    /**
     * @private
    */
    private getAuthorName;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/annotation/text-markup-annotation.d.ts
/**
 * @hidden
 */
export interface ITextMarkupAnnotation {
    textMarkupAnnotationType: string;
    author: string;
    subject: string;
    modifiedDate: string;
    note: string;
    bounds: any;
    color: any;
    opacity: number;
    rect: any;
    comments: ICommentsCollection[];
    review: IReviewCollection;
    annotName: string;
    shapeAnnotationType: string;
    position?: string;
    pageNumber: number;
    textMarkupContent: string;
    textMarkupStartIndex: number;
    textMarkupEndIndex: number;
    annotationSelectorSettings: AnnotationSelectorSettingsModel;
    customData: object;
    isMultiSelect?: boolean;
    annotNameCollection?: any[];
    annotpageNumbers?: any[];
    annotationAddMode: string;
    annotationSettings?: any;
    allowedInteractions?: AllowedInteraction;
    isPrint: boolean;
    isCommentLock: boolean;
    isAnnotationRotated: boolean;
    annotationRotation?: number;
}
/**
 * @hidden
 */
export interface IPageAnnotationBounds {
    pageIndex: number;
    bounds: IRectangle[];
    rect: any;
    startIndex?: number;
    endIndex?: number;
    textContent?: string;
}
/**
 * The `TextMarkupAnnotation` module is used to handle text markup annotation actions of PDF viewer.
 *
 * @hidden
 */
export  class TextMarkupAnnotation {
    private pdfViewer;
    private pdfViewerBase;
    /**
     * @private
     */
    isTextMarkupAnnotationMode: boolean;
    /**
     * @private
     */
    currentTextMarkupAddMode: string;
    /**
     * @private
     */
    highlightColor: string;
    /**
     * @private
     */
    underlineColor: string;
    /**
     * @private
     */
    strikethroughColor: string;
    /**
     * @private
     */
    highlightOpacity: number;
    /**
     * @private
     */
    underlineOpacity: number;
    /**
     * @private
     */
    annotationAddMode: string;
    /**
     * @private
     */
    strikethroughOpacity: number;
    /**
     * @private
     */
    selectTextMarkupCurrentPage: number;
    /**
     * @private
     */
    currentTextMarkupAnnotation: ITextMarkupAnnotation;
    /**
     * @private
     */
    isAddAnnotationProgramatically: boolean;
    private currentAnnotationIndex;
    private isAnnotationSelect;
    private dropDivAnnotationLeft;
    private dropDivAnnotationRight;
    private dropElementLeft;
    private dropElementRight;
    /**
     * @private
     */
    isDropletClicked: boolean;
    /**
     * @private
     */
    isRightDropletClicked: boolean;
    /**
     * @private
     */
    isLeftDropletClicked: boolean;
    /**
     * @private
     */
    isSelectionMaintained: boolean;
    private isExtended;
    private isNewAnnotation;
    private selectedTextMarkup;
    private multiPageCollection;
    private triggerAddEvent;
    /**
     * @private
     */
    isSelectedAnnotation: boolean;
    private dropletHeight;
    /**
     * @private
     */
    annotationClickPosition: object;
    /**
     * @param pdfViewer
     * @param viewerBase
     * @private
     */
    constructor(pdfViewer: PdfViewer, viewerBase: PdfViewerBase);
    /**
     * @private
     */
    createAnnotationSelectElement(): void;
    private maintainSelection;
    private selectionEnd;
    private annotationLeftMove;
    private annotationRightMove;
    /**
     * @param target
     * @param x
     * @param y
     * @param target
     * @param x
     * @param y
     * @param target
     * @param x
     * @param y
     * @private
     */
    textSelect(target: any, x: any, y: any): void;
    /**
     * @param hide
     * @private
     */
    showHideDropletDiv(hide: boolean): void;
    /**
     * @param type
     * @private
     */
    isEnableTextMarkupResizer(type: string): boolean;
    private updateDropletStyles;
    private updateAnnotationBounds;
    private updateMultiAnnotBounds;
    private retreieveSelection;
    /**
     * @param x
     * @param y
     * @param isSelected
     * @private
     */
    updatePosition(x: number, y: number, isSelected?: boolean): void;
    /**
     * @param x
     * @param y
     * @param isSelected
     * @param x
     * @param y
     * @param isSelected
     * @private
     */
    updateLeftposition(x: number, y: number, isSelected?: boolean): void;
    private getClientValueTop;
    /**
     * @param textMarkupAnnotations
     * @param pageNumber
     * @param isImportTextMarkup
     * @param textMarkupAnnotations
     * @param pageNumber
     * @param isImportTextMarkup
     * @param textMarkupAnnotations
     * @param pageNumber
     * @param isImportTextMarkup
     * @private
     */
    renderTextMarkupAnnotationsInPage(textMarkupAnnotations: any, pageNumber: number, isImportTextMarkup?: boolean): void;
    private renderTextMarkupAnnotations;
    /**
     * @param annotation
     * @private
     */
    getSettings(annotation: any): any;
    /**
     * @param type
     * @private
     */
    drawTextMarkupAnnotations(type: string): void;
    private isMultiPageAnnotations;
    private isMultiAnnotation;
    private modifyCurrentAnnotation;
    private drawAnnotationSelector;
    private selectMultiPageAnnotations;
    private deletMultiPageAnnotation;
    private modifyMultiPageAnnotations;
    private convertSelectionToTextMarkup;
    private updateTextMarkupAnnotationBounds;
    /**
     * @param annotation
     * @private
     */
    multiPageCollectionList(annotation: any): any;
    private updateAnnotationNames;
    private updateAnnotationContent;
    private drawTextMarkups;
    private getAngle;
    private retreiveTextIndex;
    private renderHighlightAnnotation;
    private renderStrikeoutAnnotation;
    private renderUnderlineAnnotation;
    private getProperBounds;
    private drawLine;
    /**
     * @param textMarkupAnnotations
     * @param pageIndex
     * @param stampData
     * @param shapeData
     * @param measureShapeData
     * @param stickyData
     * @param textMarkupAnnotations
     * @param pageIndex
     * @param stampData
     * @param shapeData
     * @param measureShapeData
     * @param stickyData
     * @private
     */
    printTextMarkupAnnotations(textMarkupAnnotations: any, pageIndex: number, stampData: any, shapeData: any, measureShapeData: any, stickyData: any): string;
    /**
     * @private
     */
    saveTextMarkupAnnotations(): string;
    /**
     * @private
     */
    deleteTextMarkupAnnotation(): void;
    /**
     * @param color
     * @private
     */
    modifyColorProperty(color: string): void;
    /**
     * @param args
     * @param isOpacity
     * @private
     */
    modifyOpacityProperty(args: inputs.ChangeEventArgs, isOpacity?: number): void;
    /**
     * @param property
     * @param value
     * @param status
     * @param annotName
     * @private
     */
    modifyAnnotationProperty(property: string, value: any, status: string, annotName?: string): ITextMarkupAnnotation[];
    /**
     * @param annotation
     * @param pageNumber
     * @param index
     * @param action
     * @private
     */
    undoTextMarkupAction(annotation: ITextMarkupAnnotation, pageNumber: number, index: number, action: string): void;
    /**
     * @param annotation
     * @param pageNumber
     * @param index
     * @param property
     * @param isUndoAction
     * @param annotation
     * @param pageNumber
     * @param index
     * @param property
     * @param isUndoAction
     * @param annotation
     * @param pageNumber
     * @param index
     * @param property
     * @param isUndoAction
     * @param annotation
     * @param pageNumber
     * @param index
     * @param property
     * @param isUndoAction
     * @private
     */
    undoRedoPropertyChange(annotation: ITextMarkupAnnotation, pageNumber: number, index: number, property: string, isUndoAction?: boolean): ITextMarkupAnnotation;
    /**
     * @param annotation
     * @param pageNumber
     * @param index
     * @param action
     * @private
     */
    redoTextMarkupAction(annotation: ITextMarkupAnnotation, pageNumber: number, index: number, action: string): void;
    /**
     * @param pageNumber
     * @param note
     * @param pageNumber
     * @param note
     * @private
     */
    saveNoteContent(pageNumber: number, note: string): void;
    private clearCurrentAnnotation;
    /**
     * @param pageNumber
     * @param isSelect
     * @param pageNumber
     * @param isSelect
     * @private
     */
    clearCurrentAnnotationSelection(pageNumber: number, isSelect?: boolean): void;
    private getBoundsForSave;
    private getAnnotationBounds;
    private getRgbCode;
    private getDrawnBounds;
    private getIndexNumbers;
    /**
     * @param pageNumber
     * @private
     */
    rerenderAnnotationsPinch(pageNumber: number): void;
    /**
     * @param pageNumber
     * @private
     */
    rerenderAnnotations(pageNumber: number): void;
    /**
     * @param event
     * @private
     */
    onTextMarkupAnnotationMouseUp(event: MouseEvent): void;
    /**
     * @param event
     * @private
     */
    onTextMarkupAnnotationTouchEnd(event: TouchEvent): void;
    /**
     * @private
     */
    clearCurrentSelectedAnnotation(): void;
    /**
     * @param event
     * @private
     */
    onTextMarkupAnnotationMouseMove(event: MouseEvent): void;
    private showPopupNote;
    private getCurrentMarkupAnnotation;
    private compareCurrentAnnotations;
    /**
     * @param pageNumber
     * @private
     */
    clearAnnotationSelection(pageNumber: number): void;
    /**
     * @param annotation
     * @param canvas
     * @param pageNumber
     * @param event
     * @param isProgrammaticSelection
     * @param annotation
     * @param canvas
     * @param pageNumber
     * @param event
     * @param isProgrammaticSelection
     * @private
     */
    selectAnnotation(annotation: ITextMarkupAnnotation, canvas: HTMLElement, pageNumber?: number, event?: MouseEvent | TouchEvent, isProgrammaticSelection?: boolean): void;
    /**
     * @param annotation
     * @private
     */
    updateCurrentResizerPosition(annotation?: any): void;
    private drawAnnotationSelectRect;
    /**
     * @param isEnable
     * @private
     */
    enableAnnotationPropertiesTool(isEnable: boolean): void;
    /**
     * @private
     */
    maintainAnnotationSelection(): void;
    /**
     * @param pageAnnotations
     * @param pageNumber
     * @private
     */
    manageAnnotations(pageAnnotations: ITextMarkupAnnotation[], pageNumber: number): void;
    /**
     * @param pageIndex
     * @param textMarkupAnnotations
     * @param id
     * @param pageIndex
     * @param textMarkupAnnotations
     * @param id
     * @private
     */
    getAnnotations(pageIndex: number, textMarkupAnnotations: any[], id?: string): any[];
    private getAddedAnnotation;
    private getSelector;
    private getAnnotationSettings;
    private getIsPrintValue;
    private annotationDivSelect;
    private getPageContext;
    private getDefaultValue;
    private getMagnifiedValue;
    /**
     * @param annotation
     * @param pageNumber
     * @private
     */
    saveImportedTextMarkupAnnotations(annotation: any, pageNumber: number): any;
    /**
     * @param annotation
     * @param pageNumber
     * @param annotation
     * @param pageNumber
     * @private
     */
    updateTextMarkupAnnotationCollections(annotation: any, pageNumber: number): any;
    /**
     * @param textMarkUpSettings
     * @private
     */
    updateTextMarkupSettings(textMarkUpSettings: string): any;
    /**
     * @private
     */
    clear(): void;
    /**
     * Get vertex points properties
     * @private
     */
    private getOffsetPoints;
    /**
     * This method used to add annotations with using program.
     *
     * @param annotationType - It describes the annotation type
     * @param annotationObject - It describes type of annotation object
     * @returns Object
     * @private
     */
    updateAddAnnotationDetails(annotationType: AnnotationType, annotationObject: any): Object;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/base/ajax-handler.d.ts
/**
 * @hidden
 */
export  class AjaxHandler {
    /**
     * Specifies the URL to which request to be sent.
     *
     * @default null
     */
    url: string;
    /**
     * Specifies the URL to which request to be sent.
     *
     * @default 'POST'
     */
    type: string;
    /**
     * Specifies the responseType to which request response.
     *
     * @default null
     */
    responseType: XMLHttpRequestResponseType;
    /**
     * A boolean value indicating whether the request should be sent asynchronous or not.
     *
     * @default true
     * @private
     */
    mode: boolean;
    /**
     * Specifies the ContentType to which request to be sent
     *
     * @default null
     * @private
     */
    contentType: string;
    private httpRequest;
    private pdfViewer;
    private retryCount;
    /**
     * Constructor for Ajax class
     * @param  {PdfViewer} pdfviewer - The pdfviewer.
     * @private
     */
    constructor(pdfviewer: PdfViewer);
    /**
     * Send the request to server
     *
     * @param  {object} jsonObj - To send to service
     * @returns {void}
     * @private
     */
    send(jsonObj: object): void;
    /**
     * Clear the http request
     * @returns {void}
     * @private
     */
    clear(): void;
    private resendRequest;
    private sendRequest;
    private addExtraData;
    private stateChange;
    private error;
    /**
     * Specifies callback function to be triggered after XmlHttpRequest is succeeded.
     * The callback will contain server response as the parameter.
     *
     * @event
     * @private
     */
    onSuccess: Function;
    /**
     * Specifies callback function to be triggered after XmlHttpRequest is got failed.
     * The callback will contain server response as the parameter.
     *
     * @event
     * @private
     */
    onFailure: Function;
    /**
     * Specifies callback function to be triggered after XmlHttpRequest is got error.
     * The callback will contain server response as the parameter.
     *
     * @event
     * @private
     */
    onError: Function;
    private successHandler;
    private failureHandler;
    private errorHandler;
    private setCustomAjaxHeaders;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/base/blazor-context-menu.d.ts
/**
 * ContextMenu module is used to handle the context menus used in the control.
 *
 * @hidden
 */
export  class BlazorContextMenu implements IContextMenu {
    /**
     * @private
     */
    contextMenuElement: HTMLElement;
    private pdfViewer;
    private pdfViewerBase;
    currentTarget: any;
    /**
     * @private
     */
    previousAction: string;
    /**
     * Initialize the constructor of blazorcontext
     *
     * @param { PdfViewer } pdfViewer - Specified PdfViewer class.
     * @param { PdfViewerBase } pdfViewerBase - The pdfViewerBase.
     */
    constructor(pdfViewer: PdfViewer, pdfViewerBase: PdfViewerBase);
    /**
     * Create the context menu.
     * @returns {void}
     */
    createContextMenu(): void;
    /**
     * open the context menu.
     * @param {number} top - The top.
     * @param {number} left - The left.
     * @param {HTMLElement} target - The target.
     * @returns {void}
     */
    open(top: number, left: number, target: HTMLElement): void;
    /**
     * close the context menu.
     * @returns {void}
     */
    close(): void;
    /**
     * destroy the context menu.
     * @returns {void}
     */
    destroy(): void;
    OnItemSelected(selectedMenu: any): void;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/base/blazor-ui-adaptor.d.ts
/**
 * The `BlazorUIAdaptor` module is used to handle the UI update of native components.
 * @hidden
 */
export  class BlazorUiAdaptor {
    private pdfViewer;
    private pdfViewerBase;
    /**
     * @private
     */
    totalPageElement: HTMLElement;
    private currentPageBoxElementContainer;
    private currentPageBoxElement;
    private firstPageElement;
    private previousPageElement;
    private nextPageElement;
    private lastPageElement;
    private zommOutElement;
    private zoomInElement;
    private zoomDropDownElement;
    private selectToolElement;
    private handToolElement;
    private undoElement;
    private redoElement;
    private commentElement;
    private submitFormButton;
    private searchElement;
    private annotationElement;
    private printElement;
    private downloadElement;
    private highlightElement;
    private underlineElement;
    private strikeThroughElement;
    private shapeElement;
    private calibrateElement;
    private stampElement;
    private freeTextElement;
    private signatureElement;
    private inkElement;
    private annotationFontSizeInputElement;
    private annotationFontFamilyInputElement;
    private annotationColorElement;
    private annotationStrokeColorElement;
    private annotationThicknessElement;
    private annotationOpacityElement;
    private annotationFontColorElement;
    private annotationFontFamilyElement;
    private annotationFontSizeElement;
    private annotationTextAlignElement;
    private annotationTextColorElement;
    private annotationTextPropertiesElement;
    private annotationDeleteElement;
    private annotationCloseElement;
    private annotationCommentPanelElement;
    private mobileToolbarContainerElement;
    private mobileSearchPreviousOccurenceElement;
    private mobileSearchNextOccurenceElement;
    private cssClass;
    private disableClass;
    private editAnnotationButtonElement;
    /**
     * Initialize the constructor of blazorUIadapater.
     *
     * @param { PdfViewer } pdfviewer - Specified PdfViewer class.
     * @param { PdfViewerBase } pdfViewerBase - The pdfViewerBase.
     */
    constructor(pdfviewer: PdfViewer, pdfViewerBase: PdfViewerBase);
    private findToolbarElements;
    /**
     * Update the total page.
     * @returns {void}
     */
    updateTotalPage(): void;
    /**
     * Update current page.
     * @param {number} pageNumber - The pageNumber.
     * @returns {void}
     */
    updateCurrentPage(pageNumber: number): void;
    /**
     * Load the PDF document.
     * @returns {void}
     */
    loadDocument(): void;
    selectItem(element: HTMLElement): void;
    deselectItem(element: HTMLElement): void;
    showAnnotationToolbar(isToolbarVisible: any): void;
    closeAnnotationToolbar(): void;
    /**
     * Reset the toolbar.
     * @returns {void}
     */
    resetToolbar(): void;
    /**
     * When annotation selection changed.
     * @param {boolean} currentPageNumber - The current page number.
     * @returns {void}
     */
    EnableDeleteOption(isEnable: boolean): void;
    /**
     * when the page changes.
     * @param {number} currentPageNumber - The current page number.
     * @returns {void}
     */
    pageChanged(currentPageNumber: number): void;
    /**
     * @param {string} item - The current item.
     * @param {boolean} enable - To enable the item or not.
     * @returns {void}
     */
    updateUndoRedoButton(item: string, enable: boolean): void;
    /**
     * @returns {void}
     */
    disableUndoRedoButton(): void;
    /**
     * @returns {void}
     */
    enableTextMarkupAnnotationPropertiesTools(isEnable: boolean): void;
    /**
     * @param {boolean} isEnable - To enable the item or not.
     * @param {boolean} isProperitiesChange - To enable the item or not.
     * @returns {void}
     */
    enableAnnotationPropertiesTool(isEnable: boolean, isProperitiesChange: boolean): void;
    /**
     * @param {boolean} isEnable - To enable the item or not.
     * @param {boolean} isProperitiesChange - To enable the item or not.
     * @returns {void}
     */
    enableFreeTextAnnotationPropertiesTools(isEnable: boolean, isProperitiesChange: boolean): void;
    /**
     * @param {boolean} isEnable - To enable the item or not.
     * @param {boolean} isPropertiesChange - To enable the item or not.
     * @returns {void}
     */
    enableStampAnnotationPropertiesTools(isEnable: boolean, isPropertiesChange: boolean): void;
    /**
     * @param {boolean} isEnable - To enable the item or not.
     * @param {boolean} isProperitiesChange - To enable the item or not.
     * @returns {void}
     */
    enableSignaturePropertiesTools(isEnable: boolean, isProperitiesChange: boolean): void;
    /**
     * @returns {void}
     */
    annotationAdd(): void;
    /**
     * @returns {void}
     */
    annotationUnSelect(): void;
    /**
     * @param {string} annotationType - The annotationType.
     * @returns {void}
     */
    annotationSelect(annotationType: string): void;
    /**
     * @param {string} fontFamily - The fontFamily.
     * @returns {void}
     */
    updateFontFamilyInIcon(fontFamily: string): void;
    /**
     * @param {number} fontSize - The fontSize.
     * @returns {void}
     */
    updateFontSizeInIcon(fontSize: number): void;
    /**
     * @param {boolean} isEnable - To enable or disable.
     * @returns {void}
     */
    enableSearchItems(isEnable: boolean): void;
    /**
     * @param {boolean} isTapHidden - To enable or disable.
     * @returns {void}
     */
    tapOnMobileDevice(isTapHidden: boolean): void;
    /**
     * @param {HTMLElement} element - The HTMLElement.
     * @returns {boolean} - Returns trur or false.
     */
    isEnabled(element: HTMLElement): boolean;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/base/context-menu.d.ts
/**
 * ContextMenu module is used to handle the context menus used in the control.
 *
 * @hidden
 */
export  class ContextMenu implements IContextMenu {
    /**
     * @private
     */
    contextMenuObj: navigations.ContextMenu;
    /**
     * @private
     */
    contextMenuElement: HTMLElement;
    private pdfViewer;
    private pdfViewerBase;
    private copyContextMenu;
    private contextMenuList;
    currentTarget: any;
    /**
     * @private
     */
    previousAction: string;
    /**
     * Initialize the constructor of ontextmenu
     *
     * @param { PdfViewer } pdfViewer - Specified PdfViewer class.
     * @param { PdfViewerBase } pdfViewerBase - The pdfViewerBase.
     */
    constructor(pdfViewer: PdfViewer, pdfViewerBase: PdfViewerBase);
    /**
     * @private
     * @returns {void}
     */
    createContextMenu(): void;
    private contextMenuOnCreated;
    private setTarget;
    private contextMenuOnBeforeOpen;
    private contextMenuItems;
    private processLocaleContent;
    private contextMenuCollection;
    private getEnabledItemCount;
    private hideContextItems;
    private enableCommentPanelItem;
    private onOpeningForShape;
    OnItemSelected(selectedMenu: string): void;
    private onMenuItemSelect;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
    /**
     * @private
     * @returns {void}
     */
    close(): void;
    /**
     * open the context menu.
     * @param {number} top - The top.
     * @param {number} left - The left.
     * @param {HTMLElement} target - The target.
     * @returns {void}
     */
    open(top: number, left: number, target: HTMLElement): void;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/base/events-helper.d.ts
/**
 * Exports types used by PDF viewer.
 */
/**
 * This event arguments provides the necessary information about document load event.
 */
export interface LoadEventArgs extends base.BaseEventArgs {
    /**
     * Document name to be loaded into PdfViewer.
     */
    documentName: string;
    /**
     * Defines the page details and page count of the PDF document.
     */
    pageData: any;
}
/**
 * This event arguments provides the necessary information about formField event.
 */
export interface FormFieldFocusOutEventArgs extends base.BaseEventArgs {
    /**
     * specifies the name of field.
     */
    fieldName: string;
    /**
     * specifies the value from formField.
     */
    value: string;
}
/**
 * This event arguments provides the necessary information about document unload event.
 */
export interface UnloadEventArgs extends base.BaseEventArgs {
    /**
     * Document name to be loaded into PdfViewer.
     */
    documentName: string;
}
/**
 * This event arguments provides the necessary information about freeText event.
 */
export interface BeforeAddFreeTextEventArgs extends base.BaseEventArgs {
    /**
     * value of free text annotation.
     */
    value: string;
}
/**
 * This event provide necessary information about button field.
 */
export interface ButtonFieldClickEventArgs extends base.BaseEventArgs {
    /**
     * specifies the form field value.
     */
    buttonFieldValue: string;
    /**
     * specifies the form field name.
     */
    buttonFieldName: string;
    /**
     * specifies the form field id.
     */
    id: string;
}
/**
 * This event provide necessary information about form fields.
 */
export interface FormFieldClickArgs extends base.BaseEventArgs {
    /**
     * Gets the name of the event.
     */
    name: string;
    /**
     * Gets the form field object.
     */
    field: FormFieldModel;
    /**
     * If TRUE, signature panel does not open for the signature field. FALSE by default.
     */
    cancel: boolean;
}
/**
 * This event arguments provides the necessary information about document load failed event.
 */
export interface LoadFailedEventArgs extends base.BaseEventArgs {
    /**
     * Document name to be loaded into PdfViewer.
     */
    documentName: string;
    /**
     * Defines the document password protected state.
     */
    isPasswordRequired: boolean;
    /**
     * In case of document load failed with incorrect password, this contain the incorrect password.
     */
    password: string;
}
/**
 * This event arguments provides the necessary information about ajax request failure event.
 */
export interface AjaxRequestFailureEventArgs extends base.BaseEventArgs {
    /**
     * Document name to be loaded into PdfViewer
     */
    documentName: string;
    /**
     * Document name to be loaded into PdfViewer
     */
    errorStatusCode: number;
    /**
     * Document name to be loaded into PdfViewer
     */
    errorMessage: string;
    /**
     * Action name in which the failure is thrown.
     */
    action: string;
    /**
     * Specifies the retry request for the failed requests.
     */
    retryCount?: boolean;
}
/**
 * This class describes ajaxRequestSuccess event arguments.
 */
export interface AjaxRequestSuccessEventArgs extends base.BaseEventArgs {
    /**
     * Get the name of the Event.
     */
    name: string;
    /**
     * Get the loaded PDF document name in the PDF viewer
     */
    documentName: string;
    /**
     * Get the action name of the request.
     */
    action: string;
    /**
     * Get the data as a JSON object from the request.
     */
    data: any;
    /**
     * If TRUE, the exportAnnotation methods returns base64 string. False by default.
     */
    cancel: boolean;
}
/**
 * This event arguments provides the necessary information about form validation.
 */
export interface ValidateFormFieldsArgs extends base.BaseEventArgs {
    /**
     * The form fields object from PDF document being loaded.
     */
    formField: any;
    /**
     * Document name to be loaded into PdfViewer
     */
    documentName: string;
    /**
     * Defines the non-fillable form fields.
     */
    nonFillableFields: any;
}
/**
 * This event arguments provides the necessary information about page click event.
 */
export interface PageClickEventArgs extends base.BaseEventArgs {
    /**
     * Document name to be loaded into PdfViewer
     */
    documentName: string;
    /**
     * Page number of the document in which click action is performed
     */
    pageNumber: number;
    /**
     * x co-ordinate of the click action location
     */
    x: number;
    /**
     * y co-ordinate of the click action location
     */
    y: number;
}
/**
 * This event arguments provides the necessary information about page change event.
 */
export interface PageChangeEventArgs extends base.BaseEventArgs {
    /**
     * Document name to be loaded into PdfViewer.
     */
    documentName: string;
    /**
     * Current Page number of the document.
     */
    currentPageNumber: number;
    /**
     * Previous Page number of the document.
     */
    previousPageNumber: number;
}
/**
 * This event arguments provides the necessary information about zoom change event.
 */
export interface ZoomChangeEventArgs extends base.BaseEventArgs {
    /**
     * Defines the current zoom percentage value
     */
    zoomValue: number;
    /**
     * Defines the zoom value before change
     */
    previousZoomValue: number;
}
/**
 * This event arguments provides the necessary information about hyperlink click event.
 */
export interface HyperlinkClickEventArgs extends base.BaseEventArgs {
    /**
     * Get or set the URL to navigate.
     */
    hyperlink: string;
    /**
     * Defines the current hyperlink element.
     */
    hyperlinkElement: HTMLAnchorElement;
    /**
     * Hyperlink navigation will not work if it is set to TRUE. The value is set to FALSE by default.
     */
    cancel: boolean;
}
/**
 * This event arguments provides the necessary information about hyperlink hover event.
 */
export interface HyperlinkMouseOverArgs extends base.BaseEventArgs {
    /**
     * Defines the current hyperlink element.
     */
    hyperlinkElement: HTMLAnchorElement;
}
/**
 * This event arguments provides the necessary information about annotation add event.
 */
export interface AnnotationAddEventArgs extends base.BaseEventArgs {
    /**
     * Defines the settings of the annotation added to the PDF document.
     */
    annotationSettings: any;
    /**
     * Defines the bounds of the annotation added in the page of the PDF document.
     */
    annotationBound: any;
    /**
     * Defines the id of the annotation added in the page of the PDF document.
     */
    annotationId: string;
    /**
     * Defines the page number in which the annotation is added.
     */
    pageIndex: number;
    /**
     * Define the type of the annotation added in the page of the PDF document.
     */
    annotationType: AnnotationType;
    /**
     * Defines the selected text content in the text markup annotation.
     */
    textMarkupContent?: string;
    /**
     * Starting index of text markup annotation in the page text content.
     */
    textMarkupStartIndex?: number;
    /**
     * End index of text markup annotation in the page text content.
     */
    textMarkupEndIndex?: number;
    /**
     * End index of text markup annotation in the page text content.
     */
    labelSettings?: ShapeLabelSettingsModel;
    /**
     * Defines the multi page annotation collections.
     */
    multiplePageCollection?: any;
    /**
     * Defines the name of the custom stamp added to the PDF page.
     */
    customStampName?: string;
}
/**
 * This event arguments provides the necessary information about annotation remove event.
 */
export interface AnnotationRemoveEventArgs extends base.BaseEventArgs {
    /**
     * Defines the id of the annotation removed from the page of the PDF document.
     */
    annotationId: string;
    /**
     * Defines the page number in which the annotation is removed.
     */
    pageIndex: number;
    /**
     * Defines the type of the annotation removed from the page of the PDF document.
     */
    annotationType: AnnotationType;
    /**
     * Defines the bounds of the annotation removed from the page of the PDF document.
     */
    annotationBounds: any;
    /**
     * Defines the selected text content in the text markup annotation.
     */
    textMarkupContent?: string;
    /**
     * Starting index of text markup annotation in the page text content.
     */
    textMarkupStartIndex?: number;
    /**
     * End index of text markup annotation in the page text content.
     */
    textMarkupEndIndex?: number;
    /**
     * Defines the multi page annotation collections.
     */
    multiplePageCollection?: any;
}
/**
 * This event arguments provides the necessary information about comment event.
 */
export interface CommentEventArgs extends base.BaseEventArgs {
    /**
     * Specifies the id for the annotation comments
     */
    id: string;
    /**
     * Gets the text
     */
    text: string;
    /**
     * specifies the annotation for the comment.
     */
    annotation: string;
    /**
     * specifies the status of the annotation
     */
    status?: CommentStatus;
}
/**
 * This event arguments provides the necessary information about annotation properties change event.
 */
export interface AnnotationPropertiesChangeEventArgs extends base.BaseEventArgs {
    /**
     * Defines the id of the annotation property is changed in the page of the PDF document.
     */
    annotationId: string;
    /**
     * Defines the page number in which the annotation property is changed.
     */
    pageIndex: number;
    /**
     * Defines the type of the annotation property is changed in the page of the PDF document.
     */
    annotationType: AnnotationType;
    /**
     * Specifies that the color of the annotation is changed.
     */
    isColorChanged?: boolean;
    /**
     * Specifies that the opacity of the annotation is changed.
     */
    isOpacityChanged: boolean;
    /**
     * Specifies that the stroke color of the annotation is changed.
     */
    isStrokeColorChanged?: boolean;
    /**
     * Specifies that the thickness of the annotation is changed.
     */
    isThicknessChanged?: boolean;
    /**
     * Specifies that the line head start style of the annotation is changed.
     */
    isLineHeadStartStyleChanged?: boolean;
    /**
     * Specifies that the line head end style of the annotation is changed.
     */
    isLineHeadEndStyleChanged?: boolean;
    /**
     * Specifies that the border dash array of the annotation is changed.
     */
    isBorderDashArrayChanged?: boolean;
    /**
     * Specifies that the Text of the annotation is changed.
     */
    isTextChanged?: boolean;
    /**
     * Specifies that the comments of the annotation is changed.
     */
    isCommentsChanged?: boolean;
    /**
     * Defines the selected text content in the text markup annotation.
     */
    textMarkupContent?: string;
    /**
     * Starting index of text markup annotation in the page text content.
     */
    textMarkupStartIndex?: number;
    /**
     * End index of text markup annotation in the page text content.
     */
    textMarkupEndIndex?: number;
    /**
     * Defines the multi page annotation collections.
     */
    multiplePageCollection?: any;
    /**
     * Specifies whether the text of the FreeText annotation is changed or not.
     */
    isFreeTextChanged?: boolean;
    /**
     * Specifies the previous text of the freeText annotation.
     */
    previousText?: string;
    /**
     * Specifies the current text of the freeText annotation.
     */
    currentText?: string;
}
/**
 * This event arguments provides the necessary information about annotation resize event.
 */
export interface AnnotationResizeEventArgs extends base.BaseEventArgs {
    /**
     * Defines the id of the annotation resized in the page of the PDF document.
     */
    annotationId: string;
    /**
     * Defines the page number in which the annotation is resized.
     */
    pageIndex: number;
    /**
     * Defines the settings of the annotation resized in the PDF document.
     */
    annotationSettings: any;
    /**
     * Defines the bounds of the annotation resized in the page of the PDF document.
     */
    annotationBound: any;
    /**
     * Defines the type of the annotation resized in the page of the PDF document.
     */
    annotationType: AnnotationType;
    /**
     * Defines the selected text content in the text markup annotation.
     */
    textMarkupContent?: string;
    /**
     * Starting index of text markup annotation in the page text content.
     */
    textMarkupStartIndex?: number;
    /**
     * End index of text markup annotation in the page text content.
     */
    textMarkupEndIndex?: number;
    /**
     * End index of text markup annotation in the page text content.
     */
    labelSettings?: ShapeLabelSettingsModel;
    /**
     * Defines the multiple page annotation collections.
     */
    multiplePageCollection?: any;
}
/**
 * This event arguments provides the necessary information about annotation move event.
 */
export interface AnnotationMoveEventArgs extends base.BaseEventArgs {
    /**
     * Defines the id of the annotation moved in the page of the PDF document.
     */
    annotationId: string;
    /**
     * Defines the page number in which the annotation is moved.
     */
    pageIndex: number;
    /**
     * Defines the type of the annotation moved in the page of the PDF document.
     */
    annotationType: AnnotationType;
    /**
     * Defines the settings of the annotation moved in the PDF document.
     */
    annotationSettings: any;
    /**
     * Previous position of annotations in the page text content.
     */
    previousPosition: object;
    /**
     * Current position of annotations in the page text content.
     */
    currentPosition: object;
}
/**
 * Describes the event arguments of AnnotationMovingEventArgs.
 */
export interface AnnotationMovingEventArgs extends base.BaseEventArgs {
    /**
     * Defines the annotation id moving in the PDF page.
     */
    annotationId: string;
    /**
     * Defines the page number in which the annotation is moving.
     */
    pageIndex: number;
    /**
     * Defines the annotation type moving in the PDF page.
     */
    annotationType: AnnotationType;
    /**
     * Defines the annotation setting moving in the PDF page.
     */
    annotationSettings: any;
    /**
     * Previous position of annotations in the page text content.
     */
    previousPosition: object;
    /**
     * Current position of annotations in the page text content.
     */
    currentPosition: object;
}
/**
 * This event arguments provides the necessary information about signature add event.
 */
export interface AddSignatureEventArgs extends base.BaseEventArgs {
    /**
     * Defines the bounds of the signature added in the page of the PDF document.
     */
    bounds: any;
    /**
     * Defines the id of the signature added in the page of the PDF document.
     */
    id: string;
    /**
     * Defines the page number in which the signature is added.
     */
    pageIndex: number;
    /**
     * Define the type of the signature added in the page of the PDF document.
     */
    type: any;
    /**
     * Define the opacity of the signature added in the page of the PDF document.
     */
    opacity: number;
    /**
     * Define the stroke color of the signature added in the page of the PDF document.
     */
    strokeColor?: string;
    /**
     * Define the thickness of the signature added in the page of the PDF document.
     */
    thickness?: number;
    /**
     * Gets the base64 string of the signature path
     */
    data?: string;
}
/**
 * This event arguments provides the necessary information about signature remove event.
 */
export interface RemoveSignatureEventArgs extends base.BaseEventArgs {
    /**
     * Defines the bounds of the signature removed in the page of the PDF document.
     */
    bounds: any;
    /**
     * Defines the id of the signature removed in the page of the PDF document.
     */
    id: string;
    /**
     * Defines the page number in which the signature is removed.
     */
    pageIndex: number;
    /**
     * Define the type of the signature removed in the page of the PDF document.
     */
    type: AnnotationType;
}
/**
 * This event arguments provides the necessary information about signature move event.
 */
export interface MoveSignatureEventArgs extends base.BaseEventArgs {
    /**
     * Defines the id of the annotation moved in the page of the PDF document.
     */
    id: string;
    /**
     * Defines the page number in which the annotation is moved.
     */
    pageIndex: number;
    /**
     * Defines the type of the signature moved in the page of the PDF document.
     */
    type: AnnotationType;
    /**
     * Define the opacity of the signature added in the page of the PDF document.
     */
    opacity: number;
    /**
     * Define the stroke color of the signature added in the page of the PDF document.
     */
    strokeColor: string;
    /**
     * Define the thickness of the signature added in the page of the PDF document.
     */
    thickness: number;
    /**
     * Previous position of signature in the page text content.
     */
    previousPosition: object;
    /**
     * Current position of signature in the page text content.
     */
    currentPosition: object;
}
/**
 * This event arguments provides the necessary information about signature properties change event.
 */
export interface SignaturePropertiesChangeEventArgs extends base.BaseEventArgs {
    /**
     * Defines the id of the signature property is changed in the page of the PDF document.
     */
    id: string;
    /**
     * Defines the page number in which the signature property is changed.
     */
    pageIndex: number;
    /**
     * Defines the type of the signature property is changed in the page of the PDF document.
     */
    type: AnnotationType;
    /**
     * Specifies that the stroke color of the signature is changed.
     */
    isStrokeColorChanged?: boolean;
    /**
     * Specifies that the opacity of the signature is changed.
     */
    isOpacityChanged: boolean;
    /**
     * Specifies that the thickness of the signature is changed.
     */
    isThicknessChanged?: boolean;
    /**
     * Defines the old property value of the signature.
     */
    oldValue: any;
    /**
     * Defines the new property value of the signature.
     */
    newValue: any;
}
/**
 * This event arguments provides the necessary information about signature resize event.
 */
export interface ResizeSignatureEventArgs extends base.BaseEventArgs {
    /**
     * Defines the id of the signature added in the page of the PDF document.
     */
    id: string;
    /**
     * Defines the page number in which the signature is added.
     */
    pageIndex: number;
    /**
     * Define the type of the signature added in the page of the PDF document.
     */
    type: AnnotationType;
    /**
     * Define the opacity of the signature added in the page of the PDF document.
     */
    opacity: number;
    /**
     * Define the stroke color of the signature added in the page of the PDF document.
     */
    strokeColor: string;
    /**
     * Define the thickness of the signature added in the page of the PDF document.
     */
    thickness: number;
    /**
     * Defines the current Position of the signature added in the page of the PDF document.
     */
    currentPosition: any;
    /**
     * Defines the previous position of the signature added in the page of the PDF document.
     */
    previousPosition: any;
}
/**
 * This event arguments provides the necessary information about signature select event.
 */
export interface SignatureSelectEventArgs extends base.BaseEventArgs {
    /**
     * Defines the id of the signature selected in the page of the PDF document.
     */
    id: string;
    /**
     * Defines the page number in which the signature is selected.
     */
    pageIndex: number;
    /**
     * Defines the properties of the selected signature.
     */
    signature: object;
}
/**
 * This event arguments provides the necessary information about mouse leave event.
 */
export interface AnnotationMouseLeaveEventArgs extends base.BaseEventArgs {
    /**
     * Defines the page number in which the mouse over annotation object is rendered.
     */
    pageIndex: number;
}
/**
 * This event arguments provides the necessary information about annotation mouseover event.
 */
export interface AnnotationMouseoverEventArgs extends base.BaseEventArgs {
    /**
     * Defines the id of the mouse over annotation object in the page of the PDF document
     */
    annotationId: string;
    /**
     * Defines the page number in which the mouse over annotation object is rendered.
     */
    pageIndex: number;
    /**
     * Defines the type of the annotation during the mouse hover in the PDF document.
     */
    annotationType: AnnotationType;
    /**
     * Defines the annotation object mouse hover in the PDF document.
     */
    annotation: any;
    /**
     * Defines the bounds of the annotation resized in the page of the PDF document.
     */
    annotationBounds: any;
    /**
     * Defines the mouseover x position with respect to page container.
     */
    pageX: number;
    /**
     * Defines the mouseover y position with respect to page container.
     */
    pageY: number;
    /**
     * Defines the mouseover x position with respect to viewer container.
     */
    X: number;
    /**
     * Defines the mouseover y position with respect to viewer container.
     */
    Y: number;
}
/**
 * This event arguments provides the necessary information about page mouseovers event.
 */
export interface PageMouseoverEventArgs extends base.BaseEventArgs {
    /**
     * Mouseover x position with respect to page container.
     */
    pageX: number;
    /**
     * Mouseover y position with respect to page container.
     */
    pageY: number;
}
/**
 * This event arguments provides the necessary information about annotation select event.
 */
export interface AnnotationSelectEventArgs extends base.BaseEventArgs {
    /**
     * Defines the id of the annotation selected in the page of the PDF document.
     */
    annotationId: string;
    /**
     * Defines the page number in which the annotation is selected.
     */
    pageIndex: number;
    /**
     * Defines the annotation selected in the PDF document.
     */
    annotation: any;
    /**
     * Defines the overlapped annotations of the selected annotation.
     */
    annotationCollection?: any;
    /**
     * Defines the multi page annotation collections.
     */
    multiplePageCollection?: any;
    /**
     * Defines the annotation selection by mouse.
     */
    isProgrammaticSelection?: boolean;
    /**
     * Defines the annotation add mode.
     */
    annotationAddMode?: string;
}
/**
 * This event arguments provides the necessary information about annotation UnSelect event.
 */
export interface AnnotationUnSelectEventArgs extends base.BaseEventArgs {
    /**
     * Defines the id of the annotation unselected in the page of the PDF document.
     */
    annotationId: string;
    /**
     * Defines the page number in which the annotation is unselected.
     */
    pageIndex: number;
    /**
     * Defines the annotation unselected in the PDF document.
     */
    annotation: any;
}
/**
 * This event arguments provides the necessary information about annotation double click event.
 */
export interface AnnotationDoubleClickEventArgs extends base.BaseEventArgs {
    /**
     * Defines the id of the annotation double clicked in the page of the PDF document.
     */
    annotationId: string;
    /**
     * Defines the page number in which the annotation is double clicked.
     */
    pageIndex: number;
    /**
     * Defines the annotation double clicked in the PDF document.
     */
    annotation: any;
}
/**
 * This event arguments provides the necessary information about thumbnail click event.
 */
export interface ThumbnailClickEventArgs extends base.BaseEventArgs {
    /**
     * Page number of the thumbnail in which click action is performed
     */
    pageNumber: number;
}
/**
 * This event arguments provides the necessary information about bookmark click event.
 */
export interface BookmarkClickEventArgs extends base.BaseEventArgs {
    /**
     * Page number of the bookmark in which click action is performed
     */
    pageNumber: number;
    /**
     * Position of the bookmark content
     */
    position: number;
    /**
     * Title of the bookmark
     */
    text: string;
    /**
     * Get the fileName from Launch action
     */
    fileName: string;
}
/**
 * This event arguments provide the necessary information about text selection start event.
 */
export interface TextSelectionStartEventArgs extends base.BaseEventArgs {
    /**
     * Defines the page number in which the text selection is started.
     */
    pageIndex: number;
}
/**
 * This event arguments provide the necessary information about text selection end event.
 */
export interface TextSelectionEndEventArgs extends base.BaseEventArgs {
    /**
     * Defines the page number in which the text selection is finished.
     */
    pageIndex: number;
    /**
     * Defines the text content selected in the page.
     */
    textContent: string;
    /**
     * Defines the bounds of the selected text in the page.
     */
    textBounds: any;
}
/**
 */
export interface ImportStartEventArgs extends base.BaseEventArgs {
    /**
     */
    /**
     */
    formFieldData: any;
}
/**
 * This event arguments provides the necessary information about export annotations start event.
 */
export interface ExportStartEventArgs extends base.BaseEventArgs {
    /**
     * specifies the annotation data exported from the loaded document.
     */
    exportData: any;
    /**
     * Specifies the form field data exported from the loaded document..
     */
    formFieldData: any;
}
/**
 */
export interface ImportSuccessEventArgs extends base.BaseEventArgs {
    /**
     */
    /**
     */
    formFieldData: any;
}
/**
 * This event arguments provides the necessary information about export annotations success event.
 */
export interface ExportSuccessEventArgs extends base.BaseEventArgs {
    /**
     * Specifies the annotation data exported from the loaded documents.
     */
    exportData: any;
    /**
     * Specifies the exported annotations json file name.
     */
    fileName: string;
    /**
     * Specifies the form field data exported from the loaded documents.
     */
    formFieldData: any;
}
/**
 */
export interface ImportFailureEventArgs extends base.BaseEventArgs {
    /**
     */
    /**
     */
    errorDetails: string;
    /**
     */
    formFieldData: any;
}
/**
 * This event arguments provides the necessary information about export annotations failure event.
 */
export interface ExportFailureEventArgs extends base.BaseEventArgs {
    /**
     * specifies the annotation data to be exported from the loaded document.
     */
    exportData: any;
    /**
     * Error details for export annotations.
     */
    errorDetails: string;
    /**
     * specifies the form field data to be exported from the loaded document.
     */
    formFieldData: any;
}
/**
 * This event arguments provides the necessary information about text extraction completed in the PDF Viewer.
 */
export interface ExtractTextCompletedEventArgs extends base.BaseEventArgs {
    /**
     * Returns the extracted text collection
     */
    documentTextCollection: DocumentTextCollectionSettingsModel[][];
}
/**
 * This event arguments provides the necessary information about data.
 */
export interface AjaxRequestInitiateEventArgs extends base.BaseEventArgs {
    /**
     * Specified the data to be sent in to server.
     */
    JsonData: any;
}
/**
 * This event arguments provide the necessary information about download start event.
 */
export interface DownloadStartEventArgs extends base.BaseEventArgs {
    /**
     * File name of the currently loaded PDF document in the PDF Viewer.
     */
    fileName: string;
}
/**
 * This event arguments provide the necessary information about download end event.
 */
export interface DownloadEndEventArgs extends base.BaseEventArgs {
    /**
     * File name of the currently loaded PDF document in the PDF Viewer.
     */
    fileName: string;
    /**
     * Defines the base 64 string of the loaded PDF document data.
     */
    downloadDocument: string;
}
/**
 * This event arguments provide the necessary information about print start event.
 */
export interface PrintStartEventArgs extends base.BaseEventArgs {
    /**
     * File name of the currently loaded PDF document in the PDF Viewer.
     */
    fileName: string;
    /**
     * If it is true then the print operation will not work.
     */
    cancel: boolean;
}
/**
 * This event arguments provide the necessary information about print end event.
 */
export interface PrintEndEventArgs extends base.BaseEventArgs {
    /**
     * File name of the currently loaded PDF document in the PDF Viewer.
     */
    fileName: string;
}
/**
 * This event arguments provides the necessary information about text search start event.
 */
export interface TextSearchStartEventArgs extends base.BaseEventArgs {
    /**
     * Specifies the searchText content in the PDF Viewer.
     */
    searchText: string;
    /**
     * Specifies the match case of the searched text.
     */
    matchCase: boolean;
}
/**
 * This event arguments provides the necessary information about text search highlight event.
 */
export interface TextSearchHighlightEventArgs extends base.BaseEventArgs {
    /**
     * Specifies the searchText content in the PDF Viewer.
     */
    searchText: string;
    /**
     * Specifies the match case of the searched text.
     */
    matchCase: boolean;
    /**
     * Specifies the bounds of the highlighted searched text.
     */
    bounds: RectangleBoundsModel;
    /**
     * Specifies the page number of the highlighted search text.
     */
    pageNumber: number;
}
/**
 * This event arguments provides the necessary information about text search end event.
 */
export interface TextSearchCompleteEventArgs extends base.BaseEventArgs {
    /**
     * Specifies the searchText content in the PDF Viewer.
     */
    searchText: string;
    /**
     * Specifies the match case of the searched text.
     */
    matchCase: boolean;
}
/**
 * This event arguments provides the necessary information about form field add event.
 */
export interface FormFieldAddArgs extends base.BaseEventArgs {
    /**
     * Get the name of the event.
     */
    name: string;
    /**
     * Event arguments for the form field add event.
     */
    field: IFormField;
    /**
     * Get the page number.
     */
    pageIndex: number;
}
/**
 * This event arguments provides the necessary information about form field remove event.
 */
export interface FormFieldRemoveArgs extends base.BaseEventArgs {
    /**
     * Get the name of the event.
     */
    name: string;
    /**
     * Event arguments for the form field remove event.
     */
    field: IFormField;
    /**
     * Get the page number.
     */
    pageIndex: number;
}
/**
 * Triggers an event when the form field is double-clicked.
 */
export interface FormFieldDoubleClickArgs extends base.BaseEventArgs {
    /**
     * Returns the event name.
     */
    name: string;
    /**
     * If TRUE, property panel of the form field does not open. FALSE by default.
     */
    cancel: boolean;
    /**
     * Returns the double-clicked form field object.
     */
    field: IFormField;
}
/**
 * This event arguments provides the necessary information about form field properties change event.
 */
export interface FormFieldPropertiesChangeArgs extends base.BaseEventArgs {
    /**
     * Get the name of the event.
     */
    name: string;
    /**
     * Event arguments for the form field properties change event.
     */
    field: IFormField;
    /**
     * Get the page number.
     */
    pageIndex: number;
    /**
     * Specifies whether the form field value is changed or not.
     */
    isValueChanged?: boolean;
    /**
     * Specifies whether the font family of the form field is changed or not.
     */
    isFontFamilyChanged?: boolean;
    /**
     * Specifies whether the font size of the form field is changed or not.
     */
    isFontSizeChanged?: boolean;
    /**
     * Specifies whether the font style of the form field is changed or not.
     */
    isFontStyleChanged?: boolean;
    /**
     * Specifies whether the font color of the form field is changed or not.
     */
    isColorChanged?: boolean;
    /**
     * Specifies whether the background color of the form field is changed or not.
     */
    isBackgroundColorChanged?: boolean;
    /**
     * Specifies whether the border color of the form field is changed or not.
     */
    isBorderColorChanged?: boolean;
    /**
     * Specifies whether the border width of the form field is changed or not.
     */
    isBorderWidthChanged?: boolean;
    /**
     * Specifies whether the text alignment of the form field is changed or not.
     */
    isAlignmentChanged?: boolean;
    /**
     * Specifies the Read Only of Form field is changed or not.
     */
    isReadOnlyChanged?: boolean;
    /**
     * Specifies whether the form field visibility is changed or not.
     */
    isVisibilityChanged?: boolean;
    /**
     * Specifies whether the max length of the form field is changed or not.
     */
    isMaxLengthChanged?: boolean;
    /**
     * Specifies whether the is required option of the form field is changed or not.
     */
    isRequiredChanged?: boolean;
    /**
     * Specifies whether the print option of the form field is changed or not.
     */
    isPrintChanged?: boolean;
    /**
     * Specifies whether the tool tip property is changed or not.
     */
    isToolTipChanged?: boolean;
    /**
     * Specifies the old value of the form field.
     */
    oldValue?: any;
    /**
     * Specifies the new value of the form field.
     */
    newValue?: any;
    /**
     * Specifies whether the field name is changed or not.
     */
    isNameChanged?: boolean;
}
/**
 * This event arguments provides the necessary information about form field mouse leave event.
 */
export interface FormFieldMouseLeaveArgs extends base.BaseEventArgs {
    /**
     * Get the name of the event.
     */
    name: string;
    /**
     * Event arguments for the form field mouse leave event.
     */
    field: IFormField;
    /**
     * Get the page number.
     */
    pageIndex: number;
}
/**
 * This event arguments provides the necessary information about form field mouse over event.
 */
export interface FormFieldMouseoverArgs extends base.BaseEventArgs {
    /**
     * Get the name of the event.
     */
    name: string;
    /**
     * Event arguments for the form field mouse over event.
     */
    field: IFormField;
    /**
     * Get the page number.
     */
    pageIndex: number;
    /**
     * Get the mouse over x position with respect to the page container.
     */
    pageX: number;
    /**
     * Get the mouse over y position with respect to the page container.
     */
    pageY: number;
    /**
     * Specifies the mouse over x position with respect to the viewer container.
     */
    X: number;
    /**
     * Specifies the mouse over y position with respect to the viewer container.
     */
    Y: number;
}
/**
 * This event arguments provides the necessary information about form field move event.
 */
export interface FormFieldMoveArgs extends base.BaseEventArgs {
    /**
     * Get the name of the event.
     */
    name: string;
    /**
     * Event arguments for the form field move event.
     */
    field: IFormField;
    /**
     * Get the page number.
     */
    pageIndex: number;
    /**
     * Get the previous position of the form field in the page.
     */
    previousPosition: IFormFieldBound;
    /**
     * Current position of form field in the page.
     */
    currentPosition: IFormFieldBound;
}
/**
 * This event arguments provides the necessary information about form field resize event.
 */
export interface FormFieldResizeArgs extends base.BaseEventArgs {
    /**
     * Get the name of the event.
     */
    name: string;
    /**
     * Event arguments for the form field resize event.
     */
    field: IFormField;
    /**
     * Get the page number.
     */
    pageIndex: number;
    /**
     * Get the previous position of the form field in the page.
     */
    previousPosition: IFormFieldBound;
    /**
     * Current position of form field in the page.
     */
    currentPosition: IFormFieldBound;
}
/**
 * This event arguments provides the necessary information about form field select event.
 */
export interface FormFieldSelectArgs extends base.BaseEventArgs {
    /**
     * Get the name of the event.
     */
    name: string;
    /**
     * Event arguments for the form field select event.
     */
    field: IFormField;
    /**
     * Get the page number.
     */
    pageIndex: number;
    /**
     * Specifies whether the the form field is selected programmatically or by UI.
     */
    isProgrammaticSelection: boolean;
}
/**
 * This event arguments provides the necessary information about form field un select event.
 */
export interface FormFieldUnselectArgs extends base.BaseEventArgs {
    /**
     * Get the name of the event.
     */
    name: string;
    /**
     * Event arguments for the form field unselect event.
     */
    field: IFormField;
    /**
     * Get the page number.
     */
    pageIndex: number;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/base/index.d.ts
/**
 * export types
 */
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/base/interfaces.d.ts
/**
 * ContextMenu module is used to handle the context menus used in the control.
 *
 * @hidden
 */
export interface IContextMenu {
    contextMenuElement: HTMLElement;
    currentTarget: HTMLElement;
    previousAction: string;
    createContextMenu(): void;
    open(top: number, left: number, target: HTMLElement): void;
    close(): void;
    destroy(): void;
    OnItemSelected(selectedMenu: string): void;
}
/**
 * This event arguments to send the disabled or hidden contextmenu items details to the C# for blazor alone.
 *
 * @hidden
 */
export interface MouseDownEventArgs {
    /**
     * Specified the hidden contextmenu items to server.
     */
    hidenItems: string[];
    /**
     * Specified the disabled contextmenu items to server.
     */
    disabledItems: string[];
    /**
     * Specified the cancel the event.
     */
    isCancel: boolean;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/base/navigation-pane.d.ts
/**
 * The `NavigationPane` module is used to handle navigation pane for thumbnail and bookmark navigation of PDF viewer.
 *
 * @hidden
 */
export  class NavigationPane {
    private pdfViewer;
    private pdfViewerBase;
    private sideBarResizer;
    private sideBarContentSplitter;
    private sideBarTitleContainer;
    private thumbnailWidthMin;
    private thumbnailButton;
    private bookmarkButton;
    private mainContainerWidth;
    private closeDiv;
    private resizeIcon;
    private isDown;
    private offset;
    private contentContainerScrollWidth;
    private closeButtonLeft;
    private previousX;
    private toolbarElement;
    private toolbar;
    private searchInput;
    private toastObject;
    private isTooltipCreated;
    private isThumbnail;
    private annotationInputElement;
    private annotationXFdfInputElement;
    private annotationContextMenu;
    private isCommentPanelShow;
    private commentPanelWidthMin;
    private commentPanelResizeIcon;
    /**
     * @private
     */
    sideBarTitle: HTMLElement;
    /**
     * @private
     */
    annotationMenuObj: navigations.ContextMenu;
    /**
     * @private
     */
    isNavigationToolbarVisible: boolean;
    /**
     * @private
     */
    isBookmarkListOpen: boolean;
    /**
     * @private
     */
    isNavigationPaneResized: boolean;
    /**
     * @private
     */
    sideBarToolbar: HTMLElement;
    /**
     * @private
     */
    sideBarContent: HTMLElement;
    /**
     * @private
     */
    sideBarContentContainer: HTMLElement;
    /**
     * @private
     */
    sideBarToolbarSplitter: HTMLElement;
    /**
     * @private
     */
    isBookmarkOpen: boolean;
    /**
     * @private
     */
    isThumbnailOpen: boolean;
    /**
     * @private
     */
    commentPanelContainer: HTMLElement;
    /**
     * @private
     */
    commentsContentContainer: HTMLElement;
    /**
     * @private
     */
    accordionContentContainer: HTMLElement;
    /**
     * @private
     */
    commentPanelResizer: HTMLElement;
    /**
     * @private
     */
    restrictUpdateZoomValue: boolean;
    /**
     * Initialize the constructor of navigationPane.
     *
     * @param { PdfViewer } viewer - Specified PdfViewer class.
     * @param { PdfViewerBase } base - The pdfViewerBase.
     */
    constructor(viewer: PdfViewer, base: PdfViewerBase);
    /**
     * @private
     * @returns {void}
     */
    initializeNavigationPane(): void;
    private createNavigationPane;
    /**
     * @private
     * @returns {void}
     */
    adjustPane(): void;
    private getSideToolbarHeight;
    private createCommentPanel;
    private createCommentPanelTitleContainer;
    private createCommentPanelResizeIcon;
    private openAnnotationContextMenu;
    /**
     * @private
     * @returns {void}
     */
    createAnnotationContextMenu(): void;
    private annotationMenuItemSelect;
    private createFileElement;
    private createXFdfFileElement;
    private loadImportAnnotation;
    /**
     * @private
     * @returns {void}
     */
    closeCommentPanelContainer(): void;
    /**
     * @private
     * @param {string} option - The option.
     * @returns {void}
     */
    createNavigationPaneMobile(option: string): void;
    private initiateSearchBox;
    private enableSearchItems;
    private initiateBookmarks;
    private initiateTextSearch;
    /**
     * @private
     * @returns {void}
     */
    goBackToToolbar(): void;
    private setSearchInputWidth;
    private getParentElementSearchBox;
    /**
     * @private
     * @param {string} text - The text.
     * @returns {void}
     */
    createTooltipMobile(text: string): void;
    private createMobileTooltip;
    private onTooltipClose;
    /**
     * @private
     * @returns {void}
     */
    toolbarResize(): void;
    private createSidebarToolBar;
    private onTooltipBeforeOpen;
    /**
     * @private
     * @returns {void}
     */
    enableThumbnailButton(): void;
    /**
     * @private
     * @returns {void}
     */
    enableBookmarkButton(): void;
    private createSidebarTitleCloseButton;
    private createResizeIcon;
    /**
     * @private
     * @returns {void}
     */
    setResizeIconTop(): void;
    /**
     * @private
     * @returns {void}
     */
    setCommentPanelResizeIconTop(): void;
    /**
     * @param {MouseEvent} event - The event.
     * @returns {void}
     */
    private resizeIconMouseOver;
    /**
     * @param {MouseEvent} event - The event.
     * @returns {void}
     */
    private resizePanelMouseDown;
    /**
     * @param {MouseEvent} event - The event.
     * @returns {void}
     */
    private resizeViewerMouseLeave;
    /**
     * @private
     * @returns {number} - Returns the number.
     */
    readonly outerContainerWidth: number;
    /**
     * @private
     * @returns {number} - Returns the number.
     */
    getViewerContainerScrollbarWidth(): number;
    /**
     * @private
     * @returns {number} - Returns the number.
     */
    readonly sideToolbarWidth: number;
    /**
     * @private
     * @returns {number} - Returns the number.
     */
    readonly sideBarContentContainerWidth: number;
    /**
     * @private
     * @returns {number} - Returns the number.
     */
    readonly commentPanelContainerWidth: number;
    /**
     * @param {MouseEvent} event - The event.
     * @returns {void}
     */
    private resizePanelMouseMove;
    /**
     * @param {MouseEvent} event - The event.
     * @returns {void}
     */
    private sideToolbarOnClose;
    /**
     * @private
     * @returns {void}
     */
    updateViewerContainerOnClose(): void;
    /**
     * @private
     * @returns {void}
     */
    updateViewerContainerOnExpand(): void;
    /**
     * @private
     * @returns {number} - Returns the number.
     */
    getViewerContainerLeft(): number;
    /**
     * @private
     * @returns {number} - Returns the number.
     */
    getViewerContainerRight(): number;
    /**
     * @private
     * @returns {number} - Returns the number.
     */
    getViewerMainContainerWidth(): number;
    /**
     * @param {MouseEvent} event - The event.
     * @returns {void}
     */
    private sideToolbarOnClick;
    /**
     * @private
     * @returns {void}
     */
    openThumbnailPane: () => void;
    /**
     * @private
     * @returns {void}
     */
    setThumbnailSelectionIconTheme(): void;
    private removeThumbnailSelectionIconTheme;
    private resetThumbnailIcon;
    /**
     * @private
     * @returns {void}
     */
    resetThumbnailView(): void;
    /**
     * @param {MouseEvent} event - The event.
     * @returns {void}
     */
    private bookmarkButtonOnClick;
    private setBookmarkSelectionIconTheme;
    private removeBookmarkSelectionIconTheme;
    private sideToolbarOnMouseup;
    private sideBarTitleOnMouseup;
    /**
     * @private
     * @returns {void}
     */
    openBookmarkcontentInitially(): void;
    /**
     * @private
     * @returns {void}
     */
    disableBookmarkButton(): void;
    /**
     * @param {MouseEvent} event - The event.
     * @returns {void}
     */
    private commentPanelMouseDown;
    /**
     * @param {MouseEvent} event - The event.
     * @returns {void}
     */
    private updateCommentPanelContainer;
    /**
     * @param {MouseEvent} event - The event.
     * @returns {void}
     */
    private commentPanelMouseLeave;
    /**
     * @private
     * @returns {void}
     */
    clear(): void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
    /**
     * @returns {string} - Returns the string.
     */
    getModuleName(): string;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/base/pdfviewer-base.d.ts
/**
 * The `ISize` module is used to handle page size property of PDF viewer.
 *
 * @hidden
 */
export interface ISize {
    width: number;
    height: number;
    top: number;
    rotation?: number;
}
/**
 * The `IPinchZoomStorage` module is used to handle pinch zoom storage of PDF viewer.
 *
 * @hidden
 */
export interface IPinchZoomStorage {
    index: number;
    pinchZoomStorage: object;
}
/**
 * The `IAnnotationCollection` module is used to handle page size property of PDF viewer.
 *
 * @hidden
 */
export interface IAnnotationCollection {
    textMarkupAnnotation: object;
    shapeAnnotation: object;
    measureShapeAnnotation: object;
    stampAnnotations: object;
    stickyNotesAnnotation: object;
    freeTextAnnotation: object;
    signatureAnnotation?: object;
    signatureInkAnnotation?: object;
}
/**
 * @hidden
 */
interface ICustomStampItems {
    customStampName: string;
    customStampImageSource: string;
}
/**
 * The `PdfViewerBase` module is used to handle base methods of PDF viewer.
 *
 * @hidden
 */
export  class PdfViewerBase {
    /**
     * @private
     */
    viewerContainer: HTMLElement;
    /**
     * @private
     */
    contextMenuModule: IContextMenu;
    /**
     * @private
     */
    pageSize: ISize[];
    /**
     * @private
     */
    pageCount: number;
    /**
     * @private
     */
    isReRenderRequired: boolean;
    /**
     * @private
     */
    currentPageNumber: number;
    private previousZoomValue;
    /**
     * @private
     */
    activeElements: ActiveElements;
    /**
     * @private
     */
    mouseDownEvent: Event;
    /**
     * @private
     */
    textLayer: TextLayer;
    /**
     * @private
     */
    pdfViewer: PdfViewer;
    /**
     * @private
     */
    blazorUIAdaptor: BlazorUiAdaptor;
    private unload;
    /**
     * @private
     */
    isDocumentLoaded: boolean;
    /**
     * @private
     */
    documentId: string;
    /**
     * @private
     */
    jsonDocumentId: string;
    /**
     * @private
     */
    renderedPagesList: number[];
    /**
     * @private
     */
    pageGap: number;
    /**
     * @private
     */
    signatureAdded: boolean;
    /**
     * @private
     */
    loadedData: string;
    /**
     * @private
     */
    isFreeTextSelected: boolean;
    /**
     * @private
     */
    formfieldvalue: any;
    private pageLeft;
    private sessionLimit;
    private pageStopValue;
    /**
     * @private
     */
    toolbarHeight: number;
    private pageLimit;
    private previousPage;
    private isViewerMouseDown;
    private isViewerMouseWheel;
    private scrollPosition;
    private sessionStorage;
    /**
     * @private
     */
    pageContainer: HTMLElement;
    /**
     * @private
     */
    isLoadedFormFieldAdded: boolean;
    private scrollHoldTimer;
    private isFileName;
    private pointerCount;
    private pointersForTouch;
    private corruptPopup;
    private passwordPopup;
    private goToPagePopup;
    /**
     * @private
     */
    isPasswordAvailable: boolean;
    private document;
    /**
     * @private
     */
    passwordData: string;
    /**
     * @private
     */
    reRenderedCount: number;
    private passwordInput;
    private promptElement;
    /**
     * @private
     */
    navigationPane: NavigationPane;
    private mouseX;
    private mouseY;
    /**
     * @private
     */
    mouseLeft: number;
    /**
     * @private
     */
    mouseTop: number;
    /**
     * @private
     */
    hashId: string;
    private documentLiveCount;
    /**
     * @private
     */
    mainContainer: HTMLElement;
    /**
     * @private
     */
    viewerMainContainer: HTMLElement;
    private printMainContainer;
    /**
     * @private
     */
    mobileScrollerContainer: HTMLElement;
    /**
     * @private
     */
    mobilePageNoContainer: HTMLElement;
    /**
     * @private
     */
    mobileSpanContainer: HTMLElement;
    /**
     * @private
     */
    mobilecurrentPageContainer: HTMLElement;
    private mobilenumberContainer;
    private mobiletotalPageContainer;
    private touchClientX;
    private touchClientY;
    private previousTime;
    private currentTime;
    private isTouchScrolled;
    private goToPageInput;
    /**
     * @private
     */
    pageNoContainer: HTMLElement;
    private goToPageElement;
    private isLongTouchPropagated;
    private longTouchTimer;
    private isViewerContainerDoubleClick;
    private dblClickTimer;
    /**
     * @private
     */
    pinchZoomStorage: IPinchZoomStorage[];
    private isPinchZoomStorage;
    /**
     * @private
     */
    isTextSelectionDisabled: boolean;
    /**
     * @private
     */
    isPanMode: boolean;
    private dragX;
    private dragY;
    private isScrollbarMouseDown;
    private scrollX;
    private scrollY;
    private ispageMoved;
    private isThumb;
    private isTapHidden;
    private singleTapTimer;
    private tapCount;
    private inputTapCount;
    /**
     * @private
     */
    isInitialLoaded: boolean;
    private loadRequestHandler;
    private unloadRequestHandler;
    private dowonloadRequestHandler;
    private pageRequestHandler;
    private virtualLoadRequestHandler;
    private exportAnnotationRequestHandler;
    private exportFormFieldsRequestHandler;
    private annotationPageList;
    /**
     * @private
     */
    /**
     * @private
     */
    isImportAction: boolean;
    private isImportedAnnotation;
    /**
     * @private
     */
    isAnnotationCollectionRemoved: boolean;
    /**
     * @private
     */
    tool: ToolBase;
    action: any;
    /**
     * @private
     */
    eventArgs: MouseEventArgs;
    /**
     * @private
     */
    inAction: boolean;
    /**
     * @private
     */
    isMouseDown: boolean;
    /**
     * @private
     */
    isStampMouseDown: boolean;
    /**
     * @private
     */
    currentPosition: drawings.PointModel;
    /**
     * @private
     */
    prevPosition: drawings.PointModel;
    private initialEventArgs;
    /**
     * @private
     */
    stampAdded: boolean;
    /**
     * @private
     */
    customStampCount: number;
    /**
     * @private
     */
    isDynamicStamp: boolean;
    /**
     * @private
     */
    isMixedSizeDocument: boolean;
    /**
     * @private
     */
    highestWidth: number;
    /**
     * @private
     */
    highestHeight: number;
    /**
     * @private
     */
    customStampCollection: ICustomStampItems[];
    /**
     * @private
     */
    isAlreadyAdded: boolean;
    /**
     * @private
     */
    isWebkitMobile: boolean;
    /**
     * @private
     */
    isFreeTextContextMenu: boolean;
    /**
     * @private
     */
    signatureModule: Signature;
    /**
     * @private
     */
    isSelection: boolean;
    /**
     * @private
     */
    isAddAnnotation: boolean;
    /**
     * @private
     */
    annotationComments: any;
    /**
     * @private
     */
    isToolbarSignClicked: boolean;
    /**
     * @private
     */
    signatureCount: number;
    /**
     * @private
     */
    isSignatureAdded: boolean;
    /**
     * @private
     */
    isNewSignatureAdded: boolean;
    /**
     * @private
     */
    currentSignatureAnnot: any;
    /**
     * @private
     */
    isInitialPageMode: boolean;
    /**
     * @private
     */
    ajaxData: any;
    /**
     * @private
     */
    documentAnnotationCollections: any;
    /**
     * @private
     */
    annotationRenderredList: number[];
    /**
     * @private
     */
    annotationStorage: any;
    /**
     * @private
     */
    formFieldStorage: any;
    /**
     * @private
     */
    isStorageExceed: boolean;
    /**
     * @private
     */
    isNewStamp: boolean;
    /**
     * @private
     */
    downloadCollections: any;
    /**
     * @private
     */
    isAnnotationAdded: boolean;
    /**
     * @private
     */
    annotationEvent: any;
    /**
     * @private
    */
    isAnnotationDrawn: boolean;
    /**
     * @private
     */
    isAnnotationSelect: boolean;
    /**
     * @private
     */
    isAnnotationMouseDown: boolean;
    /**
     * @private
     */
    isAnnotationMouseMove: boolean;
    /**
     * @private
     */
    validateForm: boolean;
    /**
     * @private
     */
    isMinimumZoom: boolean;
    /**
     * @private
     */
    documentLoaded: boolean;
    private tileRenderCount;
    private tileRequestCount;
    /**
     * @private
     */
    isTileImageRendered: boolean;
    private isDataExits;
    private requestLists;
    private tilerequestLists;
    /**
     * @private
     */
    isToolbarInkClicked: boolean;
    /**
     * @private
     */
    isInkAdded: boolean;
    /**
     * @private
     */
    inkCount: number;
    /**
     * @private
     */
    isAddedSignClicked: boolean;
    /**
     * @private
     */
    imageCount: number;
    /**
     * @private
     */
    isMousedOver: boolean;
    /**
     * @private
     */
    isFormFieldSelect: boolean;
    /**
     * @private
     */
    isFormFieldMouseDown: boolean;
    /**
     * @private
     */
    isFormFieldMouseMove: boolean;
    /**
     * @private
     */
    isFormFieldMousedOver: boolean;
    /**
     * @private
     */
    isPassword: boolean;
    /**
     * @private
     */
    restrictionList: any;
    private isDrawnCompletely;
    /**
     * @private
     */
    isAddComment: boolean;
    /**
     * @private
     */
    isCommentIconAdded: boolean;
    /**
     * @private
     */
    currentTarget: any;
    /**
     * @private
     */
    private fromTarget;
    /**
     * @private
     */
    drawSignatureWithTool: boolean;
    /**
     * @private
     */
    formFieldCollection: any[];
    /**
     * @private
     */
    nonFillableFields: any;
    /**
     * @private
     */
    isInitialField: boolean;
    /**
     * @private
     */
    isTouchDesignerMode: boolean;
    /**
     * @private
     */
    designerModetarget: any;
    /**
     * @private
     */
    isPrint: boolean;
    /**
     * @private
     */
    isJsonImported: boolean;
    /**
     * @private
     */
    isJsonExported: boolean;
    /**
     * @private
     */
    isPageRotated: boolean;
    preventContextmenu: boolean;
    private downloadFileName;
    /**
     * @private
     */
    isFocusField: boolean;
    /**
     * @private
     */
    focusField: any;
    private isMoving;
    /**
     * EJ2CORE-813 - This flag is represent current device is 'iPad' or 'iPhone' or'iPod' device.
     * @private
     */
    isDeviceiOS: Boolean;
    /**
     * Initialize the constructor of PDFViewerBase
     *
     * @param { PdfViewer } viewer - Specified PdfViewer class.
     */
    constructor(viewer: PdfViewer);
    /**
     * @private
     * @returns {void}
     */
    initializeComponent(): void;
    private createMobilePageNumberContainer;
    /**
     * @private
     * @param  {string} documentData - file name or base64 string.
     * @param {string} password - password of the PDF document.
     * @returns {void}
     */
    initiatePageRender(documentData: string, password: string): void;
    /**
     * @private
     */
    initiateLoadDocument(documentId: string, isFileName: boolean, fileName: string): void;
    /**
     * @private
     */
    loadSuccess(documentDetails: any, password?: string): void;
    private mobileScrollContainerDown;
    /**
     * @private
     * @param {MouseEvent} e - default mouse event.
     * @returns {drawings.PointModel} - retuns the bounds.
     */
    relativePosition(e: MouseEvent): drawings.PointModel;
    private setMaximumHeight;
    private applyViewerHeight;
    /**
     * @private
     * @returns {void}
     */
    updateWidth(): void;
    /**
     * @private
     * @returns {void}
     */
    updateHeight(): void;
    /**
     * @private
     * @returns {void}
     */
    updateViewerContainer(): void;
    private updateViewerContainerSize;
    private mobileScrollContainerEnd;
    private createAjaxRequest;
    private updateFormFieldName;
    /**
     * @private
     * @param {string} errorString - The message to be displayed.
     * @returns {void}
     */
    openNotificationPopup(errorString?: string): void;
    /**
     * @private
     * @param {string} errorString - The message to be shown.
     * @returns {void}
     */
    showNotificationPopup(errorString: string): void;
    private requestSuccess;
    private RestrictionEnabled;
    private EnableRestriction;
    private pageRender;
    private renderPasswordPopup;
    private renderCorruptPopup;
    private constructJsonObject;
    private checkDocumentData;
    private setFileName;
    private saveDocumentInfo;
    private saveDocumentHashData;
    private saveFormfieldsData;
    /**
     * @param {boolean} isEnable - Enable or disable the toolbar itema.
     * @returns {void}
     * @private
     */
    enableFormFieldButton(isEnable: boolean): void;
    private updateWaitingPopup;
    /**
     * @private
     * @returns {number} - returned the page value.
     */
    getActivePage(isPageNumber?: boolean): number;
    private createWaitingPopup;
    private showLoadingIndicator;
    private showPageLoadingIndicator;
    /**
     * @param {boolean} isShow - Show or hide print loading indicator.
     * @returns {void}
     * @private
     */
    showPrintLoadingIndicator(isShow: boolean): void;
    private setLoaderProperties;
    /**
     * @param {number} pageNumber - Specify the pageNumber.
     * @returns {void}
     * @private
     */
    updateScrollTop(pageNumber: number): void;
    /**
     * @private
     * @returns {number} - Returns the zoom factor value.
     */
    getZoomFactor(): number;
    /**
     * @private
     * @returns {boolean} - Returns whether the pinch zoom is performed or not.
     */
    getPinchZoomed(): boolean;
    /**
     * @private
     * @returns {boolean} -Returns whether the zoom is performed or not.
     */
    getMagnified(): boolean;
    private getPinchScrolled;
    private getPagesPinchZoomed;
    private getPagesZoomed;
    private getRerenderCanvasCreated;
    /**
     * @private
     * @returns {string} - retrun the docuumentid.
     */
    getDocumentId(): string;
    /**
     * @private
     * @returns {void}
     */
    download(): void;
    /**
     * @private
     * @returns {promise<Blob>} - Returns the blob object.
     */
    saveAsBlob(): Promise<Blob>;
    private saveAsBlobRequest;
    /**
     * @param {boolean} isTriggerEvent - check to trigger the event.
     * @returns {void}
     * @private
     */
    clear(isTriggerEvent: boolean): void;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
    /**
     * @param {PdfViewerBase} proxy - PdfviewerBase class.
     * @returns {void}
     * @private
     */
    unloadDocument(proxy: PdfViewerBase): void;
    private clearCache;
    private setUnloadRequestHeaders;
    private windowSessionStorageClear;
    private updateCommentPanel;
    /**
     * @param {boolean} isMouseDown - check whether the mouse down is triggered.
     * @returns {void}
     * @private
     */
    focusViewerContainer(isMouseDown?: boolean): void;
    private getScrollParent;
    private createCorruptedPopup;
    /**
     * @private
     * @returns {void}
     */
    hideLoadingIndicator(): void;
    private closeCorruptPopup;
    private createPrintPopup;
    private createGoToPagePopup;
    private closeGoToPagePopUp;
    private EnableApplyButton;
    private DisableApplyButton;
    private GoToPageCancelClick;
    private GoToPageApplyClick;
    /**
     * @private
     * @returns {void}
     */
    updateMobileScrollerPosition(): void;
    private createPasswordPopup;
    private passwordCancel;
    private passwordCancelClick;
    private passwordDialogReset;
    /**
     * @private
     * @returns {void}
     */
    applyPassword(): void;
    private createFileInputElement;
    private wireEvents;
    private unWireEvents;
    /**
     * @returns {void}
     */
    private clearSessionStorage;
    /**
     * @private
     * @param {MouseEvent} event - Mouse event.
     * @returns {void}
     */
    onWindowResize: (event?: MouseEvent) => void;
    /**
     * @private
     * @returns {void}
     */
    updateZoomValue(): void;
    /**
     * @private
     * @param {any} annotation - The annotation type of any.
     * @returns {void}
     */
    updateFreeTextProperties(annotation: any): void;
    /**
     * @param {MouseEvent} event - The MouseEvent.
     * @returns {void}
     */
    private viewerContainerOnMousedown;
    /**
     * @private
     * @param {MouseEvent} event - The mouse event.
     * @returns {void}
     */
    mouseDownHandler(event: MouseEvent): void;
    /**
     * @private
     * @param {string} selectedMenu - The selected menu.
     * @returns {void}
     */
    OnItemSelected(selectedMenu: string): void;
    private CommentItemSelected;
    private ScaleRatioSelected;
    private DeleteItemSelected;
    private pasteItemSelected;
    private CutItemSelected;
    private CopyItemSelected;
    private PropertiesItemSelected;
    private TextMarkUpSelected;
    private shapeMenuItems;
    private checkIsRtlText;
    /**
     * @private
     * @param {any} event - Specifies the event.
     * @returns {boolean} - retruned the beolean value.
     */
    isClickWithinSelectionBounds(event: any): boolean;
    private getHorizontalClientValue;
    private getVerticalClientValue;
    private getHorizontalValue;
    private getVerticalValue;
    /**
     * @private
     * @returns {boolean} - retruned the beolean value.
     */
    checkIsNormalText(): boolean;
    /**
     * @param {MouseEvent} event - The MouseEvent.
     * @returns {void}
     */
    private viewerContainerOnMouseup;
    /**
     * @param {WheelEvent} event - The MouseEvent.
     * @returns {void}
     */
    private viewerContainerOnMouseWheel;
    /**
     * @param {KeyboardEvent} event - The KeyboardEvent.
     * @returns {void}
     */
    private onWindowKeyDown;
    /**
     * @param {KeyboardEvent} event - The KeyboardEvent.
     * @returns {void}
     */
    private viewerContainerOnKeyDown;
    private DeleteKeyPressed;
    /**
     * @param {MouseEvent} event - The MouseEvent.
     * @returns {void}
     */
    private viewerContainerOnMousemove;
    /**
     * @param {MouseEvent} event - The MouseEvent.
     * @returns {void}
     */
    private panOnMouseMove;
    /**
     * @private
     * @returns {void}
     */
    initiatePanning(): void;
    /**
     * @private
     * @returns {void}
     */
    initiateTextSelectMode(): void;
    /**
     * @private
     * @returns {void}
    */
    initiateTextSelection(): void;
    private enableAnnotationAddTools;
    /**
     * @param {MouseEvent} event - The MouseEvent.
     * @returns {void}
     */
    private viewerContainerOnMouseLeave;
    /**
     * @param {MouseEvent} event - The MouseEvent.
     * @returns {void}
     */
    private viewerContainerOnMouseEnter;
    /**
     * @param {MouseEvent} event - The MouseEvent.
     * @returns {void}
     */
    private viewerContainerOnMouseOver;
    /**
     * @param {MouseEvent} event - The MouseEvent.
     * @returns {void}
     */
    private viewerContainerOnClick;
    private applySelection;
    /**
     * @param {DragEvent} event - The DragEvent.
     * @returns {void}
     */
    private viewerContainerOnDragStart;
    private viewerContainerOnContextMenuClick;
    private onWindowMouseUp;
    /**
     * @param {TouchEvent} event - The DragEvent.
     * @returns {void}
     */
    private onWindowTouchEnd;
    /**
     * @param {TouchEvent} event - The TouchEvent.
     * @returns {void}
     */
    private viewerContainerOnTouchStart;
    private isDesignerMode;
    private handleTaps;
    private handleTextBoxTaps;
    private onTextBoxDoubleTap;
    private onSingleTap;
    private onDoubleTap;
    /**
     * @param {TouchEvent} event - The TouchEvent.
     * @returns {void}
     */
    private viewerContainerOnLongTouch;
    /**
     * @param {PointerEvent} event - The PointerEvent.
     * @returns {void}
     */
    private viewerContainerOnPointerDown;
    private preventTouchEvent;
    /**
     * @param {TouchEvent} event - The TouchEvent.
     * @returns {void}
     */
    private viewerContainerOnTouchMove;
    /**
     * @param {PointerEvent} event - The TouchEvent.
     * @returns {void}
     */
    private viewerContainerOnPointerMove;
    /**
     * @param {TouchEvent} event - The TouchEvent.
     * @returns {void}
     */
    private viewerContainerOnTouchEnd;
    private renderStampAnnotation;
    /**
     * @param {PointerEvent} event - The PointerEvent.
     * @returns {void}
     */
    private viewerContainerOnPointerEnd;
    private initPageDiv;
    private renderElementsVirtualScroll;
    private renderPageElement;
    private renderPagesVirtually;
    private initiateRenderPagesVirtually;
    private tileRenderPage;
    private renderTileCanvas;
    private calculateImageWidth;
    private renderPage;
    private onPageRender;
    /**
     * @private
     * @param {number} pageIndex - page index for rendering the annotation.
     * @returns {void}
     */
    renderAnnotations(pageIndex: number, isAddedProgrammatically?: boolean): void;
    private renderTextContent;
    private renderPageContainer;
    private renderPDFInformations;
    private orderPageDivElements;
    /**
     * @param pageDiv
     * @param pageWidth
     * @param pageHeight
     * @param pageNumber
     * @param displayMode
     * @param pageDiv
     * @param pageWidth
     * @param pageHeight
     * @param pageNumber
     * @param displayMode
     * @param pageDiv
     * @param pageWidth
     * @param pageHeight
     * @param pageNumber
     * @param displayMode
     * @private
     */
    renderPageCanvas(pageDiv: HTMLElement, pageWidth: number, pageHeight: number, pageNumber: number, displayMode: string): any;
    /**
     * @private
     * @param {any} pageCanvas - The canvas for rendering the page.
     * @param {any} pageNumber - The page number for adding styles.
     * @returns {void}
     */
    applyElementStyles(pageCanvas: any, pageNumber: number): void;
    /**
     * @private
     * @param  {number} pageIndex - page index for updating positon.
     * @returns {void}
     */
    updateLeftPosition(pageIndex: number): number;
    /**
     * @private
     * @param {number} pageIndex - The page index for positon.
     * @returns {void}
     */
    applyLeftPosition(pageIndex: number): void;
    private updatePageHeight;
    private viewerContainerOnScroll;
    /**
     * @private
     * @param {drawings.Point} clientPoint - The user should provide a x, y coordinates.
     * @returns {number}
     */
    getPageNumberFromClientPoint(clientPoint: drawings.Point): number;
    /**
     * @private
     * @param {drawings.Point} clientPoint - The user should provide a x, y coordinates.
     * @param {number} pageNumber - We need to pass pageNumber.
     * @returns {drawings.Point}
     */
    convertClientPointToPagePoint(clientPoint: drawings.Point, pageNumber: number): drawings.Point;
    /**
     * @private
     * @param {drawings.Point} pagePoint - The user needs to provide a page x, y position.
     * @param {number} pageNumber - We need to pass pageNumber.
     * @returns {drawings.Point}
     */
    convertPagePointToClientPoint(pagePoint: any, pageNumber: number): drawings.Point;
    /**
     * @private
     * @param {drawings.Point} pagePoint - The user needs to provide a page x, y position.
     * @param {number} pageNumber - We need to pass pageNumber.
     * @returns {drawings.Point}
     */
    convertPagePointToScrollingPoint(pagePoint: any, pageNumber: number): drawings.Point;
    private initiatePageViewScrollChanged;
    private renderCountIncrement;
    /**
     * @private
     * @param {number} currentPageNumber - The current pagenumber.
     * @returns {void}
     */
    pageViewScrollChanged(currentPageNumber: number): void;
    private renderPreviousPagesInScroll;
    private downloadDocument;
    private downloadExportAnnotationJson;
    private downloadExportedXFdfAnnotation;
    /**
     * @private
     * @param {string} path - The path for exporting the fields.
     * @returns {void}
     */
    exportFormFields(path?: string): void;
    /**
     * @param source
     * @private
     */
    /**
     * @param isObject
     * @param path
     * @private
     */
    createRequestForExportFormfields(isObject?: boolean, path?: string): any;
    /**
     * @param source
     * @private
     */
    createRequestForImportingFormfields(source: any): void;
    /**
     * @public
     * @returns {any} - Returns the Json data.
     */
    createFormfieldsJsonData(): any;
    private constructJsonDownload;
    /**
     * @private
     * @returns {boolean} - Returns whether annotation is present.
     */
    private isAnnotationsExist;
    /**
     * @private
     * @returns {boolean} - Returns whether fields data is present.
     */
    private isFieldsDataExist;
    /**
     * @private
     * @returns {boolean} - Returns annotations page number list.
     */
    private getAnnotationsPageList;
    /**
     * @private
     * @returns {boolean} - Returns form fields page number list.
     */
    private getFormFieldsPageList;
    /**
     * @private
     * @param {string} annotationID - The annotationID.
     * @returns {any} - Returns collection of type.
     */
    checkFormFieldCollection(annotationID: string): any;
    /**
     * @private
     * @returns {boolean} - Returns whether freetext module is enabled.
     */
    isFreeTextAnnotationModule(): boolean;
    private createRequestForDownload;
    /**
     * @param pageWidth
     * @private
     */
    getTileCount(pageWidth: any): number;
    private createRequestForRender;
    private pageRequestSent;
    /**
     * @private
     * @param {string} status - The status message.
     * @param {string} errorMessage - The error message.
     * @param {string} action - The action.
     * @returns {void}
     */
    onControlError(status: number, errorMessage: string, action: string): void;
    /**
     * @param pageIndex
     * @private
     */
    getStoredData(pageIndex: number, isTextSearch?: boolean): any;
    /**
     * @private
     * @param  {any} data - The data.
     * @param {number} pageIndex - The pageIndex.
     * @param {number} tileX - The tileX.
     * @param {number} tileY - The tileY.
     * @returns {void}
     */
    storeWinData(data: any, pageIndex: number, tileX?: number, tileY?: number): void;
    /**
     * @private
     * @param {XMLHttpRequest} request - The Xml request.
     * @returns {void}
     */
    setCustomAjaxHeaders(request: XMLHttpRequest): void;
    /**
     * @private
     * @param {number} pageIndex - Page index.
     * @returns {object}
     */
    getPinchZoomPage(pageIndex: number): object;
    /**
     * @private
     * @param {number} pageIndex - current page index.
     * @param {number} zoomFactor - cuurent zoom factor
     * @returns {string}
     */
    getWindowSessionStorage(pageIndex: number, zoomFactor: number): string;
    /**
     * @private
     * @param {number} pageIndex - current page index.
     * @param {number} tileX - cuurent tile x
     * @param {number} tileY - cuurent tile y
     * @param {number} zoomFactor - cuurent zoom factor
     * @returns {string}
     */
    getWindowSessionStorageTile(pageIndex: number, tileX: number, tileY: number, zoomFactor: number): string;
    /**
     * @private
     * @returns {number}
     */
    retrieveCurrentZoomFactor(): number;
    private manageSessionStorage;
    private createBlobUrl;
    private getRandomNumber;
    private createGUID;
    /**
     * @private
     * @param {MouseEvent} event - The mouse event.
     * @param {boolean} isNeedToSet - Is need to test.
     * @returns {boolean} - Returns true or false.
     */
    isClickedOnScrollBar(event: MouseEvent, isNeedToSet?: boolean): boolean;
    private setScrollDownValue;
    /**
     * @private
     * @returns {void}
     */
    disableTextSelectionMode(): void;
    /**
     * @private
     * @param {string} idString - The Id string.
     * @returns {HTMLElement} - The html element.
     */
    getElement(idString: string): HTMLElement;
    /**
     * @private
     * @param {number} pageIndex - The pageIndex
     * @returns {number} - Returns number
     */
    getPageWidth(pageIndex: number): number;
    /**
     * @private
     * @param {number} pageIndex - The pageIndex
     * @returns {number} - Returns number
     */
    getPageHeight(pageIndex: number): number;
    /**
     * @private
     * @param {number} pageIndex - The pageIndex.
     * @returns {number} - Returns number
     */
    getPageTop(pageIndex: number): number;
    private isAnnotationToolbarHidden;
    private isFormDesignerToolbarHidded;
    /**
     * @private
     * @returns {boolean} - Returns true or false.
     */
    getTextMarkupAnnotationMode(): boolean;
    private isNewFreeTextAnnotation;
    private getCurrentTextMarkupAnnotation;
    /**
     * @private
     * @returns {number} - Returns page number.
     */
    getSelectTextMarkupCurrentPage(): number;
    /**
     * @private
     * @returns {boolean} - Retunrs true or false.
     */
    getAnnotationToolStatus(): boolean;
    /**
     * @private
     * @returns {boolean} - Retunrs true or false.
     */
    getPopupNoteVisibleStatus(): boolean;
    /**
     * @private
     * @returns {TextMarkupAnnotation} - TextMarkupAnnotation.
     */
    isTextMarkupAnnotationModule(): TextMarkupAnnotation;
    /**
     * @private
     * @returns {boolean} - Returns true or false.
     */
    isShapeAnnotationModule(): boolean;
    /**
     * @private
     * @returns {boolean} - Retunrs true or false.
     */
    isFormDesignerModule(): boolean;
    /**
     * @private
     * @returns {boolean} - Retunrs true or false.
     */
    isCalibrateAnnotationModule(): boolean;
    /**
     * @private
     * @returns {boolean} - Retunrs true or false.
     */
    isStampAnnotationModule(): boolean;
    /**
     * @private
     * @returns {boolean} - Retunrs true or false.
     */
    isInkAnnotationModule(): boolean;
    /**
     * @private
     * @returns {boolean} - Retunrs true or false.
     */
    isCommentAnnotationModule(): boolean;
    /**
     * @private
     * @returns {boolean} - Retunrs true or false.
     */
    isShapeBasedAnnotationsEnabled(): boolean;
    /**
     * @private
     * @param {MouseEvent | PointerEvent | TouchEvent} e - Returns event.
     * @returns {drawings.PointModel} - Returns points.
     */
    getMousePosition(e: MouseEvent | PointerEvent | TouchEvent): drawings.PointModel;
    private getMouseEventArgs;
    /**
     * @private
     * @param {PdfAnnotationBaseModel} obj - The object.
     * @param {drawings.PointModel} position - The position.
     * @returns {Actions | string} - Returns the string.
     */
    findToolToActivate(obj: PdfAnnotationBaseModel, position: drawings.PointModel): Actions | string;
    private inflate;
    checkResizeHandles(diagram: PdfViewer, element: drawings.DrawingElement, position: drawings.PointModel, matrix: drawings.Matrix, x: number, y: number): Actions;
    checkForResizeHandles(diagram: PdfViewer, element: drawings.DrawingElement, position: drawings.PointModel, matrix: drawings.Matrix, x: number, y: number): Actions;
    /**
     * @private
     * @param {string} fieldID - The fieldID
     * @returns {boolean} - Returns true or false.
     */
    checkSignatureFormField(fieldID: string): boolean;
    /**
     * @private
     * @param {MouseEvent | TouchEvent} evt - The event.
     * @returns {void}
     */
    diagramMouseMove(evt: MouseEvent | TouchEvent): void;
    private updateDefaultCursor;
    /**
     * @private
     * @param {MouseEvent | TouchEvent} evt - The event.
     * @returns {void}
     */
    diagramMouseLeave(evt: MouseEvent | TouchEvent): void;
    private diagramMouseActionHelper;
    private setCursor;
    private setResizerCursorType;
    /**
     * @private
     * @param {Actions | string} action - The actions.
     * @returns {ToolBase} - Returns tools.
     */
    getTool(action: Actions | string): ToolBase;
    /**
     * @private
     * @param {MouseEvent | TouchEvent} evt - The events.
     * @returns {void}
     */
    diagramMouseUp(evt: MouseEvent | TouchEvent): void;
    /**
     * @private
     * @param {HTMLElement} target - The target.
     * @returns {boolean} - Returns true or false.
     */
    skipPreventDefault(target: HTMLElement): boolean;
    private isMetaKey;
    /**
     * @private
     * @param {MouseEvent | TouchEvent} evt - The events.
     * @returns {void}
     */
    diagramMouseDown(evt: MouseEvent | TouchEvent): void;
    /**
     * @private
     */
    exportAnnotationsAsObject(): any;
    /**
     * @private
     * @param {string} type - The type.
     */
    getItemFromSessionStorage(type: string): any;
    /**
     * @param textDiv
     * @param left
     * @param top
     * @param fontHeight
     * @param width
     * @param height
     * @param isPrint
     * @param textDiv
     * @param left
     * @param top
     * @param fontHeight
     * @param width
     * @param height
     * @param isPrint
     * @param textDiv
     * @param left
     * @param top
     * @param fontHeight
     * @param width
     * @param height
     * @param isPrint
     * @param textDiv
     * @param left
     * @param top
     * @param fontHeight
     * @param width
     * @param height
     * @param isPrint
     * @param textDiv
     * @param left
     * @param top
     * @param fontHeight
     * @param width
     * @param height
     * @param isPrint
     * @private
     */
    setStyleToTextDiv(textDiv: HTMLElement, left: number, top: number, fontHeight: number, width: number, height: number, isPrint: boolean): void;
    /**
     * @param number
     * @private
     */
    ConvertPointToPixel(number: any): any;
    /**
     * @private
     */
    setItemInSessionStorage(formFieldsData: any, type: string): void;
    /**
     * @private
     */
    exportFormFieldsAsObject(): any;
    /**
     * @param annotationDataFormat
     * @param isXfdf
     * @param annotationDataFormat
     * @param isXfdf
     * @param annotationDataFormat
     * @param isXfdf
     * @private
     */
    /**
     * @private
     * @param {AnnotationDataFormat} annotationDataFormat - The annotationDataFormat.
     * @returns {void}
     */
    exportAnnotations(annotationDataFormat?: AnnotationDataFormat): void;
    /**
     * @param isObject
     * @param annotationDataFormat
     * @param isBase64String
     * @private
     */
    createRequestForExportAnnotations(isObject?: boolean, annotationDataFormat?: AnnotationDataFormat, isBase64String?: boolean): any;
    private createRequestForImportAnnotations;
    /**
     * @private
     * @param {string} errorDetails - The error details.
     * @returns {void}
     */
    openImportExportNotificationPopup(errorDetails: string): void;
    private reRenderAnnotations;
    /**
     * @param pageNumber
     * @private
     */
    private updateImportedAnnotationsInDocumentCollections;
    /**
     * @param pageIndex
     * @param pageCollections
     * @param pageIndex
     * @param pageCollections
     * @private
     */
    checkDocumentCollectionData(pageIndex: number, pageCollections?: any): any;
    private findImportedAnnotations;
    private drawPageAnnotations;
    private checkSignatureCollections;
    private checkAnnotationCollections;
    private checkAnnotationCommentsCollections;
    private selectAnnotationCollections;
    private saveImportedAnnotations;
    private savePageAnnotations;
    private updateDocumentAnnotationCollections;
    /**
     * @private
     */
    createAnnotationJsonData(): any;
    private combineImportedData;
    /**
     * @private
     * @returns {boolean} - Returns true or false.
     */
    updateExportItem(): boolean;
    private isFreeTextAnnotation;
    private checkImportedData;
    private updateAnnotationsInSessionStorage;
    /**
     * @param points
     * @private
     */
    checkAnnotationWidth(points: any): object;
    deleteAnnotations(): void;
    /**
     * @param pageNumber
     * @param isObject
     * @param pageNumber
     * @param isObject
     * @private
     */
    createAnnotationsCollection(pageNumber?: number, isObject?: boolean): any;
    /**
     * @private
     */
    /**
     * @param bounds
     * @private
     */
    convertBounds(bounds: any, isRect?: boolean, isStamp?: boolean): any;
    private ConvertPixelToPoint;
    private convertVertexPoints;
    private updateComments;
    /**
     * @private
     */
    removeFocus(): any;
    /**
     * @private
     */
    updateDocumentEditedProperty(isEdited: boolean): any;
    /**
    * @private
    */
    getWindowDevicePixelRatio(): any;
    /**
    * @private
    */
    getZoomRatio(zoom?: any): any;
    /**
    * @private
    */
    getRotationAngle(originalRotation: number, pageNumber: number): any;
    /**
   * @private
   */
    calculateVertexPoints(Rotate: number, pageNumber: number, vertexPoints: any, originalRotation?: number): any;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/base/signature.d.ts
/**
 * @hidden
 */
export interface ISignAnnotation {
    strokeColor: string;
    opacity: number;
    bounds: IRectCollection;
    pageIndex: number;
    shapeAnnotationType: string;
    thickness: number;
    id: string;
    data: string;
    signatureName: string;
    fontFamily?: string;
    fontSize?: string;
}
/**
 * @hidden
 */
interface IRectCollection {
    left: number;
    top: number;
    width: number;
    height: number;
}
/**
 * @hidden
 */
export  class Signature {
    private pdfViewer;
    private pdfViewerBase;
    private mouseDetection;
    private mouseMoving;
    private canvasTouched;
    private signatureImageWidth;
    private signatureImageHeight;
    private oldX;
    private mouseX;
    private oldY;
    private mouseY;
    private newObject;
    /**
     * @private
     */
    outputString: string;
    /**
     * @private
     */
    drawOutputString: string;
    /**
    * @private
    */
    imageOutputString: string;
    /**
     * @private
     */
    signatureDialog: popups.Dialog;
    /**
     * @private
     */
    signaturecollection: any;
    /**
     * @private
     */
    outputcollection: any;
    /**
     * @private
     */
    signAnnotationIndex: any;
    /**
     * @private
    */
    fontName: string;
    private fontsign;
    private signfontStyle;
    private signtypevalue;
    private signfont;
    private signHeight;
    private signWidth;
    private signaturetype;
    private tabObj;
    private isSaveSignature;
    private isSaveInitial;
    private isInitialFiledSaveSignature;
    private isSignatureFieldsSaveSignature;
    private saveSignatureString;
    private saveInitialString;
    /**
     * @private
     */
    saveImageString: string;
    private signatureImageString;
    private initialImageString;
    /**
     * @private
     */
    maxSaveLimit: number;
    /**
     * Initialize the constructor of blazorUIadapater.
     * @private
     * @param { PdfViewer } pdfViewer - Specified PdfViewer class.
     * @param { PdfViewerBase } pdfViewerBase - The pdfViewerBase.
     */
    constructor(pdfViewer: PdfViewer, pdfViewerBase: PdfViewerBase);
    /**
     * @private
     * @returns {void}
     */
    createSignaturePanel(): void;
    private drawSavedSignature;
    private hideSignatureCheckbox;
    private saveSignatureCheckbox;
    private hideCheckboxParent;
    private saveSignatureImage;
    /**
     * @param type
     * @private
     */
    addSignature(type?: any): void;
    private checkSaveFiledSign;
    private addSignatureInPage;
    private typeAddSignature;
    private imageAddSignature;
    private updateSignatureTypeValue;
    /**
     * @private
     * @returns {void}
     */
    hideSignaturePanel(): void;
    private bindTypeSignatureClickEvent;
    private bindDrawSignatureClickEvent;
    private typeSignatureclicked;
    private createSignatureCanvas;
    private select;
    private handleSelectEvent;
    private enableCreateSignatureButton;
    private showHideSignatureTab;
    /**
     * @private
     * @returns {void}
     */
    createSignatureFileElement(): void;
    private uploadSignatureImage;
    private addStampImage;
    private renderSignatureText;
    private typeSignatureclick;
    /**
     * @param bounds
     * @param position
     * @private
     */
    addSignatureCollection(bounds?: any, position?: any): void;
    /**
     * @private]
     * @param {number} limit - The limit.
     * @returns {number} - Returns number.
     */
    getSaveLimit(limit: number): number;
    /**
     * @private
     * @returns {void}
     */
    RenderSavedSignature(): void;
    /**
     * @private
     * @returns {void}
     */
    updateCanvasSize(): void;
    private setTabItemWidth;
    private signaturePanelMouseDown;
    private enableCreateButton;
    private enableClearbutton;
    private signaturePanelMouseMove;
    private findMousePosition;
    private drawMousePosition;
    private drawSignatureInCanvas;
    private signaturePanelMouseUp;
    private signaturePanelMouseLeave;
    private convertToPath;
    private linePath;
    private movePath;
    /**
     * @private
     * @returns {void}
     */
    clearSignatureCanvas(type?: any): void;
    /**
     * @private
     * @returns {void}
     */
    closeSignaturePanel(): void;
    /**
     * @private
     * @returns {string} - Returns the string.
     */
    saveSignature(): string;
    private checkDefaultFont;
    /**
     * @param colorString
     * @private
     */
    getRgbCode(colorString: string): any;
    /**
     * @private
     * @param {number} left - The left.
     * @param {number} top - The top.
     * @returns {void}
     */
    renderSignature(left: number, top: number): void;
    /**
     * @param annotationCollection
     * @param pageIndex
     * @param isImport
     * @private
     */
    renderExistingSignature(annotationCollection: any, pageIndex: number, isImport: boolean): void;
    /**
     * @param pageNumber
     * @param annotations
     * @private
     */
    storeSignatureData(pageNumber: number, annotations: any): void;
    /**
     * @param property
     * @param pageNumber
     * @param annotationBase
     * @param isSignatureEdited
     * @private
     */
    modifySignatureCollection(property: string, pageNumber: number, annotationBase: any, isSignatureEdited?: boolean): ISignAnnotation;
    /**
     * @param annotation
     * @param pageNumber
     * @private
     */
    storeSignatureCollections(annotation: any, pageNumber: number): void;
    private checkSignatureCollection;
    /**
     * @param signature
     * @private
     */
    updateSignatureCollection(signature: any): void;
    /**
     * @param pageNumber
     * @param signature
     * @private
     */
    addInCollection(pageNumber: number, signature: any): void;
    private getAnnotations;
    private manageAnnotations;
    /**
     * @private
     * @param {boolean} isShow - Returns the true or false.
     * @returns {void}
     */
    showSignatureDialog(isShow: boolean): void;
    /**
     * @private
     * @returns {void}
     */
    setAnnotationMode(): void;
    /**
     * @private
     * @returns {void}
     */
    setInitialMode(): void;
    /**
     * @param number
     * @private
     */
    ConvertPointToPixel(number: any): any;
    /**
     * @param signature
     * @param pageIndex
     * @param isImport
     * @private
     */
    updateSignatureCollections(signature: any, pageIndex: number, isImport?: boolean): any;
    /**
     * @private
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/base/spinner.d.ts
export  type createElementParams = (tag: string, prop?: {
    id?: string;
    className?: string;
    innerHTML?: string;
    styles?: string;
    attrs?: {
        [key: string]: string;
    };
}) => HTMLElement;
/**
 * Defines the type of spinner.
 */
export  type SpinnerType = 'Material' | 'Fabric' | 'Bootstrap' | 'HighContrast' | 'Bootstrap4';
/**
 * Function to change the Spinners in a page globally from application end.
 * ```
 * E.g : blazorSpinner({ action: "Create", options: {target: targetElement}, type: "" });
 * ```
 *
 * @private
 * @param {string} action - The action.
 * @param {CreateArgs} options - The options
 * @param {string} target - The target
 * @param {string} type - the type
 * @returns {void}
 */
export  function Spinner(action: string, options: CreateArgs, target: string, type: string): void;
/**
 * Create a spinner for the specified target element.
 * ```
 * E.g : createSpinner({ target: targetElement, width: '34px', label: 'Loading..' });
 * ```
 * @private
 * @param  {SpinnerArgs} args - The SpinnerArgs.
 * @param {createElementParams} internalCreateElement - The internalCreateElement
 * @returns {void}
 */
export  function createSpinner(args: SpinnerArgs, internalCreateElement?: createElementParams): void;
/**
 * Function to show the Spinner.
 * @private
 * @param {HTMLElement} container - The container.
 * @returns {void}
 */
export  function showSpinner(container: HTMLElement): void;
/**
 * Function to hide the Spinner.
 * @private
 * @param {HTMLElement} container - Specify the target of the Spinner.
 * @returns {void}
 */
export  function hideSpinner(container: HTMLElement): void;
/**
 * Function to change the Spinners in a page globally from application end.
 * ```
 * E.g : setSpinner({ cssClass: 'custom-css';
 type: 'Material' });
 * ```
 * @private
 * @param {SetSpinnerArgs} args - The args.
 * @param {createElementParams} internalCreateElement - The internalCreateElement.
 * @returns {void}
 */
export  function setSpinner(args: SetSpinnerArgs, internalCreateElement?: createElementParams): void;
/**
 * Arguments to create a spinner for the target.These properties are optional.
 */
export interface SpinnerArgs {
    /**
     * Target element to the Spinner.
     * ```
     * E.g : createSpinner({ target: element });
     * ```
     */
    target: HTMLElement;
    /**
     *  To set the width of the Spinner.
     */
    width?: string | number;
    /**
     *  To set the label to the Spinner element.
     */
    label?: string;
    /**
     *  Sets the CSS classes to root element of the Spinner which helps to customize the complete UI styles.
     */
    cssClass?: string;
    /**
     *  Specify the template content to be displayed in the Spinner.
     */
    template?: string;
    /**
     *  Specify the type of the Spinner.
     */
    type?: SpinnerType;
}
/**
 * Arguments to change the Spinners in a page globally from application end.
 */
export interface SetSpinnerArgs {
    /**
     *  Specify the template content to be displayed in the Spinner.
     */
    template?: string;
    /**
     *  Sets the CSS classes to root element of the Spinner which helps to customize the complete UI styles.
     */
    cssClass?: string;
    /**
     *  Specify the type of the Spinner.
     */
    type?: SpinnerType;
}
/**
 * Arguments to change the `Blazor` Spinners in a page globally from application end.
 */
export interface SetArgs {
    /**
     *  Sets the CSS classes to root element of the Spinner which helps to customize the complete UI styles.
     */
    cssClass?: string;
    /**
     *  Specify the type of the Spinner.
     */
    type?: SpinnerType;
}
/**
 * Arguments to create a `Blazor` spinner for the target.
 */
export interface CreateArgs {
    /**
     * Target element to the Spinner.
     * ```
     * E.g : createSpinner({ target: element });
     * ```
     */
    target: string;
    /**
     *  To set the width of the Spinner.
     */
    width?: string | number;
    /**
     *  To set the label to the Spinner element.
     */
    label?: string;
    /**
     *  Sets the CSS classes to root element of the Spinner which helps to customize the complete UI styles.
     */
    cssClass?: string;
    /**
     *  Specify the type of the Spinner.
     */
    type?: SpinnerType;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/base/text-layer.d.ts
/**
 * TextLayer module is used to handle the text content on the control.
 *
 * @hidden
 */
export  class TextLayer {
    private pdfViewer;
    private pdfViewerBase;
    private notifyDialog;
    /**
     * @private
     */
    isMessageBoxOpen: boolean;
    private textBoundsArray;
    /**
     * @private
     */
    characterBound: any[];
    /**
     * @param {PdfViewer} pdfViewer - The PdfViewer.
     * @param {PdfViewerBase} pdfViewerBase - The PdfViewerBase.
     * @private
     */
    constructor(pdfViewer: PdfViewer, pdfViewerBase: PdfViewerBase);
    /**
     * @param {number} pageNumber - The pageNumber.
     * @param {number} pageWidth - The pageWidth.
     * @param {number} pageHeight - The pageHeight.
     * @param {HTMLElement} pageDiv - The pageDiv.
     * @returns {HTMLElement} - The HTMLElement.
     * @private
     */
    addTextLayer(pageNumber: number, pageWidth: number, pageHeight: number, pageDiv: HTMLElement): HTMLElement;
    /**
     * @param {number} pageNumber - The pageNumber.
     * @param {any} textContents - The textContents.
     * @param {any} textBounds - The textBounds.
     * @param {any} rotation - The rotation.
     * @returns {void}
     * @private
     */
    renderTextContents(pageNumber: number, textContents: any, textBounds: any, rotation: any): void;
    /**
     * @param pageNumber
     * @param textContents
     * @param textBounds
     * @param rotation
     * @param isTextSearch
     * @param pageNumber
     * @param textContents
     * @param textBounds
     * @param rotation
     * @param isTextSearch
     * @private
     */
    resizeTextContents(pageNumber: number, textContents: any, textBounds: any, rotation: any, isTextSearch?: boolean): void;
    private applyTextRotation;
    private setTextElementProperties;
    /**
     * @param {number} pageNumber - The pageNumber.
     * @returns {void}
     * @private
     */
    resizeTextContentsOnZoom(pageNumber: number): void;
    private resizeExcessDiv;
    /**
     * @private
     * @param {boolean} isPinchZoomed - The isPinchZoomed.
     * @returns {void}
     */
    clearTextLayers(isPinchZoomed?: boolean): void;
    private removeElement;
    private removeForeignObjects;
    /**
     * @param pageNumber
     * @param divId
     * @param fromOffset
     * @param toOffset
     * @param textString
     * @param className
     * @private
     */
    convertToSpan(pageNumber: number, divId: number, fromOffset: number, toOffset: number, textString: string, className: string): void;
    /**
     * @param startPage
     * @param endPage
     * @param anchorOffsetDiv
     * @param focusOffsetDiv
     * @param anchorOffset
     * @param focusOffset
     * @private
     */
    applySpanForSelection(startPage: number, endPage: number, anchorOffsetDiv: number, focusOffsetDiv: number, anchorOffset: number, focusOffset: number): void;
    /**
     * @private
     * @returns {void}
     */
    clearDivSelection(): void;
    private setStyleToTextDiv;
    private getTextSelectionStatus;
    /**
     * @param {boolean} isAdd - The isAdd.
     * @returns {void}
     * @private
     */
    modifyTextCursor(isAdd: boolean): void;
    /**
     * @param {Selection} selection - The Selection.
     * @returns {boolean} - Returns true or false.
     * @private
     */
    isBackWardSelection(selection: Selection): boolean;
    /**
     * @param {Node} element - The element.
     * @returns {number} - Returns number.
     * @private
     */
    getPageIndex(element: Node): number;
    /**
     * @param {Node} element - The element.
     * @param {number} pageIndex - The pageIndex.
     * @returns {number} - Returns number.
     * @private
     */
    getTextIndex(element: Node, pageIndex: number): number;
    private getPreviousZoomFactor;
    /**
     * @private
     * @returns {boolean} - Returns true or false.
     */
    getTextSearchStatus(): boolean;
    /**
     * @param {string} text - The text.
     * @returns {void}
     * @private
     */
    createNotificationPopup(text: string): void;
    /**
     * @returns {void}
     */
    private closeNotification;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/base/types.d.ts
/**
 * Enum toolbarItem for toolbar settings
 */
export  type ToolbarItem = 'OpenOption' | 'PageNavigationTool' | 'MagnificationTool' | 'PanTool' | 'SelectionTool' | 'SearchOption' | 'PrintOption' | 'DownloadOption' | 'UndoRedoTool' | 'AnnotationEditTool' | 'FormDesignerEditTool' | 'CommentTool' | 'SubmitForm';
/**
 * Enum AnnotationToolbarItem for annotation toolbar settings
 */
export  type AnnotationToolbarItem = 'HighlightTool' | 'UnderlineTool' | 'StrikethroughTool' | 'ShapeTool' | 'CalibrateTool' | 'ColorEditTool' | 'StrokeColorEditTool' | 'ThicknessEditTool' | 'OpacityEditTool' | 'AnnotationDeleteTool' | 'StampAnnotationTool' | 'HandWrittenSignatureTool' | 'InkAnnotationTool' | 'FreeTextAnnotationTool' | 'FontFamilyAnnotationTool' | 'FontSizeAnnotationTool' | 'FontStylesAnnotationTool' | 'FontAlignAnnotationTool' | 'FontColorAnnotationTool' | 'CommentPanelTool';
/**
 * Enum value of form designer toolbar item.
 */
export  type FormDesignerToolbarItem = 'TextboxTool' | 'PasswordTool' | 'CheckBoxTool' | 'RadioButtonTool' | 'DropdownTool' | 'ListboxTool' | 'DrawSignatureTool' | 'DeleteTool';
/**
 * Enum LinkTarget for hyperlink navigation
 */
export  type LinkTarget = 'CurrentTab' | 'NewTab' | 'NewWindow';
/**
 * Enum InteractionMode for interaction mode
 */
export  type InteractionMode = 'TextSelection' | 'Pan';
/**
 * Enum type for Signature Items
 */
export  type SignatureItem = 'Signature' | 'Initial';
/**
 * Enum AnnotationType for specifying Annotations
 */
export  type AnnotationType = 'None' | 'Highlight' | 'Underline' | 'Strikethrough' | 'Line' | 'Arrow' | 'Rectangle' | 'Circle' | 'Polygon' | 'Distance' | 'Perimeter' | 'Area' | 'Radius' | 'Volume' | 'FreeText' | 'HandWrittenSignature' | 'Initial' | 'Ink' | 'Stamp' | 'Image' | 'StickyNotes';
/**
 * Enum LineHeadStyle for line and arrow annotation
 */
export  type LineHeadStyle = 'None' | 'Closed' | 'Open' | 'Square' | 'Round' | 'Diamond' | 'Butt';
/**
 * Enum unit for calibration annotation
 */
export  type CalibrationUnit = 'pt' | 'in' | 'mm' | 'cm' | 'p' | 'ft' | 'ft_in' | 'm';
/**
 * Enum for comment status of the annotation
 */
export  enum CommentStatus {
    None = 1,
    Accepted = 2,
    Canceled = 3,
    Completed = 4,
    Rejected = 5
}
/**
 * Enum unit for ContextMenu Actions
 */
export  type ContextMenuAction = 'None' | 'MouseUp' | 'RightClick';
/**
 * Enum unit for FormFieldType
 */
export  type FormFieldType = 'Textbox' | 'Password' | 'CheckBox' | 'RadioButton' | 'DropDown' | 'ListBox' | 'SignatureField' | 'InitialField';
/**
 * Enum for font styles
 */
export  enum FontStyle {
    None = 0,
    Bold = 1,
    Italic = 2,
    Underline = 4,
    Strikethrough = 8
}
/**
 * enum for context menu items
 */
export  enum ContextMenuItem {
    Copy = 0,
    Highlight = 1,
    Cut = 2,
    Underline = 4,
    Paste = 8,
    Delete = 16,
    ScaleRatio = 32,
    Strikethrough = 64,
    Properties = 128,
    Comment = 256
}
/**
 * Enum for signature type
 */
export  enum SignatureType {
    Draw = "Draw",
    Type = "Type",
    Image = "Image"
}
/**
 * Enum unit for text alignment
 */
export  type TextAlignment = 'Left' | 'Right' | 'Center' | 'Justify';
/**
 * Enum unit for Visibility
 */
export  type Visibility = 'visible' | 'hidden';
/**
 * Enum for annotation selector shapes
 */
export  type AnnotationResizerShape = 'Square' | 'Circle';
/**
 * Enum for annotation resizer location
 */
export  enum AnnotationResizerLocation {
    Corners = 1,
    Edges = 2
}
export  enum DisplayMode {
    /** Draw - Display only the draw option in the signature dialog. */
    Draw = 1,
    /** Text - Display only the type option in the signature dialog. */
    Text = 2,
    /** Upload - Display only the upload option in the signature dialog. */
    Upload = 4
}
/**
 * set the ZoomMode on rendering
 */
export  type ZoomMode = 'Default' | 'FitToWidth' | 'FitToPage';
/**
 * Enum for Print Mode
 */
export  type PrintMode = 'Default' | 'NewWindow';
/**
 * Enum for cursor type
 */
export  enum CursorType {
    auto = "auto",
    crossHair = "crosshair",
    e_resize = "e-resize",
    ew_resize = "ew-resize",
    grab = "grab",
    grabbing = "grabbing",
    move = "move",
    n_resize = "n-resize",
    ne_resize = "ne-resize",
    ns_resize = "ns-resize",
    nw_resize = "nw-resize",
    pointer = "pointer",
    s_resize = "s-resize",
    se_resize = "se-resize",
    sw_resize = "sw-resize",
    text = "text",
    w_resize = "w-resize"
}
/**
 * Enum type for Dynamic Stamp Items
 */
export  enum DynamicStampItem {
    Revised = "Revised",
    Reviewed = "Reviewed",
    Received = "Received",
    Approved = "Approved",
    Confidential = "Confidential",
    NotApproved = "NotApproved"
}
/**
 * Enum type for Sign Stamp Items
 */
export  enum SignStampItem {
    Witness = "Witness",
    InitialHere = "InitialHere",
    SignHere = "SignHere",
    Accepted = "Accepted",
    Rejected = "Rejected"
}
/**
 * Enum type for Standard Business Stamp Items
 */
export  enum StandardBusinessStampItem {
    Approved = "Approved",
    NotApproved = "NotApproved",
    Draft = "Draft",
    Final = "Final",
    Completed = "Completed",
    Confidential = "Confidential",
    ForPublicRelease = "ForPublicRelease",
    NotForPublicRelease = "NotForPublicRelease",
    ForComment = "ForComment",
    Void = "Void",
    PreliminaryResults = "PreliminaryResults",
    InformationOnly = "InformationOnly"
}
/**
 * Enum type for allowed interactions for locked annotations
 */
export  enum AllowedInteraction {
    Select = "Select",
    Move = "Move",
    Resize = "Resize",
    Delete = "Delete",
    None = "None",
    PropertyChange = "PropertyChange"
}
/**
 * Enum type for signature mode for signature fields
 */
export  type SignatureFitMode = 'Default' | 'Stretch';
/**
 * Enum type for export annotation file types
 */
export  enum AnnotationDataFormat {
    Json = "Json",
    Xfdf = "Xfdf"
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/bookmark-view/bookmark-view.d.ts
/**
 * BookmarkView module
 */
export  class BookmarkView {
    private pdfViewer;
    private pdfViewerBase;
    private bookmarkView;
    private isBookmarkViewDiv;
    private treeObj;
    private bookmarkRequestHandler;
    bookmarks: any;
    private bookmarkStyles;
    bookmarksDestination: any;
    /**
     * @private
     */
    childNavigateCount: number;
    /**
     * @private
     */
    bookmarkList: lists.ListView;
    /**
     * @param pdfViewer
     * @param pdfViewerBase
     * @param pdfViewer
     * @param pdfViewerBase
     * @private
     */
    constructor(pdfViewer: PdfViewer, pdfViewerBase: PdfViewerBase);
    /**
     * @private
     */
    createRequestForBookmarks(): void;
    /**
     * @private
     */
    renderBookmarkcontent(): void;
    /**
     * @private
     */
    renderBookmarkContentMobile(): void;
    private bookmarkClick;
    private nodeClick;
    private bookmarkPanelBeforeOpen;
    private setHeight;
    /**
     * @private
     */
    setBookmarkContentHeight(): void;
    private navigateToBookmark;
    /**
     * Get Bookmarks of the PDF document being loaded in the ejPdfViewer control
     *
     * @returns any
     */
    getBookmarks(): any;
    /**
     * Navigate To current Bookmark location of the PDF document being loaded in the ejPdfViewer control.
     *
     * @param  {number} pageIndex - Specifies the pageIndex for Navigate
     * @param  {number} y - Specifies the Y coordinates value of the Page
     * @returns void
     */
    goToBookmark(pageIndex: number, y: number): boolean;
    /**
     * @private
     */
    clear(): void;
    /**
     * @private
     */
    destroy(): void;
    /**
     * @private
     */
    getModuleName(): string;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/bookmark-view/index.d.ts
/**
 * export types
 */
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/drawing/action.d.ts
/**
 * @private
 * @param {MouseEvent | TouchEvent} event - Specified the annotaion event.
 * @param {PdfViewerBase} pdfBase - Specified the pdfviewer base element.
 * @param {PdfViewer} pdfViewer - Specified the pdfviewer element.
 * @param {boolean} isOverlapped - Specified the overlapped element or not.
 * @returns {any} - Returns the active element.
 */
export  function findActiveElement(event: MouseEvent | TouchEvent, pdfBase: PdfViewerBase, pdfViewer: PdfViewer, isOverlapped?: boolean): any;
/**
 * @private
 * @param {PdfViewerBase} pdfBase - Specified the pdfviewer base element.
 * @param {PdfViewer} pdfViewer - Specified the pdfviewer element.
 * @param {MouseEvent} event - Specified the annotaion event.
 * @returns {drawings.IElement[]} - Returns the annotaion elements.
 */
export  function findObjectsUnderMouse(pdfBase: PdfViewerBase, pdfViewer: PdfViewer, event: MouseEvent): drawings.IElement[];
/**
 * @private
 * @param {PdfAnnotationBaseModel[]} objects - Specified the annotaion object model.
 * @param {any} event - Specified the annotaion event.
 * @param {PdfViewerBase} pdfBase - Specified the pdfviewer base element.
 * @param {PdfViewer} pdfViewer - Specified the pdfviewer element.
 * @returns {drawings.IElement} - Returns the annotaion element.
 */
export  function findObjectUnderMouse(objects: (PdfAnnotationBaseModel)[], event: any, pdfBase: PdfViewerBase, pdfViewer: PdfViewer): drawings.IElement;
/**
 * @private
 * @param {any} selector - Specified the annotaion selctor.
 * @param {any} currentobject - Specified the current annotaion object.
 * @returns {any} - Returns the leader points.
 */
export  function CalculateLeaderPoints(selector: any, currentobject: any): any;
/**
 * @private
 * @param {drawings.IElement} obj - Specified the annotation element.
 * @param {drawings.PointModel} position - Specified the annotation position value.
 * @param {number} padding - Specified the annotation padding.
 * @returns {drawings.DrawingElement} - Returns the annotation drawing element.
 */
export  function findElementUnderMouse(obj: drawings.IElement, position: drawings.PointModel, padding?: number): drawings.DrawingElement;
/**
 * @private
 * @param {PdfAnnotationBaseModel} obj - Specified the annotation object model.
 * @param {string} key - Specified the annotation key value.
 * @param {Object[]} collection - Specified the annotation collection.
 * @returns {void}
 */
export  function insertObject(obj: PdfAnnotationBaseModel, key: string, collection: Object[]): void;
/**
 * @private
 * @param {drawings.Container} container - Specified the annotaion container.
 * @param {drawings.PointModel} position - Specified the annotation position.
 * @param {number} padding - Specified the annotaion padding value.
 * @returns {drawings.DrawingElement} - Returns the annotation drawing element.
 */
export  function findTargetShapeElement(container: drawings.Container, position: drawings.PointModel, padding?: number): drawings.DrawingElement;
/**
 * @private
 * @param {drawings.PointModel} region - Specified the annotation region point model.
 * @param {PdfAnnotationBaseModel[]} objCollection - Specified the annotation object collections.
 * @returns {PdfAnnotationBaseModel[]} - Returns the annotation object collections.
 */
export  function findObjects(region: drawings.PointModel, objCollection: (PdfAnnotationBaseModel)[], touchPadding: number): (PdfAnnotationBaseModel)[];
/**
 * @private
 * @param {MouseEvent} event - Specified the annotaion mouse event.
 * @param {PdfViewerBase} pdfBase - Specified the pdfBase element.
 * @returns {number} - Returns the active page Id.
 */
export  function findActivePage(event: MouseEvent, pdfBase: PdfViewerBase): number;
/**
 * @hidden
 */
export  class ActiveElements {
    private activePage;
    /**
     * @private
     * @returns {number} - Returns the active page Id.
     */
    /**
    * @private
    * @param {number} offset - The page offset value.
    */
    activePageID: number;
    constructor();
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/drawing/connector-util.d.ts
/**
 * @private
 * @param {PdfAnnotationBaseModel} obj - Specified the annotation object.
 * @param {drawings.PointModel[]} points - Specified the annotation points.
 * @returns {drawings.PointModel[]} - Returns the annotation points model array.
 */
export  function getConnectorPoints(obj: PdfAnnotationBaseModel, points?: drawings.PointModel[]): drawings.PointModel[];
/**
 * @private
 * @param {PdfAnnotationBaseModel} connector - Specified the annotation connector model.
 * @param {drawings.PointModel[]} points - Specified the annotation points.
 * @returns {string} - Returns the annotation path value.
 */
export  function getSegmentPath(connector: PdfAnnotationBaseModel, points: drawings.PointModel[]): string;
/**
 * @private
 * @param {PdfAnnotationBaseModel} connector - Specified the annotation connector model.
 * @param {drawings.PointModel[]} points - Specified the annotation points.
 * @param {drawings.PathElement} element - Specified the annotation element.
 * @returns {drawings.PathElement} - Returns the annotation path element.
 */
export  function updateSegmentElement(connector: PdfAnnotationBaseModel, points: drawings.PointModel[], element: drawings.PathElement): drawings.PathElement;
/**
 * @private
 * @param {PdfAnnotationBaseModel} connector - Specified the annotation connector model.
 * @param {drawings.PathElement} segmentElement - Specified the annotation segment element.
 * @returns {drawings.PathElement} - Returns the annotation path element.
 */
export  function getSegmentElement(connector: PdfAnnotationBaseModel, segmentElement: drawings.PathElement): drawings.PathElement;
/**
 * @private
 * @param {PdfAnnotationBaseModel} obj - Specified the annotation object.
 * @param {drawings.DrawingElement} element - Specified the annotation drawing element.
 * @param {drawings.PointModel} pt - Specified the annotation point.
 * @param {drawings.PointModel} adjacentPoint - Specified the annotation adjacent point.
 * @param {boolean} isSource - Specified the is source value or not.
 * @returns {void}
 */
export  function updateDecoratorElement(obj: PdfAnnotationBaseModel, element: drawings.DrawingElement, pt: drawings.PointModel, adjacentPoint: drawings.PointModel, isSource: boolean): void;
/**
 * @private
 * @param {PdfAnnotationBaseModel} obj - Specified the annotation object.
 * @param {drawings.PointModel} offsetPoint - Specified the annotation offset point.
 * @param {drawings.PointModel} adjacentPoint - Specified the annotation adjacent point.
 * @param {boolean} isSource - Specified the is source value or not.
 * @returns {drawings.PathElement} - Returns the annotation path element.
 */
export  function getDecoratorElement(obj: PdfAnnotationBaseModel, offsetPoint: drawings.PointModel, adjacentPoint: drawings.PointModel, isSource: boolean): drawings.PathElement;
/**
 * @private
 * @param {PdfAnnotationBaseModel} connector - Specified the annotation object.
 * @param {drawings.PointModel[]} pts - Specified the annotation point model array.
 * @returns {drawings.PointModel[]} - Returns the annotation point model array.
 */
export  function clipDecorators(connector: PdfAnnotationBaseModel, pts: drawings.PointModel[]): drawings.PointModel[];
/**
 * @private
 * @param {PdfAnnotationBaseModel} connector - Specified the annotation connector object.
 * @param {drawings.PointModel[]} points - Specified the annotation offset point.
 * @param {boolean} isSource - Specified the is source value or not.
 * @returns {drawings.PointModel} - Returns the annotation point model.
 */
export  function clipDecorator(connector: PdfAnnotationBaseModel, points: drawings.PointModel[], isSource: boolean): drawings.PointModel;
/**
 * @param {PdfAnnotationBaseModel} obj - Specified the annotation object.
 * @param {drawings.PointModel[]} points - Specified the annotation point model array.
 * @param {MeasureAnnotation} measure - Specified the measure annotation object.
 * @param {PdfViewer} pdfviewer - Specified the pdfviewer element.
 * @hidden
 * @returns {drawings.TextElement[]} - Returns the text element collections.
 */
export  function initDistanceLabel(obj: PdfAnnotationBaseModel, points: drawings.PointModel[], measure: MeasureAnnotation, pdfviewer: PdfViewer): drawings.TextElement[];
/**
 * @param {PdfAnnotationBaseModel} obj - Specified the annotation object.
 * @param {drawings.PointModel[]} points - Specified the annotation point model array.
 * @param {MeasureAnnotation} measure - Specified the measure annotation object.
 * @hidden
 * @returns {string} - Returns the distance value.
 */
export  function updateDistanceLabel(obj: PdfAnnotationBaseModel, points: drawings.PointModel[], measure: MeasureAnnotation): string;
/**
 * @param {PdfAnnotationBaseModel} obj - Specified the annotation object.
 * @param {MeasureAnnotation} measure - Specified the measure annotation object.
 * @hidden
 * @returns {string} - Returns the radius label value.
 */
export  function updateRadiusLabel(obj: PdfAnnotationBaseModel, measure: MeasureAnnotation): string;
/**
 * @param {PdfAnnotationBaseModel} obj - Specified the annotation object.
 * @param {drawings.PointModel[]} points - Specified the annotation point model array.
 * @param {MeasureAnnotation} measure - Specified the measure annotation object.
 * @param {PdfViewer} pdfviewer - Specified the pdfviewer element.
 * @hidden
 * @returns {drawings.TextElement[]} - Returns the text element collections.
 */
export  function initPerimeterLabel(obj: PdfAnnotationBaseModel, points: drawings.PointModel[], measure: MeasureAnnotation, pdfviewer: PdfViewer): drawings.TextElement[];
/**
 * @param {PdfAnnotationBaseModel} obj - Specified the annotation object.
 * @param {drawings.PointModel[]} points - Specified the annotation point model array.
 * @param {MeasureAnnotation} measure - Specified the measure annotation object.
 * @hidden
 * @returns {string} - Returns the perimeter label value.
 */
export  function updatePerimeterLabel(obj: PdfAnnotationBaseModel, points: drawings.PointModel[], measure: MeasureAnnotation): string;
/**
 * @param {PdfAnnotationBaseModel} obj - Specified the annotation object.
 * @hidden
 * @returns {void}
 */
export  function removePerimeterLabel(obj: PdfAnnotationBaseModel): void;
/**
 * @param {PdfAnnotationBaseModel} obj - Specified the annotation object.
 * @hidden
 * @returns {void}
 */
export  function updateCalibrateLabel(obj: PdfAnnotationBaseModel): void;
/**
 * Used to find the path for polygon shapes
 *
 * @param {drawings.PointModel[]} collection - Specified the polygon annotaion points collection.
 * @hidden
 * @returns {string} - Returns the polygon annotation path.
 */
export  function getPolygonPath(collection: drawings.PointModel[]): string;
/**
 * @param {PdfAnnotationBaseModel} obj - Specified the annotation object.
 * @param {number} angle - Specified the annotaion rotation angle.
 * @hidden
 * @returns {drawings.TextElement} - Returns the annotation text element.
 */
export  function textElement(obj: PdfAnnotationBaseModel, angle: number): drawings.TextElement;
/**
 * @param {PdfAnnotationBaseModel} obj - Specified the annotation object.
 * @param {drawings.PointModel[]} points - Specified the annotaion leader points.
 * @hidden
 * @returns {drawings.PathElement[]} - Returns the annotation path elements.
 */
export  function initLeaders(obj: PdfAnnotationBaseModel, points: drawings.PointModel[]): drawings.PathElement[];
/**
 * @param {PdfAnnotationBaseModel} obj - Specified the annotation object.
 * @param {drawings.PointModel} point1 - Specified the annotaion leader point1.
 * @param {drawings.PointModel} point2 - Specified the annotaion leader point2.
 * @param {boolean} isSecondLeader - Specified the is second leader or not.
 * @hidden
 * @returns {drawings.PathElement} - Returns the annotation path element.
 */
export  function initLeader(obj: PdfAnnotationBaseModel, point1: drawings.PointModel, point2: drawings.PointModel, isSecondLeader?: boolean): drawings.PathElement;
/**
 * @private
 * @param {PdfAnnotationBaseModel} connector - Specified the annotation connector object.
 * @param {drawings.PointModel} reference - Specified the pointer reference value.
 * @returns {boolean} - Returns true or false.
 */
export  function isPointOverConnector(connector: PdfAnnotationBaseModel, reference: drawings.PointModel): boolean;
/**
 * @param {drawings.PointModel} reference - Specified the pointer reference value.
 * @param {drawings.PointModel} start - Specified the pointer start value.
 * @param {drawings.PointModel} end - Specified the pointer end value.
 * @private
 * @returns {drawings.PointModel} - Returns annotation point model.
 */
export  function findNearestPoint(reference: drawings.PointModel, start: drawings.PointModel, end: drawings.PointModel): drawings.PointModel;
/**
 * @param {drawings.DecoratorShapes} shape - Specified the annotation decorator shapes.
 * @hidden
 * @returns {string} - Returns the annotation decorator shape value.
 */
export  function getDecoratorShape(shape: drawings.DecoratorShapes): string;
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/drawing/dom-util.d.ts
/**
 * @param {ClientRect} bounds - Specified the bounds of the annotation.
 * @param {string} commonStyle  - Specified the annotation styles.
 * @param {HTMLElement} cavas  - Specified the annotation canvas element.
 * @param {number} index - Specified the page index value.
 * @param {PdfViewer} pdfViewer - Specified the pdfviewer element.
 * @hidden
 * @returns {void}
 */
export  function renderAdornerLayer(bounds: ClientRect, commonStyle: string, cavas: HTMLElement, index: number, pdfViewer: PdfViewer): void;
/**
 * @param {string} id - Specified the Id of the svg element.
 * @param {string | number} width - Specified the width of the svg element.
 * @param {string | number} height - Specified the height of the svg element.
 * @hidden
 * @returns {SVGElement} - Returns the svg element.
 */
export  function createSvg(id: string, width: string | number, height: string | number): SVGElement;
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/drawing/drawing-util.d.ts
/**
 * @param {PdfAnnotationBaseModel} obj - Specified the shape annotation object.
 * @hidden
 * @returns {void}
 */
export  function isLineShapes(obj: PdfAnnotationBaseModel): boolean;
/**
 * @param {PdfAnnotationBaseModel | PdfFormFieldBaseModel} obj - Specified the annotation or form fields object.
 * @param {drawings.DrawingElement} element - Specified the annotation drawing element.
 * @returns {void}
 * @hidden
 */
export  function setElementStype(obj: PdfAnnotationBaseModel | PdfFormFieldBaseModel, element: drawings.DrawingElement): void;
/**
 * @param {drawings.PointModel[]} points - Specified the annotation points value.
 * @hidden
 * @returns {number} - Returns the points length.
 */
export  function findPointsLength(points: drawings.PointModel[]): number;
/**
 * @param {drawings.PointModel[]} points - Specified the annotation points value.
 * @hidden
 * @returns {number} - Returns the points length.
 */
export  function findPerimeterLength(points: drawings.PointModel[]): number;
/**
 * @private
 * @param {drawings.DrawingElement} element - Specified the drawing element.
 * @param {Transforms} transform - Specified the transform value.
 * @returns {drawings.BaseAttributes} - Returns the base attributes value.
 */
export  function getBaseShapeAttributes(element: drawings.DrawingElement, transform?: Transforms): drawings.BaseAttributes;
/**
 * Get function
 *
 * @private
 * @param {Function | string} value - Type of the function.
 * @returns {Function} - Returns the function.
 */
export  function getFunction(value: Function | string): Function;
/**
 * @private
 * @param {any} obj - Specified the annotation object.
 * @param {Function | string} additionalProp - Specified the annotation additional properties.
 * @param {string} key - Specified the annotation key value.
 * @returns {Object} - Returns the cloned object.
 */
export  function cloneObject(obj: any, additionalProp?: Function | string, key?: string): Object;
/**
 * @private
 * @param {Object[]} sourceArray - Specified the annotation source collections.
 * @param {Function | string} additionalProp - Specified the annotation additional properties.
 * @param {string} key - Specified the annotation key value.
 * @returns {Object[]} - Returns the cloned object array.
 */
export  function cloneArray(sourceArray: Object[], additionalProp?: Function | string, key?: string): Object[];
/**
 * @private
 * @param {string} propName - Specified the annotation property name.
 * @returns {string[]} - Returns the internal properties.
 */
export  function getInternalProperties(propName: string): string[];
/**
 * @param {PdfAnnotationBaseModel} obj - Specified the annotation object.
 * @param {string} position - Specified the annotation position.
 * @hidden
 * @returns {Leader} - Returns the leader value.
 */
export  function isLeader(obj: PdfAnnotationBaseModel, position: string): Leader;
/**
 * @hidden
 */
export interface Leader {
    leader: string;
    point: drawings.PointModel;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/drawing/drawing.d.ts
/**
 * Renderer module is used to render basic diagram elements
 *
 * @hidden
 */
export  class Drawing {
    private pdfViewer;
    private renderer;
    private svgRenderer;
    private isDynamicStamps;
    constructor(viewer: PdfViewer);
    /**
     * @private
     * @param {PdfViewer} viewer - Specified the pdfViewer element.
     * @returns {void}
     */
    renderLabels(viewer: PdfViewer): void;
    private createNewZindexTable;
    /**
     * @private
     * @param {number} pageId - Specified the page Id.
     * @returns {ZOrderPageTable} - Returns the ZOrder page table.
     */
    getPageTable(pageId: number): ZOrderPageTable;
    /**
     * @private
     * @param {number} index - Specified the page index value.
     * @param {PdfAnnotationBaseModel} obj - Specified the annotation object.
     * @returns {void}
     */
    setZIndex(index: number, obj: PdfAnnotationBaseModel): void;
    /**
     * @private
     * @param {PdfAnnotationBaseModel | PdfFormFieldBaseModel} obj - Specified the annotation object.
     * @returns {PdfAnnotationBaseModel | PdfFormFieldBaseModel} - Returns the annotaion or form fields model.
     */
    initObject(obj: PdfAnnotationBaseModel | PdfFormFieldBaseModel): PdfAnnotationBaseModel | PdfFormFieldBaseModel;
    private initNode;
    /**
     * Allows to initialize the UI of a node
     */
    /**
     * @private
     * @param {PdfAnnotationBaseModel | PdfFormFieldBaseModel} obj - Specified the annotation object.
     * @param {drawings.Container} canvas - Specified the canvas element.
     * @returns {drawings.DrawingElement} - Returns the drawing element.
     */
    init(obj: PdfAnnotationBaseModel | PdfFormFieldBaseModel, canvas: drawings.Container): drawings.DrawingElement;
    private initFormFields;
    private initAnnotationObject;
    private textElement;
    /**
     * @private
     * @param {drawings.DrawingElement} obj - Specified the drawing element.
     * @param {PdfAnnotationBaseModel} node - Specified the node element.
     * @returns {void}
     */
    setNodePosition(obj: drawings.DrawingElement, node: PdfAnnotationBaseModel): void;
    /**
     * @private
     * @param {PdfAnnotationBaseModel} obj - Specified the annotation object.
     * @returns {drawings.Container} - Returns the container element.
     */
    initContainer(obj: PdfAnnotationBaseModel): drawings.Container;
    /**
     * @private
     * @param {PdfAnnotationBaseModel} obj - Specified the annotation object.
     * @returns {drawings.Canvas} - Returns the canvas element.
     */
    initLine(obj: PdfAnnotationBaseModel): drawings.Canvas;
    /**
     * @private
     * @param {PdfAnnotationBaseModel} obj - Specified the annotation object.
     * @returns {PdfAnnotationBaseModel} - Returns the added annotaion object.
     */
    add(obj: PdfAnnotationBaseModel): PdfAnnotationBaseModel;
    /**
     * @private
     * @param {PdfAnnotationBaseModel} obj - Specified the annotation object.
     * @returns {void}
     */
    remove(obj: PdfAnnotationBaseModel): void;
    /**
     * @private
     * @param {number} pageIndex - Specified the page index.
     * @returns {PdfAnnotationBaseModel[]} - Returns the annotation base model collections.
     */
    getPageObjects(pageIndex: number): (PdfAnnotationBaseModel)[];
    /**
     * @private
     * @param {HTMLCanvasElement} diagramLayer - Specified the diagram layer element.
     * @param {number} pageIndex - Specified the page index.
     * @param {string} objectId - Specified the object id.
     * @returns {void}
     */
    refreshCanvasDiagramLayer(diagramLayer?: HTMLCanvasElement, pageIndex?: number, objectId?: string): void;
    /**
     * @private
     * @param {number} index - Specified the page index.
     * @returns {void}
     */
    clearHighlighter(index?: number): void;
    /**
     * @private
     * @param {string} diagramId - Specified the diagram id.
     * @param {number} index - Specified the page index.
     * @returns {SVGSVGElement} Return the svg element.
     */
    getSelectorElement(diagramId: string, index?: number): SVGElement;
    /**
     * @private
     * @param {string} diagramId - Specified the diagram id.
     * @param {number} index - Specified the page index.
     * @returns {SVGSVGElement} Return the svg element.
     */
    getAdornerLayerSvg(diagramId: string, index?: number): SVGSVGElement;
    /**
     * @private
     * @param {number} index - Specified the page index.
     * @returns {void}
     */
    clearSelectorLayer(index?: number): void;
    /**
     * @private
     * @param {number} select - Specified the select value.
     * @param {AnnotationSelectorSettingsModel} currentSelector - Specified the annotation selector element.
     * @param {PdfAnnotationBaseModel} helper - Specified the annotation helper element.
     * @param {boolean} isSelect - Specified the is select or not.
     * @returns {void}
     */
    renderSelector(select?: number, currentSelector?: AnnotationSelectorSettingsModel, helper?: PdfAnnotationBaseModel, isSelect?: boolean): void;
    /**
     * Rotates the given nodes/connectors by the given angle
     *
     * @private
     * @param {PdfAnnotationBaseModel | SelectorModel} obj - Specified the objects to be rotated.
     * @param {number} angle - Specified the angle by which the objects have to be rotated.
     * @param {drawings.PointModel} pivot - Specified the reference point with reference to which the objects have to be rotated.
     * @param {AnnotationSelectorSettingsModel} currentSelector - Specified the current selector value.
     * @returns {void}
     */
    rotate(obj: PdfAnnotationBaseModel | SelectorModel, angle: number, pivot?: drawings.PointModel, currentSelector?: AnnotationSelectorSettingsModel): boolean;
    /**
     * @private
     * @param {PdfAnnotationBaseModel | SelectorModel} parent - Specified the annotation object.
     * @param {PdfAnnotationBaseModel[]} objects - Specified the annotation objects.
     * @param {number} angle - Specified the annotation angle.
     * @param {drawings.PointModel} pivot - Specified the pivot value.
     * @param {boolean} includeParent - Specified the include parent value.
     * @param {AnnotationSelectorSettingsModel} currentSelector - Specified the current selector value.
     * @returns {void}
     */
    rotateObjects(parent: PdfAnnotationBaseModel | SelectorModel, objects: PdfAnnotationBaseModel[], angle: number, pivot?: drawings.PointModel, includeParent?: boolean, currentSelector?: AnnotationSelectorSettingsModel): void;
    private getParentSvg;
    /**
     * @private
     * @param {drawings.DrawingElement} selector - Specified the annotation selector object.
     * @param {HTMLCanvasElement | SVGElement} canvas - Specified the canvas element.
     * @param {any} currentSelector - Specified the current selector value.
     * @param {Transforms} transform - Specfied the transform value.
     * @param {number} enableNode - Specified the node number.
     * @param {boolean} isBorderTickness - Specified is thickness or not.
     * @param {boolean} isSwimlane - Specified is swimlane annotation or not.
     * @param {boolean} isSticky - Specified is sticky annotation or not.
     * @returns {void}
     */
    renderBorder(selector: drawings.DrawingElement, canvas: HTMLCanvasElement | SVGElement, currentSelector?: any, transform?: Transforms, enableNode?: number, isBorderTickness?: boolean, isSwimlane?: boolean, isSticky?: boolean): void;
    /**
     * @private
     * @param {PdfAnnotationBaseModel} type - Specified the annotation object.
     * @param {drawings.BaseAttributes} options - Specified the options value.
     * @param {boolean} isFormFieldSign - Specified is form field sign or not.
     * @returns {void}
     */
    getSignBorder(type: PdfAnnotationBaseModel, options: drawings.BaseAttributes, isFormFieldSign?: boolean): void;
    /**
     * @private
     * @param {PdfAnnotationBaseModel} type - Specified the annotation object.
     * @param {drawings.BaseAttributes} options - Specified the base attributes.
     * @returns {void}
     */
    getBorderSelector(type: PdfAnnotationBaseModel, options: drawings.BaseAttributes): void;
    /**
     * @private
     * @param {string} id - Specified the annotaion id.
     * @param {drawings.DrawingElement} selector - Specified the drawing element.
     * @param {number} cx - Specified the cx number.
     * @param {number} cy - Specified the cy number.
     * @param {HTMLCanvasElement | SVGElement} canvas - Specified the html canvas element.
     * @param {boolean} visible - Specified the annotation visible or not.
     * @param {number} enableSelector - Specified the enable selector value.
     * @param {Transforms} t - Specified the transforms value.
     * @param {boolean} connected - Specified is connected or not.
     * @param {boolean} canMask - Specified is mask or not.
     * @param {Object} ariaLabel - Specified the aria label object.
     * @param {number} count - Specified the count value.
     * @param {string} className - Specified the class name.
     * @param {AnnotationSelectorSettingsModel} currentSelector - Specified the annotation selector settings.
     * @returns {void}
     */
    renderCircularHandle(id: string, selector: drawings.DrawingElement, cx: number, cy: number, canvas: HTMLCanvasElement | SVGElement, visible: boolean, enableSelector?: number, t?: Transforms, connected?: boolean, canMask?: boolean, ariaLabel?: Object, count?: number, className?: string, currentSelector?: AnnotationSelectorSettingsModel): void;
    /**
     * @private
     * @param {PdfAnnotationBaseModel} type - Specified the annotaion object.
     * @param {drawings.CircleAttributes} options - Specified the circle attributes value.
     * @param {any} currentSelector - Specified the current selector value.
     * @param {Transforms} t - Specified the transforms value.
     * @returns {void}
     */
    getShapeSize(type: PdfAnnotationBaseModel, options: drawings.CircleAttributes, currentSelector: any, t?: Transforms): void;
    /**
     * @private
     * @param {PdfAnnotationBaseModel} type - Specified the annotation object.
     * @param {any} currentSelector - Specified the current selector value.
     * @returns {AnnotationSelectorSettingsModel} - Specified the annotation selector settings model.
     */
    getShape(type: PdfAnnotationBaseModel, currentSelector?: any): AnnotationSelectorSettingsModel;
    /**
     * @private
     * @param {PdfAnnotationBaseModel} type - Specified the annotaion object.
     * @param {drawings.CircleAttributes} options - Specified the circle attributes value.
     * @param {any} currentSelector - Specified the current selector value.
     * @param {Transforms} t - Specified the transforms value.
     * @returns {void}
     */
    getResizerColors(type: PdfAnnotationBaseModel, options: drawings.CircleAttributes, currentSelector?: any, t?: Transforms): void;
    /**
     * @private
     * @param {drawings.DrawingElement} wrapper - Specified the drawing element.
     * @param {HTMLCanvasElement | SVGElement} canvas - Specified the canvas element.
     * @param {Transforms} transform - Specified the transform value.
     * @param {drawings.SelectorConstraints} selectorConstraints - Specified the selector constraints value.
     * @param {boolean} canMask - Specified the is mask or not.
     * @returns {void}
     */
    renderRotateThumb(wrapper: drawings.DrawingElement, canvas: HTMLCanvasElement | SVGElement, transform?: Transforms, selectorConstraints?: drawings.SelectorConstraints, canMask?: boolean): void;
    /**
     * @private
     * @param {drawings.DrawingElement} element - Specified the drawing element.
     * @param {HTMLCanvasElement | SVGElement} canvas - Specified the canvas element.
     * @param {drawings.ThumbsConstraints} constraints - Specified the thumbs constraints element.
     * @param {number} currentZoom - Specified the current zoom value.
     * @param {boolean} canMask - Specified the is mask or not.
     * @param {number} enableNode - Specified the node number.
     * @param {boolean} nodeConstraints - Specified the node constraints or not.
     * @param {boolean} isStamp - Specified is stamp or not.
     * @param {boolean} isSticky - Specified is sticky or not.
     * @param {boolean} isPath - Specified is path or not.
     * @param {boolean} isFreeText - Specified is free text or not.
     * @param {AnnotationSelectorSettingsModel} currentSelector - Specified the current selector settings value.
     * @returns {void}
     */
    renderResizeHandle(element: drawings.DrawingElement, canvas: HTMLCanvasElement | SVGElement, constraints: drawings.ThumbsConstraints, currentZoom: number, canMask?: boolean, enableNode?: number, nodeConstraints?: boolean, isStamp?: boolean, isSticky?: boolean, isPath?: boolean, isFreeText?: boolean, currentSelector?: AnnotationSelectorSettingsModel): void;
    private getAllowedInteractions;
    /**
     * @private
     * @param {PdfAnnotationBaseModel} type - Specified the annotation base model.
     * @param {any} currentSelector - Specified the current selector value
     * @returns {AnnotationResizerLocation} - Returns the annotation resizer location value.
     */
    getResizerLocation(type: PdfAnnotationBaseModel, currentSelector?: any): AnnotationResizerLocation;
    /**
     * @private
     * @param {drawings.DrawingElement} element - Specified the drawing element.
     * @param {HTMLCanvasElement | SVGAElement} canvas - Specified the canvas element.
     * @param {Transforms} transform - Specified the transform values.
     * @param {drawings.SelectorConstraints} selectorConstraints - Specified the selector constraints value.
     * @param {boolean} canMask - Specified is mask value or not.
     * @returns {void}
     */
    renderPivotLine(element: drawings.DrawingElement, canvas: HTMLCanvasElement | SVGElement, transform?: Transforms, selectorConstraints?: drawings.SelectorConstraints, canMask?: boolean): void;
    /**
     * @private
     * @param {PdfAnnotationBaseModel} selector - Specified the annotation element.
     * @param {HTMLCanvasElement | SVGAElement} canvas - Specified the canvas element.
     * @param {drawings.SelectorConstraints} constraints - Specified the selector constraints value.
     * @param {Transforms} transform - Specified the transform values.
     * @param {boolean} connectedSource - Specified is connected source or not.
     * @param {boolean} connectedTarget - Specified is connected target or not.
     * @param {boolean} isSegmentEditing - Specified is segment editing or not.
     * @param {AnnotationSelectorSettingsModel} currentSelector - Specified the current selector value.
     * @returns {void}
     */
    renderEndPointHandle(selector: PdfAnnotationBaseModel, canvas: HTMLCanvasElement | SVGElement, constraints: drawings.ThumbsConstraints, transform: Transforms, connectedSource: boolean, connectedTarget?: boolean, isSegmentEditing?: boolean, currentSelector?: AnnotationSelectorSettingsModel): void;
    /**
     * @private
     * @returns {void}
     */
    initSelectorWrapper(): void;
    /**
     * @private
     * @param {string[]} objArray - Specified the annotation object array.
     * @param {any} currentSelector - Specified the current selector value.
     * @param {boolean} multipleSelection - Specified the multiple selection or not.
     * @param {boolean} preventUpdate - Specified the prevent update or not.
     * @returns {void}
     */
    select(objArray: string[], currentSelector?: any, multipleSelection?: boolean, preventUpdate?: boolean): void;
    /**
     * @private
     * @param {PdfAnnotationBaseModel} obj - Specified the annotaion object.
     * @param {number} tx - Specified the tx value.
     * @param {number} ty - Specified the ty value.
     * @param {number} pageIndex - Specified the page index value.
     * @param {any} currentSelector - Specified the current selector value.
     * @param {PdfAnnotationBaseModel} helper - Specified the helper object.
     * @returns {void}
     */
    dragSelectedObjects(tx: number, ty: number, pageIndex: number, currentSelector: any, helper: PdfAnnotationBaseModel): boolean;
    /**
     * @private
     * @param {PdfAnnotationBaseModel} obj - Specified the annotaion object.
     * @param {number} tx - Specified the tx value.
     * @param {number} ty - Specified the ty value.
     * @param {any} currentSelector - Specified the current selector value.
     * @param {PdfAnnotationBaseModel} helper - Specified the helper object.
     * @returns {void}
     */
    drag(obj: PdfAnnotationBaseModel | SelectorModel, tx: number, ty: number, currentSelector: any, helper: PdfAnnotationBaseModel): void;
    /**
     * @private
     * @param {PdfAnnotationBaseModel} obj - Specified the annotaion object.
     * @param {number} tx - Specified the tx value.
     * @param {number} ty - Specified the ty value.
     * @returns {void}
     */
    dragAnnotation(obj: PdfAnnotationBaseModel, tx: number, ty: number): void;
    /**
     * @private
     * @param {PdfAnnotationBaseModel} obj - Specified the annotaion object.
     * @param {number} tx - Specified the tx value.
     * @param {number} ty - Specified the ty value.
     * @param {boolean} preventUpdate - Specified the prevent update or not.
     * @param {number} segmentNumber - Specified the segment value.
     * @returns {boolean} - Returns true or false.
     */
    dragControlPoint(obj: PdfAnnotationBaseModel, tx: number, ty: number, preventUpdate?: boolean, segmentNumber?: number): boolean;
    /**
     * @private
     * @param {PdfAnnotationBaseModel} connector - Specified the connector object.
     * @returns {void}
     */
    updateEndPoint(connector: PdfAnnotationBaseModel): void;
    /**
     * @private
     * @param {PdfAnnotationBaseModel} actualObject - Specified the actual annotaion object.
     * @param {PdfAnnotationBaseModel} node - Specified the node annotation object.
     * @returns {void}
     */
    nodePropertyChange(actualObject: PdfAnnotationBaseModel, node: PdfAnnotationBaseModel): void;
    private fontSizeCalculation;
    private setLineDistance;
    /**
     * @private
     * @param {number} sx - Specified the sx value.
     * @param {number} sy - Specified the sy value.
     * @param {drawings.PointModel} pivot - Specified the pivot value.
     * @returns {boolean} - Returns true or false.
     */
    scaleSelectedItems(sx: number, sy: number, pivot: drawings.PointModel): boolean;
    /**
     * @private
     * @param {PdfAnnotationBaseModel | SelectorModel} obj - Specified the annotaion object.
     * @param {number} sx - Specified the sx value.
     * @param {number} sy - Specified the sy value.
     * @param {drawings.PointModel} pivot - Specified the pivot value.
     * @returns {boolean} - Returns true or false.
     */
    scale(obj: PdfAnnotationBaseModel | SelectorModel, sx: number, sy: number, pivot: drawings.PointModel): boolean;
    /**
     * @private
     * @param {number} sw - Specified the sw value.
     * @param {number} sh - Specified the sh value.
     * @param {drawings.PointModel} pivot - Specified the pivot value.
     * @param {drawings.IElement} obj - Specified the annotation object.
     * @param {drawings.DrawingElement} element - Specified the annotation element.
     * @param {drawings.IElement} refObject - Specified the annotation reference object.
     * @returns {void}
     */
    scaleObject(sw: number, sh: number, pivot: drawings.PointModel, obj: drawings.IElement, element: drawings.DrawingElement, refObject: drawings.IElement): void;
    /**
     * @private
     * @param {PdfAnnotationBaseModel} obj - Specified the annotaion object.
     * @param {number} sw - Specified the sw value.
     * @param {number} sh - Specified the sh value.
     * @param {drawings.PointModel} pivot - Specified the pivot value.
     * @param {drawings.IElement} refObject - Specified the reference object.
     * @returns {boolean} - Returns true or false.
     */
    scaleAnnotation(obj: PdfAnnotationBaseModel, sw: number, sh: number, pivot: drawings.PointModel, refObject?: drawings.IElement): boolean;
    private moveInsideViewer;
    /**
     * @private
     * @param {number} tx - Specified the tx value.
     * @param {number} ty - Specified the ty value.
     * @param {number} pageIndex - Specified the page index value.
     * @param {drawings.Rect} nodeBounds - Specified the node bounds value.
     * @param {boolean} isStamp - Specified the annotation is stamp or not.
     * @param {boolean} isSkip - Specified the annotaion is skip or not.
     * @returns {boolean} - Returns true or false.
     */
    checkBoundaryConstraints(tx: number, ty: number, pageIndex: number, nodeBounds?: drawings.Rect, isStamp?: boolean, isSkip?: boolean): boolean;
    private RestrictStamp;
    /**
     * @private
     * @param {drawings.DrawingElement} shapeElement - Specified the shape element.
     * @returns {drawings.Rect} - Returns the rectangle object.
     */
    getShapeBounds(shapeElement: drawings.DrawingElement): drawings.Rect;
    /**
     * @private
     * @param {number} x - Specified the x value.
     * @param {number} y - Specified the y value.
     * @param {number} w - Specified the w value.
     * @param {number} h - Specified the h value.
     * @param {number} angle - Specified the angle value.
     * @param {number} offsetX - Specified the offset x value.
     * @param {number} offsetY - Specified the offset y value.
     * @param {drawings.PointModel} cornerPoint - Specified the corner point value.
     * @returns {drawings.PointModel} - Returns the point model.
     */
    getShapePoint(x: number, y: number, w: number, h: number, angle: number, offsetX: number, offsetY: number, cornerPoint: drawings.PointModel): drawings.PointModel;
    /**
     * @private
     * @param {string} endPoint - Specified the end point value.
     * @param {drawings.IElement} obj - Specified the annotaion object.
     * @param {drawings.PointModel} point - Specified the annotation points.
     * @param {drawings.PointModel} segment - Specified the annotaion segment.
     * @param {drawings.IElement} target - Specified the target element.
     * @param {string} targetPortId - Specified the target port id.
     * @param {any} currentSelector - Specified the current selector value.
     * @returns {boolean} - Returns true or false.
     */
    dragConnectorEnds(endPoint: string, obj: drawings.IElement, point: drawings.PointModel, segment: drawings.PointModel, target?: drawings.IElement, targetPortId?: string, currentSelector?: any): boolean;
    /**
     * @private
     * @param {PdfAnnotationBaseModel} obj - Specified the annotation object.
     * @param {number} tx - Specified the tx value.
     * @param {number} ty - Specified the y value.
     * @param {number} i - Specified the index value.
     * @returns {boolean} - Returns true or false.
     */
    dragSourceEnd(obj: PdfAnnotationBaseModel, tx: number, ty: number, i: number): boolean;
    /**
     * @private
     * @param {PdfAnnotationBaseModel} connector - Specified the connector object.
     * @param {drawings.PointModel[]} points - Specified the points value.
     * @returns {void}
     */
    updateConnector(connector: PdfAnnotationBaseModel, points: drawings.PointModel[]): void;
    /**
     * @private
     * @returns {Object} - Returns the object.
     */
    copy(): Object;
    /**
     * @private
     * @returns {Object[]} - Returns the object array.
     */
    copyObjects(): Object[];
    private getNewObject;
    /**
     * @private
     * @param {PdfAnnotationBaseModel[]} obj - Specified the annotation object.
     * @param {number} index - Specified the annotation index.
     * @returns {void}
     */
    paste(obj: PdfAnnotationBaseModel[], index: number): void;
    private splitFormFieldName;
    private calculateCopyPosition;
    /**
     * @private
     * @param {number} index - Specified the annotaion index.
     * @returns {void}
     */
    cut(index: number): void;
    /**
     * @private
     * @param {Object[]} nodeArray - Specified the node array.
     * @param {string} sortID - Specified the sort id.
     * @returns {Object[]} - Returns the node array.
     */
    sortByZIndex(nodeArray: Object[], sortID?: string): Object[];
}
/**
 * @hidden
 */
export interface Transforms {
    tx: number;
    ty: number;
    scale: number;
}
/**
 * @hidden
 */
export interface ClipBoardObject {
    pasteIndex?: number;
    clipObject?: Object;
    childTable?: {};
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/drawing/enum.d.ts
/**
 * @hidden
 */
export  type PdfAnnotationType = 
/**
 * Rectangle - Represents the annotation type as Rectangle.
 */
'Rectangle' | 
/**
 * Ellipse -  Represents the annotation type as Ellipse.
 */
'Ellipse' | 
/**
 * Line - Represents the annotation type as Line annotation with out decorator.
 */
'Line' | 
/**
 * LineWidthArrowHead - Represents the annotation type as Line annotation with Arrow decorator.
 */
'LineWidthArrowHead' | 
/**
 * Distance - Represents the annotation type Distance shape.
 */
'Distance' | 
/**
 * Perimeter - Represents the annotation type Perimeter shape.
 */
'Perimeter' | 
/**
 * Radius - Represents the annotation type Radius shape.
 */
'Radius' | 
/**
 * Path - Represents the annotation type as path.
 */
'Path' | 
/**
 * Stamp - Represents the annotation type as Stamp.
 */
'Stamp' | 
/**
 * Image - Represents the annotation type as Image.
 */
'Image' | 
/**
 * Polygon - Represents the annotation type as Polygon.
 */
'Polygon' | 
/**
 * Sticky - Represents the annotation type as StickyNotes.
 */
'StickyNotes' | 
/**
 * FreeText - Represents the annotation type as Free Text Box.
 */
'FreeText' | 
/**
 * HandWrittenSignature - Represents the type as Signature.
 */
'HandWrittenSignature' | 
/**
 * Ink - Represents the type as Ink.
 */
'Ink' | 
/**
 * SignatureText - Represents the signature as Text.
 */
'SignatureText' | 
/**
 * SignatureImage - Represents the signature as Image.
 */
'SignatureImage';
/**
 * @hidden
 */
export  type FormFieldAnnotationType = 
/**
 * Textbox - Represents the form field type as Textbox.
 */
'Textbox' | 
/**
 * Textbox - Represents the form field type as Textbox.
 */
'PasswordField' | 
/**
 * Checkbox - Represents the form field type as Checkbox.
 */
'Checkbox' | 
/**
 * RadioButton - Represents the form field type as RadioButton.
 */
'RadioButton' | 
/**
 * DropdownList - Represents the form field type as DropdownList.
 */
'DropdownList' | 
/**
 * Listbox - Represents the form field type as Listbox.
 */
'ListBox' | 
/**
 * SignatureField - Represents the form field type as SignatureField.
 */
'SignatureField' | 
/**
 * InitialField - Represents the form field type as InitialField.
 */
'InitialField';
/**
 * Defines the decorator shape of the connector
 * None - Sets the decorator shape as None
 * Arrow - Sets the decorator shape as Arrow
 * Diamond - Sets the decorator shape as Diamond
 * Butt - Sets the decorator shape as Butt
 * Path - Sets the decorator shape as Path
 * OpenArrow - Sets the decorator shape as OpenArrow
 * Circle - Sets the decorator shape as Circle
 * Square - Sets the decorator shape as Square
 * Fletch - Sets the decorator shape as Fletch
 * OpenFetch - Sets the decorator shape as OpenFetch
 * IndentedArrow - Sets the decorator shape as Indented Arrow
 * OutdentedArrow - Sets the decorator shape as Outdented Arrow
 * DoubleArrow - Sets the decorator shape as DoubleArrow
 *
 * @hidden
 */
export  type DecoratorShapes = 
/** None - Sets the decorator shape as None */
'None' | 
/** Arrow - Sets the decorator shape as Arrow */
'Arrow' | 
/** Diamond - Sets the decorator shape as Diamond */
'Diamond' | 
/** Butt - Sets the decorator shape as Butt */
'Butt' | 
/** OpenArrow - Sets the decorator shape as OpenArrow */
'OpenArrow' | 
/** Circle - Sets the decorator shape as Circle */
'Circle' | 
/** Square - Sets the decorator shape as Square */
'Square' | 
/** Fletch - Sets the decorator shape as Fletch */
'Fletch' | 
/** OpenFetch - Sets the decorator shape as OpenFetch */
'OpenFetch' | 
/** IndentedArrow - Sets the decorator shape as Indented Arrow */
'IndentedArrow' | 
/** OutdentedArrow - Sets the decorator shape as Outdented Arrow */
'OutdentedArrow' | 
/** DoubleArrow - Sets the decorator shape as DoubleArrow */
'DoubleArrow' | 
/** Custom - Sets the decorator shape as Custom */
'Custom';
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/drawing/html-element.d.ts
/**
 * HTMLElement defines the basic html elements
 */
export  class DiagramHtmlElement extends drawings.DrawingElement {
    /**
     * set the id for each element
     *
     * @param {string} nodeTemplate - Set the id for each element.
     * @returns {void}
     *
     * @private
     */
    constructor(nodeTemplate?: string);
    templateCompiler(template: string): Function;
    /**
     * getNodeTemplate method \
     *
     * @returns { Function } getNodeTemplate method .\
     *
     * @private
     */
    getNodeTemplate(): Function;
    private templateFn;
    /**
     * check whether it is html element or not
     *
     * @private
     */
    isTemplate: boolean;
    /**
     * defines geometry of the html element
     *
     * @private
     */
    template: HTMLElement;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/drawing/index.d.ts
/**
 * PdfViewer diagram component exported items
 */
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/drawing/pdf-annotation-model.d.ts
/**
 * Interface for a class PdfBounds
 */
export interface PdfBoundsModel {
    /**
     * Represents the the x value of the annotation.
     *
     * @default 0
     */
    x?: number;
    /**
     * Represents the the y value of the annotation.
     *
     * @default 0
     */
    y?: number;
    /**
     * Represents the the width value of the annotation.
     *
     * @default 0
     */
    width?: number;
    /**
     * Represents the the height value of the annotation.
     *
     * @default 0
     */
    height?: number;
    /**
     * Represents the the left value of the annotation.
     *
     * @default 0
     */
    left?: number;
    /**
     * Represents the the top value of the annotation.
     *
     * @default 0
     */
    top?: number;
    /**
     * Represents the the right value of the annotation.
     *
     * @default 0
     */
    right?: number;
    /**
     * Represents the the bottom value of the annotation.
     *
     * @default 0
     */
    bottom?: number;
    /**
     * Sets the reference point, that will act as the offset values(offsetX, offsetY) of a node
     *
     * @default new drawings.Point(0,0)
     */
    location?: drawings.PointModel;
    /**
     * Sets the size of the annotation
     *
     * @default new drawings.Size(0, 0)
     */
    size?: drawings.Size;
}
/**
 * Interface for a class PdfFont
 */
export interface PdfFontModel {
    /**
     * Represents the the font Bold style of annotation text content.
     *
     * @default 'false'
     */
    isBold?: boolean;
    /**
     * Represents the the font Italic style of annotation text content.
     *
     * @default 'false'
     */
    isItalic?: boolean;
    /**
     * Represents the the font Underline style of annotation text content.
     *
     * @default 'false'
     */
    isUnderline?: boolean;
    /**
     * Represents the the font Strikeout style of annotation text content.
     *
     * @default 'false'
     */
    isStrikeout?: boolean;
}
/**
 * Interface for a class PdfAnnotationBase
 */
export interface PdfAnnotationBaseModel {
    /**
     * Represents the unique id of annotation
     *
     * @default ''
     */
    id?: string;
    /**
     * Represents the annotation type of the pdf
     *
     * @default 'Rectangle'
     */
    shapeAnnotationType?: PdfAnnotationType;
    /**
     * Represents the annotation type of the form field
     *
     * @default ''
     */
    formFieldAnnotationType?: FormFieldAnnotationType;
    /**
     * Represents the measure type of the annotation
     *
     * @default ''
     */
    measureType?: string;
    /**
     * Represents the auther value of the annotation
     *
     * @default ''
     */
    author?: string;
    /**
     * Represents the modified date of the annotation
     *
     * @default ''
     */
    modifiedDate?: string;
    /**
     * Represents the subject of the annotation
     *
     * @default ''
     */
    subject?: string;
    /**
     * Represents the notes of the annotation
     *
     * @default ''
     */
    notes?: string;
    /**
     * specifies the locked action of the comment
     *
     * @default 'false'
     */
    isCommentLock?: boolean;
    /**
     * Represents the stroke color of the annotation
     *
     * @default 'black'
     */
    strokeColor?: string;
    /**
     * Represents the fill color of the annotation
     *
     * @default 'tranparent'
     */
    fillColor?: string;
    /**
     * Represents the fill color of the annotation
     *
     * @default 'tranparent'
     */
    stampFillColor?: string;
    /**
     * Represents the stroke color of the annotation
     *
     * @default 'black'
     */
    stampStrokeColor?: string;
    /**
     * Represents the path data of the annotation
     *
     * @default ''
     */
    data?: string;
    /**
     * Represents the opecity value of the annotation
     *
     * @default 1
     */
    opacity?: number;
    /**
     * Represents the thickness value of annotation
     *
     * @default 1
     */
    thickness?: number;
    /**
     * Represents the border style of annotation
     *
     * @default ''
     */
    borderStyle?: string;
    /**
     * Represents the border dash array of annotation
     *
     * @default ''
     */
    borderDashArray?: string;
    /**
     * Represents the rotate angle of annotation
     *
     * @default 0
     */
    rotateAngle?: number;
    /**
     * Represents the annotation as cloud shape
     *
     * @default false
     */
    isCloudShape?: boolean;
    /**
     * Represents the cloud intensity
     *
     * @default 0
     */
    cloudIntensity?: number;
    /**
     * Represents the height of the leader of distance shapes
     *
     * @default 40
     */
    leaderHeight?: number;
    /**
     * Represents the line start shape style
     *
     * @default null
     */
    lineHeadStart?: string;
    /**
     * Represents the line end shape style
     *
     * @default null
     */
    lineHeadEnd?: string;
    /**
     * Represents vertex points in the line annotation or shape annotation.
     *
     * @default []
     */
    vertexPoints?: drawings.PointModel[];
    /**
     * Represents vertex points in the line annotation or shape annotation.
     *
     * @default null
     */
    sourcePoint?: drawings.PointModel;
    /**
     * Represents vertex points in the line annotation or shape annotation.
     *
     * @default None
     */
    sourceDecoraterShapes?: drawings.DecoratorShapes;
    /**
     * Represents vertex points in the line annotation or shape annotation.
     *
     * @default None
     */
    taregetDecoraterShapes?: drawings.DecoratorShapes;
    /**
     * Represents vertex points in the line annotation or shape annotation.
     *
     * @default null
     */
    targetPoint?: drawings.PointModel;
    /**
     * Represents vertex points in the line annotation or shape annotation.
     *
     * @default []
     */
    segments?: drawings.PointModel[];
    /**
     * Represents bounds of the annotation
     *
     * @default new drawings.Point(0,0)
     */
    bounds?: PdfBoundsModel;
    /**
     * Represents the cloud intensity
     *
     * @default 0
     */
    pageIndex?: number;
    /**
     * Represents the cloud intensity
     *
     * @default -1
     */
    zIndex?: number;
    /**
     * Represents the cloud intensity
     *
     * @default null
     */
    wrapper?: drawings.Container;
    /**
     * Represents the dynamic stamp
     *
     * @default false
     */
    isDynamicStamp?: boolean;
    /**
     * Represents the dynamic text.
     *
     * @default ''
     */
    dynamicText?: string;
    /**
     * Represents the unique annotName of the annotation
     *
     * @default ''
     */
    annotName?: string;
    /**
     * Represents the review collection of the annotation
     *
     * @default ''
     */
    review?: IReviewCollection;
    /**
     * Represents the comments collection of the annotation
     *
     * @default []
     */
    comments?: ICommentsCollection[];
    /**
     * Represents the comments collection of the annotation
     *
     * @default '#000'
     */
    fontColor?: string;
    /**
     * Represents the font size of the annotation content
     *
     * @default '16'
     */
    fontSize?: number;
    /**
     * Represents the font family of the annotation content
     *
     * @default 'Helvetica'
     */
    fontFamily?: string;
    /**
     * Represents the font style of the annotation content
     *
     * @default 'None'
     */
    fontStyle?: string;
    /**
     * Represents the shape annotation label add flag
     *
     * @default 'false'
     */
    enableShapeLabel?: boolean;
    /**
     * Represents the shape annotation label content
     *
     * @default 'label'
     */
    labelContent?: string;
    /**
     * Represents the shape annotation label content fill color
     *
     * @default '#ffffff00'
     */
    labelFillColor?: string;
    /**
     * Represents the shape annotation label content max-length
     *
     * @default '15'
     */
    labelMaxLength?: number;
    /**
     * Represents the opecity value of the annotation
     *
     * @default 1
     */
    labelOpacity?: number;
    /**
     * Represents the selection settings of the annotation
     *
     * @default ''
     */
    annotationSelectorSettings?: AnnotationSelectorSettingsModel;
    /**
     * Represents the shape annotation label content border color
     *
     * @default '#ffffff00'
     */
    labelBorderColor?: string;
    /**
     * Represents the text anlignment style of annotation
     *
     * @default 'left'
     */
    textAlign?: string;
    /**
     * Represents the unique Name of the annotation
     *
     * @default ''
     */
    signatureName?: string;
    /**
     * specifies the minHeight of the annotation.
     *
     * @default 0
     */
    minHeight?: number;
    /**
     * specifies the minWidth of the annotation.
     *
     * @default 0
     */
    minWidth?: number;
    /**
     * specifies the minHeight of the annotation.
     *
     * @default 0
     */
    maxHeight?: number;
    /**
     * specifies the maxWidth of the annotation.
     *
     * @default 0
     */
    maxWidth?: number;
    /**
     * specifies the locked action of the annotation.
     *
     * @default 'false'
     */
    isLock?: boolean;
    /**
     * specifies the particular annotation mode.
     *
     * @default 'UI Drawn Annotation'
     */
    annotationAddMode?: string;
    /**
     * specifies the default settings of the annotation.
     *
     * @default ''
     */
    annotationSettings?: object;
    /**
     * specifies the previous font size  of the annotation.
     *
     * @default '16'
     */
    previousFontSize?: number;
    /**
     * Represents the text style of annotation
     *
     * @default ''
     */
    font?: PdfFontModel;
    /**
     * Represents the shape annotation label content bounds
     *
     * @default ''
     */
    labelBounds?: PdfBoundsModel;
    /**
     * specifies the custom data of the annotation.
     */
    customData?: object;
    /**
     * specifies the allowed interactions of the locked annotation.
     */
    allowedInteractions?: AllowedInteraction;
    /**
     * specifies whether the annotations are included or not in print actions.
     */
    isPrint?: boolean;
    /**
     * Allows to edit the free text annotation
     */
    isReadonly?: boolean;
    /**
     * Represents the page rotation angle
     * @private
     *
     */
    pageRotation?: number;
    /**
     * Represents the annotation is added programmatically.
     * @private
     *
     */
    isAddAnnotationProgrammatically?: boolean;
}
/**
 * Interface for a class PdfFormFieldBase
 */
export interface PdfFormFieldBaseModel {
    /**
     * Represents the unique id of formField
     *
     * @default ''
     */
    id?: string;
    /**
     * specifies the type of the signature.
     */
    signatureType?: string;
    /**
     * Represents the name of the formField
     *
     * @default ''
     */
    name?: string;
    /**
     * Represents the value of the formField
     *
     * @default ''
     */
    value?: string;
    /**
     * Represents the annotation type of the form field
     *
     * @default ''
     */
    formFieldAnnotationType?: FormFieldAnnotationType;
    /**
     * Represents the fill color of the form field
     *
     * @default '#daeaf7ff'
     */
    backgroundColor?: string;
    /**
     * Represents the text color of the form field
     *
     * @default 'black'
     */
    color?: string;
    /**
     * Represents the border color of the form field
     *
     * @default '#303030'
     */
    borderColor?: string;
    /**
     * Represents the tooltip of the form field
     *
     * @default ''
     */
    tooltip?: string;
    /**
     * Represents the opecity value of the formField
     *
     * @default 1
     */
    opacity?: number;
    /**
     * Represents the thickness value of FormField
     *
     * @default 1
     */
    thickness?: number;
    /**
     * Represents the rotate angle of formField
     *
     * @default 0
     */
    rotateAngle?: number;
    /**
     * Represents bounds of the formField
     *
     * @default new drawings.Point(0,0)
     */
    bounds?: PdfBoundsModel;
    /**
     * Represents the cloud intensity
     *
     * @default 0
     */
    pageIndex?: number;
    /**
     * Represents the page number
     *
     * @default 1
     */
    pageNumber?: number;
    /**
     * Represents the cloud intensity
     *
     * @default -1
     */
    zIndex?: number;
    /**
     * Represents the cloud intensity
     *
     * @default null
     */
    wrapper?: drawings.Container;
    /**
     * Represents the font size of the formField content
     *
     * @default 16
     */
    fontSize?: number;
    /**
     * Represents the font family of the formField content
     *
     * @default 'Helvetica'
     */
    fontFamily?: string;
    /**
     * Represents the font style of the formField content
     *
     * @default 'None'
     */
    fontStyle?: string;
    /**
     * Represents the text anlignment style of formField
     *
     * @default 'left'
     */
    alignment?: string;
    /**
     * specifies the minHeight of the formField.
     *
     * @default 0
     */
    minHeight?: number;
    /**
     * specifies the minWidth of the formField.
     *
     * @default 0
     */
    minWidth?: number;
    /**
     * specifies the minHeight of the formField.
     *
     * @default 0
     */
    maxHeight?: number;
    /**
     * specifies the maxWidth of the formField.
     *
     * @default 0
     */
    maxWidth?: number;
    /**
     * specifies the maxLength of the textbox/password.
     *
     * @default 0
     */
    maxLength?: number;
    /**
     * If it is set as Hidden, Html element will be hide in the UI. By default it is visible.
     */
    visibility?: Visibility;
    /**
     * specifies whether the form field are included or not in print actions.
     */
    isPrint?: boolean;
    /**
     * Allows to edit the form Field text.
     */
    isReadonly?: boolean;
    /**
     * Enable or disable the checkbox state.
     */
    isChecked?: boolean;
    /**
     * Enable or disable the RadioButton state.
     */
    isSelected?: boolean;
    /**
     * Specified whether an form field element is mandatory.
     */
    isRequired?: boolean;
    /**
     * Enable or disable the Multiline Textbox.
     */
    isMultiline?: boolean;
    /**
     * Gets or sets the items to be displayed for drop down/ listbox.
     */
    options?: ItemModel[];
    /**
     * Specifies the properties of the signature indicator in the signature field.
     */
    signatureIndicatorSettings?: SignatureIndicatorSettingsModel;
    /**
     * Represents the text style of annotation
     *
     * @default ''
     */
    font?: PdfFontModel;
    /**
     * Gets or sets the items selected in the drop down/ listbox.
     */
    selectedIndex?: number[];
}
/**
 * Interface for a class ZOrderPageTable
 */
export interface ZOrderPageTableModel {
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/drawing/pdf-annotation.d.ts
/**
 * The `PdfBounds` is base for annotation bounds.
 *
 * @hidden
 */
export  abstract class PdfBounds extends base.ChildProperty<PdfBounds> {
    /**
     * Represents the the x value of the annotation.
     *
     * @default 0
     */
    x: number;
    /**
     * Represents the the y value of the annotation.
     *
     * @default 0
     */
    y: number;
    /**
     * Represents the the width value of the annotation.
     *
     * @default 0
     */
    width: number;
    /**
     * Represents the the height value of the annotation.
     *
     * @default 0
     */
    height: number;
    /**
     * Represents the the left value of the annotation.
     *
     * @default 0
     */
    left: number;
    /**
     * Represents the the top value of the annotation.
     *
     * @default 0
     */
    top: number;
    /**
     * Represents the the right value of the annotation.
     *
     * @default 0
     */
    right: number;
    /**
     * Represents the the bottom value of the annotation.
     *
     * @default 0
     */
    bottom: number;
    /**
     * Sets the reference point, that will act as the offset values(offsetX, offsetY) of a node
     *
     * @default new Point(0,0)
     */
    location: drawings.PointModel;
    /**
     * Sets the size of the annotation
     *
     * @default new drawings.Size(0, 0)
     */
    size: drawings.Size;
}
/**
 * The `PdfFont` is base for annotation Text styles.
 *
 * @hidden
 */
export  abstract class PdfFont extends base.ChildProperty<PdfFont> {
    /**
     * Represents the the font Bold style of annotation text content.
     *
     * @default 'false'
     */
    isBold: boolean;
    /**
     * Represents the the font Italic style of annotation text content.
     *
     * @default 'false'
     */
    isItalic: boolean;
    /**
     * Represents the the font Underline style of annotation text content.
     *
     * @default 'false'
     */
    isUnderline: boolean;
    /**
     * Represents the the font Strikeout style of annotation text content.
     *
     * @default 'false'
     */
    isStrikeout: boolean;
}
/**
 * Defines the common behavior of PdfAnnotationBase
 *
 * @hidden
 */
export  class PdfAnnotationBase extends base.ChildProperty<PdfAnnotationBase> {
    /**
     * Represents the unique id of annotation
     *
     * @default ''
     */
    id: string;
    /**
     * Represents the annotation type of the pdf
     *
     * @default 'Rectangle'
     */
    shapeAnnotationType: PdfAnnotationType;
    /**
     * Represents the annotation type of the form field
     *
     * @default ''
     */
    formFieldAnnotationType: FormFieldAnnotationType;
    /**
     * Represents the measure type of the annotation
     *
     * @default ''
     */
    measureType: string;
    /**
     * Represents the auther value of the annotation
     *
     * @default ''
     */
    author: string;
    /**
     * Represents the modified date of the annotation
     *
     * @default ''
     */
    modifiedDate: string;
    /**
     * Represents the subject of the annotation
     *
     * @default ''
     */
    subject: string;
    /**
     * Represents the notes of the annotation
     *
     * @default ''
     */
    notes: string;
    /**
     * specifies the locked action of the comment
     *
     * @default 'false'
     */
    isCommentLock: boolean;
    /**
     * Represents the stroke color of the annotation
     *
     * @default 'black'
     */
    strokeColor: string;
    /**
     * Represents the fill color of the annotation
     *
     * @default 'tranparent'
     */
    fillColor: string;
    /**
     * Represents the fill color of the annotation
     *
     * @default 'tranparent'
     */
    stampFillColor: string;
    /**
     * Represents the stroke color of the annotation
     *
     * @default 'black'
     */
    stampStrokeColor: string;
    /**
     * Represents the path data of the annotation
     *
     * @default ''
     */
    data: string;
    /**
     * Represents the opecity value of the annotation
     *
     * @default 1
     */
    opacity: number;
    /**
     * Represents the thickness value of annotation
     *
     * @default 1
     */
    thickness: number;
    /**
     * Represents the border style of annotation
     *
     * @default ''
     */
    borderStyle: string;
    /**
     * Represents the border dash array of annotation
     *
     * @default ''
     */
    borderDashArray: string;
    /**
     * Represents the rotate angle of annotation
     *
     * @default 0
     */
    rotateAngle: number;
    /**
     * Represents the annotation as cloud shape
     *
     * @default false
     */
    isCloudShape: boolean;
    /**
     * Represents the cloud intensity
     *
     * @default 0
     */
    cloudIntensity: number;
    /**
     * Represents the height of the leader of distance shapes
     *
     * @default 40
     */
    leaderHeight: number;
    /**
     * Represents the line start shape style
     *
     * @default null
     */
    lineHeadStart: string;
    /**
     * Represents the line end shape style
     *
     * @default null
     */
    lineHeadEnd: string;
    /**
     * Represents vertex points in the line annotation or shape annotation.
     *
     * @default []
     */
    vertexPoints: drawings.PointModel[];
    /**
     * Represents vertex points in the line annotation or shape annotation.
     *
     * @default null
     */
    sourcePoint: drawings.PointModel;
    /**
     * Represents vertex points in the line annotation or shape annotation.
     *
     * @default None
     */
    sourceDecoraterShapes: drawings.DecoratorShapes;
    /**
     * Represents vertex points in the line annotation or shape annotation.
     *
     * @default None
     */
    taregetDecoraterShapes: drawings.DecoratorShapes;
    /**
     * Represents vertex points in the line annotation or shape annotation.
     *
     * @default null
     */
    targetPoint: drawings.PointModel;
    /**
     * Represents vertex points in the line annotation or shape annotation.
     *
     * @default []
     */
    segments: drawings.PointModel[];
    /**
     * Represents bounds of the annotation
     *
     * @default new Point(0,0)
     */
    bounds: PdfBoundsModel;
    /**
     * Represents the cloud intensity
     *
     * @default 0
     */
    pageIndex: number;
    /**
     * Represents the cloud intensity
     *
     * @default -1
     */
    zIndex: number;
    /**
     * Represents the cloud intensity
     *
     * @default null
     */
    wrapper: drawings.Container;
    /**
     * Represents the dynamic stamp
     *
     * @default false
     */
    isDynamicStamp: boolean;
    /**
     * Represents the dynamic text.
     *
     * @default ''
     */
    dynamicText: string;
    /**
     * Represents the unique annotName of the annotation
     *
     * @default ''
     */
    annotName: string;
    /**
     * Represents the review collection of the annotation
     *
     * @default ''
     */
    review: IReviewCollection;
    /**
     * Represents the comments collection of the annotation
     *
     * @default []
     */
    comments: ICommentsCollection[];
    /**
     * Represents the comments collection of the annotation
     *
     * @default '#000'
     */
    fontColor: string;
    /**
     * Represents the font size of the annotation content
     *
     * @default '16'
     */
    fontSize: number;
    /**
     * Represents the font family of the annotation content
     *
     * @default 'Helvetica'
     */
    fontFamily: string;
    /**
     * Represents the font style of the annotation content
     *
     * @default 'None'
     */
    fontStyle: string;
    /**
     * Represents the shape annotation label add flag
     *
     * @default 'false'
     */
    enableShapeLabel: boolean;
    /**
     * Represents the shape annotation label content
     *
     * @default 'label'
     */
    labelContent: string;
    /**
     * Represents the shape annotation label content fill color
     *
     * @default '#ffffff00'
     */
    labelFillColor: string;
    /**
     * Represents the shape annotation label content max-length
     *
     * @default '15'
     */
    labelMaxLength: number;
    /**
     * Represents the opecity value of the annotation
     *
     * @default 1
     */
    labelOpacity: number;
    /**
     * Represents the selection settings of the annotation
     *
     * @default ''
     */
    annotationSelectorSettings: AnnotationSelectorSettingsModel;
    /**
     * Represents the shape annotation label content border color
     *
     * @default '#ffffff00'
     */
    labelBorderColor: string;
    /**
     * Represents the text anlignment style of annotation
     *
     * @default 'left'
     */
    textAlign: string;
    /**
     * Represents the unique Name of the annotation
     *
     * @default ''
     */
    signatureName: string;
    /**
     * specifies the minHeight of the annotation.
     *
     * @default 0
     */
    minHeight: number;
    /**
     * specifies the minWidth of the annotation.
     *
     * @default 0
     */
    minWidth: number;
    /**
     * specifies the minHeight of the annotation.
     *
     * @default 0
     */
    maxHeight: number;
    /**
     * specifies the maxWidth of the annotation.
     *
     * @default 0
     */
    maxWidth: number;
    /**
     * specifies the locked action of the annotation.
     *
     * @default 'false'
     */
    isLock: boolean;
    /**
     * specifies the particular annotation mode.
     *
     * @default 'UI Drawn Annotation'
     */
    annotationAddMode: string;
    /**
     * specifies the default settings of the annotation.
     *
     * @default ''
     */
    annotationSettings: object;
    /**
     * specifies the previous font size  of the annotation.
     *
     * @default '16'
     */
    previousFontSize: number;
    /**
     * Represents the text style of annotation
     *
     * @default ''
     */
    font: PdfFontModel;
    /**
     * Represents the shape annotation label content bounds
     *
     * @default ''
     */
    labelBounds: PdfBoundsModel;
    /**
     * specifies the custom data of the annotation.
     */
    customData: object;
    /**
     * specifies the allowed interactions of the locked annotation.
     */
    allowedInteractions: AllowedInteraction;
    /**
     * specifies whether the annotations are included or not in print actions.
     */
    isPrint: boolean;
    /**
     * Allows to edit the free text annotation
     */
    isReadonly: boolean;
    /**
     * Represents the page rotation angle
     * @private
     *
     */
    pageRotation: number;
    /**
     * Represents the annotation is added programmatically.
     * @private
     *
     */
    isAddAnnotationProgrammatically: boolean;
    constructor(parent: any, propName: string, defaultValue: Object, isArray?: boolean);
}
/**
 * Defines the common behavior of PdfFormFieldBase
 *
 * @hidden
 */
export  class PdfFormFieldBase extends base.ChildProperty<PdfFormFieldBase> {
    /**
     * Represents the unique id of formField
     *
     * @default ''
     */
    id: string;
    /**
     * specifies the type of the signature.
     */
    signatureType: string;
    /**
     * Represents the name of the formField
     *
     * @default ''
     */
    name: string;
    /**
     * Represents the value of the formField
     *
     * @default ''
     */
    value: string;
    /**
     * Represents the annotation type of the form field
     *
     * @default ''
     */
    formFieldAnnotationType: FormFieldAnnotationType;
    /**
     * Represents the fill color of the form field
     *
     * @default '#daeaf7ff'
     */
    backgroundColor: string;
    /**
     * Represents the text color of the form field
     *
     * @default 'black'
     */
    color: string;
    /**
     * Represents the border color of the form field
     *
     * @default '#303030'
     */
    borderColor: string;
    /**
     * Represents the tooltip of the form field
     *
     * @default ''
     */
    tooltip: string;
    /**
     * Represents the opecity value of the formField
     *
     * @default 1
     */
    opacity: number;
    /**
     * Represents the thickness value of FormField
     *
     * @default 1
     */
    thickness: number;
    /**
     * Represents the rotate angle of formField
     *
     * @default 0
     */
    rotateAngle: number;
    /**
     * Represents bounds of the formField
     *
     * @default new Point(0,0)
     */
    bounds: PdfBoundsModel;
    /**
     * Represents the cloud intensity
     *
     * @default 0
     */
    pageIndex: number;
    /**
     * Represents the page number
     *
     * @default 1
     */
    pageNumber: number;
    /**
     * Represents the cloud intensity
     *
     * @default -1
     */
    zIndex: number;
    /**
     * Represents the cloud intensity
     *
     * @default null
     */
    wrapper: drawings.Container;
    /**
     * Represents the font size of the formField content
     *
     * @default 16
     */
    fontSize: number;
    /**
     * Represents the font family of the formField content
     *
     * @default 'Helvetica'
     */
    fontFamily: string;
    /**
     * Represents the font style of the formField content
     *
     * @default 'None'
     */
    fontStyle: string;
    /**
     * Represents the text anlignment style of formField
     *
     * @default 'left'
     */
    alignment: string;
    /**
     * specifies the minHeight of the formField.
     *
     * @default 0
     */
    minHeight: number;
    /**
     * specifies the minWidth of the formField.
     *
     * @default 0
     */
    minWidth: number;
    /**
     * specifies the minHeight of the formField.
     *
     * @default 0
     */
    maxHeight: number;
    /**
     * specifies the maxWidth of the formField.
     *
     * @default 0
     */
    maxWidth: number;
    /**
     * specifies the maxLength of the textbox/password.
     *
     * @default 0
     */
    maxLength: number;
    /**
     * If it is set as Hidden, Html element will be hide in the UI. By default it is visible.
     */
    visibility: Visibility;
    /**
     * specifies whether the form field are included or not in print actions.
     */
    isPrint: boolean;
    /**
     * Allows to edit the form Field text.
     */
    isReadonly: boolean;
    /**
     * Enable or disable the checkbox state.
     */
    isChecked: boolean;
    /**
     * Enable or disable the RadioButton state.
     */
    isSelected: boolean;
    /**
     * Specified whether an form field element is mandatory.
     */
    isRequired: boolean;
    /**
     * Enable or disable the Multiline Textbox.
     */
    isMultiline: boolean;
    /**
     * Gets or sets the items to be displayed for drop down/ listbox.
     */
    options: ItemModel[];
    /**
     * Specifies the properties of the signature indicator in the signature field.
     */
    signatureIndicatorSettings: SignatureIndicatorSettingsModel;
    /**
     * Represents the text style of annotation
     *
     * @default ''
     */
    font: PdfFontModel;
    /**
     * Gets or sets the items selected in the drop down/ listbox.
     */
    selectedIndex: number[];
    constructor(parent: any, propName: string, defaultValue: Object, isArray?: boolean);
}
/**
 * @hidden
 */
export  class ZOrderPageTable {
    private pageIdTemp;
    /**
     * @private
     * @returns {number} - Returns the page Id.
     */
    /**
    * @private
    * @param {number} offset - The page offset value.
    */
    pageId: number;
    private zIndexTemp;
    /**
     * @private
     * @returns {number} - Returns the z-index value.
     */
    /**
    * @private
    * @param {number} offset - The page offset value.
    */
    zIndex: number;
    private childNodesTemp;
    /**
     * @private
     * @returns {PdfAnnotationBaseModel[]} - Returns the annotation childNodes.
     */
    /**
    * @private
    * @param {PdfAnnotationBaseModel[]} childNodes - Specified the annotation child nodes.
    */
    objects: PdfAnnotationBaseModel[];
    constructor();
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/drawing/selector-model.d.ts
/**
 * Interface for a class Selector
 */
export interface SelectorModel {
    /**
     * Defines the size and position of the container
     *
     * @default null
     */
    wrapper?: drawings.Container;
    /**
     * Defines the collection of selected nodes
     */
    annotations?: PdfAnnotationBaseModel[];
    /**
     * Defines the collection of selected form Fields
     */
    formFields?: PdfFormFieldBaseModel[];
    /**
     * Sets/Gets the width of the container
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    width?: number;
    /**
     * Sets/Gets the height of the container
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    height?: number;
    /**
     * Sets the rotate angle of the container
     *
     * @default 0
     */
    rotateAngle?: number;
    /**
     * Sets the positionX of the container
     *
     * @default 0
     */
    offsetX?: number;
    /**
     * Sets the positionY of the container
     *
     * @default 0
     */
    offsetY?: number;
    /**
     * Sets the pivot of the selector
     *
     * @default { x: 0.5, y: 0.5 }
     */
    pivot?: drawings.PointModel;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/drawing/selector.d.ts
/**
 * Defines the size and position of selected items and defines the appearance of selector
 *
 * @hidden
 */
export  class Selector extends base.ChildProperty<Selector> implements drawings.IElement {
    /**
     * Defines the size and position of the container
     *
     * @default null
     */
    wrapper: drawings.Container;
    /**
     * Defines the collection of selected nodes
     */
    annotations: PdfAnnotationBaseModel[];
    /**
     * Defines the collection of selected form Fields
     */
    formFields: PdfFormFieldBaseModel[];
    /**
     * Sets/Gets the width of the container
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    width: number;
    /**
     * Sets/Gets the height of the container
     *
     * @aspDefaultValueIgnore
     * @default undefined
     */
    height: number;
    /**
     * Sets the rotate angle of the container
     *
     * @default 0
     */
    rotateAngle: number;
    /**
     * Sets the positionX of the container
     *
     * @default 0
     */
    offsetX: number;
    /**
     * Sets the positionY of the container
     *
     * @default 0
     */
    offsetY: number;
    /**
     * Sets the pivot of the selector
     *
     * @default { x: 0.5, y: 0.5 }
     */
    pivot: drawings.PointModel;
    /**
     * set the constraint of the container
     * * Rotate - Enable Rotate Thumb
     * * ConnectorSource - Enable Connector source point
     * * ConnectorTarget - Enable Connector target point
     * * ResizeNorthEast - Enable ResizeNorthEast Resize
     * * ResizeEast - Enable ResizeEast Resize
     * * ResizeSouthEast - Enable ResizeSouthEast Resize
     * * ResizeSouth - Enable ResizeSouth Resize
     * * ResizeSouthWest - Enable ResizeSouthWest Resize
     * * ResizeWest - Enable ResizeWest Resize
     * * ResizeNorthWest - Enable ResizeNorthWest Resize
     * * ResizeNorth - Enable ResizeNorth Resize
     *
     * @private
     * @aspNumberEnum
     */
    thumbsConstraints: drawings.ThumbsConstraints;
    /**
     * Initializes the UI of the container
     *
     * @param  {any} diagram - diagram element.
     * @returns {drawings.Container} - Returns the container element.
     */
    init(diagram: any): drawings.Container;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/drawing/tools.d.ts
/**
 * Defines the interactive tools
 *
 * @hidden
 */
export  class ToolBase {
    /**
     * Initializes the tool
     *
     * @param {PdfViewer} pdfViewer - Specified the pdfviewer component.
     * @param {PdfViewerBase} pdfViewerBase - Specified the pdfViewer base component.
     * @param {boolean} protectChange - Set the default value as false.
     */
    constructor(pdfViewer: PdfViewer, pdfViewerBase: PdfViewerBase, protectChange?: boolean);
    /**   @private  */
    prevPageId: number;
    /**
     * Command that is corresponding to the current action
     */
    protected commandHandler: PdfViewer;
    /**
     * Sets/Gets whether the interaction is being done
     */
    protected inAction: boolean;
    /**
     * Sets/Gets the protect change
     */
    protected pdfViewerBase: PdfViewerBase;
    /**
     * Sets/Gets the current mouse position
     */
    protected currentPosition: drawings.PointModel;
    /**
     * Sets/Gets the previous mouse position
     */
    /**   @private  */
    prevPosition: drawings.PointModel;
    /**
     * Sets/Gets the initial mouse position
     */
    protected startPosition: drawings.PointModel;
    /**
     * Sets/Gets the current element that is under mouse
     */
    /**   @private  */
    currentElement: drawings.IElement;
    /**   @private  */
    blocked: boolean;
    protected isTooltipVisible: boolean;
    /** @private */
    childTable: {};
    /** @private */
    helper: PdfAnnotationBaseModel;
    /**
     * Sets/Gets the previous object when mouse down
     */
    protected undoElement: SelectorModel;
    protected undoParentElement: SelectorModel;
    /**
     * @param {drawings.IElement} currentElement - Specified the current element.
     * @returns {void}
     */
    protected startAction(currentElement: drawings.IElement): void;
    /**
     * @private
     * @param {MouseEventArgs} args - Mouse up event arguments.
     * @returns {void}
     */
    mouseDown(args: MouseEventArgs): void;
    /**
     * @private
     * @param {MouseEventArgs} args - Mouse up event arguments.
     * @returns {boolean} - Returns true or false.
     */
    mouseMove(args: MouseEventArgs): boolean;
    /**
     * @private
     * @param {MouseEventArgs} args - Mouse up event arguments.
     * @returns {void}
     */
    mouseUp(args: MouseEventArgs): void;
    protected endAction(): void;
    /**
     * @private
     * @param {MouseEventArgs} args - Mouse wheel event arguments.
     * @returns {void}
     */
    mouseWheel(args: MouseEventArgs): void;
    /**
     * @private
     * @param {MouseEventArgs} args - Mouse leave event arguments.
     * @returns {void}
     */
    mouseLeave(args: MouseEventArgs): void;
    protected updateSize(shape: any, startPoint: drawings.PointModel, endPoint: drawings.PointModel, corner: string, initialBounds: drawings.Rect, angle?: number, isMouseUp?: boolean): drawings.Rect;
    protected getPivot(corner: string): drawings.PointModel;
    protected getPositions(corner: string, x: number, y: number): drawings.PointModel;
}
/**
 * Helps to select the objects
 *
 * @hidden
 */
export  class SelectTool extends ToolBase {
    private action;
    constructor(commandHandler: PdfViewer, base: PdfViewerBase);
    /**
     * @private
     * @param {MouseEventArgs} args - Mouse down event arguments.
     * @returns {void}
     */
    mouseDown(args: MouseEventArgs): void;
    private mouseEventHelper;
    /**
     * @private
     * @param {MouseEventArgs} args - Mouse move event arguments.
     * @returns {boolean} - Returns true or false.
     */
    mouseMove(args: MouseEventArgs): boolean;
    /**
     * @private
     * @param {MouseEventArgs} args - Mouse up event arguments.
     * @returns {void}
     */
    mouseUp(args: MouseEventArgs): void;
    /**
     * @private
     * @param {MouseEventArgs} args - Mouse leave event arguments.
     * @returns {void}
     */
    mouseLeave(args: MouseEventArgs): void;
}
/** @private */
export  type Actions = 'None' | 'Select' | 'Drag' | 'ResizeWest' | 'ConnectorSourceEnd' | 'ConnectorTargetEnd' | 'ResizeEast' | 'ResizeSouth' | 'ResizeNorth' | 'ResizeSouthEast' | 'ConnectorSegmentPoint' | 'ResizeSouthWest' | 'ResizeNorthEast' | 'ResizeNorthWest' | 'Rotate' | 'ConnectorEnd' | 'Custom' | 'Draw' | 'Pan' | 'BezierSourceThumb' | 'BezierTargetThumb' | 'LayoutAnimation' | 'PinchZoom' | 'Hyperlink' | 'SegmentEnd' | 'OrthoThumb' | 'PortDrag' | 'PortDraw' | 'LabelSelect' | 'LabelDrag' | 'LabelResizeSouthEast' | 'LabelResizeSouthWest' | 'LabelResizeNorthEast' | 'LabelResizeNorthWest' | 'LabelResizeSouth' | 'LabelResizeNorth' | 'LabelResizeWest' | 'LabelResizeEast' | 'LabelRotate';
/** @hidden */
export  class MoveTool extends ToolBase {
    /**
     * Sets/Gets the previous mouse position
     */
    /**   @private  */
    prevPosition: drawings.PointModel;
    /**   @private  */
    startPosition: drawings.PointModel;
    private offset;
    /**   @private  */
    currentTarget: drawings.IElement;
    /**   @private  */
    redoElement: PdfAnnotationBaseModel;
    /**   @private  */
    prevNode: PdfAnnotationBaseModel;
    constructor(commandHandler: PdfViewer, base: PdfViewerBase);
    /**
     * @private
     * @param {MouseEventArgs} args - Mouse down event arguments.
     * @returns {void}
     */
    mouseDown(args: MouseEventArgs): void;
    /**
     * @private
     * @param {any} args - Specified the mouse event arguments.
     * @returns {void}
     */
    mouseUp(args: any): void;
    private calculateMouseXDiff;
    private calculateMouseYDiff;
    private calculateMouseActionXDiff;
    private calculateMouseActionYDiff;
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @param {boolean} isStamp - Specified the stamp annotation or not.
     * @param {boolean} isSkip - Specified the annotation skip or not.
     * @returns {boolean} - Returns the true or false.
     */
    mouseMove(args: MouseEventArgs, isStamp?: boolean, isSkip?: boolean): boolean;
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @returns {void}
     */
    mouseLeave(args: MouseEventArgs): void;
    /**
     * @private
     * @returns {void}
     */
    endAction(): void;
    private checkisAnnotationMove;
}
/** @hidden */
export  class StampTool extends MoveTool {
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @returns {any} - Returns the mouse up event.
     */
    mouseDown(args: MouseEventArgs): any;
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @returns {boolean} - Returns the true or false.
     */
    mouseMove(args: MouseEventArgs): boolean;
    private getTextWidth;
    /**
     * @param {number} fontSize - Font size.
     * @returns {number} - Returns the font size.
     */
    private getFontSize;
}
/**
 * Draws a node that is defined by the user
 *
 * @hidden
 */
export  class InkDrawingTool extends ToolBase {
    /** @private */
    drawingObject: PdfAnnotationBaseModel;
    /** @private */
    sourceObject: PdfAnnotationBaseModel;
    /** @private */
    dragging: boolean;
    constructor(commandHandler: PdfViewer, base: PdfViewerBase, sourceObject: PdfAnnotationBaseModel);
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @returns {void}
     */
    mouseDown(args: MouseEventArgs): void;
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @returns {boolean} - Returns true or false.
     */
    mouseMove(args: MouseEventArgs): boolean;
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @returns {boolean} - Returns true.
     */
    mouseUp(args: MouseEventArgs): boolean;
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @returns {void}
     */
    mouseLeave(args: MouseEventArgs): void;
    /**
     * @private
     * @returns {void}
     */
    endAction(): void;
}
/**
 * Helps to edit the selected connectors
 *
 * @hidden
 */
export  class ConnectTool extends ToolBase {
    /**   @private  */
    endPoint: string;
    /**   @private  */
    selectedSegment: drawings.PointModel;
    /**   @private  */
    initialPosition: drawings.PointModel;
    /**   @private  */
    prevSource: PdfAnnotationBaseModel;
    /**   @private  */
    redoElement: PdfAnnotationBaseModel;
    constructor(commandHandler: PdfViewer, base: PdfViewerBase, endPoint: string);
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @returns {void}
     */
    mouseDown(args: MouseEventArgs): void;
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @returns {void}
     */
    mouseUp(args: MouseEventArgs): void;
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @returns {boolean} - Returns true or false.
     */
    mouseMove(args: MouseEventArgs): boolean;
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @returns {void}
     */
    mouseLeave(args: MouseEventArgs): void;
    /**
     * @private
     * @returns {void}
     */
    endAction(): void;
}
/**
 * Scales the selected objects
 *
 * @hidden
 */
export  class ResizeTool extends ToolBase {
    /**
     * Sets/Gets the previous mouse position
     */
    /**   @private  */
    prevPosition: drawings.PointModel;
    /**   @private  */
    corner: string;
    possibleRect: drawings.Rect;
    /**   @private  */
    initialOffset: drawings.PointModel;
    /**   @private  */
    initialBounds: drawings.Rect;
    /**   @private  */
    initialPosition: drawings.PointModel;
    /**   @private  */
    redoElement: PdfAnnotationBaseModel;
    /**   @private  */
    prevSource: PdfAnnotationBaseModel;
    constructor(commandHandler: PdfViewer, base: PdfViewerBase, corner: string);
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @returns {void} - Returns true or false.
     */
    mouseDown(args: MouseEventArgs): void;
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @param {boolean} isPreventHistory - Specified the prevent history value.
     * @returns {boolean} - Returns true or false.
     */
    mouseUp(args: MouseEventArgs, isPreventHistory?: boolean): boolean;
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @returns {boolean} - Returns true or false.
     */
    mouseMove(args: MouseEventArgs): boolean;
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @returns {void}
     */
    mouseLeave(args: MouseEventArgs): void;
    private getTooltipContent;
    private getChanges;
    private getPoints;
    /**
     * Updates the size with delta width and delta height using scaling.
     * Aspect ratio used to resize the width or height based on resizing the height or width.
     *
     * @param {number} deltaWidth - Specified the delta width.
     * @param {number} deltaHeight - Specified the delta height.
     * @param {string} corner - Specified the corner value.
     * @param {drawings.PointModel} startPoint - Specified the start point of the annotation.
     * @param {drawings.PointModel} endPoint - Specified the end point of the annotation.
     * @param {SelectorModel | PdfAnnotationBaseModel} source - Specified the annotation object.
     * @param {boolean} isCtrlKeyPressed - becomes true when ctrl Key is pressed.
     * @returns {boolean} - Returns true or false.
     */
    private scaleObjects;
}
/**
 * Draws a node that is defined by the user
 *
 * @hidden
 */
export  class NodeDrawingTool extends ToolBase {
    /** @private */
    drawingObject: PdfAnnotationBaseModel;
    /** @private */
    sourceObject: PdfAnnotationBaseModel;
    /** @private */
    dragging: boolean;
    /** @private */
    isFormDesign: boolean;
    constructor(commandHandler: PdfViewer, base: PdfViewerBase, sourceObject: PdfAnnotationBaseModel);
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @returns {void}
     */
    mouseDown(args: MouseEventArgs): void;
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @returns {boolean} - Returns true or false.
     */
    mouseMove(args: MouseEventArgs): boolean;
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @returns {void}
     */
    mouseUp(args: MouseEventArgs): void;
    /**
     * @private
     * @returns {void}
     */
    endAction(): void;
    /**
     * @private
     * @param {PdfAnnotationBaseModel} obj - Specified the annotation object.
     * @param {drawings.Rect} rect - Specified the annotation rect element.
     * @returns {void}
     */
    updateNodeDimension(obj: PdfAnnotationBaseModel, rect?: drawings.Rect): void;
    /**
     * @private
     * @param {drawings.DrawingElement} obj - Specified the drawing element.
     * @param {PdfAnnotationBaseModel} node - Specified the annotation object.
     * @returns {void}
     */
    updateRadiusLinePosition(obj: drawings.DrawingElement, node: PdfAnnotationBaseModel): void;
}
/**
 * Draws a Polygon shape node dynamically using polygon Tool
 *
 * @hidden
 */
export  class PolygonDrawingTool extends ToolBase {
    /** @private */
    drawingObject: PdfAnnotationBaseModel;
    /** @private */
    startPoint: drawings.PointModel;
    /** @private */
    dragging: boolean;
    /** @private */
    action: string;
    constructor(commandHandler: PdfViewer, base: PdfViewerBase, action: string);
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @returns {void}
     */
    mouseDown(args: MouseEventArgs): void;
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @returns {boolean} - Returns true or false.
     */
    mouseMove(args: MouseEventArgs): boolean;
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @param {boolean} isDoubleClineck - Specified the double click event or not.
     * @param {boolean} isMouseLeave - Specified the mouse leave event or not.
     * @returns {void}
     */
    mouseUp(args: MouseEventArgs, isDoubleClineck?: boolean, isMouseLeave?: boolean): void;
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @returns {void}
     */
    mouseLeave(args: MouseEventArgs): void;
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @returns {void}
     */
    mouseWheel(args: MouseEventArgs): void;
    /**
     * @private
     * @returns {void}
     */
    endAction(): void;
}
/**
 * Helps to edit the selected connectors
 *
 * @hidden
 */
export  class LineTool extends ToolBase {
    protected endPoint: string;
    /**   @private  */
    selectedSegment: drawings.PointModel;
    /**   @private  */
    startPoint: drawings.PointModel;
    /** @private */
    dragging: boolean;
    /**   @private  */
    initialPosition: drawings.PointModel;
    /** @private */
    drawingObject: PdfAnnotationBaseModel;
    /**   @private  */
    prevSource: PdfAnnotationBaseModel;
    constructor(commandHandler: PdfViewer, base: PdfViewerBase, endPoint: string, drawingObject: PdfAnnotationBaseModel);
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @returns {void}
     */
    mouseDown(args: MouseEventArgs): void;
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @returns {void}
     */
    mouseUp(args: MouseEventArgs): void;
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @returns {boolean} - Returns true or false.
     */
    mouseMove(args: MouseEventArgs): boolean;
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @returns {void}
     */
    mouseLeave(args: MouseEventArgs): void;
    /**
     * @private
     * @returns {void}
     */
    endAction(): void;
}
/**
 * Rotates the selected objects
 *
 * @hidden
 */
export  class RotateTool extends ToolBase {
    constructor(commandHandler: PdfViewer, base: PdfViewerBase);
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @returns {void}
     */
    mouseDown(args: MouseEventArgs): void;
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @returns {void}
     */
    mouseUp(args: MouseEventArgs): void;
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @returns {boolean} - Returns true or false.
     */
    mouseMove(args: MouseEventArgs): boolean;
    private getTooltipContent;
    /**
     * @private
     * @param {MouseEventArgs} args - Specified the mouse event arguments.
     * @returns {void}
     */
    mouseLeave(args: MouseEventArgs): void;
    /**
     * @private
     * @returns {void}
     */
    endAction(): void;
}
/**
 * @hidden
 */
export interface Info {
    ctrlKey?: boolean;
    shiftKey?: boolean;
}
/**
 * @hidden
 */
export interface ITouches {
    pageX?: number;
    pageY?: number;
    pointerId?: number;
}
/**
 * @hidden
 */
export interface MouseEventArgs {
    position?: drawings.PointModel;
    source?: drawings.IElement;
    sourceWrapper?: drawings.DrawingElement;
    target?: drawings.IElement;
    targetWrapper?: drawings.DrawingElement;
    info?: Info;
    startTouches?: TouchList | ITouches[];
    moveTouches?: TouchList | ITouches[];
    clickCount?: number;
    actualObject?: drawings.IElement;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/form-designer/form-designer.d.ts
/**
 * The `FormDesigner` module is used to handle form designer actions of PDF viewer.
 */
export  class FormDesigner {
    private pdfViewer;
    private pdfViewerBase;
    private isFormFieldExistingInCollection;
    private propertiesDialog;
    private tabControl;
    private formFieldName;
    private formFieldTooltip;
    private formFieldValue;
    private formFieldVisibility;
    private formFieldReadOnly;
    private formFieldChecked;
    private formFieldRequired;
    private formFieldPrinting;
    private formFieldMultiline;
    private formFieldFontFamily;
    private formFieldFontSize;
    private maxLengthItem;
    private fontColorDropDown;
    private fontColorPalette;
    private fontColorElement;
    private colorDropDownElement;
    private colorPalette;
    private colorDropDown;
    private strokeDropDownElement;
    private strokeColorPicker;
    private strokeDropDown;
    private thicknessElement;
    private thicknessDropDown;
    private thicknessSlider;
    private thicknessIndicator;
    private formFieldListItem;
    private formFieldAddButton;
    private formFieldDeleteButton;
    private formFieldUpButton;
    private formFieldDownButton;
    private isBold;
    private isItalic;
    private isUnderline;
    private isStrikeThrough;
    private formFieldBold;
    private formFieldItalic;
    private formFieldUnderline;
    private formFieldStrikeOut;
    private formFieldAlign;
    private fontColorValue;
    private backgroundColorValue;
    private borderColorValue;
    private formFieldBorderWidth;
    private checkboxCheckedState;
    private multilineCheckboxCheckedState;
    private formFieldListItemCollection;
    private formFieldListItemDataSource;
    private isInitialField;
    private isSetFormFieldMode;
    private increasedSize;
    private signatureFieldPropertyChanged;
    private initialFieldPropertyChanged;
    private textFieldPropertyChanged;
    private passwordFieldPropertyChanged;
    private checkBoxFieldPropertyChanged;
    private radioButtonFieldPropertyChanged;
    private dropdownFieldPropertyChanged;
    private listBoxFieldPropertyChanged;
    /**
     * @private
     */
    disableSignatureClickEvent: boolean;
    /**
     * @private
     */
    formFieldIndex: number;
    /**
     * @private
     */
    formFieldIdIndex: number;
    /**
     * @private
     */
    isProgrammaticSelection: boolean;
    /**
     * @private
    */
    isShapeCopied: boolean;
    private isDrawHelper;
    private isFormFieldUpdated;
    /**
    * @param viewer
    * @param base
    * @private
    */
    constructor(viewer: PdfViewer, base: PdfViewerBase);
    /**
     * @private
     */
    isPropertyDialogOpen: boolean;
    /**
     * @private
     */
    drawHelper(formFieldAnnotationType: string, obj: PdfFormFieldBaseModel, event: Event): void;
    /**
     * @private
     */
    drawHTMLContent(formFieldAnnotationType: string, element: DiagramHtmlElement, drawingObject: PdfFormFieldBaseModel, pageIndex?: number, commandHandler?: PdfViewer): HTMLElement;
    /**
     * @private
    */
    updateFormDesignerFieldInSessionStorage(point: drawings.PointModel, element: DiagramHtmlElement, formFieldType: string, drawingObject?: PdfFormFieldBaseModel): void;
    private getRadioButtonItem;
    private getRgbCode;
    /**
     * @param colour
     * @private
     */
    nameToHash(colour: string): string;
    /**
     * @param value
     * @param type
     * @param value
     * @param type
     * @private
     */
    getValue(value?: string, type?: string): string;
    private convertRgbToNumberArray;
    private convertToRgbString;
    private convertToHsvString;
    private roundValue;
    private hexToRgb;
    private rgbToHsv;
    private hsvToRgb;
    private rgbToHex;
    /**
     * @private
     */
    updateCanvas(pageNumber: number, canvas?: HTMLElement): void;
    /**
     * @private
    */
    rerenderFormFields(pageIndex: number): void;
    private renderFormFieldsInZooming;
    /**
     * @private
     */
    updateFormFieldInitialSize(obj: drawings.DrawingElement, formFieldAnnotationType: string): any;
    /**
     * @private
    */
    updateHTMLElement(actualObject: PdfAnnotationBaseModel): void;
    private getCheckboxRadioButtonBounds;
    private updateSessionFormFieldProperties;
    /**
     * @private
     */
    createSignatureDialog(commandHandler: any, signatureField: any, bounds?: any, isPrint?: boolean): HTMLElement;
    private setIndicatorText;
    private getBounds;
    private updateSignatureIndicator;
    private setHeightWidth;
    /**
     * @private
     */
    createDropDownList(dropdownElement: DiagramHtmlElement, drawingObject: PdfFormFieldBaseModel): HTMLElement;
    /**
     * @private
     */
    createListBox(listBoxElement: DiagramHtmlElement, drawingObject: PdfFormFieldBaseModel): HTMLElement;
    /**
     * @private
     */
    createInputElement(formFieldAnnotationType: string, drawingObject: PdfFormFieldBaseModel, formFieldBounds?: any, isPrint?: boolean): HTMLElement;
    private listBoxChange;
    private dropdownChange;
    private setCheckBoxState;
    private setCheckedValue;
    private setRadioButtonState;
    private getTextboxValue;
    private inputElementClick;
    /**
     * Adds form field to the PDF page.
     *
     * @param formFieldType
     * @param options
     * @returns HTMLElement
     */
    addFormField(formFieldType: FormFieldType, options?: TextFieldSettings | PasswordFieldSettings | CheckBoxFieldSettings | DropdownFieldSettings | RadioButtonFieldSettings | ListBoxFieldSettings | SignatureFieldSettings | InitialFieldSettings, isCollection?: boolean, id?: string): HTMLElement;
    addFieldCollection(node: any): void;
    /**
     * @private
     */
    drawFormField(obj: PdfFormFieldBaseModel): HTMLElement;
    /**
    * Update the node value based on the collections
    *
    * @param node
    * @param data
    * @returns void
    */
    private updateNodeBasedOnCollections;
    /**
     * Set the form field mode to add the form field on user interaction.
     *
     * @param formFieldId
     * @param options
     * @returns void
     */
    setFormFieldMode(formFieldType: FormFieldType, options?: Item[]): void;
    /**
     * Reset the form fields into its original state.
     *
     * @param formFieldId
     * @returns void
     */
    resetFormField(formFieldId: string | object): void;
    /**
     * Select the form field in the PDF Viewer.
     *
     * @param formFieldId
     * @returns void
     */
    selectFormField(formFieldId: string | object): void;
    /**
     * Update the form field with the given properties and value.
     *
     * @param formFieldId
     * @param options
     * @returns void
     */
    updateFormField(formFieldId: string | object, options: TextFieldSettings | PasswordFieldSettings | CheckBoxFieldSettings | DropdownFieldSettings | RadioButtonFieldSettings): void;
    /**
    * Update the form field in the form field collections.
    * @param formFieldId
    * @param options
    * @returns void
    */
    private updateFormFieldsInCollections;
    /**
    * Update the form field data based on the value
    * @param currentData
    * @param options
    * @returns void
    */
    private updateFormFieldData;
    /**
     * @private
     */
    getSignatureBackground(color: string): string;
    private formFieldPropertyChange;
    private colorNametoHashValue;
    /**
     * @private
     */
    getFormField(formFieldId: string | object): PdfFormFieldBaseModel;
    private resetTextboxProperties;
    private resetPasswordProperties;
    private resetCheckboxProperties;
    private resetRadioButtonProperties;
    private resetDropdownListProperties;
    private resetListBoxProperties;
    private resetSignatureTextboxProperties;
    /**
     * Deletes the form field from the PDF page.
     *
     * @param formFieldId
     * @param addAction
     * @returns void
     */
    deleteFormField(formFieldId: string | object, addAction?: boolean): void;
    /**
     * Clears the selection of the form field in the PDF page.
     *
     * @param formFieldId
     * @returns void
     */
    clearSelection(formFieldId: string | object): void;
    /**
     * @private
     */
    setMode(mode: string): void;
    private enableDisableFormFieldsInteraction;
    private getAnnotationsFromAnnotationCollections;
    /**
     * @private
     */
    updateSignatureValue(formFieldId: string): void;
    /**
     * @private
     */
    removeFieldsFromAnnotationCollections(annotationId: string): any;
    /**
     * @private
    */
    setFormFieldIndex(): number;
    private setFormFieldIdIndex;
    private activateTextboxElement;
    private activatePasswordField;
    private activateCheckboxElement;
    private activateRadioButtonElement;
    private activateDropDownListElement;
    private activateListboxElement;
    private activateSignatureBoxElement;
    /**
     * @private
    */
    updateTextboxProperties(obj: PdfFormFieldBaseModel, inputElement: HTMLElement): void;
    /**
     * @private
    */
    updatePasswordFieldProperties(obj: PdfFormFieldBaseModel, inputElement: HTMLElement): void;
    /**
     * @private
    */
    updateCheckboxProperties(obj: PdfFormFieldBaseModel, inputElement: HTMLElement): void;
    /**
     * @private
    */
    updateRadioButtonProperties(obj: PdfFormFieldBaseModel, inputElement: HTMLElement): void;
    /**
     * @private
    */
    updateDropdownListProperties(obj: PdfFormFieldBaseModel, inputElement: HTMLElement): void;
    /**
     * @private
    */
    updateListBoxProperties(obj: PdfFormFieldBaseModel, inputElement: HTMLElement): void;
    /**
     * @private
    */
    updateSignatureFieldProperties(obj: PdfFormFieldBaseModel, inputElement: HTMLElement, isPrint?: boolean): void;
    /**
     * @private
     */
    createHtmlElement(elementType: string, attribute: Object): HTMLElement;
    private setAttributeHtml;
    private applyStyleAgainstCsp;
    private getFieldBounds;
    /**
     * @private
     */
    downloadFormDesigner(): string;
    /**
     * @private
     */
    createAnnotationLayer(pageDiv: HTMLElement, pageWidth: number, pageHeight: number, pageNumber: number, displayMode: string): HTMLElement;
    /**
     * @private
    */
    resizeAnnotations(width: number, height: number, pageNumber: number): void;
    /**
     * @private
    */
    getEventPageNumber(event: Event): number;
    private getPropertyPanelHeaderContent;
    /**
     * @private
    */
    createPropertiesWindow(): void;
    private onOkClicked;
    /**
     * Update the form fields properties to the collection while rendering the page
    */
    private updateFormFieldPropertiesInCollections;
    private checkTextboxName;
    renderMultilineText(selectedItem: PdfFormFieldBaseModel, isUndoRedo?: boolean): void;
    renderTextbox(selectedItem: PdfFormFieldBaseModel, isUndoRedo?: boolean): void;
    private addMultilineTextbox;
    private reRenderMultilineTextbox;
    private createTextAreaElement;
    private createTextboxElement;
    /**
     * @private
     */
    updateFormFieldCollections(formFieldObject: PdfFormFieldBaseModel): void;
    /**
    * Get the Hex value from the RGB value.
    */
    private getRgbToHex;
    /**
     * @private
     */
    updateDropdownFormDesignerProperties(selectedItem: PdfFormFieldBaseModel, isUndoRedo?: boolean): void;
    /**
     * @private
     */
    updateListBoxFormDesignerProperties(selectedItem: PdfFormFieldBaseModel, isUndoRedo?: boolean): void;
    private updateDropDownListDataSource;
    private createDropdownDataSource;
    /**
     * @private
     */
    updateSignatureTextboxProperties(selectedItem: PdfFormFieldBaseModel, isUndoRedo?: boolean): void;
    /**
     * @private
     */
    updateCheckboxFormDesignerProperties(selectedItem: PdfFormFieldBaseModel, isUndoRedo?: boolean): void;
    /**
     * @private
     */
    updateRadioButtonDesignerProperties(selectedItem: PdfFormFieldBaseModel, isUndoRedo?: boolean): void;
    /**
     * @private
     */
    updateTextboxFormDesignerProperties(selectedItem: PdfFormFieldBaseModel, isUndoRedo?: boolean): void;
    /**
     * @private
     */
    updateIsCheckedPropertyChange(selectedItem: any, element: any, isUndoRedo: boolean, index: number, formFieldsData: any): void;
    /**
    * @private
    */
    updateIsSelectedPropertyChange(selectedItem: any, element: any, isUndoRedo: boolean, index: number, formFieldsData: any): void;
    /**
     * @private
     */
    updateValuePropertyChange(selectedItem: any, element: any, isUndoRedo: boolean, index: number, formFieldsData: any): void;
    private updateFontStylePropertyChange;
    private updateBorderThicknessPropertyChange;
    private updateBorderColorPropertyChange;
    private updateBackgroundColorPropertyChange;
    private updateColorPropertyChange;
    private updateAlignmentPropertyChange;
    private updateFontSizePropertyChange;
    private updateFontFamilyPropertyChange;
    private updateVisibilityPropertyChange;
    private hideSignatureValue;
    private showSignatureValue;
    private updateTooltipPropertyChange;
    private updateNamePropertyChange;
    private updateIsReadOnlyPropertyChange;
    private updateIsRequiredPropertyChange;
    private updateIsPrintPropertyChange;
    /**
     * @private
     */
    getFormFiledIndex(id: any): number;
    private updateFontStyle;
    private setFontStyleValues;
    private setDropdownFontStyleValue;
    /**
     * @private
     */
    updateFormFieldPropertiesChanges(name: string, selectedItem: PdfFormFieldBaseModel, isValueChanged: boolean, isFontFamilyChanged: boolean, isFontSizeChanged: boolean, isFontStyleChanged: boolean, isColorChanged: boolean, isBackgroundColorChanged: boolean, isBorderColorChanged: boolean, isBorderWidthChanged: boolean, isAlignmentChanged: boolean, isReadOnlyChanged: boolean, isVisibilityChanged: boolean, isMaxLengthChanged: boolean, isRequiredChanged: boolean, isPrintChanged: boolean, isToolTipChanged: boolean, oldValue: any, newValue: any, isNamechanged?: boolean, previousName?: string): void;
    private onCancelClicked;
    private createAppearanceTab;
    private createGeneralProperties;
    private checkBoxChange;
    private multilineCheckboxChange;
    private setToolTip;
    private tooltipBeforeOpen;
    private createAppearanceProperties;
    private thicknessChange;
    private thicknessDropDownBeforeOpen;
    private updateThicknessIndicator;
    private createOptionProperties;
    private addListItemOnClick;
    private listItemOnClick;
    private deleteListItem;
    private moveUpListItem;
    private moveDownListItem;
    private createListElement;
    private createThicknessSlider;
    private createColorPicker;
    private fontStyleClicked;
    private clearFontAlignIconSelection;
    private fontAlignClicked;
    private onFontColorChange;
    private onColorPickerChange;
    /**
     * @private
     */
    updateColorInIcon(element: HTMLElement, color: string): void;
    private onStrokePickerChange;
    private createDropDownButton;
    /**
     * @private
    */
    addClassFontItem(idString: string, className: string, isSelectedStyle?: boolean): HTMLElement;
    private createLabelElement;
    private setReadOnlyToFormField;
    /**
     * @private
    */
    getFormDesignerSignField(signatureFieldCollection: any): any[];
    private setRequiredToFormField;
    private setReadOnlyToElement;
    private setRequiredToElement;
    /**
     * @private
    */
    destroyPropertiesWindow(): void;
    /**
     * @private
    */
    destroy(): void;
    private hex;
    /**
     * @private
    */
    getModuleName(): string;
    private updateAnnotationCanvas;
    private getFontFamily;
    private updateTextFieldSettingProperties;
    private updatePasswordFieldSettingProperties;
    private updateCheckBoxFieldSettingsProperties;
    private updateRadioButtonFieldSettingProperties;
    private updateDropdownFieldSettingsProperties;
    private updatelistBoxFieldSettingsProperties;
    private updateSignInitialFieldProperties;
    /**
     * @private
     */
    updateSignatureSettings(newSignatureFieldSettings: any, isInitialField: boolean): void;
    /**
     * @private
     */
    updateTextFieldSettings(textFieldSettings: any): void;
    /**
     * @private
     */
    updatePasswordFieldSettings(passwordFieldSettings: any): void;
    /**
     * @private
     */
    updateCheckBoxFieldSettings(checkBoxFieldSettings: any): void;
    /**
     * @private
     */
    updateRadioButtonFieldSettings(radioButtonFieldSettings: any): void;
    /**
     * @private
     */
    updateDropDownFieldSettings(dropdownFieldSettings: any): void;
    /**
     * @private
     */
    updateListBoxFieldSettings(listBoxFieldSettings: any): void;
    private getFontStyleName;
    private getAlignment;
    private getFontStyle;
}
/**
 * Defines the common properties of Radiobutton Item
 *
 * @hidden
 */
export interface IRadiobuttonItem {
    id: string;
    lineBound: IFormFieldBound;
    pageNumber: number;
    formFieldAnnotationType: string;
    name: string;
    value: string;
    fontFamily: string;
    fontSize: number;
    fontStyle: string;
    fontColor: any;
    backgroundColor: any;
    textAlign: string;
    isReadonly: boolean;
    visibility: string;
    maxLength: number;
    isRequired: boolean;
    isPrint: boolean;
    rotation: number;
    tooltip: string;
    isChecked: boolean;
    isSelected: boolean;
    zoomValue: number;
    borderColor?: any;
    thickness?: number;
}
/**
 * Defines the common properties of Form Fields Item
 *
 * @hidden
 */
export interface IFormField {
    id?: string;
    lineBound?: IFormFieldBound;
    pageNumber?: number;
    zoomValue?: number;
    formFieldAnnotationType?: string;
    name?: string;
    value?: string;
    option?: ItemModel[];
    fontFamily?: string;
    fontSize?: number;
    fontStyle?: string;
    fontColor?: any;
    color?: any;
    backgroundColor: any;
    textAlign?: string;
    alignment?: string;
    isReadonly?: boolean;
    visibility?: string;
    maxLength?: number;
    isRequired?: boolean;
    isMultiline?: boolean;
    isPrint?: boolean;
    rotation?: number;
    tooltip?: string;
    isChecked?: boolean;
    isSelected?: boolean;
    radiobuttonItem?: IRadiobuttonItem[];
    selectedIndex?: number[];
    options?: ItemModel[];
    borderColor?: any;
    thickness?: number;
    font?: PdfFontModel;
    signatureBound?: any;
    signatureType?: string;
    type?: string;
    currentName?: string;
    previousName?: string;
}
/**
 * Defines the FormFields Bound properties
 *
 * @hidden
 */
export interface IFormFieldBound {
    X: number;
    Y: number;
    Width: number;
    Height: number;
}
/**
 * Defines the FormFields element attributes
 *
 * @hidden
 */
export interface IElement extends HTMLElement {
    options: any;
    name: string;
    value: string;
    checked: boolean;
    selectedIndex: number;
    selectedOptions: any;
    autocomplete: string;
    type: string;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/form-designer/index.d.ts
/**
 * export types
 */
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/form-fields/form-fields.d.ts
/**
 * The `FormFields` module is to render formfields in the PDF document.
 *
 * @hidden
 */
export  class FormFields {
    private pdfViewer;
    private pdfViewerBase;
    private maxTabIndex;
    private minTabIndex;
    private maintainTabIndex;
    private maintanMinTabindex;
    private isSignatureField;
    private isKeyDownCheck;
    /**
     * @private
     */
    readOnlyCollection: any;
    /**
     * @private
     */
    currentTarget: any;
    private isSignatureRendered;
    /**
     * @private
     */
    signatureFieldCollection: any;
    private data;
    private formFieldsData;
    private rotateAngle;
    private selectedIndex;
    /**
     * @param viewer
     * @param base
     * @param viewer
     * @param base
     * @private
     */
    constructor(viewer: PdfViewer, base: PdfViewerBase);
    /**
     * @param pageIndex
     * @private
     */
    renderFormFields(pageIndex: number): void;
    private setToolTip;
    private trim;
    private rgbaToHex;
    private getListValues;
    private createParentElement;
    /**
     * @private
     */
    getAngle(pageIndex: number): number;
    nextField(): void;
    previousField(): void;
    private signatureFieldNavigate;
    private getSignatureIndex;
    private renderSignatureField;
    /**
     * @private
     */
    setFocus(id?: string): void;
    /**
     * @private
     */
    removeFocus(): void;
    private getSignField;
    private getFormFieldSignField;
    /**
     * @private
     */
    formFieldCollections(): void;
    private retreiveFormFieldsData;
    /**
     * @param formField
     * @private
     */
    updateFormFieldsCollection(formField: any): void;
    updateFormFieldValues(formFields: any): void;
    /**
     * @param currentData
     * @private
     */
    retriveFieldName(currentData: any): string;
    private retriveCurrentValue;
    private getSignatureBounds;
    /**
     * @private
     */
    downloadFormFieldsData(): any;
    private focusFormFields;
    private blurFormFields;
    updateFormFields(event: MouseEvent): void;
    /**
     * @param signatureType
     * @param value
     * @param target
     * @param fontname
     * @param signatureType
     * @param value
     * @param target
     * @param fontname
     * @private
     */
    drawSignature(signatureType?: string, value?: string, target?: any, fontname?: string): void;
    private imageOnLoad;
    private updateSignatureDataInSession;
    /**
     * @private
     */
    getDefaultBoundsforSign(bounds: any): any;
    /**
     * @private
      */
    getSignBounds(currentIndex: number, rotateAngle: number, currentPage: number, zoomvalue: number, currentLeft: number, currentTop: number, currentWidth: number, currentHeight: number, isDraw?: boolean): any;
    private updateSameFieldsValue;
    private updateFormFieldsValue;
    private changeFormFields;
    private calculateSignatureBounds;
    /**
     * @param data
     * @param isSignature
     * @param currentField
     * @param data
     * @param isSignature
     * @param currentField
     * @param data
     * @param isSignature
     * @param currentField
     * @private
     */
    updateSignatureAspectRatio(data: any, isSignature?: boolean, currentField?: any, currentData?: any): any;
    /**
     * @param target
     * @param signaturePath
     * @param signatureBounds
     * @param signatureFontFamily
     * @param signatureFontSize
     * @param target
     * @param signaturePath
     * @param signatureBounds
     * @param signatureFontFamily
     * @param signatureFontSize
     * @param target
     * @param signaturePath
     * @param signatureBounds
     * @param signatureFontFamily
     * @param signatureFontSize
     * @param target
     * @param signaturePath
     * @param signatureBounds
     * @param signatureFontFamily
     * @param signatureFontSize
     * @param target
     * @param signaturePath
     * @param signatureBounds
     * @param signatureFontFamily
     * @param signatureFontSize
     * @private
     */
    updateDataInSession(target: any, signaturePath?: any, signatureBounds?: any, signatureFontFamily?: string, signatureFontSize?: Number): void;
    /**
     * @private
     */
    removeExistingFormFields(): void;
    private applyCommonProperties;
    /**
     * @param currentData
     * @param pageIndex
     * @param index
     * @param printContainer
     * @param currentData
     * @param pageIndex
     * @param index
     * @param printContainer
     * @private
     */
    createFormFields(currentData: any, pageIndex: number, index?: number, printContainer?: any, count?: number): any;
    private getFormFieldType;
    private createButtonField;
    private createTextBoxField;
    private checkIsReadonly;
    /**
     * @param isReadonly
     * @private
     */
    formFieldsReadOnly(isReadonly: boolean): void;
    private makeformFieldsReadonly;
    private applyTabIndex;
    private checkIsRequiredField;
    private applyDefaultColor;
    private addAlignmentPropety;
    private addBorderStylePropety;
    private createRadioBoxField;
    private createDropDownField;
    private createListBoxField;
    private createSignatureField;
    private addSignaturePath;
    private getBounds;
    private getBoundsPosition;
    private applyPosition;
    private renderExistingAnnnot;
    private updateSignatureBounds;
    resetFormFields(): void;
    /**
     * @private
     */
    clearFormFieldStorage(): void;
    clearFormFields(formField?: any): void;
    /**
     * @param number
     * @private
     */
    ConvertPointToPixel(number: any): any;
    /**
     * @private
     */
    destroy(): void;
    /**
     * @private
     */
    getModuleName(): string;
    /**
     * @private
     * Get the text wdith
     * @param text
     * @param font
     * @param fontFamily
    */
    getTextWidth(text: any, font: any, fontFamily: any): number;
    /**
     * @private
     * @param {number} fontSize - Font size.
     * @returns {number} - Returns the font size.
    */
    getFontSize(fontSize: number): number;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/form-fields/index.d.ts
/**
 * export types
 */
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/index.d.ts
/**
 * PdfViewer component exported items
 */
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/magnification/index.d.ts
/**
 * export types
 */
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/magnification/magnification.d.ts
/**
 * Magnification module
 */
export  class Magnification {
    /**
     * @private
     */
    zoomFactor: number;
    /**
     * @private
     */
    previousZoomFactor: number;
    private scrollWidth;
    private pdfViewer;
    private pdfViewerBase;
    private zoomLevel;
    private higherZoomLevel;
    private lowerZoomLevel;
    private zoomPercentages;
    private isNotPredefinedZoom;
    private pinchStep;
    private reRenderPageNumber;
    private magnifyPageRerenderTimer;
    private rerenderOnScrollTimer;
    private rerenderInterval;
    private previousTouchDifference;
    private touchCenterX;
    private touchCenterY;
    private pageRerenderCount;
    private imageObjects;
    private topValue;
    private isTapToFitZoom;
    /**
     * @private
     */
    fitType: string;
    /**
     * @private
     */
    isInitialLoading: boolean;
    /**
     * @private
     */
    isPinchZoomed: boolean;
    /**
     * @private
     */
    isPagePinchZoomed: boolean;
    /**
     * @private
     */
    isRerenderCanvasCreated: boolean;
    /**
     * @private
     */
    isMagnified: boolean;
    /**
     * @private
     */
    isPagesZoomed: boolean;
    /**
     * @private
     */
    isPinchScrolled: boolean;
    /**
     * @private
     */
    isAutoZoom: boolean;
    /**
     * @private
     */
    isFormFieldPageZoomed: boolean;
    private isWebkitMobile;
    private isFitToPageMode;
    /**
     * @param pdfViewer
     * @param viewerBase
     * @private
     */
    constructor(pdfViewer: PdfViewer, viewerBase: PdfViewerBase);
    /**
     * Zoom the PDF document to the given zoom value
     *
     * @param  {number} zoomValue - Specifies the Zoom Value for magnify the PDF document
     * @returns void
     */
    zoomTo(zoomValue: number): void;
    /**
     * Magnifies the page to the next value in the zoom drop down list.
     *
     * @returns void
     */
    zoomIn(): void;
    /**
     * Magnifies the page to the previous value in the zoom drop down list.
     *
     * @returns void
     */
    zoomOut(): void;
    /**
     * Scales the page to fit the page width to the width of the container in the control.
     *
     * @returns void
     */
    fitToWidth(): void;
    /**
     * @private
     */
    fitToAuto(): void;
    /**
     * Scales the page to fit the page in the container in the control.
     *
     * @param  {number} zoomValue - Defines the Zoom Value for fit the page in the Container
     * @returns void
     */
    fitToPage(): void;
    /**
     * Returns zoom factor for the fit zooms.
     *
     * @param type
     */
    private calculateFitZoomFactor;
    /**
     * Performs pinch in operation
     */
    private pinchIn;
    /**
     * Performs pinch out operation
     */
    private pinchOut;
    /**
     * returns zoom level for the zoom factor.
     *
     * @param zoomFactor
     */
    private getZoomLevel;
    /**
     * @private
     */
    checkZoomFactor(): boolean;
    /**
     * Executes when the zoom or pinch operation is performed
     *
     * @param zoomValue
     */
    private onZoomChanged;
    /**
     * @param clientX
     * @param clientY
     * @private
     */
    setTouchPoints(clientX: number, clientY: number): void;
    /**
     * @param pointX1
     * @param pointY1
     * @param pointX2
     * @param pointY2
     * @param pointX1
     * @param pointY1
     * @param pointX2
     * @param pointY2
     * @param pointX1
     * @param pointY1
     * @param pointX2
     * @param pointY2
     * @param pointX1
     * @param pointY1
     * @param pointX2
     * @param pointY2
     * @private
     */
    initiatePinchMove(pointX1: number, pointY1: number, pointX2: number, pointY2: number): void;
    private magnifyPages;
    private updatePageLocation;
    private updatePageContainer;
    private clearRerenderTimer;
    /**
     * @private
     */
    clearIntervalTimer(): void;
    /**
     * @param image
     * @private
     */
    pushImageObjects(image: HTMLImageElement): void;
    private clearRendering;
    private rerenderMagnifiedPages;
    private renderInSeparateThread;
    private responsivePages;
    private calculateScrollValues;
    private rerenderOnScroll;
    /**
     * @private
     */
    pinchMoveScroll(): void;
    private initiateRerender;
    private reRenderAfterPinch;
    /**
     * @param pageNumber
     * @private
     */
    rerenderAnnotations(pageNumber: number): void;
    private designNewCanvas;
    /**
     * @private
     */
    pageRerenderOnMouseWheel(): void;
    /**
     * @private
     */
    renderCountIncrement(): void;
    /**
     * @private
     */
    rerenderCountIncrement(): void;
    /**
     * @param pageNumber
     * @private
     */
    resizeCanvas(pageNumber: number): void;
    private zoomOverPages;
    /**
     * @private
     */
    pinchMoveEnd(): void;
    /**
     * @param event
     * @private
     */
    fitPageScrollMouseWheel(event: WheelEvent): void;
    /**
     * @param event
     * @private
     */
    magnifyBehaviorKeyDown(event: KeyboardEvent): void;
    private upwardScrollFitPage;
    /**
     * @param currentPageIndex
     * @private
     */
    updatePagesForFitPage(currentPageIndex: number): void;
    /**
     * @private
     */
    onDoubleTapMagnification(): void;
    private downwardScrollFitPage;
    private getMagnifiedValue;
    /**
     * @private
     */
    destroy(): void;
    /**
     * returns zoom factor when the zoom percent is passed.
     *
     * @param zoomValue
     */
    private getZoomFactor;
    /**
     * @private
     */
    getModuleName(): string;
    /**
    * Returns the pinch step value.
    * @param higherValue
    * @param lowerValue
    */
    private getPinchStep;
    /**
    * @private
    * Brings the given rectangular region to view and zooms in the document to fit the region in client area (view port).
    *
    * @param {drawings.Rect} zoomRect - Specifies the region in client coordinates that is to be brought to view.
    */
    zoomToRect(zoomRect: drawings.Rect): void;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/navigation/index.d.ts
/**
 * export types
 */
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/navigation/page-navigation.d.ts
/**
 * Navigation module
 */
export  class Navigation {
    private pdfViewer;
    private pdfViewerBase;
    private pageNumber;
    /**
     * @param viewer
     * @param viewerBase
     * @param viewer
     * @param viewerBase
     * @private
     */
    constructor(viewer: PdfViewer, viewerBase: PdfViewerBase);
    /**
     * Navigate to Next page of the PDF document
     *
     * @returns void
     */
    goToNextPage(): void;
    /**
     * Navigate to Previous page of the PDF document
     *
     * @returns void
     */
    goToPreviousPage(): void;
    /**
     * Navigate to given Page number
     * Note : In case if we have provided incorrect page number as argument it will retain the existing page
     *
     * @param  {number} pageNumber - Defines the page number to navigate
     * @returns void
     */
    goToPage(pageNumber: number): void;
    /**
     * Navigate to First page of the PDF document
     *
     * @returns void
     */
    goToFirstPage(): void;
    /**
     * Navigate to Last page of the PDF document
     *
     * @returns void
     */
    goToLastPage(): void;
    /**
     * @private
     */
    destroy(): void;
    /**
     * @private
     */
    getModuleName(): string;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/pdfviewer-model.d.ts
 
/**
 * Interface for a class ToolbarSettings
 */
export interface ToolbarSettingsModel {
    /**
     * Enable or disables the toolbar of PdfViewer.
     */
    showTooltip?: boolean;
    /**
     * shows only the defined options in the PdfViewer.
     */
    toolbarItems?: ToolbarItem[];
    /**
     * Provide option to customize the annotation toolbar of the PDF Viewer.
     */
    annotationToolbarItems?: AnnotationToolbarItem[];
    /**
     * Customize the tools to be exposed in the form designer toolbar.
     */
    formDesignerToolbarItems?: FormDesignerToolbarItem[];
}
/**
 * Interface for a class AjaxRequestSettings
 */
export interface AjaxRequestSettingsModel {
    /**
     * set the ajax Header values in the PdfViewer.
     */
    ajaxHeaders?: IAjaxHeaders[];
    /**
     * set the ajax credentials for the pdfviewer.
     */
    withCredentials?: boolean;
}
/**
 * Interface for a class CustomStamp
 */
export interface CustomStampModel {
    /**
     * Defines the custom stamp name to be added in stamp menu of the PDF Viewer toolbar.
     */
    customStampName?: string;
    /**
     * Defines the custom stamp images source to be added in stamp menu of the PDF Viewer toolbar.
     */
    customStampImageSource?: string;
}
/**
 * Interface for a class AnnotationToolbarSettings
 */
export interface AnnotationToolbarSettingsModel {
    /**
     * Enable or disables the tooltip of the toolbar.
     */
    showTooltip?: boolean;
    /**
     * shows only the defined options in the PdfViewer.
     */
    annotationToolbarItem?: AnnotationToolbarItem[];
}
/**
 * Interface for a class FormDesignerToolbarSettings
 */
export interface FormDesignerToolbarSettingsModel {
    /**
     * Enable or disables the tooltip of the toolbar.
     */
    showTooltip?: boolean;
    /**
     * shows only the defined options in the PdfViewer.
     */
    formDesignerToolbarItem?: FormDesignerToolbarItem[];
}
/**
 * Interface for a class SignatureFieldSettings
 */
export interface SignatureFieldSettingsModel {
    /**
     * Get or set the form field bounds.
     */
    bounds?: IFormFieldBound;
    /**
     * Get or set the name of the form field element.
     */
    name?: string;
    /**
     * Specifies whether the signature field is in read-only or read-write mode. FALSE by default.
     */
    isReadOnly?: boolean;
    /**
     * Gets or set the visibility of the form field.
     */
    visibility?: Visibility;
    /**
     * If it is set as true, consider as mandatory field in the PDF document. By default it is false.
     */
    isRequired?: boolean;
    /**
     * Get or set the boolean value to print the signature field. TRUE by default.
     */
    isPrint?: boolean;
    /**
     * Get or set the text to be displayed as tooltip. By default it is empty.
     */
    tooltip?: string;
    /**
     * specifies the page number of the form field.
     */
    pageNumber?: number;
    /**
     * Specifies the properties of the signature Dialog Settings in the signature field.
     */
    signatureDialogSettings?: SignatureDialogSettingsModel;
    /**
     * Specifies the properties of the signature indicator in the signature field.
     */
    signatureIndicatorSettings?: SignatureIndicatorSettingsModel;
}
/**
 * Interface for a class InitialFieldSettings
 */
export interface InitialFieldSettingsModel {
    /**
     * Get or set the form field bounds.
     */
    bounds?: IFormFieldBound;
    /**
     * Get or set the name of the form field element.
     */
    name?: string;
    /**
     * Specifies whether the initial field is in read-only or read-write mode. FALSE by default.
     */
    isReadOnly?: boolean;
    /**
     * Gets or set the visibility of the form field.
     */
    visibility?: Visibility;
    /**
     * If it is set as true, consider as mandatory field in the PDF document. By default it is false.
     */
    isRequired?: boolean;
    /**
     * Get or set the boolean value to print the initial field. TRUE by default.
     */
    isPrint?: boolean;
    /**
     * Get or set the text to be displayed as tooltip. By default it is empty.
     */
    tooltip?: string;
    /**
     * specifies the page number of the form field.
     */
    pageNumber?: number;
    /**
     * Gets or sets the initial field type of the signature field.
     */
    isInitialField?: boolean;
    /**
     * Get or set the signature dialog settings for initial field.
     */
    initialDialogSettings?: SignatureDialogSettingsModel;
    /**
     * Specifies the properties of the signature indicator in the initial field.
     */
    initialIndicatorSettings?: SignatureIndicatorSettingsModel;
}
/**
 * Interface for a class SignatureIndicatorSettings
 */
export interface SignatureIndicatorSettingsModel {
    /**
     * Specifies the opacity of the signature indicator.
     */
    opacity?: number;
    /**
     * Specifies the color of the signature indicator.
     */
    backgroundColor?: string;
    /**
     * Specifies the width of the signature indicator. Maximum width is half the width of the signature field.
     * Minimum width is the default value.
     */
    width?: number;
    /**
     * Specifies the height of the signature indicator. Maximum height is half the height of the signature field.
     * Minimum height is the default value.
     */
    height?: number;
    /**
     * Specifies the signature Indicator's font size. The maximum size of the font is half the height of the signature field.
     */
    fontSize?: number;
    /**
     * Specifies the text of the signature Indicator.
     */
    text?: string;
    /**
     * Specifies the color of the text of signature indicator.
     */
    color?: string;
}
/**
 * Interface for a class SignatureDialogSettings
 */
export interface SignatureDialogSettingsModel {
    /**
     * Get or set the required signature options will be enabled in the signature dialog.
     */
    displayMode?: DisplayMode;
    /**
     * Get or set a boolean value to show or hide the save signature check box option in the signature dialog. FALSE by default.
     */
    hideSaveSignature?: boolean;
}
/**
 * Interface for a class ServerActionSettings
 */
export interface ServerActionSettingsModel {
    /**
     * specifies the load action of PdfViewer.
     */
    load?: string;
    /**
     * specifies the unload action of PdfViewer.
     */
    unload?: string;
    /**
     * specifies the render action of PdfViewer.
     */
    renderPages?: string;
    /**
     * specifies the print action of PdfViewer.
     */
    print?: string;
    /**
     * specifies the download action of PdfViewer.
     */
    download?: string;
    /**
     * specifies the download action of PdfViewer.
     */
    renderThumbnail?: string;
    /**
     * specifies the annotation comments action of PdfViewer.
     */
    renderComments?: string;
    /**
     */
    /**
     * specifies the export annotations action of PdfViewer.
     */
    exportAnnotations?: string;
    /**
     */
    /**
     * specifies the export action of PdfViewer.
     */
    exportFormFields?: string;
    /**
     * specifies the export action of PdfViewer.
     */
    renderTexts?: string;
}
/**
 * Interface for a class StrikethroughSettings
 */
export interface StrikethroughSettingsModel {
    /**
     * Get or set page number of the annotation.
     */
    pageNumber?: number;
    /**
     * specifies the opacity of the annotation.
     */
    opacity?: number;
    /**
     * specifies the color of the annotation.
     */
    color?: string;
    /**
     * specifies the author of the annotation.
     */
    author?: string;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings?: AnnotationSelectorSettingsModel;
    /**
     * specifies the custom data of the annotation.
     */
    customData?: object;
    /**
     * specifies the locked action of the annotation.
     */
    isLock?: boolean;
    /**
     * Enables or disables the multi-page text markup annotation selection in UI.
     *
     * @default false
     */
    enableMultiPageAnnotation?: boolean;
    /**
     * Enable or disable the text markup resizer to modify the bounds in UI.
     *
     * @default false
     */
    enableTextMarkupResizer?: boolean;
    /**
     * Gets or sets the allowed interactions for the locked strikethrough annotations.
     * IsLock can be configured using strikethrough settings.
     *
     * @default ['None']
     */
    allowedInteractions?: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint?: boolean;
}
/**
 * Interface for a class UnderlineSettings
 */
export interface UnderlineSettingsModel {
    /**
     * Get or set page number of the annotation.
     */
    pageNumber?: number;
    /**
     * specifies the opacity of the annotation.
     */
    opacity?: number;
    /**
     * specifies the color of the annotation.
     */
    color?: string;
    /**
     * specifies the author of the annotation.
     */
    author?: string;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings?: AnnotationSelectorSettingsModel;
    /**
     * specifies the custom data of the annotation.
     */
    customData?: object;
    /**
     * specifies the locked action of the annotation.
     */
    isLock?: boolean;
    /**
     * Enables or disables the multi-page text markup annotation selection in UI.
     *
     * @default false
     */
    enableMultiPageAnnotation?: boolean;
    /**
     * Enable or disable the text markup resizer to modify the bounds in UI.
     *
     * @default false
     */
    enableTextMarkupResizer?: boolean;
    /**
     * Gets or sets the allowed interactions for the locked underline annotations.
     * IsLock can be configured using underline settings.
     *
     * @default ['None']
     */
    allowedInteractions?: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint?: boolean;
}
/**
 * Interface for a class HighlightSettings
 */
export interface HighlightSettingsModel {
    /**
     * Get or set page number of the annotation.
     */
    pageNumber?: number;
    /**
     * specifies the opacity of the annotation.
     */
    opacity?: number;
    /**
     * specifies the color of the annotation.
     */
    color?: string;
    /**
     * specifies the author of the annotation.
     */
    author?: string;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings?: AnnotationSelectorSettingsModel;
    /**
     * specifies the custom data of the annotation.
     */
    customData?: object;
    /**
     * specifies the locked action of the annotation.
     */
    isLock?: boolean;
    /**
     * Enables or disables the multi-page text markup annotation selection in UI.
     *
     * @default false
     */
    enableMultiPageAnnotation?: boolean;
    /**
     * Enable or disable the text markup resizer to modify the bounds in UI.
     *
     * @default false
     */
    enableTextMarkupResizer?: boolean;
    /**
     * Gets or sets the allowed interactions for the locked highlight annotations.
     * IsLock can be configured using highlight settings.
     *
     * @default ['None']
     */
    allowedInteractions?: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint?: boolean;
}
/**
 * Interface for a class LineSettings
 */
export interface LineSettingsModel {
    /**
     * Get or set offset of the annotation.
     */
    offset?: IPoint;
    /**
     * Get or set page number of the annotation.
     */
    pageNumber?: number;
    /**
     * specifies the opacity of the annotation.
     */
    opacity?: number;
    /**
     * specifies the fill color of the annotation.
     */
    fillColor?: string;
    /**
     * specifies the stroke color of the annotation.
     */
    strokeColor?: string;
    /**
     * specifies the author of the annotation.
     */
    author?: string;
    /**
     * specified the thickness of the annotation.
     */
    thickness?: number;
    /**
     * specifies the line head start style of the annotation.
     */
    lineHeadStartStyle?: LineHeadStyle;
    /**
     * specifies the line head end style of the annotation.
     */
    lineHeadEndStyle?: LineHeadStyle;
    /**
     * specifies the border dash array  of the annotation.
     */
    borderDashArray?: number;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings?: AnnotationSelectorSettingsModel;
    /**
     * specifies the minHeight of the annotation.
     */
    minHeight?: number;
    /**
     * specifies the minWidth of the annotation.
     */
    minWidth?: number;
    /**
     * specifies the minHeight of the annotation.
     */
    maxHeight?: number;
    /**
     * specifies the maxWidth of the annotation.
     */
    maxWidth?: number;
    /**
     * specifies the locked action of the annotation.
     */
    isLock?: boolean;
    /**
     * specifies the custom data of the annotation.
     */
    customData?: object;
    /**
     * Gets or sets the allowed interactions for the locked highlight annotations.
     * IsLock can be configured using line settings.
     *
     * @default ['None']
     */
    allowedInteractions?: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint?: boolean;
}
/**
 * Interface for a class ArrowSettings
 */
export interface ArrowSettingsModel {
    /**
     * Get or set offset of the annotation.
     */
    offset?: IPoint;
    /**
      * Get or set page number of the annotation.
      */
    pageNumber?: number;
    /**
     * specifies the opacity of the annotation.
     */
    opacity?: number;
    /**
     * specifies the fill color of the annotation.
     */
    fillColor?: string;
    /**
     * specifies the stroke color of the annotation.
     */
    strokeColor?: string;
    /**
     * specifies the author of the annotation.
     */
    author?: string;
    /**
     * specified the thickness of the annotation.
     */
    thickness?: number;
    /**
     * specifies the line head start style of the annotation.
     */
    lineHeadStartStyle?: LineHeadStyle;
    /**
     * specifies the line head start style of the annotation.
     */
    lineHeadEndStyle?: LineHeadStyle;
    /**
     * specifies the border dash array  of the annotation.
     */
    borderDashArray?: number;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings?: AnnotationSelectorSettingsModel;
    /**
     * specifies the minHeight of the annotation.
     */
    minHeight?: number;
    /**
     * specifies the minWidth of the annotation.
     */
    minWidth?: number;
    /**
     * specifies the minHeight of the annotation.
     */
    maxHeight?: number;
    /**
     * specifies the maxWidth of the annotation.
     */
    maxWidth?: number;
    /**
     * specifies the locked action of the annotation.
     */
    isLock?: boolean;
    /**
     * specifies the custom data of the annotation.
     */
    customData?: object;
    /**
     * Gets or sets the allowed interactions for the locked arrow annotations.
     * IsLock can be configured using arrow settings.
     *
     * @default ['None']
     */
    allowedInteractions?: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint?: boolean;
}
/**
 * Interface for a class RectangleSettings
 */
export interface RectangleSettingsModel {
    /**
     * Get or set offset of the annotation.
     */
    offset?: IPoint;
    /**
      * Get or set page number of the annotation.
      */
    pageNumber?: number;
    /**
      * specifies the width of the annotation.
      */
    width?: number;
    /**
      * specifies the height of the annotation.
      */
    height?: number;
    /**
     * specifies the opacity of the annotation.
     */
    opacity?: number;
    /**
     * specifies the fill color of the annotation.
     */
    fillColor?: string;
    /**
     * specifies the stroke color of the annotation.
     */
    strokeColor?: string;
    /**
     * specifies the author of the annotation.
     */
    author?: string;
    /**
     * specified the thickness of the annotation.
     */
    thickness?: number;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings?: AnnotationSelectorSettingsModel;
    /**
     * specifies the minHeight of the annotation.
     */
    minHeight?: number;
    /**
     * specifies the minWidth of the annotation.
     */
    minWidth?: number;
    /**
     * specifies the minHeight of the annotation.
     */
    maxHeight?: number;
    /**
     * specifies the maxWidth of the annotation.
     */
    maxWidth?: number;
    /**
     * specifies the locked action of the annotation.
     */
    isLock?: boolean;
    /**
     * specifies the custom data of the annotation.
     */
    customData?: object;
    /**
     * Gets or sets the allowed interactions for the locked rectangle annotations.
     * IsLock can be configured using rectangle settings.
     *
     * @default ['None']
     */
    allowedInteractions?: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint?: boolean;
}
/**
 * Interface for a class CircleSettings
 */
export interface CircleSettingsModel {
    /**
     * Get or set offset of the annotation.
     */
    offset?: IPoint;
    /**
      * Get or set page number of the annotation.
      */
    pageNumber?: number;
    /**
      * specifies the width of the annotation.
      */
    width?: number;
    /**
      * specifies the height of the annotation.
      */
    height?: number;
    /**
     * specifies the opacity of the annotation.
     */
    opacity?: number;
    /**
     * specifies the fill color of the annotation.
     */
    fillColor?: string;
    /**
     * specifies the stroke color of the annotation.
     */
    strokeColor?: string;
    /**
     * specifies the author of the annotation.
     */
    author?: string;
    /**
     * specified the thickness of the annotation.
     */
    thickness?: number;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings?: AnnotationSelectorSettingsModel;
    /**
     * specifies the minHeight of the annotation.
     */
    minHeight?: number;
    /**
     * specifies the minWidth of the annotation.
     */
    minWidth?: number;
    /**
     * specifies the minHeight of the annotation.
     */
    maxHeight?: number;
    /**
     * specifies the maxWidth of the annotation.
     */
    maxWidth?: number;
    /**
     * specifies the locked action of the annotation.
     */
    isLock?: boolean;
    /**
     * specifies the custom data of the annotation.
     */
    customData?: object;
    /**
     * Gets or sets the allowed interactions for the locked circle annotations.
     * IsLock can be configured using circle settings.
     *
     * @default ['None']
     */
    allowedInteractions?: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint?: boolean;
}
/**
 * Interface for a class ShapeLabelSettings
 */
export interface ShapeLabelSettingsModel {
    /**
     * specifies the opacity of the label.
     */
    opacity?: number;
    /**
     * specifies the fill color of the label.
     */
    fillColor?: string;
    /**
     * specifies the border color of the label.
     */
    fontColor?: string;
    /**
     * specifies the font size of the label.
     */
    fontSize?: number;
    /**
     * specifies the max-width of the label.
     */
    fontFamily?: string;
    /**
     * specifies the default content of the label.
     */
    labelContent?: string;
    /**
     * specifies the default content of the label.
     */
    notes?: string;
}
/**
 * Interface for a class PolygonSettings
 */
export interface PolygonSettingsModel {
    /**
     * Get or set offset of the annotation.
     */
    offset?: IPoint;
    /**
      * Get or set page number of the annotation.
      */
    pageNumber?: number;
    /**
     * specifies the opacity of the annotation.
     */
    opacity?: number;
    /**
     * specifies the fill color of the annotation.
     */
    fillColor?: string;
    /**
     * specifies the stroke color of the annotation.
     */
    strokeColor?: string;
    /**
     * specifies the author of the annotation.
     */
    author?: string;
    /**
     * specified the thickness of the annotation.
     */
    thickness?: number;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings?: AnnotationSelectorSettingsModel;
    /**
     * specifies the minHeight of the annotation.
     */
    minHeight?: number;
    /**
     * specifies the minWidth of the annotation.
     */
    minWidth?: number;
    /**
     * specifies the minHeight of the annotation.
     */
    maxHeight?: number;
    /**
     * specifies the maxWidth of the annotation.
     */
    maxWidth?: number;
    /**
     * specifies the locked action of the annotation.
     */
    isLock?: boolean;
    /**
     * specifies the custom data of the annotation.
     */
    customData?: object;
    /**
     * Gets or sets the allowed interactions for the locked polygon annotations.
     * IsLock can be configured using polygon settings.
     *
     * @default ['None']
     */
    allowedInteractions?: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint?: boolean;
}
/**
 * Interface for a class StampSettings
 */
export interface StampSettingsModel {
    /**
    * Get or set offset of the annotation.
    */
    offset?: IPoint;
    /**
     * Get or set page number of the annotation.
     */
    pageNumber?: number;
    /**
     * specifies the width of the annotation.
     */
    width?: number;
    /**
     * specifies the height of the annotation.
     */
    height?: number;
    /**
     * specifies the opacity of the annotation.
     */
    opacity?: number;
    /**
     * specifies the author of the annotation.
     */
    author?: string;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings?: AnnotationSelectorSettingsModel;
    /**
     * specifies the minHeight of the annotation.
     */
    minHeight?: number;
    /**
     * specifies the minWidth of the annotation.
     */
    minWidth?: number;
    /**
     * specifies the minHeight of the annotation.
     */
    maxHeight?: number;
    /**
     * specifies the maxWidth of the annotation.
     */
    maxWidth?: number;
    /**
     * specifies the locked action of the annotation.
     */
    isLock?: boolean;
    /**
     * specifies the custom data of the annotation.
     */
    customData?: object;
    /**
     * Provide option to define the required dynamic stamp items to be displayed in annotation toolbar menu.
     */
    dynamicStamps?: DynamicStampItem[];
    /**
     * Provide option to define the required sign stamp items to be displayed in annotation toolbar menu.
     */
    signStamps?: SignStampItem[];
    /**
     * Provide option to define the required standard business stamp items to be displayed in annotation toolbar menu.
     */
    standardBusinessStamps?: StandardBusinessStampItem[];
    /**
     * Gets or sets the allowed interactions for the locked stamp annotations.
     * IsLock can be configured using stamp settings.
     *
     * @default ['None']
     */
    allowedInteractions?: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint?: boolean;
}
/**
 * Interface for a class CustomStampSettings
 */
export interface CustomStampSettingsModel {
    /**
    * Get or set offset of the annotation.
    */
    offset?: IPoint;
    /**
     * Get or set page number of the annotation.
     */
    pageNumber?: number;
    /**
     * specifies the opacity of the annotation.
     */
    opacity?: number;
    /**
     * specifies the author of the annotation.
     */
    author?: string;
    /**
     * specifies the width of the annotation.
     */
    width?: number;
    /**
     * specifies the height of the annotation.
     */
    height?: number;
    /**
     * specifies the left position of the annotation.
     */
    left?: number;
    /**
     * specifies the top position of the annotation.
     */
    top?: number;
    /**
     * Specifies to maintain the newly added custom stamp element in the menu items.
     */
    isAddToMenu?: boolean;
    /**
     * specifies the minHeight of the annotation.
     */
    minHeight?: number;
    /**
     * specifies the minWidth of the annotation.
     */
    minWidth?: number;
    /**
     * specifies the minHeight of the annotation.
     */
    maxHeight?: number;
    /**
     * specifies the maxWidth of the annotation.
     */
    maxWidth?: number;
    /**
     * specifies the locked action of the annotation.
     */
    isLock?: boolean;
    /**
     * Define the custom image path and it's name to be displayed in the menu items.
     */
    customStamps?: CustomStampModel[];
    /**
     * If it is set as false. then the custom stamp items won't be visible in the annotation toolbar stamp menu items.
     */
    enableCustomStamp?: boolean;
    /**
     * Gets or sets the allowed interactions for the locked custom stamp annotations.
     * IsLock can be configured using custom stamp settings.
     *
     * @default ['None']
     */
    allowedInteractions?: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint?: boolean;
}
/**
 * Interface for a class DistanceSettings
 */
export interface DistanceSettingsModel {
    /**
    * Get or set offset of the annotation.
    */
    offset?: IPoint;
    /**
     * Get or set page number of the annotation.
     */
    pageNumber?: number;
    /**
     * specifies the opacity of the annotation.
     */
    opacity?: number;
    /**
     * specifies the fill color of the annotation.
     */
    fillColor?: string;
    /**
     * specifies the stroke color of the annotation.
     */
    strokeColor?: string;
    /**
     * specifies the author of the annotation.
     */
    author?: string;
    /**
     * specified the thickness of the annotation.
     */
    thickness?: number;
    /**
     * specifies the line head start style of the annotation.
     */
    lineHeadStartStyle?: LineHeadStyle;
    /**
     * specifies the line head start style of the annotation.
     */
    lineHeadEndStyle?: LineHeadStyle;
    /**
     * specifies the border dash array  of the annotation.
     */
    borderDashArray?: number;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings?: AnnotationSelectorSettingsModel;
    /**
     * specifies the minHeight of the annotation.
     */
    minHeight?: number;
    /**
     * specifies the minWidth of the annotation.
     */
    minWidth?: number;
    /**
     * specifies the minHeight of the annotation.
     */
    maxHeight?: number;
    /**
     * specifies the maxWidth of the annotation.
     */
    maxWidth?: number;
    /**
     * specifies the locked action of the annotation.
     */
    isLock?: boolean;
    /**
     * specifies the custom data of the annotation.
     */
    customData?: object;
    /**
     * specifies the leader length of the annotation.
     */
    leaderLength?: number;
    /**
     * Defines the cursor type for distance annotation.
     */
    resizeCursorType?: CursorType;
    /**
     * Gets or sets the allowed interactions for the locked distance annotations.
     * IsLock can be configured using distance settings.
     *
     * @default ['None']
     */
    allowedInteractions?: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint?: boolean;
}
/**
 * Interface for a class PerimeterSettings
 */
export interface PerimeterSettingsModel {
    /**
    * Get or set offset of the annotation.
    */
    offset?: IPoint;
    /**
     * Get or set page number of the annotation.
     */
    pageNumber?: number;
    /**
     * specifies the opacity of the annotation.
     */
    opacity?: number;
    /**
     * specifies the fill color of the annotation.
     */
    fillColor?: string;
    /**
     * specifies the stroke color of the annotation.
     */
    strokeColor?: string;
    /**
     * specifies the author of the annotation.
     */
    author?: string;
    /**
     * specified the thickness of the annotation.
     */
    thickness?: number;
    /**
     * specifies the line head start style of the annotation.
     */
    lineHeadStartStyle?: LineHeadStyle;
    /**
     * specifies the line head start style of the annotation.
     */
    lineHeadEndStyle?: LineHeadStyle;
    /**
     * specifies the border dash array  of the annotation.
     */
    borderDashArray?: number;
    /**
     * specifies the minHeight of the annotation.
     */
    minHeight?: number;
    /**
     * specifies the minWidth of the annotation.
     */
    minWidth?: number;
    /**
     * specifies the minHeight of the annotation.
     */
    maxHeight?: number;
    /**
     * specifies the maxWidth of the annotation.
     */
    maxWidth?: number;
    /**
     * specifies the locked action of the annotation.
     */
    isLock?: boolean;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings?: AnnotationSelectorSettingsModel;
    /**
     * Gets or sets the allowed interactions for the locked perimeter annotations.
     * IsLock can be configured using perimeter settings.
     *
     * @default ['None']
     */
    allowedInteractions?: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint?: boolean;
}
/**
 * Interface for a class AreaSettings
 */
export interface AreaSettingsModel {
    /**
    * Get or set offset of the annotation.
    */
    offset?: IPoint;
    /**
     * Get or set page number of the annotation.
     */
    pageNumber?: number;
    /**
     * specifies the opacity of the annotation.
     */
    opacity?: number;
    /**
     * specifies the fill color of the annotation.
     */
    fillColor?: string;
    /**
     * specifies the stroke color of the annotation.
     */
    strokeColor?: string;
    /**
     * specifies the author of the annotation.
     */
    author?: string;
    /**
     * specified the thickness of the annotation.
     */
    thickness?: number;
    /**
     * specifies the minHeight of the annotation.
     */
    minHeight?: number;
    /**
     * specifies the minWidth of the annotation.
     */
    minWidth?: number;
    /**
     * specifies the minHeight of the annotation.
     */
    maxHeight?: number;
    /**
     * specifies the maxWidth of the annotation.
     */
    maxWidth?: number;
    /**
     * specifies the locked action of the annotation.
     */
    isLock?: boolean;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings?: AnnotationSelectorSettingsModel;
    /**
     * Gets or sets the allowed interactions for the locked area annotations.
     * IsLock can be configured using area settings.
     *
     * @default ['None']
     */
    allowedInteractions?: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint?: boolean;
}
/**
 * Interface for a class RadiusSettings
 */
export interface RadiusSettingsModel {
    /**
    * Get or set offset of the annotation.
    */
    offset?: IPoint;
    /**
     * Get or set page number of the annotation.
     */
    pageNumber?: number;
    /**
     * specifies the width of the annotation.
     */
    width?: number;
    /**
      * specifies the height of the annotation.
      */
    height?: number;
    /**
     * specifies the opacity of the annotation.
     */
    opacity?: number;
    /**
     * specifies the fill color of the annotation.
     */
    fillColor?: string;
    /**
     * specifies the stroke color of the annotation.
     */
    strokeColor?: string;
    /**
     * specifies the author of the annotation.
     */
    author?: string;
    /**
     * specified the thickness of the annotation.
     */
    thickness?: number;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings?: AnnotationSelectorSettingsModel;
    /**
     * specifies the minHeight of the annotation.
     */
    minHeight?: number;
    /**
     * specifies the minWidth of the annotation.
     */
    minWidth?: number;
    /**
     * specifies the minHeight of the annotation.
     */
    maxHeight?: number;
    /**
     * specifies the maxWidth of the annotation.
     */
    maxWidth?: number;
    /**
     * specifies the locked action of the annotation.
     */
    isLock?: boolean;
    /**
     * specifies the custom data of the annotation.
     */
    customData?: object;
    /**
     * Gets or sets the allowed interactions for the locked radius annotations.
     * IsLock can be configured using area settings.
     *
     * @default ['None']
     */
    allowedInteractions?: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint?: boolean;
}
/**
 * Interface for a class VolumeSettings
 */
export interface VolumeSettingsModel {
    /**
    * Get or set offset of the annotation.
    */
    offset?: IPoint;
    /**
     * Get or set page number of the annotation.
     */
    pageNumber?: number;
    /**
     * specifies the opacity of the annotation.
     */
    opacity?: number;
    /**
     * specifies the fill color of the annotation.
     */
    fillColor?: string;
    /**
     * specifies the stroke color of the annotation.
     */
    strokeColor?: string;
    /**
     * specifies the author of the annotation.
     */
    author?: string;
    /**
     * specified the thickness of the annotation.
     */
    thickness?: number;
    /**
     * specifies the minHeight of the annotation.
     */
    minHeight?: number;
    /**
     * specifies the minWidth of the annotation.
     */
    minWidth?: number;
    /**
     * specifies the minHeight of the annotation.
     */
    maxHeight?: number;
    /**
     * specifies the maxWidth of the annotation.
     */
    maxWidth?: number;
    /**
     * specifies the locked action of the annotation.
     */
    isLock?: boolean;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings?: AnnotationSelectorSettingsModel;
    /**
     * Gets or sets the allowed interactions for the locked volume annotations.
     * IsLock can be configured using volume settings.
     *
     * @default ['None']
     */
    allowedInteractions?: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint?: boolean;
}
/**
 * Interface for a class InkAnnotationSettings
 */
export interface InkAnnotationSettingsModel {
    /**
    * Get or set offset of the annotation.
    */
    offset?: IPoint;
    /**
     * Get or set page number of the annotation.
     */
    pageNumber?: number;
    /**
     * specifies the width of the annotation.
     */
    width?: number;
    /**
      * specifies the height of the annotation.
      */
    height?: number;
    /**
      * Gets or sets the path of the ink annotation.
      */
    path?: string;
    /**
     * Sets the opacity value for ink annotation.By default value is 1. It range varies from 0 to 1.
     */
    opacity?: number;
    /**
     * Sets the stroke color for ink annotation.By default values is #FF0000.
     */
    strokeColor?: string;
    /**
     * Sets the thickness for the ink annotation. By default value is 1. It range varies from 1 to 10.
     */
    thickness?: number;
    /**
     * Define the default option to customize the selector for ink annotation.
     */
    annotationSelectorSettings?: AnnotationSelectorSettingsModel;
    /**
     * If it is set as true, can't interact with annotation. Otherwise can interact the annotations. By default it is false.
     */
    isLock?: boolean;
    /**
     * specifies the author of the annotation.
     */
    author?: string;
    /**
     * Gets or sets the allowed interactions for the locked ink annotations.
     * IsLock can be configured using ink settings.
     *
     * @default ['None']
     */
    allowedInteractions?: AllowedInteraction[];
    /**
     * specifies the custom data of the annotation
     */
    customData?: object;
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint?: boolean;
}
/**
 * Interface for a class StickyNotesSettings
 */
export interface StickyNotesSettingsModel {
    /**
    * Get or set offset of the annotation.
    */
    offset?: IPoint;
    /**
     * Get or set page number of the annotation.
     */
    pageNumber?: number;
    /**
     * specifies the author of the annotation.
     */
    author?: string;
    /**
     * specifies the opacity of the annotation.
     */
    opacity?: number;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings?: AnnotationSelectorSettingsModel;
    /**
     * specifies the custom data of the annotation.
     */
    customData?: object;
    /**
     * specifies the lock action of the annotation.
     */
    isLock?: boolean;
    /**
     * Gets or sets the allowed interactions for the locked sticky notes annotations.
     * IsLock can be configured using sticky notes settings.
     *
     * @default ['None']
     */
    allowedInteractions?: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint?: boolean;
}
/**
 * Interface for a class MeasurementSettings
 */
export interface MeasurementSettingsModel {
    /**
     * specifies the scale ratio of the annotation.
     */
    scaleRatio?: number;
    /**
     * specifies the unit of the annotation.
     */
    conversionUnit?: CalibrationUnit;
    /**
     * specifies the unit of the annotation.
     */
    displayUnit?: CalibrationUnit;
    /**
     * specifies the depth of the volume annotation.
     */
    depth?: number;
}
/**
 * Interface for a class FreeTextSettings
 */
export interface FreeTextSettingsModel {
    /**
    * Get or set offset of the annotation.
    */
    offset?: IPoint;
    /**
     * Get or set page number of the annotation.
     */
    pageNumber?: number;
    /**
     * specifies the opacity of the annotation.
     */
    opacity?: number;
    /**
     * specifies the border color of the annotation.
     */
    borderColor?: string;
    /**
     * specifies the border with of the annotation.
     */
    borderWidth?: number;
    /**
     * specifies the border style of the annotation.
     */
    borderStyle?: string;
    /**
     * specifies the author of the annotation.
     */
    author?: string;
    /**
     * specifies the background fill color of the annotation.
     */
    fillColor?: string;
    /**
     * specifies the text box font size of the annotation.
     */
    fontSize?: number;
    /**
     * specifies the width of the annotation.
     */
    width?: number;
    /**
     * specifies the height of the annotation.
     */
    height?: number;
    /**
     * specifies the text box font color of the annotation.
     */
    fontColor?: string;
    /**
     * specifies the text box font family of the annotation.
     */
    fontFamily?: string;
    /**
     * setting the default text for annotation.
     */
    defaultText?: string;
    /**
     * applying the font styles for the text.
     */
    fontStyle?: FontStyle;
    /**
     * Aligning the text in the annotation.
     */
    textAlignment?: TextAlignment;
    /**
     * specifies the allow text only action of the free text annotation.
     */
    allowEditTextOnly?: boolean;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings?: AnnotationSelectorSettingsModel;
    /**
     * specifies the minHeight of the annotation.
     */
    minHeight?: number;
    /**
     * specifies the minWidth of the annotation.
     */
    minWidth?: number;
    /**
     * specifies the minHeight of the annotation.
     */
    maxHeight?: number;
    /**
     * specifies the maxWidth of the annotation.
     */
    maxWidth?: number;
    /**
     * specifies the locked action of the annotation.
     */
    isLock?: boolean;
    /**
     * specifies the custom data of the annotation.
     */
    customData?: object;
    /**
     * Gets or sets the allowed interactions for the locked free text annotations.
     * IsLock can be configured using free text settings.
     *
     * @default ['None']
     */
    allowedInteractions?: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint?: boolean;
    /**
     * Allow to edit the FreeText annotation. FALSE, by default.
     */
    isReadonly?: boolean;
    /**
     * Enable or disable auto fit mode for FreeText annotation in the Pdfviewer. FALSE by default.
     */
    enableAutoFit?: boolean;
}
/**
 * Interface for a class AnnotationSelectorSettings
 */
export interface AnnotationSelectorSettingsModel {
    /**
     * Specifies the selection border color.
     */
    selectionBorderColor?: string;
    /**
     * Specifies the border color of the resizer.
     *
     * @ignore
     */
    resizerBorderColor?: string;
    /**
     * Specifies the fill color of the resizer.
     *
     * @ignore
     */
    resizerFillColor?: string;
    /**
     * Specifies the size of the resizer.
     *
     * @ignore
     */
    resizerSize?: number;
    /**
     * Specifies the thickness of the border of selection.
     */
    selectionBorderThickness?: number;
    /**
     * Specifies the shape of the resizer.
     */
    resizerShape?: AnnotationResizerShape;
    /**
     * Specifies the border dash array of the selection.
     */
    selectorLineDashArray?: number[];
    /**
     * Specifies the location of the resizer.
     */
    resizerLocation?: AnnotationResizerLocation;
    /**
     * specifies the cursor type of resizer
     */
    resizerCursorType?: CursorType;
}
/**
 * Interface for a class TextSearchColorSettings
 */
export interface TextSearchColorSettingsModel {
    /**
     * Gets or Sets the color of the current occurrence of the text searched string.
     */
    searchHighlightColor?: string;
    /**
     * Gets or Sets the color of the other occurrence of the text searched string.
     */
    searchColor?: string;
}
/**
 * Interface for a class HandWrittenSignatureSettings
 */
export interface HandWrittenSignatureSettingsModel {
    /**
     * specifies the opacity of the annotation.
     */
    opacity?: number;
    /**
     * specifies the stroke color of the annotation.
     */
    strokeColor?: string;
    /**
     * specified the thickness of the annotation.
     */
    thickness?: number;
    /**
     * specified the width of the annotation.
     */
    width?: number;
    /**
     * specified the height of the annotation.
     */
    height?: number;
    /**
     * Gets or sets the save signature limit of the signature. By default value is 1 and maximum limit is 5.
     */
    saveSignatureLimit?: number;
    /**
     * Gets or sets the save initial limit of the initial. By default value is 1 and maximum limit is 5.
     */
    saveInitialLimit?: number;
    /**
     * Provide option to define the required signature items to be displayed in signature menu.
     */
    signatureItem?: SignatureItem[];
    /**
     * Options to set the type signature font name with respective index and maximum font name limit is 4 so key value should be 0 to 3.
     */
    typeSignatureFonts?: { [key: number]: string };
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings?: AnnotationSelectorSettingsModel;
    /**
     * Get or set the Signature DialogSettings for Handwritten signature.
     */
    signatureDialogSettings?: SignatureDialogSettingsModel;
    /**
     * Get or set the initialDialogSettings for Handwritten initial.
     */
    initialDialogSettings?: SignatureDialogSettingsModel;
}
/**
 * Interface for a class AnnotationSettings
 */
export interface AnnotationSettingsModel {
    /**
     * specifies the author of the annotation.
     */
    author?: string;
    /**
     * specifies the minHeight of the annotation.
     */
    minHeight?: number;
    /**
     * specifies the minWidth of the annotation.
     */
    minWidth?: number;
    /**
     * specifies the minHeight of the annotation.
     */
    maxHeight?: number;
    /**
     * specifies the maxWidth of the annotation.
     */
    maxWidth?: number;
    /**
     * specifies the locked action of the annotation.
     */
    isLock?: boolean;
    /**
     * specifies whether the annotations are included or not in print actions.
     */
    skipPrint?: boolean;
    /**
     * specifies whether the annotations are included or not in download actions.
     */
    skipDownload?: boolean;
    /**
     * specifies the custom data of the annotation.
     */
    customData?: object;
    /**
     * Gets or sets the allowed interactions for the locked annotations.
     * IsLock can be configured using annotation settings.
     *
     * @default ['None']
     */
    allowedInteractions?: AllowedInteraction[];
}
/**
 * Interface for a class DocumentTextCollectionSettings
 */
export interface DocumentTextCollectionSettingsModel {
    /**
     * specifies the text data of the document.
     */
    textData?: TextDataSettingsModel[];
    /**
     * specifies the page text of the document.
     */
    pageText?: string;
    /**
     * specifies the page size of the document.
     */
    pageSize?: number;
}
/**
 * Interface for a class TextDataSettings
 */
export interface TextDataSettingsModel {
    /**
     * specifies the bounds of the rectangle.
     */
    bounds?: RectangleBoundsModel;
    /**
     * specifies the text of the document.
     */
    text?: string;
}
/**
 * Interface for a class RectangleBounds
 */
export interface RectangleBoundsModel {
    /**
     * specifies the size of the rectangle.
     */
    size?: number;
    /**
     * specifies the x co-ordinate of the upper-left corner of the rectangle.
     */
    x?: number;
    /**
     * specifies the y co-ordinate of the upper-left corner of the rectangle.
     */
    y?: number;
    /**
     * specifies the width of the rectangle.
     */
    width?: number;
    /**
     * specifies the height of the rectangle.
     */
    height?: number;
    /**
     * specifies the left value of the rectangle.
     */
    left?: number;
    /**
     * specifies the top value of the rectangle.
     */
    top?: number;
    /**
     * specifies the right of the rectangle.
     */
    right?: number;
    /**
     * specifies the bottom value of the rectangle.
     */
    bottom?: number;
    /**
     * Returns true if height and width of the rectangle is zero.
     *
     * @default 'false'
     */
    isEmpty?: boolean;
}
/**
 * Interface for a class TileRenderingSettings
 */
export interface TileRenderingSettingsModel {
    /**
     * Enable or disables tile rendering mode in the PDF Viewer.
     */
    enableTileRendering?: boolean;
    /**
     * specifies the tileX count of the render Page.
     */
    x?: number;
    /**
     * specifies the tileY count of the render Page.
     */
    y?: number;
}
/**
 * Interface for a class ScrollSettings
 */
export interface ScrollSettingsModel {
    /**
     * Increase or decrease the delay time.
     */
    delayPageRequestTimeOnScroll?: number;
}
/**
 * Interface for a class FormField
 */
export interface FormFieldModel {
    /**
     * Gets the name of the form field.
     */
    name?: string;
    /**
     * Specifies whether the check box is in checked state or not.
     */
    isChecked?: boolean;
    /**
     * Specifies whether the radio button is in checked state or not.
     */
    isSelected?: boolean;
    /**
     * Gets the id of the form field.
     */
    id?: string;
    /**
     * Gets or sets the value of the form field.
     */
    value?: string;
    /**
     * Gets the type of the form field.
     */
    type?: FormFieldType;
    /**
     * If it is set as true, can't edit the form field in the PDF document. By default it is false.
     */
    isReadOnly?: boolean;
    /**
     * specifies the type of the signature.
     */
    signatureType?: SignatureType[];
    /**
     * specifies the fontName of the signature.
     */
    fontName?: string;
    /**
     * Get or set the form field bounds.
     */
    bounds?: IFormFieldBound;
    /**
     * Get or set the font family of the form field.
     */
    fontFamily?: string;
    /**
     * Get or set the font size of the form field.
     */
    fontSize?: number;
    /**
     * Get or set the font Style of form field.
     */
    fontStyle?: FontStyle;
    /**
     * Get or set the font color of the form field in hexadecimal string format.
     */
    color?: string;
    /**
     * Get or set the background color of the form field in hexadecimal string format.
     */
    backgroundColor?: string;
    /**
     * Get or set the text alignment of the form field.
     */
    alignment?: TextAlignment;
    /**
     * Gets or set the visibility of the form field.
     */
    visibility?: Visibility;
    /**
     * Get or set the maximum character length.
     */
    maxLength?: number;
    /**
     * Gets or set the is Required of form field.
     */
    isRequired?: boolean;
    /**
     * Get or set the boolean value to print the form field. TRUE by default.
     */
    isPrint?: boolean;
    /**
     * Get or set the text to be displayed as tooltip. By default it is empty.
     */
    tooltip?: string;
    /**
     * Get or set the form field items. This can be Dropdown items or Listbox items.
     */
    options?: ItemModel[];
    /**
     * Specifies the properties of the signature indicator in the signature field.
     */
    signatureIndicatorSettings?: SignatureIndicatorSettingsModel;
    /**
     * Get or set the thickness of the form field.
     */
    thickness?: number;
    /**
     * Get or set the border color of the form field.
     */
    borderColor?: string;
    /**
     * Allows multiline input in the text field. FALSE, by default.
     */
    isMultiline?: boolean;
    /**
     * Get the pageIndex of the form field. Default value is -1.
     */
    pageIndex?: number;
}
/**
 * Interface for a class ContextMenuSettings
 */
export interface ContextMenuSettingsModel {
    /**
     * Defines the context menu action.
     *
     * @default RightClick
     */
    contextMenuAction?: ContextMenuAction;
    /**
     * Defines the context menu items should be visible in the PDF Viewer.
     *
     *  @default []
     */
    contextMenuItems?: ContextMenuItem[];
}
/**
 * Interface for a class TextFieldSettings
 */
export interface TextFieldSettingsModel {
    /**
     * Get or set the form field bounds.
     */
    bounds?: IFormFieldBound;
    /**
     * Get or set the name of the form field element.
     */
    name?: string;
    /**
     * Get or set the value of the form field.
     */
    value?: string;
    /**
     * Get or set the font family of the textbox field.
     */
    fontFamily?: string;
    /**
     * Get or set the font size of the textbox field.
     */
    fontSize?: number;
    /**
     * specifies the page number of the form field.
     */
    pageNumber?: number;
    /**
     * Get or set the font Style of textbox field.
     */
    fontStyle?: FontStyle;
    /**
     * Get or set the font color of the textbox in hexadecimal string format.
     */
    color?: string;
    /**
     * Get or set the background color of the textbox in hexadecimal string format.
     */
    backgroundColor?: string;
    /**
     * Get or set the alignment of the text.
     */
    alignment?: TextAlignment;
    /**
     * Specifies whether the textbox field is in read-only or read-write mode. FALSE by default.
     */
    isReadOnly?: boolean;
    /**
     * Gets or set the visibility of the form field.
     */
    visibility?: Visibility;
    /**
     * Get or set the maximum character length.
     */
    maxLength?: number;
    /**
     * If it is set as true, consider as mandatory field in the PDF document. By default it is false.
     */
    isRequired?: boolean;
    /**
     * Get or set the boolean value to print the textbox field. TRUE by default.
     */
    isPrint?: boolean;
    /**
     * Get or set the text to be displayed as tooltip. By default it is empty.
     */
    tooltip?: string;
    /**
     * Get or set the thickness of the textbox field.
     */
    thickness?: number;
    /**
     * Get or set the border color of the textbox field.
     */
    borderColor?: string;
    /**
     * Allows multiline input in the text field. FALSE, by default.
     */
    isMultiline?: boolean;
}
/**
 * Interface for a class PasswordFieldSettings
 */
export interface PasswordFieldSettingsModel {
    /**
     * Get or set the form field bounds.
     */
    bounds?: IFormFieldBound;
    /**
     * Get or set the name of the form field element.
     */
    name?: string;
    /**
     * Get or set the value of the form field.
     */
    value?: string;
    /**
     * specifies the page number of the form field.
     */
    pageNumber?: number;
    /**
     * Get or set the font family of the password field.
     */
    fontFamily?: string;
    /**
     * Get or set the font size of the password field.
     */
    fontSize?: number;
    /**
     * Get or set the font Style of password field.
     */
    fontStyle?: FontStyle;
    /**
     * Get or set the font color of the password field in hexadecimal string format.
     */
    color?: string;
    /**
     * Get or set the background color of the password field in hexadecimal string format.
     */
    backgroundColor?: string;
    /**
     * Get or set the alignment of the text.
     */
    alignment?: TextAlignment;
    /**
     * Specifies whether the password field is in read-only or read-write mode. FALSE by default.
     */
    isReadOnly?: boolean;
    /**
     * Gets or set the visibility of the form field.
     */
    visibility?: Visibility;
    /**
     * Get or set the maximum character length.
     */
    maxLength?: number;
    /**
     * If it is set as true, consider as mandatory field in the PDF document. By default it is false.
     */
    isRequired?: boolean;
    /**
     * Get or set the boolean value to print the password field. TRUE by default.
     */
    isPrint?: boolean;
    /**
     * Get or set the text to be displayed as tooltip. By default it is empty.
     */
    tooltip?: string;
    /**
     * Get or set the thickness of the password field.
     */
    thickness?: number;
    /**
     * Get or set the border color of the password field.
     */
    borderColor?: string;
}
/**
 * Interface for a class CheckBoxFieldSettings
 */
export interface CheckBoxFieldSettingsModel {
    /**
     * Get or set the form field bounds.
     */
    bounds?: IFormFieldBound;
    /**
     * Get or set the name of the check box.
     */
    name?: string;
    /**
     * Specifies whether the check box is in checked state or not.
     */
    isChecked?: boolean;
    /**
     * Get or set the background color of the check box in hexadecimal string format.
     */
    backgroundColor?: string;
    /**
     * Specifies whether the check box field is in read-only or read-write mode. FALSE by default.
     */
    isReadOnly?: boolean;
    /**
     * Gets or set the visibility of the form field.
     */
    visibility?: Visibility;
    /**
     * Get or set the boolean value to print the check box field. TRUE by default.
     */
    isPrint?: boolean;
    /**
     * specifies the page number of the form field.
     */
    pageNumber?: number;
    /**
     * Get or set the text to be displayed as tooltip. By default it is empty.
     */
    tooltip?: string;
    /**
     * If it is set as true, consider as mandatory field in the PDF document. By default it is false.
     */
    isRequired?: boolean;
    /**
     * Get or set the thickness of the check box field.
     */
    thickness?: number;
    /**
     * Get or set the border color of the check box field.
     */
    borderColor?: string;
}
/**
 * Interface for a class RadioButtonFieldSettings
 */
export interface RadioButtonFieldSettingsModel {
    /**
     * Get or set the form field bounds.
     */
    bounds?: IFormFieldBound;
    /**
     * Get or set the name of the form field element.
     */
    name?: string;
    /**
     * Specifies whether the radio button is in checked state or not.
     */
    isSelected?: boolean;
    /**
     * Get or set the background color of the radio button in hexadecimal string format.
     */
    backgroundColor?: string;
    /**
     * Specifies whether the radio button field is in read-only or read-write mode. FALSE by default.
     */
    isReadOnly?: boolean;
    /**
     * If it is set as true, consider as mandatory field in the PDF document. By default it is false.
     */
    isRequired?: boolean;
    /**
     * specifies the page number of the form field.
     */
    pageNumber?: number;
    /**
     * Gets or set the visibility of the form field.
     */
    visibility?: Visibility;
    /**
     * Get or set the boolean value to print the radio button field. TRUE by default.
     */
    isPrint?: boolean;
    /**
     * Get or set the text to be displayed as tooltip. By default it is empty.
     */
    tooltip?: string;
    /**
     * Get or set the thickness of the radio button field.
     */
    thickness?: number;
    /**
     * Get or set the border color of the radio button field.
     */
    borderColor?: string;
}
/**
 * Interface for a class DropdownFieldSettings
 */
export interface DropdownFieldSettingsModel {
    /**
     * Get or set the form field bounds.
     */
    bounds?: IFormFieldBound;
    /**
     * Get or set the name of the dropdown.
     */
    name?: string;
    /**
     * Get or set the value of the form field.
     */
    value?: string;
    /**
     * Get or set the font family of the dropdown field.
     */
    fontFamily?: string;
    /**
     * Get or set the font size of the dropdown field.
     */
    fontSize?: number;
    /**
     * specifies the page number of the form field.
     */
    pageNumber?: number;
    /**
     * Get or set the font style of dropdown field.
     */
    fontStyle?: FontStyle;
    /**
     * Get or set the font color of the dropdown in hexadecimal string format..
     */
    color?: string;
    /**
     * Get or set the background color of the dropdown in hexadecimal string format.
     */
    backgroundColor?: string;
    /**
     * Get or set the alignment of the text.
     */
    alignment?: TextAlignment;
    /**
     * Specifies whether the dropdown field is in read-only or read-write mode. FALSE by default.
     */
    isReadOnly?: boolean;
    /**
     * Gets or set the visibility of the form field.
     */
    visibility?: Visibility;
    /**
     * If it is set as true, consider as mandatory field in the PDF document. By default it is false.
     */
    isRequired?: boolean;
    /**
     * Get or set the boolean value to print the dropdown field. TRUE by default.
     */
    isPrint?: boolean;
    /**
     * Get or set the text to be displayed as tooltip. By default it is empty.
     */
    tooltip?: string;
    /**
     * Get or set the dropdown items.
     */
    options?: ItemModel[];
    /**
     * Get or set the thickness of the drop down field.
     */
    thickness?: number;
    /**
     * Get or set the border color of the drop down field.
     */
    borderColor?: string;
}
/**
 * Interface for a class ListBoxFieldSettings
 */
export interface ListBoxFieldSettingsModel {
    /**
     * Get or set the form field bounds.
     */
    bounds?: IFormFieldBound;
    /**
     * Get or set the name of the form field element.
     */
    name?: string;
    /**
     * Get or set the value of the form field.
     */
    value?: string;
    /**
     * Get or set the font family of the listbox field.
     */
    fontFamily?: string;
    /**
     * Get or set the font size of the listbox field.
     */
    fontSize?: number;
    /**
     * specifies the page number of the form field.
     */
    pageNumber?: number;
    /**
     * Get or set the font Style of listbox field.
     */
    fontStyle?: FontStyle;
    /**
     * Get or set the font color of the listbox in hexadecimal string format.
     */
    color?: string;
    /**
     * Get or set the background color of the listbox in hexadecimal string format.
     */
    backgroundColor?: string;
    /**
     * Get or set the alignment of the text.
     */
    alignment?: TextAlignment;
    /**
     * Specifies whether the listbox field is in read-only or read-write mode. FALSE by default.
     */
    isReadOnly?: boolean;
    /**
     * Gets or set the visibility of the form field.
     */
    visibility?: Visibility;
    /**
     * If it is set as true, consider as mandatory field in the PDF document. By default it is false.
     */
    isRequired?: boolean;
    /**
     * Get or set the boolean value to print the listbox field. TRUE by default.
     */
    isPrint?: boolean;
    /**
     * Get or set the text to be displayed as tool tip. By default it is empty.
     */
    tooltip?: string;
    /**
     * Get or set the listbox items.
     */
    options?: ItemModel[];
    /**
     * Get or set the thickness of the list box field.
     */
    thickness?: number;
    /**
     * Get or set the border color of the list box field.
     */
    borderColor?: string;
}
/**
 * Interface for a class Item
 */
export interface ItemModel {
    /**
     * Get or set the name.
     */
    itemName?: string;
    /**
     * Get or set the value.
     */
    itemValue?: string;
}
/**
 * Interface for a class PdfViewer
 */
export interface PdfViewerModel extends base.ComponentModel{
    /**
     * Defines the service url of the PdfViewer control.
     */
    serviceUrl?: string;
    /**
     * gets the page count of the document loaded in the PdfViewer control.
     *
     * @default 0
     */
    pageCount?: number;
    /**
     * Checks whether the PDF document is edited.
     *
     * @asptype bool
     * @blazorType bool
     */
    isDocumentEdited?: boolean;
    /**
     * Returns the current page number of the document displayed in the PdfViewer control.
     *
     * @default 0
     */
    currentPageNumber?: number;
    /**
     * Sets the PDF document path for initial loading.
     */
    documentPath?: string;
    /**
     * Gets or sets the export annotations JSON file name in the PdfViewer control.
     */
    exportAnnotationFileName?: string;
    /**
     * Gets or sets the download file name in the PdfViewer control.
     */
    downloadFileName?: string;
    /**
     * Defines the scrollable height of the PdfViewer control.
     *
     * @default 'auto'
     */
    height?: string | number;
    /**
     * Defines the scrollable width of the PdfViewer control.
     *
     * @default 'auto'
     */
    width?: string | number;
    /**
     * Enable or disables the toolbar of PdfViewer.
     *
     * @default true
     */
    enableToolbar?: boolean;
    /**
     * Specifies the retry count for the failed requests.
     *
     * @default 1
     */
    retryCount?: number;
    /**
     * If it is set as false then error message box is not displayed in PDF viewer control.
     *
     * @default true
     */
    showNotificationDialog?: boolean;
    /**
     * Enable or disables the Navigation toolbar of PdfViewer.
     *
     * @default true
     */
    enableNavigationToolbar?: boolean;
    /**
     * Enable or disables the Comment Panel of PdfViewer.
     *
     * @default true
     */
    enableCommentPanel?: boolean;
    /**
     * If it set as true, then the command panel show at initial document loading in the PDF viewer
     *
     * @default false
     */
    isCommandPanelOpen?: boolean;
    /**
     * Enable or disable the text markup resizer to modify the bounds in UI.
     *
     * @default false
     */
    enableTextMarkupResizer?: boolean;
    /**
     * Enable or disable the multi line text markup annotations in overlapping collections.
     *
     * @default false
     */
    enableMultiLineOverlap?: boolean;
    /**
     * Checks if the freeText value is valid or not. FALSE by default
     *
     * @default false
     */
    isValidFreeText?: boolean;
    /**
     * Opens the annotation toolbar when the PDF document is loaded in the PDF Viewer control initially.
     *
     * @deprecated This property renamed into "isAnnotationToolbarVisible"
     * @default false
     */
    isAnnotationToolbarOpen?: boolean;
    /**
     * Opens the annotation toolbar when the PDF document is loaded in the PDF Viewer control initially
     * and get the annotation Toolbar Visible status.
     *
     * @default false
     */
    isAnnotationToolbarVisible?: boolean;
    /**
     * Opens the annotation toolbar when the PDF document is loaded in the PDF Viewer control initially
     * and get the annotation Toolbar Visible status.
     *
     * @private
     * @default false
     */
    isFormDesignerToolbarVisible?: boolean;
    /**
     * Enables or disables the multi-page text markup annotation selection in UI.
     *
     * @default false
     */
    enableMultiPageAnnotation?: boolean;
    /**
     * Enable or disables the download option of PdfViewer.
     *
     * @default true
     */
    enableDownload?: boolean;
    /**
     * Enable or disables the print option of PdfViewer.
     *
     * @default true
     */
    enablePrint?: boolean;
    /**
     * If it is set as FALSE, will suppress the page rotation of Landscape document on print action. By default it is TRUE.
     *
     * @default true
     */
    enablePrintRotation?: boolean;
    /**
     * Enables or disables the thumbnail view in the PDF viewer
     *
     * @default true
     */
    enableThumbnail?: boolean;
    /**
     * If it set as true, then the thumbnail view show at initial document loading in the PDF viewer
     *
     * @default false
     */
    isThumbnailViewOpen?: boolean;
    /**
     * Enables or disable saving Hand Written signature as editable in the PDF.
     *
     * @default false
     */
    isSignatureEditable?: boolean;
    /**
     * Enables or disables the bookmark view in the PDF viewer
     *
     * @default true
     */
    enableBookmark?: boolean;
    /**
     * Enables or disables the bookmark styles in the PDF viewer
     *
     * @default false
     */
    enableBookmarkStyles?: boolean;
    /**
     * Enables or disables the hyperlinks in PDF document.
     *
     * @default true
     */
    enableHyperlink?: boolean;
    /**
     * Enables or disables the handwritten signature in PDF document.
     *
     * @default true
     */
    enableHandwrittenSignature?: boolean;
    /**
     * If it is set as false, then the ink annotation support in the PDF Viewer will be disabled. By default it is true.
     *
     * @default true
     */
    enableInkAnnotation?: boolean;
    /**
     * restrict zoom request.
     *
     * @default false
     */
    restrictZoomRequest?: boolean;
    /**
     * Specifies the open state of the hyperlink in the PDF document.
     *
     * @default CurrentTab
     */
    hyperlinkOpenState?: LinkTarget;
    /**
     * Specifies the state of the ContextMenu in the PDF document.
     *
     * @default RightClick
     */
    contextMenuOption?: ContextMenuAction;
    /**
     * enable or disable context menu Items
     *
     * @default []
     */
    disableContextMenuItems?: ContextMenuItem[];
    /**
     * Gets the form fields present in the loaded PDF document. It used to get the form fields id, name, type and it's values.
     */
    // eslint-disable-next-line max-len
    formFieldCollections?: FormFieldModel[];
    /**
     * Enable or disables the Navigation module of PdfViewer.
     *
     * @default true
     */
    enableNavigation?: boolean;
    /**
     * Enable or disables the auto complete option in form documents.
     *
     * @default true
     */
    enableAutoComplete?: boolean;
    /**
     * Enable or disables the Magnification module of PdfViewer.
     *
     * @default true
     */
    enableMagnification?: boolean;
    /**
     * Enable or disables the Label for shapeAnnotations of PdfViewer.
     *
     * @default false
     */
    enableShapeLabel?: boolean;
    /**
     * Enable or disables the customization of measure values in PdfViewer.
     *
     * @default true
     */
    enableImportAnnotationMeasurement?: boolean;
    /**
     * Enable or disables the Pinch zoom of PdfViewer.
     *
     * @default true
     */
    enablePinchZoom?: boolean;
    /**
     * Enable or disables the text selection in the PdfViewer.
     *
     * @default true
     */
    enableTextSelection?: boolean;
    /**
     * Enable or disables the text search in the PdfViewer.
     *
     * @default true
     */
    enableTextSearch?: boolean;
    /**
     * Enable or disable the annotation in the Pdfviewer.
     *
     * @default true
     */
    enableAnnotation?: boolean;
    /**
     * Enable or disable the form fields in the Pdfviewer.
     *
     * @default true
     */
    enableFormFields?: boolean;
    /**
     * Get or set a boolean value to enable or disable the form designer. TRUE by default.
     *
     * @default true
     */
    enableFormDesigner?: boolean;
    /**
     * Enable or disable the interaction of form fields in the Pdfviewer.
     *
     * @default false
     */
    designerMode?: boolean;
    /**
     * Enable or disable the form fields validation.
     *
     * @default false
     */
    enableFormFieldsValidation?: boolean;
    /**
     * Enable if the PDF document contains form fields.
     *
     * @default false
     */
    isFormFieldDocument?: boolean;
    /**
     * Gets or sets a boolean value to show or hide desktop toolbar in mobile devices. FALSE by default.
     *
     * @default false
     */
    enableDesktopMode?: boolean;
    /**
     * Gets or sets a boolean value to show or hide the save signature check box option in the signature dialog.
     * FALSE by default
     *
     * @default false
     * @deprecated
     */
    hideSaveSignature?: boolean;
    /**
     * Enable or disable the free text annotation in the Pdfviewer.
     *
     * @default true
     */
    enableFreeText?: boolean;
    /**
     * Enable or disables the text markup annotation in the PdfViewer.
     *
     * @default true
     */
    enableTextMarkupAnnotation?: boolean;
    /**
     * Enable or disables the shape annotation in the PdfViewer.
     *
     * @default true
     */
    enableShapeAnnotation?: boolean;
    /**
     * Enable or disables the calibrate annotation in the PdfViewer.
     *
     * @default true
     */
    enableMeasureAnnotation?: boolean;
    /**
     * Enables and disables the stamp annotations when the PDF viewer control is loaded initially.
     *
     * @default true
     */
    enableStampAnnotations?: boolean;
    /**
     * Enables and disables the stickyNotes annotations when the PDF viewer control is loaded initially.
     *
     * @default true
     */
    enableStickyNotesAnnotation?: boolean;
    /**
     * Opens the annotation toolbar when the PDF document is loaded in the PDF Viewer control initially.
     *
     * @default true
     */
    enableAnnotationToolbar?: boolean;
    /**
     * Opens the form designer toolbar when the PDF document is loaded in the PDF Viewer control initially.
     *
     * @default true
     */
    enableFormDesignerToolbar?: boolean;
    /**
     * Gets or sets a boolean value to show or hide the bookmark panel while loading a document. FALSE by default.
     *
     * @default false
     */
    isBookmarkPanelOpen?: boolean;
    /**
     * Gets or sets a boolean value if initial field selected in form designer toolbar.
     *
     * @private
     * @default false
     */
    isInitialFieldToolbarSelection?: boolean;
    /**
     * Sets the interaction mode of the PdfViewer
     *
     * @default TextSelection
     */
    interactionMode?: InteractionMode;
    /**
     * Specifies the rendering mode in the PDF Viewer.
     *
     * @default Default
     */
    zoomMode?: ZoomMode;
    /**
     * Specifies the signature mode in the PDF Viewer.
     *
     * @default Default
     */
    signatureFitMode?: SignatureFitMode;
    /**
     * Specifies the print mode in the PDF Viewer.
     *
     * @default Default
     */
    printMode?: PrintMode;
    /**
     * Sets the initial loading zoom value from 10 to 400 in PdfViewer Control.
     *
     * @default 0
     */
    zoomValue?: number;
    /**
     *  Enable or disable the zoom optimization mode in PDF Viewer.
     *
     * @default true
     */
    enableZoomOptimization?: boolean;
    /**
     * Enable or disables the get the document text collections.
     *
     * @default false
     */
    isExtractText?: boolean;
    /**
     * Maintain the selection of text markup annotation.
     *
     * @default false
     */
    isMaintainSelection?: boolean;
    /**
     * Customize desired date and time format
     */
    dateTimeFormat?: string;
    /**
     * Defines the settings of the PdfViewer toolbar.
     */
    // eslint-disable-next-line max-len
    toolbarSettings?: ToolbarSettingsModel;
    /**
     * Defines the ajax Request settings of the PdfViewer.
     */
    // eslint-disable-next-line max-len
    ajaxRequestSettings?: AjaxRequestSettingsModel;
    /**
     * Defines the stamp items of the PdfViewer.
     */
    // eslint-disable-next-line max-len
    customStamp?: CustomStampModel[];
    /**
     * Defines the settings of the PdfViewer service.
     */
    // eslint-disable-next-line max-len
    serverActionSettings?: ServerActionSettingsModel;
    /**
     * Get or set the signature field settings.
     */
    // eslint-disable-next-line max-len
    signatureFieldSettings?: SignatureFieldSettingsModel;
    /**
     * Get or set the initial field settings.
     */
    // eslint-disable-next-line max-len
    initialFieldSettings?: InitialFieldSettingsModel;
    /**
     * Defines the settings of highlight annotation.
     */
    // eslint-disable-next-line max-len
    highlightSettings?: HighlightSettingsModel;
    /**
     * Defines the settings of strikethrough annotation.
     */
    // eslint-disable-next-line max-len
    strikethroughSettings?: StrikethroughSettingsModel;
    /**
     * Defines the settings of underline annotation.
     */
    // eslint-disable-next-line max-len
    underlineSettings?: UnderlineSettingsModel;
    /**
     * Defines the settings of line annotation.
     */
    // eslint-disable-next-line max-len
    lineSettings?: LineSettingsModel;
    /**
     * Defines the settings of arrow annotation.
     */
    // eslint-disable-next-line max-len
    arrowSettings?: ArrowSettingsModel;
    /**
     * Defines the settings of rectangle annotation.
     */
    // eslint-disable-next-line max-len
    rectangleSettings?: RectangleSettingsModel;
    /**
     * Defines the settings of shape label.
     */
    // eslint-disable-next-line max-len
    shapeLabelSettings?: ShapeLabelSettingsModel;
    /**
     * Defines the settings of circle annotation.
     */
    // eslint-disable-next-line max-len
    circleSettings?: CircleSettingsModel;
    /**
     * Defines the settings of polygon annotation.
     */
    // eslint-disable-next-line max-len
    polygonSettings?: PolygonSettingsModel;
    /**
     * Defines the settings of stamp annotation.
     */
    // eslint-disable-next-line max-len
    stampSettings?: StampSettingsModel;
    /**
     * Defines the settings of customStamp annotation.
     */
    // eslint-disable-next-line max-len
    customStampSettings?: CustomStampSettingsModel;
    /**
     * Defines the settings of distance annotation.
     */
    // eslint-disable-next-line max-len
    distanceSettings?: DistanceSettingsModel;
    /**
     * Defines the settings of perimeter annotation.
     */
    // eslint-disable-next-line max-len
    perimeterSettings?: PerimeterSettingsModel;
    /**
     * Defines the settings of area annotation.
     */
    // eslint-disable-next-line max-len
    areaSettings?: AreaSettingsModel;
    /**
     * Defines the settings of radius annotation.
     */
    // eslint-disable-next-line max-len
    radiusSettings?: RadiusSettingsModel;
    /**
     * Defines the settings of volume annotation.
     */
    // eslint-disable-next-line max-len
    volumeSettings?: VolumeSettingsModel;
    /**
     * Defines the settings of stickyNotes annotation.
     */
    // eslint-disable-next-line max-len
    stickyNotesSettings?: StickyNotesSettingsModel;
    /**
     * Defines the settings of free text annotation.
     */
    // eslint-disable-next-line max-len
    freeTextSettings?: FreeTextSettingsModel;
    /**
     * Defines the settings of measurement annotation.
     */
    measurementSettings?: MeasurementSettingsModel;
    /**
     * Defines the settings of annotation selector.
     */
    // eslint-disable-next-line max-len
    annotationSelectorSettings?: AnnotationSelectorSettingsModel;
    /**
     * Sets the settings for the color of the text search highlight.
     */
    textSearchColorSettings?: TextSearchColorSettingsModel;
    /**
     * Get or set the signature dialog settings for signature field.
     */
    signatureDialogSettings?: SignatureDialogSettingsModel;
    /**
     * Get or set the signature dialog settings for initial field.
     */
    initialDialogSettings?: SignatureDialogSettingsModel;
    /**
     * Defines the settings of handWrittenSignature.
     */
    // eslint-disable-next-line max-len
    handWrittenSignatureSettings?: HandWrittenSignatureSettingsModel;
    /**
     * Defines the ink annotation settings for PDF Viewer.It used to customize the strokeColor, thickness, opacity of the ink annotation.
     */
    // eslint-disable-next-line max-len
    inkAnnotationSettings?: InkAnnotationSettingsModel;
    /**
     * Defines the settings of the annotations.
     */
    // eslint-disable-next-line max-len
    annotationSettings?: AnnotationSettingsModel;
    /**
     * Defines the tile rendering settings.
     */
    tileRenderingSettings?: TileRenderingSettingsModel;
    /**
     * Defines the scroll settings.
     */
    scrollSettings?: ScrollSettingsModel;
    /**
     * Get or set the text field settings.
     */
    textFieldSettings?: TextFieldSettingsModel;
    /**
     * Get or set the password field settings.
     */
    passwordFieldSettings?: PasswordFieldSettingsModel;
    /**
     * Get or set the check box field settings.
     */
    checkBoxFieldSettings?: CheckBoxFieldSettingsModel;
    /**
     * Get or set the radio button field settings.
     */
    radioButtonFieldSettings?: RadioButtonFieldSettingsModel;
    /**
     * Get or set the dropdown field settings.
     */
    DropdownFieldSettings?: DropdownFieldSettingsModel;
    /**
     * Get or set the listbox field settings.
     */
    listBoxFieldSettings?: ListBoxFieldSettingsModel;
    /**
     * Defines the context menu settings.
     */
    // eslint-disable-next-line max-len
    contextMenuSettings?: ContextMenuSettingsModel;
    /**
     * Defines the collection of selected items, size and position of the selector
     *
     * @default {}
     */
    selectedItems?: SelectorModel;
    /**
     * Triggers while created the PdfViewer component.
     *
     * @event
     * @blazorProperty 'Created'
     */
    created?: base.EmitType<void>;
    /**
     * Triggers while loading document into PdfViewer.
     *
     * @event
     * @blazorProperty 'DocumentLoaded'
     */
    documentLoad?: base.EmitType<LoadEventArgs>;
    /**
     * Triggers while close the document
     *
     * @event
     * @blazorProperty 'DocumentUnloaded'
     */
    documentUnload?: base.EmitType<UnloadEventArgs>;
    /**
     * Triggers while loading document got failed in PdfViewer.
     *
     * @event
     * @blazorProperty 'DocumentLoadFailed'
     */
    documentLoadFailed?: base.EmitType<LoadFailedEventArgs>;
    /**
     * Triggers when the AJAX request is failed.
     *
     * @event
     * @blazorProperty 'AjaxRequestFailed'
     */
    ajaxRequestFailed?: base.EmitType<AjaxRequestFailureEventArgs>;
    /**
     * base.Event triggers on successful AJAX request 
     * 
     * @event
     */
    ajaxRequestSuccess?: base.EmitType<AjaxRequestSuccessEventArgs>;
    /**
     * Triggers when validation is failed.
     *
     * @event
     * @blazorProperty 'validateFormFields'
     */
    validateFormFields?: base.EmitType<ValidateFormFieldsArgs>;
    /**
     * Triggers when the mouse click is performed over the page of the PDF document.
     *
     * @event
     * @blazorProperty 'OnPageClick'
     */
    pageClick?: base.EmitType<PageClickEventArgs>;
    /**
     * Triggers when there is change in current page number.
     *
     * @event
     * @blazorProperty 'PageChanged'
     */
    pageChange?: base.EmitType<PageChangeEventArgs>;
    /**
     * Triggers when hyperlink in the PDF Document is clicked
     *
     * @event
     * @blazorProperty 'OnHyperlinkClick'
     */
    hyperlinkClick?: base.EmitType<HyperlinkClickEventArgs>;
    /**
     * Triggers when hyperlink in the PDF Document is hovered
     *
     * @event
     * @blazorProperty 'OnHyperlinkMouseOver'
     */
    hyperlinkMouseOver?: base.EmitType<HyperlinkMouseOverArgs>;
    /**
     * Triggers when there is change in the magnification value.
     *
     * @event
     * @blazorProperty 'ZoomChanged'
     */
    zoomChange?: base.EmitType<ZoomChangeEventArgs>;
    /**
     * Triggers when an annotation is added over the page of the PDF document.
     *
     * @event
     * @blazorProperty 'AnnotationAdded'
     */
    annotationAdd?: base.EmitType<AnnotationAddEventArgs>;
    /**
     * Triggers when an annotation is removed from the page of the PDF document.
     *
     * @event
     * @blazorProperty 'AnnotationRemoved'
     */
    annotationRemove?: base.EmitType<AnnotationRemoveEventArgs>;
    /**
     * Triggers when the property of the annotation is changed in the page of the PDF document.
     *
     * @event
     * @blazorProperty 'AnnotationPropertiesChanged'
     */
    annotationPropertiesChange?: base.EmitType<AnnotationPropertiesChangeEventArgs>;
    /**
     * Triggers when an annotation is resized over the page of the PDF document.
     *
     * @event
     * @blazorProperty 'AnnotationResized'
     */
    annotationResize?: base.EmitType<AnnotationResizeEventArgs>;
    /**
     * Triggers when signature is added  over the page of the PDF document.
     *
     * @event
     */
    addSignature?: base.EmitType<AddSignatureEventArgs>;
    /**
     * Triggers when signature is removed over the page of the PDF document.
     *
     * @event
     */
    removeSignature?: base.EmitType<RemoveSignatureEventArgs>;
    /**
     * Triggers when an signature is moved over the page of the PDF document.
     *
     * @event
     */
    moveSignature?: base.EmitType<MoveSignatureEventArgs>;
    /**
     * Triggers when the property of the signature is changed in the page of the PDF document.
     *
     * @event
     */
    signaturePropertiesChange?: base.EmitType<SignaturePropertiesChangeEventArgs>;
    /**
     * Triggers when signature is resized over the page of the PDF document.
     *
     * @event
     */
    resizeSignature?: base.EmitType<ResizeSignatureEventArgs>;
    /**
     * Triggers when signature is selected over the page of the PDF document.
     *
     * @event
     */
    signatureSelect?: base.EmitType<SignatureSelectEventArgs>;
    /**
     * Triggers when an annotation is selected over the page of the PDF document.
     *
     * @event
     * @blazorProperty 'AnnotationSelected'
     */
    annotationSelect?: base.EmitType<AnnotationSelectEventArgs>;
    /**
     * Triggers when an annotation is unselected over the page of the PDF document.
     *
     * @event
     * @blazorProperty 'AnnotationUnSelect'
     */
    annotationUnSelect?: base.EmitType<AnnotationUnSelectEventArgs>;
    /**
     * Triggers an event when the annotation is double click.
     *
     * @event
     * @blazorProperty 'OnAnnotationDoubleClick'
     */
    annotationDoubleClick?: base.EmitType<AnnotationDoubleClickEventArgs>;
    /**
     * Triggers when an annotation is moved over the page of the PDF document.
     *
     * @event
     * @blazorProperty 'AnnotationMoved'
     */
    annotationMove?: base.EmitType<AnnotationMoveEventArgs>;
    /**
     * Triggers while moving an annotation.
     *
     * @event
     * @blazorProperty 'AnnotationMoving'
     */
    annotationMoving?: base.EmitType<AnnotationMovingEventArgs>;
    /**
     * Triggers when mouse over the annotation object.
     *
     * @event
     */
    annotationMouseover?: base.EmitType<AnnotationMouseoverEventArgs>;
    /**
     * Triggers when mouse over the annotation object.
     *
     * @event
     */
    annotationMouseLeave?: base.EmitType<AnnotationMouseLeaveEventArgs>;
    /**
     * Triggers when mouse over the page.
     *
     * @event
     */
    pageMouseover?: base.EmitType<PageMouseoverEventArgs>;
    /**
     *
     * @event
     * @blazorProperty 'ImportStarted'
     */
    /**
     * Triggers when an exported annotations started in the PDF Viewer.
     *
     * @event
     * @blazorProperty 'ExportStarted'
     */
    exportStart?: base.EmitType<ExportStartEventArgs>;
    /**
     *
     * @event
     * @blazorProperty 'ImportSucceed'
     */
    /**
     * Triggers when an export annotations succeed in the PDF Viewer.
     *
     * @event
     * @blazorProperty 'ExportSucceed'
     */
    exportSuccess?: base.EmitType<ExportSuccessEventArgs>;
    /**
     *
     * @event
     * @blazorProperty 'ImportFailed'
     */
    /**
     * Triggers when an export annotations failed in the PDF Viewer.
     *
     * @event
     * @blazorProperty 'ExportFailed'
     */
    exportFailed?: base.EmitType<ExportFailureEventArgs>;
    /**
     * Triggers when an text extraction is completed in the PDF Viewer.
     *
     * @event
     * @blazorProperty 'ExtractTextCompleted'
     */
    extractTextCompleted?: base.EmitType<ExtractTextCompletedEventArgs>;
    /**
     * Triggers an event when the thumbnail is clicked in the thumbnail panel of PDF Viewer.
     *
     * @event
     * @blazorProperty 'OnThumbnailClick'
     */
    thumbnailClick?: base.EmitType<ThumbnailClickEventArgs>;
    /**
     * Triggers an event when the bookmark is clicked in the bookmark panel of PDF Viewer.
     *
     * @event
     * @blazorProperty 'BookmarkClick'
     */
    bookmarkClick?: base.EmitType<BookmarkClickEventArgs>;
    /**
     * Triggers an event when the text selection is started.
     *
     * @event
     * @blazorProperty 'OnTextSelectionStart'
     */
    textSelectionStart?: base.EmitType<TextSelectionStartEventArgs>;
    /**
     * Triggers an event when the text selection is finished.
     *
     * @event
     * @blazorProperty 'OnTextSelectionEnd'
     */
    textSelectionEnd?: base.EmitType<TextSelectionEndEventArgs>;
    /**
     * Triggers an event when the download action is started.
     *
     * @event
     * @blazorProperty 'DownloadStart'
     */
    downloadStart?: base.EmitType<DownloadStartEventArgs>;
    /**
     * Triggers an event when the button is clicked.
     *
     * @deprecated This property renamed into "formFieldClick"
     * @event
     * @blazorProperty 'ButtonFieldClick'
     */
    buttonFieldClick?: base.EmitType<ButtonFieldClickEventArgs>;
    /**
     * Triggers an event when the form field is clicked.
     *
     * @event
     * @blazorProperty 'FormFieldClick'
     */
    formFieldClick?: base.EmitType<FormFieldClickArgs>;
    /**
     * Triggers an event when the download actions is finished.
     *
     * @event
     * @blazorProperty 'DownloadEnd'
     */
    downloadEnd?: base.EmitType<DownloadEndEventArgs>;
    /**
     * Triggers an event when the print action is started.
     *
     * @event
     * @blazorProperty 'PrintStart'
     */
    printStart?: base.EmitType<PrintStartEventArgs>;
    /**
     * Triggers an event when the print actions is finished.
     *
     * @event
     * @blazorProperty 'PrintEnd'
     */
    printEnd?: base.EmitType<PrintEndEventArgs>;
    /**
     * Triggers an event when the text search is started.
     *
     * @event
     * @blazorProperty 'OnTextSearchStart'
     */
    textSearchStart?: base.EmitType<TextSearchStartEventArgs>;
    /**
     * Triggers an event when the text search is completed.
     *
     * @event
     * @blazorProperty 'OnTextSearchComplete'
     */
    textSearchComplete?: base.EmitType<TextSearchCompleteEventArgs>;
    /**
     * Triggers an event when the text search text is highlighted.
     *
     * @event
     * @blazorProperty 'OnTextSearchHighlight'
     */
    textSearchHighlight?: base.EmitType<TextSearchHighlightEventArgs>;
    /**
     * Triggers before the data send in to the server.
     *
     * @event
     */
    ajaxRequestInitiate?: base.EmitType<AjaxRequestInitiateEventArgs>;
    /**
     * Triggers when the comment is added for the annotation in the comment panel.
     *
     * @event
     * @blazorProperty 'commentAdd'
     */
    commentAdd?: base.EmitType<CommentEventArgs>;
    /**
     * Triggers when the comment is edited for the annotation in the comment panel.
     *
     * @event
     * @blazorProperty 'commentEdit'
     */
    commentEdit?: base.EmitType<CommentEventArgs>;
    /**
     * Triggers when the comment is deleted for the annotation in the comment panel.
     *
     * @event
     * @blazorProperty 'commentDelete'
     */
    commentDelete?: base.EmitType<CommentEventArgs>;
    /**
     * Triggers when the comment is selected for the annotation in the comment panel.
     *
     * @event
     * @blazorProperty 'commentSelect
     */
    commentSelect?: base.EmitType<CommentEventArgs>;
    /**
     * Triggers when the comment for status is changed for the annotation in the comment panel.
     *
     * @event
     * @blazorProperty 'commentStatusChanged'
     */
    commentStatusChanged?: base.EmitType<CommentEventArgs>;
    /**
     * Triggers the event before adding a text in the freeText annotation.
     *
     * @event
     * @blazorProperty 'beforeAddFreeText'
     */
    beforeAddFreeText?: base.EmitType<BeforeAddFreeTextEventArgs>;
    /**
     * Triggers when focus out from the form fields.
     *
     * @event
     * @blazorProperty 'formFieldFocusOut'
     */
    formFieldFocusOut?: base.EmitType<FormFieldFocusOutEventArgs>;
    /**
     * The event is triggered when a form field is added.
     *
     * @event
     * @blazorProperty 'formFieldAdd'
     */
    formFieldAdd?: base.EmitType<FormFieldAddArgs>;
    /**
     * The event is triggered when a form field is removed.
     *
     * @event
     * @blazorProperty 'formFieldRemove'
     */
    formFieldRemove?: base.EmitType<FormFieldRemoveArgs>;
    /**
     * The event is triggered when a property of form field is changed.
     *
     * @event
     * @blazorProperty 'formFieldPropertiesChange'
     */
    formFieldPropertiesChange?: base.EmitType<FormFieldPropertiesChangeArgs>;
    /**
     * The event is triggered when a mouse cursor leaves form field.
     *
     * @event
     * @blazorProperty 'formFieldMouseLeave'
     */
    formFieldMouseLeave?: base.EmitType<FormFieldMouseLeaveArgs>;
    /**
     * The event is triggered when a mouse cursor is over a form field.
     *
     * @event
     * @blazorProperty 'formFieldMouseover'
     */
    formFieldMouseover?: base.EmitType<FormFieldMouseoverArgs>;
    /**
     * The event is triggered when a form field is moved.
     *
     * @event
     * @blazorProperty 'formFieldMove'
     */
    formFieldMove?: base.EmitType<FormFieldMoveArgs>;
    /**
     * The event is triggered when a form field is resized.
     *
     * @event
     * @blazorProperty 'formFieldResize'
     */
    formFieldResize?: base.EmitType<FormFieldResizeArgs>;
    /**
     * The event is triggered when a form field is selected.
     *
     * @event
     * @blazorProperty 'formFieldSelect'
     */
    formFieldSelect?: base.EmitType<FormFieldSelectArgs>;
    /**
     * The event is triggered when a form field is unselected.
     *
     * @event
     * @blazorProperty 'formFieldUnselect'
     */
    formFieldUnselect?: base.EmitType<FormFieldUnselectArgs>;
    /**
     * Triggers an event when the form field is double-clicked.
     *
     * @event
     * @blazorProperty 'formFieldDoubleClick'
     */
    formFieldDoubleClick?: base.EmitType<FormFieldDoubleClickArgs>;
    /**
     * PDF document annotation collection.
     *
     * @private
     * @deprecated
     */
    annotations?: PdfAnnotationBaseModel[];
    /**
     * PDF document form fields collection.
     * 
     * @private
     * @deprecated
     */
    formFields?: PdfFormFieldBaseModel[];
    /**
     * store the drawing objects.
     *
     * @private
     * @deprecated
     */
    drawingObject?: PdfAnnotationBaseModel;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/pdfviewer.d.ts
/**
 * The `ToolbarSettings` module is used to provide the toolbar settings of PDF viewer.
 */
export  class ToolbarSettings extends base.ChildProperty<ToolbarSettings> {
    /**
     * Enable or disables the toolbar of PdfViewer.
     */
    showTooltip: boolean;
    /**
     * shows only the defined options in the PdfViewer.
     */
    toolbarItems: ToolbarItem[];
    /**
     * Provide option to customize the annotation toolbar of the PDF Viewer.
     */
    annotationToolbarItems: AnnotationToolbarItem[];
    /**
     * Customize the tools to be exposed in the form designer toolbar.
     */
    formDesignerToolbarItems: FormDesignerToolbarItem[];
}
/**
 * The `AjaxRequestSettings` module is used to set the ajax Request Headers of PDF viewer.
 */
export  class AjaxRequestSettings extends base.ChildProperty<AjaxRequestSettings> {
    /**
     * set the ajax Header values in the PdfViewer.
     */
    ajaxHeaders: IAjaxHeaders[];
    /**
     * set the ajax credentials for the pdfviewer.
     */
    withCredentials: boolean;
}
export interface IAjaxHeaders {
    /**
     * specifies the ajax Header Name of the PdfViewer.
     */
    headerName: string;
    /**
     * specifies the ajax Header Value of the PdfViewer.
     */
    headerValue: string;
}
/**
 * The `CustomStamp` module is used to provide the custom stamp added in stamp menu of the PDF Viewer toolbar.
 */
export  class CustomStamp extends base.ChildProperty<CustomStamp> {
    /**
     * Defines the custom stamp name to be added in stamp menu of the PDF Viewer toolbar.
     */
    customStampName: string;
    /**
     * Defines the custom stamp images source to be added in stamp menu of the PDF Viewer toolbar.
     */
    customStampImageSource: string;
}
/**
 * The `AnnotationToolbarSettings` module is used to provide the annotation toolbar settings of the PDF viewer.
 */
export  class AnnotationToolbarSettings extends base.ChildProperty<AnnotationToolbarSettings> {
    /**
     * Enable or disables the tooltip of the toolbar.
     */
    showTooltip: boolean;
    /**
     * shows only the defined options in the PdfViewer.
     */
    annotationToolbarItem: AnnotationToolbarItem[];
}
/**
 * The `FormDesignerToolbarSettings` module is used to provide the Form designer toolbar settings of the PDF viewer.
 */
export  class FormDesignerToolbarSettings extends base.ChildProperty<FormDesignerToolbarSettings> {
    /**
     * Enable or disables the tooltip of the toolbar.
     */
    showTooltip: boolean;
    /**
     * shows only the defined options in the PdfViewer.
     */
    formDesignerToolbarItem: FormDesignerToolbarItem[];
}
/**
 * The `SignatureFieldSettings` module is used to set the properties of signature field in PDF Viewer
 */
export  class SignatureFieldSettings extends base.ChildProperty<SignatureFieldSettings> {
    /**
     * Get or set the form field bounds.
     */
    bounds: IFormFieldBound;
    /**
     * Get or set the name of the form field element.
     */
    name: string;
    /**
     * Specifies whether the signature field is in read-only or read-write mode. FALSE by default.
     */
    isReadOnly: boolean;
    /**
     * Gets or set the visibility of the form field.
     */
    visibility: Visibility;
    /**
     * If it is set as true, consider as mandatory field in the PDF document. By default it is false.
     */
    isRequired: boolean;
    /**
     * Get or set the boolean value to print the signature field. TRUE by default.
     */
    isPrint: boolean;
    /**
     * Get or set the text to be displayed as tooltip. By default it is empty.
     */
    tooltip: string;
    /**
     * specifies the page number of the form field.
     */
    pageNumber: number;
    /**
     * Specifies the properties of the signature Dialog Settings in the signature field.
     */
    signatureDialogSettings: SignatureDialogSettingsModel;
    /**
     * Specifies the properties of the signature indicator in the signature field.
     */
    signatureIndicatorSettings: SignatureIndicatorSettingsModel;
}
/**
 * The `InitialFieldSettings` module is used to set the properties of initial field in PDF Viewer
 */
export  class InitialFieldSettings extends base.ChildProperty<InitialFieldSettings> {
    /**
     * Get or set the form field bounds.
     */
    bounds: IFormFieldBound;
    /**
     * Get or set the name of the form field element.
     */
    name: string;
    /**
     * Specifies whether the initial field is in read-only or read-write mode. FALSE by default.
     */
    isReadOnly: boolean;
    /**
     * Gets or set the visibility of the form field.
     */
    visibility: Visibility;
    /**
     * If it is set as true, consider as mandatory field in the PDF document. By default it is false.
     */
    isRequired: boolean;
    /**
     * Get or set the boolean value to print the initial field. TRUE by default.
     */
    isPrint: boolean;
    /**
     * Get or set the text to be displayed as tooltip. By default it is empty.
     */
    tooltip: string;
    /**
     * specifies the page number of the form field.
     */
    pageNumber: number;
    /**
     * Gets or sets the initial field type of the signature field.
     */
    isInitialField: boolean;
    /**
     * Get or set the signature dialog settings for initial field.
     */
    initialDialogSettings: SignatureDialogSettingsModel;
    /**
     * Specifies the properties of the signature indicator in the initial field.
     */
    initialIndicatorSettings: SignatureIndicatorSettingsModel;
}
/**
 * The `SignatureIndicatorSettings` module is used to provide the properties of signature Indicator in the signature field
 */
export  class SignatureIndicatorSettings extends base.ChildProperty<SignatureIndicatorSettings> {
    /**
     * Specifies the opacity of the signature indicator.
     */
    opacity: number;
    /**
     * Specifies the color of the signature indicator.
     */
    backgroundColor: string;
    /**
     * Specifies the width of the signature indicator. Maximum width is half the width of the signature field.
     * Minimum width is the default value.
     */
    width: number;
    /**
     * Specifies the height of the signature indicator. Maximum height is half the height of the signature field.
     * Minimum height is the default value.
     */
    height: number;
    /**
     * Specifies the signature Indicator's font size. The maximum size of the font is half the height of the signature field.
     */
    fontSize: number;
    /**
     * Specifies the text of the signature Indicator.
     */
    text: string;
    /**
     * Specifies the color of the text of signature indicator.
     */
    color: string;
}
/**
 * The `SignatureDialogSettings` module is used to customize the signature dialog box.
 */
export  class SignatureDialogSettings extends base.ChildProperty<SignatureDialogSettings> {
    /**
     * Get or set the required signature options will be enabled in the signature dialog.
     */
    displayMode: DisplayMode;
    /**
     * Get or set a boolean value to show or hide the save signature check box option in the signature dialog. FALSE by default.
     */
    hideSaveSignature: boolean;
}
/**
 * The `ServerActionSettings` module is used to provide the server action methods of PDF viewer.
 */
export  class ServerActionSettings extends base.ChildProperty<ServerActionSettings> {
    /**
     * specifies the load action of PdfViewer.
     */
    load: string;
    /**
     * specifies the unload action of PdfViewer.
     */
    unload: string;
    /**
     * specifies the render action of PdfViewer.
     */
    renderPages: string;
    /**
     * specifies the print action of PdfViewer.
     */
    print: string;
    /**
     * specifies the download action of PdfViewer.
     */
    download: string;
    /**
     * specifies the download action of PdfViewer.
     */
    renderThumbnail: string;
    /**
     * specifies the annotation comments action of PdfViewer.
     */
    renderComments: string;
    /**
     */
    /**
     * specifies the export annotations action of PdfViewer.
     */
    exportAnnotations: string;
    /**
     */
    /**
     * specifies the export action of PdfViewer.
     */
    exportFormFields: string;
    /**
     * specifies the export action of PdfViewer.
     */
    renderTexts: string;
}
/**
 * The `StrikethroughSettings` module is used to provide the properties to Strikethrough annotation.
 */
export  class StrikethroughSettings extends base.ChildProperty<StrikethroughSettings> {
    /**
    * Get or set page number of the annotation.
    */
    pageNumber: number;
    /**
     * Get or set bounds of the annotation.
     *
     * @default []
     */
    bounds: IAnnotationPoint[];
    /**
     * specifies the opacity of the annotation.
     */
    opacity: number;
    /**
     * specifies the color of the annotation.
     */
    color: string;
    /**
     * specifies the author of the annotation.
     */
    author: string;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings: AnnotationSelectorSettingsModel;
    /**
     * specifies the custom data of the annotation.
     */
    customData: object;
    /**
     * specifies the locked action of the annotation.
     */
    isLock: boolean;
    /**
     * Enables or disables the multi-page text markup annotation selection in UI.
     *
     * @default false
     */
    enableMultiPageAnnotation: boolean;
    /**
     * Enable or disable the text markup resizer to modify the bounds in UI.
     *
     * @default false
     */
    enableTextMarkupResizer: boolean;
    /**
     * Gets or sets the allowed interactions for the locked strikethrough annotations.
     * IsLock can be configured using strikethrough settings.
     *
     * @default ['None']
     */
    allowedInteractions: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint: boolean;
}
/**
 * The `UnderlineSettings` module is used to provide the properties to Underline annotation.
 */
export  class UnderlineSettings extends base.ChildProperty<UnderlineSettings> {
    /**
    * Get or set page number of the annotation.
    */
    pageNumber: number;
    /**
     * Get or set bounds of the annotation.
     *
     * @default []
     */
    bounds: IAnnotationPoint[];
    /**
     * specifies the opacity of the annotation.
     */
    opacity: number;
    /**
     * specifies the color of the annotation.
     */
    color: string;
    /**
     * specifies the author of the annotation.
     */
    author: string;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings: AnnotationSelectorSettingsModel;
    /**
     * specifies the custom data of the annotation.
     */
    customData: object;
    /**
     * specifies the locked action of the annotation.
     */
    isLock: boolean;
    /**
     * Enables or disables the multi-page text markup annotation selection in UI.
     *
     * @default false
     */
    enableMultiPageAnnotation: boolean;
    /**
     * Enable or disable the text markup resizer to modify the bounds in UI.
     *
     * @default false
     */
    enableTextMarkupResizer: boolean;
    /**
     * Gets or sets the allowed interactions for the locked underline annotations.
     * IsLock can be configured using underline settings.
     *
     * @default ['None']
     */
    allowedInteractions: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint: boolean;
}
/**
 * The `HighlightSettings` module is used to provide the properties to Highlight annotation.
 */
export  class HighlightSettings extends base.ChildProperty<HighlightSettings> {
    /**
    * Get or set page number of the annotation.
    */
    pageNumber: number;
    /**
     * Get or set bounds of the annotation.
     *
     * @default []
     */
    bounds: IAnnotationPoint[];
    /**
     * specifies the opacity of the annotation.
     */
    opacity: number;
    /**
     * specifies the color of the annotation.
     */
    color: string;
    /**
     * specifies the author of the annotation.
     */
    author: string;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings: AnnotationSelectorSettingsModel;
    /**
     * specifies the custom data of the annotation.
     */
    customData: object;
    /**
     * specifies the locked action of the annotation.
     */
    isLock: boolean;
    /**
     * Enables or disables the multi-page text markup annotation selection in UI.
     *
     * @default false
     */
    enableMultiPageAnnotation: boolean;
    /**
     * Enable or disable the text markup resizer to modify the bounds in UI.
     *
     * @default false
     */
    enableTextMarkupResizer: boolean;
    /**
     * Gets or sets the allowed interactions for the locked highlight annotations.
     * IsLock can be configured using highlight settings.
     *
     * @default ['None']
     */
    allowedInteractions: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint: boolean;
}
/**
 * The `LineSettings` module is used to provide the properties to line annotation.
 */
export  class LineSettings extends base.ChildProperty<LineSettings> {
    /**
     * Get or set offset of the annotation.
     */
    offset: IPoint;
    /**
     * Get or set page number of the annotation.
     */
    pageNumber: number;
    /**
     * Get or set vertex points of the annotation.
     *
     * @default []
     */
    vertexPoints?: drawings.PointModel[];
    /**
     * specifies the opacity of the annotation.
     */
    opacity: number;
    /**
     * specifies the fill color of the annotation.
     */
    fillColor: string;
    /**
     * specifies the stroke color of the annotation.
     */
    strokeColor: string;
    /**
     * specifies the author of the annotation.
     */
    author: string;
    /**
     * specified the thickness of the annotation.
     */
    thickness: number;
    /**
     * specifies the line head start style of the annotation.
     */
    lineHeadStartStyle: LineHeadStyle;
    /**
     * specifies the line head end style of the annotation.
     */
    lineHeadEndStyle: LineHeadStyle;
    /**
     * specifies the border dash array  of the annotation.
     */
    borderDashArray: number;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings: AnnotationSelectorSettingsModel;
    /**
     * specifies the minHeight of the annotation.
     */
    minHeight: number;
    /**
     * specifies the minWidth of the annotation.
     */
    minWidth: number;
    /**
     * specifies the minHeight of the annotation.
     */
    maxHeight: number;
    /**
     * specifies the maxWidth of the annotation.
     */
    maxWidth: number;
    /**
     * specifies the locked action of the annotation.
     */
    isLock: boolean;
    /**
     * specifies the custom data of the annotation.
     */
    customData: object;
    /**
     * Gets or sets the allowed interactions for the locked highlight annotations.
     * IsLock can be configured using line settings.
     *
     * @default ['None']
     */
    allowedInteractions: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint: boolean;
}
/**
 * The `ArrowSettings` module is used to provide the properties to arrow annotation.
 */
export  class ArrowSettings extends base.ChildProperty<ArrowSettings> {
    /**
     * Get or set offset of the annotation.
     */
    offset: IPoint;
    /**
      * Get or set page number of the annotation.
      */
    pageNumber: number;
    /**
     * Get or set vertex points of the annotation.
     *
     * @default []
     */
    vertexPoints?: drawings.PointModel[];
    /**
     * specifies the opacity of the annotation.
     */
    opacity: number;
    /**
     * specifies the fill color of the annotation.
     */
    fillColor: string;
    /**
     * specifies the stroke color of the annotation.
     */
    strokeColor: string;
    /**
     * specifies the author of the annotation.
     */
    author: string;
    /**
     * specified the thickness of the annotation.
     */
    thickness: number;
    /**
     * specifies the line head start style of the annotation.
     */
    lineHeadStartStyle: LineHeadStyle;
    /**
     * specifies the line head start style of the annotation.
     */
    lineHeadEndStyle: LineHeadStyle;
    /**
     * specifies the border dash array  of the annotation.
     */
    borderDashArray: number;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings: AnnotationSelectorSettingsModel;
    /**
     * specifies the minHeight of the annotation.
     */
    minHeight: number;
    /**
     * specifies the minWidth of the annotation.
     */
    minWidth: number;
    /**
     * specifies the minHeight of the annotation.
     */
    maxHeight: number;
    /**
     * specifies the maxWidth of the annotation.
     */
    maxWidth: number;
    /**
     * specifies the locked action of the annotation.
     */
    isLock: boolean;
    /**
     * specifies the custom data of the annotation.
     */
    customData: object;
    /**
     * Gets or sets the allowed interactions for the locked arrow annotations.
     * IsLock can be configured using arrow settings.
     *
     * @default ['None']
     */
    allowedInteractions: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint: boolean;
}
/**
 * The `RectangleSettings` module is used to provide the properties to rectangle annotation.
 */
export  class RectangleSettings extends base.ChildProperty<RectangleSettings> {
    /**
     * Get or set offset of the annotation.
     */
    offset: IPoint;
    /**
     * Get or set page number of the annotation.
     */
    pageNumber: number;
    /**
     * specifies the width of the annotation.
     */
    width: number;
    /**
     * specifies the height of the annotation.
     */
    height: number;
    /**
     * specifies the opacity of the annotation.
     */
    opacity: number;
    /**
     * specifies the fill color of the annotation.
     */
    fillColor: string;
    /**
     * specifies the stroke color of the annotation.
     */
    strokeColor: string;
    /**
     * specifies the author of the annotation.
     */
    author: string;
    /**
     * specified the thickness of the annotation.
     */
    thickness: number;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings: AnnotationSelectorSettingsModel;
    /**
     * specifies the minHeight of the annotation.
     */
    minHeight: number;
    /**
     * specifies the minWidth of the annotation.
     */
    minWidth: number;
    /**
     * specifies the minHeight of the annotation.
     */
    maxHeight: number;
    /**
     * specifies the maxWidth of the annotation.
     */
    maxWidth: number;
    /**
     * specifies the locked action of the annotation.
     */
    isLock: boolean;
    /**
     * specifies the custom data of the annotation.
     */
    customData: object;
    /**
     * Gets or sets the allowed interactions for the locked rectangle annotations.
     * IsLock can be configured using rectangle settings.
     *
     * @default ['None']
     */
    allowedInteractions: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint: boolean;
}
/**
 * The `CircleSettings` module is used to provide the properties to circle annotation.
 */
export  class CircleSettings extends base.ChildProperty<CircleSettings> {
    /**
     * Get or set offset of the annotation.
     */
    offset: IPoint;
    /**
     * Get or set page number of the annotation.
     */
    pageNumber: number;
    /**
     * specifies the width of the annotation.
     */
    width: number;
    /**
     * specifies the height of the annotation.
     */
    height: number;
    /**
     * specifies the opacity of the annotation.
     */
    opacity: number;
    /**
     * specifies the fill color of the annotation.
     */
    fillColor: string;
    /**
     * specifies the stroke color of the annotation.
     */
    strokeColor: string;
    /**
     * specifies the author of the annotation.
     */
    author: string;
    /**
     * specified the thickness of the annotation.
     */
    thickness: number;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings: AnnotationSelectorSettingsModel;
    /**
     * specifies the minHeight of the annotation.
     */
    minHeight: number;
    /**
     * specifies the minWidth of the annotation.
     */
    minWidth: number;
    /**
     * specifies the minHeight of the annotation.
     */
    maxHeight: number;
    /**
     * specifies the maxWidth of the annotation.
     */
    maxWidth: number;
    /**
     * specifies the locked action of the annotation.
     */
    isLock: boolean;
    /**
     * specifies the custom data of the annotation.
     */
    customData: object;
    /**
     * Gets or sets the allowed interactions for the locked circle annotations.
     * IsLock can be configured using circle settings.
     *
     * @default ['None']
     */
    allowedInteractions: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint: boolean;
}
/**
 * The `ShapeLabelSettings` module is used to provide the properties to rectangle annotation.
 */
export  class ShapeLabelSettings extends base.ChildProperty<ShapeLabelSettings> {
    /**
     * specifies the opacity of the label.
     */
    opacity: number;
    /**
     * specifies the fill color of the label.
     */
    fillColor: string;
    /**
     * specifies the border color of the label.
     */
    fontColor: string;
    /**
     * specifies the font size of the label.
     */
    fontSize: number;
    /**
     * specifies the max-width of the label.
     */
    fontFamily: string;
    /**
     * specifies the default content of the label.
     */
    labelContent: string;
    /**
     * specifies the default content of the label.
     */
    notes: string;
}
/**
 * The `PolygonSettings` module is used to provide the properties to polygon annotation.
 */
export  class PolygonSettings extends base.ChildProperty<PolygonSettings> {
    /**
     * Get or set offset of the annotation.
     */
    offset: IPoint;
    /**
     * Get or set page number of the annotation.
     */
    pageNumber: number;
    /**
     * Get or set vertex points of the annotation.
     *
     * @default []
     */
    vertexPoints?: drawings.PointModel[];
    /**
     * specifies the opacity of the annotation.
     */
    opacity: number;
    /**
     * specifies the fill color of the annotation.
     */
    fillColor: string;
    /**
     * specifies the stroke color of the annotation.
     */
    strokeColor: string;
    /**
     * specifies the author of the annotation.
     */
    author: string;
    /**
     * specified the thickness of the annotation.
     */
    thickness: number;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings: AnnotationSelectorSettingsModel;
    /**
     * specifies the minHeight of the annotation.
     */
    minHeight: number;
    /**
     * specifies the minWidth of the annotation.
     */
    minWidth: number;
    /**
     * specifies the minHeight of the annotation.
     */
    maxHeight: number;
    /**
     * specifies the maxWidth of the annotation.
     */
    maxWidth: number;
    /**
     * specifies the locked action of the annotation.
     */
    isLock: boolean;
    /**
     * specifies the custom data of the annotation.
     */
    customData: object;
    /**
     * Gets or sets the allowed interactions for the locked polygon annotations.
     * IsLock can be configured using polygon settings.
     *
     * @default ['None']
     */
    allowedInteractions: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint: boolean;
}
/**
 * The `stampSettings` module is used to provide the properties to stamp annotation.
 */
export  class StampSettings extends base.ChildProperty<StampSettings> {
    /**
    * Get or set offset of the annotation.
    */
    offset: IPoint;
    /**
     * Get or set page number of the annotation.
     */
    pageNumber: number;
    /**
     * specifies the width of the annotation.
     */
    width: number;
    /**
     * specifies the height of the annotation.
     */
    height: number;
    /**
     * specifies the opacity of the annotation.
     */
    opacity: number;
    /**
     * specifies the author of the annotation.
     */
    author: string;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings: AnnotationSelectorSettingsModel;
    /**
     * specifies the minHeight of the annotation.
     */
    minHeight: number;
    /**
     * specifies the minWidth of the annotation.
     */
    minWidth: number;
    /**
     * specifies the minHeight of the annotation.
     */
    maxHeight: number;
    /**
     * specifies the maxWidth of the annotation.
     */
    maxWidth: number;
    /**
     * specifies the locked action of the annotation.
     */
    isLock: boolean;
    /**
     * specifies the custom data of the annotation.
     */
    customData: object;
    /**
     * Provide option to define the required dynamic stamp items to be displayed in annotation toolbar menu.
     */
    dynamicStamps: DynamicStampItem[];
    /**
     * Provide option to define the required sign stamp items to be displayed in annotation toolbar menu.
     */
    signStamps: SignStampItem[];
    /**
     * Provide option to define the required standard business stamp items to be displayed in annotation toolbar menu.
     */
    standardBusinessStamps: StandardBusinessStampItem[];
    /**
     * Gets or sets the allowed interactions for the locked stamp annotations.
     * IsLock can be configured using stamp settings.
     *
     * @default ['None']
     */
    allowedInteractions: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint: boolean;
}
/**
 * The `CustomStampSettings` module is used to provide the properties to customstamp annotation.
 */
export  class CustomStampSettings extends base.ChildProperty<CustomStampSettings> {
    /**
    * Get or set offset of the annotation.
    */
    offset: IPoint;
    /**
     * Get or set page number of the annotation.
     */
    pageNumber: number;
    /**
     * specifies the opacity of the annotation.
     */
    opacity: number;
    /**
     * specifies the author of the annotation.
     */
    author: string;
    /**
     * specifies the width of the annotation.
     */
    width: number;
    /**
     * specifies the height of the annotation.
     */
    height: number;
    /**
     * specifies the left position of the annotation.
     */
    left: number;
    /**
     * specifies the top position of the annotation.
     */
    top: number;
    /**
     * Specifies to maintain the newly added custom stamp element in the menu items.
     */
    isAddToMenu: boolean;
    /**
     * specifies the minHeight of the annotation.
     */
    minHeight: number;
    /**
     * specifies the minWidth of the annotation.
     */
    minWidth: number;
    /**
     * specifies the minHeight of the annotation.
     */
    maxHeight: number;
    /**
     * specifies the maxWidth of the annotation.
     */
    maxWidth: number;
    /**
     * specifies the locked action of the annotation.
     */
    isLock: boolean;
    /**
     * Define the custom image path and it's name to be displayed in the menu items.
     */
    customStamps: CustomStampModel[];
    /**
     * If it is set as false. then the custom stamp items won't be visible in the annotation toolbar stamp menu items.
     */
    enableCustomStamp: boolean;
    /**
     * Gets or sets the allowed interactions for the locked custom stamp annotations.
     * IsLock can be configured using custom stamp settings.
     *
     * @default ['None']
     */
    allowedInteractions: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint: boolean;
}
/**
 * The `DistanceSettings` module is used to provide the properties to distance calibrate annotation.
 */
export  class DistanceSettings extends base.ChildProperty<DistanceSettings> {
    /**
    * Get or set offset of the annotation.
    */
    offset: IPoint;
    /**
    * Get or set page number of the annotation.
    */
    pageNumber: number;
    /**
     * Get or set vertex points of the annotation.
     *
     * @default []
     */
    vertexPoints?: drawings.PointModel[];
    /**
     * specifies the opacity of the annotation.
     */
    opacity: number;
    /**
     * specifies the fill color of the annotation.
     */
    fillColor: string;
    /**
     * specifies the stroke color of the annotation.
     */
    strokeColor: string;
    /**
     * specifies the author of the annotation.
     */
    author: string;
    /**
     * specified the thickness of the annotation.
     */
    thickness: number;
    /**
     * specifies the line head start style of the annotation.
     */
    lineHeadStartStyle: LineHeadStyle;
    /**
     * specifies the line head start style of the annotation.
     */
    lineHeadEndStyle: LineHeadStyle;
    /**
     * specifies the border dash array  of the annotation.
     */
    borderDashArray: number;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings: AnnotationSelectorSettingsModel;
    /**
     * specifies the minHeight of the annotation.
     */
    minHeight: number;
    /**
     * specifies the minWidth of the annotation.
     */
    minWidth: number;
    /**
     * specifies the minHeight of the annotation.
     */
    maxHeight: number;
    /**
     * specifies the maxWidth of the annotation.
     */
    maxWidth: number;
    /**
     * specifies the locked action of the annotation.
     */
    isLock: boolean;
    /**
     * specifies the custom data of the annotation.
     */
    customData: object;
    /**
     * specifies the leader length of the annotation.
     */
    leaderLength: number;
    /**
     * Defines the cursor type for distance annotation.
     */
    resizeCursorType: CursorType;
    /**
     * Gets or sets the allowed interactions for the locked distance annotations.
     * IsLock can be configured using distance settings.
     *
     * @default ['None']
     */
    allowedInteractions: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint: boolean;
}
/**
 * The `PerimeterSettings` module is used to provide the properties to perimeter calibrate annotation.
 */
export  class PerimeterSettings extends base.ChildProperty<PerimeterSettings> {
    /**
    * Get or set offset of the annotation.
    */
    offset: IPoint;
    /**
    * Get or set page number of the annotation.
    */
    pageNumber: number;
    /**
     * Get or set vertex points of the annotation.
     *
     * @default []
     */
    vertexPoints?: drawings.PointModel[];
    /**
     * specifies the opacity of the annotation.
     */
    opacity: number;
    /**
     * specifies the fill color of the annotation.
     */
    fillColor: string;
    /**
     * specifies the stroke color of the annotation.
     */
    strokeColor: string;
    /**
     * specifies the author of the annotation.
     */
    author: string;
    /**
     * specified the thickness of the annotation.
     */
    thickness: number;
    /**
     * specifies the line head start style of the annotation.
     */
    lineHeadStartStyle: LineHeadStyle;
    /**
     * specifies the line head start style of the annotation.
     */
    lineHeadEndStyle: LineHeadStyle;
    /**
     * specifies the border dash array  of the annotation.
     */
    borderDashArray: number;
    /**
     * specifies the minHeight of the annotation.
     */
    minHeight: number;
    /**
     * specifies the minWidth of the annotation.
     */
    minWidth: number;
    /**
     * specifies the minHeight of the annotation.
     */
    maxHeight: number;
    /**
     * specifies the maxWidth of the annotation.
     */
    maxWidth: number;
    /**
     * specifies the locked action of the annotation.
     */
    isLock: boolean;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings: AnnotationSelectorSettingsModel;
    /**
     * Gets or sets the allowed interactions for the locked perimeter annotations.
     * IsLock can be configured using perimeter settings.
     *
     * @default ['None']
     */
    allowedInteractions: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint: boolean;
}
/**
 * The `AreaSettings` module is used to provide the properties to area calibrate annotation.
 */
export  class AreaSettings extends base.ChildProperty<AreaSettings> {
    /**
    * Get or set offset of the annotation.
    */
    offset: IPoint;
    /**
    * Get or set page number of the annotation.
    */
    pageNumber: number;
    /**
     * Get or set vertex points of the annotation.
     *
     * @default []
     */
    vertexPoints?: drawings.PointModel[];
    /**
     * specifies the opacity of the annotation.
     */
    opacity: number;
    /**
     * specifies the fill color of the annotation.
     */
    fillColor: string;
    /**
     * specifies the stroke color of the annotation.
     */
    strokeColor: string;
    /**
     * specifies the author of the annotation.
     */
    author: string;
    /**
     * specified the thickness of the annotation.
     */
    thickness: number;
    /**
     * specifies the minHeight of the annotation.
     */
    minHeight: number;
    /**
     * specifies the minWidth of the annotation.
     */
    minWidth: number;
    /**
     * specifies the minHeight of the annotation.
     */
    maxHeight: number;
    /**
     * specifies the maxWidth of the annotation.
     */
    maxWidth: number;
    /**
     * specifies the locked action of the annotation.
     */
    isLock: boolean;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings: AnnotationSelectorSettingsModel;
    /**
     * Gets or sets the allowed interactions for the locked area annotations.
     * IsLock can be configured using area settings.
     *
     * @default ['None']
     */
    allowedInteractions: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint: boolean;
}
/**
 * The `RadiusSettings` module is used to provide the properties to radius calibrate annotation.
 */
export  class RadiusSettings extends base.ChildProperty<RadiusSettings> {
    /**
    * Get or set offset of the annotation.
    */
    offset: IPoint;
    /**
    * Get or set page number of the annotation.
    */
    pageNumber: number;
    /**
     * specifies the width of the annotation.
     */
    width: number;
    /**
     * specifies the height of the annotation.
     */
    height: number;
    /**
     * specifies the opacity of the annotation.
     */
    opacity: number;
    /**
     * specifies the fill color of the annotation.
     */
    fillColor: string;
    /**
     * specifies the stroke color of the annotation.
     */
    strokeColor: string;
    /**
     * specifies the author of the annotation.
     */
    author: string;
    /**
     * specified the thickness of the annotation.
     */
    thickness: number;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings: AnnotationSelectorSettingsModel;
    /**
     * specifies the minHeight of the annotation.
     */
    minHeight: number;
    /**
     * specifies the minWidth of the annotation.
     */
    minWidth: number;
    /**
     * specifies the minHeight of the annotation.
     */
    maxHeight: number;
    /**
     * specifies the maxWidth of the annotation.
     */
    maxWidth: number;
    /**
     * specifies the locked action of the annotation.
     */
    isLock: boolean;
    /**
     * specifies the custom data of the annotation.
     */
    customData: object;
    /**
     * Gets or sets the allowed interactions for the locked radius annotations.
     * IsLock can be configured using area settings.
     *
     * @default ['None']
     */
    allowedInteractions: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint: boolean;
}
/**
 * The `VolumeSettings` module is used to provide the properties to volume calibrate annotation.
 */
export  class VolumeSettings extends base.ChildProperty<VolumeSettings> {
    /**
    * Get or set offset of the annotation.
    */
    offset: IPoint;
    /**
    * Get or set page number of the annotation.
    */
    pageNumber: number;
    /**
     * Get or set vertex points of the annotation.
     *
     * @default []
     */
    vertexPoints?: drawings.PointModel[];
    /**
     * specifies the opacity of the annotation.
     */
    opacity: number;
    /**
     * specifies the fill color of the annotation.
     */
    fillColor: string;
    /**
     * specifies the stroke color of the annotation.
     */
    strokeColor: string;
    /**
     * specifies the author of the annotation.
     */
    author: string;
    /**
     * specified the thickness of the annotation.
     */
    thickness: number;
    /**
     * specifies the minHeight of the annotation.
     */
    minHeight: number;
    /**
     * specifies the minWidth of the annotation.
     */
    minWidth: number;
    /**
     * specifies the minHeight of the annotation.
     */
    maxHeight: number;
    /**
     * specifies the maxWidth of the annotation.
     */
    maxWidth: number;
    /**
     * specifies the locked action of the annotation.
     */
    isLock: boolean;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings: AnnotationSelectorSettingsModel;
    /**
     * Gets or sets the allowed interactions for the locked volume annotations.
     * IsLock can be configured using volume settings.
     *
     * @default ['None']
     */
    allowedInteractions: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint: boolean;
}
/**
 * The `Ink` module is used to provide the properties to Ink annotation.
 */
export  class InkAnnotationSettings extends base.ChildProperty<InkAnnotationSettings> {
    /**
    * Get or set offset of the annotation.
    */
    offset: IPoint;
    /**
    * Get or set page number of the annotation.
    */
    pageNumber: number;
    /**
     * specifies the width of the annotation.
     */
    width: number;
    /**
     * specifies the height of the annotation.
     */
    height: number;
    /**
      * Gets or sets the path of the ink annotation.
      */
    path: string;
    /**
     * Sets the opacity value for ink annotation.By default value is 1. It range varies from 0 to 1.
     */
    opacity: number;
    /**
     * Sets the stroke color for ink annotation.By default values is #FF0000.
     */
    strokeColor: string;
    /**
     * Sets the thickness for the ink annotation. By default value is 1. It range varies from 1 to 10.
     */
    thickness: number;
    /**
     * Define the default option to customize the selector for ink annotation.
     */
    annotationSelectorSettings: AnnotationSelectorSettingsModel;
    /**
     * If it is set as true, can't interact with annotation. Otherwise can interact the annotations. By default it is false.
     */
    isLock: boolean;
    /**
     * specifies the author of the annotation.
     */
    author: string;
    /**
     * Gets or sets the allowed interactions for the locked ink annotations.
     * IsLock can be configured using ink settings.
     *
     * @default ['None']
     */
    allowedInteractions: AllowedInteraction[];
    /**
     * specifies the custom data of the annotation
     */
    customData: object;
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint: boolean;
}
/**
 * The `stickyNotesSettings` module is used to provide the properties to sticky notes annotation.
 */
export  class StickyNotesSettings extends base.ChildProperty<StickyNotesSettings> {
    /**
    * Get or set offset of the annotation.
    */
    offset: IPoint;
    /**
    * Get or set page number of the annotation.
    */
    pageNumber: number;
    /**
     * specifies the author of the annotation.
     */
    author: string;
    /**
     * specifies the opacity of the annotation.
     */
    opacity: number;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings: AnnotationSelectorSettingsModel;
    /**
     * specifies the custom data of the annotation.
     */
    customData: object;
    /**
     * specifies the lock action of the annotation.
     */
    isLock: boolean;
    /**
     * Gets or sets the allowed interactions for the locked sticky notes annotations.
     * IsLock can be configured using sticky notes settings.
     *
     * @default ['None']
     */
    allowedInteractions: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint: boolean;
}
/**
 * The `MeasurementSettings` module is used to provide the settings to measurement annotations.
 */
export  class MeasurementSettings extends base.ChildProperty<MeasurementSettings> {
    /**
     * specifies the scale ratio of the annotation.
     */
    scaleRatio: number;
    /**
     * specifies the unit of the annotation.
     */
    conversionUnit: CalibrationUnit;
    /**
     * specifies the unit of the annotation.
     */
    displayUnit: CalibrationUnit;
    /**
     * specifies the depth of the volume annotation.
     */
    depth: number;
}
/**
 * The `FreeTextSettings` module is used to provide the properties to free text annotation.
 */
export  class FreeTextSettings extends base.ChildProperty<FreeTextSettings> {
    /**
    * Get or set offset of the annotation.
    */
    offset: IPoint;
    /**
    * Get or set page number of the annotation.
    */
    pageNumber: number;
    /**
     * specifies the opacity of the annotation.
     */
    opacity: number;
    /**
     * specifies the border color of the annotation.
     */
    borderColor: string;
    /**
     * specifies the border with of the annotation.
     */
    borderWidth: number;
    /**
     * specifies the border style of the annotation.
     */
    borderStyle: string;
    /**
     * specifies the author of the annotation.
     */
    author: string;
    /**
     * specifies the background fill color of the annotation.
     */
    fillColor: string;
    /**
     * specifies the text box font size of the annotation.
     */
    fontSize: number;
    /**
     * specifies the width of the annotation.
     */
    width: number;
    /**
     * specifies the height of the annotation.
     */
    height: number;
    /**
     * specifies the text box font color of the annotation.
     */
    fontColor: string;
    /**
     * specifies the text box font family of the annotation.
     */
    fontFamily: string;
    /**
     * setting the default text for annotation.
     */
    defaultText: string;
    /**
     * applying the font styles for the text.
     */
    fontStyle: FontStyle;
    /**
     * Aligning the text in the annotation.
     */
    textAlignment: TextAlignment;
    /**
     * specifies the allow text only action of the free text annotation.
     */
    allowEditTextOnly: boolean;
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings: AnnotationSelectorSettingsModel;
    /**
     * specifies the minHeight of the annotation.
     */
    minHeight: number;
    /**
     * specifies the minWidth of the annotation.
     */
    minWidth: number;
    /**
     * specifies the minHeight of the annotation.
     */
    maxHeight: number;
    /**
     * specifies the maxWidth of the annotation.
     */
    maxWidth: number;
    /**
     * specifies the locked action of the annotation.
     */
    isLock: boolean;
    /**
     * specifies the custom data of the annotation.
     */
    customData: object;
    /**
     * Gets or sets the allowed interactions for the locked free text annotations.
     * IsLock can be configured using free text settings.
     *
     * @default ['None']
     */
    allowedInteractions: AllowedInteraction[];
    /**
     * specifies whether the individual annotations are included or not in print actions.
     */
    isPrint: boolean;
    /**
     * Allow to edit the FreeText annotation. FALSE, by default.
     */
    isReadonly: boolean;
    /**
     * Enable or disable auto fit mode for FreeText annotation in the Pdfviewer. FALSE by default.
     */
    enableAutoFit: boolean;
}
/**
 * The `AnnotationSelectorSettings` module is used to provide the properties to annotation selectors.
 */
export  class AnnotationSelectorSettings extends base.ChildProperty<AnnotationSelectorSettings> {
    /**
     * Specifies the selection border color.
     */
    selectionBorderColor: string;
    /**
     * Specifies the border color of the resizer.
     *
     * @ignore
     */
    resizerBorderColor: string;
    /**
     * Specifies the fill color of the resizer.
     *
     * @ignore
     */
    resizerFillColor: string;
    /**
     * Specifies the size of the resizer.
     *
     * @ignore
     */
    resizerSize: number;
    /**
     * Specifies the thickness of the border of selection.
     */
    selectionBorderThickness: number;
    /**
     * Specifies the shape of the resizer.
     */
    resizerShape: AnnotationResizerShape;
    /**
     * Specifies the border dash array of the selection.
     */
    selectorLineDashArray: number[];
    /**
     * Specifies the location of the resizer.
     */
    resizerLocation: AnnotationResizerLocation;
    /**
     * specifies the cursor type of resizer
     */
    resizerCursorType: CursorType;
}
/**
 * The `TextSearchColorSettings` module is used to set the settings for the color of the text search highlight.
 */
export  class TextSearchColorSettings extends base.ChildProperty<TextSearchColorSettings> {
    /**
     * Gets or Sets the color of the current occurrence of the text searched string.
     */
    searchHighlightColor: string;
    /**
     * Gets or Sets the color of the other occurrence of the text searched string.
     */
    searchColor: string;
}
/**
 * The `HandWrittenSignatureSettings` module is used to provide the properties to handwritten signature.
 */
export  class HandWrittenSignatureSettings extends base.ChildProperty<HandWrittenSignatureSettings> {
    /**
     * specifies the opacity of the annotation.
     */
    opacity: number;
    /**
     * specifies the stroke color of the annotation.
     */
    strokeColor: string;
    /**
     * specified the thickness of the annotation.
     */
    thickness: number;
    /**
     * specified the width of the annotation.
     */
    width: number;
    /**
     * specified the height of the annotation.
     */
    height: number;
    /**
     * Gets or sets the save signature limit of the signature. By default value is 1 and maximum limit is 5.
     */
    saveSignatureLimit: number;
    /**
     * Gets or sets the save initial limit of the initial. By default value is 1 and maximum limit is 5.
     */
    saveInitialLimit: number;
    /**
     * Provide option to define the required signature items to be displayed in signature menu.
     */
    signatureItem: SignatureItem[];
    /**
     * Options to set the type signature font name with respective index and maximum font name limit is 4 so key value should be 0 to 3.
     */
    typeSignatureFonts: {
        [key: number]: string;
    };
    /**
     * specifies the annotation selector settings of the annotation.
     */
    annotationSelectorSettings: AnnotationSelectorSettingsModel;
    /**
     * Get or set the Signature DialogSettings for Handwritten signature.
     */
    signatureDialogSettings: SignatureDialogSettingsModel;
    /**
     * Get or set the initialDialogSettings for Handwritten initial.
     */
    initialDialogSettings: SignatureDialogSettingsModel;
}
/**
 * The `AnnotationSettings` module is used to provide the properties to annotations.
 */
export  class AnnotationSettings extends base.ChildProperty<AnnotationSettings> {
    /**
     * specifies the author of the annotation.
     */
    author: string;
    /**
     * specifies the minHeight of the annotation.
     */
    minHeight: number;
    /**
     * specifies the minWidth of the annotation.
     */
    minWidth: number;
    /**
     * specifies the minHeight of the annotation.
     */
    maxHeight: number;
    /**
     * specifies the maxWidth of the annotation.
     */
    maxWidth: number;
    /**
     * specifies the locked action of the annotation.
     */
    isLock: boolean;
    /**
     * specifies whether the annotations are included or not in print actions.
     */
    skipPrint: boolean;
    /**
     * specifies whether the annotations are included or not in download actions.
     */
    skipDownload: boolean;
    /**
     * specifies the custom data of the annotation.
     */
    customData: object;
    /**
     * Gets or sets the allowed interactions for the locked annotations.
     * IsLock can be configured using annotation settings.
     *
     * @default ['None']
     */
    allowedInteractions: AllowedInteraction[];
}
/**
 * The `DocumentTextCollectionSettings` module is used to provide the properties to DocumentTextCollection.
 */
export  class DocumentTextCollectionSettings extends base.ChildProperty<DocumentTextCollectionSettings> {
    /**
     * specifies the text data of the document.
     */
    textData: TextDataSettingsModel[];
    /**
     * specifies the page text of the document.
     */
    pageText: string;
    /**
     * specifies the page size of the document.
     */
    pageSize: number;
}
/**
 * The `TextDataSettings` module is used to provide the properties of text data.
 */
export  class TextDataSettings extends base.ChildProperty<TextDataSettings> {
    /**
     * specifies the bounds of the rectangle.
     */
    bounds: RectangleBoundsModel;
    /**
     * specifies the text of the document.
     */
    text: string;
}
/**
 * The `RectangleBounds` module is used to provide the properties of rectangle bounds.
 */
export  class RectangleBounds extends base.ChildProperty<RectangleBounds> {
    /**
     * specifies the size of the rectangle.
     */
    size: number;
    /**
     * specifies the x co-ordinate of the upper-left corner of the rectangle.
     */
    x: number;
    /**
     * specifies the y co-ordinate of the upper-left corner of the rectangle.
     */
    y: number;
    /**
     * specifies the width of the rectangle.
     */
    width: number;
    /**
     * specifies the height of the rectangle.
     */
    height: number;
    /**
     * specifies the left value of the rectangle.
     */
    left: number;
    /**
     * specifies the top value of the rectangle.
     */
    top: number;
    /**
     * specifies the right of the rectangle.
     */
    right: number;
    /**
     * specifies the bottom value of the rectangle.
     */
    bottom: number;
    /**
     * Returns true if height and width of the rectangle is zero.
     *
     * @default 'false'
     */
    isEmpty: boolean;
}
/**
 * The `TileRenderingSettings` module is used to provide the tile rendering settings of the PDF viewer.
 */
export  class TileRenderingSettings extends base.ChildProperty<TileRenderingSettings> {
    /**
     * Enable or disables tile rendering mode in the PDF Viewer.
     */
    enableTileRendering: boolean;
    /**
     * specifies the tileX count of the render Page.
     */
    x: number;
    /**
     * specifies the tileY count of the render Page.
     */
    y: number;
}
/**
 * The `ScrollSettings` module is used to provide the settings of the scroll of the PDF viewer.
 */
export  class ScrollSettings extends base.ChildProperty<ScrollSettings> {
    /**
     * Increase or decrease the delay time.
     */
    delayPageRequestTimeOnScroll: number;
}
/**
 * The `FormField` is used to store the form fields of PDF document.
 */
export  class FormField extends base.ChildProperty<FormField> {
    /**
     * Gets the name of the form field.
     */
    name: string;
    /**
     * Specifies whether the check box is in checked state or not.
     */
    isChecked: boolean;
    /**
     * Specifies whether the radio button is in checked state or not.
     */
    isSelected: boolean;
    /**
     * Gets the id of the form field.
     */
    id: string;
    /**
     * Gets or sets the value of the form field.
     */
    value: string;
    /**
     * Gets the type of the form field.
     */
    type: FormFieldType;
    /**
     * If it is set as true, can't edit the form field in the PDF document. By default it is false.
     */
    isReadOnly: boolean;
    /**
     * specifies the type of the signature.
     */
    signatureType: SignatureType[];
    /**
     * specifies the fontName of the signature.
     */
    fontName: string;
    /**
     * Get or set the form field bounds.
     */
    bounds: IFormFieldBound;
    /**
     * Get or set the font family of the form field.
     */
    fontFamily: string;
    /**
     * Get or set the font size of the form field.
     */
    fontSize: number;
    /**
     * Get or set the font Style of form field.
     */
    fontStyle: FontStyle;
    /**
     * Get or set the font color of the form field in hexadecimal string format.
     */
    color: string;
    /**
     * Get or set the background color of the form field in hexadecimal string format.
     */
    backgroundColor: string;
    /**
     * Get or set the text alignment of the form field.
     */
    alignment: TextAlignment;
    /**
     * Gets or set the visibility of the form field.
     */
    visibility: Visibility;
    /**
     * Get or set the maximum character length.
     */
    maxLength: number;
    /**
     * Gets or set the is Required of form field.
     */
    isRequired: boolean;
    /**
     * Get or set the boolean value to print the form field. TRUE by default.
     */
    isPrint: boolean;
    /**
     * Get or set the text to be displayed as tooltip. By default it is empty.
     */
    tooltip: string;
    /**
     * Get or set the form field items. This can be Dropdown items or Listbox items.
     */
    options: ItemModel[];
    /**
     * Specifies the properties of the signature indicator in the signature field.
     */
    signatureIndicatorSettings: SignatureIndicatorSettingsModel;
    /**
     * Get or set the thickness of the form field.
     */
    thickness: number;
    /**
     * Get or set the border color of the form field.
     */
    borderColor: string;
    /**
     * Allows multiline input in the text field. FALSE, by default.
     */
    isMultiline: boolean;
    /**
     * Get the pageIndex of the form field. Default value is -1.
     */
    pageIndex: number;
}
/**
 * The `ContextMenuSettings` is used to show the context menu of PDF document.
 */
export  class ContextMenuSettings extends base.ChildProperty<ContextMenuSettings> {
    /**
     * Defines the context menu action.
     *
     * @default RightClick
     */
    contextMenuAction: ContextMenuAction;
    /**
     * Defines the context menu items should be visible in the PDF Viewer.
     *
     *  @default []
     */
    contextMenuItems: ContextMenuItem[];
}
/**
 * The `TextFieldSettings` is used to to show and customize the appearance of text box HTML element.
 */
export  class TextFieldSettings extends base.ChildProperty<TextFieldSettings> {
    /**
     * Get or set the form field bounds.
     */
    bounds: IFormFieldBound;
    /**
     * Get or set the name of the form field element.
     */
    name: string;
    /**
     * Get or set the value of the form field.
     */
    value: string;
    /**
     * Get or set the font family of the textbox field.
     */
    fontFamily: string;
    /**
     * Get or set the font size of the textbox field.
     */
    fontSize: number;
    /**
     * specifies the page number of the form field.
     */
    pageNumber: number;
    /**
     * Get or set the font Style of textbox field.
     */
    fontStyle: FontStyle;
    /**
     * Get or set the font color of the textbox in hexadecimal string format.
     */
    color: string;
    /**
     * Get or set the background color of the textbox in hexadecimal string format.
     */
    backgroundColor: string;
    /**
     * Get or set the alignment of the text.
     */
    alignment: TextAlignment;
    /**
     * Specifies whether the textbox field is in read-only or read-write mode. FALSE by default.
     */
    isReadOnly: boolean;
    /**
     * Gets or set the visibility of the form field.
     */
    visibility: Visibility;
    /**
     * Get or set the maximum character length.
     */
    maxLength: number;
    /**
     * If it is set as true, consider as mandatory field in the PDF document. By default it is false.
     */
    isRequired: boolean;
    /**
     * Get or set the boolean value to print the textbox field. TRUE by default.
     */
    isPrint: boolean;
    /**
     * Get or set the text to be displayed as tooltip. By default it is empty.
     */
    tooltip: string;
    /**
     * Get or set the thickness of the textbox field.
     */
    thickness: number;
    /**
     * Get or set the border color of the textbox field.
     */
    borderColor: string;
    /**
     * Allows multiline input in the text field. FALSE, by default.
     */
    isMultiline: boolean;
}
/**
 * The `PasswordFieldSettings` is used to to show and customize the appearance of password input HTML element.
 */
export  class PasswordFieldSettings extends base.ChildProperty<PasswordFieldSettings> {
    /**
     * Get or set the form field bounds.
     */
    bounds: IFormFieldBound;
    /**
     * Get or set the name of the form field element.
     */
    name: string;
    /**
     * Get or set the value of the form field.
     */
    value: string;
    /**
     * specifies the page number of the form field.
     */
    pageNumber: number;
    /**
     * Get or set the font family of the password field.
     */
    fontFamily: string;
    /**
     * Get or set the font size of the password field.
     */
    fontSize: number;
    /**
     * Get or set the font Style of password field.
     */
    fontStyle: FontStyle;
    /**
     * Get or set the font color of the password field in hexadecimal string format.
     */
    color: string;
    /**
     * Get or set the background color of the password field in hexadecimal string format.
     */
    backgroundColor: string;
    /**
     * Get or set the alignment of the text.
     */
    alignment: TextAlignment;
    /**
     * Specifies whether the password field is in read-only or read-write mode. FALSE by default.
     */
    isReadOnly: boolean;
    /**
     * Gets or set the visibility of the form field.
     */
    visibility: Visibility;
    /**
     * Get or set the maximum character length.
     */
    maxLength: number;
    /**
     * If it is set as true, consider as mandatory field in the PDF document. By default it is false.
     */
    isRequired: boolean;
    /**
     * Get or set the boolean value to print the password field. TRUE by default.
     */
    isPrint: boolean;
    /**
     * Get or set the text to be displayed as tooltip. By default it is empty.
     */
    tooltip: string;
    /**
     * Get or set the thickness of the password field.
     */
    thickness: number;
    /**
     * Get or set the border color of the password field.
     */
    borderColor: string;
}
/**
 * The `CheckBoxFieldSettings` is used to to show and customize the appearance of check box element.
 */
export  class CheckBoxFieldSettings extends base.ChildProperty<CheckBoxFieldSettings> {
    /**
     * Get or set the form field bounds.
     */
    bounds: IFormFieldBound;
    /**
     * Get or set the name of the check box.
     */
    name: string;
    /**
     * Specifies whether the check box is in checked state or not.
     */
    isChecked: boolean;
    /**
     * Get or set the background color of the check box in hexadecimal string format.
     */
    backgroundColor: string;
    /**
     * Specifies whether the check box field is in read-only or read-write mode. FALSE by default.
     */
    isReadOnly: boolean;
    /**
     * Gets or set the visibility of the form field.
     */
    visibility: Visibility;
    /**
     * Get or set the boolean value to print the check box field. TRUE by default.
     */
    isPrint: boolean;
    /**
     * specifies the page number of the form field.
     */
    pageNumber: number;
    /**
     * Get or set the text to be displayed as tooltip. By default it is empty.
     */
    tooltip: string;
    /**
     * If it is set as true, consider as mandatory field in the PDF document. By default it is false.
     */
    isRequired: boolean;
    /**
     * Get or set the thickness of the check box field.
     */
    thickness: number;
    /**
     * Get or set the border color of the check box field.
     */
    borderColor: string;
}
/**
 * The `RadioButtonFieldSettings` is used to to show and customize the appearance of radio button element.
 */
export  class RadioButtonFieldSettings extends base.ChildProperty<RadioButtonFieldSettings> {
    /**
     * Get or set the form field bounds.
     */
    bounds: IFormFieldBound;
    /**
     * Get or set the name of the form field element.
     */
    name: string;
    /**
     * Specifies whether the radio button is in checked state or not.
     */
    isSelected: boolean;
    /**
     * Get or set the background color of the radio button in hexadecimal string format.
     */
    backgroundColor: string;
    /**
     * Specifies whether the radio button field is in read-only or read-write mode. FALSE by default.
     */
    isReadOnly: boolean;
    /**
     * If it is set as true, consider as mandatory field in the PDF document. By default it is false.
     */
    isRequired: boolean;
    /**
     * specifies the page number of the form field.
     */
    pageNumber: number;
    /**
     * Gets or set the visibility of the form field.
     */
    visibility: Visibility;
    /**
     * Get or set the boolean value to print the radio button field. TRUE by default.
     */
    isPrint: boolean;
    /**
     * Get or set the text to be displayed as tooltip. By default it is empty.
     */
    tooltip: string;
    /**
     * Get or set the thickness of the radio button field.
     */
    thickness: number;
    /**
     * Get or set the border color of the radio button field.
     */
    borderColor: string;
}
/**
 * The `DropdownFieldSettings` is used to to show and customize the appearance of drop down element.
 */
export  class DropdownFieldSettings extends base.ChildProperty<DropdownFieldSettings> {
    /**
     * Get or set the form field bounds.
     */
    bounds: IFormFieldBound;
    /**
     * Get or set the name of the dropdown.
     */
    name: string;
    /**
     * Get or set the value of the form field.
     */
    value: string;
    /**
     * Get or set the font family of the dropdown field.
     */
    fontFamily: string;
    /**
     * Get or set the font size of the dropdown field.
     */
    fontSize: number;
    /**
     * specifies the page number of the form field.
     */
    pageNumber: number;
    /**
     * Get or set the font style of dropdown field.
     */
    fontStyle: FontStyle;
    /**
     * Get or set the font color of the dropdown in hexadecimal string format..
     */
    color: string;
    /**
     * Get or set the background color of the dropdown in hexadecimal string format.
     */
    backgroundColor: string;
    /**
     * Get or set the alignment of the text.
     */
    alignment: TextAlignment;
    /**
     * Specifies whether the dropdown field is in read-only or read-write mode. FALSE by default.
     */
    isReadOnly: boolean;
    /**
     * Gets or set the visibility of the form field.
     */
    visibility: Visibility;
    /**
     * If it is set as true, consider as mandatory field in the PDF document. By default it is false.
     */
    isRequired: boolean;
    /**
     * Get or set the boolean value to print the dropdown field. TRUE by default.
     */
    isPrint: boolean;
    /**
     * Get or set the text to be displayed as tooltip. By default it is empty.
     */
    tooltip: string;
    /**
     * Get or set the dropdown items.
     */
    options: ItemModel[];
    /**
     * Get or set the thickness of the drop down field.
     */
    thickness: number;
    /**
     * Get or set the border color of the drop down field.
     */
    borderColor: string;
}
/**
 * The `ListBoxFieldSettings` is used to to show and customize the appearance of list box element.
 */
export  class ListBoxFieldSettings extends base.ChildProperty<ListBoxFieldSettings> {
    /**
     * Get or set the form field bounds.
     */
    bounds: IFormFieldBound;
    /**
     * Get or set the name of the form field element.
     */
    name: string;
    /**
     * Get or set the value of the form field.
     */
    value: string;
    /**
     * Get or set the font family of the listbox field.
     */
    fontFamily: string;
    /**
     * Get or set the font size of the listbox field.
     */
    fontSize: number;
    /**
     * specifies the page number of the form field.
     */
    pageNumber: number;
    /**
     * Get or set the font Style of listbox field.
     */
    fontStyle: FontStyle;
    /**
     * Get or set the font color of the listbox in hexadecimal string format.
     */
    color: string;
    /**
     * Get or set the background color of the listbox in hexadecimal string format.
     */
    backgroundColor: string;
    /**
     * Get or set the alignment of the text.
     */
    alignment: TextAlignment;
    /**
     * Specifies whether the listbox field is in read-only or read-write mode. FALSE by default.
     */
    isReadOnly: boolean;
    /**
     * Gets or set the visibility of the form field.
     */
    visibility: Visibility;
    /**
     * If it is set as true, consider as mandatory field in the PDF document. By default it is false.
     */
    isRequired: boolean;
    /**
     * Get or set the boolean value to print the listbox field. TRUE by default.
     */
    isPrint: boolean;
    /**
     * Get or set the text to be displayed as tool tip. By default it is empty.
     */
    tooltip: string;
    /**
     * Get or set the listbox items.
     */
    options: ItemModel[];
    /**
     * Get or set the thickness of the list box field.
     */
    thickness: number;
    /**
     * Get or set the border color of the list box field.
     */
    borderColor: string;
}
export  class Item extends base.ChildProperty<Item> {
    /**
     * Get or set the name.
     */
    itemName: string;
    /**
     * Get or set the value.
     */
    itemValue: string;
}
/**
 * Represents the PDF viewer component.
 * ```html
 * <div id="pdfViewer"></div>
 * <script>
 *  var pdfViewerObj = new PdfViewer();
 *  pdfViewerObj.appendTo("#pdfViewer");
 * </script>
 * ```
 */
export  class PdfViewer extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    /**
     * Defines the service url of the PdfViewer control.
     */
    serviceUrl: string;
    /**
     * gets the page count of the document loaded in the PdfViewer control.
     *
     * @default 0
     */
    pageCount: number;
    /**
     * Checks whether the PDF document is edited.
     *
     * @asptype bool
     * @blazorType bool
     */
    isDocumentEdited: boolean;
    /**
     * Returns the current page number of the document displayed in the PdfViewer control.
     *
     * @default 0
     */
    currentPageNumber: number;
    /**
     * Sets the PDF document path for initial loading.
     */
    documentPath: string;
    /**
     * Returns the current zoom percentage of the PdfViewer control.
     *
     * @asptype int
     * @blazorType int
     */
    readonly zoomPercentage: number;
    /**
     * Get the Loaded document annotation Collections in the PdfViewer control.
     */
    annotationCollection: any[];
    /**
     * Get the Loaded document formField Collections in the PdfViewer control.
     *
     * @private
     */
    formFieldCollection: any[];
    /**
     * Get the Loaded document signature Collections in the PdfViewer control.
     */
    signatureCollection: any[];
    /**
     * Gets or sets the document name loaded in the PdfViewer control.
     */
    fileName: string;
    /**
     * Gets or sets the export annotations JSON file name in the PdfViewer control.
     */
    exportAnnotationFileName: string;
    /**
     * Gets or sets the download file name in the PdfViewer control.
     */
    downloadFileName: string;
    /**
     * Defines the scrollable height of the PdfViewer control.
     *
     * @default 'auto'
     */
    height: string | number;
    /**
     * Defines the scrollable width of the PdfViewer control.
     *
     * @default 'auto'
     */
    width: string | number;
    /**
     * Enable or disables the toolbar of PdfViewer.
     *
     * @default true
     */
    enableToolbar: boolean;
    /**
     * Specifies the retry count for the failed requests.
     *
     * @default 1
     */
    retryCount: number;
    /**
     * If it is set as false then error message box is not displayed in PDF viewer control.
     *
     * @default true
     */
    showNotificationDialog: boolean;
    /**
     * Enable or disables the Navigation toolbar of PdfViewer.
     *
     * @default true
     */
    enableNavigationToolbar: boolean;
    /**
     * Enable or disables the Comment Panel of PdfViewer.
     *
     * @default true
     */
    enableCommentPanel: boolean;
    /**
     * If it set as true, then the command panel show at initial document loading in the PDF viewer
     *
     * @default false
     */
    isCommandPanelOpen: boolean;
    /**
     * Enable or disable the text markup resizer to modify the bounds in UI.
     *
     * @default false
     */
    enableTextMarkupResizer: boolean;
    /**
     * Enable or disable the multi line text markup annotations in overlapping collections.
     *
     * @default false
     */
    enableMultiLineOverlap: boolean;
    /**
     * Checks if the freeText value is valid or not. FALSE by default
     *
     * @default false
     */
    isValidFreeText: boolean;
    /**
     * Opens the annotation toolbar when the PDF document is loaded in the PDF Viewer control initially.
     *
     * @deprecated This property renamed into "isAnnotationToolbarVisible"
     * @default false
     */
    isAnnotationToolbarOpen: boolean;
    /**
     * Opens the annotation toolbar when the PDF document is loaded in the PDF Viewer control initially
     * and get the annotation Toolbar Visible status.
     *
     * @default false
     */
    isAnnotationToolbarVisible: boolean;
    /**
     * Opens the annotation toolbar when the PDF document is loaded in the PDF Viewer control initially
     * and get the annotation Toolbar Visible status.
     *
     * @private
     * @default false
     */
    isFormDesignerToolbarVisible: boolean;
    /**
     * Enables or disables the multi-page text markup annotation selection in UI.
     *
     * @default false
     */
    enableMultiPageAnnotation: boolean;
    /**
     * Enable or disables the download option of PdfViewer.
     *
     * @default true
     */
    enableDownload: boolean;
    /**
     * Enable or disables the print option of PdfViewer.
     *
     * @default true
     */
    enablePrint: boolean;
    /**
     * If it is set as FALSE, will suppress the page rotation of Landscape document on print action. By default it is TRUE.
     *
     * @default true
     */
    enablePrintRotation: boolean;
    /**
     * Enables or disables the thumbnail view in the PDF viewer
     *
     * @default true
     */
    enableThumbnail: boolean;
    /**
     * If it set as true, then the thumbnail view show at initial document loading in the PDF viewer
     *
     * @default false
     */
    isThumbnailViewOpen: boolean;
    /**
     * Enables or disable saving Hand Written signature as editable in the PDF.
     *
     * @default false
     */
    isSignatureEditable: boolean;
    /**
     * Enables or disables the bookmark view in the PDF viewer
     *
     * @default true
     */
    enableBookmark: boolean;
    /**
     * Enables or disables the bookmark styles in the PDF viewer
     *
     * @default false
     */
    enableBookmarkStyles: boolean;
    /**
     * Enables or disables the hyperlinks in PDF document.
     *
     * @default true
     */
    enableHyperlink: boolean;
    /**
     * Enables or disables the handwritten signature in PDF document.
     *
     * @default true
     */
    enableHandwrittenSignature: boolean;
    /**
     * If it is set as false, then the ink annotation support in the PDF Viewer will be disabled. By default it is true.
     *
     * @default true
     */
    enableInkAnnotation: boolean;
    /**
     * restrict zoom request.
     *
     * @default false
     */
    restrictZoomRequest: boolean;
    /**
     * Specifies the open state of the hyperlink in the PDF document.
     *
     * @default CurrentTab
     */
    hyperlinkOpenState: LinkTarget;
    /**
     * Specifies the state of the ContextMenu in the PDF document.
     *
     * @default RightClick
     */
    contextMenuOption: ContextMenuAction;
    /**
     * enable or disable context menu Items
     *
     * @default []
     */
    disableContextMenuItems: ContextMenuItem[];
    /**
     * Gets the form fields present in the loaded PDF document. It used to get the form fields id, name, type and it's values.
     */
    formFieldCollections: FormFieldModel[];
    /**
     * Enable or disables the Navigation module of PdfViewer.
     *
     * @default true
     */
    enableNavigation: boolean;
    /**
     * Enable or disables the auto complete option in form documents.
     *
     * @default true
     */
    enableAutoComplete: boolean;
    /**
     * Enable or disables the Magnification module of PdfViewer.
     *
     * @default true
     */
    enableMagnification: boolean;
    /**
     * Enable or disables the Label for shapeAnnotations of PdfViewer.
     *
     * @default false
     */
    enableShapeLabel: boolean;
    /**
     * Enable or disables the customization of measure values in PdfViewer.
     *
     * @default true
     */
    enableImportAnnotationMeasurement: boolean;
    /**
     * Enable or disables the Pinch zoom of PdfViewer.
     *
     * @default true
     */
    enablePinchZoom: boolean;
    /**
     * Enable or disables the text selection in the PdfViewer.
     *
     * @default true
     */
    enableTextSelection: boolean;
    /**
     * Enable or disables the text search in the PdfViewer.
     *
     * @default true
     */
    enableTextSearch: boolean;
    /**
     * Enable or disable the annotation in the Pdfviewer.
     *
     * @default true
     */
    enableAnnotation: boolean;
    /**
     * Enable or disable the form fields in the Pdfviewer.
     *
     * @default true
     */
    enableFormFields: boolean;
    /**
     * Get or set a boolean value to enable or disable the form designer. TRUE by default.
     *
     * @default true
     */
    enableFormDesigner: boolean;
    /**
     * Enable or disable the interaction of form fields in the Pdfviewer.
     *
     * @default false
     */
    designerMode: boolean;
    /**
     * Enable or disable the form fields validation.
     *
     * @default false
     */
    enableFormFieldsValidation: boolean;
    /**
     * Enable if the PDF document contains form fields.
     *
     * @default false
     */
    isFormFieldDocument: boolean;
    /**
     * Gets or sets a boolean value to show or hide desktop toolbar in mobile devices. FALSE by default.
     *
     * @default false
     */
    enableDesktopMode: boolean;
    /**
     * Gets or sets a boolean value to show or hide the save signature check box option in the signature dialog.
     * FALSE by default
     *
     * @default false
     * @deprecated
     */
    hideSaveSignature: boolean;
    /**
     * Enable or disable the free text annotation in the Pdfviewer.
     *
     * @default true
     */
    enableFreeText: boolean;
    /**
     * Enable or disables the text markup annotation in the PdfViewer.
     *
     * @default true
     */
    enableTextMarkupAnnotation: boolean;
    /**
     * Enable or disables the shape annotation in the PdfViewer.
     *
     * @default true
     */
    enableShapeAnnotation: boolean;
    /**
     * Enable or disables the calibrate annotation in the PdfViewer.
     *
     * @default true
     */
    enableMeasureAnnotation: boolean;
    /**
     * Enables and disables the stamp annotations when the PDF viewer control is loaded initially.
     *
     * @default true
     */
    enableStampAnnotations: boolean;
    /**
     * Enables and disables the stickyNotes annotations when the PDF viewer control is loaded initially.
     *
     * @default true
     */
    enableStickyNotesAnnotation: boolean;
    /**
     * Opens the annotation toolbar when the PDF document is loaded in the PDF Viewer control initially.
     *
     * @default true
     */
    enableAnnotationToolbar: boolean;
    /**
     * Opens the form designer toolbar when the PDF document is loaded in the PDF Viewer control initially.
     *
     * @default true
     */
    enableFormDesignerToolbar: boolean;
    /**
     * Gets or sets a boolean value to show or hide the bookmark panel while loading a document. FALSE by default.
     *
     * @default false
     */
    isBookmarkPanelOpen: boolean;
    /**
     * Gets or sets a boolean value if initial field selected in form designer toolbar.
     *
     * @private
     * @default false
     */
    isInitialFieldToolbarSelection: boolean;
    /**
     * Sets the interaction mode of the PdfViewer
     *
     * @default TextSelection
     */
    interactionMode: InteractionMode;
    /**
     * Specifies the rendering mode in the PDF Viewer.
     *
     * @default Default
     */
    zoomMode: ZoomMode;
    /**
     * Specifies the signature mode in the PDF Viewer.
     *
     * @default Default
     */
    signatureFitMode: SignatureFitMode;
    /**
     * Specifies the print mode in the PDF Viewer.
     *
     * @default Default
     */
    printMode: PrintMode;
    /**
     * Sets the initial loading zoom value from 10 to 400 in PdfViewer Control.
     *
     * @default 0
     */
    zoomValue: number;
    /**
     *  Enable or disable the zoom optimization mode in PDF Viewer.
     *
     * @default true
     */
    enableZoomOptimization: boolean;
    /**
     * Enable or disables the get the document text collections.
     *
     * @default false
     */
    isExtractText: boolean;
    /**
     * Maintain the selection of text markup annotation.
     *
     * @default false
     */
    isMaintainSelection: boolean;
    /**
     * Customize desired date and time format
     */
    dateTimeFormat: string;
    /**
     * Defines the settings of the PdfViewer toolbar.
     */
    toolbarSettings: ToolbarSettingsModel;
    /**
     * Defines the ajax Request settings of the PdfViewer.
     */
    ajaxRequestSettings: AjaxRequestSettingsModel;
    /**
     * Defines the stamp items of the PdfViewer.
     */
    customStamp: CustomStampModel[];
    /**
     * Defines the settings of the PdfViewer service.
     */
    serverActionSettings: ServerActionSettingsModel;
    /**
     * Get or set the signature field settings.
     */
    signatureFieldSettings: SignatureFieldSettingsModel;
    /**
     * Get or set the initial field settings.
     */
    initialFieldSettings: InitialFieldSettingsModel;
    /**
     * Defines the settings of highlight annotation.
     */
    highlightSettings: HighlightSettingsModel;
    /**
     * Defines the settings of strikethrough annotation.
     */
    strikethroughSettings: StrikethroughSettingsModel;
    /**
     * Defines the settings of underline annotation.
     */
    underlineSettings: UnderlineSettingsModel;
    /**
     * Defines the settings of line annotation.
     */
    lineSettings: LineSettingsModel;
    /**
     * Defines the settings of arrow annotation.
     */
    arrowSettings: ArrowSettingsModel;
    /**
     * Defines the settings of rectangle annotation.
     */
    rectangleSettings: RectangleSettingsModel;
    /**
     * Defines the settings of shape label.
     */
    shapeLabelSettings: ShapeLabelSettingsModel;
    /**
     * Defines the settings of circle annotation.
     */
    circleSettings: CircleSettingsModel;
    /**
     * Defines the settings of polygon annotation.
     */
    polygonSettings: PolygonSettingsModel;
    /**
     * Defines the settings of stamp annotation.
     */
    stampSettings: StampSettingsModel;
    /**
     * Defines the settings of customStamp annotation.
     */
    customStampSettings: CustomStampSettingsModel;
    /**
     * Defines the settings of distance annotation.
     */
    distanceSettings: DistanceSettingsModel;
    /**
     * Defines the settings of perimeter annotation.
     */
    perimeterSettings: PerimeterSettingsModel;
    /**
     * Defines the settings of area annotation.
     */
    areaSettings: AreaSettingsModel;
    /**
     * Defines the settings of radius annotation.
     */
    radiusSettings: RadiusSettingsModel;
    /**
     * Defines the settings of volume annotation.
     */
    volumeSettings: VolumeSettingsModel;
    /**
     * Defines the settings of stickyNotes annotation.
     */
    stickyNotesSettings: StickyNotesSettingsModel;
    /**
     * Defines the settings of free text annotation.
     */
    freeTextSettings: FreeTextSettingsModel;
    /**
     * Defines the settings of measurement annotation.
     */
    measurementSettings: MeasurementSettingsModel;
    /**
     * Defines the settings of annotation selector.
     */
    annotationSelectorSettings: AnnotationSelectorSettingsModel;
    /**
     * Sets the settings for the color of the text search highlight.
     */
    textSearchColorSettings: TextSearchColorSettingsModel;
    /**
     * Get or set the signature dialog settings for signature field.
     */
    signatureDialogSettings: SignatureDialogSettingsModel;
    /**
     * Get or set the signature dialog settings for initial field.
     */
    initialDialogSettings: SignatureDialogSettingsModel;
    /**
     * Defines the settings of handWrittenSignature.
     */
    handWrittenSignatureSettings: HandWrittenSignatureSettingsModel;
    /**
     * Defines the ink annotation settings for PDF Viewer.It used to customize the strokeColor, thickness, opacity of the ink annotation.
     */
    inkAnnotationSettings: InkAnnotationSettingsModel;
    /**
     * Defines the settings of the annotations.
     */
    annotationSettings: AnnotationSettingsModel;
    /**
     * Defines the tile rendering settings.
     */
    tileRenderingSettings: TileRenderingSettingsModel;
    /**
     * Defines the scroll settings.
     */
    scrollSettings: ScrollSettingsModel;
    /**
     * Get or set the text field settings.
     */
    textFieldSettings: TextFieldSettingsModel;
    /**
     * Get or set the password field settings.
     */
    passwordFieldSettings: PasswordFieldSettingsModel;
    /**
     * Get or set the check box field settings.
     */
    checkBoxFieldSettings: CheckBoxFieldSettingsModel;
    /**
     * Get or set the radio button field settings.
     */
    radioButtonFieldSettings: RadioButtonFieldSettingsModel;
    /**
     * Get or set the dropdown field settings.
     */
    DropdownFieldSettings: DropdownFieldSettingsModel;
    /**
     * Get or set the listbox field settings.
     */
    listBoxFieldSettings: ListBoxFieldSettingsModel;
    /**
     * Defines the context menu settings.
     */
    contextMenuSettings: ContextMenuSettingsModel;
    /**
     * @private
     */
    viewerBase: PdfViewerBase;
    /**
     * @private
     */
    drawing: Drawing;
    /**
     * @private
     */
    /**
     * Defines the collection of selected items, size and position of the selector
     *
     * @default {}
     */
    selectedItems: SelectorModel;
    /**
     * @private
     */
    adornerSvgLayer: SVGSVGElement;
    /**
     * @private
     */
    zIndex: number;
    /**
     * @private
     */
    nameTable: {};
    /**   @private  */
    clipboardData: ClipBoardObject;
    /**
     * @private
     */
    zIndexTable: ZOrderPageTable[];
    /**
     * @private
     */
    navigationModule: Navigation;
    /**
     * @private
     */
    toolbarModule: Toolbar;
    /**
     * @private
     */
    magnificationModule: Magnification;
    /**
     * @private
     */
    linkAnnotationModule: LinkAnnotation;
    /** @hidden */
    localeObj: base.L10n;
    /**
     * @private
     */
    thumbnailViewModule: ThumbnailView;
    /**
     * @private
     */
    bookmarkViewModule: BookmarkView;
    /**
     * @private
     */
    textSelectionModule: TextSelection;
    /**
     * @private
     */
    textSearchModule: TextSearch;
    /**
     * @private
     */
    printModule: Print;
    /**
     * @private
     */
    annotationModule: Annotation;
    /**
     * @private
     */
    formFieldsModule: FormFields;
    /**
     * @private
     */
    formDesignerModule: FormDesigner;
    private isTextSelectionStarted;
    /**
     * @private
     */
    _dotnetInstance: any;
    /**
     * Gets the bookmark view object of the pdf viewer.
     *
     * @asptype BookmarkView
     * @blazorType BookmarkView
     * @returns { BookmarkView }
     */
    readonly bookmark: BookmarkView;
    /**
     * Gets the print object of the pdf viewer.
     *
     * @asptype Print
     * @blazorType Print
     * @returns { Print }
     */
    readonly print: Print;
    /**
     * Gets the magnification object of the pdf viewer.
     *
     * @asptype Magnification
     * @blazorType Magnification
     * @returns { Magnification }
     */
    readonly magnification: Magnification;
    /**
     * Gets the navigation object of the pdf viewer.
     *
     * @asptype Navigation
     * @blazorType Navigation
     * @returns { Navigation }
     */
    readonly navigation: Navigation;
    /**
     * Gets the text search object of the pdf viewer.
     *
     * @asptype TextSearch
     * @blazorType TextSearch
     * @returns { TextSearch }
     */
    readonly textSearch: TextSearch;
    /**
     * Gets the toolbar object of the pdf viewer.
     *
     * @asptype Toolbar
     * @blazorType Toolbar
     * @returns { Toolbar }
     */
    readonly toolbar: Toolbar;
    /**
     * Gets the thumbnail-view object of the pdf viewer.
     *
     * @asptype ThumbnailView
     * @blazorType ThumbnailView
     * @returns { ThumbnailView }
     */
    readonly thumbnailView: ThumbnailView;
    /**
     * Gets the annotation object of the pdf viewer.
     *
     * @asptype Annotation
     * @blazorType Annotation
     * @returns { Annotation }
     */
    readonly annotation: Annotation;
    /**
     * Gets the FormDesigner object of the pdf viewer.
     *
     * @asptype FormDesigner
     * @blazorType FormDesigner
     * @returns { FormDesigner }
     */
    readonly formDesigner: FormDesigner;
    /**
     * Gets the TextSelection object of the pdf viewer.
     *
     * @asptype TextSelection
     * @blazorType TextSelection
     * @returns { TextSelection }
     */
    readonly textSelection: TextSelection;
    /**
     * Triggers while created the PdfViewer component.
     *
     * @event
     * @blazorProperty 'Created'
     */
    created: base.EmitType<void>;
    /**
     * Triggers while loading document into PdfViewer.
     *
     * @event
     * @blazorProperty 'DocumentLoaded'
     */
    documentLoad: base.EmitType<LoadEventArgs>;
    /**
     * Triggers while close the document
     *
     * @event
     * @blazorProperty 'DocumentUnloaded'
     */
    documentUnload: base.EmitType<UnloadEventArgs>;
    /**
     * Triggers while loading document got failed in PdfViewer.
     *
     * @event
     * @blazorProperty 'DocumentLoadFailed'
     */
    documentLoadFailed: base.EmitType<LoadFailedEventArgs>;
    /**
     * Triggers when the AJAX request is failed.
     *
     * @event
     * @blazorProperty 'AjaxRequestFailed'
     */
    ajaxRequestFailed: base.EmitType<AjaxRequestFailureEventArgs>;
    /**
     * Event triggers on successful AJAX request
     *
     * @event
     */
    ajaxRequestSuccess: base.EmitType<AjaxRequestSuccessEventArgs>;
    /**
     * Triggers when validation is failed.
     *
     * @event
     * @blazorProperty 'validateFormFields'
     */
    validateFormFields: base.EmitType<ValidateFormFieldsArgs>;
    /**
     * Triggers when the mouse click is performed over the page of the PDF document.
     *
     * @event
     * @blazorProperty 'OnPageClick'
     */
    pageClick: base.EmitType<PageClickEventArgs>;
    /**
     * Triggers when there is change in current page number.
     *
     * @event
     * @blazorProperty 'PageChanged'
     */
    pageChange: base.EmitType<PageChangeEventArgs>;
    /**
     * Triggers when hyperlink in the PDF Document is clicked
     *
     * @event
     * @blazorProperty 'OnHyperlinkClick'
     */
    hyperlinkClick: base.EmitType<HyperlinkClickEventArgs>;
    /**
     * Triggers when hyperlink in the PDF Document is hovered
     *
     * @event
     * @blazorProperty 'OnHyperlinkMouseOver'
     */
    hyperlinkMouseOver: base.EmitType<HyperlinkMouseOverArgs>;
    /**
     * Triggers when there is change in the magnification value.
     *
     * @event
     * @blazorProperty 'ZoomChanged'
     */
    zoomChange: base.EmitType<ZoomChangeEventArgs>;
    /**
     * Triggers when an annotation is added over the page of the PDF document.
     *
     * @event
     * @blazorProperty 'AnnotationAdded'
     */
    annotationAdd: base.EmitType<AnnotationAddEventArgs>;
    /**
     * Triggers when an annotation is removed from the page of the PDF document.
     *
     * @event
     * @blazorProperty 'AnnotationRemoved'
     */
    annotationRemove: base.EmitType<AnnotationRemoveEventArgs>;
    /**
     * Triggers when the property of the annotation is changed in the page of the PDF document.
     *
     * @event
     * @blazorProperty 'AnnotationPropertiesChanged'
     */
    annotationPropertiesChange: base.EmitType<AnnotationPropertiesChangeEventArgs>;
    /**
     * Triggers when an annotation is resized over the page of the PDF document.
     *
     * @event
     * @blazorProperty 'AnnotationResized'
     */
    annotationResize: base.EmitType<AnnotationResizeEventArgs>;
    /**
     * Triggers when signature is added  over the page of the PDF document.
     *
     * @event
     */
    addSignature: base.EmitType<AddSignatureEventArgs>;
    /**
     * Triggers when signature is removed over the page of the PDF document.
     *
     * @event
     */
    removeSignature: base.EmitType<RemoveSignatureEventArgs>;
    /**
     * Triggers when an signature is moved over the page of the PDF document.
     *
     * @event
     */
    moveSignature: base.EmitType<MoveSignatureEventArgs>;
    /**
     * Triggers when the property of the signature is changed in the page of the PDF document.
     *
     * @event
     */
    signaturePropertiesChange: base.EmitType<SignaturePropertiesChangeEventArgs>;
    /**
     * Triggers when signature is resized over the page of the PDF document.
     *
     * @event
     */
    resizeSignature: base.EmitType<ResizeSignatureEventArgs>;
    /**
     * Triggers when signature is selected over the page of the PDF document.
     *
     * @event
     */
    signatureSelect: base.EmitType<SignatureSelectEventArgs>;
    /**
     * Triggers when an annotation is selected over the page of the PDF document.
     *
     * @event
     * @blazorProperty 'AnnotationSelected'
     */
    annotationSelect: base.EmitType<AnnotationSelectEventArgs>;
    /**
     * Triggers when an annotation is unselected over the page of the PDF document.
     *
     * @event
     * @blazorProperty 'AnnotationUnSelect'
     */
    annotationUnSelect: base.EmitType<AnnotationUnSelectEventArgs>;
    /**
     * Triggers an event when the annotation is double click.
     *
     * @event
     * @blazorProperty 'OnAnnotationDoubleClick'
     */
    annotationDoubleClick: base.EmitType<AnnotationDoubleClickEventArgs>;
    /**
     * Triggers when an annotation is moved over the page of the PDF document.
     *
     * @event
     * @blazorProperty 'AnnotationMoved'
     */
    annotationMove: base.EmitType<AnnotationMoveEventArgs>;
    /**
     * Triggers while moving an annotation.
     *
     * @event
     * @blazorProperty 'AnnotationMoving'
     */
    annotationMoving: base.EmitType<AnnotationMovingEventArgs>;
    /**
     * Triggers when mouse over the annotation object.
     *
     * @event
     */
    annotationMouseover: base.EmitType<AnnotationMouseoverEventArgs>;
    /**
     * Triggers when mouse over the annotation object.
     *
     * @event
     */
    annotationMouseLeave: base.EmitType<AnnotationMouseLeaveEventArgs>;
    /**
     * Triggers when mouse over the page.
     *
     * @event
     */
    pageMouseover: base.EmitType<PageMouseoverEventArgs>;
    /**
     *
     * @event
     * @blazorProperty 'ImportStarted'
     */
    /**
     * Triggers when an exported annotations started in the PDF Viewer.
     *
     * @event
     * @blazorProperty 'ExportStarted'
     */
    exportStart: base.EmitType<ExportStartEventArgs>;
    /**
     *
     * @event
     * @blazorProperty 'ImportSucceed'
     */
    /**
     * Triggers when1 an export annotations succeed in the PDF Viewer.
     *
     * @event
     * @blazorProperty 'ExportSucceed'
     */
    exportSuccess: base.EmitType<ExportSuccessEventArgs>;
    /**
     *
     * @event
     * @blazorProperty 'ImportFailed'
     */
    /**
     * Triggers when1 an export annotations failed in the PDF Viewer.
     *
     * @event
     * @blazorProperty 'ExportFailed'
     */
    exportFailed: base.EmitType<ExportFailureEventArgs>;
    /**
     * Triggers when an text extraction is completed in the PDF Viewer.
     *
     * @event
     * @blazorProperty 'ExtractTextCompleted'
     */
    extractTextCompleted: base.EmitType<ExtractTextCompletedEventArgs>;
    /**
     * Triggers an event when the thumbnail is clicked in the thumbnail panel of PDF Viewer.
     *
     * @event
     * @blazorProperty 'OnThumbnailClick'
     */
    thumbnailClick: base.EmitType<ThumbnailClickEventArgs>;
    /**
     * Triggers an event when the bookmark is clicked in the bookmark panel of PDF Viewer.
     *
     * @event
     * @blazorProperty 'BookmarkClick'
     */
    bookmarkClick: base.EmitType<BookmarkClickEventArgs>;
    /**
     * Triggers an event when the text selection is started.
     *
     * @event
     * @blazorProperty 'OnTextSelectionStart'
     */
    textSelectionStart: base.EmitType<TextSelectionStartEventArgs>;
    /**
     * Triggers an event when the text selection is finished.
     *
     * @event
     * @blazorProperty 'OnTextSelectionEnd'
     */
    textSelectionEnd: base.EmitType<TextSelectionEndEventArgs>;
    /**
     * Triggers an event when the download action is started.
     *
     * @event
     * @blazorProperty 'DownloadStart'
     */
    downloadStart: base.EmitType<DownloadStartEventArgs>;
    /**
     * Triggers an event when the button is clicked.
     *
     * @deprecated This property renamed into "formFieldClick"
     * @event
     * @blazorProperty 'ButtonFieldClick'
     */
    buttonFieldClick: base.EmitType<ButtonFieldClickEventArgs>;
    /**
     * Triggers an event when the form field is clicked.
     *
     * @event
     * @blazorProperty 'FormFieldClick'
     */
    formFieldClick: base.EmitType<FormFieldClickArgs>;
    /**
     * Triggers an event when the download actions is finished.
     *
     * @event
     * @blazorProperty 'DownloadEnd'
     */
    downloadEnd: base.EmitType<DownloadEndEventArgs>;
    /**
     * Triggers an event when the print action is started.
     *
     * @event
     * @blazorProperty 'PrintStart'
     */
    printStart: base.EmitType<PrintStartEventArgs>;
    /**
     * Triggers an event when the print actions is finished.
     *
     * @event
     * @blazorProperty 'PrintEnd'
     */
    printEnd: base.EmitType<PrintEndEventArgs>;
    /**
     * Triggers an event when the text search is started.
     *
     * @event
     * @blazorProperty 'OnTextSearchStart'
     */
    textSearchStart: base.EmitType<TextSearchStartEventArgs>;
    /**
     * Triggers an event when the text search is completed.
     *
     * @event
     * @blazorProperty 'OnTextSearchComplete'
     */
    textSearchComplete: base.EmitType<TextSearchCompleteEventArgs>;
    /**
     * Triggers an event when the text search text is highlighted.
     *
     * @event
     * @blazorProperty 'OnTextSearchHighlight'
     */
    textSearchHighlight: base.EmitType<TextSearchHighlightEventArgs>;
    /**
     * Triggers before the data send in to the server.
     *
     * @event
     */
    ajaxRequestInitiate: base.EmitType<AjaxRequestInitiateEventArgs>;
    /**
     * Triggers when the comment is added for the annotation in the comment panel.
     *
     * @event
     * @blazorProperty 'commentAdd'
     */
    commentAdd: base.EmitType<CommentEventArgs>;
    /**
     * Triggers when the comment is edited for the annotation in the comment panel.
     *
     * @event
     * @blazorProperty 'commentEdit'
     */
    commentEdit: base.EmitType<CommentEventArgs>;
    /**
     * Triggers when the comment is deleted for the annotation in the comment panel.
     *
     * @event
     * @blazorProperty 'commentDelete'
     */
    commentDelete: base.EmitType<CommentEventArgs>;
    /**
     * Triggers when the comment is selected for the annotation in the comment panel.
     *
     * @event
     * @blazorProperty 'commentSelect
     */
    commentSelect: base.EmitType<CommentEventArgs>;
    /**
     * Triggers when the comment for status is changed for the annotation in the comment panel.
     *
     * @event
     * @blazorProperty 'commentStatusChanged'
     */
    commentStatusChanged: base.EmitType<CommentEventArgs>;
    /**
     * Triggers the event before adding a text in the freeText annotation.
     *
     * @event
     * @blazorProperty 'beforeAddFreeText'
     */
    beforeAddFreeText: base.EmitType<BeforeAddFreeTextEventArgs>;
    /**
     * Triggers when focus out from the form fields.
     *
     * @event
     * @blazorProperty 'formFieldFocusOut'
     */
    formFieldFocusOut: base.EmitType<FormFieldFocusOutEventArgs>;
    /**
     * The event is triggered when a form field is added.
     *
     * @event
     * @blazorProperty 'formFieldAdd'
     */
    formFieldAdd: base.EmitType<FormFieldAddArgs>;
    /**
     * The event is triggered when a form field is removed.
     *
     * @event
     * @blazorProperty 'formFieldRemove'
     */
    formFieldRemove: base.EmitType<FormFieldRemoveArgs>;
    /**
     * The event is triggered when a property of form field is changed.
     *
     * @event
     * @blazorProperty 'formFieldPropertiesChange'
     */
    formFieldPropertiesChange: base.EmitType<FormFieldPropertiesChangeArgs>;
    /**
     * The event is triggered when a mouse cursor leaves form field.
     *
     * @event
     * @blazorProperty 'formFieldMouseLeave'
     */
    formFieldMouseLeave: base.EmitType<FormFieldMouseLeaveArgs>;
    /**
     * The event is triggered when a mouse cursor is over a form field.
     *
     * @event
     * @blazorProperty 'formFieldMouseover'
     */
    formFieldMouseover: base.EmitType<FormFieldMouseoverArgs>;
    /**
     * The event is triggered when a form field is moved.
     *
     * @event
     * @blazorProperty 'formFieldMove'
     */
    formFieldMove: base.EmitType<FormFieldMoveArgs>;
    /**
     * The event is triggered when a form field is resized.
     *
     * @event
     * @blazorProperty 'formFieldResize'
     */
    formFieldResize: base.EmitType<FormFieldResizeArgs>;
    /**
     * The event is triggered when a form field is selected.
     *
     * @event
     * @blazorProperty 'formFieldSelect'
     */
    formFieldSelect: base.EmitType<FormFieldSelectArgs>;
    /**
     * The event is triggered when a form field is unselected.
     *
     * @event
     * @blazorProperty 'formFieldUnselect'
     */
    formFieldUnselect: base.EmitType<FormFieldUnselectArgs>;
    /**
     * Triggers an event when the form field is double-clicked.
     *
     * @event
     * @blazorProperty 'formFieldDoubleClick'
     */
    formFieldDoubleClick: base.EmitType<FormFieldDoubleClickArgs>;
    /**
     * PDF document annotation collection.
     *
     * @private
     * @deprecated
     */
    annotations: PdfAnnotationBaseModel[];
    /**
     * PDF document form fields collection.
     *
     * @private
     * @deprecated
     */
    formFields: PdfFormFieldBaseModel[];
    /**
     * @private
     * @deprecated
     */
    tool: string;
    /**
     * @private
     */
    touchPadding: number;
    /**
     * store the drawing objects.
     *
     * @private
     * @deprecated
     */
    drawingObject: PdfAnnotationBaseModel;
    constructor(options?: PdfViewerModel, element?: string | HTMLElement);
    protected preRender(): void;
    protected render(): void;
    getModuleName(): string;
    /**
     * @private
     */
    getLocaleConstants(): Object;
    /**
     * To modify the Json Data in ajax request.
     *
     * @param jsonData
     * @returns void
     */
    setJsonData(jsonData: any): void;
    onPropertyChanged(newProp: PdfViewerModel, oldProp: PdfViewerModel): void;
    private renderCustomerStamp;
    getPersistData(): string;
    requiredModules(): base.ModuleDeclaration[];
    /** @hidden */
    defaultLocale: Object;
    /**
     * Loads the given PDF document in the PDF viewer control
     *
     * @param  {string} document - Specifies the document name for load
     * @param  {string} password - Specifies the Given document password
     * @returns void
     */
    load(document: string, password: string): void;
    /**
     * Loads the given PDF document in the PDF viewer control
     * @private
     */
    loadDocument(documentId: string, isFileName: boolean, fileName: string): void;
    /**
     * Loads the PDF document with the document details in the PDF viewer control
    * @private
    */
    loadSuccess(documentDetails: any, password?: string): void;
    /**
     * Set the focus of the given element
    * @private
    */
    focusElement(elementId: string): void;
    /**
     * Downloads the PDF document being loaded in the ejPdfViewer control.
     *
     * @returns void
     */
    download(): void;
    /**
     * Saves the PDF document being loaded in the PDF Viewer control as blob.
     *
     * @returns Promise<Blob>
     */
    saveAsBlob(): Promise<Blob>;
    /**
     * updates the PDF Viewer container width and height from externally.
     *
     * @returns void
     */
    updateViewerContainer(): void;
    /**
     * Specifies the message to be displayed  in the popup.
     *
     * @param errorString
     * @returns void
     */
    showNotificationPopup(errorString: string): void;
    /**
     * Focus a form field in a document by its field name or the field object.
     *
     * @returns void
     */
    focusFormField(field: any): void;
    /**
     * Update the form field values from externally.
     *
     * @param fieldValue
     * @returns void
     */
    updateFormFieldsValue(fieldValue: any): void;
    private getFormFieldByID;
    /**
     * @param number
     */
    private ConvertPointToPixel;
    /**
     * @param currentData - Current form field data.
     * @param fieldValue - Form Field.
     * @returns - Returns the updated the current Data.
     */
    private updateSignatureValue;
    /**
     * Perform undo action for the edited annotations
     *
     * @returns void
     */
    undo(): void;
    /**
     * Perform redo action for the edited annotations
     *
     * @returns void
     */
    redo(): void;
    /**
     * Unloads the PDF document being displayed in the PDF viewer.
     *
     * @returns void
     */
    unload(): void;
    /**
     * Destroys all managed resources used by this object.
     */
    destroy(): void;
    /**
     * @returns void
     */
    /**
     * Perform export annotations action in the PDF Viewer
     *
     * @param annotationDataFormat
     * @returns void
     */
    exportAnnotation(annotationDataFormat?: AnnotationDataFormat): void;
    /**
     * Perform export annotations action in the PDF Viewer
     *
     * @returns Promise<object>
     */
    exportAnnotationsAsObject(): Promise<object>;
    /**
     * Export annotations and returns a base64 string for both Json and XFDF formats
     *
     * @returns Promise<string>
     */
    exportAnnotationsAsBase64String(annotationDataFormat: AnnotationDataFormat): Promise<string>;
    /**
     * Perform to add annotations in the PDF Viewer
     *
     * @param annotation
     * @returns void
     */
    addAnnotation(annotation: any): void;
    /**
     * Perform  action in the PDF Viewer
     * @returns void
     */
    /**
     * Perform export action in the PDF Viewer
     *
     * @param path
     * @returns void
     */
    exportFormFields(path?: string): void;
    /**
     * Perform export annotations action in the PDF Viewer
     *
     * @returns Promise<object>
     */
    exportFormFieldsAsObject(): Promise<object>;
    /**
     * reset all form fields data
     *
     * @returns void
     */
    resetFormFields(): void;
    /**
     * Clears data from the form fields.
     * Parameter - Specifies the form field object.
     *
     * @param formField
     * @returns void
     */
    clearFormFields(formField?: any): void;
    /**
     * To delete the annotation Collections in the PDF Document.
     *
     * @returns void
     */
    deleteAnnotations(): void;
    /**
     * To retrieve the form fields in the PDF Document.
     *
     * @returns void
     */
    retrieveFormFields(): FormFieldModel[];
    /**
     * To update the form fields in the PDF Document.
     *
     * @param formFields
     * @returns void
     */
    updateFormFields(formFields: any): void;
    /**
     * @param JsonData
     * @private
     */
    fireAjaxRequestInitiate(JsonData: any): void;
    /**
     * @param value
     * @param fieldName
     * @param id
     * @private
     */
    fireButtonFieldClickEvent(value: string, fieldName: string, id: string): void;
    /**
     * @param name
     * @param field
     * @param cancel
     * @param name
     * @param field
     * @param cancel
     * @param isLeftClick - becomes true on signature panel left click.
     * @private
     */
    fireFormFieldClickEvent(name: string, field: FormFieldModel, cancel?: boolean, isLeftClick?: boolean): Promise<void>;
    /**
     * @param name - Get the name of the event.
     * @param field - Event arguments for the form field add event.
     * @param pageIndex - Get the page number.
     * @private
     */
    fireFormFieldAddEvent(name: string, field: IFormField, pageIndex: number): void;
    /**
     * @param name - Get the name of the event.
     * @param field - Event arguments for the form field remove event.
     * @param pageIndex - Get the page number.
     * @private
     */
    fireFormFieldRemoveEvent(name: string, field: IFormField, pageIndex: number): void;
    /**
     * @param name - Returns the event name.
     * @param field - Returns the double-clicked form field object.
     * @param cancel - If TRUE, property panel of the form field does not open. FALSE by default.
     * @private
     */
    fireFormFieldDoubleClickEvent(eventArgs: FormFieldDoubleClickArgs): FormFieldDoubleClickArgs;
    /**
     * @param name - Get the name of the event.
     * @param field - Event arguments for the form field properties change event.
     * @param pageIndex - Get the page number.
     * @param isAlignmentChanged - Specifies whether the text alignment of the form field is changed or not.
     * @param isBackgroundColorChanged - Specifies whether the background color of the form field is changed or not.
     * @param isBorderColorChanged - Specifies whether the border color of the form field is changed or not.
     * @param isBorderWidthChanged - Specifies whether the border width of the form field is changed or not.
     * @param isColorChanged - Specifies whether the font color of the form field is changed or not.
     * @param isFontFamilyChanged - Specifies whether the font family of the form field is changed or not.
     * @param isFontSizeChanged - Specifies whether the font size of the form field is changed or not.
     * @param isFontStyleChanged - Specifies whether the font style of the form field is changed or not.
     * @param isMaxLengthChanged - Specifies whether the max length of the form field is changed or not.
     * @param isPrintChanged - Specifies whether the print option of the form field is changed or not.
     * @param isReadOnlyChanged - Specifies the Read Only of Form field is changed or not.
     * @param isRequiredChanged - Specifies whether the is required option of the form field is changed or not.
     * @param isToolTipChanged - Specifies whether the tool tip property is changed or not.
     * @param isValueChanged - Specifies whether the form field value is changed or not.
     * @param isVisibilityChanged - Specifies whether the form field visibility is changed or not.
     * @param newValue - Specifies the new value of the form field.
     * @param oldValue - Specifies the old value of the form field.
     * @private
     */
    fireFormFieldPropertiesChangeEvent(name: string, field: IFormField, pageIndex: number, isValueChanged: boolean, isFontFamilyChanged: boolean, isFontSizeChanged: boolean, isFontStyleChanged: boolean, isColorChanged: boolean, isBackgroundColorChanged: boolean, isBorderColorChanged: boolean, isBorderWidthChanged: boolean, isAlignmentChanged: boolean, isReadOnlyChanged: boolean, isVisibilityChanged: boolean, isMaxLengthChanged: boolean, isRequiredChanged: boolean, isPrintChanged: boolean, isToolTipChanged: boolean, oldValue?: any, newValue?: any, isNamechanged?: any): void;
    /**
     * @param name - Get the name of the event.
     * @param field - Event arguments for the form field mouse leave event.
     * @param pageIndex - Get the page number.
     * @private
     */
    fireFormFieldMouseLeaveEvent(name: string, field: IFormField, pageIndex: number): void;
    /**
     * @param name - Get the name of the event.
     * @param field - Event arguments for the form field mouse over event.
     * @param pageIndex - Get the page number.
     * @param pageX - Get the mouse over x position with respect to the page container.
     * @param pageY - Get the mouse over y position with respect to the page container.
     * @param X - Specifies the mouse over x position with respect to the viewer container.
     * @param Y - Specifies the mouse over y position with respect to the viewer container.
     * @private
     */
    fireFormFieldMouseoverEvent(name: string, field: IFormField, pageIndex: number, pageX: number, pageY: number, X: number, Y: number): void;
    /**
     * @param name - Get the name of the event.
     * @param field - Event arguments for the form field move event.
     * @param pageIndex - Get the page number.
     * @param previousPosition - Get the previous position of the form field in the page.
     * @param currentPosition - Current position of form field in the page.
     * @private
     */
    fireFormFieldMoveEvent(name: string, field: IFormField, pageIndex: number, previousPosition: IFormFieldBound, currentPosition: IFormFieldBound): void;
    /**
     * @param name - Get the name of the event.
     * @param field - Event arguments for the form field resize event.
     * @param pageIndex - Get the page number.
     * @param previousPosition - Get the previous position of the form field in the page.
     * @param currentPosition - Current position of form field in the page.
     * @private
     */
    fireFormFieldResizeEvent(name: string, field: IFormField, pageIndex: number, previousPosition: IFormFieldBound, currentPosition: IFormFieldBound): void;
    /**
     * @param name - Get the name of the event.
     * @param field - Event arguments for the form field select event.
     * @param pageIndex - Get the page number.
     * @param isProgrammaticSelection - Specifies whether the the form field is selected programmatically or by UI.
     * @private
     */
    fireFormFieldSelectEvent(name: string, field: IFormField, pageIndex: number, isProgrammaticSelection: boolean): void;
    /**
     * @param name - Get the name of the event.
     * @param field - Event arguments for the form field unselect event.
     * @param pageIndex - Get the page number.
     * @private
     */
    fireFormFieldUnselectEvent(name: string, field: IFormField, pageIndex: number): void;
    /**
     * @param pageData
     * @private
     */
    fireDocumentLoad(pageData: any): void;
    /**
     * @param fileName
     * @private
     */
    fireDocumentUnload(fileName: string): void;
    /**
     * @param isPasswordRequired
     * @param password
     * @param isPasswordRequired
     * @param password
     * @private
     */
    fireDocumentLoadFailed(isPasswordRequired: boolean, password: string): void;
    /**
     * @param errorStatusCode
     * @param errorMessage
     * @param action
     * @param retryCount
     * @param errorStatusCode
     * @param errorMessage
     * @param action
     * @param retryCount
     * @param errorStatusCode
     * @param errorMessage
     * @param action
     * @param retryCount
     * @private
     */
    fireAjaxRequestFailed(errorStatusCode: number, errorMessage: string, action: string, retryCount?: boolean): void;
    /**
     * @action
     * @data
     * @private
     */
    fireAjaxRequestSuccess(action: string, data: any): any;
    /**
     * @param action
     * @private
     */
    fireValidatedFailed(action: string): void;
    /**
     * @param x
     * @param y
     * @param pageNumber
     * @param x
     * @param y
     * @param pageNumber
     * @param x
     * @param y
     * @param pageNumber
     * @private
     */
    firePageClick(x: number, y: number, pageNumber: number): void;
    /**
     * @param previousPageNumber
     * @private
     */
    firePageChange(previousPageNumber: number): void;
    /**
     * @private
     */
    fireZoomChange(): void;
    /**
     * @param hyperlink
     * @param hyperlinkElement
     * @private
     */
    fireHyperlinkClick(hyperlink: string, hyperlinkElement: HTMLAnchorElement): Promise<boolean>;
    /**
     * @param hyperlinkElement
     * @private
     */
    fireHyperlinkHover(hyperlinkElement: HTMLAnchorElement): void;
    /**
     * @param fieldName
     * @param value
     * @param fieldName
     * @param value
     * @private
     */
    fireFocusOutFormField(fieldName: string, value: string): void;
    /**
     * @param pageNumber
     * @param index
     * @param type
     * @param bounds
     * @param settings
     * @param textMarkupContent
     * @param tmStartIndex
     * @param tmEndIndex
     * @param labelSettings
     * @param multiPageCollection
     * @param pageNumber
     * @param index
     * @param type
     * @param bounds
     * @param settings
     * @param textMarkupContent
     * @param tmStartIndex
     * @param tmEndIndex
     * @param labelSettings
     * @param multiPageCollection
     * @param pageNumber
     * @param index
     * @param type
     * @param bounds
     * @param settings
     * @param textMarkupContent
     * @param tmStartIndex
     * @param tmEndIndex
     * @param labelSettings
     * @param multiPageCollection
     * @param pageNumber
     * @param index
     * @param type
     * @param bounds
     * @param settings
     * @param textMarkupContent
     * @param tmStartIndex
     * @param tmEndIndex
     * @param labelSettings
     * @param multiPageCollection
     * @param pageNumber
     * @param index
     * @param type
     * @param bounds
     * @param settings
     * @param textMarkupContent
     * @param tmStartIndex
     * @param tmEndIndex
     * @param labelSettings
     * @param multiPageCollection
     * @param pageNumber
     * @param index
     * @param type
     * @param bounds
     * @param settings
     * @param textMarkupContent
     * @param tmStartIndex
     * @param tmEndIndex
     * @param labelSettings
     * @param multiPageCollection
     * @param pageNumber
     * @param index
     * @param type
     * @param bounds
     * @param settings
     * @param textMarkupContent
     * @param tmStartIndex
     * @param tmEndIndex
     * @param labelSettings
     * @param multiPageCollection
     * @private
     */
    fireAnnotationAdd(pageNumber: number, index: string, type: AnnotationType, bounds: any, settings: any, textMarkupContent?: string, tmStartIndex?: number, tmEndIndex?: number, labelSettings?: ShapeLabelSettingsModel, multiPageCollection?: any, customStampName?: string): void;
    /**
     * @param pageNumber
     * @param index
     * @param type
     * @param bounds
     * @param textMarkupContent
     * @param tmStartIndex
     * @param tmEndIndex
     * @param multiPageCollection
     * @private
     */
    fireAnnotationRemove(pageNumber: number, index: string, type: AnnotationType, bounds: any, textMarkupContent?: string, tmStartIndex?: number, tmEndIndex?: number, multiPageCollection?: any): void;
    /**
     * @param value
     * @private
     */
    fireBeforeAddFreeTextAnnotation(value: string): void;
    /**
     * @param id
     * @param text
     * @param annotation
     * @param id
     * @param text
     * @param annotation
     * @private
     */
    fireCommentAdd(id: string, text: string, annotation: any): void;
    /**
     * @param id
     * @param text
     * @param annotation
     * @param id
     * @param text
     * @param annotation
     * @param id
     * @param text
     * @param annotation
     * @private
     */
    fireCommentEdit(id: string, text: string, annotation: any): void;
    /**
     * @param id
     * @param text
     * @param annotation
     * @param id
     * @param text
     * @param annotation
     * @private
     */
    fireCommentDelete(id: string, text: string, annotation: any): void;
    /**
     * @param id
     * @param text
     * @param annotation
     * @private
     */
    fireCommentSelect(id: string, text: string, annotation: any): void;
    /**
     * @param id
     * @param text
     * @param annotation
     * @param statusChange
     * @param id
     * @param text
     * @param annotation
     * @param statusChange
     * @param id
     * @param text
     * @param annotation
     * @param statusChange
     * @param id
     * @param text
     * @param annotation
     * @param statusChange
     * @private
     */
    fireCommentStatusChanged(id: string, text: string, annotation: any, statusChange: CommentStatus): void;
    /**
     * @param pageNumber
     * @param index
     * @param type
     * @param isColorChanged
     * @param isOpacityChanged
     * @param isTextChanged
     * @param isCommentsChanged
     * @param textMarkupContent
     * @param tmStartIndex
     * @param tmEndIndex
     * @param multiPageCollection
     * @param pageNumber
     * @param index
     * @param type
     * @param isColorChanged
     * @param isOpacityChanged
     * @param isTextChanged
     * @param isCommentsChanged
     * @param textMarkupContent
     * @param tmStartIndex
     * @param tmEndIndex
     * @param multiPageCollection
     * @private
     */
    fireAnnotationPropertiesChange(pageNumber: number, index: string, type: AnnotationType, isColorChanged: boolean, isOpacityChanged: boolean, isTextChanged: boolean, isCommentsChanged: boolean, textMarkupContent?: string, tmStartIndex?: number, tmEndIndex?: number, multiPageCollection?: any): void;
    /**
     * @param pageNumber
     * @param index
     * @param type
     * @param bounds
     * @param opacity
     * @param strokeColor
     * @param thickness
     * @param data
     * @param pageNumber
     * @param index
     * @param type
     * @param bounds
     * @param opacity
     * @param strokeColor
     * @param thickness
     * @param data
     * @param pageNumber
     * @param index
     * @param type
     * @param bounds
     * @param opacity
     * @param strokeColor
     * @param thickness
     * @param data
     * @private
     */
    fireSignatureAdd(pageNumber: number, index: string, type: any, bounds: any, opacity: number, strokeColor?: string, thickness?: number, data?: string): void;
    /**
     * @param pageNumber
     * @param index
     * @param type
     * @param bounds
     * @param pageNumber
     * @param index
     * @param type
     * @param bounds
     * @private
     */
    fireSignatureRemove(pageNumber: number, index: string, type: AnnotationType, bounds: any): void;
    /**
     * @param pageNumber
     * @param id
     * @param type
     * @param opacity
     * @param strokeColor
     * @param thickness
     * @param previousPosition
     * @param currentPosition
     * @param pageNumber
     * @param id
     * @param type
     * @param opacity
     * @param strokeColor
     * @param thickness
     * @param previousPosition
     * @param currentPosition
     * @param pageNumber
     * @param id
     * @param type
     * @param opacity
     * @param strokeColor
     * @param thickness
     * @param previousPosition
     * @param currentPosition
     * @param pageNumber
     * @param id
     * @param type
     * @param opacity
     * @param strokeColor
     * @param thickness
     * @param previousPosition
     * @param currentPosition
     * @param pageNumber
     * @param id
     * @param type
     * @param opacity
     * @param strokeColor
     * @param thickness
     * @param previousPosition
     * @param currentPosition
     * @param pageNumber
     * @param id
     * @param type
     * @param opacity
     * @param strokeColor
     * @param thickness
     * @param previousPosition
     * @param currentPosition
     * @param pageNumber
     * @param id
     * @param type
     * @param opacity
     * @param strokeColor
     * @param thickness
     * @param previousPosition
     * @param currentPosition
     * @param pageNumber
     * @param id
     * @param type
     * @param opacity
     * @param strokeColor
     * @param thickness
     * @param previousPosition
     * @param currentPosition
     * @private
     */
    fireSignatureMove(pageNumber: number, id: string, type: AnnotationType, opacity: number, strokeColor: string, thickness: number, previousPosition: object, currentPosition: object): void;
    /**
     * @param pageNumber
     * @param index
     * @param type
     * @param isStrokeColorChanged
     * @param isOpacityChanged
     * @param isThicknessChanged
     * @param oldProp
     * @param newProp
     * @param pageNumber
     * @param index
     * @param type
     * @param isStrokeColorChanged
     * @param isOpacityChanged
     * @param isThicknessChanged
     * @param oldProp
     * @param newProp
     * @param pageNumber
     * @param index
     * @param type
     * @param isStrokeColorChanged
     * @param isOpacityChanged
     * @param isThicknessChanged
     * @param oldProp
     * @param newProp
     * @param pageNumber
     * @param index
     * @param type
     * @param isStrokeColorChanged
     * @param isOpacityChanged
     * @param isThicknessChanged
     * @param oldProp
     * @param newProp
     * @private
     */
    fireSignaturePropertiesChange(pageNumber: number, index: string, type: AnnotationType, isStrokeColorChanged: boolean, isOpacityChanged: boolean, isThicknessChanged: boolean, oldProp: any, newProp: any): void;
    /**
     * @param pageNumber
     * @param index
     * @param type
     * @param opacity
     * @param strokeColor
     * @param thickness
     * @param currentPosition
     * @param previousPosition
     * @param pageNumber
     * @param index
     * @param type
     * @param opacity
     * @param strokeColor
     * @param thickness
     * @param currentPosition
     * @param previousPosition
     * @param pageNumber
     * @param index
     * @param type
     * @param opacity
     * @param strokeColor
     * @param thickness
     * @param currentPosition
     * @param previousPosition
     * @private
     */
    fireSignatureResize(pageNumber: number, index: string, type: AnnotationType, opacity: number, strokeColor: string, thickness: number, currentPosition: any, previousPosition: any): void;
    /**
     * @param id
     * @param pageNumber
     * @param signature
     * @param id
     * @param pageNumber
     * @param signature
     * @private
     */
    fireSignatureSelect(id: string, pageNumber: number, signature: object): void;
    /**
     * @param id
     * @param pageNumber
     * @param annotation
     * @param annotationCollection
     * @param multiPageCollection
     * @param isSelected
     * @param annotationAddMode
     * @private
     */
    fireAnnotationSelect(id: string, pageNumber: number, annotation: any, annotationCollection?: any, multiPageCollection?: any, isSelected?: boolean, annotationAddMode?: string): void;
    /**
     * @param id
     * @param pageNumber
     * @param annotation
     * @param id
     * @param pageNumber
     * @param annotation
     * @private
     */
    fireAnnotationUnSelect(id: string, pageNumber: number, annotation: any): void;
    /**
     * @param id
     * @param pageNumber
     * @param annotation
     * @param id
     * @param pageNumber
     * @param annotation
     * @private
     */
    fireAnnotationDoubleClick(id: string, pageNumber: number, annotation: any): void;
    /**
     * @param pageNumber
     * @private
     */
    fireTextSelectionStart(pageNumber: number): void;
    /**
     * @param pageNumber
     * @param text
     * @param bound
     * @private
     */
    fireTextSelectionEnd(pageNumber: number, text: string, bound: any[]): void;
    /**
     * @param canvas
     * @param index
     * @private
     */
    renderDrawing(canvas?: HTMLCanvasElement, index?: number): void;
    /**
     * @param pageNumber
     * @param index
     * @param type
     * @param bounds
     * @param settings
     * @param textMarkupContent
     * @param tmStartIndex
     * @param tmEndIndex
     * @param labelSettings
     * @param multiPageCollection
     * @param pageNumber
     * @param index
     * @param type
     * @param bounds
     * @param settings
     * @param textMarkupContent
     * @param tmStartIndex
     * @param tmEndIndex
     * @param labelSettings
     * @param multiPageCollection
     * @param pageNumber
     * @param index
     * @param type
     * @param bounds
     * @param settings
     * @param textMarkupContent
     * @param tmStartIndex
     * @param tmEndIndex
     * @param labelSettings
     * @param multiPageCollection
     * @param pageNumber
     * @param index
     * @param type
     * @param bounds
     * @param settings
     * @param textMarkupContent
     * @param tmStartIndex
     * @param tmEndIndex
     * @param labelSettings
     * @param multiPageCollection
     * @param pageNumber
     * @param index
     * @param type
     * @param bounds
     * @param settings
     * @param textMarkupContent
     * @param tmStartIndex
     * @param tmEndIndex
     * @param labelSettings
     * @param multiPageCollection
     * @param pageNumber
     * @param index
     * @param type
     * @param bounds
     * @param settings
     * @param textMarkupContent
     * @param tmStartIndex
     * @param tmEndIndex
     * @param labelSettings
     * @param multiPageCollection
     * @param pageNumber
     * @param index
     * @param type
     * @param bounds
     * @param settings
     * @param textMarkupContent
     * @param tmStartIndex
     * @param tmEndIndex
     * @param labelSettings
     * @param multiPageCollection
     * @param pageNumber
     * @param index
     * @param type
     * @param bounds
     * @param settings
     * @param textMarkupContent
     * @param tmStartIndex
     * @param tmEndIndex
     * @param labelSettings
     * @param multiPageCollection
     * @param pageNumber
     * @param index
     * @param type
     * @param bounds
     * @param settings
     * @param textMarkupContent
     * @param tmStartIndex
     * @param tmEndIndex
     * @param labelSettings
     * @param multiPageCollection
     * @param pageNumber
     * @param index
     * @param type
     * @param bounds
     * @param settings
     * @param textMarkupContent
     * @param tmStartIndex
     * @param tmEndIndex
     * @param labelSettings
     * @param multiPageCollection
     * @private
     */
    fireAnnotationResize(pageNumber: number, index: string, type: AnnotationType, bounds: any, settings: any, textMarkupContent?: string, tmStartIndex?: number, tmEndIndex?: number, labelSettings?: ShapeLabelSettingsModel, multiPageCollection?: any): void;
    /**
     * @param pageNumber
     * @param id
     * @param type
     * @param annotationSettings
     * @param previousPosition
     * @param currentPosition
     * @private
     */
    fireAnnotationMoving(pageNumber: number, id: string, type: AnnotationType, annotationSettings: any, previousPosition: object, currentPosition: object): void;
    /**
    * @param pageNumber
    * @param id
    * @param type
    * @param annotationSettings
    * @param previousPosition
    * @param currentPosition
    * @param pageNumber
    * @param id
    * @param type
    * @param annotationSettings
    * @param previousPosition
    * @param currentPosition
    * @private
    */
    fireAnnotationMove(pageNumber: number, id: string, type: AnnotationType, annotationSettings: any, previousPosition: object, currentPosition: object): void;
    /**
     * @param id
     * @param pageNumber
     * @param annotationType
     * @param bounds
     * @param annotation
     * @param currentPosition
     * @param mousePosition
     * @param id
     * @param pageNumber
     * @param annotationType
     * @param bounds
     * @param annotation
     * @param currentPosition
     * @param mousePosition
     * @param id
     * @param pageNumber
     * @param annotationType
     * @param bounds
     * @param annotation
     * @param currentPosition
     * @param mousePosition
     * @param id
     * @param pageNumber
     * @param annotationType
     * @param bounds
     * @param annotation
     * @param currentPosition
     * @param mousePosition
     * @param id
     * @param pageNumber
     * @param annotationType
     * @param bounds
     * @param annotation
     * @param currentPosition
     * @param mousePosition
     * @private
     */
    fireAnnotationMouseover(id: string, pageNumber: number, annotationType: AnnotationType, bounds: any, annotation: any, currentPosition: any, mousePosition: any): void;
    /**
     * @param pageNumber
     * @private
     */
    fireAnnotationMouseLeave(pageNumber: number): void;
    /**
     * @param pageX
     * @param pageY
     * @private
     */
    firePageMouseover(pageX: number, pageY: number): void;
    /**
     * @param fileName
     * @private
     */
    fireDownloadStart(fileName: string): void;
    /**
     * @param fileName
     * @param downloadData
     * @private
     */
    fireDownloadEnd(fileName: string, downloadData: string): void;
    /**
     * @private
     */
    firePrintStart(): Promise<void>;
    /**
     * @param eventName
     * @param args
     * @param eventName
     * @param args
     * @private
     */
    triggerEvent(eventName: string, args: object): Promise<void | object>;
    /**
     * @param fileName
     * @private
     */
    firePrintEnd(fileName: string): void;
    /**
     * @param pageNumber
     * @private
     */
    fireThumbnailClick(pageNumber: number): void;
    /**
     * @param pageNumber
     * @param position
     * @param text
     * @param fileName
     * @param pageNumber
     * @param position
     * @param text
     * @param fileName
     * @param pageNumber
     * @param position
     * @param text
     * @param fileName
     * @private
     */
    fireBookmarkClick(pageNumber: number, position: number, text: string, fileName: string): void;
    /**
     * @private
     */
    /**
     * @param exportData
     * @private
     */
    fireExportStart(exportData: any): void;
    /**
     * @private
     */
    /**
     * @param exportData
     * @param fileName
     * @param exportData
     * @param fileName
     * @private
     */
    fireExportSuccess(exportData: any, fileName: string): void;
    /**
     * @param data
     * @param errorDetails
     * @private
     */
    fireImportFailed(data: any, errorDetails: string): void;
    /**
     * @param data
     * @param errorDetails
     * @param data
     * @param errorDetails
     * @private
     */
    fireExportFailed(data: any, errorDetails: string): void;
    /**
     * @param data
     * @private
     */
    fireFormImportStarted(data: any): void;
    /**
     * @param data
     * @private
     */
    fireFormExportStarted(data: any): void;
    /**
     * @param data
     * @private
     */
    fireFormImportSuccess(data: any): void;
    /**
     * @param data
     * @param fileName
     * @param data
     * @param fileName
     * @private
     */
    fireFormExportSuccess(data: any, fileName: string): void;
    /**
     * @param data
     * @param errorDetails
     * @param data
     * @param errorDetails
     * @private
     */
    fireFormImportFailed(data: any, errorDetails: string): void;
    /**
     * @param data
     * @param errorDetails
     * @param data
     * @param errorDetails
     * @private
     */
    fireFormExportFailed(data: any, errorDetails: string): void;
    /**
     * @param documentCollection
     * @private
     */
    fireTextExtractionCompleted(documentCollection: DocumentTextCollectionSettingsModel[][]): void;
    /**
     * @param searchText
     * @param isMatchcase
     * @param searchText
     * @param isMatchcase
     * @private
     */
    fireTextSearchStart(searchText: string, isMatchcase: boolean): void;
    /**
     * @param searchText
     * @param isMatchcase
     * @private
     */
    fireTextSearchComplete(searchText: string, isMatchcase: boolean): void;
    /**
     * @param searchText
     * @param isMatchcase
     * @param bounds
     * @param pageNumber
     * @private
     */
    fireTextSearchHighlight(searchText: string, isMatchcase: boolean, bounds: RectangleBoundsModel, pageNumber: number): void;
    /**
     * @param bounds
     * @param commonStyle
     * @param cavas
     * @param index
     * @private
     */
    renderAdornerLayer(bounds: ClientRect, commonStyle: string, cavas: HTMLElement, index: number): void;
    /**
     * @param index
     * @param currentSelector
     * @param index
     * @param currentSelector
     * @private
     */
    renderSelector(index: number, currentSelector?: AnnotationSelectorSettingsModel): void;
    /**
     * @param objArray
     * @param currentSelector
     * @param multipleSelection
     * @param preventUpdate
     * @param objArray
     * @param currentSelector
     * @param multipleSelection
     * @param preventUpdate
     * @param objArray
     * @param currentSelector
     * @param multipleSelection
     * @param preventUpdate
     * @param objArray
     * @param currentSelector
     * @param multipleSelection
     * @param preventUpdate
     * @private
     */
    select(objArray: string[], currentSelector?: AnnotationSelectorSettingsModel, multipleSelection?: boolean, preventUpdate?: boolean): void;
    /**
     * @param pageId
     * @private
     */
    getPageTable(pageId: number): ZOrderPageTable;
    /**
     * @param diffX
     * @param diffY
     * @param pageIndex
     * @param currentSelector
     * @param helper
     * @param diffX
     * @param diffY
     * @param pageIndex
     * @param currentSelector
     * @param helper
     * @param diffX
     * @param diffY
     * @param pageIndex
     * @param currentSelector
     * @param helper
     * @private
     */
    dragSelectedObjects(diffX: number, diffY: number, pageIndex: number, currentSelector?: AnnotationSelectorSettingsModel, helper?: PdfAnnotationBaseModel): boolean;
    /**
     * @param sx
     * @param sy
     * @param pivot
     * @private
     */
    scaleSelectedItems(sx: number, sy: number, pivot: drawings.PointModel): boolean;
    /**
     * @param endPoint
     * @param obj
     * @param point
     * @param segment
     * @param target
     * @param targetPortId
     * @param currentSelector
     * @param endPoint
     * @param obj
     * @param point
     * @param segment
     * @param target
     * @param targetPortId
     * @param currentSelector
     * @param endPoint
     * @param obj
     * @param point
     * @param segment
     * @param target
     * @param targetPortId
     * @param currentSelector
     * @param endPoint
     * @param obj
     * @param point
     * @param segment
     * @param target
     * @param targetPortId
     * @param currentSelector
     * @private
     */
    dragConnectorEnds(endPoint: string, obj: drawings.IElement, point: drawings.PointModel, segment: drawings.PointModel, target?: drawings.IElement, targetPortId?: string, currentSelector?: AnnotationSelectorSettingsModel): boolean;
    /**
     * @param pageId
     * @private
     */
    clearSelection(pageId: number): void;
    /**
     * Get page number from the user coordinates x and y.
     *
     * @param {drawings.Point} clientPoint - The user will provide a x, y coordinates.
     * @returns number
     */
    getPageNumberFromClientPoint(clientPoint: drawings.Point): number;
    /**
     * Convert user coordinates to the PDF page coordinates.
     *
     * @param {drawings.Point} clientPoint - The user should provide a x, y coordinates.
     * @param {number} pageNumber - We need to pass pageNumber.
     * @returns drawings.Point
     */
    convertClientPointToPagePoint(clientPoint: drawings.Point, pageNumber: number): drawings.Point;
    /**
     * Convert page coordinates to the user coordinates.
     *
     * @param {drawings.Point} pagePoint - The user should provide a page x, y coordinates.
     * @param {number} pageNumber - We need to pass pageNumber.
     * @returns drawings.Point
     */
    convertPagePointToClientPoint(pagePoint: drawings.Point, pageNumber: number): drawings.Point;
    /**
     * Convert page coordinates to the scrolling coordinates.
     *
     * @param {drawings.Point} pagePoint - The user should provide a page x, y coordinates.
     * @param {number} pageNumber - We need to pass pageNumber.
     * @returns drawings.Point
     */
    convertPagePointToScrollingPoint(pagePoint: drawings.Point, pageNumber: number): drawings.Point;
    /**
     * Brings the given rectangular region to view and zooms in the document to fit the region in client area (view port).
     *
     * @param {drawings.Rect} rectangle - Specifies the region in client coordinates that is to be brought to view.
     */
    zoomToRect(rectangle: drawings.Rect): void;
    /**
     * @param obj
     * @private
     */
    add(obj: PdfAnnotationBase): PdfAnnotationBaseModel;
    /**
     * @param obj
     * @private
     */
    remove(obj: PdfAnnotationBaseModel): void;
    /**
     * @private
     */
    copy(): Object;
    /**
     * @param angle
     * @param currentSelector
     * @param angle
     * @param currentSelector
     * @private
     */
    rotate(angle: number, currentSelector?: AnnotationSelectorSettingsModel): boolean;
    /**
     * @param obj
     * @private
     */
    paste(obj?: PdfAnnotationBaseModel[]): void;
    /**
     * @private
     */
    refresh(): void;
    /**
     * @private
     */
    cut(): void;
    /**
     * @param actualObject
     * @param node
     * @private
     */
    nodePropertyChange(actualObject: PdfAnnotationBaseModel, node: PdfAnnotationBaseModel): void;
    /**
     * enableServerDataBinding method \
     *
     * @returns { void }  enableServerDataBinding method .\
     * @param {boolean} enable - provide the node value.
     *
     * @private
     */
    enableServerDataBinding(enable: boolean, clearBulkChanges?: boolean): void;
    /**
     * @param tx
     * @param ty
     * @param pageIndex
     * @param nodeBounds
     * @param isStamp
     * @param isSkip
     * @param tx
     * @param ty
     * @param pageIndex
     * @param nodeBounds
     * @param isStamp
     * @param isSkip
     * @param tx
     * @param ty
     * @param pageIndex
     * @param nodeBounds
     * @param isStamp
     * @param isSkip
     * @private
     */
    checkBoundaryConstraints(tx: number, ty: number, pageIndex: number, nodeBounds?: drawings.Rect, isStamp?: boolean, isSkip?: boolean): boolean;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/print/index.d.ts
/**
 * export types
 */
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/print/print.d.ts
/**
 * Print module
 */
export  class Print {
    private pdfViewer;
    private pdfViewerBase;
    private printViewerContainer;
    private printCanvas;
    /**
     * @private
     */
    printRequestHandler: AjaxHandler;
    private frameDoc;
    private iframe;
    private printWindow;
    /**
     * @param viewer
     * @param base
     * @private
     */
    constructor(viewer: PdfViewer, base: PdfViewerBase);
    /**
     * Print the PDF document being loaded in the ejPdfViewer control.
     *
     * @returns void
     */
    print(): void;
    private createRequestForPrint;
    private renderFieldsForPrint;
    private createFormDesignerFields;
    /**
     * @param inputField
     * @param bounds
     * @param font
     * @param heightRatio
     * @param widthRatio
     * @param inputField
     * @param bounds
     * @param font
     * @param heightRatio
     * @param widthRatio
     * @private
     */
    applyPosition(inputField: any, bounds: any, font: any, heightRatio: number, widthRatio: number, isFormDesignerField?: boolean, zoomValue?: number, pageIndex?: number): any;
    private printWindowOpen;
    private createPrintLoadingIndicator;
    /**
     * @private
     */
    destroy(): void;
    /**
     * @private
     */
    getModuleName(): string;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/text-search/index.d.ts
/**
 * export types
 */
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/text-search/text-search.d.ts
/**
 * TextSearch module
 */
export  class TextSearch {
    /**
     * @private
     */
    isTextSearch: boolean;
    /**
     * @private
     */
    searchBtn: HTMLElement;
    /**
     * @private
     */
    searchInput: HTMLElement;
    /**
     * @private
     */
    searchCount: number;
    private pdfViewer;
    private pdfViewerBase;
    private searchBox;
    private nextSearchBtn;
    private prevSearchBtn;
    private searchIndex;
    private currentSearchIndex;
    private startIndex;
    private searchPageIndex;
    private searchString;
    private isMatchCase;
    private searchRequestHandler;
    private textContents;
    private searchMatches;
    private searchCollection;
    private searchedPages;
    private isPrevSearch;
    private tempElementStorage;
    /**
     * @private
     */
    isMessagePopupOpened: boolean;
    /**
     * @private
     */
    documentTextCollection: DocumentTextCollectionSettingsModel[][];
    /**
     * @private
     */
    isTextRetrieved: boolean;
    private isTextSearched;
    private isTextSearchEventTriggered;
    private isSearchText;
    /**
     * @param pdfViewer
     * @param pdfViewerBase
     * @param pdfViewer
     * @param pdfViewerBase
     * @private
     */
    constructor(pdfViewer: PdfViewer, pdfViewerBase: PdfViewerBase);
    /**
     * @private
     */
    createTextSearchBox(): void;
    private setLoaderProperties;
    private showLoadingIndicator;
    /**
     * @private
     */
    textSearchBoxOnResize(): void;
    /**
     * @param isShow
     * @private
     */
    showSearchBox(isShow: boolean): void;
    /**
     * @private
     */
    searchAfterSelection(): void;
    private initiateTextSearch;
    /**
     * @param inputString
     * @private
     */
    initiateSearch(inputString: string): void;
    private textSearch;
    private nextSearch;
    private prevSearch;
    private initSearch;
    private getPossibleMatches;
    private correctLinetext;
    private getSearchTextContent;
    private getSearchPage;
    private highlightSearchedTexts;
    private addDivForSearch;
    private addDivElement;
    private createSearchTextDiv;
    private calculateBounds;
    private isClassAvailable;
    private getScrollElement;
    private scrollToSearchStr;
    /**
     * @param pageIndex
     * @private
     */
    resizeSearchElements(pageIndex: number): void;
    /**
     * @param pageNumber
     * @private
     */
    highlightOtherOccurrences(pageNumber: number): void;
    private highlightOthers;
    /**
     * @private
     */
    clearAllOccurrences(): void;
    /**
     * @private
     */
    getIndexes(): any;
    private applyTextSelection;
    /**
     * @private
     */
    resetTextSearch(): void;
    private onTextSearchClose;
    private createRequestForSearch;
    /**
     * @private
     */
    getPDFDocumentTexts(): void;
    /**
     * @param startIndex
     * @param endIndex
     * @private
     */
    createRequestForGetPdfTexts(startIndex: number, endIndex: number): void;
    private orderPdfTextCollections;
    private createSearchBoxButtons;
    private enablePrevButton;
    private enableNextButton;
    private checkBoxOnChange;
    /**
     * @private
     */
    resetVariables(): void;
    private searchKeypressHandler;
    private searchClickHandler;
    /**
     * @param element
     * @param inputElement
     * @private
     */
    searchButtonClick(element: HTMLElement, inputElement: HTMLElement): void;
    private updateSearchInputIcon;
    private nextButtonOnClick;
    private prevButtonOnClick;
    private onMessageBoxOpen;
    /**
     * Searches the target text in the PDF document and highlights the occurrences in the pages
     *
     * @param  {string} searchText - Specifies the searchText content
     * @param  {boolean} isMatchCase - If set true , its highlights the MatchCase content
     * @returns void
     */
    searchText(searchText: string, isMatchCase: boolean): void;
    /**
     * Searches the next occurrence of the searched text from the current occurrence of the PdfViewer.
     *
     * @returns void
     */
    searchNext(): void;
    /**
     * Searches the previous occurrence of the searched text from the current occurrence of the PdfViewer.
     *
     * @returns void
     */
    searchPrevious(): void;
    /**
     * Cancels the text search of the PdfViewer.
     *
     * @returns void
     */
    cancelTextSearch(): void;
    /**
     * @private
     */
    destroy(): void;
    /**
     * @private
     */
    getModuleName(): string;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/text-selection/index.d.ts
/**
 * export types
 */
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/text-selection/text-selection.d.ts
/**
 * The `IRectangle` module is used to handle rectangle property of PDF viewer.
 *
 * @hidden
 */
export interface IRectangle {
    bottom: number;
    height: number;
    left: number;
    top: number;
    right: number;
    width: number;
}
/**
 * The `ISelection` module is used to handle selection property of PDF viewer.
 *
 * @hidden
 */
export interface ISelection {
    isBackward: boolean;
    startNode: string;
    startOffset: number;
    endNode: string;
    endOffset: number;
    textContent: string;
    pageNumber: number;
    bound: IRectangle;
    rectangleBounds: IRectangle[];
}
/**
 * The `TextSelection` module is used to handle the text selection of PDF viewer.
 */
export  class TextSelection {
    /**
     * @private
     */
    isTextSelection: boolean;
    /**
     * @private
     */
    selectionStartPage: number;
    private pdfViewer;
    private pdfViewerBase;
    private isBackwardPropagatedSelection;
    private dropDivElementLeft;
    private dropDivElementRight;
    private dropElementLeft;
    private dropElementRight;
    private contextMenuHeight;
    /**
     * @private
     */
    selectionRangeArray: ISelection[];
    private selectionAnchorTouch;
    private selectionFocusTouch;
    private scrollMoveTimer;
    private isMouseLeaveSelection;
    private isTouchSelection;
    private previousScrollDifference;
    private topStoreLeft;
    private topStoreRight;
    private isTextSearched;
    private isSelectionStartTriggered;
    /**
     * @param pdfViewer
     * @param pdfViewerBase
     * @param pdfViewer
     * @param pdfViewerBase
     * @private
     */
    constructor(pdfViewer: PdfViewer, pdfViewerBase: PdfViewerBase);
    /**
     * @param target
     * @param x
     * @param y
     * @param isExtended
     * @private
     */
    textSelectionOnMouseMove(target: EventTarget, x: number, y: number, isExtended?: boolean): void;
    /**
     * @param target
     * @param x
     * @param y
     * @param isforward
     * @param target
     * @param x
     * @param y
     * @param isforward
     * @param target
     * @param x
     * @param y
     * @param isforward
     * @private
     */
    textSelectionOnDrag(target: EventTarget, x: number, y: number, isforward: boolean): boolean;
    /**
     * Select the target text region in the PDF document of the given bounds.
     *
     * @param  {number} pageNumbers - Specifies the page number
     * @param  {IRectangle[]} bounds -  Specifies the bounds of the texts.
     * @returns void
     */
    selectTextRegion(pageNumbers: number, bounds: IRectangle[]): void;
    /**
     * @param left
     * @param textDiVLeft
     * @param totalLeft
     * @param x
     * @private
     */
    checkLeftBounds(left: number, textDiVLeft: number, totalLeft: number, x: number): boolean;
    /**
     * @param top
     * @param currentTop
     * @param y
     * @param top
     * @param currentTop
     * @param y
     * @private
     */
    checkTopBounds(top: number, currentTop: number, y: number): boolean;
    /**
     * @param event
     * @private
     */
    textSelectionOnMouseLeave(event: MouseEvent): void;
    private scrollForwardOnSelection;
    private scrollBackwardOnSelection;
    /**
     * @private
     */
    clear(): void;
    /**
     * @param element
     * @param x
     * @param y
     * @param isStoreSelection
     * @param element
     * @param x
     * @param y
     * @param isStoreSelection
     * @param element
     * @param x
     * @param y
     * @param isStoreSelection
     * @private
     */
    selectAWord(element: any, x: number, y: number, isStoreSelection: boolean): void;
    private getSelectionRange;
    /**
     * @param event
     * @private
     */
    selectEntireLine(event: MouseEvent): void;
    /**
     * @private
     */
    enableTextSelectionMode(): void;
    clearTextSelection(): void;
    /**
     * @private
     */
    removeTouchElements(): void;
    /**
     * @private
     */
    resizeTouchElements(): void;
    /**
     * @param event
     * @private
     */
    textSelectionOnMouseup(event: MouseEvent): void;
    /**
     * @private
     */
    fireTextSelectEnd(): void;
    /**
     * @param isMaintainSelection
     * @param isStich
     * @param isMaintainSelection
     * @param isStich
     * @private
     */
    maintainSelectionOnZoom(isMaintainSelection: boolean, isStich: boolean): void;
    /**
     * @param pageNumber
     * @private
     */
    isSelectionAvailableOnScroll(pageNumber: number): boolean;
    /**
     * @param pageNumber
     * @private
     */
    applySelectionRangeOnScroll(pageNumber: number): void;
    private getSelectionRangeFromArray;
    private applySelectionRange;
    private applySelectionMouseScroll;
    /**
     * @param pageNumber
     * @param isStich
     * @param pageNumber
     * @param isStich
     * @private
     */
    maintainSelectionOnScroll(pageNumber: number, isStich: boolean): void;
    /**
     * @param pageNumber
     * @param isStich
     * @private
     */
    maintainSelection(pageNumber: number, isStich: boolean): void;
    private getCorrectOffset;
    private pushSelectionRangeObject;
    private extendCurrentSelection;
    private stichSelection;
    /**
     * @param currentPageNumber
     * @private
     */
    textSelectionOnMouseWheel(currentPageNumber: number): void;
    /**
     * @param currentPageNumber
     * @private
     */
    stichSelectionOnScroll(currentPageNumber: number): void;
    private extendSelectionStich;
    /**
     * @param pageNumber
     * @param anchorPageId
     * @param focusPageId
     * @param pageNumber
     * @param anchorPageId
     * @param focusPageId
     * @private
     */
    createRangeObjectOnScroll(pageNumber: number, anchorPageId: number, focusPageId: number): ISelection;
    private getSelectionRangeObject;
    private getSelectionBounds;
    private getSelectionRectangleBounds;
    private getTextId;
    private normalizeBounds;
    private getMagnifiedValue;
    /**
     * @param pageNumber
     * @private
     */
    getCurrentSelectionBounds(pageNumber: number): IRectangle;
    private createRangeForSelection;
    private maintainSelectionArray;
    /**
     * @private
     */
    applySpanForSelection(): void;
    /**
     * @param event
     * @param x
     * @param y
     * @private
     */
    initiateTouchSelection(event: TouchEvent, x: number, y: number): void;
    private selectTextByTouch;
    private setTouchSelectionStartPosition;
    private getTouchAnchorElement;
    private getTouchFocusElement;
    private createTouchSelectElement;
    /**
     * @param top
     * @param left
     * @private
     */
    calculateContextMenuPosition(top: any, left: any): any;
    private onLeftTouchSelectElementTouchStart;
    private onRightTouchSelectElementTouchStart;
    private onLeftTouchSelectElementTouchEnd;
    private onRightTouchSelectElementTouchEnd;
    /**
     * @private
     */
    initiateSelectionByTouch(): void;
    private terminateSelectionByTouch;
    private getSpanBounds;
    private onLeftTouchSelectElementTouchMove;
    private onRightTouchSelectElementTouchMove;
    private getNodeElement;
    private isTouchedWithinContainer;
    private onTouchElementScroll;
    private isCloserTouchScroll;
    private getClientValueTop;
    private isScrolledOnScrollBar;
    private getTextLastLength;
    private getNodeElementFromNode;
    /**
     * Copy the selected text in the PDF Document.
     *
     * @returns void
     */
    copyText(): void;
    /**
     * @private
     */
    destroy(): void;
    /**
     * @private
     */
    getModuleName(): string;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/thumbnail-view/index.d.ts
/**
 * export types
 */
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/thumbnail-view/thumbnail-view.d.ts
/**
 * The `ThumbnailView` module is used to handle thumbnail view navigation of PDF viewer.
 */
export  class ThumbnailView {
    private pdfViewer;
    private pdfViewerBase;
    private previousElement;
    private thumbnailSelectionRing;
    private thumbnailImage;
    private startIndex;
    private thumbnailLimit;
    private thumbnailThreshold;
    private thumbnailTopMargin;
    private thumbnailRequestHandler;
    /**
     * @private
     */
    isThumbnailClicked: boolean;
    /**
     * @private
     */
    thumbnailView: HTMLElement;
    /**
     * @param pdfViewer
     * @param pdfViewerBase
     * @param pdfViewer
     * @param pdfViewerBase
     * @private
     */
    constructor(pdfViewer: PdfViewer, pdfViewerBase: PdfViewerBase);
    /**
     * @private
     */
    createThumbnailContainer(): void;
    /**
     * Open the thumbnail pane of the PdfViewer.
     *
     * @returns void
     */
    openThumbnailPane(): void;
    /**
     * @private
     */
    createRequestForThumbnails(): Promise<any>;
    private requestCreation;
    /**
     * @param pageNumber
     * @private
     */
    gotoThumbnailImage(pageNumber: number): void;
    private checkThumbnailScroll;
    private getPageNumberFromID;
    private setFocusStyle;
    private renderThumbnailImage;
    private wireUpEvents;
    private unwireUpEvents;
    /**
     * @param event
     * @private
     */
    thumbnailClick: (event: MouseEvent) => void;
    private goToThumbnailPage;
    private setSelectionStyle;
    /**
     * @param event
     * @private
     */
    thumbnailMouseOver: (event: MouseEvent) => void;
    private setMouseOverStyle;
    /**
     * @param event
     * @private
     */
    thumbnailMouseLeave: (event: MouseEvent) => void;
    private setMouseLeaveStyle;
    private setMouseFocusStyle;
    private setMouseFocusToFirstPage;
    /**
     * @private
     */
    clear(): void;
    private getVisibleThumbs;
    private getVisibleElements;
    private binarySearchFirstItem;
    private backtrackBeforeAllVisibleElements;
    private getThumbnailElement;
    /**
     * @private
     */
    destroy(): void;
    /**
     * @private
     */
    getModuleName(): string;
}
/**
 * The `IVisibleThumbnailElement` module is used to handle visible thumbnail element collection of PDF viewer.
 *
 * @hidden
 */
export interface IVisibleThumbnailElement {
    id: string;
    x: number;
    y: number;
    view: HTMLElement;
    percent: number;
}
/**
 * The `IVisibleThumbnail` module is used to handle visible thumbnail collection of PDF viewer.
 *
 * @hidden
 */
export interface IVisibleThumbnail {
    first: IVisibleThumbnailElement;
    last: IVisibleThumbnailElement;
    views: Array<IVisibleThumbnailElement>;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/toolbar/annotation-toolbar.d.ts
/**
 * @hidden
 */
export  class AnnotationToolbar {
    private pdfViewer;
    private pdfViewerBase;
    /**
     * @private
     */
    primaryToolbar: Toolbar;
    /**
     * @private
     */
    toolbarElement: HTMLElement;
    private highlightItem;
    private underlineItem;
    private strikethroughItem;
    private fontStyleStrikethroughItem;
    private fontStyleUnderlineItem;
    private deleteItem;
    private isSignatureIteam;
    /**
     * @private
     */
    freeTextEditItem: HTMLElement;
    /**
     * @private
     */
    colorDropDownElement: HTMLElement;
    /**
     * @private
     */
    colorDropDownElementInBlazor: HTMLElement;
    /**
     * @private
     */
    strokeDropDownElementInBlazor: HTMLElement;
    /**
     * @private
     */
    fontColorElementInBlazor: HTMLElement;
    private strokeDropDownElement;
    private thicknessElement;
    private shapeElement;
    private calibrateElement;
    private stampElement;
    private opacityDropDownElement;
    private colorDropDown;
    private opacityDropDown;
    private strokeDropDown;
    private thicknessDropDown;
    private shapeDropDown;
    private calibrateDropDown;
    private commentItem;
    private closeItem;
    private opacityIndicator;
    private thicknessIndicator;
    private HighlightElement;
    private UnderlineElement;
    private StrikethroughElement;
    private InkAnnotationElement;
    private FreeTextElement;
    /**
     * @private
     */
    toolbar: navigations.Toolbar;
    /**
     * @private
     */
    /**
    * @private
    */
    propertyToolbar: navigations.Toolbar;
    /**
     * @private
     */
    freeTextPropertyToolbar: navigations.Toolbar;
    /**
     * @private
     */
    stampPropertyToolbar: navigations.Toolbar;
    colorPalette: inputs.ColorPicker;
    private strokeColorPicker;
    private opacitySlider;
    private thicknessSlider;
    private toolbarBorderHeight;
    /**
     * @private
     */
    isToolbarHidden: boolean;
    /**
     * @private
     */
    isMobileAnnotEnabled: boolean;
    private isHighlightEnabled;
    private isUnderlineEnabled;
    private isStrikethroughEnabled;
    private isHighlightBtnVisible;
    private isCommentBtnVisible;
    private isUnderlineBtnVisible;
    private isStrikethroughBtnVisible;
    private isColorToolVisible;
    private isOpacityToolVisible;
    private isDeleteAnnotationToolVisible;
    private isCurrentAnnotationOpacitySet;
    private isStampBtnVisible;
    private isShapeBtnVisible;
    private isSignatureBtnVisible;
    private isInkBtnVisible;
    private isFontFamilyToolVisible;
    private isFontSizeToolVisible;
    private isFontAlignToolVisible;
    private isFontColorToolVisible;
    private isFontStylesToolVisible;
    private isCommentPanelBtnVisible;
    private isFreeTextBtnVisible;
    private isCalibrateBtnVisible;
    private isStrokeColorToolVisible;
    private isThicknessToolVisible;
    private menuItems;
    private fontSize;
    private fontFamily;
    private stampMenu;
    private stampParentID;
    private fontColorPalette;
    private fontFamilyElement;
    private fontSizeElement;
    private fontColorElement;
    private textAlignElement;
    private textPropElement;
    private lineElement;
    private arrowElement;
    private rectangleElement;
    private circleElement;
    private polygonElement;
    private calibrateDistance;
    private calibratePerimeter;
    private calibrateArea;
    private calibrateRadius;
    private calibrateVolume;
    private alignLeftElement;
    private alignRightElement;
    private alignCenterElement;
    private alignJustifyElement;
    private boldElement;
    private italicElement;
    private alignmentToolbar;
    private propertiesToolbar;
    private fontColorDropDown;
    private textAlignDropDown;
    private textPropertiesDropDown;
    /**
     * @private
     */
    handWrittenSignatureItem: HTMLElement;
    /**
     * @private
     */
    inkAnnotationItem: HTMLElement;
    /**
     * @private
     */
    inkAnnotationSelected: boolean;
    /**
     * @private
     */
    openSignaturePopup: boolean;
    private isSavedSignatureClicked;
    private saveSignatureCount;
    private saveInitialCount;
    private shapesItem;
    private calibrateItem;
    /**
     * @private
     */
    toolbarCreated: Boolean;
    /**
     * @private
     */
    isToolbarCreated: Boolean;
    /**
     * @private
     */
    textMarkupToolbarElement: HTMLElement;
    /**
     * @private
    */
    shapeToolbarElement: HTMLElement;
    private stampToolbarElement;
    private calibrateToolbarElement;
    private freetextToolbarElement;
    private signatureInkToolbarElement;
    constructor(viewer: PdfViewer, viewerBase: PdfViewerBase, toolbar: Toolbar);
    /**
     * @private
     */
    initializeAnnotationToolbar(): void;
    createMobileAnnotationToolbar(isEnable: boolean, isPath?: boolean): void;
    hideMobileAnnotationToolbar(): void;
    private FreeTextForMobile;
    /**
     * @private
     */
    createPropertyTools(shapeType: string): void;
    private showPropertyTool;
    private stampToolMobileForMobile;
    private shapeToolMobile;
    private calibrateToolMobile;
    private textMarkupForMobile;
    private showShapeTool;
    private signatureInkForMobile;
    private hideExistingTool;
    private applyProperiesToolSettings;
    private showFreeTextPropertiesTool;
    private shapePropertiesTool;
    private showStampPropertiesTool;
    private showTextMarkupPropertiesTool;
    private showInkPropertiesTool;
    /**
     * @private
     */
    createAnnotationToolbarForMobile(id?: string): any[];
    /**
     * @private
     */
    adjustMobileViewer(): void;
    /**
     * Shows /hides the toolbar in the PdfViewer
     * @param  {boolean} enableToolbar - If set true , its show the Toolbar
     * @returns void
     */
    showToolbar(enable: Boolean): void;
    private createMobileToolbarItems;
    private goBackToToolbar;
    private createToolbarItems;
    private createSignContainer;
    private updateSignatureCount;
    private openSignature;
    private hoverSignatureDelete;
    private hoverInitialBtn;
    private hoverSignatureImage;
    private leaveSignatureDelete;
    private clickSignature;
    private clickInitial;
    private leaveSignatureImage;
    private addSignature;
    renderAddedSignature(): void;
    deleteSavedSign(event: any): void;
    private getTemplate;
    private createStampContainer;
    /**
     * @private
     */
    createCustomStampElement(): void;
    addStampImage: (args: any) => void;
    checkStampAnnotations(): void;
    private createDropDowns;
    private mobileColorpicker;
    private opacityDropDownOpen;
    private onColorPickerCancelClick;
    private onStrokePickerCancelClick;
    private colorDropDownBeforeOpen;
    /**
     * @private
     */
    setCurrentColorInPicker(): void;
    private colorDropDownOpen;
    private strokeDropDownBeforeOpen;
    private setCurrentStrokeColorInPicker;
    private strokeDropDownOpen;
    private onFontColorChange;
    private onFontFamilyChange;
    private onFontSizeChange;
    private textAlignDropDownBeforeOpen;
    private textPropertiesDropDownBeforeOpen;
    private onClickTextAlignment;
    private onClickTextProperties;
    private opacityChange;
    private opacityDropDownBeforeOpen;
    private thicknessDropDownBeforeOpen;
    private thicknessDropDownOpen;
    private calculateToolbarPosition;
    private thicknessChangeInBlazor;
    private thicknessChange;
    private ShapeThickness;
    private createDropDownButton;
    private createShapeOptions;
    private createPropertyToolbarForMobile;
    private createStampToolbarItemsForMobile;
    private createShapeToolbarItemsForMobile;
    private createCalibrateToolbarItemsForMobile;
    private handleShapeTool;
    private createPropDropDownButton;
    private textAlignmentToolbarItems;
    private afterAlignmentToolbarCreation;
    private afterPropertiesToolbarCreation;
    private createDropDownListForSize;
    private createDropDownListForFamily;
    private textPropertiesToolbarItems;
    private createShapeToolbarItems;
    private createCalibrateToolbarItems;
    private onShapeToolbarClicked;
    private onCalibrateToolbarClicked;
    private onShapeDrawSelection;
    private afterCalibrateToolbarCreationForMobile;
    private afterShapeToolbarCreationForMobile;
    private afterShapeToolbarCreation;
    private afterCalibrateToolbarCreation;
    private afterMobileToolbarCreation;
    private createColorPicker;
    private onColorPickerChange;
    private onStrokePickerChange;
    /**
     * @param element
     * @param color
     * @param element
     * @param color
     * @private
     */
    updateColorInIcon(element: HTMLElement, color: string): void;
    /**
     * @param currentOption
     * @private
     */
    updateTextPropertySelection(currentOption: string): void;
    /**
     * @param family
     * @private
     */
    updateFontFamilyInIcon(family: string): void;
    /**
     * @param align
     * @private
     */
    updateTextAlignInIcon(align: string): void;
    /**
     * @param size
     * @private
     */
    updateFontSizeInIcon(size: number): void;
    private updateOpacityIndicator;
    private updateThicknessIndicator;
    private createSlider;
    private createThicknessSlider;
    private afterToolbarCreation;
    private onToolbarClicked;
    private addInkAnnotation;
    /**
     * @private
     */
    deselectInkAnnotation(): void;
    private drawInkAnnotation;
    resetFreeTextAnnot(): void;
    private updateInkannotationItems;
    private showSignaturepanel;
    private handleFreeTextEditor;
    private updateFontFamily;
    private updateFontFamilyIcon;
    /**
     * @param element
     * @param isInitialLoading
     * @param element
     * @param isInitialLoading
     * @private
     */
    showAnnotationToolbar(element?: HTMLElement, isInitialLoading?: boolean): void;
    private enablePropertiesTool;
    private applyAnnotationToolbarSettings;
    private applyMobileAnnotationToolbarSettings;
    private showStickyNoteToolInMobile;
    private showSeparatorInMobile;
    private showInkAnnotationTool;
    private showSeparator;
    private showHighlightTool;
    private showUnderlineTool;
    private showStrikethroughTool;
    private showShapeAnnotationTool;
    private showCalibrateAnnotationTool;
    private showFreeTextAnnotationTool;
    private showStampAnnotationTool;
    private showSignatureTool;
    private showInkTool;
    private showFontFamilyAnnotationTool;
    private showFontSizeAnnotationTool;
    private showFontAlignAnnotationTool;
    private showFontColorAnnotationTool;
    private showFontStylesAnnotationTool;
    private showColorEditTool;
    private showStrokeColorEditTool;
    private showThicknessEditTool;
    private showOpacityEditTool;
    private showAnnotationDeleteTool;
    private showCommentPanelTool;
    private applyHideToToolbar;
    /**
     * @param isAdjust
     * @private
     */
    adjustViewer(isAdjust: boolean): void;
    private updateContentContainerHeight;
    private getToolbarHeight;
    private getNavigationToolbarHeight;
    private handleHighlight;
    private handleUnderline;
    private handleStrikethrough;
    /**
     * @private
     */
    deselectAllItemsInBlazor(): void;
    /**
     * @private
     */
    deselectAllItems(): void;
    private updateInteractionTools;
    /**
     * @param isEnable
     * @private
     */
    selectAnnotationDeleteItem(isEnable: boolean, deleteIconCicked?: boolean): void;
    /**
     * @param isEnable
     * @private
     */
    enableTextMarkupAnnotationPropertiesTools(isEnable: boolean): void;
    private checkAnnotationPropertiesChange;
    /**
     * @param isEnable
     * @private
     */
    enableAnnotationPropertiesTools(isEnable: boolean): void;
    /**
     * @param isEnable
     * @private
     */
    enableSignaturePropertiesTools(isEnable: boolean): void;
    /**
     * @param isEnable
     * @private
     */
    enableStampAnnotationPropertiesTools(isEnable: boolean): void;
    /**
     * @param isEnable
     * @private
     */
    enableFreeTextAnnotationPropertiesTools(isEnable: boolean): void;
    /**
     * @param isEnable
     * @private
     */
    enableAnnotationAddTools(isEnable: boolean): void;
    /**
     * @private
     */
    isAnnotationButtonsEnabled(): boolean;
    /**
     * @param isEnable
     * @private
     */
    enableCommentPanelTool(isEnable: boolean): void;
    private updateToolbarItems;
    private enableTextMarkupAddTools;
    /**
     * @private
     */
    updateAnnnotationPropertyItems(): void;
    private getColorHexValue;
    private setColorInPicker;
    /**
     * @private
     */
    resetToolbar(): void;
    /**
     * @private
     */
    clearTextMarkupMode(): void;
    /**
     * @private
     */
    clearShapeMode(): void;
    /**
     * @private
     */
    clearMeasureMode(): void;
    /**
     * @private
     */
    clear(): void;
    /**
     * @private
     */
    destroy(): void;
    private destroyComponent;
    private destroyDependentComponent;
    private getElementHeight;
    private updateViewerHeight;
    private resetViewerHeight;
    /**
     * @private
     */
    afterAnnotationToolbarCreationInBlazor(): void;
    private addClassToToolbarInBlazor;
    private handleHighlightInBlazor;
    private handleUnderlineInBlazor;
    private handleStrikethroughInBlazor;
    private AnnotationSliderOpened;
    private DropDownOpened;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/toolbar/formdesigner-toolbar.d.ts
/**
 * @hidden
 */
export  class FormDesignerToolbar {
    private pdfViewer;
    private pdfViewerBase;
    /**
     * @private
    */
    primaryToolbar: Toolbar;
    toolbarElement: HTMLElement;
    private textboxItem;
    private passwordItem;
    private checkboxItem;
    private radioButtonItem;
    private dropdownItem;
    private listboxItem;
    private signatureItem;
    private deleteItem;
    private closeItem;
    /**
     * @private
     */
    toolbar: navigations.Toolbar;
    /**
     * @private
    */
    isToolbarHidden: boolean;
    private isTextboxBtnVisible;
    private isPasswordBtnVisible;
    private isCheckboxBtnVisible;
    private isRadiobuttonBtnVisible;
    private isDropdownBtnVisible;
    private isListboxBtnVisible;
    private isSignatureBtnVisible;
    private isDeleteBtnVisible;
    private toolbarBorderHeight;
    /**
     * @private
    */
    handWrittenSignatureItem: HTMLElement;
    constructor(viewer: PdfViewer, viewerBase: PdfViewerBase, toolbar: Toolbar);
    initializeFormDesignerToolbar(): void;
    /**
     * @private
     */
    resetFormDesignerToolbar(): void;
    /**
     * @param element
     * @param isInitialLoading
     * @param element
     * @param isInitialLoading
     * @private
     */
    showFormDesignerToolbar(element?: HTMLElement, isInitialLoading?: boolean): void;
    /**
     * @param isAdjust
     * @private
    */
    adjustViewer(isAdjust: boolean): void;
    private getElementHeight;
    private updateViewerHeight;
    private resetViewerHeight;
    private getNavigationToolbarHeight;
    private updateContentContainerHeight;
    private getToolbarHeight;
    private createToolbarItems;
    private createSignContainer;
    private hoverInitialBtn;
    private getTemplate;
    private onToolbarClicked;
    private clickSignature;
    private clickInitial;
    private afterToolbarCreation;
    showHideDeleteIcon(isEnable: boolean): void;
    private applyFormDesignerToolbarSettings;
    private showTextboxTool;
    private showPasswordTool;
    private showCheckboxTool;
    private showRadioButtonTool;
    private showDropdownTool;
    private showListboxTool;
    private showDrawSignatureTool;
    private showDeleteTool;
    private showSeparator;
    private applyHideToToolbar;
    private createDropDowns;
    /**
     * @private
     */
    destroy(): void;
    private destroyDependentComponent;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/toolbar/index.d.ts
/**
 * export types
 */
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/toolbar/toolbar.d.ts
/**
 * Toolbar module
 */
export  class Toolbar {
    /**
     * @private
     */
    toolbar: navigations.Toolbar;
    private pdfViewer;
    private pdfViewerBase;
    private currentPageBox;
    private zoomDropDown;
    private currentPageBoxElement;
    /**
     * @private
     */
    uploadedDocumentName: string;
    /**
    * @private
    */
    toolbarElement: HTMLElement;
    private itemsContainer;
    private openDocumentItem;
    private firstPageItem;
    private previousPageItem;
    private nextPageItem;
    private lastPageItem;
    private zoomInItem;
    private zoomOutItem;
    private totalPageItem;
    private downloadItem;
    private zoomDropdownItem;
    /**
     * @private
     */
    submitItem: HTMLElement;
    private fileInputElement;
    private textSelectItem;
    private panItem;
    private printItem;
    private textSearchItem;
    private undoItem;
    private redoItem;
    private commentItem;
    /**
     * @private
     */
    annotationItem: HTMLElement;
    /**
     * @private
     */
    formDesignerItem: HTMLElement;
    private moreOptionItem;
    /**
     * @private
     */
    annotationToolbarModule: AnnotationToolbar;
    /**
     * @private
    */
    formDesignerToolbarModule: FormDesignerToolbar;
    /**
     * @private
     */
    moreDropDown: splitbuttons.DropDownButton;
    private isPageNavigationToolDisabled;
    private isMagnificationToolDisabled;
    /**
     * @private
    */
    isSelectionToolDisabled: boolean;
    private isScrollingToolDisabled;
    private isOpenBtnVisible;
    private isNavigationToolVisible;
    private isMagnificationToolVisible;
    private isSelectionBtnVisible;
    private isScrollingBtnVisible;
    private isDownloadBtnVisible;
    private isPrintBtnVisible;
    private isSearchBtnVisible;
    private isTextSearchBoxDisplayed;
    private isUndoRedoBtnsVisible;
    private isAnnotationEditBtnVisible;
    private isFormDesignerEditBtnVisible;
    private isCommentBtnVisible;
    private isSubmitbtnvisible;
    /**
     * @private
     */
    PanElement: any;
    /**
     * @private
    */
    SelectToolElement: HTMLElement;
    /**
     * @private
    */
    CommentElement: HTMLElement;
    /**
     * @param viewer
     * @param viewerBase
     * @param viewer
     * @param viewerBase
     * @private
     */
    constructor(viewer: PdfViewer, viewerBase: PdfViewerBase);
    /**
     * @param width
     * @private
     */
    intializeToolbar(width: string): HTMLElement;
    private bindOpenIconEvent;
    private InitializeMobileToolbarInBlazor;
    /**
     * Shows /hides the toolbar in the PdfViewer
     *
     * @param  {boolean} enableToolbar - If set true , its show the Toolbar
     * @returns void
     */
    showToolbar(enableToolbar: boolean): void;
    /**
     * Shows/hides the Navigation toolbar in the PdfViewer
     *
     * @param  {boolean} enableNavigationToolbar - If set true , its show the Navigation Toolbar
     * @returns void
     */
    showNavigationToolbar(enableNavigationToolbar: boolean): void;
    /**
     * Shows /hides the annotation toolbar in the PdfViewer
     *
     * @param  {boolean} enableAnnotationToolbar - If set true , its show the annotation Toolbar
     * @returns void
     */
    showAnnotationToolbar(enableAnnotationToolbar: boolean): void;
    /**
     * Shows /hides the the toolbar items in the PdfViewer
     *
     * @param  {string[]} items - Defines the toolbar items in the toolbar
     * @param  {boolean} isVisible - If set true, then its show the toolbar Items
     * @returns void
     */
    showToolbarItem(items: ToolbarItem[], isVisible: boolean): void;
    /**
     * Enables /disables the the toolbar items in the PdfViewer
     *
     * @param  {string[]} items - Defines the toolbar items in the toolbar
     * @param  {boolean} isEnable - If set true, then its Enable the toolbar Items
     * @returns void
     */
    enableToolbarItem(items: ToolbarItem[], isEnable: boolean): void;
    /**
     * @param restrictionSummary
     * @param isEnable
     * @param restrictionSummary
     * @param isEnable
     * @private
     */
    DisableToolbarItems(restrictionSummary: any, isEnable: boolean): void;
    private showOpenOption;
    private showPageNavigationTool;
    private showMagnificationTool;
    private showSelectionTool;
    private showScrollingTool;
    private showDownloadOption;
    private showPrintOption;
    private showSearchOption;
    private showUndoRedoTool;
    private showCommentOption;
    private showAnnotationEditTool;
    private showFormDesignerEditTool;
    private showSubmitForm;
    private enableOpenOption;
    private enablePageNavigationTool;
    private enableMagnificationTool;
    private enableSelectionTool;
    private enableScrollingTool;
    private enableDownloadOption;
    private enablePrintOption;
    private enableSearchOption;
    private enableUndoRedoTool;
    private enableAnnotationEditTool;
    private enableFormDesignerEditTool;
    private enableCommentsTool;
    /**
     * @private
     */
    resetToolbar(): void;
    /**
     * @private
     */
    updateToolbarItems(): void;
    /**
     * @private
     */
    updateNavigationButtons(): void;
    /**
     * @private
     */
    updateZoomButtons(): void;
    /**
     * @private
     */
    updateUndoRedoButtons(): void;
    private enableCollectionAvailable;
    private enableCollectionAvailableInBlazor;
    private disableUndoRedoButtons;
    /**
     * @private
     */
    destroy(): void;
    private destroyComponent;
    private destroyDependentComponent;
    /**
     * @param pageIndex
     * @private
     */
    updateCurrentPage(pageIndex: number): void;
    /**
     * @private
     */
    updateTotalPage(): void;
    /**
     * @param event
     * @private
     */
    openFileDialogBox(event: Event): void;
    private createToolbar;
    private createToolbarItems;
    private afterToolbarCreationInMobile;
    private afterToolbarCreation;
    /**
     * @param idString
     * @param className
     * @param tooltipText
     * @param idString
     * @param className
     * @param tooltipText
     * @private
     */
    addClassToolbarItem(idString: string, className: string, tooltipText: string): HTMLElement;
    private addPropertiesToolItemContainer;
    private createZoomDropdownElement;
    private createZoomDropdown;
    private createCurrentPageInputTemplate;
    private createTotalPageTemplate;
    private createNumericTextBox;
    private onToolbarKeydown;
    private createToolbarItemsForMobile;
    private createMoreOption;
    private createToolbarItem;
    /**
     * @param toolbarItem
     * @param tooltipText
     * @param toolbarItem
     * @param tooltipText
     * @private
     */
    createTooltip(toolbarItem: HTMLElement, tooltipText: string): void;
    private onTooltipBeforeOpen;
    private createFileElement;
    private wireEvent;
    private unWireEvent;
    /**
     * @param viewerWidth
     * @private
     */
    onToolbarResize(viewerWidth: number): void;
    private toolbarOnMouseup;
    private applyHideToToolbar;
    private toolbarClickHandler;
    private handleOpenIconClick;
    private handleToolbarBtnClick;
    addInkAnnotation(): void;
    deSelectCommentAnnotation(): void;
    /**
    * @private
    */
    addComments(targetElement: any): void;
    openZoomDropdown(): void;
    private loadDocument;
    private navigateToPage;
    private textBoxFocusOut;
    private onZoomDropDownInput;
    private onZoomDropDownInputClick;
    private zoomPercentSelect;
    private zoomDropDownChange;
    /**
     * @param zoomFactor
     * @private
     */
    updateZoomPercentage(zoomFactor: number): void;
    private updateInteractionItems;
    /**
     * @private
     */
    textSearchButtonHandler(): void;
    private initiateAnnotationMode;
    private initiateFormDesignerMode;
    /**
     * @private
     */
    DisableInteractionTools(): void;
    /**
     * @param element
     * @private
     */
    selectItem(element: HTMLElement): void;
    /**
     * @param element
     * @private
     */
    deSelectItem(element: HTMLElement): void;
    /**
     * @param isTextSelect
     * @private
     */
    updateInteractionTools(isTextSelect: boolean): void;
    private initialEnableItems;
    private showSeparator;
    private applyToolbarSettings;
    private applyToolbarSettingsForMobile;
    private getStampMode;
    private stampBeforeOpen;
    private stampBeforeClose;
    /**
     * @private
     */
    updateStampItems(): void;
    private stampSelect;
    /**
     * @private
     */
    getModuleName(): string;
}
 }
export namespace pivotview { 

//node_modules/@syncfusion/ej2-pivotview/src/base/engine.d.ts
/**
 * PivotEngine is used to manipulate the relational or Multi-Dimensional data as pivoting values.
 */
/** @hidden */
export  class PivotEngine {
    /** @hidden */
    globalize: base.Internationalization;
    /** @hidden */
    fieldList: IFieldListOptions;
    /** @hidden */
    pivotValues: IPivotValues;
    /** @hidden */
    aggregatedValueMatrix: IMatrix2D;
    /** @hidden */
    headerContent: IGridValues;
    /** @hidden */
    valueContent: IGridValues;
    /** @hidden */
    fields: string[];
    /** @hidden */
    rows: IFieldOptions[];
    /** @hidden */
    columns: IFieldOptions[];
    /** @hidden */
    values: IFieldOptions[];
    /** @hidden */
    filters: IFieldOptions[];
    /** @hidden */
    excludeFields: string[];
    /** @hidden */
    groups: IGroupSettings[];
    /** @hidden */
    isMultiMeasures: boolean;
    /** @hidden */
    alwaysShowValueHeader: boolean;
    /** @hidden */
    drilledMembers: IDrillOptions[];
    /** @hidden */
    formats: IFormatSettings[];
    /** @hidden */
    isExpandAll: boolean;
    /** @hidden */
    enableSort: boolean;
    /** @hidden */
    showSubTotals: boolean;
    /** @hidden */
    showRowSubTotals: boolean;
    /** @hidden */
    showColumnSubTotals: boolean;
    /** @hidden */
    showGrandTotals: boolean;
    /** @hidden */
    grandTotalsPosition: GrandTotalsPosition;
    /** @hidden */
    showRowGrandTotals: boolean;
    /** @hidden */
    showHeaderWhenEmpty: boolean;
    /** @hidden */
    showColumnGrandTotals: boolean;
    /** @hidden */
    pageSettings: IPageSettings;
    /** @hidden */
    filterMembers: number[];
    /** @hidden */
    formatFields: {
        [key: string]: IFormatSettings;
    };
    /** @hidden */
    groupingFieldsInfo: {
        [key: string]: string;
    };
    /** @hidden */
    dateFormatFunction: {
        [key: string]: {
            exactFormat: Function;
            fullFormat: Function;
        };
    };
    /** @hidden */
    calculatedFieldSettings: ICalculatedFieldSettings[];
    /** @hidden */
    calculatedFields: {
        [key: string]: ICalculatedFields;
    };
    /** @hidden */
    calculatedFormulas: {
        [key: string]: Object;
    };
    /** @hidden */
    valueSortSettings: IValueSortSettings;
    /** @hidden */
    rowIndex: number[];
    /** @hidden */
    isEngineUpdated: boolean;
    /** @hidden */
    savedFieldList: IFieldListOptions;
    /** @hidden */
    valueAxis: number;
    /** @hidden */
    saveDataHeaders: {
        [key: string]: IAxisSet[];
    };
    /** @hidden */
    columnCount: number;
    /** @hidden */
    rowCount: number;
    /** @hidden */
    columnPageCount: number;
    /** @hidden */
    rowPageCount: number;
    /** @hidden */
    colFirstLvl: number;
    /** @hidden */
    rowFirstLvl: number;
    /** @hidden */
    rowStartPos: number;
    /** @hidden */
    colStartPos: number;
    /** @hidden */
    enableValueSorting: boolean;
    /** @hidden */
    headerCollection: HeaderCollection;
    /** @hidden */
    isValueFilterEnabled: boolean;
    /** @hidden */
    isEmptyData: boolean;
    /** @hidden */
    emptyCellTextContent: string;
    /** @hidden */
    isHeaderAvail: boolean;
    /** @hidden */
    isDrillThrough: boolean;
    /** @hidden */
    rMembers: IAxisSet[];
    /** @hidden */
    cMembers: IAxisSet[];
    /** @hidden */
    groupingFields: {
        [key: string]: string;
    };
    /** @hidden */
    isLastHeaderHasMeasures: boolean;
    /** @hidden */
    measureIndex: number;
    /** @hidden */
    isPagingOrVirtualizationEnabled: boolean;
    private reportDataType;
    private allowValueFilter;
    private isValueFiltered;
    private isValueFiltersAvail;
    private valueSortData;
    private valueFilteredData;
    private filterFramedHeaders;
    private valueMatrix;
    private indexMatrix;
    private memberCnt;
    private pageInLimit;
    private endPos;
    private removeCount;
    private colHdrBufferCalculated;
    private colValuesLength;
    private rowValuesLength;
    private slicedHeaders;
    private fieldFilterMem;
    private filterPosObj;
    private selectedHeaders;
    private rowGrandTotal;
    private columnGrandTotal;
    private removeRowGrandTotal;
    private removeColumnGrandTotal;
    private isValueHasAdvancedAggregate;
    private rawIndexObject;
    private valueSortHeaderText;
    private isEditing;
    /** @hidden */
    data: IDataSet[] | string[][];
    /** @hidden */
    actualData: IDataSet[] | string[][];
    /** @hidden */
    groupRawIndex: {
        [key: number]: number[];
    };
    /** @hidden */
    fieldKeys: IDataSet;
    private allowDataCompression;
    private dataSourceSettings;
    private frameHeaderObjectsCollection;
    private headerObjectsCollection;
    private localeObj;
    private getValueCellInfo;
    private getHeaderSortInfo;
    private fieldsType;
    private columnKeys;
    private fieldDrillCollection;
    private fieldMapping;
    private formatRegex;
    private clonedReport;
    private measureNames;
    private currencyCode;
    private enablePaging;
    private enableVirtualization;
    private isParentLevelAdded;
    renderEngine(dataSource?: IDataOptions, customProperties?: ICustomProperties, fn?: Function, onHeadersSort?: Function): void;
    private removeIrrelevantFields;
    private updateDataSourceSettings;
    private getGroupedRawData;
    private getGroupData;
    private frameData;
    private getRange;
    private getPercentFormat;
    private getFormattedFields;
    private getFieldList;
    private updateMembersOrder;
    private getMappingField;
    private updateFieldList;
    private updateTreeViewData;
    private getCalculatedField;
    private validateFilters;
    private validateValueFields;
    private fillFieldMembers;
    private generateValueMatrix;
    private updateSortSettings;
    private updateFilterMembers;
    private getFilters;
    private isValidFilterField;
    private applyLabelFilter;
    private getLabelFilterMembers;
    private getDateFilterMembers;
    private validateFilterValue;
    private frameFilterList;
    private updateFilter;
    private applyValueFiltering;
    private getFilteredData;
    private getParsedValue;
    private removefilteredData;
    private validateFilteredParentData;
    private updateFramedHeaders;
    private validateFilteredHeaders;
    private isEmptyDataAvail;
    /** @hidden */
    updateGridData(dataSource: IDataOptions): void;
    generateGridData(dataSource: IDataOptions, requireDatasourceUpdate?: boolean, headerCollection?: HeaderCollection): void;
    private updateHeaders;
    private updatePivotValues;
    /** @hidden */
    onDrill(drilledItem: IDrilledItem): void;
    /** @hidden */
    onSort(sortItem: ISort): void;
    /** @hidden */
    onFilter(filterItem: IFilter, dataSource: IDataOptions): void;
    /** @hidden */
    onAggregation(field: IFieldOptions): void;
    /** @hidden */
    onCalcOperation(field: ICalculatedFields): void;
    private performDrillOperation;
    private performSortOperation;
    private performFilterDeletion;
    private matchIndexes;
    private performFilterAddition;
    private performFilterCommonUpdate;
    private getHeadersInfo;
    /** @hidden */
    updateEngine(): void;
    private getAxisByFieldName;
    private getFieldByName;
    private updateHeadersCount;
    /** @hidden */
    frameHeaderWithKeys(header: any): IAxisSet;
    private getSortedHeaders;
    private sortHeaders;
    /** @hidden */
    applyValueSorting(rMembers?: IAxisSet[], cMembers?: IAxisSet[]): ISortedHeaders;
    private getMember;
    private sortByValueRow;
    private insertAllMembersCommon;
    private insertSubTotals;
    private frameDrillObject;
    private getIndexedHeaders;
    private getOrderedIndex;
    private insertPosition;
    private insertTotalPosition;
    private calculatePagingValues;
    private performSlicing;
    private removeChildMembers;
    private insertAllMember;
    private getTableData;
    private getAggregatedHeaders;
    private getAggregatedHeaderData;
    private updateSelectedHeaders;
    private applyAdvancedAggregate;
    private updateAggregates;
    private getSelectedColumn;
    private getSelectedRow;
    private recursiveRowData;
    private updateRowData;
    private getCellSet;
    private updateValueMembers;
    private frameDefinedHeaderData;
    private getHeaderData;
    getAggregateValue(rowIndex: number[], columnIndex: INumberIndex, value: number, type: string, isGrandTotal: boolean): number;
    private evaluate;
    /** hidden */
    getFormattedValue(value: number | string, fieldName: string): IAxisSet;
    private powerFunction;
}
/**
 * Allows the following pivot report information such as rows, columns, values, filters, etc., that are used to render the pivot table and field list.
 * * `catalog`: Allows to set the database name of SSAS cube as string type that used to retrieve the data from the specified connection string. **Note: It is applicable only for OLAP data source.**
 * * `cube`: Allows you to set the SSAS cube name as string type that used to retrieve data for pivot table rendering. **Note: It is applicable only for OLAP data source.**
 * * `providerType`: Allows to set the provider type to identify the given connection is either Relational or SSAS to render the pivot table and field list.
 * * `url`: Allows to set the URL as string type, which helps to identify the service endpoint where the data are processed and retrieved to render the pivot table and field list. **Note: It is applicable only for OLAP data source.**
 * * `localeIdentifier`: Allows you to set the specific culture code as number type to render pivot table with desired localization.
 * By default, the pivot table displays with culture code **1033**, which indicates "en-US" locale. **Note: It is applicale only for OLAP data source.**
 * * `dataSource`: Allows you to set the data source as JSON collection to the pivot report either from local or from remote server to the render the pivot that and field list.
 * You can fetch JSON data from remote server by using data.DataManager. **Note: It is applicable only for relational data source.**
 * * `rows`: Allows specific fields associated with field information that needs to be displayed in row axis of pivot table.
 * * `columns`: Allows specific fields associated with field information that needs to be displayed in column axis of pivot table.
 * * `values`: Allows specific fields associated with field information that needs to be displayed as aggregated numeric values in pivot table.
 * * `filters`: Allows to filter the values in other axis based on the collection of filter fields in pivot table.
 * * `excludeFields`: Allows you to restrict the specific field(s) from displaying it in the field list UI.
 * You may also be unable to render the pivot table with this field(s) by doing so. **Note: It is applicable only for relational data source.**
 * * `expandAll`: Allows you to either expand or collapse all the headers that are displayed in the pivot table.
 * By default, all the headers are collapsed in the pivot table. **Note: It is applicable only for Relational data.**
 * * `valueAxis`: Allows you to set the value fields that to be plotted either in row or column axis in the pivot table.
 * * `filterSettings`: Allows specific fields associated with either selective or conditional-based filter members that used to be displayed in the pivot table.
 * * `sortSettings`: Allows specific fields associated with sort settings to order their members either in ascending or descending that used to be displayed in the pivot table.
 * By default, the data source containing fields are display with Ascending order alone. To use this option, it requires the `enableSorting` property to be **true**.
 * * `enableSorting`: Allows to perform sort operation to order members of a specific fields either in ascending or descending that used to be displayed in the pivot table.
 * * `formatSettings`: Allows specific fields used to display the values with specific format that used to be displayed in the pivot table.
 * For example, to display a specific field with currency formatted values in the pivot table, the set the `format` property to be **C**.
 * * `drilledMembers`: Allows specific fields used to display their the headers to be either expanded or collapsed in the pivot table.
 * * `valueSortSettings`: Allows to sort individual value field and its aggregated values either in row or column axis to ascending or descending order.
 * * `calculatedFieldSettings`: Allows to create new calculated fields from the bound data source or using simple formula with basic arithmetic operators in the pivot table.
 * * `allowMemberFilter`: Allows to perform filter operation based on the selective filter members of the specific fields used to be displayed in the pivot table.
 * * `allowLabelFilter`: Allows to perform filter operation based on the selective headers used to be displayed in the pivot table.
 * * `allowValueFilter`: Allows to perform filter operation based only on value fields and its resultant aggregated values over other fields defined in row and column axes that used to be displayed in the pivot table.
 * * `showSubTotals`: Allows to show or hide sub-totals in both rows and columns axis of the pivot table.
 * * `showRowSubTotals`: Allows to show or hide sub-totals in row axis of the pivot table.
 * * `showColumnSubTotals`: Allows to show or hide sub-totals in column axis of the pivot table.
 * * `showGrandTotals`: Allows to show or hide grand totals in both rows and columns axis of the pivot table.
 * * `grandTotalsPosition`: Allows the grand totals to be position at first position in the row and column axis of the pivot table.
 * * `showRowGrandTotals`: Allows to show or hide grand totals in row axis of the pivot table.
 * * `showColumnGrandTotals`: Allows to show or hide grand totals in column axis of the pivot table.
 * * `showHeaderWhenEmpty`: Allows the undefined headers to be displayed in the pivot table, when the specific field(s) are not defined in the raw data.
 * For example, if the raw data for the field ‘Country’ is defined as “United Kingdom” and “State” is not defined means, it will be shown as “United Kingdom >> Undefined” in the header section.
 * * `alwaysShowValueHeader`: Allows to show the value field header always in pivot table, even if it holds a single field in the value field axis.
 * * `conditionalFormatSettings`: Allows a collection of values fields to change the appearance of the pivot table value cells with different style properties such as background color, font color, font family, and font size based on specific conditions.
 * * `emptyCellsTextContent`: Allows to show custom string to the empty value cells that used to display in the pivot table. You can fill empty value cells with any value like “0”, ”-”, ”*”, “(blank)”, etc.
 * * `groupSettings`: Allows specific fields to group their data on the basis of their type.
 * For example, the date type fields can be formatted and displayed based on year, quarter, month, and more. Likewise, the number type fields can be grouped range-wise, such as 1-5, 6-10, etc.
 * You can perform custom group to the string type fields that used to displayed in the pivot table.
 * * `showAggregationOnValueField`: Allows the pivot button with specific value field caption along with the aggregation type, to be displayed in the grouping bar and field list UI.
 * For example, if the value field "Sold Amount" is aggregated with Sum, it will be displayed with caption "Sum of Sold Amount" in its pivot button.
 * * `authentication`: Allows you to set the credential information to access the specified SSAS cube. **Note: It is applicable only for OLAP data source**.
 */
export interface IDataOptions {
    /**
     * Allows to set the database name of SSAS cube as string type that used to retrieve the data from the specified connection string.
     * > It is applicable only for OLAP data source.
     */
    catalog?: string;
    /**
     * Allows you to set the SSAS cube name as string type that used to retrieve data for pivot table rendering.
     * > It is applicable only for OLAP data source.
     */
    cube?: string;
    /**
     * Allows to set the provider type to identify the given connection is either **Relational** or **SSAS** to render the pivot table and field list. The following options are:
     * * `Relational`: Allows to render the pivot table with JSON data collection either fetch at local or remote server.
     * * `SSAS`: Allows to render the pivot table with OLAP data fetch from OLAP cube.
     */
    providerType?: ProviderType;
    /**
     * Allows to set the URL as string type, which helps to identify the service endpoint where the data are processed and retrieved to render the pivot table and field list.
     * > It is applicable only for OLAP data source.
     */
    url?: string;
    /**
     * Allows you to set the specific culture code as number type to render pivot table with desired localization.
     * By default, the pivot table displays with culture code **1033**, which indicates "en-US" locale.
     * > It is applicale only for OLAP data source.
     */
    localeIdentifier?: number;
    /**
     * Allows you to set the data source as JSON collection to the pivot report either from local or from remote server to the render the pivot that and field list.
     * You can fetch JSON data from remote server by using data.DataManager.
     * > It is applicable only for relational data source.
     */
    dataSource?: IDataSet[] | data.DataManager | string[][];
    /**
     * Allows specific fields associated with field information that needs to be displayed in row axis of pivot table. The following configurations which are applicable are as follows:
     * * `name`: Allows you to set the field name that needs to be displayed in row axis of pivot table.
     * * `caption`: Allows you to set caption to the specific field. It will be used to display instead of its name in pivot table component's UI.
     * * `showNoDataItems`: Allows you to display all members items of a specific field to the pivot table,
     * even doesn't have any data in its row/column intersection in data source. **Note: It is applicable only for relational data source.**
     * * `showSubTotals`: Allows to show or hide sub-totals to a specific field in row axis of the pivot table.
     * * `isNamedSet`: Allows you to set whether the specified field is a named set or not. In general,
     * the named set is a set of dimension members or a set expression (MDX query) to be created as a dimension in the SSAS OLAP cube itself. **Note: It is applicable only for OLAP data source.**
     * * `isCalculatedField`: Allows to set whether the specified field is a calculated field or not.
     * In general, the calculated field is created from the bound data source or using simple formula with basic arithmetic operators in the pivot table. **Note: It is applicable only for OLAP data source.**
     * * `showFilterIcon`: Allows you to show or hide the filter icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This filter icon is used to filter the members of a specified field at runtime in the pivot table.
     * * `showSortIcon`: Allows you to show or hide the sort icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This sort icon is used to order members of a specified field either in ascending or descending at runtime.
     * * `showRemoveIcon`: Allows you to show or hide the remove icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This remove icon is used to remove the specified field during runtime.
     * * `showEditIcon`: Allows you to show or hide the edit icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This edit icon is used to modify caption, formula, and format of a specified calculated field at runtime that to be displayed in the pivot table.
     * * `allowDragAndDrop`: Allows you to restrict the specific field's pivot button that is used to drag on runtime in the grouping bar and field list UI.
     * This will prevent you from modifying the current report.
     * * `expandAll`: Allows you to expand or collapse all of the pivot table's headers for a specific field.
     */
    rows?: IFieldOptions[];
    /**
     * Allows specific fields associated with field information that needs to be displayed in column axis of pivot table. The following configurations which are applicable are as follows:
     * * `name`: Allows you to set the field name that needs to be displayed in column axis of pivot table.
     * * `caption`: Allows you to set caption to the specific field. It will be used to display instead of its name in pivot table component's UI.
     * * `showNoDataItems`: Allows you to display all members items of a specific field to the pivot table,
     * even doesn't have any data in its row/column intersection in data source. **Note: It is applicable only for relational data source.**
     * * `showSubTotals`: Allows to show or hide sub-totals to a specific field in column axis of the pivot table.
     * * `isNamedSet`: Allows you to set whether the specified field is a named set or not. In general,
     * the named set is a set of dimension members or a set expression (MDX query) to be created as a dimension in the SSAS OLAP cube itself. **Note: It is applicable only for OLAP data source.**
     * * `isCalculatedField`: Allows to set whether the specified field is a calculated field or not.
     * In general, the calculated field is created from the bound data source or using simple formula with basic arithmetic operators in the pivot table. **Note: It is applicable only for OLAP data source.**
     * * `showFilterIcon`: Allows you to show or hide the filter icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This filter icon is used to filter the members of a specified field at runtime in the pivot table.
     * * `showSortIcon`: Allows you to show or hide the sort icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This sort icon is used to order members of a specified field either in ascending or descending at runtime.
     * * `showRemoveIcon`: Allows you to show or hide the remove icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This remove icon is used to remove the specified field during runtime.
     * * `showEditIcon`: Allows you to show or hide the edit icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This edit icon is used to modify caption, formula, and format of a specified calculated field at runtime that to be displayed in the pivot table.
     * * `allowDragAndDrop`: Allows you to restrict the specific field's pivot button that is used to drag on runtime in the grouping bar and field list UI.
     * This will prevent you from modifying the current report.
     * * `expandAll`: Allows you to expand or collapse all of the pivot table's headers for a specific field.
     */
    columns?: IFieldOptions[];
    /**
     * Allows specific fields associated with field information that needs to be displayed as aggregated numeric values in pivot table. The following configurations which are applicable are as follows:
     * * `name`: Allows you to set the field name that needs to be displayed in row/column/value/filter axis of pivot table.
     * * `caption`: Allows you to set caption to the specific field. It will be used to display instead of its name in pivot table component's UI.
     * * `type`: Allows to display the values in the pivot table with appropriate aggregations such as sum, product, count, average, etc… **Note: It is applicable only for relational data source.**
     * * `baseField`: Allows you to set the selective field, which used to display the values with either
     *  DifferenceFrom or PercentageOfDifferenceFrom or PercentageOfParentTotal aggregate types. **Note: It is applicable only for relational data source.**
     * * `baseItem`: Allows you to set the selective item of a specific field, which used to display the values with either DifferenceFrom or PercentageOfDifferenceFrom aggregate types.
     * The selective item should be set the from field specified in the baseField property. **Note: It is applicable only for relational data source.**
     * * `isCalculatedField`: Allows to set whether the specified field is a calculated field or not.
     * In general, the calculated field is created from the bound data source or using simple formula with basic arithmetic operators in the pivot table. **Note: It is applicable only for OLAP data source.**
     * * `showRemoveIcon`: Allows you to show or hide the remove icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This remove icon is used to remove the specified field during runtime.
     * * `showValueTypeIcon`: Allows you to show or hide the value type icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This value type icon helps to select the appropriate aggregation type to specified value field at runtime.
     * * `showEditIcon`: Allows you to show or hide the edit icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This edit icon is used to modify caption, formula, and format of a specified calculated field at runtime that to be displayed in the pivot table.
     * * `allowDragAndDrop`: Allows you to restrict the specific field's pivot button that is used to drag on runtime in the grouping bar and field list UI.
     * This will prevent you from modifying the current report.
     * * `expandAll`: Allows you to expand or collapse all of the pivot table's headers for a specific field.
     */
    values?: IFieldOptions[];
    /**
     * Allows to filter the values in other axis based on the collection of filter fields in pivot table. The following configurations which are applicable are as follows:
     * * `name`: Allows you to set the field name that needs to be displayed in row/column/value/filter axis of pivot table.
     * * `caption`: Allows you to set caption to the specific field. It will be used to display instead of its name in pivot table component's UI.
     * * `isNamedSet`: Allows you to set whether the specified field is a named set or not. In general,
     * the named set is a set of dimension members or a set expression (MDX query) to be created as a dimension in the SSAS OLAP cube itself. **Note: It is applicable only for OLAP data source.**
     * * `isCalculatedField`: Allows to set whether the specified field is a calculated field or not.
     * In general, the calculated field is created from the bound data source or using simple formula with basic arithmetic operators in the pivot table. **Note: It is applicable only for OLAP data source.**
     * * `showFilterIcon`: Allows you to show or hide the filter icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This filter icon is used to filter the members of a specified field at runtime in the pivot table.
     * * `showRemoveIcon`: Allows you to show or hide the remove icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This remove icon is used to remove the specified field during runtime.
     * * `showEditIcon`: Allows you to show or hide the edit icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This edit icon is used to modify caption, formula, and format of a specified calculated field at runtime that to be displayed in the pivot table.
     * * `allowDragAndDrop`: Allows you to restrict the specific field's pivot button that is used to drag on runtime in the grouping bar and field list UI.
     * This will prevent you from modifying the current report.
     * * `expandAll`: Allows you to expand or collapse all of the pivot table's headers for a specific field.
     */
    filters?: IFieldOptions[];
    /**
     * Allows you to restrict the specific field(s) from displaying it in the field list UI.
     * You may also be unable to render the pivot table with this field(s) by doing so.
     * > It is applicable only for relational data source.
     */
    excludeFields?: string[];
    /**
     * Allows you to either expand or collapse all the headers that are displayed in the pivot table.
     * By default, all the headers are collapsed in the pivot table.
     * > It is applicable only for Relational data.
     */
    expandAll?: boolean;
    /**
     * Allows you to set the value fields that to be plotted either in row or column axis in the pivot table.
     */
    valueAxis?: string;
    /**
     * Allows you to display the value headers based on the index position in row or column axis in the pivot table.
     * By default, the value headers are displayed at last index position based on the `valueAxis` property.
     * > It is applicale only for relational data source.
     */
    valueIndex?: number;
    /**
     * Allows specific fields associated with either selective or conditional-based filter members that used to be displayed in the pivot table.
     */
    filterSettings?: IFilter[];
    /**
     * Allows specific fields associated with sort settings to order their members either in ascending or descending that used to be displayed in the pivot table.
     * By default, the data source containing fields are display with Ascending order alone. To use this option, it requires the `enableSorting` property to be **true**.
     */
    sortSettings?: ISort[];
    /**
     * Allows to perform sort operation to order members of a specific fields either in ascending or descending that used to be displayed in the pivot table.
     */
    enableSorting?: boolean;
    /**
     * Allows specific fields used to display the values with specific format that used to be displayed in the pivot table.
     * For example, to display a specific field with currency formatted values in the pivot table, the set the `format` property to be **C**.
     */
    formatSettings?: IFormatSettings[];
    /**
     * Allows specific fields used to display their the headers to be either expanded or collapsed in the pivot table.
     */
    drilledMembers?: IDrillOptions[];
    /**
     * Allows to sort individual value field and its aggregated values either in row or column axis to ascending or descending order.
     */
    valueSortSettings?: IValueSortSettings;
    /**
     * Allows to create new calculated fields from the bound data source or using simple formula with basic arithmetic operators in the pivot table.
     */
    calculatedFieldSettings?: ICalculatedFieldSettings[];
    /**
     * Allows to perform filter operation based on the selective filter members of the specific fields used to be displayed in the pivot table.
     */
    allowMemberFilter?: boolean;
    /**
     * Allows to perform filter operation based on the selective headers used to be displayed in the pivot table.
     */
    allowLabelFilter?: boolean;
    /**
     * Allows to perform filter operation based only on value fields and its resultant aggregated values over other fields defined in row and column axes that used to be displayed in the pivot table.
     */
    allowValueFilter?: boolean;
    /**
     * Allows to show or hide sub-totals in both rows and columns axis of the pivot table.
     */
    showSubTotals?: boolean;
    /**
     * Allows to show or hide sub-totals in row axis of the pivot table.
     */
    showRowSubTotals?: boolean;
    /**
     * Allows to show or hide sub-totals in column axis of the pivot table.
     */
    showColumnSubTotals?: boolean;
    /**
     * Allows to show or hide grand totals in both rows and columns axis of the pivot table.
     */
    showGrandTotals?: boolean;
    /**
     * Allows the grand totals to be position at first position in the row and column axis of the pivot table.
     */
    grandTotalsPosition?: GrandTotalsPosition;
    /**
     * Allows to show or hide grand totals in row axis of the pivot table.
     */
    showRowGrandTotals?: boolean;
    /**
     * Allows to show or hide grand totals in column axis of the pivot table.
     */
    showColumnGrandTotals?: boolean;
    /**
     * Allows the undefined headers to be displayed in the pivot table, when the specific field(s) are not defined in the raw data.
     * For example, if the raw data for the field ‘Country’ is defined as “United Kingdom” and “State” is not defined means, it will be shown as “United Kingdom >> Undefined” in the header section.
     */
    showHeaderWhenEmpty?: boolean;
    /**
     * Allows to show the value field header always in pivot table, even if it holds a single field in the value field axis.
     */
    alwaysShowValueHeader?: boolean;
    /**
     * Allows a collection of values fields to change the appearance of the pivot table value cells with different style properties such as background color, font color, font family, and font size based on specific conditions.
     */
    conditionalFormatSettings?: IConditionalFormatSettings[];
    /**
     * Allows to show custom string to the empty value cells that used to display in the pivot table. You can fill empty value cells with any value like “0”, ”-”, ”*”, “(blank)”, etc.
     */
    emptyCellsTextContent?: string;
    /**
     * Allows specific fields to group their data on the basis of their type.
     * For example, the date type fields can be formatted and displayed based on year, quarter, month, and more. Likewise, the number type fields can be grouped range-wise, such as 1-5, 6-10, etc.
     * You can perform custom group to the string type fields that used to displayed in the pivot table.
     */
    groupSettings?: IGroupSettings[];
    /**
     * Allows the pivot button with specific value field caption along with the aggregation type, to be displayed in the grouping bar and field list UI.
     * For example, if the value field "Sold Amount" is aggregated with Sum, it will be displayed with caption "Sum of Sold Amount" in its pivot button.
     */
    showAggregationOnValueField?: boolean;
    /**
     * Allows you to set the credential information to access the specified SSAS cube.
     * > It is applicable only for OLAP data source.
     */
    authentication?: IAuthenticationInfo;
    /**
     * Allows to define the data source type.
     */
    type?: DataSourceType;
    /**
     * Allows specific fields associated with field information that can be used while creating fieldlist. The following configurations which are applicable are as follows:
     * * `name`: Allows you to set the field name which is going to configure while creating the fieldlist.
     * * `caption`: Allows you to set caption to the specific field. It will be used to display instead of its name in pivot table component's UI.
     * * `showNoDataItems`: Allows you to display all members items of a specific field to the pivot table,
     * even doesn't have any data in its row/column intersection in data source. **Note: It is applicable only for relational data source.**
     * * `showSubTotals`: Allows to show or hide sub-totals to a specific field in row axis of the pivot table.
     * * `isNamedSet`: Allows you to set whether the specified field is a named set or not. In general,
     * the named set is a set of dimension members or a set expression (MDX query) to be created as a dimension in the SSAS OLAP cube itself. **Note: It is applicable only for OLAP data source.**
     * * `isCalculatedField`: Allows to set whether the specified field is a calculated field or not.
     * In general, the calculated field is created from the bound data source or using simple formula with basic arithmetic operators in the pivot table. **Note: It is applicable only for OLAP data source.**
     * * `showFilterIcon`: Allows you to show or hide the filter icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This filter icon is used to filter the members of a specified field at runtime in the pivot table.
     * * `showSortIcon`: Allows you to show or hide the sort icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This sort icon is used to order members of a specified field either in ascending or descending at runtime.
     * * `showRemoveIcon`: Allows you to show or hide the remove icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This remove icon is used to remove the specified field during runtime.
     * * `showEditIcon`: Allows you to show or hide the edit icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This edit icon is used to modify caption, formula, and format of a specified calculated field at runtime that to be displayed in the pivot table.
     * * `allowDragAndDrop`: Allows you to restrict the specific field's pivot button that is used to drag on runtime in the grouping bar and field list UI.
     * This will prevent you from modifying the current report.
     * * `expandAll`: Allows you to expand or collapse all of the pivot table's headers for a specific field.
     */
    fieldMapping?: IFieldOptions[];
}
/**
 * Allows a collection of values fields to change the appearance of the pivot table value cells with different style properties such as background color, font color, font family, and font size based on specific conditions.
 */
export interface IConditionalFormatSettings {
    /**
     * Allows to set the value field name to apply conditional formatting.
     */
    measure?: string;
    /**
     * Allows you to choose the operator type such as equals, greater than, less than, etc. for conditional formatting.
     */
    conditions?: Condition;
    /**
     * Allows you to set the start value for applying conditional formatting.
     */
    value1?: number;
    /**
     * Allows you to set the end value for applying conditional formatting.
     * > This option will be used by default when the operator **Between** and **NotBetween** is chosen to apply.
     */
    value2?: number;
    /**
     * Allows to set the custom styles for the formatting applied values in the pivot table.
     */
    style?: IStyle;
    /**
     * Allows to set the header text of a specific row/column field to apply conditional formatting.
     */
    label?: string;
    /**
     * Allows to apply conditional formatting to the grand totals of row and column axis in the pivot table.
     */
    applyGrandTotals?: boolean;
}
/**
 * Allows the style information to cusotmize the pivot table cell apprearance.
 */
export interface IStyle {
    /**
     * It allows to set the background color to the value cell in the pivot table.
     */
    backgroundColor?: string;
    /**
     * It allows to set the font color to the value cell in the pivot table.
     */
    color?: string;
    /**
     * It allows to set the font family to the value cell in the pivot table.
     */
    fontFamily?: string;
    /**
     * It allows to set the font size to the value cell in the pivot table.
     */
    fontSize?: string;
}
/**
 * Allows to sort individual value field and its aggregated values either in row or column axis to ascending or descending order.
 */
export interface IValueSortSettings {
    /**
     * It allows to set the member name of a specific field for value sorting.
     */
    headerText?: string;
    /**
     * It allows to set the delimiter, which is used a separator to split the given header text.
     */
    headerDelimiter?: string;
    /**
     * Allows to apply sorting to the specified field either by ascending or descending. The types are,
     * * `Ascending`: It allows to display the field members in ascending order.
     * * `Descending`: It allows to display the field members in descending order.
     */
    sortOrder?: Sorting;
    /**
     * It allows to set the column index of the value cell.
     */
    columnIndex?: number;
    /**
     * It allows to set the measure name to achieve value sorting based on this.
     * > It is applicable only for OLAP data source.
     */
    measure?: string;
}
/**
 * Allows you to set the credential information to access the specified SSAS cube.
 * > It is applicable only for OLAP data source.
 */
export interface IAuthenticationInfo {
    /**
     * It allows to set the user name to access the specified SSAS cube.
     */
    userName?: string;
    /**
     * It allows to set the password to access the specified SSAS cube.
     */
    password?: string;
}
/**
 * Allows to set the page infomration to display the pivot table with specific page during virual scrolling.
 */
export interface IPageSettings {
    /**
     * It allows to set the total column count of the pivot table.
     */
    columnPageSize?: number;
    /**
     * It allows to set the total row count of the pivot table.
     */
    rowPageSize?: number;
    /**
     * It allows to set the current column page count displayed in the pivot table.
     */
    currentColumnPage?: number;
    /**
     * It allows to set the current row page count displayed in the pivot table.
     */
    currentRowPage?: number;
}
/**
 * @hidden
 */
export interface IMatrix2D {
    [key: number]: {
        [key: number]: number;
    };
    length: number;
    push(item: number): number;
}
/**
 * @hidden
 */
interface ISortedHeaders {
    rMembers: IAxisSet[];
    cMembers: IAxisSet[];
}
/**
 * @hidden
 */
export interface IFilterObj {
    [key: string]: {
        memberObj: IStringIndex;
    };
}
/**
 * @hidden
 */
export interface IIterator {
    [key: string]: {
        index: number[];
        indexObject: INumberIndex;
    };
}
/**
 * @hidden
 */
export interface INumberIndex {
    [key: string]: number;
}
/**
 * @hidden
 */
export interface INumberArrayIndex {
    [key: string]: number[];
}
/**
 * @hidden
 */
export interface IStringIndex {
    [key: string]: string;
}
/**
 * @hidden
 */
export interface IPivotValues {
    [key: number]: IPivotRows;
    length: number;
}
/**
 * @hidden
 */
export interface IPivotRows {
    [key: number]: number | string | Object | IAxisSet;
    length: number;
}
/**
 * @hidden
 */
export interface IGridValues {
    [key: number]: IAxisSet[];
    length: number;
}
/**
 * @hidden
 */
export interface ISelectedValues {
    [key: number]: IAxisSet;
}
/**
 * @hidden
 */
export interface IDataSet {
    [key: string]: string | number | Date;
}
/**
 * Allows specific fields associated with field information that needs to be displayed in the field axes of pivot table. The following configurations which are applicable are as follows:
 */
export interface IFieldOptions {
    /**
     * Allows you to set the field name that needs to be displayed in row/column/value/filter axis of pivot table.
     */
    name?: string;
    /**
     * Allows you to set caption to the specific field. It will be used to display instead of its name in pivot table component's UI.
     */
    caption?: string;
    /**
     * Allows to display the values in the pivot table with appropriate aggregations such as sum, product, count, average, etc… The available types are,
     * * `Sum`: Allows to display the pivot table values with sum.
     * * `Product`: Allows to display the pivot table values with product.
     * * `Count`: Allows to display the pivot table values with count.
     * * `DistinctCount`: Allows to display the pivot table values with distinct count.
     * * `Min`: Allows to display the pivot table with minimum value.
     * * `Max`: Allows to display the pivot table with maximum value.
     * * `Avg`: Allows to display the pivot table values with average.
     * * `Median`: Allows to display the pivot table values with median.
     * * `Index`: Allows to display the pivot table values with index.
     * * `PopulationStDev`: Allows to display the pivot table values with population standard deviation.
     * * `SampleStDev`: Allows to display the pivot table values with sample standard deviation.
     * * `PopulationVar`: Allows to display the pivot table values with population variance.
     * * `SampleVar`: Allows to display the pivot table values with sample variance.
     * * `RunningTotals`: Allows to display the pivot table values with running totals.
     * * `DifferenceFrom`: Allows to display the pivot table values with difference from the value of the base item in the base field.
     * * `PercentageOfDifferenceFrom`: Allows to display the pivot table values with percentage difference from the value of the base item in the base field.
     * * `PercentageOfGrandTotal`: Allows to display the pivot table values with percentage of grand total of all values.
     * * `PercentageOfColumnTotal`: Allows to display the pivot table values in each column with percentage of total values for the column.
     * * `PercentageOfRowTotal`: Allows to display the pivot table values in each row with percentage of total values for the row.
     * * `PercentageOfParentTotal`: Allows to display the pivot table values with percentage of total of all values based on selected field.
     * * `PercentageOfParentColumnTotal`: Allows to display the pivot table values with percentage of its parent total in each column.
     * * `PercentageOfParentRowTotal`: Allows to display the pivot table values with percentage of its parent total in each row.
     * * `CalculatedField`: Allows to display the pivot table with calculated field values. It allows user to create a new calculated field alone.
     *
     * > It is applicable only for relational data source.
     */
    type?: SummaryTypes;
    /**
     * Allows you to set the axis name to the specific field. This will help to display the field in specified axis such as row/column/value/filter axis of pivot table.
     */
    axis?: string;
    /**
     * Allows you to display all members items of a specific field to the pivot table, even doesn't have any data in its row/column intersection in data source.
     * > It is applicable only for relational data source.
     */
    showNoDataItems?: boolean;
    /**
     * Allows you to set the selective field, which used to display the values with either DifferenceFrom or PercentageOfDifferenceFrom or PercentageOfParentTotal aggregate types.
     * > It is applicable only for relational data source.
     */
    baseField?: string;
    /**
     * Allows you to set the selective item of a specific field, which used to display the values with either DifferenceFrom or PercentageOfDifferenceFrom aggregate types.
     * The selective item should be set the from field specified in the baseField property.
     * > It is applicable only for relational data source.
     */
    baseItem?: string;
    /**
     * Allows to show or hide sub-totals to a specific field in row/column axis of the pivot table.
     */
    showSubTotals?: boolean;
    /**
     * Allows you to set whether the specified field is a named set or not.
     * In general, the named set is a set of dimension members or a set expression (MDX query) to be created as a dimension in the SSAS OLAP cube itself.
     * > It is applicable only for OLAP data source.
     */
    isNamedSet?: boolean;
    /**
     * Allows to set whether the specified field is a calculated field or not. In general, a calculated field is created from the bound data source or using simple formula with basic arithmetic operators in the pivot table.
     * > This option is applicable only for OLAP data source.
     */
    isCalculatedField?: boolean;
    /**
     * Allows you to show or hide the filter icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This filter icon is used to filter the members of a specified field at runtime in the pivot table.
     */
    showFilterIcon?: boolean;
    /**
     * Allows you to show or hide the sort icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This sort icon is used to order members of a specified field either in ascending or descending at runtime.
     */
    showSortIcon?: boolean;
    /**
     * Allows you to show or hide the remove icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This remove icon is used to remove the specified field during runtime.
     */
    showRemoveIcon?: boolean;
    /**
     * Allows you to show or hide the value type icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This value type icon helps to select the appropriate aggregation type to specified value field at runtime.
     */
    showValueTypeIcon?: boolean;
    /**
     * Allows you to show or hide the edit icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This edit icon is used to modify caption, formula, and format of a specified calculated field at runtime that to be displayed in the pivot table.
     */
    showEditIcon?: boolean;
    /**
     * Allows you to restrict the specific field's pivot button that is used to drag on runtime in the grouping bar and field list UI.
     * This will prevent you from modifying the current report.
     */
    allowDragAndDrop?: boolean;
    /**
     * Allows to specify the data type of specific field.
     */
    dataType?: string;
    /**
     * Allows you to expand or collapse all of the pivot table's headers for a specific field.
     */
    expandAll?: boolean;
    /**
     * Allows you to create group folder for fields in pivot field list.
     * Allows user to set the group (i.e., folder) name for selected fields that used to be displayed in the field list tree.
     * > It is applicable only for relational data source.
     */
    groupName?: string;
}
/**
 * Allows specific fields associated with sort settings to order their members either in ascending or descending that used to be displayed in the pivot table.
 */
export interface ISort {
    /**
     * Allows to set the field name to order their members either in ascending or descending in the pivot table.
     */
    name?: string;
    /**
     * Allows to apply sorting to the specified field either by ascending or descending or JSON order. The types are,
     * * `Ascending`: It allows to display the field members in ascending order.
     * * `Descending`: It allows to display the field members in descending order.
     * * `None`: It allows to display the field members based on JSON order.
     */
    order?: Sorting;
    /**
    * Allows to specify the sorting order for custom sorting.
    */
    membersOrder?: string[] | number[];
}
/**
 * Allows specific fields associated with either selective or conditional-based filter members that used to be displayed in the pivot table.
 */
export interface IFilter {
    /**
     * Allows you to set the field name that used to display the selective or conditional-based filter members that used to be displayed in the pivot table.
     */
    name?: string;
    /**
     * Allows you to set the specific filter type to display the filter members in the pivot table. They are:
     * * Include - Specifies the filter type as include.
     * * Exclude - Specifies the filter type as exclude.
     * * Label - Specifies the filter type as label.
     * * Date - Specifies the filter type as date.
     * * Number - Specifies the filter type as number.
     * * Value - Specifies the filter type as value.
     * @default Include
     */
    type?: FilterType;
    /**
     * Allows yoy to specify the field members that used to be displayed based on the filter type provided in the pivot table.
     */
    items?: string[];
    /**
     * Allows you to choose the operator type such as equals, greater than, less than, etc. for conditional-based filtering.
     * > It is applicable only for label and value filtering.
     */
    condition?: Operators;
    /**
     * Allows you to set the start value to display the filter items in the pivot table based on the condition applied.
     * > It is applicable only for label and value filtering.
     */
    value1?: string | Date;
    /**
     * Allows you to set the end value to display the filter items in the pivot table based on the condition applied.
     * > This option will be used by default when the operator **Between** and **NotBetween** is chosen to apply. Also, it is applicable only for label and value filtering.
     */
    value2?: string | Date;
    /**
     * It allows excel-like label filtering operation through UI and code-behind.
     */
    showLabelFilter?: boolean;
    /**
     * It allows excel-like date filtering operation through UI and code-behind.
     */
    showDateFilter?: boolean;
    /**
     * It allows excel-like number filtering operation through UI and code-behind.
     */
    showNumberFilter?: boolean;
    /**
     * Allows to set value field for evaluation using conditions and operands for filtering.
     * > It is applicable only for label and value filtering.
     */
    measure?: string;
    /**
     * Allows to set level of the field to fetch data from the cube for filtering.
     * > This option is applicable only for user-defined hierarchies in OLAP data source.
     */
    levelCount?: number;
    /**
     * Allows to set level name of a specified field, where the filtering settings to be applied.
     * > This option is applicable only for user-defined hierarchies in OLAP data source.
     */
    selectedField?: string;
}
/**
 * Allows specific fields used to display their the headers to be either expanded or collapsed in the pivot table.
 */
export interface IDrillOptions {
    /**
     * It allows to set the field name whose members to be either expanded or collapsed in the pivot table.
     */
    name?: string;
    /**
     * It allows to set the members to be either expanded or collapsed in the pivot table.
     */
    items?: string[];
    /**
     * It allows to set the delimiter, which is used a separator to split the given members.
     */
    delimiter?: string;
}
/**
 * Allows options to create new calculated fields from the bound data source or using simple formula with basic arithmetic operators in the pivot table.
 */
export interface ICalculatedFieldSettings {
    /**
     * It allows to set the field name that used to create as a calculated field.
     */
    name?: string;
    /**
     * It allows to set the formula/expression to the specified calculated field.
     */
    formula?: string;
    /**
     * It allows to set hierarchy unique name, that used to create calculated member.
     * > It is applicable only for OLAP data source.
     */
    hierarchyUniqueName?: string;
    /**
     * It allows to set format string that used to create calculated member with specified formatted values that to be displayed in the pivot table.
     * > It is applicable only for OLAP data source.
     */
    formatString?: string;
}
/**
 * Configures the specific calculated field infomation.
 */
export interface ICalculatedFields extends ICalculatedFieldSettings {
    /**
     * It allows to set the caption to the calcualted field that used to be displayed in the pivot table UI.
     */
    caption?: string;
    /**
     * It allows to set the caluclated field's actual formula.
     */
    actualFormula?: string;
}
/**
 * Allows specific fields used to display the values with specific format that used to be displayed in the pivot table.
 * For example, to display a specific field with currency formatted values in the pivot table, the set the `format` property to be **C**.
 */
export interface IFormatSettings extends base.NumberFormatOptions, base.DateFormatOptions {
    /**
     * It allows to set the field name to apply format settings.
     */
    name?: string;
}
/**
 * @hidden
 */
export interface IMembers {
    [index: string]: {
        ordinal?: number;
        index?: number[];
        name?: string;
        isDrilled?: boolean;
        isNodeExpand?: boolean;
        parent?: string;
        caption?: string;
        isSelected?: boolean;
    };
}
/**
 * @hidden
 */
export interface IFieldListOptions {
    [index: string]: IField;
}
/**
 * Allows you to configure the information retrieved from the data source for the field list.
 */
export interface IField {
    /**
     * It allows to set the field name.
     */
    id?: string;
    /**
    * It allows to set the parent name.
    */
    pid?: string;
    /**
     * It allows to set the field caption.
     */
    caption?: string;
    /**
     * It allows to set the field type to be either number or string or data or datetime.
     */
    type?: string;
    /**
     * It allows to set the current number format string of the field.
     */
    formatString?: string;
    /**
     * It allows to set the exact position of the specific field situated in the given data source.
     */
    index?: number;
    /**
     * It allows to set members infomration of the specific field.
     */
    members?: IMembers;
    /**
     * It allows to set members caption infomration of the specific field.
     */
    formattedMembers?: IMembers;
    /**
     * It allows to set date members infomration of the specific field.
     */
    dateMember?: IAxisSet[];
    /**
     * It allows to set the current filter members to the specific field.
     */
    filter?: string[];
    /**
     * It allows to set the current sort order to the specific field.
     */
    sort?: string;
    /**
     * It allows to set the current aggregate type to the specific field.
     */
    aggregateType?: string;
    /**
     * It allows to set the selective field name to the field to perform aggregation.
     */
    baseField?: string;
    /**
     * It allows to set the selective member of the specific field to perform aggregation.
     */
    baseItem?: string;
    /**
     * It allows to change the specific field's type.
     */
    filterType?: string;
    /**
     * It allows to set the format to the specific field.
     */
    format?: string;
    /**
     * It allows to set the calculated field formula.
     */
    formula?: string;
    /**
     * Allows to set whether the specific field is selected or not.
     */
    isSelected?: boolean;
    /**
     * Allows to set the specific field for excel-like filtering.
     */
    isExcelFilter?: boolean;
    /**
     * Allows to set the specific field to display the data items that are not in combination with respect to current report.
     */
    showNoDataItems?: boolean;
    /**
     * Allows to set wheather the specific field is custom grouped or not.
     */
    isCustomField?: boolean;
    /**
     * It allows to set the visibility of filter icon in grouping bar and field list button.
     */
    showFilterIcon?: boolean;
    /**
     * It allows to set the visibility of sort icon in grouping bar and field list button.
     */
    showSortIcon?: boolean;
    /**
     * It allows to set the visibility of remove icon in grouping bar button.
     */
    showRemoveIcon?: boolean;
    /**
     * It allows to set the visibility of calculated field edit icon in grouping bar and field list button.
     */
    showEditIcon?: boolean;
    /**
     * It allows to set the visibility of summay type drop down icon in grouping bar and field list button.
     */
    showValueTypeIcon?: boolean;
    /**
     * It allows to enable/disable the drag and drop option to grouping bar and field list button.
     */
    allowDragAndDrop?: boolean;
    /**
     * Allows to set whether is is a calculated field or not.
     */
    isCalculatedField?: boolean;
    /**
     * It allows enable/disable sub total in pivot table.
     */
    showSubTotals?: boolean;
    /**
     * Allows you to expand or collapse all of the pivot table's headers for a specific field.
     */
    expandAll?: boolean;
    /**
     * It allows to set custom sort members of the specific field.
     */
    membersOrder?: string[] | number[];
    /**
     * It allows you to check if the custom sort type of a specific field is Alphanumeric or not.
     * @default false
     */
    isAlphanumeric?: boolean;
}
/**
 * Allows you to configure the pivot cell information retrieved from the data source.
 */
export interface IAxisSet {
    /**
     * It allows to set the formatted text.
     */
    formattedText?: string;
    /**
     * It allows to set the actual text.
     */
    actualText?: number | string;
    /**
     * It allows to set the member type.
     */
    type?: string;
    /**
     * It allows to set whether the member is driled or not.
     */
    isDrilled?: boolean;
    /**
     * It allows to set whether the member has children or not.
     */
    hasChild?: boolean;
    /**
     * It allows to set the child members collection of the specific member.
     */
    members?: this[];
    /**
     * Specifies its position collections in data source.
     */
    index?: number[];
    /**
     * Specifies its position collections in data source with indexed object.
     */
    indexObject?: INumberIndex;
    /**
     * It allows to set the cell ordinal.
     */
    ordinal?: number;
    /**
     * It allows to set level of the member.
     */
    level?: number;
    /**
     * It allows to set the axis name of the member.
     */
    axis?: string;
    /**
     * It allows to set value of the cell.
     */
    value?: number;
    /**
     * It allows to set actual value of the cell.
     */
    actualValue?: number;
    /**
     * It allows to set column span to the cell.
     */
    colSpan?: number;
    /**
     * It allows to set row span to the cell.
     */
    rowSpan?: number;
    /**
     * Specifies the data collection which is to be framed for value sorted members.
     */
    valueSort?: IDataSet;
    /**
     * It allows to set column index to the cell.
     */
    colIndex?: number;
    /**
     * It allows to set row index to the cell.
     */
    rowIndex?: number;
    /**
     * Specifies the column header of a value cell.
     */
    columnHeaders?: string | number | Date;
    /**
     * Specifies the row header of a value cell.
     */
    rowHeaders?: string | number | Date;
    /**
     * Specifies whether the cell is summary or not.
     */
    isSum?: boolean;
    /**
     * Specifies whether the cell is grand summary or not.
     */
    isGrandSum?: boolean;
    /**
     * Specifies whether the level of the cell is filtered or not.
     */
    isLevelFiltered?: boolean;
    /**
     * It allows to custom class names to the cell.
     */
    cssClass?: string;
    /**
     * It allows to set the style information for conditional formatting.
     */
    style?: IStyle;
    /**
     * It allows to set the visibility of hyperlink to the cell.
     */
    enableHyperlink?: boolean;
    /**
     * It allows enable/disable sub totals.
     */
    showSubTotals?: boolean;
    /**
     * It allows set the formatted date string of the cell.
     */
    dateText?: number | string;
    /**
     * It allows to set member type.
     */
    memberType?: number;
    /**
     * It allows to set the parent unique name.
     */
    parentUniqueName?: string;
    /**
     * It allows to set the parent unique name.
     */
    levelUniqueName?: string;
    /**
     * It allows to set whether the member field is a attribute hierarchy or not.
     */
    hierarchy?: string;
    /**
     * It allows to set column ordinal of the cell.
     */
    colOrdinal?: number;
    /**
     * It allows to set row ordinal of the cell.
     */
    rowOrdinal?: number;
    /**
     * It allows to set whether field is a namedset or not.
     */
    isNamedSet?: boolean;
    /**
     * It allows to set depth of the cell.
     */
    depth?: number;
    /**
    * Specifies the value cell's unique header name.
    * @hidden
    */
    hierarchyName?: string;
}
/**
 * Allows you to configure the drill information of a specific field item that used to display the pivot table.
 */
export interface IDrilledItem {
    /**
     * It allows to set the field name whose members to be drilled.
     */
    fieldName: string;
    /**
     * It allows to set the member name of the specific field.
     */
    memberName: string;
    /**
     * It allows to set the axis name of the specific field.
     */
    axis: string;
    /**
     * It allows to set whether the member performs drill-down or drill-up operation.
     */
    action: string;
    /**
     * It allows to set the delimiter, which is used a member separator.
     */
    delimiter: string;
    /**
     * It allows to set the selelcted cell information.
     */
    currentCell?: IAxisSet;
}
/**
 * Allows you to configure the additional properties from the pivot component to popuplate the pivot engine.
 */
export interface ICustomProperties {
    /**
     * Specifies the current data type.
     */
    mode?: string;
    /**
     * Specifies the saved field list infomration.
     */
    savedFieldList?: IFieldListOptions;
    /**
     * Specifies the paging infomration for virtualization.
     */
    pageSettings?: IPageSettings;
    /**
     * Specifies the whether the value sorting is enabled or not.
     */
    enableValueSorting?: boolean;
    /**
     * Specifies the whether the paging option is enabled or not.
     */
    enablePaging?: boolean;
    /**
     * Specifies the whether the virtualization option is enabled or not.
     */
    enableVirtualization?: boolean;
    /**
     * Specifies the whether the data compression option is enabled or not.
     */
    allowDataCompression?: boolean;
    /**
     * Specifies the whther drill through is enabled or not.
     */
    isDrillThrough?: boolean;
    /**
     * Specifies the current locale information of the component.
     */
    localeObj?: base.L10n;
    /**
     * Specifies the current culture information of the component.
     */
    globalize?: base.Internationalization;
    /**
     * Specifies the current currency code of the component.
     */
    currenyCode?: string;
    /**
     * Specifies the customized field type information.
     */
    fieldsType?: IStringIndex;
    /**
     * Specifies the cloned report.
     */
    clonedReport?: IDataOptions;
}
/**
 * Allows specific fields to group their data on the basis of their type.
 * For example, the date type fields can be formatted and displayed based on year, quarter, month, and more. Likewise, the number type fields can be grouped range-wise, such as 1-5, 6-10, etc.
 * You can perform custom group to the string type fields that used to displayed in the pivot table.
 */
export interface IGroupSettings {
    /**
     * It allows to set the specific field name to apply group settings.
     */
    name?: string;
    /**
     * It allows to specify the date group intervals such as years or quarter or months or days or hours or minutes or seconds to group fields based on that in the pivot table. They options are:
     * * Years - Specifies the group as years.
     * * Quarters - Specifies the group as quarters.
     * * Months - Specifies the group as months.
     * * Days - Specifies the group as days.
     * * Hours - Specifies the group as hours.
     * * Minutes - Specifies the group as minutes.
     * * Seconds - Specifies the group as seconds.
     *
     * > It is applicable only for date type grouping.
     */
    groupInterval?: DateGroup[];
    /**
     * It allows to set the start value/date to group fields from the specified range that to be displayed in the pivot table.
     */
    startingAt?: Date | number | string;
    /**
     * It allows to set the start value/date to group fields to the specified range that to be displayed in the pivot table.
     */
    endingAt?: Date | number | string;
    /**
     * It allows to set the interval range to group field based on the specified range.
     * > It is applicable only of number type grouping.
     */
    rangeInterval?: number;
    /**
     * It allows to set the type as date or number or custom to the specified field for apply grouping. The types are:
     * * Date - Defines group type as 'Date' for date type field
     * * Number - Defines group type as 'Number' for numeric type field.
     * * Custom - Defines group type as 'Custom' for custom group field.
     */
    type?: GroupType;
    /**
     * It allows to set the caption to custom field that will be used to created from custom group fields in the pivot table.
     * > It is applicable only for custom grouping.
     */
    caption?: string;
    /**
     * It allows to set the custom group information to create custom group fields.
     * > It is applicable only for custom grouping.
     */
    customGroups?: ICustomGroups[];
}
/**
 * Allows to specify the custom group information of specific field to create custom groups.
 */
export interface ICustomGroups {
    /**
     * Allows user to set the group name (or title) for selected headers for custom grouping.
     */
    groupName?: string;
    /**
     * It allows to set the headers which needs to be grouped from display.
     */
    items?: string[];
}
/**
 * Allows to configure the group range infomration to perform date and number grouping on specifc fields.
 */
export interface IGroupRange {
    /**
     * Specifies the group range value.
     */
    range?: string;
    /**
     * Specifies whether the group value is in range or not.
     */
    isNotInRange?: boolean;
    /**
     * Specifies the actual value exists in the raw item.
     */
    value?: Date | number;
}
/**
 * Allows to configure the specific field infomration during UI operation at runtime.
 */
export interface FieldItemInfo {
    /**
     * Specifies the field name.
     */
    fieldName?: string;
    /**
     * Specifies the field information as an object.
     */
    fieldItem?: IFieldOptions;
    /**
     * Specifies the axis name where the field currently exists.
     */
    axis?: string;
    /**
     * Specifies the position of the field in the exis.
     */
    position?: number;
}
//node_modules/@syncfusion/ej2-pivotview/src/base/export-util.d.ts
/**
 * This is a file to perform common utility for OLAP and Relational datasource
 * @hidden
 */
export  class PivotExportUtil {
    private static getDefinedObj;
    static getClonedPivotValues(pivotValues: IPivotValues): IPivotValues;
    private static getClonedPivotValueObj;
    static isContainCommonElements(collection1: Object[], collection2: Object[]): boolean;
    static formatPdfHeaderFooter(pdf: any): any;
    static formatPdfExportProperties(pdf: any): any;
    static formatExcelStyle(style: any): any;
    static formatExcelCell(cell: any): any;
    static formatExcelHeaderFooter(excel: any): any;
    static formatExcelExportProperties(excel: any): any;
}
//node_modules/@syncfusion/ej2-pivotview/src/base/index.d.ts
/**
 * Data modules
 */
/** @hidden */
/** @hidden */
/** @hidden */
/** @hidden */
//node_modules/@syncfusion/ej2-pivotview/src/base/olap.d.ts
/**
 * olap engine exported items
 */
//node_modules/@syncfusion/ej2-pivotview/src/base/olap/engine.d.ts
/**
 * OlapEngine is used to manipulate the olap or Multi-Dimensional data as pivoting values.
 */
/** @hidden */
export  class OlapEngine {
    /** @hidden */
    isEmptyData: boolean;
    /** @hidden */
    globalize: base.Internationalization;
    /** @hidden */
    fieldList: IOlapFieldListOptions;
    /** @hidden */
    fields: string[];
    /** @hidden */
    rows: IFieldOptions[];
    /** @hidden */
    columns: IFieldOptions[];
    /** @hidden */
    values: IFieldOptions[];
    /** @hidden */
    filters: IFieldOptions[];
    /** @hidden */
    calculatedFieldSettings: ICalculatedFieldSettings[];
    /** @hidden */
    isMutiMeasures: boolean;
    /** @hidden */
    drilledMembers: IDrillOptions[];
    /** @hidden */
    valueSortSettings: IValueSortSettings;
    /** @hidden */
    isEngineUpdated: boolean;
    /** @hidden */
    savedFieldList: IOlapFieldListOptions;
    /** @hidden */
    savedFieldListData: IOlapField[];
    /** @hidden */
    valueAxis: string;
    /** @hidden */
    columnCount: number;
    /** @hidden */
    rowCount: number;
    /** @hidden */
    colFirstLvl: number;
    /** @hidden */
    rowFirstLvl: number;
    /** @hidden */
    pageColStartPos: number;
    /** @hidden */
    enableSort: boolean;
    /** @hidden */
    enableValueSorting: boolean;
    /** @hidden */
    isHeaderAvail: boolean;
    /** @hidden */
    fieldListData: IOlapField[];
    /** @hidden */
    fieldListObj: FieldData;
    /** @hidden */
    dataFields: {
        [key: string]: IFieldOptions;
    };
    /** @hidden */
    formats: IFormatSettings[];
    /** @hidden */
    formatFields: {
        [key: string]: IFormatSettings;
    };
    /** @hidden */
    emptyCellTextContent: string;
    /** @hidden */
    isMondrian: boolean;
    /** @hidden */
    olapValueAxis: string;
    /** @hidden */
    isMeasureAvail: boolean;
    /** @hidden */
    selectedItems: string[];
    /** @hidden */
    filterSettings: IFilter[];
    /** @hidden */
    sortSettings: ISort[];
    /** @hidden */
    filterMembers: {
        [key: string]: string[] | IFilter[];
    };
    /** @hidden */
    allowMemberFilter: boolean;
    /** @hidden */
    allowLabelFilter: boolean;
    /** @hidden */
    allowValueFilter: boolean;
    /** @hidden */
    mdxQuery: string;
    /** @hidden */
    isPaging: boolean;
    /** @hidden */
    pageSettings: IPageSettings;
    /** @hidden */
    calcChildMembers: IOlapField[];
    /** @hidden */
    drilledSets: {
        [key: string]: HTMLElement;
    };
    /** @hidden */
    aggregatedValueMatrix: IMatrix2D;
    private localeObj;
    private measureReportItems;
    private locale;
    private olapRowValueIndex;
    private mappingFields;
    private customRegex;
    private formatRegex;
    /** @hidden */
    xmlaCellSet: NodeListOf<Element>;
    /** @hidden */
    pivotValues: IPivotValues;
    /** @hidden */
    dataSourceSettings: IDataOptions;
    /** @hidden */
    valueContent: IGridValues;
    /** @hidden */
    headerContent: IGridValues;
    /** @hidden */
    colMeasurePos: number;
    /** @hidden */
    rowStartPos: number;
    /** @hidden */
    pageRowStartPos: number;
    /** @hidden */
    rowMeasurePos: number;
    /** @hidden */
    tupColumnInfo: ITupInfo[];
    /** @hidden */
    tupRowInfo: ITupInfo[];
    /** @hidden */
    gridJSON: string;
    /** @hidden */
    namedSetsPosition: {
        [key: string]: {
            [key: number]: string;
        };
    };
    private colDepth;
    private totalCollection;
    private parentObjCollection;
    private colMeasures;
    private curDrillEndPos;
    private headerGrouping;
    private lastLevel;
    private xmlDoc;
    private request;
    private customArgs;
    private onDemandDrillEngine;
    private showRowSubTotals;
    private showColumnSubTotals;
    private hideRowTotalsObject;
    private hideColumnTotalsObject;
    private sortObject;
    private isColDrill;
    private getHeaderSortInfo;
    renderEngine(dataSourceSettings?: IDataOptions, customProperties?: IOlapCustomProperties, onHeadersSort?: Function): void;
    generateGridData(dataSourceSettings: IDataOptions, action?: string): void;
    generatePagingData(xmlDoc: Document, request: base.Ajax, customArgs: FieldData): void;
    scrollPage(direction: string, newPage?: number, prevPage?: number): void;
    generateEngine(xmlDoc: Document, request: base.Ajax, customArgs: FieldData): void;
    private getSubTotalsVisibility;
    private frameRowHeader;
    private insertRowGrandTotal;
    private getValueAxis;
    private frameGrandTotalAxisSet;
    private getDepth;
    private checkAttributeDrill;
    private frameTupCollection;
    private getCaptionCollectionWithMeasure;
    /** hidden */
    setNamedSetsPosition(): void;
    private updateRowEngine;
    private updateTupCollection;
    private frameGrandTotalValues;
    private frameColumnHeader;
    private orderTotals;
    private setParentCollection;
    private setDrillInfo;
    private levelCompare;
    private mergeTotCollection;
    private getLevelsAsString;
    private frameCommonColumnLoop;
    private isAttributeDrill;
    private isAdjacentToMeasure;
    private getDrilledParent;
    private performRowSorting;
    private performColumnSorting;
    private frameUniqueName;
    private getMeasurePosition;
    private sortRowHeaders;
    private sortColumnHeaders;
    private applyCustomSort;
    private frameSortObject;
    private getParentUname;
    private performColumnSpanning;
    private frameValues;
    /** hidden */
    getFormattedValue(value: number, fieldName: string, formattedText: string): string;
    private getMeasureInfo;
    private frameMeasureOrder;
    getDrilledSets(uNameCollection: string, currentCell: IAxisSet, fieldPos: number, axis: string): {
        [key: string]: string;
    };
    updateDrilledInfo(dataSourceSettings: IDataOptions): void;
    updateCalcFields(dataSourceSettings: IDataOptions, lastcalcInfo: ICalculatedFieldSettings): void;
    onSort(dataSourceSettings: IDataOptions): void;
    private updateFieldlist;
    updateFieldlistData(name: string, isSelect?: boolean): void;
    private getFormattedFields;
    private getFieldList;
    getTreeData(args: ConnectionInfo, successMethod: Function, customArgs: object): void;
    private getAxisFields;
    private getAggregateType;
    getUniqueName(name: string): string;
    private updateFilterItems;
    private getParentNode;
    updateDrilledItems(drilledMembers: IDrillOptions[]): IDrillOptions[];
    /**
     * @hidden
     */
    getDrillThroughData(pivotValue: IAxisSet, maxRows: number): void;
    private drillThroughSuccess;
    getFilterMembers(dataSourceSettings: IDataOptions, fieldName: string, levelCount: number, isSearchFilter?: boolean, loadLevelMember?: boolean): string;
    getMembers(dataSourceSettings: IDataOptions, fieldName: string, isAllFilterData?: boolean, filterParentQuery?: string, loadLevelMember?: boolean): void;
    getChildMembers(dataSourceSettings: IDataOptions, memberUQName: string, fieldName: string): void;
    getCalcChildMembers(dataSourceSettings: IDataOptions, memberUQName: string): void;
    getSearchMembers(dataSourceSettings: IDataOptions, fieldName: string, searchString: string, maxNodeLimit: number, isAllFilterData?: boolean, levelCount?: number): void;
    private generateMembers;
    private getFieldListItems;
    private loadCalculatedMemberElements;
    private loadDimensionElements;
    private loadNamedSetElements;
    private loadHierarchyElements;
    private updateMembersOrder;
    private loadLevelElements;
    private loadMeasureElements;
    private loadMeasureGroups;
    doAjaxPost(type: string, url: string, data: string, success: Function, customArgs?: Object): void;
    private beforeSend;
    private getSoapMsg;
    getConnectionInfo(connectionString: string, locale: string | number): ConnectionInfo;
    getMDXQuery(dataSourceSettings: IDataOptions): string;
}
/**
 * @hidden
 */
export interface IOlapFieldListOptions {
    [index: string]: IOlapField;
}
/**
 * @hidden
 */
export interface IOlapField extends IField {
    pid?: string;
    tag?: string;
    hasChildren?: boolean;
    expanded?: boolean;
    spriteCssClass?: string;
    name?: string;
    defaultHierarchy?: string;
    hasAllMember?: boolean;
    allMember?: string;
    isChecked?: boolean;
    filterMembers?: IOlapField[];
    childMembers?: IOlapField[];
    searchMembers?: IOlapField[];
    htmlAttributes?: {
        [key: string]: string;
    };
    currrentMembers?: IMembers;
    isHierarchy?: boolean;
    isNamedSets?: boolean;
    formatString?: string;
    actualFilter?: string[];
    levels?: IOlapField[];
    levelCount?: number;
    memberType?: number;
    fieldType?: string;
    parentHierarchy?: string;
}
/**
 * @hidden
 */
export interface ConnectionInfo {
    url?: string;
    LCID?: string;
    catalog?: string;
    cube?: string;
    request?: string;
}
/**
 * @hidden
 */
export interface FieldData {
    hierarchy?: IOlapField[];
    hierarchySuccess?: Document;
    measures?: any;
    dataSourceSettings?: IDataOptions;
    action?: string;
    reportElement?: string[];
    measuresGroups?: HTMLElement[];
    fieldName?: string;
    drillInfo?: IDrilledItem;
    loadLevelMembers?: boolean;
}
/** @hidden */
export interface IOlapCustomProperties extends ICustomProperties {
    savedFieldList?: IOlapFieldListOptions;
    savedFieldListData?: IOlapField[];
}
/** @hidden */
export interface ITupInfo {
    allCount?: number;
    allStartPos?: number;
    measure?: Element;
    measureName?: string;
    measurePosition?: number;
    members?: NodeListOf<Element>;
    typeCollection?: string[];
    levelCollection?: number[];
    uNameCollection?: string;
    captionCollection?: string;
    drillInfo?: IDrillInfo[];
    drillStartPos?: number;
    drillEndPos?: number;
    startDrillUniquename?: string;
    endDrillUniquename?: string;
    showTotals?: boolean;
}
/** @hidden */
export interface IDrillInfo {
    level: number;
    uName: string;
    hierarchy: string;
    isDrilled: boolean;
}
/** @hidden */
export interface ITotCollection {
    allCount: number;
    allStartPos?: number;
    ordinal: number;
    members: NodeListOf<Element>;
    drillInfo?: IDrillInfo[];
}
/** @hidden */
export interface IParentObjCollection {
    [key: number]: {
        [key: number]: Element;
    };
}
/** @hidden */
export interface ILastSavedInfo {
    [key: string]: string | number;
}
/** @hidden */
export interface IMeasureInfo {
    measureAxis: string;
    measureIndex: number;
    valueInfo: string[];
}
/** @hidden */
export interface IOrderedInfo {
    orderedValueTuples: Element[];
    orderedHeaderTuples: Element[];
}
//node_modules/@syncfusion/ej2-pivotview/src/base/olap/mdx-query.d.ts
/**
 * This is a file to create MDX query for the provided OLAP datasource
 * @hidden
 */
/** @hidden */
export  class MDXQuery {
    /** @hidden */
    private static engine;
    /** @hidden */
    private static rows;
    /** @hidden */
    private static columns;
    /** @hidden */
    private static values;
    /** @hidden */
    private static filters;
    /** @hidden */
    private static calculatedFieldSettings;
    /** @hidden */
    private static valueSortSettings;
    /** @hidden */
    static drilledMembers: IDrillOptions[];
    /** @hidden */
    private static filterMembers;
    /** @hidden */
    private static fieldDataObj;
    /** @hidden */
    private static fieldList;
    /** @hidden */
    private static valueAxis;
    /** @hidden */
    private static cellSetInfo;
    /** @hidden */
    private static isMeasureAvail;
    /** @hidden */
    private static isMondrian;
    /** @hidden */
    private static isPaging;
    /** @hidden */
    private static pageSettings;
    /** @hidden */
    private static allowLabelFilter;
    /** @hidden */
    private static allowValueFilter;
    static getCellSets(dataSourceSettings: IDataOptions, olapEngine: OlapEngine, refPaging?: boolean, drillInfo?: IDrilledItem, isQueryUpdate?: boolean): any;
    private static getTableCellData;
    static frameMDXQuery(rowQuery: string, columnQuery: string, slicerQuery: string, filterQuery: string, caclQuery: string, refPaging?: boolean): string;
    private static getPagingQuery;
    private static getPagingCountQuery;
    static getDimensionsQuery(dimensions: IFieldOptions[], measureQuery: string, axis: string, drillInfo?: IDrilledItem): string;
    private static getAttributeDrillQuery;
    static getDimensionPos(axis: string, field: string): number;
    static getMeasurePos(axis: string): number;
    private static getDrillLevel;
    private static getHierarchyQuery;
    private static isAttributeMemberExist;
    private static getDrillQuery;
    private static updateValueSortQuery;
    static getSlicersQuery(slicers: IFieldOptions[], axis: string): string;
    private static getDimensionQuery;
    private static getDimensionUniqueName;
    static getMeasuresQuery(measures: IFieldOptions[]): string;
    private static getfilterQuery;
    private static getAdvancedFilterQuery;
    private static getAdvancedFilterCondtions;
    private static getCalculatedFieldQuery;
}
/**
 * @hidden
 */
export interface PagingQuery {
    rowQuery: string;
    columnQuery: string;
}
//node_modules/@syncfusion/ej2-pivotview/src/base/types.d.ts
/**
 * Allows to apply sorting to the specified field either by ascending or descending or JSON order. The types are,
 * * Ascending - Allows to display the field members in ascending order.
 * * Descending - Allows to display the field members in descending order.
 * * None - It allows to display the field members based on JSON order.
 */
export  type Sorting = 
/**  Allows to display the field members in ascending order. */
'Ascending' | 
/**  Allows to display the field members in descending order. */
'Descending' | 
/**  Allows to display the field members in none order. */
'None';
/**
 * Allows to display the values in the pivot table with appropriate aggregations such as sum, product, count, average, etc… The available types are,
 * * Sum - Allows to display the pivot table values with sum.
 * * Product - Allows to display the pivot table values with product.
 * * Count - Allows to display the pivot table values with count.
 * * DistinctCount - Allows to display the pivot table values with distinct count.
 * * Min - Allows to display the pivot table with minimum value.
 * * Max - Allows to display the pivot table with maximum value.
 * * Avg - Allows to display the pivot table values with average.
 * * Median - Allows to display the pivot table values with median.
 * * Index - Allows to display the pivot table values with index.
 * * PopulationStDev - Allows to display the pivot table values with population standard deviation.
 * * SampleStDev - Allows to display the pivot table values with sample standard deviation.
 * * PopulationVar - Allows to display the pivot table values with population variance.
 * * SampleVar - Allows to display the pivot table values with sample variance.
 * * RunningTotals - Allows to display the pivot table values with running totals.
 * * DifferenceFrom - Allows to display the pivot table values with difference from the value of the base item in the base field.
 * * PercentageOfDifferenceFrom - Allows to display the pivot table values with percentage difference from the value of the base item in the base field.
 * * PercentageOfGrandTotal - Allows to display the pivot table values with percentage of grand total of all values.
 * * PercentageOfColumnTotal - Allows to display the pivot table values in each column with percentage of total values for the column.
 * * PercentageOfRowTotal - Allows to display the pivot table values in each row with percentage of total values for the row.
 * * PercentageOfParentTotal - Allows to display the pivot table values with percentage of total of all values based on selected field.
 * * PercentageOfParentColumnTotal - Allows to display the pivot table values with percentage of its parent total in each column.
 * * PercentageOfParentRowTotal - Allows to display the pivot table values with percentage of its parent total in each row.
 * * CalculatedField - Allows to display the pivot table with calculated field values. It allows user to create a new calculated field alone.
 *
 * > It is applicable only for relational data source.
 */
export  type SummaryTypes = 
/** Allows to display the pivot table values with sum. */
'Sum' | 
/** Allows to display the pivot table values with product. */
'Product' | 
/** Allows to display the pivot table values with count. */
'Count' | 
/** Allows to display the pivot table values with distinct count. */
'DistinctCount' | 
/** Allows to display the pivot table with median value. */
'Median' | 
/** Allows to display the pivot table with minimum value. */
'Min' | 
/** To display with maximum value. */
'Max' | 
/** Allows to display the pivot table with maximum value. */
'Avg' | 
/** Allows to display the pivot table values with average. */
'Index' | 
/** Allows to display the pivot table values with percentage of grand total of all values. */
'PercentageOfGrandTotal' | 
/** Allows to display the pivot table values in each column with percentage of total values for the column. */
'PercentageOfColumnTotal' | 
/** Allows to display the pivot table values in each row with percentage of total values for the row. */
'PercentageOfRowTotal' | 
/** Allows to display the pivot table values with percentage of its parent total in each row. */
'PercentageOfParentRowTotal' | 
/** Allows to display the pivot table values with percentage of its parent total in each column. */
'PercentageOfParentColumnTotal' | 
/** Allows to display the pivot table values with percentage of total of all values based on selected field. */
'PercentageOfParentTotal' | 
/** Allows to display the pivot table values with running totals. */
'RunningTotals' | 
/** Allows to display the pivot table values with population standard deviation. */
'PopulationStDev' | 
/** Allows to display the pivot table values with sample standard deviation. */
'SampleStDev' | 
/** Allows to display the pivot table values with population variance. */
'PopulationVar' | 
/** Allows to display the pivot table values with sample variance. */
'SampleVar' | 
/** Allows to display the pivot table values with difference from the value of the base item in the base field. */
'DifferenceFrom' | 
/** Allows to display the pivot table values with percentage difference from the value of the base item in the base field. */
'PercentageOfDifferenceFrom' | 
/** Allows to display the pivot table with calculated field values. It allows user to create a new calculated field alone. */
'CalculatedField';
/**
 * Allows you to set the specific filter type to display the filter members in the pivot table. They are:
 * * Include - Specifies the filter type as include for member filter.
 * * Exclude - Specifies the filter type as exclude for member filter.
 * * Label - Specifies the filter type as label for header filter.
 * * Date - Specifies the filter type as date for date based filter.
 * * Number - Specifies the filter type as number for number based filter.
 * * Value - Specifies the filter type as value for value based filter.
 */
export  type FilterType = 
/**  Specifies the filter type as include for member filter. */
'Include' | 
/**  Specifies the filter type as exclude for member filter. */
'Exclude' | 
/**  Specifies the filter type as label for header filter. */
'Label' | 
/**  Specifies the filter type as date for date based filter. */
'Date' | 
/**  Specifies the filter type as number for number based filter. */
'Number' | 
/**  Specifies the filter type as value for value based filter. */
'Value';
/**
 * Defines the conditional operators for filtering settings. They are
 * * Equals - Display the pivot table that matches with the given text or value or date.
 * * DoesNotEquals - Display the pivot table that does not match with the given text or value or date.
 * * BeginWith - Display the pivot table that begins with text.
 * * DoesNotBeginWith - Display the pivot table that does not begins with text.
 * * EndsWith - Display the pivot table that ends with text.
 * * DoesNotEndsWith - Display the pivot table that does not ends with text.
 * * Contains - Display the pivot table that contains text.
 * * DoesNotContains - Display the pivot table that does not contain text.
 * * GreaterThan - Display the pivot table when the text or value is greater.
 * * GreaterThanOrEqualTo - Display the pivot table when the text or value is greater than or equal.
 * * LessThan - Display the pivot table when the text or value is lesser.
 * * LessThanOrEqualTo - Display the pivot table when the text or value is lesser than or equal.
 * * Before - Display the pivot table with preview all records from the given date.
 * * BeforeOrEqualTo - Display the pivot table with previous all records along with the given date.
 * * After - Display the pivot table with next all records to the given date.
 * * AfterOrEqualTo - Display the pivot table with next all records along with the given date.
 * * Between - Display the pivot table that records between the start and end text or value or date.
 * * NotBetween - Display the pivot table that does not record between the start and end text or value or date.
 */
export  type Operators = 
/** Display the pivot table that matches with the given text or value or date. */
'Equals' | 
/** Display the pivot table that does not match with the given text or value or date. */
'DoesNotEquals' | 
/** Display the pivot table that begins with text. */
'BeginWith' | 
/** Display the pivot table that does not begins with text. */
'DoesNotBeginWith' | 
/** Display the pivot table that ends with text. */
'EndsWith' | 
/** Display the pivot table that does not ends with text. */
'DoesNotEndsWith' | 
/** Display the pivot table that contains text. */
'Contains' | 
/** Display the pivot table that does not contain text. */
'DoesNotContains' | 
/** Display the pivot table when the text or value is greater. */
'GreaterThan' | 
/** Display the pivot table when the text or value is greater than or equal. */
'GreaterThanOrEqualTo' | 
/** Display the pivot table when the text or value is lesser. */
'LessThan' | 
/** Display the pivot table when the text or value is lesser than or equal. */
'LessThanOrEqualTo' | 
/** Display the pivot table with preview all records from the given date. */
'Before' | 
/** Display the pivot table with previous all records along with the given date. */
'BeforeOrEqualTo' | 
/** Display the pivot table with next all records to the given date. */
'After' | 
/** Display the pivot table with next all records along with the given date. */
'AfterOrEqualTo' | 
/** Display the pivot table that records between the start and end text or value or date. */
'Between' | 
/** Display the pivot table that does not record between the start and end text or value or date. */
'NotBetween';
/**
 * Defines the conditional operators for string type fields. They are
 * * Equals - Display the pivot table that matches with the given text or value or date.
 * * DoesNotEquals - Display the pivot table that does not match with the given text or value or date.
 * * BeginWith - Display the pivot table that begins with text.
 * * DoesNotBeginWith - Display the pivot table that does not begins with text.
 * * EndsWith - Display the pivot table that ends with text.
 * * DoesNotEndsWith - Display the pivot table that does not ends with text.
 * * Contains - Display the pivot table that contains text.
 * * DoesNotContains - Display the pivot table that does not contain text.
 * * GreaterThan - Display the pivot table when the text or value is greater.
 * * GreaterThanOrEqualTo - Display the pivot table when the text or value is greater than or equal.
 * * LessThan - Display the pivot table when the text or value is lesser.
 * * LessThanOrEqualTo - Display the pivot table when the text or value is lesser than or equal.
 * * Between - Display the pivot table that records between the start and end text or value or date.
 * * NotBetween - Display the pivot table that does not record between the start and end text or value or date.
 */
export  type LabelOperators = 
/** Display the pivot table that matches with the given text. */
'Equals' | 
/** Display the pivot table that does not match with the given text. */
'DoesNotEquals' | 
/** Display the pivot table that begins with text. */
'BeginWith' | 
/** Display the pivot table that does not begins with text. */
'DoesNotBeginWith' | 
/** Display the pivot table that ends with text. */
'EndsWith' | 
/** Display the pivot table that does not ends with text. */
'DoesNotEndsWith' | 
/** Display the pivot table that contains text. */
'Contains' | 
/** Display the pivot table that does not contain text. */
'DoesNotContains' | 
/** Display the pivot table when the text is greater. */
'GreaterThan' | 
/** Display the pivot table when the text is greater than or equal. */
'GreaterThanOrEqualTo' | 
/** Display the pivot table when the text is lesser. */
'LessThan' | 
/** Display the pivot table when the text is lesser than or equal. */
'LessThanOrEqualTo' | 
/** Display the pivot table that records between the start and end text. */
'Between' | 
/** Display the pivot table that does not record between the start and end text. */
'NotBetween';
/**
 * Defines the conditional operators for value type fields. They are
 * * Equals - Display the pivot table that matches with the given text or value or date.
 * * DoesNotEquals - Display the pivot table that does not match with the given text or value or date.
 * * GreaterThan - Display the pivot table when the text or value is greater.
 * * GreaterThanOrEqualTo - Display the pivot table when the text or value is greater than or equal.
 * * LessThan - Display the pivot table when the text or value is lesser.
 * * LessThanOrEqualTo - Display the pivot table when the text or value is lesser than or equal.
 * * Between - Display the pivot table that records between the start and end text or value or date.
 * * NotBetween - Display the pivot table that does not record between the start and end text or value or date.
 */
export  type ValueOperators = 
/** Display the pivot table that matches with the given value. */
'Equals' | 
/** Display the pivot table that does not match with the given value. */
'DoesNotEquals' | 
/** Display the pivot table when the text or value is greater. */
'GreaterThan' | 
/** Display the pivot table when the text or value is greater than or equal. */
'GreaterThanOrEqualTo' | 
/** Display the pivot table when the text or value is lesser. */
'LessThan' | 
/** Display the pivot table when the text or value is lesser than or equal. */
'LessThanOrEqualTo' | 
/** Display the pivot table that records between the start and end value. */
'Between' | 
/** Display the pivot table that does not record between the start and end value. */
'NotBetween';
/**
 * Defines the conditional operators for date type fields. They are
 * * Equals - Display the pivot table that matches with the given text or value or date.
 * * DoesNotEquals - Display the pivot table that does not match with the given text or value or date.
 * * Before - Display the pivot table with preview all records from the given date.
 * * BeforeOrEqualTo - Display the pivot table with previous all records along with the given date.
 * * After - Display the pivot table with next all records to the given date.
 * * AfterOrEqualTo - Display the pivot table with next all records along with the given date.
 * * Between - Display the pivot table that records between the start and end text or value or date.
 * * NotBetween - Display the pivot table that does not record between the start and end text or value or date.
 */
export  type DateOperators = 
/** Display the pivot table that matches with the given date. */
'Equals' | 
/** Display the pivot table that does not match with the given date. */
'DoesNotEquals' | 
/** Display the pivot table with preview all records from the given date. */
'Before' | 
/** Display the pivot table with previous all records along with the given date. */
'BeforeOrEqualTo' | 
/** Display the pivot table with next all records to the given date. */
'After' | 
/** Display the pivot table with next all records along with the given date. */
'AfterOrEqualTo' | 
/** Display the pivot table that records between the start and end date. */
'Between' | 
/** Display the pivot table that does not record between the start and end date. */
'NotBetween';
/**
 * Defines the conditioanal formatting operators. They are
 * * Equals - Display the pivot table that matches with the given text or value or date.
 * * DoesNotEquals - Display the pivot table that does not match with the given text or value or date.
 * * GreaterThan - Display the pivot table when the text or value is greater.
 * * GreaterThanOrEqualTo - Display the pivot table when the text or value is greater than or equal.
 * * LessThan - Display the pivot table when the text or value is lesser.
 * * LessThanOrEqualTo - Display the pivot table when the text or value is lesser than or equal.
 * * Between - Display the pivot table that records between the start and end text or value or date.
 * * NotBetween - Display the pivot table that does not record between the start and end text or value or date.
 */
export  type Condition = 
/** Display the pivot table when the value is lesser. */
'LessThan' | 
/** Display the pivot table when the value is greater. */
'GreaterThan' | 
/** Display the pivot table when the value is lesser than or equal. */
'LessThanOrEqualTo' | 
/** Display the pivot table when the value is greater than or equal. */
'GreaterThanOrEqualTo' | 
/** Display the pivot table that matches with the given value. */
'Equals' | 
/** Display the pivot table that does not match with the given value. */
'NotEquals' | 
/** Display the pivot table that records between the start and end value. */
'Between' | 
/** Display the pivot table that does not record between the start and end value. */
'NotBetween';
/**
 * Defines group of date field. They are:
 * * Years - Defines group field as 'Years' for date type field.
 * * Quarters - Defines group field as 'Quarters' for date type field.
 * * QuarterYear - Defines group field as 'Quarter Year' for date type field.
 * * Months - Defines group field as 'Months' for date type field.
 * * Days - Defines group field as 'Days' for date type field.
 * * Hours - Defines group field as 'Hours' for date type field.
 * * Minutes - Defines group field as 'Minutes' for date type field.
 * * Seconds - Defines group field as 'Seconds' for date type field.
 */
export  type DateGroup = 
/**  Defines group field as 'Years' for date type field. */
'Years' | 
/**  Defines group field as 'Quarters' for date type field. */
'Quarters' | 
/**  Defines group field as 'Quarter Year' for date type field. */
'QuarterYear' | 
/**  Defines group field as 'Months' for date type field. */
'Months' | 
/**  Defines group field as 'Days' for date type field. */
'Days' | 
/**  Defines group field as 'Hours' for date type field. */
'Hours' | 
/**  Defines group field as 'Minutes' for date type field. */
'Minutes' | 
/**  Defines group field as 'Seconds' for date type field. */
'Seconds';
/**
 * Defines the group types. They are:
 * * Date - Defines group type as 'Date' for date type field
 * * Number - Defines group type as 'Number' for numeric type field.
 * * Custom - Defines group type as 'Custom' for custom group field.
 */
export  type GroupType = 
/**  Defines group type as 'Date' for date type field. */
'Date' | 
/**  Defines group type as 'Number' for numeric type field. */
'Number' | 
/**  Defines group type as 'Custom' for custom group field. */
'Custom';
/**
 * Allows to set the provider type to identify the given connection is either **Relational** or **SSAS** to render the pivot table and field list. The following options are:
 * * Relational - Allows to render the pivot table with JSON data collection either fetch at local or remote server.
 * * SSAS - Allows to render the pivot table with OLAP data fetch from OLAP cube.
 */
export  type ProviderType = 
/**  Allows to render the pivot table with JSON data collection either fetch at local or remote server. */
'Relational' | 
/**  Allows to render the pivot table with OLAP data fetch from OLAP cube. */
'SSAS';
/**
 * Allows to define the data source type. They are,
 * * JSON: Defines JSON type of data source.
 * * CSV: Defines CSV or string[][] type of data source.
 */
export  type DataSourceType = 
/** Defines JSON type of data source */
'JSON' | 
/** Defines CSV or string[][] type of data source */
'CSV';
/**
 * Allows to set the mode of rendering the pivot table. They are,
 * * Local: Defines the data source in client side and the aggregation done in the same.
 * * Server: Defines the data source in server side (WebAPI) and the aggregation done in the same. Only the rendering part alone done in client side.
 */
export  type RenderMode = 
/** Defines the data source in client side and the aggregation done in the same */
'Local' | 
/** Defines the data source in server side (WebAPI) and the aggregation done in the same */
'Server';
//node_modules/@syncfusion/ej2-pivotview/src/base/util.d.ts
/**
 * This is a file to perform common utility for OLAP and Relational datasource
 * @hidden
 */
export  class PivotUtil {
    static getType(value: any): string;
    static resetTime(date: Date): Date;
    static getClonedData(data: {
        [key: string]: Object;
    }[]): {
        [key: string]: Object;
    }[];
    private static getDefinedObj;
    static inArray(value: Object, collection: Object[]): number;
    static setPivotProperties(control: any, properties: any): void;
    static getClonedDataSourceSettings(dataSourceSettings: IDataOptions): IDataOptions;
    static updateDataSourceSettings(control: PivotView | PivotFieldList, dataSourceSettings: IDataOptions): void;
    static cloneFieldSettings(collection: IFieldOptions[]): IFieldOptions[];
    static cloneOlapFieldSettings(collection: IOlapField[]): IOlapField[];
    static cloneFilterSettings(collection: IFilter[]): IFilter[];
    private static cloneSortSettings;
    static cloneDrillMemberSettings(collection: IDrillOptions[]): IDrillOptions[];
    static cloneFormatSettings(collection: IFormatSettings[]): IFormatSettings[];
    private static CloneValueSortObject;
    private static CloneAuthenticationObject;
    static cloneCalculatedFieldSettings(collection: ICalculatedFieldSettings[]): ICalculatedFieldSettings[];
    private static cloneConditionalFormattingSettings;
    static cloneGroupSettings(collection: IGroupSettings[]): IGroupSettings[];
    private static cloneCustomGroups;
    static getFilterItemByName(fieldName: string, fields: IFilter[]): IFilter;
    static getFieldByName(fieldName: string, fields: IFieldOptions[] | ISort[] | IFormatSettings[] | IDrillOptions[] | IGroupSettings[] | ICalculatedFieldSettings[]): IFieldOptions | ISort | IFormatSettings | IDrillOptions | IGroupSettings | ICalculatedFieldSettings;
    static getFieldInfo(fieldName: string, control: PivotView | PivotFieldList, hasAllField?: boolean): FieldItemInfo;
    static isButtonIconRefesh(prop: string, oldProp: PivotViewModel | PivotFieldListModel, newProp: PivotViewModel | PivotFieldListModel): boolean;
    static formatPivotValues(pivotValues: any): any;
    static formatFieldList(fieldList: any): any;
    static frameContent(pivotValues: IPivotValues, type: string, rowPosition: number, control: PivotView | PivotFieldList): IGridValues;
    static getLocalizedObject(control: PivotView | PivotFieldList): Object;
    static updateReport(control: PivotView | PivotFieldList, report: any): void;
    static generateUUID(): string;
    /** @hidden */
    static applyCustomSort(sortDetails: HeadersSortEventArgs, sortMembersOrder: IAxisSet[], type: string | boolean, hasMembersOrder?: boolean, isOlap?: boolean): IAxisSet[];
    /** @hidden */
    static applyHeadersSort(sortMembersOrder: IAxisSet[], sortOrder: string, type: string | boolean): IAxisSet[];
}
//node_modules/@syncfusion/ej2-pivotview/src/common/actions/common.d.ts
/**
 * Module for PivotCommon rendering
 */
/** @hidden */
export  class Common implements IAction {
    private parent;
    private handlers;
    constructor(parent: PivotView);
    /**
     * For internal use only - Get the module name.
     * @private
     */
    protected getModuleName(): string;
    private initiateCommonModule;
    /**
     * @hidden
     */
    addEventListener(): void;
    /**
     * @hidden
     */
    removeEventListener(): void;
    /**
     * To destroy the groupingbar
     * @returns {void}
     * @hidden
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-pivotview/src/common/actions/dataSource-update.d.ts
/**
 * `DataSourceUpdate` module is used to update the dataSource.
 */
/** @hidden */
export  class DataSourceUpdate {
    parent: PivotCommon;
    /** @hidden */
    btnElement: HTMLElement;
    /** @hidden */
    control: any;
    /** @hidden */
    pivotButton: PivotButton;
    /**
     * Constructor for the dialog action.
     * @param {PivotCommon} parent - parent.
     * @hidden
     */
    constructor(parent?: PivotCommon);
    /**
     * Updates the dataSource by adding the given field along with field dropped position to the dataSource.
     * @function updateDataSource
     * @param  {string} fieldName - Defines dropped field name to update dataSource.
     * @param  {string} droppedClass -  Defines dropped field axis name to update dataSource.
     * @param  {number} droppedPosition - Defines dropped position to the axis based on field position.
     * @returns {void}
     * @hidden
     */
    updateDataSource(fieldName: string, droppedClass: string, droppedPosition: number): boolean;
    /**
     * Updates the dataSource by removing the given field from the dataSource.
     * @param  {string} fieldName - Defines dropped field name to remove dataSource.
     * @function removeFieldFromReport
     * @returns {void}
     * @hidden
     */
    removeFieldFromReport(fieldName: string): IFieldOptions;
    /**
     * Creates new field object given field name from the field list data.
     * @param {string} fieldName - Defines dropped field name to add dataSource.
     * @param {IFieldOptions} fieldItem - Defines dropped field.
     * @function getNewField
     * @returns {IFieldOptions} - IFieldOptions
     * @hidden
     */
    getNewField(fieldName: string, fieldItem?: IFieldOptions): IFieldOptions;
}
//node_modules/@syncfusion/ej2-pivotview/src/common/actions/event-base.d.ts
/**
 * `EventBase` for active fields action.
 */
/** @hidden */
export  class EventBase {
    parent: PivotCommon;
    /** @hidden */
    searchListItem: HTMLElement[];
    /**
     * Constructor for the dialog action.
     * @param {PivotCommon} parent - parent.
     * @hidden
     */
    constructor(parent?: PivotCommon);
    /**
     * Updates sorting order for the selected field.
     * @function updateSorting
     * @param  {Event} args - Contains clicked element information to update dataSource.
     * @returns {void}
     * @hidden
     */
    updateSorting(args: Event): void;
    /**
     * Updates sorting order for the selected field.
     * @function updateFiltering
     * @param {Event} args - Contains clicked element information to update dataSource.
     * @returns {void}
     * @hidden
     */
    updateFiltering(args: Event): void;
    /**
     * Returns boolean by checing the valid filter members from the selected filter settings.
     * @function isValidFilterItemsAvail
     * @param {string} fieldName - Gets filter members for the given field name.
     * @param {IFilter} filterObj - filterObj.
     * @returns {boolean} - boolean.
     * @hidden
     */
    isValidFilterItemsAvail(fieldName: string, filterObj: IFilter): boolean;
    private getOlapData;
    /**
     * Gets sorted filter members for the selected field.
     * @function sortOlapFilterData
     * @param {{ [key: string]: Object }[]} treeData - Gets filter members for the given field name.
     * @param {string} order - order.
     * @returns {{ [key: string]: Object }[]} - return.
     * @hidden
     */
    sortOlapFilterData(treeData: {
        [key: string]: Object;
    }[], order: string): {
        [key: string]: Object;
    }[];
    private applyFilterCustomSort;
    getParentIDs(treeObj: navigations.TreeView, id: string, parent: string[]): string[];
    getChildIDs(treeObj: navigations.TreeView, id: string, children: string[]): string[];
    /**
     * show tree nodes using search text.
     * @hidden
     */
    searchTreeNodes(args: inputs.MaskChangeEventArgs, treeObj: navigations.TreeView, isFieldCollection: boolean, isHierarchy?: boolean): void;
    private updateOlapSearchTree;
    private getTreeData;
    private getOlapTreeData;
    private getOlapSearchTreeData;
    updateChildNodeStates(members: IOlapField[], fieldName: string, node: string, state: boolean): void;
    /**
     * get the parent node of particular filter members.
     * @hidden
     */
    getParentNode(fieldName: string, item: string, filterObj: {
        [key: string]: string;
    }): {
        [key: string]: string;
    };
    private getFilteredTreeNodes;
}
//node_modules/@syncfusion/ej2-pivotview/src/common/actions/field-list.d.ts
/**
 * Module for Field List rendering
 */
/** @hidden */
export  class FieldList implements IAction {
    /**
     * Module declarations
     */
    private parent;
    private element;
    private handlers;
    private timeOutObj;
    /** Constructor for Field List module */
    constructor(parent: PivotView);
    /**
     * For internal use only - Get the module name.
     * @private
     */
    protected getModuleName(): string;
    private initiateModule;
    private updateControl;
    private update;
    /**
     * @hidden
     */
    addEventListener(): void;
    /**
     * @hidden
     */
    removeEventListener(): void;
    /**
     * To destroy the Field List.
     * @returns {void}
     * @hidden
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-pivotview/src/common/actions/keyboard.d.ts
/**
 * Keyboard interaction
 */
/** @hidden */
export  class CommonKeyboardInteraction {
    private parent;
    private keyConfigs;
    private keyboardModule;
    private timeOutObj;
    /**
     * Constructor
     */
    constructor(parent: PivotCommon);
    private keyActionHandler;
    private processComponentFocus;
    private getButtonElement;
    private processEnter;
    private processSort;
    private processEdit;
    private processFilter;
    private processFilterNodeSelection;
    private processDelete;
    private processClose;
    /**
     * To destroy the keyboard module.
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-pivotview/src/common/actions/node-state-modified.d.ts
/**
 * `DialogAction` module is used to handle field list dialog related behaviour.
 */
/** @hidden */
export  class NodeStateModified {
    parent: PivotCommon;
    /**
     * Constructor for the dialog action.
     * @param {PivotCommon} parent - parent.
     * @hidden
     */
    constructor(parent?: PivotCommon);
    /**
     * Updates the dataSource by drag and drop the selected field from either field list or axis table with dropped target position.
     * @function onStateModified
     * @param  {base.DragEventArgs & navigations.DragAndDropEventArgs} args -  Contains both pivot button and field list drag and drop information.
     * @param  {string} fieldName - Defines dropped field name to update dataSource.
     * @returns {void}
     * @hidden
     */
    onStateModified(args: base.DragEventArgs & navigations.DragAndDropEventArgs, fieldName: string): boolean;
    private getButtonPosition;
}
//node_modules/@syncfusion/ej2-pivotview/src/common/actions/pivot-button.d.ts
/**
 * Module to render Pivot button
 */
/** @hidden */
export  class PivotButton implements IAction {
    parent: PivotView | PivotFieldList;
    /** @hidden */
    parentElement: HTMLElement;
    private draggable;
    private handlers;
    menuOption: AggregateMenu;
    axisField: AxisFieldRenderer;
    /** @hidden */
    fieldName: string;
    private valueFiedDropDownList;
    private columnFieldDropDownList;
    private index;
    /** @hidden */
    isDestroyed: boolean;
    /**
     * Constructor for render module.
     * @param {PivotView | PivotFieldList} parent - Component instance.
     */
    constructor(parent: PivotView | PivotFieldList);
    private renderPivotButton;
    private createButtonText;
    private getTypeStatus;
    private validateDropdown;
    private createSummaryType;
    private createMenuOption;
    private openCalculatedFieldDialog;
    private createDraggable;
    private createButtonDragIcon;
    private createSortOption;
    private createFilterOption;
    private updateButtontext;
    private updateOlapButtonText;
    private createDragClone;
    private onDragStart;
    private onDragging;
    private onDragStop;
    private isButtonDropped;
    private updateSorting;
    /** @hidden */
    updateDataSource(isRefreshGrid?: boolean): void;
    private updateFiltering;
    /** @hidden */
    updateFilterEvents(): void;
    private bindDialogEvents;
    private buttonModel;
    private tabSelect;
    private updateDialogButtonEvents;
    private updateCustomFilter;
    private ClearFilter;
    private removeButton;
    /** @hidden */
    nodeStateModified(args: navigations.NodeCheckEventArgs): void;
    private checkedStateAll;
    private updateNodeStates;
    private updateFilterState;
    private refreshPivotButtonState;
    private removeDataSourceSettings;
    private updateDropIndicator;
    private wireEvent;
    private unWireEvent;
    /**
     * @hidden
     */
    addEventListener(): void;
    /**
     * @hidden
     */
    removeEventListener(): void;
    /**
     * To destroy the pivot button event listener
     * @returns {void}
     * @hidden
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-pivotview/src/common/base/constant.d.ts
/**
 * Specifies pivot external events
 * @hidden
 */
/** @hidden */
export  const load: string;
/** @hidden */
export  const enginePopulating: string;
/** @hidden */
export  const enginePopulated: string;
/** @hidden */
export  const onFieldDropped: string;
/** @hidden */
export  const fieldDrop: string;
/** @hidden */
export  const beforePivotTableRender: string;
/** @hidden */
export  const afterPivotTableRender: string;
/** @hidden */
export  const beforeExport: string;
/** @hidden */
export  const exportComplete: string;
/** @hidden */
export  const excelHeaderQueryCellInfo: string;
/** @hidden */
export  const pdfHeaderQueryCellInfo: string;
/** @hidden */
export  const excelQueryCellInfo: string;
/** @hidden */
export  const pdfQueryCellInfo: string;
/** @hidden */
export  const onPdfCellRender: string;
/** @hidden */
export  const dataBound: string;
/** @hidden */
export  const queryCellInfo: string;
/** @hidden */
export  const headerCellInfo: string;
/** @hidden */
export  const hyperlinkCellClick: string;
/** @hidden */
export  const resizing: string;
/** @hidden */
export  const resizeStop: string;
/** @hidden */
export  const cellClick: string;
/** @hidden */
export  const drillThrough: string;
/** @hidden */
export  const beforeColumnsRender: string;
/** @hidden */
export  const selected: string;
/** @hidden */
export  const cellSelecting: string;
/** @hidden */
export  const drill: string;
/** @hidden */
export  const cellSelected: string;
/** @hidden */
export  const cellDeselected: string;
/** @hidden */
export  const rowSelected: string;
/** @hidden */
export  const rowDeselected: string;
/** @hidden */
export  const beginDrillThrough: string;
/** @hidden */
export  const editCompleted: string;
/** @hidden */
export  const multiLevelLabelClick: string;
/** @hidden */
export  const saveReport: string;
/** @hidden */
export  const fetchReport: string;
/** @hidden */
export  const loadReport: string;
/** @hidden */
export  const renameReport: string;
/** @hidden */
export  const removeReport: string;
/** @hidden */
export  const newReport: string;
/** @hidden */
export  const toolbarRender: string;
/** @hidden */
export  const toolbarClick: string;
/** @hidden */
export  const chartTooltipRender: string;
/** @hidden */
export  const chartLegendClick: string;
/** @hidden */
export  const chartLoaded: string;
/** @hidden */
export  const chartLoad: string;
/** @hidden */
export  const chartResized: string;
/** @hidden */
export  const chartAxisLabelRender: string;
/** @hidden */
export  const chartSeriesCreated: string;
/** @hidden */
export  const aggregateCellInfo: string;
/** @hidden */
export  const onHeadersSort: string;
/** @hidden */
export  const contextMenuClick: string;
/** @hidden */
export  const contextMenuOpen: string;
/** @hidden */
export  const fieldListRefreshed: string;
/** @hidden */
export  const conditionalFormatting: string;
/** @hidden */
export  const beforePdfExport: string;
/** @hidden */
export  const beforeExcelExport: string;
/** @hidden */
export  const memberFiltering: string;
/** @hidden */
export  const calculatedFieldCreate: string;
/** @hidden */
export  const memberEditorOpen: string;
/** @hidden */
export  const fieldRemove: string;
/** @hidden */
export  const numberFormatting: string;
/** @hidden */
export  const aggregateMenuOpen: string;
/** @hidden */
export  const fieldDragStart: string;
/** @hidden */
export  const chartPointClick: string;
/** @hidden */
export  const beforeServiceInvoke: string;
/** @hidden */
export  const actionBegin: string;
/** @hidden */
export  const actionComplete: string;
/** @hidden */
export  const actionFailure: string;
/**
 * Specifies pivot internal events
 */
/** @hidden */
export  const initialLoad: string;
/** @hidden */
export  const uiUpdate: string;
/** @hidden */
export  const scroll: string;
/** @hidden */
export  const verticalScroll: string;
/** @hidden */
export  const horizontalScroll: string;
/** @hidden */
export  const contentReady: string;
/** @hidden */
export  const dataReady: string;
/** @hidden */
export  const initSubComponent: string;
/** @hidden */
export  const treeViewUpdate: string;
/** @hidden */
export  const pivotButtonUpdate: string;
/** @hidden */
export  const initCalculatedField: string;
/** @hidden */
export  const click: string;
/** @hidden */
export  const initToolbar: string;
/** @hidden */
export  const initPivotPager: string;
/** @hidden */
export  const initFormatting: string;
/** @hidden */
export  const initGrouping: string;
/**
 * Specifies action names of actionBegin events
 */
/** @hidden */
export  const sortValue: string;
/** @hidden */
export  const drillUp: string;
/** @hidden */
export  const drillDown: string;
/** @hidden */
export  const addNewReport: string;
/** @hidden */
export  const saveCurrentReport: string;
/** @hidden */
export  const saveAsCurrentReport: string;
/** @hidden */
export  const renameCurrentReport: string;
/** @hidden */
export  const removeCurrentReport: string;
/** @hidden */
export  const loadReports: string;
/** @hidden */
export  const openConditionalFormatting: string;
/** @hidden */
export  const openNumberFormatting: string;
/** @hidden */
export  const MdxQuery: string;
/** @hidden */
export  const showFieldList: string;
/** @hidden */
export  const tableView: string;
/** @hidden */
export  const chartView: string;
/** @hidden */
export  const multipleAxis: string;
/** @hidden */
export  const showLegend: string;
/** @hidden */
export  const pdfExport: string;
/** @hidden */
export  const pngExport: string;
/** @hidden */
export  const excelExport: string;
/** @hidden */
export  const csvExport: string;
/** @hidden */
export  const jpegExport: string;
/** @hidden */
export  const svgExport: string;
/** @hidden */
export  const hideSubTotals: string;
/** @hidden */
export  const subTotalsRow: string;
/** @hidden */
export  const subTotalsColumn: string;
/** @hidden */
export  const showSubTotals: string;
/** @hidden */
export  const hideGrandTotals: string;
/** @hidden */
export  const grandTotalsRow: string;
/** @hidden */
export  const grandTotalsColumn: string;
/** @hidden */
export  const showGrandTotals: string;
/** @hidden */
export  const numberFormattingMenu: string;
/** @hidden */
export  const conditionalFormattingMenu: string;
/** @hidden */
export  const reportChange: string;
/** @hidden */
export  const sortFieldTree: string;
/** @hidden */
export  const editCalculatedField: string;
/** @hidden */
export  const sortField: string;
/** @hidden */
export  const filterField: string;
/** @hidden */
export  const removeField: string;
/** @hidden */
export  const openCalculatedField: string;
/** @hidden */
export  const editRecord: string;
/** @hidden */
export  const saveEditedRecords: string;
/** @hidden */
export  const addNewRecord: string;
/** @hidden */
export  const removeRecord: string;
/** @hidden */
export  const aggregateField: string;
/** @hidden */
export  const contextMenuCalculatedField: string;
/** @hidden */
export  const windowResize: string;
/** @hidden */
export  const rowPageNavigation: string;
/** @hidden */
export  const columnPageNavigation: string;
/**
 * Specifies action names of actionComplete events
 */
/** @hidden */
export  const calculatedFieldApplied: string;
/** @hidden */
export  const editedRecordsSaved: string;
/** @hidden */
export  const newRecordAdded: string;
/** @hidden */
export  const recordRemoved: string;
/** @hidden */
export  const closeFieldlist: string;
/** @hidden */
export  const fieldTreeSorted: string;
/** @hidden */
export  const reportSaved: string;
/** @hidden */
export  const newReportAdded: string;
/** @hidden */
export  const reportReSaved: string;
/** @hidden */
export  const reportRenamed: string;
/** @hidden */
export  const reportRemoved: string;
/** @hidden */
export  const excelExported: string;
/** @hidden */
export  const csvExported: string;
/** @hidden */
export  const pdfExported: string;
/** @hidden */
export  const pngExported: string;
/** @hidden */
export  const jpegExported: string;
/** @hidden */
export  const svgExported: string;
/** @hidden */
export  const conditionallyFormatted: string;
/** @hidden */
export  const numberFormatted: string;
/** @hidden */
export  const tableViewed: string;
/** @hidden */
export  const chartViewed: string;
/** @hidden */
export  const subTotalsHidden: string;
/** @hidden */
export  const subTotalsRowShown: string;
/** @hidden */
export  const subTotalsColumnShown: string;
/** @hidden */
export  const subTotalsShown: string;
/** @hidden */
export  const grandTotalsHidden: string;
/** @hidden */
export  const grandTotalsRowShown: string;
/** @hidden */
export  const grandTotalsColumnShown: string;
/** @hidden */
export  const grandTotalsShown: string;
/** @hidden */
export  const valueSorted: string;
/** @hidden */
export  const calculatedFieldEdited: string;
/** @hidden */
export  const fieldSorted: string;
/** @hidden */
export  const fieldFiltered: string;
/** @hidden */
export  const fieldRemoved: string;
/** @hidden */
export  const fieldAggregated: string;
/** @hidden */
export  const recordEdited: string;
/** @hidden */
export  const reportChanged: string;
/** @hidden */
export  const windowResized: string;
/** @hidden */
export  const recordUpdated: string;
/** @hidden */
export  const drillThroughClosed: string;
/** @hidden */
export  const verticalScrolled: string;
/** @hidden */
export  const horizontalScrolled: string;
/** @hidden */
export  const rowPageNavigated: string;
/** @hidden */
export  const columnPageNavigated: string;
//node_modules/@syncfusion/ej2-pivotview/src/common/base/css-constant.d.ts
/**
 * CSS Constants
 * @hidden
 */
/** @hidden */
export  const ROOT: string;
/** @hidden */
export  const RTL: string;
/** @hidden */
export  const PIVOTCHART_LTR: string;
/** @hidden */
export  const DEVICE: string;
/** @hidden */
export  const ICON: string;
/** @hidden */
export  const ICON_DISABLE: string;
/** @hidden */
export  const ICON_HIDDEN: string;
/** @hidden */
export  const FIRST_PAGER_ICON: string;
/** @hidden */
export  const LAST_PAGER_ICON: string;
/** @hidden */
export  const PREV_PAGER_ICON: string;
/** @hidden */
export  const NEXT_PAGER_ICON: string;
/** @hidden */
export  const AXISFIELD_ICON_CLASS: string;
/** @hidden */
export  const WRAPPER_CLASS: string;
/** @hidden */
export  const OLAP_WRAPPER_CLASS: string;
/** @hidden */
export  const CONTAINER_CLASS: string;
/** @hidden */
export  const TOGGLE_FIELD_LIST_CLASS: string;
/** @hidden */
export  const STATIC_FIELD_LIST_CLASS: string;
/** @hidden */
export  const TOGGLE_SELECT_CLASS: string;
/** @hidden */
export  const FIELD_TABLE_CLASS: string;
/** @hidden */
export  const BUTTON_DRAGGABLE: string;
/** @hidden */
export  const OLAP_FIELD_TABLE_CLASS: string;
/** @hidden */
export  const FIELD_LIST_CLASS: string;
/** @hidden */
export  const OLAP_FIELD_LIST_CLASS: string;
/** @hidden */
export  const FIELD_LIST_TREE_CLASS: string;
/** @hidden */
export  const FIELD_LIST_TREE_OUTER_DIV_CLASS: string;
/** @hidden */
export  const FIELD_LIST_TREE_OUTER_DIV_SEARCH_CLASS: string;
/** @hidden */
export  const FIELD_LIST_SEARCH_MODE_CLASS: string;
/** @hidden */
export  const FIELD_HEADER_CLASS: string;
/** @hidden */
export  const FIELD_TREE_PARENT: string;
/** @hidden */
export  const FIELD_TREE_CHILD: string;
/** @hidden */
export  const FIELD_HEADER_CONTAINER_CLASS: string;
/** @hidden */
export  const FIELD_LIST_TITLE_CLASS: string;
/** @hidden */
export  const FIELD_LIST_TITLE_CONTENT_CLASS: string;
/** @hidden */
export  const FIELD_LIST_SEARCH_CLASS: string;
/** @hidden */
export  const FIELD_LIST_SEARCH_INPUT_CLASS: string;
/** @hidden */
export  const FIELD_LIST_SEARCH_ICON_CLASS: string;
/** @hidden */
export  const FIELD_LIST_FOOTER_CLASS: string;
/** @hidden */
export  const CALCULATED_FIELD_CLASS: string;
/** @hidden */
export  const FLAT_CLASS: string;
/** @hidden */
export  const OUTLINE_CLASS: string;
/** @hidden */
export  const AXIS_TABLE_CLASS: string;
/** @hidden */
export  const OLAP_AXIS_TABLE_CLASS: string;
/** @hidden */
export  const LEFT_AXIS_PANEL_CLASS: string;
/** @hidden */
export  const RIGHT_AXIS_PANEL_CLASS: string;
/** @hidden */
export  const ALL_FIELDS_PANEL_CLASS: string;
/** @hidden */
export  const FIELD_PANEL_SCROLL_CLASS: string;
/** @hidden */
export  const AXIS_HEADER_CLASS: string;
/** @hidden */
export  const AXIS_CONTENT_CLASS: string;
/** @hidden */
export  const AXIS_PROMPT_CLASS: string;
/** @hidden */
export  const PIVOT_BUTTON_WRAPPER_CLASS: string;
/** @hidden */
export  const PIVOT_BUTTON_CLASS: string;
/** @hidden */
export  const PIVOT_BUTTON_CONTENT_CLASS: string;
/** @hidden */
export  const DRAG_CLONE_CLASS: string;
/** @hidden */
export  const SORT_CLASS: string;
/** @hidden */
export  const MEMBER_SORT_CLASS: string;
/** @hidden */
export  const SORT_DESCEND_CLASS: string;
/** @hidden */
export  const FILTER_COMMON_CLASS: string;
/** @hidden */
export  const FILTER_CLASS: string;
/** @hidden */
export  const FILTERED_CLASS: string;
/** @hidden */
export  const REMOVE_CLASS: string;
/** @hidden */
export  const DRAG_CLASS: string;
/** @hidden */
export  const DRAG_DISABLE_CLASS: string;
/** @hidden */
export  const DROP_INDICATOR_CLASS: string;
/** @hidden */
export  const INDICATOR_HOVER_CLASS: string;
/** @hidden */
export  const MEMBER_EDITOR_DIALOG_CLASS: string;
/** @hidden */
export  const EDITOR_TREE_WRAPPER_CLASS: string;
/** @hidden */
export  const EDITOR_TREE_CONTAINER_CLASS: string;
/** @hidden */
export  const DRILLTHROUGH_GRID_CLASS: string;
/** @hidden */
export  const DRILLTHROUGH_BODY_CLASS: string;
/** @hidden */
export  const DRILLTHROUGH_BODY_HEADER_CONTAINER_CLASS: string;
/** @hidden */
export  const DRILLTHROUGH_BODY_HEADER_CLASS: string;
/** @hidden */
export  const DRILLTHROUGH_BODY_HEADER_COMMON_CLASS: string;
/** @hidden */
export  const DRILLTHROUGH_BODY_HEADER_VALUE_CLASS: string;
/** @hidden */
export  const DRILLTHROUGH_DIALOG: string;
/** @hidden */
export  const EDITOR_LABEL_WRAPPER_CLASS: string;
/** @hidden */
export  const EDITOR_LABEL_CLASS: string;
/** @hidden */
export  const CHECK_BOX_FRAME_CLASS: string;
/** @hidden */
export  const NODE_CHECK_CLASS: string;
/** @hidden */
export  const NODE_STOP_CLASS: string;
/** @hidden */
export  const OK_BUTTON_CLASS: string;
/** @hidden */
export  const CANCEL_BUTTON_CLASS: string;
/** @hidden */
export  const ERROR_DIALOG_CLASS: string;
/** @hidden */
export  const DROPPABLE_CLASS: string;
/** @hidden */
export  const ROW_AXIS_CLASS: string;
/** @hidden */
export  const COLUMN_AXIS_CLASS: string;
/** @hidden */
export  const VALUE_AXIS_CLASS: string;
/** @hidden */
export  const FILTER_AXIS_CLASS: string;
/** @hidden */
export  const GROUPING_BAR_CLASS: string;
/** @hidden */
export  const VALUE_COLUMN_CLASS: string;
/** @hidden */
export  const GROUP_ALL_FIELDS_CLASS: string;
/** @hidden */
export  const GROUP_ROW_CLASS: string;
/** @hidden */
export  const GROUP_COLUMN_CLASS: string;
/** @hidden */
export  const GROUP_FLEX_CLASS: string;
/** @hidden */
export  const GROUP_VALUE_CLASS: string;
/** @hidden */
export  const GROUP_FILTER_CLASS: string;
/** @hidden */
export  const DIALOG_CLOSE_ICON_CLASS: string;
/** @hidden */
export  const NO_DRAG_CLASS: string;
/** @hidden */
export  const SELECTED_NODE_CLASS: string;
/** @hidden */
export  const TITLE_HEADER_CLASS: string;
/** @hidden */
export  const TITLE_CONTENT_CLASS: string;
/** @hidden */
export  const TEXT_CONTENT_CLASS: string;
/** @hidden */
export  const FOOTER_CONTENT_CLASS: string;
/** @hidden */
export  const ADAPTIVE_CONTAINER_CLASS: string;
/** @hidden */
export  const ADAPTIVE_FIELD_LIST_BUTTON_CLASS: string;
/** @hidden */
export  const ADAPTIVE_CALCULATED_FIELD_BUTTON_CLASS: string;
/** @hidden */
export  const BUTTON_SMALL_CLASS: string;
/** @hidden */
export  const BUTTON_ROUND_CLASS: string;
/** @hidden */
export  const ADD_ICON_CLASS: string;
/** @hidden */
export  const BUTTON_FLAT_CLASS: string;
/** @hidden */
export  const STATIC_CENTER_DIV_CLASS: string;
/** @hidden */
export  const STATIC_CENTER_HEADER_CLASS: string;
/** @hidden */
export  const ADAPTIVE_FIELD_LIST_DIALOG_CLASS: string;
/** @hidden */
export  const LIST_TEXT_CLASS: string;
/** @hidden */
export  const LIST_SELECT_CLASS: string;
/** @hidden */
export  const LIST_FRAME_CLASS: string;
/** @hidden */
export  const EXCEL_FILTER_ICON_CLASS: string;
/** @hidden */
export  const SELECTED_MENU_ICON_CLASS: string;
/** @hidden */
export  const EMPTY_ICON_CLASS: string;
/** @hidden */
export  const SUB_MENU_CLASS: string;
/** @hidden */
export  const FOCUSED_CLASS: string;
/** @hidden */
export  const SELECTED_CLASS: string;
/** @hidden */
export  const SELECT_CLASS: string;
/** @hidden */
export  const MENU_ITEM_CLASS: string;
/** @hidden */
export  const FILTER_MENU_OPTIONS_CLASS: string;
/** @hidden */
export  const SELECTED_OPTION_ICON_CLASS: string;
/** @hidden */
export  const SELECTED_LEVEL_ICON_CLASS: string;
/** @hidden */
export  const FILTER_DIV_CONTENT_CLASS: string;
/** @hidden */
export  const FILTER_TEXT_DIV_CLASS: string;
/** @hidden */
export  const BETWEEN_TEXT_DIV_CLASS: string;
/** @hidden */
export  const SEPARATOR_DIV_CLASS: string;
/** @hidden */
export  const FILTER_OPTION_WRAPPER_1_CLASS: string;
/** @hidden */
export  const FILTER_OPTION_WRAPPER_2_CLASS: string;
/** @hidden */
export  const FILTER_INPUT_DIV_1_CLASS: string;
/** @hidden */
export  const FILTER_INPUT_DIV_2_CLASS: string;
/** @hidden */
export  const VALUE_OPTIONS_CLASS: string;
/** @hidden */
export  const LEVEL_OPTIONS_CLASS: string;
/** @hidden */
export  const FILTER_OPERATOR_CLASS: string;
/** @hidden */
export  const FILTER_SORT_CLASS: string;
/** @hidden */
export  const SORT_ASCEND_ICON_CLASS: string;
/** @hidden */
export  const SORT_DESCEND_ICON_CLASS: string;
/** @hidden */
export  const SORT_SELECTED_CLASS: string;
/** @hidden */
export  const COLLAPSE: string;
/** @hidden */
export  const EXPAND: string;
/** @hidden */
export  const TABLE: string;
/** @hidden */
export  const BODY: string;
/** @hidden */
export  const PIVOTBODY: string;
/** @hidden */
export  const COLUMNSHEADER: string;
/** @hidden */
export  const ROWSHEADER: string;
/** @hidden */
export  const VALUESCONTENT: string;
/** @hidden */
export  const VALUECELL: string;
/** @hidden */
export  const PIVOTHEADER: string;
/** @hidden */
export  const PGHEADERS: string;
/** @hidden */
export  const TOPHEADER: string;
/** @hidden */
export  const HEADERCELL: string;
/** @hidden */
export  const SUMMARY: string;
/** @hidden */
export  const CELLVALUE: string;
/** @hidden */
export  const ROW: string;
/** @hidden */
export  const PIVOTTOOLTIP: string;
/** @hidden */
export  const TOOLTIP_HEADER: string;
/** @hidden */
export  const TOOLTIP_CONTENT: string;
/** @hidden */
export  const NEXTSPAN: string;
/** @hidden */
export  const LASTSPAN: string;
/** @hidden */
export  const EDITOR_SEARCH_WRAPPER_CLASS: string;
/** @hidden */
export  const EDITOR_SEARCH_CLASS: string;
/** @hidden */
export  const EDITOR_SEARCH__INPUT_CLASS: string;
/** @hidden */
export  const SELECT_ALL_WRAPPER_CLASS: string;
/** @hidden */
export  const SELECT_ALL_CLASS: string;
/** @hidden */
export  const PIVOTCALC: string;
/** @hidden */
export  const CALCDIALOG: string;
/** @hidden */
export  const OLAP_CALCDIALOG: string;
/** @hidden */
export  const CALCRADIO: string;
/** @hidden */
export  const CALCCHECK: string;
/** @hidden */
export  const CALCINPUT: string;
/** @hidden */
export  const CALC_FORMAT_INPUT: string;
/** @hidden */
export  const CALCINPUTDIV: string;
/** @hidden */
export  const PIVOT_CALC_CUSTOM_FORMAT_INPUTDIV: string;
/** @hidden */
export  const CALC_HIERARCHY_LIST_DIV: string;
/** @hidden */
export  const CALC_FORMAT_TYPE_DIV: string;
/** @hidden */
export  const CALC_MEMBER_TYPE_DIV: string;
/** @hidden */
export  const MEMBER_OPTIONS_CLASS: string;
/** @hidden */
export  const HIERARCHY_OPTIONS_CLASS: string;
/** @hidden */
export  const FORMAT_OPTIONS_CLASS: string;
/** @hidden */
export  const FORMAT_INPUT_CLASS: string;
/** @hidden */
export  const CALCOUTERDIV: string;
/** @hidden */
export  const OLAP_CALCOUTERDIV: string;
/** @hidden */
export  const FLAT: string;
/** @hidden */
export  const FORMAT: string;
/** @hidden */
export  const FORMULA: string;
/** @hidden */
export  const TREEVIEW: string;
/** @hidden */
export  const TREEVIEWOUTER: string;
/** @hidden */
export  const TREE_CONTAINER: string;
/** @hidden */
export  const CALCCANCELBTN: string;
/** @hidden */
export  const CALCADDBTN: string;
/** @hidden */
export  const CALCOKBTN: string;
/** @hidden */
export  const CALCACCORD: string;
/** @hidden */
export  const CALCBUTTONDIV: string;
/** @hidden */
export  const AXIS_ICON_CLASS: string;
/** @hidden */
export  const AXIS_ROW_CLASS: string;
/** @hidden */
export  const AXIS_COLUMN_CLASS: string;
/** @hidden */
export  const AXIS_VALUE_CLASS: string;
/** @hidden */
export  const AXIS_FILTER_CLASS: string;
/** @hidden */
export  const AXIS_NAVIGATE_WRAPPER_CLASS: string;
/** @hidden */
export  const LEFT_NAVIGATE_WRAPPER_CLASS: string;
/** @hidden */
export  const RIGHT_NAVIGATE_WRAPPER_CLASS: string;
/** @hidden */
export  const LEFT_NAVIGATE_CLASS: string;
/** @hidden */
export  const RIGHT_NAVIGATE_CLASS: string;
/** @hidden */
export  const GRID_CLASS: string;
/** @hidden */
export  const PIVOT_VIEW_CLASS: string;
/** @hidden */
export  const PIVOT_ALL_FIELD_TITLE_CLASS: string;
/** @hidden */
export  const PIVOT_FIELD_TITLE_CLASS: string;
/** @hidden */
export  const PIVOT_FORMULA_TITLE_CLASS: string;
/** @hidden */
export  const OLAP_HIERARCHY_TITLE_CLASS: string;
/** @hidden */
export  const PIVOT_FORMAT_TITLE_CLASS: string;
/** @hidden */
export  const OLAP_MEMBER_TITLE_CLASS: string;
/** @hidden */
export  const PIVOT_CONTEXT_MENU_CLASS: string;
/** @hidden */
export  const MENU_DISABLE: string;
/** @hidden */
export  const MENU_HIDE: string;
/** @hidden */
export  const EMPTY_MEMBER_CLASS: string;
/** @hidden */
export  const CALC_EDIT: string;
/** @hidden */
export  const CALC_EDITED: string;
/** @hidden */
export  const CALC_INFO: string;
/** @hidden */
export  const EMPTY_FIELD: string;
/** @hidden */
export  const FORMAT_DIALOG: string;
/** @hidden */
export  const FORMAT_CONDITION_BUTTON: string;
/** @hidden */
export  const FORMAT_NEW: string;
/** @hidden */
export  const FORMAT_OUTER: string;
/** @hidden */
export  const FORMAT_INNER: string;
/** @hidden */
export  const FORMAT_TABLE: string;
/** @hidden */
export  const FORMAT_VALUE_LABEL: string;
/** @hidden */
export  const FORMAT_LABEL: string;
/** @hidden */
export  const INPUT: string;
/** @hidden */
export  const FORMAT_VALUE1: string;
/** @hidden */
export  const FORMAT_VALUE2: string;
/** @hidden */
export  const FORMAT_VALUE_SPAN: string;
/** @hidden */
export  const FORMAT_FONT_COLOR: string;
/** @hidden */
export  const FORMAT_BACK_COLOR: string;
/** @hidden */
export  const FORMAT_VALUE_PREVIEW: string;
/** @hidden */
export  const FORMAT_COLOR_PICKER: string;
/** @hidden */
export  const FORMAT_DELETE_ICON: string;
/** @hidden */
export  const FORMAT_DELETE_BUTTON: string;
/** @hidden */
export  const SELECTED_COLOR: string;
/** @hidden */
export  const DIALOG_HEADER: string;
/** @hidden */
export  const FORMAT_APPLY_BUTTON: string;
/** @hidden */
export  const FORMAT_CANCEL_BUTTON: string;
/** @hidden */
export  const FORMAT_ROUND_BUTTON: string;
/** @hidden */
export  const VIRTUALTRACK_DIV: string;
/** @hidden */
export  const MOVABLECONTENT_DIV: string;
/** @hidden */
export  const MOVABLESCROLL_DIV: string;
/** @hidden */
export  const MOVABLECHILD_DIV: string;
/** @hidden */
export  const FROZENCONTENT_DIV: string;
/** @hidden */
export  const MOVABLEHEADER_DIV: string;
/** @hidden */
export  const FROZENHEADER_DIV: string;
/** @hidden */
export  const DEFER_APPLY_BUTTON: string;
/** @hidden */
export  const DEFER_CANCEL_BUTTON: string;
/** @hidden */
export  const LAYOUT_FOOTER: string;
/** @hidden */
export  const CELL_SELECTED_BGCOLOR: string;
/** @hidden */
export  const SELECTED_BGCOLOR: string;
/** @hidden */
export  const BUTTON_LAYOUT: string;
/** @hidden */
export  const CHECKBOX_LAYOUT: string;
/** @hidden */
export  const DEFER_UPDATE_BUTTON: string;
/** @hidden */
export  const HEADERCONTENT: string;
/** @hidden */
export  const BACK_ICON: string;
/** @hidden */
export  const TITLE_MOBILE_HEADER: string;
/** @hidden */
export  const TITLE_MOBILE_CONTENT: string;
/** @hidden */
export  const ROW_CELL_CLASS: string;
/** @hidden */
export  const CELL_ACTIVE_BGCOLOR: string;
/** @hidden */
export  const SPAN_CLICKED: string;
/** @hidden */
export  const ROW_SELECT: string;
/** @hidden */
export  const GRID_HEADER: string;
/** @hidden */
export  const GRID_CONTENT: string;
/** @hidden */
export  const GRID_EXPORT: string;
/** @hidden */
export  const PIVOTVIEW_EXPORT: string;
/** @hidden */
export  const PIVOTVIEW_GRID: string;
/** @hidden */
export  const PIVOTVIEW_EXPAND: string;
/** @hidden */
export  const PIVOTVIEW_COLLAPSE: string;
/** @hidden */
export  const PIVOTVIEW_GROUP: string;
/** @hidden */
export  const PIVOTVIEW_UN_GROUP: string;
/** @hidden */
export  const GRID_PDF_EXPORT: string;
/** @hidden */
export  const GRID_EXCEL_EXPORT: string;
/** @hidden */
export  const GRID_CSV_EXPORT: string;
/** @hidden */
export  const GRID_PNG_EXPORT: string;
/** @hidden */
export  const GRID_JPEG_EXPORT: string;
/** @hidden */
export  const GRID_SVG_EXPORT: string;
/** @hidden */
export  const GRID_LOAD: string;
/** @hidden */
export  const GRID_NEW: string;
/** @hidden */
export  const GRID_RENAME: string;
/** @hidden */
export  const GRID_REMOVE: string;
/** @hidden */
export  const GRID_SAVEAS: string;
/** @hidden */
export  const GRID_SAVE: string;
/** @hidden */
export  const GRID_SUB_TOTAL: string;
/** @hidden */
export  const GRID_GRAND_TOTAL: string;
/** @hidden */
export  const GRID_FORMATTING: string;
/** @hidden */
export  const GRID_TOOLBAR: string;
/** @hidden */
export  const GRID_REPORT_LABEL: string;
/** @hidden */
export  const GRID_REPORT_INPUT: string;
/** @hidden */
export  const GRID_REPORT_OUTER: string;
/** @hidden */
export  const GRID_REPORT_DIALOG: string;
/** @hidden */
export  const TOOLBAR_FIELDLIST: string;
/** @hidden */
export  const TOOLBAR_GRID: string;
/** @hidden */
export  const TOOLBAR_CHART: string;
/** @hidden */
export  const REPORT_LIST_DROP: string;
/** @hidden */
export  const PIVOTCHART: string;
/** @hidden */
export  const GROUP_CHART_ROW: string;
/** @hidden */
export  const GROUP_CHART_COLUMN: string;
/** @hidden */
export  const GROUP_CHART_VALUE: string;
/** @hidden */
export  const GROUP_CHART_MULTI_VALUE: string;
/** @hidden */
export  const GROUP_CHART_ACCUMULATION_COLUMN: string;
/** @hidden */
export  const GROUP_CHART_FILTER: string;
/** @hidden */
export  const GROUP_CHART_VALUE_DROPDOWN_DIV: string;
/** @hidden */
export  const GROUP_CHART_VALUE_DROPDOWN: string;
/** @hidden */
export  const GROUP_CHART_COLUMN_DROPDOWN_DIV: string;
/** @hidden */
export  const GROUP_CHART_COLUMN_DROPDOWN: string;
/** @hidden */
export  const CHART_GROUPING_BAR_CLASS: string;
/** @hidden */
export  const PIVOT_DISABLE_ICON: string;
/** @hidden */
export  const PIVOT_SELECT_ICON: string;
/** @hidden */
export  const VALUESHEADER: string;
/** @hidden */
export  const ICON_ASC: string;
/** @hidden */
export  const ICON_DESC: string;
/** @hidden */
export  const GRID_GROUPING_BAR_CLASS: string;
/** @hidden */
export  const MDX_QUERY: string;
/** @hidden */
export  const MDX_QUERY_CONTENT: string;
/** @hidden */
export  const GRID_MDX_DIALOG: string;
/** @hidden */
export  const GRID_MDX: string;
/** @hidden */
export  const FORMATTING_DIALOG: string;
/** @hidden */
export  const FORMATTING_DIALOG_OUTER: string;
/** @hidden */
export  const FORMATTING_VALUE_LABLE: string;
/** @hidden */
export  const FORMATTING_VALUE_DROP: string;
/** @hidden */
export  const FORMATTING_FORMAT_LABLE: string;
/** @hidden */
export  const FORMATTING_FORMAT_DROP: string;
/** @hidden */
export  const FORMATTING_CUSTOM_LABLE: string;
/** @hidden */
export  const FORMATTING_CUSTOM_TEXT: string;
/** @hidden */
export  const FORMATTING_SYMBOL_LABLE: string;
/** @hidden */
export  const FORMATTING_SYMBOL_DROP: string;
/** @hidden */
export  const FORMATTING_GROUPING_LABLE: string;
/** @hidden */
export  const FORMATTING_GROUPING_DROP: string;
/** @hidden */
export  const FORMATTING_DECIMAL_LABLE: string;
/** @hidden */
export  const FORMATTING_DECIMAL_DROP: string;
/** @hidden */
export  const FORMATTING_TOOLBAR: string;
/** @hidden */
export  const FORMATTING_TABLE: string;
/** @hidden */
export  const FORMATTING_MENU: string;
/** @hidden */
export  const NUMBER_FORMATTING_MENU: string;
/** @hidden */
export  const EMPTY_FORMAT: string;
/** @hidden */
export  const CONDITIONAL_FORMATTING_MENU: string;
/** @hidden */
export  const PIVOTCHART_INNER: string;
/** @hidden */
export  const PIVOTCHART_TYPE_DIALOG: string;
/** @hidden */
export  const FORMAT_FONT_COLOR_PICKER: string;
/** @hidden */
export  const GROUP_PIVOT_ROW: string;
/** @hidden */
export  const TOOLBAR_MENU: string;
/** @hidden */
export  const DISABLE_FIRST_PAGE: string;
/** @hidden */
export  const DISABLE_PREV_PAGE: string;
/** @hidden */
export  const DISABLE_NEXT_PAGE: string;
/** @hidden */
export  const DISABLE_LAST_PAGE: string;
/** @hidden */
export  const GRID_PAGER: string;
/** @hidden */
export  const GRID_PAGER_DIV: string;
/** @hidden */
export  const PIVOT_ROW_PAGER_DIV: string;
/** @hidden */
export  const PIVOT_COLUMN_PAGER_DIV: string;
/** @hidden */
export  const PIVOT_ROW_PAGER_SETTINGS: string;
/** @hidden */
export  const PIVOT_COLUMN_PAGER_SETTINGS: string;
/** @hidden */
export  const PIVOT_PAGER_CONTAINER: string;
/** @hidden */
export  const PIVOT_V_SEPARATOR: string;
/** @hidden */
export  const PIVOT_H_SEPARATOR: string;
/** @hidden */
export  const PIVOT_TEXT_DIV: string;
/** @hidden */
export  const PIVOT_TEXT_DIV_1: string;
/** @hidden */
export  const PIVOT_ROW_SIZE: string;
/** @hidden */
export  const PIVOT_ROW_PAGER_NUMBER: string;
/** @hidden */
export  const PIVOT_COLUMN_SIZE: string;
/** @hidden */
export  const PIVOT_COLUMN_PAGER_NUMBER: string;
/** @hidden */
export  const PIVOT_ROW_PAGER_STRING: string;
/** @hidden */
export  const PIVOT_COLUMN_PAGER_STRING: string;
/** @hidden */
export  const PIVOT_ROW_OF_STRING: string;
/** @hidden */
export  const PIVOT_COLUMN_OF_STRING: string;
/** @hidden */
export  const PIVOT_ROW_DROPDOWN: string;
/** @hidden */
export  const PIVOT_COLUMN_DROPDOWN: string;
/** @hidden */
export  const PIVOT_ROW_SIZE_LIST: string;
/** @hidden */
export  const PIVOT_COLUMN_SIZE_LIST: string;
/** @hidden */
export  const INVERSE: string;
/** @hidden */
export  const COMPACT_VIEW: string;
/** @hidden */
export  const PAGE_SIZE_DISABLE: string;
/** @hidden */
export  const PIVOT_COMPACT_PAGER_DIV: string;
/** @hidden */
export  const PIVOT_COMPACT_PAGER_NO_ROWSIZE: string;
/** @hidden */
export  const PIVOT_COMPACT_PAGER_NO_COLUMNSIZE: string;
/** @hidden */
export  const PIVOT_SINGLE_ROW_PAGER_DIV: string;
/** @hidden */
export  const PIVOT_SINGLE_COLUMN_PAGER_DIV: string;
/** @hidden */
export  const PIVOT_COMPACT_MOBILE_PAGER: string;
/** @hidden */
export  const PIVOT_MOBILE_PAGER: string;
/** @hidden */
export  const PIVOT_ROW_OF_STRING_MAINDIV: string;
/** @hidden */
export  const PIVOT_COLUMN_OF_STRING_MAINDIV: string;
/** @hidden */
export  const PIVOT_PAGE_SIZE_LIST_MAINDIV: string;
/** @hidden */
export  const PIVOT_FIRST_ICON_DEFAULT: string;
/** @hidden */
export  const PIVOT_PREV_ICON_DEFAULT: string;
/** @hidden */
export  const PIVOT_NEXT_ICON_DEFAULT: string;
/** @hidden */
export  const PIVOT_LAST_ICON_DEFAULT: string;
/** @hidden */
export  const PIVOT_FIRST_ICON_ENABLE: string;
/** @hidden */
export  const PIVOT_PREV_ICON_ENABLE: string;
/** @hidden */
export  const PIVOT_NEXT_ICON_ENABLE: string;
/** @hidden */
export  const PIVOT_LAST_ICON_ENABLE: string;
/** @hidden */
export  const GRID_PAGER_TOP: string;
/** @hidden */
export  const GRID_PAGER_BOTTOM: string;
/** @hidden */
export  const GRID_PAGER_SINGLE_DIV: string;
/** @hidden */
export  const PIVOT_MOBILE_SINGLE_PAGER: string;
/** @hidden */
export  const PIVOT_COMPACT_PAGER_SINGLE_DIV: string;
/** @hidden */
export  const PIVOT_COMPACT_MOBILE_SINGLE_PAGER: string;
/** @hidden */
export  const PIVOT_COMPACT_MOBILE_FULL_SINGLE_PAGER: string;
/** @hidden */
export  const PIVOT_PAGER_SINGLE_NO_SIZE: string;
/** @hidden */
export  const PIVOT_PAGER_COMPACT_SINGLE_NO_SIZE: string;
/** @hidden */
export  const PIVOT_PAGER_NAV_CONTAINER: string;
/** @hidden */
export  const PIVOT_PAGER_INFO_CONTAINER: string;
/** @hidden */
export  const PIVOT_CELL_CONTAINER: string;
//node_modules/@syncfusion/ej2-pivotview/src/common/base/enum.d.ts
/**
 * Specifies common enumerations
 */
/**
 * It defines the field list render modes. The available modes are:
 * * Fixed - To display the field list icon in pivot table UI to invoke the built-in dialog.
 * * Popup - To display the field list in a static position within a web page.
 */
export  type Mode = 
/**
 * To display the field list icon in pivot table UI to invoke the built-in dialog.
 * It hepls to display over the pivot table UI without affecting any form of UI shrink within a web page.
 */
'Fixed' | 
/** To display the field list in a static position within a web page. */
'Popup';
/** Allow options for performing CRUD operations with different modes in the data grid that used to update the appropriate cells in the pivot table.
 * The available modes are as follows:
 * * Normal - Allows the currently selected row alone will be completely changed to edit state. You can change the cell values and save it to the data source by clicking “Update” toolbar button.
 * * Dialog - Allows the currently selected row data will be shown in an exclusive dialog. You can change the cell values and save it to the data source by clicking “Save” button in the dialog.
 * * Batch - Allows you to perform double-click on any data specific cell in the data grid, the state of that selected cell will be changed to edit state.
 */
export  type EditMode = 
/** Allows the currently selected row alone will be completely changed to edit state. You can change the cell values and save it to the data source by clicking “Update” toolbar button. */
'Normal' | 
/** Allows the currently selected row data will be shown in an exclusive dialog. You can change the cell values and save it to the data source by clicking “Save” button in the dialog. */
'Dialog' | 
/**
 * Allows you to perform double-click on any data specific cell in the data grid, the state of that selected cell will be changed to edit state.
 * You can perform bulk changes like add, edit and delete data of the cells and finally save to the data source by clicking “Update” toolbar button.
 */
'Batch';
/**
 * Defines mode of selection. They are
 * * Cell - Defines SelectionMode to Cell.
 * * Row - Defines SelectionMode to Row.
 * * Column - Defines SelectionMode to Column.
 * * Both - Defines SelectionMode to both Row and Column.
 */
export  type SelectionMode = 
/** Defines SelectionMode to Cell */
'Cell' | 
/** Defines SelectionMode to Row */
'Row' | 
/** Defines SelectionMode to Column */
'Column' | 
/** Defines SelectionMode to both Row and Column */
'Both';
/**
 * Defines border style to PDF export file. They are
 * * Solid - Export as PDF with solid type border.
 * * Dash - Export as PDF with dash type border.
 * * Dot - Export as PDF with dot type border.
 * * DashDot - Export as PDF with dashdot type border.
 * * DashDotDot - Export as PDF with dashdotdot type border.
 */
export  type PdfBorderStyle = 
/** Export as PDF with solid type border. */
'Solid' | 
/** Export as PDF with dash type border. */
'Dash' | 
/** Export as PDF with dot type border. */
'Dot' | 
/** Export as PDF with dashdot type border. */
'DashDot' | 
/** Export as PDF with dashdotdot type border. */
'DashDotDot';
/**
 * Allows the built-in toolbar options that used to access features like switching between pivot table and pivot chart, changing chart types, conditional formatting, number formatting, exporting, etc… with ease at runtime.
 * The available toolbar options are:
 * * New - Allows to create a new report.
 * * Save - Allows to save the current report.
 * * Save As - Allows to perform save as the current report.
 * * Rename - Allows to rename the current report.
 * * Remove - Allows to delete the current report.
 * * Load - Allows to load any report from the report list.
 * * Grid - Allows to show the pivot table.
 * * Chart - Allows to show the pivot chart with specific type from the built-in list.
 * * Exporting - Allow set of options to export the pivot table as PDF/Excel/CSV and the pivot chart as PDF and image format such as PNG, JPEG, SVG.
 * * Sub-total - Allow set of options to show or hide the sub totals in the pivot table. The subtotals will not be displayed in the pivot chart by default.
 * * Grand Total - Allow set of options to show or hides the grand totals in the pivot table. By default, the grand totals will not be displayed in the pivot chart.
 * * Conditional Formatting - Allows to show the conditional formatting pop-up to apply formatting to the values.
 * * Number Formatting - Allows to show the number formatting pop-up to apply number formatting to the values.
 * * Formatting - Allow options to show the conditional formatting and the number formatting pop-up that used to apply formatting to the values in the component.
 * * Field List - Allows you to show the field list pop-up. It allows you to modify the report with a variety of actions such as re-arrange the fields between axes by drag-and-drop,
 * add new fields to report, remove any fields from report, filtering and sorting a specific field members, etc., that are used to update the pivot table during runtime.
 * * MDX - Allows ro show the MDX query that was run to retrieve data from the OLAP data source. **Note: It is applicable only for OLAP data source.**
 */
export  type ToolbarItems = 
/** Allows to create a new report. */
'New' | 
/** Allows to save the current report. */
'Save' | 
/** Allows to perform save as the current report. */
'SaveAs' | 
/** Allows to load any report from the report list. */
'Load' | 
/** Allows to rename the current report. */
'Rename' | 
/** Allows to delete the current report. */
'Remove' | 
/** Allows to show the pivot table. */
'Grid' | 
/**
 * Allows to show the pivot chart with specific type from the built-in list.
 * It also has the option to show the chart with multiple axes based on the value fields bound to the report.
 * You can do this by selecting the checkbox at the bottom of the list.
 */
'Chart' | 
/** Allow set of options to export the pivot table as PDF/Excel/CSV and the pivot chart as PDF and image format such as PNG, JPEG, SVG. */
'Export' | 
/** Allow set of options to show or hide the sub totals in the pivot table. The subtotals will not be displayed in the pivot chart by default. */
'SubTotal' | 
/** Allow set of options to show or hides the grand totals in the pivot table. By default, the grand totals will not be displayed in the pivot chart. */
'GrandTotal' | 
/** Shows the fieldlist pop-up. */
'FieldList' | 
/**
 * Allows you to show the field list pop-up. It allows you to modify the report with a variety of actions such as re-arrange the fields between axes by drag-and-drop,
 * add new fields to report, remove any fields from report, filtering and sorting a specific field members, etc., that are used to update the pivot table during runtime.
 */
'ConditionalFormatting' | 
/** Shows the MDX query that was run to retrieve data from the OLAP data source. */
'MDX' | 
/**
 * Allows ro show the MDX query that was run to retrieve data from the OLAP data source.
 * > It is applicable only for OLAP data source.
 */
'NumberFormatting' | 
/** Allow options to show the conditional formatting and the number formatting pop-up that used to apply formatting to the values in the component. */
'Formatting';
/**
 * It defines the view port as either table or chart or both table and chart. The available options are:
 * * Table - To render the component as tabular form.
 * * Chart - To render the component as graphical format.
 * * Both - To render the component as both table and chart.
 */
export  type View = 
/**  To render the component as both table and chart. */
'Both' | 
/**  To render the component as graphical format. */
'Chart' | 
/**  To render the component as tabular form. */
'Table';
/**
 * Allows you to set the primary view to be either table or chart.The available options are:
 * * Table - Allows you to display the pivot table as primary view.
 * * Chart - Allows you to display the pivot chart as primary view.
 */
export  type Primary = 
/**  Allows you to display the pivot table as primary view. */
'Chart' | 
/**  Allows you to display the pivot chart as primary view. */
'Table';
/**
 * Defines the pivot chart types.
 * The available chart types are:
 * * Line - Allows to display the pivot chart with line series.
 * * Column - Allows to display the pivot chart with column series.
 * * Area - Allows to display the pivot chart with area series.
 * * Bar - Allows to display the pivot chart with bar series.
 * * StackingColumn - Allows to display the pivot chart with stacked column series.
 * * StackingArea - Allows to display the pivot chart with stacked area series.
 * * StackingBar - Allows to display the pivot chart with stacked bar series.
 * * StepLine - Allows to display the pivot chart with step line series.
 * * StepArea - Allows to display the pivot chart with step area series.
 * * SplineArea - Allows to display the pivot chart with spline area series.
 * * Scatter - Allows to display the pivot chart with scatter series.
 * * Spline - Allows to display the pivot chart with spline series.
 * * StackingColumn100 - Allows to display the pivot chart with 100% stacked column series.
 * * StackingBar100 - Allows to display the pivot chart with 100% stacked bar series.
 * * StackingArea100 - Allows to display the pivot chart with 100% stacked area series.
 * * Bubble - Allows to display the pivot chart with bubble series.
 * * Pareto - Allows to display the pivot chart with pareto series.
 * * Polar - Allows to display the pivot chart with polar series.
 * * Radar - Allows to display the pivot chart with radar series.
 */
export  type ChartSeriesType = 
/**  Allows to display the pivot chart with line series. */
'Line' | 
/**  Allows to display the pivot chart with column series. */
'Column' | 
/**  Allows to display the pivot chart with area series. */
'Area' | 
/**  Allows to display the pivot chart with bar series. */
'Bar' | 
/**  Allows to display the pivot chart with stacked column series. */
'StackingColumn' | 
/**  Allows to display the pivot chart with stacked area series. */
'StackingArea' | 
/**  Allows to display the pivot chart with stacked bar series. */
'StackingBar' | 
/**  Allows to display the pivot chart with stacked line series. */
'StackingLine' | 
/**  Allows to display the pivot chart with step line series. */
'StepLine' | 
/**  Allows to display the pivot chart with step area series. */
'StepArea' | 
/**  Allows to display the pivot chart with spline area series. */
'SplineArea' | 
/**  Allows to display the pivot chart with scatter series. */
'Scatter' | 
/**  Allows to display the pivot chart with spline series. */
'Spline' | 
/** Allows to display the pivot chart with 100% stacked column series. */
'StackingColumn100' | 
/** Allows to display the pivot chart with 100% stacked bar series. */
'StackingBar100' | 
/** Allows to display the pivot chart with 100% stacked area series. */
'StackingArea100' | 
/**  Allows to display the pivot chart with 100% stacked line series. */
'StackingLine100' | 
/** Allows to display the pivot chart with bubble series. */
'Bubble' | 
/** Allows to display the pivot chart with pareto series. */
'Pareto' | 
/** Allows to display the pivot chart with polar series. */
'Polar' | 
/** Allows to display the pivot chart with radar series. */
'Radar' | 
/** Allows to display the pivot chart with pie series. */
'Pie' | 
/** Allows to display the pivot chart with pyramid series. */
'Pyramid' | 
/** Allows to display the pivot chart with doughnut series. */
'Doughnut' | 
/** Allows to display the pivot chart with funnel series. */
'Funnel';
/**
 * Defines the pivot chart selection mode. They are
 * * None - Disable the selection.
 * * Series - To select a series.
 * * Point - To select a point.
 * * Cluster - To select a cluster of point.
 * * DragXY - To select points, by dragging with respect to both horizontal and vertical axis.
 * * DragY - To select points, by dragging with respect to vertical axis.
 * * DragX - To select points, by dragging with respect to horizontal axis.
 */
export  type ChartSelectionMode = 
/** Disable the selection. */
'None' | 
/** To select a series. */
'Series' | 
/** To select a point. */
'Point' | 
/** To select a cluster of point. */
'Cluster' | 
/** To select points, by dragging with respect to both horizontal and vertical axis. */
'DragXY' | 
/** To select points, by dragging with respect to vertical axis. */
'DragY' | 
/** To select points, by dragging with respect to horizontal axis. */
'DragX';
/**
 * Defines the pivot table context menu items. They are
 * * Drillthrough - Enables drill through for the cell.
 * * Expand - Expands the cell.
 * * Collapse - Collapse the cell.
 * * CalculatedField - Enables calculated field for the pivot grid.
 * * Pdf Export - Export the grid as Pdf format.
 * * Excel Export - Export the grid as Excel format.
 * * Csv Export - Export the grid as CSV format.
 * * Sort Ascending - Sort the current column in ascending order.
 * * Sort Descending - Sort the current column in descending order.
 * * Aggregate - Sets aggregate type to sum.
 */
export  type PivotTableContextMenuItem = 
/** Enables drill through for the cell. */
'Drillthrough' | 
/** Expands the cell. */
'Expand' | 
/** Collapse the cell. */
'Collapse' | 
/** Enables calculated field for the pivot grid. */
'CalculatedField' | 
/** Export the grid as Pdf format. */
'Pdf Export' | 
/** Export the grid as Excel format. */
'Excel Export' | 
/** Export the grid as CSV format. */
'Csv Export' | 
/** Sort the current column in ascending order. */
'Sort Ascending' | 
/** Sort the current column in descending order. */
'Sort Descending' | 
/** Sets aggregate type to sum. */
'Aggregate';
/**
 * Defines modes of GridLine, They are
 * * Both - Show both the vertical and horizontal line in the Grid.
 * * None - Hide both the vertical and horizontal line in the Grid.
 * * Horizontal - Shows the horizontal line only in the Grid.
 * * Vertical - Shows the vertical line only in the Grid.
 * * Default - Shows the grid lines based on the theme.
 */
export  type PivotTableGridLine = 
/** Show both the vertical and horizontal line in the Grid. */
'Both' | 
/** Hide both the vertical and horizontal line in the Grid. */
'None' | 
/** Shows the horizontal line only in the Grid. */
'Horizontal' | 
/** Shows the vertical line only in the Grid. */
'Vertical' | 
/** Shows the grid lines based on the theme. */
'Default';
/**
 * Defines mode of cell selection. The modes available are:
 * * Flow - Allows the range of cells to be selected between the start index and the end index, which also includes the other cells of the selected rows in the pivot table.
 * * Box - Allows you to select a range of cells within the starting and ending column indexes that are included in the range between row cells in the pivot table.
 * * BoxWithBorder - Allows the range of cells to be selected as the box mode, but along with the borders in the pivot table.
 */
export  type PivotCellSelectionMode = 
/**  Allows the range of cells to be selected between the start index and the end index, which also includes the other cells of the selected rows in the pivot table. */
'Flow' | 
/**  Allows you to select a range of cells within the starting and ending column indexes that are included in the range between row cells in the pivot table. */
'Box' | 
/**  Allows the range of cells to be selected as the box mode, but along with the borders in the pivot table. */
'BoxWithBorder';
/**
 * Defines types of Selection. They are:
 * * Single - Allows the user to select a row or cell on their own in the pivot table.
 * * Multiple - Allows the user to select multiple rows or columns or cells in the pivot table.
 */
export  type PivotTableSelectionType = 
/** Allows the user to select a row or cell on their own in the pivot table. */
'Single' | 
/** Allows the user to select multiple rows or columns or cells in the pivot table. */
'Multiple';
/**
 * Defines modes of checkbox Selection. They are:
 * * Default - Allows multiple rows to be selected by clicking rows one by one.
 * * ResetOnRowClick - Allows to reset the previously selected row when a row is clicked and multiple rows can be selected by using CTRL or SHIFT key.
 */
export  type PivotTableCheckboxSelectionType = 
/**  Allows multiple rows to be selected by clicking rows one by one. */
'Default' | 
/**  Allows to reset the previously selected row when a row is clicked and multiple rows can be selected by using CTRL or SHIFT key. */
'ResetOnRowClick';
/**
 * Defines the cell content's overflow mode. The available modes are
 * * Clip -  Truncates the cell content when it overflows its area.
 * * Ellipsis -  Displays ellipsis when the cell content overflows its area.
 * * EllipsisWithTooltip - Displays ellipsis when the cell content overflows its area
 * also it will display tooltip while hover on ellipsis applied cell.
 */
export  type PivotTableClipMode = 
/**  Truncates the cell content when it overflows its area */
'Clip' | 
/** Displays ellipsis when the cell content overflows its area */
'Ellipsis' | 
/** Displays ellipsis when the cell content overflows its area also it will display tooltip while hover on ellipsis applied cell. */
'EllipsisWithTooltip';
/**
 * Print mode options are
 * * AllPages - Print all pages records of the Grid.
 * * CurrentPage - Print current page records of the Grid.
 */
export  type PivotTablePrintMode = 
/**  Print all pages records of the Grid. */
'AllPages' | 
/**  Print current page records of the Grid. */
'CurrentPage';
/**
 * Defines the shape of marker. They are
 * * circle - Renders the marker shaper as circle.
 * * rectangle - Renders the marker shaper as rectangle.
 * * triangle - Renders the marker shaper as triangle.
 * * diamond - Renders the marker shaper as diamond.
 * * cross - Renders the marker shaper as cross.
 * * horizontalLine - Renders the marker shaper as horizontalLine.
 * * verticalLine - Renders the marker shaper as verticalLine.
 * * pentagon- Renders the marker shaper as pentagon.
 * * invertedTriangle - Renders the marker shaper as invertedTriangle.
 * * image - Renders the marker shaper as image.
 */
export  type PivotChartShape = 
/** Render the marker shaper as circle. */
'Circle' | 
/** Render the marker shaper as Rectangle. */
'Rectangle' | 
/** Render the marker shaper as Triangle. */
'Triangle' | 
/** Render the marker shaper as Diamond. */
'Diamond' | 
/** Render the marker shaper as Cross. */
'Cross' | 
/** Render the marker shaper as HorizontalLine. */
'HorizontalLine' | 
/** Render the marker shaper as VerticalLine. */
'VerticalLine' | 
/** Render the marker shaper as Pentagon. */
'Pentagon' | 
/** Render the marker shaper as InvertedTriangle. */
'InvertedTriangle' | 
/** Render the marker shaper as Image. */
'Image';
/**
 * Defines the type of error bar. They are
 * * fixed - Renders a fixed type error bar.
 * * percentage - Renders a percentage type error bar.
 * * standardDeviation - Renders a standard deviation type error bar.
 * * standardError - Renders a standard error type error bar.
 * * custom - Renders a custom type error bar.
 */
export  type PivotChartErrorBarType = 
/** Renders a fixed type error bar. */
'Fixed' | 
/** Renders a percentage type error bar. */
'Percentage' | 
/** Renders a standard deviation type error bar. */
'StandardDeviation' | 
/** Renders a standard error type error bar. */
'StandardError' | 
/** Renders a custom type error bar. */
'Custom';
/**
 * Defines the direction of error bar. They are
 * * both -  Renders both direction of error bar.
 * * minus - Renders minus direction of error bar.
 * * plus - Renders plus direction error bar.
 */
export  type PivotChartErrorBarDirection = 
/** Renders both direction of error bar. */
'Both' | 
/** Renders minus direction of error bar. */
'Minus' | 
/** Renders plus direction error bar. */
'Plus';
/**
 * Defines the modes of error bar. They are
 * * vertical -  Renders a vertical error bar.
 * * horizontal - Renders a horizontal error bar.
 * * both - Renders both side error bar.
 */
export  type PivotChartErrorBarMode = 
/** Renders a vertical error bar. */
'Vertical' | 
/** Renders a horizontal error bar. */
'Horizontal' | 
/** Renders both side error bar. */
'Both';
/**
 * Defines the type of trendlines. They are:
 * * Linear - Defines the linear trendline.
 * * Exponential - Defines the exponential trendline.
 * * Polynomial - Defines the polynomial trendline.
 * * Power - Defines the power trendline.
 * * Logarithmic - Defines the logarithmic trendline.
 * * MovingAverage - Defines the moving average trendline.
 */
export  type PivotChartTrendlineTypes = 
/** Defines the linear trendline. */
'Linear' | 
/** Defines the exponential trendline. */
'Exponential' | 
/** Defines the polynomial trendline. */
'Polynomial' | 
/** Defines the power trendline. */
'Power' | 
/** Defines the logarithmic trendline. */
'Logarithmic' | 
/** Defines the moving average trendline. */
'MovingAverage';
/**
 * Defines the shape of legend. They are
 * * circle - Renders a circle.
 * * rectangle - Renders a rectangle.
 * * triangle - Renders a triangle.
 * * diamond - Renders a diamond.
 * * cross - Renders a cross.
 * * horizontalLine - Renders a horizontalLine.
 * * verticalLine - Renders a verticalLine.
 * * pentagon - Renders a pentagon.
 * * invertedTriangle - Renders a invertedTriangle.
 * * SeriesType -Render a legend shape based on series type.
 */
export  type PivotChartLegendShape = 
/** Render a legend shape based on series type. */
'SeriesType' | 
/** Render a circle. */
'Circle' | 
/** Render a Rectangle. */
'Rectangle' | 
/** Render a Triangle. */
'Triangle' | 
/** Render a Diamond. */
'Diamond' | 
/** Render a Cross. */
'Cross' | 
/** Render a HorizontalLine. */
'HorizontalLine' | 
/** Render a VerticalLine. */
'VerticalLine' | 
/** Render a Pentagon. */
'Pentagon' | 
/** Render a InvertedTriangle. */
'InvertedTriangle';
/**
 * Defines the empty point mode of the chart.
 * * Gap - Used to display empty points as space.
 * * Zero - Used to display empty points as zero.
 * * Drop - Used to ignore the empty point while rendering.
 * * Average - Used to display empty points as previous and next point average.
 */
export  type PivotChartEmptyPointMode = 
/** Used to display empty points as space. */
'Gap' | 
/** Used to display empty points as zero. */
'Zero' | 
/** Used to ignore the empty point while rendering. */
'Drop' | 
/** Used to display empty points as previous and next point average. */
'Average';
/**
 * Defines the Alignment. They are
 * * near - Align the element to the left.
 * * center - Align the element to the center.
 * * far - Align the element to the right.
 */
export  type PivotChartAlignment = 
/** Align the element to the center. */
'Center' | 
/** Align the element to the left. */
'Near' | 
/** Align the element to the right. */
'Far';
/**
 * Defines the Text overflow.
 * * None - Shown the chart title with overlap if exceed.
 * * Wrap - Shown the chart title with wrap if exceed.
 * * Trim - Shown the chart title with trim if exceed.
 */
export  type PivotChartTextOverflow = 
/** Used to show the chart title with Trim. */
'Trim' | 
/** Used to show the chart title with overlap to other element. */
'None' | 
/** Used to show the chart title with Wrap support. */
'Wrap';
/**
 * Defines the unit of Strip line Size. They are
 * * auto - In numeric axis, it will consider a number and DateTime axis, it will consider as milliseconds.
 * * pixel - The stripline gets their size in pixel.
 * * year - The stipline size is based on year in the DateTime axis.
 * * month - The stipline size is based on month in the DateTime axis.
 * * day - The stipline size is based on day in the DateTime axis.
 * * hour - The stipline size is based on hour in the DateTime axis.
 * * minutes - The stipline size is based on minutes in the DateTime axis.
 * * seconds - The stipline size is based on seconds in the DateTime axis.
 */
export  type PivotChartSizeType = 
/**   In numeric axis, it will consider a number and DateTime axis, it will consider as milliseconds. */
'Auto' | 
/** The stripline gets their size in pixel. */
'Pixel' | 
/**  The stipline size is based on year in the DateTime axis. */
'Years' | 
/** The stipline size is based on month in the DateTime axis. */
'Months' | 
/** The stipline size is based on day in the DateTime axis. */
'Days' | 
/** The stipline size is based on hour in the DateTime axis. */
'Hours' | 
/** The stipline size is based on minutes in the DateTime axis. */
'Minutes' | 
/** The stipline size is based on seconds in the DateTime axis. */
'Seconds';
/**
 * Defines the strip line text position.
 * * Start - Places the strip line text at the start.
 * * Middle - Places the strip line text in the middle.
 * * End - Places the strip line text at the end.
 */
export  type PivotChartAnchor = 
/** Places the strip line text in the middle. */
'Middle' | 
/** Places the strip line text at the start. */
'Start' | 
/** Places the strip line text at the end. */
'End';
/**
 *  Specifies the order of the strip line. `Over` | `Behind`.
 * * Over - Places the strip line over the series elements.
 * * Behind - laces the strip line behind the series elements.
 */
export  type PivotChartZIndex = 
/** Places the strip line behind the series elements. */
'Behind' | 
/** Places the strip line over the series elements. */
'Over';
/**
 * Defines border type for multi level labels.
 * * Rectangle - Shows chart border as rectangle.
 * * Brace - Shows chart border as braces.
 * * WithoutBorder - Shows chart without border.
 * * Without top Border -  Shows chart with border on its top.
 * * Without top and bottom border - Shows chart with border on its top and bottom.
 * * Curly brace - Shows chart with curly braces.
 */
export  type PivotChartBorderType = 
/** Shows chart border as rectangle. */
'Rectangle' | 
/** Shows chart border as braces. */
'Brace' | 
/** Shows chart without border. */
'WithoutBorder' | 
/** Shows chart with border on its top. */
'WithoutTopBorder' | 
/** Shows chart with border on its top and bottom. */
'WithoutTopandBottomBorder' | 
/** Shows chart with curly braces. */
'CurlyBrace';
/**
 * Defines the mode of line in crosshair. They are
 * * none - Hides both vertical and horizontal crosshair line.
 * * both - Shows both vertical and horizontal crosshair line.
 * * vertical - Shows the vertical line.
 * * horizontal - Shows the horizontal line.
 */
export  type PivotChartLineType = 
/** Shows both vertical and horizontal crosshair line. */
'Both' | 
/** Hides both vertical and horizontal crosshair line. */
'None' | 
/** Shows the vertical line. */
'Vertical' | 
/** Shows the horizontal line. */
'Horizontal';
/**
 * Defines the SelectionMode for chart types pie, doughnut, Funnel and pyramid.
 * * none - Disable the selection.
 * * point - To select a point.
 */
export  type PivotAccumulationChartSelectionMode = 
/** Disable the selection. */
'None' | 
/** To select a point. */
'Point';
/**
 * Defines the ConnectorType for chart types pie, doughnut, Funnel and pyramid. They are
 * * Line - Accumulation series Connector line type as Straight line.
 * * Curve - Accumulation series Connector line type as Curved line.
 * *
 */
export  type PivotChartConnectorType = 
/** Accumulation series Connector line type as Straight line */
'Line' | 
/** Accumulation series Connector line type as Curved line */
'Curve';
/**
 * Defines the LabelPosition for chart types pie, doughnut, Funnel and pyramid. They are
 * * Inside - Define the data label position for the accumulation series Inside.
 * * Outside - Define the data label position for the accumulation series Outside.
 * *
 */
export  type PivotChartLabelPosition = 
/** Define the data label position for the accumulation series Inside */
'Inside' | 
/** Define the data label position for the accumulation series Outside */
'Outside';
/**
 * Defines the mode of the group mode for chart types pie, doughnut, Funnel and pyramid
 * * Point - When choosing points, the selected points get grouped.
 * * Value - When choosing values, the points which less then values get grouped.
 */
export  type PivotChartGroupModes = 
/** When choosing points, the selected points get grouped */
'Point' | 
/** When choosing values, the points which less then values get grouped. */
'Value';
/**
 * Defines the mode of the pyramid
 * * Linear - Height of the pyramid segments reflects the values
 * * Surface - Surface/Area of the  pyramid segments reflects the values
 */
export  type PivotChartPyramidModes = 
/** Height of the pyramid segments reflects the values */
'Linear' | 
/** Surface/Area of the  pyramid segments reflects the values */
'Surface';
/**
 * Defines the position of the legend. They are
 * * auto - Places the legend based on area type.
 * * top - Displays the legend on the top of chart.
 * * left - Displays the legend on the left of chart.
 * * bottom - Displays the legend on the bottom of chart.
 * * right - Displays the legend on the right of chart.
 * * custom - Displays the legend  based on given x and y value.
 */
export  type PivotChartLegendPosition = 
/** Places the legend based on area type. */
'Auto' | 
/** Places the legend on the top of chart. */
'Top' | 
/** Places the legend on the left of chart. */
'Left' | 
/** Places the legend on the bottom of chart. */
'Bottom' | 
/** Places the legend on the right of chart. */
'Right' | 
/** Places the legend based on given x and y. */
'Custom';
/**
 * * Type of series to be drawn in radar or polar series. They are
 * * line - Renders the line series.
 * * column - Renders the column series.
 * * area - Renders the area series.
 * * scatter - Renders the scatter series.
 * * spline - Renders the spline series.
 * * stackingColumn - Renders the stacking column series.
 * * stackingArea - Renders the stacking area series.
 * * rangeColumn - Renders the range column series.
 * * splineArea - Renders the spline area series.
 */
export  type PivotChartDrawType = 
/**  Define the line series. */
'Line' | 
/**  Define the Column series. */
'Column' | 
/**  Define the stacking Column series. */
'StackingColumn' | 
/**  Define the Area series. */
'Area' | 
/**  Define the Scatter series. */
'Scatter' | 
/** Define the Range column series */
'RangeColumn' | 
/** Define the Spline series */
'Spline' | 
/** Define the Spline Area series */
'SplineArea' | 
/** Define the spline series */
'StackingArea' | 
/** Define the Stacking line series */
'StackingLine';
/**
 * It defines type of spline.
 * Natural - Used to render Natural spline.
 * Cardinal - Used to render cardinal spline.
 * Clamped - Used to render Clamped spline
 * Monotonic - Used to render monotonic spline
 */
export  type PivotChartSplineType = 
/** Used to render natural spline type */
'Natural' | 
/** Used to render Monotonicspline  */
'Monotonic' | 
/** Used to render Cardinal */
'Cardinal' | 
/** Used to render Clamped */
'Clamped';
/**
 * Defines the Alignment. They are
 * * none - Shows all the labels.
 * * hide - Hide the label when it intersect.
 * * rotate45 - Rotate the label to 45 degree when it intersect.
 * * rotate90 - Rotate the label to 90 degree when it intersect.
 */
export  type PivotChartLabelIntersectAction = 
/** Rotate the label to 45 degree when it intersect. */
'Rotate45' | 
/** Shows all the labels. */
'None' | 
/** Hide the label when it intersect. */
'Hide' | 
/** Trim the label when it intersect. */
'Trim' | 
/** Wrap the label when it intersect. */
'Wrap' | 
/** Arrange the label in multiple row when it intersect. */
'MultipleRows' | 
/** Rotate the label to 90 degree when it intersect. */
'Rotate90';
/**
 * Defines the Edge Label Placement for an axis. They are
 * * none - No action will be perform.
 * * hide - Edge label will be hidden.
 * * shift - Shift the edge labels.
 */
export  type PivotChartEdgeLabelPlacement = 
/**  Render the edge label in axis. */
'None' | 
/**  Hides the edge label in axis. */
'Hide' | 
/**  Shift the edge series in axis. */
'Shift';
/**
 * Defines the Label Placement for category axis. They are
 * * betweenTicks - Render the label between the ticks.
 * * onTicks - Render the label on the ticks.
 */
export  type PivotChartLabelPlacement = 
/**  Render the label between the ticks. */
'BetweenTicks' | 
/**  Render the label on the ticks. */
'OnTicks';
/**
 * Defines the Position. They are
 * * inside - Place the ticks or labels inside to the axis line.
 * * outside - Place the ticks or labels outside to the axis line.
 */
export  type PivotChartAxisPosition = 
/** Place the ticks or labels outside to the axis line. */
'Outside' | 
/** Place the ticks or labels inside to the axis line. */
'Inside';
/**
 * Defines the zooming mode, They are.
 * * x,y - Chart will be zoomed with respect to both vertical and horizontal axis.
 * * x - Chart will be zoomed with respect to horizontal axis.
 * * y - Chart will be zoomed with respect to vertical axis.
 */
export  type PivotChartZoomMode = 
/** Chart will be zoomed with respect to both vertical and horizontal axis. */
'XY' | 
/** Chart will be zoomed with respect to horizontal axis. */
'X' | 
/** Chart will be zoomed with respect to vertical axis. */
'Y';
/**
 * Defines the ZoomingToolkit, They are.
 * * zoom - Renders the zoom button.
 * * zoomIn - Renders the zoomIn button.
 * * zoomOut - Renders the zoomOut button.
 * * pan - Renders the pan button.
 * * reset - Renders the reset button.
 */
export  type PivotChartToolbarItems = 
/** Renders the zoom button. */
'Zoom' | 
/** Renders the zoomIn button. */
'ZoomIn' | 
/** Renders the zoomOut button. */
'ZoomOut' | 
/** Renders the pan button. */
'Pan' | 
/** Renders the reset button. */
'Reset';
/**
 * Defines Theme of the chart. They are
 * * Material - Render a chart with Material theme.
 * * Fabric - Render a chart with Fabric theme.
 * * Bootstrap - Render a chart with Bootstrap theme.
 * * HighContrastLight - Render a chart with HighcontrastLight theme.
 * * MaterialDark - Render a chart with MaterialDark theme.
 * * FabricDark - Render a chart with FabricDark theme.
 * * HighContrast - Render a chart with HighContrast theme.
 * * BootstrapDark - Render a chart with BootstrapDark theme.
 * * Bootstrap4 - Render a chart with Bootstrap4 theme.
 */
export  type PivotChartTheme = 
/**  Render a chart with Material theme. */
'Material' | 
/**  Render a chart with Fabric theme. */
'Fabric' | 
/**  Render a chart with Bootstrap theme. */
'Bootstrap' | 
/**  Render a chart with HighcontrastLight theme. */
'HighContrastLight' | 
/**  Render a chart with MaterialDark theme. */
'MaterialDark' | 
/**  Render a chart with FabricDark theme. */
'FabricDark' | 
/**  Render a chart with HighContrast theme. */
'HighContrast' | 
/**  Render a chart with BootstrapDark theme. */
'BootstrapDark' | 
/**  Render a chart with Bootstrap4 theme. */
'Bootstrap4';
/**
 * Defines the data label position. They are,
 * * Outer: Positions the label outside the point.
 * * top: Positions the label on top of the point.
 * * Bottom: Positions the label at the bottom of the point.
 * * Middle: Positions the label to the middle of the point.
 * * Auto: Positions the label based on series.
 */
export  type LabelPosition = 
/** Position the label outside the point. */
'Outer' | 
/** Position the label on top of the point. */
'Top' | 
/** Position the label on bottom of the point. */
'Bottom' | 
/** Position the label to middle of the point. */
'Middle' | 
/** Position the label based on series. */
'Auto';
/**
 * Allows to display the values in the pivot table with appropriate aggregations such as sum, product, count, average, etc… The available types are,
 * * Sum - Allows to display the pivot table values with sum.
 * * Product - Allows to display the pivot table values with product.
 * * Count - Allows to display the pivot table values with count.
 * * DistinctCount - Allows to display the pivot table values with distinct count.
 * * Min - Allows to display the pivot table with minimum value.
 * * Max - Allows to display the pivot table with maximum value.
 * * Avg - Allows to display the pivot table values with average.
 * * Median - Allows to display the pivot table values with median.
 * * Index - Allows to display the pivot table values with index.
 * * PopulationStDev - Allows to display the pivot table values with population standard deviation.
 * * SampleStDev - Allows to display the pivot table values with sample standard deviation.
 * * PopulationVar - Allows to display the pivot table values with population variance.
 * * SampleVar - Allows to display the pivot table values with sample variance.
 * * RunningTotals - Allows to display the pivot table values with running totals.
 * * DifferenceFrom - Allows to display the pivot table values with difference from the value of the base item in the base field.
 * * PercentageOfDifferenceFrom - Allows to display the pivot table values with percentage difference from the value of the base item in the base field.
 * * PercentageOfGrandTotal - Allows to display the pivot table values with percentage of grand total of all values.
 * * PercentageOfColumnTotal - Allows to display the pivot table values in each column with percentage of total values for the column.
 * * PercentageOfRowTotal - Allows to display the pivot table values in each row with percentage of total values for the row.
 * * PercentageOfParentTotal - Allows to display the pivot table values with percentage of total of all values based on selected field.
 * * PercentageOfParentColumnTotal - Allows to display the pivot table values with percentage of its parent total in each column.
 * * PercentageOfParentRowTotal - Allows to display the pivot table values with percentage of its parent total in each row.
 *
 * > It is applicable only for relational data source.
 */
export  type AggregateTypes = 
/** Allows to display the pivot table values with sum. */
'Sum' | 
/** Allows to display the pivot table values with product. */
'Product' | 
/** Allows to display the pivot table values with count. */
'Count' | 
/** Allows to display the pivot table values with distinct count. */
'DistinctCount' | 
/** Allows to display the pivot table with median value. */
'Median' | 
/** Allows to display the pivot table with minimum value. */
'Min' | 
/** To display with maximum value. */
'Max' | 
/** Allows to display the pivot table with maximum value. */
'Avg' | 
/** Allows to display the pivot table values with average. */
'Index' | 
/** Allows to display the pivot table values with percentage of grand total of all values. */
'PercentageOfGrandTotal' | 
/** Allows to display the pivot table values in each column with percentage of total values for the column. */
'PercentageOfColumnTotal' | 
/** Allows to display the pivot table values in each row with percentage of total values for the row. */
'PercentageOfRowTotal' | 
/** Allows to display the pivot table values with percentage of its parent total in each row. */
'PercentageOfParentRowTotal' | 
/** Allows to display the pivot table values with percentage of its parent total in each column. */
'PercentageOfParentColumnTotal' | 
/** Allows to display the pivot table values with percentage of total of all values based on selected field. */
'PercentageOfParentTotal' | 
/** Allows to display the pivot table values with running totals. */
'RunningTotals' | 
/** Allows to display the pivot table values with population standard deviation. */
'PopulationStDev' | 
/** Allows to display the pivot table values with sample standard deviation. */
'SampleStDev' | 
/** Allows to display the pivot table values with population variance. */
'PopulationVar' | 
/** Allows to display the pivot table values with sample variance. */
'SampleVar' | 
/** Allows to display the pivot table values with difference from the value of the base item in the base field. */
'DifferenceFrom' | 
/** Allows to display the pivot table values with percentage difference from the value of the base item in the base field. */
'PercentageOfDifferenceFrom';
/**
 * Allows the chart series to be displayed, depending on the value fields specified, in either a stacked or single chart area.
 * The options available are:
 * * Stacked: Allows the chart series to be displayed in a separate chart area depending on the value fields specified.
 * * Single: Allows the chart series to be displayed in a single chart area for different value fields.
 */
export  type MultipleAxisMode = 
/** Allows the chart series to be displayed in a separate chart area depending on the value fields specified. */
'Stacked' | 
/** Allows the chart series to be displayed in a single chart area for different value fields. */
'Single';
/**
* Allows the grand totals to be displayed in either the top or bottom position in the pivot table's row and column axes.
* The options available are:
* * Top: Allows the grand totals to be displayed in top position in the pivot table's row and column axes.
* * Bottom: Allows the grand totals to be displayed in bottom position in the pivot table's row and column axes.
*/
export  type GrandTotalsPosition = 
/** Allows the grand totals to be displayed in top position in the pivot table's row and column axes. */
'Top' | 
/** Allows the grand totals to be displayed in bottom position in the pivot table's row and column axes. */
'Bottom';
/**
* Allows to display the pager UI either at top or bottom of the Pivot Table UI.
* The options available are:
* * Top: Allows the pager UI to be displayed in top position of the Pivot Table UI.
* * Bottom: Allows the pager UI to be displayed in bottom position of the Pivot Table UI.
*/
export  type PagerPosition = 
/** Allows the pager UI to be displayed in top position of the Pivot Table UI. */
'Top' | 
/** Allows the pager UI to be displayed in bottom position of the Pivot Table UI. */
'Bottom';
//node_modules/@syncfusion/ej2-pivotview/src/common/base/interface.d.ts
/**
 * Interface
 */
/**
 * The load event arguments provides the necessary information to customize the pivot table before initializing the component.
 */
export interface LoadEventArgs {
    /** Defines current report */
    dataSourceSettings?: IDataOptions;
    /** Defines the pivot table instance object*/
    pivotview?: PivotView;
    /** Defines the type of specifiec fields */
    fieldsType?: IStringIndex;
}
/**
 * The save report event arguments provides the necessary information to save the report.
 */
export interface SaveReportArgs {
    /** Defines current dataSource */
    report?: string;
    /** Defines report name to save */
    reportName?: string;
}
/**
 * The fetch report event arguments provides the necessary information to fetch reports from storage.
 */
export interface FetchReportArgs {
    /** Defines the report list from storage */
    reportName?: string[];
}
/**
 * The load report event arguments provides the necessary information to load the report.
 */
export interface LoadReportArgs {
    /** Defines current report */
    report?: string;
    /** Defines report name to load */
    reportName?: string;
}
/**
 * The rename report event arguments provides the necessary information to rename the report.
 */
export interface RenameReportArgs {
    /** Defines current report */
    report?: string;
    /** Defines rename of current report */
    rename?: string;
    /** Defines current report name to rename */
    reportName?: string;
    /** Defines whether report already exist with this name or not */
    isReportExists?: boolean;
}
/**
 * The remove report event arguments provides the necessary information to remove the report.
 */
export interface RemoveReportArgs {
    /** Defines current report */
    report?: string;
    /** Defines report name to remove the report */
    reportName?: string;
}
/**
 * The new report event arguments provides the necessary information to create a new report.
 */
export interface NewReportArgs {
    /** Defines current report */
    report?: string;
}
/**
 * The toolbar event arguments provides the necessary information to customize options of the toolbar creating.
 */
export interface ToolbarArgs {
    /**
     * Defines the collection of items used to add or remove items to create as toolbar options.
     */
    customToolbar?: navigations.ItemModel[];
}
/**
 * The engine populating event arguments provides the necessary information to customize the report before populating the pivot engine.
 */
export interface EnginePopulatingEventArgs {
    /** Defines current report. */
    dataSourceSettings?: IDataOptions;
}
/**
 * The engine populated event arguments provides the necessary information about the engine populated using updated report.
 */
export interface EnginePopulatedEventArgs {
    /** Defines the updated report to get updated pivot table cell collection and field list information. */
    dataSourceSettings?: IDataOptions;
    /** Defines the updated field list information from the populated engine to update the field list. */
    pivotFieldList?: IFieldListOptions;
    /** Defines the updated pivot table cell information from the populated engine to update the pivot table. */
    pivotValues?: IPivotValues;
}
/**
 * The field dropped event arguments provides the necessary information about the dropped field and its dropped axis.
 */
export interface FieldDroppedEventArgs {
    /** Defines the dropped field name */
    fieldName?: string;
    /** Defines the dropped field item */
    droppedField?: IFieldOptions;
    /** Defines current report */
    dataSourceSettings?: IDataOptions;
    /** Defines the axis where the field has been dropped */
    droppedAxis?: string;
    /** Defines the position where the field has been dropped. */
    droppedPosition?: number;
}
/**
 * The field drop event arguments provides the necessary information to customize the drop field and its drop axis.
 */
export interface FieldDropEventArgs {
    /** Defines drop field name */
    fieldName?: string;
    /** Defines drop field item */
    dropField?: IFieldOptions;
    /** Defines current report */
    dataSourceSettings?: IDataOptions;
    /** Defines the axis where the field will drop */
    dropAxis?: string;
    /**
     * Defines drop field position
     */
    dropPosition?: number;
    /** Defines the axis where the field has been dragged */
    draggedAxis?: string;
    /** Defines an option to restrict the field drop operation */
    cancel?: boolean;
}
/**
 * The field drag start event arguments provides the necessary information about the drag field and its axis.
 */
export interface FieldDragStartEventArgs {
    /** Defines drag field name */
    fieldName?: string;
    /** Defines drag field item */
    fieldItem?: IFieldOptions;
    /** Defines current report */
    dataSourceSettings?: IDataOptions;
    /** Defines the axis where the field is dragged */
    axis?: string;
    /** Defines an option to restrict the field drag operation */
    cancel?: boolean;
}
/**
 * The before export event arguments provides the necessary information to customize before exporting the file.
 */
export interface BeforeExportEventArgs {
    /** Defines exported field name */
    fileName?: string;
    /** Defines header text */
    header?: string;
    /** Defines footer text */
    footer?: string;
    /** Defines pivot table cell collections */
    dataCollections?: IPivotValues[];
    /** Defines option to disable the repeat headers */
    allowRepeatHeader?: boolean;
    /** Defines the theme style for PDF */
    style?: PdfTheme;
    /**
     * Defines the additional settings for PDF export such as page size, orientation, header, footer, etc.
     */
    pdfExportProperties?: grids.PdfExportProperties;
    /** Defines an option to export multiple pivot table to the same PDF file */
    isMultipleExport?: boolean;
    pdfDoc?: Object;
    /** A file-like object of immutable, raw data. Blobs represent data that isn't necessarily in a JavaScript-native format. The File interface is based on Blob, inheriting blob functionality and expanding it to support files on the user's system. */
    isBlob?: boolean;
    /** Defines the additional settings for excel export such as multiple export, header, footer, etc.
     */
    excelExportProperties?: grids.ExcelExportProperties;
    workbook?: any;
    /**
     * Defines the pivot chart export type
     * @isEnumeration
     */
    type?: charts.ExportType;
    orientation?: pdfExport.PdfPageOrientation;
    /**
     * Defines content width to be export
     */
    width?: number;
    /** Defines content height to be export
     */
    height?: number;
}
/**
 * The PDF cell render event arguments provides the necessary information to customize the pivot cells while PDF exporting.
 */
export interface PdfCellRenderArgs {
    /** Defines the style of the current cell. */
    style?: PdfStyle;
    /** Defines the current PDF cell */
    cell?: pdfExport.PdfGridCell;
    /** Defines the current cell item */
    pivotCell?: IAxisSet;
}
/**
 * Defines the styles information to customize the PDF cell.
 */
export interface PdfStyle {
    /** Defines the font family */
    fontFamily?: string;
    /**
     * Defines the font size
     */
    fontSize?: number;
    /** Defines the brush color of font */
    textBrushColor?: string;
    /** Defines the pen color of font */
    textPenColor?: string;
    /** Defines the font bold */
    bold?: boolean;
    /** Defines the italic font */
    italic?: boolean;
    /** Defines the strike-out font */
    strikeout?: boolean;
    /** Defines the underlined font */
    underline?: boolean;
    /** Defines the grid border */
    border?: PdfBorder;
    /** Defines the background color */
    backgroundColor?: string;
}
/**
 * The cell click event arguments provides the necessary information about the cell clicked in the pivot table.
 */
export interface CellClickEventArgs {
    /** Defines the cell element that is clicked. */
    currentCell: Element;
    /** Defines the cell item that is clicked. */
    data: Object;
    /** Defines the native event properties. */
    nativeEvent: MouseEvent;
}
/**
 * The hyperlink cell click event arguments provides the necessary information about the cell clicked in the pivot table for hyperlink.
 */
export interface HyperCellClickEventArgs {
    /** Defines the cell element that is clicked. */
    currentCell: Element;
    /** Defines the cell item that is clicked. */
    data: Object;
    /** Defines an option to restrict the hyperlink cell click operation. By default, the value is in 'true' state. */
    cancel: boolean;
    /** Defines the native event properties. */
    nativeEvent: MouseEvent;
}
/**
 * The drill-through event arguments provides the necessary information about the cell clicked in the pivot table for drill-through.
 */
export interface DrillThroughEventArgs {
    /** Defines the cell element that is clicked. */
    currentTarget: Element;
    /** Defines the cell item that is clicked. */
    currentCell: IAxisSet;
    /** Defines the actual cell set information about the clicked cell. */
    rawData: IDataSet[];
    /** Defines the row header of the clicked cell. */
    rowHeaders: string;
    /** Defines the column header of the clicked cell. */
    columnHeaders: string;
    /** Defines the actual value of the clicked cell. */
    value: string;
    /**
     * Defines the grid cell information that used to render multiple header rows(stacked headers) on the grids.Grid header in drill-through popup dialog.
     */
    gridColumns?: grids.ColumnModel[];
    /** Defines an option to restrict the drill-through operation. */
    cancel?: boolean;
}
/**
 * The event argument which holds the information of the clicked multi-level label.
 */
export interface MultiLevelLabelClickEventArgs {
    /** Defines the chart axis. */
    axis: charts.Axis;
    /** Defines the clicked label text. */
    text: string;
    /** Defines an option to restrict the drill up/down operation. */
    cancel?: boolean;
    /** Defines the pivot cell of the clicked label. */
    cell: IAxisSet;
}
/**
 * The event argument which holds the information of the multi-level labels that renders.
 */
export interface MultiLevelLabelRenderEventArgs {
    /** Defines the current axis */
    axis: charts.Axis;
    /** Defines axis current multi-level label text */
    text: string;
    /** Defines font style for multi-level labels */
    textStyle: charts.FontModel;
    /** Defines text alignment for multi-level labels */
    alignment: charts.Alignment;
    /** Defines custom objects for multi-level labels */
    customAttributes: object;
}
/**
 * The event argument which holds the editing information of the raw data made in corresponding aggregated cell.
 */
export interface EditCompletedEventArgs {
    /** Defines the edited raw data */
    currentData: IDataSet[];
    /** Defines the actual raw data */
    previousData: IDataSet[];
    /** Defines an option to restrict the pivot table update */
    cancel?: boolean;
    /** Defines the index position of the actual raw data */
    previousPosition: number[];
}
/**
 * The member filtering event arguments provides the necessary information about the filtering which is performing.
 */
export interface MemberFilteringEventArgs {
    /** Defines the filter settings that is currently applied. */
    filterSettings?: IFilter;
    /** Defines the current report. */
    dataSourceSettings?: IDataOptions;
    /** Defines an option to restrict the filtering operation. */
    cancel?: boolean;
}
/**
 * Defines the selected cells information on the pivot table.
 */
export interface CellSelectedObject {
    /** Defines the current cell item. */
    currentCell: IAxisSet;
    /**
     * Defines the current cell value.
     */
    value: number | string;
    /**
     * Defines the row header of the current cell.
     */
    rowHeaders: string | number | Date;
    /**
     * Defines the column header of the current cell.
     */
    columnHeaders: string | number | Date;
    /** Defines the measure of the current cell. */
    measure: string;
}
/**
 * The cell selected event arguments provide the necessary information about the pivot cells that have been selected.
 */
export interface PivotCellSelectedEventArgs extends grids.CellSelectingEventArgs {
    /** Defines the collection of selected cells item. */
    selectedCellsInfo?: CellSelectedObject[];
    /** Defines pivot table cell collections */
    pivotValues?: IPivotValues;
    /** Defines the cell element that is selected. */
    currentTarget?: Element;
    /** Defines an option to restrict the cell selection operation. */
    cancel?: boolean;
    /** Defines the cell element that is selected. */
    target?: Element;
    /** Defines the wheather the current cell is clicked of not. */
    isCellClick?: boolean;
    /** Defines the current cell item. */
    data?: IAxisSet;
}
/**
 * The drill event arguments provide the necessary information about the pivot cell that performing drill operation.
 */
export interface DrillArgs {
    /** Defines the current cell drill information. */
    drillInfo?: IDrilledItem;
    /** Defines the pivot table instance. */
    pivotview?: PivotView;
    /** Defines an option to restrict the drill operation. */
    cancel?: boolean;
}
/**
 * Defines the grid columns information that used to render as the pivot table header.
 */
export interface PivotColumn {
    /** Allows to enable/disable reordering of the column header. */
    allowReordering: boolean;
    /** Allows to enable/disable resizing of the column header. */
    allowResizing: boolean;
    /** Defines the header text of the column header. */
    headerText: string;
    /**
     * Defines the width of the column header.
     */
    width: string | number;
    /**
     * If `autoFit` set to true, then the column width will be
     * adjusted based on its content in the initial rendering itself.
     *
     * @default false
     */
    autoFit: boolean;
}
/**
 * The column render event arguments provide the necessary information about the pivot table column headers before rendering.
 */
export interface ColumnRenderEventArgs {
    /** Defines the collection of column headers information that used to render the pivot table column headers. */
    columns: PivotColumn[];
    /** Defines the current report. */
    dataSourceSettings: IDataOptions;
    /**
     * Defines the grid column information that used to display the column headers (stacked headers) based on its level in the Pivot Table.
     */
    stackedColumns?: grids.ColumnModel[];
}
/**
 * The begin drill-through event arguments provide the necessary information about the cell clicked on the pivot table for drill-through and editing.
 */
export interface BeginDrillThroughEventArgs {
    /** Defines the current cell clicked information. */
    cellInfo: DrillThroughEventArgs;
    /** Defines the grid instance that used to customize the grid features such as grouping, filtering, sorting, etc., in the drill-through popup dialog. */
    gridObj: grids.Grid;
    /** Defines the current event type. */
    type: string;
}
/**
 * The chart series created event arguments provide the necessary information about the chart series that used to create the pivot chart.
 */
export interface ChartSeriesCreatedEventArgs {
    /**
     * Defines the collection of chart series information that used to render the pivot chart.
     */
    series: charts.SeriesModel[];
    /** Defines an option to restrict the pivot chart rendring. */
    cancel: boolean;
}
/**
 * Defines the cell selection settings
 */
export interface SelectionSettings {
    /**
     * Pivot widget supports row, column, cell, and both (row and column) selection mode.
     * @default Row
     */
    mode?: SelectionMode;
    /**
     * The cell selection modes are flow and box. It requires the selection
     * `mode` to be either cell or both.
     * * `Flow`: Selects the range of cells between start index and end index that also includes the other cells of the selected rows.
     * * `Box`: Selects the range of cells within the start and end column indexes that includes in between cells of rows within the range.
     * * `BoxWithBorder`: Selects the range of cells as like Box mode with borders.
     * @default Flow
     * @isEnumeration
     */
    cellSelectionMode?: grids.CellSelectionMode;
    /**
     * Defines options for selection type. They are
     * * `Single`: Allows selection of only a row or a column or a cell.
     * * `Multiple`: Allows selection of multiple rows or columns or cells.
     * @default Single
     */
    type?: grids.SelectionType;
    /**
     * If 'checkboxOnly' set to true, then the selection is allowed only through checkbox.
     *
     * Note: To enable 'checkboxOnly' selection, should specify the column type as`checkbox`.
     * @default false
     */
    checkboxOnly?: boolean;
    /**
     * If 'persistSelection' set to true, then the selection is persisted on all operations.
     * For persisting selection, any one of the column should be enabled as a primary key.
     * @default false
     */
    persistSelection?: boolean;
    /**
     * Defines options for checkbox selection Mode. They are
     * * `Default`: This is the default value of the checkboxMode. In this mode, user can select multiple rows by clicking rows one by one.
     * * `ResetOnRowClick`: In ResetOnRowClick mode, on clicking a row it will reset previously selected row and also multiple
     *  rows can be selected by using CTRL or SHIFT key.
     * @default Default
     * @isEnumeration
     */
    checkboxMode?: grids.CheckboxSelectionType;
    /**
     * If 'enableSimpleMultiRowSelection' set to true, then the user can able to perform multiple row selection with single clicks.
     * @default false
     */
    enableSimpleMultiRowSelection?: boolean;
}
/**
 * @hidden
 */
export interface CommonArgs {
    pivotEngine: PivotEngine | OlapEngine;
    dataSourceSettings: IDataOptions;
    element: HTMLElement;
    id: string;
    moduleName: string;
    enableRtl: boolean;
    isAdaptive: boolean;
    renderMode: Mode;
    localeObj: base.L10n;
    dataType: string;
    cssClass: string;
}
/**
 * @hidden
 */
export interface PivotButtonArgs {
    field: IFieldOptions[];
    axis: string;
}
/**
 * IAction interface
 * @hidden
 */
export interface IAction {
    updateModel?(): void;
    onActionBegin?(args?: Object, type?: string): void;
    onActionComplete?(args?: Object, type?: string): void;
    addEventListener?(): void;
    removeEventListener?(): void;
}
/**
 * Defines the row on excel export
 */
export interface ExcelRow {
    /**
     * Defines the index for cells
     */
    index?: number;
    /**  Defines the cells in a row */
    cells?: ExcelCell[];
}
/**
 * Defines the column on excel export
 */
export interface ExcelColumn {
    /**
     * Defines the index for cells
     */
    index?: number;
    /**
     * Defines the width of each column
     */
    width: number;
}
/**
 * Defines the style options for excel export
 */
export interface ExcelStyles extends grids.ExcelStyle {
    /**
     * Defines the horizontal alignment for cell style
     */
    hAlign?: grids.ExcelHAlign;
    /**
     * Defines the vertical alignment for cell style
     */
    vAlign?: grids.ExcelVAlign;
    /** Defines the cell number format */
    numberFormat?: string;
}
/**
 * Defines the cell information for excel export
 */
export interface ExcelCell {
    /**
     * Defines the index for the cell
     */
    index?: number;
    /**
     * Defines the column span for the cell
     */
    colSpan?: number;
    /**
     * Defines the column span for the cell
     */
    rowSpan?: number;
    /**
     * Defines the value of the cell
     */
    value?: string | boolean | number | Date;
    /** Defines the style of the cell */
    style?: ExcelStyles;
}
/**
 * @hidden
 */
export interface ResizeInfo {
    [key: string]: number;
}
/**
 * @hidden
 */
export interface ScrollInfo {
    vertical: number;
    horizontal: number;
    verticalSection: number;
    horizontalSection: number;
    top: number;
    left: number;
    scrollDirection: {
        direction: string;
        position: number;
    };
}
/**
 * @hidden
 */
export interface HeaderCollection {
    rowHeaders: IAxisSet[];
    rowHeadersCount: number;
    columnHeaders: IAxisSet[];
    columnHeadersCount: number;
}
/**
 * @hidden
 */
export interface RowHeaderPositionGrouping {
    [key: number]: RowHeaderLevelGrouping;
}
/**
 * @hidden
 */
export interface RowHeaderLevelGrouping {
    [key: string]: ChartLabelInfo;
}
/**
 * @hidden
 */
export interface ChartLabelInfo {
    text: string;
    name: string;
    level: number;
    hasChild: boolean;
    isDrilled: boolean;
    levelName: string;
    fieldName: string;
    rowIndex: number;
    colIndex: number;
    span?: number;
    cell?: IAxisSet;
}
/**
 * Defines the theme options for PDF export
 */
export interface PdfTheme {
    /** Defines the style of header content. */
    header?: PdfThemeStyle;
    /** Defines the theme style of record content. */
    record?: PdfThemeStyle;
}
/**
 * Defines the theme options for PDF export
 */
export interface PdfThemeStyle {
    /**
     * Defines the font size of theme style.
     */
    fontSize?: number;
    /** Defines the font of the theme. */
    font?: pdfExport.PdfStandardFont | pdfExport.PdfTrueTypeFont;
    /** Defines the italic of theme style. */
    italic?: boolean;
    /** Defines the font color of theme style. */
    fontColor?: string;
    /** Defines the font name of theme style. */
    fontName?: string;
    /** Defines the bold of theme style. */
    bold?: boolean;
    /** Defines the borders of theme style. */
    border?: PdfBorder;
    /** Defines the underline of theme style. */
    underline?: boolean;
    /** Defines the strikeout of theme style. */
    strikeout?: boolean;
}
/**
 * Defines the border options for PDF export
 */
export interface PdfBorder {
    /** Defines the border color */
    color?: string;
    /**
     * Defines the border width
     */
    width?: number;
    /** Defines the border dash style */
    dashStyle?: PdfBorderStyle;
}
/**
 * Defines the cell template information
 */
export interface CellTemplateArgs {
    /** Defines the cell element */
    targetCell?: HTMLElement;
    /** Defines the cell Information */
    cellInfo?: IAxisSet;
}
/**
 * The aggregate event arguments provide the necessary information on each pivot value cell framing in the pivot engine for pivot table render.
 */
export interface AggregateEventArgs {
    /** Defines the field name of the value cell. */
    fieldName?: string;
    /** Defines the row header information of the value cell. */
    row?: IAxisSet;
    /** Defines the column header information of the value cell. */
    column?: IAxisSet;
    /**
     * Defines the aggregate cell value of the current cell.
     */
    value?: number;
    /** Defines the actual data source collection that used to aggregate the value of the current cell. */
    cellSets?: IDataSet[];
    /** Defines wheather the row header cell type is header or sub-total or grand-total. */
    rowCellType?: string;
    /** Defines wheather the column header cell type is header or sub-total or grand-total. */
    columnCellType?: string;
    /** Defines the current aggregate type of the value cell. */
    aggregateType?: SummaryTypes;
    /** Defines an option to restrict the number formating of the current value cell. */
    skipFormatting?: boolean;
}
/**
 * The query cell event arguments provide the necessary information on each pivot cell rendering in the pivot table.
 */
export interface QueryCellInfoEventArgs {
    /** Defines the row data associated with the current cell. */
    data?: Object;
    /** Defines the cell element. */
    cell?: Element;
    /**
     * Defines the column information associated with the current cell.
     */
    column?: grids.Column;
    /**
     * Defines the number of columns used to span the current cell at column wise.
     */
    colSpan?: number;
    /**
     * Defines the number of rows used to span the current cell at row wise.
     */
    rowSpan?: number;
    /** Defines the current action. */
    requestType?: string;
    /** Define the foreign key row data associated with the current cell. */
    foreignKeyData?: Object;
    /** Define the pivot table instance object. */
    pivotview?: PivotView;
}
/**
 * The field list refreshed event arguments provide the necessary information to render the pivot table.
 */
export interface FieldListRefreshedEventArgs {
    /** Defines the current report. */
    dataSourceSettings?: IDataOptions;
    /** Defines the updated pivot table cell collections to update the pivot table. */
    pivotValues?: IPivotValues;
}
/**
 * Defines the offset position of the marker in the pivot chart.
 */
export interface OffsetModel {
    /**
     * Defines offset left position of the marker.
     * @default 0
     */
    x?: number;
    /**
     * Defines offset top position of the marker.
     * @default 0
     */
    y?: number;
}
/**
 * The member editor open event arguments provide the necessary information about the selected field and its fitler settingster on before filter popup opens.
 */
export interface MemberEditorOpenEventArgs {
    /** Defines the selected field name to perform filtering */
    fieldName?: string;
    /**
     * Defines the filter members of the selected field.
     */
    fieldMembers?: {
        [key: string]: Object;
    }[];
    /** Defines selected field's filter settings */
    filterSetting?: IFilter;
    /** Defines an option to restrict the member editor popup from open. */
    cancel?: boolean;
}
/**
 * The field remove event arguments provide the necessary information about the selected field information before it removes.
 */
export interface FieldRemoveEventArgs {
    /** Defines the current pivot report. */
    dataSourceSettings?: IDataOptions;
    /** Defines the selected field name to remove from the current pivot reprot. */
    fieldName?: string;
    /** Defines the selected field information. */
    fieldItem?: IFieldOptions;
    /** Defines the axis name where the selected field would be removed. */
    axis?: string;
    /** Defines an option to restrict the field remove operation. */
    cancel?: boolean;
}
/**
 * The calcualted field create event arguments provide the necessary information about the calculated field settings before it creates to update the pviot table.
 */
export interface CalculatedFieldCreateEventArgs {
    /** Defines current pivot report */
    dataSourceSettings?: IDataOptions;
    /** Defines the field name to create/update the calculated field settings. */
    fieldName?: string;
    /** Defines current calcualted field's infromation that used to modify and update. */
    calculatedField?: ICalculatedFields;
    /**
     * Defines current calculated fields collection in the current pivot report.
     */
    calculatedFieldSettings?: ICalculatedFieldSettings[];
    /** Defines an option to restrict the calculated field create operation */
    cancel?: boolean;
}
/**
 * The number formatting event arguments provide the necessary information about the format settings of the selected field before it creates to update the pviot table.
 */
export interface NumberFormattingEventArgs {
    /**
     * Defines the current format settings collection
     */
    formatSettings?: IFormatSettings[];
    /** Defines the seledted field name that used to apply the number formatting. */
    formatName?: string;
    /** Defines an option to restrict the format field create operation */
    cancel?: boolean;
}
/**
 * The aggregate menu open event arguments provide the necessary information to customize the aggregate menu options before it opens.
 */
export interface AggregateMenuOpenEventArgs {
    /**
     * Defines aggregate types collection that used to show it in the aggregate menu when it opens.
     */
    aggregateTypes?: AggregateTypes[];
    /** Defines the selected field name to open the aggregate menu. */
    fieldName?: string;
    /** Defines an option to restrict the conext menu from open. */
    cancel?: boolean;
    /** Defines the menu count to be displayed initially. */
    displayMenuCount?: number;
}
/**
 * Defines the filter members information that used to render member filter dialog.
 */
export interface MemberItems {
    /** Defines whether the specific filter member has child(inner level) members or not. */
    hasChildren?: boolean;
    /**
     * Defines the custom HTML atttribute informations that used to add it specific filter member's DOM element in UI.
     */
    htmlAttributes?: {
        [key: string]: Object;
    };
    /** Defines whether the specific filter member is include or not that used to be display in the pivot table. */
    isSelected?: boolean;
    /** Defines the unique name of a specific filter member. */
    id?: string;
    /** Defines the parent member's unique name of a specific filter member. */
    pid?: string;
    /** Defines the unique caption to a specific member that used to display in the filter dialog. */
    name?: string;
    /** Defines the filter member's caption. */
    caption?: string;
    /** Defines the unique tag name to a specific member. */
    tag?: string;
}
/**
 * @hidden
 */
export interface TreeDataInfo {
    index: number;
    isSelected: boolean;
}
/**
 * The before service invoke event arguments provide the necessary information about the service before it get invoked.
 */
export interface BeforeServiceInvokeEventArgs {
    /** Defines XML HTTP Request. */
    request?: XMLHttpRequest;
    /** Defines the data source settings. */
    dataSourceSettings?: IDataOptions;
    /** Defines the action which is being performed. */
    action?: string;
    /** Defines the custom properties which needs to pass to server side. */
    customProperties?: any;
    /** Defines the drill item. */
    drillItem?: IDrilledItem;
    /** Defines the sort item. */
    sortItem?: ISort;
    /** Defines the aggregate item. */
    aggregatedItem?: IFieldOptions;
    /** Defines the calculated item. */
    calculatedItem?: ICalculatedFields;
    /** Defines the filter item. */
    filterItem?: IFilter;
    /** Defines the member name. */
    memberName?: string;
    /** Defines the raw data needs to be fetched. */
    fetchRawDataArgs?: FetchRawDataArgs;
    /** Defines the raw data needs to be updated. */
    editArgs?: UpdateRawDataArgs;
    /** Defines the hash string. */
    hash?: string;
    /** Defines the internal properties. */
    internalProperties?: any;
}
/**
 * Defines the raw data needs to be fetched.
 */
export interface UpdateRawDataArgs {
    /** Defines the raw data needs to be added. */
    addedData: IDataSet[];
    /** Defines the raw data needs to be removed. */
    removedData: object[];
    /** Defines the raw data needs to be updated. */
    updatedData: IDataSet[];
    /** Defines the index object. */
    indexObject: object[];
}
/**
 * Defines the raw data needs to be updated.
 */
export interface FetchRawDataArgs {
    /** Defines the column index. */
    columnIndex: number;
    /** Defines the row index. */
    rowIndex: number;
}
/**
 * The action begins event arguments provide information about the current UI action, such as the action name, current datasource settings,
 * and the selected field information which are configured based on the UI actions like
 * [`drill down/up`](../../pivotview/drill-down/#drill-down-and-drill-up),
 * [`value sorting`](../../pivotview/sorting/#value-sorting),
 * built-in [`toolbar`](../../pivotview/tool-bar/#built-in-toolbar-options) options,
 * [`grouping bar`](../../pivotview/grouping-bar/) and
 * [`field list`](../../pivotview/field-list/) buttons actions such as
 * [`sorting`](../../pivotview/sorting/), [`filtering`](../../pivotview/filtering/),
 * [`editing`](../../pivotview/calculated-field/#editing-through-the-field-list-and-the-groupingbar),
 * [`aggregate type`](../../pivotview/aggregation/#modifying-aggregation-type-for-value-fields-at-runtime) change and so on,
 * CRUD operation in [`editing`](../../pivotview/editing/) in the Pivot Table.
 */
export interface PivotActionBeginEventArgs {
    /** Defines the current data source settings information such as rows, columns, values, filters, etc., that are used to render the pivot table and field list. */
    dataSourceSettings?: IDataOptions;
    /** Defines name of the current UI action when it begins. The following are the UI actions and their names:
     *
     * **Pivot Table**
     * * **Drill down** and **drill up** - Drill down/up.
     * * **Value sorting** - Sort value.
     *
     * **Toolbar**
     * * **New report** - Add new report.
     * * **Save report** - Save current report.
     * * **Save as report** - Save as current report.
     * * **Rename report** - Rename current report.
     * * **Remove report** - Remove current report.
     * * **Load report** - Load report.
     * * **Conditional Formatting** - Open conditional formatting dialog.
     * * **Number Formatting** - Open number formatting dialog.
     * * **Show Fieldlist** - Open field list.
     * * **Show Table** - Show table view.
     * * **Chart menu** - Show chart view.
     * * **Export menu** - PDF/Excel/CSV export.
     * * **Sub-totals menu** - Show/hide sub-totals.
     * * **Grand totals menu** - Show/hide grand totals.
     * * **MDX** - Open MDX dialog.
     *
     * **Grouping bar** and **Field List** buttons
     * * **Editing** - Edit calculated field.
     * * **Remove** - Remove field.
     * * **Sorting** - Sort field.
     * * **Filtering** - Filter field.
     * * **Aggregation** - Aggregate field.
     *
     * **Field List UI**
     * * **Field list tree** - Sort field tree.
     * * **Calculated field button** - Open calculated field dialog.
     *
     * **Editing**
     * * **Edit** - Edit record.
     * * **Save** - Save edited records.
     * * **Add** - Add new record.
     * * **Delete** - Remove record.
     */
    actionName?: string;
    /**
     * Defines the current field information on which field the action takes.
     * > This option is applicable only when the field-based UI actions are performed such as filtering, sorting, field remove, editing and aggregation change.
     */
    fieldInfo?: FieldItemInfo;
    /** Allow to restrict the current UI action. */
    cancel?: boolean;
}
/**
 * The action complete event arguments provide information about the current UI action, such as the current action name, current datasource settings, selected field information, and the current action information
 * which are configured based on the UI actions like
 * [`drill down/up`](../../pivotview/drill-down/#drill-down-and-drill-up),
 * [`value sorting`](../../pivotview/sorting/#value-sorting),
 * built-in [`toolbar`](../../pivotview/tool-bar/#built-in-toolbar-options) options,
 * [`grouping bar`](../../pivotview/grouping-bar/) and
 * [`field list`](../../pivotview/field-list/) buttons actions such as
 * [`sorting`](../../pivotview/sorting/), [`filtering`](../../pivotview/filtering/),
 * [`editing`](../../pivotview/calculated-field/#editing-through-the-field-list-and-the-groupingbar),
 * [`aggregate type`](../../pivotview/aggregation/#modifying-aggregation-type-for-value-fields-at-runtime) change and so on,
 * CRUD operation in [`editing`](../../pivotview/editing/) in the Pivot Table.
 */
export interface PivotActionCompleteEventArgs {
    /** Defines the current data source settings information such as rows, columns, values, filters, etc., that are used to render the pivot table and field list. */
    dataSourceSettings?: IDataOptions;
    /** Defines name of the current UI action completed. The following are the UI actions and their names:
     *
     * **Pivot Table**
     * * **Drill down** and **drill up** - Drill down/up.
     * * **Value sorting** - Value sorted.
     *
     * **Toolbar**
     * * **New report** - New report added.
     * * **Save report** - Report saved.
     * * **Save as report** - Report re-saved.
     * * **Rename report** - Report renamed.
     * * **Remove report** - Report removed.
     * * **Load report** - Report loaded.
     * * **Conditional Formatting** - Conditional formatting applied.
     * * **Number Formatting** - Number formatting applied.
     * * **Show Fieldlist** - Field list closed.
     * * **Show Table** - Table view shown.
     * * **Chart menu** - Chart view shown.
     * * **Export menu** - PDF/Excel/CSV exported.
     * * **Sub-totals menu** - Sub-totals shown/hidden.
     * * **Grand totals menu** - Grand totals shown/hidden.
     * * **MDX** - MDX dialog closed.
     *
     * **Grouping bar** and **Field List** buttons
     * * **Editing** - Calculated field edited.
     * * **Remove** - Field removed.
     * * **Sorting** - Field sorted.
     * * **Filtering** - Field filtered.
     * * **Aggregation** - Field aggregated.
     *
     * **Field List UI**
     * * **Field list tree** - Field tree sorted.
     * * **Calculated field button** - Calculated field applied.
     *
     * **Editing**
     * * **Save** - Edited records saved.
     * * **Add** - New record added.
     * * **Delete** - Record removed.
     * * **Update** - Edited records updated.
     */
    actionName?: string;
    /** Defines the current field information on which field the action takes.
     * > This option is applicable only when the field-based UI actions are performed such as filtering, sorting, field remove, editing and aggregation change.
     */
    fieldInfo?: FieldItemInfo;
    /** Defines the unique information of the current UI action performed. */
    actionInfo?: PivotActionInfo;
}
/**
 * When the current UI action fails to achieve the desired result, the action failure event arguments provide necessary information about the current UI action, such as the current action name and failure information
 * which are configured based on the UI actions like
 * [`drill down/up`](../../pivotview/drill-down/#drill-down-and-drill-up),
 * [`value sorting`](../../pivotview/sorting/#value-sorting),
 * built-in [`toolbar`](../../pivotview/tool-bar/#built-in-toolbar-options) options,
 * [`grouping bar`](../../pivotview/grouping-bar/) and
 * [`field list`](../../pivotview/field-list/) buttons actions such as
 * [`sorting`](../../pivotview/sorting/), [`filtering`](../../pivotview/filtering/),
 * [`editing`](../../pivotview/calculated-field/#editing-through-the-field-list-and-the-groupingbar),
 * [`aggregate type`](../../pivotview/aggregation/#modifying-aggregation-type-for-value-fields-at-runtime) change and so on,
 * CRUD operation in [`editing`](../../pivotview/editing/) in the Pivot Table.
 */
export interface PivotActionFailureEventArgs {
    /** Defines the error information of the current action. */
    errorInfo?: Error;
    /** Defines the name of the current action before it is completed. The following are the UI actions and their names:
     *
     * **Pivot Table**
     * * **Drill down** and **drill up** - Drill down/up.
     * * **Value sorting** - Sort value.
     *
     * **Toolbar**
     * * **New report** - Add new report.
     * * **Save report** - Save current report.
     * * **Save as report** - Save as current report.
     * * **Rename report** - Rename current report.
     * * **Remove report** - Remove current report.
     * * **Load report** - Load report.
     * * **Conditional Formatting** - Open conditional formatting dialog.
     * * **Number Formatting** - Open number formatting dialog.
     * * **Show Fieldlist** - Open field list.
     * * **Show Table** - Show table view.
     * * **Chart menu** - Show chart view.
     * * **Export menu** - PDF/Excel/CSV export.
     * * **Sub-totals menu** - Show/hide sub-totals.
     * * **Grand totals menu** - Show/hide grand totals.
     * * **MDX** - Open MDX dialog.
     *
     * **Grouping bar** and **Field List** buttons
     * * **Editing** - Edit calculated field.
     * * **Remove** - Remove field.
     * * **Sorting** - Sort field.
     * * **Filtering** - Filter field.
     * * **Aggregation** - Aggregate field.
     *
     * **Field List UI**
     * * **Field list tree** - Sort field tree.
     * * **Calculated field button** - Open calculated field dialog.
     *
     * **Editing**
     * * **Edit** - Edit record.
     * * **Save** - Save edited records.
     * * **Add** - Add new record.
     * * **Delete** - Remove record.
     */
    actionName?: string;
}
/**
 * Defines the unique information of the current UI action performed such as sorting, filtering, dril, editing, report manipulation, summarization, etc.
 */
export interface PivotActionInfo {
    /** Defines the selected field’s sort settings to order their members either in ascending or descending that used to be displayed in the pivot table. */
    sortInfo?: ISort;
    /** Defines the selected field’s filter settings with either selective or conditional-based filter members that used to be displayed in the pivot table. */
    filterInfo?: IFilter;
    /** Defines the selected field’s drilled members settings that used to display the headers to be either expanded or collapsed in the pivot table. */
    drillInfo?: IDrillOptions;
    /** Defines the selected calculated field’s settings that used to create new calculated fields from the bound data source or using simple formula with basic arithmetic operators in the pivot table. */
    calculatedFieldInfo?: ICalculatedFieldSettings;
    /** Defines the report name that used to create, load, rename save and save as current report. */
    reportName?: string | PivotReportInfo;
    /** Defines the export information such as current export type and its additional settings such as page size, orientation, header, footer, etc. */
    exportInfo?: PivotExportInfo;
    /**
     * Defines the edited information such as current edit type, action and its edited record information such as edited data, previous data and index positions of before editing performed.
     */
    editInfo?: PivotEditInfo;
    /** Defines the current condition formatting settings that used to change the appearance of the pivot table value cells with different style properties such as background color,
     * font color, font family, and font size based on specific conditions.
     */
    conditionalFormattingInfo?: IConditionalFormatSettings[];
    /** Defines the current format settings that used to display the values with specific format that used to be displayed in the pivot table. */
    numberFormattingInfo?: IFormatSettings[];
    /** Defines the current toolbar information such as current display options and its settings such as chart settings, grid settings, etc. */
    toolbarInfo?: PivotToolbarInfo;
    /** Defines the current value sort settings from current pivot report. */
    valueSortInfo?: IValueSortSettings;
}
/**
 * Defines the report name that used to create, load, rename save and save as current report.
 */
export interface PivotReportInfo {
    /** Defines the report name that used to be renamed. */
    oldName?: string;
    /** Defines the current report name after renamed. */
    newName?: string;
}
/**
 * Defines the export information such as current export type and its additional settings such as page size, orientation, header, footer, etc.
 */
export interface PivotExportInfo {
    /** Defines the current export type such as PDF, Excel, and CSV. */
    type?: string;
    /** Defines the additional settings for PDF, Excel, and CSV export such as page size, orientation, header, footer, etc. */
    info?: grids.PdfExportProperties | grids.ExcelExportProperties | string;
}
/**
 * Defines the edited information such as current edit type, action and its edited record information such as edited data, previous data and index positions of before editing performed.
 */
export interface PivotEditInfo {
    /** Defines the current edit type such as batch, inline, dialog and command columns. */
    type?: string;
    /** Defines the current edit action such as add, edit, save and delete. */
    action?: string;
    /** Defines the data that used to update the pivot table. */
    data?: IDataSet[];
    /** Defines the edited raw data */
    currentData?: IDataSet[];
    /** Defines the actual raw data */
    previousData?: IDataSet[];
    /** Defines the index position of the actual raw data */
    previousPosition?: number[];
}
/**
 * Defines the current toolbar information such as current display options and its settings such as chart settings, grid settings, etc.
 */
export interface PivotToolbarInfo {
    /** Defines the current display settings such as current view port as either pivot table or pivot chart or both table and chart. */
    displayOption?: DisplayOption;
    /** Defines the pivot table settings such as column width, row height, grid lines, text wrap settings, selection settings, etc. */
    gridSettings?: GridSettings;
    /** Defines the pivot chart settings such as chart series, chart area, axis labels, legends, border, crosshairs, theme, title, tooltip, zooming, etc. */
    chartSettings?: ChartSettings;
}
/**
 * Defines the cusrrent sorting information such as field name, sort order and members which is to be sorted.
 */
export interface HeadersSortEventArgs {
    /** Defines the name of the field to be sorted. */
    fieldName?: string;
    /** Defines the hierarchy. `Note`: It is applicable only for OLAP data. */
    levelName?: string;
    /** Defines the sort order for the members to be sorted. */
    sortOrder?: Sorting;
    /** Defines the members to be sorted. */
    members?: string[] | number[];
    /** Defines an option to restrict the unwanted custom sorting operation. By default, the value is in 'false' state. */
    IsOrderChanged?: boolean;
}
/**
 * The export complete event arguments provide the necessary information about the exported data after completing the file export.
 */
export interface ExportCompleteEventArgs {
    /** Defines the current export type such as PDF, Excel, and CSV. */
    type?: string;
    /** Defines the promise object for blob data. */
    promise?: Promise<{
        blobData: Blob;
    }>;
}
//node_modules/@syncfusion/ej2-pivotview/src/common/base/pivot-common.d.ts
/**
 * PivotCommon is used to manipulate the relational or Multi-Dimensional public methods by using their dataSource
 * @hidden
 */
/** @hidden */
export  class PivotCommon {
    /** @hidden */
    globalize: base.Internationalization;
    /** @hidden */
    localeObj: base.L10n;
    /** @hidden */
    engineModule: PivotEngine | OlapEngine;
    /** @hidden */
    dataSourceSettings: IDataOptions;
    /** @hidden */
    element: HTMLElement;
    /** @hidden */
    moduleName: string;
    /** @hidden */
    enableRtl: boolean;
    /** @hidden */
    isAdaptive: boolean;
    /** @hidden */
    renderMode: Mode;
    /** @hidden */
    parentID: string;
    /** @hidden */
    control: PivotView | PivotFieldList;
    /** @hidden */
    currentTreeItems: {
        [key: string]: Object;
    }[];
    /** @hidden */
    savedTreeFilterPos: {
        [key: number]: string;
    };
    /** @hidden */
    currentTreeItemsPos: {
        [key: string]: TreeDataInfo;
    };
    /** @hidden */
    searchTreeItems: {
        [key: string]: Object;
    }[];
    /** @hidden */
    editorLabelElement: HTMLLabelElement;
    /** @hidden */
    isDataOverflow: boolean;
    /** @hidden */
    isDateField: boolean;
    /** @hidden */
    dataType: string;
    /** @hidden */
    cssClass: string;
    /** @hidden */
    nodeStateModified: NodeStateModified;
    /** @hidden */
    dataSourceUpdate: DataSourceUpdate;
    /** @hidden */
    eventBase: EventBase;
    /** @hidden */
    errorDialog: ErrorDialog;
    /** @hidden */
    filterDialog: FilterDialog;
    /** @hidden */
    keyboardModule: CommonKeyboardInteraction;
    /**
     * Constructor for Pivot Common class.
     * @param  {CommonArgs} control - control.
     * @hidden
     */
    constructor(control: CommonArgs);
    /**
     * To destroy the groupingbar.
     * @returns {void}
     * @hidden
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-pivotview/src/common/base/themes.d.ts
/**
 * Specifies Chart Themes
 */
export  namespace Theme {
    /** @private */
    let axisLabelFont: charts.IFontMapping;
    /** @private */
    let axisTitleFont: charts.IFontMapping;
    /** @private */
    let chartTitleFont: charts.IFontMapping;
    /** @private */
    let chartSubTitleFont: charts.IFontMapping;
    /** @private */
    let crosshairLabelFont: charts.IFontMapping;
    /** @private */
    let tooltipLabelFont: charts.IFontMapping;
    /** @private */
    let legendLabelFont: charts.IFontMapping;
    /** @private */
    let stripLineLabelFont: charts.IFontMapping;
    /** @private */
    let stockEventFont: charts.IFontMapping;
}
//node_modules/@syncfusion/ej2-pivotview/src/common/calculatedfield/calculated-field.d.ts
/** @hidden */
export  class CalculatedField implements IAction {
    parent: PivotView | PivotFieldList;
    /** @hidden */
    isFormula: boolean;
    /** @hidden */
    isRequireUpdate: boolean;
    /** @hidden */
    buttonCall: boolean;
    /**
     * Internal variables.
     */
    private dialog;
    private treeObj;
    private inputObj;
    private droppable;
    private menuObj;
    private newFields;
    private curMenu;
    private isFieldExist;
    private parentID;
    private existingReport;
    private formulaText;
    private fieldText;
    private formatType;
    private formatText;
    private fieldType;
    private parentHierarchy;
    private keyboardEvents;
    private isEdit;
    private currentFieldName;
    private currentFormula;
    private confirmPopUp;
    private field;
    private accordion;
    private formatTypes;
    /**
     * Constructor for calculatedfield module.
     * @param {PivotView | PivotFieldList} parent - Component instance.
     */
    constructor(parent: PivotView | PivotFieldList);
    /**
     * To get module name.
     * @returns {string} - Module name.
     */
    protected getModuleName(): string;
    private keyActionHandler;
    /**
     * Trigger while click treeview icon.
     * @param  {NodeClickEventArgs} e - Click event argument.
     * @returns {void}
     */
    private fieldClickHandler;
    /**
     * Trigger while click treeview icon.
     * @param  {AccordionClickArgs} e - Click event argument.
     * @returns {void}
     */
    private accordionClickHandler;
    private accordionCreated;
    private clearFormula;
    /**
     * To display context menu.
     * @param  {HTMLElement} node
     * @returns {void}
     */
    private displayMenu;
    private removeCalcField;
    /**
     * To set position for context menu.
     * @returns {void}
     */
    private openContextMenu;
    /**
     * Triggers while select menu.
     * @param  {MenuEventArgs} menu
     * @returns {void}
     */
    private selectContextMenu;
    /**
     * To create context menu.
     * @returns {void}
     */
    private createMenu;
    /**
     * Triggers while click OK button.
     * @returns {void}
     */
    private applyFormula;
    private getCalculatedFieldInfo;
    private updateFormatSettings;
    private addFormula;
    /** @hidden */
    endDialog(): void;
    /** @hidden */
    showError(): void;
    /**
     * To get treeview data
     * @param  {PivotGrid|PivotFieldList} parent
     * @returns Object
     */
    private getFieldListData;
    /**
     * Triggers before menu opens.
     * @param  {BeforeOpenCloseMenuEventArgs} args
     * @returns {void}
     */
    /**
     * Trigger while drop node in formula field.
     * @param  {DragAndDropEventArgs} args
     * @returns {void}
     */
    private fieldDropped;
    /**
     * To create dialog.
     * @returns {void}
     */
    private createDialog;
    private cancelClick;
    private beforeOpen;
    private closeDialog;
    private setFocus;
    /**
     * To render dialog elements.
     * @returns {void}
     */
    private renderDialogElements;
    /**
     * To create calculated field adaptive layout.
     * @returns {void}
     */
    private renderAdaptiveLayout;
    /**
     * To update calculated field info in adaptive layout.
     * @returns {void}
     */
    private updateAdaptiveCalculatedField;
    /**
     * To create treeview.
     * @returns {void}
     */
    private createDropElements;
    private getFormat;
    /**
     * To create treeview.
     * @returns {void}
     */
    private createTreeView;
    private updateNodeIcon;
    private nodeCollapsing;
    private dragStart;
    /**
     * Trigger before treeview text append.
     * @param  {DrawNodeEventArgs} args
     * @returns {void}
     */
    private drawTreeNode;
    /**
     * To create radio buttons.
     * @param  {string} key
     * @returns HTMLElement
     */
    private createTypeContainer;
    private getMenuItems;
    private getValidSummaryType;
    /**
     * To get Accordion Data.
     * @param  {PivotView | PivotFieldList} parent
     * @returns AccordionItemModel
     */
    private getAccordionData;
    /**
     * To render mobile layout.
     * @param  {Tab} tabObj
     * @returns {void}
     */
    private renderMobileLayout;
    private accordionExpand;
    private onChange;
    private updateType;
    /**
     * Trigger while click cancel button.
     * @returns {void}
     */
    private cancelBtnClick;
    /**
     * Trigger while click add button.
     * @returns {void}
     */
    private addBtnClick;
    /**
     * To create calculated field dialog elements.
     * @returns {void}
     * @hidden
     */
    createCalculatedFieldDialog(args?: {
        edit: boolean;
        fieldName: string;
    }): void;
    /**
     * To create calculated field desktop layout.
     * @returns {void}
     */
    private renderDialogLayout;
    /**
     * Creates the error dialog for the unexpected action done.
     * @function createConfirmDialog
     * @returns {void}
     * @hidden
     */
    private createConfirmDialog;
    private replaceFormula;
    private removeErrorDialog;
    /**
     * To add event listener.
     * @returns {void}
     * @hidden
     */
    addEventListener(): void;
    /**
     * To remove event listener.
     * @returns {void}
     * @hidden
     */
    removeEventListener(): void;
    /**
     * To destroy the calculated field dialog
     * @returns {void}
     * @hidden
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-pivotview/src/common/conditionalformatting/conditional-formatting.d.ts
/**
 * Module to render Conditional Formatting Dialog
 */
/** @hidden */
export  class ConditionalFormatting {
    parent: PivotView;
    /**
     * Internal variables.
     */
    private dialog;
    private parentID;
    private fieldsDropDown;
    private conditionsDropDown;
    private fontNameDropDown;
    private fontSizeDropDown;
    private fontColor;
    private backgroundColor;
    private newFormat;
    /** Constructor for conditionalformatting module
     * @param {PivotView} parent - Instance of pivot table.
     */
    constructor(parent: PivotView);
    /**
     * To get module name.
     * @returns {string} - Module name.
     */
    protected getModuleName(): string;
    private createDialog;
    private beforeOpen;
    private addButtonClick;
    private applyButtonClick;
    private cancelButtonClick;
    private refreshConditionValues;
    private addFormat;
    private createDialogElements;
    private renderDropDowns;
    private conditionChange;
    private fontNameChange;
    private fontSizeChange;
    private measureChange;
    private renderColorPicker;
    private backColorChange;
    private fontColorChange;
    private toggleButtonClick;
    /**
     * To check is Hex or not.
     * @param {string} h - hex value.
     * @returns {boolean} - boolean.
     * @hidden
     */
    isHex(h: string): boolean;
    /**
     * To convert hex to RGB.
     * @param {string} hex - hex value.
     * @returns { r: number, g: number, b: number } | null - Hex value.
     * @hidden
     */
    hexToRgb(hex: string): {
        r: number;
        g: number;
        b: number;
    } | null;
    /**
     * To convert color to hex.
     * @param {string} colour - color value.
     * @returns {string} - color value.
     * @hidden
     */
    colourNameToHex(colour: string): string;
    private removeDialog;
    private destroyColorPickers;
    /**
     * To create Conditional Formatting dialog.
     * @returns {void}
     */
    showConditionalFormattingDialog(): void;
    /**
     * To destroy the Conditional Formatting dialog
     * @returns {void}
     * @hidden
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-pivotview/src/common/grouping-bar/axis-field-renderer.d.ts
/**
 * Module to render Axis Fields
 */
/** @hidden */
export  class AxisFields {
    parent: PivotView;
    /** Constructor for render module
     * @param {PivotView} parent - Instance.
     */
    constructor(parent: PivotView);
    /**
     * Initialize the grouping bar pivot button rendering
     * @returns {void}
     * @private
     */
    render(): void;
    private createPivotButtons;
}
//node_modules/@syncfusion/ej2-pivotview/src/common/grouping-bar/grouping-bar.d.ts
/**
 * Module for GroupingBar rendering
 */
/** @hidden */
export  class GroupingBar implements IAction {
    /**
     * Internal variables
     */
    /** @hidden */
    gridPanel: navigations.Toolbar;
    /** @hidden */
    chartPanel: navigations.Toolbar;
    private groupingTable;
    private groupingChartTable;
    private leftAxisPanel;
    private rightAxisPanel;
    private filterPanel;
    private rowPanel;
    private columnPanel;
    private valuePanel;
    private rowAxisPanel;
    private columnAxisPanel;
    private valueAxisPanel;
    private filterAxisPanel;
    private touchObj;
    private resColWidth;
    private timeOutObj;
    /**
     * Module declarations
     */
    private parent;
    private handlers;
    /** Constructor for GroupingBar module */
    constructor(parent: PivotView);
    /**
     * For internal use only - Get the module name.
     * @returns {string} - Module name.
     * @private
     */
    protected getModuleName(): string;
    /** @hidden */
    renderLayout(): void;
    private appendToElement;
    private updateChartAxisHeight;
    /**
     * @hidden
     */
    refreshUI(): void;
    /** @hidden */
    alignIcon(): void;
    /**
     * @hidden
     */
    setGridRowWidth(): void;
    private setColWidth;
    private wireEvent;
    private unWireEvent;
    private dropIndicatorUpdate;
    private tapHoldHandler;
    RefreshFieldsPanel(): void;
    private createToolbarUI;
    /**
     * @hidden
     */
    addEventListener(): void;
    /**
     * @hidden
     */
    removeEventListener(): void;
    /**
     * To destroy the groupingbar
     * @returns {void}
     * @hidden
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-pivotview/src/common/index.d.ts
/**
 * common exported items
 */
//node_modules/@syncfusion/ej2-pivotview/src/common/popups/aggregate-menu.d.ts
/**
 * `AggregateMenu` module to create aggregate type popup.
 */
/** @hidden */
export  class AggregateMenu {
    parent: PivotView | PivotFieldList;
    private menuInfo;
    private parentElement;
    private buttonElement;
    private currentMenu;
    private valueDialog;
    private summaryTypes;
    private stringAggregateTypes;
    /**
     * Constructor for the rener action.
     * @hidden
     */
    constructor(parent?: PivotView | PivotFieldList);
    /**
     * Initialize the pivot table rendering
     * @returns {void}
     * @private
     */
    render(args: base.MouseEventArgs, parentElement: HTMLElement): void;
    private openContextMenu;
    private createContextMenu;
    private getMenuItem;
    private beforeMenuOpen;
    /** @hidden */
    createValueSettingsDialog(target: HTMLElement, parentElement: HTMLElement, type?: string): void;
    private createFieldOptions;
    private selectOptionInContextMenu;
    private updateDataSource;
    private updateValueSettings;
    private removeDialog;
    /**
     * To destroy the pivot button event listener
     * @returns {void}
     * @hidden
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-pivotview/src/common/popups/context-menu.d.ts
/**
 * Module to render Pivot button
 */
/** @hidden */
export  class PivotContextMenu {
    parent: PivotView | PivotFieldList;
    /** @hidden */
    menuObj: navigations.ContextMenu;
    /** @hidden */
    fieldElement: HTMLElement;
    /** Constructor for render module */
    constructor(parent: PivotView | PivotFieldList);
    /**
     * Initialize the pivot table rendering
     * @returns {void}
     * @private
     */
    render(): void;
    private renderContextMenu;
    private onBeforeMenuOpen;
    private onSelectContextMenu;
    /**
     * To destroy the pivot button event listener
     * @returns {void}
     * @hidden
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-pivotview/src/common/popups/drillthrough-dialog.d.ts
/**
 * `DrillThroughDialog` module to create drill-through dialog.
 */
/** @hidden */
export  class DrillThroughDialog {
    parent: PivotView;
    /** @hidden */
    dialogPopUp: popups.Dialog;
    /** @hidden */
    drillThroughGrid: grids.Grid;
    /** @hidden */
    indexString: string[];
    private clonedData;
    private isUpdated;
    private gridIndexObjects;
    private engine;
    private gridData;
    private numericTextBox;
    private formatList;
    private drillKeyConfigs;
    private drillthroughKeyboardModule;
    /**
     * Constructor for the dialog action.
     * @hidden
     */
    constructor(parent?: PivotView);
    private frameHeaderWithKeys;
    /** @hidden */
    showDrillThroughDialog(eventArgs: DrillThroughEventArgs): void;
    private editCell;
    private updateData;
    private removeDrillThroughDialog;
    private createDrillThroughGrid;
    /** @hidden */
    frameGridColumns(rawData: IDataSet[]): grids.ColumnModel[];
    private isDateFieldExist;
    private formatData;
    private dataWithPrimarykey;
    private drillthroughKeyActionHandler;
    private processClose;
    /**
     * To destroy the drillthrough keyboard module.
     * @returns  {void}
     * @hidden
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-pivotview/src/common/popups/error-dialog.d.ts
/**
 * `ErrorDialog` module to create error dialog.
 */
/** @hidden */
export  class ErrorDialog {
    parent: PivotCommon;
    /** @hidden */
    errorPopUp: popups.Dialog;
    /**
     * Constructor for the dialog action.
     * @hidden
     */
    constructor(parent: PivotCommon);
    /**
     * Creates the error dialog for the unexpected action done.
     * @function createErrorDialog
     * @returns {void}
     * @hidden
     */
    createErrorDialog(title: string, description: string, target?: HTMLElement): void;
    private closeErrorDialog;
    private removeErrorDialog;
}
//node_modules/@syncfusion/ej2-pivotview/src/common/popups/filter-dialog.d.ts
/**
 * `FilterDialog` module to create filter dialog.
 */
/** @hidden */
export  class FilterDialog {
    parent: PivotCommon;
    /** @hidden */
    dropMenu: splitbuttons.DropDownButton;
    /** @hidden */
    memberTreeView: navigations.TreeView;
    /** @hidden */
    allMemberSelect: navigations.TreeView;
    /** @hidden */
    editorSearch: inputs.MaskedTextBox;
    /** @hidden */
    dialogPopUp: popups.Dialog;
    /** @hidden */
    tabObj: navigations.Tab;
    /** @hidden */
    allowExcelLikeFilter: boolean;
    /** @hidden */
    isSearchEnabled: boolean;
    filterObject: IFilter;
    private timeOutObj;
    /**
     * Constructor for the dialog action.
     * @hidden
     */
    constructor(parent?: PivotCommon);
    /**
     * Creates the member filter dialog for the selected field.
     * @function createFilterDialog
     * @returns {void}
     * @hidden
     */
    createFilterDialog(treeData: {
        [key: string]: Object;
    }[], fieldName: string, fieldCaption: string, target: HTMLElement): void;
    private createTreeView;
    private createSortOptions;
    private createLevelWrapper;
    private searchOlapTreeView;
    private nodeCheck;
    private applySorting;
    private updateFilterMembers;
    private updateChildNodes;
    private updateChildData;
    private createTabMenu;
    private createCustomFilter;
    private createElements;
    private updateInputValues;
    private validateTreeNode;
    /**
     * Update filter state while Member check/uncheck.
     * @hidden
     */
    updateCheckedState(fieldCaption?: string): void;
    private getCheckedNodes;
    private getUnCheckedNodes;
    private isExcelFilter;
    private getFilterObject;
    private wireEvent;
    private unWireEvent;
    /**
     * To close filter dialog.
     * @hidden
     */
    closeFilterDialog(): void;
    private removeFilterDialog;
    private setFocus;
}
//node_modules/@syncfusion/ej2-pivotview/src/common/popups/formatting-dialog.d.ts
/**
 * Module to render NumberFormatting popups.Dialog
 */
export  class NumberFormatting implements IAction {
    parent: PivotView;
    dialog: popups.Dialog;
    private valuesDropDown;
    private formatDropDown;
    private groupingDropDown;
    private decimalDropDown;
    private customText;
    private customLable;
    private newFormat;
    private lastFormattedValue;
    constructor(parent?: PivotView);
    /**
     * To get module name.
     * @returns {string} - string
     */
    protected getModuleName(): string;
    /**
     * To show Number Formatting dialog.
     * @returns {void}
     */
    showNumberFormattingDialog(): void;
    private getDialogContent;
    private renderControls;
    private valueChange;
    private updateFormattingDialog;
    private customUpdate;
    private dropDownChange;
    private groupingChange;
    private getIndexValue;
    private decimalChange;
    private formattedText;
    private removeDialog;
    private updateFormatting;
    private insertFormat;
    /**
     * To add event listener.
     * @returns {void}
     * @hidden
     */
    addEventListener(): void;
    /**
     * To remove event listener.
     * @returns {void}
     * @hidden
     */
    removeEventListener(): void;
    /**
     * To destroy the calculated field dialog
     * @returns {void}
     * @hidden
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-pivotview/src/common/popups/grouping.d.ts
/**
 * `Grouping` module to create grouping option for date, number and custom in popup.
 */
/** @hidden */
export  class Grouping implements IAction {
    private parent;
    private parentElement;
    private groupDialog;
    private selectedCellsInfo;
    private isUpdate;
    private dateGroup;
    private handlers;
    /**
     * Constructor for the group UI rendering.
     * @hidden
     */
    constructor(parent?: PivotView);
    /**
     * For internal use only - Get the module name.
     * @returns {string} - string
     * @private
     */
    protected getModuleName(): string;
    private render;
    /**
     * Returns the selected members/headers by checing the valid members from the pivot table.
     * @function getSelectedOptions
     * @param  {SelectedCellsInfo[]} selectedCellsInfo - Get the members name from the given selected cells information
     * @returns {string[]} - string
     * @hidden
     */
    getSelectedOptions(selectedCellsInfo: SelectedCellsInfo[]): string[];
    private createGroupSettings;
    private updateUnGroupSettings;
    private updateDateSource;
    private removeGroupSettings;
    private getGroupSettings;
    private isDateType;
    /**
     * Returns the selected members/headers by checing the valid members from the pivot table.
     * @function getSelectedCells
     * @param  {string} axis - Spicifies the axis name for the given field.
     * @param  {string} fieldName - Gets selected members for the given field name.
     * @param  {string} name - specifies the selected member name for the given field.
     * @returns {SelectedCellsInfo[]} - return type
     * @hidden
     */
    getSelectedCells(axis: string, fieldName: string, name: string): SelectedCellsInfo[];
    private createGroupDialog;
    private createGroupOptions;
    private updateGroupSettings;
    private getGroupBasedSettings;
    private getGroupByName;
    private validateSettings;
    private reOrderSettings;
    private modifyParentGroupItems;
    private mergeArray;
    private removeDialog;
    /**
     * @hidden
     */
    addEventListener(): void;
    /**
     * @hidden
     */
    removeEventListener(): void;
    /**
     * To destroy the pivot button event listener
     * @returns {void}
     * @hidden
     */
    destroy(): void;
}
/**
 * @hidden
 */
export interface SelectedCellsInfo {
    axis: string;
    fieldName: string;
    cellInfo: IAxisSet;
    name: string;
}
//node_modules/@syncfusion/ej2-pivotview/src/common/popups/toolbar.d.ts
/**
 * Module for Toolbar
 */
/** @hidden */
export  class Toolbar {
    /** @hidden */
    action: string;
    /** @hidden */
    toolbar: navigations.Toolbar;
    /** @hidden */
    isMultiAxisChange: boolean;
    private parent;
    private dialog;
    private mdxDialog;
    private reportList;
    private currentReport;
    private confirmPopUp;
    private chartMenu;
    private exportMenu;
    private subTotalMenu;
    private grandTotalMenu;
    private formattingMenu;
    private dropArgs;
    private chartTypesDialog;
    private newArgs;
    private renameText;
    private showLableState;
    private chartLableState;
    constructor(parent: PivotView);
    /**
     * It returns the Module name.
     * @returns {string} - string
     * @hidden
     */
    getModuleName(): string;
    private createToolbar;
    private fetchReports;
    private fetchReportsArgs;
    private getItems;
    private reportChange;
    private reportLoad;
    private saveReport;
    private mdxQueryDialog;
    private dialogShow;
    private renameReport;
    private actionClick;
    private renderDialog;
    private renderMDXDialog;
    private copyMDXQuery;
    private okBtnClick;
    private createNewReport;
    private cancelBtnClick;
    private createConfirmDialog;
    private okButtonClick;
    private cancelButtonClick;
    /**
     * @hidden
     */
    createChartMenu(): void;
    private create;
    private getCurrentReport;
    private updateItemElements;
    private whitespaceRemove;
    private multipleAxesCheckbox;
    private getLableState;
    private getAllChartItems;
    private updateExportMenu;
    private updateSubtotalSelection;
    private updateGrandtotalSelection;
    private updateReportList;
    private menuItemClick;
    /**
     * @hidden
     */
    addEventListener(): void;
    private getValidChartType;
    private createChartTypeDialog;
    private removeDialog;
    private chartTypeDialogUpdate;
    private updateChartType;
    private getDialogContent;
    private changeDropDown;
    private beforeOpen;
    /**
     * To refresh the toolbar
     * @returns {void}
     * @hidden
     */
    refreshToolbar(): void;
    /**
     * @hidden
     */
    removeEventListener(): void;
    /**
     * To destroy the toolbar
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    private focusToolBar;
}
//node_modules/@syncfusion/ej2-pivotview/src/index.d.ts
/**
 * Export PivotGrid components
 */
//node_modules/@syncfusion/ej2-pivotview/src/pivotchart/base/pivotchart.d.ts
export  class PivotChart {
    private chartSeries;
    private dataSourceSettings;
    private accumulationMenu;
    private currentColumn;
    private pivotIndex;
    private chartSettings;
    private element;
    private templateFn;
    private chartElement;
    private measureList;
    private headerColl;
    private maxLevel;
    private columnGroupObject;
    private persistSettings;
    private selectedLegend;
    private chartSeriesInfo;
    private fieldPosition;
    private measurePos;
    private measuresNames;
    private accumulationType;
    private accEmptyPoint;
    /** @hidden */
    calculatedWidth: number;
    /** @hidden */
    currentMeasure: string;
    /** @hidden */
    engineModule: PivotEngine | OlapEngine;
    /** @hidden */
    parent: PivotView;
    /**
     * Get component name.
     * @returns {string} - string
     * @private
     */
    getModuleName(): string;
    loadChart(parent: PivotView, chartSettings: ChartSettingsModel): void;
    /**
     * Refreshing chart based on the updated chartSettings.
     * @returns {void}
     */
    refreshChart(): void;
    private frameObjectWithKeys;
    private frameChartSeries;
    private bindChart;
    private legendClick;
    private pointClick;
    private frameAxesWithRows;
    private getFormat;
    /** @hidden */
    getColumnTotalIndex(pivotValues: IPivotValues): INumberIndex;
    private groupHierarchyWithLevels;
    private frameMultiLevelLabels;
    private getZoomFactor;
    /** @hidden */
    getCalulatedWidth(): number;
    private configTooltipSettings;
    private configLegendSettings;
    private configXAxis;
    private configZoomSettings;
    private tooltipRender;
    private tooltipTemplateFn;
    private loaded;
    /** @hidden */
    updateView(): void;
    private creatMenu;
    private drillMenuOpen;
    private getMenuItems;
    private drillMenuSelect;
    getChartHeight(): string;
    private getChartAutoHeight;
    private axisLabelRender;
    private multiLevelLabelClick;
    /** @hidden */
    onDrill(args: charts.IMultiLevelLabelClickEventArgs | any): void;
    private isAttributeDrill;
    private load;
    private resized;
    /** @hidden */
    getResizedChartHeight(): string;
    /**
     * To destroy the chart module
     * @returns {void}
     * @hidden
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-pivotview/src/pivotchart/index.d.ts
/**
 * Base export
 */
/** @hidden */
//node_modules/@syncfusion/ej2-pivotview/src/pivotfieldlist/base.d.ts
/**
 * Base export
 */
/** @hidden */
/** @hidden */
//node_modules/@syncfusion/ej2-pivotview/src/pivotfieldlist/base/field-list-model.d.ts
/**
 * Interface for a class PivotFieldList
 */
export interface PivotFieldListModel extends base.ComponentModel{
    /**
     * Allows the following pivot report information such as rows, columns, values, filters, etc., that are used to render the pivot table and field list.
     * * `catalog`: Allows to set the database name of SSAS cube as string type that used to retrieve the data from the specified connection string. **Note: It is applicable only for OLAP data source.**
     * * `cube`: Allows you to set the SSAS cube name as string type that used to retrieve data for pivot table rendering. **Note: It is applicable only for OLAP data source.**
     * * `providerType`: Allows to set the provider type to identify the given connection is either Relational or SSAS to render the pivot table and field list. **Note: It is applicable only for OLAP data source.**
     * * `url`: Allows to set the URL as string type, which helps to identify the service endpoint where the data are processed and retrieved to render the pivot table and field list. **Note: It is applicable only for OLAP data source.**
     * * `localeIdentifier`: Allows you to set the specific culture code as number type to render pivot table with desired localization. 
     * By default, the pivot table displays with culture code **1033**, which indicates "en-US" locale. **Note: It is applicale only for OLAP data source.**
     * * `dataSource`: Allows you to set the data source to the pivot report either as JSON data collection or from remote data server using data.DataManager to the render the pivot that and field list. **Note: It is applicable only for relational data source.**
     * * `rows`: Allows specific fields associated with field information that needs to be displayed in row axis of pivot table.
     * * `columns`: Allows specific fields associated with field information that needs to be displayed in column axis of pivot table.
     * * `values`: Allows specific fields associated with field information that needs to be displayed as aggregated numeric values in pivot table.
     * * `filters`: Allows to filter the values in other axis based on the collection of filter fields in pivot table.
     * * `excludeFields`: Allows you to restrict the specific field(s) from displaying it in the field list UI. 
     * You may also be unable to render the pivot table with this field(s) by doing so. **Note: It is applicable only for relational data source.**
     * * `expandAll`: Allows you to either expand or collapse all the headers that are displayed in the pivot table. 
     * By default, all the headers are collapsed in the pivot table. **Note: It is applicable only for Relational data.**
     * * `valueAxis`: Allows you to set the value fields that to be plotted either in row or column axis in the pivot table.
     * * `filterSettings`: Allows specific fields associated with either selective or conditional-based filter members that used to be displayed in the pivot table.
     * * `sortSettings`: Allows specific fields associated with sort settings to order their members either in ascending or descending that used to be displayed in the pivot table. 
     * By default, the data source containing fields are display with Ascending order alone. To use this option, it requires the `enableSorting` property to be **true**.
     * * `enableSorting`: Allows to perform sort operation to order members of a specific fields either in ascending or descending that used to be displayed in the pivot table.
     * * `formatSettings`: Allows specific fields used to display the values with specific format that used to be displayed in the pivot table. 
     * For example, to display a specific field with currency formatted values in the pivot table, the set the `format` property to be **C**.
     * * `drilledMembers`: Allows specific fields to with specify the headers that used to be either expanded or collapsed in the pivot table.
     * * `valueSortSettings`: Allows to sort individual value field and its aggregated values either in row or column axis to ascending or descending order.
     * * `calculatedFieldSettings`: Allows to create new calculated fields from the bound data source or using simple formula with basic arithmetic operators in the pivot table.
     * * `allowMemberFilter`: Allows to perform filter operation based on the selective filter members of the specific fields used to be displayed in the pivot table.
     * * `allowLabelFilter`: Allows to perform filter operation based on the selective headers used to be displayed in the pivot table.
     * * `allowValueFilter`: Allows to perform filter operation based only on value fields and its resultant aggregated values over other fields defined in row and column axes that used to be displayed in the pivot table.
     * * `showSubTotals`: Allows to show or hide sub-totals in both rows and columns axis of the pivot table.
     * * `showRowSubTotals`: Allows to show or hide sub-totals in row axis of the pivot table.
     * * `showColumnSubTotals`: Allows to show or hide sub-totals in column axis of the pivot table.
     * * `showGrandTotals`: Allows to show or hide grand totals in both rows and columns axis of the pivot table.
     * * `showRowGrandTotals`: Allows to show or hide grand totals in row axis of the pivot table.
     * * `showColumnGrandTotals`: Allows to show or hide grand totals in column axis of the pivot table.
     * * `showHeaderWhenEmpty`: Allows the undefined headers to be displayed in the pivot table, when the specific field(s) are not defined in the raw data. 
     * For example, if the raw data for the field ‘Country’ is defined as “United Kingdom” and “State” is not defined means, it will be shown as “United Kingdom >> Undefined” in the header section.
     * * `alwaysShowValueHeader`: Allows to show the value field header always in pivot table, even if it holds a single field in the value field axis.
     * * `conditionalFormatSettings`: Allows a collection of values fields to change the appearance of the pivot table value cells with different style properties such as background color, font color, font family, and font size based on specific conditions.
     * * `emptyCellsTextContent`: Allows to show custom string to the empty value cells that used to display in the pivot table. You can fill empty value cells with any value like “0”, ”-”, ”*”, “(blank)”, etc.
     * * `groupSettings`: Allows specific fields to group their data on the basis of their type. 
     * For example, the date type fields can be formatted and displayed based on year, quarter, month, and more. Likewise, the number type fields can be grouped range-wise, such as 1-5, 6-10, etc. 
     * You can perform custom group to the string type fields that used to displayed in the pivot table.
     * * `authentication`: Allows you to set the credential information to access the specified SSAS cube. Note: It is applicable only for OLAP data source.
     */
    dataSourceSettings?: DataSourceSettingsModel;
    /**
     * Allows to show field list either in static or popup mode. The available modes are:
     * * `Popup`: To display the field list icon in pivot table UI to invoke the built-in dialog. 
     * It hepls to display over the pivot table UI without affecting any form of UI shrink within a web page.
     * * `Fixed`: To display the field list in a static position within a web page.
     * @default 'Popup'
     */
    renderMode?: Mode;
    /**
     * Allows you to set the specific target element to the fieldlist dialog. 
     * This helps the field list dialog to display the appropriate position on its target element.  
     * > To use thsi option, set the property `renderMode` to be **Popup**.
     * @default null
     */
    target?: HTMLElement | string;
    /**
     * Allows you to add the CSS class name to the field list element. 
     * Use this class name, you can customize the field list easily at your end.
     * @default ''
     */
    cssClass?: string;
    /**
     * Allows the built-in calculated field dialog to be displayed in the component. 
     * You can view the calculated field dialog by clicking the "Calculated Field" button in the field list UI. 
     * This dialog will helps you to create a new calculated field in the pivot table, based on available fields from the bound data source or using simple formula with basic arithmetic operators at runtime.
     * @default false
     */
    allowCalculatedField?: boolean;
    /**
     * It enables the search option in the field list UI, which can be used to search specific fields at runtime.
     */
    enableFieldSearching?: boolean;
    /**
     * Allows you to create a pivot button with "Values" as a caption used to display in the field list UI. 
     * It helps you to plot the value fields to either column or row axis during runtime.
     * > The showValuesButton property is enabled by default for the OLAP data source. 
     * And the pivot button can be displayed with "Measures" as a caption used to display in the field list UI.
     * @default false
     */
    showValuesButton?: boolean;
    /**
     * Allows the pivot table component to be updated only on demand, meaning, 
     * you can perform a variety of operations such as drag-and-drop fields between row, column, value and filter axes, 
     * apply sorting and filtering inside the Field List, resulting the field list UI would be updated on its own, but not the pivot table.
     * On clicking the “Apply” button in the Field List, the pivot table will updates the last modified report. 
     * This helps to improve the performance of the pivot table component rendering.
     * @default false
     */
    allowDeferLayoutUpdate?: boolean;
    /**
     * Allows you to set the limit for displaying members while loading large data in the member filter dialog. 
     * Based on this limit, initial loading will be completed quickly without any performance constraint.
     * A message with remaining member count, that are not currently shown in the member filter dialog UI, will be displayed in the member editor.
     * > This property is not applicable to user-defined hierarchies in the OLAP data source.
     * @default 1000    
     */
    maxNodeLimitInMemberEditor?: number;
    /**
     * Allows to load members inside the member filter dialog on-demand. 
     * The first level members will be loaded from the OLAP cube to display the member editor by default. 
     * As a result, the member editor will be opened quickly, without any performance constraints.
     * You can use either of the following actions to load  your next level members. The actions are: 
     * * By clicking on the respective member's expander button. By doing so, only the child members of the respective member will be loaded. 
     * * Choose the level from the drop-down button. By doing so, all the members up to the level chosen will be loaded from the cube.
     * 
     * Also, searching members will only be considered for the level members that are loaded.
     * > This property is applicable only for OLAP data source.
     * @default true    
     */
    loadOnDemandInMemberEditor?: boolean;
    /**
     * Allows the appearance of the loading indicator to be customized with either an HTML string or the element’s ID, 
     * that can be used to displayed with custom formats in the field list UI.
     * @default null
     */
    spinnerTemplate?: string;
    /**
     * Allows you to show a menu with built-in aggregate options displayed in the pivot button's dropdown icon of fieldList UI. 
     * These aggregate options help to display the values in the pivot table with appropriate aggregations such as sum, product, count, average, etc… easily at runtime. 
     * The available aggregate options are:
     * * `Sum`: Allows to display the pivot table values with sum.
     * * `Product`: Allows to display the pivot table values with product.
     * * `Count`: Allows to display the pivot table values with count.
     * * `DistinctCount`: Allows to display the pivot table values with distinct count.
     * * `Min`: Allows to display the pivot table with minimum value.
     * * `Max`: Allows to display the pivot table with maximum value.
     * * `Avg`: Allows to display the pivot table values with average.
     * * `Median`: Allows to display the pivot table values with median.
     * * `Index`: Allows to display the pivot table values with index.
     * * `PopulationStDev`: Allows to display the pivot table values with population standard deviation.
     * * `SampleStDev`: Allows to display the pivot table values with sample standard deviation.
     * * `PopulationVar`: Allows to display the pivot table values with population variance.
     * * `SampleVar`: Allows to display the pivot table values with sample variance.
     * * `RunningTotals`: Allows to display the pivot table values with running totals.
     * * `DifferenceFrom`: Allows to display the pivot table values with difference from the value of the base item in the base field.
     * * `PercentageOfDifferenceFrom`: Allows to display the pivot table values with percentage difference from the value of the base item in the base field.
     * * `PercentageOfGrandTotal`: Allows to display the pivot table values with percentage of grand total of all values.
     * * `PercentageOfColumnTotal`: Allows to display the pivot table values in each column with percentage of total values for the column.
     * * `PercentageOfRowTotal`: Allows to display the pivot table values in each row with percentage of total values for the row.
     * * `PercentageOfParentTotal`: Allows to display the pivot table values with percentage of total of all values based on selected field.
     * * `PercentageOfParentColumnTotal`: Allows to display the pivot table values with percentage of its parent total in each column.
     * * `PercentageOfParentRowTotal`: Allows to display the pivot table values with percentage of its parent total in each row.
     * 
     * > It is applicable ony for Relational data.
     * @default ['Sum', 'Count', 'DistinctCount', 'Product', 'Min', 'Max', 'Avg', 'Median', 'Index', 'PopulationVar', 'SampleVar',
     * 'PopulationStDev', 'SampleStDev', 'RunningTotals', 'PercentageOfGrandTotal', 'PercentageOfColumnTotal', 'PercentageOfRowTotal',
     * 'PercentageOfParentColumnTotal', 'PercentageOfParentRowTotal', 'DifferenceFrom', 'PercentageOfDifferenceFrom',
     * 'PercentageOfParentTotal']
     */
    aggregateTypes?: AggregateTypes[];
    /**
     * Allows values with a specific country currency format to be displayed in the pivot table. 
     * Standard currency codes referred to as ISO 4217 can be used for the formatting of currency values. 
     * For example, to display "US Dollar($)" currency values, set the `currencyCode` to **USD**. 
     * > It is applicable ony for Relational data.
     * @private
     */
    currencyCode?: string;
    /**
     * It allows any customization of Pivot Field List properties on initial rendering.
     * Based on the changes, the pivot field list will be redered.
     * @event
     */
    load?: base.EmitType<LoadEventArgs>;
    /**
     * It triggers before the pivot engine starts to populate and allows to customize the pivot datasource settings. 
     * @event
     */
    enginePopulating?: base.EmitType<EnginePopulatingEventArgs>;
    /**
     * It triggers before the filtering applied.
     * @event
     */
    memberFiltering?: base.EmitType<MemberFilteringEventArgs>;
    /**
     * It triggers after the pivot engine populated and allows to customize the pivot datasource settings.
     * @event
     */
    enginePopulated?: base.EmitType<EnginePopulatedEventArgs>;
    /**
     * It trigger when a field getting dropped into any axis.
     * @event
     */
    onFieldDropped?: base.EmitType<FieldDroppedEventArgs>;
    /**
     * It triggers before a field drops into any axis.
     * @event
     */
    fieldDrop?: base.EmitType<FieldDropEventArgs>;
    /**
     * It trigger when a field drag (move) starts.
     * @event
     */
    fieldDragStart?: base.EmitType<FieldDragStartEventArgs>;
    /**
     * It allows to change the each cell value during engine populating.
     * @event
     * @deprecated
     */
    aggregateCellInfo?: base.EmitType<AggregateEventArgs>;
    /**
     * It triggers before member editor dialog opens.
     * @event
     */
    memberEditorOpen?: base.EmitType<MemberEditorOpenEventArgs>;
    /**
     * It triggers before a calculated field created/edited during runtime.
     * @event
     */
    calculatedFieldCreate?: base.EmitType<CalculatedFieldCreateEventArgs>;
    /**
     * It triggers before aggregate type context menu opens.
     * @event
     */
    aggregateMenuOpen?: base.EmitType<AggregateMenuOpenEventArgs>;
    /**
     * It triggers before removing the field from any axis during runtime.
     * @event
     */
    fieldRemove?: base.EmitType<FieldRemoveEventArgs>;
    /**
     * It trigger when the Pivot Field List rendered.
     * @event
     */
    dataBound?: base.EmitType<Object>;
    /**
     * It trigger when the Pivot Field List component is created..
     * @event
     */
    created?: base.EmitType<Object>;
    /**
     * It trigger when the Pivot Field List component getting destroyed.
     * @event
     */
    destroyed?: base.EmitType<Object>;
    /**
     * It triggers before service get invoked from client.
     * @event
     */
    beforeServiceInvoke?: base.EmitType<BeforeServiceInvokeEventArgs>;
    /**
     * It triggers when UI action begins in the Pivot FieldList. The UI actions used to trigger this event such as
     * sorting fields through icon click in the field list tree,
     * [`Calculated field`](../../pivotview/field-list/#calculated-fields) UI,
     * Button actions such as 
     * [`editing`](../../pivotview/calculated-field/#editing-through-the-field-list-and-the-groupingbar),
     * [`sorting`](../../pivotview/field-list/#sorting-members),
     * [`filtering`](../../pivotview/field-list/#filtering-members) and 
     * [`aggregation`](pivotview/field-list/#changing-aggregation-type-of-value-fields-at-runtime).
     * @event
     */
    actionBegin?: base.EmitType<PivotActionBeginEventArgs>;
    /**
     * It triggers when UI action in the Pivot FieldList completed. The UI actions used to trigger this event such as
     * sorting fields through icon click in the field list tree,
     * [`Calculated field`](../../pivotview/field-list/#calculated-fields) UI,
     * Button actions such as 
     * [`editing`](../../pivotview/calculated-field/#editing-through-the-field-list-and-the-groupingbar),
     * [`sorting`](../../pivotview/field-list/#sorting-members),
     * [`filtering`](../../pivotview/field-list/#filtering-members) and 
     * [`aggregation`](pivotview/field-list/#changing-aggregation-type-of-value-fields-at-runtime).
     * @event
     */
    actionComplete?: base.EmitType<PivotActionCompleteEventArgs>;
    /**
     * It triggers when UI action failed to achieve the desired results in the Pivot FieldList. The UI actions used to trigger this event such as
     * sorting fields through icon click in the field list tree,
     * [`Calculated field`](../../pivotview/field-list/#calculated-fields) UI,
     * Button actions such as 
     * [`editing`](../../pivotview/calculated-field/#editing-through-the-field-list-and-the-groupingbar),
     * [`sorting`](../../pivotview/field-list/#sorting-members),
     * [`filtering`](../../pivotview/field-list/#filtering-members) and 
     * [`aggregation`](pivotview/field-list/#changing-aggregation-type-of-value-fields-at-runtime).
     * @event
     */
    actionFailure?: base.EmitType<PivotActionFailureEventArgs>;
    /**
     * It triggers before the sorting performed.
     * @event
     */
    onHeadersSort?: base.EmitType<HeadersSortEventArgs>;
}
//node_modules/@syncfusion/ej2-pivotview/src/pivotfieldlist/base/field-list.d.ts
/**
 * Represents the PivotFieldList component.
 * ```html
 * <div id="pivotfieldlist"></div>
 * <script>
 *  var pivotfieldlistObj = new PivotFieldList({ });
 *  pivotfieldlistObj.appendTo("#pivotfieldlist");
 * </script>
 * ```
 */
export  class PivotFieldList extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    /** @hidden */
    globalize: base.Internationalization;
    /** @hidden */
    localeObj: base.L10n;
    /** @hidden */
    isAdaptive: Boolean;
    /** @hidden */
    pivotFieldList: IFieldListOptions | IOlapFieldListOptions;
    /** @hidden */
    dataType: string;
    /** @hidden */
    engineModule: PivotEngine;
    /** @hidden */
    olapEngineModule: OlapEngine;
    /** @hidden */
    pageSettings: IPageSettings;
    /** @hidden */
    isDragging: boolean;
    /** @hidden */
    fieldListSpinnerElement: Element;
    /** @hidden */
    clonedDataSource: DataSourceSettingsModel;
    /** @hidden */
    clonedFieldList: IFieldListOptions | IOlapFieldListOptions;
    /** @hidden */
    clonedFieldListData: IOlapField[];
    /** @hidden */
    pivotChange: boolean;
    isRequiredUpdate: boolean;
    /** @hidden */
    clonedDataSet: IDataSet[];
    /** @hidden */
    clonedReport: IDataOptions;
    /** @hidden */
    lastSortInfo: ISort;
    /** @hidden */
    lastFilterInfo: IFilter;
    /** @hidden */
    lastAggregationInfo: IFieldOptions;
    /** @hidden */
    lastCalcFieldInfo: ICalculatedFields;
    /** @hidden */
    isPopupView: boolean;
    /** @hidden */
    filterTargetID: HTMLElement;
    private defaultLocale;
    private captionData;
    /** @hidden */
    pivotGridModule: PivotView;
    /** @hidden */
    renderModule: Render;
    /** @hidden */
    dialogRenderer: DialogRenderer;
    /** @hidden */
    treeViewModule: TreeViewRenderer;
    /** @hidden */
    axisTableModule: AxisTableRenderer;
    /** @hidden */
    pivotCommon: PivotCommon;
    /** @hidden */
    axisFieldModule: AxisFieldRenderer;
    /** @hidden */
    pivotButtonModule: PivotButton;
    /** @hidden */
    calculatedFieldModule: CalculatedField;
    /** @hidden */
    contextMenuModule: PivotContextMenu;
    /** @hidden */
    currentAction: string;
    /** @hidden */
    private staticPivotGridModule;
    /** @hidden */
    enableValueSorting: boolean;
    /** @hidden */
    guid: string;
    private request;
    private savedDataSourceSettings;
    private remoteData;
    /** @hidden */
    actionObj: PivotActionCompleteEventArgs;
    /** @hidden */
    destroyEngine: boolean;
    /**
     * Allows the following pivot report information such as rows, columns, values, filters, etc., that are used to render the pivot table and field list.
     * * `catalog`: Allows to set the database name of SSAS cube as string type that used to retrieve the data from the specified connection string. **Note: It is applicable only for OLAP data source.**
     * * `cube`: Allows you to set the SSAS cube name as string type that used to retrieve data for pivot table rendering. **Note: It is applicable only for OLAP data source.**
     * * `providerType`: Allows to set the provider type to identify the given connection is either Relational or SSAS to render the pivot table and field list. **Note: It is applicable only for OLAP data source.**
     * * `url`: Allows to set the URL as string type, which helps to identify the service endpoint where the data are processed and retrieved to render the pivot table and field list. **Note: It is applicable only for OLAP data source.**
     * * `localeIdentifier`: Allows you to set the specific culture code as number type to render pivot table with desired localization.
     * By default, the pivot table displays with culture code **1033**, which indicates "en-US" locale. **Note: It is applicale only for OLAP data source.**
     * * `dataSource`: Allows you to set the data source to the pivot report either as JSON data collection or from remote data server using DataManager to the render the pivot that and field list. **Note: It is applicable only for relational data source.**
     * * `rows`: Allows specific fields associated with field information that needs to be displayed in row axis of pivot table.
     * * `columns`: Allows specific fields associated with field information that needs to be displayed in column axis of pivot table.
     * * `values`: Allows specific fields associated with field information that needs to be displayed as aggregated numeric values in pivot table.
     * * `filters`: Allows to filter the values in other axis based on the collection of filter fields in pivot table.
     * * `excludeFields`: Allows you to restrict the specific field(s) from displaying it in the field list UI.
     * You may also be unable to render the pivot table with this field(s) by doing so. **Note: It is applicable only for relational data source.**
     * * `expandAll`: Allows you to either expand or collapse all the headers that are displayed in the pivot table.
     * By default, all the headers are collapsed in the pivot table. **Note: It is applicable only for Relational data.**
     * * `valueAxis`: Allows you to set the value fields that to be plotted either in row or column axis in the pivot table.
     * * `filterSettings`: Allows specific fields associated with either selective or conditional-based filter members that used to be displayed in the pivot table.
     * * `sortSettings`: Allows specific fields associated with sort settings to order their members either in ascending or descending that used to be displayed in the pivot table.
     * By default, the data source containing fields are display with Ascending order alone. To use this option, it requires the `enableSorting` property to be **true**.
     * * `enableSorting`: Allows to perform sort operation to order members of a specific fields either in ascending or descending that used to be displayed in the pivot table.
     * * `formatSettings`: Allows specific fields used to display the values with specific format that used to be displayed in the pivot table.
     * For example, to display a specific field with currency formatted values in the pivot table, the set the `format` property to be **C**.
     * * `drilledMembers`: Allows specific fields to with specify the headers that used to be either expanded or collapsed in the pivot table.
     * * `valueSortSettings`: Allows to sort individual value field and its aggregated values either in row or column axis to ascending or descending order.
     * * `calculatedFieldSettings`: Allows to create new calculated fields from the bound data source or using simple formula with basic arithmetic operators in the pivot table.
     * * `allowMemberFilter`: Allows to perform filter operation based on the selective filter members of the specific fields used to be displayed in the pivot table.
     * * `allowLabelFilter`: Allows to perform filter operation based on the selective headers used to be displayed in the pivot table.
     * * `allowValueFilter`: Allows to perform filter operation based only on value fields and its resultant aggregated values over other fields defined in row and column axes that used to be displayed in the pivot table.
     * * `showSubTotals`: Allows to show or hide sub-totals in both rows and columns axis of the pivot table.
     * * `showRowSubTotals`: Allows to show or hide sub-totals in row axis of the pivot table.
     * * `showColumnSubTotals`: Allows to show or hide sub-totals in column axis of the pivot table.
     * * `showGrandTotals`: Allows to show or hide grand totals in both rows and columns axis of the pivot table.
     * * `showRowGrandTotals`: Allows to show or hide grand totals in row axis of the pivot table.
     * * `showColumnGrandTotals`: Allows to show or hide grand totals in column axis of the pivot table.
     * * `showHeaderWhenEmpty`: Allows the undefined headers to be displayed in the pivot table, when the specific field(s) are not defined in the raw data.
     * For example, if the raw data for the field ‘Country’ is defined as “United Kingdom” and “State” is not defined means, it will be shown as “United Kingdom >> Undefined” in the header section.
     * * `alwaysShowValueHeader`: Allows to show the value field header always in pivot table, even if it holds a single field in the value field axis.
     * * `conditionalFormatSettings`: Allows a collection of values fields to change the appearance of the pivot table value cells with different style properties such as background color, font color, font family, and font size based on specific conditions.
     * * `emptyCellsTextContent`: Allows to show custom string to the empty value cells that used to display in the pivot table. You can fill empty value cells with any value like “0”, ”-”, ”*”, “(blank)”, etc.
     * * `groupSettings`: Allows specific fields to group their data on the basis of their type.
     * For example, the date type fields can be formatted and displayed based on year, quarter, month, and more. Likewise, the number type fields can be grouped range-wise, such as 1-5, 6-10, etc.
     * You can perform custom group to the string type fields that used to displayed in the pivot table.
     * * `authentication`: Allows you to set the credential information to access the specified SSAS cube. Note: It is applicable only for OLAP data source.
     */
    dataSourceSettings: DataSourceSettingsModel;
    /**
     * Allows to show field list either in static or popup mode. The available modes are:
     * * `Popup`: To display the field list icon in pivot table UI to invoke the built-in dialog.
     * It hepls to display over the pivot table UI without affecting any form of UI shrink within a web page.
     * * `Fixed`: To display the field list in a static position within a web page.
     * @default 'Popup'
     */
    renderMode: Mode;
    /**
     * Allows you to set the specific target element to the fieldlist dialog.
     * This helps the field list dialog to display the appropriate position on its target element.
     * > To use thsi option, set the property `renderMode` to be **Popup**.
     * @default null
     */
    target: HTMLElement | string;
    /**
     * Allows you to add the CSS class name to the field list element.
     * Use this class name, you can customize the field list easily at your end.
     * @default ''
     */
    cssClass: string;
    /**
     * Allows the built-in calculated field dialog to be displayed in the component.
     * You can view the calculated field dialog by clicking the "Calculated Field" button in the field list UI.
     * This dialog will helps you to create a new calculated field in the pivot table, based on available fields from the bound data source or using simple formula with basic arithmetic operators at runtime.
     * @default false
     */
    allowCalculatedField: boolean;
    /**
     * It enables the search option in the field list UI, which can be used to search specific fields at runtime.
     */
    enableFieldSearching: boolean;
    /**
     * Allows you to create a pivot button with "Values" as a caption used to display in the field list UI.
     * It helps you to plot the value fields to either column or row axis during runtime.
     * > The showValuesButton property is enabled by default for the OLAP data source.
     * And the pivot button can be displayed with "Measures" as a caption used to display in the field list UI.
     * @default false
     */
    showValuesButton: boolean;
    /**
     * Allows the pivot table component to be updated only on demand, meaning,
     * you can perform a variety of operations such as drag-and-drop fields between row, column, value and filter axes,
     * apply sorting and filtering inside the Field List, resulting the field list UI would be updated on its own, but not the pivot table.
     * On clicking the “Apply” button in the Field List, the pivot table will updates the last modified report.
     * This helps to improve the performance of the pivot table component rendering.
     * @default false
     */
    allowDeferLayoutUpdate: boolean;
    /**
     * Allows you to set the limit for displaying members while loading large data in the member filter dialog.
     * Based on this limit, initial loading will be completed quickly without any performance constraint.
     * A message with remaining member count, that are not currently shown in the member filter dialog UI, will be displayed in the member editor.
     * > This property is not applicable to user-defined hierarchies in the OLAP data source.
     * @default 1000
     */
    maxNodeLimitInMemberEditor: number;
    /**
     * Allows to load members inside the member filter dialog on-demand.
     * The first level members will be loaded from the OLAP cube to display the member editor by default.
     * As a result, the member editor will be opened quickly, without any performance constraints.
     * You can use either of the following actions to load  your next level members. The actions are:
     * * By clicking on the respective member's expander button. By doing so, only the child members of the respective member will be loaded.
     * * Choose the level from the drop-down button. By doing so, all the members up to the level chosen will be loaded from the cube.
     *
     * Also, searching members will only be considered for the level members that are loaded.
     * > This property is applicable only for OLAP data source.
     * @default true
     */
    loadOnDemandInMemberEditor: boolean;
    /**
     * Allows the appearance of the loading indicator to be customized with either an HTML string or the element’s ID,
     * that can be used to displayed with custom formats in the field list UI.
     * @default null
     */
    spinnerTemplate: string;
    /**
     * Allows you to show a menu with built-in aggregate options displayed in the pivot button's dropdown icon of fieldList UI.
     * These aggregate options help to display the values in the pivot table with appropriate aggregations such as sum, product, count, average, etc… easily at runtime.
     * The available aggregate options are:
     * * `Sum`: Allows to display the pivot table values with sum.
     * * `Product`: Allows to display the pivot table values with product.
     * * `Count`: Allows to display the pivot table values with count.
     * * `DistinctCount`: Allows to display the pivot table values with distinct count.
     * * `Min`: Allows to display the pivot table with minimum value.
     * * `Max`: Allows to display the pivot table with maximum value.
     * * `Avg`: Allows to display the pivot table values with average.
     * * `Median`: Allows to display the pivot table values with median.
     * * `Index`: Allows to display the pivot table values with index.
     * * `PopulationStDev`: Allows to display the pivot table values with population standard deviation.
     * * `SampleStDev`: Allows to display the pivot table values with sample standard deviation.
     * * `PopulationVar`: Allows to display the pivot table values with population variance.
     * * `SampleVar`: Allows to display the pivot table values with sample variance.
     * * `RunningTotals`: Allows to display the pivot table values with running totals.
     * * `DifferenceFrom`: Allows to display the pivot table values with difference from the value of the base item in the base field.
     * * `PercentageOfDifferenceFrom`: Allows to display the pivot table values with percentage difference from the value of the base item in the base field.
     * * `PercentageOfGrandTotal`: Allows to display the pivot table values with percentage of grand total of all values.
     * * `PercentageOfColumnTotal`: Allows to display the pivot table values in each column with percentage of total values for the column.
     * * `PercentageOfRowTotal`: Allows to display the pivot table values in each row with percentage of total values for the row.
     * * `PercentageOfParentTotal`: Allows to display the pivot table values with percentage of total of all values based on selected field.
     * * `PercentageOfParentColumnTotal`: Allows to display the pivot table values with percentage of its parent total in each column.
     * * `PercentageOfParentRowTotal`: Allows to display the pivot table values with percentage of its parent total in each row.
     *
     * > It is applicable ony for Relational data.
     * @default ['Sum', 'Count', 'DistinctCount', 'Product', 'Min', 'Max', 'Avg', 'Median', 'Index', 'PopulationVar', 'SampleVar',
     * 'PopulationStDev', 'SampleStDev', 'RunningTotals', 'PercentageOfGrandTotal', 'PercentageOfColumnTotal', 'PercentageOfRowTotal',
     * 'PercentageOfParentColumnTotal', 'PercentageOfParentRowTotal', 'DifferenceFrom', 'PercentageOfDifferenceFrom',
     * 'PercentageOfParentTotal']
     */
    aggregateTypes: AggregateTypes[];
    /**
     * Allows values with a specific country currency format to be displayed in the pivot table.
     * Standard currency codes referred to as ISO 4217 can be used for the formatting of currency values.
     * For example, to display "US Dollar($)" currency values, set the `currencyCode` to **USD**.
     * > It is applicable ony for Relational data.
     * @private
     */
    private currencyCode;
    /**
     * It allows any customization of Pivot Field List properties on initial rendering.
     * Based on the changes, the pivot field list will be redered.
     * @event
     */
    load: base.EmitType<LoadEventArgs>;
    /**
     * It triggers before the pivot engine starts to populate and allows to customize the pivot datasource settings.
     * @event
     */
    enginePopulating: base.EmitType<EnginePopulatingEventArgs>;
    /**
     * It triggers before the filtering applied.
     * @event
     */
    memberFiltering: base.EmitType<MemberFilteringEventArgs>;
    /**
     * It triggers after the pivot engine populated and allows to customize the pivot datasource settings.
     * @event
     */
    enginePopulated: base.EmitType<EnginePopulatedEventArgs>;
    /**
     * It trigger when a field getting dropped into any axis.
     * @event
     */
    onFieldDropped: base.EmitType<FieldDroppedEventArgs>;
    /**
     * It triggers before a field drops into any axis.
     * @event
     */
    fieldDrop: base.EmitType<FieldDropEventArgs>;
    /**
     * It trigger when a field drag (move) starts.
     * @event
     */
    fieldDragStart: base.EmitType<FieldDragStartEventArgs>;
    /**
     * It allows to change the each cell value during engine populating.
     * @event
     * @deprecated
     */
    aggregateCellInfo: base.EmitType<AggregateEventArgs>;
    /**
     * It triggers before member editor dialog opens.
     * @event
     */
    memberEditorOpen: base.EmitType<MemberEditorOpenEventArgs>;
    /**
     * It triggers before a calculated field created/edited during runtime.
     * @event
     */
    calculatedFieldCreate: base.EmitType<CalculatedFieldCreateEventArgs>;
    /**
     * It triggers before aggregate type context menu opens.
     * @event
     */
    aggregateMenuOpen: base.EmitType<AggregateMenuOpenEventArgs>;
    /**
     * It triggers before removing the field from any axis during runtime.
     * @event
     */
    fieldRemove: base.EmitType<FieldRemoveEventArgs>;
    /**
     * It trigger when the Pivot Field List rendered.
     * @event
     */
    dataBound: base.EmitType<Object>;
    /**
     * It trigger when the Pivot Field List component is created..
     * @event
     */
    created: base.EmitType<Object>;
    /**
     * It trigger when the Pivot Field List component getting destroyed.
     * @event
     */
    destroyed: base.EmitType<Object>;
    /**
     * It triggers before service get invoked from client.
     * @event
     */
    beforeServiceInvoke: base.EmitType<BeforeServiceInvokeEventArgs>;
    /**
     * It triggers when UI action begins in the Pivot FieldList. The UI actions used to trigger this event such as
     * sorting fields through icon click in the field list tree,
     * [`Calculated field`](../../pivotview/field-list/#calculated-fields) UI,
     * Button actions such as
     * [`editing`](../../pivotview/calculated-field/#editing-through-the-field-list-and-the-groupingbar),
     * [`sorting`](../../pivotview/field-list/#sorting-members),
     * [`filtering`](../../pivotview/field-list/#filtering-members) and
     * [`aggregation`](pivotview/field-list/#changing-aggregation-type-of-value-fields-at-runtime).
     * @event
     */
    actionBegin: base.EmitType<PivotActionBeginEventArgs>;
    /**
     * It triggers when UI action in the Pivot FieldList completed. The UI actions used to trigger this event such as
     * sorting fields through icon click in the field list tree,
     * [`Calculated field`](../../pivotview/field-list/#calculated-fields) UI,
     * Button actions such as
     * [`editing`](../../pivotview/calculated-field/#editing-through-the-field-list-and-the-groupingbar),
     * [`sorting`](../../pivotview/field-list/#sorting-members),
     * [`filtering`](../../pivotview/field-list/#filtering-members) and
     * [`aggregation`](pivotview/field-list/#changing-aggregation-type-of-value-fields-at-runtime).
     * @event
     */
    actionComplete: base.EmitType<PivotActionCompleteEventArgs>;
    /**
     * It triggers when UI action failed to achieve the desired results in the Pivot FieldList. The UI actions used to trigger this event such as
     * sorting fields through icon click in the field list tree,
     * [`Calculated field`](../../pivotview/field-list/#calculated-fields) UI,
     * Button actions such as
     * [`editing`](../../pivotview/calculated-field/#editing-through-the-field-list-and-the-groupingbar),
     * [`sorting`](../../pivotview/field-list/#sorting-members),
     * [`filtering`](../../pivotview/field-list/#filtering-members) and
     * [`aggregation`](pivotview/field-list/#changing-aggregation-type-of-value-fields-at-runtime).
     * @event
     */
    actionFailure: base.EmitType<PivotActionFailureEventArgs>;
    /**
     * It triggers before the sorting performed.
     * @event
     */
    onHeadersSort: base.EmitType<HeadersSortEventArgs>;
    /**
     * Constructor for creating the widget
     * @param  {PivotFieldListModel} options - options
     * @param  {string|HTMLElement} element - element
     */
    constructor(options?: PivotFieldListModel, element?: string | HTMLElement);
    /**
     * To provide the array of modules needed for control rendering
     * @returns {base.ModuleDeclaration[]} - base.ModuleDeclaration[]
     * @hidden
     */
    requiredModules(): base.ModuleDeclaration[];
    /**
     * @returns {AggregateTypes[]}- AggregateTypes[]
     * @hidden
     */
    getAllSummaryType(): AggregateTypes[];
    /**
     * For internal use only - Initialize the event handler;
     * @private
     */
    protected preRender(): void;
    private frameCustomProperties;
    /**
     * Initialize the control rendering
     * @returns {void}
     * @private
     */
    render(): void;
    /**
     * @hidden
     */
    getEngine(action: string, drillItem?: IDrilledItem, sortItem?: ISort, aggField?: IFieldOptions, cField?: ICalculatedFields, filterItem?: IFilter, memberName?: string, rawDataArgs?: FetchRawDataArgs, editArgs?: UpdateRawDataArgs): void;
    private onSuccess;
    private onReadyStateChange;
    private initialLoad;
    /**
     * Binding events to the Pivot Field List element.
     * @hidden
     */
    private wireEvent;
    /**
     * Unbinding events from the element on widget destroy.
     * @hidden
     */
    private unWireEvent;
    /**
     * Get the properties to be maintained in the persisted state.
     * @returns {string}
     */
    getPersistData(): string;
    /**
     * Get component name.
     * @returns string
     * @private
     */
    getModuleName(): string;
    /**
     * Called internally if any of the property value changed.
     * @hidden
     */
    onPropertyChanged(newProp: PivotFieldListModel, oldProp: PivotFieldListModel): void;
    private initEngine;
    private generateData;
    private getValueCellInfo;
    private getHeaderSortInfo;
    private getData;
    private executeQuery;
    private fieldListRender;
    private getFieldCaption;
    private getFields;
    /**
     * Updates the PivotEngine using dataSource from Pivot Field List component.
     * @function updateDataSource
     * @returns {void}
     * @hidden
     */
    updateDataSource(isTreeViewRefresh?: boolean, isEngineRefresh?: boolean): void;
    private enginePopulatedEventMethod;
    private updateOlapDataSource;
    /**
     * Updates the Pivot Field List component using dataSource from PivotView component.
     * @function update
     * @param {PivotView} control - Pass the instance of pivot table component.
     * @returns {void}
     */
    update(control: PivotView): void;
    /**
     * Updates the PivotView component using dataSource from Pivot Field List component.
     * @function updateView
     * @param {PivotView} control - Pass the instance of pivot table component.
     * @returns {void}
     */
    updateView(control: PivotView): void;
    /**
     * Called internally to trigger populate event.
     * @hidden
     */
    triggerPopulateEvent(): void;
    /** @hidden */
    actionBeginMethod(): boolean;
    /** @hidden */
    actionCompleteMethod(): void;
    /** @hidden */
    actionFailureMethod(error: Error): void;
    /** @hidden */
    getActionCompleteName(): any;
    /**
     * Destroys the Field Table component.
     * @function destroy
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-pivotview/src/pivotfieldlist/index.d.ts
/**
 * PivotGrid component exported items
 */
/** @hidden */
/** @hidden */
//node_modules/@syncfusion/ej2-pivotview/src/pivotfieldlist/renderer.d.ts
/**
 * Models
 */
/** @hidden */
/** @hidden */
/** @hidden */
/** @hidden */
//node_modules/@syncfusion/ej2-pivotview/src/pivotfieldlist/renderer/axis-field-renderer.d.ts
/**
 * Module to render Axis Fields
 */
/** @hidden */
export  class AxisFieldRenderer {
    parent: PivotFieldList;
    /** Constructor for render module */
    constructor(parent: PivotFieldList);
    /**
     * Initialize the pivot button rendering
     * @returns {void}
     * @private
     */
    render(): void;
    private createPivotButtons;
}
//node_modules/@syncfusion/ej2-pivotview/src/pivotfieldlist/renderer/axis-table-renderer.d.ts
/**
 * Module to render Axis Field Table
 */
/** @hidden */
export  class AxisTableRenderer {
    parent: PivotFieldList;
    /** @hidden */
    axisTable: Element;
    private leftAxisPanel;
    private rightAxisPanel;
    /** Constructor for render module */
    constructor(parent: PivotFieldList);
    /**
     * Initialize the axis table rendering
     * @returns {void}
     * @private
     */
    render(): void;
    private renderAxisTable;
    private getIconupdate;
    private wireEvent;
    private unWireEvent;
    private updateDropIndicator;
}
//node_modules/@syncfusion/ej2-pivotview/src/pivotfieldlist/renderer/dialog-renderer.d.ts
/**
 * Module to render Pivot Field List popups.Dialog
 */
/** @hidden */
export  class DialogRenderer {
    parent: PivotFieldList;
    /** @hidden */
    parentElement: HTMLElement;
    /** @hidden */
    fieldListDialog: popups.Dialog;
    /** @hidden */
    deferUpdateCheckBox: buttons.CheckBox;
    /** @hidden */
    adaptiveElement: navigations.Tab;
    private deferUpdateApplyButton;
    private deferUpdateCancelButton;
    /** Constructor for render module
     * @param {PivotFieldList} parent - Instance of field list.
     */
    constructor(parent: PivotFieldList);
    /**
     * Initialize the field list layout rendering
     * @returns {void}
     * @private
     */
    render(): void;
    private renderStaticLayout;
    private renderDeferUpdateButtons;
    private createDeferUpdateButtons;
    private onCheckChange;
    private applyButtonClick;
    private cancelButtonClick;
    private renderFieldListDialog;
    private dialogOpen;
    /**
     * Called internally if any of the field added to axis.
     * @param {string[]} selectedNodes - selectedNodes
     * @returns {void}
     * @hidden
     */
    updateDataSource(selectedNodes: string[]): void;
    private onDeferUpdateClick;
    private renderAdaptiveLayout;
    private tabSelect;
    private createCalculatedButton;
    private createAddButton;
    private createAxisTable;
    private showCalculatedField;
    private showFieldListDialog;
    /**  @hidden */
    onShowFieldList(): void;
    private onCloseFieldList;
    private removeFieldListIcon;
    private keyPress;
    private wireDialogEvent;
    private unWireDialogEvent;
    /**
     * Destroys the Field Table component.
     * @function destroy
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-pivotview/src/pivotfieldlist/renderer/renderer.d.ts
/**
 * Module to render Pivot Table component
 */
/** @hidden */
export  class Render {
    parent: PivotFieldList;
    /** Constructor for render module
     * @param {PivotFieldList} parent - Instance of field list.
     */
    constructor(parent: PivotFieldList);
    /**
     * Initialize the pivot table rendering
     * @returns {void}
     * @private
     */
    render(): void;
}
//node_modules/@syncfusion/ej2-pivotview/src/pivotfieldlist/renderer/tree-renderer.d.ts
/**
 * Module to render Field List
 */
/** @hidden */
export  class TreeViewRenderer implements IAction {
    parent: PivotFieldList;
    /** @hidden */
    fieldTable: navigations.TreeView;
    private parentElement;
    private treeViewElement;
    private fieldDialog;
    private editorSearch;
    private selectedNodes;
    private fieldListSort;
    private fieldSearch;
    private nonSearchList;
    private isSearching;
    private parentIDs;
    /** Constructor for render module
     * @param {PivotFieldList} parent - Instance of field list.
     */
    constructor(parent: PivotFieldList);
    /**
     * Initialize the field list tree rendering
     * @param {number} axis - Axis position.
     * @returns {void}
     * @private
     */
    render(axis?: number): void;
    private updateSortElements;
    private renderTreeView;
    private updateNodeIcon;
    private updateTreeNode;
    private updateOlapTreeNode;
    private renderTreeDialog;
    private dialogClose;
    private createTreeView;
    private textChange;
    private dragStart;
    private dragStop;
    private isNodeDropped;
    private getButton;
    private nodeStateChange;
    private updateReportSettings;
    private updateCheckState;
    private updateNodeStateChange;
    private updateSelectedNodes;
    private updateDataSource;
    private addNode;
    private refreshTreeView;
    private getUpdatedData;
    private getTreeData;
    private getOlapTreeData;
    private updateExpandedNodes;
    private updateSorting;
    private applySorting;
    private onFieldAdd;
    private closeTreeDialog;
    private keyPress;
    private wireFieldListEvent;
    private unWireFieldListEvent;
    /**
     * @hidden
     */
    addEventListener(): void;
    /**
     * @hidden
     */
    removeEventListener(): void;
    /**
     * To destroy the tree view event listener
     * @returns {void}
     * @hidden
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-pivotview/src/pivotview/actions.d.ts
/**
 * Action export
 */
//node_modules/@syncfusion/ej2-pivotview/src/pivotview/actions/drill-through.d.ts
/**
 * `DrillThrough` module.
 */
export  class DrillThrough {
    private parent;
    /**
     * @hidden
     */
    drillThroughDialog: DrillThroughDialog;
    /**
     * Constructor.
     * @param {PivotView} parent - Instance of pivot table.
     * @hidden
     */
    constructor(parent?: PivotView);
    /**
     * It returns the Module name.
     * @returns {string} - string.
     * @hidden
     */
    getModuleName(): string;
    private addInternalEvents;
    private wireEvents;
    private unWireEvents;
    private mouseClickHandler;
    /** @hidden */
    executeDrillThrough(pivotValue: IAxisSet, rowIndex: number, colIndex: number, element?: Element): void;
    private getCalcualtedFieldValue;
    private frameData;
    /** @hidden */
    triggerDialog(valueCaption: string, aggType: string, rawData: IDataSet[], pivotValue: IAxisSet, element: Element): void;
    /**
     * To destroy the drillthrough module.
     * @returns  {void}
     * @hidden
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-pivotview/src/pivotview/actions/excel-export.d.ts
/**
 * @hidden
 * `ExcelExport` module is used to handle the Excel export action.
 */
export  class ExcelExport {
    private parent;
    private engine;
    private rows;
    private actualrCnt;
    /**
     * Constructor for the PivotGrid Excel Export module.
     * @param {PivotView} parent - Instance of pivot table.
     * @hidden
     */
    constructor(parent?: PivotView);
    /**
     * For internal use only - Get the module name.
     * @returns {string} - string.
     * @private
     */
    protected getModuleName(): string;
    private addHeaderAndFooter;
    /**
     * Method to perform excel export.
     * @hidden
     */
    exportToExcel(type: string, exportProperties?: grids.ExcelExportProperties, isBlob?: Boolean): void;
    /**
     * To destroy the excel export module
     * @returns {void}
     * @hidden
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-pivotview/src/pivotview/actions/keyboard.d.ts
/**
 * PivotView Keyboard interaction
 */
/** @hidden */
export  class KeyboardInteraction {
    /** @hidden */
    event: base.KeyboardEventArgs;
    private parent;
    private keyConfigs;
    private pivotViewKeyboardModule;
    private timeOutObj;
    /**
     * Constructor.
     * @param {PivotView} parent - Instance of pivot table.
     */
    constructor(parent: PivotView);
    private keyActionHandler;
    private getNextButton;
    private getPrevButton;
    private allpivotButtons;
    private processTab;
    private processShiftTab;
    private processEnter;
    private clearSelection;
    private processSelection;
    private getParentElement;
    private toggleFieldList;
    /**
     * To destroy the keyboard module.
     * @returns  {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-pivotview/src/pivotview/actions/pager.d.ts
/**
 * Module for Pager rendering
 */
/** @hidden */
export  class Pager {
    /** @hidden */
    pager: grids.Pager;
    /** @hidden */
    parent: PivotView;
    /**
     * Internal variables.
     */
    private columnPagerTextBox;
    private rowPagerTextBox;
    private columnPageSizeDropDown;
    private rowPageSizeDropDown;
    constructor(parent: PivotView);
    /**
     * It returns the Module name.
     * @returns {string} - string
     * @hidden
     */
    getModuleName(): string;
    /**
     * @hidden
     */
    addEventListener(): void;
    /**
     * @hidden
     */
    removeEventListener(): void;
    private createPager;
    private wireEvent;
    private unWireEvent;
    private columnPageChange;
    private rowPageChange;
    private columnPageSizeChange;
    private rowPageSizeChange;
    private updatePageSettings;
    private createPagerContainer;
    private createPagerItems;
    /**
     * To destroy the pager.
     * @returns {void}
     * @hidden
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-pivotview/src/pivotview/actions/pdf-export.d.ts
/**
 * @hidden
 * `PDFExport` module1 is used to handle the PDF export action.
 */
export  class PDFExport {
    private parent;
    private gridStyle;
    private engine;
    /**
     * Constructor for the PivotGrid PDF Export module.
     * @param {PivotView} parent - Instance of pivot table.
     * @hidden
     */
    constructor(parent?: PivotView);
    /**
     * For internal use only - Get the module name.
     * @returns {string} - string.
     * @private
     */
    protected getModuleName(): string;
    private addPage;
    private hexDecToRgb;
    private getFontStyle;
    private getBorderStyle;
    private getDashStyle;
    private getStyle;
    private setRecordThemeStyle;
    /**
     * Method to perform pdf export.
     * @hidden
     */
    exportToPDF(pdfExportProperties?: grids.PdfExportProperties, isBlob?: Boolean): void;
    private applyStyle;
    private getFontFamily;
    private getFont;
    private processCellStyle;
    private applyEvent;
    /**
     * To destroy1 the pdf export module.
     * @returns {void}
     * @hidden
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-pivotview/src/pivotview/actions/virtualscroll.d.ts
/**
 * `VirtualScroll` module is used to handle scrolling behavior.
 */
export  class VirtualScroll {
    private parent;
    private previousValues;
    private frozenPreviousValues;
    private pageXY;
    private eventType;
    private engineModule;
    private isFireFox;
    /** @hidden */
    direction: string;
    private keyboardEvents;
    /**
     * Constructor for PivotView scrolling.
     * @param {PivotView} parent - Instance of pivot table.
     * @hidden
     */
    constructor(parent?: PivotView);
    /**
     * It returns the Module name.
     * @returns {string} - string.
     * @hidden
     */
    getModuleName(): string;
    private addInternalEvents;
    private wireEvents;
    private onWheelScroll;
    private getPointXY;
    private onCustomScrollbarScroll;
    private onTouchScroll;
    private update;
    private enginePopulatedEventMethod;
    private setPageXY;
    private common;
    private onHorizondalScroll;
    private onVerticalScroll;
    /**
     * @hidden
     */
    removeInternalEvents(): void;
    /**
     * To destroy the virtualscrolling event listener
     * @returns {void}
     * @hidden
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-pivotview/src/pivotview/base.d.ts
/**
 * Base export
 */
//node_modules/@syncfusion/ej2-pivotview/src/pivotview/base/pivotview-model.d.ts
/**
 * Interface for a class GroupingBarSettings
 */
export interface GroupingBarSettingsModel {
    /**
     * Allows you to show or hide the filter icon that used to be displayed on the pivot button of the grouping bar UI. 
     * This filter icon is used to filter the members of a particular field at runtime in the pivot table. 
     * > By default, the filter icon is enabled in the grouping bar.
     * @default true     
     */
    showFilterIcon?: boolean;
    /**
     * Allows you to show or hide the sort icon that used to be displayed in the pivot button of the grouping bar UI. 
     * This sort icon is used to order members of a particular fields either in ascending or descending at runtime. 
     * > By default, the sort icon is enabled in the grouping bar.
     * @default true     
     */
    showSortIcon?: boolean;
    /**
     * Allows you to show or hide the base.remove icon that used to be displayed in the pivot button of the grouping bar UI. This base.remove icon is used to base.remove any field during runtime. 
     * > By default, the base.remove icon is enabled in the grouping bar.
     * @default true     
     */
    showRemoveIcon?: boolean;
    /**
     * Allows you to show or hide the value type icon that used to be displayed in the pivot button of the grouping bar UI. 
     * This value type icon helps to base.select the appropriate aggregation type to value fields at runtime. 
     * > By default, the icon to set aggregate types is enabled in the grouping bar.
     * @default true     
     */
    showValueTypeIcon?: boolean;
    /**
     * Allow options to show the grouping bar UI to specific view port such as either pivot table or pivot chart or both table and chart. 
     * For example, to show the grouping bar UI to pivot table on its own, set the property `displayMode` to **Table**. 
     * > By default, the grouping bar UI will be shown to both pivot table as well as pivot chart.
     * @default Both
     */
    displayMode?: View;
    /**
     * Allows you to restrict the pivot buttons that were used to drag on runtime in the grouping bar UI. 
     * This will prevent you from modifying the current report. 
     * > By default, all fields are available for drag-and-drop operation in the grouping bar.
     * @default true     
     */
    allowDragAndDrop?: boolean;
    /**
     * Allows you to show an additional UI along with the grouping bar UI, which contains the fields that aren't bound in the current report.
     * It allows you to modify the report by re-arranging the pivot buttons through drag-and-drop operation between axes (row, column, value and filter)
     * that are used to update the pivot table during runtime.
     * > This property is applicable only for relational data source.
     * @default false     
     */
    showFieldsPanel?: boolean;
}
/**
 * Interface for a class CellEditSettings
 */
export interface CellEditSettingsModel {
    /**
     * Allows you to add a new record to the data grid used to update the appropriate cells in the pivot table.
     * @default false
     */
    allowAdding?: boolean;
    /**
     * Allows you to edit the existing record in the data grid that used to update the appropriate cells in the pivot table.
     * @default false
     */
    allowEditing?: boolean;
    /**
     * Allows you to delete the existing record from the data grid that used to  update the appropriate cells in the pivot table.
     * @default false
     */
    allowDeleting?: boolean;
    /**
     * Allows an additional column appended in the data grid layout holds the command buttons to perform the CRUD operations to 
     * edit, delete, and update the raw items to the data grid that used to update the appropriate cells in the pivot table.
     * @default false
     */
    allowCommandColumns?: boolean;
    /**
    * Allows direct editing of a value cell without opening the edit dialog. NOTE: It is applicable only if the value cell is made by a single raw data. Otherwise editing dialog will be shown. 
    * > The `allowInlineEditing` property supports all modes of editing.
    * @default false
    */
    allowInlineEditing?: boolean;
    /**
     * Allow options for performing CRUD operations with different modes in the data grid that used to update the appropriate cells in the pivot table. 
     * The available modes are as follows: 
     * * `Normal`: Allows the currently selected row alone will be completely changed to edit state. You can change the cell values and save it to the data source by clicking “Update” toolbar button.
     * * `Dialog`: Allows the currently selected row data will be shown in an exclusive dialog. You can change the cell values and save it to the data source by clicking “Save” button in the dialog.
     * * `Batch`: Allows you to perform double-click on any data specific cell in the data grid, the state of that selected cell will be changed to edit state. 
     * You can perform bulk changes like add, edit and delete data of the cells and finally save to the data source by clicking “Update” toolbar button.
     * 
     * > Normal mode is enabled for CRUD operations in the data grid by default.
     * @default Normal
     */
    mode?: EditMode;
    /**
     * Allows you to restrict CRUD operations by double-clicking the appropriate value cell in the pivot table.
     * @default true
     */
    allowEditOnDblClick?: boolean;
    /**
     * Allows you to show a confirmation dialog to save and discard CRUD operations performed in the data grid that used to update the appropriate cells in the pivot table. 
     * > To use this option, it requires the property `mode` to be **Batch**, meaning, the `showConfirmDialog` option is only applicable for batch edit mode.
     * @default true
     */
    showConfirmDialog?: boolean;
    /**
     * Allows you to show the confirmation dialog to delete any records from the data grid. 
     * > The `showDeleteConfirmDialog` property supports all modes of editing.
     * @default false
     */
    showDeleteConfirmDialog?: boolean;
}
/**
 * Interface for a class ConditionalSettings
 */
export interface ConditionalSettingsModel {
    /**
     * Allows you to specify the value field caption to get visibility of hyperlink option for specific measure.
     */
    measure?: string;
    /**
     * Allows you to specify the row or column header to get visibility of hyperlink option for specifc row or column header.
     */
    label?: string;
    /**
     * Allows you to choose the operator type such as equals, greater than, less than, etc. The available operators are as follows:
     * * `LessThan`: Allows you to get the cells that have a value that is less than the start value.
     * * `GreaterThan`: Allows you to get the cells that have a value that is greater than the start value.
     * * `LessThanOrEqualTo`: Allows you to get the cells that have a value that is lesser than or equal to the start value.
     * * `GreaterThanOrEqualTo`: Allows you to get the cells that have a value that is greater than or equal to the start value.
     * * `Equals`:  Allows you to get the cells that have a value that matches with the start value.
     * * `NotEquals`: Allows you to get the cells that have a value that does not match with the start value.
     * * `Between`: Allows you to get the cells that have a value that between the start and end value.
     * * NotBetween: Allows you to get the cells that have a value that is not between the start and end value.
     * @default NotEquals
     */
    conditions?: Condition;
    /**
     * Allows you to set the start value to get visibility of hyperlink option based on the condition applied. 
     * For example, if the start value is 500 and the condition Equals is used, the hyperlink should be enabled to the cells that hold the value of 500 alone.
     */
    value1?: number;
    /**
     * Allows you to set the end value to get visibility of hyperlink option based on the condition applied. 
     * For example, if the start value is 500, the end value is 1500 and the condition Between is used, the hyperlink should be enabled to the cells that holds the value between 500 to 1500.
     * > This option will be used by default when the operator **Between** and **NotBetween** is chosen to apply.
     */
    value2?: number;
}
/**
 * Interface for a class HyperlinkSettings
 */
export interface HyperlinkSettingsModel {
    /**
     * Allows you to set the visibility of hyperlink in all cells that are currently shown in the pivot table.
     * @default false     
     */
    showHyperlink?: boolean;
    /**
     * Allows you to set the visibility of hyperlink in row headers that are currently shown in the pivot table.
     * @default false     
     */
    showRowHeaderHyperlink?: boolean;
    /**
     * Allows you to set the visibility of hyperlink in column headers that are currently shown in the pivot table.
     * @default false     
     */
    showColumnHeaderHyperlink?: boolean;
    /**
     * Allows you to set the visibility of hyperlink in value cells that are currently shown in the pivot table.
     * @default false     
     */
    showValueCellHyperlink?: boolean;
    /**
     * Allows you to set the visibility of hyperlink in summary cells that are currently shown in the pivot table.
     * @default false     
     */
    showSummaryCellHyperlink?: boolean;
    /**
     * Allow options for setting the visibility of hyperlink based on specific condition. The options available here are as follows:
     * * `measure`: Allows you to specify the value field caption to get visibility of hyperlink option for specific measure.
     * * `condition`: Allows you to choose the operator type such as equals, greater than, less than, etc.
     * * `value1`: Allows you to set the start value.
     * * `value2`: Allows you to set the end value. This option will be used by default when the operator **Between** and **NotBetween** is chosen to apply.
     * @default []
     */
    conditionalSettings?: ConditionalSettingsModel[];
    /**
     * Allows you to set the visibility of hyperlink in the cells based on specific row or column header.
     */
    headerText?: string;
    /**
     * Allows you to add the CSS class name to the hyperlink options. Use this class name you can apply styles to a hyperlink easily at your end.
     * @default ''
     */
    cssClass?: string;
}
/**
 * Interface for a class PageSettings
 */
export interface PageSettingsModel {
    /**
     * It allows to set the total column count of the pivot table.
     * @default 5
     */
    columnPageSize?: number;
    /**
     * It allows to set the total row count of the pivot table.
     * @default 5
     */
    rowPageSize?: number;
    /**
     * It allows to set the current column page count displayed in the pivot table.
     * @default 1
     */
    currentColumnPage?: number;
    /**
     * It allows to set the current row page count displayed in the pivot table.
     * @default 1
     */
    currentRowPage?: number;
}
/**
 * Interface for a class PagerSettings
 */
export interface PagerSettingsModel {
    /**
     * Allows to display the pager UI either at top or bottom of the Pivot Table UI.
     * @default Bottom
     */
    position?: PagerPosition;
    /**
     * When the property is set to “true”, it allows to display the row and column paging options as vice versa.
     * > In pager UI, paging options for column axis will be shown at left-side and for row will be shown at right-side.
     * @default false     
     */
    isInversed?: boolean;
    /**
     * Allows to show or hide row paging options in the pager UI.
     * @default true
     */
    showRowPager?: boolean;
    /**
     * Allows to show or hide column paging options in the pager UI.
     * @default true
     */
    showColumnPager?: boolean;
    /**
     * Allows to show row page size information in the pager UI.
     * @default true
     */
    showRowPageSize?: boolean;
    /**
    * Allows to show column page size information in the pager UI.
    * @default true
    */
    showColumnPageSize?: boolean;
    /**
     * Allows you to choose from a variety of page sizes in the paging UI that can be used to display the pivot table's rows.
     * @default [10, 50, 100, 200]
     */
    rowPageSizes?: number[];
    /**
     * Allows you to choose from a variety of page sizes in the paging UI that can be used to display the pivot table's columns.
     * @default [5, 10, 20, 50, 100]
     */
    columnPageSizes?: number[];
    /**
     * Allows the paging UI to be displayed with the absolute minimum of information by hiding all paging data except for the navigation options.
     * @default false
     */
    enableCompactView?: boolean;
    /**
     * Allows the pager UI to be customized by using an HTML string or the element's ID to display custom elements instead of the standard ones.
     * @default null
     */
    template?: string;
}
/**
 * Interface for a class DisplayOption
 */
export interface DisplayOptionModel {
    /**
     * Allows you to choose the view port as either table or chart or both table and chart. The available options are:
     * * `Table`: Allows you to render the component as tabular form. 
     * * `charts.Chart`: Allows you to render the component as graphical format.
     * * `Both`: Allows you to render the component as both table and chart.
     * > By default, **Table** is used as a default view in the component.
     * @default Table     
     */
    view?: View;
    /**
     * Allows you to set the primary view to be either table or chart.The available options are:
     * * `Table`: Allows you to display the pivot table as primary view.
     * * `charts.Chart`: Allows you to display the pivot chart as primary view.
     * > To use this option, it requires the property `view` to be **Both**.
     * @default Table     
     */
    primary?: Primary;
}
/**
 * Interface for a class PivotView
 */
export interface PivotViewModel extends base.ComponentModel{
    /**
     * Allows values with a specific country currency format to be displayed in the pivot table. 
     * Standard currency codes referred to as ISO 4217 can be used for the formatting of currency values. 
     * For example, to display "US Dollar($)" currency values, set the `currencyCode` to **USD**. 
     * > It is applicable ony for Relational data.
     * @private
     */
    currencyCode?: string;
    /**
     * Allows built-in popup field list to be enabled in the pivot table UI. 
     * The popup field list will be displayed over the pivot table UI without affecting any form of UI shrink, 
     * and allows to manipulate the pivot report through different ways such as add or base.remove fields and 
     * also rearrange them between different axes, including column, row, value, and filter along with sort and 
     * filter options dynamically at runtime to update the pivot table. 
     * > By default, the icon used to display the field list will be positioned at the top left corner of the pivot table UI. 
     * When groupingBar is enabled, the icon will be placed at the top right corner of the pivot table.
     * @default false
     */
    showFieldList?: boolean;
    /**
     * Allows the set of options to customize rows, columns, values cell and its content in the pivot table. The following options to customize the pivot table are:
     * * `height`: Allow the height of the pivot table content to be set, 
     * meaning that the height given should be applied without considering the column headers in the pivot table.
     * * `width`: Allow to set width of the pivot table. **Note: The pivot table will not display less than 400px, 
     * as it is the minimum width to the component.** 
     * * `gridLines`: Allow the options for customizing the cell borders of each cell to be displayed in the pivot table. 
     * For example, to display a pivot table without cell borders, set the property `gridLines` to **None**.
     * * `allowTextWrap`: Allow the contents of the cells to be wrapped when they exceed the width of the cells in the pivot table.
     * * `textWrapSettings`: Allows options to wrap either column and row header or value or both header and cell content. 
     * For example, to allow the wrap option to value cells alone, then set the property `wrapMode` to **Content** in the `textWrapSettings` class.
     * * `allowReordering`: Allows to reorder a specific column header from one index to another index in the pivot table by drag-and-drop.
     * * `allowResizing`: Allows the columns to be resized by clicking and dragging the right edge of the column headers.
     * * `rowHeight`: Allow to set height to the pivot table rows commonly.
     * * `columnWidth`: Allow to set width to the pivot table columns commonly.
     * * `clipMode`: Allows the contents of the cell overflow to be displayed in the pivot table. 
     * For example, to truncate the cell content of a cell when it overflows with respect to its cell width, set the property `clipMode` to **Clip**.
     * * `allowSelection`: Allows a row or column or cell to be highlighted by simply clicking or arrow key in the pivot table.
     * * `selectionSettings`: Allow set of options to customize the selection of a row or column or cell by simply clicking on the arrow key in the pivot table. 
     * For example, to highlight both rows and columns with multiple selection, set the properties `mode` to **Both** and `type` to **Multiple** in `selectionSettings` class.
     * * `selectedRowIndex`: Allows to highlight specific row in the pivot table during initial rendering. For example, to highlight the pivot table's first row, set the property `selectedRowIndex` to **0**.
     * * `contextMenuItems`: Allows to show built-in context with pre-defined menu option or custom menu options by simply right clicking on the pivot table cell.
     */
    gridSettings?: GridSettingsModel;
    /**
     * Allows a set of options to customize a pivot chart with a variety of settings, such as chart series, chart area, axis labels, legends, border, crosshairs, theme, title, tooltip, zooming, etc. 
     * The following options are available to customize the pivot chart.
     * * `background`: Allows you to change the background color of the chart series in the pivot chart. 
     * For example, to display the chart series with background color as red, set the property `background` to either **"red"** or **"#FF0000"** or **"rgba(255,0,0,1.0)"**.
     * * `border`: Allow options to customize the border of the chart series such as color and border size in the pivot chart. 
     * For example, to display the chart series border color as red, set the properties `color` to either **"red"** or **"#FF0000"** or **"rgba(255,0,0,1.0)"** and `width` to **0.5**.
     * * `chartArea`: Allow options to customize the chart area with a variety of settings such as background color, border, opacity and background image in the pivot chart. 
     * For example, to change the of the pivot chart's background, set the property `opacity` to **0.5**.
     * * `chartSeries`: Allow options to customize the chart series with different settings such as fill color, animation of the series, 
     * series width, border, visibility of the series, opacity, chart series types, marker, tooltip, trendlines, etc., in the pivot chart. 
     * For example, to display the line type pivot chart, set the property `type` to **Line**.
     * * `crosshair`: Allow options to customize the crosshair line with different settings such as color and width of the line, 
     * line types that are shown horizontally and vertically to indicate the value of the axis at the mouse hover or touch position in the pivot chart.
     * * `description`: Allows you to add a description of the pivot chart.
     * * `enableAnimation`: Allows you to enable/disable the tooltip animation while performing the mouse move from one point to another in the pivot chart.
     * * `enableCanvas`: Allows you to render the pivot chart in canvas mode.
     * * `enableExport`: Allows the pivot chart to be exported to either **PDF** or **PNG** or **JPEG** or **SVG** filter formats.
     * * `enableMultipleAxis`: Allows you to draw the pivot chart with multiple value fields as separate chart area.
     * * `enableSideBySidePlacement`: Allows you to draw points of the column type pivot chart series as side by side.
     * * `isMultiSelect`: Allows you to perform multiple selection in the pivot chart. To enable this option, it requires the property `selectionMode` to be **Point** or **Series** or **Cluster**.
     * * `isTransposed`: Allows you to render the pivot chart in a transposed manner or not.
     * * `legendSettings`: Allow options for customizing legends with different properties such as legend visibility, 
     * height, width, position, legend padding, alignment, textStyle, border, margin, background, opacity, description, tabIndex in the pivot chart.
     * * `margin`: Allow options to customize the left, right, top and bottom margins of the pivot chart.
     * * `palettes`: Allows you to draw the chart series points with custom color in the pivot chart.
     * * `primaryXAxis`: Allow options to customize the horzontal(row) axis with different properties such as labelIntersectAction, labelStyle, title, 
     * description, crosshairTooltip, labelFormat, titleStyle, plotOffset, edgeLabelPlacement, labelPlacement, tickPosition, opposedPosition, minor and 
     * major grid lines, minor and major tick lines, border, etc. in the pivot chart.
     * * `primaryYAxis`: Allow options to customize the vertical(value) axis with different properties such as labelIntersectAction, labelStyle, 
     * title, description, crosshairTooltip, labelFormat, titleStyle, plotOffset, edgeLabelPlacement, labelPlacement, tickPosition, opposedPosition, minor and 
     * major grid lines, minor and major tick lines, border, etc. in the pivot chart.
     * * `selectedDataIndexes`: Allows you to highlight a specific point of the series while rendering the pivot chart. 
     * For example, to highlight first point in the first series, set the properties series to 0 and points to 1. To use this option, it requires the property `selectionMode` to be **Point** or **Series**.
     * * `selectionMode`: Allow options for customizing the selection mode to be done either by a specific series or point or cluster or by dragging it to the pivot chart. 
     * For example, to highlight a specific point in a specific series of the pivot chart, set the property `selectionMode` to **Point**.
     * * `showMultiLevelLabels`: Allows you to display the multi-level label feature in the pivot chart. This multi-level labels used to perform drill operation in the pivot chart.
     * * `subTitle`: Allows you to add the subtitle to the pivot chart.
     * * `subTitleStyle`: Allow options to customize the subtitle in the pivot chart with different properties such as fontStyle, font size, fontWeight, font color, testAlignment, fontFamily, opacity, textOverflow.
     * * `tabIndex`: Allows you to highlight specific legends by clicking the mouse or by interacting with the keyboard in the pivot chart.
     * * `theme`: Allows you to draw a pivot chart with either material, fabric, bootstrap, highcontrast light, material dark, fabric dark, highcontrast, bootstrap dark, bootstrap4 theme.
     * * `title`: Allows you to add title to the pivot chart.
     * * `titleStyle`: Allow options to customize the title in the pivot chart with different properties such as fontStyle, font size, fontWeight, font color, testAlignment, fontFamily, opacity, textOverflow.
     * * `tooltip`: Allow options to customize the tooltip of the pivot chart with different properties such as visibility of the tooltip, enableMarker, fill color, opacity, header for tooltip, 
     * format, textStyle, template, border, enableAnimation.
     * * `useGroupingSeparator`: Allows the group separator to be shown to the values in the pivot chart.
     * * `value`: Allows you to draw a pivot chart with a specific value field during initial loading.
     * * `zoomSettings`: Allow options to customize the pivot chart zooming with different properties such as enablePinchZooming, enableSelectionZooming, 
     * enableDeferredZooming, enableMouseWheelZooming, zoom modes, toolbarItems, enableScrollbar and enablePan.
     */
    chartSettings?: ChartSettingsModel;
    /**
     * Allows a set of options for customizing the grouping bar UI with a variety of settings such as UI visibility to a specific view port, 
     * customizing the pivot button features such as filtering, sorting, changing aggregate types, removing any fields. 
     * The options available to customize the grouping bar UI are:
     * * `showFilterIcon`: Allows you to show or hide the filter icon that used to be displayed on the pivot button of the grouping bar UI. 
     * This filter icon is used to filter the members of a particular field at runtime in the pivot table.
     * * `showSortIcon`: Allows you to show or hide the sort icon that used to be displayed in the pivot button of the grouping bar UI. 
     * This sort icon is used to order members of a particular fields either in ascending or descending at runtime.
     * * `showRemoveIcon`: Allows you to show or hide the base.remove icon that used to be displayed in the pivot button of the grouping bar UI. 
     * This base.remove icon is used to base.remove any field during runtime.
     * * `showValueTypeIcon`: Allows you to show or hide the value type icon that used to be displayed in the pivot button of the grouping bar UI. 
     * This value type icon helps to base.select the appropriate aggregation type to value fields at runtime.
     * * `displayMode`: Allow options to show the grouping bar UI to specific view port such as either pivot table or pivot chart or both table and chart. 
     * For example, to show the grouping bar UI to pivot table on its own, set the property `displayMode` to **Table**.
     * * `allowDragAndDrop`: Allows you to restrict the pivot buttons that were used to drag on runtime in the grouping bar UI. This will prevent you from modifying the current report.
     */
    groupingBarSettings?: GroupingBarSettingsModel;
    /**
     * Allow a set of options to display a hyperlink to link data for individual cells that are shown in the pivot table. 
     * These options allow you to enable a separate hyperlink for row headers, column headers, value cells, and summary cells in the `hyperlinkSettings` class. 
     * The options available are:
     * * `showHyperlink`: Allows you to set the visibility of hyperlink in all cells.
     * * `showRowHeaderHyperlink`: Allows you to set the visibility of hyperlink in row headers.
     * * `showColumnHeaderHyperlink`: Allows you to set the visibility of hyperlink in column headers.
     * * `showValueCellHyperlink`: Allows you to set the visibility of hyperlink in value cells.
     * * `showSummaryCellHyperlink`: Allows you to set the visibility of hyperlink in summary cells.
     * * `headerText`: Allows you to set the visibility of hyperlink based on header text.
     * * `conditionalSettings`: Allows you to set the visibility of hyperlink based on specific condition.
     * * `cssClass`: Allows you to add CSS class name to the hyperlink options.
     * 
     * > By default, the hyperlink options are disabled for all cells in the pivot table.
     */
    hyperlinkSettings?: HyperlinkSettingsModel;
    /**
     * Allows to set the page information to display the pivot table with specific page during paging and virtual scrolling.
     */
    pageSettings?: PageSettingsModel;
    /**
     * Allows a set of options for customizing the paging UI with a variety of settings such as UI position, template and visibility to a specific axis info such as page size, paging data.
     * > To use this option, it requires the property `enablePaging` to be true.
     */
    pagerSettings?: PagerSettingsModel;
    /**
     * Allows the following pivot report information such as rows, columns, values, filters, etc., that are used to render the pivot table and field list.
     * * `catalog`: Allows to set the database name of SSAS cube as string type that used to retrieve the data from the specified connection string. **Note: It is applicable only for OLAP data source.**
     * * `cube`: Allows you to set the SSAS cube name as string type that used to retrieve data for pivot table rendering. **Note: It is applicable only for OLAP data source.**
     * * `providerType`: Allows to set the provider type to identify the given connection is either Relational or SSAS to render the pivot table and field list.
     * * `url`: Allows to set the URL as string type, which helps to identify the service endpoint where the data are processed and retrieved to render the pivot table and field list. **Note: It is applicable only for OLAP data source.**
     * * `localeIdentifier`: Allows you to set the specific culture code as number type to render pivot table with desired localization. 
     * By default, the pivot table displays with culture code **1033**, which indicates "en-US" locale. **Note: It is applicale only for OLAP data source.**
     * * `dataSource`: Allows you to set the data source as JSON collection to the pivot report either from local or from remote server to the render the pivot that and field list. 
     * You can fetch JSON data from remote server by using data.DataManager. **Note: It is applicable only for relational data source.**
     * * `rows`: Allows specific fields associated with field information that needs to be displayed in row axis of pivot table.
     * * `columns`: Allows specific fields associated with field information that needs to be displayed in column axis of pivot table.
     * * `values`: Allows specific fields associated with field information that needs to be displayed as aggregated numeric values in pivot table.
     * * `filters`: Allows to filter the values in other axis based on the collection of filter fields in pivot table.
     * * `excludeFields`: Allows you to restrict the specific field(s) from displaying it in the field list UI. 
     * You may also be unable to render the pivot table with this field(s) by doing so. **Note: It is applicable only for relational data source.**
     * * `expandAll`: Allows you to either expand or collapse all the headers that are displayed in the pivot table. 
     * By default, all the headers are collapsed in the pivot table. **Note: It is applicable only for Relational data.**
     * * `valueAxis`: Allows you to set the value fields that to be plotted either in row or column axis in the pivot table.
     * * `filterSettings`: Allows specific fields associated with either selective or conditional-based filter members that used to be displayed in the pivot table.
     * * `sortSettings`: Allows specific fields associated with sort settings to order their members either in ascending or descending that used to be displayed in the pivot table. 
     * By default, the data source containing fields are display with Ascending order alone. To use this option, it requires the `enableSorting` property to be **true**.
     * * `enableSorting`: Allows to perform sort operation to order members of a specific fields either in ascending or descending that used to be displayed in the pivot table.
     * * `formatSettings`: Allows specific fields used to display the values with specific format that used to be displayed in the pivot table. 
     * For example, to display a specific field with currency formatted values in the pivot table, the set the `format` property to be **C**.
     * * `drilledMembers`: Allows specific fields used to display their the headers to be either expanded or collapsed in the pivot table.
     * * `valueSortSettings`: Allows to sort individual value field and its aggregated values either in row or column axis to ascending or descending order.
     * * `calculatedFieldSettings`: Allows to create new calculated fields from the bound data source or using simple formula with basic arithmetic operators in the pivot table.
     * * `allowMemberFilter`: Allows to perform filter operation based on the selective filter members of the specific fields used to be displayed in the pivot table.
     * * `allowLabelFilter`: Allows to perform filter operation based on the selective headers used to be displayed in the pivot table.
     * * `allowValueFilter`: Allows to perform filter operation based only on value fields and its resultant aggregated values over other fields defined in row and column axes that used to be displayed in the pivot table.
     * * `showSubTotals`: Allows to show or hide sub-totals in both rows and columns axis of the pivot table.
     * * `showRowSubTotals`: Allows to show or hide sub-totals in row axis of the pivot table.
     * * `showColumnSubTotals`: Allows to show or hide sub-totals in column axis of the pivot table.
     * * `showGrandTotals`: Allows to show or hide grand totals in both rows and columns axis of the pivot table.
     * * `showRowGrandTotals`: Allows to show or hide grand totals in row axis of the pivot table.
     * * `showColumnGrandTotals`: Allows to show or hide grand totals in column axis of the pivot table.
     * * `showHeaderWhenEmpty`: Allows the undefined headers to be displayed in the pivot table, when the specific field(s) are not defined in the raw data. 
     * For example, if the raw data for the field ‘Country’ is defined as “United Kingdom” and “State” is not defined means, it will be shown as “United Kingdom >> Undefined” in the header section.
     * * `alwaysShowValueHeader`: Allows to show the value field header always in pivot table, even if it holds a single field in the value field axis.
     * * `conditionalFormatSettings`: Allows a collection of values fields to change the appearance of the pivot table value cells with different style properties such as background color, font color, font family, and font size based on specific conditions.
     * * `emptyCellsTextContent`: Allows to show custom string to the empty value cells that used to display in the pivot table. You can fill empty value cells with any value like “0”, ”-”, ”*”, “(blank)”, etc.
     * * `groupSettings`: Allows specific fields to group their data on the basis of their type. 
     * For example, the date type fields can be formatted and displayed based on year, quarter, month, and more. Likewise, the number type fields can be grouped range-wise, such as 1-5, 6-10, etc. 
     * You can perform custom group to the string type fields that used to displayed in the pivot table.
     * * `showAggregationOnValueField`: Allows the pivot button with specific value field caption along with the aggregation type, to be displayed in the grouping bar and field list UI. 
     * For example, if the value field "Sold Amount" is aggregated with Sum, it will be displayed with caption "Sum of Sold Amount" in its pivot button.
     * * `authentication`: Allows you to set the credential information to access the specified SSAS cube. **Note: It is applicable only for OLAP data source**.
     */
    dataSourceSettings?: DataSourceSettingsModel;
    /**
     * Allow options for performing CRUD operations, such as add, edit, delete, and update the raw items of any cell from the pivot table. 
     * The raw items can be viewed in a data grid that used to be displayed as a dialog by double-clicking the appropriate value cell in the pivot table. 
     * CRUD operations can be performed in this data grid either by double-clicking the cells or using toolbar options. 
     * The options available are as follows:
     * * `allowAdding`: Allows you to add a new record to the data grid used to update the appropriate cells in the pivot table.
     * * `allowEditing`: Allows you to edit the existing record in the data grid that used to update the appropriate cells in the pivot table.
     * * `allowDeleting`: Allows you to delete the existing record from the data grid that used to  update the appropriate cells in the pivot table.
     * * `allowCommandColumns`: Allows an additional column appended in the data grid layout holds the command buttons to perform the CRUD operations to edit, 
     * delete, and update the raw items to the data grid that used to update the appropriate cells in the pivot table.
     * * `mode`: Allow options for performing CRUD operations with different modes in the data grid that used to update the appropriate cells in the pivot table. 
     * The available modes are normal, batch and dialog. **Normal** mode is enabled for CRUD operations in the data grid by default.
     * * `allowEditOnDblClick`: Allows you to restrict CRUD operations by double-clicking the appropriate value cell in the pivot table.
     * * `showConfirmDialog`: Allows you to show the confirmation dialog to save and discard CRUD operations performed in the data grid that used to update the appropriate cells in the pivot table.
     * * `showDeleteConfirmDialog`: Allows you to show the confirmation dialog to delete any records from the data grid.
     * * `allowInlineEditing`: Allows direct editing of a value cell without opening the edit dialog. NOTE: It is applicable only if the value cell is made by a single raw data. Otherwise editing dialog will be shown.
     * 
     * > This feature is applicable only for the relational data source.
     * @default { allowAdding: false, allowEditing: false, allowDeleting: false, allowCommandColumns: false, 
     * mode:'Normal', allowEditOnDblClick: true, showConfirmDialog: true, showDeleteConfirmDialog: false, allowInlineEditing: false }
     */
    editSettings?: CellEditSettingsModel;
    /**
     * Allow options to configure the view port as either pivot table or pivot chart or both table and chart. The options available are:
     * * `view`: Allows you to choose the view port as either pivot table or pivot chart or both table and chart. 
     * * `primary`: Allows you to set the primary view to be either pivot table or pivot chart. To use this option, it requires the property `view` to be **Both**. 
     */
    displayOption?: DisplayOptionModel;
    /**
     * It holds the collection of cell information that has been populated from the engine on the basis of the given pivot report to render the component as table and chart.
     */
    pivotValues?: IPivotValues;
    /**
     * Allows you to show the grouping bar UI in the pivot table that automatically populates fields from the bound report. 
     * It also allows you to modify the report with a variety of actions using the pivot buttons to update the pivot table during runtime. 
     * The following are: 
     * * Re-arranging fields through drag-and-drop operation between row, column, value and filter axes.
     * * Remove fields from the existing report using base.remove icon.
     * * Filtering members of specific fields using filter icon.
     * * Sorting members of specific fields using sort icon.
     * * Editing the calculated fields using edit icon.
     * * Selecting required aggregate types to value field using dropdown icon.
     * @default false
     */
    showGroupingBar?: boolean;
    /**
     * Allows you to display the tooltip to the value cells either by mouse hovering or by touch in the pivot table. 
     * The information used to be displayed in the tooltip is:
     * * Row: Holds the row header information of a specific value cell.
     * * Column: Holds the column header information of a specific value cell.
     * * Value: Holds the value field caption along with its value of a specific value cell.
     * @default true
     */
    showTooltip?: boolean;
    /**
     * Allows you to show the toolbar UI that holds built-in toolbar options to accessing frequently used features like 
     * switching between pivot table and pivot chart, changing chart types, conditional formatting, number formatting, exporting, etc… with ease at runtime.
     * @default false     
     */
    showToolbar?: boolean;
    /**
     * Allows the built-in toolbar options that used to access features like switching between pivot table and pivot chart, changing chart types, conditional formatting, number formatting, exporting, etc… with ease at runtime. 
     * The available toolbar options are:
     * * `New`: Allows to create a new report.
     * * `Save`: Allows to save the current report.
     * * `Save As`: Allows to perform save as the current report.
     * * `Rename`: Allows to rename the current report.
     * * `Remove`: Allows to delete the current report.
     * * `Load`: Allows to load any report from the report list.
     * * `grids.Grid`: Allows to show the pivot table.
     * * `charts.Chart`: Allows to show the pivot chart with specific type from the built-in list. 
     * It also has the option to show the chart with multiple axes based on the value fields bound to the report. 
     * You can do this by selecting the checkbox at the bottom of the list.
     * * `Exporting`: Allow set of options to export the pivot table as PDF/Excel/CSV and the pivot chart as PDF and image format such as PNG, JPEG, SVG.
     * * `Sub-total`: Allow set of options to show or hide the sub totals in the pivot table. The subtotals will not be displayed in the pivot chart by default.
     * * `Grand Total`: Allow set of options to show or hides the grand totals in the pivot table. By default, the grand totals will not be displayed in the pivot chart.
     * * `Conditional Formatting`: Allows to show the conditional formatting pop-up to apply formatting to the values.
     * * `Number Formatting`: Allows to show the number formatting pop-up to apply number formatting to the values.
     * * `Formatting`: Allow options to show the conditional formatting and the number formatting pop-up that used to apply formatting to the values in the component.
     * * `Field List`: Allows you to show the field list pop-up. It allows you to modify the report with a variety of actions such as re-arrange the fields between axes by drag-and-drop, 
     * add new fields to report, base.remove any fields from report, filtering and sorting a specific field members, etc., that are used to update the pivot table during runtime.
     * * `MDX`: Allows ro show the MDX query that was run to retrieve data from the OLAP data source. **Note: It is applicable only for OLAP data source.**
     * 
     * > The toolbar option can be displayed based on the order you provided in the toolbar collection.
     * @default null
     */
    toolbar?: (ToolbarItems | navigations.ItemModel)[];
    /**
     * Allows you to create a pivot button with "Values" as a caption used to display in the grouping bar and field list UI. 
     * It helps you to plot the value fields to either column or row axis during runtime.
     * > The showValuesButton property is enabled by default for the OLAP data source. 
     * And the pivot button can be displayed with "Measures" as a caption used to display in the grouping bar and field list UI.
     * @default false
     */
    showValuesButton?: boolean;
    /**
     * Allows the built-in calculated field dialog to be displayed in the component. 
     * You can view the calculated field dialog by clicking the "Calculated Field" button in the field list UI. 
     * This dialog will helps you to create a new calculated field in the pivot table, based on available fields from the bound data source or using simple formula with basic arithmetic operators at runtime.
     * @default false
     */
    allowCalculatedField?: boolean;
    /**
     * It enables the search option in the field list UI, which can be used to search specific fields at runtime.
     * > This option is only available when the pivot table's built-in popup field list is enabled using the `showFieldList` property.
     * @default false
     */
    enableFieldSearching?: boolean;
    /**
     * Allows you to sort individual value field and its aggregated values either in row or column axis to ascending or descending order. 
     * You can sort the values by clicking directly on the value field header positioned either in row or column axis of the pivot table.
     * @default false
     */
    enableValueSorting?: boolean;
    /**
     * Allows you to change the appearance of the pivot table value cells with different style properties such as background color, font color, font family, and font size based on specific conditions. 
     * You can apply the conditioanl formatting at runtime through the built-in dialog, invoked from the toolbar. 
     * To do so, set `allowConditionalFormatting` and `showToolbar` properties to **true** to the component. 
     * Also, include the toolbar option **ConditionalFormatting** in the `toolbar` property.
     * > You can also view the conditioanl formatting dialog by clicking an external button using the `showConditionalFormattingDialog` method.
     * @default false
     */
    allowConditionalFormatting?: boolean;
    /**
     * Allows you to apply required number formatting to the pivot table values such as number, curreny, percentage or other custom formats at runtime through a built-in dialog, invoked from the toolbar. 
     * To do so, set allowNumberFormatting and showToolbar properties to true to the component. 
     * Also, include the toolbar option NumberFormatting in the toolbar property.
     * > You can also view the number formatting dialog by clicking an external button using the ShowNumberFormattingDialog method.
     * @default false
     */
    allowNumberFormatting?: boolean;
    /**
     * Allow the height of the pivot table to be set.
     * @default 'auto'
     */
    height?: string | number;
    /**
     * Allow the width of the pivot table to be set. 
     * > The pivot table will not display less than 400px, as it is the minimum width to the component.
     * @default 'auto'
     */
    width?: string | number;
    /**
     * Allows the pivot table data to be exported as an Excel document. Export can be done in two different file formats such as  XLSX and CSV formats. 
     * You can export pivot table using the build-in toolbar option. To do so, set `allowExcelExport` and `showToolbar` properties to true to the component. 
     * Also, include the toolbar option **Exporting** in the `toolbar` property.
     * > You can also export the pivot table data by clicking an external button using the excelExport method. Use csvExport method to export the pivot table data to CSV format.
     * @default false    
     */
    allowExcelExport?: boolean;
    /**
     * Allows to load the large amounts of data without any performance degradation by rendering rows and columns only in the current content view port. 
     * Rest of the aggregated data will be brought into view port dynamically based on vertical or horizontal scroll position.
     * @default false
     */
    enableVirtualization?: boolean;
    /**
     * Allows large amounts of data to be displayed page-by-page.
     * It helps to display the rows and columns by configuring the page size and current page using `pageSettings` option in the pivot table.
     * @default false
     */
    enablePaging?: boolean;
    /**
     * Allows to view the underlying raw data of a summarized cell in the pivot table. 
     * By double-clicking on any value cell, you can view the detailed raw data in a data grid inside a new window. 
     * In the new window, row header, column header and measure name of the clicked cell will be shown at the top. 
     * You can also include or exclude fields available in the data grid using column chooser option.
     * @default false
     */
    allowDrillThrough?: boolean;
    /**
     * Allows the pivot table data to be exported as an PDF document. You can export pivot table using the build-in toolbar option. 
     * To do so, set `allowPdfExport` and `showToolbar` properties to true to the component. 
     * Also, include the toolbar option **Exporting** in the `toolbar` property.
     * > You can also export the pivot table data by clicking an external button using the pdfExport method.
     * @default false    
     */
    allowPdfExport?: boolean;
    /**
     * Allows the pivot table component to be updated only on demand, meaning, 
     * you can perform a variety of operations such as drag-and-drop fields between row, column, value and filter axes, 
     * apply sorting and filtering inside the Field List, resulting the field list UI would be updated on its own, but not the pivot table.
     * On clicking the “Apply” button in the Field List, the pivot table will updates the last modified report. 
     * This helps to improve the performance of the pivot table component rendering.
     * @default false
     */
    allowDeferLayoutUpdate?: boolean;
    /**
     * Allows large amounts of data to be loaded without any degradation of performance by compressing raw data on the basis of its uniqueness. 
     * These unique records will be provided as input to render the pivot table. 
     * 
     * For example, if the pivot table is connected to a million raw data with a combination of 1,000 unique data, it will be compressed to 1,000 unique data. 
     * By doing so, the time taken to render the pivot table will be drastically reduced, i.e. the pivot table will takes a maximum of 3 seconds instead of 10 seconds to complete its rendering.
     * These compressed data will also be used for further operations at all times to reduce the looping complexity and improves pivot table's performance while updating during runtime.
     * 
     * To use this option, it requires the property `enableVirtualization` to be **true**.
     * > This property is applicable only for relational data source.
     * @default false
     */
    allowDataCompression?: boolean;
    /**
     * Allows you to set the limit for displaying members while loading large data in the member filter dialog. 
     * Based on this limit, initial loading will be completed quickly without any performance constraint.
     * A message with remaining member count, that are not currently shown in the member filter dialog UI, will be displayed in the member editor.
     * > This property is not applicable to user-defined hierarchies in the OLAP data source.
     * @default 1000    
     */
    maxNodeLimitInMemberEditor?: number;
    /**
     * Allows you to set the maximum number of raw data that used to view it in a data grid inside a new window while performing drill through on summarized cells in the pivot table. 
     * For example, if the value cell has a combination of more than 50,000 records, it allows only 10,000 records fetch from the cube and displayed in the data grid.
     * > This property is applicable only for the OLAP data source.
     * @default 10000 
     */
    maxRowsInDrillThrough?: number;
    /**
     * Allows to load members inside the member filter dialog on-demand. 
     * The first level members will be loaded from the OLAP cube to display the member editor by default. 
     * As a result, the member editor will be opened quickly, without any performance constraints.
     * You can use either of the following actions to load  your next level members. The actions are: 
     * * By clicking on the respective member's expander button. By doing so, only the child members of the respective member will be loaded. 
     * * Choose the level from the drop-down button. By doing so, all the members up to the level chosen will be loaded from the cube.
     * 
     * Also, searching members will only be considered for the level members that are loaded.
     * > This property is applicable only for OLAP data source.
     * @default true    
     */
    loadOnDemandInMemberEditor?: boolean;
    /**
     * Allows to restrict the cross-site scripting while using cell template, meaning it will base.remove the unwanted scripts,styles or HTML in your cell template. 
     * > In general, the cross-site scripting known as XSS is a type of computer security vulnerability typically found in web applications.
     * It attacks enable attackers to inject client-side scripts into web pages viewed by other users.
     * @default true    
     */
    enableHtmlSanitizer?: boolean;
    /**
     * Allows the table cell elements to be customized with either an HTML string or the element’s ID, 
     * that can be used to add additional HTML elements with custom formats to the cell elements that are displayed in the pivot table.
     * @default null
     */
    cellTemplate?: string;
    /**
     * It allows to define the "ID" of div which is used as template in toolbar panel.
     * @default null
     */
    toolbarTemplate?: string;
    /**
     * Allows the tooltip element to be customized with either an HTML string or the element’s ID,
     * can be used to displayed with custom formats either by mouse hovering or by touch in the pivot table.
     * @default null
     */
    tooltipTemplate?: string;
    /**
     * Allows the appearance of the loading indicator to be customized with either an HTML string or the element’s ID, 
     * that can be used to displayed with custom formats in the pivot table.
     * @default null
     */
    spinnerTemplate?: string;
    /**
     * Allows you to show the grouping UI in the pivot table that automatically groups date, time, number and string at runtime 
     * by right clicking on the pivot table’s row or column header, base.select **Group**. This will shows a dialog in which you can perform grouping with appropriate options to group the data. 
     * To ungroup, right click on the pivot table’s row or column header, base.select **Ungroup**.
     * > This property is applicable only for relational data source.
     * @default false
     */
    allowGrouping?: boolean;
    /**
     * Allows you to export the pivot table data of all pages, i.e. the data that holds all the records given to render the pivot table will be exported as either an Excel or a PDF document.
     * 
     * To use this option, it requires the property `enableVirtualization` to be **true**.
     * @default true
     */
    exportAllPages?: boolean;
    /**
     * Allows you to show a menu with built-in aggregate options displayed in the pivot button's dropdown icon of field list and groupingBar UI. 
     * These aggregate options helps to display the values in the pivot table with appropriate aggregations such as sum, product, count, average, etc… easily at runtime. 
     * The available aggregate options are:
     * * `Sum`: Allows to display the pivot table values with sum.
     * * `Product`: Allows to display the pivot table values with product.
     * * `Count`: Allows to display the pivot table values with count.
     * * `DistinctCount`: Allows to display the pivot table values with distinct count.
     * * `Min`: Allows to display the pivot table with minimum value.
     * * `Max`: Allows to display the pivot table with maximum value.
     * * `Avg`: Allows to display the pivot table values with average.
     * * `Median`: Allows to display the pivot table values with median.
     * * `Index`: Allows to display the pivot table values with index.
     * * `PopulationStDev`: Allows to display the pivot table values with population standard deviation.
     * * `SampleStDev`: Allows to display the pivot table values with sample standard deviation.
     * * `PopulationVar`: Allows to display the pivot table values with population variance.
     * * `SampleVar`: Allows to display the pivot table values with sample variance.
     * * `RunningTotals`: Allows to display the pivot table values with running totals.
     * * `DifferenceFrom`: Allows to display the pivot table values with difference from the value of the base item in the base field.
     * * `PercentageOfDifferenceFrom`: Allows to display the pivot table values with percentage difference from the value of the base item in the base field.
     * * `PercentageOfGrandTotal`: Allows to display the pivot table values with percentage of grand total of all values.
     * * `PercentageOfColumnTotal`: Allows to display the pivot table values in each column with percentage of total values for the column.
     * * `PercentageOfRowTotal`: Allows to display the pivot table values in each row with percentage of total values for the row.
     * * `PercentageOfParentTotal`: Allows to display the pivot table values with percentage of total of all values based on selected field.
     * * `PercentageOfParentColumnTotal`: Allows to display the pivot table values with percentage of its parent total in each column.
     * * `PercentageOfParentRowTotal`: Allows to display the pivot table values with percentage of its parent total in each row.
     * 
     * > It is applicable ony for Relational data.
     * @default ['Sum', 'Count', 'DistinctCount', 'Product', 'Min', 'Max', 'Avg', 'Median', 'Index', 'PopulationVar', 'SampleVar',
     * 'PopulationStDev', 'SampleStDev', 'RunningTotals', 'PercentageOfGrandTotal', 'PercentageOfColumnTotal', 'PercentageOfRowTotal',
     * 'PercentageOfParentColumnTotal', 'PercentageOfParentRowTotal', 'DifferenceFrom', 'PercentageOfDifferenceFrom',
     * 'PercentageOfParentTotal']
     */
    aggregateTypes?: AggregateTypes[];
    /**
     * Allows you to display the pivot chart with specific chart types from built-in chart options, invoked from the toolbar. 
     * The available chart types are: 
     * * `Line`: Allows to display the pivot chart with line series.
     * * `Column`: Allows to display the pivot chart with column series.
     * * `Area`: Allows to display the pivot chart with area series.
     * * `Bar`: Allows to display the pivot chart with bar series.
     * * `StackingColumn`: Allows to display the pivot chart with stacked column series.
     * * `StackingArea`: Allows to display the pivot chart with stacked area series.
     * * `StackingBar`: Allows to display the pivot chart with stacked bar series.
     * * `StackingLine`: Allows to display the pivot chart with stacked line series.
     * * `StepLine`: Allows to display the pivot chart with step line series.
     * * `StepArea`: Allows to display the pivot chart with step area series.
     * * `SplineArea`: Allows to display the pivot chart with spline area series.
     * * `Scatter`: Allows to display the pivot chart with scatter series.
     * * `Spline`: Allows to display the pivot chart with spline series.
     * * `StackingColumn100`: Allows to display the pivot chart with 100% stacked column series.
     * * `StackingBar100`: Allows to display the pivot chart with 100% stacked bar series.
     * * `StackingArea100`: Allows to display the pivot chart with 100% stacked area series.
     * * `StackingLine100`: Allows to display the pivot chart with 100% stacked line series.
     * * `Bubble`: Allows to display the pivot chart with bubble series.
     * * `Pareto`: Allows to display the pivot chart with pareto series.
     * * `Polar`: Allows to display the pivot chart with polar series.
     * * `Radar`: Allows to display the pivot chart with radar series.
     * * `Pie`: Allows to display the pivot chart with pie series.
     * * `Doughnut`: Allows to display the pivot chart with doughnut series.
     * * `Funnel`: Allows to display the pivot chart with funnel series.
     * * `Pyramid`: Allows to display the pivot chart with pyramid series.
     * 
     * To use this option, the `showToolbar` property must be **true** along with toolbar option **charts.Chart**
     * to be set to the `toolbar` property.
     * @default ['Line', 'Column', 'Area', 'Bar', 'StackingColumn', 'StackingArea', 'StackingBar', 'StepLine', 'StepArea',
     * 'SplineArea','StackingLine', 'Scatter', 'Spline', 'StackingColumn100', 'StackingBar100', 'StackingArea100', 'StackingLine100', 'Bubble', 'Pareto', 'Polar',
     * 'Radar', 'Pie', 'Doughnut', 'Funnel', 'Pyramid' ])
     */
    chartTypes?: ChartSeriesType[];
    /**
     * Allows you to add the CSS class name to the pivot table element. 
     * Use this class name, you can customize the pivot table and its inner elements easily at your end.
     * @default ''
     */
    cssClass?: string;
    /**
     * @hidden
     */
    queryCellInfo?: base.EmitType<grids.QueryCellInfoEventArgs>;
    /**
     * @hidden
     */
    headerCellInfo?: base.EmitType<grids.HeaderCellInfoEventArgs>;
    /**
     * @hidden
     */
    resizing?: base.EmitType<grids.ResizeArgs>;
    /**
     * @hidden
     */
    resizeStop?: base.EmitType<grids.ResizeArgs>;
    /**
     * @hidden
     */
    pdfHeaderQueryCellInfo?: base.EmitType<grids.PdfHeaderQueryCellInfoEventArgs>;
    /**
     * @hidden
     */
    pdfQueryCellInfo?: base.EmitType<grids.PdfQueryCellInfoEventArgs>;
    /**
     * @hidden
     */
    excelHeaderQueryCellInfo?: base.EmitType<grids.ExcelHeaderQueryCellInfoEventArgs>;
    /**
     * @hidden
     */
    excelQueryCellInfo?: base.EmitType<grids.ExcelQueryCellInfoEventArgs>;
    /**
    columnDragStart?: base.EmitType<grids.ColumnDragEventArgs>;
    /**
    columnDrag?: base.EmitType<grids.ColumnDragEventArgs>;
    /**
    columnDrop?: base.EmitType<grids.ColumnDragEventArgs>;
    /**
    beforePdfExport?: base.EmitType<Object>;
    /**
    beforeExcelExport?: base.EmitType<Object>;
    /**
     * @hidden
     */
    beforeColumnsRender?: base.EmitType<ColumnRenderEventArgs>;
    /**
     * @hidden
     */
    selected?: base.EmitType<grids.CellSelectEventArgs>;
    /**
     * @hidden
     */
    cellDeselected?: base.EmitType<grids.CellDeselectEventArgs>;
    /**
     * @hidden
     */
    rowSelected?: base.EmitType<grids.RowSelectEventArgs>;
    /**
     * @hidden
     */
    rowDeselected?: base.EmitType<grids.RowDeselectEventArgs>;
    /**
     * @hidden
     */
    chartTooltipRender?: base.EmitType<charts.ITooltipRenderEventArgs>;
    /**
     * @hidden
     */
    chartLegendClick?: base.EmitType<charts.ILegendClickEventArgs>;
    /**
     * @hidden
     */
    chartLoaded?: base.EmitType<charts.ILoadedEventArgs>;
    /**
    chartLoad?: base.EmitType<charts.ILoadedEventArgs>;
    /**
     * @hidden
     */
    chartResized?: base.EmitType<charts.IResizeEventArgs>;
    /**
     * @hidden
     * @deprecated
     */
    chartAxisLabelRender?: base.EmitType<charts.IAxisLabelRenderEventArgs>;
    /**
     * @hidden
     * @deprecated
     */
    multiLevelLabelClick?: base.EmitType<MultiLevelLabelClickEventArgs>;
    /**
    chartPointClick?: base.EmitType<charts.IPointEventArgs>;
    /**
     * @hidden
     * @deprecated
     */
    contextMenuClick?: base.EmitType<grids.ContextMenuClickEventArgs>;
    /**
     * @hidden
     * @deprecated
     */
    contextMenuOpen?: base.EmitType<navigations.BeforeOpenCloseMenuEventArgs>;
    /**
     * It allows any customization of Pivot cell style while PDF exporting.
     * @event
     */
    onPdfCellRender?: base.EmitType<PdfCellRenderArgs>;
    /**
     * It allows you to save the report to the specified storage.
     * @event
     */
    saveReport?: base.EmitType<SaveReportArgs>;
    /**
     * It allows you to fetch the report names from specified storage.
     * @event
     */
    fetchReport?: base.EmitType<FetchReportArgs>;
    /**
     * It allows to load the report from specified storage.
     * @event
     */
    loadReport?: base.EmitType<LoadReportArgs>;
    /**
     * It allows you to rename the current report.
     * @event
     */
    renameReport?: base.EmitType<RenameReportArgs>;
    /**
     * It allows you to base.remove the current report from the specified storage.
     * @event
     */
    removeReport?: base.EmitType<RemoveReportArgs>;
    /**
     * It allows to set the new report.
     * @event
     */
    newReport?: base.EmitType<NewReportArgs>;
    /**
     * It allows to change the toolbar items.
     * @event
     */
    toolbarRender?: base.EmitType<ToolbarArgs>;
    /**
     * It allows to change the toolbar items.
     * @event
     */
    toolbarClick?: base.EmitType<navigations.ClickEventArgs>;
    /**
     * It allows any customization on the pivot table component properties on initial rendering.
     * Based on the changes, pivot table will be redered.
     * @event
     */
    load?: base.EmitType<LoadEventArgs>;
    /**
     * It triggers before the pivot engine starts to populate and allows to customize the pivot datasource settings. 
     * @event
     */
    enginePopulating?: base.EmitType<EnginePopulatingEventArgs>;
    /**
     * It triggers after the pivot engine populated and allows to customize the pivot datasource settings.
     * @event
     */
    enginePopulated?: base.EmitType<EnginePopulatedEventArgs>;
    /**
     * It triggers after a field dropped into the axis.
     * @event
     */
    onFieldDropped?: base.EmitType<FieldDroppedEventArgs>;
    /**
     * It triggers before a field drops into any axis.
     * @event
     */
    fieldDrop?: base.EmitType<FieldDropEventArgs>;
    /**
     * It triggers when a field drag (move) starts.
     * @event
     */
    fieldDragStart?: base.EmitType<FieldDragStartEventArgs>;
    /**
     * It triggers when the pivot table rendered.
     * @event
     */
    dataBound?: base.EmitType<Object>;
    /**
     * It triggers when the pivot table component is created.
     * @event
     */
    created?: base.EmitType<Object>;
    /**
     * It triggers when pivot table component getting destroyed.
     * @event
     */
    destroyed?: base.EmitType<Object>;
    /**
     * It allows to set properties for exporting.
     * @event
     */
    beforeExport?: base.EmitType<BeforeExportEventArgs>;
    /**
     * It triggers when exporting to PDF, Excel, or CSV is complete
     * @event
     */
    exportComplete?: base.EmitType<ExportCompleteEventArgs>
    /**
     * It allows to do changes before applying the conditional formatting.
     * @event
     */
    conditionalFormatting?: base.EmitType<IConditionalFormatSettings>;
    /**
     * It triggers before the filtering applied.
     * @event
     */
    memberFiltering?: base.EmitType<MemberFilteringEventArgs>;
    /**
     * It triggers when a cell is clicked in the pivot table.
     * @event
     */
    cellClick?: base.EmitType<CellClickEventArgs>;
    /**
     * It triggers when a value cell is clicked in the pivot table for Drill-Through.
     * @event
     */
    drillThrough?: base.EmitType<DrillThroughEventArgs>;
    /**
    * It triggers when editing is made in the raw data of pivot table.
    * @event
    */
    editCompleted?: base.EmitType<EditCompletedEventArgs>;
    /**
     * It triggers when a value cell is clicked in the pivot table for Editing.
     * @event
     */
    beginDrillThrough?: base.EmitType<BeginDrillThroughEventArgs>;
    /**
     * It triggers when a hyperlink cell is clicked in the pivot table.
     * @event
     */
    hyperlinkCellClick?: base.EmitType<HyperCellClickEventArgs>;
    /**
     * It triggers before a cell selected in pivot table.
     * @event
     */
    cellSelecting?: base.EmitType<PivotCellSelectedEventArgs>;
    /**
     * It triggers before the header to be either expanded or collapsed in the pivot table.
     * @event
     */
    drill?: base.EmitType<DrillArgs>;
    /**
     * It triggers when a cell got selected in the pivot table.
     * @event
     */
    cellSelected?: base.EmitType<PivotCellSelectedEventArgs>;
    /**
     * It triggers when the pivot chart series are created.
     * @event
     */
    chartSeriesCreated?: base.EmitType<ChartSeriesCreatedEventArgs>;
    /**
     * It allows to change the each cell value during engine populating.
     * @event
     * @deprecated
     */
    aggregateCellInfo?: base.EmitType<AggregateEventArgs>;
    /**
     * It allows to identify whether the field list updated or not.
     * @event
     */
    fieldListRefreshed?: base.EmitType<FieldListRefreshedEventArgs>;
    /**
     * It triggers before member editor dialog opens.
     * @event
     */
    memberEditorOpen?: base.EmitType<MemberEditorOpenEventArgs>;
    /**
     * It triggers before a calculated field created/edited during runtime.
     * @event
     */
    calculatedFieldCreate?: base.EmitType<CalculatedFieldCreateEventArgs>;
    /**
     * It triggers before number format is apllied to specific field during runtime.
     * @event
     */
    numberFormatting?: base.EmitType<NumberFormattingEventArgs>;
    /**
     * It triggers before aggregate type context menu opens.
     * @event
     */
    aggregateMenuOpen?: base.EmitType<AggregateMenuOpenEventArgs>;
    /**
     * It triggers before removing the field from any axis during runtime.
     * @event
     */
    fieldRemove?: base.EmitType<FieldRemoveEventArgs>;
    /**
     * It triggers before service get invoked from client.
     * @event
     */
    beforeServiceInvoke?: base.EmitType<BeforeServiceInvokeEventArgs>;
    /**
     * It triggers when UI action begins in the Pivot Table. The UI actions used to trigger this event such as
     * [`drill down/up`](../../pivotview/drill-down/#drill-down-and-drill-up),
     * [`value sorting`](../../pivotview/sorting/#value-sorting),
     * built-in [`toolbar`](../../pivotview/tool-bar/#built-in-toolbar-options) options,
     * [`grouping bar`](../../pivotview/grouping-bar/) and
     * [`field list`](../../pivotview/field-list/) buttons actions such as 
     * [`sorting`](../../pivotview/sorting/), [`filtering`](../../pivotview/filtering/),
     * [`editing`](../../pivotview/calculated-field/#editing-through-the-field-list-and-the-groupingbar), 
     * [`aggregate type`](../../pivotview/aggregation/#modifying-aggregation-type-for-value-fields-at-runtime) change and so on, 
     * CRUD operation in [`editing`](../../pivotview/editing/).
     * @event
     */
    actionBegin?: base.EmitType<PivotActionBeginEventArgs>;
    /**
     * It triggers when UI action in the Pivot Table completed. The UI actions used to trigger this event such as
     * [`drill down/up`](../../pivotview/drill-down/#drill-down-and-drill-up),
     * [`value sorting`](../../pivotview/sorting/#value-sorting),
     * built-in [`toolbar`](../../pivotview/tool-bar/#built-in-toolbar-options) options,
     * [`grouping bar`](../../pivotview/grouping-bar/) and
     * [`field list`](../../pivotview/field-list/) buttons actions such as 
     * [`sorting`](../../pivotview/sorting/), [`filtering`](../../pivotview/filtering/),
     * [`editing`](../../pivotview/calculated-field/#editing-through-the-field-list-and-the-groupingbar), 
     * [`aggregate type`](../../pivotview/aggregation/#modifying-aggregation-type-for-value-fields-at-runtime) change and so on, 
     * CRUD operation in [`editing`](../../pivotview/editing/).
     * @event
     */
    actionComplete?: base.EmitType<PivotActionCompleteEventArgs>;
    /**
     * It triggers when UI action failed to achieve the desired results in the Pivot Table. The UI actions used to trigger this event such as
     * [`drill down/up`](../../pivotview/drill-down/#drill-down-and-drill-up),
     * [`value sorting`](../../pivotview/sorting/#value-sorting),
     * built-in [`toolbar`](../../pivotview/tool-bar/#built-in-toolbar-options) options,
     * [`grouping bar`](../../pivotview/grouping-bar/) and
     * [`field list`](../../pivotview/field-list/) buttons actions such as 
     * [`sorting`](../../pivotview/sorting/), [`filtering`](../../pivotview/filtering/),
     * [`editing`](../../pivotview/calculated-field/#editing-through-the-field-list-and-the-groupingbar), 
     * [`aggregate type`](../../pivotview/aggregation/#modifying-aggregation-type-for-value-fields-at-runtime) change and so on, 
     * CRUD operation in [`editing`](../../pivotview/editing/).
     * @event
     */
    actionFailure?: base.EmitType<PivotActionFailureEventArgs>;
    /**
     * It triggers before the sorting performed.
     * @event
     */
    onHeadersSort?: base.EmitType<HeadersSortEventArgs>;
}
//node_modules/@syncfusion/ej2-pivotview/src/pivotview/base/pivotview.d.ts
/**
 * Allows a set of options for customizing the grouping bar UI with a variety of settings such as UI visibility to a specific view port,
 * customizing the pivot button features such as filtering, sorting, changing aggregate types, removing any fields.
 * The options available to customize the grouping bar UI are:
 * * `showFilterIcon`: Allows you to show or hide the filter icon that used to be displayed on the pivot button of the grouping bar UI.
 * This filter icon is used to filter the members of a particular field at runtime in the pivot table.
 * * `showSortIcon`: Allows you to show or hide the sort icon that used to be displayed in the pivot button of the grouping bar UI.
 * This sort icon is used to order members of a particular fields either in ascending or descending at runtime.
 * * `showRemoveIcon`: Allows you to show or hide the remove icon that used to be displayed in the pivot button of the grouping bar UI.
 * This remove icon is used to remove any field during runtime.
 * * `showValueTypeIcon`: Allows you to show or hide the value type icon that used to be displayed in the pivot button of the grouping bar UI.
 * This value type icon helps to select the appropriate aggregation type to value fields at runtime.
 * * `displayMode`: Allow options to show the grouping bar UI to specific view port such as either pivot table or pivot chart or both table and chart.
 * For example, to show the grouping bar UI to pivot table on its own, set the property `displayMode` to **Table**.
 * * `allowDragAndDrop`: Allows you to restrict the pivot buttons that were used to drag on runtime in the grouping bar UI. This will prevent you from modifying the current report.
 */
export  class GroupingBarSettings extends base.ChildProperty<GroupingBarSettings> {
    /**
     * Allows you to show or hide the filter icon that used to be displayed on the pivot button of the grouping bar UI.
     * This filter icon is used to filter the members of a particular field at runtime in the pivot table.
     * > By default, the filter icon is enabled in the grouping bar.
     * @default true
     */
    showFilterIcon: boolean;
    /**
     * Allows you to show or hide the sort icon that used to be displayed in the pivot button of the grouping bar UI.
     * This sort icon is used to order members of a particular fields either in ascending or descending at runtime.
     * > By default, the sort icon is enabled in the grouping bar.
     * @default true
     */
    showSortIcon: boolean;
    /**
     * Allows you to show or hide the remove icon that used to be displayed in the pivot button of the grouping bar UI. This remove icon is used to remove any field during runtime.
     * > By default, the remove icon is enabled in the grouping bar.
     * @default true
     */
    showRemoveIcon: boolean;
    /**
     * Allows you to show or hide the value type icon that used to be displayed in the pivot button of the grouping bar UI.
     * This value type icon helps to select the appropriate aggregation type to value fields at runtime.
     * > By default, the icon to set aggregate types is enabled in the grouping bar.
     * @default true
     */
    showValueTypeIcon: boolean;
    /**
     * Allow options to show the grouping bar UI to specific view port such as either pivot table or pivot chart or both table and chart.
     * For example, to show the grouping bar UI to pivot table on its own, set the property `displayMode` to **Table**.
     * > By default, the grouping bar UI will be shown to both pivot table as well as pivot chart.
     * @default Both
     */
    displayMode: View;
    /**
     * Allows you to restrict the pivot buttons that were used to drag on runtime in the grouping bar UI.
     * This will prevent you from modifying the current report.
     * > By default, all fields are available for drag-and-drop operation in the grouping bar.
     * @default true
     */
    allowDragAndDrop: boolean;
    /**
     * Allows you to show an additional UI along with the grouping bar UI, which contains the fields that aren't bound in the current report.
     * It allows you to modify the report by re-arranging the pivot buttons through drag-and-drop operation between axes (row, column, value and filter)
     * that are used to update the pivot table during runtime.
     * > This property is applicable only for relational data source.
     * @default false
     */
    showFieldsPanel: boolean;
}
/**
 * Allow options for performing CRUD operations, such as add, edit, delete, and update the raw items of any cell from the pivot table.
 * The raw items can be viewed in a data grid that used to be displayed as a dialog by double-clicking the appropriate value cell in the pivot table.
 * CRUD operations can be performed in this data grid either by double-clicking the cells or using toolbar options.
 * The options available are as follows:
 * * `allowAdding`: Allows you to add a new record to the data grid used to update the appropriate cells in the pivot table.
 * * `allowEditing`: Allows you to edit the existing record in the data grid that used to update the appropriate cells in the pivot table.
 * * `allowDeleting`: Allows you to delete the existing record from the data grid that used to  update the appropriate cells in the pivot table.
 * * `allowCommandColumns`: Allows an additional column appended in the data grid layout holds the command buttons to perform the CRUD operations to edit,
 * delete, and update the raw items to the data grid that used to update the appropriate cells in the pivot table.
 * * `mode`: Allow options for performing CRUD operations with different modes in the data grid that used to update the appropriate cells in the pivot table.
 * The available modes are normal, batch and dialog. **Normal** mode is enabled for CRUD operations in the data grid by default.
 * * `allowEditOnDblClick`: Allows you to restrict CRUD operations by double-clicking the appropriate value cell in the pivot table.
 * * `showConfirmDialog`: Allows you to show the confirmation dialog to save and discard CRUD operations performed in the data grid that used to update the appropriate cells in the pivot table.
 * * `showDeleteConfirmDialog`: Allows you to show the confirmation dialog to delete any records from the data grid.
 *
 * > This feature is applicable only for the relational data source.
 */
export  class CellEditSettings extends base.ChildProperty<CellEditSettings> implements grids.EditSettingsModel {
    /**
     * Allows you to add a new record to the data grid used to update the appropriate cells in the pivot table.
     * @default false
     */
    allowAdding: boolean;
    /**
     * Allows you to edit the existing record in the data grid that used to update the appropriate cells in the pivot table.
     * @default false
     */
    allowEditing: boolean;
    /**
     * Allows you to delete the existing record from the data grid that used to  update the appropriate cells in the pivot table.
     * @default false
     */
    allowDeleting: boolean;
    /**
     * Allows an additional column appended in the data grid layout holds the command buttons to perform the CRUD operations to
     * edit, delete, and update the raw items to the data grid that used to update the appropriate cells in the pivot table.
     * @default false
     */
    allowCommandColumns: boolean;
    /**
    * Allows direct editing of a value cell without opening the edit dialog. NOTE: It is applicable only if the value cell is made by a single raw data. Otherwise editing dialog will be shown.
    * > The `allowInlineEditing` property supports all modes of editing.
    * @default false
    */
    allowInlineEditing: boolean;
    /**
     * Allow options for performing CRUD operations with different modes in the data grid that used to update the appropriate cells in the pivot table.
     * The available modes are as follows:
     * * `Normal`: Allows the currently selected row alone will be completely changed to edit state. You can change the cell values and save it to the data source by clicking “Update” toolbar button.
     * * `Dialog`: Allows the currently selected row data will be shown in an exclusive dialog. You can change the cell values and save it to the data source by clicking “Save” button in the dialog.
     * * `Batch`: Allows you to perform double-click on any data specific cell in the data grid, the state of that selected cell will be changed to edit state.
     * You can perform bulk changes like add, edit and delete data of the cells and finally save to the data source by clicking “Update” toolbar button.
     *
     * > Normal mode is enabled for CRUD operations in the data grid by default.
     * @default Normal
     */
    mode: EditMode;
    /**
     * Allows you to restrict CRUD operations by double-clicking the appropriate value cell in the pivot table.
     * @default true
     */
    allowEditOnDblClick: boolean;
    /**
     * Allows you to show a confirmation dialog to save and discard CRUD operations performed in the data grid that used to update the appropriate cells in the pivot table.
     * > To use this option, it requires the property `mode` to be **Batch**, meaning, the `showConfirmDialog` option is only applicable for batch edit mode.
     * @default true
     */
    showConfirmDialog: boolean;
    /**
     * Allows you to show the confirmation dialog to delete any records from the data grid.
     * > The `showDeleteConfirmDialog` property supports all modes of editing.
     * @default false
     */
    showDeleteConfirmDialog: boolean;
}
/**
 * Allow options for setting the visibility of hyperlink based on specific condition. The options available here are as follows:
 * * `measure`: Allows you to specify the value field caption to get visibility of hyperlink option for specific measure.
 * * `condition`: Allows you to choose the operator type such as equals, greater than, less than, etc.
 * * `value1`: Allows you to set the start value.
 * * `value2`: Allows you to set the end value. This option will be used by default when the operator **Between** and **NotBetween** is chosen to apply.
 */
export  class ConditionalSettings extends base.ChildProperty<ConditionalSettings> {
    /**
     * Allows you to specify the value field caption to get visibility of hyperlink option for specific measure.
     */
    measure: string;
    /**
     * Allows you to specify the row or column header to get visibility of hyperlink option for specifc row or column header.
     */
    label: string;
    /**
     * Allows you to choose the operator type such as equals, greater than, less than, etc. The available operators are as follows:
     * * `LessThan`: Allows you to get the cells that have a value that is less than the start value.
     * * `GreaterThan`: Allows you to get the cells that have a value that is greater than the start value.
     * * `LessThanOrEqualTo`: Allows you to get the cells that have a value that is lesser than or equal to the start value.
     * * `GreaterThanOrEqualTo`: Allows you to get the cells that have a value that is greater than or equal to the start value.
     * * `Equals`:  Allows you to get the cells that have a value that matches with the start value.
     * * `NotEquals`: Allows you to get the cells that have a value that does not match with the start value.
     * * `Between`: Allows you to get the cells that have a value that between the start and end value.
     * * NotBetween: Allows you to get the cells that have a value that is not between the start and end value.
     * @default NotEquals
     */
    conditions: Condition;
    /**
     * Allows you to set the start value to get visibility of hyperlink option based on the condition applied.
     * For example, if the start value is 500 and the condition Equals is used, the hyperlink should be enabled to the cells that hold the value of 500 alone.
     */
    value1: number;
    /**
     * Allows you to set the end value to get visibility of hyperlink option based on the condition applied.
     * For example, if the start value is 500, the end value is 1500 and the condition Between is used, the hyperlink should be enabled to the cells that holds the value between 500 to 1500.
     * > This option will be used by default when the operator **Between** and **NotBetween** is chosen to apply.
     */
    value2: number;
}
/**
 * Allow a set of options to display a hyperlink to link data for individual cells that are shown in the pivot table.
 * These options allow you to enable a separate hyperlink for row headers, column headers, value cells, and summary cells in the `hyperlinkSettings` class.
 * The options available are:
 * * `showHyperlink`: Allows you to set the visibility of hyperlink in all cells.
 * * `showRowHeaderHyperlink`: Allows you to set the visibility of hyperlink in row headers.
 * * `showColumnHeaderHyperlink`: Allows you to set the visibility of hyperlink in column headers.
 * * `showValueCellHyperlink`: Allows you to set the visibility of hyperlink in value cells.
 * * `showSummaryCellHyperlink`: Allows you to set the visibility of hyperlink in summary cells.
 * * `headerText`: Allows you to set the visibility of hyperlink based on header text.
 * * `conditionalSettings`: Allows you to set the visibility of hyperlink based on specific condition.
 * * `cssClass`: Allows you to add CSS class name to the hyperlink options.
 *
 * > By default, the hyperlink options are disabled for all cells in the pivot table.
 */
export  class HyperlinkSettings extends base.ChildProperty<HyperlinkSettings> {
    /**
     * Allows you to set the visibility of hyperlink in all cells that are currently shown in the pivot table.
     * @default false
     */
    showHyperlink: boolean;
    /**
     * Allows you to set the visibility of hyperlink in row headers that are currently shown in the pivot table.
     * @default false
     */
    showRowHeaderHyperlink: boolean;
    /**
     * Allows you to set the visibility of hyperlink in column headers that are currently shown in the pivot table.
     * @default false
     */
    showColumnHeaderHyperlink: boolean;
    /**
     * Allows you to set the visibility of hyperlink in value cells that are currently shown in the pivot table.
     * @default false
     */
    showValueCellHyperlink: boolean;
    /**
     * Allows you to set the visibility of hyperlink in summary cells that are currently shown in the pivot table.
     * @default false
     */
    showSummaryCellHyperlink: boolean;
    /**
     * Allow options for setting the visibility of hyperlink based on specific condition. The options available here are as follows:
     * * `measure`: Allows you to specify the value field caption to get visibility of hyperlink option for specific measure.
     * * `condition`: Allows you to choose the operator type such as equals, greater than, less than, etc.
     * * `value1`: Allows you to set the start value.
     * * `value2`: Allows you to set the end value. This option will be used by default when the operator **Between** and **NotBetween** is chosen to apply.
     * @default []
     */
    conditionalSettings: ConditionalSettingsModel[];
    /**
     * Allows you to set the visibility of hyperlink in the cells based on specific row or column header.
     */
    headerText: string;
    /**
     * Allows you to add the CSS class name to the hyperlink options. Use this class name you can apply styles to a hyperlink easily at your end.
     * @default ''
     */
    cssClass: string;
}
/**
 * Allows you to configure page information such as page size and current page details for each axis in order to display the pivot table with a specific page when paging.
 */
export  class PageSettings extends base.ChildProperty<PageSettings> {
    /**
     * It allows to set the total column count of the pivot table.
     * @default 5
     */
    columnPageSize: number;
    /**
     * It allows to set the total row count of the pivot table.
     * @default 5
     */
    rowPageSize: number;
    /**
     * It allows to set the current column page count displayed in the pivot table.
     * @default 1
     */
    currentColumnPage: number;
    /**
     * It allows to set the current row page count displayed in the pivot table.
     * @default 1
     */
    currentRowPage: number;
}
/**
 * Allows a set of options for customizing the paging UI with a variety of settings such as UI position, template and visibility to a specific axis info such as page size, paging data.
 * > To use this option, it requires the property `enablePaging` to be true.
 */
export  class PagerSettings extends base.ChildProperty<PagerSettings> {
    /**
     * Allows to display the pager UI either at top or bottom of the Pivot Table UI.
     * @default Bottom
     */
    position: PagerPosition;
    /**
     * When the property is set to “true”, it allows to display the row and column paging options as vice versa.
     * > In pager UI, paging options for column axis will be shown at left-side and for row will be shown at right-side.
     * @default false
     */
    isInversed: boolean;
    /**
     * Allows to show or hide row paging options in the pager UI.
     * @default true
     */
    showRowPager: boolean;
    /**
     * Allows to show or hide column paging options in the pager UI.
     * @default true
     */
    showColumnPager: boolean;
    /**
     * Allows to show row page size information in the pager UI.
     * @default true
     */
    showRowPageSize: boolean;
    /**
    * Allows to show column page size information in the pager UI.
    * @default true
    */
    showColumnPageSize: boolean;
    /**
     * Allows you to choose from a variety of page sizes in the paging UI that can be used to display the pivot table's rows.
     * @default [10, 50, 100, 200]
     */
    rowPageSizes: number[];
    /**
     * Allows you to choose from a variety of page sizes in the paging UI that can be used to display the pivot table's columns.
     * @default [5, 10, 20, 50, 100]
     */
    columnPageSizes: number[];
    /**
     * Allows the paging UI to be displayed with the absolute minimum of information by hiding all paging data except for the navigation options.
     * @default false
     */
    enableCompactView: boolean;
    /**
     * Allows the pager UI to be customized by using an HTML string or the element's ID to display custom elements instead of the standard ones.
     * @default null
     */
    template: string;
}
/**
 * Allow options to configure the view port as either pivot table or pivot chart or both table and chart. The options available are:
 * * `view`: Allows you to choose the view port as either pivot table or pivot chart or both table and chart.
 * * `primary`: Allows you to set the primary view to be either pivot table or pivot chart. To use this option, it requires the property `view` to be **Both**.
 */
export  class DisplayOption extends base.ChildProperty<DisplayOption> {
    /**
     * Allows you to choose the view port as either table or chart or both table and chart. The available options are:
     * * `Table`: Allows you to render the component as tabular form.
     * * `charts.Chart`: Allows you to render the component as graphical format.
     * * `Both`: Allows you to render the component as both table and chart.
     * > By default, **Table** is used as a default view in the component.
     * @default Table
     */
    view: View;
    /**
     * Allows you to set the primary view to be either table or chart.The available options are:
     * * `Table`: Allows you to display the pivot table as primary view.
     * * `charts.Chart`: Allows you to display the pivot chart as primary view.
     * > To use this option, it requires the property `view` to be **Both**.
     * @default Table
     */
    primary: Primary;
}
/**
 * Represents the PivotView component.
 * ```html
 * <div id="PivotView"></div>
 * <script>
 *  var pivotviewObj = new PivotView({ enableGroupingBar: true });
 *  pivotviewObj.appendTo("#pivotview");
 * </script>
 * ```
 */
export  class PivotView extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    /** @hidden */
    globalize: base.Internationalization;
    /** @hidden */
    localeObj: base.L10n;
    /** @hidden */
    dataType: string;
    /** @hidden */
    tooltip: popups.Tooltip;
    /** @hidden */
    grid: grids.Grid;
    /** @hidden */
    chart: charts.Chart | charts.AccumulationChart;
    /** @hidden */
    currentView: Primary;
    /** @hidden */
    isChartLoaded: boolean;
    /** @hidden */
    isDragging: boolean;
    /** @hidden */
    isAdaptive: boolean;
    /** @hidden */
    isTouchMode: boolean;
    /** @hidden */
    fieldListSpinnerElement: HTMLElement;
    /** @hidden */
    isRowCellHyperlink: boolean;
    /** @hidden */
    isColumnCellHyperlink: boolean;
    /** @hidden */
    isValueCellHyperlink: boolean;
    /** @hidden */
    isSummaryCellHyperlink: boolean;
    /** @hidden */
    clonedDataSet: IDataSet[];
    /** @hidden */
    clonedReport: DataSourceSettingsModel;
    /** @hidden */
    verticalScrollScale: number;
    /** @hidden */
    resizedValue: number;
    /** @hidden */
    horizontalScrollScale: number;
    /** @hidden */
    scrollerBrowserLimit: number;
    /** @hidden */
    lastSortInfo: ISort;
    /** @hidden */
    lastFilterInfo: IFilter;
    /** @hidden */
    lastAggregationInfo: IFieldOptions;
    /** @hidden */
    lastCalcFieldInfo: ICalculatedFields;
    /** @hidden */
    lastCellClicked: Element;
    /** @hidden */
    isScrolling: boolean;
    /** @hidden */
    lastColumn: Object;
    /** @hidden */
    minHeight: number;
    pivotView: PivotView;
    /** @hidden */
    renderModule: Render;
    /** @hidden */
    engineModule: PivotEngine;
    /** @hidden */
    olapEngineModule: OlapEngine;
    /** @hidden */
    pivotCommon: PivotCommon;
    /** @hidden */
    axisFieldModule: AxisFields;
    /** @hidden */
    groupingBarModule: GroupingBar;
    /** @hidden */
    pivotButtonModule: PivotButton;
    /** @hidden */
    commonModule: Common;
    /** @hidden */
    pivotFieldListModule: PivotFieldList;
    /** @hidden */
    excelExportModule: ExcelExport;
    /** @hidden */
    pdfExportModule: PDFExport;
    /** @hidden */
    virtualscrollModule: VirtualScroll;
    /** @hidden */
    drillThroughModule: DrillThrough;
    /** @hidden */
    calculatedFieldModule: CalculatedField;
    /** @hidden */
    conditionalFormattingModule: ConditionalFormatting;
    /** @hidden */
    keyboardModule: KeyboardInteraction;
    /** @hidden */
    contextMenuModule: PivotContextMenu;
    /** @hidden */
    toolbarModule: Toolbar;
    /** @hidden */
    pagerModule: Pager;
    /** @hidden */
    pivotChartModule: PivotChart;
    /** @hidden */
    numberFormattingModule: NumberFormatting;
    /** @hidden */
    groupingModule: Grouping;
    /** @hidden */
    exportType: string;
    /** @hidden */
    notEmpty: boolean;
    /** @hidden */
    currentAction: string;
    /** @hidden */
    scrollDirection: string;
    /** @hidden */
    isInitial: boolean;
    private defaultLocale;
    private timeOutObj;
    private savedDataSourceSettings;
    private isEmptyGrid;
    private shiftLockedPos;
    private savedSelectedCellsPos;
    private cellSelectionPos;
    private isPopupClicked;
    private isMouseDown;
    private isMouseUp;
    private lastSelectedElement;
    private fieldsType;
    private remoteData;
    private defaultItems;
    private isCellBoxMultiSelection;
    /** @hidden */
    gridHeaderCellInfo: CellTemplateArgs[];
    /** @hidden */
    gridCellCollection: {
        [key: string]: HTMLElement;
    };
    /** @hidden */
    rowRangeSelection: {
        enable: boolean;
        startIndex: number;
        endIndex: number;
    };
    /** @hidden */
    isStaticRefresh: boolean;
    /** @hidden */
    virtualDiv: HTMLElement;
    /** @hidden */
    virtualHeaderDiv: HTMLElement;
    /** @hidden */
    resizeInfo: ResizeInfo;
    /** @hidden */
    scrollPosObject: ScrollInfo;
    /** @hidden */
    pivotColumns: PivotColumn[];
    /** @hidden */
    firstColWidth: number | string;
    /** @hidden */
    totColWidth: number;
    /** @hidden */
    posCount: number;
    /** @hidden */
    isModified: boolean;
    /** @hidden */
    private isInitialRendering;
    /** @hidden */
    drillThroughElement: Element;
    /** @hidden */
    drillThroughValue: IAxisSet;
    /** @hidden */
    lastGridSettings: GridSettingsModel;
    /** @hidden */
    mouseEventArgs: base.MouseEventArgs;
    /** @hidden */
    filterTargetID: HTMLElement;
    protected needsID: boolean;
    private cellTemplateFn;
    private tooltipTemplateFn;
    private pivotRefresh;
    private selectedRowIndex;
    private request;
    /** @hidden */
    guid: string;
    /** @hidden */
    isServerWaitingPopup: boolean;
    /** @hidden */
    actionObj: PivotActionCompleteEventArgs;
    /**
     * Allows values with a specific country currency format to be displayed in the pivot table.
     * Standard currency codes referred to as ISO 4217 can be used for the formatting of currency values.
     * For example, to display "US Dollar($)" currency values, set the `currencyCode` to **USD**.
     * > It is applicable ony for Relational data.
     * @private
     */
    private currencyCode;
    /**
     * Allows built-in popup field list to be enabled in the pivot table UI.
     * The popup field list will be displayed over the pivot table UI without affecting any form of UI shrink,
     * and allows to manipulate the pivot report through different ways such as add or remove fields and
     * also rearrange them between different axes, including column, row, value, and filter along with sort and
     * filter options dynamically at runtime to update the pivot table.
     * > By default, the icon used to display the field list will be positioned at the top left corner of the pivot table UI.
     * When groupingBar is enabled, the icon will be placed at the top right corner of the pivot table.
     * @default false
     */
    showFieldList: boolean;
    /**
     * Allows the set of options to customize rows, columns, values cell and its content in the pivot table. The following options to customize the pivot table are:
     * * `height`: Allow the height of the pivot table content to be set,
     * meaning that the height given should be applied without considering the column headers in the pivot table.
     * * `width`: Allow to set width of the pivot table. **Note: The pivot table will not display less than 400px,
     * as it is the minimum width to the component.**
     * * `gridLines`: Allow the options for customizing the cell borders of each cell to be displayed in the pivot table.
     * For example, to display a pivot table without cell borders, set the property `gridLines` to **None**.
     * * `allowTextWrap`: Allow the contents of the cells to be wrapped when they exceed the width of the cells in the pivot table.
     * * `textWrapSettings`: Allows options to wrap either column and row header or value or both header and cell content.
     * For example, to allow the wrap option to value cells alone, then set the property `wrapMode` to **Content** in the `textWrapSettings` class.
     * * `allowReordering`: Allows to reorder a specific column header from one index to another index in the pivot table by drag-and-drop.
     * * `allowResizing`: Allows the columns to be resized by clicking and dragging the right edge of the column headers.
     * * `rowHeight`: Allow to set height to the pivot table rows commonly.
     * * `columnWidth`: Allow to set width to the pivot table columns commonly.
     * * `clipMode`: Allows the contents of the cell overflow to be displayed in the pivot table.
     * For example, to truncate the cell content of a cell when it overflows with respect to its cell width, set the property `clipMode` to **Clip**.
     * * `allowSelection`: Allows a row or column or cell to be highlighted by simply clicking or arrow key in the pivot table.
     * * `selectionSettings`: Allow set of options to customize the selection of a row or column or cell by simply clicking on the arrow key in the pivot table.
     * For example, to highlight both rows and columns with multiple selection, set the properties `mode` to **Both** and `type` to **Multiple** in `selectionSettings` class.
     * * `selectedRowIndex`: Allows to highlight specific row in the pivot table during initial rendering. For example, to highlight the pivot table's first row, set the property `selectedRowIndex` to **0**.
     * * `contextMenuItems`: Allows to show built-in context with pre-defined menu option or custom menu options by simply right clicking on the pivot table cell.
     */
    gridSettings: GridSettingsModel;
    /**
     * Allows a set of options to customize a pivot chart with a variety of settings, such as chart series, chart area, axis labels, legends, border, crosshairs, theme, title, tooltip, zooming, etc.
     * The following options are available to customize the pivot chart.
     * * `background`: Allows you to change the background color of the chart series in the pivot chart.
     * For example, to display the chart series with background color as red, set the property `background` to either **"red"** or **"#FF0000"** or **"rgba(255,0,0,1.0)"**.
     * * `border`: Allow options to customize the border of the chart series such as color and border size in the pivot chart.
     * For example, to display the chart series border color as red, set the properties `color` to either **"red"** or **"#FF0000"** or **"rgba(255,0,0,1.0)"** and `width` to **0.5**.
     * * `chartArea`: Allow options to customize the chart area with a variety of settings such as background color, border, opacity and background image in the pivot chart.
     * For example, to change the of the pivot chart's background, set the property `opacity` to **0.5**.
     * * `chartSeries`: Allow options to customize the chart series with different settings such as fill color, animation of the series,
     * series width, border, visibility of the series, opacity, chart series types, marker, tooltip, trendlines, etc., in the pivot chart.
     * For example, to display the line type pivot chart, set the property `type` to **Line**.
     * * `crosshair`: Allow options to customize the crosshair line with different settings such as color and width of the line,
     * line types that are shown horizontally and vertically to indicate the value of the axis at the mouse hover or touch position in the pivot chart.
     * * `description`: Allows you to add a description of the pivot chart.
     * * `enableAnimation`: Allows you to enable/disable the tooltip animation while performing the mouse move from one point to another in the pivot chart.
     * * `enableCanvas`: Allows you to render the pivot chart in canvas mode.
     * * `enableExport`: Allows the pivot chart to be exported to either **PDF** or **PNG** or **JPEG** or **SVG** filter formats.
     * * `enableMultipleAxis`: Allows you to draw the pivot chart with multiple value fields as separate chart area.
     * * `enableSideBySidePlacement`: Allows you to draw points of the column type pivot chart series as side by side.
     * * `isMultiSelect`: Allows you to perform multiple selection in the pivot chart. To enable this option, it requires the property `selectionMode` to be **Point** or **Series** or **Cluster**.
     * * `isTransposed`: Allows you to render the pivot chart in a transposed manner or not.
     * * `legendSettings`: Allow options for customizing legends with different properties such as legend visibility,
     * height, width, position, legend padding, alignment, textStyle, border, margin, background, opacity, description, tabIndex in the pivot chart.
     * * `margin`: Allow options to customize the left, right, top and bottom margins of the pivot chart.
     * * `palettes`: Allows you to draw the chart series points with custom color in the pivot chart.
     * * `primaryXAxis`: Allow options to customize the horzontal(row) axis with different properties such as labelIntersectAction, labelStyle, title,
     * description, crosshairTooltip, labelFormat, titleStyle, plotOffset, edgeLabelPlacement, labelPlacement, tickPosition, opposedPosition, minor and
     * major grid lines, minor and major tick lines, border, etc. in the pivot chart.
     * * `primaryYAxis`: Allow options to customize the vertical(value) axis with different properties such as labelIntersectAction, labelStyle,
     * title, description, crosshairTooltip, labelFormat, titleStyle, plotOffset, edgeLabelPlacement, labelPlacement, tickPosition, opposedPosition, minor and
     * major grid lines, minor and major tick lines, border, etc. in the pivot chart.
     * * `selectedDataIndexes`: Allows you to highlight a specific point of the series while rendering the pivot chart.
     * For example, to highlight first point in the first series, set the properties series to 0 and points to 1. To use this option, it requires the property `selectionMode` to be **Point** or **Series**.
     * * `selectionMode`: Allow options for customizing the selection mode to be done either by a specific series or point or cluster or by dragging it to the pivot chart.
     * For example, to highlight a specific point in a specific series of the pivot chart, set the property `selectionMode` to **Point**.
     * * `showMultiLevelLabels`: Allows you to display the multi-level label feature in the pivot chart. This multi-level labels used to perform drill operation in the pivot chart.
     * * `subTitle`: Allows you to add the subtitle to the pivot chart.
     * * `subTitleStyle`: Allow options to customize the subtitle in the pivot chart with different properties such as fontStyle, font size, fontWeight, font color, testAlignment, fontFamily, opacity, textOverflow.
     * * `tabIndex`: Allows you to highlight specific legends by clicking the mouse or by interacting with the keyboard in the pivot chart.
     * * `theme`: Allows you to draw a pivot chart with either material, fabric, bootstrap, highcontrast light, material dark, fabric dark, highcontrast, bootstrap dark, bootstrap4 theme.
     * * `title`: Allows you to add title to the pivot chart.
     * * `titleStyle`: Allow options to customize the title in the pivot chart with different properties such as fontStyle, font size, fontWeight, font color, testAlignment, fontFamily, opacity, textOverflow.
     * * `tooltip`: Allow options to customize the tooltip of the pivot chart with different properties such as visibility of the tooltip, enableMarker, fill color, opacity, header for tooltip,
     * format, textStyle, template, border, enableAnimation.
     * * `useGroupingSeparator`: Allows the group separator to be shown to the values in the pivot chart.
     * * `value`: Allows you to draw a pivot chart with a specific value field during initial loading.
     * * `zoomSettings`: Allow options to customize the pivot chart zooming with different properties such as enablePinchZooming, enableSelectionZooming,
     * enableDeferredZooming, enableMouseWheelZooming, zoom modes, toolbarItems, enableScrollbar and enablePan.
     */
    chartSettings: ChartSettingsModel;
    /**
     * Allows a set of options for customizing the grouping bar UI with a variety of settings such as UI visibility to a specific view port,
     * customizing the pivot button features such as filtering, sorting, changing aggregate types, removing any fields.
     * The options available to customize the grouping bar UI are:
     * * `showFilterIcon`: Allows you to show or hide the filter icon that used to be displayed on the pivot button of the grouping bar UI.
     * This filter icon is used to filter the members of a particular field at runtime in the pivot table.
     * * `showSortIcon`: Allows you to show or hide the sort icon that used to be displayed in the pivot button of the grouping bar UI.
     * This sort icon is used to order members of a particular fields either in ascending or descending at runtime.
     * * `showRemoveIcon`: Allows you to show or hide the remove icon that used to be displayed in the pivot button of the grouping bar UI.
     * This remove icon is used to remove any field during runtime.
     * * `showValueTypeIcon`: Allows you to show or hide the value type icon that used to be displayed in the pivot button of the grouping bar UI.
     * This value type icon helps to select the appropriate aggregation type to value fields at runtime.
     * * `displayMode`: Allow options to show the grouping bar UI to specific view port such as either pivot table or pivot chart or both table and chart.
     * For example, to show the grouping bar UI to pivot table on its own, set the property `displayMode` to **Table**.
     * * `allowDragAndDrop`: Allows you to restrict the pivot buttons that were used to drag on runtime in the grouping bar UI. This will prevent you from modifying the current report.
     */
    groupingBarSettings: GroupingBarSettingsModel;
    /**
     * Allow a set of options to display a hyperlink to link data for individual cells that are shown in the pivot table.
     * These options allow you to enable a separate hyperlink for row headers, column headers, value cells, and summary cells in the `hyperlinkSettings` class.
     * The options available are:
     * * `showHyperlink`: Allows you to set the visibility of hyperlink in all cells.
     * * `showRowHeaderHyperlink`: Allows you to set the visibility of hyperlink in row headers.
     * * `showColumnHeaderHyperlink`: Allows you to set the visibility of hyperlink in column headers.
     * * `showValueCellHyperlink`: Allows you to set the visibility of hyperlink in value cells.
     * * `showSummaryCellHyperlink`: Allows you to set the visibility of hyperlink in summary cells.
     * * `headerText`: Allows you to set the visibility of hyperlink based on header text.
     * * `conditionalSettings`: Allows you to set the visibility of hyperlink based on specific condition.
     * * `cssClass`: Allows you to add CSS class name to the hyperlink options.
     *
     * > By default, the hyperlink options are disabled for all cells in the pivot table.
     */
    hyperlinkSettings: HyperlinkSettingsModel;
    /**
     * Allows to set the page information to display the pivot table with specific page during paging and virtual scrolling.
     */
    pageSettings: PageSettingsModel;
    /**
     * Allows a set of options for customizing the paging UI with a variety of settings such as UI position, template and visibility to a specific axis info such as page size, paging data.
     * > To use this option, it requires the property `enablePaging` to be true.
     */
    pagerSettings: PagerSettingsModel;
    /**
     * Allows the following pivot report information such as rows, columns, values, filters, etc., that are used to render the pivot table and field list.
     * * `catalog`: Allows to set the database name of SSAS cube as string type that used to retrieve the data from the specified connection string. **Note: It is applicable only for OLAP data source.**
     * * `cube`: Allows you to set the SSAS cube name as string type that used to retrieve data for pivot table rendering. **Note: It is applicable only for OLAP data source.**
     * * `providerType`: Allows to set the provider type to identify the given connection is either Relational or SSAS to render the pivot table and field list.
     * * `url`: Allows to set the URL as string type, which helps to identify the service endpoint where the data are processed and retrieved to render the pivot table and field list. **Note: It is applicable only for OLAP data source.**
     * * `localeIdentifier`: Allows you to set the specific culture code as number type to render pivot table with desired localization.
     * By default, the pivot table displays with culture code **1033**, which indicates "en-US" locale. **Note: It is applicale only for OLAP data source.**
     * * `dataSource`: Allows you to set the data source as JSON collection to the pivot report either from local or from remote server to the render the pivot that and field list.
     * You can fetch JSON data from remote server by using DataManager. **Note: It is applicable only for relational data source.**
     * * `rows`: Allows specific fields associated with field information that needs to be displayed in row axis of pivot table.
     * * `columns`: Allows specific fields associated with field information that needs to be displayed in column axis of pivot table.
     * * `values`: Allows specific fields associated with field information that needs to be displayed as aggregated numeric values in pivot table.
     * * `filters`: Allows to filter the values in other axis based on the collection of filter fields in pivot table.
     * * `excludeFields`: Allows you to restrict the specific field(s) from displaying it in the field list UI.
     * You may also be unable to render the pivot table with this field(s) by doing so. **Note: It is applicable only for relational data source.**
     * * `expandAll`: Allows you to either expand or collapse all the headers that are displayed in the pivot table.
     * By default, all the headers are collapsed in the pivot table. **Note: It is applicable only for Relational data.**
     * * `valueAxis`: Allows you to set the value fields that to be plotted either in row or column axis in the pivot table.
     * * `filterSettings`: Allows specific fields associated with either selective or conditional-based filter members that used to be displayed in the pivot table.
     * * `sortSettings`: Allows specific fields associated with sort settings to order their members either in ascending or descending that used to be displayed in the pivot table.
     * By default, the data source containing fields are display with Ascending order alone. To use this option, it requires the `enableSorting` property to be **true**.
     * * `enableSorting`: Allows to perform sort operation to order members of a specific fields either in ascending or descending that used to be displayed in the pivot table.
     * * `formatSettings`: Allows specific fields used to display the values with specific format that used to be displayed in the pivot table.
     * For example, to display a specific field with currency formatted values in the pivot table, the set the `format` property to be **C**.
     * * `drilledMembers`: Allows specific fields used to display their the headers to be either expanded or collapsed in the pivot table.
     * * `valueSortSettings`: Allows to sort individual value field and its aggregated values either in row or column axis to ascending or descending order.
     * * `calculatedFieldSettings`: Allows to create new calculated fields from the bound data source or using simple formula with basic arithmetic operators in the pivot table.
     * * `allowMemberFilter`: Allows to perform filter operation based on the selective filter members of the specific fields used to be displayed in the pivot table.
     * * `allowLabelFilter`: Allows to perform filter operation based on the selective headers used to be displayed in the pivot table.
     * * `allowValueFilter`: Allows to perform filter operation based only on value fields and its resultant aggregated values over other fields defined in row and column axes that used to be displayed in the pivot table.
     * * `showSubTotals`: Allows to show or hide sub-totals in both rows and columns axis of the pivot table.
     * * `showRowSubTotals`: Allows to show or hide sub-totals in row axis of the pivot table.
     * * `showColumnSubTotals`: Allows to show or hide sub-totals in column axis of the pivot table.
     * * `showGrandTotals`: Allows to show or hide grand totals in both rows and columns axis of the pivot table.
     * * `showRowGrandTotals`: Allows to show or hide grand totals in row axis of the pivot table.
     * * `showColumnGrandTotals`: Allows to show or hide grand totals in column axis of the pivot table.
     * * `showHeaderWhenEmpty`: Allows the undefined headers to be displayed in the pivot table, when the specific field(s) are not defined in the raw data.
     * For example, if the raw data for the field ‘Country’ is defined as “United Kingdom” and “State” is not defined means, it will be shown as “United Kingdom >> Undefined” in the header section.
     * * `alwaysShowValueHeader`: Allows to show the value field header always in pivot table, even if it holds a single field in the value field axis.
     * * `conditionalFormatSettings`: Allows a collection of values fields to change the appearance of the pivot table value cells with different style properties such as background color, font color, font family, and font size based on specific conditions.
     * * `emptyCellsTextContent`: Allows to show custom string to the empty value cells that used to display in the pivot table. You can fill empty value cells with any value like “0”, ”-”, ”*”, “(blank)”, etc.
     * * `groupSettings`: Allows specific fields to group their data on the basis of their type.
     * For example, the date type fields can be formatted and displayed based on year, quarter, month, and more. Likewise, the number type fields can be grouped range-wise, such as 1-5, 6-10, etc.
     * You can perform custom group to the string type fields that used to displayed in the pivot table.
     * * `showAggregationOnValueField`: Allows the pivot button with specific value field caption along with the aggregation type, to be displayed in the grouping bar and field list UI.
     * For example, if the value field "Sold Amount" is aggregated with Sum, it will be displayed with caption "Sum of Sold Amount" in its pivot button.
     * * `authentication`: Allows you to set the credential information to access the specified SSAS cube. **Note: It is applicable only for OLAP data source**.
     */
    dataSourceSettings: DataSourceSettingsModel;
    /**
     * Allow options for performing CRUD operations, such as add, edit, delete, and update the raw items of any cell from the pivot table.
     * The raw items can be viewed in a data grid that used to be displayed as a dialog by double-clicking the appropriate value cell in the pivot table.
     * CRUD operations can be performed in this data grid either by double-clicking the cells or using toolbar options.
     * The options available are as follows:
     * * `allowAdding`: Allows you to add a new record to the data grid used to update the appropriate cells in the pivot table.
     * * `allowEditing`: Allows you to edit the existing record in the data grid that used to update the appropriate cells in the pivot table.
     * * `allowDeleting`: Allows you to delete the existing record from the data grid that used to  update the appropriate cells in the pivot table.
     * * `allowCommandColumns`: Allows an additional column appended in the data grid layout holds the command buttons to perform the CRUD operations to edit,
     * delete, and update the raw items to the data grid that used to update the appropriate cells in the pivot table.
     * * `mode`: Allow options for performing CRUD operations with different modes in the data grid that used to update the appropriate cells in the pivot table.
     * The available modes are normal, batch and dialog. **Normal** mode is enabled for CRUD operations in the data grid by default.
     * * `allowEditOnDblClick`: Allows you to restrict CRUD operations by double-clicking the appropriate value cell in the pivot table.
     * * `showConfirmDialog`: Allows you to show the confirmation dialog to save and discard CRUD operations performed in the data grid that used to update the appropriate cells in the pivot table.
     * * `showDeleteConfirmDialog`: Allows you to show the confirmation dialog to delete any records from the data grid.
     * * `allowInlineEditing`: Allows direct editing of a value cell without opening the edit dialog. NOTE: It is applicable only if the value cell is made by a single raw data. Otherwise editing dialog will be shown.
     *
     * > This feature is applicable only for the relational data source.
     * @default { allowAdding: false, allowEditing: false, allowDeleting: false, allowCommandColumns: false,
     * mode:'Normal', allowEditOnDblClick: true, showConfirmDialog: true, showDeleteConfirmDialog: false, allowInlineEditing: false }
     */
    editSettings: CellEditSettingsModel;
    /**
     * Allow options to configure the view port as either pivot table or pivot chart or both table and chart. The options available are:
     * * `view`: Allows you to choose the view port as either pivot table or pivot chart or both table and chart.
     * * `primary`: Allows you to set the primary view to be either pivot table or pivot chart. To use this option, it requires the property `view` to be **Both**.
     */
    displayOption: DisplayOptionModel;
    /**
     * It holds the collection of cell information that has been populated from the engine on the basis of the given pivot report to render the component as table and chart.
     */
    pivotValues: IPivotValues;
    /**
     * Allows you to show the grouping bar UI in the pivot table that automatically populates fields from the bound report.
     * It also allows you to modify the report with a variety of actions using the pivot buttons to update the pivot table during runtime.
     * The following are:
     * * Re-arranging fields through drag-and-drop operation between row, column, value and filter axes.
     * * Remove fields from the existing report using remove icon.
     * * Filtering members of specific fields using filter icon.
     * * Sorting members of specific fields using sort icon.
     * * Editing the calculated fields using edit icon.
     * * Selecting required aggregate types to value field using dropdown icon.
     * @default false
     */
    showGroupingBar: boolean;
    /**
     * Allows you to display the tooltip to the value cells either by mouse hovering or by touch in the pivot table.
     * The information used to be displayed in the tooltip is:
     * * Row: Holds the row header information of a specific value cell.
     * * Column: Holds the column header information of a specific value cell.
     * * Value: Holds the value field caption along with its value of a specific value cell.
     * @default true
     */
    showTooltip: boolean;
    /**
     * Allows you to show the toolbar UI that holds built-in toolbar options to accessing frequently used features like
     * switching between pivot table and pivot chart, changing chart types, conditional formatting, number formatting, exporting, etc… with ease at runtime.
     * @default false
     */
    showToolbar: boolean;
    /**
     * Allows the built-in toolbar options that used to access features like switching between pivot table and pivot chart, changing chart types, conditional formatting, number formatting, exporting, etc… with ease at runtime.
     * The available toolbar options are:
     * * `New`: Allows to create a new report.
     * * `Save`: Allows to save the current report.
     * * `Save As`: Allows to perform save as the current report.
     * * `Rename`: Allows to rename the current report.
     * * `Remove`: Allows to delete the current report.
     * * `Load`: Allows to load any report from the report list.
     * * `grids.Grid`: Allows to show the pivot table.
     * * `charts.Chart`: Allows to show the pivot chart with specific type from the built-in list.
     * It also has the option to show the chart with multiple axes based on the value fields bound to the report.
     * You can do this by selecting the checkbox at the bottom of the list.
     * * `Exporting`: Allow set of options to export the pivot table as PDF/Excel/CSV and the pivot chart as PDF and image format such as PNG, JPEG, SVG.
     * * `Sub-total`: Allow set of options to show or hide the sub totals in the pivot table. The subtotals will not be displayed in the pivot chart by default.
     * * `Grand Total`: Allow set of options to show or hides the grand totals in the pivot table. By default, the grand totals will not be displayed in the pivot chart.
     * * `Conditional Formatting`: Allows to show the conditional formatting pop-up to apply formatting to the values.
     * * `Number Formatting`: Allows to show the number formatting pop-up to apply number formatting to the values.
     * * `Formatting`: Allow options to show the conditional formatting and the number formatting pop-up that used to apply formatting to the values in the component.
     * * `Field List`: Allows you to show the field list pop-up. It allows you to modify the report with a variety of actions such as re-arrange the fields between axes by drag-and-drop,
     * add new fields to report, remove any fields from report, filtering and sorting a specific field members, etc., that are used to update the pivot table during runtime.
     * * `MDX`: Allows ro show the MDX query that was run to retrieve data from the OLAP data source. **Note: It is applicable only for OLAP data source.**
     *
     * > The toolbar option can be displayed based on the order you provided in the toolbar collection.
     * @default null
     */
    toolbar: (ToolbarItems | navigations.ItemModel)[];
    /**
     * Allows you to create a pivot button with "Values" as a caption used to display in the grouping bar and field list UI.
     * It helps you to plot the value fields to either column or row axis during runtime.
     * > The showValuesButton property is enabled by default for the OLAP data source.
     * And the pivot button can be displayed with "Measures" as a caption used to display in the grouping bar and field list UI.
     * @default false
     */
    showValuesButton: boolean;
    /**
     * Allows the built-in calculated field dialog to be displayed in the component.
     * You can view the calculated field dialog by clicking the "Calculated Field" button in the field list UI.
     * This dialog will helps you to create a new calculated field in the pivot table, based on available fields from the bound data source or using simple formula with basic arithmetic operators at runtime.
     * @default false
     */
    allowCalculatedField: boolean;
    /**
     * It enables the search option in the field list UI, which can be used to search specific fields at runtime.
     * > This option is only available when the pivot table's built-in popup field list is enabled using the `showFieldList` property.
     * @default false
     */
    enableFieldSearching: boolean;
    /**
     * Allows you to sort individual value field and its aggregated values either in row or column axis to ascending or descending order.
     * You can sort the values by clicking directly on the value field header positioned either in row or column axis of the pivot table.
     * @default false
     */
    enableValueSorting: boolean;
    /**
     * Allows you to change the appearance of the pivot table value cells with different style properties such as background color, font color, font family, and font size based on specific conditions.
     * You can apply the conditioanl formatting at runtime through the built-in dialog, invoked from the toolbar.
     * To do so, set `allowConditionalFormatting` and `showToolbar` properties to **true** to the component.
     * Also, include the toolbar option **ConditionalFormatting** in the `toolbar` property.
     * > You can also view the conditioanl formatting dialog by clicking an external button using the `showConditionalFormattingDialog` method.
     * @default false
     */
    allowConditionalFormatting: boolean;
    /**
     * Allows you to apply required number formatting to the pivot table values such as number, curreny, percentage or other custom formats at runtime through a built-in dialog, invoked from the toolbar.
     * To do so, set allowNumberFormatting and showToolbar properties to true to the component.
     * Also, include the toolbar option NumberFormatting in the toolbar property.
     * > You can also view the number formatting dialog by clicking an external button using the ShowNumberFormattingDialog method.
     * @default false
     */
    allowNumberFormatting: boolean;
    /**
     * Allow the height of the pivot table to be set.
     * @default 'auto'
     */
    height: string | number;
    /**
     * Allow the width of the pivot table to be set.
     * > The pivot table will not display less than 400px, as it is the minimum width to the component.
     * @default 'auto'
     */
    width: string | number;
    /**
     * Allows the pivot table data to be exported as an Excel document. Export can be done in two different file formats such as  XLSX and CSV formats.
     * You can1 export pivot table using the build-in toolbar option. To do so, set `allowExcelExport` and `showToolbar` properties to true to the component.
     * Also, include the toolbar option **Exporting** in the `toolbar` property.
     * > You1 can also export the pivot table data by clicking an external button using the excelExport method. Use csvExport method to export the pivot table data to CSV format.
     * @default false
     */
    allowExcelExport: boolean;
    /**
     * Allows to load the large amounts of data without any performance degradation by rendering rows and columns only in the current content view port.
     * Rest of the aggregated data will be brought into view port dynamically based on vertical or horizontal scroll position.
     * @default false
     */
    enableVirtualization: boolean;
    /**
     * Allows large amounts of data to be displayed page-by-page.
     * It helps to display the rows and columns by configuring the page size and current page using `pageSettings` option in the pivot table.
     * @default false
     */
    enablePaging: boolean;
    /**
     * Allows to view the underlying raw data of a summarized cell in the pivot table.
     * By double-clicking on any value cell, you can view the detailed raw data in a data grid inside a new window.
     * In the new window, row header, column header and measure name of the clicked cell will be shown at the top.
     * You can also include or exclude fields available in the data grid using column chooser option.
     * @default false
     */
    allowDrillThrough: boolean;
    /**
     * Allows the pivot table data to be exported as an PDF document. You can export pivot table using the build-in toolbar option.
     * To do so, set `allowPdfExport` and `showToolbar` properties to true to the component.
     * Also, include the toolbar option **Exporting** in the `toolbar` property.
     * > You1 can also export the pivot table data by clicking an external button using the pdfExport method.
     * @default false
     */
    allowPdfExport: boolean;
    /**
     * Allows the pivot table component to be updated only on demand, meaning,
     * you can perform a variety of operations such as drag-and-drop fields between row, column, value and filter axes,
     * apply sorting and filtering inside the Field List, resulting the field list UI would be updated on its own, but not the pivot table.
     * On clicking the “Apply” button in the Field List, the pivot table will updates the last modified report.
     * This helps to improve the performance of the pivot table component rendering.
     * @default false
     */
    allowDeferLayoutUpdate: boolean;
    /**
     * Allows large amounts of data to be loaded without any degradation of performance by compressing raw data on the basis of its uniqueness.
     * These unique records will be provided as input to render the pivot table.
     *
     * For example, if the pivot table is connected to a million raw data with a combination of 1,000 unique data, it will be compressed to 1,000 unique data.
     * By doing so, the time taken to render the pivot table will be drastically reduced, i.e. the pivot table will takes a maximum of 3 seconds instead of 10 seconds to complete its rendering.
     * These compressed data will also be used for further operations at all times to reduce the looping complexity and improves pivot table's performance while updating during runtime.
     *
     * To use this option, it requires the property `enableVirtualization` to be **true**.
     * > This property is applicable only for relational data source.
     * @default false
     */
    allowDataCompression: boolean;
    /**
     * Allows you to set the limit for displaying members while loading large data in the member filter dialog.
     * Based on this limit, initial loading will be completed quickly without any performance constraint.
     * A message with remaining member count, that are not currently shown in the member filter dialog UI, will be displayed in the member editor.
     * > This property is not applicable to user-defined hierarchies in the OLAP data source.
     * @default 1000
     */
    maxNodeLimitInMemberEditor: number;
    /**
     * Allows you to set the maximum number of raw data that used to view it in a data grid inside a new window while performing drill through on summarized cells in the pivot table.
     * For example, if the value cell has a combination of more than 50,000 records, it allows only 10,000 records fetch from the cube and displayed in the data grid.
     * > This property is applicable only for the OLAP data source.
     * @default 10000
     */
    maxRowsInDrillThrough: number;
    /**
     * Allows to load members inside the member filter dialog on-demand.
     * The first level members will be loaded from the OLAP cube to display the member editor by default.
     * As a result, the member editor will be opened quickly, without any performance constraints.
     * You can use either of the following actions to load  your next level members. The actions are:
     * * By clicking on the respective member's expander button. By doing so, only the child members of the respective member will be loaded.
     * * Choose the level from the drop-down button. By doing so, all the members up to the level chosen will be loaded from the cube.
     *
     * Also, searching members will only be considered for the level members that are loaded.
     * > This property is applicable only for OLAP data source.
     * @default true
     */
    loadOnDemandInMemberEditor: boolean;
    /**
     * Allows to restrict the cross-site scripting while using cell template, meaning it will remove the unwanted scripts,styles or HTML in your cell template.
     * > In general, the cross-site scripting known as XSS is a type of computer security vulnerability typically found in web applications.
     * It attacks enable attackers to inject client-side scripts into web pages viewed by other users.
     * @default true
     */
    enableHtmlSanitizer: boolean;
    /**
     * Allows the table cell elements to be customized with either an HTML string or the element’s ID,
     * that can be used to add additional HTML elements with custom formats to the cell elements that are displayed in the pivot table.
     * @default null
     */
    cellTemplate: string;
    /**
     * It allows to define the "ID" of div which is used as template in toolbar panel.
     * @default null
     */
    toolbarTemplate: string;
    /**
     * Allows the tooltip element to be customized with either an HTML string or the element’s ID,
     * can be used to displayed with custom formats either by mouse hovering or by touch in the pivot table.
     * @default null
     */
    tooltipTemplate: string;
    /**
     * Allows the appearance of the loading indicator to be customized with either an HTML string or the element’s ID,
     * that can be used to displayed with custom formats in the pivot table.
     * @default null
     */
    spinnerTemplate: string;
    /**
     * Allows you to show the grouping UI in the pivot table that automatically groups date, time, number and string at runtime
     * by right clicking on the pivot table’s row or column header, select **Group**. This will shows a dialog in which you can perform grouping with appropriate options to group the data.
     * To ungroup, right click on the pivot table’s row or column header, select **Ungroup**.
     * > This property is applicable only for relational data source.
     * @default false
     */
    allowGrouping: boolean;
    /**
     * Allows you1 to export the pivot table data of all pages, i.e. the data that holds all the records given to render the pivot table will be exported as either an Excel or a PDF document.
     *
     * To use this option, it requires the property `enableVirtualization` to be **true**.
     * @default true
     */
    exportAllPages: boolean;
    /**
     * Allows you to show a menu with built-in aggregate options displayed in the pivot button's dropdown icon of field list and groupingBar UI.
     * These aggregate options helps to display the values in the pivot table with appropriate aggregations such as sum, product, count, average, etc… easily at runtime.
     * The available aggregate options are:
     * * `Sum`: Allows to display the pivot table values with sum.
     * * `Product`: Allows to display the pivot table values with product.
     * * `Count`: Allows to display the pivot table values with count.
     * * `DistinctCount`: Allows to display the pivot table values with distinct count.
     * * `Min`: Allows to display the pivot table with minimum value.
     * * `Max`: Allows to display the pivot table with maximum value.
     * * `Avg`: Allows to display the pivot table values with average.
     * * `Median`: Allows to display the pivot table values with median.
     * * `Index`: Allows to display the pivot table values with index.
     * * `PopulationStDev`: Allows to display the pivot table values with population standard deviation.
     * * `SampleStDev`: Allows to display the pivot table values with sample standard deviation.
     * * `PopulationVar`: Allows to display the pivot table values with population variance.
     * * `SampleVar`: Allows to display the pivot table values with sample variance.
     * * `RunningTotals`: Allows to display the pivot table values with running totals.
     * * `DifferenceFrom`: Allows to display the pivot table values with difference from the value of the base item in the base field.
     * * `PercentageOfDifferenceFrom`: Allows to display the pivot table values with percentage difference from the value of the base item in the base field.
     * * `PercentageOfGrandTotal`: Allows to display the pivot table values with percentage of grand total of all values.
     * * `PercentageOfColumnTotal`: Allows to display the pivot table values in each column with percentage of total values for the column.
     * * `PercentageOfRowTotal`: Allows to display the pivot table values in each row with percentage of total values for the row.
     * * `PercentageOfParentTotal`: Allows to display the pivot table values with percentage of total of all values based on selected field.
     * * `PercentageOfParentColumnTotal`: Allows to display the pivot table values with percentage of its parent total in each column.
     * * `PercentageOfParentRowTotal`: Allows to display the pivot table values with percentage of its parent total in each row.
     *
     * > It is applicable ony for Relational data.
     * @default ['Sum', 'Count', 'DistinctCount', 'Product', 'Min', 'Max', 'Avg', 'Median', 'Index', 'PopulationVar', 'SampleVar',
     * 'PopulationStDev', 'SampleStDev', 'RunningTotals', 'PercentageOfGrandTotal', 'PercentageOfColumnTotal', 'PercentageOfRowTotal',
     * 'PercentageOfParentColumnTotal', 'PercentageOfParentRowTotal', 'DifferenceFrom', 'PercentageOfDifferenceFrom',
     * 'PercentageOfParentTotal']
     */
    aggregateTypes: AggregateTypes[];
    /**
     * Allows you to display the pivot chart with specific chart types from built-in chart options, invoked from the toolbar.
     * The available chart types are:
     * * `Line`: Allows to display the pivot chart with line series.
     * * `Column`: Allows to display the pivot chart with column series.
     * * `Area`: Allows to display the pivot chart with area series.
     * * `Bar`: Allows to display the pivot chart with bar series.
     * * `StackingColumn`: Allows to display the pivot chart with stacked column series.
     * * `StackingArea`: Allows to display the pivot chart with stacked area series.
     * * `StackingBar`: Allows to display the pivot chart with stacked bar series.
     * * `StackingLine`: Allows to display the pivot chart with stacked line series.
     * * `StepLine`: Allows to display the pivot chart with step line series.
     * * `StepArea`: Allows to display the pivot chart with step area series.
     * * `SplineArea`: Allows to display the pivot chart with spline area series.
     * * `Scatter`: Allows to display the pivot chart with scatter series.
     * * `Spline`: Allows to display the pivot chart with spline series.
     * * `StackingColumn100`: Allows to display the pivot chart with 100% stacked column series.
     * * `StackingBar100`: Allows to display the pivot chart with 100% stacked bar series.
     * * `StackingArea100`: Allows to display the pivot chart with 100% stacked area series.
     * * `StackingLine100`: Allows to display the pivot chart with 100% stacked line series.
     * * `Bubble`: Allows to display the pivot chart with bubble series.
     * * `Pareto`: Allows to display the pivot chart with pareto series.
     * * `Polar`: Allows to display the pivot chart with polar series.
     * * `Radar`: Allows to display the pivot chart with radar series.
     * * `Pie`: Allows to display the pivot chart with pie series.
     * * `Doughnut`: Allows to display the pivot chart with doughnut series.
     * * `Funnel`: Allows to display the pivot chart with funnel series.
     * * `Pyramid`: Allows to display the pivot chart with pyramid series.
     *
     * To use this option, the `showToolbar` property must be **true** along with toolbar option **charts.Chart**
     * to be set to the `toolbar` property.
     * @default ['Line', 'Column', 'Area', 'Bar', 'StackingColumn', 'StackingArea', 'StackingBar', 'StepLine', 'StepArea',
     * 'SplineArea','StackingLine', 'Scatter', 'Spline', 'StackingColumn100', 'StackingBar100', 'StackingArea100', 'StackingLine100', 'Bubble', 'Pareto', 'Polar',
     * 'Radar', 'Pie', 'Doughnut', 'Funnel', 'Pyramid' ])
     */
    chartTypes: ChartSeriesType[];
    /**
     * Allows you to add the CSS class name to the pivot table element.
     * Use this class name, you can customize the pivot table and its inner elements easily at your end.
     * @default ''
     */
    cssClass: string;
    /**
     * @hidden
     */
    protected queryCellInfo: base.EmitType<grids.QueryCellInfoEventArgs>;
    /**
     * @hidden
     */
    protected headerCellInfo: base.EmitType<grids.HeaderCellInfoEventArgs>;
    /**
     * @hidden
     */
    protected resizing: base.EmitType<grids.ResizeArgs>;
    /**
     * @hidden
     */
    protected resizeStop: base.EmitType<grids.ResizeArgs>;
    /**
     * @hidden
     */
    protected pdfHeaderQueryCellInfo: base.EmitType<grids.PdfHeaderQueryCellInfoEventArgs>;
    /**
     * @hidden
     */
    protected pdfQueryCellInfo: base.EmitType<grids.PdfQueryCellInfoEventArgs>;
    /**
     * @hidden
     */
    protected excelHeaderQueryCellInfo: base.EmitType<grids.ExcelHeaderQueryCellInfoEventArgs>;
    /**
     * @hidden
     */
    protected excelQueryCellInfo: base.EmitType<grids.ExcelQueryCellInfoEventArgs>;
    /** @hidden */
    protected columnDragStart: base.EmitType<grids.ColumnDragEventArgs>;
    /** @hidden */
    protected columnDrag: base.EmitType<grids.ColumnDragEventArgs>;
    /** @hidden */
    protected columnDrop: base.EmitType<grids.ColumnDragEventArgs>;
    /** @hidden */
    protected beforePdfExport: base.EmitType<Object>;
    /** @hidden */
    protected beforeExcelExport: base.EmitType<Object>;
    /**
     * @hidden
     */
    beforeColumnsRender: base.EmitType<ColumnRenderEventArgs>;
    /**
     * @hidden
     */
    selected: base.EmitType<grids.CellSelectEventArgs>;
    /**
     * @hidden
     */
    cellDeselected: base.EmitType<grids.CellDeselectEventArgs>;
    /**
     * @hidden
     */
    rowSelected: base.EmitType<grids.RowSelectEventArgs>;
    /**
     * @hidden
     */
    rowDeselected: base.EmitType<grids.RowDeselectEventArgs>;
    /**
     * @hidden
     */
    protected chartTooltipRender: base.EmitType<charts.ITooltipRenderEventArgs>;
    /**
     * @hidden
     */
    protected chartLegendClick: base.EmitType<charts.ILegendClickEventArgs>;
    /**
     * @hidden
     */
    protected chartLoaded: base.EmitType<charts.ILoadedEventArgs>;
    /** @hidden */
    protected chartLoad: base.EmitType<charts.ILoadedEventArgs>;
    /**
     * @hidden
     */
    protected chartResized: base.EmitType<charts.IResizeEventArgs>;
    /**
     * @hidden
     * @deprecated
     */
    protected chartAxisLabelRender: base.EmitType<charts.IAxisLabelRenderEventArgs>;
    /**
     * @hidden
     * @deprecated
     */
    protected multiLevelLabelClick: base.EmitType<MultiLevelLabelClickEventArgs>;
    /** @hidden */
    protected chartPointClick: base.EmitType<charts.IPointEventArgs>;
    /**
     * @hidden
     * @deprecated
     */
    contextMenuClick: base.EmitType<grids.ContextMenuClickEventArgs>;
    /**
     * @hidden
     * @deprecated
     */
    contextMenuOpen: base.EmitType<navigations.BeforeOpenCloseMenuEventArgs>;
    /**
     * It allows any customization of Pivot cell style while PDF exporting.
     * @event
     */
    onPdfCellRender: base.EmitType<PdfCellRenderArgs>;
    /**
     * It allows you to save the report to the specified storage.
     * @event
     */
    saveReport: base.EmitType<SaveReportArgs>;
    /**
     * It allows you to fetch the report names from specified storage.
     * @event
     */
    fetchReport: base.EmitType<FetchReportArgs>;
    /**
     * It allows to load the report from specified storage.
     * @event
     */
    loadReport: base.EmitType<LoadReportArgs>;
    /**
     * It allows you to rename the current report.
     * @event
     */
    renameReport: base.EmitType<RenameReportArgs>;
    /**
     * It allows you to remove the current report from the specified storage.
     * @event
     */
    removeReport: base.EmitType<RemoveReportArgs>;
    /**
     * It allows to set the new report.
     * @event
     */
    newReport: base.EmitType<NewReportArgs>;
    /**
     * It allows to change the toolbar items.
     * @event
     */
    toolbarRender: base.EmitType<ToolbarArgs>;
    /**
     * It allows to change the toolbar items.
     * @event
     */
    toolbarClick: base.EmitType<navigations.ClickEventArgs>;
    /**
     * It allows any customization on the pivot table component properties on initial rendering.
     * Based on the changes, pivot table will be redered.
     * @event
     */
    load: base.EmitType<LoadEventArgs>;
    /**
     * It triggers before the pivot engine starts to populate and allows to customize the pivot datasource settings.
     * @event
     */
    enginePopulating: base.EmitType<EnginePopulatingEventArgs>;
    /**
     * It triggers after the pivot engine populated and allows to customize the pivot datasource settings.
     * @event
     */
    enginePopulated: base.EmitType<EnginePopulatedEventArgs>;
    /**
     * It triggers after a field dropped into the axis.
     * @event
     */
    onFieldDropped: base.EmitType<FieldDroppedEventArgs>;
    /**
     * It triggers before a field drops into any axis.
     * @event
     */
    fieldDrop: base.EmitType<FieldDropEventArgs>;
    /**
     * It triggers when a field drag (move) starts.
     * @event
     */
    fieldDragStart: base.EmitType<FieldDragStartEventArgs>;
    /**
     * It triggers when the pivot table rendered.
     * @event
     */
    dataBound: base.EmitType<Object>;
    /**
     * It triggers when the pivot table component is created.
     * @event
     */
    created: base.EmitType<Object>;
    /**
     * It triggers when pivot table component getting destroyed.
     * @event
     */
    destroyed: base.EmitType<Object>;
    /**
     * It allows to set properties for exporting.
     * @event
     */
    beforeExport: base.EmitType<BeforeExportEventArgs>;
    /**
     * It triggers when exporting to PDF, Excel, or CSV is complete
     * @event
     */
    exportComplete: base.EmitType<ExportCompleteEventArgs>;
    /**
     * It allows to do changes before applying the conditional formatting.
     * @event
     */
    conditionalFormatting: base.EmitType<IConditionalFormatSettings>;
    /**
     * It triggers before the filtering applied.
     * @event
     */
    memberFiltering: base.EmitType<MemberFilteringEventArgs>;
    /**
     * It triggers when a cell is clicked in the pivot table.
     * @event
     */
    cellClick: base.EmitType<CellClickEventArgs>;
    /**
     * It triggers when a value cell is clicked in the pivot table for Drill-Through.
     * @event
     */
    drillThrough: base.EmitType<DrillThroughEventArgs>;
    /**
    * It triggers when editing is made in the raw data of pivot table.
    * @event
    */
    editCompleted: base.EmitType<EditCompletedEventArgs>;
    /**
     * It triggers when a value cell is clicked in the pivot table for Editing.
     * @event
     */
    beginDrillThrough: base.EmitType<BeginDrillThroughEventArgs>;
    /**
     * It triggers when a hyperlink cell is clicked in the pivot table.
     * @event
     */
    hyperlinkCellClick: base.EmitType<HyperCellClickEventArgs>;
    /**
     * It triggers before a cell selected in pivot table.
     * @event
     */
    cellSelecting: base.EmitType<PivotCellSelectedEventArgs>;
    /**
     * It triggers before the header to be either expanded or collapsed in the pivot table.
     * @event
     */
    drill: base.EmitType<DrillArgs>;
    /**
     * It triggers when a cell got selected in the pivot table.
     * @event
     */
    cellSelected: base.EmitType<PivotCellSelectedEventArgs>;
    /**
     * It triggers when the pivot chart series are created.
     * @event
     */
    chartSeriesCreated: base.EmitType<ChartSeriesCreatedEventArgs>;
    /**
     * It allows to change the each cell value during engine populating.
     * @event
     * @deprecated
     */
    aggregateCellInfo: base.EmitType<AggregateEventArgs>;
    /**
     * It allows to identify whether the field list updated or not.
     * @event
     */
    fieldListRefreshed: base.EmitType<FieldListRefreshedEventArgs>;
    /**
     * It triggers before member editor dialog opens.
     * @event
     */
    memberEditorOpen: base.EmitType<MemberEditorOpenEventArgs>;
    /**
     * It triggers before a calculated field created/edited during runtime.
     * @event
     */
    calculatedFieldCreate: base.EmitType<CalculatedFieldCreateEventArgs>;
    /**
     * It triggers before number format is apllied to specific field during runtime.
     * @event
     */
    numberFormatting: base.EmitType<NumberFormattingEventArgs>;
    /**
     * It triggers before aggregate type context menu opens.
     * @event
     */
    aggregateMenuOpen: base.EmitType<AggregateMenuOpenEventArgs>;
    /**
     * It triggers before removing the field from any axis during runtime.
     * @event
     */
    fieldRemove: base.EmitType<FieldRemoveEventArgs>;
    /**
     * It triggers before service get invoked from client.
     * @event
     */
    beforeServiceInvoke: base.EmitType<BeforeServiceInvokeEventArgs>;
    /**
     * It triggers when UI action begins in the Pivot Table. The UI actions used to trigger this event such as
     * [`drill down/up`](../../pivotview/drill-down/#drill-down-and-drill-up),
     * [`value sorting`](../../pivotview/sorting/#value-sorting),
     * built-in [`toolbar`](../../pivotview/tool-bar/#built-in-toolbar-options) options,
     * [`grouping bar`](../../pivotview/grouping-bar/) and
     * [`field list`](../../pivotview/field-list/) buttons actions such as
     * [`sorting`](../../pivotview/sorting/), [`filtering`](../../pivotview/filtering/),
     * [`editing`](../../pivotview/calculated-field/#editing-through-the-field-list-and-the-groupingbar),
     * [`aggregate type`](../../pivotview/aggregation/#modifying-aggregation-type-for-value-fields-at-runtime) change and so on,
     * CRUD operation in [`editing`](../../pivotview/editing/).
     * @event
     */
    actionBegin: base.EmitType<PivotActionBeginEventArgs>;
    /**
     * It triggers when UI action in the Pivot Table completed. The UI actions used to trigger this event such as
     * [`drill down/up`](../../pivotview/drill-down/#drill-down-and-drill-up),
     * [`value sorting`](../../pivotview/sorting/#value-sorting),
     * built-in [`toolbar`](../../pivotview/tool-bar/#built-in-toolbar-options) options,
     * [`grouping bar`](../../pivotview/grouping-bar/) and
     * [`field list`](../../pivotview/field-list/) buttons actions such as
     * [`sorting`](../../pivotview/sorting/), [`filtering`](../../pivotview/filtering/),
     * [`editing`](../../pivotview/calculated-field/#editing-through-the-field-list-and-the-groupingbar),
     * [`aggregate type`](../../pivotview/aggregation/#modifying-aggregation-type-for-value-fields-at-runtime) change and so on,
     * CRUD operation in [`editing`](../../pivotview/editing/).
     * @event
     */
    actionComplete: base.EmitType<PivotActionCompleteEventArgs>;
    /**
     * It triggers when UI action failed to achieve the desired results in the Pivot Table. The UI actions used to trigger this event such as
     * [`drill down/up`](../../pivotview/drill-down/#drill-down-and-drill-up),
     * [`value sorting`](../../pivotview/sorting/#value-sorting),
     * built-in [`toolbar`](../../pivotview/tool-bar/#built-in-toolbar-options) options,
     * [`grouping bar`](../../pivotview/grouping-bar/) and
     * [`field list`](../../pivotview/field-list/) buttons actions such as
     * [`sorting`](../../pivotview/sorting/), [`filtering`](../../pivotview/filtering/),
     * [`editing`](../../pivotview/calculated-field/#editing-through-the-field-list-and-the-groupingbar),
     * [`aggregate type`](../../pivotview/aggregation/#modifying-aggregation-type-for-value-fields-at-runtime) change and so on,
     * CRUD operation in [`editing`](../../pivotview/editing/).
     * @event
     */
    actionFailure: base.EmitType<PivotActionFailureEventArgs>;
    /** @hidden */
    destroyEngine: boolean;
    /**
     * It triggers before the sorting performed.
     * @event
     */
    onHeadersSort: base.EmitType<HeadersSortEventArgs>;
    /**
     * Constructor for creating the widget
     * @param  {PivotViewModel} options - options.
     * @param  {string|HTMLElement} element - element.
     */
    constructor(options?: PivotViewModel, element?: string | HTMLElement);
    /**
     * To provide the array of modules needed for control rendering
     * @returns {base.ModuleDeclaration[]} - return.
     * @hidden
     */
    requiredModules(): base.ModuleDeclaration[];
    /**
     * For internal use only - Initializing internal properties;
     * @private
     */
    protected preRender(): void;
    private onBeforeTooltipOpen;
    private renderToolTip;
    /** @hidden */
    renderContextMenu(): void;
    private getFieldByID;
    /**
     * @hidden
     */
    getAllSummaryType(): AggregateTypes[];
    private getDefaultItems;
    private buildDefaultItems;
    private initProperties;
    /**
     * @hidden
     */
    updatePageSettings(isInit: boolean): void;
    /**
     * Initialize the control rendering
     * @returns {void}
     * @hidden
     */
    render(): void;
    private loadData;
    private onSuccess;
    /** @hidden */
    getEngine(action: string, drillItem?: IDrilledItem, sortItem?: ISort, aggField?: IFieldOptions, cField?: ICalculatedFields, filterItem?: IFilter, memberName?: string, rawDataArgs?: FetchRawDataArgs, editArgs?: UpdateRawDataArgs): void;
    private onReadyStateChange;
    private initialLoad;
    /**
     * Register the internal events.
     * @returns {void}
     * @hidden
     */
    addInternalEvents(): void;
    /**
     * De-Register the internal events.
     * @returns {void}
     * @hidden
     */
    removeInternalEvents(): void;
    /**
     * Get the Pivot widget properties to be maintained in the persisted state.
     * @returns {string} - string.
     */
    getPersistData(): string;
    /**
     * Loads pivot Layout
     * @param {string} persistData - Specifies the persist data to be loaded to pivot.
     * @returns {void}
     */
    loadPersistData(persistData: string): void;
    private mergePersistPivotData;
    /**
     * Method to open conditional formatting dialog.
     * @returns {void}
     */
    showConditionalFormattingDialog(): void;
    /**
     * Method to open calculated field dialog.
     * @returns {void}
     */
    createCalculatedFieldDialog(): void;
    /**
     * It returns the Module name.
     * @returns {string} - string.
     * @hidden
     */
    getModuleName(): string;
    /**
     * Copy the selected rows or cells data into clipboard.
     * @param {boolean} withHeader - Specifies whether the column header text needs to be copied along with rows or cells.
     * @returns {void}
     * @hidden
     */
    copy(withHeader?: boolean): void;
    /**
     * By default, prints all the pages of the grids.Grid and hides the pager.
     * > You can customize print options using the
     * [`printMode`](./api-pivotgrid.html#printmode-string).
     * @returns {void}
     * @hidden
     */
    /**
     * Called internally if any of the property value changed.
     * @returns {void}
     * @hidden
     */
    onPropertyChanged(newProp: PivotViewModel, oldProp: PivotViewModel): void;
    /**
     * Method to parse the template string.
     */
    templateParser(template: string): Function;
    /**
     * Method to get the cell template.
     */
    getCellTemplate(): Function;
    /**
     * @hidden
     */
    appendHtml(node: Element, innerHtml: string | Element): Element;
    /**
     * Render the UI section of PivotView.
     * @returns {void}
     * @hidden
     */
    renderPivotGrid(): void;
    /**
     * @hidden
     */
    showWaitingPopup(): void;
    /**
     * @hidden
     */
    hideWaitingPopup(): void;
    /**
     * Updates the PivotEngine using dataSource from Pivot View component.
     * @function updateDataSource
     * @returns {void}
     * @hidden
     */
    updateDataSource(isRefreshGrid?: boolean): void;
    private refreshPageData;
    /**
     * Export Pivot widget data to Excel file(.xlsx).
     * @param  {grids.ExcelExportProperties} excelExportProperties - Defines the export properties of the grids.Grid.
     * @param  {boolean} isMultipleExport - Define to enable multiple export.
     * @param  {workbook} workbook - Defines the Workbook if multiple export is enabled.
     * @param  {boolean} isBlob - If 'isBlob' set to true, then it will be returned as blob data.
     * @returns {void}
     */
    excelExport(excelExportProperties?: grids.ExcelExportProperties, isMultipleExport?: boolean, workbook?: any, isBlob?: boolean): void;
    /**
     * Export PivotGrid data to CSV file.
     * @param  {grids.ExcelExportProperties} excelExportProperties - Defines the export properties of the grids.Grid.
     * @param  {boolean} isMultipleExport - Define to enable multiple export.
     * @param  {workbook} workbook - Defines the Workbook if multiple export is enabled.
     * @param  {boolean} isBlob - If 'isBlob' set to true, then it will be returned as blob data.
     * @returns {void}
     */
    csvExport(excelExportProperties?: grids.ExcelExportProperties, isMultipleExport?: boolean, workbook?: any, isBlob?: boolean): void;
    /**
     * Export Pivot widget data to PDF document.
     * @param  {grids.PdfExportProperties} pdfExportProperties - Defines the export properties of the grids.Grid.
     * @param  {boolean} isMultipleExport - Define to enable multiple export.
     * @param  {Object} pdfDoc - Defined the Pdf Document if multiple export is enabled.
     * @param  {boolean} isBlob - If 'isBlob' set to true, then it will be returned as blob data.
     * @returns {void}
     */
    pdfExport(pdfExportProperties?: grids.PdfExportProperties, isMultipleExport?: boolean, pdfDoc?: Object, isBlob?: boolean): void;
    /**
     * Export method for the chart.
     * @param {charts.ExportType} type - Defines the export type.
     * @param {string} fileName - Defines file name of export document.
     * @param {pdfExport.PdfPageOrientation} orientation - Defines the page orientation on pdf export(0 for Portrait mode, 1 for Landscape mode).
     * @param {number} width - Defines width of the export document.
     * @param {number} height - Defines height of the export document.
     * @returns {void}
     */
    chartExport(type: charts.ExportType, fileName: string, orientation?: pdfExport.PdfPageOrientation, width?: number, height?: number): void;
    /**
     * Print method for the chart.
     * @returns {void}
     */
    printChart(): void;
    /** @hidden */
    onDrill(target: Element, chartDrillInfo?: ChartLabelInfo): void;
    private onOlapDrill;
    private onContentReady;
    private setToolTip;
    /** @hidden */
    getTooltipTemplate(): Function;
    /** @hidden */
    getHeaderField(rowIndex: number, colIndex: number, axis: string): string;
    private getLevel;
    getRowText(rowIndex: number, colIndex: number): string;
    private getColText;
    private updateClass;
    private mouseRclickHandler;
    private mouseDownHandler;
    private mouseMoveHandler;
    private mouseUpHandler;
    private parentAt;
    private mouseClickHandler;
    private updateTotColWidth;
    private framePivotColumns;
    /** @hidden */
    setGridColumns(gridcolumns: grids.ColumnModel[]): void;
    /** @hidden */
    fillGridColumns(gridcolumns: grids.ColumnModel[]): void;
    /** @hidden */
    triggerColumnRenderEvent(gridcolumns: grids.ColumnModel[]): void;
    /** @hidden */
    setCommonColumnsWidth(columns: grids.ColumnModel[], width: number): void;
    /** @hidden */
    getHeightAsNumber(): number;
    /** @hidden */
    getWidthAsNumber(): number;
    /** @hidden */
    getGridWidthAsNumber(): number;
    /** @hidden */
    onWindowResize(): void;
    /**
     * Refreshes the Pivot Table for blazor layoutRefresh is called for other base refresh is called.
     * @returns {void}
     */
    refresh(): void;
    /** @hidden */
    layoutRefresh(): void;
    private cellClicked;
    private rowDeselect;
    /** @hidden */
    clearSelection(ele: Element, e: MouseEvent | base.KeyboardEventArgs, colIndex: number, rowIndex: number): void;
    /** @hidden */
    applyRowSelection(colIndex: number, rowIndex: number, e: MouseEvent | KeyboardEvent): void;
    /** @hidden */
    applyColumnSelection(e: MouseEvent | base.KeyboardEventArgs, target: Element, colStart: number, colEnd: number, rowStart: number): void;
    private getSelectedCellsPos;
    private setSavedSelectedCells;
    private renderEmptyGrid;
    /** @hidden */
    initEngine(): void;
    private enginePopulatedEventMethod;
    private generateData;
    /** @hidden */
    refreshData(): void;
    private getValueCellInfo;
    private getHeaderSortInfo;
    /**
     * De-Register the internal events.
     * @param {Object} args - args.
     * @returns {void}
     * @hidden
     */
    bindTriggerEvents(args?: Object): void;
    private getData;
    private executeQuery;
    /** @hidden */
    applyFormatting(pivotValues: IPivotValues): void;
    private createStyleSheet;
    private applyHyperlinkSettings;
    private checkCondition;
    /** @hidden */
    updateGroupingReport(newGroupSettings: IGroupSettings[], updateGroupType: GroupType): void;
    private removeButtonFocus;
    private wireEvents;
    private unwireEvents;
    /** @hidden */
    actionBeginMethod(): boolean;
    /** @hidden */
    actionCompleteMethod(): void;
    /** @hidden */
    actionFailureMethod(error: Error): void;
    /** @hidden */
    getActionCompleteName(): any;
    /** @hidden */
    getStackedColumns(gridcolumns: grids.ColumnModel[], stackedColumns: grids.ColumnModel[]): grids.ColumnModel[];
    /**
     * To destroy the PivotView elements.
     * @returns {void}
     */
    destroy(): void;
    /**
     * Method to open the number formatting dialog to set the format dynamically.
     * @returns {void}
     */
    showNumberFormattingDialog(): void;
    /** @hidden */
    getValuesHeader(pivotCell: IAxisSet, type: string): string;
}
//node_modules/@syncfusion/ej2-pivotview/src/pivotview/index.d.ts
/**
 * PivotGrid component exported items
 */
//node_modules/@syncfusion/ej2-pivotview/src/pivotview/model/chartsettings-model.d.ts
/**
 * Interface for a class Animation
 */
export interface AnimationModel {
    /**
     * Allow the chart series gets animated on initial loading.
     * @default true
     */
    enable?: boolean;
    /**
     * Allows to set the duration of animation in milliseconds.
     * @default 1000
     */
    duration?: number;
    /**
     * Allows to delay the animation of the chart series.
     * @default 0
     */
    delay?: number;
}
/**
 * Interface for a class ChartSegment
 */
export interface ChartSegmentModel {
    /**
     * Allows to set the starting point of region.
     * @default null
     */
    value?: Object;
   /* eslint-disable-line */
    /**
     * Allows to set the color of a region.
     * @default null
     */
    color?: string;
    /**
     * Allows to set the pattern of dashes and gaps to stroke.
     * @default '0'
     */
    dashArray?: string;
}
/**
 * Interface for a class Font
 */
export interface FontModel {
    /**
     * Allows to set the font style to the text in the chart.
     * @default 'Normal'
     */
    fontStyle?: string;
    /**
     * Allows to set the font size to the text in the chart.
     * @default '16px'
     */
    size?: string;
    /**
     * Allows to set the font weight to the text in the chart.
     * @default 'Normal'
     */
    fontWeight?: string;
    /**
     * Allows to set color to the text in the chart.
     * @default ''
     */
    color?: string;
    /**
     * Allows to set text alignment in the chart
     * @default 'Center'
     */
    textAlignment?: charts.Alignment;
    /**
     * Allows to set font family to the text in the chart.
     */
    fontFamily?: string;
    /**
     * Allows to set opacity to the text in the chart.
     * @default 1
     */
    opacity?: number;
    /**
     * Allows to specify the chart title text overflow
     * @default 'Trim'
     */
    textOverflow?: charts.TextOverflow;
}
/**
 * Interface for a class Margin
 */
export interface MarginModel {
    /**
     * Allows to set the left margin in pixels.
     * @default 10
     */
    left?: number;
    /**
     * Allows to set the right margin in pixels.
     * @default 10
     */
    right?: number;
    /**
     * Allows to set the top margin in pixels.
     * @default 10
     */
    top?: number;
    /**
     * Allows to set the bottom margin in pixels.
     * @default 10
     */
    bottom?: number;
}
/**
 * Interface for a class Border
 */
export interface BorderModel {
    /**
     * Allows to set the color of the border that accepts value in hex and rgba as a valid CSS color string.
     * @default ''
     */
    color?: string;
    /**
     * Allows to set the width of the border in pixels.
     * @default 1
     */
    width?: number;
}
/**
 * Interface for a class Offset
 */
export interface OffsetModel1 {
    /**
     * Allows to set the x(left) value of the marker position
     * @default 0
     */
    x?: number;
    /**
     * Allows to set the y(top) value of the marker position
     * @default 0
     */
    y?: number;
}
/**
 * Interface for a class Indexes
 */
export interface IndexesModel {
    /**
     * Allows to specify the series index
     * @default 0
     * @aspType int
     */
    series?: number;
    /**
     * Allows to specify the point index
     * @default 0
     * @aspType int
     */
    point?: number;
}
/**
 * Interface for a class ChartArea
 */
export interface ChartAreaModel {
    /**
     * Allows options to customize the border of the chart area.
     */
    border?: charts.BorderModel;
    /**
     * Allows to set the background of the chart area that accepts value in hex and rgba as a valid CSS color string..
     * @default 'transparent'
     */
    background?: string;
    /**
     * Allows to set the opacity to the background of the chart area.
     * @default 1
     */
    opacity?: number;
    /**
     * Allows to set the background image of the chart area that accepts value in string as url link or location of an image.
     * @default null
     */
    backgroundImage?: string;
}
/**
 * Interface for a class CrosshairSettings
 */
export interface CrosshairSettingsModel {
    /**
     * Allows to show the crosshair lines in the chart.
     * @default false
     */
    enable?: boolean;
    /**
     * Allows to set the pattern of dashes and gaps to crosshair.
     * @default ''
     */
    dashArray?: string;
    /**
     * Allow options to customize the border of the crosshair line such as color and border size in the pivot chart.
     */
    line?: charts.BorderModel;
    /**
     * Allows to specify the line type of the crosshair. Horizontal mode enables the horizontal line and Vertical mode enables the vertical line. They are,
     * * None: Hides both vertical and horizontal crosshair lines.
     * * Both: Shows both vertical and horizontal crosshair lines.
     * * Vertical: Shows the vertical line.
     * * Horizontal: Shows the horizontal line.
     * @default Both
     */
    lineType?: charts.LineType;
}
/**
 * Interface for a class DataLabelSettings
 */
export interface DataLabelSettingsModel {
    /**
     * Allows to set the visibility of data label to the series renders.
     * @default false
     */
    visible?: boolean;
    /**
     * Allows to set the data source field that contains the data label value.
     * @default null
     */
    name?: string;
    /**
     * Allows to set the background color of the data label accepts value in hex and rgba as a valid CSS color string.
     * @default 'transparent'
     */
    fill?: string;
    /**
     * Allows to set the opacity to the background.
     * @default 1
     */
    opacity?: number;
    /**
     * Allows to specify the rotation angle to data label.
     * @default 0
     */
    angle?: number;
    /**
     * Allows to set whether rotation to data label is enable or not.
     * @default false
     */
    enableRotation?: boolean;
    /**
     * Allows to specify the position of the data label. They are,
     * * Outer: Positions the label outside the point.
     * * top: Positions the label on top of the point.
     * * Bottom: Positions the label at the bottom of the point.
     * * Middle: Positions the label to the middle of the point.
     * * Auto: Positions the label based on series.
     * @default 'Auto'
     */
    position?: LabelPosition;
    /**
     * Allows to set the roundedCornerX for the data label. It requires `border` values not to be null.
     * @default 5
     */
    rx?: number;
    /**
     * Allows to set the roundedCornerY for the data label. It requires `border` values not to be null.
     * @default 5
     */
    ry?: number;
    /**
     * Allows to set the alignment for data Label. They are,
     * * Near: Aligns the label to the left of the point.
     * * Center: Aligns the label to the center of the point.
     * * Far: Aligns the label to the right of the point.
     * @default 'Center'
     */
    alignment?: charts.Alignment;
    /**
     * Allows option for customizing the border lines.
     */
    border?: charts.BorderModel;
    /**
     * Allows customize the margin to the data label.
     */
    margin?: charts.MarginModel;
    /**
     * Allows option for customizing the data label text.
     */
    font?: charts.FontModel;
    /**
     * Allows custom template to show the data label. Use ${point.x} and ${point.y} as a placeholder
     * text to display the corresponding data point.
     * @default null
     */
    template?: string;
}
/**
 * Interface for a class PivotChartConnectorStyle
 */
export interface PivotChartConnectorStyleModel {
    /**
     * specifies the type of the connector line for pie, funnel, doughnut and pyramid chart. They are
     * * curve
     * * Line
     * @default 'Line'
     */
    type?: charts.ConnectorType;
    /**
     * Specifies the color of the connector line for pie, funnel, doughnut and pyramid chart.
     * @default null
     */
    color?: string;
    /**
     * Width of the connector line in pixels for pie, funnel, doughnut and pyramid chart.
     * @default 1
     */
    width?: number;
    /**
     * Length of the connector line in pixels for pie, funnel, doughnut and pyramid chart.
     * @default 'null'
     */
    length?: string;
    /**
     * dashArray of the connector line for pie, funnel, doughnut and pyramid chart.
     * @default ''
     */
    dashArray?: string;
}
/**
 * Interface for a class PivotChartDataLabel
 */
export interface PivotChartDataLabelModel {
    /**
     * Allows to set the visibility of data label to the series renders.
     * @default true
     */
    visible?: boolean;
    /**
    * Allows to set the border to data labels.
    */
    border?: charts.BorderModel;
    /**
     * Allows to customize the font of data labels.
     */
    font?: charts.FontModel;
    /**
     * Allows to set the background color of the data label accepts value in hex and rgba as a valid CSS color string.
     * @default 'transparent'
     */
    fill?: string;
    /**
     * Allows to specify the rotation angle to data label.
     * @default 0
     */
    angle?: number;
    /**
     * Allows to set whether rotation to data label is enable or not.
     * @default false
     */
    enableRotation?: boolean;
    /**
     * Allows to specify the position of the data label. They are,
     * * Outside: Positions the label outside the point.
     * * Inside: Positions the label on top of the point.
     * @default 'Outside'
     */
    position?: charts.AccumulationLabelPosition;
    /**
     * Allows to set the roundedCornerX for the data label. It requires `border` values not to be null.
     * @default 5
     */
    rx?: number;
    /**
     * Allows to set the roundedCornerY for the data label. It requires `border` values not to be null.
     * @default 5
     */
    ry?: number;
    /**
     * Allows custom template to show the data label. Use ${point.x} and ${point.y} as a placeholder
     * text to display the corresponding data point.
     * @default null
     */
    template?: string;
    /**
     * Allows custom connector of the pie, funnel, pyramid and doughnut chart data label.
     * @default null
     */
    connectorStyle?: PivotChartConnectorStyleModel;
}
/**
 * Interface for a class MarkerSettings
 */
export interface MarkerSettingsModel {
    /**
     * Allows the visibility of the marker for chart series.
     * > This is applicable only for line and area type series.
     * @default false
     */
    visible?: boolean;
    /**
     * Allows to spcify the shape of a marker.They are
     * * Circle - Renders a circle.
     * * Rectangle - Renders a rectangle.
     * * Triangle - Renders a triangle.
     * * Diamond - Renders a diamond.
     * * Cross - Renders a cross.
     * * HorizontalLine - Renders a horizontalLine.
     * * VerticalLine - Renders a verticalLine.
     * * Pentagon- Renders a pentagon.
     * * InvertedTriangle - Renders a invertedTriangle.
     * * Image - Renders a image.
     * @default 'Circle'
     */
    shape?: charts.ChartShape;
    /**
     * Allows to set the URL for the Image that is to be displayed as a marker.  It requires marker `shape` value to be an `Image`.
     * @default ''
     */
    imageUrl?: string;
    /**
     * Allows to set the width of the marker in pixels.
     * @default 5
     */
    width?: number;
    /**
     * Allows to set the height of the marker in pixels.
     * @default 5
     */
    height?: number;
    /**
     * Allows options for customizing the border of a marker.
     */
    border?: charts.BorderModel;
    /**
     * Allows options for customizing the marker position.
     */
    offset?: OffsetModel;
    /**
     *  Allows to set the fill color of the marker that accepts value in hex and rgba as a valid CSS color string.
     *  By default, it will take series' color.
     * @default null
     */
    fill?: string;
    /**
     * Allows to set the opacity of the marker.
     * @default 1
     */
    opacity?: number;
    /**
     * Allows to set the data label for the series.
     */
    dataLabel?: charts.DataLabelSettingsModel;
}
/**
 * Interface for a class ErrorBarCapSettings
 */
export interface ErrorBarCapSettingsModel {
    /**
     * Allows to set the width of the error bar in pixels.
     * @default 1
     */
    width?: number;
    /**
     * Allows to set the length of the error bar in pixels.
     * @default 10
     */
    length?: number;
    /**
     *  Allows to set the stroke color of the cap, which accepts value in hex, rgba as a valid CSS color string.
     * @default null
     */
    color?: string;
    /**
     * Allows to set the opacity of the cap.
     * @default 1
     */
    opacity?: number;
}
/**
 * Interface for a class ErrorBarSettings
 */
export interface ErrorBarSettingsModel {
    /**
     * Allows to set the visibility of the error bar gets rendered.
     * @default false
     */
    visible?: boolean;
    /**
     * Allows to set the type of the error bar . They are
     * * Fixed -  Renders a fixed type error bar.
     * * Percentage - Renders a percentage type error bar.
     * * StandardDeviation - Renders a standard deviation type error bar.
     * * StandardError -Renders a standard error type error bar.
     * * Custom -Renders a custom type error bar.
     * @default 'Fixed'
     */
    type?: charts.ErrorBarType;
    /**
     * Allows to set the direction of the error bar . They are
     * * both -  Renders both direction of error bar.
     * * minus - Renders minus direction of error bar.
     * * plus - Renders plus direction error bar.
     * @default 'Both'
     */
    direction?: charts.ErrorBarDirection;
    /**
     * Allows to set the mode of the error bar . They are
     * * Vertical -  Renders a vertical error bar.
     * * Horizontal - Renders a horizontal error bar.
     * * Both - Renders both side error bar.
     * @default 'Vertical'
     */
    mode?: charts.ErrorBarMode;
    /**
     * Allows to set the vertical error of the error bar.
     * @default 1
     */
    verticalError?: number;
    /**
     *  Allows to set the color for stroke of the error bar, which accepts value in hex, rgba as a valid CSS color string.
     * @default null
     */
    color?: string;
    /**
     * Allows to set the stroke width of the error bar..
     * @default 1
     */
    width?: number;
    /**
     * Allows to set the horizontal error of the error bar.
     * @default 1
     */
    horizontalError?: number;
    /**
     * Allows to set the vertical negative error of the error bar.
     * @default 3
     */
    verticalNegativeError?: number;
    /**
     * Allows to set the vertical positive error of the error bar.
     * @default 3
     */
    verticalPositiveError?: number;
    /**
     * Allows to set the horizontal negative error of the error bar.
     * @default 1
     */
    horizontalNegativeError?: number;
    /**
     * Allows to set the horizontal positive error of the error bar.
     * @default 1
     */
    horizontalPositiveError?: number;
    /**
     * Allows options for customizing the cap of the error bar.
     */
    errorBarCap?: charts.ErrorBarCapSettingsModel;
}
/**
 * Interface for a class Trendline
 */
export interface TrendlineModel {
    /**
     * Allows to set the name of trendline
     * @default ''
     */
    name?: string;
    /**
     * Allows to set the pattern of dashes and gaps to stroke.
     * @default '0'
     */
    dashArray?: string;
    /**
     * Allows to specify the visibility of trendline.
     * @default true
     */
    visible?: boolean;
    /**
     * Allows to set the period, the price changes over which will be considered to predict moving average trend line
     * @default 2
     */
    period?: number;
    /**
     * Allows to set the type of the trendline
     * @default 'Linear'
     */
    type?: charts.TrendlineTypes;
    /**
     * Allows to set the period, by which the trend has to backward forecast
     * @default 0
     */
    backwardForecast?: number;
    /**
     * Allows to set the period, by which the trend has to forward forecast
     * @default 0
     */
    forwardForecast?: number;
    /**
     * Allows to set the polynomial order of the polynomial trendline
     * @default 2
     */
    polynomialOrder?: number;
    /**
     * Allows options to customize the marker for trendlines
     * @deprecated
     */
    marker?: charts.MarkerSettingsModel;
    /**
     * Allows to set the visibility of the tooltip for trendlines
     * @default true
     */
    enableTooltip?: boolean;
    /**
     * Allows options to customize the animation for trendlines
     */
    animation?: charts.AnimationModel;
    /**
     * Allows to set the fill color of trendline
     * @default ''
     */
    fill?: string;
    /**
     * Allows to set the width of the trendline
     * @default 1
     */
    width?: number;
    /**
     * Allows to set the intercept of the trendline
     * @default null
     * @aspDefaultValueIgnore
     */
    intercept?: number;
    /**
     * Allows to set the legend shape of the trendline
     * @default 'SeriesType'
     */
    legendShape?: charts.LegendShape;
}
/**
 * Interface for a class EmptyPointSettings
 */
export interface EmptyPointSettingsModel {
    /**
     * Allows you to customize the fill color of empty points.
     * @default null
     */
    fill?: string;
    /**
     * Allows options to customize the border of empty points.
     * @default "{color: 'transparent', width: 0}"
     */
    border?: charts.BorderModel;
    /**
     * Allows you To customize the mode of empty points.
     * @default Zero
     */
    mode?: charts.EmptyPointMode | charts.AccEmptyPointMode;
}
/**
 * Interface for a class CornerRadius
 */
export interface CornerRadiusModel {
    /**
     * Allows to set the top left corner radius value
     * @default 0
     */
    topLeft?: number;
    /**
     * Allows to set the top right corner radius value
     * @default 0
     */
    topRight?: number;
    /**
     * Allows to set the bottom left corner radius value
     * @default 0
     */
    bottomLeft?: number;
    /**
     * Allows to set the bottom right corner radius value
     * @default 0
     */
    bottomRight?: number;
}
/**
 * Interface for a class CrosshairTooltip
 */
export interface CrosshairTooltipModel {
    /**
     * Allows to set the visibility of the crosshair tooltip.
     *  @default false
     */
    enable?: boolean;
    /**
     * Allows to set the fill color of the ToolTip accepts value in hex and rgba as a valid CSS color string.
     * @default null
     */
    fill?: string;
    /**
     * Allows options to customize the crosshair ToolTip text.
     */
    textStyle?: charts.FontModel;
}
/**
 * Interface for a class StripLineSettings
 */
export interface StripLineSettingsModel {
    /**
     * Allows to set the visibility of the strip line for axis to be rendered.
     * @default true
     */
    visible?: boolean;
    /**
     *  Allows the strip line to be rendered from axis origin.
     *  @default false
     */
    startFromAxis?: boolean;
    /**
     * Allows to set the start value of the strip line.
     * @default null
     * @aspDefaultValueIgnore
     */
    start?: number | Date;
    /**
     * Allows to set the end value of the strip line.
     * @default null
     * @aspDefaultValueIgnore
     */
    end?: number | Date;
    /**
     * Allows to set the size of the strip line, when it starts from the origin.
     * @default null
     * @aspDefaultValueIgnore
     */
    size?: number;
    /**
     * Allows to set the color of the strip line.
     * @default '#808080'
     */
    color?: string;
    /**
     * Allows to set the dash array of the strip line.
     * @default null
     * @aspDefaultValueIgnore
     */
    dashArray?: string;
    /**
     * Allows to set the size type of the strip line
     * @default Auto
     */
    sizeType?: charts.SizeType;
    /**
     * Allows to set repeated value of the strip line.
     * @default false
     * @aspDefaultValueIgnore
     */
    isRepeat?: boolean;
    /**
     * Allows to set the repeatEvery value of the strip line.
     * @default null
     * @aspDefaultValueIgnore
     */
    repeatEvery?: number | Date;
    /**
     * Allows to set the repeatUntil value of the strip line.
     * @default null
     * @aspDefaultValueIgnore
     */
    repeatUntil?: number | Date;
    /**
     * Allows to set the isSegmented value of the strip line
     * @default false
     * @aspDefaultValueIgnore
     */
    isSegmented?: boolean;
    /**
     * Allows to set the segmentStart value of the strip line.
     * @default null
     * @aspDefaultValueIgnore
     */
    segmentStart?: number | Date;
    /**
     * Allows to set the segmentEnd value of the strip line.
     * @default null
     * @aspDefaultValueIgnore
     */
    segmentEnd?: number | Date;
    /**
     * Allows to set the segmentAxisName of the strip line.
     * @default null
     * @aspDefaultValueIgnore
     */
    segmentAxisName?: string;
    /**
     * Allows to customize the border of the strip line with different settings such as text, rotation, line alignment, text style and opacity in the chart.
     */
    border?: charts.BorderModel;
    /**
     * Allows to set the strip line text.
     * @default ''
     */
    text?: string;
    /**
     * Allows to set the angle to which the strip line text gets rotated.
     * @default null
     * @aspDefaultValueIgnore
     */
    rotation?: number;
    /**
     * Allows to set the position of the strip line text horizontally. They are,
     * * Start: Places the strip line text at the start.
     * * Middle: Places the strip line text in the middle.
     * * End: Places the strip line text at the end.
     * @default 'Middle'
     */
    horizontalAlignment?: charts.Anchor;
    /**
     * Allows to set the position of the strip line text vertically. They are,
     * * Start: Places the strip line text at the start.
     * * Middle: Places the strip line text in the middle.
     * * End: Places the strip line text at the end.
     * @default 'Middle'
     */
    verticalAlignment?: charts.Anchor;
    /**
     * Allows options to customize the strip line text.
     */
    textStyle?: charts.FontModel;
    /**
     * Allows to set the order of the strip line. They are,
     * * Behind: Places the strip line behind the series elements.
     * * Over: Places the strip line over the series elements.
     * @default 'Behind'
     */
    zIndex?: charts.ZIndex;
    /**
     * Allows to set the opacity of the strip line
     * @default 1
     */
    opacity?: number;
}
/**
 * Interface for a class LabelBorder
 */
export interface LabelBorderModel {
    /**
     * Allows to set the color of the border that accepts value in hex and rgba as a valid CSS color string.
     * @default ''
     */
    color?: string;
    /**
     * Allows to set the width of the border in pixels.
     * @default 1
     */
    width?: number;
    /**
     * Allows to set the border type for labels
     * * Rectangle
     * * Without Top Border
     * * Without Top and BottomBorder
     * * Without Border
     * * Brace
     * * CurlyBrace
     * @default 'Rectangle'
     */
    type?: charts.BorderType;
}
/**
 * Interface for a class MajorGridLines
 */
export interface MajorGridLinesModel {
    /**
     * Allows to set the width of the line in pixels.
     * @default 1
     */
    width?: number;
    /**
     * Allows to set the dash array of the grid lines.
     * @default ''
     */
    dashArray?: string;
    /**
     * Allows to set the color of the major grid line that accepts value in hex and rgba as a valid CSS color string.
     * @default null
     */
    color?: string;
}
/**
 * Interface for a class MinorGridLines
 */
export interface MinorGridLinesModel {
    /**
     * Allows to set the width of the line in pixels.
     * @default 0.7
     */
    width?: number;
    /**
     * Allows to set the dash array of grid lines.
     * @default ''
     */
    dashArray?: string;
    /**
     * Allows to set the color of the minor grid line that accepts value in hex and rgba as a valid CSS color string.
     * @default null
     */
    color?: string;
}
/**
 * Interface for a class AxisLine
 */
export interface AxisLineModel {
    /**
     * Allows to set the width of the line in pixels.
     * @default 1
     */
    width?: number;
    /**
     * Allows to set the dash array of the axis line.
     * @default ''
     */
    dashArray?: string;
    /**
     * Allows to set the color of the axis line that accepts value in hex and rgba as a valid CSS color string.
     * @default null
     */
    color?: string;
}
/**
 * Interface for a class MajorTickLines
 */
export interface MajorTickLinesModel {
    /**
     * Allows to set the width of the tick lines in pixels.
     * @default 1
     */
    width?: number;
    /**
     * Allows to set the height of the ticks in pixels.
     * @default 5
     */
    height?: number;
    /**
     * Allows to set the color of the major tick line that accepts value in hex and rgba as a valid CSS color string.
     * @default null
     */
    color?: string;
}
/**
 * Interface for a class MinorTickLines
 */
export interface MinorTickLinesModel {
    /**
     * Allows to set the width of the tick line in pixels.
     * @default 0.7
     */
    width?: number;
    /**
     * Allows to set the height of the ticks in pixels.
     * @default 5
     */
    height?: number;
    /**
     * Allows to set the color of the minor tick line that accepts value in hex and rgba as a valid CSS color string.
     * @default null
     */
    color?: string;
}
/**
 * Interface for a class ChartLocation
 */
export interface ChartLocationModel {
    /**
     * Allows to set the x(left) value of the legend position
     * @default 0
     */
    x?: number;
    /**
     * Allows to set the y(top) value of the legend position
     * @default 0
     */
    y?: number;
}
/**
 * Interface for a class PivotChartSeriesBorder
 */
export interface PivotChartSeriesBorderModel {
    /**
     * Allows to set the color of the border that accepts value in hex and rgba as a valid CSS color string.
     * @default ''
     */
    color?: string;
    /**
     * Allows to set the width of the border in pixels.
     * @default 1
     */
    width?: number;
}
/**
 * Interface for a class PivotChartSeriesAnimation
 */
export interface PivotChartSeriesAnimationModel {
    /**
     * Allows to set the visibility of the series to be animated on initial loading.
     * @default true
     */
    enable?: boolean;
    /**
     * Allows to set the duration of animation in milliseconds.
     * @default 1000
     */
    duration?: number;
    /**
     * Allows to set the option to delay animation of the series.
     * @default 0
     */
    delay?: number;
}
/**
 * Interface for a class PivotChartSeriesSegment
 */
export interface PivotChartSeriesSegmentModel {
    /**
     * Allows to set the starting point of region.
     * @default null
     */
    value?: Object;
   /* eslint-disable-line */
    /**
     * Allows to set the color of a region.
     * @default null
     */
    color?: string;
    /**
     * Allows to set the pattern of dashes and gaps to stroke.
     * @default '0'
     */
    dashArray?: string;
}
/**
 * Interface for a class PivotChartSeriesMarkerSettings
 */
export interface PivotChartSeriesMarkerSettingsModel {
    /**
     * If set to true the marker for series is rendered. This is applicable only for line and area type series.
     * @default false
     */
    visible?: boolean;
    /**
     * Allows to set the different shape of a marker:
     * * circle - Renders the marker shaper as circle.
     * * rectangle - Renders the marker shaper as rectangle.
     * * triangle - Renders the marker shaper as triangle.
     * * diamond - Renders the marker shaper as diamond.
     * * cross - Renders the marker shaper as cross.
     * * horizontalLine - Renders the marker shaper as horizontalLine.
     * * verticalLine - Renders the marker shaper as verticalLine.
     * * pentagon- Renders the marker shaper as pentagon.
     * * invertedTriangle - Renders the marker shaper as invertedTriangle.
     * * image - Renders the marker shaper as image.
     * @default 'Circle'
     */
    shape?: charts.ChartShape;
    /**
     * Allows to set the URL for the Image that is to be displayed as a marker.  It requires marker `shape` value to be an `Image`.
     * @default ''
     */
    imageUrl?: string;
    /**
     * Allows to set the height of the marker in pixels.
     * @default 5
     */
    height?: number;
    /**
     * Allows to set the width of the marker in pixels.
     * @default 5
     */
    width?: number;
    /**
     * Allows options for customizing the border of a marker.
     */
    border?: charts.BorderModel;
    /**
     * Allows to set the fill color of the marker that accepts value in hex and rgba as a valid CSS color string.
     * By default, it will take series' color.
     * @default null
     */
    fill?: string;
    /**
     * Allows to set the opacity of the marker.
     * @default 1
     */
    opacity?: number;
    /**
     * Allows to set the data label for the series.
     */
    dataLabel?: charts.DataLabelSettingsModel;
}
/**
 * Interface for a class PivotChartSeriesErrorSettings
 */
export interface PivotChartSeriesErrorSettingsModel {
    /**
     * If set true, error bar for data gets rendered.
     * @default false
     */
    visible?: boolean;
    /**
     * Allows to set the type of the error bar . They are
     * * Fixed -  Renders a fixed type error bar.
     * * Percentage - Renders a percentage type error bar.
     * * StandardDeviation - Renders a standard deviation type error bar.
     * * StandardError -Renders a standard error type error bar.
     * * Custom -Renders a custom type error bar.
     * @default 'Fixed'
     */
    type?: charts.ErrorBarType;
    /**
     * Allows to set the direction of the error bar . They are
     * * both -  Renders both direction of error bar.
     * * minus - Renders minus direction of error bar.
     * * plus - Renders plus direction error bar.
     * @default 'Both'
     */
    direction?: charts.ErrorBarDirection;
    /**
     * Allows to set the mode of the error bar . They are
     * * Vertical -  Renders a vertical error bar.
     * * Horizontal - Renders a horizontal error bar.
     * * Both - Renders both side error bar.
     * @default 'Vertical'
     */
    mode?: charts.ErrorBarMode;
    /**
     *  Allows to set the color for stroke of the error bar, which accepts value in hex, rgba as a valid CSS color string.
     * @default null
     */
    color?: string;
    /**
     * Allows to set the vertical error of the error bar.
     * @default 1
     */
    verticalError?: number;
    /**
     * Allows to set the stroke width of the error bar..
     * @default 1
     */
    width?: number;
    /**
     * Allows to set the horizontal error of the error bar.
     * @default 1
     */
    horizontalError?: number;
    /**
     * Allows to set the vertical positive error of the error bar.
     * @default 3
     */
    verticalPositiveError?: number;
    /**
     * Allows to set the vertical negative error of the error bar.
     * @default 3
     */
    verticalNegativeError?: number;
    /**
     * Allows to set the horizontal positive error of the error bar.
     * @default 1
     */
    horizontalPositiveError?: number;
    /**
     * Allows to set the horizontal negative error of the error bar.
     * @default 1
     */
    horizontalNegativeError?: number;
    /**
     * Allows options for customizing the cap of the error bar.
     */
    errorBarCap?: charts.ErrorBarCapSettingsModel;
}
/**
 * Interface for a class PivotChartSeriesTrendline
 */
export interface PivotChartSeriesTrendlineModel {
    /**
     * Allows to set the name of trendline
     * @default ''
     */
    name?: string;
    /**
     * Allows to set the type of the trendline
     * @default 'Linear'
     */
    type?: charts.TrendlineTypes;
    /**
     * Allows to set the period, the price changes over which will be considered to predict moving average trend line
     * @default 2
     */
    period?: number;
    /**
     * Allows to set the polynomial order of the polynomial trendline
     * @default 2
     */
    polynomialOrder?: number;
    /**
     * Allows to set the period, by which the trend has to backward forecast
     * @default 0
     */
    backwardForecast?: number;
    /**
     * Allows to set the period, by which the trend has to forward forecast
     * @default 0
     */
    forwardForecast?: number;
    /**
     * Allows options to customize the animation for trendlines
     */
    animation?: charts.AnimationModel;
    /**
     * Allows options to customize the marker for trendlines
     */
    marker?: charts.MarkerSettingsModel;
    /**
     * Enables/disables tooltip for trendlines
     * @default true
     */
    enableTooltip?: boolean;
    /**
     * Allows to set the intercept of the trendline
     * @default null
     * @aspDefaultValueIgnore
     */
    intercept?: number;
    /**
     * Allows to set the fill color of trendline
     * @default ''
     */
    fill?: string;
    /**
     * Allows to set the width of the trendline
     * @default 1
     */
    width?: number;
    /**
     * Allows to set the legend shape of the trendline
     * @default 'SeriesType'
     */
    legendShape?: charts.LegendShape;
}
/**
 * Interface for a class PivotChartSeriesEmptyPointSettings
 */
export interface PivotChartSeriesEmptyPointSettingsModel {
    /**
     * Allows to customize the fill color of empty points.
     * @default null
     */
    fill?: string;
    /**
     * Allows options to customize the border of empty points.
     * @default "{color: 'transparent', width: 0}"
     */
    border?: charts.BorderModel;
    /**
     * To customize the mode of empty points.
     * @default Zero
     */
    mode?: charts.EmptyPointMode | charts.AccEmptyPointMode;
}
/**
 * Interface for a class PivotChartSeriesCornerRadius
 */
export interface PivotChartSeriesCornerRadiusModel {
    /**
     * Allows to set the top left corner radius value
     * @default 0
     */
    topLeft?: number;
    /**
     * Allows to set the top right corner radius value
     * @default 0
     */
    topRight?: number;
    /**
     * Allows to set the bottom left corner radius value
     * @default 0
     */
    bottomLeft?: number;
    /**
     * Allows to set the bottom right corner radius value
     * @default 0
     */
    bottomRight?: number;
}
/**
 * Interface for a class PivotChartAxisFont
 */
export interface PivotChartAxisFontModel {
    /**
     * Allows to set the font style for the text.
     * @default 'Normal'
     */
    fontStyle?: string;
    /**
     * Allows to set the font size for the text.
     * @default '16px'
     */
    size?: string;
    /**
     * Allows to set the font weight for the text.
     * @default 'Normal'
     */
    fontWeight?: string;
    /**
     * Allows to set the color for the text.
     * @default ''
     */
    color?: string;
    /**
     * Allows to set the text alignment
     * @default 'Center'
     */
    textAlignment?: charts.Alignment;
    /**
     * Allows to set the font family for the text.
     */
    fontFamily?: string;
    /**
     * Allows to set the opacity for the text.
     * @default 1
     */
    opacity?: number;
    /**
     * Allows to set the chart title text overflow
     * @default 'Trim'
     */
    textOverflow?: charts.TextOverflow;
}
/**
 * Interface for a class PivotChartAxisCrosshairTooltip
 */
export interface PivotChartAxisCrosshairTooltipModel {
    /**
     * If set to true, crosshair ToolTip will be visible.
     *  @default false
     */
    enable?: boolean;
    /**
     * Allows to set the fill color of the ToolTip accepts value in hex and rgba as a valid CSS color string.
     * @default null
     */
    fill?: string;
    /**
     * Allows options to customize the crosshair ToolTip text.
     */
    textStyle?: charts.FontModel;
}
/**
 * Interface for a class PivotChartAxisMajorTickLines
 */
export interface PivotChartAxisMajorTickLinesModel {
    /**
     * Allows to set the width of the tick lines in pixels.
     * @default 1
     */
    width?: number;
    /**
     * Allows to set the height of the ticks in pixels.
     * @default 5
     */
    height?: number;
    /**
     * Allows to set the color of the major tick line that accepts value in hex and rgba as a valid CSS color string.
     * @default null
     */
    color?: string;
}
/**
 * Interface for a class PivotChartAxisMajorGridLines
 */
export interface PivotChartAxisMajorGridLinesModel {
    /**
     * Allows to set the width of the line in pixels.
     * @default 1
     */
    width?: number;
    /**
     * Allows to set the dash array of the grid lines.
     * @default ''
     */
    dashArray?: string;
    /**
     * Allows to set the color of the major grid line that accepts value in hex and rgba as a valid CSS color string.
     * @default null
     */
    color?: string;
}
/**
 * Interface for a class PivotChartAxisMinorTickLines
 */
export interface PivotChartAxisMinorTickLinesModel {
    /**
     * Allows to set the width of the tick line in pixels.
     * @default 0.7
     */
    width?: number;
    /**
     * Allows to set the height of the ticks in pixels.
     * @default 5
     */
    height?: number;
    /**
     * Allows to set the color of the minor tick line that accepts value in hex and rgba as a valid CSS color string.
     * @default null
     */
    color?: string;
}
/**
 * Interface for a class PivotChartAxisMinorGridLines
 */
export interface PivotChartAxisMinorGridLinesModel {
    /**
     * Allows to set the width of the line in pixels.
     * @default 0.7
     */
    width?: number;
    /**
     * Allows to set the dash array of grid lines.
     * @default ''
     */
    dashArray?: string;
    /**
     * Allows to set the color of the minor grid line that accepts value in hex and rgba as a valid CSS color string.
     * @default null
     */
    color?: string;
}
/**
 * Interface for a class PivotChartAxisAxisLine
 */
export interface PivotChartAxisAxisLineModel {
    /**
     * Allows to set the width of the line in pixels.
     * @default 1
     */
    width?: number;
    /**
     * Allows to set the dash array of the axis line.
     * @default ''
     */
    dashArray?: string;
    /**
     * Allows to set the color of the axis line that accepts value in hex and rgba as a valid CSS color string.
     * @default null
     */
    color?: string;
}
/**
 * Interface for a class PivotChartAxisStripLineSettings
 */
export interface PivotChartAxisStripLineSettingsModel {
    /**
     * If set true, strip line for pivot chart axis renders.
     * @default true
     */
    visible?: boolean;
    /**
     *  If set true, strip line get render from  pivot chart axis origin.
     *  @default false
     */
    startFromAxis?: boolean;
    /**
     * Allows to set the start value of the pivot chart strip line.
     * @default null
     * @aspDefaultValueIgnore
     */
    start?: number | Date;
    /**
     * Allows to set the end value of the pivot chart strip line.
     * @default null
     * @aspDefaultValueIgnore
     */
    end?: number | Date;
    /**
     * Allows to set the size of the pivot chart strip line, when it starts from the origin.
     * @default null
     * @aspDefaultValueIgnore
     */
    size?: number;
    /**
     * Allows to set the color of the pivot chart strip line.
     * @default '#808080'
     */
    color?: string;
    /**
     * Allows to set the dash Array of the pivot chart strip line.
     * @default null
     * @aspDefaultValueIgnore
     */
    dashArray?: string;
    /**
     * Allows to set the size type of the pivot chart strip line
     * @default Auto
     */
    sizeType?: charts.SizeType;
    /**
     * Allows to set the isRepeat value of the pivot chart strip line.
     * @default false
     * @aspDefaultValueIgnore
     */
    isRepeat?: boolean;
    /**
     * Allows to set the repeatEvery value of the pivot chart strip line.
     * @default null
     * @aspDefaultValueIgnore
     */
    repeatEvery?: number | Date;
    /**
     * Allows to set the repeatUntil value of the pivot chart strip line.
     * @default null
     * @aspDefaultValueIgnore
     */
    repeatUntil?: number | Date;
    /**
     * Allows to set the isSegmented value of the pivot chart strip line
     * @default false
     * @aspDefaultValueIgnore
     */
    isSegmented?: boolean;
    /**
     * Allows to set the segmentStart value of the pivot chart strip line.
     * @default null
     * @aspDefaultValueIgnore
     */
    segmentStart?: number | Date;
    /**
     * Allows to set the segmentEnd value of the pivot chart strip line.
     * @default null
     * @aspDefaultValueIgnore
     */
    segmentEnd?: number | Date;
    /**
     * Allows to set the segmentAxisName of the pivot chart strip line.
     * @default null
     * @aspDefaultValueIgnore
     */
    segmentAxisName?: string;
    /**
     * Allows to set the border of the pivot chart strip line.
     */
    border?: charts.BorderModel;
    /**
     * Allows to set the strip line text.
     * @default ''
     */
    text?: string;
    /**
     * Allows to set the angle to which the strip line text gets rotated.
     * @default null
     * @aspDefaultValueIgnore
     */
    rotation?: number;
    /**
     * Allows to set the position of the strip line text horizontally. They are,
     * * Start: Places the strip line text at the start.
     * * Middle: Places the strip line text in the middle.
     * * End: Places the strip line text at the end.
     * @default 'Middle'
     */
    horizontalAlignment?: charts.Anchor;
    /**
     * Allows to set the position of the strip line text vertically. They are,
     * * Start: Places the strip line text at the start.
     * * Middle: Places the strip line text in the middle.
     * * End: Places the strip line text at the end.
     * @default 'Middle'
     */
    verticalAlignment?: charts.Anchor;
    /**
     * Allows options to customize the strip line text.
     */
    textStyle?: charts.FontModel;
    /**
     * Allows to set the order of the strip line. They are,
     * * Behind: Places the strip line behind the series elements.
     * * Over: Places the strip line over the series elements.
     * @default 'Behind'
     */
    zIndex?: charts.ZIndex;
    /**
     * Strip line Opacity
     * @default 1
     */
    opacity?: number;
}
/**
 * Interface for a class PivotChartAxisLabelBorder
 */
export interface PivotChartAxisLabelBorderModel {
    /**
     * Allows to set the color of the border that accepts value in hex and rgba as a valid CSS color string.
     * @default ''
     */
    color?: string;
    /**
     * Allows to set the width of the border in pixels.
     * @default 1
     */
    width?: number;
    /**
     * Allows to set the border type for labels
     * * Rectangle
     * * Without Top Border
     * * Without Top and BottomBorder
     * * Without Border
     * * Brace
     * * CurlyBrace
     * @default 'Rectangle'
     */
    type?: charts.BorderType;
}
/**
 * Interface for a class PivotChartSettingsChartArea
 */
export interface PivotChartSettingsChartAreaModel {
    /**
     * Allows options to customize the border of the chart area.
     */
    border?: charts.BorderModel;
    /**
     * Allows to set the background of the chart area that accepts value in hex and rgba as a valid CSS color string..
     * @default 'transparent'
     */
    background?: string;
    /**
     * Allows to set the opacity for background.
     * @default 1
     */
    opacity?: number;
}
/**
 * Interface for a class PivotChartSettingsCrosshairSettings
 */
export interface PivotChartSettingsCrosshairSettingsModel {
    /**
     * If set to true, crosshair line becomes visible.
     * @default false
     */
    enable?: boolean;
    /**
     * Allows to set the DashArray for crosshair.
     * @default ''
     */
    dashArray?: string;
    /**
     * Allows options to customize the crosshair line.
     */
    line?: charts.BorderModel;
    /**
     * Allows to set the line type. Horizontal mode enables the horizontal line and Vertical mode enables the vertical line. They are,
     * * None: Hides both vertical and horizontal crosshair lines.
     * * Both: Shows both vertical and horizontal crosshair lines.
     * * Vertical: Shows the vertical line.
     * * Horizontal: Shows the horizontal line.
     * @default Both
     */
    lineType?: charts.LineType;
}
/**
 * Interface for a class PivotChartSettingsLegendSettings
 */
export interface PivotChartSettingsLegendSettingsModel {
    /**
     * If set to true, legend will be visible.
     * @default true
     */
    visible?: boolean;
    /**
     * Allows to set the height of the legend in pixels.
     * @default null
     */
    height?: string;
    /**
     * Allows to set the width of the legend in pixels.
     * @default null
     */
    width?: string;
    /**
     * Allows to set the location of the legend, relative to the chart.
     * If x is 20, legend moves by 20 pixels to the right of the chart. It requires the `position` to be `Custom`.
     * ```html
     * <div id='Chart'></div>
     * ```
     * ```typescript
     * let chart: Chart = new Chart({
     * ...
     *   legendSettings: {
     *     visible: true,
     *     position: 'Custom',
     *     location: { x: 100, y: 150 },
     *   },
     * ...
     * });
     * chart.appendTo('#Chart');
     * ```
     */
    location?: charts.LocationModel;
    /**
     * Allows to set the position of the legend in the chart are,
     * * Auto: Places the legend based on area type.
     * * Top: Displays the legend at the top of the chart.
     * * Left: Displays the legend at the left of the chart.
     * * Bottom: Displays the legend at the bottom of the chart.
     * * Right: Displays the legend at the right of the chart.
     * * Custom: Displays the legend  based on the given x and y values.
     * @default 'Auto'
     */
    position?: charts.LegendPosition;
    /**
     * Allows option to customize the padding between legend items.
     * @default 8
     */
    padding?: number;
    /**
     * Allows to set the legend in chart can be aligned as follows:
     * * Near: Aligns the legend to the left of the chart.
     * * Center: Aligns the legend to the center of the chart.
     * * Far: Aligns the legend to the right of the chart.
     * @default 'Center'
     */
    alignment?: charts.Alignment;
    /**
     * Allows options to customize the legend text.
     */
    textStyle?: charts.FontModel;
    /**
     * Allows to set the shape height of the legend in pixels.
     * @default 10
     */
    shapeHeight?: number;
    /**
     * Allows to set the shape width of the legend in pixels.
     * @default 10
     */
    shapeWidth?: number;
    /**
     * Allows options to customize the border of the legend.
     */
    border?: charts.BorderModel;
    /**
     * Allows options to customize left, right, top and bottom margins of the chart.
     */
    margin?: charts.MarginModel;
    /**
     * Allows to set the padding between the legend shape and text.
     * @default 5
     */
    shapePadding?: number;
    /**
     * Allows to set the background color of the legend that accepts value in hex and rgba as a valid CSS color string.
     * @default 'transparent'
     */
    background?: string;
    /**
     * Allows to set the opacity of the legend.
     * @default 1
     */
    opacity?: number;
    /**
     * If set to true, series' visibility collapses based on the legend visibility.
     * @default true
     */
    toggleVisibility?: boolean;
    /**
     * Allows to set the description for legends.
     * @default null
     */
    description?: string;
    /**
     * Allows to set the tabindex value for the legend.
     * @default 3
     */
    tabIndex?: number;
}
/**
 * Interface for a class PivotChartSettingsIndexes
 */
export interface PivotChartSettingsIndexesModel {
    /**
     * Allows to set the series index
     * @default 0
     * @aspType int
     */
    series?: number;
    /**
     * Allows to set the point index
     * @default 0
     * @aspType int
     */
    point?: number;
}
/**
 * Interface for a class PivotChartSettingsMargin
 */
export interface PivotChartSettingsMarginModel {
    /**
     * Allows to set the left margin in pixels.
     * @default 10
     */
    left?: number;
    /**
     * Allows to set the right margin in pixels.
     * @default 10
     */
    right?: number;
    /**
     * Allows to set the top margin in pixels.
     * @default 10
     */
    top?: number;
    /**
     * Allows to set the bottom margin in pixels.
     * @default 10
     */
    bottom?: number;
}
/**
 * Interface for a class PivotSeries
 */
export interface PivotSeriesModel {
    /**
     * Allows to set the fill color for the series that accepts value in hex and rgba as a valid CSS color string.
     * @default null
     */
    fill?: string;
    /**
     * Allows to set the end angle for the pie and doughnut chart series.
     * @default null
     */
    endAngle?: number;
    /**
     * Allows to enable or disable series point explode on mouse click or touch for pie, funnel, doughnut and pyramid chart.
     * @default false
     */
    explode?: boolean;
    /**
     * Allows to enable or disable all series point explode on mouse click or touch for  pie, funnel, doughnut and pyramid chart.
     * @default false
     */
    explodeAll?: boolean;
    /**
     * Allows to set Index of the point to be exploded on load for pie, funnel, doughnut and pyramid chart.
     * @default null
     */
    explodeIndex?: number;
    /**
     * Allows to set inner radius for pie and doughnut series chart.
     * @default null
     */
    innerRadius?: string;
    /**
     * Allows to set distance of the point from the center, which takes values in both pixels and
     * percentage for pie, funnel, doughnut and pyramid chart.
     * @default "30%"
     */
    explodeOffset?: string;
    /**
     * Allows to set the distance between the segments of a funnel/pyramid series. The range will be from 0 to 1.
     * @default 0
     */
    gapRatio?: number;
    /**
     * Allows to define the mode of grouping for pie, funnel, doughnut and pyramid chart series.
     * @default "Value"
     */
    groupMode?: charts.GroupModes;
    /**
     * Allows to combine the y values into slice named other for  pie, funnel, doughnut and pyramid chart Series.
     * @default null
     */
    groupTo?: string;
    /**
     * Allows to defines the height of the funnel chart neck with respect to the chart area.
     * @default "20%"
     */
    neckHeight?: string;
    /**
     * Allows to defines the width of the funnel chart neck with respect to the chart area.
     * @default "20%"
     */
    neckWidth?: string;
    /**
     * Defines how the values have to be reflected, whether through height/surface of the segments in pyramid series.
     * @default 'Linear'
     */
    pyramidMode?: charts.PyramidModes;
    /**
     * Allows you to draw the chart series points with custom color for the pie, funnel, doughnut and pyramid chart types.
     * @default []
     */
    palettes?: string[];
    /**
     * Allows to defines start angle for the pie, funnel, doughnut and pyramid chart series.
     * @default 0
     */
    startAngle?: number;
    /**
     * Allows options to customizing animation for the series.
     * @default null
     */
    animation?: charts.AnimationModel;
    /**
     * Allows options to customize data label for the pie, funnel, pyramid, doughnut chart series.
     * @default null
     */
    dataLabel?: PivotChartDataLabelModel;
    /**
     * Allows to set the pattern of dashes and gaps to stroke the lines in `Line` type series.
     * @default '0'
     */
    dashArray?: string;
    /**
     * Allows to set the stroke width for the series that is applicable only for `Line` type series.
     * @default 1
     */
    width?: number;
    /**
     * Allows to set the axis, based on which the line series will be split.
     */
    segmentAxis?: charts.Segment;
    /**
     * Allows to set the type of series to be drawn in radar or polar series. They are
     *  'Line'
     *  'Column'
     *  'Area'
     *  'Scatter'
     *  'Spline'
     *  'StackingColumn'
     *  'StackingArea'
     *  'RangeColumn'
     *  'SplineArea'
     * @default 'Line'
     */
    drawType?: charts.ChartDrawType;
    /**
     * Specifies whether to join start and end point of a line/area series used in polar/radar chart to form a closed path.
     * @default true
     */
    isClosed?: boolean;
    /**
     * Allows to set the collection of regions that helps to differentiate a line series.
     */
    segments?: charts.ChartSegmentModel[];
    /**
     * This allows grouping the chart series in `stacked column / bar` charts.
     * Any string value can be provided to the stackingGroup property.
     * If any two or above series have the same value, those series will be grouped together.
     * @default ''
     */
    stackingGroup?: string;
    /**
     * Allows options to customizing the border of the series. This is applicable only for `Column` and `Bar` type series.
     */
    border?: charts.BorderModel;
    /**
     * Allows to set the visibility of series.
     * @default true
     */
    visible?: boolean;
    /**
     * Allows to set the opacity of the series.
     * @default 1
     */
    opacity?: number;
    /**
     * Allows to set the type of the series are
     * * StackingColumn
     * * StackingArea
     * * StackingBar
     * * StackingLine
     * * StepLine
     * * Line
     * * Column
     * * Area
     * * Bar
     * * StepArea
     * * Pareto
     * * Bubble
     * * Scatter
     * * Spline
     * * SplineArea
     * * StackingColumn100
     * * StackingBar100
     * * StackingArea100
     * * StackingLine100
     * * Polar
     * * Radar
     * @default 'Line'
     */
    type?: ChartSeriesType;
    /**
     * Allows options for displaying and customizing markers for individual points in a series.
     */
    marker?: charts.MarkerSettingsModel;
    /**
     * Allows options for displaying and customizing error bar for individual point in a series.
     */
    errorBar?: charts.ErrorBarSettingsModel;
    /**
     * If set true, the Tooltip for series will be visible.
     * @default true
     */
    enableTooltip?: boolean;
    /**
     * Allows to set the collection of trendlines that are used to predict the trend
     */
    trendlines?: charts.TrendlineModel[];
    /**
     * Allows to set the provided value will be considered as a Tooltip name
     * @default ''
     */
    tooltipMappingName?: string;
    /**
     * Allows to set the shape of the legend. Each series has its own legend shape. They are,
     * * Circle
     * * Rectangle
     * * VerticalLine
     * * Pentagon
     * * InvertedTriangle
     * * SeriesType
     * * Triangle
     * * Diamond
     * * Cross
     * * HorizontalLine
     * @default 'SeriesType'
     */
    legendShape?: charts.LegendShape;
    /**
     * Allows to set the minimum radius.
     * @default 1
     */
    minRadius?: number;
    /**
     * Allows to set the custom style for the selected series or points.
     * @default null
     */
    selectionStyle?: string;
    /**
     * Allows to set the type of spline to be rendered.
     * @default 'Natural'
     */
    splineType?: charts.SplineType;
    /**
     * Allows to set the maximum radius.
     * @default 3
     */
    maxRadius?: number;
    /**
     * Allows to set the tension of cardinal spline types
     * @default 0.5
     */
    cardinalSplineTension?: number;
    /**
     * Allows to render the column series points with particular column width.
     * @default null
     * @aspDefaultValueIgnore
     */
    columnWidth?: number;
    /**
     * Allows options to customize the empty points in series
     */
    emptyPointSettings?: charts.EmptyPointSettingsModel;
    /**
     * Allows to render the column series points with particular rounded corner.
     */
    cornerRadius?: charts.CornerRadiusModel;
    /**
     * Allows to render the column series points with particular column spacing. It takes value from 0 - 1.
     * @default 0
     */
    columnSpacing?: number;
}
/**
 * Interface for a class PivotAxis
 */
export interface PivotAxisModel {
    /**
     * Allows to set the actions like `Hide`, `Rotate45`, and `Rotate90` when the axis labels intersect with each other.They are,
     * * Rotate45: Rotates the label to 45 degree when it intersects.
     * * Rotate90: Rotates the label to 90 degree when it intersects.
     * * None: Shows all the labels.
     * * Hide: Hides the label when it intersects.
     * @default Rotate45
     */
    labelIntersectAction?: charts.LabelIntersectAction;
    /**
     * Allows options to customize the axis label.
     */
    labelStyle?: charts.FontModel;
    /**
     * Allows to set the title of an axis.
     * @default ''
     */
    title?: string;
    /**
     * Allows to scale the axis by this value. When zoomFactor is 0.5, the chart is scaled by 200% along this axis. Value ranges from 0 to 1.
     * @default null
     */
    zoomFactor?: number;
    /**
     * Allows options to customize the crosshair ToolTip.
     */
    crosshairTooltip?: charts.CrosshairTooltipModel;
    /**
     * It used to format the axis label that accepts any global string format like 'C', 'n1', 'P' etc.
     * It also accepts placeholder like '{value}°C' in which value represent the axis label, e.g, 20°C.
     * @default ''
     */
    labelFormat?: string;
    /**
     * Allows options for customizing the axis title.
     */
    titleStyle?: charts.FontModel;
    /**
     * Allows to specify the indexed category to the axis.
     * @default false
     */
    isIndexed?: boolean;
    /**
     * Allows to set the left and right padding for the plot area in pixels.
     * @default 0
     */
    plotOffset?: number;
    /**
     * Allows to set the position of labels at the edge of the axis.They are,
     * * Shift: Shifts the edge labels.
     * * None: No action will be performed.
     * * Hide: Edge label will be hidden.
     * @default 'Shift'
     */
    edgeLabelPlacement?: charts.EdgeLabelPlacement;
    /**
     * Allows to set the placement of a label for category axis. They are,
     * * onTicks: Renders the label on the ticks.
     * * betweenTicks: Renders the label between the ticks.
     * @default 'BetweenTicks'
     */
    labelPlacement?: charts.LabelPlacement;
    /**
     * Allows to set the placement of a ticks to the axis line. They are,
     * * outside: Renders the ticks outside to the axis line.
     * * inside: Renders the ticks inside to the axis line.
     * @default 'Outside'
     */
    tickPosition?: charts.AxisPosition;
    /**
     * If set to true, the axis will render at the opposite side of its default position.
     * @default false
     */
    opposedPosition?: boolean;
    /**
     * If set to true, axis label will be visible.
     * @default true
     */
    visible?: boolean;
    /**
     * Allows to set the placement of a labels to the axis line. They are,
     * * outside: Renders the labels outside to the axis line.
     * * inside: Renders the labels inside to the axis line.
     * @default 'Outside'
     */
    labelPosition?: charts.AxisPosition;
    /**
     * Allows to set the angle to which the axis label gets rotated.
     * @default 0
     */
    labelRotation?: number;
    /**
     * Allows to set the number of minor ticks per interval.
     * @default 0
     */
    minorTicksPerInterval?: number;
    /**
     * Allows to set the maximum range of an axis.
     * @default null
     */
    maximum?: Object;
 /* eslint-disable-line */
    /**
     * Allows to set the minimum range of an axis.
     * @default null
     */
    minimum?: Object;
 /* eslint-disable-line */
    /**
     * Allows to set the maximum width of an axis label.
     * @default 34.
     */
    maximumLabelWidth?: number;
    /**
     * Allows to set the interval for an axis.
     * @default null
     * @aspDefaultValueIgnore
     */
    interval?: number;
    /**
     * Allows options for customizing major tick lines.
     */
    majorTickLines?: charts.MajorTickLinesModel;
    /**
     * Allows to set the Trim property for an axis.
     * @default false
     */
    enableTrim?: boolean;
    /**
     * Allows options for customizing major grid lines.
     */
    majorGridLines?: charts.MajorGridLinesModel;
    /**
     * Allows options for customizing minor tick lines.
     */
    minorTickLines?: charts.MinorTickLinesModel;
    /**
     * Allows options for customizing axis lines.
     */
    lineStyle?: charts.AxisLineModel;
    /**
     * Allows options for customizing minor grid lines.
     */
    minorGridLines?: charts.MinorGridLinesModel;
    /**
     * Allows to specify whether the axis to be rendered in inversed manner or not.
     * @default false
     */
    isInversed?: boolean;
    /**
     * Allows to set the description for axis and its element.
     * @default null
     */
    description?: string;
    /**
     * Allows to set the start angle for the series.
     * @default 0
     */
    startAngle?: number;
    /**
     * Allows to set the polar radar radius position.
     * @default 100
     */
    coefficient?: number;
    /**
     * Allows to set the stripLine collection for the axis
     */
    stripLines?: charts.StripLineSettingsModel[];
    /**
     * Allows to set the tabindex value for the axis.
     * @default 2
     */
    tabIndex?: number;
    /**
     * Allows to set the border of the multi level labels.
     */
    border?: charts.LabelBorderModel;
}
/**
 * Interface for a class PivotTooltipSettings
 */
export interface PivotTooltipSettingsModel {
    /**
     * Allows to set the visibility of the marker.
     * @default false.
     */
    enableMarker?: boolean;
    /**
     * Allows to set the visibility of the tooltip.
     * @default true.
     */
    enable?: boolean;
    /**
     * Allows to set the fill color of the tooltip that accepts value in hex and rgba as a valid CSS color string.
     * @default null
     */
    fill?: string;
    /**
     * If set to true, a single ToolTip will be displayed for every index.
     * @default false.
     */
    shared?: boolean;
    /**
     * Allows to set the fill color of the tooltip that accepts value in hex and rgba as a valid CSS color string.
     * @default 0.75
     */
    opacity?: number;
    /**
     * Allows to set the header for tooltip.
     * @default null
     */
    header?: string;
    /**
     * Allows to set the format the ToolTip content.
     * @default null.
     */
    format?: string;
    /**
     * Allows options to customize the ToolTip text.
     */
    textStyle?: charts.FontModel;
    /**
     * Allows to set the custom template to format the ToolTip content. Use ${x} and ${y} as the placeholder text to display the corresponding data point.
     * @default null.
     */
    template?: string;
    /**
     * Allows options to customize tooltip borders.
     */
    border?: charts.BorderModel;
    /**
     * If set to true, ToolTip will animate while moving from one point to another.
     * @default true.
     */
    enableAnimation?: boolean;
}
/**
 * Interface for a class PivotPieChartCenter
 */
export interface PivotPieChartCenterModel {
    /**
     * X value of the center.
     * @default "50%"
     */
    x?: string;
    /**
     * Y value of the center.
     * @default "50%"
     */
    y?: string;
}
/**
 * Interface for a class PivotZoomSettings
 */
export interface PivotZoomSettingsModel {
    /**
     * If to true, chart can be pinched to zoom in / zoom out.
     * @default false
     */
    enablePinchZooming?: boolean;
    /**
     * If set to true, chart can be zoomed by a rectangular selecting region on the plot area.
     * @default true
     */
    enableSelectionZooming?: boolean;
    /**
     * If set to true, zooming will be performed on mouse up. It requires `enableSelectionZooming` to be true.
     * ...
     *    zoomSettings: {
     *      enableSelectionZooming: true,
     *      enableDeferredZooming: false
     *    }
     * ...
     * @default false
     */
    enableDeferredZooming?: boolean;
    /**
     * If set to true, chart can be zoomed by using mouse wheel.
     * @default false
     */
    enableMouseWheelZooming?: boolean;
    /**
     * Allows to specify whether to allow zooming vertically or horizontally or in both ways. They are,
     * * x: Chart can be zoomed horizontally.
     * * y: Chart can be zoomed  vertically.
     * * x,y: Chart can be zoomed both vertically and horizontally.
     *  It requires `enableSelectionZooming` to be true.
     *
     * ...
     *    zoomSettings: {
     *      enableSelectionZooming: true,
     *      mode: 'XY'
     *    }
     * ...
     * @default 'XY'
     */
    mode?: charts.ZoomMode;
    /**
     * Allows to set the toolkit options for the zooming as follows:
     * * ZoomIn
     * * ZoomOut
     * * Pan
     * * Zoom
     * * Reset
     * @default '["Zoom", "ZoomIn", "ZoomOut", "Pan", "Reset"]'
     */
    toolbarItems?: charts.ToolbarItems[];
    /**
     * Specifies whether axis needs to have scrollbar.
     * @default true.
     */
    enableScrollbar?: boolean;
    /**
     * Specifies whether chart needs to be panned by default.
     * @default false.
     */
    enablePan?: boolean;
}
/**
 * Interface for a class ChartSettings
 */
export interface ChartSettingsModel {
    /**
     * Allow options to customize the chart series with different settings such as fill color, animation of the series,
     * series width, border, visibility of the series, opacity, chart series types, marker, tooltip, trendlines, etc., in the pivot chart.
     * For example, to display the line type pivot chart, set the property `type` to **Line**.
     */
    chartSeries?: PivotSeriesModel;
    /**
     * Allow options to customize the horzontal(row) axis with different properties such as labelIntersectAction, labelStyle, title,
     * description, crosshairTooltip, labelFormat, titleStyle, plotOffset, edgeLabelPlacement, labelPlacement, tickPosition, opposedPosition, minor and
     * major grid lines, minor and major tick lines, border, etc. in the pivot chart.
     */
    primaryXAxis?: PivotAxisModel;
    /**
     * Allow options to customize the vertical(value) axis with different properties such as labelIntersectAction, labelStyle,
     * title, description, crosshairTooltip, labelFormat, titleStyle, plotOffset, edgeLabelPlacement, labelPlacement, tickPosition, opposedPosition, minor and
     * major grid lines, minor and major tick lines, border, etc. in the pivot chart.
     */
    primaryYAxis?: PivotAxisModel;
    /**
     * Allows you to draw a pivot chart with a specific value field during initial loading.
     * @default ''
     */
    value?: string;
    /**
     * Allows to specify the column whose values will be considered to draw the pivot chart. The is applicable
     * for pie, doughnut, funnel and pyramid chart types.
     * @default ''
     */
    columnHeader?: string;
    /**
     * Allows to specify the delimiter to split the column headers. The is applicable for pie, doughnut,
     * funnel and pyramid chart types.
     * @default '-'
     */
    columnDelimiter?: string;
    /**
     * It allows you to draw a pivot chart with multiple value fields as a single or stacked chart area.
     * Use the `multipleAxisMode` enum options, either **Stacked** or **Single**, to show the chart area as either stacked or single based on value fields.
     * > The `enableMultiAxis` property is deprecated and will no longer be used. Use `enableMultipleAxis` with  to achieve the same.
     * @default false
     * @deprecated
     */
    enableMultiAxis?: boolean;
    /**
     * It allows you to draw a pivot chart with multiple value fields as a single or stacked chart area.
     * Use the `multipleAxisMode` enum options, either **Stacked** or **Single**, to show the chart area as either stacked or single based on value fields.
     * @default false
     */
    enableMultipleAxis?: boolean;
    /**
     * Allows the chart series to be displayed, depending on the value fields specified, in either a stacked or single chart area.
     * The options available are:
     * * Stacked: Allows the chart series to be displayed in a separate chart area depending on the value fields specified.
     * * Single: Allows the chart series to be displayed in a single chart area for different value fields.
     * @default 'Stacked'
     */
    multipleAxisMode?: MultipleAxisMode;
    /**
     * Enable or disable scroll bar while multiple axis.
     * @default false
     */
    enableScrollOnMultiAxis?: boolean;
    /**
    * Allows to display chart series in accordance with member name in all chart area.
    * > It is applicable only when `enableMultipleAxis` property is set to **true**.
    * @default false
    */
    showMemberSeries?: boolean;
    /**
     * Allow options to customize the title in the pivot chart with different properties such as fontStyle, font size, fontWeight, font color, testAlignment, fontFamily, opacity, textOverflow.
     */
    titleStyle?: charts.FontModel;
    /**
     * Allows you to add title to the pivot chart.
     * @default ''
     */
    title?: string;
    /**
     * Allow options to customize the subtitle in the pivot chart with different properties such as fontStyle, font size, fontWeight, font color, testAlignment, fontFamily, opacity, textOverflow.
     */
    subTitleStyle?: charts.FontModel;
    /**
     * Allows you to add the subtitle to the pivot chart.
     * @default ''
     */
    subTitle?: string;
    /**
     * Allow options to customize the border of the chart series such as color and border size in the pivot chart.
     * For example, to display the chart series border color as red, set the properties `color` to either **"red"** or **"#FF0000"** or **"rgba(255,0,0,1.0)"** and `width` to **0.5**.
     */
    border?: charts.BorderModel;
    /**
     *  Allow options to customize the left, right, top and bottom margins of the pivot chart.
     */
    margin?: charts.MarginModel;
    /**
     * Allow options to customize the chart area with a variety of settings such as background color, border, opacity and background image in the pivot chart.
     * For example, to change the of the pivot chart's background, set the property `opacity` to **0.5**.
     */
    chartArea?: charts.ChartAreaModel;
    /**
     * Allows you to change the background color of the chart series in the pivot chart.
     * For example, to display the chart series with background color as red, set the property `background` to either **"red"** or **"#FF0000"** or **"rgba(255,0,0,1.0)"**.
     * @default null
     */
    background?: string;
    /**
     * Allows you to draw a pivot chart with either material, fabric, bootstrap, highcontrast light, material dark, fabric dark, highcontrast, bootstrap dark, bootstrap4 theme.
     * @default 'Material'
     */
    theme?: charts.ChartTheme;
    /**
     * Allows you to draw the chart series points with custom color in the pivot chart.
     * @default []
     */
    palettes?: string[];
    /**
     * Allow options to customize the crosshair line with different settings such as color and width of the line,
     * line types that are shown horizontally and vertically to indicate the value of the axis at the mouse hover or touch position in the pivot chart.
     */
    crosshair?: charts.CrosshairSettingsModel;
    /**
     * Allow options to customize the tooltip of the pivot chart with different properties such as visibility of the tooltip, enableMarker, fill color, opacity, header for tooltip,
     * format, textStyle, template, border, enableAnimation.
     */
    tooltip?: PivotTooltipSettingsModel;
    /**
     * Allow options to customize the center of pie series chart with properties x and y.
     */
    pieCenter?: PivotPieChartCenterModel;
    /**
     * Allow options to customize the pivot chart zooming with different properties such as enablePinchZooming, enableSelectionZooming,
     * enableDeferredZooming, enableMouseWheelZooming, zoom modes, toolbarItems, enableScrollbar and enablePan.
     */
    zoomSettings?: PivotZoomSettingsModel;
    /**
     * Allow options for customizing legends with different properties such as legend visibility,
     * height, width, position, legend padding, alignment, textStyle, border, margin, background, opacity, description, tabIndex in the pivot chart.
     */
    legendSettings?: charts.LegendSettingsModel;
    /**
     * Allow options for customizing the selection mode to be done either by a specific series or point or cluster or by dragging it to the pivot chart.
     * For example, to highlight a specific point in a specific series of the pivot chart, set the property `selectionMode` to **Point**. The available modes are,
     * * none: Disables the selection.
     * * series: selects a series.
     * * dragXY: selects points by dragging with respect to both horizontal and vertical axes
     * * dragX: selects points by dragging with respect to horizontal axis.
     * * dragY: selects points by dragging with respect to vertical axis.
     * * point: selects a point.
     * * cluster: selects a cluster of point
     * @default 'None'
     */
    selectionMode?: ChartSelectionMode;
    /**
     * Allow options for customizing the selection mode to be done either by a specific series or point or cluster
     * or by dragging it to the pivot chart. For example, to highlight a specific point in a specific series of the
     * pivot chart, set the property `accumulationSelectionMode` to **Point**. It is applicable for chart types pie,
     * funnel, doughnut and pyramid. The available modes are,
     * * none: Disables the selection.
     * * point: selects a point.
     * @default 'None'
     */
    accumulationSelectionMode?: charts.AccumulationSelectionMode;
    /**
     * Allows to set the labels placed smartly without overlapping. It is applicable for chart types pie,
     * funnel, doughnut and pyramid.
     * @default true
     */
    enableSmartLabels?: boolean;
    /**
     * Allows to Enable or disable the border in pie and doughnut chart while mouse moving.
     * @default true
     */
    enableBorderOnMouseMove?: boolean;
    /**
     * Specifies whether point has to get highlighted or not. It is applicable for chart types pie,
     * funnel, doughnut and pyramid. Takes value either 'None 'or 'Point'.
     * @default None
     */
    highlightMode?: charts.AccumulationSelectionMode;
    /**
     * Specifies whether series or data point for accumulation chart has to be selected. They are,
     * * none: sets none as selecting pattern to accumulation chart .
     * * chessboard: sets chess board as selecting pattern accumulation chart .
     * * dots: sets dots as  selecting pattern accumulation chart .
     * * diagonalForward: sets diagonal forward as selecting pattern to accumulation chart .
     * * crosshatch: sets crosshatch as selecting pattern to accumulation chart.
     * * pacman: sets pacman selecting pattern to accumulation chart.
     * * diagonalbackward: sets diagonal backward as selecting pattern to accumulation chart.
     * * grid: sets grid as selecting pattern to accumulation chart.
     * * turquoise: sets turquoise as selecting pattern to accumulation chart.
     * * star: sets star as selecting pattern to accumulation chart.
     * * triangle: sets triangle as selecting pattern to accumulation chart.
     * * circle: sets circle as selecting pattern to accumulation chart.
     * * tile: sets tile as selecting pattern to accumulation chart.
     * * horizontaldash: sets horizontal dash as selecting pattern to accumulation chart.
     * * verticaldash: sets vertical dash as selecting pattern to accumulation chart.
     * * rectangle: sets rectangle as selecting pattern.
     * * box: sets box as selecting pattern to accumulation chart.
     * * verticalstripe: sets vertical stripe as  selecting pattern to accumulation chart.
     * * horizontalstripe: sets horizontal stripe as selecting pattern to accumulation chart.
     * * bubble: sets bubble as selecting pattern to accumulation chart.
     * It is applicable for chart types pie, funnel, doughnut and pyramid.
     * @default None
     */
    highlightPattern?: charts.SelectionPattern;
    /**
     * Allows the pivot chart to be exported to either **PDF** or **PNG** or **JPEG** or **SVG** filter formats.
     * @default true
     */
    enableExport?: boolean;
    /**
     * Allows you to perform multiple selection in the pivot chart. To enable this option, it requires the property `selectionMode` to be **Point** or **Series** or **Cluster**.
     * @default false
     */
    isMultiSelect?: boolean;
    /**
     * Allows you to highlight a specific point of the series while rendering the pivot chart.
     * For example, to highlight first point in the first series, set the properties series to 0 and points to 1. To use this option, it requires the property `selectionMode` to be **Point** or **Series**.
     * @default []
     */
    selectedDataIndexes?: charts.IndexesModel[];
    /**
     * Allows you to enable/disable the tooltip animation while performing the mouse move from one point to another in the pivot chart.
     * @default true
     */
    enableAnimation?: boolean;
    /**
     * Allows you to render the pivot chart in canvas mode.
     *
     * @default false
     */
    enableCanvas?: boolean;
    /**
     * Allows the group separator to be shown to the values in the pivot chart.
     * @default true
     */
    useGroupingSeparator?: boolean;
    /**
     * Allows you to render the pivot chart in a transposed manner or not.
     * @default false
     */
    isTransposed?: boolean;
    /**
     * Allows you to highlight specific legends by clicking the mouse or by interacting with the keyboard in the pivot chart.
     * @default 1
     */
    tabIndex?: number;
    /**
     * Allows you to add a description of the pivot chart.
     * @default null
     */
    description?: string;
    /**
     * It triggers after the pivot chart resized.
     * @event
     * @deprecated
     */
    resized?: base.EmitType<charts.IResizeEventArgs>;
    /**
     * Allows you to draw points of the column type pivot chart series as side by side.
     * @default true
     */
    enableSideBySidePlacement?: boolean;
    /**
     * It triggers after the pivot chart loaded.
     * @event
     * @deprecated
     */
    loaded?: base.EmitType<charts.ILoadedEventArgs>;
    /**
     * It triggers before the pivot chart prints.
     * @event
     * @deprecated
     */
    beforePrint?: base.EmitType<charts.IPrintEventArgs>;
    /**
     * It triggers after the pivot chart series animation is completed.
     * @event
     * @deprecated
     */
    animationComplete?: base.EmitType<charts.IAnimationCompleteEventArgs>;
    /**
     * It triggers before chart loads.
     * @event
     * @deprecated
     */
    load?: base.EmitType<charts.ILoadedEventArgs>;
    /**
     * It triggers before the data label for series renders in the pivot chart.
     * @event
     * @deprecated
     */
    textRender?: base.EmitType<charts.ITextRenderEventArgs>;
    /**
     * It triggers before the legend renders in the pivot chart.
     * @event
     * @deprecated
     */
    legendRender?: base.EmitType<charts.ILegendRenderEventArgs>;
    /**
     * It triggers before the series is rendered in the pivot chart.
     * @event
     * @deprecated
     */
    seriesRender?: base.EmitType<charts.ISeriesRenderEventArgs>;
    /**
     * base.Event to customize the multi-level labels of the pivot chart. This triggers while rendering the multi-level labels
     * @event
     */
    multiLevelLabelRender?: base.EmitType<MultiLevelLabelRenderEventArgs>;
    /**
     * It triggers before each points for the series is rendered.
     * @event
     * @deprecated
     */
    pointRender?: base.EmitType<charts.IPointRenderEventArgs>;
    /**
     * It triggers before the tooltip for series is rendered.
     * @event
     * @deprecated
     */
    tooltipRender?: base.EmitType<charts.ITooltipRenderEventArgs>;
    /**
     * It triggers when the legend series clicked.
     * @event
     */
    legendClick?: base.EmitType<charts.ILegendClickEventArgs>;
    /**
     * It triggers before each axis label is rendered.
     * @event
     * @deprecated
     */
    axisLabelRender?: base.EmitType<charts.IAxisLabelRenderEventArgs>;
    /**
     * It triggers when clicked multi-level label.
     * @event
     * @deprecated
     */
    multiLevelLabelClick?: base.EmitType<MultiLevelLabelClickEventArgs>;
    /**
     * It triggers on clicking the pivot chart.
     * @event
     * @deprecated
     */
    chartMouseClick?: base.EmitType<charts.IMouseEventArgs>;
    /**
     * It triggers on hovering the pivot chart.
     * @event
     * @deprecated
     */
    chartMouseMove?: base.EmitType<charts.IMouseEventArgs>;
    /**
     * It triggers on series point move.
     * @event
     * @deprecated
     */
    pointMove?: base.EmitType<charts.IPointEventArgs>;
    /**
     * It triggers on series point click.
     * @event
     * @deprecated
     */
    pointClick?: base.EmitType<charts.IPointEventArgs>;
    /**
     * It triggers when mouse down on chart series.
     * @event
     * @deprecated
     */
    chartMouseDown?: base.EmitType<charts.IMouseEventArgs>;
    /**
     * It triggers when cursor leaves the chart.
     * @event
     * @deprecated
     */
    chartMouseLeave?: base.EmitType<charts.IMouseEventArgs>;
    /**
     * It triggers after the drag selection is completed on chart series.
     * @event
     * @deprecated
     */
    dragComplete?: base.EmitType<charts.IDragCompleteEventArgs>;
    /**
     * It triggers when mouse up on chart series.
     * @event
     * @deprecated
     */
    chartMouseUp?: base.EmitType<charts.IMouseEventArgs>;
    /**
     * It triggers when start scroll the chart series.
     * @event
     * @deprecated
     */
    scrollStart?: base.EmitType<charts.IScrollEventArgs>;
    /**
     * It triggers after the zoom selection is completed.
     * @event
     * @deprecated
     */
    zoomComplete?: base.EmitType<charts.IZoomCompleteEventArgs>;
    /**
     * It triggers when change the scroll of the chart seires.
     * @event
     * @deprecated
     */
    scrollChanged?: base.EmitType<charts.IScrollEventArgs>;
    /**
     * It triggers after the scroll end.
     * @event
     * @deprecated
     */
    scrollEnd?: base.EmitType<charts.IScrollEventArgs>;
    /**
     * Allows you to display the multi-level label feature in the pivot chart. This multi-level labels used to perform drill operation in the pivot chart.
     * @default true
     */
    showMultiLevelLabels?: boolean;
}
//node_modules/@syncfusion/ej2-pivotview/src/pivotview/model/chartsettings.d.ts
/**
 * Allows to configure the animation behavior for chart series such as animation duration and delay.
 */
export  class Animation extends base.ChildProperty<Animation> {
    /**
     * Allow the chart series gets animated on initial loading.
     * @default true
     */
    enable: boolean;
    /**
     * Allows to set the duration of animation in milliseconds.
     * @default 1000
     */
    duration: number;
    /**
     * Allows to delay the animation of the chart series.
     * @default 0
     */
    delay: number;
}
/**
 * Allows to customize specific region for line type series with a variety of means such as value, color, pattern of dashes.
 */
export  class ChartSegment extends base.ChildProperty<ChartSegment> {
    /**
     * Allows to set the starting point of region.
     * @default null
     */
    value: Object;
    /**
     * Allows to set the color of a region.
     * @default null
     */
    color: string;
    /**
     * Allows to set the pattern of dashes and gaps to stroke.
     * @default '0'
     */
    dashArray: string;
    /** @private */
    startValue: number;
    /** @private */
    endValue: number;
}
/**
 * Allows to customize the apprearance of the text in the chart such as font style, font size, font weight, font color, font family, text alignment, opacity, text overflow.
 */
export  class Font extends base.ChildProperty<Font> {
    /**
     * Allows to set the font style to the text in the chart.
     * @default 'Normal'
     */
    fontStyle: string;
    /**
     * Allows to set the font size to the text in the chart.
     * @default '16px'
     */
    size: string;
    /**
     * Allows to set the font weight to the text in the chart.
     * @default 'Normal'
     */
    fontWeight: string;
    /**
     * Allows to set color to the text in the chart.
     * @default ''
     */
    color: string;
    /**
     * Allows to set text alignment in the chart
     * @default 'Center'
     */
    textAlignment: charts.Alignment;
    /**
     * Allows to set font family to the text in the chart.
     */
    fontFamily: string;
    /**
     * Allows to set opacity to the text in the chart.
     * @default 1
     */
    opacity: number;
    /**
     * Allows to specify the chart title text overflow
     * @default 'Trim'
     */
    textOverflow: charts.TextOverflow;
}
/**
 * Allow options to customize the left, right, top and bottom margins of the pivot chart.
 */
export  class Margin extends base.ChildProperty<Margin> {
    /**
     * Allows to set the left margin in pixels.
     * @default 10
     */
    left: number;
    /**
     * Allows to set the right margin in pixels.
     * @default 10
     */
    right: number;
    /**
     * Allows to set the top margin in pixels.
     * @default 10
     */
    top: number;
    /**
     * Allows to set the bottom margin in pixels.
     * @default 10
     */
    bottom: number;
}
/**
 * Allow options to customize the border of the chart such as color and border size in the pivot chart.
 * For example, to display the chart border color as red, set the properties `color` to either **"red"**
 * or **"#FF0000"** or **"rgba(255,0,0,1.0)"** and `width` to **0.5**.
 */
export  class Border extends base.ChildProperty<Border> {
    /**
     * Allows to set the color of the border that accepts value in hex and rgba as a valid CSS color string.
     * @default ''
     */
    color: string;
    /**
     * Allows to set the width of the border in pixels.
     * @default 1
     */
    width: number;
}
/**
 * Allows to configure the position of the marker such as top and left in the chart.
 */
export  class Offset extends base.ChildProperty<Offset> {
    /**
     * Allows to set the x(left) value of the marker position
     * @default 0
     */
    x: number;
    /**
     * Allows to set the y(top) value of the marker position
     * @default 0
     */
    y: number;
}
/**
 * Allows you to highlight a specific point of the series while rendering the pivot chart.
 * For example, to highlight first point in the first series, set the properties series to 0 and points to 1. To use this option, it requires the property `selectionMode` to be **Point** or **Series**.
 * @public
 */
export  class Indexes extends base.ChildProperty<Indexes> {
    /**
     * Allows to specify the series index
     * @default 0
     * @aspType int
     */
    series: number;
    /**
     * Allows to specify the point index
     * @default 0
     * @aspType int
     */
    point: number;
}
/**
 * Allow options to customize the chart area with a variety of settings such as background color, border, opacity and background image in the pivot chart.
 * For example, to change the of the pivot chart's background, set the property `opacity` to **0.5**.
 */
export  class ChartArea extends base.ChildProperty<ChartArea> {
    /**
     * Allows options to customize the border of the chart area.
     */
    border: charts.BorderModel;
    /**
     * Allows to set the background of the chart area that accepts value in hex and rgba as a valid CSS color string..
     * @default 'transparent'
     */
    background: string;
    /**
     * Allows to set the opacity to the background of the chart area.
     * @default 1
     */
    opacity: number;
    /**
     * Allows to set the background image of the chart area that accepts value in string as url link or location of an image.
     * @default null
     */
    backgroundImage: string;
}
/**
 * Allow options to customize the crosshair line with different settings such as color and width of the line,
 * line types that are shown horizontally and vertically to indicate the value of the axis at the mouse hover or touch position in the pivot chart.
 */
export  class CrosshairSettings extends base.ChildProperty<CrosshairSettings> {
    /**
     * Allows to show the crosshair lines in the chart.
     * @default false
     */
    enable: boolean;
    /**
     * Allows to set the pattern of dashes and gaps to crosshair.
     * @default ''
     */
    dashArray: string;
    /**
     * Allow options to customize the border of the crosshair line such as color and border size in the pivot chart.
     */
    line: charts.BorderModel;
    /**
     * Allows to specify the line type of the crosshair. Horizontal mode enables the horizontal line and Vertical mode enables the vertical line. They are,
     * * None: Hides both vertical and horizontal crosshair lines.
     * * Both: Shows both vertical and horizontal crosshair lines.
     * * Vertical: Shows the vertical line.
     * * Horizontal: Shows the horizontal line.
     * @default Both
     */
    lineType: charts.LineType;
}
/**
 * Allows to configure the data label with different settings such as name, fill color, opacity, rotation angle, border, marging, etc in the chart.
 */
export  class DataLabelSettings extends base.ChildProperty<DataLabelSettings> {
    /**
     * Allows to set the visibility of data label to the series renders.
     * @default false
     */
    visible: boolean;
    /**
     * Allows to set the data source field that contains the data label value.
     * @default null
     */
    name: string;
    /**
     * Allows to set the background color of the data label accepts value in hex and rgba as a valid CSS color string.
     * @default 'transparent'
     */
    fill: string;
    /**
     * Allows to set the opacity to the background.
     * @default 1
     */
    opacity: number;
    /**
     * Allows to specify the rotation angle to data label.
     * @default 0
     */
    angle: number;
    /**
     * Allows to set whether rotation to data label is enable or not.
     * @default false
     */
    enableRotation: boolean;
    /**
     * Allows to specify the position of the data label. They are,
     * * Outer: Positions the label outside the point.
     * * top: Positions the label on top of the point.
     * * Bottom: Positions the label at the bottom of the point.
     * * Middle: Positions the label to the middle of the point.
     * * Auto: Positions the label based on series.
     * @default 'Auto'
     */
    position: LabelPosition;
    /**
     * Allows to set the roundedCornerX for the data label. It requires `border` values not to be null.
     * @default 5
     */
    rx: number;
    /**
     * Allows to set the roundedCornerY for the data label. It requires `border` values not to be null.
     * @default 5
     */
    ry: number;
    /**
     * Allows to set the alignment for data Label. They are,
     * * Near: Aligns the label to the left of the point.
     * * Center: Aligns the label to the center of the point.
     * * Far: Aligns the label to the right of the point.
     * @default 'Center'
     */
    alignment: charts.Alignment;
    /**
     * Allows option for customizing the border lines.
     */
    border: charts.BorderModel;
    /**
     * Allows customize the margin to the data label.
     */
    margin: charts.MarginModel;
    /**
     * Allows option for customizing the data label text.
     */
    font: charts.FontModel;
    /**
     * Allows custom template to show the data label. Use ${point.x} and ${point.y} as a placeholder
     * text to display the corresponding data point.
     * @default null
     */
    template: string;
}
/**
 * Allow options to customize the pie, funnel, doughnut and pyramid chart data label connector.
 */
export  class PivotChartConnectorStyle extends base.ChildProperty<PivotChartConnectorStyle> {
    /**
     * specifies the type of the connector line for pie, funnel, doughnut and pyramid chart. They are
     * * curve
     * * Line
     * @default 'Line'
     */
    type: charts.ConnectorType;
    /**
     * Specifies the color of the connector line for pie, funnel, doughnut and pyramid chart.
     * @default null
     */
    color: string;
    /**
     * Width of the connector line in pixels for pie, funnel, doughnut and pyramid chart.
     * @default 1
     */
    width: number;
    /**
     * Length of the connector line in pixels for pie, funnel, doughnut and pyramid chart.
     * @default 'null'
     */
    length: string;
    /**
     * dashArray of the connector line for pie, funnel, doughnut and pyramid chart.
     * @default ''
     */
    dashArray: string;
}
/**
 * Allow options to customize the pie, funnel, doughnut and pyramid chart data label connector.
 */
export  class PivotChartDataLabel extends base.ChildProperty<PivotChartDataLabel> {
    /**
     * Allows to set the visibility of data label to the series renders.
     * @default true
     */
    visible: boolean;
    /**
    * Allows to set the border to data labels.
    */
    border: charts.BorderModel;
    /**
     * Allows to customize the font of data labels.
     */
    font: charts.FontModel;
    /**
     * Allows to set the background color of the data label accepts value in hex and rgba as a valid CSS color string.
     * @default 'transparent'
     */
    fill: string;
    /**
     * Allows to specify the rotation angle to data label.
     * @default 0
     */
    angle: number;
    /**
     * Allows to set whether rotation to data label is enable or not.
     * @default false
     */
    enableRotation: boolean;
    /**
     * Allows to specify the position of the data label. They are,
     * * Outside: Positions the label outside the point.
     * * Inside: Positions the label on top of the point.
     * @default 'Outside'
     */
    position: charts.AccumulationLabelPosition;
    /**
     * Allows to set the roundedCornerX for the data label. It requires `border` values not to be null.
     * @default 5
     */
    rx: number;
    /**
     * Allows to set the roundedCornerY for the data label. It requires `border` values not to be null.
     * @default 5
     */
    ry: number;
    /**
     * Allows custom template to show the data label. Use ${point.x} and ${point.y} as a placeholder
     * text to display the corresponding data point.
     * @default null
     */
    template: string;
    /**
     * Allows custom connector of the pie, funnel, pyramid and doughnut chart data label.
     * @default null
     */
    connectorStyle: PivotChartConnectorStyleModel;
}
/**
 *  Allows to configure the marker of the series such as shape, width, height, border, position, fill color, opacity, data label etc in the chart
 */
export  class MarkerSettings extends base.ChildProperty<MarkerSettings> {
    /**
     * Allows the visibility of the marker for chart series.
     * > This is applicable only for line and area type series.
     * @default false
     */
    visible: boolean;
    /**
     * Allows to spcify the shape of a marker.They are
     * * Circle - Renders a circle.
     * * Rectangle - Renders a rectangle.
     * * Triangle - Renders a triangle.
     * * Diamond - Renders a diamond.
     * * Cross - Renders a cross.
     * * HorizontalLine - Renders a horizontalLine.
     * * VerticalLine - Renders a verticalLine.
     * * Pentagon- Renders a pentagon.
     * * InvertedTriangle - Renders a invertedTriangle.
     * * Image - Renders a image.
     * @default 'Circle'
     */
    shape: charts.ChartShape;
    /**
     * Allows to set the URL for the Image that is to be displayed as a marker.  It requires marker `shape` value to be an `Image`.
     * @default ''
     */
    imageUrl: string;
    /**
     * Allows to set the width of the marker in pixels.
     * @default 5
     */
    width: number;
    /**
     * Allows to set the height of the marker in pixels.
     * @default 5
     */
    height: number;
    /**
     * Allows options for customizing the border of a marker.
     */
    border: charts.BorderModel;
    /**
     * Allows options for customizing the marker position.
     */
    offset: OffsetModel;
    /**
     *  Allows to set the fill color of the marker that accepts value in hex and rgba as a valid CSS color string.
     *  By default, it will take series' color.
     * @default null
     */
    fill: string;
    /**
     * Allows to set the opacity of the marker.
     * @default 1
     */
    opacity: number;
    /**
     * Allows to set the data label for the series.
     */
    dataLabel: charts.DataLabelSettingsModel;
}
/**
 * Allows to configure the error bar cap settings such as cap width, length, color, opacity.
 */
export  class ErrorBarCapSettings extends base.ChildProperty<ErrorBarCapSettings> {
    /**
     * Allows to set the width of the error bar in pixels.
     * @default 1
     */
    width: number;
    /**
     * Allows to set the length of the error bar in pixels.
     * @default 10
     */
    length: number;
    /**
     *  Allows to set the stroke color of the cap, which accepts value in hex, rgba as a valid CSS color string.
     * @default null
     */
    color: string;
    /**
     * Allows to set the opacity of the cap.
     * @default 1
     */
    opacity: number;
}
/**
 * Allows options for customize the error bar chart with diffent settings such as type, direction, mode, color, width, etc.
 * @public
 */
export  class ErrorBarSettings extends base.ChildProperty<ErrorBarSettings> {
    /**
     * Allows to set the visibility of the error bar gets rendered.
     * @default false
     */
    visible: boolean;
    /**
     * Allows to set the type of the error bar . They are
     * * Fixed -  Renders a fixed type error bar.
     * * Percentage - Renders a percentage type error bar.
     * * StandardDeviation - Renders a standard deviation type error bar.
     * * StandardError -Renders a standard error type error bar.
     * * Custom -Renders a custom type error bar.
     * @default 'Fixed'
     */
    type: charts.ErrorBarType;
    /**
     * Allows to set the direction of the error bar . They are
     * * both -  Renders both direction of error bar.
     * * minus - Renders minus direction of error bar.
     * * plus - Renders plus direction error bar.
     * @default 'Both'
     */
    direction: charts.ErrorBarDirection;
    /**
     * Allows to set the mode of the error bar . They are
     * * Vertical -  Renders a vertical error bar.
     * * Horizontal - Renders a horizontal error bar.
     * * Both - Renders both side error bar.
     * @default 'Vertical'
     */
    mode: charts.ErrorBarMode;
    /**
     * Allows to set the vertical error of the error bar.
     * @default 1
     */
    verticalError: number;
    /**
     *  Allows to set the color for stroke of the error bar, which accepts value in hex, rgba as a valid CSS color string.
     * @default null
     */
    color: string;
    /**
     * Allows to set the stroke width of the error bar..
     * @default 1
     */
    width: number;
    /**
     * Allows to set the horizontal error of the error bar.
     * @default 1
     */
    horizontalError: number;
    /**
     * Allows to set the vertical negative error of the error bar.
     * @default 3
     */
    verticalNegativeError: number;
    /**
     * Allows to set the vertical positive error of the error bar.
     * @default 3
     */
    verticalPositiveError: number;
    /**
     * Allows to set the horizontal negative error of the error bar.
     * @default 1
     */
    horizontalNegativeError: number;
    /**
     * Allows to set the horizontal positive error of the error bar.
     * @default 1
     */
    horizontalPositiveError: number;
    /**
     * Allows options for customizing the cap of the error bar.
     */
    errorBarCap: charts.ErrorBarCapSettingsModel;
}
/**
 * Allows to configure the trendlines of the chart such as name, period, type, tooltip, marker, animation, color, legend shape, etc.
 */
export  class Trendline extends base.ChildProperty<Trendline> {
    /**
     * Allows to set the name of trendline
     * @default ''
     */
    name: string;
    /**
     * Allows to set the pattern of dashes and gaps to stroke.
     * @default '0'
     */
    dashArray: string;
    /**
     * Allows to specify the visibility of trendline.
     * @default true
     */
    visible: boolean;
    /**
     * Allows to set the period, the price changes over which will be considered to predict moving average trend line
     * @default 2
     */
    period: number;
    /**
     * Allows to set the type of the trendline
     * @default 'Linear'
     */
    type: charts.TrendlineTypes;
    /**
     * Allows to set the period, by which the trend has to backward forecast
     * @default 0
     */
    backwardForecast: number;
    /**
     * Allows to set the period, by which the trend has to forward forecast
     * @default 0
     */
    forwardForecast: number;
    /**
     * Allows to set the polynomial order of the polynomial trendline
     * @default 2
     */
    polynomialOrder: number;
    /**
     * Allows options to customize the marker for trendlines
     * @deprecated
     */
    marker: charts.MarkerSettingsModel;
    /**
     * Allows to set the visibility of the tooltip for trendlines
     * @default true
     */
    enableTooltip: boolean;
    /**
     * Allows options to customize the animation for trendlines
     */
    animation: charts.AnimationModel;
    /**
     * Allows to set the fill color of trendline
     * @default ''
     */
    fill: string;
    /**
     * Allows to set the width of the trendline
     * @default 1
     */
    width: number;
    /**
     * Allows to set the intercept of the trendline
     * @default null
     * @aspDefaultValueIgnore
     */
    intercept: number;
    /**
     * Allows to set the legend shape of the trendline
     * @default 'SeriesType'
     */
    legendShape: charts.LegendShape;
}
/**
 * Allows to configure the empty points with a variety of means such as fill color, border and mode in the chart.
 */
export  class EmptyPointSettings extends base.ChildProperty<EmptyPointSettings> {
    /**
     * Allows you to customize the fill color of empty points.
     * @default null
     */
    fill: string;
    /**
     * Allows options to customize the border of empty points.
     * @default "{color: 'transparent', width: 0}"
     */
    border: charts.BorderModel;
    /**
     * Allows you To customize the mode of empty points.
     * @default Zero
     */
    mode: charts.EmptyPointMode | charts.AccEmptyPointMode;
}
/**
 * Allows to customize the rounded corners of the column series in the chart.
 */
export  class CornerRadius extends base.ChildProperty<CornerRadius> {
    /**
     * Allows to set the top left corner radius value
     * @default 0
     */
    topLeft: number;
    /**
     * Allows to set the top right corner radius value
     * @default 0
     */
    topRight: number;
    /**
     * Allows to set the bottom left corner radius value
     * @default 0
     */
    bottomLeft: number;
    /**
     * Allows to set the bottom right corner radius value
     * @default 0
     */
    bottomRight: number;
}
/**
 * Allows to configure the crosshair tooltip with text style and fill color in the chart.
 */
export  class CrosshairTooltip extends base.ChildProperty<CrosshairTooltip> {
    /**
     * Allows to set the visibility of the crosshair tooltip.
     *  @default false
     */
    enable: boolean;
    /**
     * Allows to set the fill color of the ToolTip accepts value in hex and rgba as a valid CSS color string.
     * @default null
     */
    fill: string;
    /**
     * Allows options to customize the crosshair ToolTip text.
     */
    textStyle: charts.FontModel;
}
/**
 * Allows to congifure the strip line properties such as line position, size, color, size type, border, text and opacity in the chart.
 */
export  class StripLineSettings extends base.ChildProperty<StripLineSettings> {
    /**
     * Allows to set the visibility of the strip line for axis to be rendered.
     * @default true
     */
    visible: boolean;
    /**
     *  Allows the strip line to be rendered from axis origin.
     *  @default false
     */
    startFromAxis: boolean;
    /**
     * Allows to set the start value of the strip line.
     * @default null
     * @aspDefaultValueIgnore
     */
    start: number | Date;
    /**
     * Allows to set the end value of the strip line.
     * @default null
     * @aspDefaultValueIgnore
     */
    end: number | Date;
    /**
     * Allows to set the size of the strip line, when it starts from the origin.
     * @default null
     * @aspDefaultValueIgnore
     */
    size: number;
    /**
     * Allows to set the color of the strip line.
     * @default '#808080'
     */
    color: string;
    /**
     * Allows to set the dash array of the strip line.
     * @default null
     * @aspDefaultValueIgnore
     */
    dashArray: string;
    /**
     * Allows to set the size type of the strip line
     * @default Auto
     */
    sizeType: charts.SizeType;
    /**
     * Allows to set repeated value of the strip line.
     * @default false
     * @aspDefaultValueIgnore
     */
    isRepeat: boolean;
    /**
     * Allows to set the repeatEvery value of the strip line.
     * @default null
     * @aspDefaultValueIgnore
     */
    repeatEvery: number | Date;
    /**
     * Allows to set the repeatUntil value of the strip line.
     * @default null
     * @aspDefaultValueIgnore
     */
    repeatUntil: number | Date;
    /**
     * Allows to set the isSegmented value of the strip line
     * @default false
     * @aspDefaultValueIgnore
     */
    isSegmented: boolean;
    /**
     * Allows to set the segmentStart value of the strip line.
     * @default null
     * @aspDefaultValueIgnore
     */
    segmentStart: number | Date;
    /**
     * Allows to set the segmentEnd value of the strip line.
     * @default null
     * @aspDefaultValueIgnore
     */
    segmentEnd: number | Date;
    /**
     * Allows to set the segmentAxisName of the strip line.
     * @default null
     * @aspDefaultValueIgnore
     */
    segmentAxisName: string;
    /**
     * Allows to customize the border of the strip line with different settings such as text, rotation, line alignment, text style and opacity in the chart.
     */
    border: charts.BorderModel;
    /**
     * Allows to set the strip line text.
     * @default ''
     */
    text: string;
    /**
     * Allows to set the angle to which the strip line text gets rotated.
     * @default null
     * @aspDefaultValueIgnore
     */
    rotation: number;
    /**
     * Allows to set the position of the strip line text horizontally. They are,
     * * Start: Places the strip line text at the start.
     * * Middle: Places the strip line text in the middle.
     * * End: Places the strip line text at the end.
     * @default 'Middle'
     */
    horizontalAlignment: charts.Anchor;
    /**
     * Allows to set the position of the strip line text vertically. They are,
     * * Start: Places the strip line text at the start.
     * * Middle: Places the strip line text in the middle.
     * * End: Places the strip line text at the end.
     * @default 'Middle'
     */
    verticalAlignment: charts.Anchor;
    /**
     * Allows options to customize the strip line text.
     */
    textStyle: charts.FontModel;
    /**
     * Allows to set the order of the strip line. They are,
     * * Behind: Places the strip line behind the series elements.
     * * Over: Places the strip line over the series elements.
     * @default 'Behind'
     */
    zIndex: charts.ZIndex;
    /**
     * Allows to set the opacity of the strip line
     * @default 1
     */
    opacity: number;
}
/**
 * Allows to customize the label border with a variety of means such as label color, width and labe type in the chart.
 */
export  class LabelBorder extends base.ChildProperty<LabelBorder> {
    /**
     * Allows to set the color of the border that accepts value in hex and rgba as a valid CSS color string.
     * @default ''
     */
    color: string;
    /**
     * Allows to set the width of the border in pixels.
     * @default 1
     */
    width: number;
    /**
     * Allows to set the border type for labels
     * * Rectangle
     * * Without Top Border
     * * Without Top and BottomBorder
     * * Without Border
     * * Brace
     * * CurlyBrace
     * @default 'Rectangle'
     */
    type: charts.BorderType;
}
/**
 * Allows to configure the major grid lines such as line width, color and dashArray in the `axis`.
 */
export  class MajorGridLines extends base.ChildProperty<MajorGridLines> {
    /**
     * Allows to set the width of the line in pixels.
     * @default 1
     */
    width: number;
    /**
     * Allows to set the dash array of the grid lines.
     * @default ''
     */
    dashArray: string;
    /**
     * Allows to set the color of the major grid line that accepts value in hex and rgba as a valid CSS color string.
     * @default null
     */
    color: string;
}
/**
 * Allows to configure the minor grid lines such as line width, dashArray and color in the `axis`.
 */
export  class MinorGridLines extends base.ChildProperty<MinorGridLines> {
    /**
     * Allows to set the width of the line in pixels.
     * @default 0.7
     */
    width: number;
    /**
     * Allows to set the dash array of grid lines.
     * @default ''
     */
    dashArray: string;
    /**
     * Allows to set the color of the minor grid line that accepts value in hex and rgba as a valid CSS color string.
     * @default null
     */
    color: string;
}
/**
 * Allows to configure the axis line such as line width, dashArray and color in a chart.
 */
export  class AxisLine extends base.ChildProperty<AxisLine> {
    /**
     * Allows to set the width of the line in pixels.
     * @default 1
     */
    width: number;
    /**
     * Allows to set the dash array of the axis line.
     * @default ''
     */
    dashArray: string;
    /**
     * Allows to set the color of the axis line that accepts value in hex and rgba as a valid CSS color string.
     * @default null
     */
    color: string;
}
/**
 * Allows to configure the major tick lines such as width, height and color in the chart.
 */
export  class MajorTickLines extends base.ChildProperty<MajorTickLines> {
    /**
     * Allows to set the width of the tick lines in pixels.
     * @default 1
     */
    width: number;
    /**
     * Allows to set the height of the ticks in pixels.
     * @default 5
     */
    height: number;
    /**
     * Allows to set the color of the major tick line that accepts value in hex and rgba as a valid CSS color string.
     * @default null
     */
    color: string;
}
/**
 * Allows to configure the minor tick lines such as width, height and color in the chart.
 */
export  class MinorTickLines extends base.ChildProperty<MinorTickLines> {
    /**
     * Allows to set the width of the tick line in pixels.
     * @default 0.7
     */
    width: number;
    /**
     * Allows to set the height of the ticks in pixels.
     * @default 5
     */
    height: number;
    /**
     * Allows to set the color of the minor tick line that accepts value in hex and rgba as a valid CSS color string.
     * @default null
     */
    color: string;
}
/**
 * Allows to configure the position of the legend such as top and left in the chart.
 */
export  class ChartLocation extends base.ChildProperty<ChartLocation> {
    /**
     * Allows to set the x(left) value of the legend position
     * @default 0
     */
    x: number;
    /**
     * Allows to set the y(top) value of the legend position
     * @default 0
     */
    y: number;
}
/**
 * Allow options to customize the border of the chart series such as color and border size in the pivot chart.
 * For example, to display the chart series border color as red, set the properties `color` to either **"red"** or **"#FF0000"** or **"rgba(255,0,0,1.0)"** and `width` to **0.5**.
 */
export  class PivotChartSeriesBorder {
    /**
     * Allows to set the color of the border that accepts value in hex and rgba as a valid CSS color string.
     * @default ''
     */
    color: string;
    /**
     * Allows to set the width of the border in pixels.
     * @default 1
     */
    width: number;
}
/**
 * Allows to configure the animation behavior for chart series such as animation duration and delay.
 */
export  class PivotChartSeriesAnimation {
    /**
     * Allows to set the visibility of the series to be animated on initial loading.
     * @default true
     */
    enable: boolean;
    /**
     * Allows to set the duration of animation in milliseconds.
     * @default 1000
     */
    duration: number;
    /**
     * Allows to set the option to delay animation of the series.
     * @default 0
     */
    delay: number;
}
/**
 * Allows to customize specific region for line type series with a variety of means such as value, color, pattern of dashes.
 */
export  class PivotChartSeriesSegment {
    /**
     * Allows to set the starting point of region.
     * @default null
     */
    value: Object;
    /**
     * Allows to set the color of a region.
     * @default null
     */
    color: string;
    /**
     * Allows to set the pattern of dashes and gaps to stroke.
     * @default '0'
     */
    dashArray: string;
    /** @private */
    startValue: number;
    /** @private */
    endValue: number;
}
/**
 *  Allows to configure the marker of the series such as shape, width, height, border, position, fill color, opacity, data label etc in the chart
 */
export  class PivotChartSeriesMarkerSettings {
    /**
     * If set to true the marker for series is rendered. This is applicable only for line and area type series.
     * @default false
     */
    visible: boolean;
    /**
     * Allows to set the different shape of a marker:
     * * circle - Renders the marker shaper as circle.
     * * rectangle - Renders the marker shaper as rectangle.
     * * triangle - Renders the marker shaper as triangle.
     * * diamond - Renders the marker shaper as diamond.
     * * cross - Renders the marker shaper as cross.
     * * horizontalLine - Renders the marker shaper as horizontalLine.
     * * verticalLine - Renders the marker shaper as verticalLine.
     * * pentagon- Renders the marker shaper as pentagon.
     * * invertedTriangle - Renders the marker shaper as invertedTriangle.
     * * image - Renders the marker shaper as image.
     * @default 'Circle'
     */
    shape: charts.ChartShape;
    /**
     * Allows to set the URL for the Image that is to be displayed as a marker.  It requires marker `shape` value to be an `Image`.
     * @default ''
     */
    imageUrl: string;
    /**
     * Allows to set the height of the marker in pixels.
     * @default 5
     */
    height: number;
    /**
     * Allows to set the width of the marker in pixels.
     * @default 5
     */
    width: number;
    /**
     * Allows options for customizing the border of a marker.
     */
    border: charts.BorderModel;
    /**
     * Allows to set the fill color of the marker that accepts value in hex and rgba as a valid CSS color string.
     * By default, it will take series' color.
     * @default null
     */
    fill: string;
    /**
     * Allows to set the opacity of the marker.
     * @default 1
     */
    opacity: number;
    /**
     * Allows to set the data label for the series.
     */
    dataLabel: charts.DataLabelSettingsModel;
}
/**
 * Allows options for customize the error bar chart series with diffent settings such as type, direction, mode, color, width, etc.
 */
export  class PivotChartSeriesErrorSettings {
    /**
     * If set true, error bar for data gets rendered.
     * @default false
     */
    visible: boolean;
    /**
     * Allows to set the type of the error bar . They are
     * * Fixed -  Renders a fixed type error bar.
     * * Percentage - Renders a percentage type error bar.
     * * StandardDeviation - Renders a standard deviation type error bar.
     * * StandardError -Renders a standard error type error bar.
     * * Custom -Renders a custom type error bar.
     * @default 'Fixed'
     */
    type: charts.ErrorBarType;
    /**
     * Allows to set the direction of the error bar . They are
     * * both -  Renders both direction of error bar.
     * * minus - Renders minus direction of error bar.
     * * plus - Renders plus direction error bar.
     * @default 'Both'
     */
    direction: charts.ErrorBarDirection;
    /**
     * Allows to set the mode of the error bar . They are
     * * Vertical -  Renders a vertical error bar.
     * * Horizontal - Renders a horizontal error bar.
     * * Both - Renders both side error bar.
     * @default 'Vertical'
     */
    mode: charts.ErrorBarMode;
    /**
     *  Allows to set the color for stroke of the error bar, which accepts value in hex, rgba as a valid CSS color string.
     * @default null
     */
    color: string;
    /**
     * Allows to set the vertical error of the error bar.
     * @default 1
     */
    verticalError: number;
    /**
     * Allows to set the stroke width of the error bar..
     * @default 1
     */
    width: number;
    /**
     * Allows to set the horizontal error of the error bar.
     * @default 1
     */
    horizontalError: number;
    /**
     * Allows to set the vertical positive error of the error bar.
     * @default 3
     */
    verticalPositiveError: number;
    /**
     * Allows to set the vertical negative error of the error bar.
     * @default 3
     */
    verticalNegativeError: number;
    /**
     * Allows to set the horizontal positive error of the error bar.
     * @default 1
     */
    horizontalPositiveError: number;
    /**
     * Allows to set the horizontal negative error of the error bar.
     * @default 1
     */
    horizontalNegativeError: number;
    /**
     * Allows options for customizing the cap of the error bar.
     */
    errorBarCap: charts.ErrorBarCapSettingsModel;
}
/**
 * Allows to configure the trendlines of the chart series such as name, period, type, tooltip, marker, animation, color, legend shape, etc.
 */
export  class PivotChartSeriesTrendline {
    /**
     * Allows to set the name of trendline
     * @default ''
     */
    name: string;
    /**
     * Allows to set the type of the trendline
     * @default 'Linear'
     */
    type: charts.TrendlineTypes;
    /**
     * Allows to set the period, the price changes over which will be considered to predict moving average trend line
     * @default 2
     */
    period: number;
    /**
     * Allows to set the polynomial order of the polynomial trendline
     * @default 2
     */
    polynomialOrder: number;
    /**
     * Allows to set the period, by which the trend has to backward forecast
     * @default 0
     */
    backwardForecast: number;
    /**
     * Allows to set the period, by which the trend has to forward forecast
     * @default 0
     */
    forwardForecast: number;
    /**
     * Allows options to customize the animation for trendlines
     */
    animation: charts.AnimationModel;
    /**
     * Allows options to customize the marker for trendlines
     */
    marker: charts.MarkerSettingsModel;
    /**
     * Enables/disables tooltip for trendlines
     * @default true
     */
    enableTooltip: boolean;
    /**
     * Allows to set the intercept of the trendline
     * @default null
     * @aspDefaultValueIgnore
     */
    intercept: number;
    /**
     * Allows to set the fill color of trendline
     * @default ''
     */
    fill: string;
    /**
     * Allows to set the width of the trendline
     * @default 1
     */
    width: number;
    /**
     * Allows to set the legend shape of the trendline
     * @default 'SeriesType'
     */
    legendShape: charts.LegendShape;
}
/**
 * Allows to configure the empty points with a variety of means such as fill color, border and mode in the chart.
 */
export  class PivotChartSeriesEmptyPointSettings {
    /**
     * Allows to customize the fill color of empty points.
     * @default null
     */
    fill: string;
    /**
     * Allows options to customize the border of empty points.
     * @default "{color: 'transparent', width: 0}"
     */
    border: charts.BorderModel;
    /**
     * To customize the mode of empty points.
     * @default Zero
     */
    mode: charts.EmptyPointMode | charts.AccEmptyPointMode;
}
/**
 * Allows to customize the rounded corners of the column series in the chart.
 */
export  class PivotChartSeriesCornerRadius {
    /**
     * Allows to set the top left corner radius value
     * @default 0
     */
    topLeft: number;
    /**
     * Allows to set the top right corner radius value
     * @default 0
     */
    topRight: number;
    /**
     * Allows to set the bottom left corner radius value
     * @default 0
     */
    bottomLeft: number;
    /**
     * Allows to set the bottom right corner radius value
     * @default 0
     */
    bottomRight: number;
}
/**
 * Allows to customize the apprearance of the text in the chart such as font style, font size, font weight, font color, font family, text alignment, opacity, text overflow.
 */
export  class PivotChartAxisFont {
    /**
     * Allows to set the font style for the text.
     * @default 'Normal'
     */
    fontStyle: string;
    /**
     * Allows to set the font size for the text.
     * @default '16px'
     */
    size: string;
    /**
     * Allows to set the font weight for the text.
     * @default 'Normal'
     */
    fontWeight: string;
    /**
     * Allows to set the color for the text.
     * @default ''
     */
    color: string;
    /**
     * Allows to set the text alignment
     * @default 'Center'
     */
    textAlignment: charts.Alignment;
    /**
     * Allows to set the font family for the text.
     */
    fontFamily: string;
    /**
     * Allows to set the opacity for the text.
     * @default 1
     */
    opacity: number;
    /**
     * Allows to set the chart title text overflow
     * @default 'Trim'
     */
    textOverflow: charts.TextOverflow;
}
/**
 * Allows to configure the crosshair tooltip with text style and fill color in the chart.
 */
export  class PivotChartAxisCrosshairTooltip {
    /**
     * If set to true, crosshair ToolTip will be visible.
     *  @default false
     */
    enable: boolean;
    /**
     * Allows to set the fill color of the ToolTip accepts value in hex and rgba as a valid CSS color string.
     * @default null
     */
    fill: string;
    /**
     * Allows options to customize the crosshair ToolTip text.
     */
    textStyle: charts.FontModel;
}
/**
 * Allows to configure the major tick lines such as width, height and color in the chart.
 */
export  class PivotChartAxisMajorTickLines {
    /**
     * Allows to set the width of the tick lines in pixels.
     * @default 1
     */
    width: number;
    /**
     * Allows to set the height of the ticks in pixels.
     * @default 5
     */
    height: number;
    /**
     * Allows to set the color of the major tick line that accepts value in hex and rgba as a valid CSS color string.
     * @default null
     */
    color: string;
}
/**
 * Allows to configure the major grid lines such as line width, color and dashArray in the `axis`.
 */
export  class PivotChartAxisMajorGridLines {
    /**
     * Allows to set the width of the line in pixels.
     * @default 1
     */
    width: number;
    /**
     * Allows to set the dash array of the grid lines.
     * @default ''
     */
    dashArray: string;
    /**
     * Allows to set the color of the major grid line that accepts value in hex and rgba as a valid CSS color string.
     * @default null
     */
    color: string;
}
/**
 * Allows to configure the minor tick lines such as width, height and color in the chart.
 */
export  class PivotChartAxisMinorTickLines {
    /**
     * Allows to set the width of the tick line in pixels.
     * @default 0.7
     */
    width: number;
    /**
     * Allows to set the height of the ticks in pixels.
     * @default 5
     */
    height: number;
    /**
     * Allows to set the color of the minor tick line that accepts value in hex and rgba as a valid CSS color string.
     * @default null
     */
    color: string;
}
/**
 * Allows to configure the minor grid lines such as line width, dashArray and color in the `axis`.
 */
export  class PivotChartAxisMinorGridLines {
    /**
     * Allows to set the width of the line in pixels.
     * @default 0.7
     */
    width: number;
    /**
     * Allows to set the dash array of grid lines.
     * @default ''
     */
    dashArray: string;
    /**
     * Allows to set the color of the minor grid line that accepts value in hex and rgba as a valid CSS color string.
     * @default null
     */
    color: string;
}
/**
 * Allows to configure the axis line such as line width, dashArray and color in a chart.
 */
export  class PivotChartAxisAxisLine {
    /**
     * Allows to set the width of the line in pixels.
     * @default 1
     */
    width: number;
    /**
     * Allows to set the dash array of the axis line.
     * @default ''
     */
    dashArray: string;
    /**
     * Allows to set the color of the axis line that accepts value in hex and rgba as a valid CSS color string.
     * @default null
     */
    color: string;
}
/**
 * Allows to congifure the strip line properties such as line position, size, color, size type, border, text and opacity in the chart.
 */
export  class PivotChartAxisStripLineSettings {
    /**
     * If set true, strip line for pivot chart axis renders.
     * @default true
     */
    visible: boolean;
    /**
     *  If set true, strip line get render from  pivot chart axis origin.
     *  @default false
     */
    startFromAxis: boolean;
    /**
     * Allows to set the start value of the pivot chart strip line.
     * @default null
     * @aspDefaultValueIgnore
     */
    start: number | Date;
    /**
     * Allows to set the end value of the pivot chart strip line.
     * @default null
     * @aspDefaultValueIgnore
     */
    end: number | Date;
    /**
     * Allows to set the size of the pivot chart strip line, when it starts from the origin.
     * @default null
     * @aspDefaultValueIgnore
     */
    size: number;
    /**
     * Allows to set the color of the pivot chart strip line.
     * @default '#808080'
     */
    color: string;
    /**
     * Allows to set the dash Array of the pivot chart strip line.
     * @default null
     * @aspDefaultValueIgnore
     */
    dashArray: string;
    /**
     * Allows to set the size type of the pivot chart strip line
     * @default Auto
     */
    sizeType: charts.SizeType;
    /**
     * Allows to set the isRepeat value of the pivot chart strip line.
     * @default false
     * @aspDefaultValueIgnore
     */
    isRepeat: boolean;
    /**
     * Allows to set the repeatEvery value of the pivot chart strip line.
     * @default null
     * @aspDefaultValueIgnore
     */
    repeatEvery: number | Date;
    /**
     * Allows to set the repeatUntil value of the pivot chart strip line.
     * @default null
     * @aspDefaultValueIgnore
     */
    repeatUntil: number | Date;
    /**
     * Allows to set the isSegmented value of the pivot chart strip line
     * @default false
     * @aspDefaultValueIgnore
     */
    isSegmented: boolean;
    /**
     * Allows to set the segmentStart value of the pivot chart strip line.
     * @default null
     * @aspDefaultValueIgnore
     */
    segmentStart: number | Date;
    /**
     * Allows to set the segmentEnd value of the pivot chart strip line.
     * @default null
     * @aspDefaultValueIgnore
     */
    segmentEnd: number | Date;
    /**
     * Allows to set the segmentAxisName of the pivot chart strip line.
     * @default null
     * @aspDefaultValueIgnore
     */
    segmentAxisName: string;
    /**
     * Allows to set the border of the pivot chart strip line.
     */
    border: charts.BorderModel;
    /**
     * Allows to set the strip line text.
     * @default ''
     */
    text: string;
    /**
     * Allows to set the angle to which the strip line text gets rotated.
     * @default null
     * @aspDefaultValueIgnore
     */
    rotation: number;
    /**
     * Allows to set the position of the strip line text horizontally. They are,
     * * Start: Places the strip line text at the start.
     * * Middle: Places the strip line text in the middle.
     * * End: Places the strip line text at the end.
     * @default 'Middle'
     */
    horizontalAlignment: charts.Anchor;
    /**
     * Allows to set the position of the strip line text vertically. They are,
     * * Start: Places the strip line text at the start.
     * * Middle: Places the strip line text in the middle.
     * * End: Places the strip line text at the end.
     * @default 'Middle'
     */
    verticalAlignment: charts.Anchor;
    /**
     * Allows options to customize the strip line text.
     */
    textStyle: charts.FontModel;
    /**
     * Allows to set the order of the strip line. They are,
     * * Behind: Places the strip line behind the series elements.
     * * Over: Places the strip line over the series elements.
     * @default 'Behind'
     */
    zIndex: charts.ZIndex;
    /**
     * Strip line Opacity
     * @default 1
     */
    opacity: number;
}
/**
 * Allows to customize the label border with a variety of means such as label color, width and labe type in the chart.
 */
export  class PivotChartAxisLabelBorder {
    /**
     * Allows to set the color of the border that accepts value in hex and rgba as a valid CSS color string.
     * @default ''
     */
    color: string;
    /**
     * Allows to set the width of the border in pixels.
     * @default 1
     */
    width: number;
    /**
     * Allows to set the border type for labels
     * * Rectangle
     * * Without Top Border
     * * Without Top and BottomBorder
     * * Without Border
     * * Brace
     * * CurlyBrace
     * @default 'Rectangle'
     */
    type: charts.BorderType;
}
/**
 * Allow options to customize the chart area with a variety of settings such as background color, border, opacity and background image in the pivot chart.
 * For example, to change the of the pivot chart's background, set the property `opacity` to **0.5**.
 */
export  class PivotChartSettingsChartArea {
    /**
     * Allows options to customize the border of the chart area.
     */
    border: charts.BorderModel;
    /**
     * Allows to set the background of the chart area that accepts value in hex and rgba as a valid CSS color string..
     * @default 'transparent'
     */
    background: string;
    /**
     * Allows to set the opacity for background.
     * @default 1
     */
    opacity: number;
}
/**
 * Allow options to customize the crosshair line with different settings such as color and width of the line,
 * line types that are shown horizontally and vertically to indicate the value of the axis at the mouse hover or touch position in the pivot chart.
 */
export  class PivotChartSettingsCrosshairSettings {
    /**
     * If set to true, crosshair line becomes visible.
     * @default false
     */
    enable: boolean;
    /**
     * Allows to set the DashArray for crosshair.
     * @default ''
     */
    dashArray: string;
    /**
     * Allows options to customize the crosshair line.
     */
    line: charts.BorderModel;
    /**
     * Allows to set the line type. Horizontal mode enables the horizontal line and Vertical mode enables the vertical line. They are,
     * * None: Hides both vertical and horizontal crosshair lines.
     * * Both: Shows both vertical and horizontal crosshair lines.
     * * Vertical: Shows the vertical line.
     * * Horizontal: Shows the horizontal line.
     * @default Both
     */
    lineType: charts.LineType;
}
/**
 * Allow options for customizing legends with different properties such as legend visibility,
 * height, width, position, legend padding, alignment, textStyle, border, margin, background, opacity, description, tabIndex in the pivot chart.
 */
export  class PivotChartSettingsLegendSettings {
    /**
     * If set to true, legend will be visible.
     * @default true
     */
    visible: boolean;
    /**
     * Allows to set the height of the legend in pixels.
     * @default null
     */
    height: string;
    /**
     * Allows to set the width of the legend in pixels.
     * @default null
     */
    width: string;
    /**
     * Allows to set the location of the legend, relative to the chart.
     * If x is 20, legend moves by 20 pixels to the right of the chart. It requires the `position` to be `Custom`.
     * ```html
     * <div id='Chart'></div>
     * ```
     * ```typescript
     * let chart$: Chart = new Chart({
     * ...
     *   legendSettings: {
     *     visible: true,
     *     position: 'Custom',
     *     location: { x: 100, y: 150 },
     *   },
     * ...
     * });
     * chart.appendTo('#Chart');
     * ```
     */
    location: charts.LocationModel;
    /**
     * Allows to set the position of the legend in the chart are,
     * * Auto: Places the legend based on area type.
     * * Top: Displays the legend at the top of the chart.
     * * Left: Displays the legend at the left of the chart.
     * * Bottom: Displays the legend at the bottom of the chart.
     * * Right: Displays the legend at the right of the chart.
     * * Custom: Displays the legend  based on the given x and y values.
     * @default 'Auto'
     */
    position: charts.LegendPosition;
    /**
     * Allows option to customize the padding between legend items.
     * @default 8
     */
    padding: number;
    /**
     * Allows to set the legend in chart can be aligned as follows:
     * * Near: Aligns the legend to the left of the chart.
     * * Center: Aligns the legend to the center of the chart.
     * * Far: Aligns the legend to the right of the chart.
     * @default 'Center'
     */
    alignment: charts.Alignment;
    /**
     * Allows options to customize the legend text.
     */
    textStyle: charts.FontModel;
    /**
     * Allows to set the shape height of the legend in pixels.
     * @default 10
     */
    shapeHeight: number;
    /**
     * Allows to set the shape width of the legend in pixels.
     * @default 10
     */
    shapeWidth: number;
    /**
     * Allows options to customize the border of the legend.
     */
    border: charts.BorderModel;
    /**
     * Allows options to customize left, right, top and bottom margins of the chart.
     */
    margin: charts.MarginModel;
    /**
     * Allows to set the padding between the legend shape and text.
     * @default 5
     */
    shapePadding: number;
    /**
     * Allows to set the background color of the legend that accepts value in hex and rgba as a valid CSS color string.
     * @default 'transparent'
     */
    background: string;
    /**
     * Allows to set the opacity of the legend.
     * @default 1
     */
    opacity: number;
    /**
     * If set to true, series' visibility collapses based on the legend visibility.
     * @default true
     */
    toggleVisibility: boolean;
    /**
     * Allows to set the description for legends.
     * @default null
     */
    description: string;
    /**
     * Allows to set the tabindex value for the legend.
     * @default 3
     */
    tabIndex: number;
}
/**
 * Allows you to highlight a specific point of the series while rendering the pivot chart.
 * For example, to highlight first point in the first series, set the properties series to 0 and points to 1. To use this option, it requires the property `selectionMode` to be **Point** or **Series**.
 */
export  class PivotChartSettingsIndexes {
    /**
     * Allows to set the series index
     * @default 0
     * @aspType int
     */
    series: number;
    /**
     * Allows to set the point index
     * @default 0
     * @aspType int
     */
    point: number;
}
/**
 * Allow options to customize the left, right, top and bottom margins of the pivot chart.
 */
export  class PivotChartSettingsMargin {
    /**
     * Allows to set the left margin in pixels.
     * @default 10
     */
    left: number;
    /**
     * Allows to set the right margin in pixels.
     * @default 10
     */
    right: number;
    /**
     * Allows to set the top margin in pixels.
     * @default 10
     */
    top: number;
    /**
     * Allows to set the bottom margin in pixels.
     * @default 10
     */
    bottom: number;
}
/**
 * Allow options to customize the chart series with different settings such as fill color, animation of the series,
 * series width, border, visibility of the series, opacity, chart series types, marker, tooltip, trendlines, etc., in the pivot chart.
 * For example, to display the line type pivot chart, set the property `type` to **Line**.
 */
export  class PivotSeries extends base.ChildProperty<PivotSeries> {
    /**
     * Allows to set the fill color for the series that accepts value in hex and rgba as a valid CSS color string.
     * @default null
     */
    fill: string;
    /**
     * Allows to set the end angle for the pie and doughnut chart series.
     * @default null
     */
    endAngle: number;
    /**
     * Allows to enable or disable series point explode on mouse click or touch for pie, funnel, doughnut and pyramid chart.
     * @default false
     */
    explode: boolean;
    /**
     * Allows to enable or disable all series point explode on mouse click or touch for  pie, funnel, doughnut and pyramid chart.
     * @default false
     */
    explodeAll: boolean;
    /**
     * Allows to set Index of the point to be exploded on load for pie, funnel, doughnut and pyramid chart.
     * @default null
     */
    explodeIndex: number;
    /**
     * Allows to set inner radius for pie and doughnut series chart.
     * @default null
     */
    innerRadius: string;
    /**
     * Allows to set distance of the point from the center, which takes values in both pixels and
     * percentage for pie, funnel, doughnut and pyramid chart.
     * @default "30%"
     */
    explodeOffset: string;
    /**
     * Allows to set the distance between the segments of a funnel/pyramid series. The range will be from 0 to 1.
     * @default 0
     */
    gapRatio: number;
    /**
     * Allows to define the mode of grouping for pie, funnel, doughnut and pyramid chart series.
     * @default "Value"
     */
    groupMode: charts.GroupModes;
    /**
     * Allows to combine the y values into slice named other for  pie, funnel, doughnut and pyramid chart Series.
     * @default null
     */
    groupTo: string;
    /**
     * Allows to defines the height of the funnel chart neck with respect to the chart area.
     * @default "20%"
     */
    neckHeight: string;
    /**
     * Allows to defines the width of the funnel chart neck with respect to the chart area.
     * @default "20%"
     */
    neckWidth: string;
    /**
     * Defines how the values have to be reflected, whether through height/surface of the segments in pyramid series.
     * @default 'Linear'
     */
    pyramidMode: charts.PyramidModes;
    /**
     * Allows you to draw the chart series points with custom color for the pie, funnel, doughnut and pyramid chart types.
     * @default []
     */
    palettes: string[];
    /**
     * Allows to defines start angle for the pie, funnel, doughnut and pyramid chart series.
     * @default 0
     */
    startAngle: number;
    /**
     * Allows options to customizing animation for the series.
     * @default null
     */
    animation: charts.AnimationModel;
    /**
     * Allows options to customize data label for the pie, funnel, pyramid, doughnut chart series.
     * @default null
     */
    dataLabel: PivotChartDataLabelModel;
    /**
     * Allows to set the pattern of dashes and gaps to stroke the lines in `Line` type series.
     * @default '0'
     */
    dashArray: string;
    /**
     * Allows to set the stroke width for the series that is applicable only for `Line` type series.
     * @default 1
     */
    width: number;
    /**
     * Allows to set the axis, based on which the line series will be split.
     */
    segmentAxis: charts.Segment;
    /**
     * Allows to set the type of series to be drawn in radar or polar series. They are
     *  'Line'
     *  'Column'
     *  'Area'
     *  'Scatter'
     *  'Spline'
     *  'StackingColumn'
     *  'StackingArea'
     *  'RangeColumn'
     *  'SplineArea'
     * @default 'Line'
     */
    drawType: charts.ChartDrawType;
    /**
     * Specifies whether to join start and end point of a line/area series used in polar/radar chart to form a closed path.
     * @default true
     */
    isClosed: boolean;
    /**
     * Allows to set the collection of regions that helps to differentiate a line series.
     */
    segments: charts.ChartSegmentModel[];
    /**
     * This allows grouping the chart series in `stacked column / bar` charts.
     * Any string value can be provided to the stackingGroup property.
     * If any two or above series have the same value, those series will be grouped together.
     * @default ''
     */
    stackingGroup: string;
    /**
     * Allows options to customizing the border of the series. This is applicable only for `Column` and `Bar` type series.
     */
    border: charts.BorderModel;
    /**
     * Allows to set the visibility of series.
     * @default true
     */
    visible: boolean;
    /**
     * Allows to set the opacity of the series.
     * @default 1
     */
    opacity: number;
    /**
     * Allows to set the type of the series are
     * * StackingColumn
     * * StackingArea
     * * StackingBar
     * * StackingLine
     * * StepLine
     * * Line
     * * Column
     * * Area
     * * Bar
     * * StepArea
     * * Pareto
     * * Bubble
     * * Scatter
     * * Spline
     * * SplineArea
     * * StackingColumn100
     * * StackingBar100
     * * StackingArea100
     * * StackingLine100
     * * Polar
     * * Radar
     * @default 'Line'
     */
    type: ChartSeriesType;
    /**
     * Allows options for displaying and customizing markers for individual points in a series.
     */
    marker: charts.MarkerSettingsModel;
    /**
     * Allows options for displaying and customizing error bar for individual point in a series.
     */
    errorBar: charts.ErrorBarSettingsModel;
    /**
     * If set true, the Tooltip for series will be visible.
     * @default true
     */
    enableTooltip: boolean;
    /**
     * Allows to set the collection of trendlines that are used to predict the trend
     */
    trendlines: charts.TrendlineModel[];
    /**
     * Allows to set the provided value will be considered as a Tooltip name
     * @default ''
     */
    tooltipMappingName: string;
    /**
     * Allows to set the shape of the legend. Each series has its own legend shape. They are,
     * * Circle
     * * Rectangle
     * * VerticalLine
     * * Pentagon
     * * InvertedTriangle
     * * SeriesType
     * * Triangle
     * * Diamond
     * * Cross
     * * HorizontalLine
     * @default 'SeriesType'
     */
    legendShape: charts.LegendShape;
    /**
     * Allows to set the minimum radius.
     * @default 1
     */
    minRadius: number;
    /**
     * Allows to set the custom style for the selected series or points.
     * @default null
     */
    selectionStyle: string;
    /**
     * Allows to set the type of spline to be rendered.
     * @default 'Natural'
     */
    splineType: charts.SplineType;
    /**
     * Allows to set the maximum radius.
     * @default 3
     */
    maxRadius: number;
    /**
     * Allows to set the tension of cardinal spline types
     * @default 0.5
     */
    cardinalSplineTension: number;
    /**
     * Allows to render the column series points with particular column width.
     * @default null
     * @aspDefaultValueIgnore
     */
    columnWidth: number;
    /**
     * Allows options to customize the empty points in series
     */
    emptyPointSettings: charts.EmptyPointSettingsModel;
    /**
     * Allows to render the column series points with particular rounded corner.
     */
    cornerRadius: charts.CornerRadiusModel;
    /**
     * Allows to render the column series points with particular column spacing. It takes value from 0 - 1.
     * @default 0
     */
    columnSpacing: number;
}
/**
 * Allow options to customize the axis with different properties such as labelIntersectAction, labelStyle, title,
 * description, crosshairTooltip, labelFormat, titleStyle, plotOffset, edgeLabelPlacement, labelPlacement, tickPosition, opposedPosition, minor and
 * major grid lines, minor and major tick lines, border, etc. in the pivot chart.
 */
export  class PivotAxis extends base.ChildProperty<PivotAxis> {
    /**
     * Allows to set the actions like `Hide`, `Rotate45`, and `Rotate90` when the axis labels intersect with each other.They are,
     * * Rotate45: Rotates the label to 45 degree when it intersects.
     * * Rotate90: Rotates the label to 90 degree when it intersects.
     * * None: Shows all the labels.
     * * Hide: Hides the label when it intersects.
     * @default Rotate45
     */
    labelIntersectAction: charts.LabelIntersectAction;
    /**
     * Allows options to customize the axis label.
     */
    labelStyle: charts.FontModel;
    /**
     * Allows to set the title of an axis.
     * @default ''
     */
    title: string;
    /**
     * Allows to scale the axis by this value. When zoomFactor is 0.5, the chart is scaled by 200% along this axis. Value ranges from 0 to 1.
     * @default null
     */
    zoomFactor: number;
    /**
     * Allows options to customize the crosshair ToolTip.
     */
    crosshairTooltip: charts.CrosshairTooltipModel;
    /**
     * It used to format the axis label that accepts any global string format like 'C', 'n1', 'P' etc.
     * It also accepts placeholder like '{value}°C' in which value represent the axis label, e.g, 20°C.
     * @default ''
     */
    labelFormat: string;
    /**
     * Allows options for customizing the axis title.
     */
    titleStyle: charts.FontModel;
    /**
     * Allows to specify the indexed category to the axis.
     * @default false
     */
    isIndexed: boolean;
    /**
     * Allows to set the left and right padding for the plot area in pixels.
     * @default 0
     */
    plotOffset: number;
    /**
     * Allows to set the position of labels at the edge of the axis.They are,
     * * Shift: Shifts the edge labels.
     * * None: No action will be performed.
     * * Hide: Edge label will be hidden.
     * @default 'Shift'
     */
    edgeLabelPlacement: charts.EdgeLabelPlacement;
    /**
     * Allows to set the placement of a label for category axis. They are,
     * * onTicks: Renders the label on the ticks.
     * * betweenTicks: Renders the label between the ticks.
     * @default 'BetweenTicks'
     */
    labelPlacement: charts.LabelPlacement;
    /**
     * Allows to set the placement of a ticks to the axis line. They are,
     * * outside: Renders the ticks outside to the axis line.
     * * inside: Renders the ticks inside to the axis line.
     * @default 'Outside'
     */
    tickPosition: charts.AxisPosition;
    /**
     * If set to true, the axis will render at the opposite side of its default position.
     * @default false
     */
    opposedPosition: boolean;
    /**
     * If set to true, axis label will be visible.
     * @default true
     */
    visible: boolean;
    /**
     * Allows to set the placement of a labels to the axis line. They are,
     * * outside: Renders the labels outside to the axis line.
     * * inside: Renders the labels inside to the axis line.
     * @default 'Outside'
     */
    labelPosition: charts.AxisPosition;
    /**
     * Allows to set the angle to which the axis label gets rotated.
     * @default 0
     */
    labelRotation: number;
    /**
     * Allows to set the number of minor ticks per interval.
     * @default 0
     */
    minorTicksPerInterval: number;
    /**
     * Allows to set the maximum range of an axis.
     * @default null
     */
    maximum: Object;
    /**
     * Allows to set the minimum range of an axis.
     * @default null
     */
    minimum: Object;
    /**
     * Allows to set the maximum width of an axis label.
     * @default 34.
     */
    maximumLabelWidth: number;
    /**
     * Allows to set the interval for an axis.
     * @default null
     * @aspDefaultValueIgnore
     */
    interval: number;
    /**
     * Allows options for customizing major tick lines.
     */
    majorTickLines: charts.MajorTickLinesModel;
    /**
     * Allows to set the Trim property for an axis.
     * @default false
     */
    enableTrim: boolean;
    /**
     * Allows options for customizing major grid lines.
     */
    majorGridLines: charts.MajorGridLinesModel;
    /**
     * Allows options for customizing minor tick lines.
     */
    minorTickLines: charts.MinorTickLinesModel;
    /**
     * Allows options for customizing axis lines.
     */
    lineStyle: charts.AxisLineModel;
    /**
     * Allows options for customizing minor grid lines.
     */
    minorGridLines: charts.MinorGridLinesModel;
    /**
     * Allows to specify whether the axis to be rendered in inversed manner or not.
     * @default false
     */
    isInversed: boolean;
    /**
     * Allows to set the description for axis and its element.
     * @default null
     */
    description: string;
    /**
     * Allows to set the start angle for the series.
     * @default 0
     */
    startAngle: number;
    /**
     * Allows to set the polar radar radius position.
     * @default 100
     */
    coefficient: number;
    /**
     * Allows to set the stripLine collection for the axis
     */
    stripLines: charts.StripLineSettingsModel[];
    /**
     * Allows to set the tabindex value for the axis.
     * @default 2
     */
    tabIndex: number;
    /**
     * Allows to set the border of the multi level labels.
     */
    border: charts.LabelBorderModel;
}
/**
 * Allow options to customize the tooltip of the pivot chart with different properties such as visibility of the tooltip, enableMarker, fill color, opacity, header for tooltip,
 * format, textStyle, template, border, enableAnimation.
 */
export  class PivotTooltipSettings extends base.ChildProperty<PivotTooltipSettings> {
    /**
     * Allows to set the visibility of the marker.
     * @default false.
     */
    enableMarker: boolean;
    /**
     * Allows to set the visibility of the tooltip.
     * @default true.
     */
    enable: boolean;
    /**
     * Allows to set the fill color of the tooltip that accepts value in hex and rgba as a valid CSS color string.
     * @default null
     */
    fill: string;
    /**
     * If set to true, a single ToolTip will be displayed for every index.
     * @default false.
     */
    shared: boolean;
    /**
     * Allows to set the fill color of the tooltip that accepts value in hex and rgba as a valid CSS color string.
     * @default 0.75
     */
    opacity: number;
    /**
     * Allows to set the header for tooltip.
     * @default null
     */
    header: string;
    /**
     * Allows to set the format the ToolTip content.
     * @default null.
     */
    format: string;
    /**
     * Allows options to customize the ToolTip text.
     */
    textStyle: charts.FontModel;
    /**
     * Allows to set the custom template to format the ToolTip content. Use ${x} and ${y} as the placeholder text to display the corresponding data point.
     * @default null.
     */
    template: string;
    /**
     * Allows options to customize tooltip borders.
     */
    border: charts.BorderModel;
    /**
     * If set to true, ToolTip will animate while moving from one point to another.
     * @default true.
     */
    enableAnimation: boolean;
}
/**
 * Allow options to customize the center of the pivot pie series chart.
 */
export  class PivotPieChartCenter extends base.ChildProperty<PivotPieChartCenter> {
    /**
     * X value of the center.
     * @default "50%"
     */
    x: string;
    /**
     * Y value of the center.
     * @default "50%"
     */
    y: string;
}
/**
 * Allow options to customize the pivot chart zooming with different properties such as enablePinchZooming, enableSelectionZooming,
 * enableDeferredZooming, enableMouseWheelZooming, zoom modes, toolbarItems, enableScrollbar and enablePan.
 */
export  class PivotZoomSettings extends base.ChildProperty<PivotZoomSettings> {
    /**
     * If to true, chart can be pinched to zoom in / zoom out.
     * @default false
     */
    enablePinchZooming: boolean;
    /**
     * If set to true, chart can be zoomed by a rectangular selecting region on the plot area.
     * @default true
     */
    enableSelectionZooming: boolean;
    /**
     * If set to true, zooming will be performed on mouse up. It requires `enableSelectionZooming` to be true.
     * ...
     *    zoomSettings: {
     *      enableSelectionZooming: true,
     *      enableDeferredZooming: false
     *    }
     * ...
     * @default false
     */
    enableDeferredZooming: boolean;
    /**
     * If set to true, chart can be zoomed by using mouse wheel.
     * @default false
     */
    enableMouseWheelZooming: boolean;
    /**
     * Allows to specify whether to allow zooming vertically or horizontally or in both ways. They are,
     * * x: Chart can be zoomed horizontally.
     * * y: Chart can be zoomed  vertically.
     * * x,y: Chart can be zoomed both vertically and horizontally.
     *  It requires `enableSelectionZooming` to be true.
     *
     * ...
     *    zoomSettings: {
     *      enableSelectionZooming: true,
     *      mode: 'XY'
     *    }
     * ...
     * @default 'XY'
     */
    mode: charts.ZoomMode;
    /**
     * Allows to set the toolkit options for the zooming as follows:
     * * ZoomIn
     * * ZoomOut
     * * Pan
     * * Zoom
     * * Reset
     * @default '["Zoom", "ZoomIn", "ZoomOut", "Pan", "Reset"]'
     */
    toolbarItems: charts.ToolbarItems[];
    /**
     * Specifies whether axis needs to have scrollbar.
     * @default true.
     */
    enableScrollbar: boolean;
    /**
     * Specifies whether chart needs to be panned by default.
     * @default false.
     */
    enablePan: boolean;
}
/**
 * Allows a set of options to customize a pivot chart with a variety of settings, such as chart series, chart area, axis labels, legends, border, crosshairs, theme, title, tooltip, zooming, etc.
 * The following options are available to customize the pivot chart.
 * * `background`: Allows you to change the background color of the chart series in the pivot chart.
 * For example, to display the chart series with background color as red, set the property `background` to either **"red"** or **"#FF0000"** or **"rgba(255,0,0,1.0)"**.
 * * `border`: Allow options to customize the border of the chart series such as color and border size in the pivot chart.
 * For example, to display the chart series border color as red, set the properties `color` to either **"red"** or **"#FF0000"** or **"rgba(255,0,0,1.0)"** and `width` to **0.5**.
 * * `chartArea`: Allow options to customize the chart area with a variety of settings such as background color, border, opacity and background image in the pivot chart.
 * For example, to change the of the pivot chart's background, set the property `opacity` to **0.5**.
 * * `chartSeries`: Allow options to customize the chart series with different settings such as fill color, animation of the series,
 * series width, border, visibility of the series, opacity, chart series types, marker, tooltip, trendlines, etc., in the pivot chart.
 * For example, to display the line type pivot chart, set the property `type` to **Line**.
 * * `crosshair`: Allow options to customize the crosshair line with different settings such as color and width of the line,
 * line types that are shown horizontally and vertically to indicate the value of the axis at the mouse hover or touch position in the pivot chart.
 * * `description`: Allows you to add a description of the pivot chart.
 * * `enableAnimation`: Allows you to enable/disable the tooltip animation while performing the mouse move from one point to another in the pivot chart.
 * * `enableCanvas`: Allows you to render the pivot chart in canvas mode.
 * * `enableExport`: Allows the pivot chart to be exported to either **PDF** or **PNG** or **JPEG** or **SVG** filter formats.
 * * `enableMultipleAxis`: Allows you to draw the pivot chart with multiple value fields as separate chart area.
 * * `enableSideBySidePlacement`: Allows you to draw points of the column type pivot chart series as side by side.
 * * `isMultiSelect`: Allows you to perform multiple selection in the pivot chart. To enable this option, it requires the property `selectionMode` to be **Point** or **Series** or **Cluster**.
 * * `isTransposed`: Allows you to render the pivot chart in a transposed manner or not.
 * * `legendSettings`: Allow options for customizing legends with different properties such as legend visibility,
 * height, width, position, legend padding, alignment, textStyle, border, margin, background, opacity, description, tabIndex in the pivot chart.
 * * `margin`: Allow options to customize the left, right, top and bottom margins of the pivot chart.
 * * `palettes`: Allows you to draw the chart series points with custom color in the pivot chart.
 * * `primaryXAxis`: Allow options to customize the horzontal(row) axis with different properties such as labelIntersectAction, labelStyle, title,
 * description, crosshairTooltip, labelFormat, titleStyle, plotOffset, edgeLabelPlacement, labelPlacement, tickPosition, opposedPosition, minor and
 * major grid lines, minor and major tick lines, border, etc. in the pivot chart.
 * * `primaryYAxis`: Allow options to customize the vertical(value) axis with different properties such as labelIntersectAction, labelStyle,
 * title, description, crosshairTooltip, labelFormat, titleStyle, plotOffset, edgeLabelPlacement, labelPlacement, tickPosition, opposedPosition, minor and
 * major grid lines, minor and major tick lines, border, etc. in the pivot chart.
 * * `selectedDataIndexes`: Allows you to highlight a specific point of the series while rendering the pivot chart.
 * For example, to highlight first point in the first series, set the properties series to 0 and points to 1. To use this option, it requires the property `selectionMode` to be **Point** or **Series**.
 * * `selectionMode`: Allow options for customizing the selection mode to be done either by a specific series or point or cluster or by dragging it to the pivot chart.
 * For example, to highlight a specific point in a specific series of the pivot chart, set the property `selectionMode` to **Point**.
 * * `showMultiLevelLabels`: Allows you to display the multi-level label feature in the pivot chart. This multi-level labels used to perform drill operation in the pivot chart.
 * * `subTitle`: Allows you to add the subtitle to the pivot chart.
 * * `subTitleStyle`: Allow options to customize the subtitle in the pivot chart with different properties such as fontStyle, font size, fontWeight, font color, testAlignment, fontFamily, opacity, textOverflow.
 * * `tabIndex`: Allows you to highlight specific legends by clicking the mouse or by interacting with the keyboard in the pivot chart.
 * * `theme`: Allows you to draw a pivot chart with either material, fabric, bootstrap, highcontrast light, material dark, fabric dark, highcontrast, bootstrap dark, bootstrap4 theme.
 * * `title`: Allows you to add title to the pivot chart.
 * * `titleStyle`: Allow options to customize the title in the pivot chart with different properties such as fontStyle, font size, fontWeight, font color, testAlignment, fontFamily, opacity, textOverflow.
 * * `tooltip`: Allow options to customize the tooltip of the pivot chart with different properties such as visibility of the tooltip, enableMarker, fill color, opacity, header for tooltip,
 * format, textStyle, template, border, enableAnimation.
 * * `useGroupingSeparator`: Allows the group separator to be shown to the values in the pivot chart.
 * * `value`: Allows you to draw a pivot chart with a specific value field during initial loading.
 * * `zoomSettings`: Allow options to customize the pivot chart zooming with different properties such as enablePinchZooming, enableSelectionZooming,
 * enableDeferredZooming, enableMouseWheelZooming, zoom modes, toolbarItems, enableScrollbar and enablePan.
 */
export  class ChartSettings extends base.ChildProperty<ChartSettings> {
    /**
     * Allow options to customize the chart series with different settings such as fill color, animation of the series,
     * series width, border, visibility of the series, opacity, chart series types, marker, tooltip, trendlines, etc., in the pivot chart.
     * For example, to display the line type pivot chart, set the property `type` to **Line**.
     */
    chartSeries: PivotSeriesModel;
    /**
     * Allow options to customize the horzontal(row) axis with different properties such as labelIntersectAction, labelStyle, title,
     * description, crosshairTooltip, labelFormat, titleStyle, plotOffset, edgeLabelPlacement, labelPlacement, tickPosition, opposedPosition, minor and
     * major grid lines, minor and major tick lines, border, etc. in the pivot chart.
     */
    primaryXAxis: PivotAxisModel;
    /**
     * Allow options to customize the vertical(value) axis with different properties such as labelIntersectAction, labelStyle,
     * title, description, crosshairTooltip, labelFormat, titleStyle, plotOffset, edgeLabelPlacement, labelPlacement, tickPosition, opposedPosition, minor and
     * major grid lines, minor and major tick lines, border, etc. in the pivot chart.
     */
    primaryYAxis: PivotAxisModel;
    /**
     * Allows you to draw a pivot chart with a specific value field during initial loading.
     * @default ''
     */
    value: string;
    /**
     * Allows to specify the column whose values will be considered to draw the pivot chart. The is applicable
     * for pie, doughnut, funnel and pyramid chart types.
     * @default ''
     */
    columnHeader: string;
    /**
     * Allows to specify the delimiter to split the column headers. The is applicable for pie, doughnut,
     * funnel and pyramid chart types.
     * @default '-'
     */
    columnDelimiter: string;
    /**
     * It allows you to draw a pivot chart with multiple value fields as a single or stacked chart area.
     * Use the `multipleAxisMode` enum options, either **Stacked** or **Single**, to show the chart area as either stacked or single based on value fields.
     * > The `enableMultiAxis` property is deprecated and will no longer be used. Use `enableMultipleAxis` with  to achieve the same.
     * @default false
     * @deprecated
     */
    enableMultiAxis: boolean;
    /**
     * It allows you to draw a pivot chart with multiple value fields as a single or stacked chart area.
     * Use the `multipleAxisMode` enum options, either **Stacked** or **Single**, to show the chart area as either stacked or single based on value fields.
     * @default false
     */
    enableMultipleAxis: boolean;
    /**
     * Allows the chart series to be displayed, depending on the value fields specified, in either a stacked or single chart area.
     * The options available are:
     * * Stacked: Allows the chart series to be displayed in a separate chart area depending on the value fields specified.
     * * Single: Allows the chart series to be displayed in a single chart area for different value fields.
     * @default 'Stacked'
     */
    multipleAxisMode: MultipleAxisMode;
    /**
     * Enable or disable scroll bar while multiple axis.
     * @default false
     */
    enableScrollOnMultiAxis: boolean;
    /**
    * Allows to display chart series in accordance with member name in all chart area.
    * > It is applicable only when `enableMultipleAxis` property is set to **true**.
    * @default false
    */
    showMemberSeries: boolean;
    /**
     * Allow options to customize the title in the pivot chart with different properties such as fontStyle, font size, fontWeight, font color, testAlignment, fontFamily, opacity, textOverflow.
     */
    titleStyle: charts.FontModel;
    /**
     * Allows you to add title to the pivot chart.
     * @default ''
     */
    title: string;
    /**
     * Allow options to customize the subtitle in the pivot chart with different properties such as fontStyle, font size, fontWeight, font color, testAlignment, fontFamily, opacity, textOverflow.
     */
    subTitleStyle: charts.FontModel;
    /**
     * Allows you to add the subtitle to the pivot chart.
     * @default ''
     */
    subTitle: string;
    /**
     * Allow options to customize the border of the chart series such as color and border size in the pivot chart.
     * For example, to display the chart series border color as red, set the properties `color` to either **"red"** or **"#FF0000"** or **"rgba(255,0,0,1.0)"** and `width` to **0.5**.
     */
    border: charts.BorderModel;
    /**
     *  Allow options to customize the left, right, top and bottom margins of the pivot chart.
     */
    margin: charts.MarginModel;
    /**
     * Allow options to customize the chart area with a variety of settings such as background color, border, opacity and background image in the pivot chart.
     * For example, to change the of the pivot chart's background, set the property `opacity` to **0.5**.
     */
    chartArea: charts.ChartAreaModel;
    /**
     * Allows you to change the background color of the chart series in the pivot chart.
     * For example, to display the chart series with background color as red, set the property `background` to either **"red"** or **"#FF0000"** or **"rgba(255,0,0,1.0)"**.
     * @default null
     */
    background: string;
    /**
     * Allows you to draw a pivot chart with either material, fabric, bootstrap, highcontrast light, material dark, fabric dark, highcontrast, bootstrap dark, bootstrap4 theme.
     * @default 'Material'
     */
    theme: charts.ChartTheme;
    /**
     * Allows you to draw the chart series points with custom color in the pivot chart.
     * @default []
     */
    palettes: string[];
    /**
     * Allow options to customize the crosshair line with different settings such as color and width of the line,
     * line types that are shown horizontally and vertically to indicate the value of the axis at the mouse hover or touch position in the pivot chart.
     */
    crosshair: charts.CrosshairSettingsModel;
    /**
     * Allow options to customize the tooltip of the pivot chart with different properties such as visibility of the tooltip, enableMarker, fill color, opacity, header for tooltip,
     * format, textStyle, template, border, enableAnimation.
     */
    tooltip: PivotTooltipSettingsModel;
    /**
     * Allow options to customize the center of pie series chart with properties x and y.
     */
    pieCenter: PivotPieChartCenterModel;
    /**
     * Allow options to customize the pivot chart zooming with different properties such as enablePinchZooming, enableSelectionZooming,
     * enableDeferredZooming, enableMouseWheelZooming, zoom modes, toolbarItems, enableScrollbar and enablePan.
     */
    zoomSettings: PivotZoomSettingsModel;
    /**
     * Allow options for customizing legends with different properties such as legend visibility,
     * height, width, position, legend padding, alignment, textStyle, border, margin, background, opacity, description, tabIndex in the pivot chart.
     */
    legendSettings: charts.LegendSettingsModel;
    /**
     * Allow options for customizing the selection mode to be done either by a specific series or point or cluster or by dragging it to the pivot chart.
     * For example, to highlight a specific point in a specific series of the pivot chart, set the property `selectionMode` to **Point**. The available modes are,
     * * none: Disables the selection.
     * * series: selects a series.
     * * dragXY: selects points by dragging with respect to both horizontal and vertical axes
     * * dragX: selects points by dragging with respect to horizontal axis.
     * * dragY: selects points by dragging with respect to vertical axis.
     * * point: selects a point.
     * * cluster: selects a cluster of point
     * @default 'None'
     */
    selectionMode: ChartSelectionMode;
    /**
     * Allow options for customizing the selection mode to be done either by a specific series or point or cluster
     * or by dragging it to the pivot chart. For example, to highlight a specific point in a specific series of the
     * pivot chart, set the property `accumulationSelectionMode` to **Point**. It is applicable for chart types pie,
     * funnel, doughnut and pyramid. The available modes are,
     * * none: Disables the selection.
     * * point: selects a point.
     * @default 'None'
     */
    accumulationSelectionMode: charts.AccumulationSelectionMode;
    /**
     * Allows to set the labels placed smartly without overlapping. It is applicable for chart types pie,
     * funnel, doughnut and pyramid.
     * @default true
     */
    enableSmartLabels: boolean;
    /**
     * Allows to Enable or disable the border in pie and doughnut chart while mouse moving.
     * @default true
     */
    enableBorderOnMouseMove: boolean;
    /**
     * Specifies whether point has to get highlighted or not. It is applicable for chart types pie,
     * funnel, doughnut and pyramid. Takes value either 'None 'or 'Point'.
     * @default None
     */
    highlightMode: charts.AccumulationSelectionMode;
    /**
     * Specifies whether series or data point for accumulation chart has to be selected. They are,
     * * none: sets none as selecting pattern to accumulation chart .
     * * chessboard: sets chess board as selecting pattern accumulation chart .
     * * dots: sets dots as  selecting pattern accumulation chart .
     * * diagonalForward: sets diagonal forward as selecting pattern to accumulation chart .
     * * crosshatch: sets crosshatch as selecting pattern to accumulation chart.
     * * pacman: sets pacman selecting pattern to accumulation chart.
     * * diagonalbackward: sets diagonal backward as selecting pattern to accumulation chart.
     * * grid: sets grid as selecting pattern to accumulation chart.
     * * turquoise: sets turquoise as selecting pattern to accumulation chart.
     * * star: sets star as selecting pattern to accumulation chart.
     * * triangle: sets triangle as selecting pattern to accumulation chart.
     * * circle: sets circle as selecting pattern to accumulation chart.
     * * tile: sets tile as selecting pattern to accumulation chart.
     * * horizontaldash: sets horizontal dash as selecting pattern to accumulation chart.
     * * verticaldash: sets vertical dash as selecting pattern to accumulation chart.
     * * rectangle: sets rectangle as selecting pattern.
     * * box: sets box as selecting pattern to accumulation chart.
     * * verticalstripe: sets vertical stripe as  selecting pattern to accumulation chart.
     * * horizontalstripe: sets horizontal stripe as selecting pattern to accumulation chart.
     * * bubble: sets bubble as selecting pattern to accumulation chart.
     * It is applicable for chart types pie, funnel, doughnut and pyramid.
     * @default None
     */
    highlightPattern: charts.SelectionPattern;
    /**
     * Allows the pivot chart to be exported to either **PDF** or **PNG** or **JPEG** or **SVG** filter formats.
     * @default true
     */
    enableExport: boolean;
    /**
     * Allows you to perform multiple selection in the pivot chart. To enable this option, it requires the property `selectionMode` to be **Point** or **Series** or **Cluster**.
     * @default false
     */
    isMultiSelect: boolean;
    /**
     * Allows you to highlight a specific point of the series while rendering the pivot chart.
     * For example, to highlight first point in the first series, set the properties series to 0 and points to 1. To use this option, it requires the property `selectionMode` to be **Point** or **Series**.
     * @default []
     */
    selectedDataIndexes: charts.IndexesModel[];
    /**
     * Allows you to enable/disable the tooltip animation while performing the mouse move from one point to another in the pivot chart.
     * @default true
     */
    enableAnimation: boolean;
    /**
     * Allows you to render the pivot chart in canvas mode.
     *
     * @default false
     */
    enableCanvas: boolean;
    /**
     * Allows the group separator to be shown to the values in the pivot chart.
     * @default true
     */
    useGroupingSeparator: boolean;
    /**
     * Allows you to render the pivot chart in a transposed manner or not.
     * @default false
     */
    isTransposed: boolean;
    /**
     * Allows you to highlight specific legends by clicking the mouse or by interacting with the keyboard in the pivot chart.
     * @default 1
     */
    tabIndex: number;
    /**
     * Allows you to add a description of the pivot chart.
     * @default null
     */
    description: string;
    /**
     * It triggers after the pivot chart resized.
     * @event
     * @deprecated
     */
    resized: base.EmitType<charts.IResizeEventArgs>;
    /**
     * Allows you to draw points of the column type pivot chart series as side by side.
     * @default true
     */
    enableSideBySidePlacement: boolean;
    /**
     * It triggers after the pivot chart loaded.
     * @event
     * @deprecated
     */
    loaded: base.EmitType<charts.ILoadedEventArgs>;
    /**
     * It triggers before the pivot chart prints.
     * @event
     * @deprecated
     */
    beforePrint: base.EmitType<charts.IPrintEventArgs>;
    /**
     * It triggers after the pivot chart series animation is completed.
     * @event
     * @deprecated
     */
    animationComplete: base.EmitType<charts.IAnimationCompleteEventArgs>;
    /**
     * It triggers before chart loads.
     * @event
     * @deprecated
     */
    load: base.EmitType<charts.ILoadedEventArgs>;
    /**
     * It triggers before the data label for series renders in the pivot chart.
     * @event
     * @deprecated
     */
    textRender: base.EmitType<charts.ITextRenderEventArgs>;
    /**
     * It triggers before the legend renders in the pivot chart.
     * @event
     * @deprecated
     */
    legendRender: base.EmitType<charts.ILegendRenderEventArgs>;
    /**
     * It triggers before the series is rendered in the pivot chart.
     * @event
     * @deprecated
     */
    seriesRender: base.EmitType<charts.ISeriesRenderEventArgs>;
    /**
     * Event to customize the multi-level labels of the pivot chart. This triggers while rendering the multi-level labels
     * @event
     */
    multiLevelLabelRender: base.EmitType<MultiLevelLabelRenderEventArgs>;
    /**
     * It triggers before each points for the series is rendered.
     * @event
     * @deprecated
     */
    pointRender: base.EmitType<charts.IPointRenderEventArgs>;
    /**
     * It triggers before the tooltip for series is rendered.
     * @event
     * @deprecated
     */
    tooltipRender: base.EmitType<charts.ITooltipRenderEventArgs>;
    /**
     * It triggers when the legend series clicked.
     * @event
     */
    legendClick: base.EmitType<charts.ILegendClickEventArgs>;
    /**
     * It triggers before each axis label is rendered.
     * @event
     * @deprecated
     */
    axisLabelRender: base.EmitType<charts.IAxisLabelRenderEventArgs>;
    /**
     * It triggers when clicked multi-level label.
     * @event
     * @deprecated
     */
    multiLevelLabelClick: base.EmitType<MultiLevelLabelClickEventArgs>;
    /**
     * It triggers on clicking the pivot chart.
     * @event
     * @deprecated
     */
    chartMouseClick: base.EmitType<charts.IMouseEventArgs>;
    /**
     * It triggers on hovering the pivot chart.
     * @event
     * @deprecated
     */
    chartMouseMove: base.EmitType<charts.IMouseEventArgs>;
    /**
     * It triggers on series point move.
     * @event
     * @deprecated
     */
    pointMove: base.EmitType<charts.IPointEventArgs>;
    /**
     * It triggers on series point click.
     * @event
     * @deprecated
     */
    pointClick: base.EmitType<charts.IPointEventArgs>;
    /**
     * It triggers when mouse down on chart series.
     * @event
     * @deprecated
     */
    chartMouseDown: base.EmitType<charts.IMouseEventArgs>;
    /**
     * It triggers when cursor leaves the chart.
     * @event
     * @deprecated
     */
    chartMouseLeave: base.EmitType<charts.IMouseEventArgs>;
    /**
     * It triggers after the drag selection is completed on chart series.
     * @event
     * @deprecated
     */
    dragComplete: base.EmitType<charts.IDragCompleteEventArgs>;
    /**
     * It triggers when mouse up on chart series.
     * @event
     * @deprecated
     */
    chartMouseUp: base.EmitType<charts.IMouseEventArgs>;
    /**
     * It triggers when start scroll the chart series.
     * @event
     * @deprecated
     */
    scrollStart: base.EmitType<charts.IScrollEventArgs>;
    /**
     * It triggers after the zoom selection is completed.
     * @event
     * @deprecated
     */
    zoomComplete: base.EmitType<charts.IZoomCompleteEventArgs>;
    /**
     * It triggers when change the scroll of the chart seires.
     * @event
     * @deprecated
     */
    scrollChanged: base.EmitType<charts.IScrollEventArgs>;
    /**
     * It triggers after the scroll end.
     * @event
     * @deprecated
     */
    scrollEnd: base.EmitType<charts.IScrollEventArgs>;
    /**
     * Allows you to display the multi-level label feature in the pivot chart. This multi-level labels used to perform drill operation in the pivot chart.
     * @default true
     */
    showMultiLevelLabels: boolean;
}
//node_modules/@syncfusion/ej2-pivotview/src/pivotview/model/datasourcesettings-model.d.ts
/**
 * Interface for a class FieldOptions
 */
export interface FieldOptionsModel {
    /**
     * Allows you to set the field name that needs to be displayed in row/column/value/filter axis of pivot table.
     */
    name?: string;
    /**
     * Allows you to set caption to the specific field. It will be used to display instead of its name in pivot table component's UI.
     */
    caption?: string;
    /**
     * Allows to display the values in the pivot table with appropriate aggregations such as sum, product, count, average, etc… The available types are,
     * * `Sum`: Allows to display the pivot table values with sum.
     * * `Product`: Allows to display the pivot table values with product.
     * * `Count`: Allows to display the pivot table values with count.
     * * `DistinctCount`: Allows to display the pivot table values with distinct count.
     * * `Min`: Allows to display the pivot table with minimum value.
     * * `Max`: Allows to display the pivot table with maximum value.
     * * `Avg`: Allows to display the pivot table values with average.
     * * `Median`: Allows to display the pivot table values with median.
     * * `Index`: Allows to display the pivot table values with index.
     * * `PopulationStDev`: Allows to display the pivot table values with population standard deviation.
     * * `SampleStDev`: Allows to display the pivot table values with sample standard deviation.
     * * `PopulationVar`: Allows to display the pivot table values with population variance.
     * * `SampleVar`: Allows to display the pivot table values with sample variance.
     * * `RunningTotals`: Allows to display the pivot table values with running totals.
     * * `DifferenceFrom`: Allows to display the pivot table values with difference from the value of the base item in the base field.
     * * `PercentageOfDifferenceFrom`: Allows to display the pivot table values with percentage difference from the value of the base item in the base field.
     * * `PercentageOfGrandTotal`: Allows to display the pivot table values with percentage of grand total of all values.
     * * `PercentageOfColumnTotal`: Allows to display the pivot table values in each column with percentage of total values for the column.
     * * `PercentageOfRowTotal`: Allows to display the pivot table values in each row with percentage of total values for the row.
     * * `PercentageOfParentTotal`: Allows to display the pivot table values with percentage of total of all values based on selected field.
     * * `PercentageOfParentColumnTotal`: Allows to display the pivot table values with percentage of its parent total in each column.
     * * `PercentageOfParentRowTotal`: Allows to display the pivot table values with percentage of its parent total in each row.
     * * `CalculatedField`: Allows to display the pivot table with calculated field values. It allows user to create a new calculated field alone.
     *
     * > It is applicable only for relational data source.
     * @default Sum
     */
    type?: SummaryTypes;
    /**
     * Allows you to set the axis name to the specific field. This will help to display the field in specified axis such as row/column/value/filter axis of pivot table.
     */
    axis?: string;
    /**
     * Allows you to display all members items of a specific field to the pivot table, even doesn't have any data in its row/column intersection in data source.
     * > It is applicable only for relational data source.
     * @default false
     */
    showNoDataItems?: boolean;
    /**
     * Allows you to set the selective field, which used to display the values with either DifferenceFrom or PercentageOfDifferenceFrom or PercentageOfParentTotal aggregate types.
     * > It is applicable only for relational data source.
     */
    baseField?: string;
    /**
     * Allows you to set the selective item of a specific field, which used to display the values with either DifferenceFrom or PercentageOfDifferenceFrom aggregate types.
     * The selective item should be set the from field specified in the baseField property.
     * > It is applicable only for relational data source.
     */
    baseItem?: string;
    /**
     * Allows to show or hide sub-totals to a specific field in row/column axis of the pivot table.
     * @default true
     */
    showSubTotals?: boolean;
    /**
     * Allows you to set whether the specified field is a named set or not.
     * In general, the named set is a set of dimension members or a set expression (MDX query) to be created as a dimension in the SSAS OLAP cube itself.
     * > It is applicable only for OLAP data source.
     * @default false
     */
    isNamedSet?: boolean;
    /**
     * Allows to set whether the specified field is a calculated field or not. In general, a calculated field is created from the bound data source or using simple formula with basic arithmetic operators in the pivot table.
     * > This option is applicable only for OLAP data source.
     * @default false
     */
    isCalculatedField?: boolean;
    /**
     * Allows you to show or hide the filter icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This filter icon is used to filter the members of a specified field at runtime in the pivot table.
     * @default true
     */
    showFilterIcon?: boolean;
    /**
     * Allows you to show or hide the sort icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This sort icon is used to order members of a specified field either in ascending or descending at runtime.
     * @default true
     */
    showSortIcon?: boolean;
    /**
     * Allows you to show or hide the remove icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This remove icon is used to remove the specified field during runtime.
     * @default true
     */
    showRemoveIcon?: boolean;
    /**
     * Allows you to show or hide the value type icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This value type icon helps to select the appropriate aggregation type to specified value field at runtime.
     * @default true
     */
    showValueTypeIcon?: boolean;
    /**
     * Allows you to show or hide the edit icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This edit icon is used to modify caption, formula, and format of a specified calculated field at runtime that to be displayed in the pivot table.
     * @default true
     */
    showEditIcon?: boolean;
    /**
     * Allows you to restrict the specific field's pivot button that is used to drag on runtime in the grouping bar and field list UI.
     * This will prevent you from modifying the current report.
     * @default true
     */
    allowDragAndDrop?: boolean;
    /**
     * Allows to specify the data type of specific field.
     */
    dataType?: string;
    /**
     * Allows you to either expand or collapse all the headers that are displayed in the pivot table.
     * By default, all the headers are collapsed in the pivot table.
     * > It is applicable only for Relational data.
     * @default false    
     */
    expandAll?: boolean;
    /**
    * Allows you to create group folder for fields in pivot field list.
    * Allows user to set the group (i.e., folder) name for selected fields that used to be displayed in the field list tree.
    * > It is applicable only for relational data source.
    */
    groupName?: string;
}
/**
 * Interface for a class FieldListFieldOptions
 */
export interface FieldListFieldOptionsModel extends FieldOptionsModel{
}
/**
 * Interface for a class Style
 */
export interface StyleModel {
    /**
     * It allows to set the background color to the value cell in the pivot table.
     */
    backgroundColor?: string;
    /**
     * It allows to set the font color to the value cell in the pivot table.
     */
    color?: string;
    /**
     * It allows to set the font family to the value cell in the pivot table.
     */
    fontFamily?: string;
    /**
     * It allows to set the font size to the value cell in the pivot table.
     */
    fontSize?: string;
}
/**
 * Interface for a class Filter
 */
export interface FilterModel {
    /**
     * Allows you to set the field name that used to display the selective or conditional-based filter members that used to be displayed in the pivot table.
     */
    name?: string;
    /**
     * Allows you to set the specific filter type to display the filter members in the pivot table. They are:
     * * Include - Specifies the filter type as include for member filter.
     * * Exclude - Specifies the filter type as exclude for member filter.
     * * Label - Specifies the filter type as label for header filter.
     * * Date - Specifies the filter type as date for date based filter.
     * * Number - Specifies the filter type as number for number based filter.
     * * Value - Specifies the filter type as value for value based filter.
     * @default Include
     */
    type?: FilterType;
    /**
     * Allows yoy to specify the field members that used to be displayed based on the filter type provided in the pivot table.
     */
    items?: string[];
    /**
     * Allows you to choose the operator type such as equals, greater than, less than, etc. for conditional-based filtering.
     * > It is applicable only for label and value filtering.
     * @default DoesNotEquals
     */
    condition?: Operators;
    /**
     * Allows you to set the start value to display the filter items in the pivot table based on the condition applied.
     * > It is applicable only for label and value filtering.
     */
    value1?: string | Date;
    /**
     * Allows you to set the end value to display the filter items in the pivot table based on the condition applied.
     * > This option will be used by default when the operator **Between** and **NotBetween** is chosen to apply. Also, it is applicable only for label and value filtering.
     */
    value2?: string | Date;
    /**
     * Allows to set value field for evaluation using conditions and operands for filtering.
     * > It is applicable only for label and value filtering.
     */
    measure?: string;
    /**
     * Allows to set level of the field to fetch data from the cube for filtering.
     * > This option is applicable only for user-defined hierarchies in OLAP data source.
     * @default 1
     */
    levelCount?: number;
    /**
     * Allows to set level name of a specified field, where the filtering settings to be applied.
     * > This option is applicable only for user-defined hierarchies in OLAP data source.
     */
    selectedField?: string;
}
/**
 * Interface for a class ConditionalFormatSettings
 */
export interface ConditionalFormatSettingsModel {
    /**
     * Allows to set the value field name to apply conditional formatting.
     */
    measure?: string;
    /**
     * Allows to set the header text of a specific row/column field to apply conditional formatting.
     */
    label?: string;
    /**
     * Allows you to choose the operator type such as equals, greater than, less than, etc. for conditional formatting.
     */
    conditions?: Condition;
    /**
     * Allows you to set the start value for applying conditional formatting.
     */
    value1?: number;
    /**
     * Allows you to set the end value for applying conditional formatting.
     * > This option will be used by default when the operator **Between** and **NotBetween** is chosen to apply.
     */
    value2?: number;
    /**
     * Allows to set the custom styles for the formatting applied values in the pivot table.
     */
    style?: IStyle;
    /**
     * Allows to apply conditional formatting to the grand totals of row and column axis in the pivot table.
     */
    applyGrandTotals?: boolean;
}
/**
 * Interface for a class Sort
 */
export interface SortModel {
    /**
     * Allows to set the field name to order their members either in ascending or descending in the pivot table.
     */
    name?: string;
    /**
     * Allows to apply sorting to the specified field either by ascending or descending or JSON order. The types are,
     * * `Ascending`: It allows to display the field members in ascending order.
     * * `Descending`: It allows to display the field members in descending order.
     * * `None`: It allows to display the field members based on JSON order.
     * @default Ascending
     */
    order?: Sorting;
    /**
    * Allows to specify the order in which the members should be sorted.
    * @default []
    */
    membersOrder?: string[] | number[];
}
/**
 * Interface for a class FormatSettings
 */
export interface FormatSettingsModel {
    /**
     * It allows to set the field name to apply format settings.
     */
    name?: string;
    /**
     * It allows to specify minimum fraction digits to the formatted value.
     */
    minimumFractionDigits?: number;
    /**
     * It allows to specify maximum fraction digits to the  formatted value.
     */
    maximumFractionDigits?: number;
    /**
     * It allows to specify minimum significant digits to the formatted value.
     */
    minimumSignificantDigits?: number;
    /**
     * It allows to specify maximum significant digits to the formatted value.
     */
    maximumSignificantDigits?: number;
    /**
     * It allows to use grouping to the formatted value,
     * @default true
     */
    useGrouping?: boolean;
    /**
     * It allows to specify the skeleton such as full, medium, long, short, etc. to perform date formatting.
     * > It is applicable only fot date type formatting.
     */
    skeleton?: string;
    /**
     * It allows to specify the type of date formatting either date, dateTime or time.
     */
    type?: string;
    /**
     * It allows to specify the currency code to be used for formatting.
     */
    currency?: string;
    /**
     * It allows to specify minimum integer digits to the formatted value.
     */
    minimumIntegerDigits?: number;
    /**
     * It allows to specify custom number format for formatting.
     */
    format?: string;
}
/**
 * Interface for a class GroupSettings
 */
export interface GroupSettingsModel {
    /**
     * It allows to set the specific field name to apply group settings.
     */
    name?: string;
    /**
     * It allows to specify the date group intervals such as years or quarter or months or days or hours or minutes or seconds to group fields based on that in the pivot table. They options are:
     * * Years - Defines group field as 'Years' for date type field.
     * * Quarters - Defines group field as 'Quarters' for date type field.
     * * QuarterYear - Defines group field as 'Quarter Year' for date type field.
     * * Months - Defines group field as 'Months' for date type field.
     * * Days - Defines group field as 'Days' for date type field.
     * * Hours - Defines group field as 'Hours' for date type field.
     * * Minutes - Defines group field as 'Minutes' for date type field.
     * * Seconds - Defines group field as 'Seconds' for date type field.
     *
     * > It is applicable only for date type grouping.
     */
    groupInterval?: DateGroup[];
    /**
     * It allows to set the start value/date to group fields from the specified range that to be displayed in the pivot table.
     */
    startingAt?: string | Date | number;
    /**
     * It allows to set the start value/date to group fields to the specified range that to be displayed in the pivot table.
     */
    endingAt?: string | Date | number;
    /**
     * It allows to set the type as date or number or custom to the specified field for apply grouping. The types are:
     * * Date - Defines group type as 'Date' for date type field
     * * Number - Defines group type as 'Number' for numeric type field.
     * * Custom - Defines group type as 'Custom' for custom group field.
     * @default Date
     */
    type?: GroupType;
    /**
     * It allows to set the interval range to group field based on the specified range.
     * > It is applicable only of number type grouping.
     */
    rangeInterval?: number;
    /**
     * It allows to set the caption to custom field that will be used to created from custom group fields in the pivot table.
     * > It is applicable only for custom grouping.
     */
    caption?: string;
    /**
     * It allows to set the custom group information to create custom group fields.
     * > It is applicable only for custom grouping.
     * @default []
     */
    customGroups?: ICustomGroups[];
}
/**
 * Interface for a class CustomGroups
 */
export interface CustomGroupsModel {
    /**
     * Allows user to set the group name (or title) for selected headers for custom grouping.
     */
    groupName?: string;
    /**
     * It allows to set the headers which needs to be grouped from display.
     * @default []
     */
    items?: string[];
}
/**
 * Interface for a class CalculatedFieldSettings
 */
export interface CalculatedFieldSettingsModel {
    /**
     * It allows to set the field name that used to create as a calculated field.
     */
    name?: string;
    /**
     * It allows to set the formula/expression to the specified calculated field.
     */
    formula?: string;
    /**
     * It allows to set hierarchy unique name, that used to create calculated member.
     * > It is applicable only for OLAP data source.
     */
    hierarchyUniqueName?: string;
    /**
     * It allows to set format string that used to create calculated member with specified formatted values that to be displayed in the pivot table.
     * > It is applicable only for OLAP data source.
     */
    formatString?: string;
}
/**
 * Interface for a class DrillOptions
 */
export interface DrillOptionsModel {
    /**
     * It allows to set the field name whose members to be either expanded or collapsed in the pivot table.
     */
    name?: string;
    /**
     * It allows to set the members to be either expanded or collapsed in the pivot table.
     */
    items?: string[];
    /**
     * It allows to set the delimiter, which is used a separator to split the given members.
     */
    delimiter?: string;
}
/**
 * Interface for a class ValueSortSettings
 */
export interface ValueSortSettingsModel {
    /**
     * It allows to set the member name of a specific field for value sorting.
     */
    headerText?: string;
    /**
     * It allows to set the delimiter, which is used a separator to split the given header text.
     * @default '.'
     */
    headerDelimiter?: string;
    /**
     * Allows to apply sorting to the specified field either by ascending or descending. The types are,
     * * `Ascending`: It allows to display the field members in ascending order.
     * * `Descending`: It allows to display the field members in descending order.
     * @default None
     */
    sortOrder?: Sorting;
    /**
     * It allows to set the measure name to achieve value sorting based on this.
     * > It is applicable only for OLAP data source.
     */
    measure?: string;
}
/**
 * Interface for a class Authentication
 */
export interface AuthenticationModel {
    /**
     * It allows to set the user name to access the specified SSAS cube.
     */
    userName?: string;
    /**
     * It allows to set the password to access the specified SSAS cube.
     */
    password?: string;
}
/**
 * Interface for a class DataSourceSettings
 */
export interface DataSourceSettingsModel {
    /**
     * Allows to set the mode of rendering the pivot table.
     * @default Local
     */
    mode?: RenderMode;
    /**
     * Allows to set the database name of SSAS cube as string type that used to retrieve the data from the specified connection string.
     * > It is applicable only for OLAP data source.
     */
    catalog?: string;
    /**
     * Allows you to set the SSAS cube name as string type that used to retrieve data for pivot table rendering.
     * > It is applicable only for OLAP data source.
     */
    cube?: string;
    /**
     * Allows to set the provider type to identify the given connection is either **Relational** or **SSAS** to render the pivot table and field list. The following options are:
     * * `Relational`: Allows to render the pivot table with JSON data collection either fetch at local or remote server.
     * * `SSAS`: Allows to render the pivot table with OLAP data fetch from OLAP cube.
     * @default Relational
     */
    providerType?: ProviderType;
    /**
     * Allows to set the URL as string type, which helps to identify the service endpoint where the data are processed and retrieved to render the pivot table and field list.
     * > It is applicable only for OLAP data source.
     */
    url?: string;
    /**
     * Allows you to set the specific culture code as number type to render pivot table with desired localization.
     * By default, the pivot table displays with culture code **1033**, which indicates "en-US" locale.
     * > It is applicale only for OLAP data source.
     * @default 1033
     */
    localeIdentifier?: number;
    /**
     * Allows you to set the data source as JSON collection to the pivot report either from local or from remote server to the render the pivot that and field list.
     * You can fetch JSON data from remote server by using data.DataManager.
     * > It is applicable only for relational data source.
     * @isGenericType true
     */
    dataSource?: IDataSet[] | data.DataManager | string[][];
    /**
     * Allows specific fields associated with field information that needs to be displayed in row axis of pivot table. The following configurations which are applicable are as follows:
     * * `name`: Allows you to set the field name that needs to be displayed in row axis of pivot table.
     * * `caption`: Allows you to set caption to the specific field. It will be used to display instead of its name in pivot table component's UI.
     * * `showNoDataItems`: Allows you to display all members items of a specific field to the pivot table,
     * even doesn't have any data in its row/column intersection in data source. **Note: It is applicable only for relational data source.**
     * * `showSubTotals`: Allows to show or hide sub-totals to a specific field in row axis of the pivot table.
     * * `isNamedSet`: Allows you to set whether the specified field is a named set or not. In general,
     * the named set is a set of dimension members or a set expression (MDX query) to be created as a dimension in the SSAS OLAP cube itself. **Note: It is applicable only for OLAP data source.**
     * * `isCalculatedField`: Allows to set whether the specified field is a calculated field or not.
     * In general, the calculated field is created from the bound data source or using simple formula with basic arithmetic operators in the pivot table. **Note: It is applicable only for OLAP data source.**
     * * `showFilterIcon`: Allows you to show or hide the filter icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This filter icon is used to filter the members of a specified field at runtime in the pivot table.
     * * `showSortIcon`: Allows you to show or hide the sort icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This sort icon is used to order members of a specified field either in ascending or descending at runtime.
     * * `showRemoveIcon`: Allows you to show or hide the remove icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This remove icon is used to remove the specified field during runtime.
     * * `showEditIcon`: Allows you to show or hide the edit icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This edit icon is used to modify caption, formula, and format of a specified calculated field at runtime that to be displayed in the pivot table.
     * * `allowDragAndDrop`: Allows you to restrict the specific field's pivot button that is used to drag on runtime in the grouping bar and field list UI.
     * This will prevent you from modifying the current report.
     * * `expandAll`: Allows you to expand or collapse all of the pivot table's headers for a specific field.
     * @default []
     */
    rows?: FieldOptionsModel[];
    /**
     * Allows specific fields associated with field information that needs to be displayed in column axis of pivot table. The following configurations which are applicable are as follows:
     * * `name`: Allows you to set the field name that needs to be displayed in column axis of pivot table.
     * * `caption`: Allows you to set caption to the specific field. It will be used to display instead of its name in pivot table component's UI.
     * * `showNoDataItems`: Allows you to display all members items of a specific field to the pivot table,
     * even doesn't have any data in its row/column intersection in data source. **Note: It is applicable only for relational data source.**
     * * `showSubTotals`: Allows to show or hide sub-totals to a specific field in column axis of the pivot table.
     * * `isNamedSet`: Allows you to set whether the specified field is a named set or not. In general,
     * the named set is a set of dimension members or a set expression (MDX query) to be created as a dimension in the SSAS OLAP cube itself. **Note: It is applicable only for OLAP data source.**
     * * `isCalculatedField`: Allows to set whether the specified field is a calculated field or not.
     * In general, the calculated field is created from the bound data source or using simple formula with basic arithmetic operators in the pivot table. **Note: It is applicable only for OLAP data source.**
     * * `showFilterIcon`: Allows you to show or hide the filter icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This filter icon is used to filter the members of a specified field at runtime in the pivot table.
     * * `showSortIcon`: Allows you to show or hide the sort icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This sort icon is used to order members of a specified field either in ascending or descending at runtime.
     * * `showRemoveIcon`: Allows you to show or hide the remove icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This remove icon is used to remove the specified field during runtime.
     * * `showEditIcon`: Allows you to show or hide the edit icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This edit icon is used to modify caption, formula, and format of a specified calculated field at runtime that to be displayed in the pivot table.
     * * `allowDragAndDrop`: Allows you to restrict the specific field's pivot button that is used to drag on runtime in the grouping bar and field list UI.
     * This will prevent you from modifying the current report.
     * * `expandAll`: Allows you to expand or collapse all of the pivot table's headers for a specific field.
     * @default []
     */
    columns?: FieldOptionsModel[];
    /**
     * Allows specific fields associated with field information that needs to be displayed as aggregated numeric values in pivot table. The following configurations which are applicable are as follows:
     * * `name`: Allows you to set the field name that needs to be displayed in row/column/value/filter axis of pivot table.
     * * `caption`: Allows you to set caption to the specific field. It will be used to display instead of its name in pivot table component's UI.
     * * `type`: Allows to display the values in the pivot table with appropriate aggregations such as sum, product, count, average, etc… **Note: It is applicable only for relational data source.**
     * * `baseField`: Allows you to set the selective field, which used to display the values with either
     *  DifferenceFrom or PercentageOfDifferenceFrom or PercentageOfParentTotal aggregate types. **Note: It is applicable only for relational data source.**
     * * `baseItem`: Allows you to set the selective item of a specific field, which used to display the values with either DifferenceFrom or PercentageOfDifferenceFrom aggregate types.
     * The selective item should be set the from field specified in the baseField property. **Note: It is applicable only for relational data source.**
     * * `isCalculatedField`: Allows to set whether the specified field is a calculated field or not.
     * In general, the calculated field is created from the bound data source or using simple formula with basic arithmetic operators in the pivot table. **Note: It is applicable only for OLAP data source.**
     * * `showRemoveIcon`: Allows you to show or hide the remove icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This remove icon is used to remove the specified field during runtime.
     * * `showValueTypeIcon`: Allows you to show or hide the value type icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This value type icon helps to select the appropriate aggregation type to specified value field at runtime.
     * * `showEditIcon`: Allows you to show or hide the edit icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This edit icon is used to modify caption, formula, and format of a specified calculated field at runtime that to be displayed in the pivot table.
     * * `allowDragAndDrop`: Allows you to restrict the specific field's pivot button that is used to drag on runtime in the grouping bar and field list UI.
     * This will prevent you from modifying the current report.
     * * `expandAll`: Allows you to expand or collapse all of the pivot table's headers for a specific field.
     * @default []
     */
    values?: FieldOptionsModel[];
    /**
     * Allows to filter the values in other axis based on the collection of filter fields in pivot table. The following configurations which are applicable are as follows:
     * * `name`: Allows you to set the field name that needs to be displayed in row/column/value/filter axis of pivot table.
     * * `caption`: Allows you to set caption to the specific field. It will be used to display instead of its name in pivot table component's UI.
     * * `isNamedSet`: Allows you to set whether the specified field is a named set or not. In general,
     * the named set is a set of dimension members or a set expression (MDX query) to be created as a dimension in the SSAS OLAP cube itself. **Note: It is applicable only for OLAP data source.**
     * * `isCalculatedField`: Allows to set whether the specified field is a calculated field or not.
     * In general, the calculated field is created from the bound data source or using simple formula with basic arithmetic operators in the pivot table. **Note: It is applicable only for OLAP data source.**
     * * `showFilterIcon`: Allows you to show or hide the filter icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This filter icon is used to filter the members of a specified field at runtime in the pivot table.
     * * `showRemoveIcon`: Allows you to show or hide the remove icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This remove icon is used to remove the specified field during runtime.
     * * `showEditIcon`: Allows you to show or hide the edit icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This edit icon is used to modify caption, formula, and format of a specified calculated field at runtime that to be displayed in the pivot table.
     * * `allowDragAndDrop`: Allows you to restrict the specific field's pivot button that is used to drag on runtime in the grouping bar and field list UI.
     * This will prevent you from modifying the current report.
     * * `expandAll`: Allows you to expand or collapse all of the pivot table's headers for a specific field.
     * @default []
     */
    filters?: FieldOptionsModel[];
    /**
     * Allows specific fields associated with field information that can be used while creating fieldlist. The following configurations which are applicable are as follows:
     * * `name`: Allows you to set the field name which is going to configure while creating the fieldlist.
     * * `caption`: Allows you to set caption to the specific field. It will be used to display instead of its name in pivot table component's UI.
     * * `showNoDataItems`: Allows you to display all members items of a specific field to the pivot table,
     * even doesn't have any data in its row/column intersection in data source. **Note: It is applicable only for relational data source.**
     * * `showSubTotals`: Allows to show or hide sub-totals to a specific field in row axis of the pivot table.
     * * `isNamedSet`: Allows you to set whether the specified field is a named set or not. In general,
     * the named set is a set of dimension members or a set expression (MDX query) to be created as a dimension in the SSAS OLAP cube itself. **Note: It is applicable only for OLAP data source.**
     * * `isCalculatedField`: Allows to set whether the specified field is a calculated field or not.
     * In general, the calculated field is created from the bound data source or using simple formula with basic arithmetic operators in the pivot table. **Note: It is applicable only for OLAP data source.**
     * * `showFilterIcon`: Allows you to show or hide the filter icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This filter icon is used to filter the members of a specified field at runtime in the pivot table.
     * * `showSortIcon`: Allows you to show or hide the sort icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This sort icon is used to order members of a specified field either in ascending or descending at runtime.
     * * `showRemoveIcon`: Allows you to show or hide the remove icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This remove icon is used to remove the specified field during runtime.
     * * `showEditIcon`: Allows you to show or hide the edit icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This edit icon is used to modify caption, formula, and format of a specified calculated field at runtime that to be displayed in the pivot table.
     * * `allowDragAndDrop`: Allows you to restrict the specific field's pivot button that is used to drag on runtime in the grouping bar and field list UI.
     * This will prevent you from modifying the current report.
     * * `expandAll`: Allows you to expand or collapse all of the pivot table's headers for a specific field.
     * @default []
     */
    fieldMapping?: FieldOptionsModel[];
    /**
     * Allows you to restrict the specific field(s) from displaying it in the field list UI.
     * You may also be unable to render the pivot table with this field(s) by doing so.
     * > It is applicable only for relational data source.
     * @default []
     */
    excludeFields?: string[];
    /**
     * Allows you to either expand or collapse all the headers that are displayed in the pivot table.
     * By default, all the headers are collapsed in the pivot table.
     * > It is applicable only for Relational data.
     * @default false
     */
    expandAll?: boolean;
    /**
     * Allows you to set the value fields that to be plotted either in row or column axis in the pivot table.
     * @default 'column'
     */
    valueAxis?: string;
    /**
     * Allows you to display the value headers based on the index position in row or column axis in the pivot table.
     * By default, the value headers are displayed at last index position based on the `valueAxis` property.
     * > It is applicale only for relational data source.
     * @default '-1'
     */
    valueIndex?: number;
    /**
     * Allows specific fields associated with either selective or conditional-based filter members that used to be displayed in the pivot table.
     * @default []
     */
    filterSettings?: FilterModel[];
    /**
     * Allows specific fields associated with sort settings to order their members either in ascending or descending that used to be displayed in the pivot table.
     * By default, the data source containing fields are display with Ascending order alone. To use this option, it requires the `enableSorting` property to be **true**.
     * @default []
     */
    sortSettings?: SortModel[];
    /**
     * Allows to perform sort operation to order members of a specific fields either in ascending or descending that used to be displayed in the pivot table.
     * @default true
     */
    enableSorting?: boolean;
    /**
     * Allows to define the data source type.
     * @default JSON
     */
    type?: DataSourceType;
    /**
     * Allows to perform filter operation based on the selective filter members of the specific fields used to be displayed in the pivot table.
     * @default true
     */
    allowMemberFilter?: boolean;
    /**
     * Allows to perform filter operation based on the selective headers used to be displayed in the pivot table.
     * @default false
     */
    allowLabelFilter?: boolean;
    /**
     * Allows to perform filter operation based only on value fields and its resultant aggregated values over other fields defined in row and column axes that used to be displayed in the pivot table.
     * @default false
     */
    allowValueFilter?: boolean;
    /**
     * Allows to show or hide sub-totals in both rows and columns axis of the pivot table.
     * @default true
     */
    showSubTotals?: boolean;
    /**
     * Allows to show or hide sub-totals in row axis of the pivot table.
     * @default true
     */
    showRowSubTotals?: boolean;
    /**
     * Allows to show or hide sub-totals in column axis of the pivot table.
     * @default true
     */
    showColumnSubTotals?: boolean;
    /**
     * Allows to show or hide grand totals in both rows and columns axis of the pivot table.
     * @default true
     */
    showGrandTotals?: boolean;
    /**
     * Allows the grand totals to be displayed at the top or bottom of the pivot table's row and column axes.
     * > By default, the grand totals are displayed at the bottom of the pivot table's row and column axes.
     * @default Bottom
     */
    grandTotalsPosition?: GrandTotalsPosition;
    /**
     * Allows to show or hide grand totals in row axis of the pivot table.
     * @default true
     */
    showRowGrandTotals?: boolean;
    /**
     * Allows to show or hide grand totals in column axis of the pivot table.
     * @default true
     */
    showColumnGrandTotals?: boolean;
    /**
     * Allows to show the value field header always in pivot table, even if it holds a single field in the value field axis.
     * @default false
     */
    alwaysShowValueHeader?: boolean;
    /**
     * Allows the undefined headers to be displayed in the pivot table, when the specific field(s) are not defined in the raw data.
     * For example, if the raw data for the field ‘Country’ is defined as “United Kingdom” and “State” is not defined means, it will be shown as “United Kingdom >> Undefined” in the header section.
     * @default true
     */
    showHeaderWhenEmpty?: boolean;
    /**
     * Allows the pivot button with specific value field caption along with the aggregation type, to be displayed in the grouping bar and field list UI.
     * For example, if the value field "Sold Amount" is aggregated with Sum, it will be displayed with caption "Sum of Sold Amount" in its pivot button.
     * @default true
     */
    showAggregationOnValueField?: boolean;
    /**
     * Allows specific fields used to display the values with specific format that used to be displayed in the pivot table.
     * For example, to display a specific field with currency formatted values in the pivot table, the set the `format` property to be **C**.
     * @default []
     */
    formatSettings?: FormatSettingsModel[];
    /**
     * Allows specific fields used to display their the headers to be either expanded or collapsed in the pivot table.
     * @default []
     */
    drilledMembers?: DrillOptionsModel[];
    /**
     * Allows to sort individual value field and its aggregated values either in row or column axis to ascending or descending order.
     */
    valueSortSettings?: ValueSortSettingsModel;
    /**
     * Allows to create new calculated fields from the bound data source or using simple formula with basic arithmetic operators in the pivot table.
     * @default []
     */
    calculatedFieldSettings?: CalculatedFieldSettingsModel[];
    /**
     * Allows a collection of values fields to change the appearance of the pivot table value cells with different style properties such as background color, font color, font family, and font size based on specific conditions.
     * @default []
     */
    conditionalFormatSettings?: ConditionalFormatSettingsModel[];
    /**
     * Allows to show custom string to the empty value cells that used to display in the pivot table. You can fill empty value cells with any value like “0”, ”-”, ”*”, “(blank)”, etc.
     */
    emptyCellsTextContent?: string;
    /**
     * Allows specific fields to group their data on the basis of their type.
     * For example, the date type fields can be formatted and displayed based on year, quarter, month, and more. Likewise, the number type fields can be grouped range-wise, such as 1-5, 6-10, etc.
     * You can perform custom group to the string type fields that used to displayed in the pivot table.
     * @default []
     */
    groupSettings?: GroupSettingsModel[];
    /**
     * Allows you to set the credential information to access the specified SSAS cube.
     * > It is applicable only for OLAP data source.
     */
    authentication?: AuthenticationModel;
}
//node_modules/@syncfusion/ej2-pivotview/src/pivotview/model/datasourcesettings.d.ts
/**
 * Allows specific fields associated with field information that needs to be displayed in the field axes of pivot table. The following configurations which are applicable are as follows:
 * * `name`: Allows you to set the field name that needs to be displayed in row/column/value/filter axis of pivot table.
 * * `caption`: Allows you to set caption to the specific field. It will be used to display instead of its name in pivot table component's UI.
 * * `type`: Allows to display the values in the pivot table with appropriate aggregations such as sum, product, count, average, etc… **Note: It is applicable only for relational data source.**
 * * `axis`: Allows you to set the axis name to the specific field. This will help to display the field in specified axis such as row/column/value/filter axis of pivot table.
 * * `showNoDataItems`: Allows you to display all members items of a specific field to the pivot table,
 * even doesn't have any data in its row/column intersection in data source. **Note: It is applicable only for relational data source.**
 * * `baseField`: Allows you to set the selective field, which used to display the values with either
 *  DifferenceFrom or PercentageOfDifferenceFrom or PercentageOfParentTotal aggregate types. **Note: It is applicable only for relational data source.**
 * * `baseItem`: Allows you to set the selective item of a specific field, which used to display the values with either DifferenceFrom or PercentageOfDifferenceFrom aggregate types.
 * The selective item should be set the from field specified in the baseField property. **Note: It is applicable only for relational data source.**
 * * `showSubTotals`: Allows to show or hide sub-totals to a specific field in row/column axis of the pivot table.
 * * `isNamedSet`: Allows you to set whether the specified field is a named set or not. In general,
 * the named set is a set of dimension members or a set expression (MDX query) to be created as a dimension in the SSAS OLAP cube itself. **Note: It is applicable only for OLAP data source.**
 * * `isCalculatedField`: Allows to set whether the specified field is a calculated field or not.
 * In general, the calculated field is created from the bound data source or using simple formula with basic arithmetic operators in the pivot table. **Note: It is applicable only for OLAP data source.**
 * * `showFilterIcon`: Allows you to show or hide the filter icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
 * This filter icon is used to filter the members of a specified field at runtime in the pivot table.
 * * `showSortIcon`: Allows you to show or hide the sort icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
 * This sort icon is used to order members of a specified field either in ascending or descending at runtime.
 * * `showRemoveIcon`: Allows you to show or hide the remove icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
 * This remove icon is used to remove the specified field during runtime.
 * * `showValueTypeIcon`: Allows you to show or hide the value type icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
 * This value type icon helps to select the appropriate aggregation type to specified value field at runtime.
 * * `showEditIcon`: Allows you to show or hide the edit icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
 * This edit icon is used to modify caption, formula, and format of a specified calculated field at runtime that to be displayed in the pivot table.
 * * `allowDragAndDrop`: Allows you to restrict the specific field's pivot button that is used to drag on runtime in the grouping bar and field list UI.
 * This will prevent you from modifying the current report.
 * * `expandAll`: Allows you to either expand or collapse all of the headers in the pivot table for a specific field.
 */
export  class FieldOptions extends base.ChildProperty<FieldOptions> implements IFieldOptions {
    /**
     * Allows you to set the field name that needs to be displayed in row/column/value/filter axis of pivot table.
     */
    name: string;
    /**
     * Allows you to set caption to the specific field. It will be used to display instead of its name in pivot table component's UI.
     */
    caption: string;
    /**
     * Allows to display the values in the pivot table with appropriate aggregations such as sum, product, count, average, etc… The available types are,
     * * `Sum`: Allows to display the pivot table values with sum.
     * * `Product`: Allows to display the pivot table values with product.
     * * `Count`: Allows to display the pivot table values with count.
     * * `DistinctCount`: Allows to display the pivot table values with distinct count.
     * * `Min`: Allows to display the pivot table with minimum value.
     * * `Max`: Allows to display the pivot table with maximum value.
     * * `Avg`: Allows to display the pivot table values with average.
     * * `Median`: Allows to display the pivot table values with median.
     * * `Index`: Allows to display the pivot table values with index.
     * * `PopulationStDev`: Allows to display the pivot table values with population standard deviation.
     * * `SampleStDev`: Allows to display the pivot table values with sample standard deviation.
     * * `PopulationVar`: Allows to display the pivot table values with population variance.
     * * `SampleVar`: Allows to display the pivot table values with sample variance.
     * * `RunningTotals`: Allows to display the pivot table values with running totals.
     * * `DifferenceFrom`: Allows to display the pivot table values with difference from the value of the base item in the base field.
     * * `PercentageOfDifferenceFrom`: Allows to display the pivot table values with percentage difference from the value of the base item in the base field.
     * * `PercentageOfGrandTotal`: Allows to display the pivot table values with percentage of grand total of all values.
     * * `PercentageOfColumnTotal`: Allows to display the pivot table values in each column with percentage of total values for the column.
     * * `PercentageOfRowTotal`: Allows to display the pivot table values in each row with percentage of total values for the row.
     * * `PercentageOfParentTotal`: Allows to display the pivot table values with percentage of total of all values based on selected field.
     * * `PercentageOfParentColumnTotal`: Allows to display the pivot table values with percentage of its parent total in each column.
     * * `PercentageOfParentRowTotal`: Allows to display the pivot table values with percentage of its parent total in each row.
     * * `CalculatedField`: Allows to display the pivot table with calculated field values. It allows user to create a new calculated field alone.
     *
     * > It is applicable only for relational data source.
     * @default Sum
     */
    type: SummaryTypes;
    /**
     * Allows you to set the axis name to the specific field. This will help to display the field in specified axis such as row/column/value/filter axis of pivot table.
     */
    axis: string;
    /**
     * Allows you to display all members items of a specific field to the pivot table, even doesn't have any data in its row/column intersection in data source.
     * > It is applicable only for relational data source.
     * @default false
     */
    showNoDataItems: boolean;
    /**
     * Allows you to set the selective field, which used to display the values with either DifferenceFrom or PercentageOfDifferenceFrom or PercentageOfParentTotal aggregate types.
     * > It is applicable only for relational data source.
     */
    baseField: string;
    /**
     * Allows you to set the selective item of a specific field, which used to display the values with either DifferenceFrom or PercentageOfDifferenceFrom aggregate types.
     * The selective item should be set the from field specified in the baseField property.
     * > It is applicable only for relational data source.
     */
    baseItem: string;
    /**
     * Allows to show or hide sub-totals to a specific field in row/column axis of the pivot table.
     * @default true
     */
    showSubTotals: boolean;
    /**
     * Allows you to set whether the specified field is a named set or not.
     * In general, the named set is a set of dimension members or a set expression (MDX query) to be created as a dimension in the SSAS OLAP cube itself.
     * > It is applicable only for OLAP data source.
     * @default false
     */
    isNamedSet: boolean;
    /**
     * Allows to set whether the specified field is a calculated field or not. In general, a calculated field is created from the bound data source or using simple formula with basic arithmetic operators in the pivot table.
     * > This option is applicable only for OLAP data source.
     * @default false
     */
    isCalculatedField: boolean;
    /**
     * Allows you to show or hide the filter icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This filter icon is used to filter the members of a specified field at runtime in the pivot table.
     * @default true
     */
    showFilterIcon: boolean;
    /**
     * Allows you to show or hide the sort icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This sort icon is used to order members of a specified field either in ascending or descending at runtime.
     * @default true
     */
    showSortIcon: boolean;
    /**
     * Allows you to show or hide the remove icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This remove icon is used to remove the specified field during runtime.
     * @default true
     */
    showRemoveIcon: boolean;
    /**
     * Allows you to show or hide the value type icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This value type icon helps to select the appropriate aggregation type to specified value field at runtime.
     * @default true
     */
    showValueTypeIcon: boolean;
    /**
     * Allows you to show or hide the edit icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This edit icon is used to modify caption, formula, and format of a specified calculated field at runtime that to be displayed in the pivot table.
     * @default true
     */
    showEditIcon: boolean;
    /**
     * Allows you to restrict the specific field's pivot button that is used to drag on runtime in the grouping bar and field list UI.
     * This will prevent you from modifying the current report.
     * @default true
     */
    allowDragAndDrop: boolean;
    /**
     * Allows to specify the data type of specific field.
     */
    dataType: string;
    /**
     * Allows you to either expand or collapse all the headers that are displayed in the pivot table.
     * By default, all the headers are collapsed in the pivot table.
     * > It is applicable only for Relational data.
     * @default false
     */
    expandAll: boolean;
    /**
    * Allows you to create group folder for fields in pivot field list.
    * Allows user to set the group (i.e., folder) name for selected fields that used to be displayed in the field list tree.
    * > It is applicable only for relational data source.
    */
    groupName: string;
}
/**
 * Allows specific fields associated with field information that needs to be displayed in the field axes of pivot table. The following configurations which are applicable are as follows:
 * * `name`: Allows you to set the field name that needs to be displayed in row/column/value/filter axis of pivot table.
 * * `caption`: Allows you to set caption to the specific field. It will be used to display instead of its name in pivot table component's UI.
 * * `type`: Allows to display the values in the pivot table with appropriate aggregations such as sum, product, count, average, etc… **Note: It is applicable only for relational data source.**
 * * `axis`: Allows you to set the axis name to the specific field. This will help to display the field in specified axis such as row/column/value/filter axis of pivot table.
 * * `showNoDataItems`: Allows you to display all members items of a specific field to the pivot table,
 * even doesn't have any data in its row/column intersection in data source. **Note: It is applicable only for relational data source.**
 * * `baseField`: Allows you to set the selective field, which used to display the values with either
 *  DifferenceFrom or PercentageOfDifferenceFrom or PercentageOfParentTotal aggregate types. **Note: It is applicable only for relational data source.**
 * * `baseItem`: Allows you to set the selective item of a specific field, which used to display the values with either DifferenceFrom or PercentageOfDifferenceFrom aggregate types.
 * The selective item should be set the from field specified in the baseField property. **Note: It is applicable only for relational data source.**
 * * `showSubTotals`: Allows to show or hide sub-totals to a specific field in row/column axis of the pivot table.
 * * `isNamedSet`: Allows you to set whether the specified field is a named set or not. In general,
 * the named set is a set of dimension members or a set expression (MDX query) to be created as a dimension in the SSAS OLAP cube itself. **Note: It is applicable only for OLAP data source.**
 * * `isCalculatedField`: Allows to set whether the specified field is a calculated field or not.
 * In general, the calculated field is created from the bound data source or using simple formula with basic arithmetic operators in the pivot table. **Note: It is applicable only for OLAP data source.**
 * * `showFilterIcon`: Allows you to show or hide the filter icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
 * This filter icon is used to filter the members of a specified field at runtime in the pivot table.
 * * `showSortIcon`: Allows you to show or hide the sort icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
 * This sort icon is used to order members of a specified field either in ascending or descending at runtime.
 * * `showRemoveIcon`: Allows you to show or hide the remove icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
 * This remove icon is used to remove the specified field during runtime.
 * * `showValueTypeIcon`: Allows you to show or hide the value type icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
 * This value type icon helps to select the appropriate aggregation type to specified value field at runtime.
 * * `showEditIcon`: Allows you to show or hide the edit icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
 * This edit icon is used to modify caption, formula, and format of a specified calculated field at runtime that to be displayed in the pivot table.
 * * `allowDragAndDrop`: Allows you to restrict the specific field's pivot button that is used to drag on runtime in the grouping bar and field list UI.
 * This will prevent you from modifying the current report.
 * * `expandAll`: Allows you to expand or collapse all of the pivot table's headers for a specific field.
 */
export  class FieldListFieldOptions extends FieldOptions {
}
/**
 * Allows the style information to cusotmize the pivot table cell apprearance.
 */
export  class Style extends base.ChildProperty<Style> implements IStyle {
    /**
     * It allows to set the background color to the value cell in the pivot table.
     */
    backgroundColor: string;
    /**
     * It allows to set the font color to the value cell in the pivot table.
     */
    color: string;
    /**
     * It allows to set the font family to the value cell in the pivot table.
     */
    fontFamily: string;
    /**
     * It allows to set the font size to the value cell in the pivot table.
     */
    fontSize: string;
}
/**
 * Allows specific fields associated with either selective or conditional-based filter members that used to be displayed in the pivot table.
 */
export  class Filter extends base.ChildProperty<Filter> implements IFilter {
    /**
     * Allows you to set the field name that used to display the selective or conditional-based filter members that used to be displayed in the pivot table.
     */
    name: string;
    /**
     * Allows you to set the specific filter type to display the filter members in the pivot table. They are:
     * * Include - Specifies the filter type as include for member filter.
     * * Exclude - Specifies the filter type as exclude for member filter.
     * * Label - Specifies the filter type as label for header filter.
     * * Date - Specifies the filter type as date for date based filter.
     * * Number - Specifies the filter type as number for number based filter.
     * * Value - Specifies the filter type as value for value based filter.
     * @default Include
     */
    type: FilterType;
    /**
     * Allows yoy to specify the field members that used to be displayed based on the filter type provided in the pivot table.
     */
    items: string[];
    /**
     * Allows you to choose the operator type such as equals, greater than, less than, etc. for conditional-based filtering.
     * > It is applicable only for label and value filtering.
     * @default DoesNotEquals
     */
    condition: Operators;
    /**
     * Allows you to set the start value to display the filter items in the pivot table based on the condition applied.
     * > It is applicable only for label and value filtering.
     */
    value1: string | Date;
    /**
     * Allows you to set the end value to display the filter items in the pivot table based on the condition applied.
     * > This option will be used by default when the operator **Between** and **NotBetween** is chosen to apply. Also, it is applicable only for label and value filtering.
     */
    value2: string | Date;
    /**
     * Allows to set value field for evaluation using conditions and operands for filtering.
     * > It is applicable only for label and value filtering.
     */
    measure: string;
    /**
     * Allows to set level of the field to fetch data from the cube for filtering.
     * > This option is applicable only for user-defined hierarchies in OLAP data source.
     * @default 1
     */
    levelCount: number;
    /**
     * Allows to set level name of a specified field, where the filtering settings to be applied.
     * > This option is applicable only for user-defined hierarchies in OLAP data source.
     */
    selectedField: string;
}
/**
 * Allows a collection of values fields to change the appearance of the pivot table value cells with different style properties such as background color, font color, font family, and font size based on specific conditions.
 */
export  class ConditionalFormatSettings extends base.ChildProperty<ConditionalFormatSettings> implements IConditionalFormatSettings {
    /**
     * Allows to set the value field name to apply conditional formatting.
     */
    measure: string;
    /**
     * Allows to set the header text of a specific row/column field to apply conditional formatting.
     */
    label: string;
    /**
     * Allows you to choose the operator type such as equals, greater than, less than, etc. for conditional formatting.
     */
    conditions: Condition;
    /**
     * Allows you to set the start value for applying conditional formatting.
     */
    value1: number;
    /**
     * Allows you to set the end value for applying conditional formatting.
     * > This option will be used by default when the operator **Between** and **NotBetween** is chosen to apply.
     */
    value2: number;
    /**
     * Allows to set the custom styles for the formatting applied values in the pivot table.
     */
    style: IStyle;
    /**
     * Allows to apply conditional formatting to the grand totals of row and column axis in the pivot table.
     */
    applyGrandTotals: boolean;
}
/**
 * Allows specific fields associated with sort settings to order their members either in ascending or descending that used to be displayed in the pivot table.
 */
export  class Sort extends base.ChildProperty<Sort> implements ISort {
    /**
     * Allows to set the field name to order their members either in ascending or descending in the pivot table.
     */
    name: string;
    /**
     * Allows to apply sorting to the specified field either by ascending or descending or JSON order. The types are,
     * * `Ascending`: It allows to display the field members in ascending order.
     * * `Descending`: It allows to display the field members in descending order.
     * * `None`: It allows to display the field members based on JSON order.
     * @default Ascending
     */
    order: Sorting;
    /**
    * Allows to specify the order in which the members should be sorted.
    * @default []
    */
    membersOrder: string[] | number[];
}
/**
 * Allows specific fields used to display the values with specific format that used to be displayed in the pivot table.
 * For example, to display a specific field with currency formatted values in the pivot table, the set the `format` property to be **C**.
 */
export  class FormatSettings extends base.ChildProperty<FormatSettings> implements base.NumberFormatOptions, base.DateFormatOptions, IFormatSettings {
    /**
     * It allows to set the field name to apply format settings.
     */
    name: string;
    /**
     * It allows to specify minimum fraction digits to the formatted value.
     */
    minimumFractionDigits: number;
    /**
     * It allows to specify maximum fraction digits to the  formatted value.
     */
    maximumFractionDigits: number;
    /**
     * It allows to specify minimum significant digits to the formatted value.
     */
    minimumSignificantDigits: number;
    /**
     * It allows to specify maximum significant digits to the formatted value.
     */
    maximumSignificantDigits: number;
    /**
     * It allows to use grouping to the formatted value,
     * @default true
     */
    useGrouping: boolean;
    /**
     * It allows to specify the skeleton such as full, medium, long, short, etc. to perform date formatting.
     * > It is applicable only fot date type formatting.
     */
    skeleton: string;
    /**
     * It allows to specify the type of date formatting either date, dateTime or time.
     */
    type: string;
    /**
     * It allows to specify the currency code to be used for formatting.
     */
    currency: string;
    /**
     * It allows to specify minimum integer digits to the formatted value.
     */
    minimumIntegerDigits: number;
    /**
     * It allows to specify custom number format for formatting.
     */
    format: string;
}
/**
 * Allows specific fields to group their data on the basis of their type.
 * For example, the date type fields can be formatted and displayed based on year, quarter, month, and more. Likewise, the number type fields can be grouped range-wise, such as 1-5, 6-10, etc.
 * You can perform custom group to the string type fields that used to displayed in the pivot table.
 */
export  class GroupSettings extends base.ChildProperty<GroupSettings> implements IGroupSettings {
    /**
     * It allows to set the specific field name to apply group settings.
     */
    name: string;
    /**
     * It allows to specify the date group intervals such as years or quarter or months or days or hours or minutes or seconds to group fields based on that in the pivot table. They options are:
     * * Years - Defines group field as 'Years' for date type field.
     * * Quarters - Defines group field as 'Quarters' for date type field.
     * * QuarterYear - Defines group field as 'Quarter Year' for date type field.
     * * Months - Defines group field as 'Months' for date type field.
     * * Days - Defines group field as 'Days' for date type field.
     * * Hours - Defines group field as 'Hours' for date type field.
     * * Minutes - Defines group field as 'Minutes' for date type field.
     * * Seconds - Defines group field as 'Seconds' for date type field.
     *
     * > It is applicable only for date type grouping.
     */
    groupInterval: DateGroup[];
    /**
     * It allows to set the start value/date to group fields from the specified range that to be displayed in the pivot table.
     */
    startingAt: string | Date | number;
    /**
     * It allows to set the start value/date to group fields to the specified range that to be displayed in the pivot table.
     */
    endingAt: string | Date | number;
    /**
     * It allows to set the type as date or number or custom to the specified field for apply grouping. The types are:
     * * Date - Defines group type as 'Date' for date type field
     * * Number - Defines group type as 'Number' for numeric type field.
     * * Custom - Defines group type as 'Custom' for custom group field.
     * @default Date
     */
    type: GroupType;
    /**
     * It allows to set the interval range to group field based on the specified range.
     * > It is applicable only of number type grouping.
     */
    rangeInterval: number;
    /**
     * It allows to set the caption to custom field that will be used to created from custom group fields in the pivot table.
     * > It is applicable only for custom grouping.
     */
    caption: string;
    /**
     * It allows to set the custom group information to create custom group fields.
     * > It is applicable only for custom grouping.
     * @default []
     */
    customGroups: ICustomGroups[];
}
/**
 * Allows to specify the custom group information of specific field to create custom groups.
 */
export  class CustomGroups extends base.ChildProperty<CustomGroups> implements ICustomGroups {
    /**
     * Allows user to set the group name (or title) for selected headers for custom grouping.
     */
    groupName: string;
    /**
     * It allows to set the headers which needs to be grouped from display.
     * @default []
     */
    items: string[];
}
/**
 * Allows options to create new calculated fields from the bound data source or using simple formula with basic arithmetic operators in the pivot table.
 */
export  class CalculatedFieldSettings extends base.ChildProperty<CalculatedFieldSettings> implements ICalculatedFieldSettings {
    /**
     * It allows to set the field name that used to create as a calculated field.
     */
    name: string;
    /**
     * It allows to set the formula/expression to the specified calculated field.
     */
    formula: string;
    /**
     * It allows to set hierarchy unique name, that used to create calculated member.
     * > It is applicable only for OLAP data source.
     */
    hierarchyUniqueName: string;
    /**
     * It allows to set format string that used to create calculated member with specified formatted values that to be displayed in the pivot table.
     * > It is applicable only for OLAP data source.
     */
    formatString: string;
}
/**
 * Allows specific fields used to display their the headers to be either expanded or collapsed in the pivot table.
 */
export  class DrillOptions extends base.ChildProperty<DrillOptions> implements IDrillOptions {
    /**
     * It allows to set the field name whose members to be either expanded or collapsed in the pivot table.
     */
    name: string;
    /**
     * It allows to set the members to be either expanded or collapsed in the pivot table.
     */
    items: string[];
    /**
     * It allows to set the delimiter, which is used a separator to split the given members.
     */
    delimiter: string;
}
/**
 * Allows to sort individual value field and its aggregated values either in row or column axis to ascending or descending order.
 */
export  class ValueSortSettings extends base.ChildProperty<ValueSortSettings> implements IValueSortSettings {
    /**
     * It allows to set the member name of a specific field for value sorting.
     */
    headerText: string;
    /**
     * It allows to set the delimiter, which is used a separator to split the given header text.
     * @default '.'
     */
    headerDelimiter: string;
    /**
     * Allows to apply sorting to the specified field either by ascending or descending. The types are,
     * * `Ascending`: It allows to display the field members in ascending order.
     * * `Descending`: It allows to display the field members in descending order.
     * @default None
     */
    sortOrder: Sorting;
    /** @hidden */
    columnIndex: number;
    /**
     * It allows to set the measure name to achieve value sorting based on this.
     * > It is applicable only for OLAP data source.
     */
    measure: string;
}
/**
 * Allows you to set the credential information to access the specified SSAS cube.
 * > It is applicable only for OLAP data source.
 */
export  class Authentication extends base.ChildProperty<Authentication> implements IAuthenticationInfo {
    /**
     * It allows to set the user name to access the specified SSAS cube.
     */
    userName: string;
    /**
     * It allows to set the password to access the specified SSAS cube.
     */
    password: string;
}
/**
 * Allows the following pivot report information such as rows, columns, values, filters, etc., that are used to render the pivot table and field list.
 * * `catalog`: Allows to set the database name of SSAS cube as string type that used to retrieve the data from the specified connection string. **Note: It is applicable only for OLAP data source.**
 * * `cube`: Allows you to set the SSAS cube name as string type that used to retrieve data for pivot table rendering. **Note: It is applicable only for OLAP data source.**
 * * `providerType`: Allows to set the provider type to identify the given connection is either Relational or SSAS to render the pivot table and field list.
 * * `url`: Allows to set the URL as string type, which helps to identify the service endpoint where the data are processed and retrieved to render the pivot table and field list. **Note: It is applicable only for OLAP data source.**
 * * `localeIdentifier`: Allows you to set the specific culture code as number type to render pivot table with desired localization.
 * By default, the pivot table displays with culture code **1033**, which indicates "en-US" locale. **Note: It is applicale only for OLAP data source.**
 * * `dataSource`: Allows you to set the data source as JSON collection to the pivot report either from local or from remote server to the render the pivot that and field list.
 * You can fetch JSON data from remote server by using data.DataManager. **Note: It is applicable only for relational data source.**
 * * `rows`: Allows specific fields associated with field information that needs to be displayed in row axis of pivot table.
 * * `columns`: Allows specific fields associated with field information that needs to be displayed in column axis of pivot table.
 * * `values`: Allows specific fields associated with field information that needs to be displayed as aggregated numeric values in pivot table.
 * * `filters`: Allows to filter the values in other axis based on the collection of filter fields in pivot table.
 * * `excludeFields`: Allows you to restrict the specific field(s) from displaying it in the field list UI.
 * You may also be unable to render the pivot table with this field(s) by doing so. **Note: It is applicable only for relational data source.**
 * * `expandAll`: Allows you to either expand or collapse all the headers that are displayed in the pivot table.
 * By default, all the headers are collapsed in the pivot table. **Note: It is applicable only for Relational data.**
 * * `valueAxis`: Allows you to set the value fields that to be plotted either in row or column axis in the pivot table.
 * * `filterSettings`: Allows specific fields associated with either selective or conditional-based filter members that used to be displayed in the pivot table.
 * * `sortSettings`: Allows specific fields associated with sort settings to order their members either in ascending or descending that used to be displayed in the pivot table.
 * By default, the data source containing fields are display with Ascending order alone. To use this option, it requires the `enableSorting` property to be **true**.
 * * `enableSorting`: Allows to perform sort operation to order members of a specific fields either in ascending or descending that used to be displayed in the pivot table.
 * * `formatSettings`: Allows specific fields used to display the values with specific format that used to be displayed in the pivot table.
 * For example, to display a specific field with currency formatted values in the pivot table, the set the `format` property to be **C**.
 * * `drilledMembers`: Allows specific fields used to display their the headers to be either expanded or collapsed in the pivot table.
 * * `valueSortSettings`: Allows to sort individual value field and its aggregated values either in row or column axis to ascending or descending order.
 * * `calculatedFieldSettings`: Allows to create new calculated fields from the bound data source or using simple formula with basic arithmetic operators in the pivot table.
 * * `allowMemberFilter`: Allows to perform filter operation based on the selective filter members of the specific fields used to be displayed in the pivot table.
 * * `allowLabelFilter`: Allows to perform filter operation based on the selective headers used to be displayed in the pivot table.
 * * `allowValueFilter`: Allows to perform filter operation based only on value fields and its resultant aggregated values over other fields defined in row and column axes that used to be displayed in the pivot table.
 * * `showSubTotals`: Allows to show or hide sub-totals in both rows and columns axis of the pivot table.
 * * `showRowSubTotals`: Allows to show or hide sub-totals in row axis of the pivot table.
 * * `showColumnSubTotals`: Allows to show or hide sub-totals in column axis of the pivot table.
 * * `showGrandTotals`: Allows to show or hide grand totals in both rows and columns axis of the pivot table.
 * * `showRowGrandTotals`: Allows to show or hide grand totals in row axis of the pivot table.
 * * `showColumnGrandTotals`: Allows to show or hide grand totals in column axis of the pivot table.
 * * `showHeaderWhenEmpty`: Allows the undefined headers to be displayed in the pivot table, when the specific field(s) are not defined in the raw data.
 * For example, if the raw data for the field ‘Country’ is defined as “United Kingdom” and “State” is not defined means, it will be shown as “United Kingdom >> Undefined” in the header section.
 * * `alwaysShowValueHeader`: Allows to show the value field header always in pivot table, even if it holds a single field in the value field axis.
 * * `conditionalFormatSettings`: Allows a collection of values fields to change the appearance of the pivot table value cells with different style properties such as background color, font color, font family, and font size based on specific conditions.
 * * `emptyCellsTextContent`: Allows to show custom string to the empty value cells that used to display in the pivot table. You can fill empty value cells with any value like “0”, ”-”, ”*”, “(blank)”, etc.
 * * `groupSettings`: Allows specific fields to group their data on the basis of their type.
 * For example, the date type fields can be formatted and displayed based on year, quarter, month, and more. Likewise, the number type fields can be grouped range-wise, such as 1-5, 6-10, etc.
 * You can perform custom group to the string type fields that used to displayed in the pivot table.
 * * `showAggregationOnValueField`: Allows the pivot button with specific value field caption along with the aggregation type, to be displayed in the grouping bar and field list UI.
 * For example, if the value field "Sold Amount" is aggregated with Sum, it will be displayed with caption "Sum of Sold Amount" in its pivot button.
 * * `authentication`: Allows you to set the credential information to access the specified SSAS cube. **Note: It is applicable only for OLAP data source**.
 */
export  class DataSourceSettings extends base.ChildProperty<DataSourceSettings> implements IDataOptions {
    /**
     * Allows to set the mode of rendering the pivot table.
     * @default Local
     */
    mode: RenderMode;
    /**
     * Allows to set the database name of SSAS cube as string type that used to retrieve the data from the specified connection string.
     * > It is applicable only for OLAP data source.
     */
    catalog: string;
    /**
     * Allows you to set the SSAS cube name as string type that used to retrieve data for pivot table rendering.
     * > It is applicable only for OLAP data source.
     */
    cube: string;
    /**
     * Allows to set the provider type to identify the given connection is either **Relational** or **SSAS** to render the pivot table and field list. The following options are:
     * * `Relational`: Allows to render the pivot table with JSON data collection either fetch at local or remote server.
     * * `SSAS`: Allows to render the pivot table with OLAP data fetch from OLAP cube.
     * @default Relational
     */
    providerType: ProviderType;
    /**
     * Allows to set the URL as string type, which helps to identify the service endpoint where the data are processed and retrieved to render the pivot table and field list.
     * > It is applicable only for OLAP data source.
     */
    url: string;
    /**
     * Allows you to set the specific culture code as number type to render pivot table with desired localization.
     * By default, the pivot table displays with culture code **1033**, which indicates "en-US" locale.
     * > It is applicale only for OLAP data source.
     * @default 1033
     */
    localeIdentifier: number;
    /**
     * Allows you to set the data source as JSON collection to the pivot report either from local or from remote server to the render the pivot that and field list.
     * You can fetch JSON data from remote server by using data.DataManager.
     * > It is applicable only for relational data source.
     * @isGenericType true
     */
    dataSource: IDataSet[] | data.DataManager | string[][];
    /**
     * Allows specific fields associated with field information that needs to be displayed in row axis of pivot table. The following configurations which are applicable are as follows:
     * * `name`: Allows you to set the field name that needs to be displayed in row axis of pivot table.
     * * `caption`: Allows you to set caption to the specific field. It will be used to display instead of its name in pivot table component's UI.
     * * `showNoDataItems`: Allows you to display all members items of a specific field to the pivot table,
     * even doesn't have any data in its row/column intersection in data source. **Note: It is applicable only for relational data source.**
     * * `showSubTotals`: Allows to show or hide sub-totals to a specific field in row axis of the pivot table.
     * * `isNamedSet`: Allows you to set whether the specified field is a named set or not. In general,
     * the named set is a set of dimension members or a set expression (MDX query) to be created as a dimension in the SSAS OLAP cube itself. **Note: It is applicable only for OLAP data source.**
     * * `isCalculatedField`: Allows to set whether the specified field is a calculated field or not.
     * In general, the calculated field is created from the bound data source or using simple formula with basic arithmetic operators in the pivot table. **Note: It is applicable only for OLAP data source.**
     * * `showFilterIcon`: Allows you to show or hide the filter icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This filter icon is used to filter the members of a specified field at runtime in the pivot table.
     * * `showSortIcon`: Allows you to show or hide the sort icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This sort icon is used to order members of a specified field either in ascending or descending at runtime.
     * * `showRemoveIcon`: Allows you to show or hide the remove icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This remove icon is used to remove the specified field during runtime.
     * * `showEditIcon`: Allows you to show or hide the edit icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This edit icon is used to modify caption, formula, and format of a specified calculated field at runtime that to be displayed in the pivot table.
     * * `allowDragAndDrop`: Allows you to restrict the specific field's pivot button that is used to drag on runtime in the grouping bar and field list UI.
     * This will prevent you from modifying the current report.
     * * `expandAll`: Allows you to expand or collapse all of the pivot table's headers for a specific field.
     * @default []
     */
    rows: FieldOptionsModel[];
    /**
     * Allows specific fields associated with field information that needs to be displayed in column axis of pivot table. The following configurations which are applicable are as follows:
     * * `name`: Allows you to set the field name that needs to be displayed in column axis of pivot table.
     * * `caption`: Allows you to set caption to the specific field. It will be used to display instead of its name in pivot table component's UI.
     * * `showNoDataItems`: Allows you to display all members items of a specific field to the pivot table,
     * even doesn't have any data in its row/column intersection in data source. **Note: It is applicable only for relational data source.**
     * * `showSubTotals`: Allows to show or hide sub-totals to a specific field in column axis of the pivot table.
     * * `isNamedSet`: Allows you to set whether the specified field is a named set or not. In general,
     * the named set is a set of dimension members or a set expression (MDX query) to be created as a dimension in the SSAS OLAP cube itself. **Note: It is applicable only for OLAP data source.**
     * * `isCalculatedField`: Allows to set whether the specified field is a calculated field or not.
     * In general, the calculated field is created from the bound data source or using simple formula with basic arithmetic operators in the pivot table. **Note: It is applicable only for OLAP data source.**
     * * `showFilterIcon`: Allows you to show or hide the filter icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This filter icon is used to filter the members of a specified field at runtime in the pivot table.
     * * `showSortIcon`: Allows you to show or hide the sort icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This sort icon is used to order members of a specified field either in ascending or descending at runtime.
     * * `showRemoveIcon`: Allows you to show or hide the remove icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This remove icon is used to remove the specified field during runtime.
     * * `showEditIcon`: Allows you to show or hide the edit icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This edit icon is used to modify caption, formula, and format of a specified calculated field at runtime that to be displayed in the pivot table.
     * * `allowDragAndDrop`: Allows you to restrict the specific field's pivot button that is used to drag on runtime in the grouping bar and field list UI.
     * This will prevent you from modifying the current report.
     * * `expandAll`: Allows you to expand or collapse all of the pivot table's headers for a specific field.
     * @default []
     */
    columns: FieldOptionsModel[];
    /**
     * Allows specific fields associated with field information that needs to be displayed as aggregated numeric values in pivot table. The following configurations which are applicable are as follows:
     * * `name`: Allows you to set the field name that needs to be displayed in row/column/value/filter axis of pivot table.
     * * `caption`: Allows you to set caption to the specific field. It will be used to display instead of its name in pivot table component's UI.
     * * `type`: Allows to display the values in the pivot table with appropriate aggregations such as sum, product, count, average, etc… **Note: It is applicable only for relational data source.**
     * * `baseField`: Allows you to set the selective field, which used to display the values with either
     *  DifferenceFrom or PercentageOfDifferenceFrom or PercentageOfParentTotal aggregate types. **Note: It is applicable only for relational data source.**
     * * `baseItem`: Allows you to set the selective item of a specific field, which used to display the values with either DifferenceFrom or PercentageOfDifferenceFrom aggregate types.
     * The selective item should be set the from field specified in the baseField property. **Note: It is applicable only for relational data source.**
     * * `isCalculatedField`: Allows to set whether the specified field is a calculated field or not.
     * In general, the calculated field is created from the bound data source or using simple formula with basic arithmetic operators in the pivot table. **Note: It is applicable only for OLAP data source.**
     * * `showRemoveIcon`: Allows you to show or hide the remove icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This remove icon is used to remove the specified field during runtime.
     * * `showValueTypeIcon`: Allows you to show or hide the value type icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This value type icon helps to select the appropriate aggregation type to specified value field at runtime.
     * * `showEditIcon`: Allows you to show or hide the edit icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This edit icon is used to modify caption, formula, and format of a specified calculated field at runtime that to be displayed in the pivot table.
     * * `allowDragAndDrop`: Allows you to restrict the specific field's pivot button that is used to drag on runtime in the grouping bar and field list UI.
     * This will prevent you from modifying the current report.
     * * `expandAll`: Allows you to expand or collapse all of the pivot table's headers for a specific field.
     * @default []
     */
    values: FieldOptionsModel[];
    /**
     * Allows to filter the values in other axis based on the collection of filter fields in pivot table. The following configurations which are applicable are as follows:
     * * `name`: Allows you to set the field name that needs to be displayed in row/column/value/filter axis of pivot table.
     * * `caption`: Allows you to set caption to the specific field. It will be used to display instead of its name in pivot table component's UI.
     * * `isNamedSet`: Allows you to set whether the specified field is a named set or not. In general,
     * the named set is a set of dimension members or a set expression (MDX query) to be created as a dimension in the SSAS OLAP cube itself. **Note: It is applicable only for OLAP data source.**
     * * `isCalculatedField`: Allows to set whether the specified field is a calculated field or not.
     * In general, the calculated field is created from the bound data source or using simple formula with basic arithmetic operators in the pivot table. **Note: It is applicable only for OLAP data source.**
     * * `showFilterIcon`: Allows you to show or hide the filter icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This filter icon is used to filter the members of a specified field at runtime in the pivot table.
     * * `showRemoveIcon`: Allows you to show or hide the remove icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This remove icon is used to remove the specified field during runtime.
     * * `showEditIcon`: Allows you to show or hide the edit icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This edit icon is used to modify caption, formula, and format of a specified calculated field at runtime that to be displayed in the pivot table.
     * * `allowDragAndDrop`: Allows you to restrict the specific field's pivot button that is used to drag on runtime in the grouping bar and field list UI.
     * This will prevent you from modifying the current report.
     * * `expandAll`: Allows you to expand or collapse all of the pivot table's headers for a specific field.
     * @default []
     */
    filters: FieldOptionsModel[];
    /**
     * Allows specific fields associated with field information that can be used while creating fieldlist. The following configurations which are applicable are as follows:
     * * `name`: Allows you to set the field name which is going to configure while creating the fieldlist.
     * * `caption`: Allows you to set caption to the specific field. It will be used to display instead of its name in pivot table component's UI.
     * * `showNoDataItems`: Allows you to display all members items of a specific field to the pivot table,
     * even doesn't have any data in its row/column intersection in data source. **Note: It is applicable only for relational data source.**
     * * `showSubTotals`: Allows to show or hide sub-totals to a specific field in row axis of the pivot table.
     * * `isNamedSet`: Allows you to set whether the specified field is a named set or not. In general,
     * the named set is a set of dimension members or a set expression (MDX query) to be created as a dimension in the SSAS OLAP cube itself. **Note: It is applicable only for OLAP data source.**
     * * `isCalculatedField`: Allows to set whether the specified field is a calculated field or not.
     * In general, the calculated field is created from the bound data source or using simple formula with basic arithmetic operators in the pivot table. **Note: It is applicable only for OLAP data source.**
     * * `showFilterIcon`: Allows you to show or hide the filter icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This filter icon is used to filter the members of a specified field at runtime in the pivot table.
     * * `showSortIcon`: Allows you to show or hide the sort icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This sort icon is used to order members of a specified field either in ascending or descending at runtime.
     * * `showRemoveIcon`: Allows you to show or hide the remove icon of a specific field that used to be displayed in the pivot button of the grouping bar and field list UI.
     * This remove icon is used to remove the specified field during runtime.
     * * `showEditIcon`: Allows you to show or hide the edit icon of a specific field that used to be displayed on the pivot button of the grouping bar and field list UI.
     * This edit icon is used to modify caption, formula, and format of a specified calculated field at runtime that to be displayed in the pivot table.
     * * `allowDragAndDrop`: Allows you to restrict the specific field's pivot button that is used to drag on runtime in the grouping bar and field list UI.
     * This will prevent you from modifying the current report.
     * * `expandAll`: Allows you to expand or collapse all of the pivot table's headers for a specific field.
     * @default []
     */
    fieldMapping: FieldOptionsModel[];
    /**
     * Allows you to restrict the specific field(s) from displaying it in the field list UI.
     * You may also be unable to render the pivot table with this field(s) by doing so.
     * > It is applicable only for relational data source.
     * @default []
     */
    excludeFields: string[];
    /**
     * Allows you to either expand or collapse all the headers that are displayed in the pivot table.
     * By default, all the headers are collapsed in the pivot table.
     * > It is applicable only for Relational data.
     * @default false
     */
    expandAll: boolean;
    /**
     * Allows you to set the value fields that to be plotted either in row or column axis in the pivot table.
     * @default 'column'
     */
    valueAxis: string;
    /**
     * Allows you to display the value headers based on the index position in row or column axis in the pivot table.
     * By default, the value headers are displayed at last index position based on the `valueAxis` property.
     * > It is applicale only for relational data source.
     * @default '-1'
     */
    valueIndex: number;
    /**
     * Allows specific fields associated with either selective or conditional-based filter members that used to be displayed in the pivot table.
     * @default []
     */
    filterSettings: FilterModel[];
    /**
     * Allows specific fields associated with sort settings to order their members either in ascending or descending that used to be displayed in the pivot table.
     * By default, the data source containing fields are display with Ascending order alone. To use this option, it requires the `enableSorting` property to be **true**.
     * @default []
     */
    sortSettings: SortModel[];
    /**
     * Allows to perform sort operation to order members of a specific fields either in ascending or descending that used to be displayed in the pivot table.
     * @default true
     */
    enableSorting: boolean;
    /**
     * Allows to define the data source type.
     * @default JSON
     */
    type: DataSourceType;
    /**
     * Allows to perform filter operation based on the selective filter members of the specific fields used to be displayed in the pivot table.
     * @default true
     */
    allowMemberFilter: boolean;
    /**
     * Allows to perform filter operation based on the selective headers used to be displayed in the pivot table.
     * @default false
     */
    allowLabelFilter: boolean;
    /**
     * Allows to perform filter operation based only on value fields and its resultant aggregated values over other fields defined in row and column axes that used to be displayed in the pivot table.
     * @default false
     */
    allowValueFilter: boolean;
    /**
     * Allows to show or hide sub-totals in both rows and columns axis of the pivot table.
     * @default true
     */
    showSubTotals: boolean;
    /**
     * Allows to show or hide sub-totals in row axis of the pivot table.
     * @default true
     */
    showRowSubTotals: boolean;
    /**
     * Allows to show or hide sub-totals in column axis of the pivot table.
     * @default true
     */
    showColumnSubTotals: boolean;
    /**
     * Allows to show or hide grand totals in both rows and columns axis of the pivot table.
     * @default true
     */
    showGrandTotals: boolean;
    /**
     * Allows the grand totals to be displayed at the top or bottom of the pivot table's row and column axes.
     * > By default, the grand totals are displayed at the bottom of the pivot table's row and column axes.
     * @default Bottom
     */
    grandTotalsPosition: GrandTotalsPosition;
    /**
     * Allows to show or hide grand totals in row axis of the pivot table.
     * @default true
     */
    showRowGrandTotals: boolean;
    /**
     * Allows to show or hide grand totals in column axis of the pivot table.
     * @default true
     */
    showColumnGrandTotals: boolean;
    /**
     * Allows to show the value field header always in pivot table, even if it holds a single field in the value field axis.
     * @default false
     */
    alwaysShowValueHeader: boolean;
    /**
     * Allows the undefined headers to be displayed in the pivot table, when the specific field(s) are not defined in the raw data.
     * For example, if the raw data for the field ‘Country’ is defined as “United Kingdom” and “State” is not defined means, it will be shown as “United Kingdom >> Undefined” in the header section.
     * @default true
     */
    showHeaderWhenEmpty: boolean;
    /**
     * Allows the pivot button with specific value field caption along with the aggregation type, to be displayed in the grouping bar and field list UI.
     * For example, if the value field "Sold Amount" is aggregated with Sum, it will be displayed with caption "Sum of Sold Amount" in its pivot button.
     * @default true
     */
    showAggregationOnValueField: boolean;
    /**
     * Allows specific fields used to display the values with specific format that used to be displayed in the pivot table.
     * For example, to display a specific field with currency formatted values in the pivot table, the set the `format` property to be **C**.
     * @default []
     */
    formatSettings: FormatSettingsModel[];
    /**
     * Allows specific fields used to display their the headers to be either expanded or collapsed in the pivot table.
     * @default []
     */
    drilledMembers: DrillOptionsModel[];
    /**
     * Allows to sort individual value field and its aggregated values either in row or column axis to ascending or descending order.
     */
    valueSortSettings: ValueSortSettingsModel;
    /**
     * Allows to create new calculated fields from the bound data source or using simple formula with basic arithmetic operators in the pivot table.
     * @default []
     */
    calculatedFieldSettings: CalculatedFieldSettingsModel[];
    /**
     * Allows a collection of values fields to change the appearance of the pivot table value cells with different style properties such as background color, font color, font family, and font size based on specific conditions.
     * @default []
     */
    conditionalFormatSettings: ConditionalFormatSettingsModel[];
    /**
     * Allows to show custom string to the empty value cells that used to display in the pivot table. You can fill empty value cells with any value like “0”, ”-”, ”*”, “(blank)”, etc.
     */
    emptyCellsTextContent: string;
    /**
     * Allows specific fields to group their data on the basis of their type.
     * For example, the date type fields can be formatted and displayed based on year, quarter, month, and more. Likewise, the number type fields can be grouped range-wise, such as 1-5, 6-10, etc.
     * You can perform custom group to the string type fields that used to displayed in the pivot table.
     * @default []
     */
    groupSettings: GroupSettingsModel[];
    /**
     * Allows you to set the credential information to access the specified SSAS cube.
     * > It is applicable only for OLAP data source.
     */
    authentication: AuthenticationModel;
}
//node_modules/@syncfusion/ej2-pivotview/src/pivotview/model/gridsettings-model.d.ts
/**
 * Interface for a class PivotSelectionSettings
 */
export interface PivotSelectionSettingsModel {
    /**
     * Allow options to highlight either row wise or column wise or specific cells in the pivot table.
     * For expample, to highlight the columns, set the property `mode` to **Column**. The modes available are:
     * * `Cell`: Allows specific cells to be highlighted in the pivot table.
     * * `Row`: Allows the rows to be highlighted in the pivot table.
     * * `Column`: Allows the columns to be highlighted in the pivot table.
     * * `Both`: Allows both rows, columns and cells to be highlighted in the pivot table.
     * @default Row
     */
    mode?: SelectionMode;
    /**
     * Allow options to customize the mode of selection to highlight either row wise or column wise or specific cell in the pivot table.
     * For example, to apply the selection that includes in between cells of rows within the range, set the property `cellSelectionMode` to **Box**.
     * The modes available are:
     * * `Flow`: Allows the range of cells to be selected between the start index and the end index, which also includes the other cells of the selected rows in the pivot table.
     * * `Box`: Allows you to select a range of cells within the starting and ending column indexes that are included in the range between row cells in the pivot table.
     * * `BoxWithBorder`: Allows the range of cells to be selected as the box mode, but along with the borders in the pivot table.
     * @default Flow
     */
    cellSelectionMode?: PivotCellSelectionMode;
    /**
     * Allow options to customize the selection type to highlight either row wise or column wise or specific cell in the pivot table.
     * For example, to highlight multiple rows or columns or cells, set the property `type` to **Multiple**.
     * The types available are:
     * * `Single`: Allows the user to select a row or cell on their own in the pivot table.
     * * `Multiple`: Allows the user to select multiple rows or columns or cells in the pivot table.
     * @default Single
     */
    type?: grids.SelectionType;
    /**
     * Allows the selection options to highlight the rows in the pivot table using checkbox selection on their own.
     * > To enable checkboxOnly selection, should specify the column `type` as **checkbox**.
     * @default false
     */
    checkboxOnly?: boolean;
    /**
     * Allows you to keep selections in rows or columns or cells while performing all operations in the pivot table.
     * > For persisting selection, any one of the column should be enabled as a primary key using the `columns.isPrimaryKey` property in the grid instance.
     * @default false
     */
    persistSelection?: boolean;
    /**
     * Allow options to customize the checkbox selection mode in the pivot table.
     * For example, to select multiple rows one by one through simple clicking on rows, set the property `checkboxMode` to **Default**.
     * The modes available are:
     * * `Default`: Allows multiple rows to be selected by clicking rows one by one.
     * * `ResetOnRowClick`: Allows you to reset the previously selected row while clicking on a specific row.
     * You can also select multiple rows by clicking on rows along with the **CTRL** or **SHIFT** key in the pivot table.
     * @default Default
     */
    checkboxMode?: grids.CheckboxSelectionType;
    /**
     * Allows to perform multiple selection in rows with single clicks without using **SHIFT** or **CTRL** keys.
     * @default false
     */
    enableSimpleMultiRowSelection?: boolean;
}
/**
 * Interface for a class GridSettings
 */
export interface GridSettingsModel {
    /**
     * Allow the height of the pivot table content to be set, meaning that the height given should be applied without considering the column headers in the pivot table.
     * @default 'auto'
     */
    height?: number | string;
    /**
     * Allow to set width of the pivot table.
     * > The pivot table will not display less than 400px, as it is the minimum width to the component.
     * @default 'auto'
     */
    width?: number | string;
    /**
     * Allow the options for customizing the cell borders of each cell to be displayed in the pivot table.
     * For example, to display a pivot table without cell borders, set the property gridLines to None. The modes available are,
     * * `Both`: Allows the cell border to be displayed both horizontally and vertically in the pivot table.
     * * `None`: Allows no cell borders to be displayed in the pivot table.
     * * `Horizontal`: Allows the cell border to be shown horizontally in the pivot table.
     * * `Vertical`: Allows the cell border to be shown vertically in the pivot table.
     * * `Default`: Allows the display of the cell borders based on the theme used in the pivot table.
     * @default Both
     */
    gridLines?: grids.GridLine;
    /**
     * Allow to enable the content of the cells to be wrapped when they exceed the width of the cells in the pivot table.
     * @default false
     */
    allowTextWrap?: boolean;
    /**
     * Allows to reorder a specific column header from one index to another index in the pivot table by drag-and-drop.
     * > Reordering allows only at the same level as the column headers in the pivot table.
     * @default false
     */
    allowReordering?: boolean;
    /**
     * Allows the columns to be resized by clicking and dragging the right edge of the column headers.
     * > In RTL mode, user can click and drag the left edge of the header cell to resize the column.
     * @default true
     */
    allowResizing?: boolean;
    /**
     * Allows the component to be fit based on the width of its columns.
     * @default true
     */
    allowAutoResizing?: boolean;
    /**
     * Allow to set height to the pivot table rows commonly.
     * > By default, the rowHeight property is set as 36 pixels for desktop layout and 48 pixels for mobile layout.
     * The height of the column headers alone may vary when grouping bar feature is enabled.
     * @default null
     */
    rowHeight?: number;
    /**
     * Allow to set width to the pivot table columns commonly.
     * > By default, the columnWidth property is set as 110 pixels to each column except the first column.
     * The first column always defined as row headers in the pivot table. For first column,
     * 250 pixels and 200 pixels are set respectively with and without grouping bar.
     * @default 110
     */
    columnWidth?: number;
    /**
     * Allows the contents of the cell overflow to be displayed in the pivot table.
     * For example, to truncate the cell content of a cell when it overflows with respect to its cell width, set the property `clipMode` to **Clip**.
     * The modes available are:
     * * `Clip`: Allow the content of a cell to truncate when it overflows its content area.
     * * `Ellipsis`: Allows the content of a cell to be displayed as an ellipse when it overflows its content area.
     * * `EllipsisWithTooltip`: Allows the cell content to be displayed as an ellipse when its content area is overflowing.
     * And the tooltip will also be displayed while hovering on the ellipsis applied cell.
     * @default Ellipsis
     */
    clipMode?: grids.ClipMode;
    /**
     * Allows a row or column or cell to be highlighted by simply clicking or arrow key in the pivot table.
     * @default false
     */
    allowSelection?: boolean;
    /**
     * Allows to highlight specific row in the pivot table during initial rendering.
     * For example, to highlight the pivot table's first row, set the property `selectedRowIndex` to **0**.
     * > You can get the currently selected row index of the pivot table from the `selectedRowIndex` property using pivot table instance at run-time.
     * @default -1
     */
    selectedRowIndex?: number;
    /**
     * Allows set of options to customize the selection of a row or column or cell by simply clicking on the arrow key in the pivot table.
     * The options available are:
     * * `mode - Allow options to highlight either row wise or column wise or specific cells in the pivot table.
     * For expample, to highlight the columns, set the property `mode` to **Column**.
     * * `cellSelectionMode`: Allow options to customize the mode of selection to highlight either row wise or column wise or specific cell in the pivot table.
     * For example, to apply the selection that includes in between cells of rows within the range, set the property `cellSelectionMode` to **Box**.
     * * `type`: Allow options to customize the selection type to highlight either row wise or column wise or specific cell in the pivot table.
     * For example, to highlight multiple rows or columns or cells, set the property `type` to **Multiple**.
     * * `checkboxOnly`: Allows the selection options to highlight the rows in the pivot table using checkbox selection on their own.
     * * `persistSelection`: Allows you to keep selections in rows or columns or cells while performing all operations in the pivot table.
     * * `checkboxMode`: Allow options to customize the checkbox selection mode in the pivot table.
     * For example, to select multiple rows one by one through simple clicking on rows, set the property `checkboxMode` to **Default**.
     * * `enableSimpleMultiRowSelection`: Allows to perform multiple selection in rows with single clicks without using **SHIFT** or **CTRL** keys.
     * @default {mode: 'Row', cellSelectionMode: 'Flow', type: 'Single'}
     */
    selectionSettings?: grids.SelectionSettingsModel | SelectionSettings;
    /**
     * Allows the options for customizing the content of the cells to be wrapped in either rows and column headers or values or both headers and values in the pivot table.
     * For example, to wrap the contents of the value cells in the pivot table, then set the property `wrapMode` to **Content** in the `textWrapSettings` class.
     * The options available are:
     * * `Both`: Allows the content of the cells to be wrapped in both headers and values.
     * * `Header`: Allows the content of the cells to be wrapped in rows and column headers alone.
     * * `Content`: Allows the content of the cells to be packed for the value cells alone.
     * @default { wrapMode: 'Both'}
     */
    textWrapSettings?: grids.TextWrapSettings;
    /**
     * Allow options to print either the current page shown in the pivot table on its own or the entire pivot table.
     * The options available are:
     * * `AllPages`: Prints the entire pivot table.
     * * `CurrentPage`: Prints the current page shown in the pivot table on its own.
     * @default AllPages
     */
    printMode?: grids.PrintMode;
    /**
     * Allows to show built-in context with pre-defined menu option or custom menu options by simply right clicking on the pivot table cell.
     * The options available are:
     * * `Drillthrough`: Allows to show the drill-through dialog over the pivot table to perform drill-through operations.
     * * `Expand`: Allows to expand the collaped row or column headers in the pivot table.
     * * `Collapse`: Allows to collapse the expaned row or column headers in the pivot table.
     * * `CalculatedField`: Allows to show the calculated field dialog over the pivot table to perform calculated field operations.
     * * `Pdf Export`: Allows to export the pivot table as PDF format.
     * * `Excel Export`: Allows to export the pivot table as Excel format.
     * * `Csv Export`: Allows to export the pivot table as CSV format.
     * * `Sort Ascending`: Allows to perform ascending order with repect to the values on selected cell contained row or column in the pivot table.
     * * `Sort Descending`: Allows to perform descending order with repect to the values on selected cell contained row or column in the pivot table.
     * * `Aggregate`: Allow options to perform calculations over a group of values (exclusively for value fields bound in value axis) using the aggregation option in the pivot table.
     * @default null
     */
    contextMenuItems?: PivotTableContextMenuItem[] | grids.ContextMenuItemModel[];
    /**
     * It triggers before copy information from the pivot table.
     * @event
     * @deprecated
     */
    beforeCopy?: base.EmitType<grids.BeforeCopyEventArgs>;
    /**
     * It triggers after print action is completed.
     * @event
     * @deprecated
     */
    printComplete?: base.EmitType<grids.PrintEventArgs>;
    /**
     * It triggers before the print action starts.
     * @event
     * @deprecated
     */
    beforePrint?: base.EmitType<grids.PrintEventArgs>;
    /**
     * It triggers before the PDF export starts.
     * @event
     * @deprecated
     */
    beforePdfExport?: base.EmitType<Object>;
   /* eslint-disable-line */
    /**
     * It triggers before the Excel export starts.
     * @event
     * @deprecated
     */
    beforeExcelExport?: base.EmitType<Object>;
 /* eslint-disable-line */
    /**
     * It triggers before context menu opens.
     * @event
     * @deprecated
     */
    contextMenuOpen?: base.EmitType<navigations.BeforeOpenCloseMenuEventArgs>;
    /**
     * It triggers when click on context menu.
     * @event
     * @deprecated
     */
    contextMenuClick?: base.EmitType<navigations.MenuEventArgs>;
    /**
     * Triggered every time a request is made to access cell information, element, or data.
     * It will get triggered before the cell element is appended to the Grid element.
     * @event
     * @deprecated
     */
    queryCellInfo?: base.EmitType<grids.QueryCellInfoEventArgs>;
    /**
     * Triggered for column header.
     * It will get triggered before the cell element is appended to the Grid element.
     * @event
     * @deprecated
     */
    headerCellInfo?: base.EmitType<grids.HeaderCellInfoEventArgs>;
    /**
     * It triggers before row selection occurs in the pivot table.
     * @event
     * @deprecated
     */
    rowSelecting?: base.EmitType<grids.RowSelectEventArgs>;
    /**
     * It triggers after a row is selected in the pivot table.
     * @event
     * @deprecated
     */
    rowSelected?: base.EmitType<grids.RowSelectEventArgs>;
    /**
     * It triggers before deselecting the selected row from the pivot table.
     * @event
     * @deprecated
     */
    rowDeselecting?: base.EmitType<grids.RowDeselectEventArgs>;
    /**
     * It triggers when a selected row is deselected from the pivot table.
     * @event
     * @deprecated
     */
    rowDeselected?: base.EmitType<grids.RowDeselectEventArgs>;
    /**
     * It triggers before any cell selection occurs in the pivot table.
     * @event
     * @deprecated
     */
    cellSelecting?: base.EmitType<grids.CellSelectingEventArgs>;
    /**
     * It triggers after a cell is selected in the pivot table.
     * @event
     * @deprecated
     */
    cellSelected?: base.EmitType<grids.CellSelectEventArgs>;
    /**
     * It triggers before the selected cell is deselecting from the pivot table.
     * @event
     * @deprecated
     */
    cellDeselecting?: base.EmitType<grids.CellDeselectEventArgs>;
    /**
     * It triggers when a particular selected cell is deselected from the pivot table.
     * @event
     * @deprecated
     */
    cellDeselected?: base.EmitType<grids.CellDeselectEventArgs>;
    /**
     * It triggers when column resize starts in the pivot table.
     * @event
     * @deprecated
     */
    resizeStart?: base.EmitType<grids.ResizeArgs>;
    /**
     * It triggers on column resizing in the pivot table.
     * @event
     * @deprecated
     */
    resizing?: base.EmitType<grids.ResizeArgs>;
    /**
     * It triggers when column resize ends in the pivot table.
     * @event
     * @deprecated
     */
    resizeStop?: base.EmitType<grids.ResizeArgs>;
    /**
     * It triggers before exporting each header cell to PDF document. You can also customize the PDF cells.
     * @event
     * @deprecated
     */
    pdfHeaderQueryCellInfo?: base.EmitType<grids.PdfHeaderQueryCellInfoEventArgs>;
    /**
     * It triggers before exporting each cell to PDF document. You can also customize the PDF cells.
     * @event
     * @deprecated
     */
    pdfQueryCellInfo?: base.EmitType<grids.PdfQueryCellInfoEventArgs>;
    /**
     * It triggers before exporting each header cell to Excel file.
     * You can also customize the Excel cells.
     * @event
     * @deprecated
     */
    excelHeaderQueryCellInfo?: base.EmitType<grids.ExcelHeaderQueryCellInfoEventArgs>;
    /**
     * It triggers before exporting each cell to Excel file.
     * You can also customize the Excel cells.
     * @event
     * @deprecated
     */
    excelQueryCellInfo?: base.EmitType<grids.ExcelQueryCellInfoEventArgs>;
    /**
     * It triggers when column header element drag (move) starts.
     * @event
     * @deprecated
     */
    columnDragStart?: base.EmitType<grids.ColumnDragEventArgs>;
    /**
     * It triggers when column header element is dragged (moved) continuously.
     * @event
     * @deprecated
     */
    columnDrag?: base.EmitType<grids.ColumnDragEventArgs>;
    /**
     * It triggers when a column header element is dropped on the target column.
     * @event
     * @deprecated
     */
    columnDrop?: base.EmitType<grids.ColumnDragEventArgs>;
    /**
     * It allows to configure the column before it renders.
     * @event
     * @deprecated
     */
    columnRender?: base.EmitType<ColumnRenderEventArgs>;
}
//node_modules/@syncfusion/ej2-pivotview/src/pivotview/model/gridsettings.d.ts
/**
 * Interface for a class SelectionSettings
 */
export  class PivotSelectionSettings extends base.ChildProperty<PivotSelectionSettings> {
    /**
     * Allow options to highlight either row wise or column wise or specific cells in the pivot table.
     * For expample, to highlight the columns, set the property `mode` to **Column**. The modes available are:
     * * `Cell`: Allows specific cells to be highlighted in the pivot table.
     * * `Row`: Allows the rows to be highlighted in the pivot table.
     * * `Column`: Allows the columns to be highlighted in the pivot table.
     * * `Both`: Allows both rows, columns and cells to be highlighted in the pivot table.
     * @default Row
     */
    mode: SelectionMode;
    /**
     * Allow options to customize the mode of selection to highlight either row wise or column wise or specific cell in the pivot table.
     * For example, to apply the selection that includes in between cells of rows within the range, set the property `cellSelectionMode` to **Box**.
     * The modes available are:
     * * `Flow`: Allows the range of cells to be selected between the start index and the end index, which also includes the other cells of the selected rows in the pivot table.
     * * `Box`: Allows you to select a range of cells within the starting and ending column indexes that are included in the range between row cells in the pivot table.
     * * `BoxWithBorder`: Allows the range of cells to be selected as the box mode, but along with the borders in the pivot table.
     * @default Flow
     */
    cellSelectionMode: PivotCellSelectionMode;
    /**
     * Allow options to customize the selection type to highlight either row wise or column wise or specific cell in the pivot table.
     * For example, to highlight multiple rows or columns or cells, set the property `type` to **Multiple**.
     * The types available are:
     * * `Single`: Allows the user to select a row or cell on their own in the pivot table.
     * * `Multiple`: Allows the user to select multiple rows or columns or cells in the pivot table.
     * @default Single
     */
    type: grids.SelectionType;
    /**
     * Allows the selection options to highlight the rows in the pivot table using checkbox selection on their own.
     * > To enable checkboxOnly selection, should specify the column `type` as **checkbox**.
     * @default false
     */
    checkboxOnly: boolean;
    /**
     * Allows you to keep selections in rows or columns or cells while performing all operations in the pivot table.
     * > For persisting selection, any one of the column should be enabled as a primary key using the `columns.isPrimaryKey` property in the grid instance.
     * @default false
     */
    persistSelection: boolean;
    /**
     * Allow options to customize the checkbox selection mode in the pivot table.
     * For example, to select multiple rows one by one through simple clicking on rows, set the property `checkboxMode` to **Default**.
     * The modes available are:
     * * `Default`: Allows multiple rows to be selected by clicking rows one by one.
     * * `ResetOnRowClick`: Allows you to reset the previously selected row while clicking on a specific row.
     * You can also select multiple rows by clicking on rows along with the **CTRL** or **SHIFT** key in the pivot table.
     * @default Default
     */
    checkboxMode: grids.CheckboxSelectionType;
    /**
     * Allows to perform multiple selection in rows with single clicks without using **SHIFT** or **CTRL** keys.
     * @default false
     */
    enableSimpleMultiRowSelection: boolean;
}
/**
 *  Represents Pivot widget model class.
 */
export  class GridSettings extends base.ChildProperty<GridSettings> {
    /**
     * Allow the height of the pivot table content to be set, meaning that the height given should be applied without considering the column headers in the pivot table.
     * @default 'auto'
     */
    height: number | string;
    /**
     * Allow to set width of the pivot table.
     * > The pivot table will not display less than 400px, as it is the minimum width to the component.
     * @default 'auto'
     */
    width: number | string;
    /**
     * Allow the options for customizing the cell borders of each cell to be displayed in the pivot table.
     * For example, to display a pivot table without cell borders, set the property gridLines to None. The modes available are,
     * * `Both`: Allows the cell border to be displayed both horizontally and vertically in the pivot table.
     * * `None`: Allows no cell borders to be displayed in the pivot table.
     * * `Horizontal`: Allows the cell border to be shown horizontally in the pivot table.
     * * `Vertical`: Allows the cell border to be shown vertically in the pivot table.
     * * `Default`: Allows the display of the cell borders based on the theme used in the pivot table.
     * @default Both
     */
    gridLines: grids.GridLine;
    /**
     * Allow to enable the content of the cells to be wrapped when they exceed the width of the cells in the pivot table.
     * @default false
     */
    allowTextWrap: boolean;
    /**
     * Allows to reorder a specific column header from one index to another index in the pivot table by drag-and-drop.
     * > Reordering allows only at the same level as the column headers in the pivot table.
     * @default false
     */
    allowReordering: boolean;
    /**
     * Allows the columns to be resized by clicking and dragging the right edge of the column headers.
     * > In RTL mode, user can click and drag the left edge of the header cell to resize the column.
     * @default true
     */
    allowResizing: boolean;
    /**
     * Allows the component to be fit based on the width of its columns.
     * @default true
     */
    allowAutoResizing: boolean;
    /**
     * Allow to set height to the pivot table rows commonly.
     * > By default, the rowHeight property is set as 36 pixels for desktop layout and 48 pixels for mobile layout.
     * The height of the column headers alone may vary when grouping bar feature is enabled.
     * @default null
     */
    rowHeight: number;
    /**
     * Allow to set width to the pivot table columns commonly.
     * > By default, the columnWidth property is set as 110 pixels to each column except the first column.
     * The first column always defined as row headers in the pivot table. For first column,
     * 250 pixels and 200 pixels are set respectively with and without grouping bar.
     * @default 110
     */
    columnWidth: number;
    /**
     * Allows the contents of the cell overflow to be displayed in the pivot table.
     * For example, to truncate the cell content of a cell when it overflows with respect to its cell width, set the property `clipMode` to **Clip**.
     * The modes available are:
     * * `Clip`: Allow the content of a cell to truncate when it overflows its content area.
     * * `Ellipsis`: Allows the content of a cell to be displayed as an ellipse when it overflows its content area.
     * * `EllipsisWithTooltip`: Allows the cell content to be displayed as an ellipse when its content area is overflowing.
     * And the tooltip will also be displayed while hovering on the ellipsis applied cell.
     * @default Ellipsis
     */
    clipMode: grids.ClipMode;
    /**
     * Allows a row or column or cell to be highlighted by simply clicking or arrow key in the pivot table.
     * @default false
     */
    allowSelection: boolean;
    /**
     * Allows to highlight specific row in the pivot table during initial rendering.
     * For example, to highlight the pivot table's first row, set the property `selectedRowIndex` to **0**.
     * > You can get the currently selected row index of the pivot table from the `selectedRowIndex` property using pivot table instance at run-time.
     * @default -1
     */
    selectedRowIndex: number;
    /**
     * Allows set of options to customize the selection of a row or column or cell by simply clicking on the arrow key in the pivot table.
     * The options available are:
     * * `mode - Allow options to highlight either row wise or column wise or specific cells in the pivot table.
     * For expample, to highlight the columns, set the property `mode` to **Column**.
     * * `cellSelectionMode`: Allow options to customize the mode of selection to highlight either row wise or column wise or specific cell in the pivot table.
     * For example, to apply the selection that includes in between cells of rows within the range, set the property `cellSelectionMode` to **Box**.
     * * `type`: Allow options to customize the selection type to highlight either row wise or column wise or specific cell in the pivot table.
     * For example, to highlight multiple rows or columns or cells, set the property `type` to **Multiple**.
     * * `checkboxOnly`: Allows the selection options to highlight the rows in the pivot table using checkbox selection on their own.
     * * `persistSelection`: Allows you to keep selections in rows or columns or cells while performing all operations in the pivot table.
     * * `checkboxMode`: Allow options to customize the checkbox selection mode in the pivot table.
     * For example, to select multiple rows one by one through simple clicking on rows, set the property `checkboxMode` to **Default**.
     * * `enableSimpleMultiRowSelection`: Allows to perform multiple selection in rows with single clicks without using **SHIFT** or **CTRL** keys.
     * @default {mode: 'Row', cellSelectionMode: 'Flow', type: 'Single'}
     */
    selectionSettings: grids.SelectionSettingsModel | SelectionSettings;
    /**
     * Allows the options for customizing the content of the cells to be wrapped in either rows and column headers or values or both headers and values in the pivot table.
     * For example, to wrap the contents of the value cells in the pivot table, then set the property `wrapMode` to **Content** in the `textWrapSettings` class.
     * The options available are:
     * * `Both`: Allows the content of the cells to be wrapped in both headers and values.
     * * `Header`: Allows the content of the cells to be wrapped in rows and column headers alone.
     * * `Content`: Allows the content of the cells to be packed for the value cells alone.
     * @default { wrapMode: 'Both'}
     */
    textWrapSettings: grids.TextWrapSettings;
    /**
     * Allow options to print either the current page shown in the pivot table on its own or the entire pivot table.
     * The options available are:
     * * `AllPages`: Prints the entire pivot table.
     * * `CurrentPage`: Prints the current page shown in the pivot table on its own.
     * @default AllPages
     */
    printMode: grids.PrintMode;
    /**
     * Allows to show built-in context with pre-defined menu option or custom menu options by simply right clicking on the pivot table cell.
     * The options available are:
     * * `Drillthrough`: Allows to show the drill-through dialog over the pivot table to perform drill-through operations.
     * * `Expand`: Allows to expand the collaped row or column headers in the pivot table.
     * * `Collapse`: Allows to collapse the expaned row or column headers in the pivot table.
     * * `CalculatedField`: Allows to show the calculated field dialog over the pivot table to perform calculated field operations.
     * * `Pdf1 Export`: Allows to export the pivot table as PDF format.
     * * `Excel1 Export`: Allows to export the pivot table as Excel format.
     * * `Csv1 Export`: Allows to export the pivot table as CSV format.
     * * `Sort Ascending`: Allows to perform ascending order with repect to the values on selected cell contained row or column in the pivot table.
     * * `Sort Descending`: Allows to perform descending order with repect to the values on selected cell contained row or column in the pivot table.
     * * `Aggregate`: Allow options to perform calculations over a group of values (exclusively for value fields bound in value axis) using the aggregation option in the pivot table.
     * @default null
     */
    contextMenuItems: PivotTableContextMenuItem[] | grids.ContextMenuItemModel[];
    /**
     * It triggers before copy information from the pivot table.
     * @event
     * @deprecated
     */
    beforeCopy: base.EmitType<grids.BeforeCopyEventArgs>;
    /**
     * It triggers after print action is completed.
     * @event
     * @deprecated
     */
    printComplete: base.EmitType<grids.PrintEventArgs>;
    /**
     * It triggers before the print action starts.
     * @event
     * @deprecated
     */
    beforePrint: base.EmitType<grids.PrintEventArgs>;
    /**
     * It triggers1 before the PDF export starts.
     * @event
     * @deprecated
     */
    beforePdfExport: base.EmitType<Object>;
    /**
     * It triggers1 before the Excel export starts.
     * @event
     * @deprecated
     */
    beforeExcelExport: base.EmitType<Object>;
    /**
     * It triggers before context menu opens.
     * @event
     * @deprecated
     */
    contextMenuOpen: base.EmitType<navigations.BeforeOpenCloseMenuEventArgs>;
    /**
     * It triggers when click on context menu.
     * @event
     * @deprecated
     */
    contextMenuClick: base.EmitType<navigations.MenuEventArgs>;
    /**
     * Triggered every time a request is made to access cell information, element, or data.
     * It will get triggered before the cell element is appended to the Grid element.
     * @event
     * @deprecated
     */
    queryCellInfo: base.EmitType<grids.QueryCellInfoEventArgs>;
    /**
     * Triggered for column header.
     * It will get triggered before the cell element is appended to the Grid element.
     * @event
     * @deprecated
     */
    headerCellInfo: base.EmitType<grids.HeaderCellInfoEventArgs>;
    /**
     * It triggers before row selection occurs in the pivot table.
     * @event
     * @deprecated
     */
    rowSelecting: base.EmitType<grids.RowSelectEventArgs>;
    /**
     * It triggers after a row is selected in the pivot table.
     * @event
     * @deprecated
     */
    rowSelected: base.EmitType<grids.RowSelectEventArgs>;
    /**
     * It triggers before deselecting the selected row from the pivot table.
     * @event
     * @deprecated
     */
    rowDeselecting: base.EmitType<grids.RowDeselectEventArgs>;
    /**
     * It triggers when a selected row is deselected from the pivot table.
     * @event
     * @deprecated
     */
    rowDeselected: base.EmitType<grids.RowDeselectEventArgs>;
    /**
     * It triggers before any cell selection occurs in the pivot table.
     * @event
     * @deprecated
     */
    cellSelecting: base.EmitType<grids.CellSelectingEventArgs>;
    /**
     * It triggers after a cell is selected in the pivot table.
     * @event
     * @deprecated
     */
    cellSelected: base.EmitType<grids.CellSelectEventArgs>;
    /**
     * It triggers before the selected cell is deselecting from the pivot table.
     * @event
     * @deprecated
     */
    cellDeselecting: base.EmitType<grids.CellDeselectEventArgs>;
    /**
     * It triggers when a particular selected cell is deselected from the pivot table.
     * @event
     * @deprecated
     */
    cellDeselected: base.EmitType<grids.CellDeselectEventArgs>;
    /**
     * It triggers when column resize starts in the pivot table.
     * @event
     * @deprecated
     */
    resizeStart: base.EmitType<grids.ResizeArgs>;
    /**
     * It triggers on column resizing in the pivot table.
     * @event
     * @deprecated
     */
    resizing: base.EmitType<grids.ResizeArgs>;
    /**
     * It triggers when column resize ends in the pivot table.
     * @event
     * @deprecated
     */
    resizeStop: base.EmitType<grids.ResizeArgs>;
    /**
     * It triggers before exporting each header cell to PDF document. You can also customize the PDF cells.
     * @event
     * @deprecated
     */
    pdfHeaderQueryCellInfo: base.EmitType<grids.PdfHeaderQueryCellInfoEventArgs>;
    /**
     * It triggers before exporting each cell to PDF document. You can also customize the PDF cells.
     * @event
     * @deprecated
     */
    pdfQueryCellInfo: base.EmitType<grids.PdfQueryCellInfoEventArgs>;
    /**
     * It triggers before exporting each header cell to Excel file.
     * You can also customize the Excel cells.
     * @event
     * @deprecated
     */
    excelHeaderQueryCellInfo: base.EmitType<grids.ExcelHeaderQueryCellInfoEventArgs>;
    /**
     * It triggers before exporting each cell to Excel file.
     * You can also customize the Excel cells.
     * @event
     * @deprecated
     */
    excelQueryCellInfo: base.EmitType<grids.ExcelQueryCellInfoEventArgs>;
    /**
     * It triggers when column header element drag (move) starts.
     * @event
     * @deprecated
     */
    columnDragStart: base.EmitType<grids.ColumnDragEventArgs>;
    /**
     * It triggers when column header element is dragged (moved) continuously.
     * @event
     * @deprecated
     */
    columnDrag: base.EmitType<grids.ColumnDragEventArgs>;
    /**
     * It triggers when a column header element is dropped on the target column.
     * @event
     * @deprecated
     */
    columnDrop: base.EmitType<grids.ColumnDragEventArgs>;
    /**
     * It allows to configure the column before it renders.
     * @event
     * @deprecated
     */
    columnRender: base.EmitType<ColumnRenderEventArgs>;
}
//node_modules/@syncfusion/ej2-pivotview/src/pivotview/model/pivotvalues-model.d.ts
/**
 * Interface for a class AxisSet
 */
export interface AxisSetModel {
    /**
     * Specifies header name.
     */
    formattedText?: string;
    /**
     * Specifies header type.
     */
    type?: string;
    /**
     * Specifies the drilled state of the header.
     */
    isDrilled?: boolean;
    /**
     * Specifies the field whether it has child or not.
     */
    hasChild?: boolean;
    /**
     * Specifies its child members.
     */
    members?: this[];
    /**
     * Specifies its position collections in data source.
     */
    index?: number[];
    /**
     * Specifies its position collections in data source with indexed object.
     */
    indexObject?: INumberIndex;
    /**
     * Specifies its position in its field.
     */
    ordinal?: number;
    /**
     * Specifies its level.
     */
    level?: number;
    /**
     * Specifies its axis where it is plotted.
     */
    axis?: string;
    /**
     * Specifies its value.
     */
    value?: number;
    /**
     * Specifies its column span.
     */
    colSpan?: number;
    /**
     * Specifies its row span.
     */
    rowSpan?: number;
    /**
     * Specifies the data collection which is to be framed for value sorted members.
     */
    valueSort?: IDataSet;
    /**
     * Specifies whether the cell is summary or not.
     */
    isSum?: boolean;
    /**
     * Specifies the column header of a value cell.
     */
    columnHeaders?: string | number | Date;
    /**
     * Specifies the row header of a value cell.
     */
    rowHeaders?: string | number | Date;
}
//node_modules/@syncfusion/ej2-pivotview/src/pivotview/model/pivotvalues.d.ts
/**
 * Configures the properties in pivotvalues fields.
 */
/** @hidden */
export  class AxisSet extends base.ChildProperty<AxisSet> implements IAxisSet {
    /**
     * Specifies header name.
     */
    formattedText: string;
    /**
     * Specifies header type.
     */
    type: string;
    /**
     * Specifies the drilled state of the header.
     */
    isDrilled: boolean;
    /**
     * Specifies the field whether it has child or not.
     */
    hasChild: boolean;
    /**
     * Specifies its child members.
     */
    members: this[];
    /**
     * Specifies its position collections in data source.
     */
    index: number[];
    /**
     * Specifies its position collections in data source with indexed object.
     */
    indexObject: INumberIndex;
    /**
     * Specifies its position in its field.
     */
    ordinal: number;
    /**
     * Specifies its level.
     */
    level: number;
    /**
     * Specifies its axis where it is plotted.
     */
    axis: string;
    /**
     * Specifies its value.
     */
    value: number;
    /**
     * Specifies its column span.
     */
    colSpan: number;
    /**
     * Specifies its row span.
     */
    rowSpan: number;
    /**
     * Specifies the data collection which is to be framed for value sorted members.
     */
    valueSort: IDataSet;
    /**
     * Specifies whether the cell is summary or not.
     */
    isSum: boolean;
    /**
     * Specifies the column header of a value cell.
     */
    columnHeaders: string | number | Date;
    /**
     * Specifies the row header of a value cell.
     */
    rowHeaders: string | number | Date;
}
/**
 * @hidden
 */
export interface PivotValues extends IPivotValues {
    [key: number]: {
        [key: number]: number | string | Object | AxisSetModel;
        length: number;
    };
    length: number;
}
//node_modules/@syncfusion/ej2-pivotview/src/pivotview/renderer.d.ts
/**
 * Renderer Export
 */
//node_modules/@syncfusion/ej2-pivotview/src/pivotview/renderer/render.d.ts
/**
 * Module to render PivotGrid control
 */
/** @hidden */
export  class Render1 {
    /** @hidden */
    parent: PivotView;
    /** @hidden */
    engine: PivotEngine | OlapEngine;
    /** @hidden */
    gridSettings: GridSettingsModel;
    /** @hidden */
    rowStartPos: number;
    /** @hidden */
    maxIndent: number;
    /** @hidden */
    resColWidth: number;
    /** @hidden */
    isOverflows: boolean;
    indentCollection: {
        [key: number]: number;
    };
    private formatList;
    private colPos;
    private colGrandPos;
    private rowGrandPos;
    private lastSpan;
    private aggMenu;
    private field;
    private fieldCaption;
    private lvlCollection;
    private hierarchyCollection;
    private lvlPosCollection;
    private hierarchyPosCollection;
    private position;
    private measurePos;
    private maxMeasurePos;
    private hierarchyCount;
    private actualText;
    private timeOutObj;
    /** Constructor for render module
     * @param {PivotView} parent - Instance of pivot table.
     */
    constructor(parent: PivotView);
    /** @hidden */
    render(refreshRequired?: boolean): void;
    private initProperties;
    private refreshHeader;
    /** @hidden */
    bindGrid(parent: PivotView, isEmpty: boolean): void;
    private headerRefreshed;
    private beforeExcelExport;
    private rowSelected;
    private rowDeselected;
    private cellSelected;
    private cellSelecting;
    private cellDeselected;
    private queryCellInfo;
    private headerCellInfo;
    private excelHeaderQueryCellInfo;
    private pdfQueryCellInfo;
    private excelQueryCellInfo;
    private pdfHeaderQueryCellInfo;
    private pdfExportComplete;
    private excelExportComplete;
    private dataBound;
    private setFocusOnLastCell;
    private contextMenuOpen;
    private getMenuItem;
    private contextMenuClick;
    private validateColumnTotalcell;
    private validateField;
    private updateAggregate;
    private injectGridModules;
    /** @hidden */
    updateGridSettings(): void;
    private updatePivotColumns;
    private clearColumnSelection;
    private appendValueSortIcon;
    private onResizeStop;
    private setGroupWidth;
    /** @hidden */
    selected(): void;
    private onSelect;
    private rowCellBoundEvent;
    private onOlapRowCellBoundEvent;
    private columnCellBoundEvent;
    private updateWrapper;
    private onOlapColumnCellBoundEvent;
    private isSpannedCell;
    private onHyperCellClick;
    private getRowStartPos;
    private frameDataSource;
    /** @hidden */
    frameEmptyData(): any[];
    calculateColWidth(colCount: number): number;
    resizeColWidth(colCount: number): number;
    calculateGridWidth(): number | string;
    /** @hidden */
    calculateGridHeight(elementCreated?: boolean): number | string;
    frameStackedHeaders(): grids.ColumnModel[];
    private configLastColumnWidth;
    /** @hidden */
    setSavedWidth(column: string, width: number): number;
    /** @hidden */
    frameEmptyColumns(): grids.ColumnModel[];
    /** @hidden */
    getFormatList(): {
        [key: string]: string;
    };
    private getValidHeader;
    private excelColumnEvent;
    private pdfColumnEvent;
    private excelRowEvent;
    private pdfRowEvent;
    private excelDataBound;
    private exportHeaderEvent;
    private exportContentEvent;
    private unWireEvents;
    private wireEvents;
}
 }
export namespace popups { 

//node_modules/@syncfusion/ej2-popups/src/common/collision.d.ts
/**
 * Collision module.
 */
/**
 * Provides information about a CollisionCoordinates.
 */
export interface CollisionCoordinates {
    X: boolean;
    Y: boolean;
}
/**
 *
 * @param {HTMLElement} element - specifies the element
 * @param {HTMLElement} viewPortElement - specifies the element
 * @param {CollisionCoordinates} axis - specifies the collision coordinates
 * @param {OffsetPosition} position - specifies the position
 * @returns {void}
 */
export  function fit(element: HTMLElement, viewPortElement?: HTMLElement, axis?: CollisionCoordinates, position?: OffsetPosition): OffsetPosition;
/**
 *
 * @param {HTMLElement} element - specifies the html element
 * @param {HTMLElement} viewPortElement - specifies the html element
 * @param {number} x - specifies the number
 * @param {number} y - specifies the number
 * @returns {string[]} - returns the string value
 */
export  function isCollide(element: HTMLElement, viewPortElement?: HTMLElement, x?: number, y?: number): string[];
/**
 *
 * @param {HTMLElement} element - specifies the element
 * @param {HTMLElement} target - specifies the element
 * @param {number} offsetX - specifies the number
 * @param {number} offsetY - specifies the number
 * @param {string} positionX - specifies the string value
 * @param {string} positionY - specifies the string value
 * @param {HTMLElement} viewPortElement - specifies the element
 * @param {CollisionCoordinates} axis - specifies the collision axis
 * @param {boolean} fixedParent - specifies the boolean
 * @returns {void}
 */
export  function flip(element: HTMLElement, target: HTMLElement, offsetX: number, offsetY: number, positionX: string, positionY: string, viewPortElement?: HTMLElement, axis?: CollisionCoordinates, fixedParent?: boolean): void;
//node_modules/@syncfusion/ej2-popups/src/common/index.d.ts
/**
 * Popup Components
 */
//node_modules/@syncfusion/ej2-popups/src/common/position.d.ts
/**
 *
 * @param {HTMLElement} anchor - specifies the element
 * @param {HTMLElement} element - specifies the element
 * @returns {OffsetPosition} - returns the value
 */
export  function calculateRelativeBasedPosition(anchor: HTMLElement, element: HTMLElement): OffsetPosition;
/**
 *
 * @param {Element} currentElement - specifies the element
 * @param {string} positionX - specifies the position
 * @param {string} positionY - specifies the position
 * @param {boolean} parentElement - specifies the boolean
 * @param {ClientRect} targetValues - specifies the client
 * @returns {OffsetPosition} - returns the position
 */
export  function calculatePosition(currentElement: Element, positionX?: string, positionY?: string, parentElement?: boolean, targetValues?: ClientRect): OffsetPosition;
/**
 * Provides information about a OffsetPosition.
 */
export interface OffsetPosition {
    left: number;
    top: number;
}
//node_modules/@syncfusion/ej2-popups/src/common/resize.d.ts
/**
 * Provides information about a Resize event.
 */
export interface ResizeArgs {
    element: HTMLElement | string;
    direction: string;
    minHeight: number;
    minWidth: number;
    maxHeight?: number;
    maxWidth?: number;
    boundary?: HTMLElement | string;
    resizeBegin(e: MouseEvent): void;
    resizing(e: MouseEvent): void;
    resizeComplete(e: MouseEvent): void;
    proxy: any;
}
/**
 *
 * @param {ResizeArgs} args - specifies the resize args
 * @returns {void}
 */
export  function createResize(args: ResizeArgs): void;
/**
 *
 * @param {number} minimumHeight - specifies the number
 * @returns {void}
 */
export  function setMinHeight(minimumHeight: number): void;
/**
 *
 * @param {number} value - specifies the number value
 * @returns {void}
 */
export  function setMaxWidth(value: number): void;
/**
 *
 * @param {number} value - specifies the number value
 * @returns {void}
 */
export  function setMaxHeight(value: number): void;
/**
 * @returns {void}
 */
export  function removeResize(): void;
//node_modules/@syncfusion/ej2-popups/src/dialog/dialog-model.d.ts
/**
 * Interface for a class ButtonProps
 */
export interface ButtonPropsModel {
    /**
     * Specifies the flat appearance of the dialog buttons
     *
     * @default true
     */
    isFlat?: boolean;
    /**
     * Specifies the button component properties to render the dialog buttons.
     */
    buttonModel?: buttons.ButtonModel;
    /**
     * Specify the type of the button.
     * Possible values are buttons.Button, Submit and Reset.
     *
     * @default 'buttons.Button'
     * @aspType string
     * @blazorType string
     */
    type?: ButtonType | string;
    /**
     * base.Event triggers when `click` the dialog button.
     *
     * @event 'object'
     * @blazorProperty 'OnClick'
     */
    /* eslint-disable */
    click?: base.EmitType<Object>;
}
/**
 * Interface for a class AnimationSettings
 */
export interface AnimationSettingsModel {
    /**
     * Specifies the animation name that should be applied on open and close the dialog.
     * If user sets Fade animation, the dialog will open with `FadeIn` effect and close with `FadeOut` effect.
     * The following are the list of animation effects available to configure to the dialog:
     * 1. Fade
     * 2. FadeZoom
     * 3. FlipLeftDown
     * 4. FlipLeftUp
     * 5. FlipRightDown
     * 6. FlipRightUp
     * 7. FlipXDown
     * 8. FlipXUp
     * 9. FlipYLeft
     * 10. FlipYRight
     * 11. SlideBottom
     * 12. SlideLeft
     * 13. SlideRight
     * 14. SlideTop
     * 15. Zoom
     * 16. None
     *
     * @default 'Fade'
     */
    effect?: DialogEffect;
    /**
     * Specifies the duration in milliseconds that the animation takes to open or close the dialog.
     *
     * @default 400
     */
    duration?: number;
    /**
     * Specifies the delay in milliseconds to start animation.
     *
     * @default 0
     */
    delay?: number;
}
/**
 * Interface for a class Dialog
 */
export interface DialogModel extends base.ComponentModel{
    /**
     * Specifies the value that can be displayed in dialog's content area.
     * It can be information, list, or other HTML elements.
     * The content of dialog can be loaded with dynamic data such as database, AJAX content, and more.
     *
     * {% codeBlock src="dialog/content-api/index.ts" %}{% endcodeBlock %}
     *
     * {% codeBlock src="dialog/content-api/index.html" %}{% endcodeBlock %}
     *
     * @default ''
     * @blazorType string
     */
    content?: string | HTMLElement;
    /**
     * Defines whether to allow the cross-scripting site or not.
     *
     * @default true
     */
    enableHtmlSanitizer?: boolean;
    /**
     * Specifies the value that represents whether the close icon is shown in the dialog component.
     *
     * @default false
     */
    showCloseIcon?: boolean;
    /**
     * Specifies the Boolean value whether the dialog can be displayed as modal or non-modal.
     * * `Modal`: It creates overlay that disable interaction with the parent application and user should
     * respond with modal before continuing with other applications.
     * * `Modeless`: It does not prevent user interaction with parent application.
     *
     * @default false
     */
    isModal?: boolean;
    /**
     * Specifies the value that can be displayed in the dialog's title area that can be configured with plain text or HTML elements.
     * This is optional property and the dialog can be displayed without header, if the header property is null.
     *
     * @default ''
     * @blazorType string
     */
    header?: string | HTMLElement;
    /**
     * Specifies the value that represents whether the dialog component is visible.
     *
     * @default true
     */
    visible?: boolean;
    /**
     * Specifies the value whether the dialog component can be resized by the end-user.
     * If enableResize is true, the dialog component creates grip to resize it diagonal direction.
     *
     * @default false
     */
    enableResize?: boolean;
    /**
     * Specifies the resize handles direction in the dialog component that can be resized by the end-user.
     *
     * @default ['South-East']
     */
    resizeHandles?: ResizeDirections[];
    /**
     * Specifies the height of the dialog component.
     *
     * @default 'auto'
     * @blazorType string
     */
    height?: string | number;
    /**
     * Specify the min-height of the dialog component.
     *
     * @default ''
     * @blazorType string
     */
    minHeight?: string | number;
    /**
     * Specifies the width of the dialog.
     *
     * @default '100%'
     * @blazorType string
     */
    width?: string | number;
    /**
     * Specifies the CSS class name that can be appended with root element of the dialog.
     * One or more custom CSS classes can be added to a dialog.
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * Specifies the z-order for rendering that determines whether the dialog is displayed in front or behind of another component.
     *
     * @default 1000
     */
    zIndex?: number;
    /**
     * Specifies the target element in which to display the dialog.
     * The default value is null, which refers the `document.body` element.
     *
     * @default null
     * @blazorType string
     */
    target?: HTMLElement | string;
    /**
     * Specifies the template value that can be displayed with dialog's footer area.
     * This is optional property and can be used only when the footer is occupied with information or custom components.
     * By default, the footer is configured with action [buttons](#buttons).
     * If footer template is configured to dialog, the action buttons property will be disabled.
     *
     * > More information on the footer template configuration can be found on this [documentation](../../dialog/template/#footer) section.
     *
     * @default ''
     * @blazorType string
     */
    footerTemplate?: HTMLElement | string;
    /**
     * Specifies the value whether the dialog component can be dragged by the end-user.
     * The dialog allows to drag by selecting the header and dragging it for re-position the dialog.
     *
     * > More information on the draggable behavior can be found on this [documentation](../../dialog/getting-started/#draggable) section.
     *
     * {% codeBlock src='dialog/allowDragging/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    allowDragging?: boolean;
    /**
     * Configures the action `buttons` that contains button properties with primary base.attributes and click events.
     * One or more action buttons can be configured to the dialog.
     *
     * > More information on the button configuration can be found on this
     * [documentation](../../dialog/getting-started/#enable-footer) section.
     *
     * {% codeBlock src="dialog/buttons-api/index.ts" %}{% endcodeBlock %}
     *
     * {% codeBlock src="dialog/buttons-api/index.html" %}{% endcodeBlock %}
     *
     * {% codeBlock src='dialog/buttons/index.md' %}{% endcodeBlock %}
     *
     * @default [{}]
     */
    buttons?: ButtonPropsModel[];
    /**
     * Specifies the boolean value whether the dialog can be closed with the escape key
     * that is used to control the dialog's closing behavior.
     *
     * @default true
     */
    closeOnEscape?: boolean;
    /**
     * Specifies the animation settings of the dialog component.
     * The animation effect can be applied on open and close the dialog with duration and delay.
     *
     * > More information on the animation settings in dialog can be found on this [documentation](../../dialog/animation/)  section.
     *
     * {% codeBlock src="dialog/animation-api/index.ts" %}{% endcodeBlock %}
     *
     * {% codeBlock src="dialog/animation-api/index.html" %}{% endcodeBlock %}
     *
     * {% codeBlock src='dialog/animationSettings/index.md' %}{% endcodeBlock %}
     *
     * @default { effect: 'Fade', duration: 400, delay:0 }
     */
    animationSettings?: AnimationSettingsModel;
    /**
     * Specifies the value where the dialog can be positioned within the document or target.
     * The position can be represented with pre-configured positions or specific X and Y values.
     * * `X value`: left, center, right, or offset value.
     * * `Y value`: top, center, bottom, or offset value.
     *
     * > More information on the positioning in dialog can be found on this [documentation](../../dialog/getting-started/#positioning)  section.
     *
     * {% codeBlock src='dialog/position/index.md' %}{% endcodeBlock %}
     *
     * @default { X: 'center', Y: 'center' }
     */
    position?: PositionDataModel;
    /**
     * base.Event triggers when the dialog is created.
     *
     * @event 'object'
     * @blazorProperty 'Created'
     */
    /* eslint-disable */
    created?: base.EmitType<Object>;
    /**
     * base.Event triggers when a dialog is opened.
     *
     * @event 'object'
     * @blazorProperty 'Opened'
     * @blazorType OpenEventArgs
     */
    /* eslint-disable */
    open?: base.EmitType<Object>;
    /**
     * base.Event triggers before sanitize the value.
     *
     * @event 'object'
     * @blazorProperty 'OnSanitizeHtml'
     */
    beforeSanitizeHtml?: base.EmitType<BeforeSanitizeHtmlArgs>;
    /**
     * base.Event triggers when the dialog is being opened.
     * If you cancel this event, the dialog remains closed.
     * Set the cancel argument to true to cancel the open of a dialog.
     *
     * @event 'object'
     * @blazorProperty 'OnOpen'
     */
    beforeOpen?: base.EmitType<BeforeOpenEventArgs>;
    /**
     * base.Event triggers after the dialog has been closed.
     *
     * @event 'object'
     * @blazorProperty 'Closed'
     * @blazorType CloseEventArgs
     */
    /* eslint-disable */
    close?: base.EmitType<Object>;
    /**
     * base.Event triggers before the dialog is closed.
     * If you cancel this event, the dialog remains opened.
     * Set the cancel argument to true to cancel the closure of a dialog.
     *
     * @event 'object'
     * @blazorProperty 'OnClose'
     */
    beforeClose?: base.EmitType<BeforeCloseEventArgs>;
    /**
     * base.Event triggers when the user begins dragging the dialog.
     *
     * @event 'object'
     * @blazorProperty 'OnDragStart'
     * @blazorType DragStartEventArgs
     */
    /* eslint-disable */
    dragStart?: base.EmitType<Object>;
    /**
     * base.Event triggers when the user stop dragging the dialog.
     *
     * @event 'object'
     * @blazorProperty 'OnDragStop'
     * @blazorType DragStopEventArgs
     */
    /* eslint-disable */
    dragStop?: base.EmitType<Object>;
    /**
     * base.Event triggers when the user drags the dialog.
     *
     * @event 'object'
     * @blazorProperty 'OnDrag'
     * @blazorType DragEventArgs
     */
    /* eslint-disable */
    drag?: base.EmitType<Object>;
    /**
     * base.Event triggers when the overlay of dialog is clicked.
     *
     * @event 'object'
     * @blazorProperty 'OnOverlayClick'
     */
    /* eslint-disable */
    overlayClick?: base.EmitType<Object>;
    /**
     * base.Event triggers when the user begins to resize a dialog.
     *
     * @event 'object'
     * @blazorProperty 'OnResizeStart'
     */
    /* eslint-disable */
    resizeStart?: base.EmitType<Object>;
    /**
     * base.Event triggers when the user resize the dialog.
     *
     * @event 'object'
     * @blazorProperty 'Resizing'
     */
    /* eslint-disable */
    resizing?: base.EmitType<Object>;
    /**
     * base.Event triggers when the user stop to resize a dialog.
     *
     * @event 'object'
     * @blazorProperty 'OnResizeStop'
     */
    /* eslint-disable */
    resizeStop?: base.EmitType<Object>;
    /**
     * base.Event triggers when the dialog is destroyed.
     *
     * @event 'object'
     * @blazorProperty 'Destroyed'
     */
    destroyed?: base.EmitType<Event>;
}
//node_modules/@syncfusion/ej2-popups/src/dialog/dialog.d.ts
/**
 * Defines the types of a button in the dialog.
 */
export  type ButtonType = 'buttons.Button' | 'Submit' | 'Reset';
/**
 * Provides information about a SanitizeSelectors.
 */
export interface SanitizeSelectors {
    /** Returns the tags. */
    tags?: string[];
    /** Returns the attributes. */
    attributes?: SanitizeRemoveAttrs[];
}
/**
 * Provides information about a BeforeSanitizeHtml event.
 */
export interface BeforeSanitizeHtmlArgs {
    /** Illustrates whether the current action needs to be prevented or not. */
    cancel?: boolean;
    /** It is a callback function and executed it before our inbuilt action. It should return HTML as a string.
     *
     * @function
     * @param {string} value - Returns the value.
     * @returns {string}
     */
    helper?: Function;
    /** Returns the selectors object which carrying both tags and attributes selectors to block list of cross-site scripting attack.
     *Also possible to modify the block list in this event.
     */
    selectors?: SanitizeSelectors;
}
/**
 * Provides information about a SanitizeRemoveAttributes.
 */
export interface SanitizeRemoveAttrs {
    /** Defines the attribute name to sanitize */
    attribute?: string;
    /** Defines the selector that sanitize the specified attributes within the selector */
    selector?: string;
}
export  class ButtonProps extends base.ChildProperty<ButtonProps> {
    /**
     * Specifies the flat appearance of the dialog buttons
     *
     * @default true
     */
    isFlat: boolean;
    /**
     * Specifies the button component properties to render the dialog buttons.
     */
    buttonModel: buttons.ButtonModel;
    /**
     * Specify the type of the button.
     * Possible values are buttons.Button, Submit and Reset.
     *
     * @default 'buttons.Button'
     * @aspType string
     * @blazorType string
     */
    type: ButtonType | string;
    /**
     * Event triggers when `click` the dialog button.
     *
     * @event 'object'
     * @blazorProperty 'OnClick'
     */
    click: base.EmitType<Object>;
}
/**
 * Configures the animation properties for both open and close the dialog.
 */
export  class AnimationSettings extends base.ChildProperty<AnimationSettings> {
    /**
     * Specifies the animation name that should be applied on open and close the dialog.
     * If user sets Fade animation, the dialog will open with `FadeIn` effect and close with `FadeOut` effect.
     * The following are the list of animation effects available to configure to the dialog:
     * 1. Fade
     * 2. FadeZoom
     * 3. FlipLeftDown
     * 4. FlipLeftUp
     * 5. FlipRightDown
     * 6. FlipRightUp
     * 7. FlipXDown
     * 8. FlipXUp
     * 9. FlipYLeft
     * 10. FlipYRight
     * 11. SlideBottom
     * 12. SlideLeft
     * 13. SlideRight
     * 14. SlideTop
     * 15. Zoom
     * 16. None
     *
     * @default 'Fade'
     */
    effect: DialogEffect;
    /**
     * Specifies the duration in milliseconds that the animation takes to open or close the dialog.
     *
     * @default 400
     */
    duration: number;
    /**
     * Specifies the delay in milliseconds to start animation.
     *
     * @default 0
     */
    delay: number;
}
/**
 * Specifies the Dialog animation effects.
 */
export  type DialogEffect = 'Fade' | 'FadeZoom' | 'FlipLeftDown' | 'FlipLeftUp' | 'FlipRightDown' | 'FlipRightUp' | 'FlipXDown' | 'FlipXUp' | 'FlipYLeft' | 'FlipYRight' | 'SlideBottom' | 'SlideLeft' | 'SlideRight' | 'SlideTop' | 'Zoom' | 'None';
/**
 * Specifies the Resize Handles.
 */
export  type ResizeDirections = 'South' | 'North' | 'East' | 'West' | 'NorthEast' | 'NorthWest' | 'SouthEast' | 'SouthWest' | 'All';
/**
 * Provides information about a BeforeOpen event.
 */
export interface BeforeOpenEventArgs {
    /**
     * Specify the value to override max-height value of dialog.
     */
    maxHeight: string;
    /**
     * Defines whether the current action can be prevented.
     */
    cancel: boolean;
    /**
     * Returns the root container element of the dialog.
     */
    container: HTMLElement;
    /**
     * Returns the element of the dialog.
     */
    element: Element;
    /**
     * Returns the target element of the dialog.
     *
     * @aspType string
     * @blazorType string
     * @deprecated
     */
    target?: HTMLElement | string;
}
/**
 * Provides information about a BeforeClose event.
 */
export interface BeforeCloseEventArgs {
    /**
     * Defines whether the current action can be prevented.
     */
    cancel: boolean;
    /**
     * Determines whether the event is triggered by interaction.
     */
    isInteracted: boolean;
    /**
     * Returns the root container element of the dialog.
     */
    container: HTMLElement;
    /**
     * Returns the element of the dialog.
     */
    element: Element;
    /**
     * Returns the target element of the dialog.
     *
     * @aspType string
     * @blazorType string
     * @deprecated
     */
    target?: HTMLElement | string;
    /**
     * Returns the original event arguments.
     */
    event: Event;
    /**
     * Returns whether the dialog, is closed by "close icon", "overlayClick", "escape" and "user action"
     */
    closedBy?: string;
}
/**
 * Provides information about a DialogOpen event.
 */
export interface OpenEventArgs {
    /**
     * Defines whether the focus action can be prevented in dialog.
     */
    preventFocus: boolean;
    /**
     * Defines whether the current action can be prevented.
     */
    cancel: boolean;
    /**
     * Returns the root container element of the dialog.
     */
    container: HTMLElement;
    /**
     * Returns the element of the dialog.
     */
    element: Element;
    /**
     * Specify the name of the event.
     */
    name: string;
}
/**
 * Provides information about a Close event.
 */
export interface CloseEventArgs {
    /**
     * Defines whether the current action can be prevented.
     */
    cancel: boolean;
    /**
     * Returns the root container element of the dialog.
     */
    container: HTMLElement;
    /**
     * Returns the element of the dialog.
     */
    element: Element;
    /**
     * Returns the original event arguments.
     */
    event: Event;
    /**
     * Determines whether the event is triggered by interaction.
     */
    isInteracted: boolean;
    /**
     * Specify the name of the event.
     */
    name: string;
}
/**
 * Provides information about a DragStart event.
 */
export interface DragStartEventArgs {
    /**
     * Returns the original event arguments.
     *
     * @blazorType MouseEventArgs
     */
    event: Event;
    /**
     * Returns the element of the dialog.
     */
    element: Element;
    /**
     * Returns the target element of the dialog.
     */
    target: HTMLElement;
    /**
     * Returns the name of the event.
     */
    name: string;
}
/**
 * Provides information about a DragStop event.
 */
export interface DragStopEventArgs {
    /**
     * Returns the original event arguments.
     *
     * @blazorType MouseEventArgs
     */
    event: Event;
    /**
     * Returns the element of the dialog.
     */
    element: Element;
    /**
     * Returns the target element of the dialog.
     */
    target: HTMLElement;
    /**
     * Returns the helper element.
     */
    helper: Element;
    /**
     * Returns the name of the event.
     */
    name: string;
}
/**
 * Provides information about a Drag event.
 */
export interface DragEventArgs {
    /**
     * Returns the original event arguments.
     *
     * @blazorType MouseEventArgs
     */
    event: Event;
    /**
     * Returns the element of the dialog.
     */
    element: Element;
    /**
     * Returns the target element of the dialog.
     */
    target: HTMLElement;
    /**
     * Returns the name of the event.
     */
    name: string;
}
/**
 * Represents the dialog component that displays the information and get input from the user.
 * Two types of dialog components are `Modal and Modeless (non-modal)` depending on its interaction with parent application.
 * ```html
 * <div id="dialog"></div>
 * ```
 * ```typescript
 * <script>
 *   var dialogObj = new Dialog({ header: 'Dialog' });
 *   dialogObj.appendTo("#dialog");
 * </script>
 * ```
 */
export  class Dialog extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    private closeIconClickEventHandler;
    private dlgOverlayClickEventHandler;
    private createEventHandler;
    private contentEle;
    private dlgOverlay;
    private dlgContainer;
    private headerEle;
    private buttonContent;
    private ftrTemplateContent;
    private headerContent;
    private closeIcon;
    private popupObj;
    private btnObj;
    private closeIconBtnObj;
    private dragObj;
    private primaryButtonEle;
    private targetEle;
    private dialogOpen;
    private isVue;
    private initialRender;
    private innerContentElement;
    private storeActiveElement;
    private focusElements;
    private focusIndex;
    private l10n;
    private clonedEle;
    private closeArgs;
    private calculatezIndex;
    private allowMaxHeight;
    private preventVisibility;
    private refElement;
    private dlgClosedBy;
    /**
     * Specifies the value that can be displayed in dialog's content area.
     * It can be information, list, or other HTML elements.
     * The content of dialog can be loaded with dynamic data such as database, AJAX content, and more.
     *
     * {% codeBlock src="dialog/content-api/index.ts" %}{% endcodeBlock %}
     *
     * {% codeBlock src="dialog/content-api/index.html" %}{% endcodeBlock %}
     *
     * @default ''
     * @blazorType string
     */
    content: string | HTMLElement;
    /**
     * Defines whether to allow the cross-scripting site or not.
     *
     * @default true
     */
    enableHtmlSanitizer: boolean;
    /**
     * Specifies the value that represents whether the close icon is shown in the dialog component.
     *
     * @default false
     */
    showCloseIcon: boolean;
    /**
     * Specifies the Boolean value whether the dialog can be displayed as modal or non-modal.
     * * `Modal`: It creates overlay that disable interaction with the parent application and user should
     * respond with modal before continuing with other applications.
     * * `Modeless`: It does not prevent user interaction with parent application.
     *
     * @default false
     */
    isModal: boolean;
    /**
     * Specifies the value that can be displayed in the dialog's title area that can be configured with plain text or HTML elements.
     * This is optional property and the dialog can be displayed without header, if the header property is null.
     *
     * @default ''
     * @blazorType string
     */
    header: string | HTMLElement;
    /**
     * Specifies the value that represents whether the dialog component is visible.
     *
     * @default true
     */
    visible: boolean;
    /**
     * Specifies the value whether the dialog component can be resized by the end-user.
     * If enableResize is true, the dialog component creates grip to resize it diagonal direction.
     *
     * @default false
     */
    enableResize: boolean;
    /**
     * Specifies the resize handles direction in the dialog component that can be resized by the end-user.
     *
     * @default ['South-East']
     */
    resizeHandles: ResizeDirections[];
    /**
     * Specifies the height of the dialog component.
     *
     * @default 'auto'
     * @blazorType string
     */
    height: string | number;
    /**
     * Specify the min-height of the dialog component.
     *
     * @default ''
     * @blazorType string
     */
    minHeight: string | number;
    /**
     * Specifies the width of the dialog.
     *
     * @default '100%'
     * @blazorType string
     */
    width: string | number;
    /**
     * Specifies the CSS class name that can be appended with root element of the dialog.
     * One or more custom CSS classes can be added to a dialog.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * Specifies the z-order for rendering that determines whether the dialog is displayed in front or behind of another component.
     *
     * @default 1000
     */
    zIndex: number;
    /**
     * Specifies the target element in which to display the dialog.
     * The default value is null, which refers the `document.body` element.
     *
     * @default null
     * @blazorType string
     */
    target: HTMLElement | string;
    /**
     * Specifies the template value that can be displayed with dialog's footer area.
     * This is optional property and can be used only when the footer is occupied with information or custom components.
     * By default, the footer is configured with action [buttons](#buttons).
     * If footer template is configured to dialog, the action buttons property will be disabled.
     *
     * > More information on the footer template configuration can be found on this [documentation](../../dialog/template/#footer) section.
     *
     * @default ''
     * @blazorType string
     */
    footerTemplate: HTMLElement | string;
    /**
     * Specifies the value whether the dialog component can be dragged by the end-user.
     * The dialog allows to drag by selecting the header and dragging it for re-position the dialog.
     *
     * > More information on the draggable behavior can be found on this [documentation](../../dialog/getting-started/#draggable) section.
     *
     * {% codeBlock src='dialog/allowDragging/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    allowDragging: boolean;
    /**
     * Configures the action `buttons` that contains button properties with primary attributes and click events.
     * One or more action buttons can be configured to the dialog.
     *
     * > More information on the button configuration can be found on this
     * [documentation](../../dialog/getting-started/#enable-footer) section.
     *
     * {% codeBlock src="dialog/buttons-api/index.ts" %}{% endcodeBlock %}
     *
     * {% codeBlock src="dialog/buttons-api/index.html" %}{% endcodeBlock %}
     *
     * {% codeBlock src='dialog/buttons/index.md' %}{% endcodeBlock %}
     *
     * @default [{}]
     */
    buttons: ButtonPropsModel[];
    /**
     * Specifies the boolean value whether the dialog can be closed with the escape key
     * that is used to control the dialog's closing behavior.
     *
     * @default true
     */
    closeOnEscape: boolean;
    /**
     * Specifies the animation settings of the dialog component.
     * The animation effect can be applied on open and close the dialog with duration and delay.
     *
     * > More information on the animation settings in dialog can be found on this [documentation](../../dialog/animation/)  section.
     *
     * {% codeBlock src="dialog/animation-api/index.ts" %}{% endcodeBlock %}
     *
     * {% codeBlock src="dialog/animation-api/index.html" %}{% endcodeBlock %}
     *
     * {% codeBlock src='dialog/animationSettings/index.md' %}{% endcodeBlock %}
     *
     * @default { effect: 'Fade', duration: 400, delay:0 }
     */
    animationSettings: AnimationSettingsModel;
    /**
     * Specifies the value where the dialog can be positioned within the document or target.
     * The position can be represented with pre-configured positions or specific X and Y values.
     * * `X value`: left, center, right, or offset value.
     * * `Y value`: top, center, bottom, or offset value.
     *
     * > More information on the positioning in dialog can be found on this [documentation](../../dialog/getting-started/#positioning)  section.
     *
     * {% codeBlock src='dialog/position/index.md' %}{% endcodeBlock %}
     *
     * @default { X: 'center', Y: 'center' }
     */
    position: PositionDataModel;
    /**
     * Event triggers when the dialog is created.
     *
     * @event 'object'
     * @blazorProperty 'Created'
     */
    created: base.EmitType<Object>;
    /**
     * Event triggers when a dialog is opened.
     *
     * @event 'object'
     * @blazorProperty 'Opened'
     * @blazorType OpenEventArgs
     */
    open: base.EmitType<Object>;
    /**
     * Event triggers before sanitize the value.
     *
     * @event 'object'
     * @blazorProperty 'OnSanitizeHtml'
     */
    beforeSanitizeHtml: base.EmitType<BeforeSanitizeHtmlArgs>;
    /**
     * Event triggers when the dialog is being opened.
     * If you cancel this event, the dialog remains closed.
     * Set the cancel argument to true to cancel the open of a dialog.
     *
     * @event 'object'
     * @blazorProperty 'OnOpen'
     */
    beforeOpen: base.EmitType<BeforeOpenEventArgs>;
    /**
     * Event triggers after the dialog has been closed.
     *
     * @event 'object'
     * @blazorProperty 'Closed'
     * @blazorType CloseEventArgs
     */
    close: base.EmitType<Object>;
    /**
     * Event triggers before the dialog is closed.
     * If you cancel this event, the dialog remains opened.
     * Set the cancel argument to true to cancel the closure of a dialog.
     *
     * @event 'object'
     * @blazorProperty 'OnClose'
     */
    beforeClose: base.EmitType<BeforeCloseEventArgs>;
    /**
     * Event triggers when the user begins dragging the dialog.
     *
     * @event 'object'
     * @blazorProperty 'OnDragStart'
     * @blazorType DragStartEventArgs
     */
    dragStart: base.EmitType<Object>;
    /**
     * Event triggers when the user stop dragging the dialog.
     *
     * @event 'object'
     * @blazorProperty 'OnDragStop'
     * @blazorType DragStopEventArgs
     */
    dragStop: base.EmitType<Object>;
    /**
     * Event triggers when the user drags the dialog.
     *
     * @event 'object'
     * @blazorProperty 'OnDrag'
     * @blazorType DragEventArgs
     */
    drag: base.EmitType<Object>;
    /**
     * Event triggers when the overlay of dialog is clicked.
     *
     * @event 'object'
     * @blazorProperty 'OnOverlayClick'
     */
    overlayClick: base.EmitType<Object>;
    /**
     * Event triggers when the user begins to resize a dialog.
     *
     * @event 'object'
     * @blazorProperty 'OnResizeStart'
     */
    resizeStart: base.EmitType<Object>;
    /**
     * Event triggers when the user resize the dialog.
     *
     * @event 'object'
     * @blazorProperty 'Resizing'
     */
    resizing: base.EmitType<Object>;
    /**
     * Event triggers when the user stop to resize a dialog.
     *
     * @event 'object'
     * @blazorProperty 'OnResizeStop'
     */
    resizeStop: base.EmitType<Object>;
    /**
     * Event triggers when the dialog is destroyed.
     *
     * @event 'object'
     * @blazorProperty 'Destroyed'
     */
    destroyed: base.EmitType<Event>;
    protected needsID: boolean;
    constructor(options?: DialogModel, element?: string | HTMLElement);
    /**
     *Initialize the control rendering
     *
     * @returns {void}
     * @private
     */
    render(): void;
    private initializeValue;
    /**
     *Initialize the event handler
     *
     * @returns {void}
     * @private
     */
    protected preRender(): void;
    private isNumberValue;
    private checkPositionData;
    private getEle;
    private getMinHeight;
    private onResizeStart;
    private onResizing;
    private onResizeComplete;
    private setResize;
    private getFocusElement;
    private keyDown;
    /**
     * Initialize the control rendering
     *
     * @returns {void}
     * @private
     */
    private initialize;
    /**
     * Initialize the rendering
     *
     * @returns {void}
     * @private
     */
    private initRender;
    private resetResizeIcon;
    private setOverlayZindex;
    private positionChange;
    private setPopupPosition;
    private setAllowDragging;
    private setButton;
    private buttonClickHandler;
    private setContent;
    private setTemplate;
    sanitizeHelper(value: string): string;
    private setMaxHeight;
    private setEnableRTL;
    private setTargetContent;
    private setHeader;
    private setFooterTemplate;
    private createHeaderContent;
    private renderCloseIcon;
    private closeIconTitle;
    private setCSSClass;
    private setIsModal;
    private getValidFocusNode;
    private focusableElements;
    private getAutoFocusNode;
    private disableElement;
    private focusContent;
    private bindEvent;
    private unBindEvent;
    private updateSanitizeContent;
    private isBlazorServerRender;
    /**
     * Module required function
     *
     * @returns {void}
     * @private
     */
    protected getModuleName(): string;
    /**
     * Called internally if any of the property value changed
     *
     * @param {DialogModel} newProp - specifies the new property
     * @param {DialogModel} oldProp - specifies the old property
     * @private
     * @returns {void}
     */
    onPropertyChanged(newProp: DialogModel, oldProp: DialogModel): void;
    private setTarget;
    private updateIsModal;
    private setzIndex;
    private windowResizeHandler;
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @returns {void}
     * @private
     */
    protected getPersistData(): string;
    /**
     * To destroy the widget
     *
     * @returns {void}
     */
    destroy(): void;
    private wireWindowResizeEvent;
    private unWireWindowResizeEvent;
    /**
     * Binding event to the element while widget creation
     *
     * @returns {void}
     * @hidden
     */
    private wireEvents;
    /**
     * Unbinding event to the element while widget destroy
     *
     * @returns {void}
     * @hidden
     */
    private unWireEvents;
    /**
     * Refreshes the dialog's position when the user changes its header and footer height/width dynamically.
     *
     * @returns {void}
     */
    refreshPosition(): void;
    /**
     * Returns the current width and height of the Dialog
     *
     * @returns {DialogDimension}
     * @public
     */
    getDimension(): DialogDimension;
    /**
     * Opens the dialog if it is in hidden state.
     * To open the dialog with full screen width, set the parameter to true.
     *
     * @param { boolean } isFullScreen - Enable the fullScreen Dialog.
     * @returns {void}
     */
    show(isFullScreen?: boolean): void;
    /**
     * Closes the dialog if it is in visible state.
     *
     * @param { Event } event - specifies the event
     * @returns {void}
     */
    hide(event?: Event): void;
    /**
     * Specifies to view the Full screen Dialog.
     *
     * @returns {void}
     * @private
     */
    private fullScreen;
    /**
     * Returns the dialog button instances.
     * Based on that, you can dynamically change the button states.
     *
     * @param { number } index - Index of the button.
     * @returns {buttons.Button} - returns the button element
     */
    getButtons(index?: number): buttons.Button[] | buttons.Button;
}
/**
 * Base for creating Alert and Confirmation Dialog through util method.
 */
export  namespace DialogUtility {
    /**
     * An alert dialog box is used to display warning like messages to the users.
     * ```
     * Eg : DialogUtility.alert('Alert message');
     *
     * ```
     */
    /**
     *
     * @param {AlertDialogArgs} args - specifies the string
     * @returns {Dialog} - returns the dialog element.
     */
    function alert(args?: AlertDialogArgs | string): Dialog;
    /**
     * A confirm dialog displays a specified message along with ‘OK’ and ‘Cancel’ button.
     * ```
     * Eg : DialogUtility.confirm('Confirm dialog message');
     *
     * ```
     */
    /**
     *
     * @param {ConfirmDialogArgs} args - specifies the args
     * @returns {Dialog} - returns te element
     */
    function confirm(args?: ConfirmDialogArgs | string): Dialog;
}
/**
 * Provides information about a buttons.Button event.
 */
export interface ButtonArgs {
    icon?: string;
    cssClass?: string;
    click?: base.EmitType<Object>;
    text?: string;
}
/**
 * Provides information about a AlertDialog.
 */
export interface AlertDialogArgs {
    title?: string;
    content?: string | HTMLElement;
    isModal?: boolean;
    isDraggable?: boolean;
    showCloseIcon?: boolean;
    closeOnEscape?: boolean;
    position?: PositionDataModel;
    okButton?: ButtonArgs;
    animationSettings?: AnimationSettingsModel;
    cssClass?: string;
    zIndex?: number;
    open?: base.EmitType<Object>;
    close?: base.EmitType<Object>;
    width?: string | number;
    height?: string | number;
}
/**
 * Provides information about a ConfirmDialog.
 */
export interface ConfirmDialogArgs {
    title?: string;
    content?: string | HTMLElement;
    isModal?: boolean;
    isDraggable?: boolean;
    showCloseIcon?: boolean;
    closeOnEscape?: boolean;
    position?: PositionDataModel;
    okButton?: ButtonArgs;
    cancelButton?: ButtonArgs;
    animationSettings?: AnimationSettingsModel;
    cssClass?: string;
    zIndex?: number;
    open?: base.EmitType<Object>;
    close?: base.EmitType<Object>;
    width?: string | number;
    height?: string | number;
}
interface DialogDimension {
    width: number;
    height: number;
}
//node_modules/@syncfusion/ej2-popups/src/dialog/index.d.ts
/**
 * Dialog Component
 */
//node_modules/@syncfusion/ej2-popups/src/index.d.ts
/**
 * Popup Components
 */
//node_modules/@syncfusion/ej2-popups/src/popup/index.d.ts
/**
 * Popup Components
 */
//node_modules/@syncfusion/ej2-popups/src/popup/popup-model.d.ts
/**
 * Interface for a class PositionData
 */
export interface PositionDataModel {
    /**
     * specify the offset left value
     *
     * @blazorType string
     */
    X?: string | number;
    /**
     * specify the offset top value.
     *
     * @blazorType string
     */
    Y?: string | number;
}
/**
 * Interface for a class Popup
 */
export interface PopupModel extends base.ComponentModel{
    /**
     * Specifies the height of the popup element.
     *
     * @default 'auto'
     */
    height?: string | number;
    /**
     * Specifies the height of the popup element.
     *
     * @default 'auto'
     */
    width?: string | number;
    /**
     * Specifies the content of the popup element, it can be string or HTMLElement.
     *
     * @default null
     */
    content?: string | HTMLElement;
    /**
     * Specifies the relative element type of the component.
     *
     * @default 'container'
     */
    targetType?: TargetType;
    /**
     * Specifies the collision detectable container element of the component.
     *
     * @default null
     */
    viewPortElement?: HTMLElement;
    /**
     * Specifies the collision handler settings of the component.
     *
     * @default { X: 'none',Y: 'none' }
     */
    collision?: CollisionAxis;
    /**
     * Specifies the relative container element of the popup element.Based on the relative element, popup element will be positioned.
     *
     * @default 'body'
     */
    relateTo?: HTMLElement | string;
    /**
     * Specifies the popup element position, respective to the relative element.
     *
     * @default {X:"left", Y:"top"}
     */
    position?: PositionDataModel;
    /**
     * specifies the popup element offset-x value, respective to the relative element.
     *
     * @default 0
     */
    offsetX?: number;
    /**
     * specifies the popup element offset-y value, respective to the relative element.
     *
     * @default 0
     */
    offsetY?: number;
    /**
     * specifies the z-index value of the popup element.
     *
     * @default 1000
     */
    zIndex?: number;
    /**
     * specifies the rtl direction state of the popup element.
     *
     * @default false
     */
    enableRtl?: boolean;
    /**
     * specifies the action that should happen when scroll the target-parent container.
     * This property should define either `reposition` or `hide`.
     * when set `reposition` to this property, the popup position will refresh when scroll any parent container.
     * when set `hide` to this property, the popup will be closed when scroll any parent container.
     *
     * @default 'reposition'
     */
    actionOnScroll?: ActionOnScrollType;
    /**
     * specifies the animation that should happen when popup open.
     *
     * @default 'null'
     */
    showAnimation?: base.AnimationModel;
    /**
     * specifies the animation that should happen when popup closes.
     *
     * @default 'null'
     */
    hideAnimation?: base.AnimationModel;
    /**
     * Triggers the event once opened the popup.
     *
     * @event 'object'
     */
    /* eslint-disable */
    open?: base.EmitType<Object>;
    /**
     * Trigger the event once closed the popup.
     *
     * @event 'object'
     */
    /* eslint-disable */
    close?: base.EmitType<Object>;
    /**
     * Triggers the event when target element hide from view port on scroll.
     *
     * @event 'object'
     */
    /* eslint-disable */
    targetExitViewport?: base.EmitType<Object>;
}
//node_modules/@syncfusion/ej2-popups/src/popup/popup.d.ts
/**
 * Specifies the offset position values.
 */
export  class PositionData extends base.ChildProperty<PositionData> {
    /**
     * specify the offset left value
     *
     * @blazorType string
     */
    X: string | number;
    /**
     * specify the offset top value.
     *
     * @blazorType string
     */
    Y: string | number;
}
/**
 * Provides information about a CollisionAxis.
 */
export interface CollisionAxis {
    /**
     * specify the collision handler for a X-Axis.
     *
     * @default "none"
     */
    X?: CollisionType;
    /**
     * specify the collision handler for a Y-Axis.
     *
     * @default "none"
     */
    Y?: CollisionType;
}
/**
 * Collision type.
 */
export  type CollisionType = 'none' | 'flip' | 'fit';
/**
 * action on scroll type.
 */
export  type ActionOnScrollType = 'reposition' | 'hide' | 'none';
/**
 * Target element type.
 */
export  type TargetType = 'relative' | 'container';
/**
 * Represents the Popup base.Component
 * ```html
 * <div id="popup" style="position:absolute;
height:100px;
width:100px;
">
 * <div style="margin:35px 25px;
">Popup Content</div></div>
 * ```
 * ```typescript
 * <script>
 *   var popupObj = new Popup();
 *   popupObj.appendTo("#popup");
 * </script>
 * ```
 */
export  class Popup extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    private fixedParent;
    /**
     * Specifies the height of the popup element.
     *
     * @default 'auto'
     */
    height: string | number;
    /**
     * Specifies the height of the popup element.
     *
     * @default 'auto'
     */
    width: string | number;
    /**
     * Specifies the content of the popup element, it can be string or HTMLElement.
     *
     * @default null
     */
    content: string | HTMLElement;
    /**
     * Specifies the relative element type of the component.
     *
     * @default 'container'
     */
    targetType: TargetType;
    /**
     * Specifies the collision detectable container element of the component.
     *
     * @default null
     */
    viewPortElement: HTMLElement;
    /**
     * Specifies the collision handler settings of the component.
     *
     * @default { X: 'none',Y: 'none' }
     */
    collision: CollisionAxis;
    /**
     * Specifies the relative container element of the popup element.Based on the relative element, popup element will be positioned.
     *
     * @default 'body'
     */
    relateTo: HTMLElement | string;
    /**
     * Specifies the popup element position, respective to the relative element.
     *
     * @default {X:"left", Y:"top"}
     */
    position: PositionDataModel;
    /**
     * specifies the popup element offset-x value, respective to the relative element.
     *
     * @default 0
     */
    offsetX: number;
    /**
     * specifies the popup element offset-y value, respective to the relative element.
     *
     * @default 0
     */
    offsetY: number;
    /**
     * specifies the z-index value of the popup element.
     *
     * @default 1000
     */
    zIndex: number;
    /**
     * specifies the rtl direction state of the popup element.
     *
     * @default false
     */
    enableRtl: boolean;
    /**
     * specifies the action that should happen when scroll the target-parent container.
     * This property should define either `reposition` or `hide`.
     * when set `reposition` to this property, the popup position will refresh when scroll any parent container.
     * when set `hide` to this property, the popup will be closed when scroll any parent container.
     *
     * @default 'reposition'
     */
    actionOnScroll: ActionOnScrollType;
    /**
     * specifies the animation that should happen when popup open.
     *
     * @default 'null'
     */
    showAnimation: base.AnimationModel;
    /**
     * specifies the animation that should happen when popup closes.
     *
     * @default 'null'
     */
    hideAnimation: base.AnimationModel;
    /**
     * Triggers the event once opened the popup.
     *
     * @event 'object'
     */
    open: base.EmitType<Object>;
    /**
     * Trigger the event once closed the popup.
     *
     * @event 'object'
     */
    close: base.EmitType<Object>;
    /**
     * * Constructor for creating the widget
     */
    /**
     * Triggers the event when target element hide from view port on scroll.
     *
     * @event 'object'
     */
    targetExitViewport: base.EmitType<Object>;
    private targetInvisibleStatus;
    constructor(element?: HTMLElement, options?: PopupModel);
    /**
     * Called internally if any of the property value changed.
     *
     * @param {PopupModel} newProp - specifies the new property
     * @param {PopupModel} oldProp - specifies the old property
     * @private
     * @returns {void}
     */
    onPropertyChanged(newProp: PopupModel, oldProp: PopupModel): void;
    /**
     * gets the base.Component module name.
     *
     * @returns {void}
     * @private
     */
    getModuleName(): string;
    /**
     * To resolve if any collision occurs.
     *
     * @returns {void}
     */
    resolveCollision(): void;
    /**
     * gets the persisted state properties of the base.Component.
     *
     * @returns {void}
     */
    protected getPersistData(): string;
    /**
     * To destroy the control.
     *
     * @returns {void}
     */
    destroy(): void;
    /**
     * To Initialize the control rendering
     *
     * @returns {void}
     * @private
     */
    render(): void;
    private wireEvents;
    wireScrollEvents(): void;
    private unwireEvents;
    unwireScrollEvents(): void;
    private getRelateToElement;
    private scrollRefresh;
    /**
     * This method is to get the element visibility on viewport when scroll
     * the page. This method will returns true even though 1 px of element
     * part is in visible.
     *
     * @param {HTMLElement} relateToElement - specifies the element
     * @param {HTMLElement} scrollElement - specifies the scroll element
     * @returns {boolean} - retruns the boolean
     */
    private isElementOnViewport;
    private isElementVisible;
    /**
     * Initialize the event handler
     *
     * @returns {void}
     * @private
     */
    protected preRender(): void;
    private setEnableRtl;
    private setContent;
    private orientationOnChange;
    /**
     * Based on the `relative` element and `offset` values, `Popup` element position will refreshed.
     *
     * @returns {void}
     */
    refreshPosition(target?: HTMLElement, collision?: boolean): void;
    private reposition;
    private checkGetBoundingClientRect;
    private getAnchorPosition;
    private callFlip;
    private callFit;
    private checkCollision;
    /**
     * Shows the popup element from screen.
     *
     * @returns {void}
     * @param {base.AnimationModel} animationOptions - specifies the model
     * @param { HTMLElement } relativeElement - To calculate the zIndex value dynamically.
     */
    show(animationOptions?: base.AnimationModel, relativeElement?: HTMLElement): void;
    /**
     * Hides the popup element from screen.
     *
     * @param {base.AnimationModel} animationOptions - To give the animation options.
     * @returns {void}
     */
    hide(animationOptions?: base.AnimationModel): void;
    /**
     * Gets scrollable parent elements for the given element.
     *
     * @returns {void}
     * @param { HTMLElement } element - Specify the element to get the scrollable parents of it.
     */
    getScrollableParent(element: HTMLElement): HTMLElement[];
    private checkFixedParent;
}
/**
 * Gets scrollable parent elements for the given element.
 *
 * @param { HTMLElement } element - Specify the element to get the scrollable parents of it.
 * @param {boolean} fixedParent - specifies the parent element
 * @private
 * @returns {void}
 */
export  function getScrollableParent(element: HTMLElement, fixedParent?: boolean): HTMLElement[];
/**
 * Gets the maximum z-index of the given element.
 *
 * @returns {void}
 * @param { HTMLElement } element - Specify the element to get the maximum z-index of it.
 * @private
 */
export  function getZindexPartial(element: HTMLElement): number;
/**
 * Gets the maximum z-index of the page.
 *
 * @returns {void}
 * @param { HTMLElement } tagName - Specify the tagName to get the maximum z-index of it.
 * @private
 */
export  function getMaxZindex(tagName?: string[]): number;
//node_modules/@syncfusion/ej2-popups/src/spinner/index.d.ts
/**
 * spinner modules
 */
//node_modules/@syncfusion/ej2-popups/src/spinner/spinner.d.ts
export  type createElementParams = (tag: string, prop?: {
    id?: string;
    className?: string;
    innerHTML?: string;
    styles?: string;
    attrs?: {
        [key: string]: string;
    };
}) => HTMLElement;
/**
  * Defines the type of spinner.
  */
export  type SpinnerType = 'Material' | 'Fabric' | 'Bootstrap' | 'HighContrast' | 'Bootstrap4' | 'Tailwind' | 'Bootstrap5' | 'Fluent';
/**
  * Function to change the Spinners in a page globally from application end.
  * ```
  * E.g : blazorSpinner({ action: "Create", options: {target: targetElement}, type: "" });
  * ```
  *
  * @param {string} action - specifies the string
  * @param {CreateArgs} options - specifies the args
  * @param {string} target - specifies the target
  * @param {string} type - specifes the type
  * @returns {void}
  * @private
  */
export  function Spinner(action: string, options: CreateArgs, target: string, type: string): void;
/**
 * Create a spinner for the specified target element.
 * ```
 * E.g : createSpinner({ target: targetElement, width: '34px', label: 'Loading..' });
 * ```
 *
 * @param {SpinnerArgs} args - specifies the args
 * @param {CreateElementArgs} internalCreateElement - specifis the element args
 * @returns {void}
 * @private
 */
export  function createSpinner(args: SpinnerArgs, internalCreateElement?: createElementParams): void;
/**
 * Function to show the Spinner.
 *
 * @param {HTMLElement} container - Specify the target of the Spinner.
 * @returns {void}
 * @private
 */
export  function showSpinner(container: HTMLElement): void;
/**
 * Function to hide the Spinner.
 *
 * @param {HTMLElement} container - Specify the target of the Spinner.
 * @returns {void}
 * @private
 */
export  function hideSpinner(container: HTMLElement): void;
/**
  * Function to change the Spinners in a page globally from application end.
  * ```
  * E.g : setSpinner({ cssClass: 'custom-css';
 type: 'Material' });
  * ```
  *
  * @param {SetSpinnerArgs} args - specifies the args
  * @param {createElementParams} internalCreateElement - specifies the element params
  * @returns {void}
  * @private
  */
export  function setSpinner(args: SetSpinnerArgs, internalCreateElement?: createElementParams): void;
/**
 * Arguments to create a spinner for the target.These properties are optional.
 */
export interface SpinnerArgs {
    /**
     * Target element to the Spinner.
     * ```
     * E.g : createSpinner({ target: element });
     * ```
     */
    target: HTMLElement;
    /**
     * To set the width of the Spinner.
     */
    width?: string | number;
    /**
     * To set the label to the Spinner element.
     */
    label?: string;
    /**
     * Sets the CSS classes to root element of the Spinner which helps to customize the complete UI styles.
     */
    cssClass?: string;
    /**
     * Specify the template content to be displayed in the Spinner.
     */
    template?: string;
    /**
     * Specify the type of the Spinner.
     */
    type?: SpinnerType;
}
/**
 * Arguments to change the Spinners in a page globally from application end.
 */
export interface SetSpinnerArgs {
    /**
     * Specify the template content to be displayed in the Spinner.
     */
    template?: string;
    /**
     * Sets the CSS classes to root element of the Spinner which helps to customize the complete UI styles.
     */
    cssClass?: string;
    /**
     * Specify the type of the Spinner.
     */
    type?: SpinnerType;
}
/**
 * Arguments to change the `Blazor` Spinners in a page globally from application end.
 */
export interface SetArgs {
    /**
     * Sets the CSS classes to root element of the Spinner which helps to customize the complete UI styles.
     */
    cssClass?: string;
    /**
     * Specify the type of the Spinner.
     */
    type?: SpinnerType;
}
/**
 * Arguments to create a `Blazor` spinner for the target.
 */
export interface CreateArgs {
    /**
     * Target element to the Spinner.
     * ```
     * E.g : createSpinner({ target: element });
     * ```
     */
    target: string;
    /**
     * To set the width of the Spinner.
     */
    width?: string | number;
    /**
     * To set the label to the Spinner element.
     */
    label?: string;
    /**
     * Sets the CSS classes to root element of the Spinner which helps to customize the complete UI styles.
     */
    cssClass?: string;
    /**
     * Specify the type of the Spinner.
     */
    type?: SpinnerType;
}
//node_modules/@syncfusion/ej2-popups/src/tooltip/index.d.ts
/**
 * Tooltip modules
 */
//node_modules/@syncfusion/ej2-popups/src/tooltip/tooltip-model.d.ts
/**
 * Interface for a class Animation
 */
export interface AnimationModel {
    /**
     * Animation settings to be applied on the Tooltip, while it is being shown over the target.
     */
    open?: TooltipAnimationSettings;
    /**
     * Animation settings to be applied on the Tooltip, when it is closed.
     */
    close?: TooltipAnimationSettings;
}
/**
 * Interface for a class Tooltip
 */
export interface TooltipModel extends base.ComponentModel{
    /**
     * It is used to set the width of Tooltip component which accepts both string and number values.
     * When set to auto, the Tooltip width gets auto adjusted to display its content within the viewable screen.
     *
     * @default 'auto'
     */
    width?: string | number;
    /**
     * It is used to set the height of Tooltip component which accepts both string and number values.
     * When Tooltip content gets overflow due to height value then the scroll mode will be enabled.
     * Refer the documentation [here](https://ej2.syncfusion.com/documentation/tooltip/setting-dimension/)
     *  to know more about this property with demo.
     *
     * @default 'auto'
     */
    height?: string | number;
    /**
     * It is used to display the content of Tooltip which can be both string and HTML Elements.
     * Refer the documentation [here](https://ej2.syncfusion.com/documentation/tooltip/content/)
     *  to know more about this property with demo.
     *
     * {% codeBlock src="tooltip/content-api/index.ts" %}{% endcodeBlock %}
     *
     */
    content?: string | HTMLElement;
    /**
     * It is used to set the container element in which the Tooltip’s pop-up will be appended. It accepts value as both string and HTML Element.
     * It's default value is `body`, in which the Tooltip’s pop-up will be appended.
     *
     */
    container?: string | HTMLElement;
    /**
     * It is used to denote the target selector where the Tooltip need to be displayed.
     * The target element is considered as parent container.
     *
     * {% codeBlock src="tooltip/target-api/index.ts" %}{% endcodeBlock %}
     */
    target?: string;
    /**
     * It is used to set the position of Tooltip element, with respect to Target element.
     *
     * {% codeBlock src="tooltip/position-api/index.ts" %}{% endcodeBlock %}
     *
     */
    position?: Position;
    /**
     * It sets the space between the target and Tooltip element in X axis.
     *
     * {% codeBlock src="tooltip/offsetX-api/index.ts" %}{% endcodeBlock %}
     * {% codeBlock src="tooltip/offsetx/index.md" %}{% endcodeBlock %}
     *
     * @default 0
     */
    offsetX?: number;
    /**
     * It sets the space between the target and Tooltip element in Y axis.
     *
     * {% codeBlock src="tooltip/offsetX-api/index.ts" %}{% endcodeBlock %}
     * {% codeBlock src="tooltip/offsety/index.md" %}{% endcodeBlock %}
     *
     * @default 0
     */
    offsetY?: number;
    /**
     * It is used to show or hide the tip pointer of Tooltip.
     *
     * {% codeBlock src="tooltip/offsetX-api/index.ts" %}{% endcodeBlock %}
     * {% codeBlock src="tooltip/showtippointer/index.md" %}{% endcodeBlock %}
     *
     * @default true
     */
    showTipPointer?: boolean;
    /**
     * It enables or disables the parsing of HTML string content into HTML DOM elements for Tooltip.
     * If the value of the property is set to false, the tooltip content will be displayed as HTML string instead of HTML DOM elements.
     *
     * @default true
     */
    enableHtmlParse?: boolean;
    /**
     * It is used to set the collision target element as page viewport (window) or Tooltip element, when using the target.
     * If this property is enabled, tooltip will perform the collision calculation between the target elements
     * and viewport(window) instead of Tooltip element.
     *
     * @default false
     */
    windowCollision?: boolean;
    /**
     * It is used to set the position of tip pointer on tooltip.
     * When it sets to auto, the tip pointer auto adjusts within the space of target's length
     *  and does not point outside.
     * Refer the documentation
     *  [here](https://ej2.syncfusion.com/documentation/tooltip/position.html?lang=typescript#tip-pointer-positioning)
     *  to know more about this property with demo.
     * {% codeBlock src="tooltip/tippointerposition/index.md" %}{% endcodeBlock %}
     *
     * @default 'Auto'
     */
    tipPointerPosition?: TipPointerPosition;
    /**
     * It is used to determine the device mode to display the Tooltip content.
     * If it is in desktop, it will show the Tooltip content when hovering on the target element.
     * If it is in touch device, it will show the Tooltip content when tap and holding on the target element.
     * {% codeBlock src="tooltip/openson/index.md" %}{% endcodeBlock %}
     * {% codeBlock src="tooltip/opensOn-api/index.ts" %}{% endcodeBlock %}
     *
     * @default 'Auto'
     */
    opensOn?: string;
    /**
     * It allows the Tooltip to follow the mouse pointer movement over the specified target element.
     * Refer the documentation [here](https://ej2.syncfusion.com/documentation/tooltip/position/#mouse-trailing)
     *  to know more about this property with demo.
     * {% codeBlock src="tooltip/mousetrail/index.md" %}{% endcodeBlock %}
     * {% codeBlock src="tooltip/offsetX-api/index.ts" %}{% endcodeBlock %}
     *
     * @default false
     */
    mouseTrail?: boolean;
    /**
     * It is used to display the Tooltip in an open state until closed by manually.
     * Refer the documentation [here](https://ej2.syncfusion.com/documentation/tooltip/open-mode/#sticky-mode)
     *  to know more about this property with demo.
     * {% codeBlock src="tooltip/issticky/index.md" %}{% endcodeBlock %}
     *
     * @default false
     */
    isSticky?: boolean;
    /**
     * We can set the same or different animation option to Tooltip while it is in open or close state.
     * Refer the documentation [here](https://ej2.syncfusion.com/documentation/tooltip/animation/)
     *  to know more about this property with demo.
     * {% codeBlock src="tooltip/animation/index.md" %}{% endcodeBlock %}
     * {% codeBlock src="tooltip/animation-api/index.ts" %}{% endcodeBlock %}
     *
     * @default { open: { effect: 'FadeIn', duration: 150, delay: 0 }, close: { effect: 'FadeOut', duration: 150, delay: 0 } }
     */
    animation?: AnimationModel;
    /**
     * It is used to open the Tooltip after the specified delay in milliseconds.
     *
     * @default 0
     */
    openDelay?: number;
    /**
     * It is used to close the Tooltip after a specified delay in milliseconds.
     *
     * @default 0
     */
    closeDelay?: number;
    /**
     * It is used to customize the Tooltip which accepts custom CSS class names that
     *  defines specific user-defined styles and themes to be applied on the Tooltip element.
     *
     * @default null
     */
    cssClass?: string;
    /**
     * Defines whether to allow the cross-scripting site or not.
     *
     * @default false
     */
    enableHtmlSanitizer?: boolean;
    /**
     * We can trigger `beforeRender` event before the Tooltip and its contents are added to the DOM.
     * When one of its arguments `cancel` is set to true, the Tooltip can be prevented from rendering on the page.
     * This event is mainly used for the purpose of customizing the Tooltip before it shows up on the screen.
     * For example, to load the AJAX content or to set new animation effects on the Tooltip, this event can be opted.
     * Refer the documentation
     *  [here](https://ej2.syncfusion.com/documentation/tooltip/content/#dynamic-content-via-ajax)
     *  to know more about this property with demo.
     *
     * @event
     */
    beforeRender?: base.EmitType<TooltipEventArgs>;
    /**
     * We can trigger `beforeOpen` event before the Tooltip is displayed over the target element.
     * When one of its arguments `cancel` is set to true, the Tooltip display can be prevented.
     * This event is mainly used for the purpose of refreshing the Tooltip positions dynamically or to
     *  set customized styles in it and so on.
     * {% codeBlock src="tooltip/beforeOpen/index.md" %}{% endcodeBlock %}
     *
     * @event
     */
    beforeOpen?: base.EmitType<TooltipEventArgs>;
    /**
     * We can trigger `afterOpen` event after the Tooltip base.Component gets opened.
     * {% codeBlock src="tooltip/afterOpen/index.md" %}{% endcodeBlock %}
     *
     * @event
     */
    afterOpen?: base.EmitType<TooltipEventArgs>;
    /**
     * We can trigger `beforeClose` event before the Tooltip hides from the screen. If returned false, then the Tooltip is no more hidden.
     * {% codeBlock src="tooltip/beforeClose/index.md" %}{% endcodeBlock %}
     *
     * @event
     */
    beforeClose?: base.EmitType<TooltipEventArgs>;
    /**
     * We can trigger `afterClose` event when the Tooltip base.Component gets closed.
     * {% codeBlock src="tooltip/afterClose/index.md" %}{% endcodeBlock %}
     *
     * @event
     */
    afterClose?: base.EmitType<TooltipEventArgs>;
    /**
     * We can trigger `beforeCollision` event for every collision fit calculation.
     * {% codeBlock src="tooltip/beforeCollision/index.md" %}{% endcodeBlock %}
     *
     * @event
     */
    beforeCollision?: base.EmitType<TooltipEventArgs>;
    /**
     * We can trigger `created` event after the Tooltip component is created.
     *
     * @event
     */
    /* eslint-disable */
    created?: base.EmitType<Object>;
    /**
     * We can trigger `destroyed` event when the Tooltip component is destroyed.
     *
     * @event
     */
    /* eslint-disable */
    destroyed?: base.EmitType<Object>;
}
//node_modules/@syncfusion/ej2-popups/src/tooltip/tooltip.d.ts
/**
 * Set of open modes available for Tooltip.
 */
export  type OpenMode = 'Auto' | 'Hover' | 'Click' | 'Focus' | 'Custom';
/**
 * Applicable positions where the Tooltip can be displayed over specific target elements.
 */
export  type Position = 'TopLeft' | 'TopCenter' | 'TopRight' | 'BottomLeft' | 'BottomCenter' | 'BottomRight' | 'LeftTop' | 'LeftCenter' | 'LeftBottom' | 'RightTop' | 'RightCenter' | 'RightBottom';
/**
 * Applicable tip positions attached to the Tooltip.
 */
export  type TipPointerPosition = 'Auto' | 'Start' | 'Middle' | 'End';
/**
 * Animation effects that are applicable for Tooltip.
 */
export  type Effect = 'FadeIn' | 'FadeOut' | 'FadeZoomIn' | 'FadeZoomOut' | 'FlipXDownIn' | 'FlipXDownOut' | 'FlipXUpIn' | 'FlipXUpOut' | 'FlipYLeftIn' | 'FlipYLeftOut' | 'FlipYRightIn' | 'FlipYRightOut' | 'ZoomIn' | 'ZoomOut' | 'None';
/**
 * Interface for Tooltip event arguments.
 */
export interface TooltipEventArgs extends base.BaseEventArgs {
    /**
     * It is used to denote the type of the triggered event.
     */
    type: string;
    /**
     * It illustrates whether the current action needs to be prevented or not.
     */
    cancel: boolean;
    /**
     * It is used to specify the current event object.
     */
    event: Event;
    /**
     * It is used to denote the current target element where the Tooltip is to be displayed.
     */
    target: HTMLElement;
    /**
     * It is used to denote the Tooltip element
     */
    element: HTMLElement;
    /**
     * It is used to denote the Collided Tooltip position
     */
    collidedPosition?: string;
    /**
     * If the event is triggered by interaction, it returns true. Otherwise, it returns false.
     */
    isInteracted?: boolean;
}
/**
 * Animation options that are common for both open and close actions of the Tooltip.
 */
export interface TooltipAnimationSettings {
    /**
     * It is used to apply the Animation effect on the Tooltip, during open and close actions.
     */
    effect?: Effect;
    /**
     * It is used to denote the duration of the animation that is completed per animation cycle.
     */
    duration?: number;
    /**
     * It is used to denote the delay value in milliseconds and indicating the waiting time before animation begins.
     */
    delay?: number;
}
export  class Animation extends base.ChildProperty<Animation> {
    /**
     * Animation settings to be applied on the Tooltip, while it is being shown over the target.
     */
    open: TooltipAnimationSettings;
    /**
     * Animation settings to be applied on the Tooltip, when it is closed.
     */
    close: TooltipAnimationSettings;
}
/**
 * Represents the Tooltip component that displays a piece of information about the target element on mouse hover.
 * ```html
 * <div id="tooltip">Show Tooltip</div>
 * ```
 * ```typescript
 * <script>
 *   var tooltipObj = new Tooltip({ content: 'Tooltip text' });
 *   tooltipObj.appendTo("#tooltip");
 * </script>
 * ```
 */
export  class Tooltip extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    private popupObj;
    private tooltipEle;
    private ctrlId;
    private tipClass;
    private tooltipPositionX;
    private tooltipPositionY;
    private tooltipEventArgs;
    private isHidden;
    private isTooltipOpen;
    private showTimer;
    private hideTimer;
    private tipWidth;
    private touchModule;
    private tipHeight;
    private autoCloseTimer;
    private mouseMoveEvent;
    private mouseMoveTarget;
    private containerElement;
    private isBodyContainer;
    /**
     * It is used to set the width of Tooltip component which accepts both string and number values.
     * When set to auto, the Tooltip width gets auto adjusted to display its content within the viewable screen.
     *
     * @default 'auto'
     */
    width: string | number;
    /**
     * It is used to set the height of Tooltip component which accepts both string and number values.
     * When Tooltip content gets overflow due to height value then the scroll mode will be enabled.
     * Refer the documentation [here](https://ej2.syncfusion.com/documentation/tooltip/setting-dimension/)
     *  to know more about this property with demo.
     *
     * @default 'auto'
     */
    height: string | number;
    /**
     * It is used to display the content of Tooltip which can be both string and HTML Elements.
     * Refer the documentation [here](https://ej2.syncfusion.com/documentation/tooltip/content/)
     *  to know more about this property with demo.
     *
     * {% codeBlock src="tooltip/content-api/index.ts" %}{% endcodeBlock %}
     *
     */
    content: string | HTMLElement;
    /**
     * It is used to set the container element in which the Tooltip’s pop-up will be appended. It accepts value as both string and HTML Element.
     * It's default value is `body`, in which the Tooltip’s pop-up will be appended.
     *
     */
    container: string | HTMLElement;
    /**
     * It is used to denote the target selector where the Tooltip need to be displayed.
     * The target element is considered as parent container.
     *
     * {% codeBlock src="tooltip/target-api/index.ts" %}{% endcodeBlock %}
     */
    target: string;
    /**
     * It is used to set the position of Tooltip element, with respect to Target element.
     *
     * {% codeBlock src="tooltip/position-api/index.ts" %}{% endcodeBlock %}
     *
     */
    position: Position;
    /**
     * It sets the space between the target and Tooltip element in X axis.
     *
     * {% codeBlock src="tooltip/offsetX-api/index.ts" %}{% endcodeBlock %}
     * {% codeBlock src="tooltip/offsetx/index.md" %}{% endcodeBlock %}
     *
     * @default 0
     */
    offsetX: number;
    /**
     * It sets the space between the target and Tooltip element in Y axis.
     *
     * {% codeBlock src="tooltip/offsetX-api/index.ts" %}{% endcodeBlock %}
     * {% codeBlock src="tooltip/offsety/index.md" %}{% endcodeBlock %}
     *
     * @default 0
     */
    offsetY: number;
    /**
     * It is used to show or hide the tip pointer of Tooltip.
     *
     * {% codeBlock src="tooltip/offsetX-api/index.ts" %}{% endcodeBlock %}
     * {% codeBlock src="tooltip/showtippointer/index.md" %}{% endcodeBlock %}
     *
     * @default true
     */
    showTipPointer: boolean;
    /**
     * It enables or disables the parsing of HTML string content into HTML DOM elements for Tooltip.
     * If the value of the property is set to false, the tooltip content will be displayed as HTML string instead of HTML DOM elements.
     *
     * @default true
     */
    enableHtmlParse: boolean;
    /**
     * It is used to set the collision target element as page viewport (window) or Tooltip element, when using the target.
     * If this property is enabled, tooltip will perform the collision calculation between the target elements
     * and viewport(window) instead of Tooltip element.
     *
     * @default false
     */
    windowCollision: boolean;
    /**
     * It is used to set the position of tip pointer on tooltip.
     * When it sets to auto, the tip pointer auto adjusts within the space of target's length
     *  and does not point outside.
     * Refer the documentation
     *  [here](https://ej2.syncfusion.com/documentation/tooltip/position.html?lang=typescript#tip-pointer-positioning)
     *  to know more about this property with demo.
     * {% codeBlock src="tooltip/tippointerposition/index.md" %}{% endcodeBlock %}
     *
     * @default 'Auto'
     */
    tipPointerPosition: TipPointerPosition;
    /**
     * It is used to determine the device mode to display the Tooltip content.
     * If it is in desktop, it will show the Tooltip content when hovering on the target element.
     * If it is in touch device, it will show the Tooltip content when tap and holding on the target element.
     * {% codeBlock src="tooltip/openson/index.md" %}{% endcodeBlock %}
     * {% codeBlock src="tooltip/opensOn-api/index.ts" %}{% endcodeBlock %}
     *
     * @default 'Auto'
     */
    opensOn: string;
    /**
     * It allows the Tooltip to follow the mouse pointer movement over the specified target element.
     * Refer the documentation [here](https://ej2.syncfusion.com/documentation/tooltip/position/#mouse-trailing)
     *  to know more about this property with demo.
     * {% codeBlock src="tooltip/mousetrail/index.md" %}{% endcodeBlock %}
     * {% codeBlock src="tooltip/offsetX-api/index.ts" %}{% endcodeBlock %}
     *
     * @default false
     */
    mouseTrail: boolean;
    /**
     * It is used to display the Tooltip in an open state until closed by manually.
     * Refer the documentation [here](https://ej2.syncfusion.com/documentation/tooltip/open-mode/#sticky-mode)
     *  to know more about this property with demo.
     * {% codeBlock src="tooltip/issticky/index.md" %}{% endcodeBlock %}
     *
     * @default false
     */
    isSticky: boolean;
    /**
     * We can set the same or different animation option to Tooltip while it is in open or close state.
     * Refer the documentation [here](https://ej2.syncfusion.com/documentation/tooltip/animation/)
     *  to know more about this property with demo.
     * {% codeBlock src="tooltip/animation/index.md" %}{% endcodeBlock %}
     * {% codeBlock src="tooltip/animation-api/index.ts" %}{% endcodeBlock %}
     *
     * @default { open: { effect: 'FadeIn', duration: 150, delay: 0 }, close: { effect: 'FadeOut', duration: 150, delay: 0 } }
     */
    animation: AnimationModel;
    /**
     * It is used to open the Tooltip after the specified delay in milliseconds.
     *
     * @default 0
     */
    openDelay: number;
    /**
     * It is used to close the Tooltip after a specified delay in milliseconds.
     *
     * @default 0
     */
    closeDelay: number;
    /**
     * It is used to customize the Tooltip which accepts custom CSS class names that
     *  defines specific user-defined styles and themes to be applied on the Tooltip element.
     *
     * @default null
     */
    cssClass: string;
    /**
     * Defines whether to allow the cross-scripting site or not.
     *
     * @default false
     */
    enableHtmlSanitizer: boolean;
    /**
     * We can trigger `beforeRender` event before the Tooltip and its contents are added to the DOM.
     * When one of its arguments `cancel` is set to true, the Tooltip can be prevented from rendering on the page.
     * This event is mainly used for the purpose of customizing the Tooltip before it shows up on the screen.
     * For example, to load the AJAX content or to set new animation effects on the Tooltip, this event can be opted.
     * Refer the documentation
     *  [here](https://ej2.syncfusion.com/documentation/tooltip/content/#dynamic-content-via-ajax)
     *  to know more about this property with demo.
     *
     * @event
     */
    beforeRender: base.EmitType<TooltipEventArgs>;
    /**
     * We can trigger `beforeOpen` event before the Tooltip is displayed over the target element.
     * When one of its arguments `cancel` is set to true, the Tooltip display can be prevented.
     * This event is mainly used for the purpose of refreshing the Tooltip positions dynamically or to
     *  set customized styles in it and so on.
     * {% codeBlock src="tooltip/beforeOpen/index.md" %}{% endcodeBlock %}
     *
     * @event
     */
    beforeOpen: base.EmitType<TooltipEventArgs>;
    /**
     * We can trigger `afterOpen` event after the Tooltip base.Component gets opened.
     * {% codeBlock src="tooltip/afterOpen/index.md" %}{% endcodeBlock %}
     *
     * @event
     */
    afterOpen: base.EmitType<TooltipEventArgs>;
    /**
     * We can trigger `beforeClose` event before the Tooltip hides from the screen. If returned false, then the Tooltip is no more hidden.
     * {% codeBlock src="tooltip/beforeClose/index.md" %}{% endcodeBlock %}
     *
     * @event
     */
    beforeClose: base.EmitType<TooltipEventArgs>;
    /**
     * We can trigger `afterClose` event when the Tooltip base.Component gets closed.
     * {% codeBlock src="tooltip/afterClose/index.md" %}{% endcodeBlock %}
     *
     * @event
     */
    afterClose: base.EmitType<TooltipEventArgs>;
    /**
     * We can trigger `beforeCollision` event for every collision fit calculation.
     * {% codeBlock src="tooltip/beforeCollision/index.md" %}{% endcodeBlock %}
     *
     * @event
     */
    beforeCollision: base.EmitType<TooltipEventArgs>;
    /**
     * We can trigger `created` event after the Tooltip component is created.
     *
     * @event
     */
    created: base.EmitType<Object>;
    /**
     * We can trigger `destroyed` event when the Tooltip component is destroyed.
     *
     * @event
     */
    destroyed: base.EmitType<Object>;
    /**
     * Constructor for creating the Tooltip base.Component
     *
     * @param {TooltipModel} options - specifies the options for the constructor
     * @param {string| HTMLElement} element - specifies the element for the constructor
     *
     */
    constructor(options?: TooltipModel, element?: string | HTMLElement);
    private initialize;
    private formatPosition;
    private renderArrow;
    private setTipClass;
    private renderPopup;
    private getTooltipPosition;
    private windowResize;
    private reposition;
    private openPopupHandler;
    private closePopupHandler;
    private calculateTooltipOffset;
    private updateTipPosition;
    private adjustArrow;
    private renderContent;
    private renderCloseIcon;
    private addDescribedBy;
    private removeDescribedBy;
    private tapHoldHandler;
    private touchEndHandler;
    private targetClick;
    private targetHover;
    private mouseMoveBeforeOpen;
    private mouseMoveBeforeRemove;
    private showTooltip;
    private beforeRenderCallback;
    private appendContainer;
    private tooltipBeforeRender;
    private tooltipAfterRender;
    private beforeOpenCallback;
    private needTemplateReposition;
    private checkCollision;
    private calculateElementPosition;
    private collisionFlipFit;
    private getOffSetPosition;
    private checkCollideTarget;
    private hideTooltip;
    private tooltipHide;
    private popupHide;
    private restoreElement;
    private clear;
    private tooltipHover;
    private tooltipMouseOut;
    private onMouseOut;
    private tooltipElementMouseOut;
    private onStickyClose;
    private onMouseMove;
    private keyDown;
    private touchEnd;
    private scrollHandler;
    /**
     * Core method that initializes the control rendering.
     *
     * @private
     * @returns {void}
     */
    render(): void;
    /**
     * Initializes the values of private members.
     *
     * @private
     * @returns {void}
     */
    protected preRender(): void;
    /**
     * Binding events to the Tooltip element.
     *
     * @hidden
     * @param {string} trigger - specify the trigger string to the function
     * @returns {void}
     *
     */
    private wireEvents;
    private getTriggerList;
    private wireFocusEvents;
    private wireMouseEvents;
    /**
     * Unbinding events from the element on widget destroy.
     *
     * @hidden
     *
     * @param {string} trigger - specify the trigger string to the function
     * @returns {void}
     *
     */
    private unwireEvents;
    private unwireFocusEvents;
    private unwireMouseEvents;
    private findTarget;
    /**
     * Core method to return the component name.
     *
     * @private
     *
     * @returns {string} - this method returns module name.
     */
    getModuleName(): string;
    /**
     * Returns the properties to be maintained in the persisted state.
     *
     * @private
     *
     * @returns {string} - this method returns persisted data.
     */
    protected getPersistData(): string;
    /**
     * Called internally, if any of the property value changed.
     *
     * @private
     *
     * @param {TooltipModel} newProp - this param gives new property values to the method
     * @param {TooltipModel} oldProp - this param gives old property values to the method
     * @returns {void}
     *
     */
    onPropertyChanged(newProp: TooltipModel, oldProp: TooltipModel): void;
    /**
     * It is used to show the Tooltip on the specified target with specific animation settings.
     *
     * @param {HTMLElement} element - Target element where the Tooltip is to be displayed. (It is an optional parameter)
     * @param {TooltipAnimationSettings} animation - Sets the specific animation, while showing the Tooltip on the screen. (It is an optional parameter)
     * @returns {void}
     */
    open(element?: HTMLElement, animation?: TooltipAnimationSettings): void;
    /**
     * It is used to hide the Tooltip with specific animation effect.
     *
     * @param {TooltipAnimationSettings} animation - Sets the specific animation when hiding Tooltip from the screen. (It is an optional parameter)
     * @returns {void}
     */
    close(animation?: TooltipAnimationSettings): void;
    /**
     * It is used to refresh the Tooltip content and its position.
     *
     * @param {HTMLElement} target - Target element where the Tooltip content or position needs to be refreshed.
     * @returns {void}
     */
    refresh(target?: HTMLElement): void;
    /**
     * It is used to destroy the Tooltip component.
     * @method destroy
     * @returns {void}
     * @memberof Tooltip
     */
    destroy(): void;
}
 }
export namespace progressbar { 

//node_modules/@syncfusion/ej2-progressbar/src/index.d.ts
/**
 * Progress Bar component export methods
 */
//node_modules/@syncfusion/ej2-progressbar/src/progressbar/index.d.ts
/**
 * Progress Bar1 component export methods
 */
//node_modules/@syncfusion/ej2-progressbar/src/progressbar/model/annotation.d.ts
/**
 * Base file for annotation
 */
export  class AnnotationBase {
    private control;
    private annotation;
    /**
     * Constructor for progress annotation
     *
     * @param {ProgressBar} control It called constructor
     */
    constructor(control: ProgressBar);
    render(annotation: ProgressAnnotationSettings, index: number): HTMLElement;
    /**
     * To process the annotation
     *
     * @param {ProgressAnnotationSettings} annotation One of the parameter called annotation
     * @param {number} index Index of the annotation
     * @param {HTMLElement} parentElement Parent element of the annotation
     */
    processAnnotation(annotation: ProgressAnnotationSettings, index: number, parentElement: HTMLElement): void;
    setElementStyle(location: ProgressLocation, element: HTMLElement, parentElement: HTMLElement): void;
    private Location;
}
//node_modules/@syncfusion/ej2-progressbar/src/progressbar/model/constant.d.ts
/**
 * corner Radius
 */
export  const lineCapRadius: number;
/**
 * complete Angle
 */
export  const completeAngle: number;
/**
 * valueChanged event
 */
export  const valueChanged: string;
/**
 * progressCompleted event
 */
export  const progressCompleted: string;
/**
 * mouseClick event
 */
export  const mouseClick: string;
/**
 * mouseDown event
 */
export  const mouseDown: string;
/**
 * mouseUp event
 */
export  const mouseUp: string;
/**
 * mouseMove event
 */
export  const mouseMove: string;
/**
 * mouseLeave event
 */
export  const mouseLeave: string;
/**
 * svgLink
 */
export  const svgLink: string;
/**
 * gradient type
 */
export  const gradientType: string;
/**
 * stop element
 */
export  const stopElement: string;
//node_modules/@syncfusion/ej2-progressbar/src/progressbar/model/index.d.ts
/**
 * Progress Bar11 component export methods
 */
//node_modules/@syncfusion/ej2-progressbar/src/progressbar/model/progress-annotation.d.ts
/**
 * Class for progress annotation
 */
export  class ProgressAnnotation extends AnnotationBase {
    private progress;
    private annotations;
    parentElement: HTMLElement;
    private animation;
    /**
     * Constructor for ProgressBar annotation
     *
     * @private
     * @param {ProgressBar} control Passed the control
     * @param {annotations} annotations ProgressAnnotationSettings
     */
    constructor(control: ProgressBar, annotations: ProgressAnnotationSettings[]);
    /**
     * Method to render the annotation for ProgressBar
     *
     * @param {Element} element Annotation element.
     * @private
     */
    renderAnnotations(element: Element): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the annotation.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-progressbar/src/progressbar/model/progress-base-model.d.ts
/**
 * Interface for a class Margin
 */
export interface MarginModel {
    /**
     * To customize top margin value
     *
     * @default 10
     */
    top?: number;
    /**
     * To customize top bottom value
     *
     * @default 10
     */
    bottom?: number;
    /**
     * To customize top left value
     *
     * @default 10
     */
    left?: number;
    /**
     * To customize top right value
     *
     * @default 10
     */
    right?: number;
}
/**
 * Interface for a class Font
 */
export interface FontModel {
    /**
     * FontStyle for the text.
     *
     * @default 'Normal'
     */
    fontStyle?: string;
    /**
     * Font size for the text.
     *
     * @default '16px'
     */
    size?: string;
    /**
     * FontWeight for the text.
     *
     * @default 'Normal'
     */
    fontWeight?: string;
    /**
     * Color for the text.
     *
     * @default ''
     */
    color?: string;
    /**
     * FontFamily for the text.
     */
    fontFamily?: string;
    /**
     * Opacity for the text.
     *
     * @default 1
     */
    opacity?: number;
    /**
     * text alignment for label
     *
     * @default Far
     */
    textAlignment?: TextAlignmentType;
    /**
     * label text
     *
     * @default ''
     */
    text?: string;
}
/**
 * Interface for a class Animation
 */
export interface AnimationModel {
    /**
     * enable
     *
     * @default false
     */
    enable?: boolean;
    /**
     * duration
     *
     * @default 2000
     */
    duration?: number;
    /**
     * delay
     *
     * @default 0
     */
    delay?: number;
}
/**
 * Interface for a class ProgressAnnotationSettings
 */
export interface ProgressAnnotationSettingsModel {
    /**
     * Content of the annotation, which accepts the id of the custom element.
     *
     * @default null
     */
    content?: string;
    /**
     * to move annotation
     *
     * @default 0
     */
    annotationAngle?: number;
    /**
     * to move annotation
     *
     * @default '0%'
     */
    annotationRadius?: string;
}
/**
 * Interface for a class RangeColor
 */
export interface RangeColorModel {
    /**
     * color
     *
     * @default null
     */
    color?: string;
    /**
     * start
     *
     * @default null
     */
    start?: number;
    /**
     * end
     *
     * @default null
     */
    end?: number;
}
//node_modules/@syncfusion/ej2-progressbar/src/progressbar/model/progress-base.d.ts
/**
 * progress bar complex interface
 */
export  class Margin extends base.ChildProperty<Margin> {
    /**
     * To customize top margin value
     *
     * @default 10
     */
    top: number;
    /**
     * To customize top bottom value
     *
     * @default 10
     */
    bottom: number;
    /**
     * To customize top left value
     *
     * @default 10
     */
    left: number;
    /**
     * To customize top right value
     *
     * @default 10
     */
    right: number;
}
/**
 * Configures the fonts in progressbar
 */
export  class Font extends base.ChildProperty<Font> {
    /**
     * FontStyle for the text.
     *
     * @default 'Normal'
     */
    fontStyle: string;
    /**
     * Font size for the text.
     *
     * @default '16px'
     */
    size: string;
    /**
     * FontWeight for the text.
     *
     * @default 'Normal'
     */
    fontWeight: string;
    /**
     * Color for the text.
     *
     * @default ''
     */
    color: string;
    /**
     * FontFamily for the text.
     */
    fontFamily: string;
    /**
     * Opacity for the text.
     *
     * @default 1
     */
    opacity: number;
    /**
     * text alignment for label
     *
     * @default Far
     */
    textAlignment: TextAlignmentType;
    /**
     * label text
     *
     * @default ''
     */
    text: string;
}
/**
 * Animation
 */
export  class Animation extends base.ChildProperty<Animation> {
    /**
     * enable
     *
     * @default false
     */
    enable: boolean;
    /**
     * duration
     *
     * @default 2000
     */
    duration: number;
    /**
     * delay
     *
     * @default 0
     */
    delay: number;
}
/**
 * Annotation
 */
export  class ProgressAnnotationSettings extends base.ChildProperty<ProgressAnnotationSettings> {
    /**
     * Content of the annotation, which accepts the id of the custom element.
     *
     * @default null
     */
    content: string;
    /**
     * to move annotation
     *
     * @default 0
     */
    annotationAngle: number;
    /**
     * to move annotation
     *
     * @default '0%'
     */
    annotationRadius: string;
}
/**
 * RangeColor
 */
export  class RangeColor extends base.ChildProperty<RangeColor> {
    /**
     * color
     *
     * @default null
     */
    color: string;
    /**
     * start
     *
     * @default null
     */
    start: number;
    /**
     * end
     *
     * @default null
     */
    end: number;
}
//node_modules/@syncfusion/ej2-progressbar/src/progressbar/model/progress-interface.d.ts
/**
 * loadedEvent for progress bar
 */
export interface ILoadedEventArgs {
    /** Defines the name of the event */
    name: string;
    /** Defines the event cancel status */
    cancel: boolean;
    /** Defines the current chart instance */
    progressBar: ProgressBar;
}
/**
 * loadedEvent for progress bar
 */
export interface ITextRenderEventArgs {
    /** Defines the text */
    cancel: boolean;
    /** Defines the text */
    text: string;
    /** Defines the color */
    color: string;
    /** Defines the current progress bar instance */
    progressBar?: ProgressBar;
}
/**
 * Event for progress bar
 */
export interface IProgressValueEventArgs {
    value: number;
    trackColor: string;
    progressColor: string;
}
/** Resize */
export interface IProgressResizeEventArgs {
    /** Defines the name of the Event */
    name: string;
    /** Defines the previous size of the progress bar */
    previousSize: Size;
    /** Defines the current size of the progress bar */
    currentSize: Size;
    /** Defines progress bar instance */
    bar: ProgressBar;
    /** cancel the event */
    cancel: boolean;
}
/** chart theme style */
export interface IProgressStyle {
    linearTrackColor: string;
    linearProgressColor: string;
    circularTrackColor: string;
    circularProgressColor: string;
    backgroundColor: string;
    fontColor: string;
    linearFontFamily: string;
    linearFontStyle: string;
    linearFontSize: string;
    circularFontFamily: string;
    circularFontStyle: string;
    circularFontSize: string;
    progressOpacity: number;
    trackOpacity: number;
    bufferOpacity: number;
    linearGapWidth: number;
    circularGapWidth: number;
    linearTrackThickness: number;
    linearProgressThickness: number;
    circularTrackThickness: number;
    circularProgressThickness: number;
    success: string;
    info: string;
    warning: string;
    danger: string;
}
export interface IProgressEventArgs {
    /** Defines the name of the event */
    name: string;
    /** Defines the event cancel status */
    cancel: boolean;
}
export interface IAnnotationRenderEventArgs extends IProgressEventArgs {
    /** Defines the current annotation content */
    content: HTMLElement;
    /** Defines the current annotation location */
    location: ProgressLocation;
}
/** Interface for LinearGradient attributes */
export interface LinearGradient {
    /** id for gradient */
    id?: string;
    /** x1 value */
    x1?: string;
    /** x2 value */
    x2?: string;
    /** y1 value */
    y1?: string;
    /** y2 value */
    y2?: string;
    /** gradientUnit for gradient */
    gradientUnits?: string;
    /** spreadMethod for gradient */
    spreadMethod?: string;
    /** gradientTransform for gradient */
    gradientTransform?: string;
}
export interface StopElement {
    /** offset value */
    offset?: string;
    /** stop-color */
    ['stop-color']?: string;
    /** stop-opacity */
    ['stop-opacity']?: string;
}
export interface IMouseEventArgs {
    target: string;
}
//node_modules/@syncfusion/ej2-progressbar/src/progressbar/progressbar-model.d.ts
/**
 * Interface for a class ProgressBar
 */
export interface ProgressBarModel extends base.ComponentModel{
    /**
     * type of the progress bar
     *
     * @default Linear
     */
    type?: ProgressType;
    /**
     * progress value
     *
     * @default null
     */
    value?: number;
    /**
     * secondary progress value
     *
     * @default null
     */
    secondaryProgress?: number;
    /**
     * minimum progress value
     *
     * @default 0
     */
    minimum?: number;
    /**
     * maximum progress value
     *
     * @default 0
     */
    maximum?: number;
    /**
     * startAngle for circular progress bar
     *
     * @default 0
     */
    startAngle?: number;
    /**
     * endAngle for circular progress bar
     *
     * @default 0
     */
    endAngle?: number;
    /**
     * track radius for circular
     *
     * @default '100%'
     */
    radius?: string;
    /**
     * progress radius for circular
     *
     * @default '100%'
     */
    innerRadius?: string;
    /**
     * segmentCount of the progress bar
     *
     * @default 1
     */
    segmentCount?: number;
    /**
     * gapwidth of the segment
     *
     * @default null
     */
    gapWidth?: number;
    /**
     * Segment color
     *
     * @default null
     */
    segmentColor?: string[];
    /**
     * corner type
     *
     * @default Auto
     */
    cornerRadius?: CornerType;
    /**
     * height of the progress bar
     *
     * @default null
     */
    height?: string;
    /**
     * width of the progress bar
     *
     * @default null
     */
    width?: string;
    /**
     * Indeterminate progress
     *
     * @default false
     */
    isIndeterminate?: boolean;
    /**
     * Active state
     *
     * @default false
     */
    isActive?: boolean;
    /**
     * gradient
     *
     * @default false
     */
    isGradient?: boolean;
    /**
     * striped
     *
     * @default false
     */
    isStriped?: boolean;
    /**
     * modes of linear progress
     *
     * @default null
     */
    role?: ModeType;
    /**
     * right to left
     *
     * @default false
     */
    enableRtl?: boolean;
    /**
     * labelOnTrack
     *
     * @default true
     */
    labelOnTrack?: boolean;
    /**
     * trackColor
     *
     * @default null
     */
    trackColor?: string;
    /**
     * progressColor
     *
     * @default null
     */
    progressColor?: string;
    /**
     * track thickness
     *
     * @default 0
     */
    trackThickness?: number;
    /**
     * progress thickness
     *
     * @default 0
     */
    progressThickness?: number;
    /**
     * pie view
     *
     * @default false
     */
    enablePieProgress?: boolean;
    /**
     * theme style
     *
     * @default Fabric
     */
    theme?: ProgressTheme;
    /**
     * label of the progress bar
     *
     * @default false
     */
    showProgressValue?: boolean;
    /**
     * disable the trackSegment
     *
     * @default false
     */
    enableProgressSegments?: boolean;
    /**
     * Option for customizing the  label text.
     */
    labelStyle?: FontModel;
    /**
     * margin size
     */
    margin?: MarginModel;
    /**
     * Animation for the progress bar
     */
    animation?: AnimationModel;
    /**
     * Triggers before the progress bar get rendered.
     *
     * @event load
     */
    load?: base.EmitType<ILoadedEventArgs>;
    /**
     * Triggers before the progress bar label renders.
     *
     * @event textRender
     */
    textRender?: base.EmitType<ITextRenderEventArgs>;
    /**
     * Triggers after the progress bar has loaded.
     *
     * @event loaded
     */
    loaded?: base.EmitType<ILoadedEventArgs>;
    /**
     * Triggers after the value has changed.
     *
     * @event valueChanged
     */
    valueChanged?: base.EmitType<IProgressValueEventArgs>;
    /**
     * Triggers after the progress value completed.
     *
     * @event progressCompleted
     */
    progressCompleted?: base.EmitType<IProgressValueEventArgs>;
    /**
     * Triggers after the animation completed.
     *
     * @event animationComplete
     */
    animationComplete?: base.EmitType<IProgressValueEventArgs>;
    /**
     * Trigger after mouse click
     *
     * @event mouseClick
     */
    mouseClick?: base.EmitType<IMouseEventArgs>;
    /**
     * Trigger after mouse move
     *
     * @event mouseMove
     */
    mouseMove?: base.EmitType<IMouseEventArgs>;
    /**
     * Trigger after mouse up
     *
     * @event mouseUp
     */
    mouseUp?: base.EmitType<IMouseEventArgs>;
    /**
     * Trigger after mouse down
     *
     * @event mouseDown
     */
    mouseDown?: base.EmitType<IMouseEventArgs>;
    /**
     * Trigger after mouse down
     *
     * @event mouseLeave
     */
    mouseLeave?: base.EmitType<IMouseEventArgs>;
    /**
     * The configuration for annotation in Progressbar.
     */
    annotations?: ProgressAnnotationSettingsModel[];
    /**
     * RangeColor in Progressbar.
     */
    rangeColors?: RangeColorModel[];
}
//node_modules/@syncfusion/ej2-progressbar/src/progressbar/progressbar.d.ts
/**
 *  progress bar control
 */
export  class ProgressBar extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    constructor(options?: ProgressBarModel, element?: string | HTMLElement);
    /**
     * type of the progress bar
     *
     * @default Linear
     */
    type: ProgressType;
    /**
     * progress value
     *
     * @default null
     */
    value: number;
    /**
     * secondary progress value
     *
     * @default null
     */
    secondaryProgress: number;
    /**
     * minimum progress value
     *
     * @default 0
     */
    minimum: number;
    /**
     * maximum progress value
     *
     * @default 0
     */
    maximum: number;
    /**
     * startAngle for circular progress bar
     *
     * @default 0
     */
    startAngle: number;
    /**
     * endAngle for circular progress bar
     *
     * @default 0
     */
    endAngle: number;
    /**
     * track radius for circular
     *
     * @default '100%'
     */
    radius: string;
    /**
     * progress radius for circular
     *
     * @default '100%'
     */
    innerRadius: string;
    /**
     * segmentCount of the progress bar
     *
     * @default 1
     */
    segmentCount: number;
    /**
     * gapwidth of the segment
     *
     * @default null
     */
    gapWidth: number;
    /**
     * Segment color
     *
     * @default null
     */
    segmentColor: string[];
    /**
     * corner type
     *
     * @default Auto
     */
    cornerRadius: CornerType;
    /**
     * height of the progress bar
     *
     * @default null
     */
    height: string;
    /**
     * width of the progress bar
     *
     * @default null
     */
    width: string;
    /**
     * Indeterminate progress
     *
     * @default false
     */
    isIndeterminate: boolean;
    /**
     * Active state
     *
     * @default false
     */
    isActive: boolean;
    /**
     * gradient
     *
     * @default false
     */
    isGradient: boolean;
    /**
     * striped
     *
     * @default false
     */
    isStriped: boolean;
    /**
     * modes of linear progress
     *
     * @default null
     */
    role: ModeType;
    /**
     * right to left
     *
     * @default false
     */
    enableRtl: boolean;
    /**
     * labelOnTrack
     *
     * @default true
     */
    labelOnTrack: boolean;
    /**
     * trackColor
     *
     * @default null
     */
    trackColor: string;
    /**
     * progressColor
     *
     * @default null
     */
    progressColor: string;
    /**
     * track thickness
     *
     * @default 0
     */
    trackThickness: number;
    /**
     * progress thickness
     *
     * @default 0
     */
    progressThickness: number;
    /**
     * pie view
     *
     * @default false
     */
    enablePieProgress: boolean;
    /**
     * theme style
     *
     * @default Fabric
     */
    theme: ProgressTheme;
    /**
     * label of the progress bar
     *
     * @default false
     */
    showProgressValue: boolean;
    /**
     * disable the trackSegment
     *
     * @default false
     */
    enableProgressSegments: boolean;
    /**
     * Option for customizing the  label text.
     */
    labelStyle: FontModel;
    /**
     * margin size
     */
    margin: MarginModel;
    /**
     * Animation for the progress bar
     */
    animation: AnimationModel;
    /**
     * Triggers before the progress bar get rendered.
     *
     * @event load
     */
    load: base.EmitType<ILoadedEventArgs>;
    /**
     * Triggers before the progress bar label renders.
     *
     * @event textRender
     */
    textRender: base.EmitType<ITextRenderEventArgs>;
    /**
     * Triggers after the progress bar has loaded.
     *
     * @event loaded
     */
    loaded: base.EmitType<ILoadedEventArgs>;
    /**
     * Triggers after the value has changed.
     *
     * @event valueChanged
     */
    valueChanged: base.EmitType<IProgressValueEventArgs>;
    /**
     * Triggers after the progress value completed.
     *
     * @event progressCompleted
     */
    progressCompleted: base.EmitType<IProgressValueEventArgs>;
    /**
     * Triggers after the animation completed.
     *
     * @event animationComplete
     */
    animationComplete: base.EmitType<IProgressValueEventArgs>;
    /**
     * Trigger after mouse click
     *
     * @event mouseClick
     */
    mouseClick: base.EmitType<IMouseEventArgs>;
    /**
     * Trigger after mouse move
     *
     * @event mouseMove
     */
    mouseMove: base.EmitType<IMouseEventArgs>;
    /**
     * Trigger after mouse up
     *
     * @event mouseUp
     */
    mouseUp: base.EmitType<IMouseEventArgs>;
    /**
     * Trigger after mouse down
     *
     * @event mouseDown
     */
    mouseDown: base.EmitType<IMouseEventArgs>;
    /**
     * Trigger after mouse down
     *
     * @event mouseLeave
     */
    mouseLeave: base.EmitType<IMouseEventArgs>;
    /**
     * The configuration for annotation in Progressbar.
     */
    annotations: ProgressAnnotationSettingsModel[];
    /**
     * RangeColor in Progressbar.
     */
    rangeColors: RangeColorModel[];
    /** @private */
    progressRect: Rect;
    /** @private */
    progressSize: Size;
    /** @private */
    renderer: svgBase.SvgRenderer;
    /** @private */
    svgObject: Element;
    /** @private */
    totalAngle: number;
    /** @private */
    trackWidth: number;
    /** @private */
    progressWidth: number;
    /** @private */
    segmentSize: string;
    /** @private */
    circularPath: string;
    /** @private */
    argsData: IProgressValueEventArgs;
    /** @private */
    themeStyle: IProgressStyle;
    /** @private */
    animatedElement: Element;
    /** @private */
    resizeBounds: any;
    /** @private */
    private resizeTo;
    /** @private */
    previousWidth: number;
    /** @private */
    previousLabelWidth: number;
    /** @private */
    previousEndAngle: number;
    /** @private */
    previousTotalEnd: number;
    /** @private */
    annotateEnd: number;
    /** @private */
    annotateTotal: number;
    /** @private */
    redraw: boolean;
    /** @private */
    clipPath: Element;
    /** @private */
    bufferClipPath: Element;
    /** @private */
    secElement: HTMLElement;
    /** @private */
    cancelResize: boolean;
    /** @private */
    linear: Linear;
    /** @private */
    circular: Circular;
    /** @private */
    annotateAnimation: ProgressAnimation;
    /** ProgressAnnotation module to use annotations */
    progressAnnotationModule: ProgressAnnotation;
    /** @private */
    /** @private */
    destroyIndeterminate: boolean;
    /**
     * controlRenderedTimeStamp used to avoid inital resize issue while theme change
     */
    private controlRenderedTimeStamp;
    getModuleName(): string;
    protected preRender(): void;
    private initPrivateVariable;
    protected render(): void;
    private controlRendering;
    /**
     * calculate size of the progress bar
     */
    private calculateProgressBarSize;
    /**
     * Render Annotation in progress bar
     */
    private renderAnnotations;
    /**
     * Render SVG Element
     */
    private renderElements;
    private createSecElement;
    /**
     * To set the left and top position for annotation for center aligned
     */
    private setSecondaryElementPosition;
    private createSVG;
    private clipPathElement;
    private renderTrack;
    private renderProgress;
    private renderLabel;
    getPathLine(x: number, width: number, thickness: number): string;
    calculateProgressRange(value: number, minimum?: number, maximum?: number): number;
    calculateSegmentSize(width: number, thickness: number): string;
    createClipPath(clipPath?: Element, range?: number, d?: string, refresh?: boolean, thickness?: number, isLabel?: boolean, isMaximum?: boolean): Element;
    /**
     * Theming for progress bar
     */
    private setTheme;
    /**
     * Annotation for progress bar
     */
    private renderAnnotation;
    /**
     * Handles the progressbar resize.
     *
     * @returns {boolean} false
     * @private
     */
    private progressResize;
    private progressMouseClick;
    private progressMouseDown;
    private progressMouseMove;
    private progressMouseUp;
    private progressMouseLeave;
    private mouseEvent;
    /**
     * Method to un-bind events for progress bar
     */
    private unWireEvents;
    /**
     * Method to bind events for bullet chart
     */
    private wireEvents;
    removeSvg(): void;
    onPropertyChanged(newProp: ProgressBarModel, oldProp: ProgressBarModel): void;
    requiredModules(): base.ModuleDeclaration[];
    getPersistData(): string;
    show(): void;
    hide(): void;
    /**
     * To destroy the widget
     *
     * @function destroy
     * @returns {void}
     * @member of ProgressBar
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-progressbar/src/progressbar/types/circular-progress.d.ts
/**
 * Progressbar of type circular
 */
export  class Circular {
    private progress;
    private delay;
    private segment;
    private animation;
    private isRange;
    private centerX;
    private centerY;
    private maxThickness;
    private availableSize;
    private trackEndAngle;
    constructor(progress: ProgressBar);
    /** To render the circular track */
    renderCircularTrack(): void;
    /** To render the circular progress */
    renderCircularProgress(previousEnd?: number, previousTotalEnd?: number, refresh?: boolean): void;
    /** To render the circular buffer */
    private renderCircularBuffer;
    /** To render the circular Label */
    renderCircularLabel(isProgressRefresh?: boolean): void;
    /** To render a progressbar active state */
    private renderActiveState;
    /** Checking the segment size */
    private validateSegmentSize;
    /** checking progress color */
    private checkingCircularProgressColor;
}
//node_modules/@syncfusion/ej2-progressbar/src/progressbar/types/index.d.ts
/**
 * Progress Bar111 component export methods
 */
//node_modules/@syncfusion/ej2-progressbar/src/progressbar/types/linear-progress.d.ts
/**
 * Progress Bar of type Linear
 */
export  class Linear {
    private progress;
    private delay;
    private segment;
    private animation;
    private isRange;
    private bufferWidth;
    constructor(progress: ProgressBar);
    /** To render the linear track  */
    renderLinearTrack(): void;
    /** To render the linear progress  */
    renderLinearProgress(refresh?: boolean, previousWidth?: number): void;
    /** To render the linear buffer */
    private renderLinearBuffer;
    /** Render the Linear Label */
    renderLinearLabel(isProgressRefresh?: boolean): void;
    /** To render a progressbar active state */
    private renderActiveState;
    /** To render a striped stroke */
    private renderLinearStriped;
    /** checking progress color */
    private checkingLinearProgressColor;
    /** Bootstrap 3 & Bootstrap 4 corner path */
    private cornerRadius;
    /** Bootstrap 3 & Bootstrap 4 corner segment */
    createRoundCornerSegment(id: string, stroke: string, thickness: number, isTrack: boolean, progressWidth: number, progress: ProgressBar, opacity?: number): Element;
}
//node_modules/@syncfusion/ej2-progressbar/src/progressbar/types/segment-progress.d.ts
/**
 * Progressbar Segment
 */
export  class Segment {
    /** To render the linear segment */
    createLinearSegment(progress: ProgressBar, id: string, width: number, opacity: number, thickness: number, progressWidth: number): Element;
    private getLinearSegmentPath;
    /** To render the circular segment */
    createCircularSegment(progress: ProgressBar, id: string, x: number, y: number, r: number, value: number, opacity: number, thickness: number, totalAngle: number, progressWidth: number): Element;
    private widthToAngle;
    createLinearRange(totalWidth: number, progress: ProgressBar): Element;
    createCircularRange(centerX: number, centerY: number, radius: number, progress: ProgressBar): Element;
    private setLinearGradientColor;
    private setCircularGradientColor;
}
//node_modules/@syncfusion/ej2-progressbar/src/progressbar/utils/enum.d.ts
/**
 * progress bar type
 */
export  type ProgressType = 
/** linear */
'Linear' | 
/** circular */
'Circular';
/**
 * Corner type
 */
export  type CornerType = 
/** Auto will change based on theme */
'Auto' | 
/** square */
'Square' | 
/** Round */
'Round' | 
/** Round4px */
'Round4px';
/**
 * theme
 */
export  type ProgressTheme = 
/** Material */
'Material' | 
/** Fabric */
'Fabric' | 
/** Bootstrap */
'Bootstrap' | 
/** Bootstrap4 */
'Bootstrap4' | 
/** HighContrast */
'HighContrast' | 
/** Tailwind */
'Tailwind' | 
/** TailwindDark */
'TailwindDark' | 
/** FabricDark */
'FabricDark' | 
/** BootstrapDark */
'BootstrapDark' | 
/** MaterialDark */
'MaterialDark' | 
/** Bootstrap5 */
'Bootstrap5' | 
/** Bootstrap5Dark */
'Bootstrap5Dark' | 
/** Fluent */
'Fluent' | 
/** FluentDark */
'FluentDark';
/**
 * Text alignment
 */
export  type TextAlignmentType = 
/** Near */
'Near' | 
/** Center */
'Center' | 
/** Far */
'Far';
/**
 * Linear modes
 */
export  type ModeType = 'Auto' | 'Success' | 'Info' | 'Danger' | 'Warning';
//node_modules/@syncfusion/ej2-progressbar/src/progressbar/utils/helper.d.ts
/**
 * helper for progress bar
 */
/** @private */
export  class Rect {
    x: number;
    y: number;
    height: number;
    width: number;
    constructor(x: number, y: number, height: number, width: number);
}
/** @private */
export  class Size {
    height: number;
    width: number;
    constructor(height: number, width: number);
}
/** @private */
export  class Pos {
    x: number;
    y: number;
    constructor(x: number, y: number);
}
/** @private */
export  class RectOption extends svgBase.PathOption {
    x: number;
    y: number;
    height: number;
    width: number;
    rx: number;
    ry: number;
    transform: string;
    constructor(id: string, fill: string, width: number, color: string, opacity: number, rect: Rect, rx?: number, ry?: number, transform?: string, dashArray?: string);
}
/** @private */
export  class ColorValue {
    r: number;
    g: number;
    b: number;
    constructor(r?: number, g?: number, b?: number);
}
/** @private */
export  function convertToHexCode(value: ColorValue): string;
/** @private */
export  function componentToHex(value: number): string;
/** @private */
export  function convertHexToColor(hex: string): ColorValue;
/** @private */
export  function colorNameToHex(color: string): string;
/** @private */
export  class TextOption {
    id: string;
    ['font-size']: string;
    ['font-style']: string;
    ['font-family']: string;
    ['font-weight']: string;
    ['text-anchor']: string;
    fill: string;
    x: number;
    y: number;
    width: number;
    height: number;
    constructor(id: string, fontSize: string, fontStyle: string, fontFamily: string, fontWeight: string, textAnchor: string, fill: string, x: number, y: number, width?: number, height?: number);
}
/** calculate the start and end point of circle */
export  function degreeToLocation(centerX: number, centerY: number, radius: number, angleInDegrees: number): Pos;
/** calculate the path of the circle */
export  function getPathArc(x: number, y: number, radius: number, startAngle: number, endAngle: number, enableRtl: boolean, pieView?: boolean): string;
/** @private */
export  function stringToNumber(value: string, containerSize: number): number;
/** @private */
export  function setAttributes(options: any, element: Element): Element;
/**
 * Animation Effect Calculation
 *
 * @private
 */
export  function effect(currentTime: number, startValue: number, endValue: number, duration: number, enableRtl: boolean): number;
/**
 * @private
 */
export  const annotationRender: string;
/**
 * @private
 */
export  function getElement(id: string): Element;
/**
 * @private
 */
export  function removeElement(id: string | Element): void;
/**
 * @private
 */
export  class ProgressLocation {
    x: number;
    y: number;
    constructor(x: number, y: number);
}
//node_modules/@syncfusion/ej2-progressbar/src/progressbar/utils/index.d.ts
/**
 * Progress Bar1111 component export methods
 */
//node_modules/@syncfusion/ej2-progressbar/src/progressbar/utils/progress-animation.d.ts
/**
 * Animation for progress bar
 */
export  class ProgressAnimation {
    /** Linear Animation */
    doLinearAnimation(element: Element, progress: ProgressBar, delay: number, previousWidth?: number, active?: Element): void;
    /** Linear Indeterminate */
    doLinearIndeterminate(element: Element, progressWidth: number, thickness: number, progress: ProgressBar, clipPath: Element): void;
    /** Linear striped */
    doStripedAnimation(element: Element, progress: ProgressBar, value: number): void;
    /** Circular animation */
    doCircularAnimation(x: number, y: number, radius: number, progressEnd: number, totalEnd: number, element: Element, progress: ProgressBar, thickness: number, delay: number, startValue?: number, previousTotal?: number, active?: Element): void;
    /** Circular indeterminate */
    doCircularIndeterminate(circularProgress: Element, progress: ProgressBar, start: number, end: number, x: number, y: number, radius: number, thickness: number, clipPath: Element): void;
    /** To do the label animation for progress bar */
    doLabelAnimation(labelPath: Element, start: number, end: number, progress: ProgressBar, delay: number, textSize?: number): void;
    /** To do the annotation animation for circular progress bar */
    doAnnotationAnimation(circularPath: Element, progress: ProgressBar, previousEnd?: number, previousTotal?: number): void;
    private activeAnimate;
}
//node_modules/@syncfusion/ej2-progressbar/src/progressbar/utils/theme.d.ts
/**
 * Theme of the progressbar
 */
/** @private */
export  function getProgressThemeColor(theme: ProgressTheme): IProgressStyle;
 }
export namespace querybuilder { 

//node_modules/@syncfusion/ej2-querybuilder/src/index.d.ts
/**
 * QueryBuilder all modules
 */
//node_modules/@syncfusion/ej2-querybuilder/src/query-builder/index.d.ts
/**
 * QueryBuilder modules
 */
//node_modules/@syncfusion/ej2-querybuilder/src/query-builder/query-builder-model.d.ts
/**
 * Interface for a class Columns
 */
export interface ColumnsModel {
    /**
      * Specifies the fields in columns.
      *
      * @default null
      */
    field?: string;
    /**
      * Specifies the labels name in columns.
      *
      * @default null
      */
    label?: string;
    /**
      * Specifies the types in columns field.
      *
      * @default null
      */
    type?: string;
    /**
      * Specifies the values in columns or bind the values from sub controls.
      *
      * @default null
      */
    values?: string[] | number[] | boolean[];
    /**
      * Specifies the operators in columns.
      *
      * @default null
      */
    operators?: { [key: string]: Object }[];
    /**
      * Specifies the rule template for the field with any other widgets.
      *
      * @default null
      */
    ruleTemplate?: string;
    /**
      * Specifies the template for value field such as slider or any other widgets.
      *
      * @default null
      */
    template?: TemplateColumn | string;
    /**
      * Specifies the validation for columns (text, number and date).
      *
      * @default  { isRequired: true , min: 0, max: Number.MAX_VALUE }
      */
    validation?: Validation;
    /**
      * Specifies the date format for columns.
      *
      * @aspType string
      * @blazorType string
      * @default null
      */
    format?: string | FormatObject;
    /**
      * Specifies the step value(numeric textbox) for columns.
      *
      * @default null
      */
    step?: number;
    /**
      * Specifies the default value for columns.
      *
      * @default null
      */
    value?:  string[] | number[] | string | number | boolean | Date;
    /**
      * Specifies the category for columns.
      *
      * @default null
      */
    category?: string;
    /**
      * Specifies the sub fields in columns.
      *
      * @default null
      *
      */
    columns?: ColumnsModel[];
}
/**
 * Interface for a class Rule
 */
export interface RuleModel {
    /**
      * Specifies the condition value in group.
      *
      * @default null
      */
    condition?: string;
    /**
      * Specifies the rules in group.
      *
      * @default []
      */
    rules?: RuleModel[];
    /**
      * Specifies the field value in group.
      *
      * @default null
      */
    field?: string;
    /**
      * Specifies the label value in group.
      *
      * @default null
      */
    label?: string;
    /**
      * Specifies the type value in group.
      *
      * @default null
      */
    type?: string;
    /**
      * Specifies the operator value in group.
      *
      * @default null
      */
    operator?: string;
    /**
      * Specifies the sub controls value in group.
      *
      * @default null
      */
    value?: string[] | number[] | string | number | boolean;
    /**
      * Specifies whether not condition is true/false.
      *
      * @default false
      */
    not?: boolean;
}
/**
 * Interface for a class Value
 */
export interface ValueModel {
    /**
      * Specifies the property for inputs.NumericTextBox value.
      *
      * @default null
      */
    numericTextBoxModel?: inputs.NumericTextBoxModel;
    /**
      * Specifies the property for dropdowns.MultiSelect value.
      *
      * @default null
      */
    multiSelectModel?: dropdowns.MultiSelectModel;
    /**
      *  Specifies the property for calendars.DatePicker value.
      *
      * @default null
      */
    datePickerModel?: calendars.DatePickerModel;
    /**
      *  Specifies the inputs.TextBox value.
      *
      * @default null
      */
    textBoxModel?: inputs.TextBoxModel;
    /**
      * Specifies the buttons.RadioButton value.
      *
      * @default null
      */
    radioButtonModel?: buttons.RadioButtonModel;
}
/**
 * Interface for a class ShowButtons
 */
export interface ShowButtonsModel {
    /**
      * Specifies the boolean value in ruleDelete that the enable/disable the buttons in rule.
      *
      * @default true
      */
    ruleDelete?: boolean;
    /**
      * Specifies the boolean value in groupInsert that the enable/disable the buttons in group.
      *
      * @default true
      */
    groupInsert?: boolean;
    /**
      * Specifies the boolean value in groupDelete that the enable/disable the buttons in group.
      *
      * @default true
      */
    groupDelete?: boolean;
}
/**
 * Interface for a class QueryBuilder
 */
export interface QueryBuilderModel extends base.ComponentModel{
    /**
      * Triggers when the component is created.
      *
      * @event created
      * @blazorProperty 'Created'
      */
    created?: base.EmitType<Event>;
    /**
      * Triggers when field, operator, value is change.
      *
      * @event actionBegin
      * @blazorProperty 'OnActionBegin'
      */
    actionBegin?: base.EmitType<ActionEventArgs>;
    /**
      * Triggers before the condition (And/Or), field, operator, value is changed.
      *
      * @event beforeChange
      * @blazorProperty 'OnValueChange'
      */
    beforeChange?: base.EmitType<ChangeEventArgs>;
    /**
      * Triggers when changing the condition(AND/OR), field, value, operator is changed.
      *
      * @event change
      * @blazorProperty 'Changed'
      */
    change?: base.EmitType<ChangeEventArgs>;
    /**
      * Triggers when dataBound to the data.Query Builder.
      *
      * @event dataBound
      * @blazorProperty 'dataBound'
      */
    dataBound?: base.EmitType<Object>;
    /**
      * Triggers when changing the condition(AND/OR), field, value, operator is changed
      *
      * @event ruleChange
      * @blazorProperty 'RuleChanged'
      */
    ruleChange?: base.EmitType<RuleChangeEventArgs>;
    /**
      * Specifies the showButtons settings of the query builder component.
      * The showButtons can be enable Enables or disables the ruleDelete, groupInsert, and groupDelete buttons.
      *
      * @default { ruleDelete: true , groupInsert: true, groupDelete: true }
      */
    showButtons?: ShowButtonsModel;
    /**
      * Shows or hides the filtered query.
      *
      * @default false
      */
    summaryView?: boolean;
    /**
      * Enables or disables the validation.
      *
      * @default false
      */
    allowValidation?: boolean;
    /**
      * Specifies the fieldMode as dropdowns.DropDownList or dropdowns.DropDownTree.
      *
      * @default 'Default'
      */
    fieldMode?: FieldMode;
    /**
      * Specifies columns to create filters.
      *
      * @default {}
      */
    columns?: ColumnsModel[];
    /**
      * Specifies the property for field.
      *
      *  @default null
      */
    fieldModel?: dropdowns.DropDownListModel | dropdowns.DropDownTreeModel;
    /**
      * Specifies the property for operator.
      *
      *  @default null
      */
    operatorModel?: dropdowns.DropDownListModel;
    /**
      * Specifies the property for value.
      *
      * @default null
      */
    valueModel?: ValueModel;
    /**
      * Specifies the template for the header with any other widgets.
      *
      * @default null
      */
    headerTemplate?: string;
    /**
      * Defines class or multiple classes, which are separated by a space in the QueryBuilder element.
      * You can add custom styles to the QueryBuilder using the cssClass property.
      *
      * @default ''
      */
    cssClass?: string;
    /**
      * Binds the column name from data source in query-builder.
      * The `dataSource` is an array of JavaScript objects.
      *
      * @default []
      */
    dataSource?: Object[] | Object | data.DataManager;
    /**
      * Specifies the displayMode as Horizontal or Vertical.
      *
      * @default 'Horizontal'
      */
    displayMode?: DisplayMode;
    /**
      * Enable or disable persisting component's state between page reloads.
      * If enabled, filter states will be persisted.
      *
      * @default false.
      */
    enablePersistence?: boolean;
    /**
      * Specifies the sort direction of the field names.
      *
      * @default 'Default'
      */
    sortDirection?: SortDirection;
    /**
      * Specifies the maximum group count or restricts the group count.
      *
      * @default 5
      */
    maxGroupCount?: number;
    /**
      * Specifies the height of the query builder.
      *
      * @default 'auto'
      */
    height?: string;
    /**
      * Specifies the width of the query builder.
      *
      * @default 'auto'
      */
    width?: string;
    /**
      * If match case is set to true, the grid filters the records with exact match.
      * if false, it filters case insensitive records (uppercase and lowercase letters treated the same).
      *
      * @default false
      */
    matchCase?: boolean;
    /**
      * If immediateModeDelay is set by particular number, the rule Change event is triggered after that period.
      *
      * @default 0
      */
    immediateModeDelay?: number;
    /**
      * Enables/Disables the not group condition in query builder.
      *
      * @default false
      */
    enableNotCondition?: boolean;
    /**
      * When set to true, the user interactions on the component are disabled.
      *
      * @default false
      */
    readonly?: boolean;
    /**
      * Specifies the separator string for column.
      *
      * @default ''
      */
    separator?: string;
    /**
      * Defines rules in the QueryBuilder.
      * Specifies the initial rule, which is JSON data.
      *
      * @default {}
      */
    rule?: RuleModel;
}
//node_modules/@syncfusion/ej2-querybuilder/src/query-builder/query-builder.d.ts
/**
 * data.Query Builder Source
 */
/**
 * Defines the Columns of data.Query Builder
 */
export  class Columns extends base.ChildProperty<Columns> {
    /**
     * Specifies the fields in columns.
     *
     * @default null
     */
    field: string;
    /**
     * Specifies the labels name in columns.
     *
     * @default null
     */
    label: string;
    /**
     * Specifies the types in columns field.
     *
     * @default null
     */
    type: string;
    /**
     * Specifies the values in columns or bind the values from sub controls.
     *
     * @default null
     */
    values: string[] | number[] | boolean[];
    /**
     * Specifies the operators in columns.
     *
     * @default null
     */
    operators: {
        [key: string]: Object;
    }[];
    /**
     * Specifies the rule template for the field with any other widgets.
     *
     * @default null
     */
    ruleTemplate: string;
    /**
     * Specifies the template for value field such as slider or any other widgets.
     *
     * @default null
     */
    template: TemplateColumn | string;
    /**
     * Specifies the validation for columns (text, number and date).
     *
     * @default  { isRequired: true , min: 0, max: Number.MAX_VALUE }
     */
    validation: Validation;
    /**
     * Specifies the date format for columns.
     *
     * @aspType string
     * @blazorType string
     * @default null
     */
    format: string | FormatObject;
    /**
     * Specifies the step value(numeric textbox) for columns.
     *
     * @default null
     */
    step: number;
    /**
     * Specifies the default value for columns.
     *
     * @default null
     */
    value: string[] | number[] | string | number | boolean | Date;
    /**
     * Specifies the category for columns.
     *
     * @default null
     */
    category: string;
    /**
     * Specifies the sub fields in columns.
     *
     * @default null
     *
     */
    columns: ColumnsModel[];
}
/**
 * Defines the rule of data.Query Builder
 */
export  class Rule extends base.ChildProperty<Rule> {
    /**
     * Specifies the condition value in group.
     *
     * @default null
     */
    condition: string;
    /**
     * Specifies the rules in group.
     *
     * @default []
     */
    rules: RuleModel[];
    /**
     * Specifies the field value in group.
     *
     * @default null
     */
    field: string;
    /**
     * Specifies the label value in group.
     *
     * @default null
     */
    label: string;
    /**
     * Specifies the type value in group.
     *
     * @default null
     */
    type: string;
    /**
     * Specifies the operator value in group.
     *
     * @default null
     */
    operator: string;
    /**
     * Specifies the sub controls value in group.
     *
     * @default null
     */
    value: string[] | number[] | string | number | boolean;
    /**
     * Specifies whether not condition is true/false.
     *
     * @default false
     */
    not: boolean;
}
/**
 * Defines the property for value.
 */
export  class Value extends base.ChildProperty<Value> {
    /**
     * Specifies the property for NumericTextBox value.
     *
     * @default null
     */
    numericTextBoxModel: inputs.NumericTextBoxModel;
    /**
     * Specifies the property for MultiSelect value.
     *
     * @default null
     */
    multiSelectModel: dropdowns.MultiSelectModel;
    /**
     *  Specifies the property for DatePicker value.
     *
     * @default null
     */
    datePickerModel: calendars.DatePickerModel;
    /**
     *  Specifies the TextBox value.
     *
     * @default null
     */
    textBoxModel: inputs.TextBoxModel;
    /**
     * Specifies the RadioButton value.
     *
     * @default null
     */
    radioButtonModel: buttons.RadioButtonModel;
}
/**
 * Defines the ruleDelete, groupInsert, and groupDelete options of data.Query Builder.
 */
export  class ShowButtons extends base.ChildProperty<ShowButtons> {
    /**
     * Specifies the boolean value in ruleDelete that the enable/disable the buttons in rule.
     *
     * @default true
     */
    ruleDelete: boolean;
    /**
     * Specifies the boolean value in groupInsert that the enable/disable the buttons in group.
     *
     * @default true
     */
    groupInsert: boolean;
    /**
     * Specifies the boolean value in groupDelete that the enable/disable the buttons in group.
     *
     * @default true
     */
    groupDelete: boolean;
}
export interface FormatObject {
    /**
     * Specifies the format in which the date format will process
     */
    skeleton?: string;
}
/**
 * Specifies the fieldMode as DropDownList or DropDownTree.
 */
export  type FieldMode = 
/** Display the DropdownList */
'Default' | 
/** Display the DropdownTree */
'DropdownTree';
/**
 * Specifies the displayMode as Horizontal or Vertical.
 */
export  type DisplayMode = 
/**  Display the Horizontal UI */
'Horizontal' | 
/**  Display the Vertical UI */
'Vertical';
/**
 * Specifies the sort direction of the field names. They are
 * * Default
 * * Ascending
 * * Descending
 */
export  type SortDirection = 
/**  Show the field names in default */
'Default' | 
/**  Show the field names in Ascending */
'Ascending' | 
/**  Show the field names in Descending */
'Descending';
export  class QueryBuilder extends base.Component<HTMLDivElement> implements base.INotifyPropertyChanged {
    private groupIdCounter;
    private ruleIdCounter;
    private subFilterCounter;
    private btnGroupId;
    private levelColl;
    private isImportRules;
    private isPublic;
    private parser;
    private defaultLocale;
    private l10n;
    private intl;
    private items;
    private customOperators;
    private operators;
    private ruleElem;
    private groupElem;
    private dataColl;
    private dataManager;
    private selectedColumn;
    private previousColumn;
    private actionButton;
    private isInitialLoad;
    private timer;
    private isReadonly;
    private fields;
    private columnTemplateFn;
    private target;
    private updatedRule;
    private ruleTemplateFn;
    private isLocale;
    private isRefreshed;
    private headerFn;
    private subFieldElem;
    private selectedRule;
    private isNotified;
    private isAddSuccess;
    private isNotValueChange;
    private isRoot;
    private prevItemData;
    private isFieldChange;
    private isFieldClose;
    private isDestroy;
    private isGetNestedData;
    /**
     * Triggers when the component is created.
     *
     * @event created
     * @blazorProperty 'Created'
     */
    created: base.EmitType<Event>;
    /**
     * Triggers when field, operator, value is change.
     *
     * @event actionBegin
     * @blazorProperty 'OnActionBegin'
     */
    actionBegin: base.EmitType<ActionEventArgs>;
    /**
     * Triggers before the condition (And/Or), field, operator, value is changed.
     *
     * @event beforeChange
     * @blazorProperty 'OnValueChange'
     */
    beforeChange: base.EmitType<ChangeEventArgs>;
    /**
     * Triggers when changing the condition(AND/OR), field, value, operator is changed.
     *
     * @event change
     * @blazorProperty 'Changed'
     */
    change: base.EmitType<ChangeEventArgs>;
    /**
     * Triggers when dataBound to the data.Query Builder.
     *
     * @event dataBound
     * @blazorProperty 'dataBound'
     */
    dataBound: base.EmitType<Object>;
    /**
     * Triggers when changing the condition(AND/OR), field, value, operator is changed
     *
     * @event ruleChange
     * @blazorProperty 'RuleChanged'
     */
    ruleChange: base.EmitType<RuleChangeEventArgs>;
    /**
     * Specifies the showButtons settings of the query builder component.
     * The showButtons can be enable Enables or disables the ruleDelete, groupInsert, and groupDelete buttons.
     *
     * @default { ruleDelete: true , groupInsert: true, groupDelete: true }
     */
    showButtons: ShowButtonsModel;
    /**
     * Shows or hides the filtered query.
     *
     * @default false
     */
    summaryView: boolean;
    /**
     * Enables or disables the validation.
     *
     * @default false
     */
    allowValidation: boolean;
    /**
     * Specifies the fieldMode as DropDownList or DropDownTree.
     *
     * @default 'Default'
     */
    fieldMode: FieldMode;
    /**
     * Specifies columns to create filters.
     *
     * @default {}
     */
    columns: ColumnsModel[];
    /**
     * Specifies the property for field.
     *
     *  @default null
     */
    fieldModel: dropdowns.DropDownListModel | dropdowns.DropDownTreeModel;
    /**
     * Specifies the property for operator.
     *
     *  @default null
     */
    operatorModel: dropdowns.DropDownListModel;
    /**
     * Specifies the property for value.
     *
     * @default null
     */
    valueModel: ValueModel;
    /**
     * Specifies the template for the header with any other widgets.
     *
     * @default null
     */
    headerTemplate: string;
    /**
     * Defines class or multiple classes, which are separated by a space in the QueryBuilder element.
     * You can add custom styles to the QueryBuilder using the cssClass property.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * Binds the column name from data source in query-builder.
     * The `dataSource` is an array of JavaScript objects.
     *
     * @default []
     */
    dataSource: Object[] | Object | data.DataManager;
    /**
     * Specifies the displayMode as Horizontal or Vertical.
     *
     * @default 'Horizontal'
     */
    displayMode: DisplayMode;
    /**
     * Enable or disable persisting component's state between page reloads.
     * If enabled, filter states will be persisted.
     *
     * @default false.
     */
    enablePersistence: boolean;
    /**
     * Specifies the sort direction of the field names.
     *
     * @default 'Default'
     */
    sortDirection: SortDirection;
    /**
     * Specifies the maximum group count or restricts the group count.
     *
     * @default 5
     */
    maxGroupCount: number;
    /**
     * Specifies the height of the query builder.
     *
     * @default 'auto'
     */
    height: string;
    /**
     * Specifies the width of the query builder.
     *
     * @default 'auto'
     */
    width: string;
    /**
     * If match case is set to true, the grid filters the records with exact match.
     * if false, it filters case insensitive records (uppercase and lowercase letters treated the same).
     *
     * @default false
     */
    matchCase: boolean;
    /**
     * If immediateModeDelay is set by particular number, the rule Change event is triggered after that period.
     *
     * @default 0
     */
    immediateModeDelay: number;
    /**
     * Enables/Disables the not group condition in query builder.
     *
     * @default false
     */
    enableNotCondition: boolean;
    /**
     * When set to true, the user interactions on the component are disabled.
     *
     * @default false
     */
    readonly: boolean;
    /**
     * Specifies the separator string for column.
     *
     * @default ''
     */
    separator: string;
    /**
     * Defines rules in the QueryBuilder.
     * Specifies the initial rule, which is JSON data.
     *
     * @default {}
     */
    rule: RuleModel;
    constructor(options?: QueryBuilderModel, element?: string | HTMLDivElement);
    protected getPersistData(): string;
    /**
     * Clears the rules without root rule.
     *
     * @returns {void}.
     */
    reset(): void;
    private getWrapper;
    protected getModuleName(): string;
    private GetRootColumnName;
    private initialize;
    private updateSubFieldsFromColumns;
    private updateSubFields;
    private updateCustomOperator;
    private focusEventHandler;
    private clickEventHandler;
    private beforeSuccessCallBack;
    private selectBtn;
    private appendRuleElem;
    private addRuleElement;
    private addRuleSuccessCallBack;
    private updateAddedRule;
    private changeRuleTemplate;
    private renderToolTip;
    /**
     * Validate the conditions and it display errors for invalid fields.
     *
     * @returns {boolean} - Validation
     */
    validateFields(): boolean;
    private refreshLevelColl;
    private refreshLevel;
    private groupTemplate;
    private ruleTemplate;
    private addGroupElement;
    private addGroupSuccess;
    private headerTemplateFn;
    /**
     * notify the changes to component.
     *
     * @param {string | number | boolean | Date | string[] | number[] | Date[]} value - 'value' to be passed to update the rule value.
     * @param {Element} element - 'element' to be passed to update the rule.
     * @param {string} type - 'type' to be passed to update the rule .
     * @returns {void}.
     */
    notifyChange(value: string | number | boolean | Date | string[] | number[] | Date[], element: Element, type?: string): void;
    private templateChange;
    private changeValue;
    private filterValue;
    private changeValueSuccessCallBack;
    private fieldClose;
    private changeField;
    private changeRule;
    private changeFilter;
    private changeOperator;
    private fieldChangeSuccess;
    private destroySubFields;
    private createSubFields;
    private operatorChangeSuccess;
    private changeRuleValues;
    private popupOpen;
    private destroyControls;
    private templateDestroy;
    /**
     * return values bound to the column.
     *
     * @param {string} field - 'field' to be passed to get the field values.
     * @returns {object[]} - Values bound to the column
     */
    getValues(field: string): object[];
    private createNestedObject;
    private getDistinctValues;
    private renderMultiSelect;
    private multiSelectOpen;
    private bindMultiSelectData;
    private getMultiSelectData;
    private createSpinner;
    private closePopup;
    private processTemplate;
    private getItemData;
    private setDefaultValue;
    private renderStringValue;
    private renderNumberValue;
    private processValueString;
    private parseDate;
    private renderControls;
    private processBoolValues;
    private getOperatorIndex;
    private getPreviousItemData;
    private renderValues;
    private setColumnTemplate;
    private actionBeginSuccessCallBack;
    private updateValues;
    private updateRules;
    private filterRules;
    private ruleValueUpdate;
    private validatValue;
    private getFormat;
    private findGroupByIdx;
    /**
     * Removes the component from the DOM and detaches all its related event handlers.
     * Also it maintains the initial input element from the DOM.
     *
     * @method destroy
     * @returns {void}
     */
    destroy(): void;
    /**
     * Adds single or multiple rules.
     *
     * @param {RuleModel[]} rule - 'rule collection' to be passed to add the rules.
     * @param {string} groupID - 'group id' to be passed to add the rule in groups.
     * @returns {void}.
     */
    addRules(rule: RuleModel[], groupID: string): void;
    /**
     * Adds single or multiple groups, which contains the collection of rules.
     *
     * @param {RuleModel[]} groups - 'group collection' to be passed to add the groups.
     * @param {string} groupID - 'group id' to be passed to add the groups.
     * @returns {void}.
     */
    addGroups(groups: RuleModel[], groupID: string): void;
    private initWrapper;
    private renderSummary;
    private renderSummaryCollapse;
    private columnSort;
    private onChangeNotGroup;
    private notGroupRtl;
    private checkNotGroup;
    onPropertyChanged(newProp: QueryBuilderModel, oldProp: QueryBuilderModel): void;
    protected preRender(): void;
    protected render(): void;
    private templateParser;
    private executeDataManager;
    private initControl;
    protected wireEvents(): void;
    protected unWireEvents(): void;
    private getParentGroup;
    /**
     * Delete the Group
     *
     * @param {Element | string} target - 'target' to be passed to delete the group.
     * @returns {void}
     */
    deleteGroup(target: Element | string): void;
    private deleteGroupSuccessCallBack;
    private isPlatformTemplate;
    private deleteRule;
    private deleteRuleSuccessCallBack;
    private setGroupRules;
    private keyBoardHandler;
    private clearQBTemplate;
    private disableRuleCondition;
    /**
     * Get the valid rule or rules collection.
     *
     * @param {RuleModel} currentRule - 'currentRule' to be passed to get the valid rules.
     * @returns {RuleModel} - Valid rule or rules collection
     */
    getValidRules(currentRule?: RuleModel): RuleModel;
    private getRuleCollection;
    /**
     * Set the rule or rules collection.
     *
     * @param {RuleModel} rule - 'rule' to be passed to set rules.
     * @returns {void}.
     */
    setRules(rule: RuleModel): void;
    /**
     * Gets the rule or rule collection.
     *
     * @returns {object} - Rule or rule collection
     */
    getRules(): RuleModel;
    /**
     * Gets the rule.
     *
     * @param {string | HTMLElement} elem - 'elem' to be passed to get rule.
     * @returns {object} - Rule
     */
    getRule(elem: string | HTMLElement): RuleModel;
    /**
     * Gets the group.
     *
     * @param {string | Element} target - 'target' to be passed to get group.
     * @returns {object} -Group
     */
    getGroup(target: Element | string): RuleModel;
    /**
     * Deletes the group or groups based on the group ID.
     *
     * @param {string[]} groupIdColl - 'groupIdColl' to be passed to delete groups.
     * @returns {void}
     */
    deleteGroups(groupIdColl: string[]): void;
    /**
     * return the data.Query from current rules collection.
     *
     * @returns {Promise} - data.Query from current rules collection
     * @blazorType object
     */
    getFilteredRecords(): Promise<Object> | object;
    /**
     * Deletes the rule or rules based on the rule ID.
     *
     * @param {string[]} ruleIdColl - 'ruleIdColl' to be passed to delete rules.
     * @returns {void}.
     */
    deleteRules(ruleIdColl: string[]): void;
    /**
     * Gets the query for Data Manager.
     *
     * @param {RuleModel} rule - 'rule' to be passed to get query.
     * @returns {string} - data.Query for Data Manager
     */
    getDataManagerQuery(rule: RuleModel): data.Query;
    /**
     * Get the predicate from collection of rules.
     *
     * @param {RuleModel} rule - 'rule' to be passed to get predicate.
     * @returns {data.Predicate} - data.Predicate from collection of rules
     */
    getPredicate(rule: RuleModel): data.Predicate;
    private getLocale;
    private getColumn;
    /**
     * return the operator bound to the column.
     *
     * @returns {[key: string]: Object}[] - Operator bound to the column
     */
    getOperators(field: string): {
        [key: string]: Object;
    }[];
    private setTime;
    private datePredicate;
    private arrayPredicate;
    private getDate;
    private isTime;
    private renderGroup;
    private renderRule;
    private enableReadonly;
    private enableBtnGroup;
    private isDateFunction;
    private getSqlString;
    /**
     * Sets the rules from the sql query.
     *
     * @param {string} sqlString - 'sql String' to be passed to set the rule.
     * @returns {void}
     */
    setRulesFromSql(sqlString: string): void;
    /**
     * Get the rules from SQL query.
     *
     * @param {string} sqlString - 'sql String' to be passed to get the rule.
     * @returns {object} - Rules from SQL query
     */
    getRulesFromSql(sqlString: string): RuleModel;
    /**
     * Gets the sql query from rules.
     *
     * @param {RuleModel} rule - 'rule' to be passed to get the sql.
     * @param {boolean} allowEscape - Set `true` if it exclude the escape character.
     * @returns {object} - Sql query from rules.
     */
    getSqlFromRules(rule?: RuleModel, allowEscape?: boolean): string;
    private sqlParser;
    private parseSqlStrings;
    private checkLiteral;
    private checkNumberLiteral;
    private getOperator;
    private getTypeFromColumn;
    private getLabelFromColumn;
    private getLabelFromField;
    private processParser;
}
export interface Level {
    [key: string]: number[];
}
/**
 * Creates the custom component of data.Query Builder
 */
export interface TemplateColumn {
    /**
     * Creates the custom component.
     *
     * @default null
     */
    create?: Element | Function | string;
    /**
     * Wire events for the custom component.
     *
     * @default null
     */
    write?: void | Function | string;
    /**
     * Destroy the custom component.
     *
     * @default null
     */
    destroy?: Function | string;
}
/**
 * Defines the validation of data.Query Builder.
 */
export interface Validation {
    /**
     * Specifies the minimum value in textbox validation.
     *
     * @default 2
     */
    min?: number;
    /**
     * Specifies the maximum value in textbox validation.
     *
     * @default 10
     */
    max?: number;
    /**
     * Specifies whether the value is required or not
     *
     * @default true
     */
    isRequired: boolean;
}
/**
 * Interface for change event.
 */
export interface ChangeEventArgs extends base.BaseEventArgs {
    groupID: string;
    ruleID?: string;
    childGroupID?: string;
    value?: string | number | Date | boolean | string[];
    selectedIndex?: number;
    selectedField?: string;
    cancel?: boolean;
    type?: string;
    not?: boolean;
}
/**
 * Interface for rule change event arguments.
 */
export interface RuleChangeEventArgs extends base.BaseEventArgs {
    previousRule?: RuleModel;
    rule: RuleModel;
    type?: string;
}
/**
 * Interface for action begin and action complete event args
 */
export interface ActionEventArgs extends base.BaseEventArgs {
    ruleID: string;
    requestType?: string;
    action?: string;
    rule?: RuleModel;
    fields?: Object;
    columns?: ColumnsModel[];
    operators?: {
        [key: string]: Object;
    }[];
    operatorFields?: Object;
    field?: string;
    operator?: string;
    condition?: string;
    notCondition?: boolean;
    renderTemplate?: boolean;
}
 }
export namespace richtexteditor { 

//node_modules/@syncfusion/ej2-richtexteditor/src/common/config.d.ts
/**
 * Default Markdown formats config for adapter
 */
export  const markdownFormatTags: {
    [key: string]: string;
};
/**
 * Default selection formats config for adapter
 */
export  const markdownSelectionTags: {
    [key: string]: string;
};
/**
 * Default Markdown lists config for adapter
 */
export  const markdownListsTags: {
    [key: string]: string;
};
/**
 * Default html key config for adapter
 */
export  const htmlKeyConfig: {
    [key: string]: string;
};
/**
 * Default  markdown key config for adapter
 */
export  const markdownKeyConfig: {
    [key: string]: string;
};
/**
 * PasteCleanup Grouping of similar functionality tags
 */
export  const pasteCleanupGroupingTags: {
    [key: string]: string[];
};
/**
 * PasteCleanup Grouping of similar functionality tags
 */
export  const listConversionFilters: {
    [key: string]: string;
};
/**
 * Dom-Node Grouping of self closing tags
 *
 * @hidden
 */
export  const selfClosingTags: string[];
//node_modules/@syncfusion/ej2-richtexteditor/src/common/constant.d.ts
/**
 * Constant values for Common
 */
/**
 * Keydown event trigger
 *
 * @hidden
 */
export  const KEY_DOWN: string;
/**
 * Undo and Redo action HTML plugin events
 *
 * @hidden
 */
export  const ACTION: string;
/**
 * Formats plugin events
 *
 * @hidden
 */
export  const FORMAT_TYPE: string;
/**
 * Keydown handler event trigger
 *
 * @hidden
 */
export  const KEY_DOWN_HANDLER: string;
/**
 * List plugin events
 *
 * @hidden
 */
export  const LIST_TYPE: string;
/**
 * Keyup handler event trigger
 *
 * @hidden
 */
export  const KEY_UP_HANDLER: string;
/**
 * Keyup event trigger
 *
 * @hidden
 */
export  const KEY_UP: string;
/**
 * Model changed plugin event trigger
 *
 * @hidden
 */
export  const MODEL_CHANGED_PLUGIN: string;
/**
 * Model changed event trigger
 *
 * @hidden
 */
export  const MODEL_CHANGED: string;
/**
 * PasteCleanup plugin for MSWord content
 *
 * @hidden
 */
export  const MS_WORD_CLEANUP_PLUGIN: string;
/**
 * PasteCleanup for MSWord content
 *
 * @hidden
 */
export  const MS_WORD_CLEANUP: string;
/**
 * ActionBegin event callback
 *
 * @hidden
 */
export  const ON_BEGIN: string;
/**
 * Callback for spacelist action
 *
 * @hidden
 */
export  const SPACE_ACTION: string;
//node_modules/@syncfusion/ej2-richtexteditor/src/common/index.d.ts
/**
 * Export the common module
 */
//node_modules/@syncfusion/ej2-richtexteditor/src/common/interface.d.ts
/**
 * Specifies  common models interfaces.
 *
 * @hidden
 * @deprecated
 */
/**
 * @deprecated
 */
export interface IAdvanceListItem {
    listStyle?: string;
    listImage?: string;
    type?: string;
}
/**
 * @deprecated
 */
export interface IMarkdownFormatterCallBack {
    selectedText?: string;
    editorMode?: EditorMode;
    action?: string;
    event?: KeyboardEvent | MouseEvent;
    requestType?: string;
}
/**
 * @deprecated
 */
export interface IHtmlFormatterCallBack {
    selectedNode?: Element;
    requestType?: string;
    range?: Range;
    editorMode?: EditorMode;
    action?: string;
    elements?: Element | Element[];
    imgElem?: Element | Element[];
    event?: KeyboardEvent | MouseEvent;
}
/**
 * @deprecated
 */
export interface IMarkdownToolbarStatus {
    OrderedList: boolean;
    UnorderedList: boolean;
    Formats: string;
}
/**
 * @deprecated
 */
export interface IUndoCallBack {
    callBack?: Function;
    event?: Object;
}
/**
 * @deprecated
 */
export interface IToolbarStatus {
    bold?: boolean;
    italic?: boolean;
    underline?: boolean;
    strikethrough?: boolean;
    superscript?: boolean;
    subscript?: boolean;
    fontcolor?: string;
    fontname?: string;
    fontsize?: string;
    backgroundcolor?: string;
    formats?: string;
    alignments?: string;
    orderedlist?: boolean;
    unorderedlist?: boolean;
    inlinecode?: boolean;
    uppercase?: boolean;
    lowercase?: boolean;
    createlink?: boolean;
    insertcode?: boolean;
    numberFormatList?: string;
    bulletFormatList?: string;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/common/types.d.ts
/**
 * Defines types of editor mode in which the Rich Text Editor is rendered.
 */
export  type EditorMode = 'HTML' | 'Markdown';
/**
 * Defines types to be used to save the image.
 */
export  type SaveFormat = 'Base64' | 'Blob';
/**
 * Defines types to be used to display the layout of the audio/video.
 */
export  type DisplayLayoutOptions = 'Inline' | 'Break';
/**
 * Defines tag to be used when enter key is pressed.
 */
export  type EnterKey = 'P' | 'DIV' | 'BR';
/**
 * Defines tag to be used when shift + enter key is pressed.
 */
export  type ShiftEnterKey = 'P' | 'DIV' | 'BR';
//node_modules/@syncfusion/ej2-richtexteditor/src/common/util.d.ts
/**
 * @returns {void}
 * @hidden
 */
export  function isIDevice(): boolean;
/**
 * @param {Element} editableElement - specifies the editable element.
 * @param {string} selector - specifies the string values.
 * @returns {void}
 * @hidden
 */
export  function setEditFrameFocus(editableElement: Element, selector: string): void;
/**
 * @param {string} value - specifies the string value
 * @returns {void}
 * @hidden
 */
export  function updateTextNode(value: string): string;
/**
 * @param {Node} startChildNodes - specifies the node
 * @returns {void}
 * @hidden
 */
export  function getLastTextNode(startChildNodes: Node): Node;
/**
 * @returns {void}
 * @hidden
 */
export  function getDefaultHtmlTbStatus(): IToolbarStatus;
/**
 * @returns {void}
 * @hidden
 */
export  function getDefaultMDTbStatus(): IToolbarStatus;
//node_modules/@syncfusion/ej2-richtexteditor/src/components.d.ts
/**
 * Rich Text Editor component exported items
 */
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/base.d.ts
/**
 * Base export
 */
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/base/classes.d.ts
/**
 * Rich Text Editor classes defined here.
 */
/**
 * @hidden
 * @deprecated
 */
export  const CLASS_IMAGE_RIGHT: string;
export  const CLASS_IMAGE_LEFT: string;
export  const CLASS_IMAGE_CENTER: string;
export  const CLASS_VIDEO_RIGHT: string;
export  const CLASS_VIDEO_LEFT: string;
export  const CLASS_VIDEO_CENTER: string;
export  const CLASS_IMAGE_BREAK: string;
export  const CLASS_AUDIO_BREAK: string;
export  const CLASS_VIDEO_BREAK: string;
export  const CLASS_CAPTION: string;
export  const CLASS_RTE_CAPTION: string;
export  const CLASS_CAPTION_INLINE: string;
export  const CLASS_IMAGE_INLINE: string;
export  const CLASS_AUDIO_INLINE: string;
export  const CLASS_CLICK_ELEM: string;
export  const CLASS_VIDEO_CLICK_ELEM: string;
export  const CLASS_AUDIO: string;
export  const CLASS_VIDEO: string;
export  const CLASS_AUDIO_WRAP: string;
export  const CLASS_VIDEO_WRAP: string;
export  const CLASS_EMBED_VIDEO_WRAP: string;
export  const CLASS_AUDIO_FOCUS: string;
export  const CLASS_VIDEO_FOCUS: string;
export  const CLASS_VIDEO_INLINE: string;
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/base/constant.d.ts
/**
 * Constant values for EditorManager
 */
/**
 * Image plugin events
 *
 * @hidden
 */
export  const IMAGE: string;
export  const AUDIO: string;
export  const VIDEO: string;
export  const TABLE: string;
export  const LINK: string;
export  const INSERT_ROW: string;
export  const INSERT_COLUMN: string;
export  const DELETEROW: string;
export  const DELETECOLUMN: string;
export  const REMOVETABLE: string;
export  const TABLEHEADER: string;
export  const TABLE_VERTICAL_ALIGN: string;
export  const TABLE_MERGE: string;
export  const TABLE_VERTICAL_SPLIT: string;
export  const TABLE_HORIZONTAL_SPLIT: string;
export  const TABLE_MOVE: string;
/**
 * Alignments plugin events
 *
 * @hidden
 */
export  const ALIGNMENT_TYPE: string;
/**
 * Indents plugin events
 *
 * @hidden
 */
export  const INDENT_TYPE: string;
/**
 * Constant tag names
 *
 * @hidden
 */
export  const DEFAULT_TAG: string;
/**
 * @hidden
 */
export  const BLOCK_TAGS: string[];
/**
 * @hidden
 */
export  const IGNORE_BLOCK_TAGS: string[];
/**
 * @hidden
 */
export  const TABLE_BLOCK_TAGS: string[];
/**
 * Selection plugin events
 *
 * @hidden
 */
export  const SELECTION_TYPE: string;
/**
 * Insert HTML plugin events
 *
 * @hidden
 */
export  const INSERTHTML_TYPE: string;
/**
 * Insert Text plugin events
 *
 * @hidden
 */
export  const INSERT_TEXT_TYPE: string;
/**
 * Clear Format HTML plugin events
 *
 * @hidden
 */
export  const CLEAR_TYPE: string;
/**
 * Self closing tags
 *
 * @hidden
 */
export  const SELF_CLOSING_TAGS: string[];
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/base/editor-manager.d.ts
/**
 * EditorManager internal component
 *
 * @hidden
 * @deprecated
 */
export  class EditorManager {
    currentDocument: HTMLDocument;
    observer: base.Observer;
    listObj: Lists;
    nodeSelection: NodeSelection;
    nodeCutter: NodeCutter;
    domNode: DOMNode;
    formatObj: Formats;
    linkObj: LinkCommand;
    alignmentObj: Alignments;
    indentsObj: Indents;
    imgObj: ImageCommand;
    audioObj: AudioCommand;
    videoObj: VideoCommand;
    tableObj: TableCommand;
    selectionObj: SelectionBasedExec;
    inserthtmlObj: InsertHtmlExec;
    insertTextObj: InsertTextExec;
    clearObj: ClearFormatExec;
    undoRedoManager: UndoRedoManager;
    msWordPaste: MsWordPaste;
    editableElement: Element;
    /**
     * Constructor for creating the component
     *
     * @hidden
     * @deprecated
     * @param {ICommandModel} options - specifies the command Model
     */
    constructor(options: ICommandModel);
    private wireEvents;
    private onWordPaste;
    private onPropertyChanged;
    private editorKeyDown;
    private editorKeyUp;
    private onBegin;
    /**
     * execCommand
     *
     * @param {EditorExecCommand} command - specifies the execution command
     * @param {T} value - specifes the value.
     * @param {Event} event - specifies the call back event
     * @param {Function} callBack - specifies the function
     * @param {string} text - specifies the string value
     * @param {T} exeValue - specifies the values to be executed
     * @param {string} selector - specifies the selector values
     * @returns {void}
     * @hidden
     * @deprecated
     */
    execCommand<T>(command: EditorExecCommand, value: T, event?: Event, callBack?: Function, text?: string | Node, exeValue?: T, selector?: string, enterAction?: string): void;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/base/enum.d.ts
/**
 * Enum values for EditorManager
 */
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/base/interface.d.ts
/**
 * Specifies  Command models interfaces.
 *
 * @hidden
 * @deprecated
 */
export interface ICommandModel {
    /**
     * Specifies the current document.
     */
    document: HTMLDocument;
    /**
     * Specifies the current window.
     */
    editableElement: Element;
    options?: {
        [key: string]: number;
    };
}
/**
 * Specifies IHtmlSubCommands interfaces.
 *
 * @hidden
 * @deprecated
 */
export interface IHtmlSubCommands {
    /**
     * Specifies the item
     */
    item?: IAdvanceListItem;
    /**
     * Specifies the subCommand.
     */
    subCommand: string;
    /**
     * Specifies the callBack.
     */
    callBack(args: IHtmlFormatterCallBack): () => void;
    /**
     * Specifies the callBack.
     */
    value?: string | Node;
    /**
     * Specifies the originalEvent.
     */
    event?: MouseEvent;
    /**
     * Specifies the iframe element selector.
     */
    selector?: string;
    /**
     * Specifies if the icon click is from dropdown or direct toolbarclick.
     */
    exeValue?: {
        [key: string]: string;
    };
    enterAction?: string;
}
/**
 * Specifies  IKeyboardActionArgs interfaces for command line.
 *
 * @hidden
 * @deprecated
 */
export interface IKeyboardActionArgs extends KeyboardEvent {
    /**
     * action of the KeyboardEvent
     */
    action: string;
}
/**
 * @deprecated
 */
export interface IHtmlItem {
    module?: string;
    event?: KeyboardEvent | MouseEvent;
    selection?: NodeSelection;
    link?: HTMLInputElement;
    selectNode?: Node[];
    selectParent?: Node[];
    item: IHtmlItemArgs;
    subCommand: string;
    value: string;
    selector: string;
    callBack(args: IHtmlFormatterCallBack): () => void;
    enterAction?: string;
}
/**
 * @deprecated
 */
export interface IHtmlItemArgs {
    selection?: NodeSelection;
    selectNode?: Node[];
    selectParent?: Node[];
    src?: string;
    url?: string;
    isEmbedUrl?: string;
    text?: string;
    title?: string;
    target?: string;
    width?: {
        minWidth?: string | number;
        maxWidth?: string | number;
        width?: string | number;
    };
    height?: {
        minHeight?: string | number;
        maxHeight?: string | number;
        height?: string | number;
    };
    altText?: string;
    fileName?: string;
    rows?: number;
    columns?: number;
    subCommand?: string;
    tableCell?: HTMLElement;
    cssClass?: string;
    insertElement?: Element;
    captionClass?: string;
    action?: string;
}
/**
 * @deprecated
 */
export interface IHtmlUndoRedoData {
    text?: string;
    range?: NodeSelection;
}
/**
 * Specifies IHtmlKeyboardEvent interfaces.
 *
 * @hidden
 * @deprecated
 */
export interface IHtmlKeyboardEvent {
    /**
     * Specifies the callBack.
     */
    callBack(args?: IHtmlFormatterCallBack): () => void;
    /**
     * Specifies the event.
     */
    event: base.KeyboardEventArgs;
    /**
     * Specifies the ignoreDefault.
     */
    ignoreDefault?: boolean;
    /**
     * Specifies the notifier name.
     */
    name?: string;
    /**
     * Specifies the enter key configuration.
     */
    enterAction?: string;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/base/types.d.ts
/**
 * Types type for EditorManager
 *
 * @hidden
 * @deprecated
 */
export  type EditorExecCommand = 'Indents' | 'Lists' | 'Formats' | 'Alignments' | 'Links' | 'Images' | 'Font' | 'Style' | 'Clear' | 'Effects' | 'Casing' | 'InsertHtml' | 'InsertText' | 'Actions';
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/index.d.ts
/**
 * Base export
 */
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/plugin.d.ts
/**
 * Base export
 */
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/plugin/alignments.d.ts
/**
 * Formats internal component
 *
 * @hidden
 * @deprecated
 */
export  class Alignments {
    private parent;
    private alignments;
    /**
     * Constructor for creating the Formats plugin
     *
     * @param {EditorManager} parent - specifies the parent element.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    constructor(parent: EditorManager);
    private addEventListener;
    private onKeyDown;
    private getTableNode;
    private applyAlignment;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/plugin/audio.d.ts
/**
 * Audio internal component
 *
 * @hidden
 * @deprecated
 */
export  class AudioCommand {
    private parent;
    /**
     * Constructor for creating the Audio plugin
     *
     * @param {EditorManager} parent - specifies the parent element
     * @hidden
     * @deprecated
     */
    constructor(parent: EditorManager);
    private addEventListener;
    /**
     * audioCommand method
     *
     * @param {IHtmlItem} e - specifies the element
     * @returns {void}
     * @hidden
     * @deprecated
     */
    audioCommand(e: IHtmlItem): void;
    private createAudio;
    private setStyle;
    private callBack;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/plugin/clearformat-exec.d.ts
/**
 * Clear Format EXEC internal component
 *
 * @hidden
 * @deprecated
 */
export  class ClearFormatExec {
    private parent;
    /**
     * Constructor for creating the Formats plugin
     *
     * @param {EditorManager} parent - specifies the parent element.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    constructor(parent: EditorManager);
    private addEventListener;
    private onKeyDown;
    private applyClear;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/plugin/clearformat.d.ts
export  class ClearFormat {
    private static BLOCK_TAGS;
    private static NONVALID_PARENT_TAGS;
    private static IGNORE_PARENT_TAGS;
    private static NONVALID_TAGS;
    private static defaultTag;
    private static domNode;
    /**
     * clear method
     *
     * @param {Document} docElement - specifies the document element.
     * @param {Node} endNode - specifies the end node
     * @param {string} enterAction - specifies the enter key action
     * @param {string} selector - specifies the string value
     * @returns {void}
     * @hidden
     * @deprecated
     */
    static clear(docElement: Document, endNode: Node, enterAction: string, selector?: string): void;
    private static reSelection;
    private static clearBlocks;
    private static spliceParent;
    private static removeChild;
    private static removeParent;
    private static unWrap;
    private static clearInlines;
    private static removeInlineParent;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/plugin/dom-node.d.ts
export  const markerClassName: {
    [key: string]: string;
};
/**
 * DOMNode internal plugin
 *
 * @hidden
 * @deprecated
 */
export  class DOMNode {
    private parent;
    private currentDocument;
    private nodeSelection;
    /**
     * Constructor for creating the DOMNode plugin
     *
     * @param {Element} parent - specifies the parent element
     * @param {Document} currentDocument - specifies the current document.
     * @hidden
     * @deprecated
     */
    constructor(parent: Element, currentDocument: Document);
    /**
     * contents method
     *
     * @param {Element} element - specifies the element.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    contents(element: Element): Node[];
    /**
     * isBlockNode method
     *
     * @param {Element} element - specifies the node element.
     * @returns {boolean} - sepcifies the boolean value
     * @hidden
     * @deprecated
     */
    isBlockNode(element: Element): boolean;
    /**
     * isLink method
     *
     * @param {Element} element - specifies the element
     * @returns {boolean} -  specifies the boolean value
     * @hidden
     * @deprecated
     */
    isLink(element: Element): boolean;
    /**
     * blockParentNode method
     *
     * @param {Element} element - specifies the element
     * @returns {Element} - returns the element value
     * @hidden
     * @deprecated
     */
    blockParentNode(element: Element): Element;
    /**
     * rawAttributes method
     *
     * @param {Element} element - specifies the element
     * @returns {string} - returns the string value
     * @hidden
     * @deprecated
     */
    rawAttributes(element: Element): {
        [key: string]: string;
    };
    /**
     * attributes method
     *
     * @param {Element} element - sepcifies the element.
     * @returns {string} - returns the string value.
     * @hidden
     * @deprecated
     */
    attributes(element?: Element): string;
    /**
     * clearAttributes method
     *
     * @param {Element} element - specifies the element
     * @returns {void}
     * @hidden
     * @deprecated
     */
    clearAttributes(element: Element): void;
    /**
     * openTagString method
     *
     * @param {Element} element - specifies the element.
     * @returns {string} - returns the string
     * @hidden
     * @deprecated
     */
    openTagString(element: Element): string;
    /**
     * closeTagString method
     *
     * @param {Element} element - specifies the element
     * @returns {string} - returns the string value
     * @hidden
     * @deprecated
     */
    closeTagString(element: Element): string;
    /**
     * createTagString method
     *
     * @param {string} tagName - specifies the tag name
     * @param {Element} relativeElement - specifies the relative element
     * @param {string} innerHTML - specifies the string value
     * @returns {string} - returns the string value.
     * @hidden
     * @deprecated
     */
    createTagString(tagName: string, relativeElement: Element, innerHTML: string): string;
    /**
     * isList method
     *
     * @param {Element} element - specifes the element.
     * @returns {boolean} - returns the boolean value
     * @hidden
     * @deprecated
     */
    isList(element: Element): boolean;
    /**
     * isElement method
     *
     * @param {Element} element - specifes the element.
     * @returns {boolean} - returns the boolean value
     * @hidden
     * @deprecated
     */
    isElement(element: Element): boolean;
    /**
     * isEditable method
     *
     * @param {Element} element - specifes the element.
     * @returns {boolean} - returns the boolean value
     * @hidden
     * @deprecated
     */
    isEditable(element: Element): boolean;
    /**
     * hasClass method
     *
     * @param {Element} element - specifes the element.
     * @param {string} className - specifies the class name value
     * @returns {boolean} - returns the boolean value
     * @hidden
     * @deprecated
     */
    hasClass(element: Element, className: string): boolean;
    /**
     * replaceWith method
     *
     * @param {Element} element - specifes the element.
     * @param {string} value - specifies the string value
     * @returns {void}
     * @hidden
     * @deprecated
     */
    replaceWith(element: Element, value: string): void;
    /**
     * parseHTMLFragment method
     *
     * @param {string} value - specifies the string value
     * @returns {Element} - returns the element
     * @hidden
     * @deprecated
     */
    parseHTMLFragment(value: string): Element;
    /**
     * wrap method
     *
     * @param {Element} element - specifies the element
     * @param {Element} wrapper - specifies the element.
     * @returns {Element} - returns the element
     * @hidden
     * @deprecated
     */
    wrap(element: Element, wrapper: Element): Element;
    /**
     * insertAfter method
     *
     * @param {Element} newNode - specifies the new node element
     * @param {Element} referenceNode - specifies the referenece node
     * @returns {void}
     * @hidden
     * @deprecated
     */
    insertAfter(newNode: Element, referenceNode: Element): void;
    /**
     * wrapInner method
     *
     * @param {Element} parent - specifies the parent element.
     * @param {Element} wrapper - specifies the wrapper element.
     * @returns {Element} - returns the element
     * @hidden
     * @deprecated
     */
    wrapInner(parent: Element, wrapper: Element): Element;
    /**
     * unWrap method
     *
     * @param {Element} element - specifies the element.
     * @returns {Element} - returns the element.
     * @hidden
     * @deprecated
     */
    unWrap(element: Element): Element[];
    /**
     * getSelectedNode method
     *
     * @param {Element} element - specifies the element
     * @param {number} index - specifies the index value.
     * @returns {Element} - returns the element
     * @hidden
     * @deprecated
     */
    getSelectedNode(element: Element, index: number): Element;
    /**
     * nodeFinds method
     *
     * @param {Element} element - specifies the element.
     * @param {Element[]} elements - specifies the array of elements
     * @returns {Element[]} - returnts the array elements
     * @hidden
     * @deprecated
     */
    nodeFinds(element: Element, elements: Element[]): Element[];
    /**
     * isEditorArea method
     *
     * @returns {boolean} - returns the boolean value
     * @hidden
     * @deprecated
     */
    isEditorArea(): boolean;
    /**
     * getRangePoint method
     *
     * @param {number} point - specifies the number value.
     * @returns {Range} - returns the range.
     * @hidden
     * @deprecated
     */
    getRangePoint(point?: number): Range | Range[];
    getSelection(): Selection;
    /**
     * getPreviousNode method
     *
     * @param {Element} element - specifies the element
     * @returns {Element} - returns the element
     * @hidden
     * @deprecated
     */
    getPreviousNode(element: Element): Element;
    /**
     * encode method
     *
     * @param {string} value - specifies the string value
     * @returns {string} - specifies the string value
     * @hidden
     * @deprecated
     */
    encode(value: string): string;
    /**
     * saveMarker method
     *
     * @param {NodeSelection} save - specifies the node selection,
     * @param {string} action - specifies the action  value.
     * @returns {NodeSelection} - returns the value
     * @hidden
     * @deprecated
     */
    saveMarker(save: NodeSelection, action?: string): NodeSelection;
    private marker;
    /**
     * setMarker method
     *
     * @param {NodeSelection} save - specifies the node selection.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    setMarker(save: NodeSelection): void;
    /**
     * ensureSelfClosingTag method
     *
     * @param {Element} start - specifies the element.
     * @param {string} className - specifes the class name string value
     * @param {Range} range - specifies the range value
     * @returns {void}
     * @hidden
     * @deprecated
     */
    ensureSelfClosingTag(start: Element, className: string, range: Range): void;
    /**
     * createTempNode method
     *
     * @param {Element} element - specifies the element.
     * @returns {Element} - returns the element
     * @hidden
     * @deprecated
     */
    createTempNode(element: Element): Element;
    /**
     * getImageTagInSelection method
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getImageTagInSelection(): NodeListOf<HTMLImageElement>;
    /**
     * blockNodes method
     *
     * @returns {Node[]} - returns the node array values
     * @hidden
     * @deprecated
     */
    blockNodes(): Node[];
    private ignoreTableTag;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/plugin/formats.d.ts
/**
 * Formats internal component
 *
 * @hidden
 * @deprecated
 */
export  class Formats {
    private parent;
    /**
     * Constructor for creating the Formats plugin
     *
     * @param {EditorManager} parent - specifies the parent element.
     * @hidden
     * @deprecated
     */
    constructor(parent: EditorManager);
    private addEventListener;
    private getParentNode;
    private onKeyUp;
    private onKeyDown;
    private removeCodeContent;
    private deleteContent;
    private paraFocus;
    private isNotEndCursor;
    private setCursorPosition;
    private focusSelectionParent;
    private insertMarker;
    private applyFormats;
    private setSelectionBRConfig;
    private preFormatMerge;
    private cleanFormats;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/plugin/image.d.ts
/**
 * Link internal component
 *
 * @hidden
 * @deprecated
 */
export  class ImageCommand {
    private parent;
    /**
     * Constructor for creating the Formats plugin
     *
     * @param {EditorManager} parent - specifies the parent element
     * @hidden
     * @deprecated
     */
    constructor(parent: EditorManager);
    private addEventListener;
    /**
     * imageCommand method
     *
     * @param {IHtmlItem} e - specifies the element
     * @returns {void}
     * @hidden
     * @deprecated
     */
    imageCommand(e: IHtmlItem): void;
    private createImage;
    private setStyle;
    private calculateStyleValue;
    private insertImageLink;
    private openImageLink;
    private removeImageLink;
    private editImageLink;
    private removeImage;
    private insertAltTextImage;
    private imageDimension;
    private imageCaption;
    private imageJustifyLeft;
    private imageJustifyCenter;
    private imageJustifyRight;
    private imageInline;
    private imageBreak;
    private callBack;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/plugin/indents.d.ts
/**
 * Indents internal component
 *
 * @hidden
 * @deprecated
 */
export  class Indents {
    private parent;
    private indentValue;
    /**
     * Constructor for creating the Formats plugin
     *
     * @param {EditorManager} parent - specifies the parent element
     * @hidden
     * @deprecated
     */
    constructor(parent: EditorManager);
    private addEventListener;
    private onKeyDown;
    private applyIndents;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/plugin/insert-methods.d.ts
/**
 * Node appending methods.
 *
 * @hidden
 */
export  class InsertMethods {
    /**
     * WrapBefore method
     *
     * @param {Text} textNode - specifies the text node
     * @param {HTMLElement} parentNode - specifies the parent node
     * @param {boolean} isAfter - specifies the boolean value
     * @returns {Text} - returns the text value
     * @hidden
     * @deprecated
     */
    static WrapBefore(textNode: Text, parentNode: HTMLElement, isAfter?: boolean): Text;
    /**
     * Wrap method
     *
     * @param {HTMLElement} childNode - specifies the child node
     * @param {HTMLElement} parentNode - specifies the parent node.
     * @returns {HTMLElement} - returns the element
     * @hidden
     * @deprecated
     */
    static Wrap(childNode: HTMLElement, parentNode: HTMLElement): HTMLElement;
    /**
     * unwrap method
     *
     * @param {Node} node - specifies the node element.
     * @returns {Node[]} - returns the array of value
     * @hidden
     * @deprecated
     */
    static unwrap(node: Node | HTMLElement): Node[];
    /**
     * AppendBefore method
     *
     * @param {HTMLElement} textNode - specifies the element
     * @param {HTMLElement} parentNode - specifies the parent node
     * @param {boolean} isAfter - specifies the boolean value
     * @returns {void}
     * @hidden
     * @deprecated
     */
    static AppendBefore(textNode: HTMLElement | Text | DocumentFragment, parentNode: HTMLElement | Text | DocumentFragment, isAfter?: boolean): HTMLElement | Text | DocumentFragment;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/plugin/insert-text.d.ts
/**
 * Insert a Text Node or Text
 *
 * @hidden
 * @deprecated
 */
export  class InsertTextExec {
    private parent;
    /**
     * Constructor for creating the InsertText plugin
     *
     * @param {EditorManager} parent - specifies the parent element
     * @hidden
     * @deprecated
     */
    constructor(parent: EditorManager);
    private addEventListener;
    private insertText;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/plugin/inserthtml-exec.d.ts
/**
 * Selection EXEC internal component
 *
 * @hidden
 * @deprecated
 */
export  class InsertHtmlExec {
    private parent;
    /**
     * Constructor for creating the Formats plugin
     *
     * @param {EditorManager} parent - sepcifies the parent element
     * @hidden
     * @deprecated
     */
    constructor(parent: EditorManager);
    private addEventListener;
    private applyHtml;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/plugin/inserthtml.d.ts
/**
 * Insert a HTML Node or Text
 *
 * @hidden
 * @deprecated
 */
export  class InsertHtml {
    /**
     * Insert method
     *
     * @hidden
     * @deprecated
     */
    static inlineNode: string[];
    static contentsDeleted: boolean;
    static Insert(docElement: Document, insertNode: Node | string, editNode?: Element, isExternal?: boolean): void;
    private static pasteInsertHTML;
    private static placeCursorEnd;
    private static getNodeCollection;
    private static insertTempNode;
    private static cursorPos;
    private static imageFocus;
    private static getImmediateBlockNode;
    private static removingComments;
    private static findDetachEmptyElem;
    private static removeEmptyElements;
    private static closestEle;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/plugin/isformatted.d.ts
/**
 * Is formatted or not.
 *
 * @hidden
 * @deprecated
 */
export  class IsFormatted {
    static inlineTags: string[];
    /**
     * getFormattedNode method
     *
     * @param {Node} node - specifies the node.
     * @param {string} format - specifies the string value.
     * @param {Node} endNode - specifies the end node
     * @returns {Node} - returns the node
     * @hidden
     * @deprecated
     */
    getFormattedNode(node: Node, format: string, endNode: Node): Node;
    private getFormatParent;
    private isFormattedNode;
    /**
     * isBold method
     *
     * @param {Node} node - specifies the node value
     * @returns {boolean} - returns the boolean value
     * @hidden
     * @deprecated
     */
    static isBold(node: Node): boolean;
    /**
     * isItalic method
     *
     * @param {Node} node - specifies the node value
     * @returns {boolean} - returns the boolean value
     * @hidden
     * @deprecated
     */
    static isItalic(node: Node): boolean;
    /**
     * isUnderline method
     *
     * @param {Node} node - specifies the node value
     * @returns {boolean} - returns the boolean value
     * @hidden
     * @deprecated
     */
    static isUnderline(node: Node): boolean;
    /**
     * isStrikethrough method
     *
     * @param {Node} node - specifies the node value
     * @returns {boolean} - returns the boolean value
     * @hidden
     * @deprecated
     */
    static isStrikethrough(node: Node): boolean;
    /**
     * isSuperscript method
     *
     * @param {Node} node - specifies the node value
     * @returns {boolean} - returns the boolean value
     * @hidden
     * @deprecated
     */
    static isSuperscript(node: Node): boolean;
    /**
     * isSubscript method
     *
     * @param {Node} node - specifies the node value
     * @returns {boolean} - returns the boolean value
     * @hidden
     * @deprecated
     */
    static isSubscript(node: Node): boolean;
    private isFontColor;
    private isBackgroundColor;
    private isFontSize;
    private isFontName;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/plugin/link.d.ts
/**
 * Link internal component
 *
 * @hidden
 * @deprecated
 */
export  class LinkCommand {
    private parent;
    /**
     * Constructor for creating the Formats plugin
     *
     * @param {EditorManager} parent - specifies the editor manager
     * @hidden
     * @deprecated
     */
    constructor(parent: EditorManager);
    private addEventListener;
    private linkCommand;
    private createLink;
    private createLinkNode;
    private createAchorNode;
    private getSelectionNodes;
    private isBlockNode;
    private removeText;
    private openLink;
    private removeLink;
    private callBack;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/plugin/lists.d.ts
/**
 * Lists internal component
 *
 * @hidden
 * @deprecated
 */
export  class Lists {
    private parent;
    private startContainer;
    private endContainer;
    private saveSelection;
    private domNode;
    private currentAction;
    private commonLIParent;
    /**
     * Constructor for creating the Lists plugin
     *
     * @param {EditorManager} parent - specifies the parent element
     * @hidden
     * @deprecated
     */
    constructor(parent: EditorManager);
    private addEventListener;
    private testList;
    private testCurrentList;
    private spaceList;
    private enterList;
    private backspaceList;
    private removeList;
    private onKeyUp;
    private firstListBackSpace;
    private keyDownHandler;
    private spaceKeyAction;
    private getAction;
    private revertClean;
    private noPreviousElement;
    private nestedList;
    private applyListsHandler;
    private setSelectionBRConfig;
    private applyLists;
    private removeEmptyListElements;
    private isRevert;
    private checkLists;
    private cleanNode;
    private findUnSelected;
    private revertList;
    private openTag;
    private closeTag;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/plugin/ms-word-clean-up.d.ts
/**
 * PasteCleanup for MsWord content
 *
 * @hidden
 * @deprecated
 */
export  class MsWordPaste {
    private parent;
    constructor(parent?: EditorManager);
    private olData;
    private ulData;
    private ignorableNodes;
    private blockNode;
    private borderStyle;
    private removableElements;
    private listContents;
    private addEventListener;
    private wordCleanup;
    private addListClass;
    private addTableBorderClass;
    private imageConversion;
    private checkVShape;
    private convertToBase64;
    private conBytesToBase64;
    private conHexStringToBytes;
    private hexConversion;
    private removeClassName;
    private breakLineAddition;
    private findDetachElem;
    private removeUnwantedElements;
    private findDetachEmptyElem;
    private removeEmptyElements;
    private styleCorrection;
    private filterStyles;
    private removeUnwantedStyle;
    private findStyleObject;
    private removingComments;
    private cleanUp;
    private listConverter;
    private getlistStyleType;
    private makeConversion;
    private getListContent;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/plugin/nodecutter.d.ts
/**
 * Split the Node based on selection
 *
 * @hidden
 * @deprecated
 */
export  class NodeCutter {
    enterAction: string;
    position: number;
    private nodeSelection;
    /**
     * GetSpliceNode method
     *
     * @param {Range} range - specifies the range
     * @param {HTMLElement} node - specifies the node element.
     * @returns {Node} - returns the node value
     * @hidden
     * @deprecated
     */
    GetSpliceNode(range: Range, node: HTMLElement): Node;
    /**
     * @param {Range} range - specifies the range
     * @param {HTMLElement} node - specifies the node element.
     * @param {boolean} isCollapsed - specifies the boolean value
     * @returns {HTMLElement} - returns the element
     * @hidden
     * @deprecated
     */
    SplitNode(range: Range, node: HTMLElement, isCollapsed: boolean): HTMLElement;
    private isRteElm;
    private spliceEmptyNode;
    private GetCursorStart;
    /**
     * GetCursorRange method
     *
     * @param {Document} docElement - specifies the document
     * @param {Range} range - specifies the range
     * @param {Node} node - specifies the node.
     * @returns {Range} - returns the range value
     * @hidden
     * @deprecated
     */
    GetCursorRange(docElement: Document, range: Range, node: Node): Range;
    /**
     * GetCursorNode method
     *
     * @param {Document} docElement - specifies the document
     * @param {Range} range - specifies the range
     * @param {Node} node - specifies the node.
     * @returns {Node} - returns the node value
     * @hidden
     * @deprecated
     */
    GetCursorNode(docElement: Document, range: Range, node: Node): Node;
    /**
     * TrimLineBreak method
     *
     * @param {string} line - specifies the string value.
     * @returns {string} - returns the string
     * @hidden
     * @deprecated
     */
    TrimLineBreak(line: string): string;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/plugin/selection-commands.d.ts
export  class SelectionCommands {
    static enterAction: string;
    /**
     * applyFormat method
     *
     * @param {Document} docElement - specifies the document
     * @param {string} format - specifies the string value
     * @param {Node} endNode - specifies the end node
     * @param {string} enterAction - specifies the enter key action
     * @param {string} value - specifies the string value
     * @param {string} selector - specifies the string
     * @returns {void}
     * @hidden
     * @deprecated
     */
    static applyFormat(docElement: Document, format: string, endNode: Node, enterAction: string, value?: string, selector?: string): void;
    private static insertCursorNode;
    private static getCursorFormat;
    private static removeFormat;
    private static insertFormat;
    private static applyStyles;
    private static getInsertNode;
    private static getChildNode;
    private static applySelection;
    private static GetFormatNode;
    private static updateStyles;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/plugin/selection-exec.d.ts
/**
 * Selection EXEC internal component
 *
 * @hidden
 * @deprecated
 */
export  class SelectionBasedExec {
    private parent;
    /**
     * Constructor for creating the Formats plugin
     *
     * @param {EditorManager} parent - specifies the parent element
     * @hidden
     * @deprecated
     */
    constructor(parent: EditorManager);
    private addEventListener;
    private keyDownHandler;
    private applySelection;
    private callBack;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/plugin/table.d.ts
/**
 * Link internal component
 *
 * @hidden
 * @deprecated
 */
export  class TableCommand {
    private parent;
    private activeCell;
    private curTable;
    /**
     * Constructor for creating the Formats plugin
     *
     * @param {EditorManager} parent - specifies the parent element
     * @hidden
     * @deprecated
     */
    constructor(parent: EditorManager);
    private addEventListener;
    private createTable;
    private calculateStyleValue;
    private removeEmptyNode;
    private insertAfter;
    private getSelectedCellMinMaxIndex;
    private insertRow;
    private insertColumn;
    private deleteColumn;
    private deleteRow;
    private removeTable;
    private tableHeader;
    private tableVerticalAlign;
    private cellMerge;
    private updateColSpanStyle;
    private updateRowSpanStyle;
    private updateCellAttribute;
    private mergeCellContent;
    private getSelectedMinMaxIndexes;
    private HorizontalSplit;
    private VerticalSplit;
    private getCorrespondingColumns;
    private FindIndex;
    private getCorrespondingIndex;
    private highlightCells;
    private tableMove;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/plugin/toolbar-status.d.ts
/**
 * Update Toolbar Status
 *
 * @hidden
 * @deprecated
 */
export  const statusCollection: IToolbarStatus;
export  class ToolbarStatus {
    /**
     * get method
     *
     * @param {Document} docElement - specifies the document element
     * @param {Node} targetNode - specifies the target node
     * @param {string[]} formatNode - specifies the format node
     * @param {string[]} fontSize - specifies the font size
     * @param {string[]} fontName - specifies the font name.
     * @param {Node} documentNode - specifies the document node.
     * @returns {IToolbarStatus} - returns the toolbar status
     * @hidden
     * @deprecated
     */
    static get(docElement: Document, targetNode: Node, formatNode?: string[], fontSize?: string[], fontName?: string[], documentNode?: Node): IToolbarStatus;
    private static getImmediateBlockNode;
    private static getFormatParent;
    private static isFormattedNode;
    private static isFontColor;
    private static isLink;
    private static isBackgroundColor;
    private static isFontSize;
    private static isFontName;
    private static isOrderedList;
    private static isUnorderedList;
    private static isAlignment;
    private static isFormats;
    private static getComputedStyle;
    private static isNumberFormatList;
    private static isBulletFormatList;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/plugin/undo.d.ts
/**
 * `Undo` module is used to handle undo actions.
 */
export  class UndoRedoManager {
    element: HTMLElement;
    private parent;
    steps: number;
    undoRedoStack: IHtmlUndoRedoData[];
    undoRedoSteps: number;
    undoRedoTimer: number;
    constructor(parent?: EditorManager, options?: {
        [key: string]: number;
    });
    protected addEventListener(): void;
    private onPropertyChanged;
    protected removeEventListener(): void;
    /**
     * onAction method
     *
     * @param {IHtmlSubCommands} e - specifies the sub command
     * @returns {void}
     * @hidden
     * @deprecated
     */
    onAction(e: IHtmlSubCommands): void;
    /**
     * Destroys the ToolBar.
     *
     * @function destroy
     * @returns {void}
     * @hidden
     * @deprecated
     */
    destroy(): void;
    private keyDown;
    private keyUp;
    /**
     * RTE collection stored html format.
     *
     * @function saveData
     * @param {KeyboardEvent} e - specifies the keyboard event
     * @returns {void}
     * @hidden
     * @deprecated
     */
    saveData(e?: KeyboardEvent | MouseEvent | IUndoCallBack): void;
    /**
     * Undo the editable text.
     *
     * @function undo
     * @param {IHtmlSubCommands} e - specifies the sub commands
     * @returns {void}
     * @hidden
     * @deprecated
     */
    undo(e?: IHtmlSubCommands | IHtmlKeyboardEvent): void;
    /**
     * Redo the editable text.
     *
     * @param {IHtmlSubCommands} e - specifies the sub commands
     * @function redo
     * @returns {void}
     * @hidden
     * @deprecated
     */
    redo(e?: IHtmlSubCommands | IHtmlKeyboardEvent): void;
    /**
     * getUndoStatus method
     *
     * @returns {boolean} - returns the boolean value
     * @hidden
     * @deprecated
     */
    getUndoStatus(): {
        [key: string]: boolean;
    };
}
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/plugin/video.d.ts
/**
 * Video internal component
 *
 * @hidden
 * @deprecated
 */
export  class VideoCommand {
    private parent;
    /**
     * Constructor for creating the Video plugin
     *
     * @param {EditorManager} parent - specifies the parent element
     * @hidden
     * @deprecated
     */
    constructor(parent: EditorManager);
    private addEventListener;
    /**
     * videoCommand method
     *
     * @param {IHtmlItem} e - specifies the element
     * @returns {void}
     * @hidden
     * @deprecated
     */
    videoCommand(e: IHtmlItem): void;
    private createVideo;
    private editAreaVideoClick;
    private setStyle;
    private videoDimension;
    private callBack;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/index.d.ts
/**
 * Rich Text Editor component exported items
 */
//node_modules/@syncfusion/ej2-richtexteditor/src/markdown-parser/base.d.ts
/**
 * Base export
 */
//node_modules/@syncfusion/ej2-richtexteditor/src/markdown-parser/base/constant.d.ts
/**
 * Constant values for Markdown Parser
 */
/**
 * List plugin events
 *
 * @hidden
 */
export  const LISTS_COMMAND: string;
/**
 * selectioncommand plugin events
 *
 * @hidden
 */
export  const selectionCommand: string;
/**
 * Link plugin events
 *
 * @hidden
 */
export  const LINK_COMMAND: string;
/**
 * Clear plugin events
 *
 * @hidden
 */
export  const CLEAR_COMMAND: string;
/**
 * Table plugin events
 *
 * @hidden
 */
export  const MD_TABLE: string;
/**
 * insertText plugin events
 *
 * @hidden
 */
export  const INSERT_TEXT_COMMAND: string;
//node_modules/@syncfusion/ej2-richtexteditor/src/markdown-parser/base/interface.d.ts
/**
 * Specifies IMDFormats interfaces.
 *
 * @hidden
 * @deprecated
 */
export interface IMDFormats {
    /**
     * Specifies the formatTags.
     */
    syntax?: {
        [key: string]: string;
    };
    /**
     * Specifies the parent.
     */
    parent?: MarkdownParser;
}
/**
 * Specifies IMTable interfaces.
 *
 * @hidden
 * @deprecated
 */
export interface IMDTable {
    syntaxTag?: {
        [key in MarkdownTableFormat]: {
            [key: string]: string;
        };
    };
    /**
     * Specifies the parent.
     */
    parent?: MarkdownParser;
}
/**
 * Defines types to be used to customize the markdown syntax.
 *
 * @deprecated
 */
export  type MarkdownTableFormat = 'Formats' | 'List';
/**
 * Specifies ISelectedLines interfaces.
 *
 * @hidden
 * @deprecated
 */
export interface ISelectedLines {
    /**
     * Specifies the parentLinePoints.
     */
    parentLinePoints: {
        [key: string]: string | number;
    }[];
    /**
     * Specifies the textarea selection start point.
     */
    start: number;
    /**
     * Specifies the textarea selection end point.
     */
    end: number;
}
/**
 * Specifies MarkdownParserModel interfaces.
 *
 * @hidden
 * @deprecated
 */
export interface IMarkdownParserModel {
    /**
     * Specifies the element.
     */
    element: Element;
    /**
     * Specifies the formatTags.
     */
    formatTags?: {
        [key: string]: string;
    };
    /**
     * Specifies the formatTags.
     */
    listTags?: {
        [key: string]: string;
    };
    /**
     * Specifies the selectionTags.
     */
    selectionTags?: {
        [key: string]: string;
    };
    /**
     * Specifies the options.
     */
    options?: {
        [key: string]: number;
    };
}
/**
 * Specifies ISubCommands interfaces.
 *
 * @hidden
 * @deprecated
 */
export interface IMarkdownSubCommands {
    /**
     * Specifies the subCommand.
     */
    subCommand: string;
    /**
     * Specifies the callBack.
     */
    callBack(args?: IMarkdownFormatterCallBack): () => void;
    /**
     * Specifies the originalEvent.
     */
    event?: MouseEvent;
}
/**
 * @deprecated
 */
export interface MarkdownUndoRedoData {
    text?: string;
    start?: number;
    end?: number;
}
/**
 * @deprecated
 */
export interface IMarkdownItem {
    module?: string;
    event?: KeyboardEvent | MouseEvent;
    item: IMarkdownItemArgs;
    value?: IMarkdownItemArgs;
    subCommand: string;
    callBack(args: IMarkdownFormatterCallBack): () => void;
}
/**
 * @deprecated
 */
export interface IMarkdownItemArgs {
    url?: string;
    text?: string;
    target?: string;
    width?: number | string;
    height?: number | string;
    headingText?: string;
    colText?: string;
}
/**
 * Specifies IMDKeyboardEvent interfaces.
 *
 * @hidden
 * @deprecated
 */
export interface IMDKeyboardEvent {
    /**
     * Specifies the callBack.
     */
    callBack(args?: IMarkdownFormatterCallBack): () => void;
    /**
     * Specifies the event.
     */
    event: base.KeyboardEventArgs;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/markdown-parser/base/markdown-parser.d.ts
/**
 * MarkdownParser internal component
 *
 * @hidden
 * @deprecated
 */
export  class MarkdownParser {
    observer: base.Observer;
    listObj: MDLists;
    formatObj: MDFormats;
    formatTags: {
        [key: string]: string;
    };
    listTags: {
        [key: string]: string;
    };
    selectionTags: {
        [key: string]: string;
    };
    element: Element;
    undoRedoManager: UndoRedoCommands;
    mdSelectionFormats: MDSelectionFormats;
    markdownSelection: MarkdownSelection;
    linkObj: MDLink;
    tableObj: MDTable;
    clearObj: ClearFormat;
    insertTextObj: MDInsertText;
    /**
     * Constructor for creating the component
     *
     * @param {IMarkdownParserModel} options - specifies the options
     * @hidden
     * @deprecated
     */
    constructor(options: IMarkdownParserModel);
    private initialize;
    private wireEvents;
    private onPropertyChanged;
    private editorKeyDown;
    private editorKeyUp;
    /**
     * markdown execCommand method
     *
     * @param {MarkdownExecCommand} command - specifies the command
     * @param {T} - specifies the value
     * @param {Event} event - specifies the event
     * @param {Function} callBack - specifies the call back function
     * @param {string} text - specifies the string value
     * @param {T} exeValue - specifies the value
     * @returns {void}
     * @hidden
     * @deprecated
     */
    execCommand<T>(command: MarkdownExecCommand, value: T, event?: Event, callBack?: Function, text?: string, exeValue?: T): void;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/markdown-parser/base/types.d.ts
/**
 * Types type for Markdown parser
 *
 * @hidden
 * @deprecated
 */
export  type MarkdownExecCommand = 'Indents' | 'Lists' | 'Formats' | 'Alignments' | 'Style' | 'Effects' | 'Casing' | 'Actions' | 'table' | 'Links' | 'Images' | 'Clear' | 'Inserttext';
//node_modules/@syncfusion/ej2-richtexteditor/src/markdown-parser/index.d.ts
/**
 * Base export
 */
//node_modules/@syncfusion/ej2-richtexteditor/src/markdown-parser/plugin.d.ts
/**
 * Export all markdown plugins
 */
//node_modules/@syncfusion/ej2-richtexteditor/src/markdown-parser/plugin/clearformat.d.ts
/**
 * Link internal component
 *
 * @hidden
 * @deprecated
 */
export  class ClearFormat1 {
    private parent;
    private selection;
    /**
     * Constructor for creating the clear format plugin
     *
     * @param {MarkdownParser} parent - specifies the parent element
     * @hidden
     * @deprecated
     */
    constructor(parent: MarkdownParser);
    private addEventListener;
    private replaceRegex;
    private clearSelectionTags;
    private clearFormatTags;
    private clearFormatLines;
    private clear;
    private restore;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/markdown-parser/plugin/formats.d.ts
/**
 * MDFormats internal plugin
 *
 * @hidden
 * @deprecated
 */
export  class MDFormats {
    private parent;
    private selection;
    syntax: {
        [key: string]: string;
    };
    /**
     * Constructor for creating the Formats plugin
     *
     * @param {IMDFormats} options - specifies the formats
     * @hidden
     * @deprecated
     */
    constructor(options: IMDFormats);
    private addEventListener;
    private applyFormats;
    private clearRegex;
    private cleanFormat;
    private applyCodeBlock;
    private replaceAt;
    private restore;
    private isAppliedFormat;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/markdown-parser/plugin/insert-text.d.ts
/**
 * Link internal component
 *
 * @hidden
 * @deprecated
 */
export  class MDInsertText {
    private parent;
    private selection;
    /**
     * Constructor for creating the insert text plugin
     *
     * @param {MarkdownParser} parent - specifies the parent element
     * @hidden
     * @deprecated
     */
    constructor(parent: MarkdownParser);
    private addEventListener;
    private InsertTextExec;
    private restore;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/markdown-parser/plugin/link.d.ts
/**
 * Link internal component
 *
 * @hidden
 * @deprecated
 */
export  class MDLink {
    private parent;
    private selection;
    /**
     * Constructor for creating the Formats plugin
     *
     * @param {MarkdownParser} parent - specifies the parent element
     * @hidden
     * @deprecated
     */
    constructor(parent: MarkdownParser);
    private addEventListener;
    private createLink;
    private restore;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/markdown-parser/plugin/lists.d.ts
/**
 * Lists internal component
 *
 * @hidden
 */
export  class MDLists {
    private parent;
    private startContainer;
    private endContainer;
    private selection;
    private syntax;
    private currentAction;
    /**
     * Constructor for creating the Lists plugin
     *
     * @param {IMDFormats} options - specifies the options
     * @hidden
     */
    constructor(options: IMDFormats);
    private addEventListener;
    private keyDownHandler;
    private keyUpHandler;
    private tabKey;
    private changeTextAreaValue;
    private getTabSpace;
    private isNotFirstLine;
    private getAction;
    private nextOrderedListValue;
    private previousOrderedListValue;
    private enterKey;
    private olListType;
    private applyListsHandler;
    private appliedLine;
    private restore;
    private getListRegex;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/markdown-parser/plugin/markdown-selection.d.ts
/**
 * MarkdownSelection internal module
 *
 * @hidden
 * @deprecated
 */
export  class MarkdownSelection {
    selectionStart: number;
    selectionEnd: number;
    /**
     * markdown getLineNumber method
     *
     * @param {HTMLTextAreaElement} textarea - specifies the text area element
     * @param {number} point - specifies the number value
     * @returns {number} - returns the value
     * @hidden
     * @deprecated
     */
    getLineNumber(textarea: HTMLTextAreaElement, point: number): number;
    /**
     * markdown getSelectedText method
     *
     * @param {HTMLTextAreaElement} textarea - specifies the text area element
     * @returns {string} - specifies the string value
     * @hidden
     * @deprecated
     */
    getSelectedText(textarea: HTMLTextAreaElement): string;
    /**
     * markdown getAllParents method
     *
     * @param {string} value - specifies the string value
     * @returns {string[]} - returns the string value
     * @hidden
     * @deprecated
     */
    getAllParents(value: string): string[];
    /**
     * markdown getSelectedLine method
     *
     * @param {HTMLTextAreaElement} textarea - specifies the text area element
     * @returns {string} - returns the string value
     * @hidden
     * @deprecated
     */
    getSelectedLine(textarea: HTMLTextAreaElement): string;
    /**
     * markdown getLine method
     *
     * @param {HTMLTextAreaElement} textarea - specifies the text area element
     * @param {number} index - specifies the number value
     * @returns {string} - returns the string value
     * @hidden
     * @deprecated
     */
    getLine(textarea: HTMLTextAreaElement, index: number): string;
    /**
     * markdown getSelectedParentPoints method
     *
     * @param {HTMLTextAreaElement} textarea - specifies the text area element
     * @returns {string} - returns the string value
     * @hidden
     * @deprecated
     */
    getSelectedParentPoints(textarea: HTMLTextAreaElement): {
        [key: string]: string | number;
    }[];
    /**
     * markdown setSelection method
     *
     * @param {HTMLTextAreaElement} textarea - specifies the text area element
     * @param {number} start - specifies the start vaulue
     * @param {number} end - specifies the end value
     * @returns {void}
     * @hidden
     * @deprecated
     */
    setSelection(textarea: HTMLTextAreaElement, start: number, end: number): void;
    /**
     * markdown save method
     *
     * @param {number} start - specifies the start vaulue
     * @param {number} end - specifies the end value
     * @returns {void}
     * @hidden
     * @deprecated
     */
    save(start: number, end: number): void;
    /**
     * markdown restore method
     *
     * @param {HTMLTextAreaElement} textArea - specifies the text area element
     * @returns {void}
     * @hidden
     * @deprecated
     */
    restore(textArea: HTMLTextAreaElement): void;
    /**
     * markdown isStartWith method
     *
     * @param {string} line - specifies the string value
     * @param {string} command - specifies the string value
     * @returns {boolean} - returns the boolean value
     * @hidden
     * @deprecated
     */
    isStartWith(line: string, command: string): boolean;
    /**
     * markdown replaceSpecialChar method
     *
     * @param {string} value - specifies the string value
     * @returns {string} - returns the value
     * @hidden
     * @deprecated
     */
    replaceSpecialChar(value: string): string;
    /**
     * markdown isClear method
     *
     * @param {string} parents - specifies the parent element
     * @param {string} regex - specifies the regex value
     * @returns {boolean} - returns the boolean value
     * @hidden
     * @deprecated
     */
    isClear(parents: {
        [key: string]: string | number;
    }[], regex: string): boolean;
    /**
     * markdown getSelectedInlinePoints method
     *
     * @param {HTMLTextAreaElement} textarea - specifies the text area
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getSelectedInlinePoints(textarea: HTMLTextAreaElement): {
        [key: string]: string | number;
    };
}
//node_modules/@syncfusion/ej2-richtexteditor/src/markdown-parser/plugin/md-selection-formats.d.ts
/**
 * SelectionCommands internal component
 *
 * @hidden
 * @deprecated
 */
export  class MDSelectionFormats {
    private parent;
    private selection;
    syntax: {
        [key: string]: string;
    };
    private currentAction;
    constructor(parent: IMDFormats);
    private addEventListener;
    private keyDownHandler;
    private isBold;
    private isItalic;
    private isMatch;
    private multiCharRegx;
    private singleCharRegx;
    isAppliedCommand(cmd?: string): boolean;
    private applyCommands;
    private replaceAt;
    private restore;
    private textReplace;
    private isApplied;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/markdown-parser/plugin/table.d.ts
/**
 * Link internal component
 *
 * @hidden
 * @deprecated
 */
export  class MDTable {
    private parent;
    private selection;
    private syntaxTag;
    private element;
    private locale;
    /**
     * Constructor for creating the Formats plugin
     *
     * @param {IMDTable} options - specifies the options
     * @hidden
     * @deprecated
     */
    constructor(options: IMDTable);
    private addEventListener;
    private removeEventListener;
    /**
     * markdown destroy method
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    destroy(): void;
    private onKeyDown;
    private createTable;
    private getTable;
    private tableHeader;
    private tableCell;
    private insertLine;
    private insertTable;
    private makeSelection;
    private getFormatTag;
    private ensureFormatApply;
    private ensureStartValid;
    private ensureEndValid;
    private updateValueWithFormat;
    private updateValue;
    private checkValid;
    private convertToLetters;
    private textNonEmpty;
    private isCursorBased;
    private isSelectionBased;
    private restore;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/markdown-parser/plugin/undo.d.ts
/**
 * `Undo` module is used to handle undo actions.
 */
export  class UndoRedoCommands {
    steps: number;
    undoRedoStack: MarkdownUndoRedoData[];
    private parent;
    private selection;
    private currentAction;
    undoRedoSteps: number;
    undoRedoTimer: number;
    constructor(parent?: MarkdownParser, options?: {
        [key: string]: number;
    });
    protected addEventListener(): void;
    private onPropertyChanged;
    protected removeEventListener(): void;
    /**
     * Destroys the ToolBar.
     *
     * @function destroy
     * @returns {void}
     * @hidden
     * @deprecated
     */
    destroy(): void;
    /**
     * onAction method
     *
     * @param {IMarkdownSubCommands} e - specifies the sub commands
     * @returns {void}
     * @hidden
     * @deprecated
     */
    onAction(e: IMarkdownSubCommands): void;
    private keyDown;
    private keyUp;
    /**
     * MD collection stored string format.
     *
     * @param {KeyboardEvent} e - specifies the key board event
     * @function saveData
     * @returns {void}
     * @hidden
     * @deprecated
     */
    saveData(e?: KeyboardEvent | MouseEvent | IUndoCallBack): void;
    /**
     * Undo the editable text.
     *
     * @param {IMarkdownSubCommands} e - specifies the sub commands
     * @function undo
     * @returns {void}
     * @hidden
     * @deprecated
     */
    undo(e?: IMarkdownSubCommands | IMDKeyboardEvent): void;
    /**
     * Redo the editable text.
     *
     * @param {IMarkdownSubCommands} e - specifies the sub commands
     * @function redo
     * @returns {void}
     * @hidden
     * @deprecated
     */
    redo(e?: IMarkdownSubCommands | IMDKeyboardEvent): void;
    private restore;
    /**
     * getUndoStatus method
     *
     * @returns {boolean} - returns the boolean value
     * @hidden
     * @deprecated
     */
    getUndoStatus(): {
        [key: string]: boolean;
    };
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor.d.ts
/**
 * Rich Text Editor component exported items
 */
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/actions.d.ts
/**
 * Action export
 */
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/actions/base-quick-toolbar.d.ts
/**
 * `Quick toolbar` module is used to handle Quick toolbar actions.
 */
export  class BaseQuickToolbar {
    popupObj: popups.Popup;
    element: HTMLElement;
    private isDOMElement;
    quickTBarObj: BaseToolbar;
    private stringItems;
    private dropDownButtons;
    private colorPickerObj;
    private locator;
    private parent;
    private contentRenderer;
    private popupRenderer;
    toolbarElement: HTMLElement;
    private renderFactory;
    constructor(parent?: IRichTextEditor, locator?: ServiceLocator);
    private appendPopupContent;
    /**
     * render method
     *
     * @param {IQuickToolbarOptions} args - specifies the arguments
     * @returns {void}
     * @hidden
     * @deprecated
     */
    render(args: IQuickToolbarOptions): void;
    private createToolbar;
    private setPosition;
    private checkCollision;
    /**
     * showPopup method
     *
     * @param {number} x - specifies the x value
     * @param {number} y - specifies the y value
     * @param {Element} target - specifies the element
     * @returns {void}
     * @hidden
     * @deprecated
     */
    showPopup(x: number, y: number, target: Element): void;
    /**
     * hidePopup method
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    hidePopup(): void;
    /**
     * @param {string} item - specifies the string value
     * @param {number} index - specifies the index value
     * @returns {void}
     * @hidden
     * @deprecated
     */
    addQTBarItem(item: (string | IToolbarItems)[], index: number): void;
    /**
     * @param {number} index - specifies the index value
     * @returns {void}
     * @hidden
     * @deprecated
     */
    removeQTBarItem(index: number | HTMLElement[] | Element[]): void;
    private removeEleFromDOM;
    private updateStatus;
    /**
     * Destroys the Quick toolbar.
     *
     * @function destroy
     * @returns {void}
     * @hidden
     * @deprecated
     */
    destroy(): void;
    /**
     * addEventListener method
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    addEventListener(): void;
    /**
     * Called internally if any of the property value changed.
     *
     * @param {RichTextEditorModel} e - specifies the model element
     * @returns {void}
     * @hidden
     * @deprecated
     */
    protected onPropertyChanged(e: {
        [key: string]: RichTextEditorModel;
    }): void;
    /**
     * removeEventListener method
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    removeEventListener(): void;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/actions/base-toolbar.d.ts
/**
 * `Toolbar` module is used to handle Toolbar actions.
 */
export  class BaseToolbar {
    toolbarObj: navigations.Toolbar;
    /**
     *
     * @hidden
     * @private
     */
    parent: IRichTextEditor;
    protected locator: ServiceLocator;
    protected toolbarRenderer: IRenderer;
    protected renderFactory: RendererFactory;
    private tools;
    constructor(parent?: IRichTextEditor, serviceLocator?: ServiceLocator);
    private addEventListener;
    private removeEventListener;
    private setCssClass;
    private setRtl;
    private getClass;
    private getTemplateObject;
    /**
     * getObject method
     *
     * @param {string} item - specifies the string value
     * @param {string} container - specifies the value of string
     * @returns {IToolbarItemModel} - returns the model element
     * @hidden
     * @deprecated
     */
    getObject(item: string, container: string): IToolbarItemModel;
    /**
     * @param {string} tbItems - specifies the string value
     * @param {string} container - specifies the container value
     * @returns {navigations.ItemModel} - retunrs the model element
     * @hidden
     * @deprecated
     */
    getItems(tbItems: (string | IToolbarItems)[], container: string): navigations.ItemModel[];
    private getToolbarOptions;
    /**
     * render method
     *
     * @param {IToolbarRenderOptions} args - specifies the toolbar options
     * @returns {void}
     * @hidden
     * @deprecated
     */
    render(args: IToolbarRenderOptions): void;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/actions/color-picker.d.ts
/**
 * `Color Picker` module is used to handle ColorPicker actions.
 */
export  class ColorPickerInput {
    private defaultColorPicker;
    private fontColorPicker;
    private backgroundColorPicker;
    private fontColorDropDown;
    private backgroundColorDropDown;
    protected parent: IRichTextEditor;
    protected locator: ServiceLocator;
    protected toolbarRenderer: IRenderer;
    protected renderFactory: RendererFactory;
    private tools;
    constructor(parent?: IRichTextEditor, serviceLocator?: ServiceLocator);
    private initializeInstance;
    /**
     * renderColorPickerInput method
     *
     * @param {IColorPickerRenderArgs} args - specify the arguments.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    renderColorPickerInput(args: IColorPickerRenderArgs): void;
    private destroy;
    /**
     * destroyColorPicker method
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    destroyColorPicker(): void;
    private setRtl;
    private setCssClass;
    private updateCss;
    protected addEventListener(): void;
    private onPropertyChanged;
    protected removeEventListener(): void;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/actions/count.d.ts
/**
 * `Count` module is used to handle Count actions.
 */
export  class Count {
    protected parent: IRichTextEditor;
    protected maxLength: number;
    protected htmlLength: number;
    protected locator: ServiceLocator;
    protected renderFactory: RendererFactory;
    private editPanel;
    private contentModule;
    private contentRenderer;
    private args;
    private element;
    constructor(parent?: IRichTextEditor, serviceLocator?: ServiceLocator);
    private initializeInstance;
    /**
     * renderCount method
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    renderCount(): void;
    private appendCount;
    private charCountBackground;
    /**
     * @returns {void}
     * @hidden
     * @deprecated
     */
    refresh(): void;
    /**
     * Destroys the Count.
     *
     * @function destroy
     * @returns {void}
     * @hidden
     * @deprecated
     */
    destroy(): void;
    private toggle;
    protected addEventListener(): void;
    protected removeEventListener(): void;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} - returns the string value
     */
    private getModuleName;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/actions/dropdown-buttons.d.ts
/**
 * `Toolbar` module is used to handle Toolbar actions.
 */
export  class DropDownButtons {
    numberFormatListDropDown: splitbuttons.DropDownButton;
    bulletFormatListDropDown: splitbuttons.DropDownButton;
    formatDropDown: splitbuttons.DropDownButton;
    fontNameDropDown: splitbuttons.DropDownButton;
    fontSizeDropDown: splitbuttons.DropDownButton;
    alignDropDown: splitbuttons.DropDownButton;
    imageAlignDropDown: splitbuttons.DropDownButton;
    displayDropDown: splitbuttons.DropDownButton;
    tableRowsDropDown: splitbuttons.DropDownButton;
    tableColumnsDropDown: splitbuttons.DropDownButton;
    tableCellVerticalAlignDropDown: splitbuttons.DropDownButton;
    /**
     *
     * @hidden
     * @private
     */
    parent: IRichTextEditor;
    protected locator: ServiceLocator;
    protected toolbarRenderer: IRenderer;
    protected renderFactory: RendererFactory;
    constructor(parent?: IRichTextEditor, serviceLocator?: ServiceLocator);
    private initializeInstance;
    private beforeRender;
    private dropdownContent;
    /**
     * renderDropDowns method
     *
     * @param {IDropDownRenderArgs} args - specifies the arguments
     * @returns {void}
     * @hidden
     * @deprecated
     */
    renderDropDowns(args: IDropDownRenderArgs): void;
    private getUpdateItems;
    private onPropertyChanged;
    private getEditNode;
    private rowDropDown;
    private columnDropDown;
    private cellDropDown;
    private verticalAlignDropDown;
    private renderDisplayDropDown;
    private renderAlignmentDropDown;
    private tableStylesDropDown;
    private removeDropDownClasses;
    /**
     * destroyDropDowns method
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    destroyDropDowns(): void;
    private setRtl;
    private updateCss;
    private setCssClass;
    protected addEventListener(): void;
    private onIframeMouseDown;
    protected removeEventListener(): void;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/actions/enter-key.d.ts
/**
 * `EnterKey` module is used to handle enter key press actions.
 */
export  class EnterKeyAction {
    private parent;
    private range;
    private startNode;
    private endNode;
    private formatTags;
    constructor(parent?: IRichTextEditor);
    protected addEventListener(): void;
    private destroy;
    private moduleDestroy;
    private removeEventListener;
    private getRangeNode;
    private enterHandler;
    private removeBRElement;
    private insertBRElement;
    private insertFocusContent;
    private createInsertElement;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/actions/execute-command-callback.d.ts
/**
 * `ExecCommandCallBack` module is used to run the editor manager command
 */
export  class ExecCommandCallBack {
    protected parent: IRichTextEditor;
    constructor(parent?: IRichTextEditor);
    private addEventListener;
    private commandCallBack;
    private removeEventListener;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/actions/file-manager.d.ts
/**
 * `FileManager` module is used to display the directories and images inside the editor.
 */
export  class FileManager {
    private i10n;
    dialogObj: popups.Dialog;
    private fileWrap;
    private fileObj;
    private contentModule;
    protected parent: IRichTextEditor;
    private inputUrl;
    private selectObj;
    private dlgButtons;
    private dialogRenderObj;
    private rendererFactory;
    private constructor();
    private initialize;
    private render;
    private setCssClass;
    private renderFileManager;
    private getInputUrlElement;
    private insertImageUrl;
    private cancelDialog;
    private onDocumentClick;
    private addEventListener;
    private removeEventListener;
    private destroyComponents;
    private destroy;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} - returns the string value
     * @hidden
     */
    private getModuleName;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/actions/full-screen.d.ts
/**
 * `FullScreen` module is used to maximize and minimize screen
 */
export  class FullScreen {
    protected parent: IRichTextEditor;
    private scrollableParent;
    constructor(parent?: IRichTextEditor);
    /**
     * showFullScreen method
     *
     * @param {MouseEvent} event - specifies the mouse event
     * @returns {void}
     * @hidden
     * @deprecated
     */
    showFullScreen(event?: MouseEvent | base.KeyboardEventArgs): void;
    /**
     * hideFullScreen method
     *
     * @param {MouseEvent} event - specifies the mouse event
     * @returns {void}
     * @hidden
     * @deprecated
     */
    hideFullScreen(event?: MouseEvent | base.KeyboardEventArgs): void;
    private toggleParentOverflow;
    private onKeyDown;
    protected addEventListener(): void;
    protected removeEventListener(): void;
    /**
     * destroy method
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    destroy(): void;
    private moduleDestroy;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/actions/html-attributes.d.ts
/**
 * Used to set the HTML Attributes for RTE container
 */
/**
 * @param {string} htmlAttributes - specifies the string value
 * @param {IRichTextEditor} rte - specifies the rte value
 * @param {boolean} isFrame - specifies the boolean value
 * @param {boolean} initial - specifies the boolean value
 * @returns {void}
 * @hidden
 */
export  function setAttributes(htmlAttributes: {
    [key: string]: string;
}, rte: IRichTextEditor, isFrame: boolean, initial: boolean): void;
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/actions/html-editor.d.ts
/**
 * `HtmlEditor` module is used to HTML editor
 */
export  class HtmlEditor {
    private parent;
    private locator;
    private contentRenderer;
    private renderFactory;
    private toolbarUpdate;
    private colorPickerModule;
    private nodeSelectionObj;
    private rangeCollection;
    private rangeElement;
    private oldRangeElement;
    private deleteRangeElement;
    private deleteOldRangeElement;
    private isImageDelete;
    private saveSelection;
    xhtmlValidation: XhtmlValidation;
    constructor(parent?: IRichTextEditor, serviceLocator?: ServiceLocator);
    /**
     * Destroys the Markdown.
     *
     * @function destroy
     * @returns {void}
     * @hidden
     * @deprecated
     */
    destroy(): void;
    /**
     * @param {string} value - specifies the string value
     * @returns {void}
     * @hidden
     * @deprecated
     */
    sanitizeHelper(value: string): string;
    private addEventListener;
    private updateReadOnly;
    private onSelectionSave;
    private onSelectionRestore;
    private isTableClassAdded;
    private onKeyUp;
    private onKeyDown;
    private isOrderedList;
    private isUnOrderedList;
    private backSpaceCleanup;
    private deleteCleanup;
    private getCaretIndex;
    private getRangeElement;
    private getRootBlockNode;
    private getRangeLiNode;
    private onPaste;
    private spaceLink;
    private onToolbarClick;
    private renderColorPicker;
    private instantiateRenderer;
    private removeEventListener;
    private render;
    /**
     * Called internally if any of the property value changed.
     *
     * @param {RichTextEditorModel} e - specifies the editor model
     * @returns {void}
     * @hidden
     * @deprecated
     */
    protected onPropertyChanged(e: {
        [key: string]: RichTextEditorModel;
    }): void;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} - returns the string value
     * @hidden
     */
    private getModuleName;
    /**
     * For selecting all content in RTE
     *
     * @returns {void}
     * @private
     * @hidden
     */
    private selectAll;
    /**
     * For selecting all content in RTE
     *
     * @param {NotifyArgs} e - specifies the notified arguments
     * @returns {void}
     * @private
     * @hidden
     */
    private selectRange;
    /**
     * For get a selected text in RTE
     *
     * @param {NotifyArgs} e - specifies the notified arguments
     * @returns {void}
     * @hidden
     */
    private getSelectedHtml;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/actions/html-toolbar-status.d.ts
/**
 * HtmlToolbarStatus module for refresh the toolbar status
 */
export  class HtmlToolbarStatus {
    parent: IRichTextEditor;
    toolbarStatus: IToolbarStatus;
    private prevToolbarStatus;
    constructor(parent: IRichTextEditor);
    private addEventListener;
    private removeEventListener;
    private onRefreshHandler;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/actions/keyboard-model.d.ts
/**
 * Interface for a class KeyboardEvents
 */
export interface KeyboardEventsModel {
    /**
     * Specifies key combination and it respective action name.
     *
     * @default null
     */
    keyConfigs?: { [key: string]: string };
    /**
     * Specifies on which event keyboardEvents class should listen for key press. For ex., `keyup`, `keydown` or `keypress`
     *
     * @default 'keyup'
     */
    eventName?: string;
    /**
     * Specifies the listener when keyboard actions is performed.
     *
     * @event 'keyAction'
     */
    keyAction?: base.EmitType<KeyboardEventArgs>;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/actions/keyboard.d.ts
/**
 * KeyboardEvents
 */
export interface KeyboardEventArgs extends KeyboardEvent {
    /**
     * action of the KeyboardEvent
     */
    action: string;
}
/**
 * KeyboardEvents class enables you to bind key action desired key combinations for ex., Ctrl+A, Delete, Alt+Space etc.
 * ```html
 * <div id='testEle'>  </div>;
 * <script>
 *   let node: HTMLElement = document.querySelector('#testEle');
 *   let kbInstance = new KeyboardEvents({
 *       element: node,
 *       keyConfigs:{ selectAll : 'ctrl+a' },
 *       keyAction: function (e:KeyboardEvent, action:string) {
 *           // handler function code
 *       }
 *   });
 * </script>
 * ```
 *
 * @hidden
 * @deprecated
 */
export  class KeyboardEvents extends base.Base<HTMLElement> implements base.INotifyPropertyChanged {
    /**
     * Specifies key combination and it respective action name.
     *
     * @default null
     */
    keyConfigs: {
        [key: string]: string;
    };
    /**
     * Specifies on which event keyboardEvents class should listen for key press. For ex., `keyup`, `keydown` or `keypress`
     *
     * @default 'keyup'
     */
    eventName: string;
    /**
     * Specifies the listener when keyboard actions is performed.
     *
     * @event 'keyAction'
     */
    keyAction: base.EmitType<KeyboardEventArgs>;
    /**
     * Initializes the KeyboardEvents
     *
     * @param {HTMLElement} element - specifies the elements.
     * @param {base.KeyboardEventsModel} options - specify the options
     */
    constructor(element: HTMLElement, options?: base.KeyboardEventsModel);
    /**
     * Unwire bound events and destroy the instance.
     *
     * @returns {void}
     */
    destroy(): void;
    /**
     * Function can be used to specify certain action if a property is changed
     *
     * @param {base.KeyboardEventsModel} newProp - specifies the keyboard event.
     * @param {base.KeyboardEventsModel} oldProp - specifies the old property.
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: base.KeyboardEventsModel, oldProp?: base.KeyboardEventsModel): void;
    protected bind(): void;
    /**
     * To get the module name, returns 'keyboard'.
     *
     * @returns {void}
     */
    getModuleName(): string;
    /**
     * Wiring event handlers to events
     *
     * @returns {void}
     */
    private wireEvents;
    /**
     * Unwiring event handlers to events
     *
     * @returns {void}
     */
    private unwireEvents;
    /**
     * To handle a key press event returns null
     *
     * @param {KeyboardEventArgs} e - specifies the event arguments.
     * @returns {void}
     */
    private keyPressHandler;
    private static configCache;
    /**
     * To get the key configuration data
     *
     * @param {string} config - configuration data
     * @returns {KeyData} - specifies the key data
     */
    private static getKeyConfigData;
    private static getKeyCode;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/actions/markdown-editor.d.ts
/**
 * `MarkdownEditor` module is used to markdown editor
 */
export  class MarkdownEditor {
    private parent;
    private locator;
    private contentRenderer;
    private renderFactory;
    private toolbarUpdate;
    private saveSelection;
    private mdSelection;
    constructor(parent?: IRichTextEditor, serviceLocator?: ServiceLocator);
    /**
     * Destroys the Markdown.
     *
     * @function destroy
     * @returns {void}
     * @hidden
     * @deprecated
     */
    destroy(): void;
    private moduleDestroy;
    private addEventListener;
    private updateReadOnly;
    private onSelectionSave;
    private onSelectionRestore;
    private onToolbarClick;
    private instantiateRenderer;
    private removeEventListener;
    private render;
    /**
     * Called internally if any of the property value changed.
     *
     * @param {RichTextEditorModel} e - specifies the editor model
     * @returns {void}
     * @hidden
     * @deprecated
     */
    protected onPropertyChanged(e: {
        [key: string]: RichTextEditorModel;
    }): void;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {void}
     */
    private getModuleName;
    /**
     * For selecting all content in RTE
     *
     * @returns {void}
     * @private
     */
    private selectAll;
    /**
     * For get a selected text in RTE
     *
     * @param {NotifyArgs} e - specifies the arguments.
     * @returns {void}
     * @private
     */
    private getSelectedHtml;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/actions/markdown-toolbar-status.d.ts
/**
 * MarkdownToolbarStatus module for refresh the toolbar status
 */
export  class MarkdownToolbarStatus {
    selection: MarkdownSelection;
    parent: IRichTextEditor;
    element: HTMLTextAreaElement;
    toolbarStatus: IToolbarStatus;
    private prevToolbarStatus;
    constructor(parent: IRichTextEditor);
    private addEventListener;
    private removeEventListener;
    private onRefreshHandler;
    private isListsApplied;
    private currentFormat;
    private codeFormat;
    private getSelectedText;
    private isCode;
    private multiCharRegx;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/actions/paste-clean-up.d.ts
/**
 * PasteCleanup module called when pasting content in RichTextEditor
 */
export  class PasteCleanup {
    private parent;
    private renderFactory;
    private locator;
    private contentRenderer;
    private i10n;
    private saveSelection;
    private nodeSelectionObj;
    private dialogRenderObj;
    private popupObj;
    private uploadObj;
    private dialogObj;
    private keepRadioButton;
    private cleanRadioButton;
    private plainTextRadioButton;
    private inlineNode;
    private blockNode;
    private isNotFromHtml;
    private containsHtml;
    constructor(parent?: IRichTextEditor, serviceLocator?: ServiceLocator);
    private addEventListener;
    private destroy;
    private removeEventListener;
    private pasteClean;
    private splitBreakLine;
    private makeSpace;
    private imgUploading;
    private getBlob;
    private toolbarEnableDisable;
    private uploadMethod;
    private uploadFailure;
    private popupClose;
    private refreshPopup;
    private base64ToFile;
    /**
     * Method for image formatting when pasting
     *
     * @param {Object} pasteArgs - specifies the paste arguments.
     * @param {Element []} imgElement - specifies the array elements.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    private imageFormatting;
    private radioRender;
    private selectFormatting;
    private pasteDialog;
    private updateCss;
    private setCssClass;
    private destroyDialog;
    private cleanAppleClass;
    private formatting;
    private addTempClass;
    private removeTempClass;
    private sanitizeHelper;
    private plainFormatting;
    private getTextContent;
    private detachInlineElements;
    private findDetachEmptyElem;
    private removeEmptyElements;
    private tagGrouping;
    private attributesfilter;
    private deniedTags;
    private deniedAttributes;
    private allowedStyle;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {void}
     * @hidden
     */
    private getModuleName;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/actions/quick-toolbar.d.ts
/**
 * `Quick toolbar` module is used to handle Quick toolbar actions.
 */
export  class QuickToolbar {
    private offsetX;
    private offsetY;
    private deBouncer;
    private target;
    private locator;
    private parent;
    private contentRenderer;
    linkQTBar: BaseQuickToolbar;
    textQTBar: BaseQuickToolbar;
    imageQTBar: BaseQuickToolbar;
    audioQTBar: BaseQuickToolbar;
    videoQTBar: BaseQuickToolbar;
    tableQTBar: BaseQuickToolbar;
    inlineQTBar: BaseQuickToolbar;
    private renderFactory;
    constructor(parent?: IRichTextEditor, locator?: ServiceLocator);
    private formatItems;
    private getQTBarOptions;
    /**
     * createQTBar method
     *
     * @param {string} popupType - specifies the string value
     * @param {string} mode - specifies the string value.
     * @param {string} items - specifies the string.
     * @param {RenderType} type - specifies the render type.
     * @returns {BaseQuickToolbar} - specifies the quick toolbar
     * @hidden
     * @deprecated
     */
    createQTBar(popupType: string, mode: string, items: (string | IToolbarItems)[], type: RenderType): BaseQuickToolbar;
    private initializeQuickToolbars;
    private onMouseDown;
    private keyUpQT;
    private renderQuickToolbars;
    private renderInlineQuickToolbar;
    /**
     * Method for showing the inline quick toolbar
     *
     * @param {number} x -specifies the value of x.
     * @param {number} y - specifies the y valu.
     * @param {HTMLElement} target - specifies the target element.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    showInlineQTBar(x: number, y: number, target: HTMLElement): void;
    /**
     * Method for hidding the inline quick toolbar
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    hideInlineQTBar(): void;
    /**
     * Method for hidding the quick toolbar
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    hideQuickToolbars(): void;
    private deBounce;
    private mouseUpHandler;
    private keyDownHandler;
    private inlineQTBarMouseDownHandler;
    private keyUpHandler;
    private selectionChangeHandler;
    private onSelectionChange;
    /**
     * getInlineBaseToolbar method
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getInlineBaseToolbar(): BaseToolbar;
    /**
     * Destroys the ToolBar.
     *
     * @function destroy
     * @returns {void}
     * @hidden
     * @deprecated
     */
    destroy(): void;
    private moduleDestroy;
    private wireInlineQTBarEvents;
    private unWireInlineQTBarEvents;
    private toolbarUpdated;
    /**
     * addEventListener
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    addEventListener(): void;
    private onKeyDown;
    private onIframeMouseDown;
    private updateCss;
    private setCssClass;
    private setRtl;
    /**
     * removeEventListener
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    removeEventListener(): void;
    /**
     * Called internally if any of the property value changed.
     *
     * @param {RichTextEditorModel} e - specifies the element.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    protected onPropertyChanged(e: {
        [key: string]: RichTextEditorModel;
    }): void;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {void}
     * @hidden
     */
    private getModuleName;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/actions/resize.d.ts
/**
 * `Resize` module is used to resize the editor
 */
export  class Resize {
    protected parent: IRichTextEditor;
    protected resizer: HTMLElement;
    protected touchStartEvent: string;
    protected touchMoveEvent: string;
    protected touchEndEvent: string;
    private constructor();
    private addEventListener;
    private renderResizable;
    private resizeStart;
    private performResize;
    private stopResize;
    private getEventType;
    private isMouseEvent;
    private wireResizeEvents;
    private unwireResizeEvents;
    private destroy;
    private removeEventListener;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {void}
     * @hidden
     */
    private getModuleName;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/actions/sanitize-helper.d.ts
export  class SanitizeHtmlHelper {
    removeAttrs: SanitizeRemoveAttrs[];
    removeTags: string[];
    wrapElement: HTMLElement;
    initialize(value: string, parent?: IRichTextEditor): string;
    serializeValue(item: BeforeSanitizeHtmlArgs, value: string): string;
    private removeXssTags;
    private removeJsEvents;
    private removeXssAttrs;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/actions/toolbar-action.d.ts
/**
 * `ToolbarAction` module is used to toolbar click action
 */
export  class ToolbarAction {
    /**
     *
     * @hidden
     * @private
     */
    parent: IRichTextEditor;
    private serviceLocator;
    constructor(parent?: IRichTextEditor);
    private addEventListener;
    private toolbarClick;
    private dropDownSelect;
    private renderSelection;
    private removeEventListener;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/actions/toolbar.d.ts
/**
 * `Toolbar` module is used to handle Toolbar actions.
 */
export  class Toolbar {
    toolbarObj: navigations.Toolbar;
    private editPanel;
    private isToolbar;
    private editableElement;
    private tbItems;
    baseToolbar: BaseToolbar;
    private tbElement;
    private tbWrapper;
    protected parent: IRichTextEditor;
    protected locator: ServiceLocator;
    private isTransformChild;
    private contentRenderer;
    protected toolbarRenderer: IRenderer;
    private dropDownModule;
    private toolbarActionModule;
    protected renderFactory: RendererFactory;
    private keyBoardModule;
    private tools;
    constructor(parent?: IRichTextEditor, serviceLocator?: ServiceLocator);
    private initializeInstance;
    private toolbarBindEvent;
    private toolBarKeyDown;
    private createToolbarElement;
    private getToolbarMode;
    private checkToolbarResponsive;
    private checkIsTransformChild;
    private toggleFloatClass;
    private renderToolbar;
    /**
     * addFixedTBarClass method
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    addFixedTBarClass(): void;
    /**
     * removeFixedTBarClass method
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    removeFixedTBarClass(): void;
    private showFixedTBar;
    private hideFixedTBar;
    /**
     * updateItem method
     *
     * @param {IUpdateItemsModel} args - specifies the arguments.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    updateItem(args: IUpdateItemsModel): void;
    private updateToolbarStatus;
    private fullScreen;
    private hideScreen;
    /**
     * getBaseToolbar method
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getBaseToolbar(): BaseToolbar;
    /**
     * addTBarItem method
     *
     * @param {IUpdateItemsModel} args - specifies the arguments.
     * @param {number} index - specifies the index value.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    addTBarItem(args: IUpdateItemsModel, index: number): void;
    /**
     * enableTBarItems method
     *
     * @param {BaseToolbar} baseToolbar - specifies the toolbar.
     * @param {string} items - specifies the string value.
     * @param {boolean} isEnable - specifies the boolean value.
     * @param {boolean} muteToolbarUpdate - specifies the toolbar.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    enableTBarItems(baseToolbar: BaseToolbar, items: string | string[], isEnable: boolean, muteToolbarUpdate?: boolean): void;
    /**
     * removeTBarItems method
     *
     * @param {string} items - specifies the string value.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    removeTBarItems(items: string | string[]): void;
    /**
     * getExpandTBarPopHeight method
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getExpandTBarPopHeight(): number;
    /**
     * getToolbarHeight method
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getToolbarHeight(): number;
    /**
     * getToolbarElement method
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getToolbarElement(): Element;
    /**
     * refreshToolbarOverflow method
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    refreshToolbarOverflow(): void;
    private isToolbarDestroyed;
    private destroyToolbar;
    /**
     * Destroys the ToolBar.
     *
     * @function destroy
     * @returns {void}
     * @hidden
     * @deprecated
     */
    destroy(): void;
    private moduleDestroy;
    private scrollHandler;
    private getDOMVisibility;
    private mouseDownHandler;
    private focusChangeHandler;
    private dropDownBeforeOpenHandler;
    private tbFocusHandler;
    private tbKeydownHandler;
    private toolbarClickHandler;
    protected wireEvents(): void;
    protected unWireEvents(): void;
    protected addEventListener(): void;
    protected removeEventListener(): void;
    private setCssClass;
    private onRefresh;
    /**
     * Called internally if any of the property value changed.
     *
     * @param {RichTextEditorModel} e - specifies the string value
     * @returns {void}
     * @hidden
     * @deprecated
     */
    protected onPropertyChanged(e: {
        [key: string]: RichTextEditorModel;
    }): void;
    private refreshToolbar;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {void}
     * @hidden
     */
    private getModuleName;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/actions/xhtml-validation.d.ts
/**
 * XhtmlValidation module called when set enableXhtml as true
 */
export  class XhtmlValidation {
    private parent;
    private currentElement;
    constructor(parent?: IRichTextEditor);
    private addEventListener;
    private removeEventListener;
    private enableXhtmlValidation;
    /**
     * @param {string} currentValue - specifies the string value.
     * @param {number} valueLength - specifies the length of the current value.
     * @returns {void}
     * @deprecated
     */
    selfEncloseValidation(currentValue: string, valueLength?: number): string;
    private AddRootElement;
    private clean;
    private ImageTags;
    private removeTags;
    private RemoveElementNode;
    private RemoveUnsupported;
    private RemoveAttributeByName;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/audio.d.ts
/**
 * Audio
 */
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/base.d.ts
/**
 * Base export
 */
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/base/classes.d.ts
/**
 * Rich Text Editor classes defined here.
 */
/**
 * @hidden
 * @deprecated
 */
export  const CLS_RTE: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_RTL: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_CONTENT: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_DISABLED: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_SCRIPT_SHEET: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_STYLE_SHEET: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_TOOLBAR: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_TB_FIXED: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_TB_FLOAT: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_TB_ABS_FLOAT: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_INLINE: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_TB_INLINE: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_RTE_EXPAND_TB: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_FULL_SCREEN: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_QUICK_TB: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_POP: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_TB_STATIC: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_QUICK_POP: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_QUICK_DROPDOWN: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_IMAGE_POP: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_INLINE_POP: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_INLINE_DROPDOWN: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_DROPDOWN_POPUP: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_DROPDOWN_ICONS: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_DROPDOWN_ITEMS: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_DROPDOWN_BTN: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_RTE_CONTENT: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_TB_ITEM: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_TB_EXTENDED: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_TB_WRAP: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_POPUP: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_SEPARATOR: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_MINIMIZE: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_MAXIMIZE: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_BACK: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_SHOW: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_HIDE: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_VISIBLE: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_FOCUS: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_RM_WHITE_SPACE: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_IMGRIGHT: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_IMGLEFT: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_IMGCENTER: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_IMGBREAK: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_AUDIOBREAK: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_CLICKELEM: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_VID_CLICK_ELEM: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_AUDIOWRAP: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_VIDEOWRAP: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_VIDEOBREAK: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_CAPTION: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_RTE_CAPTION: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_CAPINLINE: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_IMGINLINE: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_AUDIOINLINE: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_VIDEOINLINE: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_COUNT: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_WARNING: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_ERROR: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_ICONS: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_ACTIVE: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_EXPAND_OPEN: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_RTE_ELEMENTS: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_TB_BTN: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_HR_SEPARATOR: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_TB_IOS_FIX: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_LIST_PRIMARY_CONTENT: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_NUMBERFORMATLIST_TB_BTN: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_BULLETFORMATLIST_TB_BTN: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_FORMATS_TB_BTN: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_FONT_NAME_TB_BTN: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_FONT_SIZE_TB_BTN: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_ALIGN_TB_BTN: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_FONT_COLOR_TARGET: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_BACKGROUND_COLOR_TARGET: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_COLOR_CONTENT: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_FONT_COLOR_DROPDOWN: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_BACKGROUND_COLOR_DROPDOWN: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_COLOR_PALETTE: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_FONT_COLOR_PICKER: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_BACKGROUND_COLOR_PICKER: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_RTE_READONLY: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_TABLE_SEL: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_TB_DASH_BOR: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_TB_ALT_BOR: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_TB_COL_RES: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_TB_ROW_RES: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_TB_BOX_RES: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_RTE_HIDDEN: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_RTE_PASTE_KEEP_FORMAT: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_RTE_PASTE_REMOVE_FORMAT: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_RTE_PASTE_PLAIN_FORMAT: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_RTE_PASTE_OK: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_RTE_PASTE_CANCEL: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_RTE_DIALOG_MIN_HEIGHT: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_RTE_RES_HANDLE: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_RTE_RES_EAST: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_RTE_IMAGE: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_RESIZE: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_IMG_FOCUS: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_AUD_FOCUS: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_VID_FOCUS: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_RTE_DRAG_IMAGE: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_RTE_UPLOAD_POPUP: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_POPUP_OPEN: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_IMG_RESIZE: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_DROPAREA: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_IMG_INNER: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_UPLOAD_FILES: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_RTE_DIALOG_UPLOAD: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_RTE_RES_CNT: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_CUSTOM_TILE: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_NOCOLOR_ITEM: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_TABLE: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_TABLE_BORDER: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_RTE_TABLE_RESIZE: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_RTE_FIXED_TB_EXPAND: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_RTE_TB_ENABLED: string;
/**
 * @hidden
 * @deprecated
 */
export  const CLS_RTE_RES_WEST: string;
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/base/constant.d.ts
/**
 * @hidden
 * @deprecated
 */
export  const created: string;
/**
 * @hidden
 * @deprecated
 */
export  const destroyed: string;
/**
 * @hidden
 * @deprecated
 */
export  const tableclass: string;
/**
 * @hidden
 * @deprecated
 */
export  const load: string;
/**
 * Specifies Rich Text Editor internal events
 */
/**
 * @hidden
 * @deprecated
 */
export  const initialLoad: string;
/**
 * @hidden
 * @deprecated
 */
export  const contentChanged: string;
/**
 * @hidden
 * @deprecated
 */
export  const initialEnd: string;
/**
 * @hidden
 * @deprecated
 */
export  const iframeMouseDown: string;
/**
 * @hidden
 * @deprecated
 */
export  const destroy: string;
/**
 * @hidden
 * @deprecated
 */
export  const toolbarClick: string;
/**
 * @hidden
 * @deprecated
 */
export  const toolbarRefresh: string;
/**
 * @hidden
 * @deprecated
 */
export  const refreshBegin: string;
/**
 * @hidden
 * @deprecated
 */
export  const toolbarUpdated: string;
/**
 * @hidden
 * @deprecated
 */
export  const bindOnEnd: string;
/**
 * @hidden
 * @deprecated
 */
export  const renderColorPicker: string;
/**
 * @hidden
 * @deprecated
 */
export  const htmlToolbarClick: string;
/**
 * @hidden
 * @deprecated
 */
export  const markdownToolbarClick: string;
/**
 * @hidden
 * @deprecated
 */
export  const destroyColorPicker: string;
/**
 * @hidden
 * @deprecated
 */
export  const modelChanged: string;
/**
 * @hidden
 * @deprecated
 */
export  const tableModulekeyUp: string;
/**
 * @hidden
 * @deprecated
 */
export  const keyUp: string;
/**
 * @hidden
 * @deprecated
 */
export  const keyDown: string;
/**
 * @hidden
 * @deprecated
 */
export  const mouseUp: string;
/**
 * @hidden
 * @deprecated
 */
export  const toolbarCreated: string;
/**
 * @hidden
 * @deprecated
 */
export  const toolbarRenderComplete: string;
/**
 * @hidden
 * @deprecated
 */
export  const enableFullScreen: string;
/**
 * @hidden
 * @deprecated
 */
export  const disableFullScreen: string;
/**
 * @hidden
 * @deprecated
 */
export  const dropDownSelect: string;
/**
 * @hidden
 * @deprecated
 */
export  const beforeDropDownItemRender: string;
/**
 * @hidden
 * @deprecated
 */
export  const execCommandCallBack: string;
/**
 * @hidden
 * @deprecated
 */
export  const imageToolbarAction: string;
/**
 * @hidden
 * @deprecated
 */
export  const audioToolbarAction: string;
/**
 * @hidden
 * @deprecated
 */
export  const videoToolbarAction: string;
/**
 * @hidden
 * @deprecated
 */
export  const linkToolbarAction: string;
/**
 * @hidden
 * @deprecated
 */
export  const windowResize: string;
/**
 * @hidden
 * @deprecated
 */
export  const resizeStart: string;
/**
 * @hidden
 * @deprecated
 */
export  const onResize: string;
/**
 * @hidden
 * @deprecated
 */
export  const resizeStop: string;
/**
 * @hidden
 * @deprecated
 */
export  const undo: string;
/**
 * @hidden
 * @deprecated
 */
export  const redo: string;
/**
 * @hidden
 * @deprecated
 */
export  const insertLink: string;
/**
 * @hidden
 * @deprecated
 */
export  const unLink: string;
/**
 * @hidden
 * @deprecated
 */
export  const editLink: string;
/**
 * @hidden
 * @deprecated
 */
export  const openLink: string;
/**
 * @hidden
 * @deprecated
 */
export  const actionBegin: string;
/**
 * @hidden
 * @deprecated
 */
export  const actionComplete: string;
/**
 * @hidden
 * @deprecated
 */
export  const updatedToolbarStatus: string;
/**
 * @hidden
 * @deprecated
 */
export  const actionSuccess: string;
/**
 * @hidden
 * @deprecated
 */
export  const updateToolbarItem: string;
/**
 * @hidden
 * @deprecated
 */
export  const insertImage: string;
/**
 * @hidden
 * @deprecated
 */
export  const insertAudio: string;
/**
 * @hidden
 * @deprecated
 */
export  const insertVideo: string;
/**
 * @hidden
 * @deprecated
 */
export  const insertCompleted: string;
/**
 * @hidden
 * @deprecated
 */
export  const imageLeft: string;
/**
 * @hidden
 * @deprecated
 */
export  const imageRight: string;
/**
 * @hidden
 * @deprecated
 */
export  const imageCenter: string;
/**
 * @hidden
 * @deprecated
 */
export  const imageBreak: string;
/**
 * @hidden
 * @deprecated
 */
export  const imageInline: string;
/**
 * @hidden
 * @deprecated
 */
export  const imageLink: string;
/**
 * @hidden
 * @deprecated
 */
export  const imageAlt: string;
/**
 * @hidden
 * @deprecated
 */
export  const imageDelete: string;
/**
 * @hidden
 * @deprecated
 */
export  const audioDelete: string;
/**
 * @hidden
 * @deprecated
 */
export  const videoDelete: string;
/**
 * @hidden
 * @deprecated
 */
export  const imageCaption: string;
/**
 * @hidden
 * @deprecated
 */
export  const imageSize: string;
/**
 * @hidden
 * @deprecated
 */
export  const videoSize: string;
/**
 * @hidden
 * @deprecated
 */
export  const sourceCode: string;
/**
 * @hidden
 * @deprecated
 */
export  const updateSource: string;
/**
 * @hidden
 * @deprecated
 */
export  const toolbarOpen: string;
/**
 * @hidden
 * @deprecated
 */
export  const beforeDropDownOpen: string;
/**
 * @hidden
 * @deprecated
 */
export  const selectionSave: string;
/**
 * @hidden
 * @deprecated
 */
export  const selectionRestore: string;
/**
 * @hidden
 * @deprecated
 */
export  const expandPopupClick: string;
/**
 * @hidden
 * @deprecated
 */
export  const count: string;
/**
 * @hidden
 * @deprecated
 */
export  const contentFocus: string;
/**
 * @hidden
 * @deprecated
 */
export  const contentBlur: string;
/**
 * @hidden
 * @deprecated
 */
export  const mouseDown: string;
/**
 * @hidden
 * @deprecated
 */
export  const sourceCodeMouseDown: string;
/**
 * @hidden
 * @deprecated
 */
export  const editAreaClick: string;
/**
 * @hidden
 * @deprecated
 */
export  const scroll: string;
/**
 * @hidden
 * @deprecated
 */
export  const contentscroll: string;
/**
 * @hidden
 * @deprecated
 */
export  const colorPickerChanged: string;
/**
 * @hidden
 * @deprecated
 */
export  const tableColorPickerChanged: string;
/**
 * @hidden
 * @deprecated
 */
export  const focusChange: string;
/**
 * @hidden
 * @deprecated
 */
export  const selectAll: string;
/**
 * @hidden
 * @deprecated
 */
export  const selectRange: string;
/**
 * @hidden
 * @deprecated
 */
export  const getSelectedHtml: string;
/**
 * @hidden
 * @deprecated
 */
export  const renderInlineToolbar: string;
/**
 * @hidden
 * @deprecated
 */
export  const paste: string;
/**
 * @hidden
 * @deprecated
 */
export  const imgModule: string;
/**
 * @hidden
 * @deprecated
 */
export  const rtlMode: string;
/**
 * @hidden
 * @deprecated
 */
export  const createTable: string;
/**
 * @hidden
 * @deprecated
 */
export  const docClick: string;
/**
 * @hidden
 * @deprecated
 */
export  const tableToolbarAction: string;
/**
 * @hidden
 * @deprecated
 */
export  const checkUndo: string;
/**
 * @hidden
 * @deprecated
 */
export  const readOnlyMode: string;
/**
 * @hidden
 * @deprecated
 */
export  const moduleDestroy: string;
/**
 * @hidden
 * @deprecated
 */
export  const pasteClean: string;
/**
 * @hidden
 * @deprecated
 */
export  const enterHandler: string;
/**
 * @hidden
 * @deprecated
 */
export  const beforeDialogOpen: string;
/**
 * @hidden
 * @deprecated
 */
export  const clearDialogObj: string;
/**
 * @hidden
 * @deprecated
 */
export  const dialogOpen: string;
/**
 * @hidden
 * @deprecated
 */
export  const beforeDialogClose: string;
/**
 * @hidden
 * @deprecated
 */
export  const dialogClose: string;
/**
 * @hidden
 * @deprecated
 */
export  const beforeQuickToolbarOpen: string;
/**
 * @hidden
 * @deprecated
 */
export  const quickToolbarOpen: string;
/**
 * @hidden
 * @deprecated
 */
export  const quickToolbarClose: string;
/**
 * @hidden
 * @deprecated
 */
export  const popupHide: string;
/**
 * @hidden
 * @deprecated
 */
export  const imageSelected: string;
/**
 * @hidden
 * @deprecated
 */
export  const imageUploading: string;
/**
 * @hidden
 * @deprecated
 */
export  const imageUploadSuccess: string;
/**
 * @hidden
 * @deprecated
 */
export  const imageUploadFailed: string;
/**
 * @hidden
 * @deprecated
 */
export  const imageRemoving: string;
/**
 * @hidden
 * @deprecated
 */
export  const fileSelected: string;
/**
  * @hidden
  * @deprecated
  */
export  const fileUploading: string;
/**
  * @hidden
  * @deprecated
  */
export  const fileUploadSuccess: string;
/**
  * @hidden
  * @deprecated
  */
export  const fileUploadFailed: string;
/**
  * @hidden
  * @deprecated
  */
export  const fileRemoving: string;
/**
 * @hidden
 * @deprecated
 */
export  const afterImageDelete: string;
/**
 * @hidden
 * @deprecated
 */
export  const afterMediaDelete: string;
/**
 * @hidden
 * @deprecated
 */
export  const drop: string;
/**
 * @hidden
 * @deprecated
 */
export  const xhtmlValidation: string;
/**
 * @hidden
 * @deprecated
 */
export  const beforeImageUpload: string;
/**
 * @hidden
 * @deprecated
 */
export  const beforeFileUpload: string;
/**
 * @hidden
 * @deprecated
 */
export  const resizeInitialized: string;
/**
 * @hidden
 * @deprecated
 */
export  const renderFileManager: string;
/**
 * @hidden
 * @deprecated
 */
export  const beforeImageDrop: string;
/**
 * @hidden
 * @deprecated
 */
export  const dynamicModule: string;
/**
 * @hidden
 * @deprecated
 */
export  const beforePasteCleanup: string;
/**
 * @hidden
 * @deprecated
 */
export  const afterPasteCleanup: string;
/**
 * @hidden
 * @deprecated
 */
export  const updateTbItemsStatus: string;
/**
 * @hidden
 * @deprecated
 */
export  const showLinkDialog: string;
/**
 * @hidden
 * @deprecated
 */
export  const closeLinkDialog: string;
/**
 * @hidden
 * @deprecated
 */
export  const showImageDialog: string;
/**
 * @hidden
 * @deprecated
 */
export  const showAudioDialog: string;
/**
 * @hidden
 * @deprecated
 */
export  const showVideoDialog: string;
/**
 * @hidden
 * @deprecated
 */
export  const closeImageDialog: string;
/**
 * @hidden
 * @deprecated
 */
export  const closeAudioDialog: string;
/**
 * @hidden
 * @deprecated
 */
export  const closeVideoDialog: string;
/**
 * @hidden
 * @deprecated
 */
export  const showTableDialog: string;
/**
 * @hidden
 * @deprecated
 */
export  const closeTableDialog: string;
/**
 * @hidden
 * @deprecated
 */
export  const bindCssClass: string;
/**
 * @hidden
 * @deprecated
 */
export  const blockEmptyNodes: string;
/**
 * @hidden
 * @deprecated
 */
export  const inlineEmptyNodes: string;
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/base/enum.d.ts
/**
 * Defines types of Render
 *
 * @hidden
 * @deprecated
 */
export  enum RenderType {
    /** Defines RenderType as Toolbar */
    Toolbar = 0,
    /** Defines RenderType as Content */
    Content = 1,
    /** Defines RenderType as Popup */
    Popup = 2,
    /** Defines RenderType as LinkToolbar */
    LinkToolbar = 3,
    /** Defines RenderType as TextToolbar */
    TextToolbar = 4,
    /** Defines RenderType as ImageToolbar */
    ImageToolbar = 5,
    /** Defines RenderType as AudioToolbar */
    AudioToolbar = 6,
    /** Defines RenderType as AudioToolbar */
    VideoToolbar = 7,
    /** Defines RenderType as InlineToolbar */
    InlineToolbar = 8,
    /** Defines RenderType as TableToolbar */
    TableToolbar = 9
}
/**
 * Defines types of action to be done on a quick toolbar scroll.
 */
export  type ActionOnScroll = 'hide' | 'none';
/**
 * Defines types to be used as Toolbar.
 */
export  enum ToolbarType {
    /** Defines ToolbarType as Standard */
    Expand = "Expand",
    /** Defines ToolbarType as MultiRow */
    MultiRow = "MultiRow",
    /** Defines ToolbarType as Scrollable */
    Scrollable = "Scrollable"
}
/**
 * Defines the type of dialog, which open or close in the Rich Text Editor.
 */
export  enum DialogType {
    /** Defines ToolbarType as Standard */
    InsertLink = "InsertLink",
    /** Defines ToolbarType as MultiRow */
    InsertImage = "InsertImage",
    /** Defines DialogType as Audio*/
    InsertAudio = "InsertAudio",
    /** Defines DialogType as Video*/
    InsertVideo = "InsertVideo",
    /** Defines ToolbarType as Scrollable */
    InsertTable = "InsertTable"
}
/**
 * Defines types to be used to configure the toolbar items.
 */
export  type ToolbarItems = 'alignments' | 'justifyLeft' | 'justifyCenter' | 'justifyRight' | 'justifyFull' | 'fontName' | 'fontSize' | 'fontColor' | 'backgroundColor' | 'bold' | 'italic' | 'underline' | 'strikeThrough' | 'clearFormat' | 'clearAll' | 'cut' | 'copy' | 'paste' | 'unorderedList' | 'orderedList' | 'indent' | 'outdent' | 'undo' | 'redo' | 'superScript' | 'subScript' | 'createLink' | 'openLink' | 'editLink' | 'image' | 'createTable' | 'removeTable' | 'replace' | 'align' | 'caption' | 'remove' | 'openImageLink' | 'editImageLink' | 'removeImageLink' | 'insertLink' | 'display' | 'altText' | 'dimension' | 'fullScreen' | 'maximize' | 'minimize' | 'lowerCase' | 'upperCase' | 'print' | 'formats' | 'sourceCode' | 'preview' | 'viewSide' | 'insertCode' | 'tableHeader' | 'tableRemove' | 'tableRows' | 'tableColumns' | 'tableCellBackground' | 'tableCellHorizontalAlign' | 'tableCellVerticalAlign' | 'tableEditProperties' | 'styles' | 'removeLink' | 'merge';
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/base/interface.d.ts
/**
 * Specifies Rich Text Editor interfaces.
 *
 * @hidden
 * @deprecated
 */
export interface IRichTextEditor extends base.Component<HTMLElement> {
    toolbarSettings?: ToolbarSettingsModel;
    quickToolbarSettings?: QuickToolbarSettingsModel;
    iframeSettings?: IFrameSettingsModel;
    /**
     * Configures the image settings of the RTE.
     *
     * @default
     * {
     * allowedTypes: ['jpeg', 'jpg', 'png'],
     * display: 'inline', width: '200px', saveFormat: 'Base64',
     * height: '200px', saveUrl:null, path: null, resize: false
     * }
     */
    insertImageSettings: ImageSettingsModel;
    /**
     * Configures the image settings of the RTE.
     *
     * @default
     * {
     * allowedTypes: ['wav', 'mp3', 'm4a','wma'],
     * layoutOption: 'Inline', saveFormat: 'Blob',
     * saveUrl:null, path: null,
     * }
     */
    insertAudioSettings: AudioSettingsModel;
    /**
     * Configures the video settings of the RTE.
     *
     * @default
     * {
     * allowedTypes: ['mp4', 'mov', 'wmv', 'avi'],
     * layoutOption: 'Inline', width: '200px', saveFormat: 'Blob',
     * height: '200px', saveUrl:null, path: null, resize: false
     * }
     */
    insertVideoSettings: VideoSettingsModel;
    fileManagerSettings: FileManagerSettingsModel;
    tableSettings: TableSettingsModel;
    pasteCleanupSettings: PasteCleanupSettingsModel;
    floatingToolbarOffset?: number;
    showCharCount?: boolean;
    enableTabKey?: boolean;
    maxLength?: number;
    inlineMode?: InlineModeModel;
    width?: string | number;
    height?: string | number;
    fontFamily?: IFontProperties;
    fontSize?: IFontProperties;
    fontColor?: IColorProperties;
    numberFormatList?: INumberFormatListPropertiesProperties;
    bulletFormatList?: IBulletFormatListPropertiesProperties;
    backgroundColor?: IColorProperties;
    format?: IFormatProperties;
    value?: string;
    saveInterval?: number;
    isBlur?: boolean;
    isRTE?: boolean;
    contentModule?: IRenderer;
    enabled?: boolean;
    readonly?: boolean;
    placeholder?: string;
    cssClass?: string;
    valueContainer?: HTMLTextAreaElement;
    editorMode?: EditorMode;
    enableHtmlEncode?: boolean;
    formatter?: IFormatter;
    inputElement?: HTMLElement;
    toolbarModule?: Toolbar;
    tableModule?: Table;
    fileManagerModule?: FileManager;
    sourceCodeModule?: ViewSource;
    getToolbarElement?(): Element;
    fullScreenModule?: FullScreen;
    resizeModule?: Resize;
    refreshUI?(): void;
    enterKeyModule?: EnterKeyAction;
    enterKey?: EnterKey;
    shiftEnterKey?: ShiftEnterKey;
    audioModule?: Audio;
    videoModule?: Video;
    pasteCleanupModule?: PasteCleanup;
    undoRedoModule?: UndoRedoManager;
    quickToolbarModule?: QuickToolbar;
    undoRedoSteps?: number;
    markdownEditorModule: MarkdownEditor;
    htmlEditorModule: HtmlEditor;
    countModule?: Count;
    serviceLocator?: ServiceLocator;
    setEnable?(): void;
    setReadOnly?(isInit?: boolean): void;
    setPlaceHolder?(): void;
    updateValue?(): void;
    print(): void;
    getContent?(): Element;
    setRTEContent?(value: Element): void;
    ensureModuleInjected(module: object): boolean;
    getToolbar(): HTMLElement;
    getTBarItemsIndex?(items: string[]): number[];
    getCollection?(items: string | string[]): string[];
    getRange(): Range;
    getID(): string;
    getText(): string;
    updateValueData?(): void;
    getBaseToolbarObject(): BaseToolbar;
    setContentHeight(target?: string, isExpand?: boolean): void;
    keyConfig?: {
        [key: string]: string;
    };
    undoRedoTimer?: number;
    sourceCode?(): void;
    enableToolbarItem?(items: string | string[]): void;
    disableToolbarItem?(items: string | string[]): void;
    wireScrollElementsEvents?(): void;
    unWireScrollElementsEvents?(): void;
    keyDown?(e?: KeyboardEvent): void;
    keyboardModule?: KeyboardEvents;
    onCopy?(): void;
    onCut?(): void;
    onPaste?(): void;
    clipboardAction?: Function;
    localeObj?: base.L10n;
    invokeChangeEvent?(): void;
    addAudioVideoWrapper?(): void;
    preventDefaultResize?(e?: FocusEvent | MouseEvent): void;
    autoResize?(): void;
    executeCommand?(commandName: CommandName, value?: string | HTMLElement): void;
    serializeValue?(value: string): string;
    sanitizeHtml?(value: string): string;
    enableAutoUrl?: boolean;
    enableXhtml?: boolean;
    enableHtmlSanitizer?: boolean;
    getInsertImgMaxWidth?(): string | number;
    getInsertVidMaxWidth?(): string | number;
    getSelection(): string;
    currentTarget: HTMLElement;
}
/**
 * @deprecated
 */
export interface IRenderer {
    linkQTBar?: BaseQuickToolbar;
    imageQTBar?: BaseQuickToolbar;
    audioQTBar?: BaseQuickToolbar;
    videoQTBar?: BaseQuickToolbar;
    tableQTBar?: BaseQuickToolbar;
    textQTBar?: BaseQuickToolbar;
    inlineQTBar?: BaseQuickToolbar;
    renderPanel?(): void;
    setPanel?(panel: Element): void;
    getPanel?(): Element;
    getEditPanel?(): Element;
    getText?(): string;
    getDocument?(): Document;
    addEventListener?(): void;
    removeEventListener?(): void;
    renderToolbar?(args: IToolbarOptions): void;
    renderPopup?(args: BaseQuickToolbar): void;
    renderDropDownButton?(args: splitbuttons.ItemModel): splitbuttons.DropDownButton;
    renderColorPicker?(args: IColorPickerModel, item?: string): inputs.ColorPicker;
    renderColorPickerDropDown?(args?: IColorPickerModel, item?: string, colorPicker?: inputs.ColorPicker, defaultColor?: string): splitbuttons.DropDownButton;
    renderListDropDown?(args: IDropDownModel): splitbuttons.DropDownButton;
}
/**
 * Provides information about a Notify.
 */
export interface NotifyArgs {
    module?: string;
    args?: KeyboardEvent | MouseEvent | navigations.ClickEventArgs | ClipboardEvent | TouchEvent;
    cancel?: boolean;
    requestType?: string;
    enable?: boolean;
    properties?: object;
    selection?: NodeSelection;
    selfLink?: Link;
    link?: HTMLInputElement;
    selectNode?: Node[];
    selectParent?: Node[];
    url?: string;
    text?: string;
    isWordPaste?: boolean;
    title?: string;
    target?: string;
    member?: string;
    /** Defines the notifier name. */
    name?: string;
    /** Defines the selection range. */
    range?: Range;
    /** Defines the action. */
    action?: string;
    callBack?(args?: string | IImageCommandsArgs): void;
    file?: Blob;
    insertElement?: Element;
    touchData?: ITouchData;
    allowedStylePropertiesArray?: string[];
}
/**
 * Provides information about the current and previous cssClass property .
 */
export interface ICssClassArgs {
    cssClass?: string;
    oldCssClass?: string;
}
/**
 * @deprecated
 */
export interface IItemCollectionArgs {
    /** Defines the instance of the current selection */
    selection?: NodeSelection;
    /** Defines the HTML elements of currently selected content */
    selectNode?: Node[];
    /** Defines the parent HTML elements of current selection */
    selectParent?: Node[];
    /** Defines the URL action details for link element */
    url?: string;
    /** Defines the Display Text action details for link element */
    text?: string;
    /** Defines the title of the link action details */
    title?: string;
    /** Defines the target as string for link element */
    target?: string;
    /** Defines the element to be inserted */
    insertElement?: Element;
}
/**
 * Provides information about a TouchData.
 */
export interface ITouchData {
    prevClientX?: number;
    prevClientY?: number;
    clientX?: number;
    clientY?: number;
}
/**
 * @hidden
 * @deprecated
 */
export interface IColorPickerModel extends inputs.ColorPickerModel {
    element?: HTMLElement;
    value?: string;
    command?: string;
    subCommand?: string;
    target?: string;
    iconCss?: string;
    cssClass?: string;
}
/**
 * @hidden
 * @deprecated
 */
export interface IColorPickerEventArgs extends inputs.ColorPickerEventArgs {
    item?: IColorPickerModel;
    originalEvent: string;
    cancel?: boolean;
}
/**
 * @hidden
 * @deprecated
 */
export interface IDropDownItem extends navigations.ItemModel {
    command?: string;
    subCommand?: string;
    controlParent?: splitbuttons.DropDownButton;
    listImage?: string;
    value?: string;
}
/**
 * @hidden
 * @deprecated
 */
export interface IDropDownClickArgs extends navigations.ClickEventArgs {
    item: IDropDownItem;
}
/**
 * @deprecated
 */
export interface IColorPickerRenderArgs {
    items?: string[];
    containerType?: string;
    container?: HTMLElement;
}
/**
 * @deprecated
 */
export interface IImageNotifyArgs {
    module?: string;
    args?: KeyboardEvent | MouseEvent | navigations.ClickEventArgs | IToolbarItemModel | ClipboardEvent | TouchEvent;
    cancel?: boolean;
    requestType?: string;
    enable?: boolean;
    properties?: object;
    selection?: NodeSelection;
    selfImage?: Image;
    selfAudio?: Audio;
    selfVideo?: Video;
    link?: HTMLInputElement | HTMLElement;
    selectNode?: Node[];
    selectParent?: Node[];
    target?: string;
    alt?: HTMLInputElement | HTMLElement;
    text?: string;
    member?: string;
    name?: string;
    cssClass?: string;
}
/**
 * Provides information about a Image added in the Rich Text Editor.
 */
export interface IImageCommandsArgs {
    /** Defines the src attribute of the image */
    url?: string;
    /** Defines the instance of the current selection */
    selection?: NodeSelection;
    /** Defines the minWidth, maxWidth and width of the image */
    width?: {
        minWidth?: string | number;
        maxWidth?: string | number;
        width?: string | number;
    };
    /** Defines the minHeight, maxHeight and height of the image */
    height?: {
        minHeight?: string | number;
        maxHeight?: string | number;
        height?: string | number;
    };
    /** Defines the alternate text attribute of the image */
    altText?: string;
    /** Defines the class name to be added to the image */
    cssClass?: string;
    /** Defines the image element to be edited */
    selectParent?: Node[];
}
/**
 * Provides information about a Audio added in the Rich Text Editor.
 */
export interface IAudioCommandsArgs {
    /** Defines the src attribute of the audio */
    url?: string;
    /** Defines the instance of the current selection */
    selection?: NodeSelection;
    /** Defines the fileName of the audio */
    fileName?: string;
    /** Defines the class name to be added to the audio */
    cssClass?: string;
    /** Defines the audio element to be edited */
    selectParent?: Node[];
}
/**
 * Provides information about a Video added in the Rich Text Editor.
 */
export interface IVideoCommandsArgs {
    /** Defines the src attribute of the video */
    url?: string;
    /** Defines the instance of the current selection */
    selection?: NodeSelection;
    /** Defines the minWidth, maxWidth and width of the video */
    width?: {
        minWidth?: string | number;
        maxWidth?: string | number;
        width?: string | number;
    };
    /** Defines the minHeight, maxHeight and height of the video */
    height?: {
        minHeight?: string | number;
        maxHeight?: string | number;
        height?: string | number;
    };
    /** Defines the fileName of the video */
    fileName?: string | DocumentFragment;
    /** Defines the type of video link added */
    isEmbedUrl?: boolean;
    /** Defines the class name to be added to the video */
    cssClass?: string;
    /** Defines the video element to be edited */
    selectParent?: Node[];
}
/**
 * @deprecated
 */
export interface ImageDragEvent extends DragEvent {
    rangeParent?: Element;
    rangeOffset?: number;
}
/**
 * Provides information about imageDrop event.
 */
export interface ImageDropEventArgs extends DragEvent {
    /** Defines the prevent action. */
    cancel: boolean;
    /** Defines the parent of drop range. */
    rangeParent?: Element;
    /** Defines the offset value of drop range. */
    rangeOffset?: number;
}
/**
 * Provides information about a Link added to the Rich Text Editor.
 */
export interface ILinkCommandsArgs {
    /** Defines the url attribute of the link */
    url?: string;
    /** Defines the instance of the current selection */
    selection?: NodeSelection;
    /** Defines the title of the link to be inserted */
    title?: string;
    /** Defines the text of the link to be inserted */
    text?: string;
    /** Defines the target attribute of the link */
    target?: string;
    /** Defines the link element to be edited */
    selectParent?: Node[];
}
/**
 * Provides information about a Table added to the Rich Text Editor.
 */
export interface ITableCommandsArgs {
    /**
     * @deprecated
     * This argument deprecated. Use `rows` argument.
     */
    row?: number;
    /** Defines the number of rows to be inserted in the table */
    rows?: number;
    /** Defines the number of columns to be inserted in the table */
    columns?: number;
    /** Defines the minWidth, maxWidth and width of the table */
    width?: {
        minWidth?: string | number;
        maxWidth?: string | number;
        width?: string | number;
    };
    /** Defines the instance of the current selection */
    selection?: NodeSelection;
}
/**
 * @deprecated
 */
export interface ITableArgs {
    rows?: number;
    columns?: number;
    width?: {
        minWidth?: string | number;
        maxWidth?: string | number;
        width?: string | number;
    };
    selection?: NodeSelection;
    selectNode?: Node[];
    selectParent?: Node[];
    subCommand?: string;
}
/**
 * @deprecated
 */
export interface ITableNotifyArgs {
    module?: string;
    args?: navigations.ClickEventArgs | MouseEvent | base.KeyboardEventArgs;
    selection?: NodeSelection;
    selectNode?: Node[];
    selectParent?: Node[];
    cancel?: boolean;
    requestType?: string;
    enable?: boolean;
    properties?: object;
    self?: Table;
}
/**
 * Provides information about a EditorModel.
 */
export interface IEditorModel {
    execCommand?: Function;
    observer?: base.Observer;
    markdownSelection?: MarkdownSelection;
    undoRedoManager?: UndoRedoManager | UndoRedoCommands;
    nodeSelection?: NodeSelection;
    mdSelectionFormats?: MDSelectionFormats;
    domNode?: DOMNode;
    nodeCutter?: NodeCutter;
}
/**
 * Provides information about a ToolbarItems.
 */
export interface IToolbarItems {
    template?: string;
    tooltipText?: string;
    command?: string;
    undo?: boolean;
    click?: base.EmitType<navigations.ClickEventArgs>;
}
/**
 * @hidden
 * @deprecated
 */
export interface IToolbarItemModel extends navigations.ItemModel {
    command?: string;
    subCommand?: string;
}
/**
 * @deprecated
 */
export interface IToolbarOptions {
    enableRtl: boolean;
    target: HTMLElement;
    items?: navigations.ItemModel[];
    rteToolbarObj: BaseToolbar;
    enablePersistence: boolean;
    overflowMode?: navigations.OverflowMode;
    cssClass?: string;
}
/**
 * @deprecated
 */
export interface IToolbarSettings {
    enable?: boolean;
    items?: (string | IToolbarItems)[];
    target?: HTMLElement;
    type?: ToolbarType;
}
/**
 * @deprecated
 */
export interface IToolbarRenderOptions {
    target: HTMLElement;
    items?: (string | IToolbarItems)[];
    mode?: navigations.OverflowMode;
    container?: string;
    cssClass?: string;
}
/**
 * @deprecated
 */
export interface IDropDownModel {
    content?: string;
    items: IDropDownItemModel[];
    iconCss?: string;
    itemName: string;
    cssClass: string;
    element: HTMLElement;
}
/**
 * @deprecated
 */
export interface IToolsItems {
    id: string;
    icon?: string;
    tooltip?: string;
    command?: string;
    subCommand?: string;
    value?: string;
}
/**
 * Provides information about a ToolbarItemConfig.
 */
export interface IToolsItemConfigs {
    icon?: string;
    tooltip?: string;
    command?: string;
    subCommand?: string;
    value?: string;
}
/**
 * @hidden
 * @deprecated
 */
export interface IListDropDownModel extends splitbuttons.ItemModel {
    cssClass?: string;
    command?: string;
    subCommand?: string;
    value?: string;
    text?: string;
    listStyle?: string;
    listImage?: string;
}
/**
 * @hidden
 * @deprecated
 */
export interface IDropDownItemModel extends splitbuttons.ItemModel {
    cssClass?: string;
    command?: string;
    subCommand?: string;
    value?: string;
    text?: string;
}
/**
 * Provides information about a ActionComplete event.
 */
export interface ActionCompleteEventArgs {
    /** Defines the current action. */
    requestType?: string;
    /** Defines the event name. */
    name?: string;
    /** Defines the editor mode. */
    editorMode?: string;
    /**
     * Defines the selected elements.
     *
     * @deprecated
     */
    elements?: Node[];
    /** Defines the event item. */
    event?: MouseEvent | KeyboardEvent;
    /**
     * Defines the selected range.
     *
     * @deprecated
     */
    range?: Range;
}
/**
 * Provides information about a ActionBegin event.
 */
export interface ActionBeginEventArgs {
    /** Defines the current action. */
    requestType?: string;
    /** Cancel the print action */
    cancel?: boolean;
    /**
     * Defines the current item.
     *
     * @deprecated
     */
    item?: IToolbarItemModel | IDropDownItemModel;
    /** Defines the current item. */
    originalEvent?: MouseEvent | KeyboardEvent;
    /** Defines the event name. */
    name?: string;
    /** Defines the selection type is dropdown. */
    selectType?: string;
    /**
     * Defines the url action details.
     *
     * @deprecated
     */
    itemCollection?: IItemCollectionArgs;
}
/**
 * Provides information about a Print event.
 */
export interface PrintEventArgs extends ActionBeginEventArgs {
    /** Defines the RTE element. */
    element?: Element;
}
/**
 * @deprecated
 */
export interface IShowPopupArgs {
    args?: MouseEvent | TouchEvent | KeyboardEvent;
    type?: string;
    isNotify: boolean;
    elements?: Element | Element[];
}
/**
 * @deprecated
 */
export interface IUpdateItemsModel {
    targetItem: string;
    updateItem: string;
    baseToolbar: BaseToolbar;
}
/**
 * @deprecated
 */
export interface IDropDownRenderArgs {
    items?: string[];
    containerType?: string;
    container?: HTMLElement;
}
/**
 * @deprecated
 */
export interface IShowQuickTBarOptions {
    x: number;
    y: number;
    target: HTMLElement;
    editTop: number;
    editHeight: number;
    popup: HTMLElement;
    parentElement: HTMLElement;
    tBarElementHeight: number;
    parentData: ClientRect;
    windowY: number;
    windowHeight: number;
    windowWidth: number;
    popWidth: number;
    popHeight: number;
    bodyRightSpace: number;
}
/**
 * @deprecated
 */
export interface IQuickToolbarOptions {
    popupType: string;
    mode: navigations.OverflowMode;
    renderType: RenderType;
    toolbarItems: (string | IToolbarItems)[];
    cssClass: string;
}
/**
 * Provides information about a BeforeQuickToolbarOpen event.
 */
export interface BeforeQuickToolbarOpenArgs {
    /**
     * Defines the instance of the current popup element
     *
     * @deprecated
     */
    popup?: popups.Popup;
    /** Determine whether the quick toolbar is open */
    cancel: boolean;
    /** Defines the target element of the quick toolbar */
    targetElement: Element;
}
/**
 * Provides information about a AfterImageDeleteEvent event.
 */
export interface AfterImageDeleteEventArgs {
    /** Defined the image element deleted */
    element: Node;
    /** Defines the src attribute of the image element deleted */
    src: string;
}
/**
 * Provides information about a AfterMediaDeleteEvent event.
 */
export interface AfterMediaDeleteEventArgs {
    /** Defines the audio/video element deleted */
    element: Node;
    /** Defines the src attribute of the audio/video element deleted */
    src: string;
}
/**
 * Provides information about a QuickToolbar event.
 */
export interface QuickToolbarEventArgs {
    /**
     * Defines the instance of the current popup element
     *
     * @deprecated
     */
    popup?: popups.Popup;
    /**
     * Returns the element of the dialog.
     */
    element: HTMLElement;
    /**
     * Specify the name of the event.
     */
    name?: string;
}
/**
 * @deprecated
 */
export interface IAdapterProcess {
    text: string;
    range: Range;
    actionName: string;
}
/**
 * Provides information about a Formatter.
 */
export interface IFormatter {
    /** Configure the format tags. */
    formatTags?: {
        [key: string]: string;
    };
    /** Configure the list tags. */
    listTags?: {
        [key: string]: string;
    };
    /** Configure the key settings. */
    keyConfig?: {
        [key: string]: string;
    };
    process?: Function;
    onKeyHandler?: Function;
    editorManager?: IEditorModel;
    getUndoRedoStack?: Function;
    onSuccess?: Function;
    saveData?: Function;
    disableToolbarItem?(items: string | string[]): void;
    enableUndo?: Function;
    setDocument?: Function;
    getDocument?: Function;
    setEditPanel?: Function;
    getEditPanel?: Function;
    updateFormatter?: Function;
    initializePlugin?: Function;
    isAppliedCommand?(e?: MouseEvent): string;
    mdSelectionFormat?: MDSelectionFormats;
}
/**
 * @deprecated
 */
export interface IHtmlFormatterModel {
    currentDocument?: Document;
    element?: Element;
    keyConfig?: {
        [key: string]: string;
    };
    options?: {
        [key: string]: number;
    };
}
/**
 * @deprecated
 */
export interface IMarkdownFormatterModel {
    element?: Element;
    formatTags?: {
        [key: string]: string;
    };
    listTags?: {
        [key: string]: string;
    };
    keyConfig?: {
        [key: string]: string;
    };
    options?: {
        [key: string]: number;
    };
    selectionTags?: {
        [key: string]: string;
    };
}
/**
 * @deprecated
 */
export interface IFontProperties {
    default?: string;
    items?: IDropDownItemModel[];
    width?: string;
}
/**
 * @deprecated
 */
export interface IBulletFormatListPropertiesProperties {
    types?: IListDropDownModel[];
}
/**
 * @deprecated
 */
export interface INumberFormatListPropertiesProperties {
    types?: IListDropDownModel[];
}
/**
 * @deprecated
 */
export interface IFormatProperties {
    default?: string;
    types?: IDropDownItemModel[];
    width?: string;
}
/**
 * @deprecated
 */
export interface OffsetPosition {
    left: number;
    top: number;
}
/**
 * Provides information about a Resize event.
 */
export interface ResizeArgs {
    /** Defines the resize event args. */
    event?: MouseEvent | TouchEvent;
    /** Defines the request type. */
    requestType?: string;
    /** Defines the prevent action. */
    cancel?: boolean;
}
/**
 * Provides information about a BeforeSanitizeHtml event.
 */
export interface BeforeSanitizeHtmlArgs {
    /** Illustrates whether the current action needs to be prevented or not. */
    cancel?: boolean;
    /** It is a callback function and executed it before our inbuilt action. It should return HTML as a string
     *
     * @function
     * @param {string} value - Returns the value.
     * @returns {string}
     */
    helper?: Function;
    /** Returns the selectors object which carrying both tags and attributes selectors to block list of cross-site scripting attack.
     * Also possible to modify the block list in this event.
     */
    selectors?: SanitizeSelectors;
}
/**
 * Provides information about a SanitizeSelectors.
 */
export interface SanitizeSelectors {
    /** Returns the tags. */
    tags?: string[];
    /** Returns the attributes. */
    attributes?: SanitizeRemoveAttrs[];
}
/**
 * Provides information about a ExecuteCommandOption.
 */
export interface ExecuteCommandOption {
    undo?: boolean;
}
/**
 * Provides information about a SanitizeRemoveAttributes.
 */
export interface SanitizeRemoveAttrs {
    /** Defines the attribute name to sanitize */
    attribute?: string;
    /** Defines the selector that sanitize the specified attributes within the selector */
    selector?: string;
}
/**
 * @deprecated
 */
export interface ISetToolbarStatusArgs {
    args: IToolbarStatus;
    parent: IRichTextEditor;
    tbElements: HTMLElement[];
    tbItems: IToolbarItemModel[];
    dropDownModule: DropDownButtons;
}
/**
 * Provides information about a Change event.
 */
export interface ChangeEventArgs {
    /**
     * Returns value of RichTextEditor
     */
    value: string;
    /** Defines the event name. */
    name?: string;
    /** Specifies whether the request should be saved automatically or focused out. */
    isInteracted: boolean;
}
/**
 * Provides information about a DialogOpen event.
 */
export interface DialogOpenEventArgs {
    /**
     * Defines whether the current action can be prevented.
     */
    target: HTMLElement | string;
    /**
     * Returns the root container element of the dialog.
     */
    container: HTMLElement;
    /**
     * Returns the element of the dialog.
     */
    element: Element;
    /**
     * Specify the name of the event.
     */
    name?: string;
}
/**
 * Provides information about a DialogClose event.
 */
export interface DialogCloseEventArgs {
    /**
     * Defines whether the current action can be prevented.
     */
    cancel: boolean;
    /**
     * Returns the root container element of the dialog.
     */
    container: HTMLElement;
    /**
     * Returns the element of the dialog.
     */
    element: Element;
    /**
     * Returns the original event arguments.
     */
    event: Event;
    /**
     * Determines whether the event is triggered by interaction.
     */
    isInteracted: boolean;
    /**
     * DEPRECATED-Determines whether the event is triggered by interaction.
     */
    isInteraction: boolean;
    /**
     * Specify the name of the event.
     */
    name?: String;
    /**
     * Defines whether the current action can be prevented.
     */
    target: HTMLElement | String;
}
/**
 * Provides information about a ImageSuccess event.
 */
export interface ImageSuccessEventArgs {
    /**
     * Returns the original event arguments.
     */
    e?: object;
    /**
     * Returns the details about upload file.
     *
     * @blazorType Syncfusion.EJ2.Blazor.Inputs.inputs.FileInfo
     */
    file: inputs.FileInfo;
    /**
     * Returns the upload status.
     */
    statusText?: string;
    /**
     * Returns the upload event operation.
     */
    operation: string;
    /**
     * Returns the upload event operation.
     *
     * @blazorType ResponseEventArgs
     */
    response?: ResponseEventArgs;
    /**
     * Specify the name of the event.
     */
    name?: string;
    /**
     * Specify the name of the event.
     */
    element?: HTMLElement;
}
/**
 * Provides information about a ImageFailed event.
 */
export interface ImageFailedEventArgs {
    /**
     * Returns the original event arguments.
     */
    e?: object;
    /**
     * Returns the details about upload file.
     *
     * @blazorType Syncfusion.EJ2.Blazor.Inputs.inputs.FileInfo
     */
    file: inputs.FileInfo;
    /**
     * Returns the upload status.
     */
    statusText?: string;
    /**
     * Returns the upload event operation.
     */
    operation: string;
    /**
     * Returns the upload event operation.
     *
     * @blazorType ResponseEventArgs
     */
    response?: ResponseEventArgs;
    /**
     * Specify the name of the event.
     */
    name?: string;
}
/**
 * Provides information about a ImageResponse event.
 */
export interface ResponseEventArgs {
    /**
     * Returns the headers information of the upload image.
     */
    headers?: string;
    /**
     * Returns the readyState information.
     */
    readyState?: object;
    /**
     * Returns the upload image statusCode.
     */
    statusCode?: object;
    /**
     * Returns the upload image statusText.
     */
    statusText?: string;
    /**
     * Returns the credentials status of the upload image.
     */
    withCredentials?: boolean;
}
/**
 * Provides information about a Destroyed event.
 */
export interface DestroyedEventArgs {
    /**
     * Specify the name of the event.
     */
    name?: string;
    /**
     * Defines whether the current action can be prevented.
     */
    cancel: boolean;
}
/**
 * Provides information about a pasteCleanup args.
 */
export interface PasteCleanupArgs {
    /**
     * Returns the content in the ClipboardEvent arguments.
     */
    value: string;
}
/**
 * Provides information about a Blur event.
 */
export interface BlurEventArgs {
    /**
     * Returns the original event arguments.
     */
    event: Event;
    /**
     * Determines whether the event is triggered by interaction.
     */
    isInteracted: boolean;
    /**
     * Specify the name of the event.
     */
    name?: string;
}
/**
 * Provides information about a ToolbarClick event.
 */
export interface ToolbarClickEventArgs {
    /**
     * Defines whether the current action can be prevented.
     */
    cancel: boolean;
    /**
     * Defines the current Toolbar Item Object.
     *
     * @blazorType Syncfusion.EJ2.Blazor.Navigations.navigations.ItemModel
     */
    item: navigations.ItemModel;
    /**
     * Defines the current Event arguments
     */
    originalEvent: MouseEvent;
    /**
     * Specify the request type of the event.
     */
    requestType: string;
    /**
     * Specify the name of the event.
     */
    name?: string;
}
/**
 * Provides information about a Focus event.
 */
export interface FocusEventArgs {
    /**
     * Returns the original event arguments.
     */
    event: FocusEvent;
    /**
     * Determines whether the event is triggered by interaction.
     */
    isInteracted: boolean;
    /**
     * Specify the name of the event.
     */
    name?: string;
}
/**
 * Defines types to be used as ColorMode.
 */
export  type ColorModeType = 'Picker' | 'Palette';
/**
 * @deprecated
 */
export interface IColorProperties {
    default?: string;
    mode?: ColorModeType;
    columns?: number;
    colorCode?: {
        [key: string]: string[];
    };
    modeSwitcher?: boolean;
}
/**
 * @deprecated
 */
export interface IExecutionGroup {
    command: string;
    subCommand?: string;
    value?: string;
}
/**
 * Provides information about a image uploading event.
 */
export interface ImageUploadingEventArgs {
    /**
     * Defines whether the current action can be prevented.
     */
    cancel: boolean;
    /**
     * Defines the additional data in key and value pair format that will be submitted to the upload action.
     *
     * @blazorType object
     */
    customFormData: {
        [key: string]: Object;
    }[];
    /**
     * Returns the XMLHttpRequest instance that is associated with upload action.
     *
     * @blazorType object
     */
    currentRequest?: {
        [key: string]: string;
    }[];
    /**
     * Returns the list of files that will be uploaded.
     */
    filesData: inputs.FileInfo[];
}
/**
 * @hidden
 * @deprecated
 */
export  const executeGroup: {
    [key: string]: IExecutionGroup;
};
/**
 * Defines types to be used as CommandName.
 */
export  type CommandName = 'bold' | 'italic' | 'underline' | 'strikeThrough' | 'superscript' | 'subscript' | 'uppercase' | 'lowercase' | 'fontColor' | 'fontName' | 'fontSize' | 'backColor' | 'justifyCenter' | 'justifyFull' | 'justifyLeft' | 'justifyRight' | 'undo' | 'createLink' | 'formatBlock' | 'heading' | 'indent' | 'insertHTML' | 'insertOrderedList' | 'insertUnorderedList' | 'insertParagraph' | 'outdent' | 'redo' | 'removeFormat' | 'insertText' | 'insertImage' | 'insertAudio' | 'insertVideo' | 'insertHorizontalRule' | 'insertBrOnReturn' | 'insertCode' | 'insertTable' | 'editImage' | 'editLink';
/**
 * @hidden
 * @deprecated
 */
export interface StatusArgs {
    html: Object;
    markdown: Object;
}
/**
 * Provides information about a updatedToolbarStatus event.
 */
export interface ToolbarStatusEventArgs {
    /** Defines the event name. */
    name?: string;
    /** Defines the redo argument. */
    undo: boolean;
    /** Defines the redo argument. */
    redo: boolean;
    /** Defines the HTML toolbar status arguments. */
    html?: object;
    /** Defines the markdown toolbar status arguments. */
    markdown?: object;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/base/rich-text-editor-model.d.ts
/**
 * Interface for a class RichTextEditor
 */
export interface RichTextEditorModel extends base.ComponentModel{
    /**
     * Specifies the group of items aligned horizontally in the toolbar as well as defined the toolbar rendering type.
     * By default, toolbar is float at the top of the RichTextEditor.
     * When you scroll down, the toolbar will scroll along with the page on Rich Text Editor with the specified offset value.
     * * enable: set boolean value to show or hide the toolbar.
     * * enableFloating: Set Boolean value to enable or disable the floating toolbar.
     * Preserves the toolbar at top of the Rich Text Editor on scrolling.
     * * type: it has two possible options
     * 1. Expand: Hide the overflowing toolbar items in the next row. Click the expand arrow to view overflowing toolbar items
     * 2. MultiRow: The toolbar overflowing items wrapped in the next row.
     * * items: Specifies the array of items aligned horizontally in the toolbar.
     * > | and - can insert a vertical and horizontal separator lines in the toolbar.
     * * itemConfigs: Modify the default toolbar item configuration like icon class.
     *
     * > By default, The toolbar is rendered with scrollable in mobile devices and does not support the toolbar type.
     *
     * {% codeBlock src='rich-text-editor/toolbar-settings/index.md' %}{% endcodeBlock %}
     *
     * @default
     * {
     * enable: true,
     * enableFloating: true,
     * type: ToolbarType.Expand,
     * items: ['Bold', 'Italic', 'Underline', '|', 'Formats', 'Alignments', 'OrderedList',
     * 'UnorderedList', '|', 'CreateLink', 'Image', '|', 'SourceCode', 'Undo', 'Redo'],
     * itemConfigs: {}
     * }
     */
    toolbarSettings?: ToolbarSettingsModel;
    /**
     * Specifies the items to be rendered in quick toolbar based on the target element.
     * * It has following fields:
     * * enable - set boolean value to show or hide the quick toolbar
     * * actionOnScroll - it has two possible options
     * 1. hide: The quickToolbar is closed when the parent element is scrolled.
     * 2. none: The quickToolbar cannot be closed even the parent element is scrolled.
     * * link  - Specifies the items to be rendered in quick toolbar based on link element such as `Open`, `Edit`, and `UnLink`.
     * * image - Specifies the items to be rendered in quick toolbar based on image element such as 'Replace',
     * 'Align', 'Caption', 'Remove', 'InsertLink', 'Display', 'AltText', 'Dimension'.
     * * text	 - Specifies the items to be rendered in quick toolbar based on text element such as 'Cut', 'Copy', 'Paste'.
     *
     * {% codeBlock src='rich-text-editor/quick-toolbar-settings/index.md' %}{% endcodeBlock %}
     *
     * @default
     * {
     * enable: true,
     * actionOnScroll: 'hide',
     * link: ['Open', 'Edit', 'UnLink'],
     * image: ['Replace', 'Align', 'Caption', 'Remove', '-', 'InsertLink', 'Display', 'AltText', 'Dimension'],
     * audio: ['AudioReplace', 'AudioRemove', 'AudioLayoutOption'],
     * video: ['VideoReplace', 'VideoAlign', 'VideoRemove', 'VideoLayoutOption', 'VideoDimension'],
     * }
     */
    quickToolbarSettings?: QuickToolbarSettingsModel;
    /**
     * Specifies the pasting options in Rich Text Editor component and control with the following properties.
     * * prompt - Set boolean value to enable or disable the prompt when pasting.
     * * deniedAttrs  -  Specifies the base.attributes to restrict when pasting in RTE.
     * * allowedStyleProps  -  Specifies the allowed style properties when pasting in RTE.
     * * deniedTags	 -  Specifies the tags to restrict when pasting in RTE.
     * * keepFormat	 -   Set boolean value to keep or remove the from when pasting.
     * * plainText	 -   Set boolean value to paste as plain text or not.
     *
     * {% codeBlock src='rich-text-editor/paste-cleanup-settings/index.md' %}{% endcodeBlock %}
     *
     * @default
     * {
     * prompt: false,
     * deniedAttrs: null,
     * allowedStyleProps: ['background', 'background-color', 'border', 'border-bottom', 'border-left', 'border-radius',
     * 'border-right', 'border-style', 'border-top', 'border-width', 'clear', 'color', 'cursor',
     * 'direction', 'display', 'float', 'font', 'font-family', 'font-size', 'font-weight', 'font-style',
     * 'height', 'left', 'line-height', 'list-style-type', 'margin', 'margin-top', 'margin-left',
     * 'margin-right', 'margin-bottom', 'max-height', 'max-width', 'min-height', 'min-width',
     * 'overflow', 'overflow-x', 'overflow-y', 'padding', 'padding-bottom', 'padding-left', 'padding-right',
     * 'padding-top', 'position', 'right', 'table-layout', 'text-align', 'text-decoration', 'text-indent',
     * 'top', 'vertical-align', 'visibility', 'white-space', 'width'],
     * deniedTags: null,
     * keepFormat: true,
     * plainText:  false
     * }
     */
    pasteCleanupSettings?: PasteCleanupSettingsModel;
    /**
     * Specifies the items to be rendered in an iframe mode, and it has the following properties.
     * * enable - Set Boolean value to enable, the editors content is placed in an iframe and isolated from the rest of the page.
     * * base.attributes - Custom style to be used inside the iframe to display content. This style is added to the iframe body.
     * * resources - we can add both styles and scripts to the iframe.
     * 1. styles[] - An array of CSS style files to inject inside the iframe to display content
     * 2. scripts[] - An array of JS script files to inject inside the iframe
     *
     * {% codeBlock src='rich-text-editor/iframe-settings/index.md' %}{% endcodeBlock %}
     *
     * @default
     * {
     * enable: false,
     * base.attributes: null,
     * resources: { styles: [], scripts: [] }
     * }
     */
    iframeSettings?: IFrameSettingsModel;
    /**
     * Specifies the image insert options in Rich Text Editor component and control with the following properties.
     * * allowedTypes - Specifies the extensions of the image types allowed to insert on bowering and
     * passing the extensions with comma separators. For example, pass allowedTypes as .jpg and .png.
     * * display - Sets the default display for an image when it is inserted in to the RichTextEditor.
     * Possible options are: 'inline' and 'block'.
     * * width - Sets the default width of the image when it is inserted in the RichTextEditor.
     * * saveFormat - Specifies the format to store the image in the Rich Text Editor (Base64 or Blob).
     * > If you want to insert a lot of tiny images in the editor and don't want a specific physical location for
     * saving images, you can opt to save format as Base64.
     * * height - Sets the default height of the image when it is inserted in the RichTextEditor.
     * * saveUrl - Specifies the service URL of save action that will receive the uploaded files and save them in the server.
     * * path - Specifies the path of the location to store the images and refer it to display the images.
     *
     * {% codeBlock src='rich-text-editor/insert-image-settings/index.md' %}{% endcodeBlock %}
     *
     * @default
     * {
     * allowedTypes: ['.jpeg', '.jpg', '.png'],
     * display: 'inline',
     * width: 'auto',
     * height: 'auto',
     * saveFormat: 'Blob'
     * saveUrl: null,
     * path: null,
     * }
     */
    insertImageSettings?: ImageSettingsModel;
    /**
     * Specifies the audio insert options in Rich Text Editor component and control with the following properties.
     * * allowedTypes - Specifies the extensions of the audio types allowed to insert on bowering and
     * passing the extensions with comma separators. For example, pass allowedTypes as .jpg and .png.
     * * layoutOption - Sets the default display for an audio when it is inserted in to the RichTextEditor.
     * Possible options are: 'Inline' and 'Break'.
     * * saveFormat - Specifies the format to store the audio in the Rich Text Editor (Base64 or Blob).
     * > If you want to insert a lot of tiny audios in the editor and don't want a specific physical location for
     * saving audios, you can opt to save format as Base64.
     * * saveUrl - Specifies the service URL of save action that will receive the uploaded files and save them in the server.
     * * path - Specifies the path of the location to store the audios and refer it to display the audios.
     *
     * @default
     * {
     * allowedTypes: ['.wav', '.mp3', '.m4a','.wma'],
     * layoutOption: 'Inline',
     * saveFormat: 'Blob'
     * saveUrl: null,
     * path: null,
     * }
     */
    insertAudioSettings?: AudioSettingsModel;
    /**
     * Specifies the video insert options in Rich Text Editor component and control with the following properties.
     * * allowedTypes - Specifies the extensions of the video types allowed to insert on bowering and
     * passing the extensions with comma separators. For example, pass allowedTypes as .jpg and .png.
     * * layoutOption - Sets the default display for an video when it is inserted in to the RichTextEditor.
     * Possible options are: 'Inline' and 'Break'.
     * * width - Sets the default width of the video when it is inserted in the RichTextEditor.
     * * saveFormat - Specifies the format to store the video in the Rich Text Editor (Base64 or Blob).
     * > If you want to insert a lot of tiny videos in the editor and don't want a specific physical location for
     * saving videos, you can opt to save format as Base64.
     * * height - Sets the default height of the video when it is inserted in the RichTextEditor.
     * * saveUrl - Specifies the service URL of save action that will receive the uploaded files and save them in the server.
     * * path - Specifies the path of the location to store the videos and refer it to display the videos.
     *
     * @default
     * {
     * allowedTypes: ['.mp4', '.mov', '.wmv','.avi'],
     * layoutOption: 'Inline',
     * width: 'auto',
     * height: 'auto',
     * saveFormat: 'Blob'
     * saveUrl: null,
     * path: null,
     * }
     */
    insertVideoSettings?: VideoSettingsModel;
    /**
     * Specifies the table insert options in Rich Text Editor component and control with the following properties.
     * * styles - Class name should be appended by default in table element.
     * It helps to design the table in specific CSS styles always when inserting in editor.
     * * width - Sets the default width of the table when it is inserted in the RichTextEditor.
     * * minWidth - Sets the default minWidth of the table when it is inserted in the RichTextEditor.
     * * maxWidth - Sets the default maxWidth of the table when it is inserted in the RichTextEditor.
     * * resize - To enable resize the table.
     *
     * {% codeBlock src='rich-text-editor/table-settings/index.md' %}{% endcodeBlock %}
     *
     * @default
     * {
     * width: '100%',
     * styles: [{ text: 'Dashed Borders', class: 'e-dashed-borders', command: 'Table', subCommand: 'Dashed' },
     * { text: 'Alternate Rows', class: 'e-alternate-rows', command: 'Table', subCommand: 'Alternate' }],
     * resize: true,
     * minWidth: 0,
     * maxWidth: null,
     * }
     */
    tableSettings?: TableSettingsModel;
    /**
     * Preserves the toolbar at the top of the Rich Text Editor on scrolling and
     * specifies the offset of the floating toolbar from documents top position
     *
     * @default 0
     */
    floatingToolbarOffset?: number;
    /**
     * Enable or disable the inline edit mode.
     * * enable - set boolean value to enable or disable the inline edit mode.
     * * onSelection - If its set to true, upon selecting the text, the toolbar is opened in inline.
     * If its set to false, upon clicking to the target element, the toolbar is opened.
     *
     * {% codeBlock src='rich-text-editor/inline-mode/index.md' %}{% endcodeBlock %}
     *
     * @default
     * {
     * enable: false,
     * onSelection: true
     * }
     */
    inlineMode?: InlineModeModel;
    /**
     * Specifies the image manager options in Rich Text Editor component and control with the following properties.
     * * enable - set boolean value to enable or disable the image manager.
     * * ajaxSettings - Specifies the AJAX settings of the image manager.
     * * contextMenuSettings - Specifies the context menu settings of the image manager.
     * * navigationPaneSettings - Specifies the navigation pane settings of the image manager.
     * * toolbarSettings - Specifies the group of items aligned horizontally in the toolbar.
     * * uploadSettings - Specifies the upload settings for the image manager.
     *
     * @default
     * {
     * enable: false,
     * path: '/',
     * ajaxSettings: { getImageUrl: null, url: null, uploadUrl: null },
     * contextMenuSettings: {
     * visible: true,
     * file: ['Open', '|', 'Cut', 'Copy', '|', 'Delete', 'Rename', '|', 'Details'],
     * folder: ['Open', '|', 'Cut', 'Copy', 'Paste', '|', 'Delete', 'Rename', '|', 'Details'],
     * layout: ['SortBy', 'View', 'Refresh', '|', 'Paste', '|', 'NewFolder', 'Upload', '|', 'Details', '|', 'SelectAll']
     * },
     * navigationPaneSettings: {
     * visible: true,
     * items: [
     * 'NewFolder', 'Upload', 'Cut', 'Copy', 'Paste', 'Delete', 'Download',
     * 'Rename', 'SortBy', 'Refresh', 'Selection', 'View', 'Details'
     * ]
     * },
     * toolbarSettings: { visible: true, items: ['Upload', 'NewFolder'] },
     * uploadSettings: { autoUpload: true, minFileSize: 0, maxFileSize: 30000000, allowedExtensions: '', autoClose: false }
     * }
     */
    fileManagerSettings?: FileManagerSettingsModel;
    /**
     * Specifies the width of the RichTextEditor.
     *
     * @default '100%'
     */
    width?: string | number;
    /**
     * Enables or disables the persisting component's state between page reloads.
     * If enabled, the value of Rich Text Editor is persisted
     *
     * {% codeBlock src='rich-text-editor/enable-persistence/index.md' %}{% endcodeBlock %}
     *
     * @default false.
     */
    enablePersistence?: boolean;
    /**
     * Enables or disables the resizing option in the editor.
     * If enabled, the Rich Text Editor can be resized by dragging the resize icon in the bottom right corner.
     *
     * {% codeBlock src='rich-text-editor/enable-resize/index.md' %}{% endcodeBlock %}
     *
     * @default false.
     */
    enableResize?: boolean;
    /**
     * Allows additional HTML base.attributes such as title, name, etc., and
     * It will be accepts n number of base.attributes in a key-value pair format.
     *
     * @default {}.
     */
    htmlAttributes?: { [key: string]: string };
    /**
     * Specifies the placeholder for the RichTextEditor’s content used when the Rich Text Editor body is empty.
     *
     * @default null.
     */
    placeholder?: string;
    /**
     * Enables or disables the auto-save option which performs the save action while in the idle state after typed content.
     * If enabled, the Rich Text Editor will save the content on idle state with `saveInterval` property's value.
     * The change event will be triggered if the content has changed from the last saved state.
     *
     * @default false.
     */
    autoSaveOnIdle?: boolean;
    /**
     * The user interactions on the component are disabled, when set to true.
     *
     * @default false.
     */
    readonly?: boolean;
    /**
     * Specifies a value that indicates whether the component is enabled or not.
     *
     * {% codeBlock src='rich-text-editor/enabled/index.md' %}{% endcodeBlock %}
     *
     * @default true.
     */
    enabled?: boolean;
    /**
     * Defines whether to allow the cross-scripting site or not.
     *
     * @default true
     */
    enableHtmlSanitizer?: boolean;
    /**
     * specifies the value whether the source code is displayed with encoded format.
     *
     * @default false.
     */
    enableHtmlEncode?: boolean;
    /**
     * Specifies a value that indicates whether the xhtml is enabled or not.
     *
     * @default false.
     */
    enableXhtml?: boolean;
    /**
     * Specifies the height of the Rich Text Editor component.
     *
     * @default "auto"
     */
    height?: string | number;
    /**
     * Specifies the CSS class name appended with the root element of the RichTextEditor.
     * One or more custom CSS classes can be added to a RichTextEditor.
     *
     * @default null
     */
    cssClass?: string;
    /**
     * Specifies the value displayed in the RichTextEditor's content area and it should be string.
     * The content of Rich Text Editor can be loaded with dynamic data such as database, AJAX content, and more.
     *
     * {% codeBlock src='rich-text-editor/value/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    value?: string;
    /**
     * Specifies tag to be inserted when enter key is pressed.
     *
     * - `P` - When the enter key is pressed a `p` tag will be inserted and the default value of the Rich Text Editor will be &lt;
p&gt;
&lt;
br&gt;
&lt;
/p&gt;
.
     *
     * - `DIV` - When the enter key is pressed a `div` tag will be inserted instead of the default `P` tag and the default value of the Rich Text Editor will be &lt;
div&gt;
&lt;
br&gt;
&lt;
/div&gt;
.
     *
     * - `BR` - When the enter key is pressed a `br` tag will be inserted instead of the default `P` tag and the default value of the Rich Text Editor will be &lt;
br&gt;
.
     *
     * @default 'P'
     */
    enterKey?: EnterKey;
    /**
     * Specifies tags to be inserted when shift+enter key is pressed.
     *
     * - `BR` - When the shift + enter key is pressed a `br` tag will be inserted which is the default behavior.
     *
     * - `P` - When the shift + enter key is pressed a `p` tag will be inserted instead of the default `br` tag.
     *
     * - `DIV` - When the shift + enter key is pressed a `div` tag will be inserted instead of the default `br` tag.
     *
     * @default 'BR'
     */
    shiftEnterKey?: ShiftEnterKey;
    /**
     * Specifies the count of undo history which is stored in undoRedoManager.
     *
     * {% codeBlock src='rich-text-editor/undo-redo-steps/index.md' %}{% endcodeBlock %}
     *
     * @default 30
     */
    undoRedoSteps?: number;
    /**
     * Specifies the interval value in milliseconds that store actions in undoRedoManager. The minimum value is 300 milliseconds.
     *
     * @default 300
     */
    undoRedoTimer?: number;
    /**
     * Specifies the editing mode of the RichTextEditor.
     *
     * - `HTML` - Render Rich Text Editor as HTML editor using &lt;
IFRAME&gt;
 element or content editable &lt;
div&gt;
 element
     * or &lt;
textarea&gt;
 element.
     *
     * - `Markdown` - Render Rich Text Editor as markdown editor using &lt;
textarea&gt;
.
     *
     * @default 'HTML'
     */
    editorMode?: EditorMode;
    /**
     * Customizes the key actions in RichTextEditor.
     * For example, when using German keyboard, the key actions can be customized using these shortcuts.
     *
     * {% codeBlock src='rich-text-editor/keyconfig/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    keyConfig?: { [key: string]: string };
    /**
     * Sets Boolean value to enable or disable the display of the character counter.
     *
     * {% codeBlock src='rich-text-editor/show-char-count/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    showCharCount?: boolean;
    /**
     * Allows the tab key action in the Rich Text Editor content.
     *
     * {% codeBlock src='rich-text-editor/enable-tab-key/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    enableTabKey?: boolean;
    /**
     * Enable `enableAutoUrl` to accept the given URL (relative or absolute) without validating the URL for hyperlinks, otherwise
     * the given URL will automatically convert to absolute path URL by prefixing `https://` for hyperlinks.
     *
     * {% codeBlock src='rich-text-editor/enable-autourl/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    enableAutoUrl?: boolean;
    /**
     * Specifies the maximum number of characters allowed in the Rich Text Editor component.
     *
     * {% codeBlock src='rich-text-editor/max-length/index.md' %}{% endcodeBlock %}
     *
     * @default -1
     */
    maxLength?: number;
    /**
     * Predefine the collection of paragraph styles along with quote and code style that populate in format dropdown from the toolbar.
     *
     * {% codeBlock src='rich-text-editor/format/index.md' %}{% endcodeBlock %}
     *
     * @default
     * {
     * default: 'Paragraph',
     * width: '65px',
     * types: [
     * { text: 'Paragraph' },
     * { text: 'Code' },
     * { text: 'Quotation' },
     * { text: 'Heading 1' },
     * { text: 'Heading 2' },
     * { text: 'Heading 3' },
     * { text: 'Heading 4' },
     * { text: 'Heading 5' },
     * { text: 'Heading 6' }
     * ]
     * }
     */
    format?: FormatModel;
    /**
     * Predefine the advanced list types that populate in the numberFormatList dropdown list from the toolbar.
     *
     * @default
     * {
     * types: [
     * { text: 'None', value: 'none' },
     * { text: 'Number', value: 'decimal' },
     * { text: 'Lower Greek', value: 'lowerGreek' },
     * { text: 'Lower Roman', value: 'lowerRoman' },
     * { text: 'Upper Alpha', value: 'upperAlpha' },
     * { text: 'Lower Alpha', value: 'lowerAlpha' },
     * { text: 'Upper Roman', value: 'upperRoman' },
     * ]
     * }
     */
    numberFormatList?: NumberFormatListModel;
    /**
     * Predefine the advanced list types that populate in the bulletFormatList dropdown list from the toolbar.
     *
     * @default
     * {
     * types: [
     * { text: 'None', value: 'none' },
     * { text: 'Disc', value: 'disc' },
     * { text: 'Circle', value: 'circle' },
     * { text: 'Square', value: 'square' }
     * ]
     * }
     */
    bulletFormatList?: BulletFormatListModel;
    /**
     * Predefine the font families that populate in font family dropdown list from the toolbar.
     *
     * {% codeBlock src='rich-text-editor/font-family/index.md' %}{% endcodeBlock %}
     *
     * @default
     * {
     * default: 'Segoe UI',
     * width: '65px',
     * items: [
     * { text: 'Segoe UI', value: 'Segoe UI' },
     * { text: 'Arial',  value: 'Arial,Helvetica,sans-serif' },
     * { text: 'Courier New', value: 'Courier New,Courier,monospace' },
     * { text: 'Georgia', value: 'Georgia,serif' },
     * { text: 'Impact', value: 'Impact,Charcoal,sans-serif' },
     * { text: 'Lucida Console', value: 'Lucida Console,Monaco,monospace' },
     * { text: 'Tahoma', value: 'Tahoma,Geneva,sans-serif' },
     * { text: 'Times New Roman', value: 'Times New Roman,Times,serif' },
     * { text: 'Trebuchet MS', value: 'Trebuchet MS,Helvetica,sans-serif' },
     * { text: 'Verdana', value: 'Verdana,Geneva,sans-serif' }
     * ]
     * }
     */
    fontFamily?: FontFamilyModel;
    /**
     * Predefine the font sizes that populate in font size dropdown list from the toolbar.
     *
     * {% codeBlock src='rich-text-editor/font-size/index.md' %}{% endcodeBlock %}
     *
     * @default
     * {
     * default: '10',
     * width: '35px',
     * items: [
     * { text: '8', value: '8pt' },
     * { text: '10', value: '10pt' },
     * { text: '12', value: '12pt' },
     * { text: '14', value: '14pt' },
     * { text: '18', value: '18pt' },
     * { text: '24', value: '24pt' },
     * { text: '36', value: '36pt' }
     * ]
     * }
     */
    fontSize?: FontSizeModel;
    /**
     * Predefine the color palette that can be rendered for font color toolbar command .
     *
     * {% codeBlock src='rich-text-editor/font-color/index.md' %}{% endcodeBlock %}
     *
     * @default
     * {
     * columns: 10,
     * colorCode: {
     * 'Custom': [
     * '', '#000000', '#e7e6e6', '#44546a', '#4472c4', '#ed7d31', '#a5a5a5', '#ffc000', '#70ad47', '#ff0000',
     * '#f2f2f2', '#808080', '#cfcdcd', '#d5dce4', '#d9e2f3', '#fbe4d5', '#ededed', '#fff2cc', '#e2efd9', '#ffcccc',
     * '#d9d9d9', '#595959', '#aeaaaa', '#acb9ca', '#b4c6e7', '#f7caac', '#dbdbdb', '#ffe599', '#c5e0b3', '#ff8080',
     * '#bfbfbf', '#404040', '#747070', '#8496b0', '#8eaadb', '#f4b083', '#c9c9c9', '#ffd966', '#a8d08d', '#ff3333',
     * '#a6a6a6', '#262626', '#3b3838', '#323e4f', '#2f5496', '#c45911', '#7b7b7b', '#bf8f00', '#538135', '#b30000',
     * '#7f7f7f', '#0d0d0d', '#161616', '#212934', '#1f3763', '#823b0b', '#525252', '#7f5f00', '#375623', '#660000']
     * }
     * }
     */
    fontColor?: FontColorModel;
    /**
     * Predefine the color palette that can be rendered for background color (text highlighted color) toolbar command.
     *
     * {% codeBlock src='rich-text-editor/background-color/index.md' %}{% endcodeBlock %}
     *
     * @default
     * {
     * columns: 5,
     * colorCode: {
     * 'Custom': ['#ffff00', '#00ff00', '#00ffff', '#ff00ff', '#0000ff', '#ff0000',
     * '#000080', '#008080', '#008000', '#800080', '#800000', '#808000',
     * '#c0c0c0', '#000000', '']
     * }
     * }
     */
    backgroundColor?: BackgroundColorModel;
    /**
     * Accepts the template design and assigns it as RichTextEditor’s content.
     * The built-in template engine which provides options to base.compile template string into a executable function.
     * For EX: We have expression evolution as like ES6 expression string literals
     *
     * {% codeBlock src='rich-text-editor/value-template/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    valueTemplate?: string;
    /**
     * Specifies the saveInterval in milliseconds for autosave the value.
     * The change event will be triggered if the content was changed from the last saved interval.
     *
     * {% codeBlock src='rich-text-editor/save-interval/index.md' %}{% endcodeBlock %}
     *
     * @default 10000
     */
    saveInterval?: number;
    /**
     * Triggers before command execution using toolbar items or executeCommand method.
     * If you cancel this event, the command cannot be executed.
     * Set the cancel argument to true to cancel the command execution.
     *
     * @event 'actionBegin'
     * @blazorProperty 'OnActionBegin'
     */
    actionBegin?: base.EmitType<ActionBeginEventArgs>;
    /**
     * Triggers after command execution using toolbar items or executeCommand method.
     *
     * @event 'actionComplete'
     * @blazorProperty 'OnActionComplete'
     */
    actionComplete?: base.EmitType<ActionCompleteEventArgs>;
    /**
     * base.Event triggers when the dialog is being opened.
     * If you cancel this event, the dialog remains closed.
     * Set the cancel argument to true to cancel the open of a dialog.
     *
     * @event 'beforeDialogOpen'
     * @blazorProperty 'OnDialogOpen'
     * @blazorType Syncfusion.EJ2.Blazor.Popups.popups.BeforeOpenEventArgs
     */
    beforeDialogOpen?: base.EmitType<popups.BeforeOpenEventArgs>;
    /**
     * base.Event triggers when a dialog is opened.
     *
     * @event 'dialogOpen'
     * @blazorProperty 'DialogOpened'
     * @blazorType DialogOpenEventArgs
     */
    dialogOpen?: base.EmitType<Object>;
    /**
     * base.Event triggers when the dialog is being closed.
     * If you cancel this event, the dialog remains opened.
     * Set the cancel argument to true to prevent closing a dialog.
     *
     * @event 'beforeDialogClose'
     * @blazorProperty 'OnDialogClose'
     * @blazorType Syncfusion.EJ2.Blazor.Popups.popups.BeforeOpenEventArgs
     */
    beforeDialogClose?: base.EmitType<popups.BeforeCloseEventArgs>;
    /**
     * base.Event triggers after the dialog has been closed.
     *
     * @event 'dialogClose'
     * @blazorProperty 'DialogClosed'
     * @blazorType DialogCloseEventArgs
     */
    dialogClose?: base.EmitType<Object>;
    /**
     * base.Event triggers when the quick toolbar is being opened.
     *
     * @event 'beforeQuickToolbarOpen'
     * @blazorProperty 'OnQuickToolbarOpen'
     */
    beforeQuickToolbarOpen?: base.EmitType<BeforeQuickToolbarOpenArgs>;
    /**
     * base.Event triggers when a quick toolbar is opened.
     *
     * @event 'quickToolbarOpen'
     * @blazorProperty 'QuickToolbarOpened'
     * @blazorType QuickToolbarEventArgs
     */
    quickToolbarOpen?: base.EmitType<Object>;
    /**
     * base.Event triggers after the quick toolbar has been closed.
     *
     * @event 'quickToolbarClose'
     * @blazorProperty 'QuickToolbarClosed'
     * @blazorType QuickToolbarEventArgs
     */
    quickToolbarClose?: base.EmitType<Object>;
    /**
     * This event is deprecated and no longer works. Use `updatedToolbarStatus` event to get the undo and redo status.
     *
     * @deprecated
     * @event 'toolbarStatusUpdate'
     */
    toolbarStatusUpdate?: base.EmitType<Object>;
    /**
     * Triggers when the toolbar items status is updated.
     *
     * @event 'updatedToolbarStatus'
     * @blazorType ToolbarUpdateEventArgs
     */
    updatedToolbarStatus?: base.EmitType<ToolbarStatusEventArgs>;
    /**
     * base.Event triggers when the image is selected or dragged into the insert image dialog.
     *
     * @event 'imageSelected'
     * @blazorProperty 'OnImageSelected'
     */
    imageSelected?: base.EmitType<inputs.SelectedEventArgs>;
    /**
     * base.Event triggers before the image upload process.
     *
     * @event 'beforeImageUpload'
     */
    beforeImageUpload?: base.EmitType<inputs.BeforeUploadEventArgs>;
    /**
     * base.Event triggers when the selected image begins to upload in the insert image dialog.
     *
     * @event 'imageUploading'
     * @blazorProperty 'OnImageUploading'
     */
    imageUploading?: base.EmitType<inputs.UploadingEventArgs>;
    /**
     * base.Event triggers when the image is successfully uploaded to the server side.
     *
     * @event 'imageUploadSuccess'
     * @blazorProperty 'OnImageUploadSuccess'
     * @blazorType ImageSuccessEventArgs
     */
    imageUploadSuccess?: base.EmitType<Object>;
    /**
     * base.Event triggers when there is an error in the image upload.
     *
     * @event 'imageUploadFailed'
     * @blazorProperty 'OnImageUploadFailed'
     * @blazorType ImageFailedEventArgs
     */
    imageUploadFailed?: base.EmitType<Object>;
    /**
     * base.Event triggers when the selected image is cleared from the insert image dialog.
     *
     * @event 'imageRemoving'
     * @blazorProperty 'OnImageRemoving'
     */
    imageRemoving?: base.EmitType<inputs.RemovingEventArgs>;
    /**
     * base.Event triggers when the selected image is cleared from the Rich Text Editor Content.
     *
     * @event 'afterImageDelete'
     * @blazorProperty 'OnImageDelete'
     */
    afterImageDelete?: base.EmitType<AfterImageDeleteEventArgs>;
    /**
     * base.Event triggers when the media is selected or dragged into the insert media audio/video dialog.
     *
     * @event 'fileSelected'
     */
    fileSelected?: base.EmitType<inputs.SelectedEventArgs>;
    /**
     * base.Event triggers before the media audio/video upload process.
     *
     * @event 'beforeFileUpload'
     */
    beforeFileUpload?: base.EmitType<inputs.BeforeUploadEventArgs>;
    /**
     * base.Event triggers when the selected media begins to upload in the insert media audio/video dialog.
     *
     * @event 'fileUploading'
     */
    fileUploading?: base.EmitType<inputs.UploadingEventArgs>;
    /**
     * base.Event triggers when the media is successfully uploaded to the server side.
     *
     * @event 'fileUploadSuccess'
     */
    fileUploadSuccess?: base.EmitType<Object>;
    /**
     * base.Event triggers when there is an error in the media upload.
     *
     * @event 'fileUploadFailed'
     */
    fileUploadFailed?: base.EmitType<Object>;
    /**
     * base.Event triggers when the selected media is cleared from the insert audio/video dialog.
     *
     * @event 'fileRemoving'
     */
    fileRemoving?: base.EmitType<inputs.RemovingEventArgs>;
    /**
     * base.Event triggers when the selected media is cleared from the Rich Text Editor Content.
     *
     * @event 'afterMediaDelete'
     */
    afterMediaDelete?: base.EmitType<AfterMediaDeleteEventArgs>;
    /**
     * Triggers when the Rich Text Editor is rendered.
     *
     * @event 'created'
     * @blazorProperty 'Created'
     */
    created?: base.EmitType<Object>;
    /**
     * Triggers when the Rich Text Editor is destroyed.
     *
     * @event 'destroyed'
     * @blazorProperty 'Destroyed'
     * @blazorType DestroyedEventArgs
     */
    destroyed?: base.EmitType<Object>;
    /**
     * base.Event triggers before sanitize the value. It's only applicable to editorMode as `HTML`.
     *
     * @event 'beforeSanitizeHtml'
     * @blazorProperty 'OnSanitizeHtml'
     */
    beforeSanitizeHtml?: base.EmitType<BeforeSanitizeHtmlArgs>;
    /**
     * Triggers when Rich Text Editor is focused out.
     *
     * @event 'blur'
     * @blazorType BlurEventArgs
     */
    blur?: base.EmitType<Object>;
    /**
     * Triggers when Rich Text Editor Toolbar items is clicked.
     *
     * @event 'toolbarClick'
     * @blazorProperty 'OnToolbarClick'
     * @blazorType ToolbarClickEventArgs
     */
    toolbarClick?: base.EmitType<Object>;
    /**
     * Triggers when Rich Text Editor is focused in
     *
     * @event 'focus'
     * @blazorType FocusEventArgs
     */
    focus?: base.EmitType<Object>;
    /**
     * Triggers only when Rich Text Editor is blurred and changes are done to the content.
     *
     * @event 'change'
     * @blazorProperty 'ValueChange'
     */
    change?: base.EmitType<ChangeEventArgs>;
    /**
     * Triggers only when resizing the image.
     *
     * @event 'resizing'
     * @blazorProperty 'Resizing'
     */
    resizing?: base.EmitType<ResizeArgs>;
    /**
     * Triggers only when start resize the image.
     *
     * @event 'resizeStart'
     * @blazorProperty 'OnResizeStart'
     */
    resizeStart?: base.EmitType<ResizeArgs>;
    /**
     * Triggers only when stop resize the image.
     *
     * @event 'resizeStop'
     * @blazorProperty 'OnResizeStop'
     */
    resizeStop?: base.EmitType<ResizeArgs>;
    /**
     * Triggers before cleanup the copied content.
     *
     * @event 'beforePasteCleanup'
     */
    beforePasteCleanup?: base.EmitType<PasteCleanupArgs>;
    /**
     * Triggers after cleanup the copied content.
     *
     * @event 'afterPasteCleanup'
     */
    afterPasteCleanup?: base.EmitType<object>;
    /**
     * Triggers before drop the image.
     *
     * @event 'beforeImageDrop'
     * @blazorProperty 'OnImageDrop'
     */
    beforeImageDrop?: base.EmitType<ImageDropEventArgs>;
    /**
     * Customize keyCode to change the key value.
     *
     * {% codeBlock src='rich-text-editor/formatter/index.md' %}{% endcodeBlock %}
     *
     * @default null
     * @blazorType object
     */
    formatter?: IFormatter;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/base/rich-text-editor.d.ts
/**
 * Represents the Rich Text Editor component.
 * ```html
 * <textarea id="rte"></textarea>
 * <script>
 *  var rteObj = new RichTextEditor();
 *  rteObj.appendTo("#rte");
 * </script>
 * ```
 */
export  class RichTextEditor extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    private placeHolderWrapper;
    private scrollParentElements;
    private cloneValue;
    private onFocusHandler;
    private onBlurHandler;
    private onResizeHandler;
    private timeInterval;
    private idleInterval;
    private touchModule;
    private defaultResetValue;
    private isResizeInitialized;
    private isValueChangeBlurhandler;
    /**
     * @hidden
     * @deprecated
     */
    currentTarget: HTMLElement;
    /**
     * @hidden
     * @deprecated
     */
    isFocusOut: boolean;
    /**
     * @hidden
     * @deprecated
     */
    inputElement: HTMLElement;
    /**
     * @hidden
     * @deprecated
     */
    isRTE: boolean;
    /**
     * @hidden
     * @deprecated
     */
    isBlur: boolean;
    /**
     * @hidden
     * @deprecated
     */
    renderModule: Render;
    /**
     * @hidden
     * @deprecated
     */
    contentModule: IRenderer;
    /**
     * @hidden
     * @deprecated
     */
    serviceLocator: ServiceLocator;
    /**
     * The `toolbarModule` is used to manipulate ToolBar items and its action in the RichTextEditor.
     *
     * @hidden
     * @deprecated
     */
    toolbarModule: Toolbar;
    /**
     * @hidden
     * @deprecated
     */
    imageModule: Image;
    /**
     * @hidden
     * @deprecated
     */
    audioModule: Audio;
    /**
     * @hidden
     * @deprecated
     */
    videoModule: Video;
    /**
     * @hidden
     * @deprecated
     */
    tableModule: Table;
    /**
     * @hidden
     * @deprecated
     */
    fullScreenModule: FullScreen;
    /**
     * @hidden
     * @deprecated
     */
    resizeModule: Resize;
    /**
     * @hidden
     * @deprecated
     */
    pasteCleanupModule: PasteCleanup;
    /**
     * @hidden
     * @deprecated
     */
    enterKeyModule: EnterKeyAction;
    /**
     * @hidden
     * @deprecated
     */
    sourceCodeModule: ViewSource;
    /**
     * @hidden
     * @deprecated
     */
    linkModule: Link;
    /**
     * @hidden
     * @deprecated
     */
    markdownEditorModule: MarkdownEditor;
    /**
     * @hidden
     * @deprecated
     */
    htmlEditorModule: HtmlEditor;
    /**
     * @hidden
     * @deprecated
     */
    quickToolbarModule: QuickToolbar;
    /**
     * @hidden
     * @deprecated
     */
    countModule: Count;
    /**
     * @hidden
     * @deprecated
     */
    fileManagerModule: FileManager;
    needsID: boolean;
    /**
     * Specifies the group of items aligned horizontally in the toolbar as well as defined the toolbar rendering type.
     * By default, toolbar is float at the top of the RichTextEditor.
     * When you scroll down, the toolbar will scroll along with the page on Rich Text Editor with the specified offset value.
     * * enable: set boolean value to show or hide the toolbar.
     * * enableFloating: Set Boolean value to enable or disable the floating toolbar.
     * Preserves the toolbar at top of the Rich Text Editor on scrolling.
     * * type: it has two possible options
     * 1. Expand: Hide the overflowing toolbar items in the next row. Click the expand arrow to view overflowing toolbar items
     * 2. MultiRow: The toolbar overflowing items wrapped in the next row.
     * * items: Specifies the array of items aligned horizontally in the toolbar.
     * > | and - can insert a vertical and horizontal separator lines in the toolbar.
     * * itemConfigs: Modify the default toolbar item configuration like icon class.
     *
     * > By default, The toolbar is rendered with scrollable in mobile devices and does not support the toolbar type.
     *
     * {% codeBlock src='rich-text-editor/toolbar-settings/index.md' %}{% endcodeBlock %}
     *
     * @default
     * {
     * enable: true,
     * enableFloating: true,
     * type: ToolbarType.Expand,
     * items: ['Bold', 'Italic', 'Underline', '|', 'Formats', 'Alignments', 'OrderedList',
     * 'UnorderedList', '|', 'CreateLink', 'Image', '|', 'SourceCode', 'Undo', 'Redo'],
     * itemConfigs: {}
     * }
     */
    toolbarSettings: ToolbarSettingsModel;
    /**
     * Specifies the items to be rendered in quick toolbar based on the target element.
     * * It has following fields:
     * * enable - set boolean value to show or hide the quick toolbar
     * * actionOnScroll - it has two possible options
     * 1. hide: The quickToolbar is closed when the parent element is scrolled.
     * 2. none: The quickToolbar cannot be closed even the parent element is scrolled.
     * * link  - Specifies the items to be rendered in quick toolbar based on link element such as `Open`, `Edit`, and `UnLink`.
     * * image - Specifies the items to be rendered in quick toolbar based on image element such as 'Replace',
     * 'Align', 'Caption', 'Remove', 'InsertLink', 'Display', 'AltText', 'Dimension'.
     * * text	 - Specifies the items to be rendered in quick toolbar based on text element such as 'Cut', 'Copy', 'Paste'.
     *
     * {% codeBlock src='rich-text-editor/quick-toolbar-settings/index.md' %}{% endcodeBlock %}
     *
     * @default
     * {
     * enable: true,
     * actionOnScroll: 'hide',
     * link: ['Open', 'Edit', 'UnLink'],
     * image: ['Replace', 'Align', 'Caption', 'Remove', '-', 'InsertLink', 'Display', 'AltText', 'Dimension'],
     * audio: ['AudioReplace', 'AudioRemove', 'AudioLayoutOption'],
     * video: ['VideoReplace', 'VideoAlign', 'VideoRemove', 'VideoLayoutOption', 'VideoDimension'],
     * }
     */
    quickToolbarSettings: QuickToolbarSettingsModel;
    /**
     * Specifies the pasting options in Rich Text Editor component and control with the following properties.
     * * prompt - Set boolean value to enable or disable the prompt when pasting.
     * * deniedAttrs  -  Specifies the attributes to restrict when pasting in RTE.
     * * allowedStyleProps  -  Specifies the allowed style properties when pasting in RTE.
     * * deniedTags	 -  Specifies the tags to restrict when pasting in RTE.
     * * keepFormat	 -   Set boolean value to keep or remove the from when pasting.
     * * plainText	 -   Set boolean value to paste as plain text or not.
     *
     * {% codeBlock src='rich-text-editor/paste-cleanup-settings/index.md' %}{% endcodeBlock %}
     *
     * @default
     * {
     * prompt: false,
     * deniedAttrs: null,
     * allowedStyleProps: ['background', 'background-color', 'border', 'border-bottom', 'border-left', 'border-radius',
     * 'border-right', 'border-style', 'border-top', 'border-width', 'clear', 'color', 'cursor',
     * 'direction', 'display', 'float', 'font', 'font-family', 'font-size', 'font-weight', 'font-style',
     * 'height', 'left', 'line-height', 'list-style-type', 'margin', 'margin-top', 'margin-left',
     * 'margin-right', 'margin-bottom', 'max-height', 'max-width', 'min-height', 'min-width',
     * 'overflow', 'overflow-x', 'overflow-y', 'padding', 'padding-bottom', 'padding-left', 'padding-right',
     * 'padding-top', 'position', 'right', 'table-layout', 'text-align', 'text-decoration', 'text-indent',
     * 'top', 'vertical-align', 'visibility', 'white-space', 'width'],
     * deniedTags: null,
     * keepFormat: true,
     * plainText:  false
     * }
     */
    pasteCleanupSettings: PasteCleanupSettingsModel;
    /**
     * Specifies the items to be rendered in an iframe mode, and it has the following properties.
     * * enable - Set Boolean value to enable, the editors content is placed in an iframe and isolated from the rest of the page.
     * * attributes - Custom style to be used inside the iframe to display content. This style is added to the iframe body.
     * * resources - we can add both styles and scripts to the iframe.
     * 1. styles[] - An array of CSS style files to inject inside the iframe to display content
     * 2. scripts[] - An array of JS script files to inject inside the iframe
     *
     * {% codeBlock src='rich-text-editor/iframe-settings/index.md' %}{% endcodeBlock %}
     *
     * @default
     * {
     * enable: false,
     * attributes: null,
     * resources: { styles: [], scripts: [] }
     * }
     */
    iframeSettings: IFrameSettingsModel;
    /**
     * Specifies the image insert options in Rich Text Editor component and control with the following properties.
     * * allowedTypes - Specifies the extensions of the image types allowed to insert on bowering and
     * passing the extensions with comma separators. For example, pass allowedTypes as .jpg and .png.
     * * display - Sets the default display for an image when it is inserted in to the RichTextEditor.
     * Possible options are: 'inline' and 'block'.
     * * width - Sets the default width of the image when it is inserted in the RichTextEditor.
     * * saveFormat - Specifies the format to store the image in the Rich Text Editor (Base64 or Blob).
     * > If you want to insert a lot of tiny images in the editor and don't want a specific physical location for
     * saving images, you can opt to save format as Base64.
     * * height - Sets the default height of the image when it is inserted in the RichTextEditor.
     * * saveUrl - Specifies the service URL of save action that will receive the uploaded files and save them in the server.
     * * path - Specifies the path of the location to store the images and refer it to display the images.
     *
     * {% codeBlock src='rich-text-editor/insert-image-settings/index.md' %}{% endcodeBlock %}
     *
     * @default
     * {
     * allowedTypes: ['.jpeg', '.jpg', '.png'],
     * display: 'inline',
     * width: 'auto',
     * height: 'auto',
     * saveFormat: 'Blob'
     * saveUrl: null,
     * path: null,
     * }
     */
    insertImageSettings: ImageSettingsModel;
    /**
     * Specifies the audio insert options in Rich Text Editor component and control with the following properties.
     * * allowedTypes - Specifies the extensions of the audio types allowed to insert on bowering and
     * passing the extensions with comma separators. For example, pass allowedTypes as .jpg and .png.
     * * layoutOption - Sets the default display for an audio when it is inserted in to the RichTextEditor.
     * Possible options are: 'Inline' and 'Break'.
     * * saveFormat - Specifies the format to store the audio in the Rich Text Editor (Base64 or Blob).
     * > If you want to insert a lot of tiny audios in the editor and don't want a specific physical location for
     * saving audios, you can opt to save format as Base64.
     * * saveUrl - Specifies the service URL of save action that will receive the uploaded files and save them in the server.
     * * path - Specifies the path of the location to store the audios and refer it to display the audios.
     *
     * @default
     * {
     * allowedTypes: ['.wav', '.mp3', '.m4a','.wma'],
     * layoutOption: 'Inline',
     * saveFormat: 'Blob'
     * saveUrl: null,
     * path: null,
     * }
     */
    insertAudioSettings: AudioSettingsModel;
    /**
     * Specifies the video insert options in Rich Text Editor component and control with the following properties.
     * * allowedTypes - Specifies the extensions of the video types allowed to insert on bowering and
     * passing the extensions with comma separators. For example, pass allowedTypes as .jpg and .png.
     * * layoutOption - Sets the default display for an video when it is inserted in to the RichTextEditor.
     * Possible options are: 'Inline' and 'Break'.
     * * width - Sets the default width of the video when it is inserted in the RichTextEditor.
     * * saveFormat - Specifies the format to store the video in the Rich Text Editor (Base64 or Blob).
     * > If you want to insert a lot of tiny videos in the editor and don't want a specific physical location for
     * saving videos, you can opt to save format as Base64.
     * * height - Sets the default height of the video when it is inserted in the RichTextEditor.
     * * saveUrl - Specifies the service URL of save action that will receive the uploaded files and save them in the server.
     * * path - Specifies the path of the location to store the videos and refer it to display the videos.
     *
     * @default
     * {
     * allowedTypes: ['.mp4', '.mov', '.wmv','.avi'],
     * layoutOption: 'Inline',
     * width: 'auto',
     * height: 'auto',
     * saveFormat: 'Blob'
     * saveUrl: null,
     * path: null,
     * }
     */
    insertVideoSettings: VideoSettingsModel;
    /**
     * Specifies the table insert options in Rich Text Editor component and control with the following properties.
     * * styles - Class name should be appended by default in table element.
     * It helps to design the table in specific CSS styles always when inserting in editor.
     * * width - Sets the default width of the table when it is inserted in the RichTextEditor.
     * * minWidth - Sets the default minWidth of the table when it is inserted in the RichTextEditor.
     * * maxWidth - Sets the default maxWidth of the table when it is inserted in the RichTextEditor.
     * * resize - To enable resize the table.
     *
     * {% codeBlock src='rich-text-editor/table-settings/index.md' %}{% endcodeBlock %}
     *
     * @default
     * {
     * width: '100%',
     * styles: [{ text: 'Dashed Borders', class: 'e-dashed-borders', command: 'Table', subCommand: 'Dashed' },
     * { text: 'Alternate Rows', class: 'e-alternate-rows', command: 'Table', subCommand: 'Alternate' }],
     * resize: true,
     * minWidth: 0,
     * maxWidth: null,
     * }
     */
    tableSettings: TableSettingsModel;
    /**
     * Preserves the toolbar at the top of the Rich Text Editor on scrolling and
     * specifies the offset of the floating toolbar from documents top position
     *
     * @default 0
     */
    floatingToolbarOffset: number;
    /**
     * Enable or disable the inline edit mode.
     * * enable - set boolean value to enable or disable the inline edit mode.
     * * onSelection - If its set to true, upon selecting the text, the toolbar is opened in inline.
     * If its set to false, upon clicking to the target element, the toolbar is opened.
     *
     * {% codeBlock src='rich-text-editor/inline-mode/index.md' %}{% endcodeBlock %}
     *
     * @default
     * {
     * enable: false,
     * onSelection: true
     * }
     */
    inlineMode: InlineModeModel;
    /**
     * Specifies the image manager options in Rich Text Editor component and control with the following properties.
     * * enable - set boolean value to enable or disable the image manager.
     * * ajaxSettings - Specifies the AJAX settings of the image manager.
     * * contextMenuSettings - Specifies the context menu settings of the image manager.
     * * navigationPaneSettings - Specifies the navigation pane settings of the image manager.
     * * toolbarSettings - Specifies the group of items aligned horizontally in the toolbar.
     * * uploadSettings - Specifies the upload settings for the image manager.
     *
     * @default
     * {
     * enable: false,
     * path: '/',
     * ajaxSettings: { getImageUrl: null, url: null, uploadUrl: null },
     * contextMenuSettings: {
     * visible: true,
     * file: ['Open', '|', 'Cut', 'Copy', '|', 'Delete', 'Rename', '|', 'Details'],
     * folder: ['Open', '|', 'Cut', 'Copy', 'Paste', '|', 'Delete', 'Rename', '|', 'Details'],
     * layout: ['SortBy', 'View', 'Refresh', '|', 'Paste', '|', 'NewFolder', 'Upload', '|', 'Details', '|', 'SelectAll']
     * },
     * navigationPaneSettings: {
     * visible: true,
     * items: [
     * 'NewFolder', 'Upload', 'Cut', 'Copy', 'Paste', 'Delete', 'Download',
     * 'Rename', 'SortBy', 'Refresh', 'Selection', 'View', 'Details'
     * ]
     * },
     * toolbarSettings: { visible: true, items: ['Upload', 'NewFolder'] },
     * uploadSettings: { autoUpload: true, minFileSize: 0, maxFileSize: 30000000, allowedExtensions: '', autoClose: false }
     * }
     */
    fileManagerSettings: FileManagerSettingsModel;
    /**
     * Specifies the width of the RichTextEditor.
     *
     * @default '100%'
     */
    width: string | number;
    /**
     * Enables or disables the persisting component's state between page reloads.
     * If enabled, the value of Rich Text Editor is persisted
     *
     * {% codeBlock src='rich-text-editor/enable-persistence/index.md' %}{% endcodeBlock %}
     *
     * @default false.
     */
    enablePersistence: boolean;
    /**
     * Enables or disables the resizing option in the editor.
     * If enabled, the Rich Text Editor can be resized by dragging the resize icon in the bottom right corner.
     *
     * {% codeBlock src='rich-text-editor/enable-resize/index.md' %}{% endcodeBlock %}
     *
     * @default false.
     */
    enableResize: boolean;
    /**
     * Allows additional HTML attributes such as title, name, etc., and
     * It will be accepts n number of attributes in a key-value pair format.
     *
     * @default {}.
     */
    htmlAttributes: {
        [key: string]: string;
    };
    /**
     * Specifies the placeholder for the RichTextEditor’s content used when the Rich Text Editor body is empty.
     *
     * @default null.
     */
    placeholder: string;
    /**
     * Enables or disables the auto-save option which performs the save action while in the idle state after typed content.
     * If enabled, the Rich Text Editor will save the content on idle state with `saveInterval` property's value.
     * The change event will be triggered if the content has changed from the last saved state.
     *
     * @default false.
     */
    autoSaveOnIdle: boolean;
    /**
     * The user interactions on the component are disabled, when set to true.
     *
     * @default false.
     */
    readonly: boolean;
    /**
     * Specifies a value that indicates whether the component is enabled or not.
     *
     * {% codeBlock src='rich-text-editor/enabled/index.md' %}{% endcodeBlock %}
     *
     * @default true.
     */
    enabled: boolean;
    /**
     * Defines whether to allow the cross-scripting site or not.
     *
     * @default true
     */
    enableHtmlSanitizer: boolean;
    /**
     * specifies the value whether the source code is displayed with encoded format.
     *
     * @default false.
     */
    enableHtmlEncode: boolean;
    /**
     * Specifies a value that indicates whether the xhtml is enabled or not.
     *
     * @default false.
     */
    enableXhtml: boolean;
    /**
     * Specifies the height of the Rich Text Editor component.
     *
     * @default "auto"
     */
    height: string | number;
    /**
     * Specifies the CSS class name appended with the root element of the RichTextEditor.
     * One or more custom CSS classes can be added to a RichTextEditor.
     *
     * @default null
     */
    cssClass: string;
    /**
     * Specifies the value displayed in the RichTextEditor's content area and it should be string.
     * The content of Rich Text Editor can be loaded with dynamic data such as database, AJAX content, and more.
     *
     * {% codeBlock src='rich-text-editor/value/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    value: string;
    /**
     * Specifies tag to be inserted when enter key is pressed.
     *
     * - `P` - When the enter key is pressed a `p` tag will be inserted and the default value of the Rich Text Editor will be &lt;
p&gt;
&lt;
br&gt;
&lt;
/p&gt;
.
     *
     * - `DIV` - When the enter key is pressed a `div` tag will be inserted instead of the default `P` tag and the default value of the Rich Text Editor will be &lt;
div&gt;
&lt;
br&gt;
&lt;
/div&gt;
.
     *
     * - `BR` - When the enter key is pressed a `br` tag will be inserted instead of the default `P` tag and the default value of the Rich Text Editor will be &lt;
br&gt;
.
     *
     * @default 'P'
     */
    enterKey: EnterKey;
    /**
     * Specifies tags to be inserted when shift+enter key is pressed.
     *
     * - `BR` - When the shift + enter key is pressed a `br` tag will be inserted which is the default behavior.
     *
     * - `P` - When the shift + enter key is pressed a `p` tag will be inserted instead of the default `br` tag.
     *
     * - `DIV` - When the shift + enter key is pressed a `div` tag will be inserted instead of the default `br` tag.
     *
     * @default 'BR'
     */
    shiftEnterKey: ShiftEnterKey;
    /**
     * Specifies the count of undo history which is stored in undoRedoManager.
     *
     * {% codeBlock src='rich-text-editor/undo-redo-steps/index.md' %}{% endcodeBlock %}
     *
     * @default 30
     */
    undoRedoSteps: number;
    /**
     * Specifies the interval value in milliseconds that store actions in undoRedoManager. The minimum value is 300 milliseconds.
     *
     * @default 300
     */
    undoRedoTimer: number;
    /**
     * Specifies the editing mode of the RichTextEditor.
     *
     * - `HTML` - Render Rich Text Editor as HTML editor using &lt;
IFRAME&gt;
 element or content editable &lt;
div&gt;
 element
     * or &lt;
textarea&gt;
 element.
     *
     * - `Markdown` - Render Rich Text Editor as markdown editor using &lt;
textarea&gt;
.
     *
     * @default 'HTML'
     */
    editorMode: EditorMode;
    /**
     * Customizes the key actions in RichTextEditor.
     * For example, when using German keyboard, the key actions can be customized using these shortcuts.
     *
     * {% codeBlock src='rich-text-editor/keyconfig/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    keyConfig: {
        [key: string]: string;
    };
    /**
     * Sets Boolean value to enable or disable the display of the character counter.
     *
     * {% codeBlock src='rich-text-editor/show-char-count/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    showCharCount: boolean;
    /**
     * Allows the tab key action in the Rich Text Editor content.
     *
     * {% codeBlock src='rich-text-editor/enable-tab-key/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    enableTabKey: boolean;
    /**
     * Enable `enableAutoUrl` to accept the given URL (relative or absolute) without validating the URL for hyperlinks, otherwise
     * the given URL will automatically convert to absolute path URL by prefixing `https://` for hyperlinks.
     *
     * {% codeBlock src='rich-text-editor/enable-autourl/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    enableAutoUrl: boolean;
    /**
     * Specifies the maximum number of characters allowed in the Rich Text Editor component.
     *
     * {% codeBlock src='rich-text-editor/max-length/index.md' %}{% endcodeBlock %}
     *
     * @default -1
     */
    maxLength: number;
    /**
     * Predefine the collection of paragraph styles along with quote and code style that populate in format dropdown from the toolbar.
     *
     * {% codeBlock src='rich-text-editor/format/index.md' %}{% endcodeBlock %}
     *
     * @default
     * {
     * default: 'Paragraph',
     * width: '65px',
     * types: [
     * { text: 'Paragraph' },
     * { text: 'Code' },
     * { text: 'Quotation' },
     * { text: 'Heading 1' },
     * { text: 'Heading 2' },
     * { text: 'Heading 3' },
     * { text: 'Heading 4' },
     * { text: 'Heading 5' },
     * { text: 'Heading 6' }
     * ]
     * }
     */
    format: FormatModel;
    /**
     * Predefine the advanced list types that populate in the numberFormatList dropdown list from the toolbar.
     *
     * @default
     * {
     * types: [
     * { text: 'None', value: 'none' },
     * { text: 'Number', value: 'decimal' },
     * { text: 'Lower Greek', value: 'lowerGreek' },
     * { text: 'Lower Roman', value: 'lowerRoman' },
     * { text: 'Upper Alpha', value: 'upperAlpha' },
     * { text: 'Lower Alpha', value: 'lowerAlpha' },
     * { text: 'Upper Roman', value: 'upperRoman' },
     * ]
     * }
     */
    numberFormatList: NumberFormatListModel;
    /**
     * Predefine the advanced list types that populate in the bulletFormatList dropdown list from the toolbar.
     *
     * @default
     * {
     * types: [
     * { text: 'None', value: 'none' },
     * { text: 'Disc', value: 'disc' },
     * { text: 'Circle', value: 'circle' },
     * { text: 'Square', value: 'square' }
     * ]
     * }
     */
    bulletFormatList: BulletFormatListModel;
    /**
     * Predefine the font families that populate in font family dropdown list from the toolbar.
     *
     * {% codeBlock src='rich-text-editor/font-family/index.md' %}{% endcodeBlock %}
     *
     * @default
     * {
     * default: 'Segoe UI',
     * width: '65px',
     * items: [
     * { text: 'Segoe UI', value: 'Segoe UI' },
     * { text: 'Arial',  value: 'Arial,Helvetica,sans-serif' },
     * { text: 'Courier New', value: 'Courier New,Courier,monospace' },
     * { text: 'Georgia', value: 'Georgia,serif' },
     * { text: 'Impact', value: 'Impact,Charcoal,sans-serif' },
     * { text: 'Lucida Console', value: 'Lucida Console,Monaco,monospace' },
     * { text: 'Tahoma', value: 'Tahoma,Geneva,sans-serif' },
     * { text: 'Times New Roman', value: 'Times New Roman,Times,serif' },
     * { text: 'Trebuchet MS', value: 'Trebuchet MS,Helvetica,sans-serif' },
     * { text: 'Verdana', value: 'Verdana,Geneva,sans-serif' }
     * ]
     * }
     */
    fontFamily: FontFamilyModel;
    /**
     * Predefine the font sizes that populate in font size dropdown list from the toolbar.
     *
     * {% codeBlock src='rich-text-editor/font-size/index.md' %}{% endcodeBlock %}
     *
     * @default
     * {
     * default: '10',
     * width: '35px',
     * items: [
     * { text: '8', value: '8pt' },
     * { text: '10', value: '10pt' },
     * { text: '12', value: '12pt' },
     * { text: '14', value: '14pt' },
     * { text: '18', value: '18pt' },
     * { text: '24', value: '24pt' },
     * { text: '36', value: '36pt' }
     * ]
     * }
     */
    fontSize: FontSizeModel;
    /**
     * Predefine the color palette that can be rendered for font color toolbar command .
     *
     * {% codeBlock src='rich-text-editor/font-color/index.md' %}{% endcodeBlock %}
     *
     * @default
     * {
     * columns: 10,
     * colorCode: {
     * 'Custom': [
     * '', '#000000', '#e7e6e6', '#44546a', '#4472c4', '#ed7d31', '#a5a5a5', '#ffc000', '#70ad47', '#ff0000',
     * '#f2f2f2', '#808080', '#cfcdcd', '#d5dce4', '#d9e2f3', '#fbe4d5', '#ededed', '#fff2cc', '#e2efd9', '#ffcccc',
     * '#d9d9d9', '#595959', '#aeaaaa', '#acb9ca', '#b4c6e7', '#f7caac', '#dbdbdb', '#ffe599', '#c5e0b3', '#ff8080',
     * '#bfbfbf', '#404040', '#747070', '#8496b0', '#8eaadb', '#f4b083', '#c9c9c9', '#ffd966', '#a8d08d', '#ff3333',
     * '#a6a6a6', '#262626', '#3b3838', '#323e4f', '#2f5496', '#c45911', '#7b7b7b', '#bf8f00', '#538135', '#b30000',
     * '#7f7f7f', '#0d0d0d', '#161616', '#212934', '#1f3763', '#823b0b', '#525252', '#7f5f00', '#375623', '#660000']
     * }
     * }
     */
    fontColor: FontColorModel;
    /**
     * Predefine the color palette that can be rendered for background color (text highlighted color) toolbar command.
     *
     * {% codeBlock src='rich-text-editor/background-color/index.md' %}{% endcodeBlock %}
     *
     * @default
     * {
     * columns: 5,
     * colorCode: {
     * 'Custom': ['#ffff00', '#00ff00', '#00ffff', '#ff00ff', '#0000ff', '#ff0000',
     * '#000080', '#008080', '#008000', '#800080', '#800000', '#808000',
     * '#c0c0c0', '#000000', '']
     * }
     * }
     */
    backgroundColor: BackgroundColorModel;
    /**
     * Accepts the template design and assigns it as RichTextEditor’s content.
     * The built-in template engine which provides options to compile template string into a executable function.
     * For EX: We have expression evolution as like ES6 expression string literals
     *
     * {% codeBlock src='rich-text-editor/value-template/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    valueTemplate: string;
    /**
     * Specifies the saveInterval in milliseconds for autosave the value.
     * The change event will be triggered if the content was changed from the last saved interval.
     *
     * {% codeBlock src='rich-text-editor/save-interval/index.md' %}{% endcodeBlock %}
     *
     * @default 10000
     */
    saveInterval: number;
    /**
     * Triggers before command execution using toolbar items or executeCommand method.
     * If you cancel this event, the command cannot be executed.
     * Set the cancel argument to true to cancel the command execution.
     *
     * @event 'actionBegin'
     * @blazorProperty 'OnActionBegin'
     */
    actionBegin: base.EmitType<ActionBeginEventArgs>;
    /**
     * Triggers after command execution using toolbar items or executeCommand method.
     *
     * @event 'actionComplete'
     * @blazorProperty 'OnActionComplete'
     */
    actionComplete: base.EmitType<ActionCompleteEventArgs>;
    /**
     * Event triggers when the dialog is being opened.
     * If you cancel this event, the dialog remains closed.
     * Set the cancel argument to true to cancel the open of a dialog.
     *
     * @event 'beforeDialogOpen'
     * @blazorProperty 'OnDialogOpen'
     * @blazorType Syncfusion.EJ2.Blazor.Popups.popups.BeforeOpenEventArgs
     */
    beforeDialogOpen: base.EmitType<popups.BeforeOpenEventArgs>;
    /**
     * Event triggers when a dialog is opened.
     *
     * @event 'dialogOpen'
     * @blazorProperty 'DialogOpened'
     * @blazorType DialogOpenEventArgs
     */
    dialogOpen: base.EmitType<Object>;
    /**
     * Event triggers when the dialog is being closed.
     * If you cancel this event, the dialog remains opened.
     * Set the cancel argument to true to prevent closing a dialog.
     *
     * @event 'beforeDialogClose'
     * @blazorProperty 'OnDialogClose'
     * @blazorType Syncfusion.EJ2.Blazor.Popups.popups.BeforeOpenEventArgs
     */
    beforeDialogClose: base.EmitType<popups.BeforeCloseEventArgs>;
    /**
     * Event triggers after the dialog has been closed.
     *
     * @event 'dialogClose'
     * @blazorProperty 'DialogClosed'
     * @blazorType DialogCloseEventArgs
     */
    dialogClose: base.EmitType<Object>;
    /**
     * Event triggers when the quick toolbar is being opened.
     *
     * @event 'beforeQuickToolbarOpen'
     * @blazorProperty 'OnQuickToolbarOpen'
     */
    beforeQuickToolbarOpen: base.EmitType<BeforeQuickToolbarOpenArgs>;
    /**
     * Event triggers when a quick toolbar is opened.
     *
     * @event 'quickToolbarOpen'
     * @blazorProperty 'QuickToolbarOpened'
     * @blazorType QuickToolbarEventArgs
     */
    quickToolbarOpen: base.EmitType<Object>;
    /**
     * Event triggers after the quick toolbar has been closed.
     *
     * @event 'quickToolbarClose'
     * @blazorProperty 'QuickToolbarClosed'
     * @blazorType QuickToolbarEventArgs
     */
    quickToolbarClose: base.EmitType<Object>;
    /**
     * This event is deprecated and no longer works. Use `updatedToolbarStatus` event to get the undo and redo status.
     *
     * @deprecated
     * @event 'toolbarStatusUpdate'
     */
    toolbarStatusUpdate: base.EmitType<Object>;
    /**
     * Triggers when the toolbar items status is updated.
     *
     * @event 'updatedToolbarStatus'
     * @blazorType ToolbarUpdateEventArgs
     */
    updatedToolbarStatus: base.EmitType<ToolbarStatusEventArgs>;
    /**
     * Event triggers when the image is selected or dragged into the insert image dialog.
     *
     * @event 'imageSelected'
     * @blazorProperty 'OnImageSelected'
     */
    imageSelected: base.EmitType<inputs.SelectedEventArgs>;
    /**
     * Event triggers before the image upload process.
     *
     * @event 'beforeImageUpload'
     */
    beforeImageUpload: base.EmitType<inputs.BeforeUploadEventArgs>;
    /**
     * Event triggers when the selected image begins to upload in the insert image dialog.
     *
     * @event 'imageUploading'
     * @blazorProperty 'OnImageUploading'
     */
    imageUploading: base.EmitType<inputs.UploadingEventArgs>;
    /**
     * Event triggers when the image is successfully uploaded to the server side.
     *
     * @event 'imageUploadSuccess'
     * @blazorProperty 'OnImageUploadSuccess'
     * @blazorType ImageSuccessEventArgs
     */
    imageUploadSuccess: base.EmitType<Object>;
    /**
     * Event triggers when there is an error in the image upload.
     *
     * @event 'imageUploadFailed'
     * @blazorProperty 'OnImageUploadFailed'
     * @blazorType ImageFailedEventArgs
     */
    imageUploadFailed: base.EmitType<Object>;
    /**
     * Event triggers when the selected image is cleared from the insert image dialog.
     *
     * @event 'imageRemoving'
     * @blazorProperty 'OnImageRemoving'
     */
    imageRemoving: base.EmitType<inputs.RemovingEventArgs>;
    /**
     * Event triggers when the selected image is cleared from the Rich Text Editor Content.
     *
     * @event 'afterImageDelete'
     * @blazorProperty 'OnImageDelete'
     */
    afterImageDelete: base.EmitType<AfterImageDeleteEventArgs>;
    /**
     * Event triggers when the media is selected or dragged into the insert media audio/video dialog.
     *
     * @event 'fileSelected'
     */
    fileSelected: base.EmitType<inputs.SelectedEventArgs>;
    /**
     * Event triggers before the media audio/video upload process.
     *
     * @event 'beforeFileUpload'
     */
    beforeFileUpload: base.EmitType<inputs.BeforeUploadEventArgs>;
    /**
     * Event triggers when the selected media begins to upload in the insert media audio/video dialog.
     *
     * @event 'fileUploading'
     */
    fileUploading: base.EmitType<inputs.UploadingEventArgs>;
    /**
     * Event triggers when the media is successfully uploaded to the server side.
     *
     * @event 'fileUploadSuccess'
     */
    fileUploadSuccess: base.EmitType<Object>;
    /**
     * Event triggers when there is an error in the media upload.
     *
     * @event 'fileUploadFailed'
     */
    fileUploadFailed: base.EmitType<Object>;
    /**
     * Event triggers when the selected media is cleared from the insert audio/video dialog.
     *
     * @event 'fileRemoving'
     */
    fileRemoving: base.EmitType<inputs.RemovingEventArgs>;
    /**
     * Event triggers when the selected media is cleared from the Rich Text Editor Content.
     *
     * @event 'afterMediaDelete'
     */
    afterMediaDelete: base.EmitType<AfterMediaDeleteEventArgs>;
    /**
     * Triggers when the Rich Text Editor is rendered.
     *
     * @event 'created'
     * @blazorProperty 'Created'
     */
    created: base.EmitType<Object>;
    /**
     * Triggers when the Rich Text Editor is destroyed.
     *
     * @event 'destroyed'
     * @blazorProperty 'Destroyed'
     * @blazorType DestroyedEventArgs
     */
    destroyed: base.EmitType<Object>;
    /**
     * Event triggers before sanitize the value. It's only applicable to editorMode as `HTML`.
     *
     * @event 'beforeSanitizeHtml'
     * @blazorProperty 'OnSanitizeHtml'
     */
    beforeSanitizeHtml: base.EmitType<BeforeSanitizeHtmlArgs>;
    /**
     * Triggers when Rich Text Editor is focused out.
     *
     * @event 'blur'
     * @blazorType BlurEventArgs
     */
    blur: base.EmitType<Object>;
    /**
     * Triggers when Rich Text Editor Toolbar items is clicked.
     *
     * @event 'toolbarClick'
     * @blazorProperty 'OnToolbarClick'
     * @blazorType ToolbarClickEventArgs
     */
    toolbarClick: base.EmitType<Object>;
    /**
     * Triggers when Rich Text Editor is focused in
     *
     * @event 'focus'
     * @blazorType FocusEventArgs
     */
    focus: base.EmitType<Object>;
    /**
     * Triggers only when Rich Text Editor is blurred and changes are done to the content.
     *
     * @event 'change'
     * @blazorProperty 'ValueChange'
     */
    change: base.EmitType<ChangeEventArgs>;
    /**
     * Triggers only when resizing the image.
     *
     * @event 'resizing'
     * @blazorProperty 'Resizing'
     */
    resizing: base.EmitType<ResizeArgs>;
    /**
     * Triggers only when start resize the image.
     *
     * @event 'resizeStart'
     * @blazorProperty 'OnResizeStart'
     */
    resizeStart: base.EmitType<ResizeArgs>;
    /**
     * Triggers only when stop resize the image.
     *
     * @event 'resizeStop'
     * @blazorProperty 'OnResizeStop'
     */
    resizeStop: base.EmitType<ResizeArgs>;
    /**
     * Triggers before cleanup the copied content.
     *
     * @event 'beforePasteCleanup'
     */
    beforePasteCleanup: base.EmitType<PasteCleanupArgs>;
    /**
     * Triggers after cleanup the copied content.
     *
     * @event 'afterPasteCleanup'
     */
    afterPasteCleanup: base.EmitType<object>;
    /**
     * Triggers before drop the image.
     *
     * @event 'beforeImageDrop'
     * @blazorProperty 'OnImageDrop'
     */
    beforeImageDrop: base.EmitType<ImageDropEventArgs>;
    /**
     * Customize keyCode to change the key value.
     *
     * {% codeBlock src='rich-text-editor/formatter/index.md' %}{% endcodeBlock %}
     *
     * @default null
     * @blazorType object
     */
    formatter: IFormatter;
    keyboardModule: KeyboardEvents;
    localeObj: base.L10n;
    valueContainer: HTMLTextAreaElement;
    private originalElement;
    private clickPoints;
    private initialValue;
    constructor(options?: RichTextEditorModel, element?: string | HTMLElement);
    /**
     * To provide the array of modules needed for component rendering
     *
     * @returns {base.ModuleDeclaration[]} - specifies the declaration.
     * @hidden
     * @deprecated
     */
    requiredModules(): base.ModuleDeclaration[];
    private updateEnable;
    /**
     * setEnable method
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    setEnable(): void;
    private initializeValue;
    /**
     * For internal use only - Initialize the event handler;
     *
     * @returns {void}
     * @hidden
     * @private
     */
    protected preRender(): void;
    private persistData;
    private setContainer;
    /**
     * getPersistData method
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getPersistData(): string;
    /**
     * Focuses the Rich Text Editor component
     *
     * @returns {void}
     * @public
     */
    focusIn(): void;
    /**
     * Blurs the Rich Text Editor component
     *
     * @returns {void}
     * @public
     */
    focusOut(): void;
    /**
     * Selects all the content in RichTextEditor
     *
     * @returns {void}
     * @public
     */
    selectAll(): void;
    /**
     * Selects a content range or an element
     *
     * @param {Range} range - Specify the range which you want to select within the content.
     * The method used to select a particular sentence or word or entire document.
     *
     * @returns {void}
     * @public
     */
    selectRange(range: Range): void;
    /**
     * Retrieves the HTML markup content from currently selected content of RichTextEditor.
     *
     * @returns {void}
     * @public
     */
    getSelection(): string;
    /**
     * Executes the commands
     *
     * @returns {void}
     * @param {CommandName} commandName - Specifies the name of the command to be executed.
     * @param {string | HTMLElement | ILinkCommandsArgs | IImageCommandsArgs} value - Specifies the value that you want to execute.
     * @param {ExecuteCommandOption} option - specifies the command option
     * @public
     */
    executeCommand(commandName: CommandName, value?: string | HTMLElement | ILinkCommandsArgs | IImageCommandsArgs | ITableCommandsArgs, option?: ExecuteCommandOption): void;
    private htmlPurifier;
    private encode;
    /**
     * For internal use only - To Initialize the component rendering.
     *
     * @returns {void}
     * @private
     * @deprecated
     */
    protected render(): void;
    /**
     * addAudioVideoWrapper method
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    addAudioVideoWrapper(): void;
    /**
     * For internal use only - Initialize the event handler
     *
     * @returns {void}
     * @private
     * @deprecated
     * @hidden
     */
    protected eventInitializer(): void;
    cleanList(e: KeyboardEvent): void;
    /**
     * For internal use only - keydown the event handler;
     *
     * @param {KeyboardEvent} e - specifies the event.
     * @returns {void}
     * @private
     * @deprecated
     * @hidden
     */
    keyDown(e: KeyboardEvent): void;
    private keyUp;
    /**
     * @param {string} value - specifies the value.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    serializeValue(value: string): string;
    /**
     * This method will clean up the HTML against cross-site scripting attack and return the HTML as string.
     * It's only applicable to editorMode as `HTML`.
     *
     * @param {string} value - Specifies the value that you want to sanitize.
     * @returns {string} - specifies the the string value
     */
    sanitizeHtml(value: string): string;
    /**
     * updateValue method
     *
     * @param {string} value - specifies the string value.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    updateValue(value?: string): void;
    private triggerEditArea;
    private notifyMouseUp;
    private mouseUp;
    /**
     * @param {Function} module - specifies the module function.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    ensureModuleInjected(module: Function): boolean;
    /**
     * @returns {void}
     * @hidden
     * @deprecated
     */
    onCopy(): void;
    /**
     * @returns {void}
     * @hidden
     * @deprecated
     */
    onCut(): void;
    /**
     * @param {KeyboardEvent} e - specifies the keyboard event.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    onPaste(e?: KeyboardEvent | ClipboardEvent): void;
    /**
     * @param {string} action - specifies the string value.
     * @param {MouseEvent} event - specifies the event.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    clipboardAction(action: string, event: MouseEvent | KeyboardEvent): void;
    /**
     * Destroys the component (detaches/removes all event handlers, attributes, classes, and empties the component element).
     *
     * @returns {void}
     */
    destroy(): void;
    private removeHtmlAttributes;
    private removeAttributes;
    private destroyDependentModules;
    /**
     * Returns the HTML or Text inside the RichTextEditor.
     *
     * @returns {Element} - specifies the element.
     */
    getContent(): Element;
    /**
     * Returns the text content as string.
     *
     * @returns {string} - specifies the string value.
     */
    getText(): string;
    /**
     * Returns the html value of the selected content as string.
     *
     * @returns {string} - specifies the string value.
     */
    getSelectedHtml(): string;
    /**
     * It shows the inline quick toolbar
     *
     * @returns {void}
     */
    showInlineToolbar(): void;
    /**
     * It hides the inline quick toolbar
     *
     * @returns {void}
     */
    hideInlineToolbar(): void;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {void}
     * @private
     * @deprecated
     */
    protected getModuleName(): string;
    /**
     * Called internally if any of the property value changed.
     *
     * @param {RichTextEditorModel} newProp - specifies the the property.
     * @param {RichTextEditorModel} oldProp - specifies the old property.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    onPropertyChanged(newProp: RichTextEditorModel, oldProp: RichTextEditorModel): void;
    /**
     * @hidden
     * @returns {void}
     * @deprecated
     */
    updateValueData(): void;
    private removeSheets;
    private updatePanelValue;
    private setHeight;
    /**
     * setPlaceHolder method
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    setPlaceHolder(): void;
    private setWidth;
    private setCssClass;
    private updateRTL;
    private updateReadOnly;
    /**
     * setReadOnly method
     *
     * @param {boolean} initial - specifies the boolean value
     * @returns {void}
     * @hidden
     * @deprecated
     */
    setReadOnly(initial?: boolean): void;
    /**
     * By default, prints all the pages of the RichTextEditor.
     *
     * @returns {void}
     */
    print(): void;
    /**
     * Refresh the view of the editor.
     *
     * @returns {void}
     * @public
     */
    refreshUI(): void;
    /**
     * Shows the Rich Text Editor component in full-screen mode.
     *
     * @returns {void}
     */
    showFullScreen(): void;
    /**
     * Enables the give toolbar items in the Rich Text Editor component.
     *
     * @returns {void}
     * @param {string | string[]} items - Specifies the single or collection of items
     * @param {boolean} muteToolbarUpdate enable/disables the toolbar item status in RichTextEditor.
     * that you want to be enable in Rich Text Editor’s Toolbar.
     *
     * @public
     */
    enableToolbarItem(items: string | string[], muteToolbarUpdate?: boolean): void;
    /**
     * Disables the given toolbar items in the Rich Text Editor component.
     *
     * @returns {void}
     * @param {string | string[]} items - Specifies the single or collection of items
     * @param {boolean} muteToolbarUpdate enable/disables the toolbar item status in RichTextEditor.
     * that you want to be disable in Rich Text Editor’s Toolbar.
     *
     * @public
     */
    disableToolbarItem(items: string | string[], muteToolbarUpdate?: boolean): void;
    /**
     * Removes the give toolbar items from the Rich Text Editor component.
     *
     * @returns {void}
     * @param {string | string[]} items - Specifies the single or collection of items
     * that you want to be remove from Rich Text Editor’s Toolbar.
     *
     * @public
     */
    removeToolbarItem(items: string | string[]): void;
    /**
     * Get the selected range from the RichTextEditor's content.
     *
     * @returns {void}
     * @public
     * @deprecated
     */
    getRange(): Range;
    private initializeServices;
    private RTERender;
    private setIframeSettings;
    private InjectSheet;
    private createScriptElement;
    private createStyleElement;
    private setValue;
    private updateResizeFlag;
    /**
     * Image max width calculation method
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getInsertImgMaxWidth(): string | number;
    /**
     * Video max width calculation method
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getInsertVidMaxWidth(): string | number;
    /**
     * setContentHeight method
     *
     * @param {string} target - specifies the target value.
     * @param {boolean} isExpand - specifies  the bollean value.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    setContentHeight(target?: string, isExpand?: boolean): void;
    /**
     * Retrieves the HTML from RichTextEditor.
     *
     * @returns {void}
     * @public
     */
    getHtml(): string;
    /**
     * Retrieves the Rich Text Editor's XHTML validated HTML content when `enableXhtml` property is enabled.
     *
     * @returns {void}
     * @public
     */
    getXhtml(): string;
    /**
     * Shows the source HTML/MD markup.
     *
     * @returns {void}
     * @public
     */
    showSourceCode(): void;
    /**
     * Returns the maximum number of characters in the Rich Text Editor.
     *
     * @returns {void}
     * @public
     */
    getCharCount(): number;
    /**
     * Show the dialog in the Rich Text Editor.
     *
     * @param {DialogType} type - specifies the dialog type.
     * @returns {void}
     * @public
     */
    showDialog(type: DialogType): void;
    /**
     * Close the dialog in the Rich Text Editor.
     *
     * @param {DialogType} type - specifies the dialog type.
     * @returns {void}
     * @public
     */
    closeDialog(type: DialogType): void;
    /**
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getBaseToolbarObject(): BaseToolbar;
    /**
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getToolbar(): HTMLElement;
    /**
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getToolbarElement(): Element;
    /**
     * @returns {void}
     * getID method
     *
     * @hidden
     * @deprecated
     */
    getID(): string;
    private mouseDownHandler;
    private preventImgResize;
    /**
     * preventDefaultResize method
     *
     * @param {FocusEvent} e - specifies the event.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    preventDefaultResize(e: FocusEvent | MouseEvent): void;
    private defaultResize;
    private resizeHandler;
    private scrollHandler;
    private contentScrollHandler;
    private focusHandler;
    private getUpdatedValue;
    private updateValueOnIdle;
    private updateIntervalValue;
    private updateStatus;
    private onDocumentClick;
    private blurHandler;
    /**
     * invokeChangeEvent method
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    private contentChanged;
    /**
     * invokeChangeEvent method
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    invokeChangeEvent(): void;
    /**
     * @returns {void}
     * @hidden
     * @deprecated
     */
    wireScrollElementsEvents(): void;
    private wireContextEvent;
    private unWireContextEvent;
    /**
     * @returns {void}
     * @hidden
     * @deprecated
     */
    unWireScrollElementsEvents(): void;
    private touchHandler;
    private contextHandler;
    private resetHandler;
    /**
     * @returns {void}
     * @hidden
     * @deprecated
     */
    autoResize(): void;
    private setAutoHeight;
    private wireEvents;
    private restrict;
    private bindEvents;
    private onIframeMouseDown;
    private editorKeyDown;
    private unWireEvents;
    private unbindEvents;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/base/util.d.ts
/**
 * @param {string} val - specifies the string value
 * @param {string} items - specifies the value
 * @returns {number} - returns the number value
 * @hidden
 */
export  function getIndex(val: string, items: (string | IToolbarItems)[]): number;
/**
 * @param {Element} element - specifies the element
 * @param {string} className - specifies the string value
 * @returns {boolean} - returns the boolean value
 * @hidden
 */
export  function hasClass(element: Element | HTMLElement, className: string): boolean;
/**
 * @param {IDropDownItemModel} items - specifies the item model
 * @param {string} value - specifies the string value
 * @param {string} type - specifies the string value
 * @param {string} returnType - specifies the return type
 * @returns {string} - returns the string value
 * @hidden
 */
export  function getDropDownValue(items: IDropDownItemModel[], value: string, type: string, returnType: string): string;
/**
 * @returns {boolean} - returns the boolean value
 * @hidden
 */
export  function isIDevice(): boolean;
/**
 * @param {string} value - specifies the value
 * @returns {string} - returns the string value
 * @hidden
 */
export  function getFormattedFontSize(value: string): string;
/**
 * @param {MouseEvent} e - specifies the mouse event
 * @param {HTMLElement} parentElement - specifies the parent element
 * @param {boolean} isIFrame - specifies the boolean value
 * @returns {number} - returns the number
 * @hidden
 */
export  function pageYOffset(e: MouseEvent | Touch, parentElement: HTMLElement, isIFrame: boolean): number;
/**
 * @param {string} item - specifies the string
 * @param {ServiceLocator} serviceLocator - specifies the service locator
 * @returns {string} - returns the string
 * @hidden
 */
export  function getTooltipText(item: string, serviceLocator: ServiceLocator): string;
/**
 * @param {ISetToolbarStatusArgs} e - specifies the e element
 * @param {boolean} isPopToolbar - specifies the boolean value
 * @param {IRichTextEditor} self - specifies the parent element
 * @returns {void}
 * @hidden
 */
export  function setToolbarStatus(e: ISetToolbarStatusArgs, isPopToolbar: boolean, self: IRichTextEditor): void;
/**
 * @param {string} items - specifies the string value
 * @returns {string[]} - returns the array value
 * @hidden
 */
export  function getCollection(items: string | string[]): string[];
/**
 * @param {string[]} items - specifies the array of string value
 * @param {IToolbarItemModel} toolbarItems - specifies the tool bar model
 * @returns {number} - returns the number
 * @hidden
 */
export  function getTBarItemsIndex(items: string[], toolbarItems: IToolbarItemModel[]): number[];
/**
 * @param {BaseToolbar} baseToolbar - specifies the base
 * @param {boolean} undoRedoStatus - specifies the boolean value
 * @returns {void}
 * @hidden
 */
export  function updateUndoRedoStatus(baseToolbar: BaseToolbar, undoRedoStatus: {
    [key: string]: boolean;
}): void;
/**
 * To dispatch the event manually
 *
 * @param {Element} element - specifies the element.
 * @param {string} type - specifies the string type.
 * @returns {void}
 * @hidden
 * @deprecated
 */
export  function dispatchEvent(element: Element | HTMLDocument, type: string): void;
/**
 * To parse the HTML
 *
 * @param {string} value - specifies the string value
 * @returns {DocumentFragment} - returns the document
 * @hidden
 */
export  function parseHtml(value: string): DocumentFragment;
/**
 * @param {Document} docElement - specifies the document element
 * @param {Element} node - specifies the node
 * @returns {Node[]} - returns the node array
 * @hidden
 */
export  function getTextNodesUnder(docElement: Document, node: Element): Node[];
/**
 * @param {IToolsItemConfigs} obj - specifies the configuration
 * @returns {void}
 * @hidden
 */
export  function toObjectLowerCase(obj: {
    [key: string]: IToolsItemConfigs;
}): {
    [key: string]: IToolsItemConfigs;
};
/**
 * @param {string} value - specifies the string value
 * @param {IRichTextEditor} rteObj - specifies the rte object
 * @returns {string} - returns the string
 * @hidden
 */
export  function getEditValue(value: string, rteObj: IRichTextEditor): string;
/**
 * @param {string} value - specifies the value
 * @param {IRichTextEditor} rteObj - specifies the rich text editor instance.
 * @returns {string} - returns the string
 * @hidden
 */
export  function updateTextNode(value: string, rteObj?: IRichTextEditor): string;
/**
 * @param {IRichTextEditor} rteObj - specifies the rte object
 * @returns {string} - returns the value based on enter configuration.
 * @hidden
 */
export  function getDefaultValue(rteObj: IRichTextEditor): string;
/**
 * @param {string} value - specifies the value
 * @returns {boolean} - returns the boolean value
 * @hidden
 */
export  function isEditableValueEmpty(value: string): boolean;
/**
 * @param {string} value - specifies the string value
 * @returns {string} - returns the string
 * @hidden
 */
export  function decode(value: string): string;
/**
 * @param {string} value - specifies the string value
 * @param {IRichTextEditor} parent - specifies the rte
 * @returns {string} - returns the string value
 * @hidden
 */
export  function sanitizeHelper(value: string, parent?: IRichTextEditor): string;
/**
 * @param {string} dataUrl - specifies the string value
 * @returns {BaseToolbar} - returns the value
 * @hidden
 */
export  function convertToBlob(dataUrl: string): Blob;
/**
 * @param {IRichTextEditor} self - specifies the rte
 * @param {string} localeItems - specifies the locale items
 * @param {IDropDownItemModel} item - specifies the dropdown item
 * @returns {string} - returns the value
 * @hidden
 */
export  function getLocaleFontFormat(self: IRichTextEditor, localeItems: {
    [ket: string]: string;
}[], item: IDropDownItemModel): string;
/**
 * @param {IRichTextEditor} self - specifies the rte
 * @returns {void}
 * @hidden
 */
export  function updateDropDownFontFormatLocale(self: IRichTextEditor): void;
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/formatter.d.ts
/**
 * Formatter
 */
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/formatter/formatter.d.ts
/**
 * Formatter
 *
 * @hidden
 * @deprecated
 */
export  class Formatter {
    editorManager: IEditorModel;
    private timeInterval;
    /**
     * To execute the command
     *
     * @param  {IRichTextEditor} self - specifies the self element.
     * @param  {ActionBeginEventArgs} args - specifies the event arguments.
     * @param  {MouseEvent|KeyboardEvent} event - specifies the keyboard event.
     * @param  {IItemCollectionArgs} value - specifies the collection arguments
     * @returns {void}
     * @hidden
     * @deprecated
     */
    process(self: IRichTextEditor, args: ActionBeginEventArgs, event: MouseEvent | KeyboardEvent, value: IItemCollectionArgs): void;
    private getAncestorNode;
    /**
     * onKeyHandler method
     *
     * @param {IRichTextEditor} self - specifies the self element.
     * @param {KeyboardEvent} e - specifies the keyboard event.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    onKeyHandler(self: IRichTextEditor, e: KeyboardEvent): void;
    /**
     * onSuccess method
     *
     * @param {IRichTextEditor} self - specifies the self element.
     * @param {IMarkdownFormatterCallBack} events - specifies the event call back
     * @returns {void}
     * @hidden
     * @deprecated
     */
    onSuccess(self: IRichTextEditor, events: IMarkdownFormatterCallBack | IHtmlFormatterCallBack): void;
    /**
     * Save the data for undo and redo action.
     *
     * @param {KeyboardEvent} e - specifies the keyboard event.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    saveData(e?: KeyboardEvent | MouseEvent | IUndoCallBack): void;
    /**
     * getUndoStatus method
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getUndoStatus(): {
        [key: string]: boolean;
    };
    /**
     * getUndoRedoStack method
     *
     * @param {IHtmlUndoRedoData}  - specifies the redo data.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getUndoRedoStack(): IHtmlUndoRedoData[] | MarkdownUndoRedoData[];
    /**
     * enableUndo method
     *
     * @param {IRichTextEditor} self - specifies the self element.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    enableUndo(self: IRichTextEditor): void;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/formatter/html-formatter.d.ts
/**
 * HTML adapter
 *
 * @hidden
 * @deprecated
 */
export  class HTMLFormatter extends Formatter {
    keyConfig: {
        [key: string]: string;
    };
    currentDocument: Document;
    element: Element;
    editorManager: IEditorModel;
    private toolbarUpdate;
    constructor(options?: IHtmlFormatterModel);
    private initialize;
    /**
     * Update the formatter of RichTextEditor
     *
     * @param  {Element} editElement - specifies the edit element.
     * @param  {Document} doc - specifies the doucment
     * @param {number} options - specifies the options
     * @returns {void}
     * @hidden
     * @deprecated
     */
    updateFormatter(editElement: Element, doc?: Document, options?: {
        [key: string]: number;
    }): void;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/formatter/markdown-formatter.d.ts
/**
 * Markdown adapter
 *
 * @hidden
 * @deprecated
 */
export  class MarkdownFormatter extends Formatter {
    keyConfig: {
        [key: string]: string;
    };
    formatTags: {
        [key: string]: string;
    };
    listTags: {
        [key: string]: string;
    };
    selectionTags: {
        [key: string]: string;
    };
    editorManager: IEditorModel;
    private element;
    constructor(options?: IMarkdownFormatterModel);
    private initialize;
    /**
     * Update the formatter of RichTextEditor
     *
     * @param  {Element} editElement - specifies the edit element.
     * @param  {Document} doc - specifies the document.
     * @param {number} options - specifies the options
     * @returns {void}
     * @hidden
     * @deprecated
     */
    updateFormatter(editElement: Element, doc?: Document, options?: {
        [key: string]: number;
    }): void;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/html-editor.d.ts
/**
 * HtmlEditor
 */
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/image.d.ts
/**
 * Image
 */
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/index.d.ts
/**
 * Rich Text Editor component exported items
 */
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/link.d.ts
/**
 * Link
 */
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/markdown-editor.d.ts
/**
 * MarkdownEditor
 */
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/models.d.ts
/**
 * Models
 */
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/models/default-locale.d.ts
/**
 * Export default locale
 */
export  let defaultLocale: {
    [key: string]: string;
};
export  let toolsLocale: {
    [key: string]: string;
};
export  let fontNameLocale: {
    [ket: string]: string;
}[];
export  let formatsLocale: {
    [ket: string]: string;
}[];
export  let numberFormatListLocale: {
    [ket: string]: string;
}[];
export  let bulletFormatListLocale: {
    [ket: string]: string;
}[];
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/models/iframe-settings-model.d.ts
/**
 * Interface for a class Resources
 */
export interface ResourcesModel {
    /**
     * Specifies styles that inject into iframe.
     *
     * @default []
     */
    styles?: string[];
    /**
     * Specifies scripts that inject into iframe.
     *
     * @default []
     */
    scripts?: string[];
}
/**
 * Interface for a class IFrameSettings
 */
export interface IFrameSettingsModel {
    /**
     * Specifies whether to render iframe based editable element in RTE.
     *
     * @default false
     */
    enable?: boolean;
    /**
     * Defines additional attributes to render iframe.
     *
     * @default 'null'
     */
    attributes?: { [key: string]: string };
    /**
     * The object used for inject styles and scripts.
     *
     * @default {}
     */
    resources?: ResourcesModel;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/models/iframe-settings.d.ts
/**
 * Objects used for configuring the iframe resources properties.
 */
export  class Resources extends base.ChildProperty<Resources> {
    /**
     * Specifies styles that inject into iframe.
     *
     * @default []
     */
    styles: string[];
    /**
     * Specifies scripts that inject into iframe.
     *
     * @default []
     */
    scripts: string[];
}
/**
 * Configures the iframe settings of the RTE.
 */
export  class IFrameSettings extends base.ChildProperty<IFrameSettings> {
    /**
     * Specifies whether to render iframe based editable element in RTE.
     *
     * @default false
     */
    enable: boolean;
    /**
     * Defines additional attributes to render iframe.
     *
     * @default 'null'
     */
    attributes: {
        [key: string]: string;
    };
    /**
     * The object used for inject styles and scripts.
     *
     * @default {}
     */
    resources: ResourcesModel;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/models/inline-mode-model.d.ts
/**
 * Interface for a class InlineMode
 */
export interface InlineModeModel {
    /**
     * Specifies whether enable/disable inline toolbar in RTE.
     *
     * @default false
     */
    enable?: boolean;
    /**
     * Specifies the inline toolbar render based on with or without selection.
     *
     * @default true
     */
    onSelection?: boolean;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/models/inline-mode.d.ts
/**
 * Configures the inlineMode property of the RTE.
 */
export  class InlineMode extends base.ChildProperty<InlineMode> {
    /**
     * Specifies whether enable/disable inline toolbar in RTE.
     *
     * @default false
     */
    enable: boolean;
    /**
     * Specifies the inline toolbar render based on with or without selection.
     *
     * @default true
     */
    onSelection: boolean;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/models/items.d.ts
/**
 * Export items model
 */
export  let templateItems: string[];
export  let tools: {
    [key: string]: IToolsItems;
};
export  let alignmentItems: IDropDownItemModel[];
export  let imageAlignItems: IDropDownItemModel[];
export  let videoAlignItems: IDropDownItemModel[];
export  let imageDisplayItems: IDropDownItemModel[];
export  let audioLayoutOptionItems: IDropDownItemModel[];
export  let videoLayoutOptionItems: IDropDownItemModel[];
export  let tableCellItems: IDropDownItemModel[];
export  let tableRowsItems: IDropDownItemModel[];
export  let tableColumnsItems: IDropDownItemModel[];
export  let TableCellVerticalAlignItems: IDropDownItemModel[];
export  let TableStyleItems: IDropDownItemModel[];
export  const predefinedItems: string[];
export  const fontFamily: IDropDownItemModel[];
export  const fontSize: IDropDownItemModel[];
export  const formatItems: IDropDownItemModel[];
export  const fontColor: {
    [key: string]: string[];
};
export  const backgroundColor: {
    [key: string]: string[];
};
export  const numberFormatList: IListDropDownModel[];
export  const bulletFormatList: IListDropDownModel[];
export  function updateDropDownLocale(self: IRichTextEditor): void;
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/models/models.d.ts
/**
 * Export model files
 */
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/models/toolbar-settings-model.d.ts
/**
 * Interface for a class ToolbarSettings
 */
export interface ToolbarSettingsModel {
    /**
     * Specifies whether to render toolbar in RichTextEditor.
     *
     * @default true
     */
    enable?: boolean;
    /**
     * Specifies whether to enable/disable floating toolbar.
     *
     * @default true
     */
    enableFloating?: boolean;
    /**
     * Specifies the Toolbar display types.
     * The possible types are:
     * - Expand: Toolbar items placed within the available space and rest of the items are placed to the extended menu section.
     * - MultiRow: Toolbar which placed at top of Rich Text Editor editing area.
     * - Scrollable: All the toolbar items are displayed in a single line with horizontal scrolling enabled.
     *
     * @default Expand
     */
    type?: ToolbarType;
    /**
     * An array of string or object that is used to configure items.
     *
     * @default ['Bold', 'Italic', 'Underline', '|', 'Formats', 'Alignments', 'OrderedList',
     * 'UnorderedList', '|', 'CreateLink', 'Image', '|', 'SourceCode', 'Undo', 'Redo']
     */
    items?: (string | IToolbarItems)[];
    /**
     * Using this property, Modify the default toolbar item configuration like icon class.
     *
     * @default {}
     */
    itemConfigs?: { [key in ToolbarItems]?: IToolsItemConfigs };
}
/**
 * Interface for a class ImageSettings
 */
export interface ImageSettingsModel {
    /**
     * Specifies whether to allowType based file select.
     *
     * @default ['.jpeg', '.jpg', '.png']
     */
    allowedTypes?: string[];
    /**
     * Specifies whether insert image inline or break.
     *
     * @default 'inline'
     */
    display?: string;
    /**
     * Specifies whether the inserted image is saved as blob or base64.
     *
     * @default 'Blob'
     */
    saveFormat?: SaveFormat;
    /**
     * Specifies whether image width.
     *
     * @default 'auto'
     */
    width?: string;
    /**
     * Specifies whether image height.
     *
     * @default 'auto'
     */
    height?: string;
    /**
     * Specifies the URL of save action that will receive the upload files and save in the server.
     *
     * @default 'null'
     */
    saveUrl?: string;
    /**
     * Specifies the path of the location to store the images and refer it to display the images.
     *
     * @default 'null'
     */
    path?: string;
    /**
     * To enable resizing for image element.
     *
     * @default 'true'
     */
    resize?: boolean;
    /**
     * Specifies the URL of remove action that receives the file information and handle the remove operation in server.
     *
     * @default 'null'
     */
    removeUrl?: string;
    /**
     * Defines the minimum Width of the image.
     *
     * @default '0'
     */
    minWidth?: string | number;
    /**
     * Defines the maximum Width of the image.
     *
     * @default null
     */
    maxWidth?: string | number;
    /**
     * Defines the minimum Height of the image.
     *
     * @default '0'
     */
    minHeight?: string | number;
    /**
     * Defines the maximum Height of the image.
     *
     * @default null
     */
    maxHeight?: string | number;
    /**
     * image resizing should be done by percentage calculation.
     *
     * @default false
     */
    resizeByPercent?: boolean;
}
/**
 * Interface for a class AudioSettings
 */
export interface AudioSettingsModel {
    /**
     * Specifies whether to allowType based file select.
     *
     * @default ['.wav', '.mp3', '.m4a','.wma']
     */
    allowedTypes?: string[];
    /**
     * Specifies whether insert audio inline or break.
     *
     * @default 'Inline'
     */
    layoutOption?: DisplayLayoutOptions;
    /**
     * Specifies whether the inserted audio is saved as blob or base64.
     *
     * @default 'Blob'
     */
    saveFormat?: SaveFormat;
    /**
     * Specifies the URL of save action that will receive the upload files and save in the server.
     *
     * @default 'null'
     */
    saveUrl?: string;
    /**
     * Specifies the URL of remove action that receives the file information and handle the remove operation in server.
     *
     * @default 'null'
     */
    removeUrl?: string;
    /**
     * Specifies the path of the location to store the audio and refer it to display the audio.
     *
     * @default 'null'
     */
    path?: string;
}
/**
 * Interface for a class VideoSettings
 */
export interface VideoSettingsModel {
    /**
     * Specifies whether to allowType based file select.
     *
     * @default ['.mp4', '.mov', '.wmv','.avi']
     */
    allowedTypes?: string[];
    /**
     * Specifies whether insert video inline or break.
     *
     * @default 'Inline'
     */
    layoutOption?: DisplayLayoutOptions;
    /**
     * Specifies whether the inserted video is saved as blob or base64.
     *
     * @default 'Blob'
     */
    saveFormat?: SaveFormat;
    /**
     * Specifies whether video width.
     *
     * @default 'auto'
     */
    width?: string;
    /**
     * Specifies whether video height.
     *
     * @default 'auto'
     */
    height?: string;
    /**
     * Specifies the URL of save action that will receive the upload files and save in the server.
     *
     * @default 'null'
     */
    saveUrl?: string;
    /**
     * Specifies the path of the location to store the images and refer it to display the images.
     *
     * @default 'null'
     */
    path?: string;
    /**
     * To enable resizing for video element.
     *
     * @default 'true'
     */
    resize?: boolean;
    /**
     * Specifies the URL of remove action that receives the file information and handle the remove operation in server.
     *
     * @default 'null'
     */
    removeUrl?: string;
    /**
     * Defines the minimum Width of the video.
     *
     * @default '0'
     */
    minWidth?: string | number;
    /**
     * Defines the maximum Width of the video.
     *
     * @default null
     */
    maxWidth?: string | number;
    /**
     * Defines the minimum Height of the video.
     *
     * @default '0'
     */
    minHeight?: string | number;
    /**
     * Defines the maximum Height of the video.
     *
     * @default null
     */
    maxHeight?: string | number;
    /**
     * Video resizing should be done by percentage calculation.
     *
     * @default false
     */
    resizeByPercent?: boolean;
}
/**
 * Interface for a class FileManagerSettings
 */
export interface FileManagerSettingsModel {
    /**
     * Specifies the AJAX settings of the file manager.
     *
     * @default {
     * getImageUrl: null;
     * url: null;
     * uploadUrl: null;
     * downloadUrl: null;
     * }
     */
    ajaxSettings?: filemanager.AjaxSettingsModel;
    /**
     * Enables or disables drag-and-drop of files.
     *
     * @default false
     */
    allowDragAndDrop?: boolean;
    /**
     * Specifies the context menu settings of the file manager.
     *
     * @default {
     *  file: ['Open', '|', 'Cut', 'Copy', '|', 'Delete', 'Rename', '|', 'Details'],
     *  folder: ['Open', '|', 'Cut', 'Copy', 'Paste', '|', 'Delete', 'Rename', '|', 'Details'],
     *  layout: ['SortBy', 'View', 'Refresh', '|', 'Paste', '|', 'NewFolder', 'Upload', '|', 'Details', '|', 'SelectAll'],
     *  visible: true
     * }
     */
    contextMenuSettings?: filemanager.ContextMenuSettingsModel;
    /**
     * Specifies the root CSS class of the file manager that allows you to customize the appearance by overriding the styles.
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * Specifies the details view settings of the file manager.
     *
     * @default {
     *  columns: [{
     *    field: 'name', headerText: 'Name', minWidth: 120, template: '<span class="e-fe-text">${name}</span>',
     *    customAttributes: { class: 'e-fe-grid-name'}}, { field: '_fm_modified', headerText: 'DateModified', type: 'dateTime',
     *    format: 'MMMM dd, yyyy HH:mm', minWidth: 120, width: '190' }, { field: 'size', headerText: 'Size', minWidth: 90, width: '110',
     *    template: '<span class="e-fe-size">${size}</span>'
     *  }]
     * }
     */
    detailsViewSettings?: filemanager.DetailsViewSettingsModel;
    /**
     * Specifies whether to enable the file manager in RichTextEditor.
     *
     * @default false
     */
    enable?: boolean;
    /**
     * Specifies the navigation pane settings of the file manager.
     *
     * @default { maxWidth: '650px', minWidth: '240px', visible: true }
     */
    navigationPaneSettings?: filemanager.NavigationPaneSettingsModel;
    /**
     * Specifies the current path of the file manager.
     *
     * @default '/'
     */
    path?: string;
    /**
     * Specifies the root folder alias name in file manager
     *
     * @default null
     */
    rootAliasName?: string;
    /**
     * Specifies the search settings of the file manager.
     *
     * @default {
     *  allowSearchOnTyping: true,
     *  filterType: 'contains',
     *  ignoreCase: true
     * }
     */
    searchSettings?: filemanager.SearchSettingsModel;
    /**
     * Shows or hides the file extension in file manager.
     *
     * @default true
     */
    showFileExtension?: boolean;
    /**
     * Shows or hides the files and folders that are marked as hidden.
     *
     * @default false
     */
    showHiddenItems?: boolean;
    /**
     * Shows or hides the thumbnail images in large icons view.
     *
     * @default true
     */
    showThumbnail?: boolean;
    /**
     * Specifies a value that indicates whether the folders and files are sorted in the ascending or descending order,
     * or they are not sorted at all. The available types of sort orders are,
     * `None` - Indicates that the folders and files are not sorted.
     * `Ascending` - Indicates that the folders and files are sorted in the ascending order.
     * `Descending` - Indicates that the folders and files are sorted in the descending order.
     *
     * @default 'Ascending'
     */
    sortOrder?: filemanager.SortOrder;
    /**
     * Specifies the group of items aligned horizontally in the toolbar.
     *
     * @default { visible: true, items: ['NewFolder', 'Upload', 'Cut', 'Copy', 'Paste', 'Delete', 'Download', 'Rename', 'SortBy', 'Refresh', 'Selection', 'View', 'Details'] }
     */
    toolbarSettings?: filemanager.ToolbarSettingsModel;
    /**
     * Specifies the upload settings for the file manager.
     *
     * @default { autoUpload: true, minFileSize: 0, maxFileSize: 30000000, allowedExtensions: '', autoClose: false }
     */
    uploadSettings?: filemanager.UploadSettingsModel;
    /**
     * Specifies the initial view of the file manager.
     *
     * With the help of this property, initial view can be changed to details or largeicons view. The available views are:
     * * `LargeIcons`
     * * `Details`
     *
     * @default 'LargeIcons'
     */
    view?: filemanager.ViewType;
}
/**
 * Interface for a class TableSettings
 */
export interface TableSettingsModel {
    /**
     * To specify the width of table
     *
     * @default '100%'
     */
    width?: string | number;
    /**
     * Class name should be appended by default in table element.
     * It helps to design the table in specific CSS styles always when inserting in editor.
     *
     * @default TableStyleItems;
     */
    styles?: IDropDownItemModel[];
    /**
     * To enable resizing for table element.
     *
     * @default 'true'
     */
    resize?: boolean;
    /**
     * Defines the minimum Width of the table.
     *
     * @default '0'
     */
    minWidth?: string | number;
    /**
     * Defines the maximum Width of the table.
     *
     * @default null
     */
    maxWidth?: string | number;
}
/**
 * Interface for a class QuickToolbarSettings
 */
export interface QuickToolbarSettingsModel {
    /**
     * Specifies whether to enable quick toolbar in RichTextEditor.
     *
     * @default true
     */
    enable?: boolean;
    /**
     * Specifies whether to opens a quick toolbar on the right click.
     *
     * @default false
     */
    showOnRightClick?: boolean;
    /**
     * Specifies the action that should happen when scroll the target-parent container.
     *
     * @default 'hide'
     */
    actionOnScroll?: ActionOnScroll;
    /**
     * Specifies the items to render in quick toolbar, when link selected.
     *
     * @default ['Open', 'Edit', 'UnLink']
     */
    link?: (string | IToolbarItems)[];
    /**
     * Specifies the items to render in quick toolbar, when image selected.
     *
     * @default ['Replace', 'Align', 'Caption', 'Remove', '-', 'InsertLink','OpenImageLink', 'EditImageLink', 'RemoveImageLink', 'Display', 'AltText', 'Dimension']
     */
    image?: (string | IToolbarItems)[];
    /**
     * Specifies the items to render in quick toolbar, when audio selected.
     *
     * @default ['AudioReplace', 'Remove', 'AudioLayoutOption']
     */
    audio?: (string | IToolbarItems)[];
    /**
     * Specifies the items to render in quick toolbar, when video selected.
     *
     * @default ['VideoReplace', 'VideoAlign', 'VideoRemove', 'VideoLayoutOption', 'VideoDimension']
     */
    video?: (string | IToolbarItems)[];
    /**
     * Specifies the items to render in quick toolbar, when text selected.
     *
     * @default ['Cut', 'Copy', 'Paste']
     * @deprecated
     */
    text?: (string | IToolbarItems)[];
    /**
     * Specifies the items to render in quick toolbar, when table selected.
     *
     * @default ['TableHeader', 'TableRows', 'TableColumns', 'BackgroundColor', '-', 'TableRemove', 'Alignments', 'TableCellVerticalAlign', 'Styles']
     */
    table?: (string | IToolbarItems)[];
}
/**
 * Interface for a class PasteCleanupSettings
 */
export interface PasteCleanupSettingsModel {
    /**
     * Specifies whether to enable the prompt for paste in RichTextEditor.
     *
     * @default false
     */
    prompt?: boolean;
    /**
     * Specifies the attributes to restrict when pasting in RichTextEditor.
     *
     * @default null
     */
    deniedAttrs?: string[];
    /**
     * Specifies the allowed style properties when pasting in RichTextEditor.
     *
     * @default ['background', 'background-color', 'border', 'border-bottom', 'border-left', 'border-radius', 'border-right', 'border-style', 'border-top', 'border-width', 'clear', 'color', 'cursor', 'direction', 'display', 'float', 'font', 'font-family', 'font-size', 'font-weight', 'font-style', 'height', 'left', 'line-height', 'list-style-type', 'margin', 'margin-top', 'margin-left', 'margin-right', 'margin-bottom', 'max-height', 'max-width', 'min-height', 'min-width', 'overflow', 'overflow-x', 'overflow-y', 'padding', 'padding-bottom', 'padding-left', 'padding-right', 'padding-top', 'position', 'right', 'table-layout', 'text-align', 'text-decoration', 'text-indent', 'top', 'vertical-align', 'visibility', 'white-space', 'width']
     */
    allowedStyleProps?: string[];
    /**
     * Specifies the tags to restrict when pasting in RichTextEditor.
     *
     * @default null
     */
    deniedTags?: string[];
    /**
     * Specifies whether to keep or remove the format when pasting in RichTextEditor.
     *
     * @default true
     */
    keepFormat?: boolean;
    /**
     * Specifies whether to paste as plain text or not in RichTextEditor.
     *
     * @default false
     */
    plainText?: boolean;
}
/**
 * Interface for a class FontFamily
 */
export interface FontFamilyModel {
    /**
     * Specifies default font family selection
     *
     * @default 'null'
     */
    default?: string;
    /**
     * Specifies content width
     *
     * @default '65px'
     */
    width?: string;
    /**
     * Specifies default font family items
     *
     * @default fontFamily
     */
    items?: IDropDownItemModel[];
}
/**
 * Interface for a class FontSize
 */
export interface FontSizeModel {
    /**
     * Specifies default font size selection
     *
     * @default 'null'
     */
    default?: string;
    /**
     * Specifies content width
     *
     * @default '35px'
     */
    width?: string;
    /**
     * Specifies default font size items
     *
     * @default fontSize
     */
    items?: IDropDownItemModel[];
}
/**
 * Interface for a class Format
 */
export interface FormatModel {
    /**
     * Specifies default format
     *
     * @default 'null'
     */
    default?: string;
    /**
     * Specifies content width
     *
     * @default '65px'
     */
    width?: string;
    /**
     * Specifies default font size items
     *
     * @default formatItems
     */
    types?: IDropDownItemModel[];
}
/**
 * Interface for a class FontColor
 */
export interface FontColorModel {
    /**
     * Specifies default font color
     *
     * @default '#ff0000'
     */
    default?: string;
    /**
     * Specifies mode
     *
     * @default 'Palette'
     */
    mode?: ColorModeType;
    /**
     * Specifies columns
     *
     * @default 10
     */
    columns?: number;
    /**
     * Specifies color code customization
     *
     * @default fontColor
     */
    colorCode?: { [key: string]: string[] };
    /**
     * Specifies modeSwitcher button
     *
     * @default false
     */
    modeSwitcher?: boolean;
}
/**
 * Interface for a class BackgroundColor
 */
export interface BackgroundColorModel {
    /**
     * Specifies default font color
     *
     * @default '#ffff00'
     */
    default?: string;
    /**
     * Specifies mode
     *
     * @default 'Palette'
     */
    mode?: ColorModeType;
    /**
     * Specifies columns
     *
     * @default 10
     */
    columns?: number;
    /**
     * Specifies color code customization
     *
     * @default backgroundColor
     */
    colorCode?: { [key: string]: string[] };
    /**
     * Specifies a modeSwitcher button
     *
     * @default false
     */
    modeSwitcher?: boolean;
}
/**
 * Interface for a class NumberFormatList
 */
export interface NumberFormatListModel {
    /**
     * Specifies default numberFormatList items
     *
     * @default numberFormatList
     */
    types?: IListDropDownModel[];
}
/**
 * Interface for a class BulletFormatList
 */
export interface BulletFormatListModel {
    /**
     * Specifies default numberFormatList items
     *
     * @default bulletFormatList
     */
    types?: IListDropDownModel[];
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/models/toolbar-settings.d.ts
/**
 * Configures the toolbar settings of the RichTextEditor.
 */
export  class ToolbarSettings extends base.ChildProperty<ToolbarSettings> {
    /**
     * Specifies whether to render toolbar in RichTextEditor.
     *
     * @default true
     */
    enable: boolean;
    /**
     * Specifies whether to enable/disable floating toolbar.
     *
     * @default true
     */
    enableFloating: boolean;
    /**
     * Specifies the Toolbar display types.
     * The possible types are:
     * - Expand: Toolbar items placed within the available space and rest of the items are placed to the extended menu section.
     * - MultiRow: Toolbar which placed at top of Rich Text Editor editing area.
     * - Scrollable: All the toolbar items are displayed in a single line with horizontal scrolling enabled.
     *
     * @default Expand
     */
    type: ToolbarType;
    /**
     * An array of string or object that is used to configure items.
     *
     * @default ['Bold', 'Italic', 'Underline', '|', 'Formats', 'Alignments', 'OrderedList',
     * 'UnorderedList', '|', 'CreateLink', 'Image', '|', 'SourceCode', 'Undo', 'Redo']
     */
    items: (string | IToolbarItems)[];
    /**
     * Using this property, Modify the default toolbar item configuration like icon class.
     *
     * @default {}
     */
    itemConfigs: {
        [key in ToolbarItems]?: IToolsItemConfigs;
    };
}
/**
 * Configures the image settings of the RichTextEditor.
 */
export  class ImageSettings extends base.ChildProperty<ImageSettings> {
    /**
     * Specifies whether to allowType based file select.
     *
     * @default ['.jpeg', '.jpg', '.png']
     */
    allowedTypes: string[];
    /**
     * Specifies whether insert image inline or break.
     *
     * @default 'inline'
     */
    display: string;
    /**
     * Specifies whether the inserted image is saved as blob or base64.
     *
     * @default 'Blob'
     */
    saveFormat: SaveFormat;
    /**
     * Specifies whether image width.
     *
     * @default 'auto'
     */
    width: string;
    /**
     * Specifies whether image height.
     *
     * @default 'auto'
     */
    height: string;
    /**
     * Specifies the URL of save action that will receive the upload files and save in the server.
     *
     * @default 'null'
     */
    saveUrl: string;
    /**
     * Specifies the path of the location to store the images and refer it to display the images.
     *
     * @default 'null'
     */
    path: string;
    /**
     * To enable resizing for image element.
     *
     * @default 'true'
     */
    resize: boolean;
    /**
     * Specifies the URL of remove action that receives the file information and handle the remove operation in server.
     *
     * @default 'null'
     */
    removeUrl: string;
    /**
     * Defines the minimum Width of the image.
     *
     * @default '0'
     */
    minWidth: string | number;
    /**
     * Defines the maximum Width of the image.
     *
     * @default null
     */
    maxWidth: string | number;
    /**
     * Defines the minimum Height of the image.
     *
     * @default '0'
     */
    minHeight: string | number;
    /**
     * Defines the maximum Height of the image.
     *
     * @default null
     */
    maxHeight: string | number;
    /**
     * image resizing should be done by percentage calculation.
     *
     * @default false
     */
    resizeByPercent: boolean;
}
/**
 * Configures the audio settings of the RichTextEditor.
 */
export  class AudioSettings extends base.ChildProperty<AudioSettings> {
    /**
     * Specifies whether to allowType based file select.
     *
     * @default ['.wav', '.mp3', '.m4a','.wma']
     */
    allowedTypes: string[];
    /**
     * Specifies whether insert audio inline or break.
     *
     * @default 'Inline'
     */
    layoutOption: DisplayLayoutOptions;
    /**
     * Specifies whether the inserted audio is saved as blob or base64.
     *
     * @default 'Blob'
     */
    saveFormat: SaveFormat;
    /**
     * Specifies the URL of save action that will receive the upload files and save in the server.
     *
     * @default 'null'
     */
    saveUrl: string;
    /**
     * Specifies the URL of remove action that receives the file information and handle the remove operation in server.
     *
     * @default 'null'
     */
    removeUrl: string;
    /**
     * Specifies the path of the location to store the audio and refer it to display the audio.
     *
     * @default 'null'
     */
    path: string;
}
/**
 * Configures the video settings of the RichTextEditor.
 */
export  class VideoSettings extends base.ChildProperty<VideoSettings> {
    /**
     * Specifies whether to allowType based file select.
     *
     * @default ['.mp4', '.mov', '.wmv','.avi']
     */
    allowedTypes: string[];
    /**
     * Specifies whether insert video inline or break.
     *
     * @default 'Inline'
     */
    layoutOption: DisplayLayoutOptions;
    /**
     * Specifies whether the inserted video is saved as blob or base64.
     *
     * @default 'Blob'
     */
    saveFormat: SaveFormat;
    /**
     * Specifies whether video width.
     *
     * @default 'auto'
     */
    width: string;
    /**
     * Specifies whether video height.
     *
     * @default 'auto'
     */
    height: string;
    /**
     * Specifies the URL of save action that will receive the upload files and save in the server.
     *
     * @default 'null'
     */
    saveUrl: string;
    /**
     * Specifies the path of the location to store the images and refer it to display the images.
     *
     * @default 'null'
     */
    path: string;
    /**
     * To enable resizing for video element.
     *
     * @default 'true'
     */
    resize: boolean;
    /**
     * Specifies the URL of remove action that receives the file information and handle the remove operation in server.
     *
     * @default 'null'
     */
    removeUrl: string;
    /**
     * Defines the minimum Width of the video.
     *
     * @default '0'
     */
    minWidth: string | number;
    /**
     * Defines the maximum Width of the video.
     *
     * @default null
     */
    maxWidth: string | number;
    /**
     * Defines the minimum Height of the video.
     *
     * @default '0'
     */
    minHeight: string | number;
    /**
     * Defines the maximum Height of the video.
     *
     * @default null
     */
    maxHeight: string | number;
    /**
     * Video resizing should be done by percentage calculation.
     *
     * @default false
     */
    resizeByPercent: boolean;
}
/**
 * Configures the file manager settings of the RichTextEditor.
 */
export  class FileManagerSettings extends base.ChildProperty<FileManagerSettings> {
    /**
     * Specifies the AJAX settings of the file manager.
     *
     * @default {
     * getImageUrl: null;
     * url: null;
     * uploadUrl: null;
     * downloadUrl: null;
     * }
     */
    ajaxSettings: filemanager.AjaxSettingsModel;
    /**
     * Enables or disables drag-and-drop of files.
     *
     * @default false
     */
    allowDragAndDrop: boolean;
    /**
     * Specifies the context menu settings of the file manager.
     *
     * @default {
     *  file: ['Open', '|', 'Cut', 'Copy', '|', 'Delete', 'Rename', '|', 'Details'],
     *  folder: ['Open', '|', 'Cut', 'Copy', 'Paste', '|', 'Delete', 'Rename', '|', 'Details'],
     *  layout: ['SortBy', 'View', 'Refresh', '|', 'Paste', '|', 'NewFolder', 'Upload', '|', 'Details', '|', 'SelectAll'],
     *  visible: true
     * }
     */
    contextMenuSettings: filemanager.ContextMenuSettingsModel;
    /**
     * Specifies the root CSS class of the file manager that allows you to customize the appearance by overriding the styles.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * Specifies the details view settings of the file manager.
     *
     * @default {
     *  columns: [{
     *    field: 'name', headerText: 'Name', minWidth: 120, template: '<span class="e-fe-text">${name}</span>',
     *    customAttributes: { class: 'e-fe-grid-name'}}, { field: '_fm_modified', headerText: 'DateModified', type: 'dateTime',
     *    format: 'MMMM dd, yyyy HH:mm', minWidth: 120, width: '190' }, { field: 'size', headerText: 'Size', minWidth: 90, width: '110',
     *    template: '<span class="e-fe-size">${size}</span>'
     *  }]
     * }
     */
    detailsViewSettings: filemanager.DetailsViewSettingsModel;
    /**
     * Specifies whether to enable the file manager in RichTextEditor.
     *
     * @default false
     */
    enable: boolean;
    /**
     * Specifies the navigation pane settings of the file manager.
     *
     * @default { maxWidth: '650px', minWidth: '240px', visible: true }
     */
    navigationPaneSettings: filemanager.NavigationPaneSettingsModel;
    /**
     * Specifies the current path of the file manager.
     *
     * @default '/'
     */
    path: string;
    /**
     * Specifies the root folder alias name in file manager
     *
     * @default null
     */
    rootAliasName: string;
    /**
     * Specifies the search settings of the file manager.
     *
     * @default {
     *  allowSearchOnTyping: true,
     *  filterType: 'contains',
     *  ignoreCase: true
     * }
     */
    searchSettings: filemanager.SearchSettingsModel;
    /**
     * Shows or hides the file extension in file manager.
     *
     * @default true
     */
    showFileExtension: boolean;
    /**
     * Shows or hides the files and folders that are marked as hidden.
     *
     * @default false
     */
    showHiddenItems: boolean;
    /**
     * Shows or hides the thumbnail images in large icons view.
     *
     * @default true
     */
    showThumbnail: boolean;
    /**
     * Specifies a value that indicates whether the folders and files are sorted in the ascending or descending order,
     * or they are not sorted at all. The available types of sort orders are,
     * `None` - Indicates that the folders and files are not sorted.
     * `Ascending` - Indicates that the folders and files are sorted in the ascending order.
     * `Descending` - Indicates that the folders and files are sorted in the descending order.
     *
     * @default 'Ascending'
     */
    sortOrder: filemanager.SortOrder;
    /**
     * Specifies the group of items aligned horizontally in the toolbar.
     *
     * @default { visible: true, items: ['NewFolder', 'Upload', 'Cut', 'Copy', 'Paste', 'Delete', 'Download', 'Rename', 'SortBy', 'Refresh', 'Selection', 'View', 'Details'] }
     */
    toolbarSettings: filemanager.ToolbarSettingsModel;
    /**
     * Specifies the upload settings for the file manager.
     *
     * @default { autoUpload: true, minFileSize: 0, maxFileSize: 30000000, allowedExtensions: '', autoClose: false }
     */
    uploadSettings: filemanager.UploadSettingsModel;
    /**
     * Specifies the initial view of the file manager.
     *
     * With the help of this property, initial view can be changed to details or largeicons view. The available views are:
     * * `LargeIcons`
     * * `Details`
     *
     * @default 'LargeIcons'
     */
    view: filemanager.ViewType;
}
export  class TableSettings extends base.ChildProperty<TableSettings> {
    /**
     * To specify the width of table
     *
     * @default '100%'
     */
    width: string | number;
    /**
     * Class name should be appended by default in table element.
     * It helps to design the table in specific CSS styles always when inserting in editor.
     *
     * @default TableStyleItems;
     */
    styles: IDropDownItemModel[];
    /**
     * To enable resizing for table element.
     *
     * @default 'true'
     */
    resize: boolean;
    /**
     * Defines the minimum Width of the table.
     *
     * @default '0'
     */
    minWidth: string | number;
    /**
     * Defines the maximum Width of the table.
     *
     * @default null
     */
    maxWidth: string | number;
}
/**
 * Configures the quick toolbar settings of the RichTextEditor.
 */
export  class QuickToolbarSettings extends base.ChildProperty<QuickToolbarSettings> {
    /**
     * Specifies whether to enable quick toolbar in RichTextEditor.
     *
     * @default true
     */
    enable: boolean;
    /**
     * Specifies whether to opens a quick toolbar on the right click.
     *
     * @default false
     */
    showOnRightClick: boolean;
    /**
     * Specifies the action that should happen when scroll the target-parent container.
     *
     * @default 'hide'
     */
    actionOnScroll: ActionOnScroll;
    /**
     * Specifies the items to render in quick toolbar, when link selected.
     *
     * @default ['Open', 'Edit', 'UnLink']
     */
    link: (string | IToolbarItems)[];
    /**
     * Specifies the items to render in quick toolbar, when image selected.
     *
     * @default ['Replace', 'Align', 'Caption', 'Remove', '-', 'InsertLink','OpenImageLink', 'EditImageLink', 'RemoveImageLink', 'Display', 'AltText', 'Dimension']
     */
    image: (string | IToolbarItems)[];
    /**
     * Specifies the items to render in quick toolbar, when audio selected.
     *
     * @default ['AudioReplace', 'Remove', 'AudioLayoutOption']
     */
    audio: (string | IToolbarItems)[];
    /**
     * Specifies the items to render in quick toolbar, when video selected.
     *
     * @default ['VideoReplace', 'VideoAlign', 'VideoRemove', 'VideoLayoutOption', 'VideoDimension']
     */
    video: (string | IToolbarItems)[];
    /**
     * Specifies the items to render in quick toolbar, when text selected.
     *
     * @default ['Cut', 'Copy', 'Paste']
     * @deprecated
     */
    text: (string | IToolbarItems)[];
    /**
     * Specifies the items to render in quick toolbar, when table selected.
     *
     * @default ['TableHeader', 'TableRows', 'TableColumns', 'BackgroundColor', '-', 'TableRemove', 'Alignments', 'TableCellVerticalAlign', 'Styles']
     */
    table: (string | IToolbarItems)[];
}
/**
 * Configures the Paste Cleanup settings of the RichTextEditor.
 */
export  class PasteCleanupSettings extends base.ChildProperty<PasteCleanupSettings> {
    /**
     * Specifies whether to enable the prompt for paste in RichTextEditor.
     *
     * @default false
     */
    prompt: boolean;
    /**
     * Specifies the attributes to restrict when pasting in RichTextEditor.
     *
     * @default null
     */
    deniedAttrs: string[];
    /**
     * Specifies the allowed style properties when pasting in RichTextEditor.
     *
     * @default ['background', 'background-color', 'border', 'border-bottom', 'border-left', 'border-radius', 'border-right', 'border-style', 'border-top', 'border-width', 'clear', 'color', 'cursor', 'direction', 'display', 'float', 'font', 'font-family', 'font-size', 'font-weight', 'font-style', 'height', 'left', 'line-height', 'list-style-type', 'margin', 'margin-top', 'margin-left', 'margin-right', 'margin-bottom', 'max-height', 'max-width', 'min-height', 'min-width', 'overflow', 'overflow-x', 'overflow-y', 'padding', 'padding-bottom', 'padding-left', 'padding-right', 'padding-top', 'position', 'right', 'table-layout', 'text-align', 'text-decoration', 'text-indent', 'top', 'vertical-align', 'visibility', 'white-space', 'width']
     */
    allowedStyleProps: string[];
    /**
     * Specifies the tags to restrict when pasting in RichTextEditor.
     *
     * @default null
     */
    deniedTags: string[];
    /**
     * Specifies whether to keep or remove the format when pasting in RichTextEditor.
     *
     * @default true
     */
    keepFormat: boolean;
    /**
     * Specifies whether to paste as plain text or not in RichTextEditor.
     *
     * @default false
     */
    plainText: boolean;
}
/**
 * Configures the font family settings of the RichTextEditor.
 */
export  class FontFamily extends base.ChildProperty<FontFamily> {
    /**
     * Specifies default font family selection
     *
     * @default 'null'
     */
    default: string;
    /**
     * Specifies content width
     *
     * @default '65px'
     */
    width: string;
    /**
     * Specifies default font family items
     *
     * @default fontFamily
     */
    items: IDropDownItemModel[];
}
/**
 * Configures the font size settings of the RichTextEditor.
 */
export  class FontSize extends base.ChildProperty<FontSize> {
    /**
     * Specifies default font size selection
     *
     * @default 'null'
     */
    default: string;
    /**
     * Specifies content width
     *
     * @default '35px'
     */
    width: string;
    /**
     * Specifies default font size items
     *
     * @default fontSize
     */
    items: IDropDownItemModel[];
}
/**
 * Configures the format settings of the RichTextEditor.
 */
export  class Format extends base.ChildProperty<Format> {
    /**
     * Specifies default format
     *
     * @default 'null'
     */
    default: string;
    /**
     * Specifies content width
     *
     * @default '65px'
     */
    width: string;
    /**
     * Specifies default font size items
     *
     * @default formatItems
     */
    types: IDropDownItemModel[];
}
/**
 * Configures the font Color settings of the RichTextEditor.
 */
export  class FontColor extends base.ChildProperty<FontColor> {
    /**
     * Specifies default font color
     *
     * @default '#ff0000'
     */
    default: string;
    /**
     * Specifies mode
     *
     * @default 'Palette'
     */
    mode: ColorModeType;
    /**
     * Specifies columns
     *
     * @default 10
     */
    columns: number;
    /**
     * Specifies color code customization
     *
     * @default fontColor
     */
    colorCode: {
        [key: string]: string[];
    };
    /**
     * Specifies modeSwitcher button
     *
     * @default false
     */
    modeSwitcher: boolean;
}
/**
 * Configures the background Color settings of the RichTextEditor.
 */
export  class BackgroundColor extends base.ChildProperty<BackgroundColor> {
    /**
     * Specifies default font color
     *
     * @default '#ffff00'
     */
    default: string;
    /**
     * Specifies mode
     *
     * @default 'Palette'
     */
    mode: ColorModeType;
    /**
     * Specifies columns
     *
     * @default 10
     */
    columns: number;
    /**
     * Specifies color code customization
     *
     * @default backgroundColor
     */
    colorCode: {
        [key: string]: string[];
    };
    /**
     * Specifies a modeSwitcher button
     *
     * @default false
     */
    modeSwitcher: boolean;
}
/**
 * Configures the numberFormatList settings of the RichTextEditor.
 */
export  class NumberFormatList extends base.ChildProperty<NumberFormatList> {
    /**
     * Specifies default numberFormatList items
     *
     * @default numberFormatList
     */
    types: IListDropDownModel[];
}
/**
 * Configures the bulletFormatList settings of the RichTextEditor.
 */
export  class BulletFormatList extends base.ChildProperty<BulletFormatList> {
    /**
     * Specifies default numberFormatList items
     *
     * @default bulletFormatList
     */
    types: IListDropDownModel[];
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/quick-toolbar.d.ts
/**
 * QuickToolbar
 */
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/renderer.d.ts
/**
 * Renderer
 */
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/renderer/audio-module.d.ts
/**
 * `Audio` module is used to handle audio actions.
 */
export  class Audio {
    element: HTMLElement;
    private rteID;
    private parent;
    dialogObj: popups.Dialog;
    uploadObj: inputs.Uploader;
    private i10n;
    private inputUrl;
    private uploadUrl;
    private contentModule;
    private rendererFactory;
    private quickToolObj;
    private audEle;
    private isAudioUploaded;
    private isAllowedTypes;
    private dialogRenderObj;
    private deletedAudio;
    private removingAudioName;
    private prevSelectedAudEle;
    private constructor();
    protected addEventListener(): void;
    protected removeEventListener(): void;
    private afterRender;
    private checkAudioBack;
    private checkAudioDel;
    private undoStack;
    private touchStart;
    private onToolbarAction;
    private onKeyUp;
    private onKeyDown;
    private openDialog;
    private showDialog;
    private closeDialog;
    private deleteAudio;
    private audioRemovePost;
    private triggerPost;
    private audioClick;
    private onDocumentClick;
    private alignmentSelect;
    private break;
    private inline;
    private editAreaClickHandler;
    private isAudioElem;
    private showAudioQuickToolbar;
    private hideAudioQuickToolbar;
    private insertingAudio;
    insertAudio(e: IImageNotifyArgs): void;
    private audioUrlPopup;
    private audioUpload;
    private checkExtension;
    private fileSelect;
    private cancelDialog;
    private insertAudioUrl;
    /**
     * Destroys the ToolBar.
     *
     * @method destroy
     * @returns {void}
     * @hidden
     * @deprecated
     */
    destroy(): void;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {void}
     * @hidden
     */
    private getModuleName;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/renderer/content-renderer.d.ts
/**
 * Content module is used to render Rich Text Editor content
 *
 * @hidden
 * @deprecated
 */
export  class ContentRender implements IRenderer {
    protected contentPanel: Element;
    protected parent: IRichTextEditor;
    protected editableElement: Element;
    private serviceLocator;
    /**
     * Constructor for content renderer module
     *
     * @param {IRichTextEditor} parent - specifies the parent element.
     * @param {ServiceLocator} serviceLocator - specifies the service.
     * @returns {void}
     */
    constructor(parent?: IRichTextEditor, serviceLocator?: ServiceLocator);
    /**
     * The function is used to render Rich Text Editor content div
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    renderPanel(): void;
    /**
     * Get the content div element of RichTextEditor
     *
     * @returns {Element} - specifies the element.
     * @hidden
     * @deprecated
     */
    getPanel(): Element;
    /**
     * Get the editable element of RichTextEditor
     *
     * @returns {Element} - specifies the return element.
     * @hidden
     * @deprecated
     */
    getEditPanel(): Element;
    /**
     * Returns the text content as string.
     *
     * @returns {string} - specifies the string element.
     */
    getText(): string;
    /**
     * Set the content div element of RichTextEditor
     *
     * @param {Element} panel - specifies the panel element.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    setPanel(panel: Element): void;
    /**
     * Get the document of RichTextEditor
     *
     * @returns {Document} - specifies the document.
     * @hidden
     * @deprecated
     */
    getDocument(): Document;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/renderer/dialog-renderer.d.ts
/**
 * popups.Dialog Renderer
 */
export  class DialogRenderer {
    dialogObj: popups.Dialog;
    private parent;
    constructor(parent?: IRichTextEditor);
    protected addEventListener(): void;
    protected removeEventListener(): void;
    /**
     * dialog render method
     *
     * @param {popups.DialogModel} e - specifies the dialog model.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    render(e: popups.DialogModel): popups.Dialog;
    private beforeOpen;
    private beforeOpenCallback;
    private open;
    private beforeClose;
    /**
     * dialog close method
     *
     * @param {Object} args - specifies the arguments.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    close(args: Object): void;
    private moduleDestroy;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/renderer/iframe-content-renderer.d.ts
/**
 * Content module is used to render Rich Text Editor content
 *
 * @hidden
 * @deprecated
 */
export  class IframeContentRender extends ContentRender {
    /**
     * The function is used to render Rich Text Editor iframe
     *
     * @hidden
     * @deprecated
     */
    renderPanel(): void;
    private setThemeColor;
    /**
     * Get the editable element of RichTextEditor
     *
     * @returns {Element} - specifies the element.
     * @hidden
     * @deprecated
     */
    getEditPanel(): Element;
    /**
     * Get the document of RichTextEditor
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getDocument(): Document;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/renderer/image-module.d.ts
/**
 * `Image` module is used to handle image actions.
 */
export  class Image {
    element: HTMLElement;
    private rteID;
    private parent;
    dialogObj: popups.Dialog;
    private popupObj;
    uploadObj: inputs.Uploader;
    private i10n;
    private inputUrl;
    private captionEle;
    private checkBoxObj;
    private widthNum;
    private heightNum;
    private browseButton;
    private uploadUrl;
    private contentModule;
    private rendererFactory;
    private quickToolObj;
    private imgResizeDiv;
    private imgDupPos;
    private resizeBtnStat;
    private imgEle;
    private prevSelectedImgEle;
    private isImgUploaded;
    private isAllowedTypes;
    private pageX;
    private pageY;
    private mouseX;
    private dialogRenderObj;
    private deletedImg;
    private changedWidthValue;
    private changedHeightValue;
    private inputWidthValue;
    private inputHeightValue;
    private removingImgName;
    private constructor();
    protected addEventListener(): void;
    protected removeEventListener(): void;
    private updateCss;
    private setCssClass;
    private onIframeMouseDown;
    private afterRender;
    private undoStack;
    private resizeEnd;
    private resizeStart;
    private imageClick;
    private onCutHandler;
    private imageResize;
    private getPointX;
    private getPointY;
    private imgResizePos;
    private calcPos;
    private setAspectRatio;
    private pixToPerc;
    private imgDupMouseMove;
    private resizing;
    private cancelResizeAction;
    private resizeImgDupPos;
    private resizeBtnInit;
    private onToolbarAction;
    private openImgLink;
    private editImgLink;
    private removeImgLink;
    private onKeyDown;
    private openDialog;
    private showDialog;
    private closeDialog;
    private onKeyUp;
    private checkImageBack;
    private checkImageDel;
    private alignmentSelect;
    private imageWithLinkQTBarItemUpdate;
    private showImageQuickToolbar;
    private hideImageQuickToolbar;
    private editAreaClickHandler;
    private insertImgLink;
    private insertAltText;
    private insertAlt;
    private insertlink;
    private isUrl;
    private deleteImg;
    private imageRemovePost;
    private triggerPost;
    private caption;
    private imageSize;
    private break;
    private inline;
    private alignImage;
    private clearDialogObj;
    private imagDialog;
    private cancelDialog;
    private onDocumentClick;
    private removeResizeEle;
    private onWindowResize;
    private imageUrlPopup;
    private insertImageUrl;
    private imgsizeInput;
    private inputValue;
    private insertSize;
    private insertImage;
    private imgUpload;
    private checkExtension;
    private fileSelect;
    private dragStart;
    private dragEnter;
    private dragOver;
    /**
     * Used to set range When drop an image
     *
     * @param {ImageDropEventArgs} args - specifies the image arguments.
     * @returns {void}
     */
    private dragDrop;
    /**
     * Used to calculate range on internet explorer
     *
     * @param {number} x - specifies the x range.
     * @param {number} y - specifies the y range.
     * @returns {void}
     */
    private getDropRange;
    private insertDragImage;
    private onSelect;
    /**
     * Rendering uploader and popup for drag and drop
     *
     * @param {DragEvent} dragEvent - specifies the event.
     * @param {HTMLImageElement} imageElement - specifies the element.
     * @returns {void}
     */
    private uploadMethod;
    private refreshPopup;
    /**
     * Called when drop image upload was failed
     *
     * @param {HTMLElement} imgEle - specifies the image element.
     * @param {IShowPopupArgs} args - specifies the arguments.
     * @param {Object} e - specfies the object.
     * @returns {void}
     */
    private uploadFailure;
    /**
     * Called when drop image upload was successful
     *
     * @param {HTMLElement} imageElement - specifies the image element.
     * @param {DragEvent} dragEvent - specifies the drag event.
     * @param {IShowPopupArgs} args - specifies the arguments.
     * @param {ImageSuccessEventArgs} e - specifies the success event.
     * @returns {void}
     */
    private uploadSuccess;
    private imagePaste;
    private showPopupToolBar;
    /**
     * Destroys the ToolBar.
     *
     * @method destroy
     * @returns {void}
     * @hidden
     * @deprecated
     */
    destroy(): void;
    private moduleDestroy;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {void}
     */
    private getModuleName;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/renderer/link-module.d.ts
/**
 * `Link` module is used to handle undo actions.
 */
export  class Link {
    private rteID;
    private i10n;
    private parent;
    contentModule: IRenderer;
    private dialogObj;
    private checkBoxObj;
    serviceLocator: ServiceLocator;
    private rendererFactory;
    private quickToolObj;
    private dialogRenderObj;
    private constructor();
    protected addEventListener(): void;
    private onToolbarAction;
    protected removeEventListener(): void;
    private onIframeMouseDown;
    private updateCss;
    private setCssClass;
    private showLinkQuickToolbar;
    private hideLinkQuickToolbar;
    private editAreaClickHandler;
    private onKeyDown;
    private openDialog;
    private showDialog;
    private closeDialog;
    private clearDialogObj;
    private linkDialog;
    private insertlink;
    private isUrl;
    private checkUrl;
    private removeLink;
    private openLink;
    private getAnchorNode;
    private editLink;
    private cancelDialog;
    private onDocumentClick;
    /**
     * Destroys the ToolBar.
     *
     * @function destroy
     * @returns {void}
     * @hidden
     * @deprecated
     */
    destroy(): void;
    private moduleDestroy;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {void}
     */
    private getModuleName;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/renderer/markdown-renderer.d.ts
/**
 * Markdown module is used to render Rich Text Editor as Markdown editor content
 *
 * @hidden
 * @deprecated
 */
export  class MarkdownRender implements IRenderer {
    private contentPanel;
    protected parent: IRichTextEditor;
    protected editableElement: Element;
    /**
     * Constructor for content renderer module
     *
     * @param {IRichTextEditor} parent - specifies the parent.
     */
    constructor(parent?: IRichTextEditor);
    /**
     * The function is used to render Rich Text Editor content div
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    renderPanel(): void;
    /**
     * Get the content div element of RichTextEditor
     *
     * @returns {Element} - specifies the element
     * @hidden
     * @deprecated
     */
    getPanel(): Element;
    /**
     * Get the editable element of RichTextEditor
     *
     * @returns {Element} - specifies the element
     * @hidden
     * @deprecated
     */
    getEditPanel(): Element;
    /**
     * Returns the text content as string.
     *
     * @returns {string} - specifies the string values.
     */
    getText(): string;
    /**
     * Set the content div element of RichTextEditor
     *
     * @param  {Element} panel - specifies the element.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    setPanel(panel: Element): void;
    /**
     * Get the document of RichTextEditor
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getDocument(): Document;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/renderer/popup-renderer.d.ts
/**
 * `Popup renderer` module is used to render popup in RichTextEditor.
 *
 * @hidden
 * @deprecated
 */
export  class PopupRenderer implements IRenderer {
    private popupObj;
    private popupPanel;
    protected parent: IRichTextEditor;
    /**
     * Constructor for popup renderer module
     *
     * @param {IRichTextEditor} parent - specifies the parent.
     */
    constructor(parent?: IRichTextEditor);
    private quickToolbarOpen;
    /**
     * renderPopup method
     *
     * @param {BaseQuickToolbar} args - specifies  the arguments.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    renderPopup(args: BaseQuickToolbar): void;
    /**
     * The function is used to add popup class in Quick Toolbar
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    renderPanel(): void;
    /**
     * Get the popup element of RichTextEditor
     *
     * @returns {Element} - specifies the element
     * @hidden
     * @deprecated
     */
    getPanel(): Element;
    /**
     * Set the popup element of RichTextEditor
     *
     * @returns {void}
     * @param  {Element} panel - specifies the element
     * @hidden
     * @deprecated
     */
    setPanel(panel: Element): void;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/renderer/render.d.ts
/**
 * Content module is used to render Rich Text Editor content
 *
 * @hidden
 * @deprecated
 */
export  class Render {
    private parent;
    private locator;
    private contentRenderer;
    private renderer;
    /**
     * Constructor for render module
     *
     * @param {IRichTextEditor} parent - specifies the parent
     * @param {ServiceLocator} locator - specifies the locator.
     * @returns {void}
     */
    constructor(parent?: IRichTextEditor, locator?: ServiceLocator);
    /**
     * To initialize Rich Text Editor header, content and footer rendering
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    render(): void;
    /**
     * Refresh the entire RichTextEditor.
     *
     * @param {NotifyArgs} e - specifies the arguments.
     * @returns {void}
     */
    refresh(e?: NotifyArgs): void;
    /**
     * Destroy the entire RichTextEditor.
     *
     * @returns {void}
     */
    destroy(): void;
    private moduleDestroy;
    private addEventListener;
    private removeEventListener;
    private keyUp;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/renderer/table-module.d.ts
/**
 * `Table` module is used to handle table actions.
 */
export  class Table {
    ensureInsideTableList: boolean;
    element: HTMLElement;
    private rteID;
    private parent;
    private dlgDiv;
    private tblHeader;
    popupObj: popups.Popup;
    editdlgObj: popups.Dialog;
    private createTableButton;
    private contentModule;
    private rendererFactory;
    private quickToolObj;
    private resizeBtnStat;
    private pageX;
    private pageY;
    private curTable;
    private activeCell;
    private colIndex;
    private columnEle;
    private rowTextBox;
    private columnTextBox;
    private tableWidthNum;
    private tableCellPadding;
    private tableCellSpacing;
    private rowEle;
    private l10n;
    private moveEle;
    private helper;
    private dialogRenderObj;
    private currentColumnResize;
    private currentMarginLeft;
    private previousTableElement;
    private constructor();
    protected addEventListener(): void;
    protected removeEventListener(): void;
    private updateCss;
    private setCssClass;
    private selectionTable;
    private afterRender;
    private dropdownSelect;
    private UpdateCells;
    private keyDown;
    private tableModulekeyUp;
    private openDialog;
    private showDialog;
    private closeDialog;
    private onToolbarAction;
    private verticalAlign;
    private tableStyles;
    private insideList;
    private tabSelection;
    private tableArrowNavigation;
    private setBGColor;
    private hideTableQuickToolbar;
    private tableHeader;
    private editAreaClickHandler;
    private tableCellSelect;
    private tableMouseUp;
    private tableCellLeave;
    private tableCellClick;
    private tableInsert;
    private cellSelect;
    private tableMove;
    private resizeHelper;
    private tableResizeEleCreation;
    removeResizeElement(): void;
    private calcPos;
    private getPointX;
    private getPointY;
    private resizeStart;
    private removeHelper;
    private appendHelper;
    private setHelperHeight;
    private updateHelper;
    private calMaxCol;
    private resizing;
    private findFirstLastColCells;
    private convertPixelToPercentage;
    private cancelResizeAction;
    private resizeEnd;
    private resizeBtnInit;
    private addRow;
    private addColumn;
    private removeRowColumn;
    private removeTable;
    private renderDlgContent;
    private docClick;
    private drawTable;
    private editTable;
    private insertTableDialog;
    private tableCellDlgContent;
    private clearDialogObj;
    private createDialog;
    private customTable;
    private cancelDialog;
    private applyProperties;
    private tableDlgContent;
    /**
     * Destroys the ToolBar.
     *
     * @function destroy
     * @returns {void}
     * @hidden
     * @deprecated
     */
    destroy(): void;
    private moduleDestroy;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {void}
     */
    private getModuleName;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/renderer/toolbar-renderer.d.ts
/**
 * `Toolbar renderer` module is used to render toolbar in RichTextEditor.
 *
 * @hidden
 * @deprecated
 */
export  class ToolbarRenderer implements IRenderer {
    private mode;
    private toolbarPanel;
    /**
     *
     * @hidden
     * @private
     */
    parent: IRichTextEditor;
    private popupContainer;
    private currentElement;
    private currentDropdown;
    private popupOverlay;
    /**
     * Constructor for toolbar renderer module
     *
     * @param {IRichTextEditor} parent - specifies the parent element.
     */
    constructor(parent?: IRichTextEditor);
    private wireEvent;
    private unWireEvent;
    private toolbarBeforeCreate;
    private toolbarCreated;
    private toolbarClicked;
    private dropDownSelected;
    private beforeDropDownItemRender;
    private dropDownOpen;
    private dropDownClose;
    private removePopupContainer;
    /**
     * renderToolbar method
     *
     * @param {IToolbarOptions} args - specifies the arguments.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    renderToolbar(args: IToolbarOptions): void;
    /**
     * renderDropDownButton method
     *
     * @param {IDropDownModel} args - specifies the the arguments.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    renderDropDownButton(args: IDropDownModel): splitbuttons.DropDownButton;
    /**
     * renderListDropDown method
     *
     * @param {IDropDownModel} args - specifies the the arguments.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    renderListDropDown(args: IDropDownModel): splitbuttons.DropDownButton;
    private onPopupOverlay;
    private setIsModel;
    private paletteSelection;
    /**
     * renderColorPickerDropDown method
     *
     * @param {IColorPickerModel} args - specifies the arguments.
     * @param {string} item - specifies the item.
     * @param {inputs.ColorPicker} colorPicker - specifies the colorpicker.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    renderColorPickerDropDown(args: IColorPickerModel, item: string, colorPicker: inputs.ColorPicker, defaultColor: string): splitbuttons.DropDownButton;
    private pickerRefresh;
    private popupModal;
    private setColorPickerContentWidth;
    /**
     * renderColorPicker method
     *
     * @param {IColorPickerModel} args - specifies the arguments
     * @param {string} item - specifies the string values
     * @returns {void}
     * @hidden
     * @deprecated
     */
    renderColorPicker(args: IColorPickerModel, item: string): inputs.ColorPicker;
    /**
     * The function is used to render Rich Text Editor toolbar
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    renderPanel(): void;
    /**
     * Get the toolbar element of RichTextEditor
     *
     * @returns {Element} - specifies the element.
     * @hidden
     * @deprecated
     */
    getPanel(): Element;
    /**
     * Set the toolbar element of RichTextEditor
     *
     * @returns {void}
     * @param  {Element} panel - specifies the element.
     * @hidden
     * @deprecated
     */
    setPanel(panel: Element): void;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/renderer/video-module.d.ts
export  class Video {
    element: HTMLElement;
    private rteID;
    private parent;
    dialogObj: popups.Dialog;
    uploadObj: inputs.Uploader;
    private i10n;
    private inputUrl;
    private embedInputUrl;
    private uploadUrl;
    private contentModule;
    private rendererFactory;
    private quickToolObj;
    private vidResizeDiv;
    private vidDupPos;
    private resizeBtnStat;
    private videoEle;
    private prevSelectedVidEle;
    private isVideoUploaded;
    private isAllowedTypes;
    private pageX;
    private pageY;
    private dialogRenderObj;
    private deletedVid;
    private changedWidthValue;
    private changedHeightValue;
    private inputWidthValue;
    private inputHeightValue;
    private removingVideoName;
    private constructor();
    protected addEventListener(): void;
    protected removeEventListener(): void;
    private afterRender;
    private clearDialogObj;
    private onKeyUp;
    private undoStack;
    private onIframeMouseDown;
    private videoSize;
    private vidsizeInput;
    private insertSize;
    private resizeEnd;
    private resizeStart;
    private videoClick;
    private onCutHandler;
    private videoResize;
    private getPointX;
    private getPointY;
    private vidResizePos;
    private calcPos;
    private setAspectRatio;
    private pixToPerc;
    private vidDupMouseMove;
    private resizing;
    private cancelResizeAction;
    private resizeVidDupPos;
    private resizeBtnInit;
    private onToolbarAction;
    private onKeyDown;
    private openDialog;
    private showDialog;
    private closeDialog;
    private checkVideoBack;
    private checkVideoDel;
    private alignmentSelect;
    private deleteVideo;
    private videoRemovePost;
    private triggerPost;
    private onDocumentClick;
    private removeResizeEle;
    private onWindowResize;
    private break;
    private inline;
    private alignVideo;
    private editAreaClickHandler;
    private showVideoQuickToolbar;
    private hideVideoQuickToolbar;
    private isEmbedVidElem;
    private insertingVideo;
    insertVideo(e: IImageNotifyArgs): void;
    private urlPopup;
    private videoUpload;
    private checkExtension;
    private fileSelect;
    private cancelDialog;
    private insertVideoUrl;
    /**
     * Destroys the ToolBar.
     *
     * @method destroy
     * @returns {void}
     * @hidden
     * @deprecated
     */
    destroy(): void;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {void}
     * @hidden
     */
    private getModuleName;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/renderer/view-source.d.ts
/**
 * Content module is used to render Rich Text Editor content
 *
 * @hidden
 * @deprecated
 */
export  class ViewSource {
    private parent;
    private contentModule;
    private rendererFactory;
    private keyboardModule;
    private previewElement;
    /**
     * Constructor for view source module
     *
     * @param {IRichTextEditor} parent - specifies the parent element.
     * @param {ServiceLocator} locator - specifies the locator.
     * @returns {void}
     */
    constructor(parent?: IRichTextEditor, locator?: ServiceLocator);
    private addEventListener;
    private onInitialEnd;
    private removeEventListener;
    private getSourceCode;
    private wireEvent;
    private unWireEvent;
    private wireBaseKeyDown;
    private unWireBaseKeyDown;
    private mouseDownHandler;
    private previewKeyDown;
    private onKeyDown;
    /**
     * sourceCode method
     *
     * @param {navigations.ClickEventArgs} args - specifies the click event.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    sourceCode(args?: navigations.ClickEventArgs | IHtmlKeyboardEvent): void;
    /**
     * updateSourceCode method
     *
     * @param {navigations.ClickEventArgs} args - specifies the click event.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    updateSourceCode(args?: navigations.ClickEventArgs | base.KeyboardEventArgs): void;
    private getTextAreaValue;
    /**
     * getPanel method
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getPanel(): HTMLTextAreaElement | Element;
    /**
     * getViewPanel method
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getViewPanel(): HTMLTextAreaElement | Element;
    /**
     * Destroy the entire RichTextEditor.
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    destroy(): void;
    private moduleDestroy;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/services.d.ts
/**
 * Services
 */
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/services/renderer-factory.d.ts
/**
 * RendererFactory
 *
 * @hidden
 * @deprecated
 */
export  class RendererFactory {
    rendererMap: {
        [c: string]: IRenderer;
    };
    /**
     * addRenderer method
     *
     * @param {RenderType} name - specifies the render type
     * @param {IRenderer} type - specifies the renderer.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    addRenderer(name: RenderType, type: IRenderer): void;
    /**
     * getRenderer method
     *
     * @param {RenderType} name - specifies the render type
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getRenderer(name: RenderType): IRenderer;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/services/service-locator.d.ts
/**
 * ServiceLocator
 *
 * @hidden
 * @deprecated
 */
export  class ServiceLocator {
    private services;
    /**
     * register method
     *
     * @param {string} name - specifies the name.
     * @param {T} type - specifies the type.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    register<T>(name: string, type: T): void;
    /**
     * getService method
     *
     * @param {string} name - specifies the name.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getService<T>(name: string): T;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/toolbar.d.ts
/**
 * Toolbar
 */
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/video.d.ts
/**
 * Video
 */
//node_modules/@syncfusion/ej2-richtexteditor/src/selection/index.d.ts
/**
 * `Selection` module is used to handle RTE Selections.
 */
//node_modules/@syncfusion/ej2-richtexteditor/src/selection/selection.d.ts
/**
 * `Selection` module is used to handle RTE Selections.
 */
export  class NodeSelection {
    range: Range;
    rootNode: Node;
    body: HTMLBodyElement;
    html: string;
    startContainer: number[];
    endContainer: number[];
    startOffset: number;
    endOffset: number;
    startNodeName: string[];
    endNodeName: string[];
    private saveInstance;
    private documentFromRange;
    getRange(docElement: Document): Range;
    /**
     * get method
     *
     * @param {Document} docElement - specifies the get function
     * @returns {void}
     * @hidden
     * @deprecated
     */
    get(docElement: Document): Selection;
    /**
     * save method
     *
     * @param {Range} range - range value.
     * @param {Document} docElement - specifies the document.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    save(range: Range, docElement: Document): NodeSelection;
    /**
     * getIndex method
     *
     * @param {Node} node - specifies the node value.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getIndex(node: Node): number;
    private isChildNode;
    private getNode;
    /**
     * getNodeCollection method
     *
     * @param {Range} range -specifies the range.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getNodeCollection(range: Range): Node[];
    /**
     * getParentNodeCollection method
     *
     * @param {Range} range - specifies the range value.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getParentNodeCollection(range: Range): Node[];
    /**
     * getParentNodes method
     *
     * @param {Node[]} nodeCollection - specifies the collection of nodes.
     * @param {Range} range - specifies the range values.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getParentNodes(nodeCollection: Node[], range: Range): Node[];
    /**
     * getSelectionNodeCollection method
     *
     * @param {Range} range - specifies the range value.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getSelectionNodeCollection(range: Range): Node[];
    /**
     * getSelectionNodeCollection along with BR node method
     *
     * @param {Range} range - specifies the range value.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getSelectionNodeCollectionBr(range: Range): Node[];
    /**
     * getParentNodes method
     *
     * @param {Node[]} nodeCollection - specifies the collection of nodes.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getSelectionNodes(nodeCollection: Node[]): Node[];
    /**
     * Get selection text nodes with br method.
     *
     * @param {Node[]} nodeCollection - specifies the collection of nodes.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getSelectionNodesBr(nodeCollection: Node[]): Node[];
    /**
     * getInsertNodeCollection method
     *
     * @param {Range} range - specifies the range value.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getInsertNodeCollection(range: Range): Node[];
    /**
     * getInsertNodes method
     *
     * @param {Node[]} nodeCollection - specifies the collection of nodes.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getInsertNodes(nodeCollection: Node[]): Node[];
    /**
     * getNodeArray method
     *
     * @param {Node} node - specifies the node content.
     * @param {boolean} isStart - specifies the boolean value.
     * @param {Document} root - specifies the root document.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getNodeArray(node: Node, isStart: boolean, root?: Document): number[];
    private setRangePoint;
    /**
     * restore method
     *
     * @returns {void}
     * @hidden
     * @deprecated
     */
    restore(): Range;
    selectRange(docElement: Document, range: Range): void;
    /**
     * setRange method
     *
     * @param {Document} docElement - specifies the document.
     * @param {Range} range - specifies the range.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    setRange(docElement: Document, range: Range): void;
    /**
     * setSelectionText method
     *
     * @param {Document} docElement - specifies the documrent
     * @param {Node} startNode - specifies the starting node.
     * @param {Node} endNode - specifies the the end node.
     * @param {number} startIndex - specifies the starting index.
     * @param {number} endIndex - specifies the end index.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    setSelectionText(docElement: Document, startNode: Node, endNode: Node, startIndex: number, endIndex: number): void;
    /**
     * setSelectionContents method
     *
     * @param {Document} docElement - specifies the document.
     * @param {Node} element - specifies the node.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    setSelectionContents(docElement: Document, element: Node): void;
    /**
     * setSelectionNode method
     *
     * @param {Document} docElement - specifies the document.
     * @param {Node} element - specifies the node.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    setSelectionNode(docElement: Document, element: Node): void;
    /**
     * getSelectedNodes method
     *
     * @param {Document} docElement - specifies the document.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    getSelectedNodes(docElement: Document): Node[];
    /**
     * Clear method
     *
     * @param {Document} docElement - specifies the document.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    Clear(docElement: Document): void;
    /**
     * insertParentNode method
     *
     * @param {Document} docElement - specifies the document.
     * @param {Node} newNode - specicfies the new node.
     * @param {Range} range - specifies the range.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    insertParentNode(docElement: Document, newNode: Node, range: Range): void;
    /**
     * setCursorPoint method
     *
     * @param {Document} docElement - specifies the document.
     * @param {Element} element - specifies the element.
     * @param {number} point - specifies the point.
     * @returns {void}
     * @hidden
     * @deprecated
     */
    setCursorPoint(docElement: Document, element: Element, point: number): void;
}
 }
export namespace schedule { 

//node_modules/@syncfusion/ej2-schedule/src/common/calendar-util.d.ts
/**
 * Calendar functionalities
 */
export  type CalendarType = 'Islamic' | 'Gregorian';
/** @private */
export interface CalendarUtil {
    firstDateOfMonth(date: Date): Date;
    lastDateOfMonth(date: Date): Date;
    isMonthStart(date: Date): boolean;
    getLeapYearDaysCount(): number;
    getYearDaysCount(date: Date, interval: number): number;
    getMonthDaysCount(date: Date): number;
    getDate(date: Date): number;
    getMonth(date: Date): number;
    getFullYear(date: Date): number;
    getYearLastDate(date: Date, interval: number): Date;
    getMonthStartDate(date: Date): Date;
    getMonthEndDate(date: Date): Date;
    getExpectedDays(date: Date, days: number[]): number[];
    setDate(dateObj: Date, date: number): void;
    setValidDate(date1: Date, interval: number, startDate: number, month?: number, date2?: Date): void;
    setMonth(date: Date, interval: number, startDate: number): void;
    addYears(date: Date, interval: number, month: number): void;
    isSameMonth(date1: Date, date2: Date): boolean;
    checkMonth(date: Date, months: number[]): boolean;
    compareMonth(date1: Date, date2: Date): boolean;
    isSameYear(date1: Date, date2: Date): boolean;
    isLastMonth(date: Date): boolean;
    isLeapYear(year: number, interval: number): boolean;
}
/** @private */
export  class Gregorian implements CalendarUtil {
    firstDateOfMonth(date: Date): Date;
    lastDateOfMonth(dt: Date): Date;
    isMonthStart(date: Date): boolean;
    getLeapYearDaysCount(): number;
    getYearDaysCount(date: Date, interval: number): number;
    getDate(date: Date): number;
    getMonth(date: Date): number;
    getFullYear(date: Date): number;
    getYearLastDate(date: Date, interval: number): Date;
    getMonthDaysCount(date: Date): number;
    getMonthStartDate(date: Date): Date;
    getMonthEndDate(date: Date): Date;
    getExpectedDays(date: Date, days: number[]): number[];
    setDate(dateObj: Date, date: number): void;
    setValidDate(date: Date, interval: number, startDate: number, monthValue?: number, beginDate?: Date): void;
    setMonth(date: Date, interval: number, startDate: number): void;
    addYears(date: Date, interval: number): void;
    isSameMonth(date1: Date, date2: Date): boolean;
    checkMonth(date: Date, months: number[]): boolean;
    compareMonth(date1: Date, date2: Date): boolean;
    isSameYear(date1: Date, date2: Date): boolean;
    isLastMonth(date: Date): boolean;
    isLeapYear(year: number, interval: number): boolean;
}
/** @private */
export  class Islamic implements CalendarUtil {
    firstDateOfMonth(date: Date): Date;
    lastDateOfMonth(date: Date): Date;
    isMonthStart(date: Date): boolean;
    getLeapYearDaysCount(): number;
    getYearDaysCount(date: Date, interval: number): number;
    getDate(date: Date): number;
    getMonth(date: Date): number;
    getFullYear(date: Date): number;
    getYearLastDate(date: Date, interval: number): Date;
    getMonthDaysCount(date: Date): number;
    getMonthStartDate(date: Date): Date;
    getMonthEndDate(date: Date): Date;
    getExpectedDays(date: Date, days: number[]): number[];
    setDate(dateObj: Date, date: number): void;
    setValidDate(date: Date, interval: number, startDate: number, monthValue?: number, beginDate?: Date): void;
    setMonth(date: Date, interval: number, startDate: number): void;
    addYears(date: Date, interval: number, monthValue: number): void;
    isSameMonth(date1: Date, date2: Date): boolean;
    checkMonth(date: Date, months: number[]): boolean;
    compareMonth(date1: Date, date2: Date): boolean;
    isSameYear(date1: Date, date2: Date): boolean;
    isLastMonth(date: Date): boolean;
    private updateDateObj;
    isLeapYear(year: number, interval: number): boolean;
    private getDaysInMonth;
    private getHijriDate;
}
//node_modules/@syncfusion/ej2-schedule/src/common/index.d.ts
/**
 * Calendar util exported items
 */
//node_modules/@syncfusion/ej2-schedule/src/components.d.ts
/**
 * Export Schedule and Recurrence Editor
 */
//node_modules/@syncfusion/ej2-schedule/src/index.d.ts
/**
 * Export Schedule components
 */
//node_modules/@syncfusion/ej2-schedule/src/recurrence-editor/date-generator.d.ts
/**
 * Date Generator from Recurrence Rule
 */
/**
 * Generate Summary from Recurrence Rule
 *
 * @param {string} rule Accepts the Recurrence rule
 * @param {base.L10n} localeObject Accepts the locale object
 * @param {string} locale Accepts the locale name
 * @param {CalendarType} calendarType Accepts the calendar type
 * @returns {string} Returns the summary string from given recurrence rule
 */
export  function generateSummary(rule: string, localeObject: base.L10n, locale: string, calendarType?: CalendarType): string;
/**
 * Generates the date collections from the given recurrence rule
 *
 * @param {Date} startDate Accepts the rule start date
 * @param {string} rule Accepts the recurrence rule
 * @param {string} excludeDate Accepts the exception dates in string format
 * @param {number} startDayOfWeek Accepts the start day index of week
 * @param {number} maximumCount Accepts the maximum number count to generate date collections
 * @param {Date} viewDate Accepts the current date instead of start date
 * @param {CalendarType} calendarMode Accepts the calendar type
 * @param {string} oldTimezone Accepts the timezone name
 * @param {string} newTimezone Accepts the timezone name
 * @returns {number[]} Returns the collection of dates
 */
export  function generate(startDate: Date, rule: string, excludeDate: string, startDayOfWeek: number, maximumCount?: number, viewDate?: Date, calendarMode?: CalendarType, oldTimezone?: string, newTimezone?: string): number[];
/**
 * Generate date object from given date string
 *
 * @param {string} recDateString Accepts the exception date as string
 * @returns {Date} Returns the date from exception date string
 */
export  function getDateFromRecurrenceDateString(recDateString: string): Date;
/**
 * Method to generate recurrence rule object from given rule
 *
 * @param {string} rules Accepts the recurrence rule
 * @returns {RecRule} Returns the recurrence rule object
 */
export  function extractObjectFromRule(rules: string): RecRule;
/**
 * Internal method to get calendar util
 *
 * @param {CalendarType} calendarMode Accepts the calendar type object
 * @returns {CalendarUtil} Returns the calendar util object
 * @private
 */
export  function getCalendarUtil(calendarMode: CalendarType): CalendarUtil;
/** @private */
export interface RecRule {
    freq: FreqType;
    interval: number;
    count: number;
    until: Date;
    day: string[];
    wkst: string;
    month: number[];
    weekNo: number[];
    monthDay: number[];
    yearDay: number[];
    setPosition: number;
    validRules: string[];
    recExceptionCount?: number;
}
/** @private */
export  type FreqType = 'DAILY' | 'WEEKLY' | 'MONTHLY' | 'YEARLY';
/**
 * Method to generate string from date
 *
 * @param {Date} date Accepts the date value
 * @returns {string} Returns the string value
 */
export  function getRecurrenceStringFromDate(date: Date): string;
//node_modules/@syncfusion/ej2-schedule/src/recurrence-editor/index.d.ts
/**
 * Recurrence-Editor component exported items
 */
//node_modules/@syncfusion/ej2-schedule/src/recurrence-editor/recurrence-editor-model.d.ts
/**
 * Interface for a class RecurrenceEditor
 */
export interface RecurrenceEditorModel extends base.ComponentModel{
    /**
     * Sets the recurrence pattern on the editor.
     *
     * @default ['none', 'daily', 'weekly', 'monthly', 'yearly']
     */
    frequencies?: RepeatType[];
    /**
     * Sets the first day of the week.
     *
     * @default 0
     */
    firstDayOfWeek?: number;
    /**
     * Sets the start date on recurrence editor.
     *
     * @default new Date()
     * @aspDefaultValue DateTime.Now
     */
    startDate?: Date;
    /**
     * Sets the user specific date format on recurrence editor.
     *
     * @default null
     */
    dateFormat?: string;
    /**
     * Sets the specific calendar type to be applied on recurrence editor.
     *
     * @default 'Gregorian'
     */
    calendarMode?: CalendarType;
    /**
     * Allows styling with custom class names.
     *
     * @default null
     */
    cssClass?: string;
    /**
     * Sets the recurrence rule as its output values.
     *
     * @default null
     */
    value?: string;
    /**
     * Sets the minimum date on recurrence editor.
     *
     * @default new Date(1900, 0, 1)
     * @aspDefaultValue new DateTime(1900, 1, 1)
     */
    minDate?: Date;
    /**
     * Sets the maximum date on recurrence editor.
     *
     * @default new Date(2099, 11, 31)
     * @aspDefaultValue new DateTime(2099, 12, 31)
     */
    maxDate?: Date;
    /**
     * Sets the current repeat type to be set on the recurrence editor.
     *
     * @default 0
     * @aspType int
     */
    selectedType?: number;
    /**
     * Triggers for value changes on every sub-controls rendered within the recurrence editor.
     *
     * @event 'change'
     */
    change?: base.EmitType<RecurrenceEditorChangeEventArgs>;
}
//node_modules/@syncfusion/ej2-schedule/src/recurrence-editor/recurrence-editor.d.ts
/**
 * Represents the RecurrenceEditor component.
 * ```html
 * <div id="recurrence"></div>
 * ```
 * ```typescript
 * <script>
 *   var recObj = new RecurrenceEditor();
 *   recObj.appendTo("#recurrence");
 * </script>
 * ```
 */
export  class RecurrenceEditor extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    /**
     * Sets the recurrence pattern on the editor.
     *
     * @default ['none', 'daily', 'weekly', 'monthly', 'yearly']
     */
    frequencies: RepeatType[];
    /**
     * Sets the first day of the week.
     *
     * @default 0
     */
    firstDayOfWeek: number;
    /**
     * Sets the start date on recurrence editor.
     *
     * @default new Date()
     * @aspDefaultValue DateTime.Now
     */
    startDate: Date;
    /**
     * Sets the user specific date format on recurrence editor.
     *
     * @default null
     */
    dateFormat: string;
    /**
     * Sets the specific calendar type to be applied on recurrence editor.
     *
     * @default 'Gregorian'
     */
    calendarMode: CalendarType;
    /**
     * Allows styling with custom class names.
     *
     * @default null
     */
    cssClass: string;
    /**
     * Sets the recurrence rule as its output values.
     *
     * @default null
     */
    value: string;
    /**
     * Sets the minimum date on recurrence editor.
     *
     * @default new Date(1900, 0, 1)
     * @aspDefaultValue new DateTime(1900, 1, 1)
     */
    minDate: Date;
    /**
     * Sets the maximum date on recurrence editor.
     *
     * @default new Date(2099, 11, 31)
     * @aspDefaultValue new DateTime(2099, 12, 31)
     */
    maxDate: Date;
    /**
     * Sets the current repeat type to be set on the recurrence editor.
     *
     * @default 0
     * @aspType int
     */
    selectedType: number;
    /**
     * Triggers for value changes on every sub-controls rendered within the recurrence editor.
     *
     * @event 'change'
     */
    change: base.EmitType<RecurrenceEditorChangeEventArgs>;
    /**
     * Constructor for creating the widget
     *
     * @param {RecurrenceEditorModel} options Accepts the recurrence editor model properties to initiate the rendering
     * @param {string | HTMLElement} element Accepts the DOM element reference
     */
    constructor(options?: RecurrenceEditorModel, element?: string | HTMLElement);
    localeObj: base.L10n;
    private defaultLocale;
    private renderStatus;
    private ruleObject;
    private recurrenceCount;
    private monthDate;
    private repeatInterval;
    private untilDateObj;
    private repeatType;
    private endType;
    private monthWeekPos;
    private monthWeekDays;
    private monthValue;
    private onMonthDay;
    private onWeekDay;
    private dayButtons;
    private monthButtons;
    private calendarUtil;
    private startState;
    protected preRender(): void;
    private applyCustomClass;
    private initialize;
    private triggerChangeEvent;
    private resetDayButton;
    private daySelection;
    private rtlClass;
    private updateUntilDate;
    private selectMonthDay;
    private updateForm;
    private updateEndOnForm;
    private freshOnEndForm;
    private showFormElement;
    private renderDropdowns;
    private setDefaultValue;
    private resetFormValues;
    private getPopupWidth;
    private renderDatePickers;
    private getFormat;
    private dayButtonRender;
    private radioButtonRender;
    private numericTextboxRender;
    private renderComponent;
    private rotateArray;
    private getEndData;
    private getDayPosition;
    private getRepeatData;
    private getMonthPosData;
    private getDayData;
    private getMonthData;
    private setTemplate;
    private getSelectedDaysData;
    private getSelectedMonthData;
    private getIntervalData;
    private getEndOnCount;
    private getYearMonthRuleData;
    private updateWeekButton;
    private updateMonthUI;
    private updateUI;
    private getUntilData;
    private destroyComponents;
    resetFields(): void;
    updateRuleUntilDate(startDate: Date): void;
    private getCalendarMode;
    getRuleSummary(rule?: string): string;
    getRecurrenceDates(startDate: Date, rule: string, excludeDate?: string, maximumCount?: number, viewDate?: Date): number[];
    getRecurrenceRule(): string;
    setRecurrenceRule(rule: string, startDate?: Date): void;
    private detachInputs;
    /**
     * Destroys the widget.
     *
     * @returns {void}
     */
    destroy(): void;
    /**
     * Get component name.
     *
     * @returns {string} Returns the module name
     * @private
     */
    getModuleName(): string;
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @returns {string} Returns the persisted state
     */
    getPersistData(): string;
    /**
     * Initialize the control rendering
     *
     * @returns {void}
     * @private
     */
    render(): void;
    /**
     * Called internally, if any of the property value changed.
     *
     * @param {RecurrenceEditorModel} newProp Accepts the changed properties new values
     * @param {RecurrenceEditorModel} oldProp Accepts the changed properties old values
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: RecurrenceEditorModel, oldProp: RecurrenceEditorModel): void;
}
/**
 * Interface that holds the option on changing the rule in the recurrence editor.
 */
export interface RecurrenceEditorChangeEventArgs {
    /** Returns the current recurrence rule. */
    value: string;
}
export  type RepeatType = 'none' | 'daily' | 'weekly' | 'monthly' | 'yearly';
//node_modules/@syncfusion/ej2-schedule/src/schedule/actions/action-base.d.ts
/**
 * Base class for the common drag and resize related actions
 */
export  class ActionBase {
    parent: Schedule;
    actionObj: ActionBaseArgs;
    resizeEdges: ResizeEdges;
    scrollArgs: ActionBaseArgs;
    scrollEdges: ResizeEdges;
    monthEvent: MonthEvent;
    verticalEvent: VerticalEvent;
    yearEvent: YearEvent;
    daysVariation: number;
    private scrollEventArgs;
    constructor(parent: Schedule);
    getChangedData(multiData?: Record<string, any>[]): Record<string, any>;
    saveChangedData(eventArgs: DragEventArgs | ResizeEventArgs, isMultiSelect?: boolean): void;
    calculateIntervalTime(date: Date): Date;
    getContentAreaDimension(): Record<string, any>;
    getPageCoordinates(e: MouseEvent & TouchEvent): (MouseEvent & TouchEvent) | Touch;
    getIndex(index: number): number;
    updateTimePosition(date: Date, multiData?: Record<string, any>[]): void;
    getResourceElements(table: HTMLTableCellElement[]): HTMLTableCellElement[];
    getOriginalElement(element: HTMLElement): HTMLElement[];
    createCloneElement(element: HTMLElement): HTMLElement;
    removeCloneElementClasses(): void;
    removeCloneElement(): void;
    getCursorElement(e: MouseEvent & TouchEvent): HTMLElement;
    autoScroll(): void;
    autoScrollValidation(): boolean;
    actionClass(type: string): void;
    updateScrollPosition(e: MouseEvent & TouchEvent): void;
    updateOriginalElement(cloneElement: HTMLElement): void;
    getUpdatedEvent(startTime: Date, endTime: Date, eventObj: Record<string, any>): Record<string, any>;
    dynamicYearlyEventsRendering(event: Record<string, any>, isResize?: boolean): void;
    renderDynamicElement(cellTd: HTMLElement | Element, element: HTMLElement, isAppointment?: boolean): void;
    createAppointmentElement(resIndex: number, innerText: string): HTMLElement;
    dynamicEventsRendering(event: Record<string, any>): void;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/actions/crud.d.ts
/**
 * Schedule CRUD operations
 */
export  class Crud {
    private parent;
    crudObj: CrudAction;
    constructor(parent: Schedule);
    private getQuery;
    private getTable;
    refreshDataManager(): void;
    private dataManagerSuccess;
    dataManagerFailure(e: ReturnType): void;
    refreshProcessedData(): void;
    private refreshData;
    addEvent(eventData: Record<string, any> | Record<string, any>[]): void;
    saveEvent(eventData: Record<string, any> | Record<string, any>[], action: CurrentAction): void;
    deleteEvent(eventData: string | number | Record<string, any> | Record<string, any>[], action: CurrentAction): void;
    private processOccurrences;
    private processFollowSeries;
    private processEntireSeries;
    private processDelete;
    private processSave;
    private getParentEvent;
    private excludeDateCheck;
    private processRecurrenceRule;
    private getUpdatedRecurrenceRule;
    private isBlockEvent;
    /**
     * To destroy the crud module.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/actions/data.d.ts
/**
 * data module is used to generate query and data source.
 *
 * @private
 */
export  class Data {
    dataManager: data.DataManager;
    private query;
    /**
     * Constructor for data module
     *
     * @param {Object | data.DataManager} dataSource Accepts the datasource as JSON objects or data.DataManager
     * @param {data.Query} query Accepts the query to process the data
     * @private
     */
    constructor(dataSource?: Record<string, any>[] | data.DataManager, query?: data.Query);
    /**
     * The function used to initialize dataManager and query
     *
     * @param {Object | data.DataManager} dataSource Accepts the datasource as JSON objects or data.DataManager
     * @param {data.Query} query Accepts the query to process the data
     * @returns {void}
     * @private
     */
    initDataManager(dataSource: Record<string, any>[] | data.DataManager, query: data.Query): void;
    /**
     * The function used to generate updated data.Query from schedule model
     *
     * @param {Date} startDate Accepts the start date
     * @param {Date} endDate Accepts the end date
     * @returns {void}
     * @private
     */
    generateQuery(startDate?: Date, endDate?: Date): data.Query;
    /**
     * The function used to get dataSource by executing given data.Query
     *
     * @param  {data.Query} query - A data.Query that specifies to generate dataSource
     * @returns {void}
     * @private
     */
    getData(query: data.Query): Promise<any>;
    /**
     * To destroy the crud module.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/actions/drag.d.ts
/**
 * Schedule events drag actions
 */
export  class DragAndDrop extends ActionBase {
    private widthUptoCursorPoint;
    private heightUptoCursorPoint;
    private timelineEventModule;
    private cursorPointIndex;
    private isHeaderRows;
    private isTimelineDayProcess;
    private widthPerMinute;
    private heightPerMinute;
    private minDiff;
    private isStepDragging;
    private isMorePopupOpened;
    private isAllDayDrag;
    private isMultiSelect;
    private multiData;
    private updatedData;
    private swagData;
    private startTime;
    private isAllDayTarget;
    private targetTd;
    private isCursorAhead;
    private dragArea;
    wireDragEvent(element: HTMLElement): void;
    setDragArea(): void;
    private dragHelper;
    private dragPosition;
    private setDragActionDefaultValues;
    private dragStart;
    getSelectedData(): Record<string, any>[];
    private drag;
    private calculateMinutesDiff;
    private dragStop;
    updateNavigatingPosition(e: MouseEvent & TouchEvent): void;
    updateDraggingDateTime(e: MouseEvent & TouchEvent): void;
    navigationWrapper(): void;
    private viewNavigation;
    private morePopupEventDragging;
    private calculateVerticalTime;
    private splitEvent;
    private updateMultipleData;
    private getDayIndex;
    private updateEventHeight;
    private renderSpannedEvents;
    private getRenderedDates;
    private updateAllDayEvents;
    private swapDragging;
    private calculateVerticalDate;
    private updateMultipleVerticalDate;
    private calculateTimelineTime;
    private getOffsetValue;
    private getWidthDiff;
    private getColumnIndex;
    private getCursorCurrentIndex;
    private cursorIndex;
    private calculateResourceGroupingPosition;
    private appendCloneElement;
    private getEventWrapper;
    private getAllDayEventHeight;
    private isAllowDrop;
    /**
     * Get module name.
     *
     * @returns {string} Returns the module name
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/actions/keyboard.d.ts
/**
 * Keyboard interaction
 */
export  class KeyboardInteraction {
    /**
     * Constructor
     */
    private parent;
    private initialTarget;
    private selectedCells;
    private keyConfigs;
    private keyboardModule;
    constructor(parent: Schedule);
    private keyActionHandler;
    private processFTwelve;
    private addEventListener;
    private removeEventListener;
    private onCellMouseDown;
    onMouseSelection(e: MouseEvent): void;
    private getClosestCell;
    private onMoveUp;
    private processEnter;
    private getSelectedElements;
    private getCells;
    private focusFirstCell;
    private isInverseTableSelect;
    /**
     * Internal method to select cells
     *
     * @param {boolean} isMultiple Accepts to select multiple cells or not
     * @param {HTMLTableCellElement} targetCell Accepts the target cells
     * @returns {void}
     * @private
     */
    selectCells(isMultiple: boolean, targetCell: HTMLTableCellElement): void;
    private selectAppointment;
    private selectAppointmentElementFromWorkCell;
    private getAllDayCells;
    private getAppointmentElements;
    private getAppointmentElementsByGuid;
    private getUniqueAppointmentElements;
    private getWorkCellFromAppointmentElement;
    private processViewNavigation;
    private cancelUpDownAction;
    private processUp;
    private processDown;
    private getYearUpDownCell;
    private getHorizontalUpDownCell;
    private getVerticalUpDownCell;
    private processLeftRight;
    private getQuickPopupElement;
    private isCancelLeftRightAction;
    private processRight;
    private processLeft;
    private getTimelineYearTargetCell;
    private getHorizontalLeftRightCell;
    private getVerticalLeftRightCell;
    private calculateNextPrevDate;
    private getFocusableElements;
    private processTabOnPopup;
    private processTab;
    private processDelete;
    private processCtrlShiftNavigationArrows;
    private processEscape;
    private isPreventAction;
    private processTabOnResourceCells;
    private setScrollPosition;
    /**
     * Get module name.
     *
     * @returns {string} Returns the module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the keyboard module.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/actions/resize.d.ts
/**
 * Schedule events resize actions
 */
export  class Resize extends ActionBase {
    wireResizeEvent(element: HTMLElement): void;
    private resizeHelper;
    private resizeStart;
    private resizing;
    updateResizingDirection(e: MouseEvent & TouchEvent): void;
    private monthResizing;
    private yearEventsRendering;
    private getMonthDiff;
    private getEventCount;
    private resizeStop;
    private verticalResizing;
    private horizontalResizing;
    private getTopBottomStyles;
    private getLeftRightStyles;
    private resizeValidation;
    /**
     * Get module name
     *
     * @returns {string} Returns the module name..
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/actions/scroll.d.ts
/**
 * `Scroll` module
 */
export  class Scroll {
    private parent;
    /**
     * Constructor for the scrolling.
     *
     * @param {Schedule} parent Accepts the Schedule instance
     */
    constructor(parent?: Schedule);
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} Returns the module name.
     * @private
     */
    protected getModuleName(): string;
    /**
     * Internal method to set the element width
     *
     * @returns {void}
     * @private
     */
    setWidth(): void;
    /**
     * Internal method to set the element height
     *
     * @returns {void}
     * @private
     */
    setHeight(): void;
    /**
     * Internal method to bind events
     *
     * @returns {void}
     * @private
     */
    addEventListener(): void;
    /**
     * Internal method to unbind events
     *
     * @returns {void}
     * @private
     */
    removeEventListener(): void;
    /**
     * Internal method to set the dimensions
     *
     * @returns {void}
     * @private
     */
    private setDimensions;
    /**
     * Internal method to set the dimensions dynamically
     *
     * @returns {void}
     * @private
     */
    private onPropertyChanged;
    /**
     * Destroy the scroll module
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/actions/touch.d.ts
/**
 * `touch` module is used to handle touch interactions.
 */
export  class ScheduleTouch {
    private element;
    private currentPanel;
    private previousPanel;
    private nextPanel;
    private parent;
    private touchObj;
    private timeStampStart;
    private isScrollTriggered;
    private touchLeftDirection;
    private touchRightDirection;
    constructor(parent: Schedule);
    private scrollHandler;
    private swipeHandler;
    private tapHoldHandler;
    private renderPanel;
    private swapPanels;
    private confirmSwipe;
    private cancelSwipe;
    private onTransitionEnd;
    private getTranslateX;
    private setDimensions;
    resetValues(): void;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/actions/virtual-scroll.d.ts
/**
 * Virtual Scroll
 */
export  class VirtualScroll {
    private parent;
    private translateY;
    private itemSize;
    bufferCount: number;
    private renderedLength;
    private averageRowHeight;
    private timeValue;
    private focusedEle;
    private isResourceCell;
    isHorizontalScroll: boolean;
    private startIndex;
    constructor(parent: Schedule);
    private addEventListener;
    private removeEventListener;
    getRenderedCount(): number;
    renderVirtualTrack(contentWrap: Element): void;
    updateVirtualScrollHeight(): void;
    updateVirtualTrackHeight(wrap: HTMLElement): void;
    setItemSize(): void;
    private renderEvents;
    virtualScrolling(): void;
    private horizontalScrolling;
    private upScroll;
    private downScroll;
    private leftScroll;
    private rightScroll;
    private getCollection;
    private getResCollection;
    private getByDateCollection;
    private getByIdCollection;
    private setStartEndIndex;
    updateContent(resWrap: HTMLElement, conWrap: HTMLElement, eventWrap: HTMLElement, resCollection: TdData[]): void;
    private updateHorizontalContent;
    private getBufferCollection;
    private setTranslate;
    updateFocusedWorkCell(): void;
    setRenderedDates(resCollection: TdData[]): void;
    private setTabIndex;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/actions/work-cells.d.ts
/**
 * Work cell interactions
 */
export  class WorkCellInteraction {
    private parent;
    constructor(parent: Schedule);
    cellMouseDown(e: Event): void;
    cellClick(e: Event & MouseEvent): void;
    cellDblClick(e: Event): void;
    private onHover;
    private isPreventAction;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/base/constant.d.ts
/**
 * Constants
 */
/** @private */
export  const cellClick: string;
/** @private */
export  const cellDoubleClick: string;
/** @private */
export  const moreEventsClick: string;
/** @private */
export  const select: string;
/** @private */
export  const hover: string;
/** @private */
export  const actionBegin: string;
/** @private */
export  const actionComplete: string;
/** @private */
export  const actionFailure: string;
/** @private */
export  const navigating: string;
/** @private */
export  const renderCell: string;
/** @private */
export  const eventClick: string;
/** @private */
export  const eventRendered: string;
/** @private */
export  const dataBinding: string;
/** @private */
export  const dataBound: string;
/** @private */
export  const popupOpen: string;
/** @private */
export  const popupClose: string;
/** @private */
export  const dragStart: string;
/** @private */
export  const drag: string;
/** @private */
export  const dragStop: string;
/** @private */
export  const resizeStart: string;
/** @private */
export  const resizing: string;
/** @private */
export  const resizeStop: string;
/** @private */
export  const inlineClick: string;
/**
 * Specifies schedule internal events
 */
/** @private */
export  const initialLoad: string;
/** @private */
export  const initialEnd: string;
/** @private */
export  const print: string;
/** @private */
export  const dataReady: string;
/** @private */
export  const eventsLoaded: string;
/** @private */
export  const contentReady: string;
/** @private */
export  const scroll: string;
/** @private */
export  const virtualScroll: string;
/** @private */
export  const scrollUiUpdate: string;
/** @private */
export  const uiUpdate: string;
/** @private */
export  const documentClick: string;
/** @private */
export  const cellMouseDown: string;
//node_modules/@syncfusion/ej2-schedule/src/schedule/base/css-constant.d.ts
/**
 * CSS Constants
 */
/** @private */
export  const ROOT: string;
/** @private */
export  const RTL: string;
/** @private */
export  const DEVICE_CLASS: string;
/** @private */
export  const MULTI_DRAG: string;
/** @private */
export  const ICON: string;
/** @private */
export  const ENABLE_CLASS: string;
/** @private */
export  const DISABLE_CLASS: string;
/** @private */
export  const TABLE_CONTAINER_CLASS: string;
/** @private */
export  const SCHEDULE_TABLE_CLASS: string;
/** @private */
export  const ALLDAY_CELLS_CLASS: string;
/** @private */
export  const HEADER_POPUP_CLASS: string;
/** @private */
export  const HEADER_CALENDAR_CLASS: string;
/** @private */
export  const ALLDAY_ROW_CLASS: string;
/** @private */
export  const CONTENT_TABLE_CLASS: string;
/** @private */
export  const WORK_CELLS_CLASS: string;
/** @private */
export  const WORK_HOURS_CLASS: string;
/** @private */
export  const POPUP_OPEN: string;
/** @private */
export  const POPUP_CLOSE: string;
/** @private */
export  const DATE_HEADER_WRAP_CLASS: string;
/** @private */
export  const DATE_HEADER_CONTAINER_CLASS: string;
/** @private */
export  const HEADER_CELLS_CLASS: string;
/** @private */
export  const HEADER_WEEK_CELLS_CLASS: string;
/** @private */
export  const HEADER_MONTH_CELLS_CLASS: string;
/** @private */
export  const HEADER_YEAR_CELLS_CLASS: string;
/** @private */
export  const WORKDAY_CLASS: string;
/** @private */
export  const OTHERMONTH_CLASS: string;
/** @private */
export  const CURRENT_DAY_CLASS: string;
/** @private */
export  const CURRENTDATE_CLASS: string;
/** @private */
export  const CURRENT_PANEL_CLASS: string;
/** @private */
export  const PREVIOUS_PANEL_CLASS: string;
/** @private */
export  const NEXT_PANEL_CLASS: string;
/** @private */
export  const PREVIOUS_DATE_CLASS: string;
/** @private */
export  const NEXT_DATE_CLASS: string;
/** @private */
export  const TRANSLATE_CLASS: string;
/** @private */
export  const LEFT_INDENT_CLASS: string;
/** @private */
export  const LEFT_INDENT_WRAP_CLASS: string;
/** @private */
export  const EVENT_TABLE_CLASS: string;
/** @private */
export  const RESOURCE_LEFT_TD_CLASS: string;
/** @private */
export  const RESOURCE_GROUP_CELLS_CLASS: string;
/** @private */
export  const RESOURCE_TEXT_CLASS: string;
/** @private */
export  const RESOURCE_COLUMN_WRAP_CLASS: string;
/** @private */
export  const RESOURCE_COLUMN_TABLE_CLASS: string;
/** @private */
export  const RESOURCE_CHILD_CLASS: string;
/** @private */
export  const RESOURCE_PARENT_CLASS: string;
/** @private */
export  const RESOURCE_EXPAND_CLASS: string;
/** @private */
export  const RESOURCE_COLLAPSE_CLASS: string;
/** @private */
export  const RESOURCE_TREE_ICON_CLASS: string;
/** @private */
export  const RESOURCE_CELLS_CLASS: string;
/** @private */
export  const TIME_CELLS_WRAP_CLASS: string;
/** @private */
export  const TIME_CELLS_CLASS: string;
/** @private */
export  const TIME_SLOT_CLASS: string;
/** @private */
export  const ALTERNATE_CELLS_CLASS: string;
/** @private */
export  const CURRENT_TIME_CLASS: string;
/** @private */
export  const CURRENT_TIMELINE_CLASS: string;
/** @private */
export  const PREVIOUS_TIMELINE_CLASS: string;
/** @private */
export  const HIDE_CHILDS_CLASS: string;
/** @private */
export  const SCROLL_CONTAINER_CLASS: string;
/** @private */
export  const WRAPPER_CLASS: string;
/** @private */
export  const TIMELINE_WRAPPER_CLASS: string;
/** @private */
export  const APPOINTMENT_WRAPPER_CLASS: string;
/** @private */
export  const DAY_WRAPPER_CLASS: string;
/** @private */
export  const TOOLBAR_CONTAINER: string;
/** @private */
export  const RESOURCE_TOOLBAR_CONTAINER: string;
/** @private */
export  const HEADER_TOOLBAR: string;
/** @private */
export  const RESOURCE_HEADER_TOOLBAR: string;
/** @private */
export  const SELECTED_CELL_CLASS: string;
/** @private */
export  const WEEK_NUMBER_WRAPPER_CLASS: string;
/** @private */
export  const WEEK_NUMBER_CLASS: string;
/** @private */
export  const APPOINTMENT_WRAP_CLASS: string;
/** @private */
export  const WRAPPER_CONTAINER_CLASS: string;
/** @private */
export  const APPOINTMENT_CONTAINER_CLASS: string;
/** @private */
export  const APPOINTMENT_CLASS: string;
/** @private */
export  const BLOCK_APPOINTMENT_CLASS: string;
/** @private */
export  const BLOCK_INDICATOR_CLASS: string;
/** @private */
export  const APPOINTMENT_BORDER: string;
/** @private */
export  const APPOINTMENT_DETAILS: string;
/** @private */
export  const SUBJECT_WRAP: string;
/** @private */
export  const RESOURCE_NAME: string;
/** @private */
export  const APPOINTMENT_TIME: string;
/** @private */
export  const TABLE_WRAP_CLASS: string;
/** @private */
export  const OUTER_TABLE_CLASS: string;
/** @private */
export  const CONTENT_WRAP_CLASS: string;
/** @private */
export  const VIRTUAL_TRACK_CLASS: string;
/** @private */
export  const AGENDA_CELLS_CLASS: string;
/** @private */
export  const AGENDA_CURRENT_DAY_CLASS: string;
/** @private */
export  const AGENDA_SELECTED_CELL: string;
/** @private */
export  const MONTH_HEADER_CLASS: string;
/** @private */
export  const AGENDA_HEADER_CLASS: string;
/** @private */
export  const AGENDA_RESOURCE_CLASS: string;
/** @private */
export  const AGENDA_DATE_CLASS: string;
/** @private */
export  const NAVIGATE_CLASS: string;
/** @private */
export  const DATE_HEADER_CLASS: string;
/** @private */
export  const AGENDA_DAY_BORDER_CLASS: string;
/** @private */
export  const DATE_BORDER_CLASS: string;
/** @private */
export  const AGENDA_DAY_PADDING_CLASS: string;
/** @private */
export  const DATE_TIME_CLASS: string;
/** @private */
export  const DATE_TIME_WRAPPER_CLASS: string;
/** @private */
export  const AGENDA_EMPTY_EVENT_CLASS: string;
/** @private */
export  const AGENDA_NO_EVENT_CLASS: string;
/** @private */
export  const APPOINTMENT_INDICATOR_CLASS: string;
/** @private */
export  const EVENT_INDICATOR_CLASS: string;
/** @private */
export  const EVENT_ICON_UP_CLASS: string;
/** @private */
export  const EVENT_ICON_DOWN_CLASS: string;
/** @private */
export  const EVENT_ICON_LEFT_CLASS: string;
/** @private */
export  const EVENT_ICON_RIGHT_CLASS: string;
/** @private */
export  const EVENT_ACTION_CLASS: string;
/** @private */
export  const NEW_EVENT_CLASS: string;
/** @private */
export  const CLONE_ELEMENT_CLASS: string;
/** @private */
export  const MONTH_CLONE_ELEMENT_CLASS: string;
/** @private */
export  const CLONE_TIME_INDICATOR_CLASS: string;
/** @private */
export  const DRAG_CLONE_CLASS: string;
/** @private */
export  const EVENT_RESIZE_CLASS: string;
/** @private */
export  const RESIZE_CLONE_CLASS: string;
/** @private */
export  const LEFT_RESIZE_HANDLER: string;
/** @private */
export  const RIGHT_RESIZE_HANDLER: string;
/** @private */
export  const TOP_RESIZE_HANDLER: string;
/** @private */
export  const BOTTOM_RESIZE_HANDLER: string;
/** @private */
export  const EVENT_RECURRENCE_ICON_CLASS: string;
/** @private */
export  const EVENT_RECURRENCE_EDIT_ICON_CLASS: string;
/** @private */
export  const HEADER_ROW_CLASS: string;
/** @private */
export  const ALLDAY_APPOINTMENT_WRAPPER_CLASS: string;
/** @private */
export  const ALLDAY_APPOINTMENT_CLASS: string;
/** @private */
export  const EVENT_COUNT_CLASS: string;
/** @private */
export  const ROW_COUNT_WRAPPER_CLASS: string;
/** @private */
export  const ALLDAY_APPOINTMENT_SECTION_CLASS: string;
/** @private */
export  const APPOINTMENT_ROW_EXPAND_CLASS: string;
/** @private */
export  const APPOINTMENT_ROW_COLLAPSE_CLASS: string;
/** @private */
export  const MORE_INDICATOR_CLASS: string;
/** @private */
export  const CELL_POPUP_CLASS: string;
/** @private */
export  const EVENT_POPUP_CLASS: string;
/** @private */
export  const MULTIPLE_EVENT_POPUP_CLASS: string;
/** @private */
export  const POPUP_HEADER_CLASS: string;
/** @private */
export  const POPUP_HEADER_ICON_WRAPPER: string;
/** @private */
export  const POPUP_CONTENT_CLASS: string;
/** @private */
export  const POPUP_FOOTER_CLASS: string;
/** @private */
export  const DATE_TIME_DETAILS_CLASS: string;
/** @private */
export  const RECURRENCE_SUMMARY_CLASS: string;
/** @private */
export  const QUICK_POPUP_EVENT_DETAILS_CLASS: string;
/** @private */
export  const EVENT_CREATE_CLASS: string;
/** @private */
export  const EDIT_EVENT_CLASS: string;
/** @private */
export  const DELETE_EVENT_CLASS: string;
/** @private */
export  const TEXT_ELLIPSIS: string;
/** @private */
export  const MORE_POPUP_WRAPPER_CLASS: string;
/** @private */
export  const MORE_EVENT_POPUP_CLASS: string;
/** @private */
export  const MORE_EVENT_HEADER_CLASS: string;
/** @private */
export  const MORE_EVENT_DATE_HEADER_CLASS: string;
/** @private */
export  const MORE_EVENT_HEADER_DAY_CLASS: string;
/** @private */
export  const MORE_EVENT_HEADER_DATE_CLASS: string;
/** @private */
export  const MORE_EVENT_CLOSE_CLASS: string;
/** @private */
export  const MORE_EVENT_CONTENT_CLASS: string;
/** @private */
export  const MORE_EVENT_WRAPPER_CLASS: string;
/** @private */
export  const QUICK_DIALOG_CLASS: string;
/** @private */
export  const QUICK_DIALOG_OCCURRENCE_CLASS: string;
/** @private */
export  const QUICK_DIALOG_SERIES_CLASS: string;
/** @private */
export  const QUICK_DIALOG_FOLLOWING_EVENTS_CLASS: string;
/** @private */
export  const FOLLOWING_EVENTS_DIALOG: string;
/** @private */
export  const QUICK_DIALOG_DELETE_CLASS: string;
/** @private */
export  const QUICK_DIALOG_CANCEL_CLASS: string;
/** @private */
export  const QUICK_DIALOG_ALERT_OK: string;
/** @private */
export  const QUICK_DIALOG_ALERT_CANCEL: string;
/** @private */
export  const QUICK_DIALOG_ALERT_FOLLOWING: string;
/** @private */
export  const QUICK_DIALOG_ALERT_BTN_CLASS: string;
/** @private */
export  const EVENT_WINDOW_DIALOG_CLASS: string;
/** @private */
export  const FORM_CONTAINER_CLASS: string;
/** @private */
export  const FORM_CLASS: string;
/** @private */
export  const EVENT_WINDOW_ALLDAY_TZ_DIV_CLASS: string;
/** @private */
export  const EVENT_WINDOW_ALL_DAY_CLASS: string;
/** @private */
export  const TIME_ZONE_CLASS: string;
/** @private */
export  const TIME_ZONE_ICON_CLASS: string;
/** @private */
export  const TIME_ZONE_DETAILS_CLASS: string;
/** @private */
export  const EVENT_WINDOW_REPEAT_DIV_CLASS: string;
/** @private */
export  const EVENT_WINDOW_REPEAT_CLASS: string;
/** @private */
export  const EVENT_WINDOW_TITLE_LOCATION_DIV_CLASS: string;
/** @private */
export  const SUBJECT_CLASS: string;
/** @private */
export  const LOCATION_CLASS: string;
/** @private */
export  const LOCATION_ICON_CLASS: string;
/** @private */
export  const LOCATION_DETAILS_CLASS: string;
/** @private */
export  const EVENT_WINDOW_START_END_DIV_CLASS: string;
/** @private */
export  const EVENT_WINDOW_START_CLASS: string;
/** @private */
export  const EVENT_WINDOW_END_CLASS: string;
/** @private */
export  const EVENT_WINDOW_RESOURCES_DIV_CLASS: string;
/** @private */
export  const DESCRIPTION_CLASS: string;
/** @private */
export  const DESCRIPTION_ICON_CLASS: string;
/** @private */
export  const DESCRIPTION_DETAILS_CLASS: string;
/** @private */
export  const EVENT_WINDOW_TIME_ZONE_DIV_CLASS: string;
/** @private */
export  const EVENT_WINDOW_START_TZ_CLASS: string;
/** @private */
export  const EVENT_WINDOW_END_TZ_CLASS: string;
/** @private */
export  const EVENT_WINDOW_BACK_ICON_CLASS: string;
/** @private */
export  const EVENT_WINDOW_SAVE_ICON_CLASS: string;
/** @private */
export  const EVENT_WINDOW_CANCEL_BUTTON_CLASS: string;
/** @private */
export  const EVENT_WINDOW_SAVE_BUTTON_CLASS: string;
/** @private */
export  const EVENT_WINDOW_DIALOG_PARENT_CLASS: string;
/** @private */
export  const EVENT_WINDOW_TITLE_TEXT_CLASS: string;
/** @private */
export  const EVENT_WINDOW_ICON_DISABLE_CLASS: string;
/** @private */
export  const EDIT_CLASS: string;
/** @private */
export  const EDIT_ICON_CLASS: string;
/** @private */
export  const DELETE_CLASS: string;
/** @private */
export  const DELETE_ICON_CLASS: string;
/** @private */
export  const CLOSE_CLASS: string;
/** @private */
export  const CLOSE_ICON_CLASS: string;
/** @private */
export  const ERROR_VALIDATION_CLASS: string;
/** @private */
export  const EVENT_TOOLTIP_ROOT_CLASS: string;
/** @private */
export  const ALLDAY_ROW_ANIMATE_CLASS: string;
/** @private */
export  const TIMESCALE_DISABLE: string;
/** @private */
export  const DISABLE_DATE: string;
/** @private */
export  const HIDDEN_CLASS: string;
/** @private */
export  const DISABLE_DATES: string;
/** @private */
export  const POPUP_WRAPPER_CLASS: string;
/** @private */
export  const POPUP_TABLE_CLASS: string;
/** @private */
export  const RESOURCE_MENU: string;
/** @private */
export  const RESOURCE_MENU_ICON: string;
/** @private */
export  const RESOURCE_LEVEL_TITLE: string;
/** @private */
export  const RESOURCE_TREE: string;
/** @private */
export  const RESOURCE_TREE_POPUP_OVERLAY: string;
/** @private */
export  const RESOURCE_TREE_POPUP: string;
/** @private */
export  const RESOURCE_CLASS: string;
/** @private */
export  const RESOURCE_ICON_CLASS: string;
/** @private */
export  const RESOURCE_DETAILS_CLASS: string;
/** @private */
export  const DATE_TIME_ICON_CLASS: string;
/** @private */
export  const VIRTUAL_SCROLL_CLASS: string;
/** @private */
export  const ICON_DISABLE_CLASS: string;
/** @private */
export  const AUTO_HEIGHT: string;
/** @private */
export  const IGNORE_WHITESPACE: string;
/** @private */
export  const EVENT_TEMPLATE: string;
/** @private */
export  const READ_ONLY: string;
/** @private */
export  const MONTH_HEADER_WRAPPER: string;
/** @private */
export  const INLINE_SUBJECT_CLASS: string;
/** @private */
export  const INLINE_APPOINTMENT_CLASS: string;
/** @hidden */
export  const SCROLL_HIDDEN: string;
/** @private */
export  const ALLDAY_APPOINTMENT_SCROLL: string;
/** @private */
export  const ALLDAY_APPOINTMENT_AUTO: string;
//node_modules/@syncfusion/ej2-schedule/src/schedule/base/interface.d.ts
/**
 * Interface
 */
/** An interface that holds options to control the actions of scheduler such as editing, navigation, and more. */
export interface ActionEventArgs extends ToolbarActionArgs {
    /** Returns the request type of the current action. */
    requestType: string;
    /** Defines the type of the event. */
    event?: Event;
    /** Defines the cancel option for the action taking place. */
    cancel?: boolean;
    /** Returns the appropriate data based on the action. */
    data?: Record<string, any> | Record<string, any>[];
    /** Returns the clicked resource row index. */
    groupIndex?: number;
    /** Returns the appropriate added data based on the action. */
    addedRecords?: Record<string, any>[];
    /** Returns the appropriate changed data based on the action. */
    changedRecords?: Record<string, any>[];
    /** Returns the appropriate deleted data based on the action. */
    deletedRecords?: Record<string, any>[];
}
/** @deprecated */
export interface ToolbarActionArgs extends base.BaseEventArgs {
    /** Returns the request type of the current action. */
    requestType: string;
    /** Returns the toolbar items present in the Schedule header bar. */
    items?: navigations.ItemModel[];
}
/** An interface that holds options to control the cell click action. */
export interface CellClickEventArgs extends base.BaseEventArgs {
    /** Returns the start time of the cell. */
    startTime: Date;
    /** Returns the end time of the cell. */
    endTime: Date;
    /** Returns true or false, based on whether the clicked cell is all-day or not. */
    isAllDay: boolean;
    /** Returns the single or collection of HTML element(s). */
    element?: HTMLElement | HTMLElement[];
    /** Defines the cancel option. */
    cancel?: boolean;
    /** Defines the type of the event. */
    event?: Event;
    /** Returns the group index of the cell. */
    groupIndex?: number;
}
/** An interface that holds options to control the actions on clicking the more event indicator. */
export interface MoreEventsClickArgs extends base.BaseEventArgs {
    /** Returns the start time of the cell. */
    startTime: Date;
    /** Returns the end time of the cell. */
    endTime: Date;
    /** Returns the single or collection of HTML element(s). */
    element: Element;
    /** Defines the cancel option. */
    cancel: boolean;
    /** Defines the type of the event. */
    event: Event;
    /** Returns the group index of the cell. */
    groupIndex?: number;
    /** Defines the option to show/hide the popup. */
    isPopupOpen: boolean;
    /** Defines the option to navigate the particular view */
    viewName: View;
}
/** An interface that holds options to control the select action. */
export interface SelectEventArgs extends base.BaseEventArgs {
    /** Returns the request type of the current action. */
    requestType: string;
    /** Defines the type of the event. */
    event?: Event;
    /** Returns the single or collection of HTML element(s). */
    element: HTMLElement | HTMLElement[];
    /** Determines whether to open the quick popup on multiple cell selection. */
    showQuickPopup?: boolean;
    /** Determines whether to select multiple row. */
    allowMultipleRow?: boolean;
    /** Return the appropriate cell or event data based on the action. */
    data?: Record<string, any> | Record<string, any>[];
    /** Returns the clicked resource row index. */
    groupIndex?: number;
}
/** An interface that holds options to control the event click action. */
export interface EventClickArgs extends base.BaseEventArgs {
    /** Returns the date of the event. */
    date?: Date;
    /** Returns a single or collection of selected or clicked events. */
    event: Record<string, any> | Record<string, any>[];
    /** Returns the single or collection of HTML element(s). */
    element: HTMLElement | HTMLElement[];
    /** Defines the cancel option. */
    cancel?: boolean;
}
/** An interface that holds options to control the hover action. */
export interface HoverEventArgs extends base.BaseEventArgs {
    /** Returns the mouse event. */
    event: MouseEvent;
    /** Returns the single or collection of HTML element(s). */
    element: HTMLElement;
}
/** An interface that holds options to control the events (appointments) rendering in Scheduler. */
export interface EventRenderedArgs extends base.BaseEventArgs {
    /** Returns the event data. */
    data: Record<string, any>;
    /** Returns the event element which is currently being rendered on the UI. */
    element: HTMLElement;
    /** Defines the cancel option. */
    cancel: boolean;
    /** Returns the type of the event element which is currently being rendered on the Scheduler. */
    type?: string;
}
/** An interface that holds options to control the popup open action. */
export interface PopupOpenEventArgs extends base.BaseEventArgs {
    /**
     * Returns the type of the popup which is currently being opted to open.
     * The available type values are as follows,
     * * DeleteAlert
     * * EditEventInfo
     * * Editor
     * * EventContainer
     * * QuickInfo
     * * RecurrenceAlert
     * * RecurrenceValidationAlert
     * * ValidationAlert
     * * ViewEventInfo
     */
    type: PopupType;
    /** Returns the cell or event data. */
    data?: Record<string, any>;
    /** Returns the target element on which the popup is getting opened. */
    target?: Element;
    /** Returns the popup wrapper element. */
    element: Element;
    /** Defines the cancel option. */
    cancel: boolean;
    /** Allows to specify the time duration to be used on editor window,
     *  based on which the start and end time fields will display the time values. By default, it
     *  will be processed based on the `interval` value within the `timeScale` property.
     */
    duration?: number;
}
/** An interface that holds options to control the popup close action. */
export interface PopupCloseEventArgs extends base.BaseEventArgs {
    /** Return the current interaction event. */
    event?: Event;
    /**
     * Returns the type of the popup which is currently being opted to open.
     * The available type values are as follows,
     * * DeleteAlert
     * * EditEventInfo
     * * Editor
     * * EventContainer
     * * QuickInfo
     * * RecurrenceAlert
     * * RecurrenceValidationAlert
     * * ValidationAlert
     * * ViewEventInfo
     */
    type: PopupType;
    /** Returns the cell or event data. */
    data?: Record<string, any>;
    /** Returns the target element on which the popup is getting opened. */
    target?: Element;
    /** Returns the popup wrapper element. */
    element: Element;
    /** Defines the cancel option. */
    cancel: boolean;
}
/**  An interface that holds options to control the date and view navigations. */
export interface NavigatingEventArgs extends base.BaseEventArgs {
    /** Returns the action type either as `date` or `view` due to which the navigation takes place. */
    action: string;
    /** Defines the cancel option. */
    cancel: boolean;
    /** Returns the date value before date navigation takes place. */
    previousDate?: Date;
    /** Returns the current date value after navigation takes place. */
    currentDate?: Date;
    /** Returns the view name before the view navigation takes place. */
    previousView?: string;
    /** Returns the active view name after the view navigation takes place. */
    currentView?: string;
    /** Returns the active view index after the view navigation takes place. */
    viewIndex?: number;
}
/** An interface that holds options to control the rendering of all cells (work, time, resource, header, and more). */
export interface RenderCellEventArgs extends base.BaseEventArgs {
    /** Returns the type of the elements which is currently being rendered on the UI. */
    elementType: string;
    /** Returns the actual HTML element on which the required custom styling can be applied. */
    element: Element;
    /** Returns the date value of the cell that is currently rendering on UI. */
    date?: Date;
    /** Returns the group index of the cell. */
    groupIndex?: number;
}
/** An interface that holds options to control resize action on appointments. */
export interface ResizeEventArgs extends base.BaseEventArgs {
    /** Returns the resize element. */
    element: HTMLElement;
    /** Returns the resize event data. */
    data: Record<string, any>;
    /** Returns the mouse event. */
    event: MouseEvent;
    /** Defines the cancel option. */
    cancel?: boolean;
    /** Returns the start time of the clone element. */
    startTime?: Date;
    /** Returns the end time of the clone element. */
    endTime?: Date;
    /** Returns the group index of the clone element. */
    groupIndex?: number;
    /** Allows to define the interval in minutes for resizing the appointments. */
    interval?: number;
    /** Allows to define the scroll related actions while resizing to the edges of scheduler. */
    scroll?: ScrollOptions;
}
/** An interface that holds options to control drag action on appointments. */
export interface DragEventArgs extends base.BaseEventArgs {
    /** Returns the drag element. */
    element: HTMLElement;
    /** Returns the dragged event data. */
    data: Record<string, any>;
    /** Returns the multiple dragged events data */
    selectedData: Record<string, any>[];
    /** Returns the mouse event. */
    event: MouseEvent;
    /** Defines the cancel option. */
    cancel?: boolean;
    /** Returns the start time of the clone element. */
    startTime?: Date;
    /** Returns the end time of the clone element. */
    endTime?: Date;
    /** Returns the target element on which the event is dropped. */
    target?: HTMLElement;
    /** Returns the group index of the clone element. */
    groupIndex?: number;
    /** Defines the selectors to cancel the drop on selector target. */
    excludeSelectors?: string;
    /** Allows to define the interval in minutes for dragging the appointments. */
    interval?: number;
    /** Allows to define the scroll related actions while dragging to the edges of scheduler. */
    scroll?: ScrollOptions;
    /** Defines the date range navigation action while dragging. */
    navigation?: NavigateOptions;
}
/** An interface that holds options to control the navigation, while performing drag action on appointments. */
export interface NavigateOptions {
    /** Allows to enable or disable the auto navigation while performing drag action on appointments. */
    enable: boolean;
    /** Allows to define the time delay value while navigating. */
    timeDelay: number;
}
/** An interface that holds options to control the scrolling action while performing drag and resizing action on appointments. */
export interface ScrollOptions {
    /** Allows to enable or disable the auto scrolling while performing drag and resizing action on appointments. */
    enable: boolean;
    /** Allows to define the scroll step value. */
    scrollBy: number;
    /** Allows to define the time delay value while scrolling. */
    timeDelay: number;
}
/** An interface that holds export options. */
export interface ExportOptions {
    /** The fileName denotes the name to be given for the exported file. */
    fileName?: string;
    /** The exportType allows you to set the format of an Excel file to be exported either as .xlsx or .csv. */
    exportType?: ExcelFormat;
    /** The custom or specific field collection of event dataSource to be exported can be provided through fields option. */
    fields?: string[];
    /** Specifies the collection of field name and its header text to export to excel. If this list is empty, the scheduler exports based on fields. If both fieldsInfo and fields are empty then the scheduler exported all the fields. */
    fieldsInfo?: ExportFieldInfo[];
    /** The custom data collection can be exported by passing them through the customData option. */
    customData?: Record<string, any>[];
    /** There also exists option to export each individual instances of the recurring events to an Excel file,
     * by setting true or false to the `includeOccurrences` option, denoting either to include or exclude
     * the occurrences as separate instances on an exported Excel file.
     */
    includeOccurrences?: boolean;
    /**
     * Defines the delimiter for csv file export.
     * By default, csv files are using comma(,) as separator. You can specify this property to change the delimiter in csv file.
     */
    separator?: string;
}
/** An interface that holds the field name and its header text to export to excel. */
export interface ExportFieldInfo {
    /** Defines the header display text. */
    text: string;
    /** Defines the field name to export. */
    name: string;
}
/** An interface that holds the details of a resource. */
export interface ResourceDetails {
    /** Returns the resource model data such as the field mapping options used within it. */
    resource: ResourcesModel;
    /** Returns the child resource data. */
    resourceData: Record<string, any>;
    /** Returns the respective resource fields data. */
    groupData?: Record<string, any>;
    /** It returns the child level resources in compact mode. */
    resourceChild?: ResourceDetails[];
    /** It returns the Id of current resource in compact mode. */
    resourceId?: string;
    /** It returns the Name of current resource in compact mode. */
    resourceName?: string;
}
/** An interface that represents time zone and display text for scheduler.  */
export interface TimezoneFields {
    /** Assigns the timezone display text. */
    Text: string;
    /** Assigns the IANA timezone value. */
    Value: string;
}
/** An interface that holds options of events once it bound to scheduler. */
export interface DataBoundEventArgs extends base.BaseEventArgs {
    result: Record<string, any>[];
    count?: number;
    aggregates?: Record<string, any>;
}
/** An interface that holds options of events before it binds to scheduler. */
export interface DataBindingEventArgs extends base.BaseEventArgs {
    result: Record<string, any>[];
    count?: number;
    aggregates?: Record<string, any>;
}
/** @private */
export interface InlineClickArgs extends base.BaseEventArgs {
    data?: Record<string, any>;
    element: HTMLElement;
    groupIndex?: number;
    type: string;
}
/** @private */
export interface TdData {
    date?: Date;
    renderDates?: Date[];
    groupOrder?: string[];
    groupIndex?: number;
    className?: string[];
    colSpan?: number;
    rowSpan?: number;
    type: string;
    resourceLevelIndex?: number;
    resource?: ResourcesModel;
    resourceData?: Record<string, any>;
    startHour?: Date;
    endHour?: Date;
    workDays?: number[];
    cssClass?: string;
    template?: NodeList | Element[];
}
/** @private */
export interface TimeSlotData extends TdData {
    first: boolean;
    middle: boolean;
    last: boolean;
}
/** @private */
export interface KeyEventArgs {
    element: HTMLTableElement;
    rowIndex: number;
    columnIndex: number;
    maxIndex: number;
}
/** @private */
export interface CellTemplateArgs {
    date: Date;
    type: string;
    day?: string;
    groupIndex?: number;
}
/** @private */
export interface CrudArgs extends ActionEventArgs {
    promise?: Promise<any>;
    editParams?: SaveChanges;
}
/** @private */
export interface IRenderer {
    element: HTMLElement;
    renderDates: Date[];
    viewClass: string;
    isInverseTableSelect: boolean;
    isCurrentDate(date: Date): boolean;
    startDate(): Date;
    endDate(): Date;
    getStartDate?(): Date;
    getEndDate?(): Date;
    scrollToHour?(hour: string, scrollDate?: Date): void;
    scrollToDate?(scrollDate?: Date): void;
    highlightCurrentTime?(): void;
    getStartHour(): Date;
    getEndHour(): Date;
    getLabelText(view: string): string;
    getDateRangeText(): string;
    getEndDateFromStartDate(date: Date): Date;
    addEventListener(): void;
    removeEventListener(): void;
    getRenderDates(workDays?: number[]): Date[];
    getContentRows(): Element[];
    getEventRows(trCount: number): Element[];
    getDateSlots(renderDates: Date[], workDays: number[]): TdData[];
    getNextPreviousDate(type: string): Date;
    refreshHeader(): void;
    refreshResourceHeader(): void;
    renderLayout(type: string): void;
    renderResourceMobileLayout(): void;
    setPanel(panel: HTMLElement): void;
    getPanel(): HTMLElement;
    generateColumnLevels(): TdData[][];
    getColumnLevels(): TdData[][];
    createTableLayout(className?: string): Element;
    setResourceHeaderContent(tdElement: Element, tdData: TdData, className: string): void;
    destroy(): void;
    isTimelineView(): boolean;
    setColWidth(content: HTMLElement): void;
    resetColWidth(): void;
    getAdjustedDate?(date: Date): Date;
    viewIndex: number;
    colLevels: TdData[][];
}
/** @private */
export interface EJ2Instance extends HTMLElement {
    ej2_instances: Record<string, any>[];
}
/** @private */
export interface ScrollCss {
    padding?: string;
    border?: string;
    rtlPadding?: string;
    rtlBorder?: string;
}
/** @private */
export interface NotifyEventArgs {
    module?: string;
    cssProperties?: ScrollCss;
    processedData?: Record<string, any>[];
    isPreventScrollUpdate?: boolean;
    scrollPosition?: Record<string, any>;
}
/** @private */
export interface LayoutData {
    element: HTMLElement;
    selectedDate: Date;
}
/** @private */
export interface EventFieldsMapping {
    id?: string;
    isBlock?: string;
    subject?: string;
    startTime?: string;
    endTime?: string;
    startTimezone?: string;
    endTimezone?: string;
    location?: string;
    description?: string;
    isAllDay?: string;
    recurrenceID?: string;
    recurrenceRule?: string;
    recurrenceException?: string;
    isReadonly?: string;
    followingID?: string;
}
/** @private */
export interface ElementData {
    index: number;
    left: string;
    width: string;
    day: number;
    dayIndex: number;
    record: Record<string, any>;
    resource: number;
}
/** @private */
export interface SaveChanges {
    addedRecords: Record<string, any>[];
    changedRecords: Record<string, any>[];
    deletedRecords: Record<string, any>[];
}
/** @private */
export interface UIStateArgs {
    expand?: boolean;
    isInitial?: boolean;
    left?: number;
    top?: number;
    isGroupAdaptive?: boolean;
    isIgnoreOccurrence?: boolean;
    groupIndex?: number;
    action?: boolean;
    isBlock?: boolean;
    isCustomMonth?: boolean;
    isPreventTimezone?: boolean;
}
/**
 *  @private
 *  @deprecated
 */
export interface TreeViewArgs {
    resourceChild?: TreeViewArgs[];
    resourceId?: string;
    resourceName?: string;
}
/** @private */
export interface ResizeEdges {
    left: boolean;
    right: boolean;
    top: boolean;
    bottom: boolean;
}
/** @private */
export interface ActionBaseArgs {
    X?: number;
    Y?: number;
    pageX?: number;
    pageY?: number;
    target?: EventTarget;
    scrollInterval?: number;
    start?: Date;
    end?: Date;
    isAllDay?: boolean;
    action?: string;
    navigationInterval?: number;
    index?: number;
    height?: number;
    width?: number;
    interval?: number;
    cellWidth?: number;
    cellHeight?: number;
    groupIndex?: number;
    actionIndex?: number;
    slotInterval?: number;
    clone?: HTMLElement;
    element?: HTMLElement;
    cloneElement?: HTMLElement[];
    originalElement?: HTMLElement[];
    event?: Record<string, any>;
    excludeSelectors?: string;
    scroll?: ScrollOptions;
    navigation?: NavigateOptions;
}
/** @private */
export interface StateArgs {
    isRefresh: boolean;
    isResource: boolean;
    isView: boolean;
    isDate: boolean;
    isLayout: boolean;
    isDataManager: boolean;
}
/** @private */
export interface ViewsData extends ViewsModel {
    cellHeaderTemplateName?: string;
    dateHeaderTemplateName?: string;
    cellTemplateName?: string;
    resourceHeaderTemplateName?: string;
    headerIndentTemplateName?: string;
    eventTemplateName?: string;
    dayHeaderTemplateName?: string;
    monthHeaderTemplateName?: string;
}
/** @private */
export interface CrudAction {
    isCrudAction: boolean;
    sourceEvent: TdData[];
    targetEvent: TdData[];
}
/** @private */
export interface CallbackFunction extends Function {
    bind<T, A0, A1, A2, A3, A extends any[], R>(this: (this: T, args0: A0, args1: A1, args2: A2, args3: A3, ...args: A[]) => R, thisArgs: T, args0: A0, args1: A1, args2: A2, args3: A3): (...args: A[]) => R;
}
/** @private */
export interface SortComparerFunction {
    (param: Record<string, any>[]): Record<string, any>[];
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/base/resource.d.ts
export  class ResourceBase {
    private parent;
    resourceCollection: ResourcesModel[];
    lastResourceLevel: TdData[];
    renderedResources: TdData[];
    expandedResources: TdData[];
    private colorIndex;
    private resourceTreeLevel;
    private treeViewObj;
    private treePopup;
    private popupOverlay;
    private leftPixel;
    constructor(parent: Schedule);
    renderResourceHeaderIndent(tr: Element): void;
    hideResourceRows(tBody: Element): void;
    createResourceColumn(): Element;
    setRenderedResources(): void;
    setExpandedResources(): void;
    getContentRows(resData: TdData[], isVirtualScroll?: boolean): Element[];
    private setMargin;
    private countCalculation;
    onTreeIconClick(e: Event): void;
    updateContent(index: number, hide: boolean): void;
    updateVirtualContent(index: number, expand: boolean, e: Event, target: Element): void;
    renderResourceHeader(): void;
    renderResourceTree(): void;
    private generateTreeData;
    private renderResourceHeaderText;
    private menuClick;
    selectResourceByIndex(groupIndex: number): void;
    private resourceClick;
    private triggerEvents;
    private documentClick;
    bindResourcesData(isSetModel: boolean): void;
    private dataManagerSuccess;
    private getResourceModel;
    refreshLayout(isSetModel: boolean): void;
    setResourceCollection(): void;
    generateResourceLevels(innerDates: TdData[], isTimeLine?: boolean): TdData[][];
    generateCustomHours(renderDates: TdData[], startHour: string, endHour: string, groupOrder?: string[]): TdData[];
    private generateHeaderLevels;
    setResourceValues(eventObj: Record<string, any>, groupIndex?: number): void;
    getResourceColor(eventObj: Record<string, any>, groupOrder?: string[]): string;
    getCssClass(eventObj: Record<string, any>): string;
    getResourceRenderDates(): Date[];
    private filterData;
    getResourceData(eventObj: Record<string, any>, index: number, groupEditIndex: number[]): void;
    addResource(resources: Record<string, any> | Record<string, any>[], name: string, index: number): void;
    removeResource(resourceId: string | string[] | number | number[], name: string): void;
    getIndexFromResourceId(id: string | number, name?: string, resourceData?: ResourcesModel, event?: Record<string, any>, parentField?: string): number;
    resourceExpand(id: string | number, name: string, hide: boolean): void;
    resourceScroll(id: string | number, name: string): void;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/base/schedule-model.d.ts
/**
 * Interface for a class Schedule
 */
export interface ScheduleModel extends base.ComponentModel{
    /**
     * Sets the `width` of the Schedule component, accepting both string and number values.
     *
     * {% codeBlock src='schedule/width/index.md' %}{% endcodeBlock %}
     *
     * The string value can be either pixel or percentage format.
     * When set to `auto`, the Schedule width gets auto-adjusted and display its content related to the viewable screen size.
     *
     * @default 'auto'
     */
    width?: string | number;
    /**
     * Sets the `height` of the Schedule component, accepting both string and number values.
     *
     * {% codeBlock src='schedule/height/index.md' %}{% endcodeBlock %}
     *
     * The string type includes either pixel or percentage values.
     * When `height` is set with specific pixel value, then the Schedule will be rendered to that specified space.
     * In case, if `auto` value is set, then the height of the Schedule gets auto-adjusted within the given container.
     *
     * @default 'auto'
     */
    height?: string | number;
    /**
     * When set to `false`, hides the header bar of the Schedule from UI. By default,
     * the header bar holds the date and view navigation options, to which the user can add their own custom items onto it.
     *
     * {% codeBlock src='schedule/showHeaderBar/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    showHeaderBar?: boolean;
    /**
     * When set to `false`, hides the current time indicator from the Schedule. Otherwise,
     * it visually depicts the live current system time appropriately on the user interface.
     *
     * {% codeBlock src='schedule/showTimeIndicator/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    showTimeIndicator?: boolean;
    /**
     * Defines whether to enable date navigations via swipe in touch devices or not.
     *
     * @default true
     */
    allowSwiping?: boolean;
    /**
     * To set the active view on scheduler, the `currentView` property can be used and it usually accepts either of the following available
     *  view options. The view option specified in this property will be initially loaded on the schedule.
     * * Day
     * * Week
     * * WorkWeek
     * * Month
     * * Year
     * * Agenda
     * * MonthAgenda
     * * TimelineDay
     * * TimelineWeek
     * * TimelineWorkWeek
     * * TimelineMonth
     * * TimelineYear
     *
     * {% codeBlock src='schedule/currentView/index.md' %}{% endcodeBlock %}
     *
     * @default 'Week'
     */
    currentView?: View;
    /**
     * This property holds the views collection and its configurations. It accepts either the array of view names or the array of view
     * objects that holds different configurations for each views. By default,
     * Schedule displays all the views namely `Day`, `Week`, `Work Week`, `Month` and `Agenda`.
     *
     * Example for array of views:
     * {% codeBlock src="schedule/view-api/index.ts" %}{% endcodeBlock %}
     *
     * Example for array of view objects:
     * {% codeBlock src="schedule/view-api/array.ts" %}{% endcodeBlock %}
     * {% codeBlock src='schedule/views/index.md' %}{% endcodeBlock %}
     *
     * @default '['Day', 'Week', 'WorkWeek', 'Month', 'Agenda']'
     */
    views?: View[] | ViewsModel[];
    /**
     * To mark the active (current) date on the Schedule, `selectedDate` property can be defined.
     * Usually, it defaults to the current System date.
     *
     * {% codeBlock src='schedule/selectedDate/index.md' %}{% endcodeBlock %}
     *
     * @default 'new Date()'
     * @aspDefaultValue DateTime.Now
     */
    selectedDate?: Date;
    /**
     * To define the minimum date on the Schedule, `minDate` property can be defined.
     * Usually, it defaults to the new Date(1900, 0, 1).
     *
     * {% codeBlock src='schedule/minDate/index.md' %}{% endcodeBlock %}
     *
     * @default new Date(1900, 0, 1)
     * @aspDefaultValue new DateTime(1900, 1, 1)
     */
    minDate?: Date;
    /**
     * To define the maximum date on the Schedule, `maxDate` property can be defined.
     * Usually, it defaults to the new Date(2099, 11, 31).
     *
     * {% codeBlock src='schedule/maxDate/index.md' %}{% endcodeBlock %}
     *
     * @default new Date(2099, 11, 31)
     * @aspDefaultValue new DateTime(2099, 12, 31)
     */
    maxDate?: Date;
    /**
     * By default, Schedule follows the date-format as per the default culture assigned to it.
     * It is also possible to manually set specific date format by using the `dateFormat` property.
     *
     * {% codeBlock src='schedule/dateFormat/index.md' %}{% endcodeBlock %}
     *
     * The format of the date range label in the header bar depends on the `dateFormat` value or else based on the
     * locale assigned to the Schedule.
     *
     * @default null
     */
    dateFormat?: string;
    /**
     * It allows the Scheduler to display in other calendar modes.
     * By default, Scheduler is displayed in `Gregorian` calendar mode.
     *
     * {% codeBlock src='schedule/calendarMode/index.md' %}{% endcodeBlock %}
     *
     * To change the mode, you can set either `Gregorian` or `Islamic` as a value to this `calendarMode` property.
     *
     * @default 'Gregorian'
     */
    calendarMode?: CalendarType;
    /**
     * When set to `false`, it hides the weekend days of a week from the Schedule. The days which are not defined in the working days
     * collection are usually treated as weekend days.
     *
     * {% codeBlock src='schedule/showWeekend/index.md' %}{% endcodeBlock %}
     *
     * Note: By default, this option is not applicable on `Work Week` view.
     * For example, if the working days are defined as [1, 2, 3, 4], then the remaining days of that week will be considered as
     *  the weekend days and will be hidden on all the views.
     *
     * @default true
     */
    showWeekend?: boolean;
    /**
     * This option allows the user to set the first day of a week on Schedule. It should be based on the locale set to it and each culture
     * defines its own first day of week values. If needed, the user can set it manually on his own by defining the value through
     * this property. It usually accepts the integer values, whereby 0 is always denoted as Sunday, 1 as Monday and so on.
     *
     * {% codeBlock src='schedule/firstDayOfWeek/index.md' %}{% endcodeBlock %}
     *
     * @default 0
     */
    firstDayOfWeek?: number;
    /**
     * It allows the Scheduler to display week numbers based on following available week options. The week
     *  option specified in this property will be initially loaded on the schedule.
     * * FirstDay
     * * FirstFourDayWeek
     * * FirstFullWeek
     *
     * {% codeBlock src='schedule/weekRule/index.md' %}{% endcodeBlock %}
     *
     * @default 'FirstDay'
     */
    weekRule?: WeekRule;
    /**
     * It is used to set the working days on Schedule. The only days that are defined in this collection will be rendered on the `workWeek`
     * view whereas on other views, it will display all the usual days and simply highlights the working days with different shade.
     *
     * {% codeBlock src='schedule/workDays/index.md' %}{% endcodeBlock %}
     *
     * @default '[1, 2, 3, 4, 5]'
     * @aspType int[]
     */
    workDays?: number[];
    /**
     * This option allows the user to set the number of months count to be displayed on the Schedule.
     *
     * {% codeBlock src='schedule/monthsCount/index.md' %}{% endcodeBlock %}
     *
     * @default 12
     * @aspType int
     */
    monthsCount?: number;
    /**
     * It is used to specify the starting hour, from which the Schedule starts to display. It accepts the time string in a short skeleton
     * format and also, hides the time beyond the specified start time.
     *
     * {% codeBlock src='schedule/startHour/index.md' %}{% endcodeBlock %}
     *
     * @default '00:00'
     */
    startHour?: string;
    /**
     * It is used to specify the end hour, at which the Schedule ends. It too accepts the time string in a short skeleton format.
     *
     * {% codeBlock src='schedule/endHour/index.md' %}{% endcodeBlock %}
     *
     * @default '24:00'
     */
    endHour?: string;
    /**
     * By default, Schedule follows the time-format as per the default culture assigned to it.
     * It is also possible to manually set specific time format by using the `timeFormat` property.
     *
     * {% codeBlock src='schedule/timeFormat/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    timeFormat?: string;
    /**
     * When set to `true`, If valid, the scroll on the all day row is activated when the all day row
     * height reaches the max height when the all day row is expanded.
     *
     * {% codeBlock src='schedule/enableAllDayScroll/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    enableAllDayScroll?: boolean;
    /**
     * When set to `true`, the header view navigations are listed under the popup and if we enable resource grouping, the compact view will be enabled.
     *
     * {% codeBlock src='schedule/enableAdaptiveUI/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    enableAdaptiveUI?: boolean;
    /**
     * When set to `true`, allows the resizing of appointments. It allows the rescheduling of appointments either by changing the
     * start or end time by dragging the event resize handlers.
     *
     * {% codeBlock src='schedule/allowResizing/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    allowResizing?: boolean;
    /**
     * The working hours should be highlighted on Schedule with different color shade and an additional option must be provided to
     * highlight it or not. This functionality is handled through `workHours` property and the start work hour should be 9 AM by default
     * and end work hour should point to 6 PM. The start and end working hours needs to be provided as Time value of short skeleton type.
     *
     * {% codeBlock src='schedule/workHours/index.md' %}{% endcodeBlock %}
     *
     * @default { highlight: true, start: '09:00', end: '18:00' }
     */
    workHours?: WorkHoursModel;
    /**
     * Allows to set different time duration on Schedule along with the customized grid count. It also has template option to
     *  customize the time slots with required time values in its own format.
     *
     * {% codeBlock src='schedule/timeScale/index.md' %}{% endcodeBlock %}
     *
     * @default { enable: true, interval: 60, slotCount: 2, majorSlotTemplate: null, minorSlotTemplate: null }
     */
    timeScale?: TimeScaleModel;
    /**
     * When set to `true`, allows the keyboard interaction to take place on Schedule.
     *
     * {% codeBlock src='schedule/allowKeyboardInteraction/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    allowKeyboardInteraction?: boolean;
    /**
     * When set to `true`, allows the appointments to move over the time slots. When an appointment is dragged, both its start
     * and end time tends to change simultaneously allowing it to reschedule the appointment on some other time.
     *
     * {% codeBlock src='schedule/allowDragAndDrop/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    allowDragAndDrop?: boolean;
    /**
     * It accepts either the string or HTMLElement as template design content and parse it appropriately before displaying it onto
     * the date header cells. The field that can be accessed via this template is `date`.
     *
     * {% codeBlock src='schedule/dateHeaderTemplate/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    dateHeaderTemplate?: string;
    /**
     * It accepts either the string or HTMLElement as template design content and parse it appropriately before displaying it onto
     * the month date cells. This template is only applicable for month view day cells.
     *
     * {% codeBlock src='schedule/cellHeaderTemplate/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    cellHeaderTemplate?: string;
    /**
     * It accepts either the string or HTMLElement as template design content and parse it appropriately before displaying it onto
     * the day header cells. This template is only applicable for year view header cells.
     *
     * {% codeBlock src='schedule/dayHeaderTemplate/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    dayHeaderTemplate?: string;
    /**
     * It accepts either the string or HTMLElement as template design content and parse it appropriately before displaying it onto
     * the month header cells. This template is only applicable for year view header cells.
     *
     * {% codeBlock src='schedule/monthHeaderTemplate/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    monthHeaderTemplate?: string;
    /**
     * The template option which is used to render the customized work cells on the Schedule. Here, the template accepts either
     *  the string or HTMLElement as template design and then the parsed design is displayed onto the work cells.
     *  The fields accessible via template are as follows.
     * * date
     * * groupIndex
     * * type
     *
     * Refer to the below code snippet.
     *
     * {% codeBlock src='schedule/cellTemplate/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    cellTemplate?: string;
    /**
     * When set to `true`, makes the Schedule to render in a read only mode. No CRUD actions will be allowed at this time.
     *
     * {% codeBlock src='schedule/readonly/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    readonly?: boolean;
    /**
     * When set to `true`, displays a quick popup with cell or event details on single clicking over the cells or on events.
     * By default, it is set to `true`.
     *
     * {% codeBlock src='schedule/showQuickInfo/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    showQuickInfo?: boolean;
    /**
     * This property helps user to add/edit the event in inline. By default, it is set to `false`.
     *
     * {% codeBlock src='schedule/allowInline/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    allowInline?: boolean;
    /**
     * This property helps user to allow/prevent the selection of multiple cells. By default, it is set to `true`.
     *
     * {% codeBlock src='schedule/allowMultiCellSelection/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    allowMultiCellSelection?: boolean;
    /**
     * This property helps user to allow/prevent the selection of multiple days(rows). By default, it is set to `true`.
     *
     * {% codeBlock src='schedule/allowMultiRowSelection/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    allowMultiRowSelection?: boolean;
    /**
     * This property helps to show quick popup after multiple cell selection. By default, it is set to `false`.
     *
     * {% codeBlock src='schedule/quickInfoOnSelectionEnd/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    quickInfoOnSelectionEnd?: boolean;
    /**
     * When set to `true`, displays the week number of the current view date range. By default, it is set to `false`.
     *
     * {% codeBlock src='schedule/showWeekNumber/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    showWeekNumber?: boolean;
    /**
     * when set to `true`, allows the height of the work-cells to adjust automatically
     * based on the number of appointments present in those time ranges.
     *
     * {% codeBlock src='schedule/rowAutoHeight/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    rowAutoHeight?: boolean;
    /**
     * This property helps to drag the multiple selected events. By default, it is set to `false`.
     *
     * {% codeBlock src='schedule/allowMultiDrag/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    allowMultiDrag?: boolean;
    /**
     * This property helps render the year view customized months. By default, it is set to `0`.
     *
     * {% codeBlock src='schedule/firstMonthOfYear/index.md' %}{% endcodeBlock %}
     *
     * @default 0
     */
    firstMonthOfYear?: number;
    /**
     * The template option to render the customized editor window. The form elements defined within this template should be accompanied
     *  with `e-field` class, so as to fetch and process it from internally.
     *
     * {% codeBlock src='schedule/editorTemplate/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    editorTemplate?: string;
    /**
     * The template option to customize the quick window. The three sections of the quick popup whereas the header, content,
     * and footer can be easily customized with individual template option.
     *
     * {% codeBlock src='schedule/quickInfoTemplates/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    quickInfoTemplates?: QuickInfoTemplatesModel;
    /**
     * Sets the number of days to be displayed by default in Agenda View and in case of virtual scrolling,
     * the number of days will be fetched on each scroll-end based on this count.
     *
     * {% codeBlock src='schedule/agendaDaysCount/index.md' %}{% endcodeBlock %}
     *
     * @default 7
     */
    agendaDaysCount?: number;
    /**
     * The days which does not has even a single event to display will be hidden from the UI of Agenda View by default.
     * When this property is set to `false`, the empty dates will also be displayed on the Schedule.
     *
     * {% codeBlock src='schedule/hideEmptyAgendaDays/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    hideEmptyAgendaDays?: boolean;
    /**
     * The recurrence validation will be done by default. When this property is set to `false`, the recurrence validation will be skipped.
     *
     * {% codeBlock src='schedule/enableRecurrenceValidation/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableRecurrenceValidation?: boolean;
    /**
     * Schedule will be assigned with specific timezone, so as to display the events in it accordingly. By default,
     * Schedule dates are processed with System timezone, as no timezone will be assigned specifically to the Schedule at the initial time.
     * Whenever the Schedule is bound to remote data services, it is always recommended to set specific timezone to Schedule to make the
     * events on it to display on the same time irrespective of the system timezone. It usually accepts
     * the valid [IANA](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) timezone names.
     *
     * {% codeBlock src='schedule/timezone/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    timezone?: string;
    /**
     * Complete set of settings related to Schedule events to bind it to local or remote dataSource, map applicable database fields and
     * other validation to be carried out on the available fields.
     *
     * {% codeBlock src='schedule/eventSettings/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    eventSettings?: EventSettingsModel;
    /**
     * Allows to define the collection of timezone items in the Schedule. Only the items bound to this property get listed out in the timezone dropdown of the appointment window.
     *
     * {% codeBlock src='schedule/timezoneDatasource/index.md' %}{% endcodeBlock %}
     *
     * @default timezoneData
     */
    timezoneDataSource?: TimezoneFields[];
    /**
     * Template option to customize the resource header bar. Here, the template accepts either
     *  the string or HTMLElement as template design and then the parsed design is displayed onto the resource header cells.
     * The following can be accessible via template.
     * * resource - All the resource fields.
     * * resourceData - object collection of current resource.
     *
     * Refer to the below code snippet.
     *
     * {% codeBlock src='schedule/resourceHeaderTemplate/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    resourceHeaderTemplate?: string;
    /**
     * Template option to customize the header indent bar. Here, the template accepts either
     *  the string or HTMLElement as template design and then the parsed design is displayed onto the header indent cell.
     *
     * Refer to the below code snippet.
     *
     * {% codeBlock src='schedule/headerIndentTemplate/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    headerIndentTemplate?: string;
    /**
     * Allows defining the group related settings of multiple resources. When this property is non-empty, it means
     * that the resources will be grouped on the schedule layout based on the provided resource names.
     *
     * {% codeBlock src='schedule/group/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     */
    group?: GroupModel;
    /**
     * Allows defining the collection of resources to be displayed on the Schedule. The resource collection needs to be defined
     *  with unique resource names to identify it along with the respective dataSource and field mapping options.
     *
     * {% codeBlock src='schedule/resources/index.md' %}{% endcodeBlock %}
     *
     * @default []
     */
    resources?: ResourcesModel[];
    /**
     * Allows defining the collection of custom header rows to display the year, month, week, date and hour label as an individual row
     *  on the timeline view of the scheduler.
     *
     * {% codeBlock src='schedule/headerRows/index.md' %}{% endcodeBlock %}
     *
     * @default []
     */
    headerRows?: HeaderRowsModel[];
    /**
     * It is used to customize the Schedule which accepts custom CSS class names that defines specific user-defined styles and themes
     * to be applied on the Schedule element.
     *
     * {% codeBlock src='schedule/cssClass/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    cssClass?: string;
    /**
     * It enables the external drag and drop support for appointments on scheduler, to be able to move them out of the scheduler layout.
     * When the drag area is explicitly set with specific DOM element name, the appointments can be dragged anywhere within the specified drag area location.
     *
     * {% codeBlock src='schedule/eventDragArea/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    eventDragArea?: string;
    /**
     * Triggers after the scheduler component is created.
     *
     * @event 'created'
     */
    created?: base.EmitType<Record<string, any>>;
    /**
     * Triggers when the scheduler component is destroyed.
     *
     * @event 'destroyed'
     */
    destroyed?: base.EmitType<Record<string, any>>;
    /**
     * Triggers when the scheduler cells are single clicked or on single tap on the same cells in mobile devices.
     *
     * @event 'cellClick'
     */
    cellClick?: base.EmitType<CellClickEventArgs>;
    /**
     * Triggers when the scheduler cells are double clicked.
     *
     * @event 'cellDoubleClick'
     */
    cellDoubleClick?: base.EmitType<CellClickEventArgs>;
    /**
     * Triggers when the more events indicator are clicked.
     *
     * @event 'moreEventsClick'
     */
    moreEventsClick?: base.EmitType<MoreEventsClickArgs>;
    /**
     * Triggers when the scheduler elements are hovered.
     *
     * @event 'hover'
     */
    hover?: base.EmitType<HoverEventArgs>;
    /**
     * Triggers when multiple cells or events are selected on the Scheduler.
     *
     * @event 'select'
     */
    select?: base.EmitType<SelectEventArgs>;
    /**
     * Triggers on beginning of every scheduler action.
     *
     * {% codeBlock src='schedule/actionBegin/index.md' %}{% endcodeBlock %}
     *
     * @event 'actionBegin'
     */
    actionBegin?: base.EmitType<ActionEventArgs>;
    /**
     * Triggers on successful completion of the scheduler actions.
     *
     * {% codeBlock src='schedule/actionComplete/index.md' %}{% endcodeBlock %}
     *
     * @event 'actionComplete'
     */
    actionComplete?: base.EmitType<ActionEventArgs>;
    /**
     * Triggers when a scheduler action gets failed or interrupted and an error information will be returned.
     *
     * {% codeBlock src='schedule/actionFailure/index.md' %}{% endcodeBlock %}
     *
     * @event 'actionFailure'
     */
    actionFailure?: base.EmitType<ActionEventArgs>;
    /**
     * Triggers before the date or view navigation takes place on scheduler.
     *
     * {% codeBlock src='schedule/navigating/index.md' %}{% endcodeBlock %}
     *
     * @event 'navigating'
     */
    navigating?: base.EmitType<NavigatingEventArgs>;
    /**
     * Triggers before each element of the schedule rendering on the page.
     *
     * {% codeBlock src='schedule/renderCell/index.md' %}{% endcodeBlock %}
     *
     * @event 'renderCell'
     */
    renderCell?: base.EmitType<RenderCellEventArgs>;
    /**
     * Triggers when the events are single clicked or on single tapping the events on the mobile devices.
     *
     * {% codeBlock src='schedule/eventClick/index.md' %}{% endcodeBlock %}
     *
     * @event 'eventClick'
     */
    eventClick?: base.EmitType<EventClickArgs>;
    /**
     * Triggers before each of the event getting rendered on the scheduler user interface.
     *
     * {% codeBlock src='schedule/eventRendered/index.md' %}{% endcodeBlock %}
     *
     * @event 'eventRendered'
     */
    eventRendered?: base.EmitType<EventRenderedArgs>;
    /**
     * Triggers before the data binds to the scheduler.
     *
     * {% codeBlock src='schedule/dataBinding/index.md' %}{% endcodeBlock %}
     *
     * @event 'dataBinding'
     */
    dataBinding?: base.EmitType<ReturnType>;
    /**
     * Triggers before any of the scheduler popups opens on the page.
     *
     * {% codeBlock src='schedule/popupOpen/index.md' %}{% endcodeBlock %}
     *
     * @event 'popupOpen'
     */
    popupOpen?: base.EmitType<PopupOpenEventArgs>;
    /**
     * Triggers before any of the scheduler popups close on the page.
     *
     * {% codeBlock src='schedule/popupClose/index.md' %}{% endcodeBlock %}
     *
     * @event 'popupClose'
     */
    popupClose?: base.EmitType<PopupCloseEventArgs>;
    /**
     * Triggers when an appointment is started to drag.
     *
     * {% codeBlock src='schedule/dragStart/index.md' %}{% endcodeBlock %}
     *
     * @event 'dragStart'
     */
    dragStart?: base.EmitType<DragEventArgs>;
    /**
     * Triggers when an appointment is being in a dragged state.
     *
     * {% codeBlock src='schedule/drag/index.md' %}{% endcodeBlock %}
     *
     * @event 'drag'
     */
    drag?: base.EmitType<DragEventArgs>;
    /**
     * Triggers when the dragging of appointment is stopped.
     *
     * {% codeBlock src='schedule/dragStop/index.md' %}{% endcodeBlock %}
     *
     * @event 'dragStop'
     */
    dragStop?: base.EmitType<DragEventArgs>;
    /**
     * Triggers when an appointment is started to resize.
     *
     * {% codeBlock src='schedule/resizeStart/index.md' %}{% endcodeBlock %}
     *
     * @event 'resizeStart'
     */
    resizeStart?: base.EmitType<ResizeEventArgs>;
    /**
     * Triggers when an appointment is being in a resizing action.
     *
     * {% codeBlock src='schedule/resizing/index.md' %}{% endcodeBlock %}
     *
     * @event 'resizing'
     */
    resizing?: base.EmitType<ResizeEventArgs>;
    /**
     * Triggers when the resizing of appointment is stopped.
     *
     * {% codeBlock src='schedule/resizeStop/index.md' %}{% endcodeBlock %}
     *
     * @event 'resizeStop'
     */
    resizeStop?: base.EmitType<ResizeEventArgs>;
    /**
     * Triggers once the event data is bound to the scheduler.
     *
     * {% codeBlock src='schedule/dataBound/index.md' %}{% endcodeBlock %}
     *
     * @event 'dataBound'
     */
    dataBound?: base.EmitType<ReturnType>;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/base/schedule.d.ts
/**
 * Represents the Schedule component that displays a list of events scheduled against specific date and timings,
 * thus helping us to plan and manage it properly.
 * ```html
 * <div id="schedule"></div>
 * ```
 * ```typescript
 * <script>
 *   var scheduleObj = new Schedule();
 *   scheduleObj.appendTo("#schedule");
 * </script>
 * ```
 */
export  class Schedule extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    globalize: base.Internationalization;
    localeObj: base.L10n;
    isAdaptive: boolean;
    dataModule: Data;
    eventTooltip: EventTooltip;
    eventWindow: EventWindow;
    renderModule: Render;
    headerModule: HeaderRenderer;
    scrollModule: Scroll;
    inlineModule: InlineEdit;
    virtualScrollModule: VirtualScroll;
    iCalendarExportModule: ICalendarExport;
    iCalendarImportModule: ICalendarImport;
    crudModule: Crud;
    scheduleTouchModule: ScheduleTouch;
    keyboardInteractionModule: KeyboardInteraction;
    activeView: IRenderer;
    activeCellsData: CellClickEventArgs;
    activeEventData: EventClickArgs;
    eventBase: EventBase;
    workCellAction: WorkCellInteraction;
    tzModule: Timezone;
    resourceBase: ResourceBase;
    private cellHeaderTemplateFn;
    private cellTemplateFn;
    private dateHeaderTemplateFn;
    private dayHeaderTemplateFn;
    private monthHeaderTemplateFn;
    private majorSlotTemplateFn;
    private minorSlotTemplateFn;
    private appointmentTemplateFn;
    private eventTooltipTemplateFn;
    private headerTooltipTemplateFn;
    private editorTemplateFn;
    private quickInfoTemplatesHeaderFn;
    private quickInfoTemplatesContentFn;
    private quickInfoTemplatesFooterFn;
    private resourceHeaderTemplateFn;
    private headerIndentTemplateFn;
    private defaultLocale;
    dayModule: Day;
    weekModule: Week;
    workWeekModule: WorkWeek;
    monthAgendaModule: MonthAgenda;
    monthModule: Month;
    yearModule: Year;
    agendaModule: Agenda;
    timelineViewsModule: TimelineViews;
    timelineMonthModule: TimelineMonth;
    timelineYearModule: TimelineYear;
    resizeModule: Resize;
    dragAndDropModule: DragAndDrop;
    excelExportModule: ExcelExport;
    printModule: Print;
    viewOptions: {
        [key: string]: ViewsData[];
    };
    viewCollections: ViewsData[];
    viewIndex: number;
    activeViewOptions: ViewsData;
    eventFields: EventFieldsMapping;
    editorTitles: EventFieldsMapping;
    eventsData: Record<string, any>[];
    eventsProcessed: Record<string, any>[];
    blockData: Record<string, any>[];
    blockProcessed: Record<string, any>[];
    resourceCollection: ResourcesModel[];
    currentAction: CurrentAction;
    quickPopup: QuickPopups;
    selectedElements: Element[];
    uiStateValues: UIStateArgs;
    internalTimeFormat: string;
    calendarUtil: CalendarUtil;
    scrollTop: number;
    scrollLeft: number;
    isPrinting: boolean;
    /**
     * Sets the `width` of the Schedule component, accepting both string and number values.
     *
     * {% codeBlock src='schedule/width/index.md' %}{% endcodeBlock %}
     *
     * The string value can be either pixel or percentage format.
     * When set to `auto`, the Schedule width gets auto-adjusted and display its content related to the viewable screen size.
     *
     * @default 'auto'
     */
    width: string | number;
    /**
     * Sets the `height` of the Schedule component, accepting both string and number values.
     *
     * {% codeBlock src='schedule/height/index.md' %}{% endcodeBlock %}
     *
     * The string type includes either pixel or percentage values.
     * When `height` is set with specific pixel value, then the Schedule will be rendered to that specified space.
     * In case, if `auto` value is set, then the height of the Schedule gets auto-adjusted within the given container.
     *
     * @default 'auto'
     */
    height: string | number;
    /**
     * When set to `false`, hides the header bar of the Schedule from UI. By default,
     * the header bar holds the date and view navigation options, to which the user can add their own custom items onto it.
     *
     * {% codeBlock src='schedule/showHeaderBar/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    showHeaderBar: boolean;
    /**
     * When set to `false`, hides the current time indicator from the Schedule. Otherwise,
     * it visually depicts the live current system time appropriately on the user interface.
     *
     * {% codeBlock src='schedule/showTimeIndicator/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    showTimeIndicator: boolean;
    /**
     * Defines whether to enable date navigations via swipe in touch devices or not.
     *
     * @default true
     */
    allowSwiping: boolean;
    /**
     * To set the active view on scheduler, the `currentView` property can be used and it usually accepts either of the following available
     *  view options. The view option specified in this property will be initially loaded on the schedule.
     * * Day
     * * Week
     * * WorkWeek
     * * Month
     * * Year
     * * Agenda
     * * MonthAgenda
     * * TimelineDay
     * * TimelineWeek
     * * TimelineWorkWeek
     * * TimelineMonth
     * * TimelineYear
     *
     * {% codeBlock src='schedule/currentView/index.md' %}{% endcodeBlock %}
     *
     * @default 'Week'
     */
    currentView: View;
    /**
     * This property holds the views collection and its configurations. It accepts either the array of view names or the array of view
     * objects that holds different configurations for each views. By default,
     * Schedule displays all the views namely `Day`, `Week`, `Work Week`, `Month` and `Agenda`.
     *
     * Example for array of views:
     * {% codeBlock src="schedule/view-api/index.ts" %}{% endcodeBlock %}
     *
     * Example for array of view objects:
     * {% codeBlock src="schedule/view-api/array.ts" %}{% endcodeBlock %}
     * {% codeBlock src='schedule/views/index.md' %}{% endcodeBlock %}
     *
     * @default '['Day', 'Week', 'WorkWeek', 'Month', 'Agenda']'
     */
    views: View[] | ViewsModel[];
    /**
     * To mark the active (current) date on the Schedule, `selectedDate` property can be defined.
     * Usually, it defaults to the current System date.
     *
     * {% codeBlock src='schedule/selectedDate/index.md' %}{% endcodeBlock %}
     *
     * @default 'new Date()'
     * @aspDefaultValue DateTime.Now
     */
    selectedDate: Date;
    /**
     * To define the minimum date on the Schedule, `minDate` property can be defined.
     * Usually, it defaults to the new Date(1900, 0, 1).
     *
     * {% codeBlock src='schedule/minDate/index.md' %}{% endcodeBlock %}
     *
     * @default new Date(1900, 0, 1)
     * @aspDefaultValue new DateTime(1900, 1, 1)
     */
    minDate: Date;
    /**
     * To define the maximum date on the Schedule, `maxDate` property can be defined.
     * Usually, it defaults to the new Date(2099, 11, 31).
     *
     * {% codeBlock src='schedule/maxDate/index.md' %}{% endcodeBlock %}
     *
     * @default new Date(2099, 11, 31)
     * @aspDefaultValue new DateTime(2099, 12, 31)
     */
    maxDate: Date;
    /**
     * By default, Schedule follows the date-format as per the default culture assigned to it.
     * It is also possible to manually set specific date format by using the `dateFormat` property.
     *
     * {% codeBlock src='schedule/dateFormat/index.md' %}{% endcodeBlock %}
     *
     * The format of the date range label in the header bar depends on the `dateFormat` value or else based on the
     * locale assigned to the Schedule.
     *
     * @default null
     */
    dateFormat: string;
    /**
     * It allows the Scheduler to display in other calendar modes.
     * By default, Scheduler is displayed in `Gregorian` calendar mode.
     *
     * {% codeBlock src='schedule/calendarMode/index.md' %}{% endcodeBlock %}
     *
     * To change the mode, you can set either `Gregorian` or `Islamic` as a value to this `calendarMode` property.
     *
     * @default 'Gregorian'
     */
    calendarMode: CalendarType;
    /**
     * When set to `false`, it hides the weekend days of a week from the Schedule. The days which are not defined in the working days
     * collection are usually treated as weekend days.
     *
     * {% codeBlock src='schedule/showWeekend/index.md' %}{% endcodeBlock %}
     *
     * Note: By default, this option is not applicable on `Work Week` view.
     * For example, if the working days are defined as [1, 2, 3, 4], then the remaining days of that week will be considered as
     *  the weekend days and will be hidden on all the views.
     *
     * @default true
     */
    showWeekend: boolean;
    /**
     * This option allows the user to set the first day of a week on Schedule. It should be based on the locale set to it and each culture
     * defines its own first day of week values. If needed, the user can set it manually on his own by defining the value through
     * this property. It usually accepts the integer values, whereby 0 is always denoted as Sunday, 1 as Monday and so on.
     *
     * {% codeBlock src='schedule/firstDayOfWeek/index.md' %}{% endcodeBlock %}
     *
     * @default 0
     */
    firstDayOfWeek: number;
    /**
     * It allows the Scheduler to display week numbers based on following available week options. The week
     *  option specified in this property will be initially loaded on the schedule.
     * * FirstDay
     * * FirstFourDayWeek
     * * FirstFullWeek
     *
     * {% codeBlock src='schedule/weekRule/index.md' %}{% endcodeBlock %}
     *
     * @default 'FirstDay'
     */
    weekRule: WeekRule;
    /**
     * It is used to set the working days on Schedule. The only days that are defined in this collection will be rendered on the `workWeek`
     * view whereas on other views, it will display all the usual days and simply highlights the working days with different shade.
     *
     * {% codeBlock src='schedule/workDays/index.md' %}{% endcodeBlock %}
     *
     * @default '[1, 2, 3, 4, 5]'
     * @aspType int[]
     */
    workDays: number[];
    /**
     * This option allows the user to set the number of months count to be displayed on the Schedule.
     *
     * {% codeBlock src='schedule/monthsCount/index.md' %}{% endcodeBlock %}
     *
     * @default 12
     * @aspType int
     */
    monthsCount: number;
    /**
     * It is used to specify the starting hour, from which the Schedule starts to display. It accepts the time string in a short skeleton
     * format and also, hides the time beyond the specified start time.
     *
     * {% codeBlock src='schedule/startHour/index.md' %}{% endcodeBlock %}
     *
     * @default '00:00'
     */
    startHour: string;
    /**
     * It is used to specify the end hour, at which the Schedule ends. It too accepts the time string in a short skeleton format.
     *
     * {% codeBlock src='schedule/endHour/index.md' %}{% endcodeBlock %}
     *
     * @default '24:00'
     */
    endHour: string;
    /**
     * By default, Schedule follows the time-format as per the default culture assigned to it.
     * It is also possible to manually set specific time format by using the `timeFormat` property.
     *
     * {% codeBlock src='schedule/timeFormat/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    timeFormat: string;
    /**
     * When set to `true`, If valid, the scroll on the all day row is activated when the all day row
     * height reaches the max height when the all day row is expanded.
     *
     * {% codeBlock src='schedule/enableAllDayScroll/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    enableAllDayScroll: boolean;
    /**
     * When set to `true`, the header view navigations are listed under the popup and if we enable resource grouping, the compact view will be enabled.
     *
     * {% codeBlock src='schedule/enableAdaptiveUI/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    enableAdaptiveUI: boolean;
    /**
     * When set to `true`, allows the resizing of appointments. It allows the rescheduling of appointments either by changing the
     * start or end time by dragging the event resize handlers.
     *
     * {% codeBlock src='schedule/allowResizing/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    allowResizing: boolean;
    /**
     * The working hours should be highlighted on Schedule with different color shade and an additional option must be provided to
     * highlight it or not. This functionality is handled through `workHours` property and the start work hour should be 9 AM by default
     * and end work hour should point to 6 PM. The start and end working hours needs to be provided as Time value of short skeleton type.
     *
     * {% codeBlock src='schedule/workHours/index.md' %}{% endcodeBlock %}
     *
     * @default { highlight: true, start: '09:00', end: '18:00' }
     */
    workHours: WorkHoursModel;
    /**
     * Allows to set different time duration on Schedule along with the customized grid count. It also has template option to
     *  customize the time slots with required time values in its own format.
     *
     * {% codeBlock src='schedule/timeScale/index.md' %}{% endcodeBlock %}
     *
     * @default { enable: true, interval: 60, slotCount: 2, majorSlotTemplate: null, minorSlotTemplate: null }
     */
    timeScale: TimeScaleModel;
    /**
     * When set to `true`, allows the keyboard interaction to take place on Schedule.
     *
     * {% codeBlock src='schedule/allowKeyboardInteraction/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    allowKeyboardInteraction: boolean;
    /**
     * When set to `true`, allows the appointments to move over the time slots. When an appointment is dragged, both its start
     * and end time tends to change simultaneously allowing it to reschedule the appointment on some other time.
     *
     * {% codeBlock src='schedule/allowDragAndDrop/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    allowDragAndDrop: boolean;
    /**
     * It accepts either the string or HTMLElement as template design content and parse it appropriately before displaying it onto
     * the date header cells. The field that can be accessed via this template is `date`.
     *
     * {% codeBlock src='schedule/dateHeaderTemplate/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    dateHeaderTemplate: string;
    /**
     * It accepts either the string or HTMLElement as template design content and parse it appropriately before displaying it onto
     * the month date cells. This template is only applicable for month view day cells.
     *
     * {% codeBlock src='schedule/cellHeaderTemplate/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    cellHeaderTemplate: string;
    /**
     * It accepts either the string or HTMLElement as template design content and parse it appropriately before displaying it onto
     * the day header cells. This template is only applicable for year view header cells.
     *
     * {% codeBlock src='schedule/dayHeaderTemplate/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    dayHeaderTemplate: string;
    /**
     * It accepts either the string or HTMLElement as template design content and parse it appropriately before displaying it onto
     * the month header cells. This template is only applicable for year view header cells.
     *
     * {% codeBlock src='schedule/monthHeaderTemplate/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    monthHeaderTemplate: string;
    /**
     * The template option which is used to render the customized work cells on the Schedule. Here, the template accepts either
     *  the string or HTMLElement as template design and then the parsed design is displayed onto the work cells.
     *  The fields accessible via template are as follows.
     * * date
     * * groupIndex
     * * type
     *
     * Refer to the below code snippet.
     *
     * {% codeBlock src='schedule/cellTemplate/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    cellTemplate: string;
    /**
     * When set to `true`, makes the Schedule to render in a read only mode. No CRUD actions will be allowed at this time.
     *
     * {% codeBlock src='schedule/readonly/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    readonly: boolean;
    /**
     * When set to `true`, displays a quick popup with cell or event details on single clicking over the cells or on events.
     * By default, it is set to `true`.
     *
     * {% codeBlock src='schedule/showQuickInfo/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    showQuickInfo: boolean;
    /**
     * This property helps user to add/edit the event in inline. By default, it is set to `false`.
     *
     * {% codeBlock src='schedule/allowInline/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    allowInline: boolean;
    /**
     * This property helps user to allow/prevent the selection of multiple cells. By default, it is set to `true`.
     *
     * {% codeBlock src='schedule/allowMultiCellSelection/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    allowMultiCellSelection: boolean;
    /**
     * This property helps user to allow/prevent the selection of multiple days(rows). By default, it is set to `true`.
     *
     * {% codeBlock src='schedule/allowMultiRowSelection/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    allowMultiRowSelection: boolean;
    /**
     * This property helps to show quick popup after multiple cell selection. By default, it is set to `false`.
     *
     * {% codeBlock src='schedule/quickInfoOnSelectionEnd/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    quickInfoOnSelectionEnd: boolean;
    /**
     * When set to `true`, displays the week number of the current view date range. By default, it is set to `false`.
     *
     * {% codeBlock src='schedule/showWeekNumber/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    showWeekNumber: boolean;
    /**
     * when set to `true`, allows the height of the work-cells to adjust automatically
     * based on the number of appointments present in those time ranges.
     *
     * {% codeBlock src='schedule/rowAutoHeight/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    rowAutoHeight: boolean;
    /**
     * This property helps to drag the multiple selected events. By default, it is set to `false`.
     *
     * {% codeBlock src='schedule/allowMultiDrag/index.md' %}{% endcodeBlock %}
     *
     * @default false
     */
    allowMultiDrag: boolean;
    /**
     * This property helps render the year view customized months. By default, it is set to `0`.
     *
     * {% codeBlock src='schedule/firstMonthOfYear/index.md' %}{% endcodeBlock %}
     *
     * @default 0
     */
    firstMonthOfYear: number;
    /**
     * The template option to render the customized editor window. The form elements defined within this template should be accompanied
     *  with `e-field` class, so as to fetch and process it from internally.
     *
     * {% codeBlock src='schedule/editorTemplate/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    editorTemplate: string;
    /**
     * The template option to customize the quick window. The three sections of the quick popup whereas the header, content,
     * and footer can be easily customized with individual template option.
     *
     * {% codeBlock src='schedule/quickInfoTemplates/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    quickInfoTemplates: QuickInfoTemplatesModel;
    /**
     * Sets the number of days to be displayed by default in Agenda View and in case of virtual scrolling,
     * the number of days will be fetched on each scroll-end based on this count.
     *
     * {% codeBlock src='schedule/agendaDaysCount/index.md' %}{% endcodeBlock %}
     *
     * @default 7
     */
    agendaDaysCount: number;
    /**
     * The days which does not has even a single event to display will be hidden from the UI of Agenda View by default.
     * When this property is set to `false`, the empty dates will also be displayed on the Schedule.
     *
     * {% codeBlock src='schedule/hideEmptyAgendaDays/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    hideEmptyAgendaDays: boolean;
    /**
     * The recurrence validation will be done by default. When this property is set to `false`, the recurrence validation will be skipped.
     *
     * {% codeBlock src='schedule/enableRecurrenceValidation/index.md' %}{% endcodeBlock %}
     *
     * @default true
     */
    enableRecurrenceValidation: boolean;
    /**
     * Schedule will be assigned with specific timezone, so as to display the events in it accordingly. By default,
     * Schedule dates are processed with System timezone, as no timezone will be assigned specifically to the Schedule at the initial time.
     * Whenever the Schedule is bound to remote data services, it is always recommended to set specific timezone to Schedule to make the
     * events on it to display on the same time irrespective of the system timezone. It usually accepts
     * the valid [IANA](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) timezone names.
     *
     * {% codeBlock src='schedule/timezone/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    timezone: string;
    /**
     * Complete set of settings related to Schedule events to bind it to local or remote dataSource, map applicable database fields and
     * other validation to be carried out on the available fields.
     *
     * {% codeBlock src='schedule/eventSettings/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    eventSettings: EventSettingsModel;
    /**
     * Allows to define the collection of timezone items in the Schedule. Only the items bound to this property get listed out in the timezone dropdown of the appointment window.
     *
     * {% codeBlock src='schedule/timezoneDatasource/index.md' %}{% endcodeBlock %}
     *
     * @default timezoneData
     */
    timezoneDataSource: TimezoneFields[];
    /**
     * Template option to customize the resource header bar. Here, the template accepts either
     *  the string or HTMLElement as template design and then the parsed design is displayed onto the resource header cells.
     * The following can be accessible via template.
     * * resource - All the resource fields.
     * * resourceData - object collection of current resource.
     *
     * Refer to the below code snippet.
     *
     * {% codeBlock src='schedule/resourceHeaderTemplate/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    resourceHeaderTemplate: string;
    /**
     * Template option to customize the header indent bar. Here, the template accepts either
     *  the string or HTMLElement as template design and then the parsed design is displayed onto the header indent cell.
     *
     * Refer to the below code snippet.
     *
     * {% codeBlock src='schedule/headerIndentTemplate/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    headerIndentTemplate: string;
    /**
     * Allows defining the group related settings of multiple resources. When this property is non-empty, it means
     * that the resources will be grouped on the schedule layout based on the provided resource names.
     *
     * {% codeBlock src='schedule/group/index.md' %}{% endcodeBlock %}
     *
     * @default {}
     */
    group: GroupModel;
    /**
     * Allows defining the collection of resources to be displayed on the Schedule. The resource collection needs to be defined
     *  with unique resource names to identify it along with the respective dataSource and field mapping options.
     *
     * {% codeBlock src='schedule/resources/index.md' %}{% endcodeBlock %}
     *
     * @default []
     */
    resources: ResourcesModel[];
    /**
     * Allows defining the collection of custom header rows to display the year, month, week, date and hour label as an individual row
     *  on the timeline view of the scheduler.
     *
     * {% codeBlock src='schedule/headerRows/index.md' %}{% endcodeBlock %}
     *
     * @default []
     */
    headerRows: HeaderRowsModel[];
    /**
     * It is used to customize the Schedule which accepts custom CSS class names that defines specific user-defined styles and themes
     * to be applied on the Schedule element.
     *
     * {% codeBlock src='schedule/cssClass/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    cssClass: string;
    /**
     * It enables the external drag and drop support for appointments on scheduler, to be able to move them out of the scheduler layout.
     * When the drag area is explicitly set with specific DOM element name, the appointments can be dragged anywhere within the specified drag area location.
     *
     * {% codeBlock src='schedule/eventDragArea/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    eventDragArea: string;
    /**
     * Triggers after the scheduler component is created.
     *
     * @event 'created'
     */
    created: base.EmitType<Record<string, any>>;
    /**
     * Triggers when the scheduler component is destroyed.
     *
     * @event 'destroyed'
     */
    destroyed: base.EmitType<Record<string, any>>;
    /**
     * Triggers when the scheduler cells are single clicked or on single tap on the same cells in mobile devices.
     *
     * @event 'cellClick'
     */
    cellClick: base.EmitType<CellClickEventArgs>;
    /**
     * Triggers when the scheduler cells are double clicked.
     *
     * @event 'cellDoubleClick'
     */
    cellDoubleClick: base.EmitType<CellClickEventArgs>;
    /**
     * Triggers when the more events indicator are clicked.
     *
     * @event 'moreEventsClick'
     */
    moreEventsClick: base.EmitType<MoreEventsClickArgs>;
    /**
     * Triggers when the scheduler elements are hovered.
     *
     * @event 'hover'
     */
    hover: base.EmitType<HoverEventArgs>;
    /**
     * Triggers when multiple cells or events are selected on the Scheduler.
     *
     * @event 'select'
     */
    select: base.EmitType<SelectEventArgs>;
    /**
     * Triggers on beginning of every scheduler action.
     *
     * {% codeBlock src='schedule/actionBegin/index.md' %}{% endcodeBlock %}
     *
     * @event 'actionBegin'
     */
    actionBegin: base.EmitType<ActionEventArgs>;
    /**
     * Triggers on successful completion of the scheduler actions.
     *
     * {% codeBlock src='schedule/actionComplete/index.md' %}{% endcodeBlock %}
     *
     * @event 'actionComplete'
     */
    actionComplete: base.EmitType<ActionEventArgs>;
    /**
     * Triggers when a scheduler action gets failed or interrupted and an error information will be returned.
     *
     * {% codeBlock src='schedule/actionFailure/index.md' %}{% endcodeBlock %}
     *
     * @event 'actionFailure'
     */
    actionFailure: base.EmitType<ActionEventArgs>;
    /**
     * Triggers before the date or view navigation takes place on scheduler.
     *
     * {% codeBlock src='schedule/navigating/index.md' %}{% endcodeBlock %}
     *
     * @event 'navigating'
     */
    navigating: base.EmitType<NavigatingEventArgs>;
    /**
     * Triggers before each element of the schedule rendering on the page.
     *
     * {% codeBlock src='schedule/renderCell/index.md' %}{% endcodeBlock %}
     *
     * @event 'renderCell'
     */
    renderCell: base.EmitType<RenderCellEventArgs>;
    /**
     * Triggers when the events are single clicked or on single tapping the events on the mobile devices.
     *
     * {% codeBlock src='schedule/eventClick/index.md' %}{% endcodeBlock %}
     *
     * @event 'eventClick'
     */
    eventClick: base.EmitType<EventClickArgs>;
    /**
     * Triggers before each of the event getting rendered on the scheduler user interface.
     *
     * {% codeBlock src='schedule/eventRendered/index.md' %}{% endcodeBlock %}
     *
     * @event 'eventRendered'
     */
    eventRendered: base.EmitType<EventRenderedArgs>;
    /**
     * Triggers before the data binds to the scheduler.
     *
     * {% codeBlock src='schedule/dataBinding/index.md' %}{% endcodeBlock %}
     *
     * @event 'dataBinding'
     */
    dataBinding: base.EmitType<ReturnType>;
    /**
     * Triggers before any of the scheduler popups opens on the page.
     *
     * {% codeBlock src='schedule/popupOpen/index.md' %}{% endcodeBlock %}
     *
     * @event 'popupOpen'
     */
    popupOpen: base.EmitType<PopupOpenEventArgs>;
    /**
     * Triggers before any of the scheduler popups close on the page.
     *
     * {% codeBlock src='schedule/popupClose/index.md' %}{% endcodeBlock %}
     *
     * @event 'popupClose'
     */
    popupClose: base.EmitType<PopupCloseEventArgs>;
    /**
     * Triggers when an appointment is started to drag.
     *
     * {% codeBlock src='schedule/dragStart/index.md' %}{% endcodeBlock %}
     *
     * @event 'dragStart'
     */
    dragStart: base.EmitType<DragEventArgs>;
    /**
     * Triggers when an appointment is being in a dragged state.
     *
     * {% codeBlock src='schedule/drag/index.md' %}{% endcodeBlock %}
     *
     * @event 'drag'
     */
    drag: base.EmitType<DragEventArgs>;
    /**
     * Triggers when the dragging of appointment is stopped.
     *
     * {% codeBlock src='schedule/dragStop/index.md' %}{% endcodeBlock %}
     *
     * @event 'dragStop'
     */
    dragStop: base.EmitType<DragEventArgs>;
    /**
     * Triggers when an appointment is started to resize.
     *
     * {% codeBlock src='schedule/resizeStart/index.md' %}{% endcodeBlock %}
     *
     * @event 'resizeStart'
     */
    resizeStart: base.EmitType<ResizeEventArgs>;
    /**
     * Triggers when an appointment is being in a resizing action.
     *
     * {% codeBlock src='schedule/resizing/index.md' %}{% endcodeBlock %}
     *
     * @event 'resizing'
     */
    resizing: base.EmitType<ResizeEventArgs>;
    /**
     * Triggers when the resizing of appointment is stopped.
     *
     * {% codeBlock src='schedule/resizeStop/index.md' %}{% endcodeBlock %}
     *
     * @event 'resizeStop'
     */
    resizeStop: base.EmitType<ResizeEventArgs>;
    /**
     * Triggers once the event data is bound to the scheduler.
     *
     * {% codeBlock src='schedule/dataBound/index.md' %}{% endcodeBlock %}
     *
     * @event 'dataBound'
     */
    dataBound: base.EmitType<ReturnType>;
    /**
     * Constructor for creating the Schedule widget
     *
     * @param {ScheduleModel} options Accepts the schedule model properties to initiate the rendering
     * @param {string | HTMLElement} element Accepts the DOM element reference
     */
    constructor(options?: ScheduleModel, element?: string | HTMLElement);
    /**
     * Core method that initializes the control rendering.
     *
     * @returns {void}
     * @private
     */
    render(): void;
    private renderTableContainer;
    /**
     * Method to render react templates
     *
     * @returns {void}
     * @private
     */
    renderTemplates(): void;
    /**
     * Method to reset react templates
     *
     * @param {string[]} templates Accepts the template ID
     * @returns {void}
     * @private
     */
    resetTemplates(templates?: string[]): void;
    private initializeResources;
    /**
     * Method to render the layout elements
     *
     * @param {boolean} isLayoutOnly Accepts the boolean value to render layout or not
     * @returns {void}
     * @private
     */
    renderElements(isLayoutOnly: boolean): void;
    private validateDate;
    private getViewIndex;
    private setViewOptions;
    private getActiveViewOptions;
    private initializeDataModule;
    private setEditorTitles;
    private initializeView;
    private initializeTemplates;
    private initializePopups;
    /**
     * Method to get day names
     *
     * @param {string} type Accepts the day name
     * @returns {string[]} Returns the collection of day names
     * @private
     */
    getDayNames(type: string): string[];
    private setCldrTimeFormat;
    /**
     * Method to get calendar mode
     *
     * @returns {string} Returns the calendar mode
     * @private
     */
    getCalendarMode(): string;
    /**
     * Method to get time in string
     *
     * @param {Date} date Accepts the date object
     * @returns {string} Returns the time in string
     * @private
     */
    getTimeString(date: Date): string;
    /**
     * Method to get  date object
     *
     * @param {Date} date Accepts the date object
     * @returns {Date} Returns the date object
     * @private
     */
    getDateTime(date: Date): Date;
    private setCalendarMode;
    /**
     * Method to change the current view
     *
     * @param {View} view Accepts the view name
     * @param {Event} event Accepts the event object
     * @param {boolean} muteOnChange Accepts the value to enable or disable mute on change
     * @param {number} index Accepts the index value
     * @returns {void}
     * @private
     */
    changeView(view: View, event?: Event, muteOnChange?: boolean, index?: number): void;
    /**
     * Method to change the view date
     *
     * @param {Date} selectedDate Accepts the selected date
     * @param {Event} event Accepts the event object
     * @returns {void}
     * @private
     */
    changeDate(selectedDate: Date, event?: Event): void;
    /**
     * Method to validate min and max date
     *
     * @param {Date} date Accepts the date object
     * @returns {boolean} Returns the boolean result to validate the min and max date
     * @private
     */
    isMinMaxDate(date?: Date): boolean;
    /**
     * Method to validate the selected date
     *
     * @param {Date} date Accepts the date object
     * @returns {boolean} Returns the boolean value for given date is selected date or not
     * @private
     */
    isSelectedDate(date: Date): boolean;
    /**
     * Method to get the current time
     *
     * @param {Date} date Accepts the date object
     * @returns {Date} Returns the date object after performing the timezone conversion
     * @private
     */
    getCurrentTime(date?: Date): Date;
    /** Method to get navigate view
     *
     * @returns {View} Return the navigate view name
     * @private
     */
    getNavigateView(): View;
    private animateLayout;
    /**
     * To provide the array of modules needed for control rendering
     *
     * @returns {base.ModuleDeclaration[]} Returns the d modules
     * @private
     */
    requiredModules(): base.ModuleDeclaration[];
    /**
     * Initializes the values of private members.
     *
     * @returns {void}
     * @private
     */
    protected preRender(): void;
    private getDefaultLocale;
    private wireEvents;
    /**
     * Method to remove selected class
     *
     * @returns {void}
     * @private
     */
    removeSelectedClass(): void;
    /**
     * Method to add selected class
     *
     * @param {HTMLTableCellElement[]} cells Accepts the collection of elements
     * @param {HTMLTableCellElement} focusCell Accepts the focus element
     * @param {boolean} isPreventScroll Accepts the boolean value to prevent scroll
     * @returns {void}
     * @private
     */
    addSelectedClass(cells: HTMLTableCellElement[], focusCell: HTMLTableCellElement, isPreventScroll?: boolean): void;
    /**
     * Method to select cell
     *
     * @param {HTMLElement | HTMLTableCellElement} element Accepts the select element
     * @returns {void}
     * @private
     */
    selectCell(element: HTMLElement & HTMLTableCellElement): void;
    /**
     * Method to get all day row element
     *
     * @returns {Element} Returns the all day row element
     * @private
     */
    getAllDayRow(): Element;
    /**
     * Method to get content table element
     *
     * @returns {HTMLElement} Returns the content table element
     * @private
     */
    getContentTable(): HTMLElement;
    /**
     * Method to get all content table rows
     *
     * @returns {HTMLElement[]} Returns the content table rows
     * @private
     */
    getTableRows(): HTMLElement[];
    /**
     * Method to get work cell elements
     *
     * @returns {Element[]} Returns the all work cell elements
     * @private
     */
    getWorkCellElements(): Element[];
    /**
     * Method to get the index from date collection
     *
     * @param {Date[]} collection Accepts the collections of date
     * @param {Date} date Accepts the date object
     * @returns {number} Returns the index compared date with date collections
     * @private
     */
    getIndexOfDate(collection: Date[], date: Date): number;
    /**
     * Method to find all day cell
     *
     * @param {Element} td Accepts the DOM Element
     * @returns {boolean} Returns the boolean value
     * @private
     */
    isAllDayCell(td: Element): boolean;
    /**
     * Method to get date from element
     *
     * @param {Element} td Accepts the DOM element
     * @returns {Date} Returns the date object
     * @private
     */
    getDateFromElement(td: Element): Date;
    /**
     * Method to get target element from given selector
     *
     * @param {string} selector Accepts the element selector
     * @param {number} left Accepts the pageX value
     * @param {number} top Accepts the pageY value
     * @returns {Element[]} Returns the collection of elements based on the given selector
     * @private
     */
    getTargetElement(selector: string, left: number, top: number): Element[];
    /**
     * Method to process cell header template
     *
     * @returns {CallbackFunction} Returns the callback function
     * @private
     */
    getCellHeaderTemplate(): CallbackFunction;
    /**
     * Method to process cell header template in year view.
     *
     * @returns {CallbackFunction} Returns the callback function
     * @private
     */
    getDayHeaderTemplate(): CallbackFunction;
    /**
     * Method to process cell header template in year view.
     *
     * @returns {CallbackFunction} Returns the callback function
     * @private
     */
    getMonthHeaderTemplate(): CallbackFunction;
    /**
     * Method to process cell template
     *
     * @returns {CallbackFunction} Returns the callback function
     * @private
     */
    getCellTemplate(): CallbackFunction;
    /**
     * Method to process date header template
     *
     * @returns {CallbackFunction} Returns the callback function
     * @private
     */
    getDateHeaderTemplate(): CallbackFunction;
    /**
     * Method to process major slot template
     *
     * @returns {CallbackFunction} Returns the callback function
     * @private
     */
    getMajorSlotTemplate(): CallbackFunction;
    /**
     * Method to process minor slot template
     *
     * @returns {CallbackFunction} Returns the callback function
     * @private
     */
    getMinorSlotTemplate(): CallbackFunction;
    /**
     * Method to process appointment template
     *
     * @returns {CallbackFunction} Returns the callback function
     * @private
     */
    getAppointmentTemplate(): CallbackFunction;
    /**
     * Method to process appointment tooltip template
     *
     * @returns {CallbackFunction} Returns the callback function
     * @private
     */
    getEventTooltipTemplate(): CallbackFunction;
    /**
     * Method to process header tooltip template
     *
     * @returns {CallbackFunction} Returns the callback function
     * @private
     */
    getHeaderTooltipTemplate(): CallbackFunction;
    /**
     * Method to process editor template
     *
     * @returns {CallbackFunction} Returns the callback function
     * @private
     */
    getEditorTemplate(): CallbackFunction;
    /**
     * Method to process quick info header template
     *
     * @returns {CallbackFunction} Returns the callback function
     * @private
     */
    getQuickInfoTemplatesHeader(): CallbackFunction;
    /**
     * Method to process quick info content template
     *
     * @returns {CallbackFunction} Returns the callback function
     * @private
     */
    getQuickInfoTemplatesContent(): CallbackFunction;
    /**
     * Method to process quick info footer template
     *
     * @returns {CallbackFunction} Returns the callback function
     * @private
     */
    getQuickInfoTemplatesFooter(): CallbackFunction;
    /**
     * Method to process resource header template
     *
     * @returns {CallbackFunction} Returns the callback function
     * @private
     */
    getResourceHeaderTemplate(): CallbackFunction;
    /**
     * Method to process indent template
     *
     * @returns {CallbackFunction} Returns the callback function
     * @private
     */
    getHeaderIndentTemplate(): CallbackFunction;
    /**
     * Method to get dynamic CSS properties
     *
     * @returns {ScrollCss} Returns the CSS properties dynamically
     * @private
     */
    getCssProperties(): ScrollCss;
    /**
     * Method to remove new event element in adaptive mode
     *
     * @returns {void}
     * @private
     */
    removeNewEventElement(): void;
    /**
     * Method to get start end time from string
     *
     * @param {string} startEndTime Accepts the start end time string value
     * @returns {Date} Returns the date object
     * @private
     */
    getStartEndTime(startEndTime: string): Date;
    private onDocumentClick;
    private onScheduleResize;
    /**
     * Method to process the templates
     *
     * @param {string} template Accepts the template in string
     * @returns {CallbackFunction} Returns the callback function
     * @private
     */
    templateParser(template: string): CallbackFunction;
    /**
     * Method to generate the announcement string
     *
     * @param {Object} event Accepts the event object
     * @param {string} subject Accepts the subject text
     * @returns {string} Returns the announcement string
     * @private
     */
    getAnnouncementString(event: Record<string, any>, subject?: string): string;
    /**
     * Method to process the element boundary validation
     *
     * @param {number} pageY Accepts the pageY value
     * @param {number} pageX Accepts the pageX value
     * @returns {ResizeEdges} Returns the boundary validation object
     * @private
     */
    boundaryValidation(pageY: number, pageX: number): ResizeEdges;
    /**
     * Method to get the week number.
     *
     * @param {Date[]} dates Accepts the date collections
     * @returns {number} Returns the week number
     * @private
     */
    getWeekNumberContent(dates: Date[]): string;
    /**
     * Method to render the header indent template.
     *
     * @param {TdData} data Accepts the td data
     * @param {Element} td Accepts the td element
     * @returns {void}
     * @private
     */
    renderHeaderIndentTemplate(data: TdData, td: Element): void;
    /**
     * Method to check for refreshing the targeted resource row events.
     *
     * @returns {boolean} Returns the boolean value
     * @private
     */
    isSpecificResourceEvents(): boolean;
    private unWireEvents;
    /**
     * Core method to return the component name.
     *
     * @returns {string} Returns the module name
     * @private
     */
    getModuleName(): string;
    /**
     * Returns the properties to be maintained in the persisted state.
     *
     * @returns {string} Returns the persistance data
     * @private
     */
    protected getPersistData(): string;
    /**
     * Called internally, if any of the property value changed.
     *
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: ScheduleModel, oldProp: ScheduleModel): void;
    private propertyChangeAction;
    private allDayRowScrollUpdate;
    private extendedPropertyChange;
    private setRtlClass;
    private onGroupSettingsPropertyChanged;
    private onEventSettingsPropertyChanged;
    private destroyHeaderModule;
    private destroyPopups;
    /**
     * Allows to show the spinner on schedule at the required scenarios.
     *
     * @function showSpinner
     * @returns {void}
     */
    showSpinner(): void;
    /**
     * When the spinner is shown manually using `showSpinner` method, it can be hidden using this `hideSpinner` method.
     *
     * @function hideSpinner
     * @returns {void}
     */
    hideSpinner(): void;
    /**
     * Sets different working hours on the required working days by accepting the required start and end time as well as the date collection
     *  as its parameters.
     *
     * @function setWorkHours
     * @param {Date} dates Collection of dates on which the given start and end hour range needs to be applied.
     * @param {string} start Defines the work start hour.
     * @param {string} end Defines the work end hour.
     * @param {number} groupIndex Defines the resource index from last level.
     * @returns {void}
     */
    setWorkHours(dates: Date[], start: string, end: string, groupIndex?: number): void;
    /**
     * Removes or resets different working hours on the required working days by accepting the required start and end time as well as the
     * date collection as its parameters.
     * if no parameters has been passed to this function, it will remove all the work hours.
     *
     * @param {Date} dates Collection of dates on which the given start and end hour range need to be applied.
     * @param {string} start Defines the work start hour.
     * @param {string} end Defines the work end hour.
     * @param {number} groupIndex Defines the resource index from last level.
     * @returns {void}
     */
    resetWorkHours(dates?: Date[], start?: string, end?: string, groupIndex?: number): void;
    private getWorkHourCells;
    /**
     * Retrieves the start and end time information of the specific cell element.
     *
     * @function getCellDetails
     * @param {Element | Element[]} tdCol Accepts the single or collection of elements.
     * @returns {CellClickEventArgs} Object An object holding the startTime, endTime and all-day information along with the target HTML element will be returned.
     */
    getCellDetails(tdCol: Element | Element[]): CellClickEventArgs;
    /**
     * Retrieves the selected cell elements.
     *
     * @function getSelectedElements
     * @returns {Element[]} The elements of currently selected cells will be returned.
     */
    getSelectedElements(): Element[];
    /**
     * To get the resource collection
     *
     * @function getResourceCollections
     * @returns {ResourcesModel[]} Returns the resource collections
     */
    getResourceCollections(): ResourcesModel[];
    /**
     * To set the resource collection
     *
     * @function setResourceCollections
     * @param {ResourcesModel[]} resourceCol Accepts the resource collections in ResourcesModel type
     * @returns {void}
     */
    setResourceCollections(resourceCol: ResourcesModel[]): void;
    /**
     * Current View could be change based on the provided parameters.
     *
     * @function changeCurrentView
     * @param {View} viewName Accept the view in the viewCollections.
     * @param {number} viewIndex Accept the viewIndex in the viewCollections.
     * @returns {void}
     */
    changeCurrentView(viewName: View, viewIndex?: number): void;
    /**
     * Return the current view Index.
     *
     * @function getCurrentViewIndex
     * @returns {number} Returns the view index
     */
    getCurrentViewIndex(): number;
    /**
     * Retrieves the resource details based on the provided resource index.
     *
     * @param {number} index index of the resources at the last level.
     * @returns {ResourceDetails} Object An object holding the details of resource and resourceData.
     */
    getResourcesByIndex(index: number): ResourceDetails;
    /**
     * This method allows to expand the resource that available on the scheduler.
     *
     * @function expandResource
     * @param {string | number} resourceId Accepts the resource id in either string or number type
     * @param {string} name Accepts the name of the resource collection
     * @returns {void}
     */
    expandResource(resourceId: string | number, name: string): void;
    /**
     * This method allows to collapse the resource that available on the scheduler.
     *
     * @function collapseResource
     * @param {string | number} resourceId Accepts the resource id in either string or number type
     * @param {string} name Accepts the name of the resource collection
     * @returns {void}
     */
    collapseResource(resourceId: string | number, name: string): void;
    /**
     * Scrolls the Schedule content area to the specified time.
     *
     * @function scrollTo
     * @param {string} hour Accepts the time value in the skeleton format of 'Hm'.
     * @param {Date} scrollDate Accepts the date object value.
     * @returns {void}
     */
    scrollTo(hour: string, scrollDate?: Date): void;
    /**
     * This method allows scroll to the position of the any resources that available on the scheduler.
     * This method is applicable for without Agenda and Month agenda views of the schedule.
     *
     * @function scrollToResource
     * @param {string | number} resourceId Accepts the resource id in either string or number type
     * @param {string} groupName Accepts the name of the resource collection
     * @returns {void}
     */
    scrollToResource(resourceId: string | number, groupName?: string): void;
    /**
     * Exports the Scheduler events to a calendar (.ics) file. By default, the calendar is exported with a file name `Calendar.ics`.
     * To change this file name on export, pass the custom string value as `fileName` to get the file downloaded with this provided name.
     *
     * @function exportToICalendar
     * @param {string} fileName Accepts the string value.
     * @param {Object[]} customData Accepts the collection of objects.
     * @returns {void}
     */
    exportToICalendar(fileName?: string, customData?: Record<string, any>[]): void;
    /**
     * Imports the events from an .ics file downloaded from any of the calendars like Google or Outlook into the Scheduler.
     *
     * @param {Blob | string} fileContent Accepts the file object or string format of an .ics file.
     * @returns {void}
     */
    /**
     * Adds the newly created event into the Schedule dataSource.
     *
     * @function addEvent
     * @param {Object | Object[]} data Single or collection of event objects to be added into Schedule.
     * @returns {void}
     */
    addEvent(data: Record<string, any> | Record<string, any>[]): void;
    /**
     * Allows the Scheduler events data to be exported as an Excel file either in .xlsx or .csv file formats.
     * By default, the whole event collection bound to the Scheduler gets exported as an Excel file.
     * To export only the specific events of Scheduler, you need to pass the custom data collection as
     * a parameter to this `exportToExcel` method. This method accepts the export options as arguments such as fileName,
     * exportType, fields, customData, and includeOccurrences. The `fileName` denotes the name to be given for the exported
     * file and the `exportType` allows you to set the format of an Excel file to be exported either as .xlsx or .csv.
     * The custom or specific field collection of event dataSource to be exported can be provided through `fields` option
     * and the custom data collection can be exported by passing them through the `customData` option. There also exists
     * option to export each individual instances of the recurring events to an Excel file, by setting true or false to the
     * `includeOccurrences` option, denoting either to include or exclude the occurrences as separate instances on an exported Excel file.
     *
     * @function exportToExcel
     * @param {ExportOptions} excelExportOptions The export options to be set before start with exporting the Scheduler events to an Excel file.
     * @returns {void}
     */
    exportToExcel(excelExportOptions?: ExportOptions): void;
    /**
     * Method allows to print the scheduler.
     *
     * @function print
     * @param {ScheduleModel} printOptions The export options to be set before start with exporting
     * the Scheduler events to the print window.
     * @returns {void}
     */
    print(printOptions?: ScheduleModel): void;
    /**
     * Updates the changes made in the event object by passing it as an parameter into the dataSource.
     *
     * @function saveEvent
     * @param {Object | Object[]} data Single or collection of event objects to be saved into Schedule.
     * @param {CurrentAction} currentAction Denotes the action that takes place either for editing occurrence or series.
     *  The valid current action names are `EditOccurrence` or `EditSeries`.
     * @returns {void}
     */
    saveEvent(data: Record<string, any> | Record<string, any>[], currentAction?: CurrentAction): void;
    /**
     * Deletes the events based on the provided ID or event collection in the argument list.
     *
     * @function deleteEvent
     * @param {string | number | Object | Object[]} id Accepts the ID as string or number type or single or collection of the event object which needs to be removed from the Schedule.
     * @param {CurrentAction} currentAction Denotes the delete action that takes place either on occurrence or series events.
     *  The valid current action names are `Delete`, `DeleteOccurrence` or `DeleteSeries`.
     * @returns {void}
     */
    deleteEvent(id: string | number | Record<string, any> | Record<string, any>[], currentAction?: CurrentAction): void;
    /**
     * Retrieves the entire collection of events bound to the Schedule.
     *
     * @function getEvents
     * @param {Date} startDate Accepts the start date.
     * @param {Date} endDate Accepts te end date.
     * @param {boolean} includeOccurrences Accepts the boolean value to process the occurrence from recurrence series.
     * @returns {Object[]} Returns the collection of event objects from the Schedule.
     */
    getEvents(startDate?: Date, endDate?: Date, includeOccurrences?: boolean): Record<string, any>[];
    /**
     * Retrieves the entire collection of block events bound to the Schedule.
     *
     * @function getBlockEvents
     * @param {Date} startDate Accepts the start date.
     * @param {Date} endDate Accepts te end date.
     * @param {boolean} includeOccurrences Accepts the boolean value to process the occurrence from recurrence series.
     * @returns {Object[]} Returns the collection of block event objects from the Schedule.
     */
    getBlockEvents(startDate?: Date, endDate?: Date, includeOccurrences?: boolean): Record<string, any>[];
    /**
     * Retrieves the occurrences of a single recurrence event based on the provided parent ID.
     *
     * @function getOccurrencesByID
     * @param {number} eventID ID of the parent recurrence data from which the occurrences are fetched.
     * @returns {Object[]} Returns the collection of occurrence event objects.
     */
    getOccurrencesByID(eventID: number | string): Record<string, any>[];
    /**
     * Retrieves all the occurrences that lies between the specific start and end time range.
     *
     * @function getOccurrencesByRange
     * @param {Date} startTime Denotes the start time range.
     * @param {Date} endTime Denotes the end time range.
     * @returns {Object[]} Returns the collection of occurrence event objects that lies between the provided start and end time.
     */
    getOccurrencesByRange(startTime: Date, endTime: Date): Record<string, any>[];
    /**
     * Retrieves the dates that lies on active view of Schedule.
     *
     * @function getCurrentViewDates
     * @returns {Date[]} Returns the collection of dates.
     */
    getCurrentViewDates(): Date[];
    /**
     * Set the recurrence editor instance from custom editor template.
     *
     * @function setRecurrenceEditor
     * @param {RecurrenceEditor} recurrenceEditor instance has passed to fetch the instance in event window.
     * @returns {void}
     */
    setRecurrenceEditor(recurrenceEditor: RecurrenceEditor): void;
    /**
     * Get the maximum id of an event.
     *
     * @function getEventMaxID
     * @returns {number | string} Returns the maximum ID from scheduler data collections.
     */
    getEventMaxID(): number | string;
    /**
     * Get deleted occurrences from given recurrence series.
     *
     * @function getDeletedOccurrences
     * @param {string | number | Object} recurrenceData Accepts the parent ID of the event object or parent event object
     * @returns {Object[]} Returns the collection of deleted occurrence events.
     */
    getDeletedOccurrences(recurrenceData: string | number | Record<string, any>): Record<string, any>[];
    /**
     * Retrieves the events that lies on the current date range of the active view of Schedule.
     *
     * @function getCurrentViewEvents
     * @returns {Object[]} Returns the collection of events.
     */
    getCurrentViewEvents(): Record<string, any>[];
    /**
     * Refreshes the event dataSource. This method may be useful when the events alone in the schedule needs to be re-rendered.
     *
     * @function refreshEvents
     * @param {boolean} isRemoteRefresh Accepts the boolean to refresh data from remote or local
     * @returns {void}
     */
    refreshEvents(isRemoteRefresh?: boolean): void;
    /**
     * Method to refresh the given Schedule templates
     *
     * @param {string} templateName Accepts the template name
     * @returns {void}
     */
    refreshTemplates(templateName?: string): void;
    /**
     * Refreshes the Schedule layout without re-render.
     *
     * @function refreshLayout
     * @returns {void}
     */
    refreshLayout(): void;
    /**
     * To retrieve the appointment object from element.
     *
     * @function getEventDetails
     * @param {Element} element Denotes the event UI element on the Schedule.
     * @returns {Object} Returns the event details.
     */
    getEventDetails(element: Element): Record<string, any>;
    /**
     * To check whether the given time range slots are available for event creation or already occupied by other events.
     *
     * @function isSlotAvailable
     * @param {Date | Object} startTime Denotes the start time of the slot.
     * @param {Date} endTime Denotes the end time of the slot.
     * @param {number} groupIndex Defines the resource index from last level.
     * @returns {boolean} Returns true, if the slot that lies in the provided time range does not contain any other events.
     */
    isSlotAvailable(startTime: Date | Record<string, any>, endTime?: Date, groupIndex?: number): boolean;
    /**
     * To manually open the event editor on specific time or on certain events.
     *
     * @function openEditor
     * @param {Object} data It can be either cell data or event data.
     * @param {CurrentAction} action Defines the action for which the editor needs to be opened such as either for new event creation or
     *  for editing of existing events. The applicable action names that can be used here are `Add`, `Save`, `EditOccurrence`
     *  and `EditSeries`.
     * @param {boolean} isEventData It allows to decide whether the editor needs to be opened with the clicked cell details or with the
     *  passed event details.
     * @param {number} repeatType It opens the editor with the recurrence options based on the provided repeat type.
     * @returns {void}
     */
    openEditor(data: Record<string, any>, action: CurrentAction, isEventData?: boolean, repeatType?: number): void;
    /**
     * To manually close the event editor window
     *
     * @function closeEditor
     * @returns {void}
     */
    closeEditor(): void;
    /**
     * To manually open the quick info popup based on cell or event details.
     *
     * @param {object} data Defines the cell or event data. If the data contains valid ID, it will open event quick info popup,
     * otherwise cell quick info popup displayed.
     * @returns {void}
     */
    openQuickInfoPopup(data: Record<string, any>): void;
    /**
     * To manually close the quick info popup
     *
     * @function closeQuickInfoPopup
     * @returns {void}
     */
    closeQuickInfoPopup(): void;
    /**
     * Select the resource based on group index in mobile mode.
     *
     * @param {number} groupIndex Defines the resource index based on last level.
     * @returns {void}
     */
    selectResourceByIndex(groupIndex: number): void;
    /**
     * Select the resources to the based on id.
     *
     * @param {string | number} id id of the resource defined in resources collection.
     * @param {string} name Name of the resource defined in resources collection.
     * @returns {number} Returns the group index
     */
    getIndexFromResourceId(id: string | number, name?: string): number;
    /**
     * Adds the resources to the specified index.
     *
     * @param {Object | Object[]} resources Accepts the resource data in single or collection of data.
     * @param {string} name Name of the resource defined in resources collection.
     * @param {number} index Index or position where the resource should be added.
     * @returns {void}
     */
    addResource(resources: Record<string, any> | Record<string, any>[], name: string, index: number): void;
    /**
     * Removes the specified resource.
     *
     * @param {string | string[] | number | number[]} resourceId Specifies the resource id to be removed.
     * @param {string} name Specifies the resource name from which the id should be referred.
     * @returns {void}
     */
    removeResource(resourceId: string | string[] | number | number[], name: string): void;
    /**
     * Destroys the Schedule component.
     *
     * @function destroy
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/base/type.d.ts
/**
 * types
 */
/**
 * An enum that denotes the view mode of the Scheduler.
 */
export  type View = 'Day' | 'Week' | 'WorkWeek' | 'Month' | 'Year' | 'Agenda' | 'MonthAgenda' | 'TimelineDay' | 'TimelineWeek' | 'TimelineWorkWeek' | 'TimelineMonth' | 'TimelineYear';
/**
 * An enum that holds the actions available in scheduler.
 */
export  type CurrentAction = 'Add' | 'Save' | 'Delete' | 'DeleteOccurrence' | 'DeleteSeries' | 'EditOccurrence' | 'EditSeries' | 'EditFollowingEvents' | 'DeleteFollowingEvents';
/**
 * An enum that holds the options for success result.
 */
export  type ReturnType = {
    result: Record<string, any>[];
    count: number;
    aggregates?: Record<string, any>;
};
/**
 * An enum that holds the available popup types in the scheduler.
 */
export  type PopupType = 'Editor' | 'EventContainer' | 'QuickInfo' | 'RecurrenceAlert' | 'DeleteAlert' | 'ViewEventInfo' | 'EditEventInfo' | 'ValidationAlert' | 'RecurrenceValidationAlert';
/**
 * An enum that holds the header row type in the timeline scheduler.
 */
export  type HeaderRowType = 'Year' | 'Month' | 'Week' | 'Date' | 'Hour';
/**
 * An enum that holds the orientation modes of the scheduler.
 */
export  type Orientation = 'Vertical' | 'Horizontal';
/**
 * An enum that holds the supported excel file formats.
 */
export  type ExcelFormat = 'csv' | 'xlsx';
/**
 * An enum that holds the type where the quick info template applies.
 */
export  type TemplateType = 'Both' | 'Cell' | 'Event';
/**
 * An enum that holds the different type of week number options in the scheduler.
 */
export  type WeekRule = 'FirstDay' | 'FirstFourDayWeek' | 'FirstFullWeek';
/**
 * An enum that holds the options to render the spanned events in all day row or time slot.
 */
export  type SpannedEventPlacement = 'AllDayRow' | 'TimeSlot';
//node_modules/@syncfusion/ej2-schedule/src/schedule/base/util.d.ts
/**
 * Schedule common utilities
 */
export  const WEEK_LENGTH: number;
export  const DEFAULT_WEEKS: number;
export  const MS_PER_DAY: number;
export  const MS_PER_MINUTE: number;
/**
 * Method to get height from element
 *
 * @param {Element} container Accepts the DOM element
 * @param {string} elementClass Accepts the element class
 * @returns {number} Returns the height of the element
 */
export  function getElementHeightFromClass(container: Element, elementClass: string): number;
/**
 * Method to get width from element
 *
 * @param {Element} container Accepts the DOM element
 * @param {string} elementClass Accepts the element class
 * @returns {number} Returns the width of the element
 */
export  function getElementWidthFromClass(container: Element, elementClass: string): number;
/**
 * Method to get translateY value
 *
 * @param {HTMLElement | Element} element Accepts the DOM element
 * @returns {number} Returns the translateY value of given element
 */
export  function getTranslateY(element: HTMLElement | Element): number;
/**
 * Method to get translateX value
 *
 * @param {HTMLElement | Element} element Accepts the DOM element
 * @returns {number} Returns the translateX value of given element
 */
export  function getTranslateX(element: HTMLElement | Element): number;
/**
 * Method to get week first date
 *
 * @param {Date} date Accepts the date object
 * @param {number} firstDayOfWeek Accepts the first day of week number
 * @returns {Date} Returns the date object
 */
export  function getWeekFirstDate(date: Date, firstDayOfWeek: number): Date;
/**
 * Method to get week last date
 *
 * @param {Date} date Accepts the date object
 * @param {number} firstDayOfWeek Accepts the first day of week number
 * @returns {Date} Returns the date object
 */
export  function getWeekLastDate(date: Date, firstDayOfWeek: number): Date;
/**
 * Method to get first date of month
 *
 * @param {Date} date Accepts the date object
 * @returns {Date} Returns the date object
 */
export  function firstDateOfMonth(date: Date): Date;
/**
 * Method to get last date of month
 *
 * @param {Date} date Accepts the date object
 * @returns {Date} Returns the date object
 */
export  function lastDateOfMonth(date: Date): Date;
/**
 * Method to get week number
 *
 * @param {Date} date Accepts the date object
 * @returns {number} Returns the week number
 */
export  function getWeekNumber(date: Date): number;
/**
 * Method to get week middle date
 *
 * @param {Date} weekFirst Accepts the week first date object
 * @param {Date} weekLast Accepts the week last date object
 * @returns {Date} Returns the date object
 */
export  function getWeekMiddleDate(weekFirst: Date, weekLast: Date): Date;
/**
 * Method to set time to date object
 *
 * @param {Date} date Accepts the date object
 * @param {number} time Accepts the milliseconds
 * @returns {Date} Returns the date object
 */
export  function setTime(date: Date, time: number): Date;
/**
 * Method the reset hours in date object
 *
 * @param {Date} date Accepts the date object
 * @returns {Date} Returns the date object
 */
export  function resetTime(date: Date): Date;
/**
 * Method to get milliseconds from date object
 *
 * @param {Date} date Accepts the date object
 * @returns {number} Returns the milliseconds from date object
 */
export  function getDateInMs(date: Date): number;
/**
 * Method to get date count between two dates
 *
 * @param {Date} startDate Accepts the date object
 * @param {Date} endDate Accepts the date object
 * @returns {number} Returns the date count
 */
export  function getDateCount(startDate: Date, endDate: Date): number;
/**
 * Method to add no of days in date object
 *
 * @param {Date} date Accepts the date object
 * @param {number} noOfDays Accepts the number of days count
 * @returns {Date} Returns the date object
 */
export  function addDays(date: Date, noOfDays: number): Date;
/**
 * Method to add no of months in date object
 *
 * @param {Date} date Accepts the date object
 * @param {number} noOfMonths Accepts the number of month count
 * @returns {Date} Returns the date object
 */
export  function addMonths(date: Date, noOfMonths: number): Date;
/**
 * Method to add no of years in date object
 *
 * @param {Date} date Accepts the date object
 * @param {number} noOfYears Accepts the number of month count
 * @returns {Date} Returns the date object
 */
export  function addYears(date: Date, noOfYears: number): Date;
/**
 * Method to get start and end hours
 *
 * @param {Date} date Accepts the date object
 * @param {Date} startHour Accepts the start hour date object
 * @param {Date} endHour Accepts the end hour date object
 * @returns {Object} Returns the start and end hour date objects
 */
export  function getStartEndHours(date: Date, startHour: Date, endHour: Date): Record<string, Date>;
/**
 * Method to get month last date
 *
 * @param {Date} date Accepts the date object
 * @returns {number} Returns the month last date
 */
export  function getMaxDays(date: Date): number;
/**
 * Method to get days count between two dates
 *
 * @param {Date} startDate Accepts the date object
 * @param {Date} endDate Accepts the date object
 * @returns {number} Returns the days count
 */
export  function getDaysCount(startDate: number, endDate: number): number;
/**
 * Method to get date object from date string
 *
 * @param {string} date Accepts the date string
 * @returns {Date} Returns the date object
 */
export  function getDateFromString(date: string): Date;
/**
 * Method to get scrollbar width
 *
 * @returns {number} Returns the scrollbar width
 * @private
 */
export  function getScrollBarWidth(): number;
/**
 * Method to find the index from data collection
 *
 * @param {Object} data Accepts the data as object
 * @param {string} field Accepts the field name
 * @param {string} value Accepts the value name
 * @param {Object} event Accepts the data as object
 * @param {Object[]} resourceCollection Accepts the data collections
 * @returns {number} Returns the index number
 */
export  function findIndexInData(data: Record<string, any>[], field: string, value: string, event?: Record<string, any>, resourceCollection?: Record<string, any>[]): number;
/**
 * Method to get element outer height
 *
 * @param {HTMLElement} element Accepts the DOM element
 * @returns {number} Returns the outer height of the given element
 */
export  function getOuterHeight(element: HTMLElement): number;
/**
 * Method to remove child elements
 *
 * @param {HTMLElement | Element} element Accepts the DOM element
 * @returns {void}
 */
export  function removeChildren(element: HTMLElement | Element): void;
/**
 * Method to check DST is present or not in date object
 *
 * @param {Date} date Accepts the date object
 * @returns {boolean} Returns the boolean value for either DST is present or not
 */
export  function isDaylightSavingTime(date: Date): boolean;
/**
 * Method to get UTC time value from date
 *
 * @param {Date} date Accepts the date
 * @returns {number} Returns the UTC time value
 */
export  function getUniversalTime(date: Date): number;
/**
 * Method to check the device
 *
 * @returns {boolean} Returns the boolean value for either device is present or not.
 */
export  function isMobile(): boolean;
/**
 * Method to check the IPad device
 *
 * @returns {boolean} Returns the boolean value for either IPad device is present or not.
 */
export  function isIPadDevice(): boolean;
/**
 * Method to capitalize the first word in string
 *
 * @param {string} inputString Accepts the string value
 * @param {string} type Accepts the string type
 * @returns {string} Returns the output string
 */
export  function capitalizeFirstWord(inputString: string, type: string): string;
//node_modules/@syncfusion/ej2-schedule/src/schedule/event-renderer/agenda-base.d.ts
export  class AgendaBase extends ViewBase {
    constructor(parent: Schedule);
    createAgendaContentElement(type: string, listData: Record<string, any>[], aTd: Element, groupOrder?: string[], groupIndex?: number): Element;
    createAppointment(event: Record<string, any>): HTMLElement[];
    processAgendaEvents(events: Record<string, any>[]): Record<string, any>[];
    wireEventActions(): void;
    calculateResourceTableElement(tBody: Element, noOfDays: number, agendaDate: Date): void;
    private createResourceTableRow;
    createDateHeaderElement(date: Date): Element;
    renderEmptyContent(tBody: Element, agendaDate: Date): void;
    createTableRowElement(date: Date, type: string): Element;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/event-renderer/event-base.d.ts
/**
 * EventBase for appointment rendering
 */
export  class EventBase {
    parent: Schedule;
    slots: number[];
    cssClass: string;
    groupOrder: string[];
    private isDoubleTapped;
    /**
     * Constructor for EventBase
     *
     * @param {Schedule} parent Accepts the schedule instance
     */
    constructor(parent: Schedule);
    processData(events: Record<string, any>[], timeZonePropChanged?: boolean, oldTimezone?: string): Record<string, any>[];
    updateEventDateTime(eventData: Record<string, any>): Record<string, any>;
    getProcessedEvents(eventCollection?: Record<string, any>[]): Record<string, any>[];
    timezonePropertyChange(oldTimezone: string): void;
    timezoneConvert(eventData: Record<string, any>): void;
    private processTimezoneChange;
    processTimezone(event: Record<string, any>, isReverse?: boolean): Record<string, any>;
    filterBlockEvents(eventObj: Record<string, any>): Record<string, any>[];
    filterEvents(startDate: Date, endDate: Date, appointments?: Record<string, any>[], resourceTdData?: TdData): Record<string, any>[];
    filterEventsByRange(eventCollection: Record<string, any>[], startDate?: Date, endDate?: Date): Record<string, any>[];
    filterEventsByResource(resourceTdData: TdData, appointments?: Record<string, any>[]): Record<string, any>[];
    sortByTime(appointmentsCollection: Record<string, any>[]): Record<string, any>[];
    sortByDateTime(appointments: Record<string, any>[]): Record<string, any>[];
    getSmallestMissingNumber(array: number[]): number;
    splitEventByDay(event: Record<string, any>): Record<string, any>[];
    splitEvent(event: Record<string, any>, dateRender: Date[]): Record<string, any>[];
    cloneEventObject(event: Record<string, any>, start: number, end: number, count: number, isLeft: boolean, isRight: boolean): Record<string, any>;
    private dateInRange;
    getSelectedEventElements(target: Element): Element[];
    getSelectedEvents(): EventClickArgs;
    removeSelectedAppointmentClass(): void;
    addSelectedAppointments(cells: Element[]): void;
    getSelectedAppointments(): Element[];
    focusElement(isFocused?: boolean): void;
    selectWorkCellByTime(eventsData: Record<string, any>[]): Element;
    getGroupIndexFromEvent(eventData: Record<string, any>): number;
    isAllDayAppointment(event: Record<string, any>): boolean;
    addEventListener(): void;
    removeEventListener(): void;
    private appointmentBorderRemove;
    wireAppointmentEvents(element: HTMLElement, event?: Record<string, any>, isPreventCrud?: boolean): void;
    private eventTouchClick;
    renderResizeHandler(element: HTMLElement, spanEvent: Record<string, any>, isReadOnly: boolean): void;
    private eventClick;
    private eventDoubleClick;
    getEventByGuid(guid: string): Record<string, any>;
    getEventById(id: number | string): Record<string, any>;
    generateGuid(): string;
    getEventIDType(): string;
    getEventMaxID(resourceId?: number): number | string;
    private activeEventData;
    generateOccurrence(event: Record<string, any>, viewDate?: Date, oldTimezone?: string, isMaxCount?: boolean): Record<string, any>[];
    private getDSTAdjustedTime;
    private getDSTDiff;
    getParentEvent(eventObj: Record<string, any>, isParent?: boolean): Record<string, any>;
    getEventCollections(parentObj: Record<string, any>, childObj?: Record<string, any>): {
        [key: string]: Record<string, any>[];
    };
    getFollowingEvent(parentObj: Record<string, any>, isReverse?: boolean): Record<string, any>;
    isFollowingEvent(parentObj: Record<string, any>, childObj: Record<string, any>): boolean;
    getOccurrenceEvent(eventObj: Record<string, any>, isGuid?: boolean, isFollowing?: boolean): Record<string, any>[];
    getOccurrencesByID(id: number | string): Record<string, any>[];
    getOccurrencesByRange(startTime: Date, endTime: Date): Record<string, any>[];
    getDeletedOccurrences(recurrenceData: string | number | Record<string, any>): Record<string, any>[];
    applyResourceColor(element: HTMLElement, data: Record<string, any>, type: string, index?: string[], alpha?: string): void;
    createBlockAppointmentElement(record: Record<string, any>, resIndex: number, isResourceEventTemplate: boolean): HTMLElement;
    setWrapperAttributes(appointmentWrapper: HTMLElement, resIndex: number): void;
    getReadonlyAttribute(event: Record<string, any>): string;
    isBlockRange(eventData: Record<string, any> | Record<string, any>[]): boolean;
    getFilterEventsList(dataSource: Record<string, any>[], query: data.Predicate): Record<string, any>[];
    getSeriesEvents(parentEvent: Record<string, any>, startTime?: string): Record<string, any>[];
    getEditedOccurrences(deleteFutureEditEventList: Record<string, any>[], startTime?: string): Record<string, any>[];
    getRenderedDates(dateRender: Date[]): Date[];
    isValidEvent(eventObj: Record<string, any>, start: Date, end: Date, schedule: {
        [key: string]: Date;
    }): boolean;
    allDayExpandScroll(dateHeader: HTMLElement): void;
    updateEventMinimumDuration(startEndHours: Record<string, Date>, startTime: Date, endTime: Date): Record<string, Date>;
    createEventWrapper(type?: string, index?: number): HTMLElement;
    private unWireEvents;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/event-renderer/inline-edit.d.ts
/**
 * Inline Edit interactions
 */
export  class InlineEdit {
    private parent;
    constructor(parent: Schedule);
    private inlineEdit;
    private cellEdit;
    private eventEdit;
    private createVerticalViewInline;
    private createMonthViewInline;
    private createTimelineViewInline;
    private getEventDaysCount;
    private generateEventData;
    documentClick(): void;
    inlineCrudActions(target: HTMLTableCellElement): void;
    createInlineAppointmentElement(inlineData?: Record<string, any>): HTMLElement;
    removeInlineAppointmentElement(): void;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/event-renderer/month.d.ts
/**
 * Month view events render
 */
export  class MonthEvent extends EventBase {
    element: HTMLElement;
    fields: EventFieldsMapping;
    dateRender: Date[];
    renderedEvents: Record<string, any>[];
    eventHeight: number;
    private monthHeaderHeight;
    workCells: HTMLElement[];
    cellWidth: number;
    cellHeight: number;
    moreIndicatorHeight: number;
    renderType: string;
    maxHeight: boolean;
    withIndicator: boolean;
    maxOrIndicator: boolean;
    inlineValue: boolean;
    private isResourceEventTemplate;
    constructor(parent: Schedule);
    private removeEventWrapper;
    renderAppointments(): void;
    renderEventsHandler(dateRender: Date[], workDays: number[], resData?: TdData): void;
    private processBlockEvents;
    private isSameDate;
    renderBlockEvents(event: Record<string, any>, resIndex: number, isIcon: boolean): void;
    renderBlockIndicator(cellTd: HTMLElement, position: number, resIndex: number): void;
    getStartTime(event: Record<string, any>, eventData: Record<string, any>): Date;
    getEndTime(event: Record<string, any>, eventData: Record<string, any>): Date;
    getCellTd(day: number): HTMLElement;
    getEventWidth(startDate: Date, endDate: Date, isAllDay: boolean, count: number): number;
    getPosition(startTime: Date, endTime: Date, isAllDay: boolean, day: number): number;
    getRowTop(resIndex: number): number;
    updateIndicatorIcon(event: Record<string, any>): void;
    renderResourceEvents(): void;
    getSlotDates(workDays?: number[]): void;
    createAppointmentElement(record: Record<string, any>, resIndex: number, isCloneElement?: boolean): HTMLElement;
    private appendEventIcons;
    renderEvents(event: Record<string, any>, resIndex: number, eventsList?: Record<string, any>[]): void;
    updateCellHeight(cell: HTMLElement, height: number): void;
    updateBlockElements(): void;
    getFilteredEvents(startDate: Date, endDate: Date, groupIndex: string, eventsList?: Record<string, any>[]): Record<string, any>[];
    getOverlapEvents(date: Date, appointments: Record<string, any>[]): Record<string, any>[];
    getIndex(date: Date): number;
    moreIndicatorClick(event: Event): void;
    renderEventElement(event: Record<string, any>, appointmentElement: HTMLElement, cellTd: Element): void;
    getEventData(event: Record<string, any>): Record<string, any>;
    renderElement(cellTd: HTMLElement | Element, element: HTMLElement, isAppointment?: boolean): void;
    getMoreIndicatorElement(count: number, startDate: Date, endDate: Date): HTMLElement;
    private getMoreIndicatorText;
    removeHeightProperty(selector: string): void;
    setMaxEventHeight(event: HTMLElement, cell: HTMLElement): void;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/event-renderer/timeline-view.d.ts
/**
 * Timeline view events render
 */
export  class TimelineEvent extends MonthEvent {
    private startHour;
    private endHour;
    slotCount: number;
    private interval;
    private day;
    eventContainers: HTMLElement[];
    private dayLength;
    slotsPerDay: number;
    private content;
    private rowIndex;
    inlineValue: boolean;
    private cellTops;
    constructor(parent: Schedule, type: string);
    getSlotDates(): void;
    getOverlapEvents(date: Date, appointments: Record<string, any>[]): Record<string, any>[];
    getSortComparerIndex(startDate: Date, endDate: Date): number;
    getOverlapSortComparerEvents(startDate: Date, endDate: Date, appointmentsCollection: Record<string, any>[]): Record<string, any>[];
    renderResourceEvents(): void;
    renderEvents(event: Record<string, any>, resIndex: number, appointmentsList?: Record<string, any>[]): void;
    private renderTimelineMoreIndicator;
    updateCellHeight(cell: HTMLElement, height: number): void;
    private getFirstChild;
    updateBlockElements(): void;
    getStartTime(event: Record<string, any>, eventData: Record<string, any>): Date;
    private getNextDay;
    getEndTime(event: Record<string, any>, eventData: Record<string, any>): Date;
    private getPreviousDay;
    getEventWidth(startDate: Date, endDate: Date, isAllDay: boolean, count: number): number;
    private getSameDayEventsWidth;
    private getSpannedEventsWidth;
    private isSameDay;
    private getAppointmentLeft;
    getPosition(startTime: Date, endTime: Date, isAllDay: boolean, day: number): number;
    private getFilterEvents;
    private isAlreadyAvail;
    getRowTop(resIndex: number): number;
    getCellTd(): HTMLElement;
    renderBlockIndicator(cellTd: HTMLElement, position: number, resIndex: number): void;
    setMaxEventHeight(event: HTMLElement, cell: HTMLElement): void;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/event-renderer/vertical-view.d.ts
/**
 * Vertical view appointment rendering
 */
export  class VerticalEvent extends EventBase {
    dateRender: Date[][];
    private renderedEvents;
    private renderedAllDayEvents;
    private overlapEvents;
    private moreEvents;
    private overlapList;
    private allDayEvents;
    private slotCount;
    private interval;
    allDayLevel: number;
    private startHour;
    private endHour;
    private element;
    allDayElement: HTMLElement[];
    private animation;
    fields: EventFieldsMapping;
    cellHeight: number;
    resources: TdData[];
    private isResourceEventTemplate;
    constructor(parent: Schedule);
    renderAppointments(): void;
    initializeValues(): void;
    getHeight(start: Date, end: Date): number;
    private appendEvent;
    private processBlockEvents;
    private renderBlockEvents;
    private renderEvents;
    getStartCount(): number;
    private getDayIndex;
    private setValues;
    private getResourceList;
    createAppointmentElement(record: Record<string, any>, isAllDay: boolean, data: Record<string, any>, resource: number): HTMLElement;
    private createMoreIndicator;
    private renderSpannedIcon;
    isSpannedEvent(record: Record<string, any>, day: number, resource: number): Record<string, any>;
    renderAllDayEvents(eventObj: Record<string, any>, dayIndex: number, resource: number, dayCount: number, inline?: boolean): void;
    renderNormalEvents(eventObj: Record<string, any>, dayIndex: number, resource: number, dayCount: number, inline?: boolean): void;
    private getEventWidth;
    private getEventLeft;
    getTopValue(date: Date, day: number, resource: number): number;
    private getOverlapIndex;
    private adjustOverlapElements;
    private setAllDayRowHeight;
    private addOrRemoveClass;
    private getEventHeight;
    private rowExpandCollapse;
    private animationUiUpdate;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/event-renderer/year.d.ts
/**
 * Year view events render
 */
export  class YearEvent extends TimelineEvent {
    cellHeader: number;
    private isResource;
    constructor(parent: Schedule);
    renderAppointments(): void;
    private yearViewEvents;
    private timelineYearViewEvents;
    private updateSpannedEvents;
    private timelineResourceEvents;
    private renderResourceEvent;
    private renderEvent;
    private renderMoreIndicator;
    private createEventElement;
    isSpannedEvent(eventObj: Record<string, any>, monthDate: Date): Record<string, any>;
    getOverlapEvents(date: Date, appointments: Record<string, any>[]): Record<string, any>[];
    private getMonths;
    private removeCellHeight;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/exports/calendar-export.d.ts
/**
 * ICalendar Export Module
 */
export  class ICalendarExport {
    private parent;
    constructor(parent: Schedule);
    initializeCalendarExport(fileName: string, customData: Record<string, any>[]): void;
    getCalendarString(fileName?: string, customData?: Record<string, any>[]): string;
    private customFieldFilter;
    private convertDateToString;
    private download;
    private filterEvents;
    protected getModuleName(): string;
    destroy(): void;
}
/**
 * ICalendar Import Module
 */
export  class ICalendarImport {
    private parent;
    private allDay;
    constructor(parent: Schedule);
    initializeCalendarImport(fileContent: Blob | string): void;
    private iCalendarParser;
    private processOccurrence;
    private getDateString;
    private dateParsing;
    protected getModuleName(): string;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/exports/excel-export.d.ts
/**
 * Excel Export Module
 */
export  class ExcelExport {
    private parent;
    constructor(parent: Schedule);
    initializeExcelExport(excelExportOptions?: ExportOptions): void;
    private processWorkbook;
    private getExportColumns;
    protected getModuleName(): string;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/exports/index.d.ts
/**
 * Exporting modules
 */
//node_modules/@syncfusion/ej2-schedule/src/schedule/exports/print.d.ts
/**
 * Print Module
 */
export  class Print {
    private parent;
    private printInstance;
    private printWindow;
    constructor(parent: Schedule);
    print(printOptions?: ScheduleModel): void;
    private printScheduler;
    private printSchedulerWithModel;
    private getPrintScheduleModel;
    private contentReady;
    protected getModuleName(): string;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/index.d.ts
/**
 * Schedule component exported items
 */
//node_modules/@syncfusion/ej2-schedule/src/schedule/models/event-settings-model.d.ts
/**
 * Interface for a class EventSettings
 */
export interface EventSettingsModel {
    /**
     * It accepts either the string or HTMLElement as template design content and parse it appropriately before displaying
     *  it onto the event background. All the event fields mapped to Schedule from dataSource can be accessed within this template code.
     * {% codeBlock src="schedule/event-template-api/index.ts" %}{% endcodeBlock %}
     *
     * @default null
     */
    template?: string;
    /**
     * With this property, the event data will be bound to Schedule.
     * The event data can be passed either as an array of JavaScript objects,
     * or else can create an instance of [`data.DataManager`](http://ej2.syncfusion.com/documentation/data/api-dataManager.html)
     * in case of processing remote data and can be assigned to the `dataSource` property.
     * With the remote data assigned to dataSource, check the available
     *  [adaptors](http://ej2.syncfusion.com/documentation/data/adaptors.html) to customize the data processing.
     *
     * @default []
     */
    dataSource?: Record<string, any>[] | data.DataManager;
    /**
     * Defines the external [`query`](http://ej2.syncfusion.com/documentation/data/api-query.html)
     * that will be executed along with the data processing.
     *
     * @default null
     */
    query?: data.Query;
    /**
     * Defines the collection of default event fields to be bind to the Schedule.
     *
     * @default null
     */
    fields?: FieldModel;
    /**
     * When set to `true` will display the normal tooltip over the events with its subject, location, start and end time.
     *
     * @default false
     */
    enableTooltip?: boolean;
    /**
     * Defines the option to render the spanned events (more than 24 hours) in either `AllDayRow` or `TimeSlot`. By default it renders in `AllDayRow`.
     * This property is applicable for `Day`, `Week` and `WorkWeek` views only. The possible values for this property as follows
     * * AllDayRow
     * * TimeSlot
     * {% codeBlock src='schedule/spannedEventPlacement/index.md' %}{% endcodeBlock %}
     *
     * @default 'AllDayRow'
     */
    spannedEventPlacement?: SpannedEventPlacement;
    /**
     * Sets a minimum duration for an event where the events are rendered for this minimum duration when the duration of the event is lesser than this value.
     *  It accepts duration value in minutes. This property is only applicable when the event duration is lesser than this property duration.
     *
     * @default 1
     */
    minimumEventDuration?: number;
    /**
     * It accepts either the string or HTMLElement as template design content and parse it appropriately before displaying it onto tooltip.
     *  All the event fields mapped with Schedule dataSource can be accessed within this template code.
     * {% codeBlock src="schedule/tooltip-template-api/index.ts" %}{% endcodeBlock %}
     *
     * @default null
     */
    tooltipTemplate?: string;
    /**
     * Defines the resource name, to decides the color of which particular resource level is to be applied on appointments, when
     *  grouping is enabled on scheduler.
     * {% codeBlock src="schedule/resource-color-field-api/index.ts" %}{% endcodeBlock %}
     *
     * @default null
     */
    resourceColorField?: string;
    /**
     * When set to `true` will edit the future events only instead of editing entire series.
     *
     * @default false
     */
    editFollowingEvents?: boolean;
    /**
     * When set to `false` the add action will be restricted.
     *
     * @default true
     */
    allowAdding?: boolean;
    /**
     * When set to `false` the edit action will be restricted.
     *
     * @default true
     */
    allowEditing?: boolean;
    /**
     * When set to `false` the delete action will be restricted.
     *
     * @default true
     */
    allowDeleting?: boolean;
    /**
     * It enables the event to occupy the full height of the cell without the header of the cell.
     *
     * @default false
     */
    enableMaxHeight?: boolean;
    /**
     * This property enables the event to occupy the full height that remaining from the header and more indicator.
     * More than one appointment are available on the cell the more indicator is created.
     *
     * @default false
     */
    enableIndicator?: boolean;
    /**
     * This property ignores or include the Events element bottom white space.
     *
     * @default false
     */
    ignoreWhitespace?: boolean;
    /**
     * Defines the custom sort comparer function.
     * The sort comparer function has the same functionality like
     * [`Array.sort`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort) sort comparer.
     *
     * @default null
     */
    sortComparer?: SortComparerFunction;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/models/event-settings.d.ts
/**
 * Holds the configuration of event related options and dataSource binding to Schedule.
 */
export  class EventSettings extends base.ChildProperty<EventSettings> {
    /**
     * It accepts either the string or HTMLElement as template design content and parse it appropriately before displaying
     *  it onto the event background. All the event fields mapped to Schedule from dataSource can be accessed within this template code.
     * {% codeBlock src="schedule/event-template-api/index.ts" %}{% endcodeBlock %}
     *
     * @default null
     */
    template: string;
    /**
     * With this property, the event data will be bound to Schedule.
     * The event data can be passed either as an array of JavaScript objects,
     * or else can create an instance of [`data.DataManager`](http://ej2.syncfusion.com/documentation/data/api-dataManager.html)
     * in case of processing remote data and can be assigned to the `dataSource` property.
     * With the remote data assigned to dataSource, check the available
     *  [adaptors](http://ej2.syncfusion.com/documentation/data/adaptors.html) to customize the data processing.
     *
     * @default []
     */
    dataSource: Record<string, any>[] | data.DataManager;
    /**
     * Defines the external [`query`](http://ej2.syncfusion.com/documentation/data/api-query.html)
     * that will be executed along with the data processing.
     *
     * @default null
     */
    query: data.Query;
    /**
     * Defines the collection of default event fields to be bind to the Schedule.
     *
     * @default null
     */
    fields: FieldModel;
    /**
     * When set to `true` will display the normal tooltip over the events with its subject, location, start and end time.
     *
     * @default false
     */
    enableTooltip: boolean;
    /**
     * Defines the option to render the spanned events (more than 24 hours) in either `AllDayRow` or `TimeSlot`. By default it renders in `AllDayRow`.
     * This property is applicable for `Day`, `Week` and `WorkWeek` views only. The possible values for this property as follows
     * * AllDayRow
     * * TimeSlot
     * {% codeBlock src='schedule/spannedEventPlacement/index.md' %}{% endcodeBlock %}
     *
     * @default 'AllDayRow'
     */
    spannedEventPlacement: SpannedEventPlacement;
    /**
     * Sets a minimum duration for an event where the events are rendered for this minimum duration when the duration of the event is lesser than this value.
     *  It accepts duration value in minutes. This property is only applicable when the event duration is lesser than this property duration.
     *
     * @default 1
     */
    minimumEventDuration: number;
    /**
     * It accepts either the string or HTMLElement as template design content and parse it appropriately before displaying it onto tooltip.
     *  All the event fields mapped with Schedule dataSource can be accessed within this template code.
     * {% codeBlock src="schedule/tooltip-template-api/index.ts" %}{% endcodeBlock %}
     *
     * @default null
     */
    tooltipTemplate: string;
    /**
     * Defines the resource name, to decides the color of which particular resource level is to be applied on appointments, when
     *  grouping is enabled on scheduler.
     * {% codeBlock src="schedule/resource-color-field-api/index.ts" %}{% endcodeBlock %}
     *
     * @default null
     */
    resourceColorField: string;
    /**
     * When set to `true` will edit the future events only instead of editing entire series.
     *
     * @default false
     */
    editFollowingEvents: boolean;
    /**
     * When set to `false` the add action will be restricted.
     *
     * @default true
     */
    allowAdding: boolean;
    /**
     * When set to `false` the edit action will be restricted.
     *
     * @default true
     */
    allowEditing: boolean;
    /**
     * When set to `false` the delete action will be restricted.
     *
     * @default true
     */
    allowDeleting: boolean;
    /**
     * It enables the event to occupy the full height of the cell without the header of the cell.
     *
     * @default false
     */
    enableMaxHeight: boolean;
    /**
     * This property enables the event to occupy the full height that remaining from the header and more indicator.
     * More than one appointment are available on the cell the more indicator is created.
     *
     * @default false
     */
    enableIndicator: boolean;
    /**
     * This property ignores or include the Events element bottom white space.
     *
     * @default false
     */
    ignoreWhitespace: boolean;
    /**
     * Defines the custom sort comparer function.
     * The sort comparer function has the same functionality like
     * [`Array.sort`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort) sort comparer.
     *
     * @default null
     */
    sortComparer: SortComparerFunction;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/models/field-options-model.d.ts
/**
 * Interface for a class FieldOptions
 */
export interface FieldOptionsModel {
    /**
     * Denotes the field name to be mapped from the dataSource for every event fields.
     *
     * @default null
     */
    name?: string;
    /**
     * Assigns the specific default value to the fields, when no values are provided to those fields from dataSource.
     *
     * @default null
     */
    default?: string;
    /**
     * Assigns the label values to be displayed for the event editor fields.
     *
     * @default null
     */
    title?: string;
    /**
     * Defines the validation rules to be applied on the event fields within the event editor.
     * {% codeBlock src="schedule/validation-api/index.ts" %}{% endcodeBlock %}
     *
     * @default {}
     */
    validation?: Record<string, any>;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/models/field-options.d.ts
/**
 * Configuration that applies on each appointment field options of scheduler.
 */
export  class FieldOptions extends base.ChildProperty<FieldOptions> {
    /**
     * Denotes the field name to be mapped from the dataSource for every event fields.
     *
     * @default null
     */
    name: string;
    /**
     * Assigns the specific default value to the fields, when no values are provided to those fields from dataSource.
     *
     * @default null
     */
    default: string;
    /**
     * Assigns the label values to be displayed for the event editor fields.
     *
     * @default null
     */
    title: string;
    /**
     * Defines the validation rules to be applied on the event fields within the event editor.
     * {% codeBlock src="schedule/validation-api/index.ts" %}{% endcodeBlock %}
     *
     * @default {}
     */
    validation: Record<string, any>;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/models/fields-model.d.ts
/**
 * Interface for a class Field
 */
export interface FieldModel {
    /**
     * The `id` field needs to be defined as mandatory, when the Schedule is bound to remote data and
     *  it is optional, if the same is bound with JSON data. This field usually assigns ID value to each of the events.
     *
     * @default null
     */
    id?: string;
    /**
     * The `isBlock` field allows you to block certain time interval on the Scheduler.
     * It is a boolean type property accepting either true or false values.
     * When set to true, creates a block range for the specified time interval and disables the event scheduling actions on that time range.
     *
     * @default null
     */
    isBlock?: string;
    /**
     * The `subject` field is optional, and usually assigns the subject text to each of the events.
     *
     * @default { name: null, default: null, title: null, validation: {}  }
     */
    subject?: FieldOptionsModel;
    /**
     * The `startTime` field defines the start time of an event and it is mandatory to provide it for any of the valid event objects.
     *
     * @default { name: null, default: null, title: null, validation: {} }
     */
    startTime?: FieldOptionsModel;
    /**
     * The `endTime` field defines the end time of an event and it is mandatory to provide the end time for any of the valid event objects.
     *
     * @default { name: null, default: null, title: null, validation: {} }
     */
    endTime?: FieldOptionsModel;
    /**
     * It maps the `startTimezone` field from the dataSource and usually accepts the valid IANA timezone names.
     *  It is assumed that the value provided for this field is taken into consideration while processing
     *  the `startTime` field. When this field is not mapped with any timezone names,
     *  then the events will be processed based on the timezone assigned to the Schedule.
     *
     * @default { name: null, default: null, title: null, validation: {} }
     */
    startTimezone?: FieldOptionsModel;
    /**
     * It maps the `endTimezone` field from the dataSource and usually accepts the valid IANA timezone names.
     *  It is assumed that the value provided for this field is taken into consideration while processing the `endTime` field.
     *  When this field is not mapped with any timezone names, then the events will be processed based on the timezone assigned
     *  to the Schedule.
     *
     * @default { name: null, default: null, title: null, validation: {} }
     */
    endTimezone?: FieldOptionsModel;
    /**
     * It maps the `location` field from the dataSource and the location field value will be displayed over
     *  events, while given it for an event object.
     *
     * @default { name: null, default: null, title: null, validation: {} }
     */
    location?: FieldOptionsModel;
    /**
     * It maps the `description` field from the dataSource and denotes the event description which is optional.
     *
     * @default { name: null, default: null, title: null, validation: {} }
     */
    description?: FieldOptionsModel;
    /**
     * The `isAllDay` field is mapped from the dataSource and is used to denote whether an event is created
     * for an entire day or for specific time alone.
     *
     * @default { name: null, default: null, title: null, validation: {} }
     */
    isAllDay?: FieldOptionsModel;
    /**
     * It maps the `recurrenceID` field from dataSource and usually holds the ID value of the parent
     *  recurrence event. It is applicable only for the edited occurrence events.
     *
     * @default { name: null, default: null, title: null, validation: {} }
     */
    recurrenceID?: FieldOptionsModel;
    /**
     * It maps the `recurrenceRule` field from dataSource and is used to uniquely identify whether the
     *  event belongs to a recurring event type or normal ones.
     *
     * @default { name: null, default: null, title: null, validation: {} }
     */
    recurrenceRule?: FieldOptionsModel;
    /**
     * It maps the `recurrenceException` field from dataSource and is used to hold the exception dates
     *  which needs to be excluded from recurring type.
     *
     * @default { name: null, default: null, title: null, validation: {} }
     */
    recurrenceException?: FieldOptionsModel;
    /**
     * The `isReadonly` field is mapped from the dataSource and is used to prevent the CRUD actions on specific events.
     *
     * @default null
     */
    isReadonly?: string;
    /**
     * The `followingID` field is mapped from dataSource and usually holds the ID value of the main parent event.
     *
     * @default null
     */
    followingID?: string;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/models/fields.d.ts
/**
 * A Class that holds the collection of event fields that requires to be mapped with the dataSource
 * fields along with its available configuration settings. Each field in it accepts both string and Object
 *  data type. When each of the field is assigned with simple `string` value, it is assumed that the dataSource field
 *  name is mapped with it. If the `object` type is defined on each fields, then the validation related settings and mapping of
 *  those fields with dataSource can be given altogether within it.
 */
export  class Field extends base.ChildProperty<Field> {
    /**
     * The `id` field needs to be defined as mandatory, when the Schedule is bound to remote data and
     *  it is optional, if the same is bound with JSON data. This field usually assigns ID value to each of the events.
     *
     * @default null
     */
    id: string;
    /**
     * The `isBlock` field allows you to block certain time interval on the Scheduler.
     * It is a boolean type property accepting either true or false values.
     * When set to true, creates a block range for the specified time interval and disables the event scheduling actions on that time range.
     *
     * @default null
     */
    isBlock: string;
    /**
     * The `subject` field is optional, and usually assigns the subject text to each of the events.
     *
     * @default { name: null, default: null, title: null, validation: {}  }
     */
    subject: FieldOptionsModel;
    /**
     * The `startTime` field defines the start time of an event and it is mandatory to provide it for any of the valid event objects.
     *
     * @default { name: null, default: null, title: null, validation: {} }
     */
    startTime: FieldOptionsModel;
    /**
     * The `endTime` field defines the end time of an event and it is mandatory to provide the end time for any of the valid event objects.
     *
     * @default { name: null, default: null, title: null, validation: {} }
     */
    endTime: FieldOptionsModel;
    /**
     * It maps the `startTimezone` field from the dataSource and usually accepts the valid IANA timezone names.
     *  It is assumed that the value provided for this field is taken into consideration while processing
     *  the `startTime` field. When this field is not mapped with any timezone names,
     *  then the events will be processed based on the timezone assigned to the Schedule.
     *
     * @default { name: null, default: null, title: null, validation: {} }
     */
    startTimezone: FieldOptionsModel;
    /**
     * It maps the `endTimezone` field from the dataSource and usually accepts the valid IANA timezone names.
     *  It is assumed that the value provided for this field is taken into consideration while processing the `endTime` field.
     *  When this field is not mapped with any timezone names, then the events will be processed based on the timezone assigned
     *  to the Schedule.
     *
     * @default { name: null, default: null, title: null, validation: {} }
     */
    endTimezone: FieldOptionsModel;
    /**
     * It maps the `location` field from the dataSource and the location field value will be displayed over
     *  events, while given it for an event object.
     *
     * @default { name: null, default: null, title: null, validation: {} }
     */
    location: FieldOptionsModel;
    /**
     * It maps the `description` field from the dataSource and denotes the event description which is optional.
     *
     * @default { name: null, default: null, title: null, validation: {} }
     */
    description: FieldOptionsModel;
    /**
     * The `isAllDay` field is mapped from the dataSource and is used to denote whether an event is created
     * for an entire day or for specific time alone.
     *
     * @default { name: null, default: null, title: null, validation: {} }
     */
    isAllDay: FieldOptionsModel;
    /**
     * It maps the `recurrenceID` field from dataSource and usually holds the ID value of the parent
     *  recurrence event. It is applicable only for the edited occurrence events.
     *
     * @default { name: null, default: null, title: null, validation: {} }
     */
    recurrenceID: FieldOptionsModel;
    /**
     * It maps the `recurrenceRule` field from dataSource and is used to uniquely identify whether the
     *  event belongs to a recurring event type or normal ones.
     *
     * @default { name: null, default: null, title: null, validation: {} }
     */
    recurrenceRule: FieldOptionsModel;
    /**
     * It maps the `recurrenceException` field from dataSource and is used to hold the exception dates
     *  which needs to be excluded from recurring type.
     *
     * @default { name: null, default: null, title: null, validation: {} }
     */
    recurrenceException: FieldOptionsModel;
    /**
     * The `isReadonly` field is mapped from the dataSource and is used to prevent the CRUD actions on specific events.
     *
     * @default null
     */
    isReadonly: string;
    /**
     * The `followingID` field is mapped from dataSource and usually holds the ID value of the main parent event.
     *
     * @default null
     */
    followingID: string;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/models/group-model.d.ts
/**
 * Interface for a class Group
 */
export interface GroupModel {
    /**
     * When set to `true`, groups the resources by date where each day renders all the resource names under it.
     *
     * @default false
     */
    byDate?: boolean;
    /**
     * Decides whether to allow the resource hierarchy to group by ID. It is set to `true` by default and when set to false,
     *  all the resources under child collection will be mapped against each available parent.
     *
     * @default true
     */
    byGroupID?: boolean;
    /**
     * Allows creation and editing of linked appointments assigned to multiple resources. When set to `true`,
     *  a single appointment object instance will be maintained in schedule dataSource that are created for
     *  multiple resources, whereas displayed individually on UI.
     *
     * @default false
     */
    allowGroupEdit?: boolean;
    /**
     * Accepts the collection of resource names assigned to each resources and allows the grouping order on schedule based on it.
     *
     * @default []
     */
    resources?: string[];
    /**
     * Decides whether to display the resource grouping layout in normal or compact mode in mobile devices. When set to `false`,
     *  the default grouping layout on desktop will be displayed on mobile devices with scrolling enabled.
     *
     * @default true
     */
    enableCompactView?: boolean;
    /**
     * Template option to customize the tooltip that displays over the resource header bar. By default, no tooltip will be
     *  displayed on resource header bar. It accepts either the string or HTMLElement as template design content and
     *  parse it appropriately before displaying it onto the tooltip. All the resource fields mapped for resource dataSource
     *  can be accessed within this template code.
     *
     * @default null
     */
    headerTooltipTemplate?: string;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/models/group.d.ts
/**
 * A class that holds the resource grouping related configurations on Schedule.
 */
export  class Group extends base.ChildProperty<Group> {
    /**
     * When set to `true`, groups the resources by date where each day renders all the resource names under it.
     *
     * @default false
     */
    byDate: boolean;
    /**
     * Decides whether to allow the resource hierarchy to group by ID. It is set to `true` by default and when set to false,
     *  all the resources under child collection will be mapped against each available parent.
     *
     * @default true
     */
    byGroupID: boolean;
    /**
     * Allows creation and editing of linked appointments assigned to multiple resources. When set to `true`,
     *  a single appointment object instance will be maintained in schedule dataSource that are created for
     *  multiple resources, whereas displayed individually on UI.
     *
     * @default false
     */
    allowGroupEdit: boolean;
    /**
     * Accepts the collection of resource names assigned to each resources and allows the grouping order on schedule based on it.
     *
     * @default []
     */
    resources: string[];
    /**
     * Decides whether to display the resource grouping layout in normal or compact mode in mobile devices. When set to `false`,
     *  the default grouping layout on desktop will be displayed on mobile devices with scrolling enabled.
     *
     * @default true
     */
    enableCompactView: boolean;
    /**
     * Template option to customize the tooltip that displays over the resource header bar. By default, no tooltip will be
     *  displayed on resource header bar. It accepts either the string or HTMLElement as template design content and
     *  parse it appropriately before displaying it onto the tooltip. All the resource fields mapped for resource dataSource
     *  can be accessed within this template code.
     *
     * @default null
     */
    headerTooltipTemplate: string;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/models/header-rows-model.d.ts
/**
 * Interface for a class HeaderRows
 */
export interface HeaderRowsModel {
    /**
     * It defines the header row type, which accepts either of the following values.
     * * Year
     * * Month
     * * Week
     * * Date
     * * Hour
     *
     * @default null
     */
    option?: HeaderRowType;
    /**
     * Template option to customize the individual header rows. It accepts either the string or HTMLElement as template design
     *  content and parse it appropriately before displaying it onto the header cells. The field that
     *  can be accessed via this template is `date`.
     *
     * @default null
     */
    template?: string;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/models/header-rows.d.ts
/**
 * A class that represents the header rows related configurations on timeline views.
 */
export  class HeaderRows extends base.ChildProperty<HeaderRows> {
    /**
     * It defines the header row type, which accepts either of the following values.
     * * Year
     * * Month
     * * Week
     * * Date
     * * Hour
     *
     * @default null
     */
    option: HeaderRowType;
    /**
     * Template option to customize the individual header rows. It accepts either the string or HTMLElement as template design
     *  content and parse it appropriately before displaying it onto the header cells. The field that
     *  can be accessed via this template is `date`.
     *
     * @default null
     */
    template: string;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/models/models.d.ts
/**
 * Export model files
 */
//node_modules/@syncfusion/ej2-schedule/src/schedule/models/quick-info-templates-model.d.ts
/**
 * Interface for a class QuickInfoTemplates
 */
export interface QuickInfoTemplatesModel {
    /**
     * Template option to customize the header section of quick popup.
     * The applicable template types are,
     * * Both
     * * Cell
     * * Event
     *
     *  @default 'Both'
     */
    templateType?: TemplateType;
    /**
     * Template option to customize the header section of quick popup.
     *
     *  @default null
     */
    header?: string;
    /**
     * Template option to customize the content area of the quick popup.
     *
     *  @default null
     */
    content?: string;
    /**
     * Template option to customize the footer section of quick popup.
     *
     *  @default null
     */
    footer?: string;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/models/quick-info-templates.d.ts
/**
 * A class that defines the template options available to customize the quick popup of scheduler.
 */
export  class QuickInfoTemplates extends base.ChildProperty<QuickInfoTemplates> {
    /**
     * Template option to customize the header section of quick popup.
     * The applicable template types are,
     * * Both
     * * Cell
     * * Event
     *
     *  @default 'Both'
     */
    templateType: TemplateType;
    /**
     * Template option to customize the header section of quick popup.
     *
     *  @default null
     */
    header: string;
    /**
     * Template option to customize the content area of the quick popup.
     *
     *  @default null
     */
    content: string;
    /**
     * Template option to customize the footer section of quick popup.
     *
     *  @default null
     */
    footer: string;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/models/resources-model.d.ts
/**
 * Interface for a class Resources
 */
export interface ResourcesModel {
    /**
     * A value that binds to the resource field of event object.
     *
     * @default null
     */
    field?: string;
    /**
     * It holds the title of the resource field to be displayed on the schedule event editor window.
     *
     * @default null
     */
    title?: string;
    /**
     * It represents a unique resource name for differentiating various resource objects while grouping.
     *
     * @default null
     */
    name?: string;
    /**
     * When set to true, allows multiple selection of resource names, thus creating multiple instances of same appointment for the
     *  selected resources.
     *
     * @default false
     */
    allowMultiple?: boolean;
    /**
     * Assigns the resource dataSource
     * The data can be passed either as an array of JavaScript objects,
     * or else can create an instance of [`data.DataManager`](http://ej2.syncfusion.com/documentation/data/api-dataManager.html)
     * in case of processing remote data and can be assigned to the `dataSource` property.
     * With the remote data assigned to dataSource, check the available
     *  [adaptors](http://ej2.syncfusion.com/documentation/data/adaptors.html) to customize the data processing.
     *
     * @default []
     */
    dataSource?: Record<string, any>[] | data.DataManager;
    /**
     * Defines the external [`query`](http://ej2.syncfusion.com/documentation/data/api-query.html)
     * that will be executed along with the data processing.
     *
     * @default null
     */
    query?: data.Query;
    /**
     * It maps the `id` field from the dataSource and is used to uniquely identify the resources.
     *
     * @default 'Id'
     */
    idField?: string;
    /**
     * It maps the `text` field from the dataSource, which is used to specify the resource names.
     *
     * @default 'Text'
     */
    textField?: string;
    /**
     * It maps the `expanded` field from the dataSource, which is used to specify whether each resource levels
     * in timeline view needs to be maintained in an expanded or collapsed state by default.
     *
     * @default 'Expanded'
     */
    expandedField?: string;
    /**
     * It maps the `groupID` field from the dataSource, which is used to specify under which parent resource,
     *  the child should be grouped.
     *
     * @default 'GroupID'
     */
    groupIDField?: string;
    /**
     * It maps the `color` field from the dataSource, which is used to specify colors for the resources.
     *
     * @default 'Color'
     */
    colorField?: string;
    /**
     * It maps the `startHour` field from the dataSource, which is used to specify different work start hour for each resources.
     *
     * @default 'StartHour'
     */
    startHourField?: string;
    /**
     * It maps the `endHour` field from the dataSource, which is used to specify different work end hour for each resources.
     *
     * @default 'EndHour'
     */
    endHourField?: string;
    /**
     * It maps the working days field from the dataSource, which is used to specify different working days for each resources.
     *
     * @default 'WorkDays'
     */
    workDaysField?: string;
    /**
     * It maps the `cssClass` field from the dataSource, which is used to specify different styles to each resource appointments.
     *
     * @default 'CssClass'
     */
    cssClassField?: string;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/models/resources.d.ts
/**
 * A class that represents the resource related configurations and its data binding options.
 */
export  class Resources extends base.ChildProperty<Resources> {
    /**
     * A value that binds to the resource field of event object.
     *
     * @default null
     */
    field: string;
    /**
     * It holds the title of the resource field to be displayed on the schedule event editor window.
     *
     * @default null
     */
    title: string;
    /**
     * It represents a unique resource name for differentiating various resource objects while grouping.
     *
     * @default null
     */
    name: string;
    /**
     * When set to true, allows multiple selection of resource names, thus creating multiple instances of same appointment for the
     *  selected resources.
     *
     * @default false
     */
    allowMultiple: boolean;
    /**
     * Assigns the resource dataSource
     * The data can be passed either as an array of JavaScript objects,
     * or else can create an instance of [`data.DataManager`](http://ej2.syncfusion.com/documentation/data/api-dataManager.html)
     * in case of processing remote data and can be assigned to the `dataSource` property.
     * With the remote data assigned to dataSource, check the available
     *  [adaptors](http://ej2.syncfusion.com/documentation/data/adaptors.html) to customize the data processing.
     *
     * @default []
     */
    dataSource: Record<string, any>[] | data.DataManager;
    /**
     * Defines the external [`query`](http://ej2.syncfusion.com/documentation/data/api-query.html)
     * that will be executed along with the data processing.
     *
     * @default null
     */
    query: data.Query;
    /**
     * It maps the `id` field from the dataSource and is used to uniquely identify the resources.
     *
     * @default 'Id'
     */
    idField: string;
    /**
     * It maps the `text` field from the dataSource, which is used to specify the resource names.
     *
     * @default 'Text'
     */
    textField: string;
    /**
     * It maps the `expanded` field from the dataSource, which is used to specify whether each resource levels
     * in timeline view needs to be maintained in an expanded or collapsed state by default.
     *
     * @default 'Expanded'
     */
    expandedField: string;
    /**
     * It maps the `groupID` field from the dataSource, which is used to specify under which parent resource,
     *  the child should be grouped.
     *
     * @default 'GroupID'
     */
    groupIDField: string;
    /**
     * It maps the `color` field from the dataSource, which is used to specify colors for the resources.
     *
     * @default 'Color'
     */
    colorField: string;
    /**
     * It maps the `startHour` field from the dataSource, which is used to specify different work start hour for each resources.
     *
     * @default 'StartHour'
     */
    startHourField: string;
    /**
     * It maps the `endHour` field from the dataSource, which is used to specify different work end hour for each resources.
     *
     * @default 'EndHour'
     */
    endHourField: string;
    /**
     * It maps the working days field from the dataSource, which is used to specify different working days for each resources.
     *
     * @default 'WorkDays'
     */
    workDaysField: string;
    /**
     * It maps the `cssClass` field from the dataSource, which is used to specify different styles to each resource appointments.
     *
     * @default 'CssClass'
     */
    cssClassField: string;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/models/time-scale-model.d.ts
/**
 * Interface for a class TimeScale
 */
export interface TimeScaleModel {
    /**
     * When set to `true`, allows the schedule to display the appointments accurately against the exact time duration.
     *  If set to `false`, all the appointments of a day will be displayed one below the other.
     *
     * @default true
     */
    enable?: boolean;
    /**
     * Defines the time duration on which the time axis to be displayed either in 1 hour or 30 minutes interval and so on.
     *  It accepts the values in minutes.
     *
     * @default 60
     */
    interval?: number;
    /**
     * Decides the number of slot count to be split for the specified time interval duration.
     *
     * @default 2
     */
    slotCount?: number;
    /**
     * The template option to be applied for minor time slot. Here, the
     *  template accepts either the string or HTMLElement as template design and then the parsed design is displayed
     *  onto the time cells. The time details can be accessed within this template.
     *
     *  @default null
     */
    minorSlotTemplate?: string;
    /**
     * The template option to be applied for major time slot. Here, the
     *  template accepts either the string or HTMLElement as template design and then the parsed design is displayed
     *  onto the time cells. The time details can be accessed within this template.
     *
     * @default null
     */
    majorSlotTemplate?: string;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/models/time-scale.d.ts
/**
 * A class that represents the configuration of options related to timescale on scheduler.
 */
export  class TimeScale extends base.ChildProperty<TimeScale> {
    /**
     * When set to `true`, allows the schedule to display the appointments accurately against the exact time duration.
     *  If set to `false`, all the appointments of a day will be displayed one below the other.
     *
     * @default true
     */
    enable: boolean;
    /**
     * Defines the time duration on which the time axis to be displayed either in 1 hour or 30 minutes interval and so on.
     *  It accepts the values in minutes.
     *
     * @default 60
     */
    interval: number;
    /**
     * Decides the number of slot count to be split for the specified time interval duration.
     *
     * @default 2
     */
    slotCount: number;
    /**
     * The template option to be applied for minor time slot. Here, the
     *  template accepts either the string or HTMLElement as template design and then the parsed design is displayed
     *  onto the time cells. The time details can be accessed within this template.
     *
     *  @default null
     */
    minorSlotTemplate: string;
    /**
     * The template option to be applied for major time slot. Here, the
     *  template accepts either the string or HTMLElement as template design and then the parsed design is displayed
     *  onto the time cells. The time details can be accessed within this template.
     *
     * @default null
     */
    majorSlotTemplate: string;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/models/views-model.d.ts
/**
 * Interface for a class Views
 */
export interface ViewsModel {
    /**
     * It accepts the schedule view name, based on which we can define with its related properties in a single object.
     * The applicable view names are,
     * * Day
     * * Week
     * * WorkWeek
     * * Month
     * * Year
     * * Agenda
     * * MonthAgenda
     * * TimelineDay
     * * TimelineWeek
     * * TimelineWorkWeek
     * * TimelineMonth
     * * TimelineYear
     *
     * @default null
     */
    option?: View;
    /**
     * To denote whether the view name given on the `option` is active or not.
     * It acts similar to the `currentView` property and defines the active view of Schedule.
     *
     * @default false
     */
    isSelected?: boolean;
    /**
     * By default, Schedule follows the date-format as per the default culture assigned to it. It is also possible to manually set
     *  specific date format by using the `dateFormat` property. The format of the date range label in the header bar depends on
     *  the `dateFormat` value or else based on the locale assigned to the Schedule.
     *  It gets applied only to the view objects on which it is defined.
     *
     * @default null
     */
    dateFormat?: string;
    /**
     * When set to `true`, displays a quick popup with cell or event details on single clicking over the cells or on events.
     *  By default, it is set to `true`. It gets applied only to the view objects on which it is defined.
     *
     * @default false
     */
    readonly?: boolean;
    /**
     * It is used to specify the starting hour, from which the Schedule starts to display.
     *  It accepts the time string in a short skeleton format and also, hides the time beyond the specified start time.
     *
     * @default '00:00'
     */
    startHour?: string;
    /**
     * It is used to specify the end hour, at which the Schedule ends. It too accepts the time string in a short skeleton format.
     *
     * @default '24:00'
     */
    endHour?: string;
    /**
     * It is used to allow or disallow the virtual scrolling functionality on Agenda View. This is applicable only on Agenda view.
     *
     * @default false
     */
    allowVirtualScrolling?: boolean;
    /**
     * It accepts either the string or HTMLElement as template design content and parse it appropriately before displaying it onto the
     *  month date cells.
     *  This template is only applicable for month view day cells.
     *
     * @default null
     */
    cellHeaderTemplate?: string;
    /**
     * It accepts either the string or HTMLElement as template design content and parse it appropriately before displaying it onto the
     *  date header cells. The field that can be accessed via this template is `date`.
     *  It gets applied only to the view objects on which it is defined.
     *
     * @default null
     */
    dateHeaderTemplate?: string;
    /**
     * The template option which is used to render the customized work cells on the Schedule. Here, the
     *  template accepts either the string or HTMLElement as template design and then the parsed design is displayed onto the work cells.
     *  The field accessible via template is `date`. It gets applied only to the view objects on which it is defined.
     *
     * @default null
     */
    cellTemplate?: string;
    /**
     * It accepts either the string or HTMLElement as template design content and parse it appropriately before displaying it onto the
     *  Year view day cell header.
     *  This template is only applicable for year view header cells.
     *
     * @default null
     */
    dayHeaderTemplate?: string;
    /**
     * It accepts either the string or HTMLElement as template design content and parse it appropriately before displaying it onto the
     *  Year view day cell header.
     *  This template is only applicable for year view header cells.
     *
     * @default null
     */
    monthHeaderTemplate?: string;
    /**
     * It accepts either the string or HTMLElement as template design content and parse it appropriately before displaying it onto
     *  the event background. All the event fields mapped to Schedule from dataSource can be accessed within this template code.
     *  It is similar to that of the `template` option available within the `eventSettings` property,
     *  whereas it will get applied only on the events of the view to which it is currently being defined.
     *
     * @default null
     */
    eventTemplate?: string;
    /**
     * When set to `false`, it hides the weekend days of a week from the Schedule.
     * The days which are not defined in the working days collection are usually treated as weekend days.
     * Note: By default, this option is not applicable on `Work Week` view.
     * For example, if the working days are defined as [1, 2, 3, 4], then the remaining days of that week will be considered as the
     *  weekend days and will be hidden on all the views.
     *
     * @default true
     */
    showWeekend?: boolean;
    /**
     * When set to `true`, displays the week number of the current view date range.
     *
     * @default false
     */
    showWeekNumber?: boolean;
    /**
     * When the same view is customized with different intervals, this property allows the user to set different display name
     *  for those views.
     *
     * @default null
     */
    displayName?: string;
    /**
     * It accepts the number value denoting to include the number of days, weeks, workweeks or months on the defined view type.
     *
     * @default 1
     */
    interval?: number;
    /**
     * This option allows the user to set the first day of a week on Schedule. It should be based on the locale set to it and each culture
     *  defines its own first day of week values. If needed, the user can set it manually on his own by defining the value through
     *  this property. It usually accepts the integer values, whereby 0 is always denoted as Sunday, 1 as Monday and so on.
     *
     * @default 0
     */
    firstDayOfWeek?: number;
    /**
     * This property helps render the year view customized months.
     * By default, it is set to `0`.
     *
     * @default 0
     */
    firstMonthOfYear?: number;
    /**
     * This option allows the user to set the number of months count to be displayed on the Schedule.
     * {% codeBlock src='schedule/monthsCount/index.md' %}{% endcodeBlock %}
     *
     * @default 12
     * @aspType int
     */
    monthsCount?: number;
    /**
     * It is used to set the working days on schedule. The only days that are defined in this collection will be rendered on the
     *  `workWeek` view whereas on other views, it will display all the usual days and simply highlights the working days with different
     *  shade.
     *
     * @default '[1, 2, 3, 4, 5]'
     * @aspType int[]
     */
    workDays?: number[];
    /**
     * The template option which is used to render the customized header cells on the schedule. Here, the
     *  template accepts either the string or HTMLElement as template design and then the parsed design is displayed onto the header cells.
     *  All the resource fields mapped within resources can be accessed within this template code.
     *  It gets applied only to the view objects on which it is defined.
     *
     * @default null
     */
    resourceHeaderTemplate?: string;
    /**
     * The template option which is used to render the customized header indent cell on the schedule. Here, the
     *  template accepts either the string or HTMLElement as template design and then the parsed design is displayed onto the header indent cell.
     *  It gets applied only to the view objects on which it is defined.
     *
     * @default null
     */
    headerIndentTemplate?: string;
    /**
     * By default, Schedule follows the time-format as per the default culture assigned to it.
     * It is also possible to manually set specific time format by using the `timeFormat` property.
     * {% codeBlock src='schedule/timeFormat/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    timeFormat?: string;
    /**
     * It is used to specify the year view rendering orientation on the schedule.
     * The applicable orientation values are,
     * * Horizontal
     * * Vertical
     *
     * @default 'Horizontal'
     */
    orientation?: Orientation;
    /**
     * Allows to set different timescale configuration on each applicable view modes such as day, week and work week.
     *
     * @default { enable: true, interval: 60, slotCount: 2, majorSlotTemplate: null, minorSlotTemplate: null }
     */
    timeScale?: TimeScaleModel;
    /**
     * Allows to set different resource grouping options on all available schedule view modes.
     *
     * @default { byDate: false, byGroupID: true, allowGroupEdit: false, resources:[]}
     */
    group?: GroupModel;
    /**
     * Allows defining the collection of custom header rows to display the year, month, week, date and hour label as an individual row
     *  on the timeline view of the scheduler.
     *
     * @default []
     */
    headerRows?: HeaderRowsModel[];
    /**
     * This property customizes the number of weeks that are shown in month view. By default, it shows all weeks in the current month.
     *  Use displayDate property to customize the starting week of month.
     * {% codeBlock src='schedule/numberOfWeeks/index.md' %}{% endcodeBlock %}
     *
     * @default 0
     * @aspType int
     */
    numberOfWeeks?: number;
    /**
     * Specifies the starting week date at an initial rendering of month view. This property is only applicable for month view.
     *  If this property value is not set, then the month view will be rendered from the first week of the month.
     * {% codeBlock src='schedule/displayDate/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    displayDate?: Date;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/models/views.d.ts
/**
 * A class that represents the configuration of view-specific settings on scheduler.
 */
export  class Views extends base.ChildProperty<Views> {
    /**
     * It accepts the schedule view name, based on which we can define with its related properties in a single object.
     * The applicable view names are,
     * * Day
     * * Week
     * * WorkWeek
     * * Month
     * * Year
     * * Agenda
     * * MonthAgenda
     * * TimelineDay
     * * TimelineWeek
     * * TimelineWorkWeek
     * * TimelineMonth
     * * TimelineYear
     *
     * @default null
     */
    option: View;
    /**
     * To denote whether the view name given on the `option` is active or not.
     * It acts similar to the `currentView` property and defines the active view of Schedule.
     *
     * @default false
     */
    isSelected: boolean;
    /**
     * By default, Schedule follows the date-format as per the default culture assigned to it. It is also possible to manually set
     *  specific date format by using the `dateFormat` property. The format of the date range label in the header bar depends on
     *  the `dateFormat` value or else based on the locale assigned to the Schedule.
     *  It gets applied only to the view objects on which it is defined.
     *
     * @default null
     */
    dateFormat: string;
    /**
     * When set to `true`, displays a quick popup with cell or event details on single clicking over the cells or on events.
     *  By default, it is set to `true`. It gets applied only to the view objects on which it is defined.
     *
     * @default false
     */
    readonly: boolean;
    /**
     * It is used to specify the starting hour, from which the Schedule starts to display.
     *  It accepts the time string in a short skeleton format and also, hides the time beyond the specified start time.
     *
     * @default '00:00'
     */
    startHour: string;
    /**
     * It is used to specify the end hour, at which the Schedule ends. It too accepts the time string in a short skeleton format.
     *
     * @default '24:00'
     */
    endHour: string;
    /**
     * It is used to allow or disallow the virtual scrolling functionality on Agenda View. This is applicable only on Agenda view.
     *
     * @default false
     */
    allowVirtualScrolling: boolean;
    /**
     * It accepts either the string or HTMLElement as template design content and parse it appropriately before displaying it onto the
     *  month date cells.
     *  This template is only applicable for month view day cells.
     *
     * @default null
     */
    cellHeaderTemplate: string;
    /**
     * It accepts either the string or HTMLElement as template design content and parse it appropriately before displaying it onto the
     *  date header cells. The field that can be accessed via this template is `date`.
     *  It gets applied only to the view objects on which it is defined.
     *
     * @default null
     */
    dateHeaderTemplate: string;
    /**
     * The template option which is used to render the customized work cells on the Schedule. Here, the
     *  template accepts either the string or HTMLElement as template design and then the parsed design is displayed onto the work cells.
     *  The field accessible via template is `date`. It gets applied only to the view objects on which it is defined.
     *
     * @default null
     */
    cellTemplate: string;
    /**
     * It accepts either the string or HTMLElement as template design content and parse it appropriately before displaying it onto the
     *  Year view day cell header.
     *  This template is only applicable for year view header cells.
     *
     * @default null
     */
    dayHeaderTemplate: string;
    /**
     * It accepts either the string or HTMLElement as template design content and parse it appropriately before displaying it onto the
     *  Year view day cell header.
     *  This template is only applicable for year view header cells.
     *
     * @default null
     */
    monthHeaderTemplate: string;
    /**
     * It accepts either the string or HTMLElement as template design content and parse it appropriately before displaying it onto
     *  the event background. All the event fields mapped to Schedule from dataSource can be accessed within this template code.
     *  It is similar to that of the `template` option available within the `eventSettings` property,
     *  whereas it will get applied only on the events of the view to which it is currently being defined.
     *
     * @default null
     */
    eventTemplate: string;
    /**
     * When set to `false`, it hides the weekend days of a week from the Schedule.
     * The days which are not defined in the working days collection are usually treated as weekend days.
     * Note: By default, this option is not applicable on `Work Week` view.
     * For example, if the working days are defined as [1, 2, 3, 4], then the remaining days of that week will be considered as the
     *  weekend days and will be hidden on all the views.
     *
     * @default true
     */
    showWeekend: boolean;
    /**
     * When set to `true`, displays the week number of the current view date range.
     *
     * @default false
     */
    showWeekNumber: boolean;
    /**
     * When the same view is customized with different intervals, this property allows the user to set different display name
     *  for those views.
     *
     * @default null
     */
    displayName: string;
    /**
     * It accepts the number value denoting to include the number of days, weeks, workweeks or months on the defined view type.
     *
     * @default 1
     */
    interval: number;
    /**
     * This option allows the user to set the first day of a week on Schedule. It should be based on the locale set to it and each culture
     *  defines its own first day of week values. If needed, the user can set it manually on his own by defining the value through
     *  this property. It usually accepts the integer values, whereby 0 is always denoted as Sunday, 1 as Monday and so on.
     *
     * @default 0
     */
    firstDayOfWeek: number;
    /**
     * This property helps render the year view customized months.
     * By default, it is set to `0`.
     *
     * @default 0
     */
    firstMonthOfYear: number;
    /**
     * This option allows the user to set the number of months count to be displayed on the Schedule.
     * {% codeBlock src='schedule/monthsCount/index.md' %}{% endcodeBlock %}
     *
     * @default 12
     * @aspType int
     */
    monthsCount: number;
    /**
     * It is used to set the working days on schedule. The only days that are defined in this collection will be rendered on the
     *  `workWeek` view whereas on other views, it will display all the usual days and simply highlights the working days with different
     *  shade.
     *
     * @default '[1, 2, 3, 4, 5]'
     * @aspType int[]
     */
    workDays: number[];
    /**
     * The template option which is used to render the customized header cells on the schedule. Here, the
     *  template accepts either the string or HTMLElement as template design and then the parsed design is displayed onto the header cells.
     *  All the resource fields mapped within resources can be accessed within this template code.
     *  It gets applied only to the view objects on which it is defined.
     *
     * @default null
     */
    resourceHeaderTemplate: string;
    /**
     * The template option which is used to render the customized header indent cell on the schedule. Here, the
     *  template accepts either the string or HTMLElement as template design and then the parsed design is displayed onto the header indent cell.
     *  It gets applied only to the view objects on which it is defined.
     *
     * @default null
     */
    headerIndentTemplate: string;
    /**
     * By default, Schedule follows the time-format as per the default culture assigned to it.
     * It is also possible to manually set specific time format by using the `timeFormat` property.
     * {% codeBlock src='schedule/timeFormat/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    timeFormat: string;
    /**
     * It is used to specify the year view rendering orientation on the schedule.
     * The applicable orientation values are,
     * * Horizontal
     * * Vertical
     *
     * @default 'Horizontal'
     */
    orientation: Orientation;
    /**
     * Allows to set different timescale configuration on each applicable view modes such as day, week and work week.
     *
     * @default { enable: true, interval: 60, slotCount: 2, majorSlotTemplate: null, minorSlotTemplate: null }
     */
    timeScale: TimeScaleModel;
    /**
     * Allows to set different resource grouping options on all available schedule view modes.
     *
     * @default { byDate: false, byGroupID: true, allowGroupEdit: false, resources:[]}
     */
    group: GroupModel;
    /**
     * Allows defining the collection of custom header rows to display the year, month, week, date and hour label as an individual row
     *  on the timeline view of the scheduler.
     *
     * @default []
     */
    headerRows: HeaderRowsModel[];
    /**
     * This property customizes the number of weeks that are shown in month view. By default, it shows all weeks in the current month.
     *  Use displayDate property to customize the starting week of month.
     * {% codeBlock src='schedule/numberOfWeeks/index.md' %}{% endcodeBlock %}
     *
     * @default 0
     * @aspType int
     */
    numberOfWeeks: number;
    /**
     * Specifies the starting week date at an initial rendering of month view. This property is only applicable for month view.
     *  If this property value is not set, then the month view will be rendered from the first week of the month.
     * {% codeBlock src='schedule/displayDate/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    displayDate: Date;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/models/work-hours-model.d.ts
/**
 * Interface for a class WorkHours
 */
export interface WorkHoursModel {
    /**
     * When set to `true`, highlights the cells of working hour range with an active color.
     *
     * @default true
     */
    highlight?: boolean;
    /**
     * It accepts the time string in short skeleton format `Hm` and usually denotes the start of the working hour range.
     *
     * @default '09:00'
     */
    start?: string;
    /**
     * It accepts the time string in short skeleton format `Hm` and usually denotes the end of the working hour range.
     *
     * @default '18:00'
     */
    end?: string;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/models/work-hours.d.ts
/**
 * A class that represents the configuration of working hours related options of scheduler.
 */
export  class WorkHours extends base.ChildProperty<WorkHours> {
    /**
     * When set to `true`, highlights the cells of working hour range with an active color.
     *
     * @default true
     */
    highlight: boolean;
    /**
     * It accepts the time string in short skeleton format `Hm` and usually denotes the start of the working hour range.
     *
     * @default '09:00'
     */
    start: string;
    /**
     * It accepts the time string in short skeleton format `Hm` and usually denotes the end of the working hour range.
     *
     * @default '18:00'
     */
    end: string;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/popups/event-tooltip.d.ts
/**
 * Tooltip for Schedule
 */
export  class EventTooltip {
    private parent;
    private tooltipObj;
    constructor(parent: Schedule);
    private getTargets;
    private onBeforeRender;
    private onBeforeClose;
    private setContent;
    close(): void;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/popups/event-window.d.ts
/**
 * Event editor window
 */
export  class EventWindow {
    private parent;
    dialogObject: popups.Dialog;
    private element;
    private fields;
    private l10n;
    private eventData;
    private eventCrudData;
    private fieldValidator;
    private recurrenceEditor;
    private repeatDialogObject;
    private repeatTempRule;
    private repeatRule;
    private repeatStatus;
    private buttonObj;
    private repeatStartDate;
    private cellClickAction;
    private duration;
    private isCrudAction;
    private eventWindowTime;
    private isEnterKey;
    private dialogEvent;
    constructor(parent: Schedule);
    private renderEventWindow;
    refresh(): void;
    refreshRecurrenceEditor(): void;
    setRecurrenceEditor(recurrenceEditor: RecurrenceEditor): void;
    openEditor(data: Record<string, any>, type: CurrentAction, isEventData?: boolean, repeatType?: number): void;
    setDialogContent(): void;
    private preventEventSave;
    private onBeforeOpen;
    private onBeforeClose;
    private getEventWindowContent;
    private renderFormElements;
    private getDefaultEventWindowContent;
    private createRecurrenceEditor;
    private createDivElement;
    private createInputElement;
    private getSlotDuration;
    private renderDateTimePicker;
    refreshDateTimePicker(duration?: number): void;
    private onTimeChange;
    private renderResourceDetails;
    private renderDropDown;
    private onMultiselectResourceChange;
    private createInstance;
    private onDropdownResourceChange;
    private filterDatasource;
    private onTimezoneChange;
    private renderCheckBox;
    private renderTextBox;
    private getFieldName;
    private getFieldLabel;
    private onChange;
    private renderRepeatDialog;
    private loadRecurrenceEditor;
    private onRepeatChange;
    private repeatSaveDialog;
    private closeRepeatDialog;
    private repeatCancelDialog;
    private repeatOpenDialog;
    private onCellDetailsUpdate;
    convertToEventData(cellsData: Record<string, any>, eventObj: Record<string, any>): void;
    private applyFormValidation;
    private showDetails;
    private getColumnName;
    private onAllDayChange;
    private updateDateTime;
    private getFormat;
    private onEventDetailsUpdate;
    private disableButton;
    private renderRecurrenceEditor;
    updateMinMaxDateToEditor(): void;
    private updateRepeatLabel;
    dialogClose(event?: Event): void;
    private resetForm;
    private timezoneChangeStyle;
    private resetFormFields;
    eventSave(event: Event, alert?: string): void;
    getEventDataFromEditor(): Record<string, Record<string, any>>;
    private processEventValidation;
    private processCrudActions;
    private getResourceData;
    getObjectFromFormData(className: string): Record<string, any>;
    setDefaultValueToObject(eventObj: Record<string, any>): void;
    private recurrenceValidation;
    private getRecurrenceIndex;
    private trimAllDay;
    editOccurrenceValidation(eventId: string | number, currentData: Record<string, any>, editData?: Record<string, any>): boolean;
    private resourceSaveEvent;
    private getEventIdFromForm;
    private getFormElements;
    private getValueFromElement;
    private setValueToElement;
    private setDefaultValueToElement;
    private getInstance;
    private eventDelete;
    getRecurrenceEditorInstance(): RecurrenceEditor;
    private destroyComponents;
    private detachComponents;
    destroy(isIgnore?: boolean): void;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/popups/form-validator.d.ts
/**
 * Appointment window field validation
 */
export  class FieldValidator {
    formObj: inputs.FormValidator;
    private element;
    private ignoreError;
    renderFormValidator(form: HTMLFormElement, rules: Record<string, any>, element: HTMLElement, locale: string): void;
    private focusOut;
    private validationComplete;
    private errorPlacement;
    private createTooltip;
    destroyToolTip(): void;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/popups/quick-popups.d.ts
/**
 * Quick Popups interactions
 */
export  class QuickPopups {
    private l10n;
    private parent;
    private isMultipleEventSelect;
    quickDialog: popups.Dialog;
    quickPopup: popups.Popup;
    morePopup: popups.Popup;
    private fieldValidator;
    private isCrudAction;
    lastEvent: Record<string, any>;
    private dialogEvent;
    constructor(parent: Schedule);
    private render;
    private renderQuickPopup;
    private renderMorePopup;
    private renderQuickDialog;
    private renderButton;
    private quickDialogClass;
    private applyFormValidation;
    openRecurrenceAlert(): void;
    openRecurrenceValidationAlert(type: string): void;
    openDeleteAlert(): void;
    openValidationError(type: string, eventData?: Record<string, any> | Record<string, any>[]): void;
    private showQuickDialog;
    private createMoreEventList;
    tapHoldEventPopup(e: Event): void;
    private isCellBlocked;
    private cellClick;
    private isSameEventClick;
    private isQuickTemplate;
    private eventClick;
    private getPopupHeader;
    private getPopupContent;
    private getPopupFooter;
    getResourceText(args: CellClickEventArgs | EventClickArgs, type: string): string;
    private getFormattedString;
    moreEventClick(data: EventClickArgs, endDate: Date, groupIndex?: string): void;
    private saveClick;
    private detailsClick;
    private editClick;
    deleteClick(event: Event): void;
    private updateMoreEventContent;
    private closeClick;
    private dialogButtonClick;
    private updateTapHoldEventPopup;
    private getTimezone;
    private getRecurrenceSummary;
    private getDateFormat;
    private getDataFromTarget;
    private beforeQuickDialogClose;
    private beforeQuickPopupOpen;
    private applyEventColor;
    private quickPopupOpen;
    private quickPopupClose;
    private morePopupOpen;
    private morePopupClose;
    private popupClose;
    quickPopupHide(hideAnimation?: boolean): void;
    private navigationClick;
    private documentClick;
    onClosePopup(event?: Event): void;
    private addEventListener;
    private removeEventListener;
    private destroyPopupButtons;
    refreshQuickDialog(): void;
    refreshQuickPopup(): void;
    refreshMorePopup(): void;
    private destroyQuickDialog;
    private destroyQuickPopup;
    private destroyMorePopup;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/renderer/agenda.d.ts
/**
 * agenda view
 */
export  class Agenda extends AgendaBase implements IRenderer {
    viewClass: string;
    isInverseTableSelect: boolean;
    agendaDates: {
        [key: string]: Date;
    };
    virtualScrollTop: number;
    dataSource: Record<string, any>[];
    constructor(parent: Schedule);
    protected getModuleName(): string;
    renderLayout(): void;
    private eventLoad;
    private refreshEvent;
    refreshHeader(): void;
    private renderInitialContent;
    renderContent(tBody: Element, agendaDate: Date, lastDate: Date): void;
    private agendaScrolling;
    private virtualScrolling;
    private getElementFromScrollerPosition;
    private updateHeaderText;
    private getPreviousNextDate;
    private appointmentFiltering;
    getStartDateFromEndDate(endDate: Date): Date;
    getEndDateFromStartDate(startDate: Date): Date;
    getNextPreviousDate(type: string): Date;
    startDate(): Date;
    endDate(): Date;
    getDateRangeText(date?: Date): string;
    dayNavigationClick(e: Event): void;
    private wireEvents;
    private unWireEvents;
    addEventListener(): void;
    removeEventListener(): void;
    private onAgendaScrollUiUpdate;
    scrollToDate(scrollDate: Date): void;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/renderer/day.d.ts
/**
 * day view
 */
export  class Day extends VerticalView {
    viewClass: string;
    /**
     * Constructor for day view
     *
     * @param {Schedule} parent Accepts the schedule instance
     */
    constructor(parent: Schedule);
    /**
     * Get module name.
     *
     * @returns {string} Returns the module name.
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/renderer/header-renderer.d.ts
/**
 * Header module
 */
export  class HeaderRenderer {
    element: HTMLElement;
    private parent;
    private l10n;
    private toolbarObj;
    private headerPopup;
    private headerCalendar;
    constructor(parent: Schedule);
    addEventListener(): void;
    removeEventListener(): void;
    private closeHeaderPopup;
    hideHeaderPopup(): void;
    renderHeader(): void;
    private renderToolbar;
    updateItems(): void;
    getPopUpRelativeElement(): HTMLElement;
    setDayOfWeek(index: number): void;
    setCalendarDate(date: Date): void;
    setCalendarMinMaxDate(): void;
    getCalendarView(): calendars.CalendarView;
    setCalendarView(): void;
    updateActiveView(): void;
    updateDateRange(text: string): void;
    refresh(): void;
    updateAddIcon(): void;
    private getDateRangeText;
    private getItems;
    private getItemObject;
    private renderHeaderPopup;
    private calendarChange;
    setCalendarTimezone(): void;
    private calculateViewIndex;
    private toolbarClickHandler;
    private hasSelectedDate;
    getHeaderElement(): HTMLElement;
    updateHeaderItems(classType: string): void;
    previousNextIconHandler(): void;
    protected getModuleName(): string;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/renderer/month-agenda.d.ts
/**
 * month agenda view
 */
export  class MonthAgenda extends Month {
    dayNameFormat: string;
    viewClass: string;
    agendaBase: AgendaBase;
    private monthAgendaDate;
    constructor(parent: Schedule);
    protected getModuleName(): string;
    renderAppointmentContainer(): void;
    getDayNameFormat(): string;
    private setEventWrapperHeight;
    onDataReady(args: NotifyEventArgs): void;
    onCellClick(event: CellClickEventArgs): void;
    private onEventRender;
    private appointmentFiltering;
    private clearElements;
    private appendAppContainer;
    getNextPreviousDate(type: string): Date;
    private getAgendaBase;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/renderer/month.d.ts
/**
 * month view
 */
export  class Month extends ViewBase implements IRenderer {
    dayNameFormat: string;
    viewClass: string;
    isInverseTableSelect: boolean;
    private monthDates;
    private monthEvent;
    constructor(parent: Schedule);
    addEventListener(): void;
    removeEventListener(): void;
    onDataReady(args: NotifyEventArgs): void;
    onCellClick(event: CellClickEventArgs): void;
    onContentScroll(e: Event): void;
    scrollLeftPanel(target: HTMLElement): void;
    getLeftPanelElement(): HTMLElement;
    onScrollUIUpdate(args: NotifyEventArgs): void;
    private scrollToSelectedDate;
    setContentHeight(content: HTMLElement, leftPanelElement: HTMLElement, height: number): void;
    generateColumnLevels(): TdData[][];
    getDateSlots(renderDates: Date[], workDays: number[]): TdData[];
    getDayNameFormat(): string;
    renderLayout(type: string): void;
    refreshHeader(): void;
    private wireCellEvents;
    renderHeader(): void;
    renderLeftIndent(tr: Element): void;
    renderContent(): void;
    private renderWeekNumberContent;
    renderAppointmentContainer(): void;
    renderDatesHeader(): Element;
    private createHeaderCell;
    getContentSlots(): TdData[][];
    updateClassList(data: TdData): void;
    private isOtherMonth;
    renderContentArea(): Element;
    getContentRows(): Element[];
    createContentTd(data: TdData, td: Element): Element;
    private renderDateHeaderElement;
    getMonthStart(currentDate: Date): Date;
    getMonthEnd(currentDate: Date): Date;
    private isCustomRange;
    getRenderDates(workDays?: number[]): Date[];
    getNextPreviousDate(type: string): Date;
    getStartDate(): Date;
    getEndDate(): Date;
    getEndDateFromStartDate(start: Date): Date;
    getDateRangeText(): string;
    getLabelText(view: string): string;
    private createWeekNumberElement;
    unWireEvents(): void;
    private isCustomMonth;
    protected getModuleName(): string;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/renderer/renderer.d.ts
/**
 * Schedule DOM rendering
 */
export  class Render {
    parent: Schedule;
    constructor(parent: Schedule);
    render(viewName: View, isDataRefresh?: boolean): void;
    private initializeLayout;
    updateHeader(): void;
    updateLabelText(view: string): void;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/renderer/timeline-header-row.d.ts
/**
 * timeline header rows
 */
export  class TimelineHeaderRow {
    parent: Schedule;
    renderDates: Date[];
    constructor(parent: Schedule, renderDates: Date[]);
    private groupByYear;
    private groupByMonth;
    private groupByWeek;
    private generateSlots;
    generateColumnLevels(dateSlots: TdData[], hourSlots: TdData[]): TdData[][];
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/renderer/timeline-month.d.ts
/**
 * timeline month view
 */
export  class TimelineMonth extends Month {
    viewClass: string;
    isInverseTableSelect: boolean;
    private appointment;
    constructor(parent: Schedule);
    protected getModuleName(): string;
    onDataReady(): void;
    getLeftPanelElement(): HTMLElement;
    scrollTopPanel(target: HTMLElement): void;
    setContentHeight(content: HTMLElement, leftPanelElement: HTMLElement, height: number): void;
    getDateSlots(renderDates: Date[], workDays: number[]): TdData[];
    renderLeftIndent(tr: Element): void;
    renderContent(): void;
    private getRowCount;
    getContentSlots(): TdData[][];
    updateClassList(data: TdData): void;
    unWireEvents(): void;
    getMonthStart(currentDate: Date): Date;
    getMonthEnd(currentDate: Date): Date;
    generateColumnLevels(): TdData[][];
    getAdjustedDate(startTime: Date): Date;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/renderer/timeline-view.d.ts
/**
 * timeline views
 */
export  class TimelineViews extends VerticalView {
    private timelineAppointment;
    constructor(parent: Schedule);
    protected getModuleName(): string;
    getLeftPanelElement(): HTMLElement;
    scrollTopPanel(target: HTMLElement): void;
    scrollToWorkHour(): void;
    scrollToHour(hour: string, scrollDate: Date): void;
    generateColumnLevels(): TdData[][];
    private generateTimeSlots;
    changeCurrentTimePosition(): void;
    private getLeftFromDateTime;
    private getWorkCellWidth;
    renderHeader(): void;
    createAllDayRow(table: Element, tdData: TdData[]): void;
    getCurrentTimeIndicatorIndex(): number[];
    renderContent(): void;
    private getRowCount;
    private getResourceTdData;
    renderContentTable(table: Element): void;
    getContentRows(): Element[];
    getContentTdClass(r: TimeSlotData): string[];
    renderEvents(): void;
    getAdjustedDate(date: Date): Date;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/renderer/timeline-year.d.ts
/**
 * timeline year view
 */
export  class TimelineYear extends Year {
    viewClass: string;
    isInverseTableSelect: boolean;
    constructor(parent: Schedule);
    protected getModuleName(): string;
    renderHeader(headerWrapper: HTMLElement): void;
    private renderResourceHeader;
    renderContent(contentWrapper: HTMLElement): void;
    private renderDefaultContent;
    getContentRows(): Element[];
    renderResourceContent(wrapper: HTMLElement, monthBody: HTMLTableSectionElement, contentBody: HTMLTableSectionElement): void;
    private renderDayMonthHeaderTemplate;
    private renderCellTemplate;
    scrollToDate(scrollDate: Date): void;
    getScrollableElement(): Element;
    private wireEvents;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/renderer/vertical-view.d.ts
/**
 * vertical view
 */
export  class VerticalView extends ViewBase implements IRenderer {
    currentTimeIndicatorTimer: number;
    viewClass: string;
    isInverseTableSelect: boolean;
    baseCssClass: string;
    private appointment;
    constructor(parent: Schedule);
    protected getModuleName(): string;
    addEventListener(): void;
    removeEventListener(): void;
    renderEvents(): void;
    private onContentScroll;
    private onAdaptiveMove;
    private onAdaptiveScroll;
    scrollLeftPanel(target: HTMLElement): void;
    private scrollUiUpdate;
    setContentHeight(element: HTMLElement, leftPanelElement: HTMLElement, height: number): void;
    scrollToWorkHour(): void;
    scrollToHour(hour: string, scrollDate?: Date): void;
    scrollToDate(scrollDate: Date): void;
    generateColumnLevels(): TdData[][];
    getDateSlots(renderDates: Date[], workDays: number[], workStartHour?: string, workEndHour?: string): TdData[];
    private isWorkHourRange;
    highlightCurrentTime(): void;
    getCurrentTimeIndicatorIndex(): number[];
    private clearCurrentTimeIndicatorTimer;
    private updateCurrentTimeIndicatorTimer;
    removeCurrentTimeIndicatorElements(): void;
    changeCurrentTimePosition(): void;
    getTopFromDateTime(date: Date): number;
    private getWorkCellHeight;
    private getTdContent;
    refreshHeader(): void;
    renderLayout(type: string): void;
    renderHeader(): void;
    renderContent(): void;
    private renderLeftIndent;
    renderDatesHeader(): Element;
    createAllDayRow(table: Element, tdData: TdData[]): void;
    createTd(td: TdData): Element;
    private wireCellEvents;
    private wireMouseEvents;
    private renderTimeCells;
    renderContentArea(): Element;
    renderContentTable(table: Element): void;
    getContentRows(): Element[];
    createContentTd(tdData: TdData, r: TimeSlotData, td: Element): Element;
    getContentTdClass(r: TimeSlotData): string[];
    private renderContentTableHeader;
    getScrollableElement(): Element;
    getLeftPanelElement(): HTMLElement;
    getEndDateFromStartDate(start: Date): Date;
    getTimeSlotRows(handler?: CallbackFunction): TimeSlotData[];
    getAdjustedDate(startTime: Date): Date;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/renderer/view-base.d.ts
/**
 * view base
 */
export  class ViewBase {
    element: HTMLElement;
    parent: Schedule;
    renderDates: Date[];
    colLevels: TdData[][];
    viewIndex: number;
    /**
     * Constructor
     *
     * @param {Schedule} parent Accepts the schedule instance
     */
    constructor(parent: Schedule);
    isTimelineView(): boolean;
    getContentRows(): Element[];
    refreshHeader(): void;
    refreshResourceHeader(): void;
    getDayName(date: Date): string;
    getDate(date: Date): string;
    getTime(date: Date): string;
    getTimelineDate(date: Date): string;
    createEventTable(trCount: number): Element;
    getEventRows(trCount: number): Element[];
    collapseRows(wrap: Element): void;
    createTableLayout(className?: string): Element;
    setAriaAttributes(table: Element): void;
    createColGroup(table: Element, lastRow: TdData[]): void;
    getScrollXIndent(content: HTMLElement): number;
    scrollTopPanel(target: HTMLElement): void;
    scrollHeaderLabels(target: HTMLElement): void;
    addAttributes(td: TdData, element: Element): void;
    getHeaderBarHeight(): number;
    renderPanel(type: string): void;
    setPanel(panel: HTMLElement): void;
    getPanel(): HTMLElement;
    getDatesHeaderElement(): HTMLElement;
    getDateSlots(renderDates: Date[], workDays: number[]): TdData[];
    generateColumnLevels(): TdData[][];
    getColumnLevels(): TdData[][];
    highlightCurrentTime(): void;
    startDate(): Date;
    endDate(): Date;
    getStartHour(): Date;
    getEndHour(): Date;
    isCurrentDate(date: Date): boolean;
    isCurrentMonth(date: Date): boolean;
    isWorkDay(date: Date, workDays?: number[]): boolean;
    isWorkHour(date: Date, startHour: Date, endHour: Date, workDays: number[]): boolean;
    getRenderDates(workDays?: number[]): Date[];
    getNextPreviousDate(type: string): Date;
    getLabelText(view: string): string;
    getDateRangeText(): string;
    formatDateRange(startDate: Date, endDate?: Date): string;
    getMobileDateElement(date: Date, className?: string): Element;
    setResourceHeaderContent(tdElement: Element, tdData: TdData, className?: string): void;
    renderResourceMobileLayout(): void;
    addAutoHeightClass(element: Element): void;
    private getColElements;
    setColWidth(content: HTMLElement): void;
    resetColWidth(): void;
    getContentAreaElement(): HTMLElement;
    wireExpandCollapseIconEvents(): void;
    scrollToDate(scrollDate: Date): void;
    setPersistence(): void;
    retainScrollPosition(): void;
    getViewStartDate(): Date;
    getViewEndDate(): Date;
    getAdjustedDate(startTime: Date): Date;
    resetColLevels(): void;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/renderer/week.d.ts
/**
 * week view
 */
export  class Week extends VerticalView {
    viewClass: string;
    /**
     * Constructor for week view
     *
     * @param {Schedule} parent Accepts the schedule instance
     */
    constructor(parent: Schedule);
    startDate(): Date;
    endDate(): Date;
    /**
     * Get module name.
     *
     * @returns {string} Returns the module name.
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/renderer/work-week.d.ts
/**
 * work week view
 */
export  class WorkWeek extends VerticalView {
    viewClass: string;
    /**
     * Constructor for work week view
     *
     * @param {Schedule} parent Accepts the schedule instance
     */
    constructor(parent: Schedule);
    startDate(): Date;
    endDate(): Date;
    /**
     * Get module name.
     *
     * @returns {string} Returns the module name.
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/renderer/year.d.ts
/**
 * year view
 */
export  class Year extends ViewBase implements IRenderer {
    viewClass: string;
    isInverseTableSelect: boolean;
    colLevels: TdData[][];
    rowCount: number;
    columnCount: number;
    private yearEventModule;
    constructor(parent: Schedule);
    protected getModuleName(): string;
    renderLayout(className: string): void;
    renderHeader(headerWrapper: HTMLElement): void;
    renderContent(content: HTMLElement): void;
    renderCalendarHeader(currentDate: Date): HTMLElement;
    renderCalendarContent(currentDate: Date): HTMLElement;
    createTableColGroup(count: number): HTMLElement;
    getMonthName(date: Date): string;
    generateColumnLevels(): TdData[][];
    getDateSlots(renderDates: Date[], workDays: number[], startHour?: string, endHour?: string): TdData[];
    getMonthDates(date: Date): Date[];
    getRowColumnCount(type: string): number;
    isCurrentDate(date: Date): boolean;
    getMonths(): number[];
    private renderTemplates;
    private onCellClick;
    onContentScroll(e: Event): void;
    onScrollUiUpdate(args: NotifyEventArgs): void;
    getStartDate(): Date;
    getEndDate(): Date;
    startDate(): Date;
    endDate(): Date;
    getEndDateFromStartDate(start: Date): Date;
    getNextPreviousDate(type: string): Date;
    getDateRangeText(): string;
    addEventListener(): void;
    removeEventListener(): void;
    onDataReady(args: NotifyEventArgs): void;
    scrollToDate(scrollDate: Date): void;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/timezone/timezone.d.ts
/**
 * Time zone
 */
export  class Timezone {
    timezoneData: TimezoneFields[];
    constructor();
    offset(date: Date, timezone: string): number;
    convert(date: Date, fromOffset: number | string, toOffset: number | string): Date;
    add(date: Date, timezone: string): Date;
    remove(date: Date, timezone: string): Date;
    removeLocalOffset(date: Date): Date;
    getLocalTimezoneName(): string;
    private getTimezoneData;
}
export  const timezoneData: TimezoneFields[];
 }
export namespace splitbuttons { 

//node_modules/@syncfusion/ej2-splitbuttons/src/button-group/button-group.d.ts
/**
 * Initialize ButtonGroup CSS component with specified properties.
 * ```html
 * <div id='buttongroup'>
 * <button></button>
 * <button></button>
 * <button></button>
 * </div>
 * ```
 * ```typescript
 * createButtonGroup('#buttongroup', {
 *   cssClass: 'e-outline',
 *   buttons: [
 *       { content: 'Day' },
 *       { content: 'Week' },
 *       { content: 'Work Week'}
 *   ]
 * });
 * ```
 *
 * @param {string} selector
 * @param {CreateButtonGroupModel} options
 * @returns HTMLElement
 */
/**
 * Creates button group.
 *
 * @param {string} selector - Specifies the selector.
 * @param {CreateButtonGroupModel} options - Specifies the button group model.
 * @param {Function} createElement - Specifies the element.
 * @returns {HTMLElement} - Button group element.
 */
export  function createButtonGroup(selector: string, options?: CreateButtonGroupModel, createElement?: Function): HTMLElement;
export interface CreateButtonGroupModel {
    cssClass?: string;
    buttons?: (buttons.ButtonModel | null)[];
}
//node_modules/@syncfusion/ej2-splitbuttons/src/button-group/index.d.ts
/**
 * ButtonGroup modules
 */
//node_modules/@syncfusion/ej2-splitbuttons/src/common/common-model.d.ts
/**
 * Interface for a class Item
 */
export interface ItemModel {
    /**
     * Defines class/multiple classes separated by a space for the item that is used to include an icon.
     * Action item can include font icon and sprite image.
     *
     * @default ''
     */
    iconCss?: string;
    /**
     * Specifies the id for item.
     *
     * @default ''
     */
    id?: string;
    /**
     * Specifies separator between the items. Separator are horizontal lines used to group action items.
     *
     * @default false
     */
    separator?: boolean;
    /**
     * Specifies text for item.
     *
     * @default ''
     */
    text?: string;
    /**
     * Specifies url for item that creates the anchor link to navigate to the url provided.
     *
     * @default ''
     */
    url?: string;
    /**
     * Used to enable or disable the item.
     *
     * @default false
     */
    disabled?: boolean;
}
//node_modules/@syncfusion/ej2-splitbuttons/src/common/common.d.ts
/**
 * Defines the icon position of Split Button.
 */
export  type SplitButtonIconPosition = 'Left' | 'Top';
/**
 * @param {Object} props - Specifies the properties
 * @param {string[]} model - Specifies the model
 * @returns {Object} Component Model
 */
export  function getModel(props: Object, model: string[]): Object;
/** @hidden
 * @param {HTMLElement} ul - Specifies the UL element
 * @param {number} keyCode - Specifies the keycode
 * @returns {void}
 */
export  function upDownKeyHandler(ul: HTMLElement, keyCode: number): void;
/** @hidden
 * @param {HTMLElement} popup - Specifies the popup element.
 * @returns {void}
 */
export  function setBlankIconStyle(popup: HTMLElement): void;
/**
 * Defines the items of Split Button/DropDownButton.
 */
export  class Item extends base.ChildProperty<Item> {
    /**
     * Defines class/multiple classes separated by a space for the item that is used to include an icon.
     * Action item can include font icon and sprite image.
     *
     * @default ''
     */
    iconCss: string;
    /**
     * Specifies the id for item.
     *
     * @default ''
     */
    id: string;
    /**
     * Specifies separator between the items. Separator are horizontal lines used to group action items.
     *
     * @default false
     */
    separator: boolean;
    /**
     * Specifies text for item.
     *
     * @default ''
     */
    text: string;
    /**
     * Specifies url for item that creates the anchor link to navigate to the url provided.
     *
     * @default ''
     */
    url: string;
    /**
     * Used to enable or disable the item.
     *
     * @default false
     */
    disabled: boolean;
}
/**
 * Interface for before item render / select event.
 */
export interface MenuEventArgs extends base.BaseEventArgs {
    element: HTMLElement;
    item: ItemModel;
}
/**
 * Interface for before open / close event.
 */
export interface BeforeOpenCloseMenuEventArgs extends base.BaseEventArgs {
    element: HTMLElement;
    items: ItemModel[];
    event: Event;
    cancel?: boolean;
}
/**
 * Interface for open/close event.
 */
export interface OpenCloseMenuEventArgs extends base.BaseEventArgs {
    element: HTMLElement;
    items: ItemModel[];
    parentItem?: ItemModel;
}
//node_modules/@syncfusion/ej2-splitbuttons/src/common/index.d.ts
/**
 * Common modules
 */
//node_modules/@syncfusion/ej2-splitbuttons/src/drop-down-button/drop-down-button-model.d.ts
/**
 * Interface for a class DropDownButton
 */
export interface DropDownButtonModel extends base.ComponentModel{
    /**
     * Defines the content of the DropDownButton element that can either be a text or HTML elements.
     *
     * @default ""
     */
    content?: string;
    /**
     * Defines class/multiple classes separated by a space in the DropDownButton element. The
     * DropDownButton size and styles can be customized by using this.
     *
     * @default ""
     */
    cssClass?: string;
    /**
     * Specifies a value that indicates whether the DropDownButton is `disabled` or not.
     *
     * @default false.
     */
    disabled?: boolean;
    /**
     * Defines class/multiple classes separated by a space for the DropDownButton that is used to
     * include an icon. DropDownButton can also include font icon and sprite image.
     *
     * @default ""
     */
    iconCss?: string;
    /**
     * Positions the icon before/top of the text content in the DropDownButton. The possible values are:
     * * Left: The icon will be positioned to the left of the text content.
     * * Top: The icon will be positioned to the top of the text content.
     *
     * @default "Left"
     */
    iconPosition?: SplitButtonIconPosition;
    /**
     * Defines whether to allow the cross-scripting site or not.
     *
     * @default false
     */
    enableHtmlSanitizer?: boolean;
    /**
     * Specifies action items with its properties which will be rendered as DropDownButton popup.
     *
     * @default []
     */
    items?: ItemModel[];
    /**
     * Specifies the popup element creation on open.
     *
     * @default false
     */
    createPopupOnClick?: boolean;
    /**
     * Allows to specify the DropDownButton popup item element.
     *
     * @default ""
     */
    target?: string | Element;
    /**
     * Specifies the event to close the DropDownButton popup.
     *
     * @default ""
     */
    closeActionEvents?: string;
    /**
     * Triggers while rendering each popups.Popup item of DropDownButton.
     *
     * @event beforeItemRender
     */
    beforeItemRender?: base.EmitType<MenuEventArgs>;
    /**
     * Triggers before opening the DropDownButton popup.
     *
     * @event beforeOpen
     */
    beforeOpen?: base.EmitType<BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers before closing the DropDownButton popup.
     *
     * @event beforeClose
     */
    beforeClose?: base.EmitType<BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers while closing the DropDownButton popup.
     *
     * @event close
     */
    close?: base.EmitType<OpenCloseMenuEventArgs>;
    /**
     * Triggers while opening the DropDownButton popup.
     *
     * @event open
     */
    open?: base.EmitType<OpenCloseMenuEventArgs>;
    /**
     * Triggers while selecting action item in DropDownButton popup.
     *
     * @event base.select
     */
    select?: base.EmitType<MenuEventArgs>;
    /**
     * Triggers once the component rendering is completed.
     *
     * @event created
     */
    created?: base.EmitType<Event>;
}
//node_modules/@syncfusion/ej2-splitbuttons/src/drop-down-button/drop-down-button.d.ts
/**
 * DropDownButton component is used to toggle contextual overlays for displaying list of action items.
 * It can contain both text and images.
 * ```html
 * <button id="element">DropDownButton</button>
 * ```
 * ```typescript
 * <script>
 * var dropDownButtonObj = new DropDownButton({items: [{ text: 'Action1' }, { text: 'Action2' },{ text: 'Action3' }]);
 * dropDownButtonObj.appendTo("#element");
 * </script>
 * ```
 */
export  class DropDownButton extends base.Component<HTMLButtonElement> implements base.INotifyPropertyChanged {
    /** @hidden */
    dropDown: popups.Popup;
    protected button: buttons.Button;
    /** @hidden */
    activeElem: HTMLElement[];
    private rippleFn;
    private delegateMousedownHandler;
    private isPopupCreated;
    /**
     * Defines the content of the DropDownButton element that can either be a text or HTML elements.
     *
     * @default ""
     */
    content: string;
    /**
     * Defines class/multiple classes separated by a space in the DropDownButton element. The
     * DropDownButton size and styles can be customized by using this.
     *
     * @default ""
     */
    cssClass: string;
    /**
     * Specifies a value that indicates whether the DropDownButton is `disabled` or not.
     *
     * @default false.
     */
    disabled: boolean;
    /**
     * Defines class/multiple classes separated by a space for the DropDownButton that is used to
     * include an icon. DropDownButton can also include font icon and sprite image.
     *
     * @default ""
     */
    iconCss: string;
    /**
     * Positions the icon before/top of the text content in the DropDownButton. The possible values are:
     * * Left: The icon will be positioned to the left of the text content.
     * * Top: The icon will be positioned to the top of the text content.
     *
     * @default "Left"
     */
    iconPosition: SplitButtonIconPosition;
    /**
     * Defines whether to allow the cross-scripting site or not.
     *
     * @default false
     */
    enableHtmlSanitizer: boolean;
    /**
     * Specifies action items with its properties which will be rendered as DropDownButton popup.
     *
     * @default []
     */
    items: ItemModel[];
    /**
     * Specifies the popup element creation on open.
     *
     * @default false
     */
    createPopupOnClick: boolean;
    /**
     * Allows to specify the DropDownButton popup item element.
     *
     * @default ""
     */
    target: string | Element;
    /**
     * Specifies the event to close the DropDownButton popup.
     *
     * @default ""
     */
    closeActionEvents: string;
    /**
     * Triggers while rendering each popups.Popup item of DropDownButton.
     *
     * @event beforeItemRender
     */
    beforeItemRender: base.EmitType<MenuEventArgs>;
    /**
     * Triggers before opening the DropDownButton popup.
     *
     * @event beforeOpen
     */
    beforeOpen: base.EmitType<BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers before closing the DropDownButton popup.
     *
     * @event beforeClose
     */
    beforeClose: base.EmitType<BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers while closing the DropDownButton popup.
     *
     * @event close
     */
    close: base.EmitType<OpenCloseMenuEventArgs>;
    /**
     * Triggers while opening the DropDownButton popup.
     *
     * @event open
     */
    open: base.EmitType<OpenCloseMenuEventArgs>;
    /**
     * Triggers while selecting action item in DropDownButton popup.
     *
     * @event select
     */
    select: base.EmitType<MenuEventArgs>;
    /**
     * Triggers once the component rendering is completed.
     *
     * @event created
     */
    created: base.EmitType<Event>;
    /**
     * Constructor for creating the widget
     *
     * @param  {DropDownButtonModel} options - Specifies dropdown button model
     * @param  {string|HTMLButtonElement} element - Specifies element
     * @hidden
     */
    constructor(options?: DropDownButtonModel, element?: string | HTMLButtonElement);
    protected preRender(): void;
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @returns {string} - Persist data
     */
    getPersistData(): string;
    /**
     * To open/close DropDownButton popup based on current state of the DropDownButton.
     *
     * @returns {void}
     */
    toggle(): void;
    /**
     * Initialize the base.Component rendering
     *
     * @returns {void}
     * @private
     */
    render(): void;
    /**
     * Adds a new item to the menu. By default, new item appends to the list as the last item,
     * but you can insert based on the text parameter.
     *
     * @param  { ItemModel[] } items - Specifies an array of JSON data.
     * @param { string } text - Specifies the text to insert the newly added item in the menu.
     * @returns {void}.
     */
    addItems(items: ItemModel[], text?: string): void;
    /**
     * Removes the items from the menu.
     *
     * @param  { string[] } items - Specifies an array of string to remove the items.
     * @param { string } isUniqueId - Set `true` if specified items is a collection of unique id.
     * @returns {void}.
     */
    removeItems(items: string[], isUniqueId?: boolean): void;
    private createPopup;
    private getTargetElement;
    private createItems;
    private hasIcon;
    private createAnchor;
    private initialize;
    private isColorPicker;
    private appendArrowSpan;
    protected setActiveElem(elem: HTMLElement[]): void;
    /**
     * Get component name.
     *
     * @returns {string} - Module Name
     * @private
     */
    getModuleName(): string;
    private canOpen;
    /**
     * Destroys the widget.
     *
     * @returns {void}
     */
    destroy(): void;
    protected destroyPopup(): void;
    protected getPopUpElement(): HTMLElement;
    protected getULElement(): HTMLElement;
    protected wireEvents(): void;
    protected popupWireEvents(): void;
    protected popupUnWireEvents(): void;
    /**
     * Handles the keyboard interactions.
     *
     * @param {base.KeyboardEventArgs} e - Specifies keyboard event args.
     * @returns {void}
     * @hidden
     */
    keyBoardHandler(e: base.KeyboardEventArgs): void;
    protected upDownKeyHandler(e: base.KeyboardEventArgs): void;
    private keyEventHandler;
    private getLI;
    private mousedownHandler;
    private focusoutHandler;
    protected clickHandler(e: MouseEvent | base.KeyboardEventArgs): void;
    private openPopUp;
    private closePopup;
    protected unWireEvents(): void;
    /**
     * Called internally if any of the property value changed.
     *
     * @param  {DropDownButtonModel} newProp - Specifies new properties
     * @param  {DropDownButtonModel} oldProp - Specifies old properties
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: DropDownButtonModel, oldProp: DropDownButtonModel): void;
    /**
     * Sets the focus to DropDownButton
     * its native method
     *
     * @public
     * @returns {void}
     */
    focusIn(): void;
}
//node_modules/@syncfusion/ej2-splitbuttons/src/drop-down-button/index.d.ts
/**
 * DropDownButton modules
 */
//node_modules/@syncfusion/ej2-splitbuttons/src/index.d.ts
/**
 * SplitButton all module
 */
//node_modules/@syncfusion/ej2-splitbuttons/src/progress-button/index.d.ts
/**
 * ProgressButton modules
 */
//node_modules/@syncfusion/ej2-splitbuttons/src/progress-button/progress-button-model.d.ts
/**
 * Interface for a class SpinSettings
 */
export interface SpinSettingsModel {
    /**
     * Specifies the template content to be displayed in a spinner.
     *
     * @default null
     */
    template?: string;
    /**
     * Sets the width of a spinner.
     *
     * @default '16'
     */
    width?: string | number;
    /**
     * Specifies the position of a spinner in the progress button. The possible values are:
     * * Left: The spinner will be positioned to the left of the text content.
     * * Right: The spinner will be positioned to the right of the text content.
     * * Top: The spinner will be positioned at the top of the text content.
     * * Bottom: The spinner will be positioned at the bottom of the text content.
     * * Center: The spinner will be positioned at the center of the progress button.
     *
     * @default 'Left'
     * @aspType Syncfusion.EJ2.SplitButtons.SpinPosition
     * @blazorType Syncfusion.Blazor.SplitButtons.SpinPosition
     * @isEnumeration true
     */
    position?: SpinPosition;
}
/**
 * Interface for a class AnimationSettings
 */
export interface AnimationSettingsModel {
    /**
     * Specifies the duration taken to animate.
     *
     * @default 400
     */
    duration?: number;
    /**
     * Specifies the effect of animation.
     *
     * @default 'None'
     * @aspType Syncfusion.EJ2.SplitButtons.AnimationEffect
     * @blazorType Syncfusion.Blazor.SplitButtons.AnimationEffect
     * @isEnumeration true
     */
    effect?: AnimationEffect;
    /**
     * Specifies the animation timing function.
     *
     * @default 'ease'
     */
    easing?: string;
}
/**
 * Interface for a class ProgressButton
 */
export interface ProgressButtonModel {
    /**
     * Enables or disables the background filler UI in the progress button.
     *
     * @default false
     */
    enableProgress?: boolean;
    /**
     * Specifies the duration of progression in the progress button.
     *
     * @default 2000
     */
    duration?: number;
    /**
     * Positions an icon in the progress button. The possible values are:
     * * Left: The icon will be positioned to the left of the text content.
     * * Right: The icon will be positioned to the right of the text content.
     * * Top: The icon will be positioned at the top of the text content.
     * * Bottom: The icon will be positioned at the bottom of the text content.
     *
     * @default "Left"
     */
    iconPosition?: buttons.IconPosition;
    /**
     * Defines class/multiple classes separated by a space for the progress button that is used to include an icon.
     * Progress button can also include font icon and sprite image.
     *
     * @default ""
     */
    iconCss?: string;
    /**
     * Enables or disables the progress button.
     *
     * @default false.
     */
    disabled?: boolean;
    /**
     * Allows the appearance of the progress button to be enhanced and visually appealing when set to `true`.
     *
     * @default false
     */
    isPrimary?: boolean;
    /**
     * Specifies the root CSS class of the progress button that allows customization of component’s appearance.
     * The progress button types, styles, and size can be achieved by using this property.
     *
     * @default ""
     */
    cssClass?: string;
    /**
     * Defines the text `content` of the progress button element.
     *
     * @default ""
     */
    content?: string;
    /**
     * Makes the progress button toggle, when set to `true`. When you click it, the state changes from normal to active.
     *
     * @default false
     */
    isToggle?: boolean;
    /**
     * Defines whether to allow the cross-scripting site or not.
     *
     * @default false
     */
    enableHtmlSanitizer?: boolean;
    /**
     * Specifies a spinner and its related properties.
     */
    spinSettings?: SpinSettingsModel;
    /**
     * Specifies the animation settings.
     */
    animationSettings?: AnimationSettingsModel;
    /**
     * Triggers once the component rendering is completed.
     *
     * @event created
     * @blazorProperty 'Created'
     */
    created?: base.EmitType<Event>;
    /**
     * Triggers when the progress starts.
     *
     * @event begin
     * @blazorProperty 'OnBegin'
     */
    begin?: base.EmitType<ProgressEventArgs>;
    /**
     * Triggers in specified intervals.
     *
     * @event progress
     * @blazorProperty 'Progressing'
     */
    progress?: base.EmitType<ProgressEventArgs>;
    /**
     * Triggers when the progress is completed.
     *
     * @event end
     * @blazorProperty 'OnEnd'
     */
    end?: base.EmitType<ProgressEventArgs>;
    /**
     * Triggers when the progress is incomplete.
     *
     * @event fail
     * @blazorProperty 'OnFailure'
     */
    fail?: base.EmitType<Event>;
}
//node_modules/@syncfusion/ej2-splitbuttons/src/progress-button/progress-button.d.ts
/**
 * Defines the spin settings.
 */
export  class SpinSettings extends base.ChildProperty<SpinSettings> {
    /**
     * Specifies the template content to be displayed in a spinner.
     *
     * @default null
     */
    template: string;
    /**
     * Sets the width of a spinner.
     *
     * @default '16'
     */
    width: string | number;
    /**
     * Specifies the position of a spinner in the progress button. The possible values are:
     * * Left: The spinner will be positioned to the left of the text content.
     * * Right: The spinner will be positioned to the right of the text content.
     * * Top: The spinner will be positioned at the top of the text content.
     * * Bottom: The spinner will be positioned at the bottom of the text content.
     * * Center: The spinner will be positioned at the center of the progress button.
     *
     * @default 'Left'
     * @aspType Syncfusion.EJ2.SplitButtons.SpinPosition
     * @blazorType Syncfusion.Blazor.SplitButtons.SpinPosition
     * @isEnumeration true
     */
    position: SpinPosition;
}
/**
 * Defines the animation settings.
 */
export  class AnimationSettings extends base.ChildProperty<AnimationSettings> {
    /**
     * Specifies the duration taken to animate.
     *
     * @default 400
     */
    duration: number;
    /**
     * Specifies the effect of animation.
     *
     * @default 'None'
     * @aspType Syncfusion.EJ2.SplitButtons.AnimationEffect
     * @blazorType Syncfusion.Blazor.SplitButtons.AnimationEffect
     * @isEnumeration true
     */
    effect: AnimationEffect;
    /**
     * Specifies the animation timing function.
     *
     * @default 'ease'
     */
    easing: string;
}
/**
 * The ProgressButton visualizes the progression of an operation to indicate the user
 * that a process is happening in the background with visual representation.
 * ```html
 * <button id="element"></button>
 * ```
 * ```typescript
 * <script>
 * var progressButtonObj = new ProgressButton({ content: 'Progress buttons.Button' });
 * progressButtonObj.appendTo("#element");
 * </script>
 * ```
 */
export  class ProgressButton extends buttons.Button implements base.INotifyPropertyChanged {
    private progressTime;
    private percent;
    private isPaused;
    private timerId;
    private step;
    private interval;
    private eIsVertical;
    /**
     * Enables or disables the background filler UI in the progress button.
     *
     * @default false
     */
    enableProgress: boolean;
    /**
     * Specifies the duration of progression in the progress button.
     *
     * @default 2000
     */
    duration: number;
    /**
     * Positions an icon in the progress button. The possible values are:
     * * Left: The icon will be positioned to the left of the text content.
     * * Right: The icon will be positioned to the right of the text content.
     * * Top: The icon will be positioned at the top of the text content.
     * * Bottom: The icon will be positioned at the bottom of the text content.
     *
     * @default "Left"
     */
    iconPosition: buttons.IconPosition;
    /**
     * Defines class/multiple classes separated by a space for the progress button that is used to include an icon.
     * Progress button can also include font icon and sprite image.
     *
     * @default ""
     */
    iconCss: string;
    /**
     * Enables or disables the progress button.
     *
     * @default false.
     */
    disabled: boolean;
    /**
     * Allows the appearance of the progress button to be enhanced and visually appealing when set to `true`.
     *
     * @default false
     */
    isPrimary: boolean;
    /**
     * Specifies the root CSS class of the progress button that allows customization of component’s appearance.
     * The progress button types, styles, and size can be achieved by using this property.
     *
     * @default ""
     */
    cssClass: string;
    /**
     * Defines the text `content` of the progress button element.
     *
     * @default ""
     */
    content: string;
    /**
     * Makes the progress button toggle, when set to `true`. When you click it, the state changes from normal to active.
     *
     * @default false
     */
    isToggle: boolean;
    /**
     * Defines whether to allow the cross-scripting site or not.
     *
     * @default false
     */
    enableHtmlSanitizer: boolean;
    /**
     * Specifies a spinner and its related properties.
     */
    spinSettings: SpinSettingsModel;
    /**
     * Specifies the animation settings.
     */
    animationSettings: AnimationSettingsModel;
    /**
     * Triggers once the component rendering is completed.
     *
     * @event created
     * @blazorProperty 'Created'
     */
    created: base.EmitType<Event>;
    /**
     * Triggers when the progress starts.
     *
     * @event begin
     * @blazorProperty 'OnBegin'
     */
    begin: base.EmitType<ProgressEventArgs>;
    /**
     * Triggers in specified intervals.
     *
     * @event progress
     * @blazorProperty 'Progressing'
     */
    progress: base.EmitType<ProgressEventArgs>;
    /**
     * Triggers when the progress is completed.
     *
     * @event end
     * @blazorProperty 'OnEnd'
     */
    end: base.EmitType<ProgressEventArgs>;
    /**
     * Triggers when the progress is incomplete.
     *
     * @event fail
     * @blazorProperty 'OnFailure'
     */
    fail: base.EmitType<Event>;
    /**
     * Constructor for creating the widget.
     *
     * @param  {ProgressButtonModel} options - Specifies progress button model
     * @param  {string|HTMLButtonElement} element - Specifies element
     */
    constructor(options?: ProgressButtonModel, element?: string | HTMLButtonElement);
    protected preRender(): void;
    /**
     * Initialize the Component rendering
     *
     * @returns {void}
     * @private
     */
    render(): void;
    /**
     * Starts the button progress at the specified percent.
     *
     * @param {number} percent - Starts the button progress at this percent.
     * @returns {void}
     */
    start(percent?: number): void;
    /**
     * Stops the button progress.
     *
     * @returns {void}
     */
    stop(): void;
    /**
     * Complete the button progress.
     *
     * @returns {void}
     */
    progressComplete(): void;
    /**
     * Get component name.
     *
     * @returns {string} - Module Name
     * @private
     */
    getModuleName(): string;
    /**
     * Destroys the widget.
     *
     * @returns {void}
     */
    destroy(): void;
    private init;
    private createSpinner;
    private getSpinner;
    private getProgress;
    private setSpinPosition;
    private createProgress;
    private setContent;
    private setContentIcon;
    private clickHandler;
    private startProgress;
    private startAnimate;
    private successCallback;
    private startContAnimate;
    private finishProgress;
    private setSpinnerSize;
    private hideSpin;
    private setIconSpan;
    private setAria;
    protected wireEvents(): void;
    protected unWireEvents(): void;
    /**
     * Called internally if any of the property value changed.
     *
     * @param  {ProgressButtonModel} newProp - Specifies new properties
     * @param  {ProgressButtonModel} oldProp - Specifies old properties
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: ProgressButtonModel, oldProp: ProgressButtonModel): void;
    /**
     * Sets the focus to ProgressButton
     * its native method
     *
     * @public
     * @returns {void}
     */
    focusIn(): void;
}
/**
 * Defines the spin position of progress button.
 */
export  type SpinPosition = 'Left' | 'Right' | 'Top' | 'Bottom' | 'Center';
/**
 * Defines the animation effect of progress button.
 */
export  type AnimationEffect = 'None' | 'SlideLeft' | 'SlideRight' | 'SlideUp' | 'SlideDown' | 'ZoomIn' | 'ZoomOut';
/**
 * Interface for progress event arguments.
 */
export interface ProgressEventArgs extends base.BaseEventArgs {
    /**
     * Indicates the current state of progress in percentage.
     */
    percent: number;
    /**
     * Indicates the current duration of the progress.
     */
    currentDuration: number;
    /**
     * Specifies the interval.
     *
     * @default 1
     */
    step: number;
}
//node_modules/@syncfusion/ej2-splitbuttons/src/split-button/index.d.ts
/**
 * Split Button modules
 */
//node_modules/@syncfusion/ej2-splitbuttons/src/split-button/split-button-model.d.ts
/**
 * Interface for a class SplitButton
 */
export interface SplitButtonModel extends DropDownButtonModel{
    /**
     * Defines the content of the SplitButton primary action button can either be a text or HTML elements.
     *
     * @default ""
     */
    content?: string;
    /**
     * Defines class/multiple classes separated by a space in the SplitButton element. The SplitButton
     * size and styles can be customized by using this.
     *
     * @default ""
     */
    cssClass?: string;
    /**
     * Specifies a value that indicates whether the SplitButton is disabled or not.
     *
     * @default false.
     */
    disabled?: boolean;
    /**
     * Defines class/multiple classes separated by a space for the SplitButton that is used to include an
     * icon. SplitButton can also include font icon and sprite image.
     *
     * @default ""
     */
    iconCss?: string;
    /**
     * Positions the icon before/top of the text content in the SplitButton. The possible values are
     * * Left: The icon will be positioned to the left of the text content.
     * * Top: The icon will be positioned to the top of the text content.
     *
     * @default "Left"
     */
    iconPosition?: SplitButtonIconPosition;
    /**
     * Specifies the popup element creation on open.
     *
     * @default false
     */
    createPopupOnClick?: boolean;
    /**
     * Specifies action items with its properties which will be rendered as SplitButton secondary button popup.
     *
     * @default []
     */
    items?: ItemModel[];
    /**
     * Allows to specify the SplitButton popup item element.
     *
     * @default ""
     */
    target?: string | Element;
    /**
     * Triggers while rendering each Popup item of SplitButton.
     *
     * @event beforeItemRender
     */
    beforeItemRender?: base.EmitType<MenuEventArgs>;
    /**
     * Triggers before opening the SplitButton popup.
     *
     * @event beforeOpen
     */
    beforeOpen?: base.EmitType<BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers before closing the SplitButton popup.
     *
     * @event beforeClose
     */
    beforeClose?: base.EmitType<BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers when the primary button of SplitButton has been clicked.
     *
     * @event click
     */
    click?: base.EmitType<ClickEventArgs>;
    /**
     * Triggers while closing the SplitButton popup.
     *
     * @event close
     */
    close?: base.EmitType<OpenCloseMenuEventArgs>;
    /**
     * Triggers while opening the SplitButton popup.
     *
     * @event open
     */
    open?: base.EmitType<OpenCloseMenuEventArgs>;
    /**
     * Triggers while selecting action item of SplitButton popup.
     *
     * @event select
     */
    select?: base.EmitType<MenuEventArgs>;
    /**
     * Triggers once the component rendering is completed.
     *
     * @event created
     */
    created?: base.EmitType<Event>;
}
/**
 * Interface for a class Deferred
 */
export interface DeferredModel {
}
//node_modules/@syncfusion/ej2-splitbuttons/src/split-button/split-button.d.ts

/**
 * SplitButton component has primary and secondary button. Primary button is used to select
 * default action and secondary button is used to toggle contextual overlays for displaying list of
 * action items. It can contain both text and images.
 * ```html
 * <button id="element"></button>
 * ```
 * ```typescript
 * <script>
 * var splitBtnObj = new SplitButton({content: 'SplitButton'});
 * splitBtnObj.appendTo("#element");
 * </script>
 * ```
 */
export  class SplitButton extends DropDownButton implements base.INotifyPropertyChanged {
    private wrapper;
    private primaryBtnObj;
    private secondaryBtnObj;
    /**
     * Defines the content of the SplitButton primary action button can either be a text or HTML elements.
     *
     * @default ""
     */
    content: string;
    /**
     * Defines class/multiple classes separated by a space in the SplitButton element. The SplitButton
     * size and styles can be customized by using this.
     *
     * @default ""
     */
    cssClass: string;
    /**
     * Specifies a value that indicates whether the SplitButton is disabled or not.
     *
     * @default false.
     */
    disabled: boolean;
    /**
     * Defines class/multiple classes separated by a space for the SplitButton that is used to include an
     * icon. SplitButton can also include font icon and sprite image.
     *
     * @default ""
     */
    iconCss: string;
    /**
     * Positions the icon before/top of the text content in the SplitButton. The possible values are
     * * Left: The icon will be positioned to the left of the text content.
     * * Top: The icon will be positioned to the top of the text content.
     *
     * @default "Left"
     */
    iconPosition: SplitButtonIconPosition;
    /**
     * Specifies the popup element creation on open.
     *
     * @default false
     */
    createPopupOnClick: boolean;
    /**
     * Specifies action items with its properties which will be rendered as SplitButton secondary button popup.
     *
     * @default []
     */
    items: ItemModel[];
    /**
     * Allows to specify the SplitButton popup item element.
     *
     * @default ""
     */
    target: string | Element;
    /**
     * Triggers while rendering each Popup item of SplitButton.
     *
     * @event beforeItemRender
     */
    beforeItemRender: base.EmitType<MenuEventArgs>;
    /**
     * Triggers before opening the SplitButton popup.
     *
     * @event beforeOpen
     */
    beforeOpen: base.EmitType<BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers before closing the SplitButton popup.
     *
     * @event beforeClose
     */
    beforeClose: base.EmitType<BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers when the primary button of SplitButton has been clicked.
     *
     * @event click
     */
    click: base.EmitType<ClickEventArgs>;
    /**
     * Triggers while closing the SplitButton popup.
     *
     * @event close
     */
    close: base.EmitType<OpenCloseMenuEventArgs>;
    /**
     * Triggers while opening the SplitButton popup.
     *
     * @event open
     */
    open: base.EmitType<OpenCloseMenuEventArgs>;
    /**
     * Triggers while selecting action item of SplitButton popup.
     *
     * @event select
     */
    select: base.EmitType<MenuEventArgs>;
    /**
     * Triggers once the component rendering is completed.
     *
     * @event created
     */
    created: base.EmitType<Event>;
    /**
     * Constructor for creating the widget
     *
     * @param  {SplitButtonModel} options - Specifies the splitbutton model
     * @param  {string|HTMLButtonElement} element - Specifies the element
     * @hidden
     */
    constructor(options?: SplitButtonModel, element?: string | HTMLButtonElement);
    /**
     * Initialize Angular support.
     *
     * @private
     * @returns {void}
     */
    protected preRender(): void;
    /**
     * Initialize the Component rendering.
     *
     * @returns {void}
     * @private
     */
    render(): void;
    private renderControl;
    /**
     * Adds a new item to the menu. By default, new item appends to the list as the last item,
     * but you can insert based on the text parameter.
     *
     * @param  { ItemModel[] } items - Specifies an array of JSON data.
     * @param { string } text - Specifies the text to insert the newly added item in the menu.
     * @returns {void}.
     */
    addItems(items: ItemModel[], text?: string): void;
    /**
     * Removes the items from the menu.
     *
     * @param  { string[] } items - Specifies an array of string to remove the items.
     * @param { string } isUniqueId - Set `true` if specified items is a collection of unique id.
     * @returns {void}.
     */
    removeItems(items: string[], isUniqueId?: boolean): void;
    private initWrapper;
    private createPrimaryButton;
    private createSecondaryButton;
    private setAria;
    /**
     * Get component name.
     *
     * @returns {string} - Module Name
     * @private
     */
    getModuleName(): string;
    /**
     * To open/close SplitButton popup based on current state of the SplitButton.
     *
     * @returns {void}
     */
    toggle(): void;
    destroy(): void;
    protected wireEvents(): void;
    protected unWireEvents(): void;
    private primaryBtnClickHandler;
    private btnKeyBoardHandler;
    /**
     * Called internally if any of the property value changed.
     *
     * @param  {SplitButtonModel} newProp - Specifies new properties
     * @param  {SplitButtonModel} oldProp - Specifies old properties
     * @returns {void}
     */
    onPropertyChanged(newProp: SplitButtonModel, oldProp: SplitButtonModel): void;
    /**
     * Sets the focus to SplitButton
     * its native method
     *
     * @public
     * @returns {void}
     */
    focusIn(): void;
}
/**
 * Interface for Split Button click event arguments.
 */
export interface ClickEventArgs extends base.BaseEventArgs {
    element: Element;
}
/**
 * Deferred is used to handle asynchronous operation.
 */
export  class Deferred {
    /**
     * Reject a Deferred object and call failCallbacks with the given args.
     */
    reject: Function;
    /**
     * Resolve a Deferred object and call doneCallbacks with the given args.
     */
    resolve: Function;
    /**
     * Promise is an object that represents a value that may not be available yet, but will be resolved at some point in the future.
     */
    promise: Promise<Object>;
    /**
     * Defines the callback function triggers when the Deferred object is rejected.
     */
    catch: Function;
    /**
     * Defines the callback function triggers when the Deferred object is resolved.
     */
    then: Function;
}
 }
export namespace spreadsheet { 

//node_modules/@syncfusion/ej2-spreadsheet/src/calculate/base/calculate-model.d.ts
/**
 * Interface for a class Calculate
 */
export interface CalculateModel {
    /**
     * Specifies a value that indicates whether the basic formulas need to be included.
     *
     * @default true
     */
    includeBasicFormulas?: boolean;
    /**
     * Triggers when the calculation caught any errors.
     *
     * @event anEvent
     */
    onFailure?: base.EmitType<FailureEventArgs>;
}
/**
 * Interface for a class FormulaError
 */
export interface FormulaErrorModel {
}
/**
 * Interface for a class FormulaInfo
 */
export interface FormulaInfoModel {
}
/**
 * Interface for a class CalcSheetFamilyItem
 */
export interface CalcSheetFamilyItemModel {
}
/**
 * Interface for a class ValueChangedArgs
 */
export interface ValueChangedArgsModel {
}
//node_modules/@syncfusion/ej2-spreadsheet/src/calculate/base/calculate.d.ts
/**
 * Represents the calculate library.
 */
export  class Calculate extends base.Base<HTMLElement> implements base.INotifyPropertyChanged {
    private lFormulas;
    libraryFormulas: any;
    /** @hidden */
    storedData: Map<string, FormulaInfo>;
    /** @hidden */
    actCell: string;
    private keyToRowsMap;
    private rowsToKeyMap;
    /** @hidden */
    rightBracket: string;
    /** @hidden */
    leftBracket: string;
    /** @hidden */
    sheetToken: string;
    private emptyString;
    private leftBrace;
    private rightBrace;
    cell: string;
    private cellPrefix;
    private treatEmptyStringAsZero;
    /** @hidden */
    parentObject: Object | Calculate;
    /** @hidden */
    tic: string;
    /** @hidden */
    singleTic: string;
    /** @hidden */
    trueValue: string;
    /** @hidden */
    falseValue: string;
    private parseDecimalSeparator;
    /** @hidden */
    spreadSheetUsedRange: number[];
    /** @hidden */
    arithMarker: string;
    /** @hidden */
    arithMarker2: string;
    private dependentCells;
    private dependentFormulaCells;
    minValue: number;
    maxValue: number;
    categoryCollection: string[];
    dependencyLevel: number;
    /** @hidden */
    randomValues: Map<string, string>;
    /** @hidden */
    isRandomVal: boolean;
    /** @hidden */
    randCollection: string[];
    /** @hidden */
    dependencyCollection: string[];
    /** @hidden */
    uniqueRange: string[];
    /**
     * @hidden
     */
    formulaErrorStrings: string[];
    private errorStrings;
    /** @hidden */
    grid: Object | Calculate;
    /** @hidden */
    parser: Parser;
    private parseArgumentSeparator;
    private dateTime1900;
    private isParseDecimalSeparatorChanged;
    private isArgumentSeparatorChanged;
    private sheetFamilyID;
    private defaultFamilyItem;
    private sheetFamiliesList;
    private modelToSheetID;
    /** @hidden */
    tokenCount: number;
    private sortedSheetNames;
    private tempSheetPlaceHolder;
    /** @hidden */
    namedRanges: Map<string, string>;
    protected injectedModules: Function[];
    private formulaInfoTable;
    private oaDate;
    private millisecondsOfaDay;
    private parseDateTimeSeparator;
    /**
     * Specifies a value that indicates whether the basic formulas need to be included.
     *
     * @default true
     */
    includeBasicFormulas: boolean;
    /**
     * Triggers when the calculation caught any errors.
     *
     * @event anEvent
     */
    onFailure: base.EmitType<FailureEventArgs>;
    /**
     * base.Base constructor for creating Calculate library.
     *
     * @param {Object} parent - specify the parent
     */
    constructor(parent?: Object);
    /**
     * To get the argument separator to split the formula arguments.
     *
     * @returns {string} - To get the argument separator to split the formula arguments.
     */
    getParseArgumentSeparator(): string;
    /**
     * To set the argument separator to split the formula arguments.
     *
     * @param {string} value - Argument separator based on the culture.
     * @returns {void} - To set the argument separator to split the formula arguments.
     */
    setParseArgumentSeparator(value: string): void;
    /**
     * To get the date separator to split the date value.
     *
     * @returns {string} - To get the date separator to split the date value.
     */
    getParseDateTimeSeparator(): string;
    /**
     * To set whether the empty string is treated as zero or not.
     *
     * @param {boolean} value - specify the boolean.
     * @returns {void} - To set whether the empty string is treated as zero or not.
     */
    setTreatEmptyStringAsZero(value: boolean): void;
    /**
     * To get whether the empty string is treated as zero or not.
     *
     * @returns {boolean} - To get whether the empty string is treated as zero or not.
     */
    getTreatEmptyStringAsZero(): boolean;
    /**
     * To set the date separator to split the date value.
     *
     * @param {string} value - Argument separator based on the culture.
     * @returns {void} - To set the date separator to split the date value.
     */
    setParseDateTimeSeparator(value: string): void;
    /**
     * To provide the array of modules needed.
     *
     * @hidden
     * @returns {base.ModuleDeclaration[]} - To provide the array of modules needed.
     */
    requiredModules(): base.ModuleDeclaration[];
    /**
     * Dynamically injects the required modules to the library.
     *
     * @hidden
     * @param {Function[]} moduleList - Specify the module list
     * @returns {void} - Dynamically injects the required modules to the library.
     */
    static Inject(...moduleList: Function[]): void;
    /**
     * Get injected modules
     *
     * @hidden
     * @returns {Function[]} - get Injected Modules
     */
    getInjectedModules(): Function[];
    onPropertyChanged(newProp: CalculateModel, oldProp: CalculateModel): void;
    protected getModuleName(): string;
    /**
     * @hidden
     * @returns {string} - get Formula Character.
     */
    getFormulaCharacter(): string;
    /**
     * @hidden
     * @param {string} text - specify the text
     * @returns {boolean} - Returns boolean value.
     */
    isUpperChar(text: string): boolean;
    private resetKeys;
    /**
     * @hidden
     * @param {string} cellRef -  specify the cell reference
     * @returns {void} - update Dependent Cell
     */
    updateDependentCell(cellRef: string): void;
    private addToFormulaDependentCells;
    /**
     * @hidden
     * @returns {Map<string, string[]>} - get Dependent Cells
     */
    getDependentCells(): Map<string, string[]>;
    /**
     * @hidden
     * @returns {Map<string, Map<string, string>>} - get Dependent Formula Cells
     */
    getDependentFormulaCells(): Map<string, Map<string, string>>;
    /**
     * To get library formulas collection.
     *
     * @returns {Map<string, Function>} - To get library formulas collection.
     */
    getLibraryFormulas(): Map<string, IFormulaColl>;
    /**
     * To get library function.
     *
     * @param {string} libFormula - Library formula to get a corresponding function.
     * @returns {Function} - To get library function.
     */
    getFunction(libFormula: string): Function;
    /**
     * @hidden
     * @param {string} val - specify the value.
     * @returns {Date} - convert integer to date.
     */
    intToDate(val: string): Date;
    getFormulaInfoTable(): Map<string, FormulaInfo>;
    /**
     * To get the formula text.
     *
     * @private
     * @param {string} key - specify the key.
     * @returns {string} - To get the formula text.
     */
    private getFormula;
    /**
     * To get the formula text.
     *
     * @returns {void} - To get the formula text.
     */
    getParseDecimalSeparator(): string;
    /**
     * To get the formula text.
     *
     * @param {string} value - Specifies the decimal separator value.
     * @returns {void} - To get the formula text.
     */
    setParseDecimalSeparator(value: string): void;
    /**
     * @hidden
     * @param {string} cellRef -  specify the cell reference
     * @returns {string} - get sheet token.
     */
    getSheetToken(cellRef: string): string;
    /**
     * @hidden
     * @param {Object} grd - specify the id
     * @returns {number} - get sheet id.
     */
    getSheetID(grd: Object): number;
    /**
     * @hidden
     * @param {string | number} value - specify the value.
     * @returns {number} - parse float
     */
    parseFloat(value: string | number): number;
    /**
     * To get the row index of the given cell.
     *
     * @param {string} cell - Cell address for getting row index.
     * @returns {number} - To get the row index of the given cell.
     */
    rowIndex(cell: string): number;
    /**
     * To get the column index of the given cell.
     *
     * @param {string} cell - Cell address for getting column index.
     * @returns {number} - To get the column index of the given cell.
     */
    colIndex(cell: string): number;
    /**
     * To get the valid error strings.
     *
     * @hidden
     * @returns {string[]} - to get error strings.
     */
    getErrorStrings(): string[];
    /**
     * @hidden
     * @param {string} text - specify the text
     * @param {number} startIndex - specify the start index
     * @param {number} length - specify the length
     * @returns {string} - Returns sub string
     */
    substring(text: string, startIndex: number, length?: number): string;
    /**
     * @hidden
     * @param {string} c - specify the characer of the string
     * @returns {boolean} - Return the boolean type
     */
    isChar(c: string): boolean;
    /**
     * @hidden
     * @param {Object} model - specify the model
     * @returns {CalcSheetFamilyItem} - get Sheet Family Item.
     */
    getSheetFamilyItem(model: Object): CalcSheetFamilyItem;
    /**
     * Register a key value pair for formula.
     *
     * @param {string} key - Key for formula reference .
     * @param {string | number} value - Value for the corresponding key.
     * @returns {void} - Register a key value pair for formula.
     */
    setKeyValue(key: string, value: string | number): void;
    /**
     * @hidden
     * @param {string} cell - specify the cell
     * @returns {void} - clears the  Formula Dependent Cells.
     */
    clearFormulaDependentCells(cell: string): void;
    private arrayRemove;
    /**
     * Register a key value pair for formula.
     *
     * @param {string} key - Key for getting the corresponding value.
     * @returns {string | number} - to get key value.
     */
    getKeyValue(key: string): string | number;
    getNamedRanges(): Map<string, string>;
    /**
     * Adds a named range to the NamedRanges collection.
     *
     * @param {string} name - Name of the named range.
     * @param {string} range - Range for the specified name.
     * @returns {boolean} - Adds a named range to the NamedRanges collection.
     */
    addNamedRange(name: string, range: string): boolean;
    /**
     * Remove the specified named range form the named range collection.
     *
     * @param {string} name - Name of the specified named range.
     * @returns {boolean} - Remove the specified named range form the named range collection.
     */
    removeNamedRange(name: string): boolean;
    /**
     * @hidden
     * @param {number} col - specify the column
     * @returns {string} - to convert the alpha.
     */
    convertAlpha(col: number): string;
    /**
     * @hidden
     * @param {string} cellRange - specify the cell range.
     * @returns {string} - to get cell collection.
     */
    getCellCollection(cellRange: string): string[] | string;
    /**
     * Compute the given formula.
     *
     * @param {string} formulaText - Specifies to compute the given formula.
     * @returns {string | number} - compute the given formula
     */
    computeFormula(formulaText: string): string | number;
    private calculateFormula;
    /**
     * @hidden
     * @param {string[]} range - specify the range
     * @returns {number[] | string} - to compute if and average if.
     */
    computeSumIfAndAvgIf(range: string[]): number[] | string;
    findWildCardValue(lookVal: string, cellValue: string): string;
    /** @hidden */
    getComputeSumIfValue(criteriaRange: string[] | string, sumRange: string[] | string, criteria: string, checkCriteria: number, op: string, isAsterisk: boolean): number[];
    private getValueFromRange;
    /**
     * @hidden
     * @param {string[]} args - specifies the args
     * @param {string} op - specify the operator.
     * @returns {string} - Compute and or.
     */
    computeAndOr(args: string[], op: string): string;
    /**
     * @hidden
     * @param {string} text - specify the text
     * @returns {string} - to strip out the tic from the formula arguments.
     */
    removeTics(text: string): string;
    /**
     * @hidden
     * @param {string} range - specify the range
     * @returns {string} - to get cell from the range.
     */
    getCellFrom(range: string): string;
    private computeValue;
    private getValArithmetic;
    /**
     * @hidden
     * @param {string[]} stack - specify the stack
     * @param {string} operator - specify the operator.
     * @returns {string} - To process the logical.
     */
    processLogical(stack: string[], operator: string): string;
    /**
     * @hidden
     * @param {StoredCellInfo} sCell - specified the cell information
     * @returns {string[]} - compute stored cells
     */
    computeStoreCells(sCell: StoredCellInfo): string[];
    computeIfsFormulas(range: string[], isCountIfs?: string, isAvgIfs?: string): string | number;
    private processNestedFormula;
    /**
     * @hidden
     * @param {string | number} value - Specify the value
     * @returns {boolean} -  Returns boolean value
     */
    isNaN(value: string | number): boolean;
    /**
     * @hidden
     * @param {number} doubleNumber - To specify the double number
     * @returns {Date} - Returns date.
     */
    fromOADate(doubleNumber: number): Date;
    /**
     * @hidden
     * @param {number} year - Specify the year.
     * @param {number} month - Specify the month.
     * @param {number} day - Specify the day.
     * @returns {number} -  to get serial date from date.
     */
    getSerialDateFromDate(year: number, month: number, day: number): number;
    /**
     * @hidden
     * @param {string | number} value - Specify the Time
     * @returns {string} -  returns to time.
     */
    intToTime(value: string | number): string;
    /**
     * @hidden
     * @param {Date} dateTime - Specify the date Time
     * @returns {number} -  returns to date.
     */
    toOADate(dateTime: Date): number;
    /**
     * @hidden
     * @param {string} date - Specify the date
     * @returns {string} -  returns calculate Date
     */
    calculateDate(date: string): string;
    /**
     * @hidden
     * @param {string} s - Specify the s
     * @returns {boolean} -  returns boolean value.
     */
    isTextEmpty(s: string): boolean;
    /**
     * @hidden
     * @param {string} text - Specify the text
     * @returns {boolean} -  returns boolean value.
     */
    isDigit(text: string): boolean;
    private findLastIndexOfq;
    /**
     * To get the exact value from argument.
     *
     * @param {string} arg - Formula argument for getting a exact value.
     * @param {boolean} isUnique - It specifies unique formula or not.
     * @returns {string} - To get the exact value from argument.
     */
    getValueFromArg(arg: string, isUnique?: boolean): string;
    isDate(date: any): Date;
    private isValidCellReference;
    /** @hidden */
    parseDate(date: any): any;
    /**
     * @hidden
     * @param {string} args - Specify the args
     * @returns {boolean} - Returns boolean value.
     */
    isCellReference(args: string): boolean;
    /**
     * @hidden
     * @param {string} text - Specify the text.
     * @returns {string} - set Tokens For Sheets.
     */
    setTokensForSheets(text: string): string;
    private getParentObjectCellValue;
    private getParentCellValue;
    private getSheetId;
    /**
     * Getting the formula result.
     *
     * @param {Object} grid - Specifies the parent object.
     * @param {number} row - Row index of the parent object or key.
     * @param {number} col - Column index of the parent object.
     * @returns {string} - Getting the formula result.
     */
    getValueRowCol(grid: Object, row: number, col: number): string;
    /**
     * To add custom library formula.
     *
     * @param {string} formulaName - Custom Formula name.
     * @param {string} functionName - Custom function name.
     * @returns {void} - To add custom library formula.
     */
    defineFunction(formulaName: string, functionName: string | Function, formulaDescription: string): void;
    /**
     * Specifies when changing the value.
     *
     * @param {string} grid - Parent object reference name.
     * @param {ValueChangedArgs} changeArgs - Value changed arguments.
     * @param {boolean} isCalculate - Value that allow to calculate.
     * @param {number[]} usedRangeCol - Specify the used range collection.
     * @param {boolean} refresh - Specifies for refreshing the value.
     * @param {string} sheetName - Specifies for sheet name for spreadsheet.
     * @returns {void} - Specifies when changing the value.
     */
    valueChanged(grid: string, changeArgs: ValueChangedArgs, isCalculate?: boolean, usedRangeCol?: number[], refresh?: boolean, sheetName?: string): void;
    /**
     * @hidden
     * @param {number} value - specify the value
     * @param {string | number} formulaValue -  specify the formula value.
     * @param {number} row - specify the row
     * @param {number} col - specify the col.
     * @returns {void} - to set value row and column.
     */
    setValueRowCol(value: number, formulaValue: string | number, row: number, col: number): void;
    private getSortedSheetNames;
    /**
     * @hidden
     * @param {string} error -  specify the string
     * @returns {string} - to get error line.
     */
    getErrorLine(error: string): string;
    /** @hidden
     * @returns {number} - to return the sheet id
     */
    createSheetFamilyID(): number;
    /**
     * @hidden
     * @param {string[]} args - Specify the args.
     * @param {string} operation - Specify the operation.
     * @returns {string} - To compute min max.
     */
    computeMinMax(args: string[], operation: string): string;
    /**
     * @hidden
     * @param {string[]} args - Specify the args.
     * @returns {string} - to calculate average.
     */
    calculateAvg(args: string[]): string;
    /**
     * @hidden
     * @param {string} refName - specify the reference name.
     * @param {Object | string } model - model - Specify the model.model
     * @param {number} sheetFamilyID - specify the sheet family id.
     * @returns {string} - register Grid As Sheet.
     */
    registerGridAsSheet(refName: string, model: Object | string, sheetFamilyID: number): string;
    /**
     * @hidden
     * @param {string} refName - Specify the reference name
     * @param {string | Object} model - Specify the model
     * @param {boolean} unRegisterAll - Un registed all the availbe model.
     * @returns {void} - To un register grid sheet.
     */
    unregisterGridAsSheet(refName: string, model: string | Object, unRegisterAll?: boolean): void;
    /**
     * @hidden
     * @param {string} formula - Specify the formula
     * @returns {string | number} - To compute the expression.
     */
    computeExpression(formula: string): string | number;
    private isSheetMember;
    /**
     * To dispose the calculate engine.
     *
     * @returns {void} - To dispose the calculate engine.
     */
    dispose(): void;
    refreshRandValues(cellRef: string): void;
    refresh(cellRef: string, uniqueCell?: string): void;
}
/** @hidden */
export  class FormulaError {
    /**
     * @hidden
     */
    message: string;
    formulaCorrection: boolean;
    constructor(errorMessage: string, formulaAutoCorrection?: boolean);
}
/** @hidden */
export  class FormulaInfo {
    /**
     * @hidden
     */
    calcID: number;
    /**
     * @hidden
     */
    formulaText: string;
    private formulaValue;
    private parsedFormula;
    private calcID1;
    /**
     * @hidden
     * @returns {void} - To get Formula Text
     */
    getFormulaText(): string;
    /**
     * @hidden
     * @param {string} value - Specify the value
     * @returns {void} - To set Formula Text
     */
    setFormulaText(value: string): void;
    /**
     * @hidden
     * @returns {string} - To get Formula Value
     */
    getFormulaValue(): string | number;
    /**
     * @hidden
     * @param {string | number} value - Specify the value
     * @returns {void} - To set Parsed Formula
     */
    setFormulaValue(value: string | number): void;
    /**
     * @hidden
     * @returns {string} - To get Parsed Formula
     */
    getParsedFormula(): string;
    /**
     * @hidden
     * @param {string} value - Specify the value
     * @returns {void} - To set Parsed Formula
     */
    setParsedFormula(value: string): void;
}
/** @hidden */
export  class CalcSheetFamilyItem {
    /**
     * @hidden
     */
    isSheetMember: boolean;
    /**
     * @hidden
     */
    parentObjectToToken: Map<Object, string>;
    /**
     * @hidden
     */
    sheetDependentFormulaCells: Map<string, Map<string, string>>;
    /**
     * @hidden
     */
    sheetNameToParentObject: Map<string, Object>;
    /**
     * @hidden
     */
    sheetNameToToken: Map<string, string>;
    /**
     * @hidden
     */
    tokenToParentObject: Map<string, Object>;
    /**
     * @hidden
     */
    sheetFormulaInfotable: Map<string, FormulaInfo>;
}
/**
 * @hidden
 * @param {number} col - Specify the column
 * @returns {string} - To returns get Alphalabel.
 */
export  function getAlphalabel(col: number): string;
export  class ValueChangedArgs {
    /** @hidden */
    row: number;
    /** @hidden */
    col: number;
    /** @hidden */
    value: number | string;
    /** @hidden */
    getRowIndex: Function;
    /** @hidden */
    setRowIndex: Function;
    /** @hidden */
    getColIndex: Function;
    /** @hidden */
    setColIndex: Function;
    /** @hidden */
    getValue: Function;
    /** @hidden */
    setValue: Function;
    constructor(row: number, col: number, value: number | string);
}
//node_modules/@syncfusion/ej2-spreadsheet/src/calculate/base/index.d.ts
/**
 * Export Calculate Modules.
 */
//node_modules/@syncfusion/ej2-spreadsheet/src/calculate/base/parser.d.ts
export  class Parser {
    private parent;
    constructor(parent?: Calculate);
    private emptyStr;
    private storedStringText;
    private sheetToken;
    /** @hidden */
    tokenAdd: string;
    /** @hidden */
    tokenSubtract: string;
    /** @hidden */
    tokenMultiply: string;
    /** @hidden */
    tokenDivide: string;
    /** @hidden */
    tokenLess: string;
    private charEm;
    private charEp;
    /** @hidden */
    tokenGreater: string;
    /** @hidden */
    tokenEqual: string;
    /** @hidden */
    tokenLessEq: string;
    /** @hidden */
    tokenGreaterEq: string;
    /** @hidden */
    tokenNotEqual: string;
    /** @hidden */
    tokenAnd: string;
    private tokenEm;
    private tokenEp;
    /** @hidden */
    tokenOr: string;
    private charAnd;
    private charLess;
    private charGreater;
    private charEqual;
    private charLessEq;
    private charGreaterEq;
    private charNoEqual;
    private stringGreaterEq;
    private stringLessEq;
    private stringNoEqual;
    private stringAnd;
    private stringOr;
    private charOr;
    private charAdd;
    private charSubtract;
    private charMultiply;
    private charDivide;
    private fixedReference;
    private spaceString;
    private ignoreBracet;
    /** @hidden */
    isError: boolean;
    /** @hidden */
    isFormulaParsed: boolean;
    private findNamedRange;
    private stringsColl;
    private tokens;
    private charNOTop;
    private specialSym;
    private isFailureTriggered;
    /**
     * @hidden
     * @param {string} text - specify the text
     * @param {string} fkey - specify the formula key
     * @returns {string} - returns parse.
     */
    parse(text: string, fkey?: string): string;
    private exceptionArgs;
    private formulaAutoCorrection;
    private checkScopedRange;
    private storeStrings;
    private setStrings;
    /**
     * @hidden
     * @param {string} formulaText - specify the formula text
     * @returns {string} - parse simple.
     */
    parseSimple(formulaText: string): string;
    /**
     * @hidden
     * @param {string} formulaText - specify the formula text
     * @param {string[]} markers -  specify the markers
     * @param {string[]} operators - specify the operators
     * @returns {string} - parse Simple Operators
     */
    parseSimpleOperators(formulaText: string, markers: string[], operators: string[]): string;
    /**
     * @hidden
     * @param {string} text - specify the text
     * @param {string[]} operators - specify the operators
     * @returns {number} - returns index.
     */
    indexOfAny(text: string, operators: string[]): number;
    /**
     * @hidden
     * @param {string} text - specify the text
     * @returns {number} - find Left Marker.
     */
    findLeftMarker(text: string): number;
    /**
     * @hidden
     * @param {string} text - specify the text.
     * @returns {number} - find Right Marker.
     */
    findRightMarker(text: string): number;
    /**
     * @hidden
     * @param {string} formula - specify the formula
     * @param {string} fKey - specify the formula key.
     * @returns {string} - parse formula.
     */
    parseFormula(formula: string, fKey?: string): string;
    /**
     * @hidden
     * @param {string} formula - specify the formula
     * @returns {string} - mark library formulas.
     */
    markLibraryFormulas(formula: string): string;
    /**
     * @hidden
     * @param {string} fSubstr - specify the string
     * @returns {string} - swap inner parens.
     */
    swapInnerParens(fSubstr: string): string;
    /**
     * @hidden
     * @param {string} fSubstr - specify the string
     * @returns {string} - add parens to args.
     */
    addParensToArgs(fSubstr: string): string;
    /**
     * @hidden
     * @param {string} text - specify the text
     * @param {string[]} operators - specify the operators
     * @returns {number} - returns last Index Of Any.
     */
    private lastIndexOfAny;
    /**
     * @hidden
     * @param {string} formula - specify the formula
     * @returns {string} - mark Named Ranges.
     */
    markNamedRanges(formula: string): string;
    /**
     * @hidden
     * @param {string} text - specify the text.
     * @returns {string} - check For Named Range And Key Value
     */
    checkForNamedRangeAndKeyValue(text: string): string;
    private getTableRange;
    private findNextEndIndex;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/calculate/common/common.d.ts
/**
 * Represent the common codes for calculate
 */
export  class CalculateCommon {
    private parent;
    constructor(parent: Calculate);
    /**
     * For internal use only - Get the module name.
     *
     * @private
     * @returns {string} - Get the module name.
     */
    protected getModuleName(): string;
}
/**
 * To check whether the object is undefined.
 *
 * @param {Object} value - To check the object is undefined
 * @returns {boolean} - Returns boolean value.
 * @private
 */
export  function isUndefined(value: Object): boolean;
/**
 * @hidden
 * @param {string} value - specify the value
 * @returns {string} - get Skeleton Value.
 */
export  function getSkeletonVal(value: string): string;
/**
 * To check whether the formula contains external file link.
 *
 * @param {string} formula - To check the string contains external file link.
 * @returns {boolean} - Returns boolean value.
 * @private
 */
export  function isExternalFileLink(formula: string): boolean;
//node_modules/@syncfusion/ej2-spreadsheet/src/calculate/common/enum.d.ts
/**
 * @hidden
 */
export  enum CommonErrors {
    na = 0,
    value = 1,
    ref = 2,
    divzero = 3,
    num = 4,
    name = 5,
    null = 6
}
/**
 * @hidden
 */
export  enum FormulasErrorsStrings {
    operators_cannot_start_with_expression = 0,
    reservedWord_And = 1,
    reservedWord_Xor = 2,
    reservedWord_If = 3,
    number_contains_2_decimal_points = 4,
    reservedWord_Else = 5,
    reservedWord_Not = 6,
    invalid_char_in_number = 7,
    invalid_characters_following_with_operator = 6,
    mismatched_parentheses = 8,
    unknown_formula_name = 9,
    requires_a_single_argument = 10,
    requires_3_args = 11,
    invalid_Math_argument = 12,
    requires_2_args = 13,
    bad_index = 14,
    too_complex = 15,
    circular_reference = 16,
    missing_formula = 17,
    improper_formula = 18,
    invalid_expression = 19,
    cell_empty = 20,
    bad_formula = 21,
    empty_expression = 22,
    virtual_mode_required = 23,
    mismatched_tics = 24,
    wrong_number_arguments = 25,
    invalid_arguments = 26,
    iterations_do_not_converge = 27,
    calculation_overflow = 29,
    already_registered = 28,
    missing_sheet = 30,
    cannot_parse = 31,
    expression_cannot_end_with_an_operator = 32,
    spill = 33,
    div = 34
}
/**
 * @hidden
 */
export  enum ExcelFileFormats {
    xlsx = "xlsx",
    xlsm = "xlsm",
    xlsb = "xlsb",
    xltx = "xltx",
    xltm = "xltm",
    xls = "xls",
    xml = "xml",
    xlam = "xlam",
    xla = "xla",
    xlw = "xlw",
    xlr = "xlr",
    prn = "prn",
    txt = "txt",
    csv = "csv",
    dif = "dif",
    slk = "slk"
}
//node_modules/@syncfusion/ej2-spreadsheet/src/calculate/common/index.d.ts
/**
 * Export Common modules for Calculate.
 */
//node_modules/@syncfusion/ej2-spreadsheet/src/calculate/common/interface.d.ts
/**
 * Interface for calculate failure event arguments.
 */
export interface FailureEventArgs {
    message: string;
    exception: Object;
    isForceCalculable: boolean;
    computeForceCalculate?: boolean;
}
/**
 * @hidden
 */
export interface IFormulaColl {
    handler: Function;
    isCustom?: boolean;
    category?: string;
    description?: string;
}
/**
 * @hidden
 */
export interface StoredCellInfo {
    cellValue: string | string[];
    cellRange: string[];
    criteria: string[];
    argArray: string[];
    isCriteria: string;
    storedCells: string[];
    isCountIfS: string;
    countVal?: number;
}
/**
 * @hidden
 */
export interface IBasicFormula {
    formulaName: string;
    category?: string;
    description?: string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/calculate/common/module-loader.d.ts
export interface ModuleDeclaration {
    args: Object[];
    member: string;
    isProperty?: boolean;
}
export interface IParent {
    [key: string]: any;
}
/**
 * To get nameSpace value from the desired object.
 *
 * @param {string} nameSpace - String value to the get the inner object
 * @param {any} obj - Object to get the inner object value.
 * @returns {any} - To get nameSpace value from the desired object.
 * @private
 */
export  function getValue(nameSpace: string, obj: any): any;
/**
 * To set value for the nameSpace in desired object.
 *
 * @param {string} nameSpace - String value to get the inner object
 * @param {any} value - Value that you need to set.
 * @param {any} obj - Object to get the inner object value.
 * @returns {void} - To set value for the nameSpace in desired object.
 * @private
 */
export  function setValue(nameSpace: string, value: any, obj: any): any;
export  class ModuleLoader {
    private parent;
    private loadedModules;
    constructor(parent: IParent);
    /**
     * Inject required modules in component library
     *
     * @param {ModuleDeclaration[]} requiredModules -  specify the required modules
     * @param {Function[]} moduleList - specify the module list
     * @returns {void} - Inject required modules in component library
     * @hidden
     */
    inject(requiredModules: ModuleDeclaration[], moduleList: Function[]): void;
    /**
     * Create Instance from constructor function with desired parameters.
     *
     * @param {Function} classFunction - Class function to which need to create instance
     * @param {any[]} params - Parameters need to passed while creating instance
     * @returns {any} - Create Instance from constructor function with desired parameters.
     * @private
     */
    private createInstance;
    /**
     * To remove the created object while control is destroyed
     *
     * @hidden
     * @returns {void} - To remove the created object while control is destroyed
     */
    clean(): void;
    /**
     * Removes all unused modules
     *
     * @param {ModuleDeclaration[]} moduleListName -  specify the module list name
     * @returns {void} - Removes all unused modules
     */
    private clearUnusedModule;
    /**
     * To get the name of the member.
     *
     * @param {string} name - specify the name
     * @returns {string} - To get the name of the member.
     */
    private getMemberName;
    /**
     * Delete an item from Object
     *
     * @param {any} obj - Object in which we need to delete an item.
     * @param {string} key - String value to the get the inner object
     * @returns {void} - Delete an item from Object
     * @private
     */
    private deleteObject;
    /**
     * Returns boolean based on whether the module specified is loaded or not
     *
     * @param {string} modName - specify the name
     * @returns {boolean} - Returns boolean value
     */
    private isModuleLoaded;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/calculate/common/module.d.ts
/**
 * Represents the getModules function.
 *
 * @param {Calculate} context - specify the context
 * @returns {base.ModuleDeclaration[]} - Represents the getModules function.
 */
export  function getModules(context: Calculate): base.ModuleDeclaration[];
//node_modules/@syncfusion/ej2-spreadsheet/src/calculate/formulas/basic.d.ts
/**
 * Represents the basic formulas module.
 */
export  class BasicFormulas {
    private parent;
    formulas: IBasicFormula[];
    private isConcat;
    constructor(parent?: Calculate);
    private init;
    private addFormulaCollection;
    /**
     * @hidden
     * @param {string[]} args - specify the args
     * @returns {string | number} - Comput sum value
     */
    ComputeSUM(...args: string[]): string | number;
    /**
     * @hidden
     * @param {string[]} args - specify the args.
     * @returns {string | number} - Compute the Integer.
     */
    ComputeINT(...args: string[]): string | number;
    /**
     * @hidden
     * @param {string[]} args - specify the args.
     * @returns {Date | string} - Compute the Today.
     */
    ComputeTODAY(...args: string[]): Date | string;
    /**
     * @hidden
     * @param {string[]} args - specify the args.
     * @returns {number} - Compute the day from the date.
     */
    ComputeWEEKDAY(...args: string[]): number | string;
    /**
     * @hidden
     * @param {string[]} args - specify the args.
     * @returns {string} - Compute to the Proper casing.
     */
    ComputePROPER(...args: string[]): string;
    /**
     * @hidden
     * @param {string[]} args - specify the args.
     * @returns {string | number} - Compute the Sum product.
     */
    ComputeSUMPRODUCT(...args: string[]): string | number;
    /**
     * @hidden
     * @param {string[]} args - specify the args.
     * @returns {string | number} - Compute the Roundup.
     */
    ComputeROUNDUP(...args: string[]): string | number;
    /**
     * @hidden
     * @param {string[]} args - specify the args.
     * @returns {number | string} - Compute the count.
     */
    ComputeCOUNT(...args: string[]): number | string;
    /**
     * @hidden
     * @param {string[]} args - specify the args.
     * @returns {Date | string} - Compute the Date.
     */
    ComputeDATE(...args: string[]): Date | string;
    /**
     * @hidden
     * @param {string[]} args - specify the args.
     * @returns {number | string} - Compute the ceiling.
     */
    ComputeFLOOR(...args: string[]): number | string;
    /**
     * @hidden
     * @param {string[]} args - specify the args.
     * @returns {number | string} - Compute the ceiling.
     */
    ComputeCEILING(...args: string[]): number | string;
    /**
     * @hidden
     * @param {string[]} serialNumber - specify the serialNumber.
     * @returns {number | string} - Compute the DAY.
     */
    ComputeDAY(...serialNumber: string[]): number | string;
    /**
     * @hidden
     * @param {string[]} args - specify the args.
     * @returns {string | number} - Compute the IF value.
     */
    ComputeIF(...args: string[]): string | number;
    /**
     * @hidden
     * @param {string[]} args - specify the args.
     * @returns {number | string} - Compute the IFERROR value.
     */
    ComputeIFERROR(...args: string[]): number | string;
    /**
     * @hidden
     * @param {string[]} range - specify the range.
     * @returns {string | number} - Compute the PRODUCT value.
     */
    ComputePRODUCT(...range: string[]): string | number;
    /**
     * @hidden
     * @param {string[]} range - specify the range.
     * @returns {string | number} - Compute the Choose value.
     */
    ComputeDAYS(...range: string[]): number | string;
    /**
     * @hidden
     * @param {string[]} args - specify the range.
     * @returns {number | string} - Compute the unique.
     */
    ComputeUNIQUE(...args: string[]): number | string;
    private setValueRefresh;
    private checkSpill;
    clearDependency(value: string): void;
    /**
     * @hidden
     * @param {string} args - specify the args.
     * @returns {string} - Compute the text or null value.
     */
    ComputeT(...args: string[]): string;
    /**
     * @hidden
     * @param {string} args - specify the args.
     * @returns {string | boolean} - Compute the hours.
     */
    ComputeHOUR(...args: string[]): number | string;
    /**
     * @hidden
     * @param {string} argArr - specify the args.
     * @returns {string | boolean} - Compute the hours.
     */
    ComputeMINUTE(...argArr: string[]): number | string;
    /**
     * @hidden
     * @param {string} args - specify the args.
     * @returns {string | boolean} - Compute the hours.
     */
    ComputeSECOND(...args: string[]): number | string;
    /**
     * @hidden
     * @param {string} argsVal - specify the args.
     * @returns {string | boolean} - Compute the months.
     */
    ComputeMONTH(...argsVal: string[]): number | string;
    /**
     * @hidden
     * @param {string} args - specify the args.
     * @returns {string } - Compute the time and date value.
     */
    ComputeNOW(...args: string[]): string;
    /**
     * @hidden
     * @param {string} args - specify the args.
     * @returns {string | boolean} - Compute the exact value or not.
     */
    ComputeEXACT(...args: string[]): string | boolean;
    /**
     * @hidden
     * @param {string} args - specify the args.
     * @returns {string | boolean} - Compute the exact value or not.
     */
    ComputeLEN(...args: string[]): string | number;
    /**
     * @hidden
     * @param {string} args - specify the args.
     * @returns {string | boolean} - Compute the remainder from the given numbers.
     */
    ComputeMOD(...args: string[]): string | number;
    /**
     * @hidden
     * @param {string} args - specify the args.
     * @returns {string | boolean} - Compute the next odd number.
     */
    ComputeODD(...args: string[]): string | number;
    /**
     * @hidden
     * @param {string} args - specify the args.
     * @returns {string | boolean} - Compute the next even number.
     */
    ComputeEVEN(...args: string[]): string | number;
    /**
     * @hidden
     * @param {string} args - specify the args.
     * @returns {string | boolean} - Compute the value of pi.
     */
    ComputePI(...args: string[]): string | number;
    /**
     * @hidden
     * @param {string} args - specify the args.
     * @returns {string | boolean} - Compute the median value.
     */
    ComputeMEDIAN(...args: string[]): string | number;
    /**
     * @hidden
     * @param {string} args - specify the args.
     * @returns {string | boolean} - Compute the edate value.
     */
    ComputeEDATE(...args: string[]): Date | string;
    /**
     * @hidden
     * @param {string} args - specify the args.
     * @returns {string | boolean} - Compute the date value.
     */
    ComputeDATEVALUE(...args: string[]): Date | string;
    /**
     * @hidden
     * @param {string} args - specify the args.
     * @returns {string | boolean} - Compute the count blank value.
     */
    ComputeCOUNTBLANK(...args: string[]): string | number;
    /**
     * @hidden
     * @param {string} args - specify the args.
     * @returns {string | boolean} - Compute the factorial value.
     */
    ComputeFACT(...args: string[]): string | number;
    /**
     * @hidden
     * @param {string} args - specify the args.
     * @returns {string | boolean} - Compute the decimal value.
     */
    ComputeDECIMAL(...args: string[]): string | number;
    /**
     * @hidden
     * @param {string} args - specify the args.
     * @returns {string | boolean} - Compute the degrees value.
     */
    ComputeDEGREES(...args: string[]): string | number;
    /**
     * @hidden
     * @param {string} args - specify the args.
     * @returns {string | boolean} - Compute the cell address.
     */
    ComputeADDRESS(...args: string[]): string | number;
    /**
     * @hidden
     * @param {string} args - specify the args.
     * @returns {string | boolean} - Compute the time.
     */
    ComputeTIME(...args: string[]): string | number;
    /**
     * @hidden
     * @param {string} args - specify the args.
     * @returns {string | boolean} - Compute the char value.
     */
    ComputeCHAR(...args: string[]): string | number;
    /**
     * @hidden
     * @param {string} args - specify the args.
     * @returns {string | boolean} - Compute the code value.
     */
    ComputeCODE(...args: string[]): string | number;
    /**
     * @hidden
     * @param {string} args - specify the args.
     * @returns {string | boolean} - Compute the currency value.
     */
    ComputeDOLLAR(...args: string[]): string | number;
    /**
     * @hidden
     * @param {string} args - specify the args.
     * @returns {string | boolean} - Compute the k-th smallest value.
     */
    ComputeSMALL(...args: string[]): string | number;
    /**
     * @hidden
     * @param {string} args - specify the args.
     * @returns {string | boolean} - Compute the k-th largest value.
     */
    ComputeLARGE(...args: string[]): string | number;
    /**
     * @hidden
     * @param {string[]} args - specify the args.
     * @returns {string | number} - Compute the Choose value.
     */
    ComputeCHOOSE(...args: string[]): string | number;
    /**
     * @hidden
     * @param {string[]} range - specify the range.
     * @returns {string | number} - Compute the SUMIF value.
     */
    ComputeSUMIF(...range: string[]): string | number;
    /**
     * @hidden
     * @param {string[]} absValue - specify the absValue.
     * @returns {string | number} - Compute the AVERAGE value.
     */
    ComputeABS(...absValue: string[]): string | number;
    /**
     * @hidden
     * @param {string[]} args - specify the range.
     * @returns {string} - Compute the AVERAGE value.
     */
    ComputeAVERAGE(...args: string[]): string;
    /**
     * @hidden
     * @param {string[]} range - specify the range.
     * @returns {string | number} - Compute the AVERAGEIF value.
     */
    ComputeAVERAGEIF(...range: string[]): string | number;
    /**
     * @hidden
     * @param {string[]} range - specify the range.
     * @returns {string} - Compute the CONCATENATE value.
     */
    ComputeCONCATENATE(...range: string[]): string;
    /**
     * @hidden
     * @param {string[]} range - specify the range.
     * @returns {string} - Compute the CONCAT value.
     */
    ComputeCONCAT(...range: string[]): string;
    /**
     * @hidden
     * @param {string[]} args - specify the args.
     * @returns {string | number} - Compute the MAX value.
     */
    ComputeMAX(...args: string[]): string;
    /**
     * @hidden
     * @param {string[]} args - specify the args.
     * @returns {string} - Compute the MIN value.
     */
    ComputeMIN(...args: string[]): string;
    /**
     * @hidden
     * @param {string[]} args - specify the args.
     * @returns {string} - Compute the RAND value.
     */
    ComputeRAND(...args: string[]): string;
    /**
     * @hidden
     * @param {string[]} args - specify the args.
     * @returns {string} - Compute the AND value.
     */
    ComputeAND(...args: string[]): string;
    /**
     * @hidden
     * @param {string[]} args - specify the args.
     * @returns {string} - Compute the OR value.
     */
    ComputeOR(...args: string[]): string;
    /**
     * @hidden
     * @param {string[]} args - specify the range.
     * @returns {string | number} - Compute the find value.
     */
    ComputeFIND(...args: string[]): string | number;
    /**
     * @hidden
     * @param {string[]} range - specify the range.
     * @returns {string | number} - Compute the index.
     */
    ComputeINDEX(...range: string[]): string | number;
    private getSheetReference;
    /**
     * @hidden
     * @param {string[]} range - specify the range.
     * @returns {string | number} - Compute the if.
     */
    ComputeIFS(...range: string[]): string | number;
    /**
     * @hidden
     * @param {string[]} args - specify the range.
     * @returns {number | string} - Compute the count.
     */
    ComputeCOUNTA(...args: string[]): number | string;
    /**
     * @hidden
     * @param {string[]} args - specify the range.
     * @returns {number | string} - Compute the average.
     */
    ComputeAVERAGEA(...args: string[]): number | string;
    /**
     * @hidden
     * @param {string[]} args - specify the range.
     * @returns {number | string} - Compute the count if.
     */
    ComputeSORT(...args: string[]): number | string;
    /**
     * @hidden
     * @param {string[]} args - specify the range.
     * @returns {number | string} - Compute the count if.
     */
    ComputeCOUNTIF(...args: string[]): number | string;
    /**
     * @hidden
     * @param {string[]} range - specify the range.
     * @returns {string | number} - Compute the sum if.
     */
    ComputeSUMIFS(...range: string[]): string | number;
    /**
     * @hidden
     * @param {string[]} args - specify the range.
     * @returns {string | number} - Compute the Text.
     */
    ComputeTEXT(...args: string[]): string | number;
    /**
     * @hidden
     * @param {string[]} args - specify the range.
     * @returns {number | string} - Compute the count if.
     */
    ComputeCOUNTIFS(...args: string[]): number | string;
    /**
     * @hidden
     * @param {string[]} args - specify the range.
     * @returns {number | string} - Compute the Average if.
     */
    ComputeAVERAGEIFS(...args: string[]): number | string;
    /**
     * @hidden
     * @param {string[]} args - specify the range.
     * @returns {string | number} - Compute the Match.
     */
    ComputeMATCH(...args: string[]): string | number;
    /**
     * @hidden
     * @param {string[]} range - specify the range.
     * @returns {string | number} - Compute the sub total value.
     */
    ComputeSUBTOTAL(...range: string[]): string | number;
    /**
     * @hidden
     * @param {string[]} range - specify the range.
     * @returns {string | number} - Compute the Radians value.
     */
    ComputeRADIANS(...range: string[]): string | number;
    /**
     * @hidden
     * @param {string[]} range - specify the range.
     * @returns {string | number} - Compute the random between value.
     */
    ComputeRANDBETWEEN(...range: string[]): string | number;
    /**
     * @hidden
     * @param {string[]} range - specify the range.
     * @returns {string | number} - Compute the slope value.
     */
    ComputeSLOPE(...range: string[]): string | number;
    /**
     * @hidden
     * @param {string[]} range - specify the range.
     * @returns {string | number} - Compute the intercept.
     */
    ComputeINTERCEPT(...range: string[]): string | number;
    /**
     * @hidden
     * @param {string[]} logValue - specify the log value.
     * @returns {string | number} - Compute the value.
     */
    ComputeLN(...logValue: string[]): string | number;
    /**
     * @hidden
     * @param {string[]} logValue - specify the log value.
     * @returns {boolean | string} - Compute the Isnumber value.
     */
    ComputeISNUMBER(...logValue: string[]): boolean | string;
    /**
     * @hidden
     * @param {string[]} logValue - specify the log value.
     * @returns {number | string} - Compute the round value.
     */
    ComputeROUND(...logValue: string[]): number | string;
    /**
     * @hidden
     * @param {string[]} logValue - specify the log value.
     * @returns {boolean | string} - Compute the power value.
     */
    ComputePOWER(...logValue: string[]): boolean | string;
    /**
     * @hidden
     * @param {string[]} logValue - specify the log value.
     * @returns {number | string} - Compute the log value.
     */
    ComputeLOG(...logValue: string[]): number | string;
    /**
     * @hidden
     * @param {string[]} logValue - specify the log value.
     * @returns {boolean | string} - Compute the trunc value.
     */
    ComputeTRUNC(...logValue: string[]): boolean | string;
    /**
     * @hidden
     * @param {string[]} logValue - specify the log value.
     * @returns {boolean | string} - Compute the expression.
     */
    ComputeEXP(...logValue: string[]): boolean | string;
    /**
     * @hidden
     * @param {string[]} logValue - specify the log value
     * @returns {boolean | string} - compute the value.
     */
    ComputeGEOMEAN(...logValue: string[]): boolean | string;
    private getDataCollection;
    /**
     * @hidden
     * @param {string} value - specify the value
     * @returns {number} - Returns parse double value.
     */
    private parseDouble;
    /**
     * @hidden
     * @param {string} value - specify the value
     * @returns {string} - Returns spreadsheet display text.
     */
    private spreadsheetDisplayText;
    /**
     * @hidden
     * @param {string} value - specify the value
     * @returns {string} - Returns spreadsheet format.
     */
    private spreadsheetFormat;
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/calculate/formulas/index.d.ts
/**
 * Export formula modules.
 */
//node_modules/@syncfusion/ej2-spreadsheet/src/calculate/index.d.ts
/**
 * Export calculate modules
 */
//node_modules/@syncfusion/ej2-spreadsheet/src/index.d.ts
/**
 * Export Spreadsheet modules
 */
//node_modules/@syncfusion/ej2-spreadsheet/src/ribbon/index.d.ts
/**
 * Export Ribbon modules
 */
//node_modules/@syncfusion/ej2-spreadsheet/src/ribbon/ribbon-model.d.ts
/**
 * Interface for a class RibbonHeader
 */
export interface RibbonHeaderModel {
    /**
     * Specifies the display text of the Ribbon tab header.
     *
     * @default ''
     */
    text?: string;
    /**
     * Specifies the icon class that is used to render an icon in the Ribbon tab header.
     *
     * @default ''
     */
    iconCss?: string;
    /**
     * Options for positioning the icon in the Ribbon tab header. This property depends on `iconCss` property.
     * The possible values are:
     * - Left: Places the icon to the `left` of the item.
     * - Top: Places the icon on the `top` of the item.
     * - Right: Places the icon to the `right` end of the item.
     * - Bottom: Places the icon at the `bottom` of the item.
     *
     * @default 'left'
     */
    iconPosition?: string;
}
/**
 * Interface for a class RibbonItem
 */
export interface RibbonItemModel {
    /**
     * The object used for configuring the navigations.Tab item header properties.
     *
     * @default {}
     */
    header?: RibbonHeaderModel;
    /**
     * Specifies the content of navigations.Tab item, that is displayed when concern item header is selected.
     *
     * @default ''
     */
    content?: navigations.ItemModel[];
    /**
     * Sets the CSS classes to the navigations.Tab item to customize its styles.
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * Sets true to disable user interactions of the navigations.Tab item.
     *
     * @default false
     */
    disabled?: boolean;
}
/**
 * Interface for a class Ribbon
 */
export interface RibbonModel extends base.ComponentModel{
    /**
     * Defines class/multiple classes separated by a space in the Spreadsheet element.
     *
     * @default ""
     */
    cssClass?: string;
    /**
     * Used the specify the ribbon menu type as `navigations.Menu` or `Sidebar`.
     *
     * @default true
     */
    menuType?: boolean;
    /**
     * An array of object that is used to configure the Ribbon menu.
     *
     * @default []
     */
    menuItems?: navigations.MenuItemModel[];
    /**
     * Specifies the index for activating the current Ribbon tab.
     *
     * @default 0
     */
    selectedTab?: number;
    /**
     * An array of object that is used to configure the Ribbon tab.
     *
     * @default []
     */
    items?: RibbonItemModel[];
    /**
     * Triggers while selecting the tab item.
     *
     * @event anEvent
     */
    selecting?: base.EmitType<navigations.SelectingEventArgs>;
    /**
     * Triggers while selecting the file menu item.
     *
     * @event anEvent
     */
    fileMenuItemSelect?: base.EmitType<navigations.MenuEventArgs>;
    /**
     * Triggers while rendering each file menu item.
     *
     * @event anEvent
     */
    beforeFileMenuItemRender?: base.EmitType<navigations.MenuEventArgs>;
    /**
     * Triggers before opening the file menu.
     *
     * @event anEvent
     */
    beforeOpen?: base.EmitType<navigations.BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers before closing the file menu.
     *
     * @event anEvent
     */
    beforeClose?: base.EmitType<navigations.BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers format dropdown items gets selected.
     *
     * @event anEvent
     * @hidden
     */
    selectFormat?: base.EmitType<dropdowns.SelectEventArgs>;
    /**
     * Triggers while clicking the ribbon content elements.
     *
     * @event anEvent
     */
    clicked?: base.EmitType<navigations.ClickEventArgs>;
    /**
     * Triggers once the component rendering is completed.
     *
     * @event anEvent
     */
    created?: base.EmitType<Event>;
    /**
     * Triggers once the component rendering is completed.
     *
     * @event anEvent
     */
    expandCollapse?: base.EmitType<ExpandCollapseEventArgs>;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/ribbon/ribbon.d.ts
/**
 * Objects used for configuring the Ribbon tab header properties.
 */
export  class RibbonHeader extends base.ChildProperty<RibbonHeader> {
    /**
     * Specifies the display text of the Ribbon tab header.
     *
     * @default ''
     */
    text: string;
    /**
     * Specifies the icon class that is used to render an icon in the Ribbon tab header.
     *
     * @default ''
     */
    iconCss: string;
    /**
     * Options for positioning the icon in the Ribbon tab header. This property depends on `iconCss` property.
     * The possible values are:
     * - Left: Places the icon to the `left` of the item.
     * - Top: Places the icon on the `top` of the item.
     * - Right: Places the icon to the `right` end of the item.
     * - Bottom: Places the icon at the `bottom` of the item.
     *
     * @default 'left'
     */
    iconPosition: string;
}
/**
 * An array of object that is used to configure the navigations.Tab.
 */
export  class RibbonItem extends base.ChildProperty<RibbonItem> {
    /**
     * The object used for configuring the navigations.Tab item header properties.
     *
     * @default {}
     */
    header: RibbonHeaderModel;
    /**
     * Specifies the content of navigations.Tab item, that is displayed when concern item header is selected.
     *
     * @default ''
     */
    content: navigations.ItemModel[];
    /**
     * Sets the CSS classes to the navigations.Tab item to customize its styles.
     *
     * @default ''
     */
    cssClass: string;
    /**
     * Sets true to disable user interactions of the navigations.Tab item.
     *
     * @default false
     */
    disabled: boolean;
}
/**
 * Interface for ribbon content expand/collapse event.
 */
export interface ExpandCollapseEventArgs {
    /** Ribbon content element */
    element: HTMLElement;
    /** Represent whether the ribbon content is expanded/collapsed */
    expanded: boolean;
}
/**
 * Represents Ribbon component.
 */
export  class Ribbon extends base.Component<HTMLDivElement> implements base.INotifyPropertyChanged {
    private toolbarObj;
    tabObj: navigations.Tab;
    /**
     * Defines class/multiple classes separated by a space in the Spreadsheet element.
     *
     * @default ""
     */
    cssClass: string;
    /**
     * Used the specify the ribbon menu type as `Menu` or `Sidebar`.
     *
     * @default true
     */
    menuType: boolean;
    /**
     * An array of object that is used to configure the Ribbon menu.
     *
     * @default []
     */
    menuItems: navigations.MenuItemModel[];
    /**
     * Specifies the index for activating the current Ribbon tab.
     *
     * @default 0
     */
    selectedTab: number;
    /**
     * An array of object that is used to configure the Ribbon tab.
     *
     * @default []
     */
    items: RibbonItemModel[];
    /**
     * Triggers while selecting the tab item.
     *
     * @event anEvent
     */
    selecting: base.EmitType<navigations.SelectingEventArgs>;
    /**
     * Triggers while selecting the file menu item.
     *
     * @event anEvent
     */
    fileMenuItemSelect: base.EmitType<navigations.MenuEventArgs>;
    /**
     * Triggers while rendering each file menu item.
     *
     * @event anEvent
     */
    beforeFileMenuItemRender: base.EmitType<navigations.MenuEventArgs>;
    /**
     * Triggers before opening the file menu.
     *
     * @event anEvent
     */
    beforeOpen: base.EmitType<navigations.BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers before closing the file menu.
     *
     * @event anEvent
     */
    beforeClose: base.EmitType<navigations.BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers format dropdown items gets selected.
     *
     * @event anEvent
     * @hidden
     */
    selectFormat: base.EmitType<dropdowns.SelectEventArgs>;
    /**
     * Triggers while clicking the ribbon content elements.
     *
     * @event anEvent
     */
    clicked: base.EmitType<navigations.ClickEventArgs>;
    /**
     * Triggers once the component rendering is completed.
     *
     * @event anEvent
     */
    created: base.EmitType<Event>;
    /**
     * Triggers once the component rendering is completed.
     *
     * @event anEvent
     */
    expandCollapse: base.EmitType<ExpandCollapseEventArgs>;
    /**
     * Constructor for creating the widget.
     *
     * @param {RibbonModel} options - Specify the options
     * @param {string|HTMLDivElement} element -specify the element.
     */
    constructor(options?: RibbonModel, element?: string | HTMLDivElement);
    /**
     * For internal use only.
     *
     * @returns {void} - For internal use only.
     * @private
     */
    protected preRender(): void;
    /**
     * For internal use only.
     *
     * @returns {void} - For internal use only.
     * @private
     */
    protected render(): void;
    /**
     * Destroys the component (detaches/removes all event handlers, attributes, classes, and empties the component element).
     *
     * {% codeBlock src='spreadsheet/destroy/index.md' %}{% endcodeBlock %}
     *
     * @function destroy
     * @returns {void} - Destroys the component
     */
    destroy(): void;
    private getTabItems;
    private initMenu;
    private renderRibbon;
    private ribbonExpandCollapse;
    private getIndex;
    private updateToolbar;
    /**
     * To enable / disable the ribbon menu items.
     *
     * @param {string[]} items - Items that needs to be enabled / disabled.
     * @param {boolean} enable - Set `true` / `false` to enable / disable the menu items.
     * @param {boolean} isUniqueId - Set `true` if the given menu items `text` is a unique id.
     * @returns {void} - To enable / disable the ribbon menu items.
     */
    enableMenuItems(items: string[], enable?: boolean, isUniqueId?: boolean): void;
    /**
     * To show/hide the menu items in Ribbon.
     *
     * @param {string[]} items - Specifies the menu items text which is to be show/hide.
     * @param {boolean} hide - Set `true` / `false` to hide / show the menu items.
     * @param {boolean} isUniqueId - Set `true` if the given menu items `text` is a unique id.
     * @returns {void} - To show/hide the menu items in Ribbon.
     */
    hideMenuItems(items: string[], hide?: boolean, isUniqueId?: boolean): void;
    /**
     * To add custom menu items.
     *
     * @param {navigations.MenuItemModel[]} items - Specifies the Ribbon menu items to be inserted.
     * @param {string} text - Specifies the existing file menu item text before / after which the new file menu items to be inserted.
     * @param {boolean} insertAfter - Set `false` if the `items` need to be inserted before the `text`.
     * By default, `items` are added after the `text`.
     * @param {boolean} isUniqueId - Set `true` if the given menu items `text` is a unique id.
     * @returns {void} - To add custom menu items.
     */
    addMenuItems(items: navigations.MenuItemModel[], text: string, insertAfter?: boolean, isUniqueId?: boolean): void;
    /**
     * To show/hide the Ribbon tabs.
     *
     * @param {string[]} tabs - Specifies the tab header text which needs to be shown/hidden.
     * @param {boolean} hide - Set `true` / `false` to hide / show the ribbon tabs.
     * @returns {void} - To show/hide the Ribbon tabs.
     */
    hideTabs(tabs: string[], hide?: boolean): void;
    private isAllHidden;
    /**
     * To enable / disable the Ribbon tabs.
     *
     * @param {string[]} tabs - Specifies the tab header text which needs to be enabled / disabled.
     * @param {boolean} enable - Set `true` / `false` to enable / disable the ribbon tabs.
     * @returns {void} - To enable / disable the Ribbon tabs.
     */
    enableTabs(tabs: string[], enable?: boolean): void;
    /**
     * To add custom tabs.
     *
     * @param {RibbonItemModel[]} items - Specifies the Ribbon tab items to be inserted.
     * @param {string} insertBefore - Specifies the existing Ribbon header text before which the new tabs will be inserted.
     * If not specified, the new tabs will be inserted at the end.
     * @returns {void} - To add custom tabs.
     */
    addTabs(items: RibbonItemModel[], insertBefore?: string): void;
    private getTabIndex;
    /**
     * To add the custom items in Ribbon toolbar.
     *
     * @param {string} tab - Specifies the ribbon tab header text under which the specified items will be inserted..
     * @param {navigations.ItemModel[]} items - Specifies the ribbon toolbar items that needs to be inserted.
     * @param {number} index - Specifies the index text before which the new items will be inserted.
     * @returns {void} - To add the custom items in Ribbon toolbar.
     * If not specified, the new items will be inserted at the end of the toolbar.
     */
    addToolbarItems(tab: string, items: navigations.ItemModel[], index?: number): void;
    /**
     * Enables or disables the specified Ribbon toolbar items or all ribbon items.
     *
     * @param {string} tab - Specifies the ribbon tab header text under which the toolbar items need to be enabled / disabled.
     * @param {number[]} items - Specifies the toolbar item indexes / unique id's which needs to be enabled / disabled.
     * If it is not specified the entire toolbar items will be enabled / disabled.
     * @param  {boolean} enable - Boolean value that determines whether the toolbar items should be enabled or disabled.
     * @returns {void} - Enables or disables the specified Ribbon toolbar items or all ribbon items.
     */
    enableItems(tab: string, items?: number[] | string[], enable?: boolean): void;
    /**
     * To show/hide the existing Ribbon toolbar items.
     *
     * @param {string} tab - Specifies the ribbon tab header text under which the specified items need to be hidden / shown.
     * @param {number[]} indexes - Specifies the toolbar indexes which needs to be shown/hidden from UI.
     * @param {boolean} hide - Set `true` / `false` to hide / show the toolbar items.
     * @returns {void} - To show/hide the existing Ribbon toolbar items.
     */
    hideToolbarItems(tab: string, indexes: number[], hide?: boolean): void;
    /**
     * Get component name.
     *
     * @returns {string} - Get component name.
     * @private
     */
    getModuleName(): string;
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @returns {string} - Get the properties to be maintained in the persisted state.
     * @private
     */
    getPersistData(): string;
    /**
     * Called internally if any of the property value changed.
     *
     * @param {RibbonModel} newProp - Specify the new properties
     * @param {RibbonModel} oldProp - specify the old properties.
     * @returns {void} - if any of the property value changed.
     * @private
     */
    onPropertyChanged(newProp: RibbonModel, oldProp: RibbonModel): void;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/actions/auto-fill.d.ts
/**
 * AutoFill module allows to perform auto fill functionalities.
 */
export  class AutoFill {
    private parent;
    private autoFillElement;
    private autoFillElementPosition;
    private autoFillCell;
    autoFillDropDown: splitbuttons.DropDownButton;
    private isVerticalFill;
    private fillOptionIndex;
    constructor(parent: Spreadsheet);
    private getfillItems;
    private createAutoFillElement;
    private getautofillDDB;
    private getFillType;
    private autoFillClick;
    private getFillRange;
    private autoFillOptionClick;
    private refreshAutoFillOption;
    private positionAutoFillElement;
    private hideAutoFillElement;
    private hideAutoFillOptions;
    private selectAutoFillRange;
    private getAutoFillRange;
    private modifyRangeForMerge;
    private performAutoFill;
    private refreshCell;
    private isRange;
    private fillRange;
    private getDirection;
    private performAutoFillAction;
    private getRangeData;
    private isMergedRange;
    private addEventListener;
    private removeEventListener;
    /**
     * Destroy AutoFill module.
     *
     * @returns {void} - Destroy auto fill module.
     */
    destroy(): void;
    /**
     * Get the AutoFill module name.
     *
     * @returns {string} - Get the auto fill module name.
     */
    getModuleName(): string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/actions/cell-format.d.ts
/**
 * CellFormat module allows to format the cell styles.
 */
export  class CellFormat {
    private parent;
    private checkHeight;
    constructor(parent: Spreadsheet);
    private applyCellFormat;
    private updateRowHeight;
    private updateMergeBorder;
    private setLeftBorder;
    private setTopBorder;
    private setThickBorderHeight;
    private getBorderSize;
    private clearObj;
    private addEventListener;
    private removeEventListener;
    /**
     * Destroy cell format module.
     *
     * @returns {void} - Destroy cell format module.
     */
    destroy(): void;
    /**
     * Get the cell format module name.
     *
     * @returns {string} - Get the cell format module name.
     */
    getModuleName(): string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/actions/clipboard.d.ts
/**
 * Represents clipboard support for Spreadsheet.
 */
export  class Clipboard {
    private parent;
    private copiedInfo;
    private copiedShapeInfo;
    constructor(parent: Spreadsheet);
    private init;
    private addEventListener;
    private removeEventListener;
    private ribbonClickHandler;
    private tabSwitchHandler;
    private cMenuBeforeOpenHandler;
    private rowHeightChanged;
    private colWidthChanged;
    private cut;
    private copy;
    private paste;
    private setCF;
    private isRangeMerged;
    private updateFilter;
    private isInRange;
    private setCell;
    private getCopiedIdx;
    private setCopiedInfo;
    private checkForUncalculatedFormula;
    private getChartElemInfo;
    private clearCopiedInfo;
    private removeIndicator;
    private initCopyIndicator;
    private showDialog;
    private hidePaste;
    private setExternalCells;
    private getExternalCells;
    private generateCells;
    private getNewIndex;
    private getStyle;
    private refreshOnInsertDelete;
    private performAction;
    private getClipboardEle;
    private getCopyIndicator;
    protected getModuleName(): string;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/actions/collaborative-editing.d.ts
/**
 * Collaborative Editing module for real time changes in the Spreadsheet.
 */
export  class CollaborativeEditing {
    private parent;
    constructor(parent: Spreadsheet);
    private refreshClients;
    private addEventListener;
    private removeEventListener;
    /**
     * Destroy collaborative editing module.
     *
     * @returns {void} - Destroy collaborative editing module.
     */
    destroy(): void;
    /**
     * Get the collaborative editing module name.
     *
     * @returns {string} - Get the collaborative editing module name.
     */
    getModuleName(): string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/actions/conditional-formatting.d.ts
/**
 * Represents Conditional Formatting support for Spreadsheet.
 */
export  class ConditionalFormatting {
    private parent;
    /**
     * Constructor for the Spreadsheet Conditional Formatting module.
     *
     * @param {Spreadsheet} parent - Constructor for the Spreadsheet Conditional Formatting module.
     */
    constructor(parent: Spreadsheet);
    /**
     * To destroy the Conditional Formatting module.
     *
     * @returns {void} - To destroy the Conditional Formatting module.
     */
    protected destroy(): void;
    private addEventListener;
    private removeEventListener;
    private clearCF;
    private renderCFDlg;
    private dlgClickHandler;
    private getType;
    private getCFColor;
    private cfDlgContent;
    private validateCFInput;
    private checkCellHandler;
    private getDlgText;
    private updateResult;
    private applyCF;
    private updateCF;
    private updateRange;
    private applyIconSet;
    private getIconList;
    private applyColorScale;
    private applyDataBars;
    private getColor;
    private getGradient;
    private getLinear;
    private byteLinear;
    private isGreaterThanLessThan;
    private isBetWeen;
    private isEqualTo;
    private isContainsText;
    private setCFStyle;
    /**
     * Gets the module name.
     *
     * @returns {string} - Gets the module name.
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/actions/data-validation.d.ts
/**
 * Represents Data Validation support for Spreadsheet.
 */
export  class DataValidation {
    private parent;
    private data;
    private listObj;
    private dataList;
    private typeData;
    private operatorData;
    /**
     * Constructor for the Spreadsheet Data Validation module.
     *
     * @param {Spreadsheet} parent - Constructor for the Spreadsheet Data Validation module.
     */
    constructor(parent: Spreadsheet);
    /**
     * To destroy the Data Validation module.
     *
     * @returns {void}
     */
    protected destroy(): void;
    private addEventListener;
    private removeEventListener;
    private removeValidationHandler;
    private keyUpHandler;
    private listOpen;
    private invalidDataHandler;
    private listHandler;
    private setDropDownListIndex;
    private updateDataSource;
    private listValueChange;
    private getRange;
    private initiateDataValidationHandler;
    private dataValidationContent;
    private validateRange;
    private moreValidationDlg;
    private extendValidationDlg;
    private userInput;
    private dlgClickHandler;
    private FormattedValue;
    private isDialogValidator;
    private isValidationHandler;
    private checkDataValidation;
    private formatValidation;
    private InvalidElementHandler;
    private validationErrorHandler;
    private errorDlgHandler;
    /**
     * Gets the module name.
     *
     * @returns {string} - Gets the module name.
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/actions/delete.d.ts
/**
 * The `Delete` module is used to delete cells, rows, columns and sheets from the spreadsheet.
 */
export  class Delete {
    private parent;
    /**
     * Constructor for the Spreadsheet insert module.
     *
     * @param {Spreadsheet} parent - Constructor for the Spreadsheet insert module.
     * @private
     */
    constructor(parent: Spreadsheet);
    private delete;
    private addEventListener;
    /**
     * Destroy delete module.
     *
     * @returns {void} - Destroy delete module.
     */
    destroy(): void;
    private removeEventListener;
    /**
     * Get the delete module name.
     *
     * @returns {string} - Get the delete module name.
     */
    getModuleName(): string;
    private refreshImgElement;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/actions/edit.d.ts
/**
 * The `Protect-Sheet` module is used to handle the Protecting functionalities in Spreadsheet.
 */
export  class Edit {
    private parent;
    private editorElem;
    private editCellData;
    private isEdit;
    private isCellEdit;
    private isNewValueEdit;
    private isAltEnter;
    private validCharacters;
    private formulaBarCurStartPos;
    private curEndPos;
    private curStartPos;
    private selectionStart;
    private selectionEnd;
    private endFormulaRef;
    private uniqueColl;
    private uniqueCell;
    private uniqueActCell;
    private isSpill;
    private keyCodes;
    /**
     * Constructor for edit module in Spreadsheet.
     *
     * @param {Spreadsheet} parent - Constructor for edit module in Spreadsheet.
     * @private
     */
    constructor(parent: Spreadsheet);
    /**
     * To destroy the edit module.
     *
     * @returns {void} - To destroy the edit module.
     * @hidden
     */
    destroy(): void;
    private addEventListener;
    private removeEventListener;
    /**
     * Get the module name.
     *
     * @returns {string} - Get the module name.
     * @private
     */
    getModuleName(): string;
    private performEditOperation;
    private keyUpHandler;
    private updateFormulaReference;
    private keyDownHandler;
    private renderEditor;
    private refreshEditor;
    private startEdit;
    private setCursorPosition;
    private hasFormulaSuggSelected;
    private editingHandler;
    private getCurPosition;
    private mouseDownHandler;
    private dblClickHandler;
    private updateEditCellDetail;
    private initiateEditor;
    private positionEditor;
    private updateEditedValue;
    private checkUniqueRange;
    private updateUniqueRange;
    private reApplyFormula;
    private refreshDependentCellValue;
    private getRefreshNodeArgs;
    endEdit(refreshFormulaBar?: boolean, event?: MouseEvent & TouchEvent | base.KeyboardEventArgs): void;
    cancelEdit(refreshFormulaBar?: boolean, trigEvent?: boolean, event?: MouseEvent & TouchEvent | base.KeyboardEventArgs): void;
    private focusElement;
    private triggerEvent;
    private altEnter;
    private resetEditState;
    private refSelectionRender;
    private initiateRefSelection;
    private addressHandler;
    private updateFormulaBarValue;
    private setFormulaBarCurPosition;
    private initiateCurPosition;
    private getEditElement;
    private sheetChangeHandler;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/actions/find-and-replace.d.ts
/**
 * `FindAndReplace` module is used to handle the search action in Spreadsheet.
 */
export  class FindAndReplace {
    private parent;
    private shortValue;
    /**
     * Constructor for FindAndReplace module.
     *
     * @param {Spreadsheet} parent - Constructor for FindAndReplace module.
     */
    constructor(parent: Spreadsheet);
    private addEventListener;
    private removeEventListener;
    private renderFindDlg;
    private dialogMessage;
    private renderGotoDlg;
    private textFocus;
    private findHandler;
    private replaceHandler;
    private gotoHandler;
    private gotoAlert;
    private showDialog;
    private replaceAllDialog;
    private findKeyUp;
    private findandreplaceContent;
    private GotoContent;
    /**
     * To destroy the find-and-replace module.
     *
     * @returns {void} - To destroy the find-and-replace module.
     */
    protected destroy(): void;
    /**
     * Gets the module name.
     *
     * @returns {string} - Gets the module name.
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/actions/hyperlink.d.ts
/**
 * `Hyperlink` module
 */
export  class SpreadsheetHyperlink {
    private parent;
    /**
     * Constructor for Hyperlink module.
     *
     * @param {Spreadsheet} parent - Constructor for Hyperlink module.
     */
    constructor(parent: Spreadsheet);
    /**
     * To destroy the Hyperlink module.
     *
     * @returns {void} - To destroy the Hyperlink module.
     */
    protected destroy(): void;
    private addEventListener;
    private removeEventListener;
    /**
     * Gets the module name.
     *
     * @returns {string} - Gets the module name.
     */
    protected getModuleName(): string;
    private keyUpHandler;
    private initiateHyperlinkHandler;
    private dlgClickHandler;
    private showDialog;
    private editHyperlinkHandler;
    private openHyperlinkHandler;
    private hlOpenHandler;
    private isValidUrl;
    private showInvalidHyperlinkDialog;
    private hyperlinkClickHandler;
    private createHyperlinkEle;
    private hyperEditContent;
    private hyperlinkContent;
    private removeHyperlink;
    private removeHyperlinkHandler;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/actions/index.d.ts
/**
 * Exporting Spreadsheet actions module
 */
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/actions/insert.d.ts
/**
 * The `Insert` module is used to insert cells, rows, columns and sheets in to the spreadsheet.
 */
export  class Insert {
    private parent;
    /**
     * Constructor for the Spreadsheet insert module.
     *
     * @param {Spreadsheet} parent - Specify the spreadsheet instance.
     * @private
     */
    constructor(parent: Spreadsheet);
    private insert;
    private refreshImgElement;
    private addEventListener;
    /**
     * Destroy insert module.
     *
     * @returns {void} - Destroy insert module.
     */
    destroy(): void;
    private removeEventListener;
    /**
     * Get the insert module name.
     *
     * @returns {string} - Get the insert module name.
     */
    getModuleName(): string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/actions/keyboard-navigation.d.ts
/**
 * Represents keyboard navigation support for Spreadsheet.
 */
export  class KeyboardNavigation {
    private parent;
    /**
     * Constructor for the Spreadsheet Keyboard Navigation module.
     *
     * @private
     * @param {Spreadsheet} parent - Specify the spreadsheet
     */
    constructor(parent: Spreadsheet);
    private addEventListener;
    private removeEventListener;
    private keyDownHandler;
    private getNextNonEmptyCell;
    private getNextUnlockedCell;
    private shiftSelection;
    private scrollNavigation;
    private getBottomIdx;
    private getRightIdx;
    /**
     * For internal use only - Get the module name.
     *
     * @private
     * @returns {string} - Get the module name.
     */
    protected getModuleName(): string;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/actions/keyboard-shortcut.d.ts
/**
 * Represents keyboard shortcut support for Spreadsheet.
 */
export  class KeyboardShortcut {
    private parent;
    /**
     * Constructor for the Spreadsheet Keyboard Shortcut module.
     *
     * @param {Spreadsheet} parent - Specify the spreadsheet.
     * @private
     */
    constructor(parent: Spreadsheet);
    private addEventListener;
    private removeEventListener;
    private isTrgtNotInput;
    private ribbonShortCuts;
    private keyDownHandler;
    private getModuleName;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/actions/merge.d.ts
/**
 * The `Merge` module is used to to merge the range of cells.
 */
export  class Merge {
    private parent;
    /**
     * Constructor for the Spreadsheet merge module.
     *
     * @param {Spreadsheet} parent - Specify the spreadsheet.
     * @private
     */
    constructor(parent: Spreadsheet);
    private merge;
    private hideHandler;
    private checkPrevMerge;
    private checkMerge;
    private addEventListener;
    /**
     * Destroy merge module.
     *
     * @returns {void} - Destroy merge module.
     */
    destroy(): void;
    private removeEventListener;
    /**
     * Get the merge module name.
     *
     * @returns {string} - Get the merge module name.
     */
    getModuleName(): string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/actions/protect-sheet.d.ts
/**
 * The `Protect-sheet` module is used to handle the Protecting functionalities in Spreadsheet.
 */
export  class ProtectSheet {
    private parent;
    private dialog;
    private optionList;
    private password;
    /**
     * Constructor for protectSheet module in Spreadsheet.
     *
     * @param {Spreadsheet} parent - Specify the spreadsheet.
     * @private
     */
    constructor(parent: Spreadsheet);
    private init;
    /**
     * To destroy the protectSheet module.
     *
     * @returns {void} - To destroy the protectSheet module.
     * @hidden
     */
    destroy(): void;
    private addEventListener;
    private removeEventListener;
    private protect;
    private createDialogue;
    private okBtnFocus;
    private checkBoxClickHandler;
    private dialogOpen;
    private selectOption;
    private selectSheetPassword;
    private updateProtectSheet;
    private protectSheetHandler;
    private editProtectedAlert;
    private protectWorkbook;
    private passwordProtectContent;
    private KeyUpHandler;
    private alertMessage;
    private dlgClickHandler;
    private protectWorkbookHandler;
    private unProtectWorkbook;
    private unProtectsheet;
    private reEnterSheetPassword;
    private unProtectPasswordContent;
    private reEnterSheetPasswordContent;
    private unProtectSheetPasswordContent;
    private unprotectdlgOkClick;
    private removeWorkbookProtection;
    private unprotectSheetdlgOkClick;
    private unProtectSheetPassword;
    private getPassWord;
    private toggleProtect;
    /**
     * Get the module name.
     *
     * @returns {string} - Get the module name.
     *
     * @private
     */
    getModuleName(): string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/actions/resize.d.ts
/**
 * The `Resize` module is used to handle the resizing functionalities in Spreadsheet.
 */
export  class Resize {
    private parent;
    private trgtEle;
    private event;
    private isMouseMoved;
    /**
     * Constructor for resize module in Spreadsheet.
     *
     * @param {Spreadsheet} parent - Constructor for resize module in Spreadsheet.
     * @private
     */
    constructor(parent: Spreadsheet);
    private addEventListener;
    private autoFit;
    private wireEvents;
    private wireResizeCursorEvent;
    private unWireResizeCursorEvent;
    private unwireEvents;
    private removeEventListener;
    private mouseMoveHandler;
    private mouseDownHandler;
    private mouseUpHandler;
    private dblClickHandler;
    private setTarget;
    private getColPrevSibling;
    private getRowPrevSibling;
    private updateTarget;
    private setAutoFitHandler;
    private setAutofit;
    private createResizeHandler;
    private resizeTooltip;
    private setColWidth;
    private showHideCopyIndicator;
    private showHiddenColumns;
    private setRowHeight;
    private resizeOn;
    private resizeStart;
    private updateCursor;
    private getFloatingElementWidth;
    /**
     * To destroy the resize module.
     *
     * @returns {void} - To destroy the resize module.
     */
    destroy(): void;
    /**
     * Get the module name.
     *
     * @returns {string} - Get the module name.
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/actions/scroll.d.ts
/**
 * The `Scroll` module is used to handle scrolling behavior.
 *
 * @hidden
 */
export  class Scroll {
    private parent;
    /** @hidden */
    offset: {
        left: IOffset;
        top: IOffset;
    };
    private topIndex;
    private leftIndex;
    private clientX;
    /** @hidden */
    isKeyScroll: boolean;
    private initScrollValue;
    /** @hidden */
    prevScroll: {
        scrollLeft: number;
        scrollTop: number;
    };
    /**
     * Constructor for the Spreadsheet scroll module.
     *
     * @param {Spreadsheet} parent - Constructor for the Spreadsheet scroll module.
     * @private
     */
    constructor(parent: Spreadsheet);
    private onContentScroll;
    private updateScrollValue;
    private updateNonVirtualRows;
    private updateNonVirtualCols;
    private updateTopLeftCell;
    private getRowOffset;
    private getColOffset;
    private contentLoaded;
    private updateNonVirualScrollWidth;
    private onHeaderWheel;
    private onContentWheel;
    private scrollHandler;
    private updateScroll;
    private setScrollEvent;
    private initProps;
    /**
     * @hidden
     *
     * @returns {void} - To Set padding
     */
    setPadding(): void;
    private setClientX;
    private getPointX;
    private onTouchScroll;
    private pointerUpHandler;
    private addEventListener;
    private destroy;
    private removeEventListener;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/actions/selection.d.ts
/**
 * Represents selection support for Spreadsheet.
 */
export  class Selection {
    private parent;
    private startCell;
    private isRowSelected;
    private isColSelected;
    private scrollInterval;
    private touchEvt;
    private mouseMoveEvt;
    private uniqueOBracket;
    private uniqueCBracket;
    private uniqueCSeparator;
    private uniqueCOperator;
    private uniquePOperator;
    private uniqueSOperator;
    private uniqueMOperator;
    private uniqueDOperator;
    private uniqueModOperator;
    private uniqueConcateOperator;
    private uniqueEqualOperator;
    private uniqueExpOperator;
    private uniqueGTOperator;
    private uniqueLTOperator;
    private invalidOperators;
    private formulaRange;
    private tableRangesFormula;
    private dStartCell;
    private dEndCell;
    private touchSelectionStarted;
    private isautoFillClicked;
    dAutoFillCell: string;
    /**
     * Constructor for the Spreadsheet selection module.
     *
     * @param {Spreadsheet} parent - Constructor for the Spreadsheet selection module.
     * @private
     */
    constructor(parent: Spreadsheet);
    private addEventListener;
    private removeEventListener;
    private isTouchSelectionStarted;
    private rowHeightChanged;
    private colWidthChanged;
    private selectRange;
    private init;
    private selectMultiRange;
    private createSelectionElement;
    private mouseDownHandler;
    private mouseMoveHandler;
    private mouseUpHandler;
    private isSelected;
    private virtualContentLoadedHandler;
    private clearInterval;
    private getScrollLeft;
    private cellNavigateHandler;
    private getColIdxFromClientX;
    private isScrollableArea;
    private addDPRValue;
    private getRowIdxFromClientY;
    private initFormulaReferenceIndicator;
    private selectRangeByIdx;
    private UpdateRowColSelected;
    private updateActiveCell;
    private getOffset;
    private getSelectionElement;
    private getActiveCell;
    private getSheetElement;
    private highlightHdr;
    private protectHandler;
    private initiateFormulaSelection;
    private processFormulaEditRange;
    private updateFormulaEditRange;
    private chartBorderHandler;
    private focusBorder;
    private getEleFromRange;
    private getRowCells;
    private merge;
    private clearBorder;
    private parseFormula;
    private isUniqueChar;
    private getUniqueCharVal;
    private markSpecialChar;
    /**
     * For internal use only - Get the module name.
     *
     * @private
     * @returns {string} - Get the module name.
     */
    protected getModuleName(): string;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/actions/show-hide.d.ts
/**
 * The `ShowHide` module is used to perform hide/show the rows and columns.
 *
 * @hidden
 */
export  class ShowHide {
    private parent;
    /**
     * Constructor for the Spreadsheet show hide module.
     *
     * @param {Spreadsheet} parent - Specify the spreadsheet instance.
     * @private
     */
    constructor(parent: Spreadsheet);
    private hideShow;
    private updateIndexOnlyForHiddenColumnsAndRows;
    private hideRow;
    private hideCol;
    private removeCell;
    private appendCell;
    private refreshChart;
    private addEventListener;
    private destroy;
    private removeEventListener;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/actions/undo-redo.d.ts
/**
 * UndoRedo module allows to perform undo redo functionalities.
 */
export  class UndoRedo {
    private parent;
    private undoCollection;
    private redoCollection;
    private isUndo;
    private beforeActionData;
    private undoRedoStep;
    constructor(parent: Spreadsheet);
    private setActionData;
    private getBeforeActionData;
    private performUndoRedo;
    private undoForSorting;
    private updateUndoRedoCollection;
    private clearUndoRedoCollection;
    private updateUndoRedoIcons;
    private undoForClipboard;
    private undoForResize;
    private performOperation;
    private getCellDetails;
    private updateCellDetails;
    private checkRefreshNeeded;
    private addEventListener;
    private removeEventListener;
    /**
     * Destroy undo redo module.
     *
     * @returns {void} - Destroy undo redo module.
     */
    destroy(): void;
    /**
     * Get the undo redo module name.
     *
     * @returns {string} - Get the undo redo module name.
     */
    getModuleName(): string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/actions/virtual-scroll.d.ts
/**
 * VirtualScroll module
 *
 * @hidden
 */
export  class VirtualScroll {
    private parent;
    private rowHeader;
    private colHeader;
    private content;
    private translateX;
    private translateY;
    private scroll;
    constructor(parent: Spreadsheet);
    private createVirtualElement;
    private initScroll;
    private setScrollCount;
    private getRowAddress;
    private getColAddress;
    private updateScrollCount;
    private onVerticalScroll;
    private skipHiddenLastIdx;
    private hiddenCount;
    private checkLastIdx;
    private onHorizontalScroll;
    private focusSheet;
    private setThresholdHeight;
    private setThresholdWidth;
    private translate;
    private updateColumnWidth;
    private updateRowColCount;
    private getVTrackHeight;
    private updateVTrackHeight;
    private updateVTrackWidth;
    private updateVTrack;
    private deInitProps;
    private updateScrollProps;
    private sliceScrollProps;
    private updateTranslate;
    private addEventListener;
    private destroy;
    private removeEventListener;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/actions/wrap.d.ts
/**
 * Represents Wrap Text support for Spreadsheet.
 */
export  class WrapText {
    private parent;
    private wrapCell;
    /**
     * Constructor for the Spreadsheet Wrap Text module.
     *
     * @param {Spreadsheet} parent - Specifies the Spreadsheet.
     * @private
     */
    constructor(parent: Spreadsheet);
    private addEventListener;
    private removeEventListener;
    private wrapTextHandler;
    private ribbonClickHandler;
    private rowHeightChangedHandler;
    private colWidthChanged;
    private updateWrapCell;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} - Get the module name.
     * @private
     */
    protected getModuleName(): string;
    /**
     * Removes the added event handlers and clears the internal properties of WrapText module.
     *
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/base/index.d.ts
/**
 * Export Spreadsheet viewer
 */
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/base/spreadsheet-model.d.ts
/**
 * Interface for a class Spreadsheet
 */
export interface SpreadsheetModel extends WorkbookModel{
    /**
     * To specify a CSS class or multiple CSS class separated by a space, add it in the Spreadsheet root element.
     * This allows you to customize the appearance of component.
     *
     * ```html
     * <div id='spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *  cssClass: 'e-custom1 e-custom2',
     *  ...
     * }, '#spreadsheet');
     * ```
     *
     * @default ''
     */
    cssClass?: string;
    /**
     * It specifies whether the Spreadsheet should be rendered with scrolling or not.
     * To customize the Spreadsheet scrolling behavior, use the [`scrollSettings`](https://ej2.syncfusion.com/documentation/api/spreadsheet/#scrollSettings) property.
     *
     * @default true
     */
    allowScrolling?: boolean;
    /**
     * If `allowResizing` is set to true, spreadsheet columns and rows can be resized.
     *
     * @default true
     */
    allowResizing?: boolean;
    /**
     * If `showAggregate` is set to true, spreadsheet will show the AVERAGE, SUM, COUNT, MIN and MAX values based on the selected cells.
     *
     * @default true
     */
    showAggregate?: boolean;
    /**
     * It enables or disables the clipboard operations (cut, copy, and paste) of the Spreadsheet.
     *
     * @default true
     */
    enableClipboard?: boolean;
    /**
     * It enables or disables the context menu option of spreadsheet. By default, context menu will opens for row header,
     * column header, sheet tabs, and cell.
     *
     * @default true
     */
    enableContextMenu?: boolean;
    /**
     * It allows you to interact with cell, sheet tabs, formula bar, and ribbon through the keyboard device.
     *
     * @default true
     */
    enableKeyboardNavigation?: boolean;
    /**
     * It enables shortcut keys to perform Spreadsheet operations like open, save, copy, paste, and more.
     *
     * @default true
     */
    enableKeyboardShortcut?: boolean;
    /**
     * It allows to enable/disable undo and redo functionalities.
     *
     * @default true
     */
    allowUndoRedo?: boolean;
    /**
     * It allows to enable/disable wrap text feature. By using this feature the wrapping applied cell text can wrap to the next line,
     * if the text width exceeds the column width.
     *
     * @default true
     */
    allowWrap?: boolean;
    /**
     * Configures the selection settings.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *      selectionSettings: {
     *          mode: 'None'
     *      }
     * ...
     * }, '#Spreadsheet');
     *
     * The selectionSettings `mode` property has three values and it is described below:
     *
     * * None: Disables UI selection.
     * * Single: Allows single selection of cell, row, or column and disables multiple selection.
     * * Multiple: Allows multiple selection of cell, row, or column and disables single selection.
     *
     * ```
     *
     * @default { mode: 'Multiple' }
     */
    selectionSettings?: SelectionSettingsModel;
    /**
     * Configures the scroll settings.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *      scrollSettings: {
     *          isFinite: true,
     *          enableVirtualization: false
     *      }
     * ...
     *  }, '#Spreadsheet');
     * ```
     *
     * > The `allowScrolling` property should be `true`.
     *
     * @default { isFinite: false, enableVirtualization: true }
     */
    scrollSettings?: ScrollSettingsModel;
    /**
     * Triggers before the cell appended to the DOM.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *      beforeCellRender: (args: CellRenderEventArgs) => {
     *      }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event beforeCellRender
     */
    beforeCellRender?: base.EmitType<CellRenderEventArgs>;
    /**
     * Triggers before the cell or range of cells being selected.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *      beforeSelect: (args: BeforeSelectEventArgs) => {
     *      }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event beforeSelect
     */
    beforeSelect?: base.EmitType<BeforeSelectEventArgs>;
    /**
     * Triggers after the cell or range of cells is selected.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *      base.select: (args: SelectEventArgs) => {
     *      }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event base.select
     */
    select?: base.EmitType<SelectEventArgs>;
    /**
     * Triggers before opening the context menu and it allows customizing the menu items.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       contextMenuBeforeOpen: (args: navigations.BeforeOpenCloseMenuEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event contextMenuBeforeOpen
     */
    contextMenuBeforeOpen?: base.EmitType<navigations.BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers before opening the file menu.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       fileMenuBeforeOpen: (args: navigations.BeforeOpenCloseMenuEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event fileMenuBeforeOpen
     */
    fileMenuBeforeOpen?: base.EmitType<navigations.BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers before closing the context menu.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       contextMenuBeforeClose: (args: navigations.BeforeOpenCloseMenuEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event contextMenuBeforeClose
     */
    contextMenuBeforeClose?: base.EmitType<navigations.BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers before opening the dialog box.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       dialogBeforeOpen: (args: DialogBeforeOpenEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event dialogBeforeOpen
     */
    dialogBeforeOpen?: base.EmitType<DialogBeforeOpenEventArgs>;
    /**
     * Triggers before closing the file menu.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       fileMenuBeforeClose: (args: navigations.BeforeOpenCloseMenuEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event fileMenuBeforeClose
     */
    fileMenuBeforeClose?: base.EmitType<navigations.BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers when the context menu item is selected.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       contextMenuItemSelect: (args: MenuSelectEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event contextMenuItemSelect
     */
    contextMenuItemSelect?: base.EmitType<MenuSelectEventArgs>;
    /**
     * Triggers when the file menu item is selected.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       fileMenuItemSelect: (args: MenuSelectEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event fileMenuItemSelect
     */
    fileMenuItemSelect?: base.EmitType<MenuSelectEventArgs>;
    /**
     * Triggers before the data is populated to the worksheet.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       beforeDataBound: (args: Object) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event beforeDataBound
     */
    beforeDataBound?: base.EmitType<Object>;
    /**
     * Triggers when the data is populated in the worksheet.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       dataBound: (args: Object) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event dataBound
     */
    dataBound?: base.EmitType<Object>;
    /**
     * Triggers during data changes when the data is provided as `dataSource` in the Spreadsheet.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       dataSourceChanged: (args: DataSourceChangedEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event dataSourceChanged
     */
    dataSourceChanged?: base.EmitType<DataSourceChangedEventArgs>;
    /**
     * Triggers when the cell is being edited.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       cellEdit: (args: CellEditEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event cellEdit
     */
    cellEdit?: base.EmitType<CellEditEventArgs>;
    /**
     * Triggers every time a request is made to access cell information.
     * This will be triggered when editing a cell.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       cellEditing: (args: CellEditEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event cellEditing
     */
    cellEditing?: base.EmitType<CellEditEventArgs>;
    /**
     * Triggers when the edited cell is saved.
     *
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       cellSave: (args: CellSaveEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event cellSave
     */
    cellSave?: base.EmitType<CellSaveEventArgs>;
    /**
     * Triggers when before the cell is saved.
     *
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       beforeCellSave: (args: CellEditEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event beforeCellSave
     */
    beforeCellSave?: base.EmitType<CellEditEventArgs>;
    /**
     * Triggers when the component is created.
     *
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       created: () => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event created
     */
    created?: base.EmitType<Event>;
    /**
     * Triggers before sorting the specified range.
     *
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       beforeSort: (args: BeforeSortEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event beforeSort
     */
    beforeSort?: base.EmitType<BeforeSortEventArgs>;
    /**
     * Triggers before insert a hyperlink.
     *
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       beforeHyperlinkCreate: (args: BeforeHyperlinkArgs ) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event beforeHyperlinkCreate
     */
    beforeHyperlinkCreate?: base.EmitType<BeforeHyperlinkArgs>;
    /**
     * Triggers after the hyperlink inserted.
     *
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       afterHyperlinkCreate: (args: afterHyperlinkArgs ) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event afterHyperlinkCreate
     */
    afterHyperlinkCreate?: base.EmitType<AfterHyperlinkArgs>;
    /**
     * Triggers when the Hyperlink is clicked.
     *
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       beforeHyperlinkClick: (args: BeforeHyperlinkArgs ) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event beforeHyperlinkClick
     */
    beforeHyperlinkClick?: base.EmitType<BeforeHyperlinkArgs>;
    /**
     * Triggers when the Hyperlink function gets completed.
     *
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       afterHyperlinkClick: (args: AfterHyperlinkArgs ) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event afterHyperlinkClick
     */
    afterHyperlinkClick?: base.EmitType<AfterHyperlinkArgs>;
    /**
     * Triggers before apply or remove the conditional format from a cell in a range.
     *
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       beforeConditionalFormat: (args: ConditionalFormatEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event cellSave
     */
    beforeConditionalFormat?: base.EmitType<ConditionalFormatEventArgs>;
    /**
     * Triggers when the Spreadsheet actions (such as editing, formatting, sorting etc..) are starts.
     *
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       actionBegin: (args: BeforeCellFormatArgs|BeforeOpenEventArgs|BeforeSaveEventArgs|BeforeSelectEventArgs
     *                    |BeforeSortEventArgs|CellEditEventArgs|MenuSelectEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event
     */
    actionBegin?: base.EmitType<BeforeCellFormatArgs | BeforeOpenEventArgs | BeforeSaveEventArgs | BeforeSelectEventArgs | BeforeSortEventArgs | CellEditEventArgs | MenuSelectEventArgs>;
    /**
     * Triggers when the spreadsheet actions (such as editing, formatting, sorting etc..) gets completed.
     *
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       actionComplete: (args: SortEventArgs|CellSaveEventArgs|SaveCompleteEventArgs|Object) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event
     */
    actionComplete?: base.EmitType<SortEventArgs | CellSaveEventArgs | SaveCompleteEventArgs | Object>;
    /**
     *
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       openComplete: (args: Object) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event openComplete
     */
    openComplete?: base.EmitType<Object>;
    /**
     * Triggers after sorting action is completed.
     *
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       sortComplete: (args: SortEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event sortComplete
     */
    sortComplete?: base.EmitType<SortEventArgs>;
    /**
     * Defines the currencyCode format of the Spreadsheet cells
     *
     * @private
     */
    currencyCode?: string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/base/spreadsheet.d.ts

/**
 * Represents the Spreadsheet component.
 *
 * ```html
 * <div id='spreadsheet'></div>
 * <script>
 *  var spreadsheetObj = new Spreadsheet();
 *  spreadsheetObj.appendTo('#spreadsheet');
 * </script>
 * ```
 */
export  class Spreadsheet extends Workbook implements base.INotifyPropertyChanged {
    /**
     * To specify a CSS class or multiple CSS class separated by a space, add it in the Spreadsheet root element.
     * This allows you to customize the appearance of component.
     *
     * ```html
     * <div id='spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *  cssClass: 'e-custom1 e-custom2',
     *  ...
     * }, '#spreadsheet');
     * ```
     *
     * @default ''
     */
    cssClass: string;
    /**
     * It specifies whether the Spreadsheet should be rendered with scrolling or not.
     * To customize the Spreadsheet scrolling behavior, use the [`scrollSettings`](https://ej2.syncfusion.com/documentation/api/spreadsheet/#scrollSettings) property.
     *
     * @default true
     */
    allowScrolling: boolean;
    /**
     * If `allowResizing` is set to true, spreadsheet columns and rows can be resized.
     *
     * @default true
     */
    allowResizing: boolean;
    /**
     * If `showAggregate` is set to true, spreadsheet will show the AVERAGE, SUM, COUNT, MIN and MAX values based on the selected cells.
     *
     * @default true
     */
    showAggregate: boolean;
    /**
     * It enables or disables the clipboard operations (cut, copy, and paste) of the Spreadsheet.
     *
     * @default true
     */
    enableClipboard: boolean;
    /**
     * It enables or disables the context menu option of spreadsheet. By default, context menu will opens for row header,
     * column header, sheet tabs, and cell.
     *
     * @default true
     */
    enableContextMenu: boolean;
    /**
     * It allows you to interact with cell, sheet tabs, formula bar, and ribbon through the keyboard device.
     *
     * @default true
     */
    enableKeyboardNavigation: boolean;
    /**
     * It enables shortcut keys to perform Spreadsheet operations like open, save, copy, paste, and more.
     *
     * @default true
     */
    enableKeyboardShortcut: boolean;
    /**
     * It allows to enable/disable undo and redo functionalities.
     *
     * @default true
     */
    allowUndoRedo: boolean;
    /**
     * It allows to enable/disable wrap text feature. By using this feature the wrapping applied cell text can wrap to the next line,
     * if the text width exceeds the column width.
     *
     * @default true
     */
    allowWrap: boolean;
    /**
     * Configures the selection settings.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *      selectionSettings: {
     *          mode: 'None'
     *      }
     * ...
     * }, '#Spreadsheet');
     *
     * The selectionSettings `mode` property has three values and it is described below:
     *
     * * None: Disables UI selection.
     * * Single: Allows single selection of cell, row, or column and disables multiple selection.
     * * Multiple: Allows multiple selection of cell, row, or column and disables single selection.
     *
     * ```
     *
     * @default { mode: 'Multiple' }
     */
    selectionSettings: SelectionSettingsModel;
    /**
     * Configures the scroll settings.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *      scrollSettings: {
     *          isFinite: true,
     *          enableVirtualization: false
     *      }
     * ...
     *  }, '#Spreadsheet');
     * ```
     *
     * > The `allowScrolling` property should be `true`.
     *
     * @default { isFinite: false, enableVirtualization: true }
     */
    scrollSettings: ScrollSettingsModel;
    /**
     * Triggers before the cell appended to the DOM.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *      beforeCellRender: (args: CellRenderEventArgs) => {
     *      }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event beforeCellRender
     */
    beforeCellRender: base.EmitType<CellRenderEventArgs>;
    /**
     * Triggers before the cell or range of cells being selected.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *      beforeSelect: (args: BeforeSelectEventArgs) => {
     *      }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event beforeSelect
     */
    beforeSelect: base.EmitType<BeforeSelectEventArgs>;
    /**
     * Triggers after the cell or range of cells is selected.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *      select: (args: SelectEventArgs) => {
     *      }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event select
     */
    select: base.EmitType<SelectEventArgs>;
    /**
     * Triggers before opening the context menu and it allows customizing the menu items.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       contextMenuBeforeOpen: (args: navigations.BeforeOpenCloseMenuEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event contextMenuBeforeOpen
     */
    contextMenuBeforeOpen: base.EmitType<navigations.BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers before opening the file menu.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       fileMenuBeforeOpen: (args: navigations.BeforeOpenCloseMenuEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event fileMenuBeforeOpen
     */
    fileMenuBeforeOpen: base.EmitType<navigations.BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers before closing the context menu.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       contextMenuBeforeClose: (args: navigations.BeforeOpenCloseMenuEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event contextMenuBeforeClose
     */
    contextMenuBeforeClose: base.EmitType<navigations.BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers before opening the dialog box.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       dialogBeforeOpen: (args: DialogBeforeOpenEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event dialogBeforeOpen
     */
    dialogBeforeOpen: base.EmitType<DialogBeforeOpenEventArgs>;
    /**
     * Triggers before closing the file menu.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       fileMenuBeforeClose: (args: navigations.BeforeOpenCloseMenuEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event fileMenuBeforeClose
     */
    fileMenuBeforeClose: base.EmitType<navigations.BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers when the context menu item is selected.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       contextMenuItemSelect: (args: MenuSelectEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event contextMenuItemSelect
     */
    contextMenuItemSelect: base.EmitType<MenuSelectEventArgs>;
    /**
     * Triggers when the file menu item is selected.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       fileMenuItemSelect: (args: MenuSelectEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event fileMenuItemSelect
     */
    fileMenuItemSelect: base.EmitType<MenuSelectEventArgs>;
    /**
     * Triggers before the data is populated to the worksheet.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       beforeDataBound: (args: Object) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event beforeDataBound
     */
    beforeDataBound: base.EmitType<Object>;
    /**
     * Triggers when the data is populated in the worksheet.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       dataBound: (args: Object) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event dataBound
     */
    dataBound: base.EmitType<Object>;
    /**
     * Triggers during data changes when the data is provided as `dataSource` in the Spreadsheet.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       dataSourceChanged: (args: DataSourceChangedEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event dataSourceChanged
     */
    dataSourceChanged: base.EmitType<DataSourceChangedEventArgs>;
    /**
     * Triggers when the cell is being edited.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       cellEdit: (args: CellEditEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event cellEdit
     */
    cellEdit: base.EmitType<CellEditEventArgs>;
    /**
     * Triggers every time a request is made to access cell information.
     * This will be triggered when editing a cell.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       cellEditing: (args: CellEditEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event cellEditing
     */
    cellEditing: base.EmitType<CellEditEventArgs>;
    /**
     * Triggers when the edited cell is saved.
     *
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       cellSave: (args: CellSaveEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event cellSave
     */
    cellSave: base.EmitType<CellSaveEventArgs>;
    /**
     * Triggers when before the cell is saved.
     *
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       beforeCellSave: (args: CellEditEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event beforeCellSave
     */
    beforeCellSave: base.EmitType<CellEditEventArgs>;
    /**
     * Triggers when the component is created.
     *
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       created: () => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event created
     */
    created: base.EmitType<Event>;
    /**
     * Triggers before sorting the specified range.
     *
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       beforeSort: (args: BeforeSortEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event beforeSort
     */
    beforeSort: base.EmitType<BeforeSortEventArgs>;
    /**
     * Triggers before insert a hyperlink.
     *
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       beforeHyperlinkCreate: (args: BeforeHyperlinkArgs ) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event beforeHyperlinkCreate
     */
    beforeHyperlinkCreate: base.EmitType<BeforeHyperlinkArgs>;
    /**
     * Triggers after the hyperlink inserted.
     *
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       afterHyperlinkCreate: (args: afterHyperlinkArgs ) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event afterHyperlinkCreate
     */
    afterHyperlinkCreate: base.EmitType<AfterHyperlinkArgs>;
    /**
     * Triggers when the Hyperlink is clicked.
     *
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       beforeHyperlinkClick: (args: BeforeHyperlinkArgs ) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event beforeHyperlinkClick
     */
    beforeHyperlinkClick: base.EmitType<BeforeHyperlinkArgs>;
    /**
     * Triggers when the Hyperlink function gets completed.
     *
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       afterHyperlinkClick: (args: AfterHyperlinkArgs ) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event afterHyperlinkClick
     */
    afterHyperlinkClick: base.EmitType<AfterHyperlinkArgs>;
    /**
     * Triggers before apply or remove the conditional format from a cell in a range.
     *
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       beforeConditionalFormat: (args: ConditionalFormatEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event cellSave
     */
    beforeConditionalFormat: base.EmitType<ConditionalFormatEventArgs>;
    /**
     * Triggers when the Spreadsheet actions (such as editing, formatting, sorting etc..) are starts.
     *
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       actionBegin: (args: BeforeCellFormatArgs|BeforeOpenEventArgs|BeforeSaveEventArgs|BeforeSelectEventArgs
     *                    |BeforeSortEventArgs|CellEditEventArgs|MenuSelectEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event
     */
    actionBegin: base.EmitType<BeforeCellFormatArgs | BeforeOpenEventArgs | BeforeSaveEventArgs | BeforeSelectEventArgs | BeforeSortEventArgs | CellEditEventArgs | MenuSelectEventArgs>;
    /**
     * Triggers when the spreadsheet actions (such as editing, formatting, sorting etc..) gets completed.
     *
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       actionComplete: (args: SortEventArgs|CellSaveEventArgs|SaveCompleteEventArgs|Object) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event
     */
    actionComplete: base.EmitType<SortEventArgs | CellSaveEventArgs | SaveCompleteEventArgs | Object>;
    /**
     *
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       openComplete: (args: Object) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event openComplete
     */
    openComplete: base.EmitType<Object>;
    /**
     * Triggers after sorting action is completed.
     *
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       sortComplete: (args: SortEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event sortComplete
     */
    sortComplete: base.EmitType<SortEventArgs>;
    /**
     * Defines the currencyCode format of the Spreadsheet cells
     *
     * @private
     */
    private currencyCode;
    /** @hidden */
    renderModule: Render;
    /** @hidden */
    scrollModule: Scroll;
    /** @hidden */
    autofillModule: AutoFill;
    /** @hidden */
    openModule: Open;
    /** @hidden */
    selectionModule: Selection;
    /** @hidden */
    sheetModule: IRenderer;
    /** @hidden */
    createdHandler: Function | object;
    /** @hidden */
    viewport: IViewport;
    protected needsID: boolean;
    ribbonModule: any;
    /**
     * Constructor for creating the widget.
     *
     * @param  {SpreadsheetModel} options - Configures Spreadsheet options.
     * @param  {string|HTMLElement} element - Element to render Spreadsheet.
     */
    constructor(options?: SpreadsheetModel, element?: string | HTMLElement);
    /**
     * To get cell element.
     *
     * @param {number} rowIndex - specify the rowIndex.
     * @param {number} colIndex - specify the colIndex.
     * @param {HTMLTableElement} row - specify the row.
     * @returns {HTMLElement} - Get cell element
     * @hidden
     */
    getCell(rowIndex: number, colIndex: number, row?: HTMLTableRowElement): HTMLElement;
    /**
     * Get cell element.
     *
     * @param {number} index - specify the index.
     * @param {HTMLTableElement} table - specify the table.
     * @param {number} colIdx - specify the column index.
     * @returns {HTMLTableRowElement} - Get cell element
     * @hidden
     */
    getRow(index: number, table?: HTMLTableElement, colIdx?: number): HTMLTableRowElement;
    /**
     * To get hidden row/column count between two specified index.
     *
     * Set `layout` as `columns` if you want to get column hidden count.
     *
     * @param {number} startIndex - specify the startIndex.
     * @param {number} endIndex - specify the endIndex.
     * @param {string} layout - specify the layout.
     * @param {SheetModel} sheet - specify the sheet.
     * @returns {number} - To get hidden row/column count between two specified index.
     * @hidden
     */
    hiddenCount(startIndex: number, endIndex: number, layout?: string, sheet?: SheetModel): number;
    /**
     * To get row/column viewport index.
     *
     * @param {number} index - specify the index.
     * @param {boolean} isCol - specify the bool value.
     * @returns {number} - To get row/column viewport index.
     * @hidden
     */
    getViewportIndex(index: number, isCol?: boolean): number;
    /**
     * To initialize the services;
     *
     * @returns {void} - To initialize the services.
     * @hidden
     */
    protected preRender(): void;
    private initServices;
    /**
     * To Initialize the component rendering.
     *
     * @returns {void} - To Initialize the component rendering.
     * @hidden
     */
    protected render(): void;
    private renderSpreadsheet;
    /**
     * By default, Spreadsheet shows the spinner for all its actions. To manually show spinner you this method at your needed time.
     *
     * {% codeBlock src='spreadsheet/showSpinner/index.md' %}{% endcodeBlock %}
     *
     * @returns {void} - shows spinner
     */
    showSpinner(): void;
    /**
     * To hide showed spinner manually.
     *
     * {% codeBlock src='spreadsheet/hideSpinner/index.md' %}{% endcodeBlock %}
     *
     * @returns {void} - To hide showed spinner manually.
     */
    hideSpinner(): void;
    /**
     * To protect the particular sheet.
     *
     * {% codeBlock src='spreadsheet/protectSheet/index.md' %}{% endcodeBlock %}
     *
     * @param {number | string} sheet - Specifies the sheet to protect.
     * @param {ProtectSettingsModel} protectSettings - Specifies the protect sheet options.
     * @default { selectCells: 'false', formatCells: 'false', formatRows: 'false', formatColumns:'false', insertLink:'false' }
     * @param {string} password - Specifies the password to protect.
     * @returns {void} - To protect the particular sheet.
     */
    protectSheet(sheet?: number | string, protectSettings?: ProtectSettingsModel, password?: string): void;
    /**
     * To unprotect the particular sheet.
     *
     * {% codeBlock src='spreadsheet/unprotectSheet/index.md' %}{% endcodeBlock %}
     *
     * @param {number | string} sheet - Specifies the sheet name or index to Unprotect.
     * @returns {void} - To unprotect the particular sheet.
     */
    unprotectSheet(sheet?: number | string): void;
    /**
     * To find the specified cell value.
     *
     * {% codeBlock src='spreadsheet/find/index.md' %}{% endcodeBlock %}
     *
     * @param {FindOptions} args - Specifies the replace value with find args to replace specified cell value.
     * @param {string} args.value - Specifies the value to be find.
     * @param {string} args.mode - Specifies the value to be find within sheet or workbook.
     * @param {string} args.searchBy - Specifies the value to be find by row or column.
     * @param {boolean} args.isCSen - Specifies the find match with case sensitive or not.
     * @param {boolean} args.isEMatch - Specifies the find match with entire match or not.
     * @param {string} args.findOpt - Specifies the next or previous find match.
     * @param {number} args.sheetIndex - Specifies the current sheet to find.
     * @default { mode: 'Sheet', searchBy: 'By Row', isCSen: 'false', isEMatch:'false' }
     * @returns {void} - To find the specified cell value.
     */
    find(args: FindOptions): void | string;
    /**
     * To replace the specified cell value.
     *
     * {% codeBlock src='spreadsheet/replace/index.md' %}{% endcodeBlock %}
     *
     * @param {FindOptions} args - Specifies the replace value with find args to replace specified cell value.
     * @param {string} args.replaceValue - Specifies the replacing value.
     * @param {string} args.replaceBy - Specifies the value to be replaced for one or all.
     * @param {string} args.value - Specifies the value to be replaced
     * @returns {void} - To replace the specified cell value.
     */
    replace(args: FindOptions): void;
    /**
     * To Find All the Match values Address within Sheet or Workbook.
     *
     * {% codeBlock src='spreadsheet/findAll/index.md' %}{% endcodeBlock %}
     *
     * @param {string} value - Specifies the value to find.
     * @param {string} mode - Specifies the value to be find within Sheet/Workbook.
     * @param {boolean} isCSen - Specifies the find match with case sensitive or not.
     * @param {boolean} isEMatch - Specifies the find match with entire match or not.
     * @param {number} sheetIndex - Specifies the sheetIndex. If not specified, it will consider the active sheet.
     * @returns {string[]} - To Find All the Match values Address within Sheet or Workbook.
     */
    findAll(value: string, mode?: string, isCSen?: boolean, isEMatch?: boolean, sheetIndex?: number): string[];
    /**
     * Used to navigate to cell address within workbook.
     *
     * {% codeBlock src='spreadsheet/goTo/index.md' %}{% endcodeBlock %}
     *
     * @param {string} address - Specifies the cell address you need to navigate.
     * You can specify the address in two formats,
     * `{sheet name}!{cell address}` - Switch to specified sheet and navigate to specified cell address.
     * `{cell address}` - Navigate to specified cell address with in the active sheet.
     * @returns {void} - Used to navigate to cell address within workbook.
     */
    goTo(address: string): void;
    /**
     * @hidden
     * @param {number} rowIndex - Specifies the row index.
     * @param {number} colIndex - Specifies the column index.
     * @returns {boolean} - Specifies the boolean value.
     */
    insideViewport(rowIndex: number, colIndex: number): boolean;
    /**
     * Used to resize the Spreadsheet.
     *
     * {% codeBlock src='spreadsheet/resize/index.md' %}{% endcodeBlock %}
     *
     * @returns {void} - Used to resize the Spreadsheet.
     */
    resize(): void;
    /**
     * To cut the specified cell or cells properties such as value, format, style etc...
     *
     * {% codeBlock src='spreadsheet/cut/index.md' %}{% endcodeBlock %}
     *
     * @param {string} address - Specifies the range address to cut.
     * @returns {Promise<Object>} - To cut the specified cell or cells properties such as value, format, style etc...
     */
    cut(address?: string): Promise<Object>;
    /**
     * To copy the specified cell or cells properties such as value, format, style etc...
     *
     * {% codeBlock src='spreadsheet/copy/index.md' %}{% endcodeBlock %}
     *
     * @param {string} address - Specifies the range address.
     * @returns {Promise<Object>} - To copy the specified cell or cells properties such as value, format, style etc...
     */
    copy(address?: string): Promise<Object>;
    /**
     * This method is used to paste the cut or copied cells in to specified address.
     *
     * {% codeBlock src='spreadsheet/paste/index.md' %}{% endcodeBlock %}
     *
     * @param {string} address - Specifies the cell or range address.
     * @param {PasteSpecialType} type - Specifies the type of paste.
     * @returns {void} - used to paste the cut or copied cells in to specified address.
     */
    paste(address?: string, type?: PasteSpecialType): void;
    /**
     * To update the action which need to perform.
     *
     * {% codeBlock src='spreadsheet/updateAction/index.md' %}{% endcodeBlock %}
     *
     * @param {string} options - It describes an action and event args to perform.
     * @param {string} options.action - specifies an action.
     * @param {string} options.eventArgs - specifies an args to perform an action.
     * @returns {void} - To update the action which need to perform.
     */
    updateAction(options: CollaborativeEditArgs): void;
    private setHeight;
    private setWidth;
    /**
     * Set the width of column.
     *
     * {% codeBlock src='spreadsheet/setColWidth/index.md' %}{% endcodeBlock %}
     *
     * @param {number} width - To specify the width
     * @param {number} colIndex - To specify the colIndex
     * @param {number} sheetIndex - To specify the sheetIndex
     * @returns {void} - Set the width of column.
     */
    setColWidth(width?: number | string, colIndex?: number, sheetIndex?: number): void;
    /**
     * Set the height of row.
     *
     * {% codeBlock src='spreadsheet/setRowHeight/index.md' %}{% endcodeBlock %}
     *
     * @param {number} height - Specifies height needs to be updated. If not specified, it will set the default height 20.
     * @param {number} rowIndex - Specifies the row index. If not specified, it will consider the first row.
     * @param {number} sheetIndex - Specifies the sheetIndex. If not specified, it will consider the active sheet.
     * @param {boolean} edited - Specifies the boolean value.
     * @returns {void} - Set the height of row.
     */
    setRowHeight(height?: number | string, rowIndex?: number, sheetIndex?: number, edited?: boolean): void;
    /**
     * This method is used to autofit the range of rows or columns
     *
     * {% codeBlock src='spreadsheet/autoFit/index.md' %}{% endcodeBlock %}
     *
     * @param {string} range - range of rows or columns that needs to be autofit.
     *
     * @returns {void} - used to autofit the range of rows or columns
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * let spreadsheet = new Spreadsheet({
     *      allowResizing: true
     * ...
     * }, '#Spreadsheet');
     * spreadsheet.autoFit('A:D');
 // Auto fit from A to D columns
     * Spreadsheet.autoFit('1:4');
 // Auto fit from 1 to 4 rows
     *
     * ```
     */
    autoFit(range: string): void;
    /**
     * @hidden
     * @param {string} range - specify the range.
     * @returns {number | boolean} - to get the index.
     *
     */
    getIndexes(range: string): {
        startIdx: number;
        endIdx: number;
        isCol: boolean;
    };
    private getAddress;
    /**
     * To add the hyperlink in the cell
     *
     * {% codeBlock src='spreadsheet/addHyperlink/index.md' %}{% endcodeBlock %}
     *
     * @param {string | HyperlinkModel} hyperlink - to specify the hyperlink
     * @param {string} address - to specify the address
     * @param {string} displayText - to specify the text to be displayed, by default value of the cell will be displayed.
     * @returns {void} - To add the hyperlink in the cell
     */
    addHyperlink(hyperlink: string | HyperlinkModel, address: string, displayText?: string): void;
    /**
     * To remove the hyperlink in the cell
     *
     * {% codeBlock src='spreadsheet/removeHyperlink/index.md' %}{% endcodeBlock %}
     *
     * @param {string} range - To specify the range
     * @returns {void} - To remove the hyperlink in the cell
     */
    removeHyperlink(range: string): void;
    /**
     * @hidden
     * @param {string | HyperlinkModel} hyperlink - specify the hyperlink
     * @param {string} address - To specify the address
     * @param {string} displayText - To specify the displayText
     * @param {boolean} isMethod - To specify the bool value
     * @returns {void} - to insert the hyperlink
     */
    insertHyperlink(hyperlink: string | HyperlinkModel, address: string, displayText: string, isMethod: boolean): void;
    /**
     * This method is used to add data validation.
     *
     * {% codeBlock src='spreadsheet/addDataValidation/index.md' %}{% endcodeBlock %}
     *
     * @param {ValidationModel} rules - specifies the validation rules like type, operator, value1, value2, ignoreBlank, inCellDropDown, isHighlighted arguments.
     * @param {string} range - range that needs to be add validation.
     * @returns {void} - used to add data validation.
     */
    addDataValidation(rules: ValidationModel, range?: string): void;
    /**
     * This method is used for remove validation.
     *
     * {% codeBlock src='spreadsheet/removeDataValidation/index.md' %}{% endcodeBlock %}
     *
     * @param {string} range - range that needs to be remove validation.
     * @returns {void} - This method is used for remove validation.
     */
    removeDataValidation(range?: string): void;
    /**
     * This method is used to highlight the invalid data.
     *
     * {% codeBlock src='spreadsheet/addInvalidHighlight/index.md' %}{% endcodeBlock %}
     *
     * @param {string} range - range that needs to be highlight the invalid data.
     * @returns {void} - This method is used to highlight the invalid data.
     */
    addInvalidHighlight(range?: string): void;
    /**
     * This method is used for remove highlight from invalid data.
     *
     * {% codeBlock src='spreadsheet/removeInvalidHighlight/index.md' %}{% endcodeBlock %}
     *
     * @param {string} range - range that needs to be remove invalid highlight.
     * @returns {void} - This method is used for remove highlight from invalid data.
     */
    removeInvalidHighlight(range?: string): void;
    /**
     * This method is used to add conditional formatting.
     *
     * {% codeBlock src='spreadsheet/conditionalFormat/index.md' %}{% endcodeBlock %}
     *
     * @param {ConditionalFormatModel} conditionalFormat - Specify the conditionalFormat.
     * @returns {void} - used to add conditional formatting.
     */
    conditionalFormat(conditionalFormat: ConditionalFormatModel): void;
    /**
     * This method is used for remove conditional formatting.
     *
     * {% codeBlock src='spreadsheet/clearConditionalFormat/index.md' %}{% endcodeBlock %}
     *
     * @param {string} range - range that needs to be remove conditional formatting.
     * @returns {void} - used for remove conditional formatting.
     */
    clearConditionalFormat(range?: string): void;
    /**
     * @hidden
     * @returns {void} - set Panel Size.
     */
    setPanelSize(): void;
    /**
     * Opens the Excel file.
     *
     * {% codeBlock src='spreadsheet/open/index.md' %}{% endcodeBlock %}
     *
     * @param {OpenOptions} options - Options for opening the excel file.
     * @returns {void} - Open the Excel file.
     */
    open(options: OpenOptions): void;
    /**
     * Used to hide/show the rows in spreadsheet.
     *
     * @param {number} startIndex - Specifies the start row index.
     * @param {number} endIndex - Specifies the end row index.
     * @param {boolean} hide - To hide/show the rows in specified range.
     * @returns {void} - To hide/show the rows in spreadsheet.
     */
    hideRow(startIndex: number, endIndex?: number, hide?: boolean): void;
    /**
     * Used to hide/show the columns in spreadsheet.
     *
     * @param {number} startIndex - Specifies the start column index.
     * @param {number} endIndex - Specifies the end column index.
     * @param {boolean} hide - Set `true` / `false` to hide / show the columns.
     * @returns {void} - To hide/show the columns in spreadsheet.
     */
    hideColumn(startIndex: number, endIndex?: number, hide?: boolean): void;
    /**
     * This method is used to Clear contents, formats and hyperlinks in spreadsheet.
     *
     * {% codeBlock src='spreadsheet/clear/index.md' %}{% endcodeBlock %}
     *
     * @param {ClearOptions} options - Options for clearing the content, formats and hyperlinks in spreadsheet.
     * @returns {void} -  Used to Clear contents, formats and hyperlinks in spreadsheet
     */
    clear(options: ClearOptions): void;
    /**
     * Used to refresh the spreadsheet in UI level.
     *
     * {% codeBlock src='spreadsheet/refresh/index.md' %}{% endcodeBlock %}
     *
     * @param {boolean} isNew - Specifies `true` / `false` to create new workbook in spreadsheet.
     * @returns {void} -  Used to refresh the spreadsheet.
     */
    refresh(isNew?: boolean): void;
    /**
     * Used to set the image in spreadsheet.
     *
     * {% codeBlock src='spreadsheet/insertImage/index.md' %}{% endcodeBlock %}
     *
     * @param {ImageModel} images - Specifies the options to insert image in spreadsheet.
     * @param {string} range - Specifies the range in spreadsheet.
     * @returns {void} -  Used to set the image in spreadsheet.
     */
    insertImage(images: ImageModel[], range?: string): void;
    /**
     * Used to delete the image in spreadsheet.
     *
     * {% codeBlock src='spreadsheet/deleteImage/index.md' %}{% endcodeBlock %}
     *
     * @param {string} id - Specifies the id of the image element to be deleted.
     * @param {string} range - Specifies the range in spreadsheet.
     * @returns {void} - Used to delete the image in spreadsheet.
     */
    deleteImage(id: string, range?: string): void;
    /**
     * Gets the row header div of the Spreadsheet.
     *
     * @returns {Element} - Gets the row header div of the Spreadsheet.
     * @hidden
     */
    getRowHeaderContent(): HTMLElement;
    /**
     * Gets the column header div of the Spreadsheet.
     *
     * @returns {HTMLElement} - Gets the column header div of the Spreadsheet.
     * @hidden
     */
    getColumnHeaderContent(): HTMLElement;
    /**
     * Gets the main content div of the Spreadsheet.
     *
     * @returns {HTMLElement} - Gets the main content div of the Spreadsheet.
     * @hidden
     */
    getMainContent(): HTMLElement;
    /**
     * Get the select all div of spreadsheet
     *
     * @returns {HTMLElement} - Get the select all div of spreadsheet
     */
    getSelectAllContent(): HTMLElement;
    /**
     * Gets the horizontal scroll element of the Spreadsheet.
     *
     * @returns {HTMLElement} - Gets the column header div of the Spreadsheet.
     * @hidden
     */
    getScrollElement(): HTMLElement;
    /**
     * Get the main content table element of spreadsheet.
     *
     * @returns {HTMLTableElement} -Get the main content table element of spreadsheet.
     * @hidden
     */
    getContentTable(): HTMLTableElement;
    /**
     * Get the row header table element of spreadsheet.
     *
     * @returns {HTMLTableElement} - Get the row header table element of spreadsheet.
     * @hidden
     */
    getRowHeaderTable(): HTMLTableElement;
    /**
     * Get the column header table element of spreadsheet.
     *
     * @returns {HTMLTableElement} - Get the column header table element of spreadsheet.
     * @hidden
     */
    getColHeaderTable(): HTMLTableElement;
    /**
     * To get the backup element count for row and column virtualization.
     *
     * @param {'row' | 'col'} layout -  specify the layout.
     * @returns {number} - To get the backup element count for row and column virtualization.
     * @hidden
     */
    getThreshold(layout: 'row' | 'col'): number;
    /**
     * @hidden
     * @returns {boolean} - Returns the bool value.
     */
    isMobileView(): boolean;
    /**
     * @hidden
     * @param {number} sheetId - Specifies the sheet id.
     * @param {number} rowIndex - specify the row index.
     * @param {number} colIndex - specify the col index.
     * @param {string} formulaCellReference - specify the col index.
     * @param {boolean} refresh - specify the col index.
     * @returns {string | number} - to get Value Row Col.
     */
    getValueRowCol(sheetId: number, rowIndex: number, colIndex: number, formulaCellReference?: string, refresh?: boolean, isUnique?: boolean): string | number;
    /**
     * To update a cell properties.
     *
     * {% codeBlock src='spreadsheet/updateCell/index.md' %}{% endcodeBlock %}
     *
     * @param {CellModel} cell - Cell properties.
     * @param {string} address - Address to update.
     * @returns {void} - To update a cell properties.
     */
    updateCell(cell: CellModel, address?: string): void;
    /**
     * Used to get a row data from the data source with updated cell value.
     *
     * {% codeBlock src='spreadsheet/getRowData/index.md' %}{% endcodeBlock %}
     *
     * @param {number} index - Specifies the row index.
     * @param {number} sheetIndex - Specifies the sheet index. By default, it consider the active sheet index.
     * @returns {Object[]} - Return row data.
     */
    getRowData(index?: number, sheetIndex?: number): Object[];
    /**
     * Sorts the range of cells in the active sheet.
     *
     * {% codeBlock src='spreadsheet/sort/index.md' %}{% endcodeBlock %}
     *
     * @param {SortOptions} sortOptions - options for sorting.
     * @param {string} range - address of the data range.
     * @returns {Promise<SortEventArgs>} - Sorts the range of cells in the active sheet.
     */
    sort(sortOptions?: SortOptions, range?: string): Promise<SortEventArgs>;
    /**
     * @hidden
     * @param {number} sheetId - specify the sheet id.
     * @param {string | number} value - Specify the value.
     * @param {number} rowIndex - Specify the row index.
     * @param {number} colIndex - Specify the col index.
     * @param {string} formula - Specify the col index.
     * @returns {void} - To set value for row and col.
     */
    setValueRowCol(sheetId: number, value: string | number, rowIndex: number, colIndex: number, formula?: string): void;
    /**
     * Get component name.
     *
     * @returns {string} - Get component name.
     * @hidden
     */
    getModuleName(): string;
    /**
     * @hidden
     * @param {Element} td - Specify the element.
     * @param {RefreshValueArgs} args - specify the args.
     * @returns {void} - to refresh the node.
     */
    refreshNode(td: Element, args?: RefreshValueArgs): void;
    /**
     * @hidden
     * @param {CellStyleModel} style - specify the style.
     * @param {number} lines - Specify the lines.
     * @param {number} borderWidth - Specify the borderWidth.
     * @returns {number} - To calculate Height
     */
    calculateHeight(style: CellStyleModel, lines?: number, borderWidth?: number): number;
    /**
     * @hidden
     * @param {number} startIdx - specify the start index.
     * @param {number} endIdx - Specify the end index.
     * @param {string} layout - Specify the rows.
     * @param {boolean} finite - Specifies the scroll mode.
     * @returns {number[]} - To skip the hidden rows.
     */
    skipHidden(startIdx: number, endIdx: number, layout?: string, finite?: boolean): number[];
    /**
     * @hidden
     * @param {HTMLElement} nextTab - Specify the element.
     * @param {string} selector - Specify the selector
     * @returns {void} - To update the active border.
     */
    updateActiveBorder(nextTab: HTMLElement, selector?: string): void;
    /**
     * To perform the undo operation in spreadsheet.
     *
     * {% codeBlock src='spreadsheet/undo/index.md' %}{% endcodeBlock %}
     *
     * @returns {void} - To perform the undo operation in spreadsheet.
     */
    undo(): void;
    /**
     * To perform the redo operation in spreadsheet.
     *
     * {% codeBlock src='spreadsheet/redo/index.md' %}{% endcodeBlock %}
     *
     * @returns {void} - To perform the redo operation in spreadsheet.
     */
    redo(): void;
    /**
     * To update the undo redo collection in spreadsheet.
     *
     * {% codeBlock src='spreadsheet/updateUndoRedoCollection/index.md' %}{% endcodeBlock %}
     *
     * @param {object} args - options for undo redo.
     * @returns {void} - To update the undo redo collection in spreadsheet.
     */
    updateUndoRedoCollection(args: {
        [key: string]: Object;
    }): void;
    /**
     * Adds the defined name to the Spreadsheet.
     *
     * {% codeBlock src='spreadsheet/addDefinedName/index.md' %}{% endcodeBlock %}
     *
     * @param {DefineNameModel} definedName - Specifies the name, scope, comment, refersTo.
     * @returns {boolean} - Return the added status of the defined name.
     */
    addDefinedName(definedName: DefineNameModel): boolean;
    /**
     * Removes the defined name from the Spreadsheet.
     *
     * {% codeBlock src='spreadsheet/removeDefinedName/index.md' %}{% endcodeBlock %}
     *
     * @param {string} definedName - Specifies the name.
     * @param {string} scope - Specifies the scope of the defined name.
     * @returns {boolean} - Return the removed status of the defined name.
     */
    removeDefinedName(definedName: string, scope: string): boolean;
    private mouseClickHandler;
    private mouseDownHandler;
    private keyUpHandler;
    private keyDownHandler;
    private freeze;
    private freezePaneUpdated;
    /**
     * Binding events to the element while component creation.
     *
     * @returns {void} - Binding events to the element while component creation.
     */
    private wireEvents;
    /**
     * Destroys the component (detaches/removes all event handlers, attributes, classes, and empties the component element).
     *
     * @returns {void} - Destroys the component
     */
    destroy(): void;
    /**
     * Unbinding events from the element while component destroy.
     *
     * @returns {void} - Unbinding events from the element while component destroy.
     */
    private unwireEvents;
    private refreshInsertDelete;
    /**
     * To add context menu items.
     *
     * {% codeBlock src='spreadsheet/addContextMenu/index.md' %}{% endcodeBlock %}
     *
     * @param {navigations.MenuItemModel[]} items - Items that needs to be added.
     * @param {string} text - Item before / after that the element to be inserted.
     * @param {boolean} insertAfter - Set `false` if the `items` need to be inserted before the `text`.
     * By default, `items` are added after the `text`.
     * @param {boolean} isUniqueId - Set `true` if the given `text` is a unique id.
     * @returns {void} - To add context menu items.
     */
    addContextMenuItems(items: navigations.MenuItemModel[], text: string, insertAfter?: boolean, isUniqueId?: boolean): void;
    /**
     * To remove existing context menu items.
     *
     * {% codeBlock src='spreadsheet/removeContextMenuItems/index.md' %}{% endcodeBlock %}
     *
     * @param {string[]} items - Items that needs to be removed.
     * @param {boolean} isUniqueId - Set `true` if the given `text` is a unique id.
     * @returns {void} - To remove existing context menu items.
     */
    removeContextMenuItems(items: string[], isUniqueId?: boolean): void;
    /**
     * To enable / disable context menu items.
     *
     * {% codeBlock src='spreadsheet/enableContextMenuItems/index.md' %}{% endcodeBlock %}
     *
     * @param {string[]} items - Items that needs to be enabled / disabled.
     * @param {boolean} enable - Set `true` / `false` to enable / disable the menu items.
     * @param {boolean} isUniqueId - Set `true` if the given `text` is a unique id.
     * @returns {void} - To enable / disable context menu items.
     */
    enableContextMenuItems(items: string[], enable?: boolean, isUniqueId?: boolean): void;
    /**
     * To enable / disable file menu items.
     *
     * {% codeBlock src='spreadsheet/enableFileMenuItems/index.md' %}{% endcodeBlock %}
     *
     * @param {string[]} items - Items that needs to be enabled / disabled.
     * @param {boolean} enable - Set `true` / `false` to enable / disable the menu items.
     * @param {boolean} isUniqueId - Set `true` if the given file menu items `text` is a unique id.
     * @returns {void} - To enable / disable file menu items.
     */
    enableFileMenuItems(items: string[], enable?: boolean, isUniqueId?: boolean): void;
    /**
     * To show/hide the file menu items in Spreadsheet ribbon.
     *
     * {% codeBlock src='spreadsheet/hideFileMenuItems/index.md' %}{% endcodeBlock %}
     *
     * @param {string[]} items - Specifies the file menu items text which is to be show/hide.
     * @param {boolean} hide - Set `true` / `false` to hide / show the file menu items.
     * @param {boolean} isUniqueId - Set `true` if the given file menu items `text` is a unique id.
     * @returns {void} - To show/hide the file menu items in Spreadsheet ribbon.
     */
    hideFileMenuItems(items: string[], hide?: boolean, isUniqueId?: boolean): void;
    /**
     * To add custom file menu items.
     *
     * {% codeBlock src='spreadsheet/addFileMenuItems/index.md' %}{% endcodeBlock %}
     *
     * @param {navigations.MenuItemModel[]} items - Specifies the ribbon file menu items to be inserted.
     * @param {string} text - Specifies the existing file menu item text before / after which the new file menu items to be inserted.
     * @param {boolean} insertAfter - Set `false` if the `items` need to be inserted before the `text`.
     * By default, `items` are added after the `text`.
     * @param {boolean} isUniqueId - Set `true` if the given file menu items `text` is a unique id.
     * @returns {void} - To add custom file menu items.
     */
    addFileMenuItems(items: navigations.MenuItemModel[], text: string, insertAfter?: boolean, isUniqueId?: boolean): void;
    /**
     * To show/hide the existing ribbon tabs.
     *
     * {% codeBlock src='spreadsheet/hideRibbonTabs/index.md' %}{% endcodeBlock %}
     *
     * @param {string[]} tabs - Specifies the tab header text which needs to be shown/hidden.
     * @param {boolean} hide - Set `true` / `false` to hide / show the ribbon tabs.
     * @returns {void} - To show/hide the existing ribbon tabs.
     */
    hideRibbonTabs(tabs: string[], hide?: boolean): void;
    /**
     * To enable / disable the existing ribbon tabs.
     *
     * {% codeBlock src='spreadsheet/enableRibbonTabs/index.md' %}{% endcodeBlock %}
     *
     * @param {string[]} tabs - Specifies the tab header text which needs to be enabled / disabled.
     * @param {boolean} enable - Set `true` / `false` to enable / disable the ribbon tabs.
     * @returns {void} - To enable / disable the existing ribbon tabs.
     */
    enableRibbonTabs(tabs: string[], enable?: boolean): void;
    /**
     * To add custom ribbon tabs.
     *
     * {% codeBlock src='spreadsheet/addRibbonTabs/index.md' %}{% endcodeBlock %}
     *
     * @param {RibbonItemModel[]} items - Specifies the ribbon tab items to be inserted.
     * @param {string} insertBefore - Specifies the existing ribbon header text before which the new tabs will be inserted.
     * If not specified, the new tabs will be inserted at the end.
     * @returns {void} - To add custom ribbon tabs.
     */
    addRibbonTabs(items: RibbonItemModel[], insertBefore?: string): void;
    /**
     * Enables or disables the specified ribbon toolbar items or all ribbon items.
     *
     * {% codeBlock src='spreadsheet/enableToolbarItems/index.md' %}{% endcodeBlock %}
     *
     * @param {string} tab - Specifies the ribbon tab header text under which the toolbar items need to be enabled / disabled.
     * @param {number[]} items - Specifies the toolbar item indexes / unique id's which needs to be enabled / disabled.
     * If it is not specified the entire toolbar items will be enabled / disabled.
     * @param  {boolean} enable - Boolean value that determines whether the toolbar items should be enabled or disabled.
     * @returns {void} - Enables or disables the specified ribbon toolbar items or all ribbon items.
     */
    enableToolbarItems(tab: string, items?: number[] | string[], enable?: boolean): void;
    /**
     * To show/hide the existing Spreadsheet ribbon toolbar items.
     *
     * {% codeBlock src='spreadsheet/hideToolbarItems/index.md' %}{% endcodeBlock %}
     *
     * @param {string} tab - Specifies the ribbon tab header text under which the specified items needs to be hidden / shown.
     * @param {number[]} indexes - Specifies the toolbar indexes which needs to be shown/hidden from UI.
     * @param {boolean} hide - Set `true` / `false` to hide / show the toolbar items.
     * @returns {void} - To show/hide the existing Spreadsheet ribbon toolbar items.
     */
    hideToolbarItems(tab: string, indexes: number[], hide?: boolean): void;
    /**
     * To add the custom items in Spreadsheet ribbon toolbar.
     *
     * {% codeBlock src='spreadsheet/addToolbarItems/index.md' %}{% endcodeBlock %}
     *
     * @param {string} tab - Specifies the ribbon tab header text under which the specified items will be inserted.
     * @param {navigations.ItemModel[]} items - Specifies the ribbon toolbar items that needs to be inserted.
     * @param {number} index - Specifies the index text before which the new items will be inserted.
     * If not specified, the new items will be inserted at the end of the toolbar.
     * @returns {void} - To add the custom items in Spreadsheet ribbon toolbar.
     */
    addToolbarItems(tab: string, items: navigations.ItemModel[], index?: number): void;
    /**
     * Selects the cell / range of cells with specified address.
     *
     * {% codeBlock src='spreadsheet/selectRange/index.md' %}{% endcodeBlock %}
     *
     * @param {string} address - Specifies the range address.
     * @returns {void} - To select the range.
     */
    selectRange(address: string): void;
    /**
     * Start edit the active cell.
     *
     * {% codeBlock src='spreadsheet/startEdit/index.md' %}{% endcodeBlock %}
     *
     * @returns {void} - Start edit the active cell.
     */
    startEdit(): void;
    /**
     * Cancels the edited state, this will not update any value in the cell.
     *
     * {% codeBlock src='spreadsheet/closeEdit/index.md' %}{% endcodeBlock %}
     *
     * @returns {void} - Cancels the edited state, this will not update any value in the cell.
     */
    closeEdit(): void;
    /**
     * If Spreadsheet is in editable state, you can save the cell by invoking endEdit.
     *
     * {% codeBlock src='spreadsheet/endEdit/index.md' %}{% endcodeBlock %}
     *
     * @returns {void} - If Spreadsheet is in editable state, you can save the cell by invoking endEdit.
     */
    endEdit(): void;
    /**
     * Called internally if any of the property value changed.
     *
     * @param  {SpreadsheetModel} newProp - Specify the new properties
     * @param  {SpreadsheetModel} oldProp - Specify the old properties
     * @returns {void} - Called internally if any of the property value changed.
     * @hidden
     */
    onPropertyChanged(newProp: SpreadsheetModel, oldProp: SpreadsheetModel): void;
    /**
     * To provide the array of modules needed for component rendering.
     *
     * @returns {base.ModuleDeclaration[]} - To provide the array of modules needed for component rendering.
     * @hidden
     */
    requiredModules(): base.ModuleDeclaration[];
    /**
     * Appends the control within the given HTML Div element.
     *
     * {% codeBlock src='spreadsheet/appendTo/index.md' %}{% endcodeBlock %}
     *
     * @param {string | HTMLElement} selector - Target element where control needs to be appended.
     * @returns {void} - Appends the control within the given HTML Div element.
     */
    appendTo(selector: string | HTMLElement): void;
    /**
     * Filters the range of cells in the sheet.
     *
     * @hidden
     * @param {FilterOptions} filterOptions - specifiy the FilterOptions.
     * @param {string} range - Specify the range
     * @returns {Promise<FilterEventArgs>} - Filters the range of cells in the sheet.
     */
    filter(filterOptions?: FilterOptions, range?: string): Promise<FilterEventArgs>;
    /**
     * Clears the filter changes of the sheet.
     *
     * {% codeBlock src='spreadsheet/clearFilter/index.md' %}{% endcodeBlock %}
     *
     * @param {string} field - Specify the field.
     * @returns {void} - To clear the filter.
     */
    clearFilter(field?: string): void;
    /**
     * Applies the filter UI in the range of cells in the sheet.
     *
     * {% codeBlock src='spreadsheet/applyFilter/index.md' %}{% endcodeBlock %}
     *
     * @param {grids.PredicateModel[]} predicates - Specifies the predicates.
     * @param {string} range - Specify the range.
     * @returns {Promise<void>} - to apply the filter.
     */
    applyFilter(predicates?: grids.PredicateModel[], range?: string): Promise<void>;
    /**
     * To add custom library function.
     *
     *  {% codeBlock src='spreadsheet/addCustomFunction/index.md' %}{% endcodeBlock %}
     *
     * @param {string} functionHandler - Custom function handler name
     * @param {string} functionName - Custom function name
     * @returns {void} - To add custom function.
     */
    addCustomFunction(functionHandler: string | Function, functionName?: string, formulaDescription?: string): void;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/common/all-module.d.ts
/**
 * Spreadsheet all module.
 *
 * @private
 */
export  class AllModule {
    /**
     * Constructor for Spreadsheet all module.
     *
     * @private
     */
    constructor();
    /**
     * For internal use only - Get the module name.
     *
     * @private
     * @returns {string} - Get the module name.
     */
    protected getModuleName(): string;
    /**
     * Destroys the Spreadsheet all module.
     *
     * @returns {void} - Destroys the Spreadsheet all module.
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/common/basic-module.d.ts
/**
 * Spreadsheet basic module.
 *
 * @private
 */
export  class BasicModule {
    /**
     * Constructor for Spreadsheet basic module.
     *
     * @private
     */
    constructor();
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} - Get the module name.
     * @private
     */
    protected getModuleName(): string;
    /**
     * Destroys the Spreadsheet basic module.
     *
     * @returns {void} - Destroys the Spreadsheet basic module.
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/common/class-model.d.ts
/**
 * Interface for a class ScrollSettings
 */
export interface ScrollSettingsModel {
    /**
     * By default, the scroll mode is infinite. Set it to `true` to make it as finite.
     *
     * @default false
     */
    isFinite?: boolean;
    /**
     * If `enableVirtualization` is set to true, then the spreadsheet will render only the rows and columns visible within the view-port
     * and load subsequent rows and columns based on scrolling.
     *
     * @default true
     */
    enableVirtualization?: boolean;
}
/**
 * Interface for a class SelectionSettings
 */
export interface SelectionSettingsModel {
    /**
     * Specifies the selection mode. The possible values are
     *
     * * `None`: It disables UI selection.
     * * `Single`: It allows single selection of cell / row / column and disables multiple selection.
     * * `Multiple`: It allows single / multiple selection of cell / row / column.
     *
     * @default 'Multiple'
     */
    mode?: SelectionMode;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/common/class.d.ts
/**
 * Represents the scroll settings.
 */
export  class ScrollSettings extends base.ChildProperty<ScrollSettings> {
    /**
     * By default, the scroll mode is infinite. Set it to `true` to make it as finite.
     *
     * @default false
     */
    isFinite: boolean;
    /**
     * If `enableVirtualization` is set to true, then the spreadsheet will render only the rows and columns visible within the view-port
     * and load subsequent rows and columns based on scrolling.
     *
     * @default true
     */
    enableVirtualization: boolean;
}
/**
 * Represents the selection settings.
 */
export  class SelectionSettings extends base.ChildProperty<SelectionSettings> {
    /**
     * Specifies the selection mode. The possible values are
     *
     * * `None`: It disables UI selection.
     * * `Single`: It allows single selection of cell / row / column and disables multiple selection.
     * * `Multiple`: It allows single / multiple selection of cell / row / column.
     *
     * @default 'Multiple'
     */
    mode: SelectionMode;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/common/constant.d.ts
/** @hidden */
export  const DISABLED: string;
/** @hidden */
export  const WRAPTEXT: string;
/** @hidden */
export  const locale: string;
/** @hidden */
export  const dialog: string;
/** @hidden */
export  const actionEvents: string;
/** @hidden */
export  const overlay: string;
/** @hidden */
export  const fontColor: {
    [key: string]: string[];
};
/** @hidden */
export  const fillColor: {
    [key: string]: string[];
};
/** @hidden */
export  const keyCodes: {
    [key: string]: number;
};
/**
 * Default locale text
 *
 * @hidden
 */
export  const defaultLocale: object;
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/common/enum.d.ts
/**
 * Defines modes of Selection.
 */
export  type SelectionMode = 'None' | 'Single' | 'Multiple';
/**
 * Defines paste options.
 */
export  type PasteSpecialType = 'All' | 'Values' | 'Formats' | 'Formulas';
/** @hidden */
export  type RefreshType = 'All' | 'Row' | 'Column' | 'RowPart' | 'ColumnPart';
/**
 * Defines find mode options.
 */
export  type FindModeType = 'Sheet' | 'Workbook';
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/common/event.d.ts
/**
 * Specifies spreadsheet internal events
 */
/** @hidden */
export  const ribbon: string;
/** @hidden */
export  const formulaBar: string;
/** @hidden */
export  const sheetTabs: string;
/** @hidden */
export  const refreshSheetTabs: string;
/** @hidden */
export  const isFormulaBarEdit: string;
/** @hidden */
export  const contentLoaded: string;
/** @hidden */
export  const mouseDown: string;
/** @hidden */
export  const spreadsheetDestroyed: string;
/** @hidden */
export  const editOperation: string;
/** @hidden */
export  const formulaOperation: string;
/** @hidden */
export  const formulaBarOperation: string;
/** @hidden */
export  const click: string;
/** @hidden */
export  const keyUp: string;
/** @hidden */
export  const keyDown: string;
/** @hidden */
export  const formulaKeyUp: string;
/** @hidden */
export  const formulaBarUpdate: string;
/** @hidden */
export  const onVerticalScroll: string;
/** @hidden */
export  const onHorizontalScroll: string;
/** @hidden */
export  const beforeContentLoaded: string;
/** @hidden */
export  const beforeVirtualContentLoaded: string;
/** @hidden */
export  const virtualContentLoaded: string;
/** @hidden */
export  const contextMenuOpen: string;
/** @hidden */
export  const cellNavigate: string;
/** @hidden */
export  const mouseUpAfterSelection: string;
/** @hidden */
export  const cMenuBeforeOpen: string;
/** @hidden */
export  const insertSheetTab: string;
/** @hidden */
export  const removeSheetTab: string;
/** @hidden */
export  const renameSheetTab: string;
/** @hidden */
export  const ribbonClick: string;
/** @hidden */
export  const refreshRibbon: string;
/** @hidden */
export  const enableToolbarItems: string;
/** @hidden */
export  const tabSwitch: string;
/** @hidden */
export  const selectRange: string;
/** @hidden */
export  const cut: string;
/** @hidden */
export  const copy: string;
/** @hidden */
export  const paste: string;
/** @hidden */
export  const clearCopy: string;
/** @hidden */
export  const dataBound: string;
/** @hidden */
export  const beforeDataBound: string;
/** @hidden */
export  const addContextMenuItems: string;
/** @hidden */
export  const removeContextMenuItems: string;
/** @hidden */
export  const enableContextMenuItems: string;
/** @hidden */
export  const enableFileMenuItems: string;
/** @hidden */
export  const hideFileMenuItems: string;
/** @hidden */
export  const addFileMenuItems: string;
/** @hidden */
export  const hideRibbonTabs: string;
/** @hidden */
export  const enableRibbonTabs: string;
/** @hidden */
export  const addRibbonTabs: string;
/** @hidden */
export  const addToolbarItems: string;
/** @hidden */
export  const hideToolbarItems: string;
/** @hidden */
export  const beforeRibbonCreate: string;
/** @hidden */
export  const rowHeightChanged: string;
/** @hidden */
export  const colWidthChanged: string;
/** @hidden */
export  const onContentScroll: string;
/** @hidden */
export  const deInitProperties: string;
/** @hidden */
export  const activeSheetChanged: string;
/** @hidden */
export  const renameSheet: string;
/** @hidden */
export  const initiateCustomSort: string;
/** @hidden */
export  const applySort: string;
/** @hidden */
export  const collaborativeUpdate: string;
/** @hidden */
export  const autoFit: string;
/** @hidden */
export  const updateToggleItem: string;
/** @hidden */
export  const initiateHyperlink: string;
/** @hidden */
export  const editHyperlink: string;
/** @hidden */
export  const openHyperlink: string;
/** @hidden */
export  const removeHyperlink: string;
/** @hidden */
export  const createHyperlinkElement: string;
/** @hidden */
export  const sheetNameUpdate: string;
/** @hidden */
export  const hideSheet: string;
/** @hidden */
export  const performUndoRedo: string;
/** @hidden */
export  const updateUndoRedoCollection: string;
/** @hidden */
export  const setActionData: string;
/** @hidden */
export  const getBeforeActionData: string;
/** @hidden */
export  const clearUndoRedoCollection: string;
/** @hidden */
export  const initiateFilterUI: string;
/** @hidden */
export  const renderFilterCell: string;
/** @hidden */
export  const reapplyFilter: string;
/** @hidden */
export  const filterByCellValue: string;
/** @hidden */
export  const clearFilter: string;
/** @hidden */
export  const getFilteredColumn: string;
/** @hidden */
export  const completeAction: string;
/** @hidden */
export  const filterCellKeyDown: string;
/** @hidden */
export  const getFilterRange: string;
/** @hidden */
export  const setAutoFit: string;
/** @hidden */
export  const refreshFormulaDatasource: string;
/** @hidden */
export  const setScrollEvent: string;
/** @hidden */
export  const initiateDataValidation: string;
/** @hidden */
export  const validationError: string;
/** @hidden */
export  const startEdit: string;
/** @hidden */
export  const invalidData: string;
/** @hidden */
export  const clearInvalid: string;
/** @hidden */
export  const protectSheet: string;
/** @hidden */
export  const applyProtect: string;
/** @hidden */
export  const unprotectSheet: string;
/** @hidden */
export  const protectCellFormat: string;
/** @hidden */
export  const gotoDlg: string;
/** @hidden */
export  const findDlg: string;
/** @hidden */
export  const findHandler: string;
/** @hidden */
export  const created: string;
/** @hidden */
export  const editAlert: string;
/** @hidden */
export  const setUndoRedo: string;
/** @hidden */
export  const enableFormulaInput: string;
/** @hidden */
export  const protectSelection: string;
/** @hidden */
export  const hiddenMerge: string;
/** @hidden */
export  const checkPrevMerge: string;
/** @hidden */
export  const checkMerge: string;
/** @hidden */
export  const removeDataValidation: string;
/** @hidden */
export  const showAggregate: string;
/** @hidden */
export  const goToSheet: string;
/** @hidden */
export  const showSheet: string;
/** @hidden */
export  const renderCFDlg: string;
/** @hidden */
export  const clearViewer: string;
/** @hidden */
export  const initiateFormulaReference: string;
/** @hidden */
export  const initiateCur: string;
/** @hidden */
export  const clearCellRef: string;
/** @hidden */
export  const editValue: string;
/** @hidden */
export  const addressHandle: string;
/** @hidden */
export  const initiateEdit: string;
/** @hidden */
export  const forRefSelRender: string;
/** @hidden */
export  const insertImage: string;
/** @hidden */
export  const refreshImgElem: string;
/** @hidden */
export  const refreshImgCellObj: string;
/** @hidden */
export  const getRowIdxFromClientY: string;
/** @hidden */
export  const getColIdxFromClientX: string;
/** @hidden */
export  const createImageElement: string;
/** @hidden */
export  const deleteImage: string;
/** @hidden */
export  const deleteChart: string;
/** @hidden */
export  const refreshChartCellObj: string;
/** @hidden */
export  const refreshImagePosition: string;
/** @hidden */
export  const updateTableWidth: string;
/** @hidden */
export  const focusBorder: string;
/** @hidden */
export  const clearChartBorder: string;
/** @hidden */
export  const insertChart: string;
/** @hidden */
export  const chartRangeSelection: string;
/** @hidden */
export  const insertDesignChart: string;
/** @hidden */
export  const removeDesignChart: string;
/** @hidden */
export  const chartDesignTab: string;
/** @hidden */
export  const addChartEle: string;
/** @hidden */
export  const undoRedoForChartDesign: string;
/** @hidden */
export  const isReact: string;
/** @hidden */
export  const renderReactTemplates: string;
/** @hidden */
export  const clearTemplate: string;
/** @hidden */
export  const protectWorkbook: string;
/** @hidden */
export  const unProtectWorkbook: string;
/** @hidden */
export  const getPassWord: string;
/** @hidden */
export  const setProtectWorkbook: string;
/** @hidden */
export  const removeWorkbookProtection: string;
/** @hidden */
/** @hidden */
export  const selectionStatus: string;
/** @hidden */
export  const freeze: string;
/** @hidden */
export  const overlayEleSize: string;
/** @hidden */
export  const updateScroll: string;
/** @hidden */
export  const positionAutoFillElement: string;
/** @hidden */
export  const hideAutoFillOptions: string;
/** @hidden */
export  const performAutoFill: string;
/** @hidden */
export  const selectAutoFillRange: string;
/** @hidden */
export  const autoFill: string;
/** @hidden */
export  const fillRange: string;
/** @hidden */
export  const hideAutoFillElement: string;
/** @hidden */
export  const unProtectSheetPassword: string;
/** @hidden */
export  const updateTranslate: string;
/** @hidden */
export  const getUpdatedScrollPosition: string;
/** @hidden */
export  const updateScrollValue: string;
/** @hidden */
export  const beforeCheckboxRender: string;
/** @hidden */
export  const refreshCheckbox: string;
/** @hidden */
export  const renderInsertDlg: string;
/** @hidden */
export  const toggleFormulaBar: string;
/** @hidden */
export  const toggleProtect: string;
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/common/index.d.ts
/**
 * Export Spreadsheet viewer modules
 */
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/common/interface.d.ts
/**
 * Interface for renderer module
 *
 * @hidden
 */
export interface IRenderer {
    colGroupWidth: number;
    contentPanel: HTMLElement;
    renderPanel(): void;
    getRowHeaderPanel(): Element;
    getColHeaderPanel(): Element;
    getContentPanel(): HTMLElement;
    getSelectAllContent(): HTMLElement;
    getScrollElement(): HTMLElement;
    getSelectAllTable(): HTMLTableElement;
    getContentTable(): HTMLTableElement;
    getColHeaderTable(): HTMLTableElement;
    getRowHeaderTable(): HTMLTableElement;
    renderTable(args: SheetRenderArgs): void;
    refreshRowContent(args: SheetRenderArgs): void;
    refreshColumnContent(args: SheetRenderArgs): void;
    updateRowContent(args: SheetRenderArgs): void;
    updateColContent(args: SheetRenderArgs): void;
    updateCol(sheet: SheetModel, idx: number, appendTo?: Node): Element;
    showHideHeaders(): void;
    getRowHeaderWidth(sheet: SheetModel, skipFreezeCheck?: boolean): number;
    getColHeaderHeight(sheet: SheetModel, skipHeader?: boolean): number;
    setPanelWidth(sheet: SheetModel, rowHdr: HTMLElement): void;
    getScrollSize(addOffset?: boolean): number;
    rowHeightChanged(args: {
        rowIdx: number;
        isHideShow?: boolean;
    }): void;
    colWidthChanged(args: {
        colIdx: number;
        isHideShow?: boolean;
    }): void;
    toggleGridlines(): void;
    destroy(): void;
}
/** @hidden */
export interface SheetRenderArgs {
    cells: Map<string, CellModel>;
    indexes: number[];
    direction?: string;
    skipUpdateOnFirst?: boolean;
    top?: number;
    left?: number;
    initLoad?: boolean;
    prevRowColCnt?: SheetModel;
    isRefreshing?: boolean;
    insertDelete?: boolean;
    isOpen?: boolean;
}
/** @hidden */
export interface FilterInfoArgs {
    sheetIdx: number;
    hasFilter?: boolean;
    filterRange?: number[];
    col?: number[];
    criteria?: string[];
}
/**
 * CellRender EventArgs
 */
export interface CellRenderEventArgs extends CellInfoEventArgs {
    /** Defines the cell element. */
    element: HTMLElement;
    needHeightCheck?: boolean;
}
export interface StyleType {
    element: Element;
    attrs: {
        [key: string]: Object;
    };
}
/**
 * @hidden
 */
export interface FormulaBarEdit {
    isEdit: boolean;
}
/**
 * @hidden
 */
export interface IViewport {
    rowCount: number;
    colCount: number;
    topIndex: number;
    bottomIndex: number;
    leftIndex: number;
    rightIndex: number;
    height: number;
    width: number;
    beforeFreezeWidth: number;
    beforeFreezeHeight: number;
}
/**
 * @hidden
 */
export interface IOffset {
    idx: number;
    size: number;
}
/**
 * @hidden
 */
export interface IScrollArgs {
    cur: IOffset;
    prev: IOffset;
    increase: boolean;
    preventScroll: boolean;
}
/**
 * @hidden
 */
export interface IRowRenderer {
    render(index?: number, isRowHeader?: boolean, preventHiddenCls?: boolean): Element;
    refresh(index: number, pRow: Element, hRow?: Element, header?: boolean, preventHiddenCls?: boolean): Element;
}
/**
 * @hidden
 */
export interface ICellRenderer {
    renderColHeader(index: number, row: Element, refChild?: Element): void;
    renderRowHeader(index: number, row: Element, refChild?: Element): void;
    render(args: CellRenderArgs): Element;
    refreshRange(range: number[], refreshing?: boolean, checkWrap?: boolean, checkHeight?: boolean, checkCF?: boolean): void;
    refresh(rowIdx: number, colIdx: number, lastCell?: boolean, element?: Element, checkCF?: boolean, checkWrap?: boolean): void;
}
/**
 * @hidden
 */
export interface RefreshArgs {
    rowIndex?: number;
    colIndex?: number;
    direction?: string;
    top?: number;
    left?: number;
    refresh: RefreshType;
    skipUpdateOnFirst?: boolean;
    frozenIndexes?: number[];
    skipTranslate?: boolean;
    insertDelete?: boolean;
}
/**
 * OpenOptions
 */
export interface OpenOptions {
    /** Defines the file. */
    file?: FileList | string | File;
    /** Defines the password. */
    password?: string;
    /** Defines the sheet password. */
    sheetPassword?: string;
    /** Defines the sheetIndex. */
    sheetIndex?: number;
}
/** @hidden */
export interface OpenArgs extends OpenOptions {
    guid?: string;
    orginalFile?: File;
}
/**
 * BeforeOpenEventArgs
 */
export interface BeforeOpenEventArgs {
    /** Defines the file. */
    file: FileList | string | File;
    /** Defines the cancel option. */
    cancel: boolean;
    /** Defines the request data. */
    requestData: object;
    /** Defines the password. */
    password?: string;
}
export interface DialogBeforeOpenEventArgs {
    /**
     * Defines whether the current action can be prevented.
     */
    cancel: boolean;
    /**
     * Returns the element of the dialog.
     */
    element: Element;
    /**
     * Returns the target element of the dialog.
     */
    target: HTMLElement | string;
    /**
     * Returns the name of the dialog.
     */
    dialogName: string;
    /**
     * Defines the value that can be displayed in dialog’s content area, you can override it with your own custom message.
     */
    content?: string;
}
/**
 * MenuSelectEventArgs
 */
export interface MenuSelectEventArgs extends navigations.MenuEventArgs {
    /** Defines the cancel option. */
    cancel: boolean;
}
/**
 * OpenFailureArgs
 */
export interface OpenFailureArgs {
    /** Defines the status. */
    status: string;
    /** Defines the status text. */
    statusText: string;
    /** Defines the stack. */
    stack?: string;
    /** Defines the message. */
    message?: string;
}
/**
 * BeforeSelectEventArgs
 */
export interface BeforeSelectEventArgs extends base.BaseEventArgs {
    range: string;
    cancel: boolean;
}
/**
 * SelectEventArgs
 */
export interface SelectEventArgs extends base.BaseEventArgs {
    range: string;
}
/** @hidden */
export interface CellRenderArgs {
    colIdx: number;
    rowIdx?: number;
    cell?: CellModel;
    address?: string;
    lastCell?: boolean;
    row?: HTMLElement;
    hRow?: HTMLElement;
    pRow?: HTMLElement;
    pHRow?: HTMLElement;
    isHeightCheckNeeded?: boolean;
    checkNextBorder?: string;
    first?: string;
    isRefresh?: boolean;
    td?: HTMLTableCellElement;
    manualUpdate?: boolean;
    isRow?: boolean;
    isFreezePane?: boolean;
    insideFreezePane?: boolean;
    isRefreshing?: boolean;
    sheetIndex?: number;
    onActionUpdate?: boolean;
    refChild?: Element;
    formulaRefresh?: boolean;
    checkCF?: boolean;
}
/** @hidden */
export interface IAriaOptions<T> {
    role?: string;
    selected?: T;
    multiselectable?: T;
    busy?: T;
    colcount?: string;
}
/**
 * CellEditEventArgs
 */
export interface CellEditEventArgs {
    /** Defines the value. */
    value: string;
    /** Defines the old value. */
    oldValue: string;
    /** Defines the element. */
    element: HTMLElement;
    /** Defines the address. */
    address: string;
    /** Defines the cancel option. */
    cancel: boolean;
}
/**
 * CellSaveEventArgs
 */
export interface CellSaveEventArgs {
    /** Defines the value. */
    value: string;
    /** Defines the old value. */
    oldValue: string;
    /** Defines the element. */
    element: HTMLElement;
    /** Defines the address. */
    address: string;
    /** Defines the formula. */
    formula?: string;
    /** Defines the display text of the cell */
    displayText?: string;
    /** Defines the type of Event. */
    originalEvent?: MouseEvent & TouchEvent | base.KeyboardEventArgs;
    isSpill?: boolean;
}
/**
 * CellSaveEventArgs
 */
export interface ConditionalFormatEventArgs {
    /** Defines the applied conditional format. */
    conditionalFormat: ConditionalFormatModel;
    /** Defines the cell element. */
    element: HTMLElement;
    /** Defines the cell model */
    cell: CellModel;
    /** Defines the address. */
    address: string;
    /** Defines whether the formatting is applied to a cell or not. */
    apply: boolean;
}
/** @hidden */
export interface CollaborativeEditArgs {
    action: string;
    eventArgs: UndoRedoEventArgs;
    cancel?: boolean;
}
/** @hidden */
export interface HideShowEventArgs {
    hide: boolean;
    startIndex: number;
    endIndex: number;
    autoFit?: boolean;
    hdrRow?: HTMLElement;
    row?: HTMLElement;
    insertIdx?: number;
    skipAppend?: boolean;
    isCol?: boolean;
    actionUpdate?: boolean;
    mergeCollection?: MergeArgs[];
    isFiltering?: true;
    cancel?: boolean;
    freezePane?: boolean;
    isUndo?: boolean;
    isRedo?: boolean;
    refreshUI?: boolean;
    sheetIndex?: number;
}
/** @hidden */
export interface UndoRedoEventArgs extends CellSaveEventArgs, BeforeSortEventArgs, BeforePasteEventArgs, WrapEventArgs, InsertDeleteEventArgs {
    requestType: string;
    beforeActionData: BeforeActionData;
    sheetIndex?: number;
    oldWidth?: string;
    oldHeight?: string;
    isCol?: boolean;
    hide?: boolean;
    index?: number;
    width?: string;
    height?: string;
    merge?: boolean;
    mergeCollection?: MergeArgs[];
    id?: string;
    imageData?: string;
    imageHeight?: number;
    imageWidth?: number;
    prevHeight?: number;
    prevWidth?: number;
    currentHeight?: number;
    currentWidth?: number;
    prevLeft?: number;
    prevTop?: number;
    currentLeft?: number;
    currentTop?: number;
    prevRowIdx?: number;
    prevColIdx?: number;
    currentRowIdx?: number;
    currentColIdx?: number;
    isUndoRedo?: boolean;
    pasteSheetIndex: number;
    pastedPictureElement: HTMLElement;
    fillRange?: string;
    dataRange?: string;
    direction?: AutoFillDirection;
    fillType?: AutoFillType;
    selectedRange?: string;
    cFColor?: CFColor;
    sheetIdx?: number;
    validation?: CellValidationEventArgs;
    previousSort?: SortCollectionModel;
    conditionalFormats: ConditionalFormatModel[];
    /** Specifies the previous sorted cells. */
    cellDetails?: PreviousCellDetails[];
    /** Specifies the sorted cells. */
    sortedCellDetails?: object[];
    cfClearActionArgs?: object;
    cfActionArgs?: {
        cfModel: ConditionalFormatModel[];
        sheetIdx: number;
    };
}
export interface BeforeActionData {
    cellDetails: PreviousCellDetails[];
    cutCellDetails?: PreviousCellDetails[];
}
export interface BeforeImageData {
    imageHeight?: number;
    imageWidth?: number;
    imageLeft?: number;
    imageTop?: number;
    imageData?: string;
    requestType: string;
    range?: string;
    cancel?: boolean;
    id?: string;
    sheetIndex?: number;
}
export interface BeforeImageRefreshData {
    prevHeight?: number;
    prevWidth?: number;
    currentHeight?: number;
    currentWidth?: number;
    prevLeft?: number;
    prevTop?: number;
    currentLeft?: number;
    currentTop?: number;
    requestType: string;
    prevRowIdx?: number;
    prevColIdx?: number;
    currentRowIdx?: number;
    currentColIdx?: number;
    id?: string;
    sheetIdx?: number;
    isUndoRedo?: boolean;
}
export interface PreviousCellDetails {
    rowIndex: number;
    colIndex: number;
    style: object;
    format: string;
    value: string;
    formula: string;
    wrap: boolean;
    rowSpan: number;
    colSpan: number;
    hyperlink: string | HyperlinkModel;
    image: ImageModel[];
    chart: ChartModel[];
    isLocked?: boolean;
    validation?: CellValidationEventArgs;
}
export interface BeforePasteEventArgs {
    cancel?: boolean;
    copiedInfo: {
        [key: string]: Object;
    };
    copiedShapeInfo?: {
        [key: string]: Object;
    };
    copiedRange: string;
    pastedRange: string;
    requestType: string;
    type: string;
    BeforeActionData?: BeforeActionData;
}
export interface BeforeWrapEventArgs {
    address: string;
    wrap: boolean;
    cancel: boolean;
}
export interface WrapEventArgs {
    address: string;
    wrap: boolean;
    action: string;
}
/**
 * CellValidationEventArgs
 *
 * @hidden
 */
export interface CellValidationEventArgs {
    range?: string;
    type?: ValidationType;
    operator?: ValidationOperator;
    value1?: string;
    value2?: string;
    ignoreBlank?: boolean;
    inCellDropDown?: boolean;
    cancel?: boolean;
}
/**
 * BeforeChartEventArgs
 *
 * @hidden
 */
export interface BeforeChartEventArgs {
    type?: ChartType;
    theme?: ChartTheme;
    isSeriesInRows?: boolean;
    range?: string;
    id?: string;
    height?: number;
    width?: number;
    top?: number;
    left?: number;
    posRange?: string;
    isInitCell?: boolean;
    cancel: boolean;
}
/** @hidden */
export interface ScrollEventArgs {
    scrollTop?: number;
    scrollLeft?: number;
    preventScroll?: boolean;
    skipHidden?: boolean;
    skipRowVirualScroll?: boolean;
    skipColVirualScroll?: boolean;
}
/**
 * Interface for AutoFillEventArgs.
 */
export interface AutoFillEventArgs {
    /** Defines the range of the data which is used to perform autofill. */
    dataRange: string;
    /** Defines the range in which autofill will be performed. */
    fillRange: string;
    /** Defines the autofill performing direction. */
    direction: AutoFillDirection;
    /** Defines the fill type options. */
    fillType: AutoFillType;
    /** Set `true` if autofill needs to be cancel in `actionBegin` event. By default, it will be `false`. */
    cancel?: boolean;
}
/** @hidden */
export interface duplicateSheetOption {
    sheetIndex: number;
    newSheetIndex: number;
}
/** @hidden */
export interface FilterCheckboxArgs {
    element: Element;
    isCheckboxFilterTemplate: boolean;
    column: {
        field: string;
    };
    dataSource: {
        [key: string]: Object;
    }[];
    btnObj: {
        element: HTMLElement;
    };
    type: string;
}
/** @hidden */
export interface BeforeActionDataInternal extends BeforeActionData {
    /** Specifies the sorted cells. */
    sortedCellDetails?: object[];
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/common/module.d.ts
/**
 * To get Spreadsheet required modules.
 *
 * @hidden
 * @param {Spreadsheet} context - To get Spreadsheet required modules.
 * @returns {base.ModuleDeclaration[]} - To get Spreadsheet required modules.
 */
export  function getRequiredModules(context: Spreadsheet): base.ModuleDeclaration[];
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/common/util.d.ts
/**
 * The function used to update Dom using requestAnimationFrame.
 *
 * @param  {Function} fn - Function that contains the actual action
 * @returns {void}
 * @hidden
 */
export  function getUpdateUsingRaf(fn: Function): void;
/**
 * The function used to remove the dom element children.
 *
 * @param  {Element} parent - Specify the parent
 * @returns {void} - The function used to get colgroup width based on the row index.
 * @hidden
 */
export  function removeAllChildren(parent: Element): void;
/**
 * The function used to get colgroup width based on the row index.
 *
 * @param  {number} index - Specify the index
 * @returns {number} - The function used to get colgroup width based on the row index.
 * @hidden
 */
export  function getColGroupWidth(index: number): number;
/**
 * @hidden
 * @returns {number} - To get scrollbar width
 */
export  function getScrollBarWidth(): number;
/**
 * @hidden
 * @param {HTMLElement} element - Specify the element.
 * @param {string[]} classList - Specify the classList.
 * @returns {number} - get Siblings Height
 */
export  function getSiblingsHeight(element: HTMLElement, classList?: string[]): number;
/**
 * @hidden
 * @param {Spreadsheet} context - Specify the spreadsheet.
 * @param {number[]} range - Specify the range.
 * @param {boolean} isModify - Specify the boolean value.
 * @returns {boolean} - Returns boolean value.
 */
export  function inView(context: Spreadsheet, range: number[], isModify?: boolean): boolean;
/**
 * To get the top left cell position in viewport.
 *
 * @hidden
 * @param {SheetModel} sheet - Specify the sheet.
 * @param {number[]} indexes - Specify the indexes.
 * @param {number} frozenRow - Specify the frozen row.
 * @param {number} frozenColumn - Specify the frozen column
 * @param {number} freezeScrollHeight - Specify the freeze scroll height
 * @param {number} freezeScrollWidth - Specify the freeze scroll width
 * @param {number} rowHdrWidth - Specify the row header width
 * @returns {number} - To get the top left cell position in viewport.
 */
export  function getCellPosition(sheet: SheetModel, indexes: number[], frozenRow?: number, frozenColumn?: number, freezeScrollHeight?: number, freezeScrollWidth?: number, rowHdrWidth?: number): {
    top: number;
    left: number;
};
/**
 * @param {Spreadsheet} parent - Specify the parent
 * @param {HTMLElement} ele - Specify the element
 * @param {number[]} range - Specify the range
 * @param {string} cls - Specify the class name
 * @param {boolean} preventAnimation - Specify the preventAnimation.
 * @param {boolean} isMultiRange - Specify the multi range selection.
 * @param {boolean} removeCls - Specify to remove the class from selection.
 * @returns {void} - To set the position
 * @hidden
 */
export  function setPosition(parent: Spreadsheet, ele: HTMLElement, range: number[], cls?: string, preventAnimation?: boolean, isMultiRange?: boolean, removeCls?: boolean): Promise<null> | void;
/**
 * @param {Element} content - Specify the content element.
 * @param {HTMLElement} checkEle - Specify the element.
 * @param {string} cls - Specify the class name.
 * @param {string} isSelection - Specify the selection element.
 * @param {string} removeCls - Specify to remove class from element.
 * @returns {void} - remove element with given range
 */
export  function removeRangeEle(content: Element, checkEle: HTMLElement, cls: string, isSelection?: boolean, removeCls?: boolean): void;
/**
 * Position element with given range
 *
 * @hidden
 * @param {HTMLElement} ele - Specify the element.
 * @param {number[]} range - specify the range.
 * @param {SheetModel} sheet - Specify the sheet.
 * @param {boolean} isRtl - Specify the boolean value.
 * @param {number} frozenRow - Specidy the frozen row.
 * @param {number} frozenColumn - Specify the frozen column
 * @param {boolean} preventAnimation - Specify the preventAnimation.
 * @param {boolean} isActiveCell - Specidy the boolean value.
 * @param {number} freezeScrollHeight - Specify the freeze scroll height
 * @param {number} freezeScrollWidth - Specify the freeze scroll width
 * @param {number} rowHdrWidth - Specify the row header width
 * @param {number} cls - Specify the class
 * @param {number} isFillOptShow - Specify the fill option
 * @param {number} freezeFillOpt - Specifies the fill option
 * @param {number} freezeFillOpt.top - Specifies the fill option
 * @param {number} freezeFillOpt.left - Specifies the fill option
 * @returns {void} - Position element with given range
 */
export  function locateElem(parent: Spreadsheet, ele: HTMLElement, range: number[], sheet: SheetModel, isRtl: boolean, frozenRow: number, frozenColumn: number, preventAnimation?: boolean, isActiveCell?: boolean, freezeScrollHeight?: number, freezeScrollWidth?: number, rowHdrWidth?: number, cls?: string, isFillOptShow?: boolean, freezeFillOpt?: {
    top?: number;
    left?: number;
}): Promise<null> | void;
/**
 * To update element styles using request animation frame
 *
 * @hidden
 * @param {StyleType[]} styles - Specify the styles
 * @param {boolean} preventAnimation - Specify the preventAnimation.
 * @returns {void} - To update element styles using request animation frame
 */
export  function setStyleAttribute(styles: StyleType[], preventAnimation?: boolean): Promise<null>;
/**
 * @hidden
 * @returns {string} - to get Start Event
 */
export  function getStartEvent(): string;
/**
 * @hidden
 * @returns {string} - to get Move Event
 */
export  function getMoveEvent(): string;
/**
 * @hidden
 * @returns {string} - Returns string value.
 */
export  function getEndEvent(): string;
/**
 * @hidden
 * @param {Event} e - To specify the event.
 * @returns {boolean} - Returns boolean value.
 */
export  function isTouchStart(e: Event): boolean;
/**
 * @hidden
 * @param {Event} e - To specify the event.
 * @returns {boolean} - Returns boolean value.
 */
export  function isTouchMove(e: Event): boolean;
/**
 * @hidden
 * @param {Event} e - To specify the event.
 * @returns {boolean} - Returns boolean value.
 */
export  function isTouchEnd(e: Event): boolean;
/**
 * @hidden
 * @param {TouchEvent | MouseEvent} e - To specify the mouse and touch event.
 * @returns {number} - To get client value
 */
export  function isMouseDown(e: MouseEvent): boolean;
/**
 * @param {MouseEvent} e - Specify the event.
 * @returns {boolean} - To get boolean value.
 * @hidden
 */
export  function isMouseMove(e: MouseEvent): boolean;
/**
 * @param {MouseEvent} e - Specify the event.
 * @returns {boolean} - To get boolean value
 * @hidden
 */
export  function isMouseUp(e: MouseEvent): boolean;
/**
 * @param {MouseEvent | TouchEvent} e - To specify the mouse or touch event.
 * @returns {number} - To get client X value.
 * @hidden
 */
export  function getClientX(e: TouchEvent & MouseEvent): number;
/**
 * @hidden
 * @param {MouseEvent | TouchEvent} e - To specify the mouse and touch event.
 * @returns {number} - To get client value
 */
export  function getClientY(e: MouseEvent & TouchEvent): number;
/**
 * Get even number based on device pixel ratio
 *
 * @param {number} value - Specify the number
 * @param {boolean} preventDecrease - Specify the boolean value
 * @returns {number} - To get DPR value
 * @hidden
 */
export  function getDPRValue(value: number, preventDecrease?: boolean): number;
/**
 * @hidden
 * @param {HTMLElement} target - specify the target.
 * @param {IAriaOptions<boolean>} options - Specify the options.
 * @returns {void} -  to set Aria Options
 */
export  function setAriaOptions(target: HTMLElement, options: IAriaOptions<boolean>): void;
/**
 * @hidden
 * @param {HTMLElement} element - specify the element.
 * @param {Object} component - Specify the component.
 * @returns {void} -  to destroy the component.
 */
export  function destroyComponent(element: HTMLElement, component: Object): void;
/**
 * @hidden
 * @param {number} idx - Specify the index
 * @param {number} index - Specify the index
 * @param {string} value - Specify the value.
 * @param {boolean} isCol - Specify the boolean value.
 * @param {Spreadsheet} parent - Specify the parent.
 * @returns {void} - To set resize.
 */
export  function setResize(idx: number, index: number, value: string, isCol: boolean, parent: Spreadsheet): void;
/**
 * @hidden
 * @param {HTMLElement} trgt - Specify the target element.
 * @param {number} value - specify the number.
 * @param {boolean} isCol - Specify the boolean vlaue.
 * @returns {void} -  to set width and height.
 */
export  function setWidthAndHeight(trgt: HTMLElement, value: number, isCol: boolean): void;
/**
 * @hidden
 * @param {number} lineHeight - Specify the line height for other culture text.
 * @returns {void} -  to set the line height for other culture text.
 */
export  function setTextLineHeight(lineHeight: number): void;
/**
 * @hidden
 * @param {HTMLElement} table - Specify the table.
 * @param {HTMLElement[]} text - specify the text.
 * @param {boolean} isCol - Specifyt boolean value
 * @param {Spreadsheet} parent - Specify the parent.
 * @param {string} prevData - specify the prevData.
 * @param {boolean} isWrap - Specifyt boolean value
 * @returns {number} - To find maximum value.
 */
export  function findMaxValue(table: HTMLElement, text: HTMLElement[], isCol: boolean, parent: Spreadsheet, prevData?: string, isWrap?: boolean): number;
/**
 * @hidden
 * @param {CollaborativeEditArgs} options - Specify the collaborative edit arguments.
 * @param {Spreadsheet} spreadsheet - specify the spreadsheet.
 * @param {boolean} isRedo - Specifyt the boolean value.
 * @param {CollaborativeEditArgs[]} undoCollections - Specify the undo collections.
 * @param {object} actionEventArgs - Specify the actionEventArgs.
 * @param {UndoRedoEventArgs} actionEventArgs.eventArgs - Specify the eventArgs.
 * @returns {void} - To update the Action.
 */
export  function updateAction(options: CollaborativeEditArgs, spreadsheet: Spreadsheet, isRedo?: boolean, undoCollections?: CollaborativeEditArgs[], actionEventArgs?: ActionEventArgs, isRecursive?: boolean): void;
/**
 * @hidden
 * @param {Workbook} workbook - Specify the workbook
 * @param {number} rowIdx - specify the roe index
 * @param {number} colIdx - specify the column Index.
 * @param {number} sheetIdx - specify the sheet index.
 * @returns {boolean} - Returns the boolean value.
 */
export  function hasTemplate(workbook: Workbook, rowIdx: number, colIdx: number, sheetIdx: number): boolean;
/**
 * Setting row height in view an model.
 *
 * @hidden
 * @param {Spreadsheet} parent - Specify the parent
 * @param {SheetModel} sheet - specify the column width
 * @param {number} height - specify the style.
 * @param {number} rowIdx - specify the rowIdx
 * @param {HTMLElement} row - specify the row
 * @param {HTMLElement} hRow - specify the hRow.
 * @param {boolean} notifyRowHgtChange - specify boolean value.
 * @returns {void} - Setting row height in view an model.
 */
export  function setRowEleHeight(parent: Spreadsheet, sheet: SheetModel, height: number, rowIdx: number, row?: HTMLElement, hRow?: HTMLElement, notifyRowHgtChange?: boolean): void;
/**
 * @hidden
 * @param {Workbook} context - Specify the context
 * @param {CellStyleModel} style - specify the style.
 * @param {number} lines - specify the lines
 * @param {number} lineHeight - Specify the line height.
 * @returns {number} - get Text Height
 */
export  function getTextHeight(context: Workbook, style: CellStyleModel, lines?: number, lineHeight?: number): number;
/**
 * @hidden
 * @param {CellStyleModel} style - cell style
 * @returns {number} - returns line height
 */
export  function getLineHeight(style: CellStyleModel): number;
/**
 * @hidden
 * @param {string} text - Specify the text
 * @param {CellStyleModel} style - specify the style.
 * @param {CellStyleModel} parentStyle - specify the parentStyle
 * @returns {number} - get Text Width
 */
export  function getTextWidth(text: string, style: CellStyleModel, parentStyle: CellStyleModel, preventDpr?: boolean): number;
/**
 * @hidden
 * @param {string} text - Specify the text
 * @param {number} colwidth - specify the column width
 * @param {CellStyleModel} style - specify the style.
 * @param {CellStyleModel} parentStyle - specify the parentStyle
 * @returns {number} - Setting maximum height while doing formats and wraptext
 */
export  function getLines(text: string, colwidth: number, style: CellStyleModel, parentStyle: CellStyleModel): number;
/**
 * calculation for height taken by border inside a cell
 *
 * @param {number} rowIdx - Specify the row index.
 * @param {number} colIdx - Specify the column index.
 * @param {SheetModel} sheet - Specify the sheet.
 * @returns {number} - get border height.
 * @hidden
 */
export  function getBorderHeight(rowIdx: number, colIdx: number, sheet: SheetModel): number;
/**
 * Calculating column width by excluding cell padding and border width
 *
 * @param {SheetModel} sheet - Specify the sheet
 * @param {number} rowIdx - Specify the row index.
 * @param {number} startColIdx - Specify the start column index.
 * @param {number} endColIdx - Specify the end column index.
 * @returns {number} - get excluded column width.
 * @hidden
 */
export  function getExcludedColumnWidth(sheet: SheetModel, rowIdx: number, startColIdx: number, endColIdx?: number): number;
/**
 * @param {Workbook} context - Specify the Workbook.
 * @param {number} rowIdx - Specify the row index.
 * @param {number} colIdx - Specify the column index.
 * @param {SheetModel} sheet - Specify the sheet.
 * @param {CellStyleModel} style - Specify the style.
 * @param {number} lines - Specify the lines.
 * @param {number} lineHeight - Specify the line height.
 * @returns {number} - get text height with border.
 * @hidden
 */
export  function getTextHeightWithBorder(context: Workbook, rowIdx: number, colIdx: number, sheet: SheetModel, style: CellStyleModel, lines?: number, lineHeight?: number): number;
/**
 * Setting maximum height while doing formats and wraptext
 *
 * @hidden
 * @param {SheetModel} sheet - Specify the sheet
 * @param {number} rIdx - specify the row Index
 * @param {number} cIdx - specify the column Index.
 * @param {number} hgt - specify the hgt
 * @returns {void} - Setting maximum height while doing formats and wraptext
 */
export  function setMaxHgt(sheet: SheetModel, rIdx: number, cIdx: number, hgt: number): void;
/**
 * Getting maximum height by comparing each cell's modified height.
 *
 * @hidden
 * @param {SheetModel} sheet - Specify the sheet.
 * @param {number} rIdx - Specify the row index.
 * @returns {number} - Getting maximum height by comparing each cell's modified height.
 */
export  function getMaxHgt(sheet: SheetModel, rIdx: number): number;
/**
 * @hidden
 * @param {HTMLElement} ele - Specify the element.
 * @returns {void} - Specify the focus.
 */
export  function focus(ele: HTMLElement): void;
/**
 * Checks whether a specific range of cells is locked or not.
 *
 * @param {Spreadsheet} parent - Specify the spreadsheet.
 * @param {number[]} rangeIndexes - Specify the range indexes.
 * @returns {boolean} - Returns true if any of the cells is locked and returns false if none of the cells is locked.
 * @hidden
 */
export  function isLockedCells(parent: Spreadsheet, rangeIndexes?: number[]): boolean;
/**
 * Checks whether the range is discontinuous or not.
 *
 * @param {string} range - Specify the sheet
 * @returns {boolean} - Returns true if the range is discontinuous range.
 * @hidden
 */
export  function isDiscontinuousRange(range: string): boolean;
/**
 * @hidden
 * @param {Spreadsheet} context - Specifies the context.
 * @param {number[]} range - Specifies the address range.
 * @param {number} sheetIdx - Specifies the sheetIdx.
 * @returns {void} - To clear the range.
 */
export  function clearRange(context: Spreadsheet, range: number[], sheetIdx: number): void;
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/index.d.ts
/**
 * Export Spreadsheet viewer modules
 */
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/integrations/chart.d.ts
/**
 * Open properties.
 */
/**
 * Represents Chart support for Spreadsheet.
 */
export  class SpreadsheetChart {
    private parent;
    private chart;
    /**
     * Constructor for the Spreadsheet Chart module.
     *
     * @param {Spreadsheet} parent - Constructor for the Spreadsheet Chart module.
     */
    constructor(parent: Spreadsheet);
    /**
     * Adding event listener for success and failure
     *
     * @returns {void} - Adding event listener for success and failure
     */
    private addEventListener;
    private insertChartHandler;
    private chartRangeHandler;
    private getPropertyValue;
    private updateChartHandler;
    private refreshChartCellObj;
    private processChartRange;
    private toIntrnlRange;
    private getRangeData;
    private pushRowData;
    private toArrayData;
    private getVirtualXValues;
    private processChartSeries;
    private primaryYAxisFormat;
    private focusChartRange;
    private clearBorder;
    private initiateChartHandler;
    deleteChart(args: {
        id: string;
        range?: string;
        isUndoRedo?: boolean;
    }): void;
    private updateChartModel;
    private updateChartElement;
    private undoRedoForChartDesign;
    private chartDesignTabHandler;
    private switchRowColumn;
    private switchChartTheme;
    private getThemeBgColor;
    private switchChartType;
    private getChartElement;
    private getChartCollectionId;
    private changeCharType;
    private titleDlgHandler;
    private titleDlgContent;
    /**
     * Removing event listener for success and failure
     *
     * @returns {void} - Removing event listener for success and failure
     */
    private removeEventListener;
    /**
     * To Remove the event listeners.
     *
     * @returns {void} - To Remove the event listeners.
     */
    destroy(): void;
    /**
     * Get the sheet chart module name.
     *
     * @returns {string} - Get the module name.
     */
    getModuleName(): string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/integrations/color-picker.d.ts
/**
 * `Color Picker` module is used to handle ColorPicker functionality.
 *
 * @hidden
 */
export  class ColorPicker {
    private parent;
    private fontColorPicker;
    private filColorPicker;
    constructor(parent: Spreadsheet);
    private render;
    private updateSelectedColor;
    private openHandler;
    private beforeCloseHandler;
    private beforeModeSwitch;
    private destroy;
    private addEventListener;
    private removeEventListener;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/integrations/context-menu.d.ts
/**
 * Represents context menu for Spreadsheet.
 */
export  class ContextMenu {
    private parent;
    private contextMenuInstance;
    /**
     * Constructor for ContextMenu module.
     *
     * @param {Spreadsheet} parent - Constructor for ContextMenu module.
     */
    constructor(parent: Spreadsheet);
    private init;
    private initContextMenu;
    /**
     * Before close event handler.
     *
     * @param {BeforeOpenCloseMenuEventArgs} args - Specify the args
     * @returns {void} - Before close event handler.
     */
    private beforeCloseHandler;
    /**
     * Select event handler.
     *
     * @param {MenuEventArgs} args - Specify the args
     * @returns {void} - Select event handler.
     */
    private selectHandler;
    private getInsertModel;
    /**
     * Before open event handler.
     *
     * @param {BeforeOpenCloseMenuEventArgs} args - Specify the args.
     * @returns {void} - Before open event handler.
     */
    private beforeOpenHandler;
    /**
     * To get target area based on right click.
     *
     * @param {Element} target - Specify the target
     * @returns {string} - To get target area based on right click.
     */
    private getTarget;
    /**
     * To populate context menu items based on target area.
     *
     * @param {string} target - Specify the target
     * @param {Element} targetEle - Specify the target element
     * @returns {MenuItemModel[]} - To populate context menu items based on target area.
     */
    private getDataSource;
    private setProtectSheetItems;
    /**
     * Sets sorting related items to the context menu.
     *
     * @param {MenuItemModel[]} items - Specifies the item
     * @param {string} id - Specify the id.
     * @returns {void} - Sets sorting related items to the context menu.
     */
    private setFilterItems;
    /**
     * Sets sorting related items to the context menu.
     *
     * @param {MenuItemModel[]} items - Specifies the item
     * @param {string} id - Specify the id.
     * @returns {void} - Sets sorting related items to the context menu.
     */
    private setSortItems;
    private setHyperLink;
    private setClipboardData;
    private setInsertDeleteItems;
    private setHideShowItems;
    /**
     * To add event listener.
     *
     * @returns {void} - To add event listener.
     */
    private addEventListener;
    /**
     * To add context menu items before / after particular item.
     *
     * @param {InsertArgs} args - Specify the add item handler
     * @returns {void} - To add context menu items before / after particular item.
     */
    private addItemsHandler;
    /**
     * To remove context menu items.
     *
     * @param {RemoveArgs} args - Specifies the args
     * @returns {void} - To remove context menu items.
     */
    private removeItemsHandler;
    /**
     * To enable / disable context menu items.
     *
     * @param {EnableDisableArgs} args - Specifies the args
     * @returns {void} - To enable / disable context menu items.
     */
    private enableItemsHandler;
    /**
     * To remove event listener.
     *
     * @returns {void} - To remove event listener.
     */
    private removeEventListener;
    /**
     * To get module name.
     *
     * @returns {string} - To get module name.
     */
    protected getModuleName(): string;
    /**
     * Destroy method.
     *
     * @returns {void} - Destroy method.
     */
    protected destroy(): void;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/integrations/filter.d.ts
/**
 * `Filter` module is used to handle the filter action in Spreadsheet.
 */
export  class Filter {
    private parent;
    private filterRange;
    private filterCollection;
    private filterBtn;
    /**
     * Constructor for filter module.
     *
     * @param {Spreadsheet} parent - Specifies the Spreadsheet.
     */
    constructor(parent: Spreadsheet);
    /**
     * To destroy the filter module.
     *
     * @returns {void} - To destroy the filter module.
     */
    protected destroy(): void;
    private addEventListener;
    private removeEventListener;
    /**
     * Gets the module name.
     *
     * @returns {string} - Gets the module name.
     */
    protected getModuleName(): string;
    /**
     * Validates the range and returns false when invalid.
     *
     * @param {SheetModel} sheet - Specify the sheet.
     * @param {string} range - Specify the range.
     * @returns {void} - Validates the range and returns false when invalid.
     */
    private isInValidFilterRange;
    /**
     * Shows the range error alert dialog.
     *
     * @param {any} args - Specifies the args
     * @param {string} args.error - range error string.
     * @returns {void} - Shows the range error alert dialog.
     */
    private filterRangeAlertHandler;
    /**
     * Triggers before filter context menu opened and used to add sorting items.
     *
     * @param {any} args - Specifies the args
     * @param {HTMLElement} args.element - Specify the element
     * @returns {void} - Triggers before filter context menu opened and used to add sorting items.
     */
    private beforeFilterMenuOpenHandler;
    /**
     * Creates new menu item element
     *
     * @param {Element} ul - Specify the element.
     * @param {string} text - Specify the text.
     * @param {string} className - Specify the className
     * @param {string} iconCss - Specify the iconCss
     * @returns {void} - Creates new menu item element
     */
    private addMenuItem;
    /**
     * Initiates the filter UI for the selected range.
     *
     * @param {any} args - Specifies the args
     * @param {PredicateModel[]} args.predicates - Specify the predicates.
     * @param {number} args.range - Specify the range.
     * @param {Promise<FilterEventArgs>} args.promise - Spefify the promise.
     * @param {number} args.sIdx - Specify the sIdx
     * @param {boolean} args.isCut - Specify the bool value
     * @param {boolean} args.isUndoRedo - Specify the bool value
     * @param {boolean} args.isInternal - Spefify the isInternal.
     * @returns {void} - Initiates the filter UI for the selected range.
     */
    private initiateFilterUIHandler;
    /**
     * Processes the range if no filter applied.
     *
     * @param {SheetModel} sheet - Specify the sheet.
     * @param {number} sheetIdx - Specify the sheet index.
     * @param {string} filterRange - Specify the filterRange.
     * @param {boolean} preventRefresh - To prevent refreshing the filter buttons.
     * @param {boolean} useFilterRange - Specifies whether to consider filtering range or used range during filering.
     * @returns {void} - Processes the range if no filter applied.
     */
    private processRange;
    /**
     * Removes all the filter related collections for the active sheet.
     *
     * @param {number} sheetIdx - Specify the sheet index.
     * @param {boolean} isCut - Specify the bool value.
     * @param {boolean} preventRefresh - Specify the preventRefresh.
     * @param {boolean} isUndoRedo - Specify the isUndoRedo.
     * @returns {void} - Removes all the filter related collections for the active sheet.
     */
    private removeFilter;
    /**
     * Handles filtering cell value based on context menu.
     *
     * @returns {void} - Handles filtering cell value based on context menu.
     */
    private filterByCellValueHandler;
    /**
     * Creates filter buttons and renders the filter applied cells.
     *
     * @param { any} args - Specifies the args
     * @param { HTMLElement} args.td - specify the element
     * @param { number} args.rowIndex - specify the rowIndex
     * @param { number} args.colIndex - specify the colIndex
     * @param { number} args.sIdx - specify the sIdx
     * @returns {void} - Creates filter buttons and renders the filter applied cells.
     */
    private renderFilterCellHandler;
    private getFilterSortClassName;
    /**
     * Refreshes the filter header range.
     *
     * @param {number[]} filterRange - Specify the filterRange.
     * @param {boolean} remove - Specify the bool value
     * @param {number} sIdx - Specify the index.
     * @returns {void} - Refreshes the filter header range.
     */
    private refreshFilterRange;
    /**
     * Checks whether the provided cell is a filter cell.
     *
     * @param {number} sheetIdx - Specify the sheet index.
     * @param {number} rowIndex - Specify the row index
     * @param {number} colIndex - Specify the col index.
     * @returns {boolean} - Checks whether the provided cell is a filter cell.
     */
    private isFilterCell;
    /**
     * Checks whether the provided cell is in a filter range
     *
     * @param {number} sheetIdx - Specify the sheet index.
     * @param {number} rowIndex - Specify the row index
     * @param {number} colIndex - Specify the col index.
     * @returns {boolean} - Checks whether the provided cell is in a filter range
     */
    private isFilterRange;
    /**
     * Gets the filter information from active cell
     *
     * @param {any} args - Specifies the args
     * @param {string} args.field - Specify the field
     * @param {string} args.clearFilterText - Specify the clearFilterText
     * @param {boolean} args.isFiltered - Specify the isFiltered
     * @param {boolean} args.isClearAll - Specify the isClearAll
     * @returns {void} - Triggers before context menu created to enable or disable items.
     */
    private getFilteredColumnHandler;
    /**
     * Triggers before context menu created to enable or disable items.
     *
     * @param {any} e - Specifies the args
     * @param {HTMLElement} e.element - Specify the element
     * @param {MenuItemModel[]} e.items - Specify the items
     * @param {MenuItemModel} e.parentItem - Specify the parentItem
     * @param {string} e.target - Specify the target
     * @returns {void} - Triggers before context menu created to enable or disable items.
     */
    private cMenuBeforeOpenHandler;
    /**
     * Closes the filter popup.
     *
     * @returns {void} - Closes the filter popup.
     */
    private closeDialog;
    private removeFilterClass;
    /**
     * Returns true if the filter popup is opened.
     *
     * @returns {boolean} - Returns true if the filter popup is opened.
     */
    private isPopupOpened;
    private filterCellKeyDownHandler;
    private filterMouseDownHandler;
    private initTreeView;
    private generatePredicate;
    private refreshCheckbox;
    private openDialog;
    private getPredicateRange;
    private filterDialogCreatedHandler;
    /**
     * Formats cell value for listing it in filter popup.
     *
     * @param {any} args - Specifies the args
     * @param {string | number} args.value - Specify the value
     * @param {object} args.column - Specify the column
     * @param {object} args.data - Specify the data
     * @returns {void} - Formats cell value for listing it in filter popup.
     */
    private filterCboxValueHandler;
    /**
     * Triggers when sorting items are chosen on context menu of filter popup.
     *
     * @param {HTMLElement} target - Specify the element.
     * @returns {void} - Triggers when sorting items are chosen on context menu of filter popup.
     */
    private selectSortItemHandler;
    /**
     * Triggers when OK button or clear filter item is selected
     *
     * @param {DataManager} dataSource - Specify the data source
     * @param {Object} args - Specify the data source
     * @param {string} args.action - Specify the action
     * @param {PredicateModel[]} args.filterCollection - Specify the filter collection.
     * @param {string} args.field - Specify the field.
     * @param {number} args.sIdx - Specify the index.
     * @param {boolean} args.isUndoRedo - Specify the bool.
     * @param {boolean} args.isInternal - Specify the isInternal.
     * @param {boolean} args.isFilterByValue - Specify the isFilterByValue.
     * @param {PredicateModel[]} args.prevPredicates - Specify the prevPredicates.
     * @returns {void} - Triggers when OK button or clear filter item is selected
     */
    private filterSuccessHandler;
    private updatePredicate;
    /**
     * Triggers events for filtering and applies filter.
     *
     * @param {FilterOptions} filterOptions - Specify the filteroptions.
     * @param {string} range - Specify the range.
     * @param {number} sheetIdx - Specify the sheet index.
     * @param {PredicateModel[]} prevPredicates - Specify the predicates.
     * @param {boolean} isUndoRedo - Specify the undo redo.
     * @param {boolean} refresh - Spefify the refresh.
     * @param {boolean} isInternal - Specify the isInternal.
     * @returns {void} - Triggers events for filtering and applies filter.
     */
    private applyFilter;
    /**
     * Gets the predicates for the sheet
     *
     * @param {number} sheetIdx - Specify the sheetindex
     * @returns {Predicate[]} - Gets the predicates for the sheet
     */
    private getPredicates;
    /**
     * Gets the column type to pass it into the excel filter options.
     *
     * @param {SheetModel} sheet - Specify the sheet.
     * @param {number} colIndex - Specify the colindex
     * @param {number[]} range - Specify the range.
     * @returns {string} - Gets the column type to pass it into the excel filter options.
     */
    private getColumnType;
    private getDateFormatFromColumn;
    /**
     * Clear filter from the field.
     *
     * @param {any} args - Specifies the args
     * @param {{ field: string }} args.field - Specify the args
     * @param {boolean} args.isAction - Specify the isAction.
     * @param {boolean} args.preventRefresh - Specify the preventRefresh.
     * @returns {void} - Clear filter from the field.
     */
    private clearFilterHandler;
    /**
     * Reapplies the filter.
     *
     * @param {boolean} isInternal - Specifies the isInternal.
     * @param {boolean} refresh - Specifies the refresh.
     * @returns {void} - Reapplies the filter.
     */
    private reapplyFilterHandler;
    /**
     * Gets the filter information of the sheet.
     *
     * @param {FilterInfoArgs} args - Specify the args
     * @returns {void} - Gets the filter information of the sheet.
     */
    private getFilterRangeHandler;
    /**
     * Returns the custom operators for filter items.
     *
     * @returns {Object} - Returns the custom operators for filter items.
     */
    private getLocalizedCustomOperators;
    /**
     * To get filtered range and predicates collections
     *
     * @returns {void} - To get filtered range and predicates collections
     */
    private getFilteredCollection;
    private updateFilter;
    private getFilterOperator;
    private beforeInsertHandler;
    private beforeDeleteHandler;
    private deleteSheetHandler;
    private clearHandler;
    private duplicateSheetFilterHandler;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/integrations/formula-bar.d.ts
/**
 * Represents Formula bar for Spreadsheet.
 */
export  class FormulaBar {
    private parent;
    private comboBoxInstance;
    private insertFnRipple;
    private categoryCollection;
    private formulaCollection;
    private categoryList;
    private formulaList;
    private dialog;
    private isGoto;
    constructor(parent: Spreadsheet);
    getModuleName(): string;
    private createFormulaBar;
    private textAreaFocusIn;
    private textAreaFocusOut;
    private keyDownHandler;
    private keyUpHandler;
    private nameBoxBeforeOpen;
    private nameBoxBlur;
    private nameBoxSelect;
    private formulaBarUpdateHandler;
    private isDateTimeType;
    private UpdateValueAfterMouseUp;
    private updateComboBoxValue;
    private disabletextarea;
    private formulaBarScrollEdit;
    private formulaBarClickHandler;
    private renderInsertDlg;
    private toggleFormulaBar;
    private toggleFormulaBarBtn;
    private dialogOpen;
    private dialogClose;
    private dialogBeforeClose;
    private selectFormula;
    private listSelected;
    private updateFormulaList;
    private dropDownSelect;
    private activeListFormula;
    private updateFormulaDescription;
    private formulaClickHandler;
    private addEventListener;
    destroy(): void;
    private removeEventListener;
    private editOperationHandler;
    private isFormulaBarEdit;
    private getFormulaBar;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/integrations/formula.d.ts
/**
 * @hidden
 * The `Formula` module is used to handle the formulas and its functionalities in Spreadsheet.
 */
export  class Formula {
    private parent;
    private isFormulaBar;
    private isFormula;
    private isPopupOpened;
    private isPreventClose;
    private isSubFormula;
    autocompleteInstance: dropdowns.AutoComplete;
    /**
     * Constructor for formula module in Spreadsheet.
     *
     * @private
     * @param {Spreadsheet} parent - Constructor for formula module in Spreadsheet.
     */
    constructor(parent: Spreadsheet);
    /**
     * Get the module name.
     *
     * @returns {string} - Get the module name.
     * @private
     */
    getModuleName(): string;
    /**
     * To destroy the formula module.
     *
     * @returns {void} - To destroy the formula module.
     * @hidden
     */
    destroy(): void;
    private addEventListener;
    private removeEventListener;
    private performFormulaOperation;
    private renderAutoComplete;
    private onSuggestionOpen;
    private onSuggestionClose;
    private onSelect;
    private onSuggestionComplete;
    private refreshFormulaDatasource;
    private keyUpHandler;
    private keyDownHandler;
    private formulaClick;
    private refreshFormulaSuggestion;
    private endEdit;
    private hidePopUp;
    private getSuggestionKeyFromFormula;
    private getRelateToElem;
    private getEditingValue;
    private isNavigationKey;
    private triggerKeyDownEvent;
    private getArgumentSeparator;
    private getNames;
    private getNameFromRange;
    private addDefinedName;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/integrations/image.d.ts
/**
 * Open properties.
 */
export  class SpreadsheetImage {
    private parent;
    private pictureCount;
    constructor(parent: Spreadsheet);
    /**
     * Adding event listener for success and failure
     *
     * @returns {void} - Adding event listener for success and failure
     */
    private addEventListener;
    /**
     *
     */
    private renderImageUpload;
    /**
     * Process after select the excel and image file.
     *
     * @param {Event} args - File select native event.
     * @returns {void} - Process after select the excel and image file.
     */
    private imageSelect;
    /**
     * Removing event listener for success and failure
     *
     * @returns {void} - Removing event listener for success and failure
     */
    private removeEventListener;
    private insertImage;
    private binaryStringVal;
    private createImageElement;
    private refreshImgElem;
    private refreshInsDelImagePosition;
    private refreshImgCellObj;
    deleteImage(args: {
        id: string;
        range?: string;
        preventEventTrigger?: boolean;
    }): void;
    /**
     * To Remove the event listeners.
     *
     * @returns {void} - To Remove the event listeners.
     */
    destroy(): void;
    /**
     * Get the sheet picture module name.
     *
     * @returns {string} - Get the sheet picture module name.
     */
    getModuleName(): string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/integrations/index.d.ts
/**
 * Export Spreadsheet integration modules
 */
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/integrations/number-format.d.ts
/**
 * Specifies number format.
 */
export  class NumberFormat {
    private parent;
    constructor(parent: Spreadsheet);
    private refreshCellElement;
    private getTextSpace;
    private rowFillHandler;
    /**
     * Adding event listener for number format.
     *
     * @hidden
     * @returns {void} - Adding event listener for number format.
     */
    private addEventListener;
    /**
     * Removing event listener for number format.
     *
     * @hidden
     * @returns {void} - Removing event listener for number format.
     */
    private removeEventListener;
    /**
     * To Remove the event listeners.
     *
     * @returns {void} - To Remove the event listeners.
     */
    destroy(): void;
    /**
     *
     */
    getModuleName(): string;
}
/**
 * @hidden
 */
export interface RefreshValueArgs {
    rowIndex?: number;
    colIndex?: number;
    result?: string;
    sheetIndex?: number;
    isRightAlign?: boolean;
    type?: string;
    curSymbol?: string;
    value?: string;
    isRowFill?: boolean;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/integrations/open.d.ts
/**
 * Open properties.
 */
export  class Open {
    private parent;
    isImportedFile: boolean;
    unProtectSheetIdx: number[];
    constructor(parent: Spreadsheet);
    /**
     * Adding event listener for success and failure
     *
     * @returns {void} - Adding event listener for success and failure
     */
    private addEventListener;
    /**
     * Removing event listener for success and failure
     *
     * @returns {void} - Removing event listener for success and failure
     */
    private removeEventListener;
    /**
     *
     */
    private renderFileUpload;
    /**
     * Process after select the excel and image file.
     *
     * @param {Event} args - File select native event.
     * @returns {void} - Process after select the excel and image file.
     */
    private fileSelect;
    /**
     * File open success event declaration.
     *
     * @param {string} response - File open success response text.
     * @returns {void} - File open success event declaration.
     */
    private openSuccess;
    /**
     * File open failure event declaration.
     *
     * @param {object} args - Open failure arguments.
     * @returns {void} - File open failure event declaration.
     */
    private openFailed;
    /**
     * To Remove the event listeners.
     *
     * @returns {void} - To Remove the event listeners.
     */
    destroy(): void;
    /**
     * Get the sheet open module name.
     *
     * @returns {string} - Get the sheet open module name.
     */
    getModuleName(): string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/integrations/ribbon.d.ts
/**
 * Represents Ribbon for Spreadsheet.
 */
export  class Ribbon1 {
    private parent;
    private ribbon;
    private numFormatDDB;
    private fontSizeDdb;
    private fontNameDdb;
    private textAlignDdb;
    private verticalAlignDdb;
    private sortingDdb;
    private datavalidationDdb;
    private bordersDdb;
    private cfDdb;
    private clearDdb;
    private findDdb;
    private findDialog;
    private border;
    private fontNameIndex;
    private numPopupWidth;
    private pasteSplitBtn;
    private colorPicker;
    private mergeSplitBtn;
    private findValue;
    private preTabIdx;
    private addChartDdb;
    private cPickerEle;
    constructor(parent: Spreadsheet);
    getModuleName(): string;
    private ribbonOperation;
    private initialize;
    private getRibbonMenuItems;
    private getRibbonItems;
    private getPasteBtn;
    private getHyperlinkDlg;
    private passwordProtectDlg;
    private getLocaleText;
    private getLocaleProtectText;
    private getLocaleProtectWorkbook;
    private insertDesignChart;
    private removeDesignChart;
    private createRibbon;
    private tabSelecting;
    private beforeRenderHandler;
    private getChartThemeDDB;
    private getNumFormatDDB;
    private getFontSizeDDB;
    private getChartDDB;
    private createChartDdb;
    private createChartMenu;
    private getAddChartEleDBB;
    private createAddChartMenu;
    private getCFDBB;
    private createCFMenu;
    private createElement;
    private getBordersDBB;
    private createBorderMenu;
    private chartSelected;
    private addChartEleSelected;
    private cfSelected;
    private borderSelected;
    private getFontNameDDB;
    private getBtn;
    private datavalidationDDB;
    private getTextAlignDDB;
    private getVerticalAlignDDB;
    private getMergeSplitBtn;
    private mergeSelectHandler;
    private unMerge;
    private merge;
    private performMerge;
    private getSortFilterDDB;
    private getFindBtn;
    private findToolDlg;
    private updateCount;
    private closeDialog;
    private getClearDDB;
    private ribbonCreated;
    private alignItemRender;
    private getAlignText;
    private toggleBtnClicked;
    private getCellStyleValue;
    private refreshSelected;
    private expandCollapseHandler;
    private getChartThemeDdbItems;
    private getNumFormatDdbItems;
    private getFontFamilyItems;
    private numDDBSelect;
    private renderCustomFormatDialog;
    private tBarDdbBeforeOpen;
    private numDDBOpen;
    private previewNumFormat;
    private refreshRibbonContent;
    private refreshHomeTabContent;
    private refreshTextAlign;
    private toggleActiveState;
    private refreshToggleBtn;
    private refreshFontNameSelection;
    private refreshNumFormatSelection;
    private fileMenuItemSelect;
    private toolbarClicked;
    private toggleRibbonItems;
    private enableFileMenuItems;
    private hideRibbonTabs;
    private addRibbonTabs;
    private updateToggleText;
    private refreshViewTabContent;
    private updateViewTabContent;
    private updateRibbonItemText;
    private refreshDataTabContent;
    private updateDataTabContent;
    private updateProtectBtn;
    private updateProtectWorkbookBtn;
    private addToolbarItems;
    private enableToolbarItems;
    private createMobileView;
    private renderMobileToolbar;
    private fileMenuBeforeOpen;
    private enableRibbonTabs;
    private fileMenuBeforeClose;
    private hideFileMenuItems;
    private addFileMenuItems;
    private hideToolbarItems;
    private protectSheetHandler;
    private updateMergeItem;
    private onPropertyChanged;
    private addEventListener;
    destroy(): void;
    private destroyComponent;
    private detachPopupElement;
    private removeEventListener;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/integrations/save.d.ts
/**
 * `Save` module is used to handle the save action in Spreadsheet.
 */
export  class Save {
    private parent;
    /**
     * Constructor for Save module in Spreadsheet.
     *
     * @private
     * @param {Spreadsheet} parent - Specifies the Spreadsheet instance.
     */
    constructor(parent: Spreadsheet);
    /**
     * To destroy the Save module.
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    private addEventListener;
    private removeEventListener;
    /**
     * Get the module name.
     *
     * @returns {string} - Get the module name.
     * @private
     */
    getModuleName(): string;
    /**
     * Initiate save process.
     *
     * @hidden
     * @returns {void} - Initiate save process.
     */
    private initiateSave;
    /**
     * Save action completed.
     *
     * @hidden
     * @returns {void} - Save action completed.
     */
    private saveCompleted;
    private showErrorDialog;
    private exportDialog;
    private checkValidName;
    private OpenContent;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/integrations/sheet-tabs.d.ts
/**
 * Represents SheetTabs for Spreadsheet.
 */
export  class SheetTabs {
    private parent;
    private tabInstance;
    private dropDownInstance;
    private addBtnRipple;
    private aggregateDropDown;
    private aggregateContent;
    private selaggregateCnt;
    constructor(parent: Spreadsheet);
    getModuleName(): string;
    private createSheetTabs;
    private goToSheet;
    private updateDropDownItems;
    private beforeOpenHandler;
    private openHandler;
    private getSheetTabItems;
    private refreshSheetTab;
    private addSheetTab;
    private insertSheetTab;
    private updateSheetTab;
    private showSheet;
    private switchSheetTab;
    private skipHiddenSheets;
    private renameSheetTab;
    private updateWidth;
    private renameInputFocusOut;
    private focusTab;
    private updateSheetName;
    private hideSheet;
    private removeRenameInput;
    private showRenameDialog;
    private focusRenameInput;
    private removeSheetTab;
    private forceDelete;
    private destroySheet;
    private showAggregate;
    private getAggregateItems;
    private updateAggregateContent;
    private removeAggregate;
    private addEventListener;
    destroy(): void;
    private removeEventListener;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/integrations/sort.d.ts
/**
 * `Sort` module is used to handle the sort action in Spreadsheet.
 */
export  class Sort {
    private parent;
    /**
     * Constructor for sort module.
     *
     * @param {Spreadsheet} parent - Specifies the Spreadsheet instance.
     */
    constructor(parent: Spreadsheet);
    /**
     * To destroy the sort module.
     *
     * @returns {void}
     */
    protected destroy(): void;
    private addEventListener;
    private removeEventListener;
    /**
     * Gets the module name.
     *
     * @returns {string} - Gets the module name.
     */
    protected getModuleName(): string;
    /**
     * Validates the range and returns false when invalid.
     *
     * @returns {boolean} - Validates the range and returns false when invalid.
     */
    private isValidSortRange;
    /**
     *
     * @param {any} args - Specifies the args
     * @param {number} args.sheetIdx - Specifies the sheet index
     * @returns {void}
     */
    private sortImport;
    /**
     * Shows the range error alert dialog.
     *
     * @param {object} args - specify the args
     * @param {string} args.error - range error string.
     * @returns {void}
     */
    private sortRangeAlertHandler;
    /**
     * Initiates the custom sort dialog.
     *
     * @returns {void}
     */
    private initiateCustomSortHandler;
    /**
     * Validates the errors of the sort criteria and displays the error.
     *
     * @param {Object} json - listview datasource.
     * @param {HTMLElement} dialogElem - dialog content element.
     * @param {HTMLElement} errorElem - element to display error.
     * @returns {boolean} - Return boolean value.
     */
    private validateError;
    /**
     * Creates all the elements and generates the dialog content element.
     *
     * @returns {HTMLElement} - Returns the dialog element.
     */
    private customSortContent;
    /**
     * Gets the fields data from the selected range.
     *
     * @returns {Object} - Gets the fields data from the selected range.
     */
    private getFields;
    /**
     * Creates the header tab for the custom sort dialog.
     *
     * @param {HTMLElement} dialogElem - dialog content element.
     * @param {ListView} listviewObj - listview instance.
     * @param {Object} fields - fields data.
     * @returns {void} - set header tab.
     */
    private setHeaderTab;
    /**
     * Creates a listview instance.
     *
     * @param {string} listId - unique id of the list item.
     * @returns {void}
     */
    private getCustomListview;
    /**
     * Triggers the click event for delete icon.
     *
     * @param {Element} element - current list item element.
     * @param {ListView} listviewObj - listview instance.
     * @returns {void}
     */
    private deleteHandler;
    /**
     * Renders the dropdown and radio button components inside list item.
     *
     * @param {string} id - unique id of the list item.
     * @param {ListView} lvObj - listview instance.
     * @param {boolean} containsHeader - data contains header.
     * @param {string} fields - fields data.
     * @param {boolean} btn - boolean value.
     * @returns {void}
     */
    private renderListItem;
    /**
     * Sets the new value of the radio button.
     *
     * @param {ListView} listviewObj - listview instance.
     * @param {string} id - unique id of the list item.
     * @param {string} value - new value.
     * @returns {void}
     */
    private setRadioBtnValue;
    /**
     *
     * Clears the error from the dialog.
     *
     * @returns {void}
     */
    private clearError;
    /**
     * Triggers sort events and applies sorting.
     *
     * @param {Object} args - Specifies the args.
     * @param {SortOptions} args.sortOptions - Specifies the sort options.
     * @param {string} args.range - Specifies the range.
     * @returns {void}
     */
    private applySortHandler;
    /**
     *
     * Invoked when the sort action is completed.
     *
     * @param {SortEventArgs} args - Specifies the range and sort options.
     * @returns {void}
     */
    private sortCompleteHandler;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/renderer/cell.d.ts
/**
 * CellRenderer class which responsible for building cell content.
 *
 * @hidden
 */
export  class CellRenderer implements ICellRenderer {
    private parent;
    private element;
    private th;
    private tableRow;
    constructor(parent?: Spreadsheet);
    renderColHeader(index: number, row: Element, refChild?: Element): void;
    renderRowHeader(index: number, row: Element, refChild?: Element): void;
    render(args: CellRenderArgs): Element;
    private setWrapByValue;
    private update;
    private applyStyle;
    private calculateFormula;
    private checkMerged;
    private mergeFreezeRow;
    private updateSpanTop;
    private mergeFreezeCol;
    private updateColZIndex;
    private updateSelectAllZIndex;
    private updatedHeaderZIndex;
    private updateRowZIndex;
    private processTemplates;
    private compileCellTemplate;
    private getRowHeightOnInit;
    private removeStyle;
    /**
     * @hidden
     * @param {number[]} range - Specifies the range.
     * @param {boolean} refreshing - Specifies the refresh.
     * @param {boolean} checkWrap - Specifies the range.
     * @param {boolean} checkHeight - Specifies the checkHeight.
     * @param {boolean} checkCF - Specifies the check for conditional format.
     * @returns {void}
     */
    refreshRange(range: number[], refreshing?: boolean, checkWrap?: boolean, checkHeight?: boolean, checkCF?: boolean): void;
    refresh(rowIdx: number, colIdx: number, lastCell?: boolean, element?: Element, checkCF?: boolean, checkWrap?: boolean): void;
    private updateView;
    /**
     * Removes the added event handlers and clears the internal properties of CellRenderer module.
     *
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/renderer/index.d.ts
/**
 * Export the Spreadsheet viewer
 */
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/renderer/render.d.ts
/**
 * Render module is used to render the spreadsheet
 *
 * @hidden
 */
export  class Render {
    private parent;
    constructor(parent: Spreadsheet);
    render(): void;
    private checkTopLeftCell;
    private renderSheet;
    /**
     * @hidden
     * @param {RefreshArgs} args - Specifies the RefreshArgs.
     * @param {string} address - Specifies the address.
     * @param {boolean} initLoad - Specifies the initLoad.
     * @param {boolean} isRefreshing - Specifies the isRefreshing.
     * @returns {void}
     */
    refreshUI(args: RefreshArgs, address?: string, initLoad?: boolean, isRefreshing?: boolean, preventModelCheck?: boolean): void;
    private updateTopLeftScrollPosition;
    private removeSheet;
    /**
     * Refresh the active sheet.
     *
     * @param {boolean} isOpen - Specifies the isOpen.
     * @param {boolean} resize - Set `true` to refresh the sheet with exiting scroll top and left.
     * @param {boolean} focusEle - Specify the focusEle.
     * @returns {void}
     */
    refreshSheet(isOpen?: boolean, resize?: boolean, focusEle?: boolean, preventModelCheck?: boolean): void;
    /**
     * Used to set sheet panel size.
     *
     * @returns {void}
     */
    setSheetPanelSize(): void;
    private roundValue;
    private moveOrDuplicateSheetHandler;
    decreaseHidden(startIdx: number, endIdx: number, freezeCount: number, layout?: string): number;
    /**
     * Registing the renderer related services.
     *
     * @returns {void}
     */
    private instantiateRenderer;
    /**
     * Destroy the Render module.
     *
     * @returns {void}
     */
    destroy(): void;
    private addEventListener;
    private removeEventListener;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/renderer/row.d.ts
/**
 * RowRenderer module is used for creating row element
 *
 * @hidden
 */
export  class RowRenderer implements IRowRenderer {
    private parent;
    private element;
    private cellRenderer;
    constructor(parent?: Spreadsheet);
    render(index?: number, isRowHeader?: boolean, preventHiddenCls?: boolean): Element;
    refresh(index: number, pRow: Element, hRow?: Element, header?: boolean, preventHiddenCls?: boolean): Element;
    /**
     * Clears the internal properties of RowRenderer module.
     *
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/renderer/sheet.d.ts
/**
 * Sheet module is used to render Sheet
 *
 * @hidden
 */
export  class SheetRender implements IRenderer {
    private parent;
    private headerPanel;
    contentPanel: HTMLElement;
    private col;
    private rowRenderer;
    private cellRenderer;
    colGroupWidth: number;
    constructor(parent?: Spreadsheet);
    private refreshSelectALLContent;
    private updateLeftColGroup;
    setPanelWidth(sheet: SheetModel, rowHdr: HTMLElement): void;
    getScrollSize(addOffset?: boolean): number;
    private setHeaderPanelWidth;
    private setPanelHeight;
    renderPanel(): void;
    private initHeaderPanel;
    private createHeaderTable;
    private updateTable;
    /**
     * It is used to refresh the select all, row header, column header and content of the spreadsheet.
     *
     * @param {SheetRenderArgs} args - Specifies the cells, indexes, direction, skipUpdateOnFirst, top, left, initload properties.
     * @returns {void}
     */
    renderTable(args: SheetRenderArgs): void;
    private triggerCreatedEvent;
    /**
     */
    private checkRowHeightChanged;
    private checkTableWidth;
    private clearCFResult;
    refreshColumnContent(args: SheetRenderArgs): void;
    refreshRowContent(args: SheetRenderArgs): void;
    updateCol(sheet: SheetModel, idx: number, appendTo?: Element): Element;
    updateColContent(args: SheetRenderArgs): void;
    updateRowContent(args: SheetRenderArgs): void;
    private checkRowMerge;
    private refreshPrevMerge;
    private checkColMerge;
    toggleGridlines(): void;
    /**
     * Used to toggle row and column headers.
     *
     * @returns {void}
     */
    showHideHeaders(): void;
    private updateHideHeaders;
    rowHeightChanged(args: {
        rowIdx: number;
        threshold: number;
        isHideShow?: boolean;
    }): void;
    colWidthChanged(args: {
        colIdx: number;
        threshold: number;
        isHideShow?: boolean;
    }): void;
    getRowHeaderWidth(sheet: SheetModel, skipFreezeCheck?: boolean): number;
    getColHeaderHeight(sheet: SheetModel, skipHeader?: boolean): number;
    /**
     * Get the select all table element of spreadsheet
     *
     * @returns {HTMLElement} - Select all content element.
     */
    getSelectAllContent(): HTMLElement;
    /**
     * Get the horizontal scroll element of spreadsheet
     *
     * @returns {HTMLElement} - Select all content element.
     */
    getScrollElement(): HTMLElement;
    /**
     * Get the select all table element of spreadsheet
     *
     * @returns {HTMLTableElement} - Select all table element.
     */
    getSelectAllTable(): HTMLTableElement;
    /**
     * Get the column header element of spreadsheet
     *
     * @returns {HTMLTableElement} - Column header table element.
     */
    getColHeaderTable(): HTMLTableElement;
    /**
     * Get the row header table element of spreadsheet
     *
     * @returns {HTMLTableElement} - Row header table element.
     */
    getRowHeaderTable(): HTMLTableElement;
    /**
     * Get the main content table element of spreadsheet
     *
     * @returns {Element} - Content table element.
     */
    getContentTable(): HTMLTableElement;
    /**
     * Get the row header div element of spreadsheet
     *
     * @returns {HTMLElement} - Row header panel element.
     */
    getRowHeaderPanel(): HTMLElement;
    /**
     * Get the column header div element of spreadsheet
     *
     * @returns {HTMLElement} - Column header panel element.
     */
    getColHeaderPanel(): HTMLElement;
    /**
     * Get the main content div element of spreadsheet
     *
     * @returns {HTMLElement} - Content panel element.
     */
    getContentPanel(): HTMLElement;
    private addEventListener;
    /**
     * Clears the internal properties of Sheet module.
     *
     * @returns {void}
     */
    destroy(): void;
    private removeEventListener;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/services/action-events.d.ts
/**
 *  Begin and complete events.
 *
 * @hidden
 */
export  class ActionEvents {
    private parent;
    /**
     * Constructor for initializing action begin and action complete services.
     *
     * @param {Spreadsheet} parent - Specifies the spreadsheet element.
     */
    constructor(parent: Spreadsheet);
    private initializeActionBegin;
    private initializeActionComplete;
    private actionEventHandler;
    private actionBeginHandler;
    private actionCompleteHandler;
    private addEventListener;
    private removeEventListener;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/services/dialog.d.ts
/**
 * Dialog Service.
 *
 * @hidden
 */
export  class Dialog {
    private parent;
    dialogInstance: popups.Dialog;
    /**
     * Constructor for initializing dialog service.
     *
     * @param {Spreadsheet} parent - Specifies the Spreadsheet instance.
     */
    constructor(parent: Spreadsheet);
    /**
     * To show dialog.
     *
     * @param {popups.DialogModel} dialogModel - Specifies the Dialog model.
     * @param {boolean} cancelBtn - Specifies the cancel button.
     * @returns {void}
     */
    show(dialogModel: popups.DialogModel, cancelBtn?: boolean): void;
    /**
     * To destroy the dialog if it open is prevented by user.
     *
     * @returns {void}
     */
    destroyDialog(): void;
    /**
     * To hide dialog.
     *
     * @returns {void}
     */
    hide(disableAnimation?: boolean): void;
    /**
     * To clear private variables.
     *
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/services/index.d.ts
/**
 * Export Spreadsheet Services
 */
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/services/overlay.d.ts
/**
 * Specifes to create or modify overlay.
 *
 * @hidden
 */
export  class Overlay {
    private parent;
    private minHeight;
    private minWidth;
    private isOverlayClicked;
    private isResizerClicked;
    private originalMouseX;
    private originalMouseY;
    private originalWidth;
    private originalHeight;
    private currentWidth;
    private currenHeight;
    private originalResizeLeft;
    private originalResizeTop;
    private originalReorderLeft;
    private originalReorderTop;
    private resizedReorderLeft;
    private resizedReorderTop;
    private resizer;
    private diffX;
    private diffY;
    private prevX;
    private prevY;
    /**
     * Constructor for initializing Overlay service.
     *
     *  @param {Spreadsheet} parent - Specifies the Spreadsheet instance.
     */
    constructor(parent: Spreadsheet);
    /**
     * To insert a shape.
     *
     * @param {string} id - Specifies the id.
     * @param {string} range - Specifies the range.
     * @param {number} sheetIndex - Specifies the sheet index.
     * @returns {HTMLElement} - Returns div element
     * @hidden
     */
    insertOverlayElement(id: string, range: string, sheetIndex: number): HTMLElement;
    /**
     * To adjust the layout inside freeze pane.
     *
     * @hidden
     * @param {ChartModel} model - Specifies the id.
     * @param {HTMLElement} element - Specifies the range.
     * @param {string} range - Specifies the sheet index.
     * @returns {void}
     */
    adjustFreezePaneSize(model: ChartModel, element: HTMLElement, range: string): void;
    private addEventListener;
    private setOriginalSize;
    private overlayMouseMoveHandler;
    private overlayMouseUpHandler;
    private overlayClickHandler;
    private renderResizeHandles;
    private removeEventListener;
    /**
     * To clear private variables.
     *
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/actions/auto-fill.d.ts
/**
 * WorkbookAutoFill module allows to perform auto fill functionalities.
 */
export  class WorkbookAutoFill {
    private parent;
    private fillInfo;
    private uniqueOBracket;
    private uniqueCBracket;
    private uniqueDOperator;
    private uniqueModOperator;
    private uniqueCSeparator;
    private uniqueCOperator;
    private uniqueExpOperator;
    private uniqueGTOperator;
    private uniqueConcateOperator;
    private uniqueEqualOperator;
    private uniqueLTOperator;
    private uniqueMOperator;
    private uniquePOperator;
    private uniqueSOperator;
    /**
     * Constructor for the workbook AutoFill module.
     *
     * @param {Workbook} parent - Specifies the workbook.
     * @private
     */
    constructor(parent: Workbook);
    private getFillInfo;
    private isRange;
    private autoFill;
    private fillSeries;
    private copyCells;
    private updateFillValues;
    private getType;
    private getDataPattern;
    private getPredictionValue;
    private getPattern;
    private isCellReference;
    private round;
    private getRangeData;
    private getFormulaPattern;
    private generateColCount;
    private getCellRefPrediction;
    private isInPattern;
    private parseFormula;
    private getUniqueCharVal;
    private isUniqueChar;
    private markSpecialChar;
    private ensurePattern;
    private getSelectedRange;
    private getFillType;
    private addEventListener;
    /**
     * Destroy workbook AutoFill module.
     *
     * @returns {void} - destroy the workbook AutoFill module.
     */
    destroy(): void;
    private removeEventListener;
    /**
     * Get the workbook AutoFill module name.
     *
     * @returns {string} - Return the string.
     */
    getModuleName(): string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/actions/cell-format.d.ts
/**
 * Workbook Cell format.
 */
export  class WorkbookCellFormat {
    private parent;
    constructor(parent: Workbook);
    private format;
    private setBottomBorderPriority;
    private setFullBorder;
    private checkAdjacentBorder;
    private checkFullBorder;
    private textDecorationActionUpdate;
    private setTypedBorder;
    private setCellBorder;
    private setCellStyle;
    private skipHiddenRows;
    private addEventListener;
    private removeEventListener;
    private clearCellObj;
    /**
     * To destroy workbook cell format.
     *
     * @returns {void} - To destroy workbook cell format.
     */
    destroy(): void;
    /**
     * Get the workbook cell format module name.
     *
     *  @returns {void}
     */
    getModuleName(): string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/actions/conditional-formatting.d.ts
/**
 * The `WorkbookConditionalFormat` module is used to handle conditional formatting action in Spreadsheet.
 */
export  class WorkbookConditionalFormat {
    private parent;
    /**
     * Constructor for WorkbookConditionalFormat module.
     *
     * @param {Workbook} parent - Specifies the parent element.
     */
    constructor(parent: Workbook);
    /**
     * To destroy the conditional format module.
     *
     * @returns {void}
     */
    protected destroy(): void;
    private addEventListener;
    private removeEventListener;
    private setCFRule;
    private clearCFRule;
    /**
     * Gets the module name.
     *
     * @returns {void} string
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/actions/data-validation.d.ts
/**
 * The `WorkbookHyperlink` module is used to handle Hyperlink action in Spreadsheet.
 */
export  class WorkbookDataValidation {
    private parent;
    /**
     * Constructor for WorkbookSort module.
     *
     * @param {Workbook} parent - Specifies the parent element.
     */
    constructor(parent: Workbook);
    /**
     * To destroy the sort module.
     *
     * @returns {void}
     */
    protected destroy(): void;
    private addEventListener;
    private removeEventListener;
    private validationHandler;
    private addHighlightHandler;
    private removeHighlightHandler;
    private getRange;
    private InvalidDataHandler;
    private beforeInsertDeleteHandler;
    private getRangeWhenColumnSelected;
    private updateValidationForInsertedModel;
    /**
     * Gets the module name.
     *
     * @returns {string} string
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/actions/delete.d.ts
/**
 * The `WorkbookDelete` module is used to delete cells, rows, columns and sheets from workbook.
 */
export  class WorkbookDelete {
    private parent;
    /**
     * Constructor for the workbook delete module.
     *
     * @param {Workbook} parent - Specify the workbook
     * @private
     */
    constructor(parent: Workbook);
    private deleteModel;
    private setRowColCount;
    private setDeleteInfo;
    private deleteConditionalFormats;
    private addEventListener;
    /**
     * Destroy workbook delete module.
     *
     * @returns {void}
     */
    destroy(): void;
    private removeEventListener;
    /**
     * Get the workbook delete module name.
     *
     * @returns {string} - returns the module name.
     */
    getModuleName(): string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/actions/edit.d.ts
/**
 * The `WorkbookEdit` module is used to handle the editing functionalities in Workbook.
 */
export  class WorkbookEdit {
    private parent;
    private localeObj;
    private decimalSep;
    /**
     * Constructor for edit module in Workbook.
     *
     * @private
     * @param {Workbook} workbook - Specifies the workbook.
     */
    constructor(workbook: Workbook);
    /**
     * To destroy the edit module.
     *
     * @returns {void} - destroy the edit module
     * @hidden
     */
    destroy(): void;
    private addEventListener;
    private removeEventListener;
    /**
     * Get the module name.
     *
     * @returns {string} - string
     * @private
     */
    getModuleName(): string;
    private performEditOperation;
    private checkDecimalPoint;
    private updateCellValue;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/actions/find-and-replace.d.ts
/**
 * `WorkbookFindAndReplace` module is used to handle the search action in Spreadsheet.
 */
export  class WorkbookFindAndReplace {
    private parent;
    /**
     * Constructor for WorkbookFindAndReplace module.
     *
     * @param {Workbook} parent - Specifies the workbook.
     */
    constructor(parent: Workbook);
    /**
     * To destroy the FindAndReplace module.
     *
     * @returns {void} - To destroy the FindAndReplace module.
     */
    protected destroy(): void;
    private addEventListener;
    private removeEventListener;
    private findNext;
    private findNxtRow;
    private findNxtCol;
    private nextCommon;
    private findPrevious;
    private findPreRow;
    private findPreCol;
    private commonCondition;
    private prevCommon;
    replace(args: FindOptions): void;
    replaceAll(args: FindOptions): void;
    private getReplaceValue;
    private totalCount;
    private findAllValues;
    /**
     * Gets the module name.
     *
     * @returns {string} - Return the string
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/actions/hyperlink.d.ts
/**
 * The `WorkbookHyperlink` module is used to handle Hyperlink action in Spreadsheet.
 */
export  class WorkbookHyperlink {
    private parent;
    /**
     * Constructor for WorkbookSort module.
     *
     * @param {Workbook} parent - Specifies the workbook.
     */
    constructor(parent: Workbook);
    /**
     * To destroy the sort module.
     *
     * @returns {void} - To destroy the sort module.
     */
    protected destroy(): void;
    private addEventListener;
    private removeEventListener;
    setLinkHandler(args: {
        hyperlink: string | HyperlinkModel;
        cell: string;
        displayText: string;
        triggerEvt?: boolean;
    }): void;
    /**
     * Gets the module name.
     *
     *@returns {string} - returns the module name.
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/actions/index.d.ts
/**
 * Export Workbook action modules
 */
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/actions/insert.d.ts
/**
 * The `WorkbookInsert` module is used to insert cells, rows, columns and sheets in to workbook.
 */
export  class WorkbookInsert {
    private parent;
    /**
     * Constructor for the workbook insert module.
     *
     * @param {Workbook} parent - Specifies the workbook.
     * @private
     */
    constructor(parent: Workbook);
    private insertModel;
    private setRowColCount;
    private updateRangeModel;
    private checkBorder;
    private setInsertInfo;
    private insertConditionalFormats;
    private addEventListener;
    /**
     * Destroy workbook insert module.
     *
     * @returns {void} - destroy the workbook insert module.
     */
    destroy(): void;
    private removeEventListener;
    /**
     * Get the workbook insert module name.
     *
     * @returns {string} - Return the string.
     */
    getModuleName(): string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/actions/merge.d.ts
/**
 * The `WorkbookMerge` module is used to merge the range of cells.
 */
export  class WorkbookMerge {
    private parent;
    /**
     * Constructor for the workbook merge module.
     *
     * @param {Workbook} parent - Specifies the workbook.
     * @private
     */
    constructor(parent: Workbook);
    private merge;
    private mergeAll;
    private isFormulaDependent;
    private refreshCF;
    private mergeHorizontally;
    private getCellValue;
    private mergeVertically;
    private activeCellRange;
    private mergedRange;
    private forward;
    private forwardReverse;
    private reverse;
    private reverseForward;
    private insertHandler;
    private pasteHandler;
    private addEventListener;
    /**
     * Destroy workbook merge module.
     *
     * @returns {void} - destroy the workbook merge module.
     */
    destroy(): void;
    private removeEventListener;
    /**
     * Get the workbook merge module name.
     *
     * @returns {string} - Return the string.
     */
    getModuleName(): string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/actions/protect-sheet.d.ts
/**
 * The `WorkbookSpreadSheet` module is used to handle the Protecting functionalities in Workbook.
 */
export  class WorkbookProtectSheet {
    private parent;
    /**
     * Constructor for edit module in Workbook.
     *
     * @param {Workbook} workbook - Specifies the workbook.
     * @private
     */
    constructor(workbook: Workbook);
    private protectsheetHandler;
    private unprotectsheetHandler;
    /**
     * To destroy the edit module.
     *
     * @returns {void} - To destroy the edit module.
     * @hidden
     */
    destroy(): void;
    private addEventListener;
    private removeEventListener;
    private lockCells;
    /**
     * Get the module name.
     *
     * @returns {string} - Return the string.
     * @private
     */
    getModuleName(): string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/base/cell-model.d.ts
/**
 * Interface for a class Cell
 */
export interface CellModel {
    /**
     * Specifies the image of the cell.
     *
     * @default []
     */
    image?: ImageModel[];
    /**
     * Specifies the chart of the cell.
     *
     * @default []
     */
    chart?: ChartModel[];
    /**
     * Defines the value of the cell which can be text or number.
     *
     * @default ''
     */
    value?: string;
    /**
     * Defines the formula or expression of the cell.
     *
     * @default ''
     */
    formula?: string;
    /**
     * Specifies the index of the cell.
     *
     * @default 0
     * @asptype int
     */
    index?: number;
    /**
     * Specifies the number format code to display value in specified number format.
     *
     * @default 'General'
     */
    format?: string;
    /**
     * Specifies the cell style options.
     *  ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * let spreadsheet$: Spreadsheet = new Spreadsheet({
     *      sheets: [{
     *       ...
     *            rows: [{
     *                  cells: [{ value: '12', index: 2,  style: { fontWeight: 'bold', fontSize: 12, fontStyle: 'italic', textIndent: '2pt'
     *                         backgroundColor: '#4b5366', color: '#ffffff' } }]
     *                  }]
     *            }]
     *  });
     * spreadsheet.appendTo('#Spreadsheet');
     * ```
     *
     * @default {}
     */
    style?: CellStyleModel;
    /**
     * Specifies the hyperlink of the cell.
     *
     * @default ''
     */
    hyperlink?: string | HyperlinkModel;
    /**
     * Wraps the cell text to the next line, if the text width exceeds the column width.
     *
     * @default false
     */
    wrap?: boolean;
    /**
     * Specifies the cell is locked or not, for allow edit range in spreadsheet protect option.
     *
     * @default null
     */
    isLocked?: boolean;
    /**
     * Specifies the validation of the cell.
     *
     * @default ''
     */
    validation?: ValidationModel;
    /**
     * Specifies the column-wise cell merge count.
     *
     * @default 1
     * @asptype int
     */
    colSpan?: number;
    /**
     * Specifies the row-wise cell merge count.
     *
     * @default 1
     * @asptype int
     */
    rowSpan?: number;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/base/cell.d.ts
/**
 * Represents the cell.
 */
export  class Cell extends base.ChildProperty<RowModel> {
    /**
     * Specifies the image of the cell.
     *
     * @default []
     */
    image: ImageModel[];
    /**
     * Specifies the chart of the cell.
     *
     * @default []
     */
    chart: ChartModel[];
    /**
     * Defines the value of the cell which can be text or number.
     *
     * @default ''
     */
    value: string;
    /**
     * Defines the formula or expression of the cell.
     *
     * @default ''
     */
    formula: string;
    /**
     * Specifies the index of the cell.
     *
     * @default 0
     * @asptype int
     */
    index: number;
    /**
     * Specifies the number format code to display value in specified number format.
     *
     * @default 'General'
     */
    format: string;
    /**
     * Specifies the cell style options.
     *  ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * let spreadsheet$: Spreadsheet = new Spreadsheet({
     *      sheets: [{
     *       ...
     *            rows: [{
     *                  cells: [{ value: '12', index: 2,  style: { fontWeight: 'bold', fontSize: 12, fontStyle: 'italic', textIndent: '2pt'
     *                         backgroundColor: '#4b5366', color: '#ffffff' } }]
     *                  }]
     *            }]
     *  });
     * spreadsheet.appendTo('#Spreadsheet');
     * ```
     *
     * @default {}
     */
    style: CellStyleModel;
    /**
     * Specifies the hyperlink of the cell.
     *
     * @default ''
     */
    hyperlink: string | HyperlinkModel;
    /**
     * Wraps the cell text to the next line, if the text width exceeds the column width.
     *
     * @default false
     */
    wrap: boolean;
    /**
     * Specifies the cell is locked or not, for allow edit range in spreadsheet protect option.
     *
     * @default null
     */
    isLocked: boolean;
    /**
     * Specifies the validation of the cell.
     *
     * @default ''
     */
    validation: ValidationModel;
    /**
     * Specifies the column-wise cell merge count.
     *
     * @default 1
     * @asptype int
     */
    colSpan: number;
    /**
     * Specifies the row-wise cell merge count.
     *
     * @default 1
     * @asptype int
     */
    rowSpan: number;
}
/**
 * @hidden
 * @param {number} rowIndex - Specifies the rowIndex.
 * @param {number} colIndex - Specifies the colIndex.
 * @param {SheetModel} sheet - Specifies the sheet.
 * @param {boolean} isInitRow - Specifies the isInitRow.
 * @param {boolean} returnEmptyObjIfNull - Specifies the bool value.
 * @returns {CellModel} - get the cell.
 */
export  function getCell(rowIndex: number, colIndex: number, sheet: SheetModel, isInitRow?: boolean, returnEmptyObjIfNull?: boolean): CellModel;
/**
 * @hidden
 * @param {number} rowIndex - Specifies the rowIndex.
 * @param {number} colIndex - Specifies the colIndex.
 * @param {SheetModel} sheet - Specifies the sheet.
 * @param {CellModel} cell - Specifies the cell.
 * @param {boolean} isExtend - Specifies the bool value.
 * @returns {void} - set the cell.
 */
export  function setCell(rowIndex: number, colIndex: number, sheet: SheetModel, cell: CellModel, isExtend?: boolean): void;
/**
 * @hidden
 * @param {CellStyleModel} style - Specifies the style.
 * @param {boolean} defaultKey - Specifies the defaultKey.
 * @returns {CellStyleModel} - Specifies the CellStyleModel.
 */
export  function skipDefaultValue(style: CellStyleModel, defaultKey?: boolean): CellStyleModel;
/**
 * @hidden
 * @param {string} address - Specifies the address.
 * @param {boolean} wrap - Specifies the wrap.
 * @param {Workbook} context - Specifies the context.
 * @param {Workbook} preventEvt - Preventing the before cell update event.
 * @returns {void} - Specifies the wrap.
 */
export  function wrap(address: string, wrap?: boolean, context?: Workbook, preventEvt?: boolean): void;
/**
 * @hidden
 * @param {string} format - Specifies the cell format.
 * @returns {string} - Specifies the supported color code.
 */
export  function getColorCode(format: string): string;
/**
 * @hidden
 * @returns {string[]} - Returns the custom format colors
 */
export  function getCustomColors(): string[];
/**
 * @hidden
 */
export  function isCustomDateTime(cell: CellModel, checkTime?: boolean): boolean;
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/base/column-model.d.ts
/**
 * Interface for a class Column
 */
export interface ColumnModel {
    /**
     * Specifies index of the column. Based on the index, column properties are applied.
     *
     * @default 0
     * @asptype int
     */
    index?: number;
    /**
     * Specifies width of the column.
     *
     * @default 64
     * @asptype int
     */
    width?: number;
    /**
     * specifies custom width of the column.
     *
     * @default false
     */
    customWidth?: boolean;
    /**
     * To hide/show the column in spreadsheet.
     *
     * @default false
     */
    hidden?: boolean;
    /**
     * Specifies format of the column.
     *
     * @default {}
     */
    format?: FormatModel;
    /**
     * To lock/unlock the column in the protected sheet.
     *
     * @default true
     */
    isLocked?: boolean;
    /**
     * Specifies the validation of the column.
     *
     * @default ''
     */
    validation?: ValidationModel;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/base/column.d.ts
/**
 * Configures the Column behavior for the spreadsheet.
 */
export  class Column extends base.ChildProperty<Column> {
    /**
     * Specifies index of the column. Based on the index, column properties are applied.
     *
     * @default 0
     * @asptype int
     */
    index: number;
    /**
     * Specifies width of the column.
     *
     * @default 64
     * @asptype int
     */
    width: number;
    /**
     * specifies custom width of the column.
     *
     * @default false
     */
    customWidth: boolean;
    /**
     * To hide/show the column in spreadsheet.
     *
     * @default false
     */
    hidden: boolean;
    /**
     * Specifies format of the column.
     *
     * @default {}
     */
    format: FormatModel;
    /**
     * To lock/unlock the column in the protected sheet.
     *
     * @default true
     */
    isLocked: boolean;
    /**
     * Specifies the validation of the column.
     *
     * @default ''
     */
    validation: ValidationModel;
}
/**
 * @hidden
 * @param {SheetModel} sheet - Specifies the sheet.
 * @param {number} colIndex - Specifies the colIndex.
 * @returns {ColumnModel} - To get Column.
 */
export  function getColumn(sheet: SheetModel, colIndex: number): ColumnModel;
/** @hidden
 * @param {SheetModel} sheet - Specifies the sheet.
 * @param {number} colIndex - Specifies the colIndex.
 * @param {ColumnModel} column - Specifies the column.
 * @returns {void} - To set Column.
 */
export  function setColumn(sheet: SheetModel, colIndex: number, column: ColumnModel): void;
/**
 * @hidden
 * @param {SheetModel} sheet - Specifies the sheet.
 * @param {number} index - Specifies the index.
 * @param {boolean} skipHidden - Specifies the bool.
 * @param {boolean} checkDPR - Specifies the bool.
 * @returns {number} - To get Column width.
 */
export  function getColumnWidth(sheet: SheetModel, index: number, skipHidden?: boolean, checkDPR?: boolean): number;
/**
 * @hidden
 * @param {SheetModel} sheet - Specifies the sheet.
 * @param {number} startCol - Specifies the startCol.
 * @param {number} endCol - Specifies the endCol.
 * @param {boolean} checkDPR - Specifies the boolean value.
 * @returns {number} - returns the column width.
 */
export  function getColumnsWidth(sheet: SheetModel, startCol: number, endCol?: number, checkDPR?: boolean): number;
/**
 * @hidden
 * @param {SheetModel} sheet - Specifies the sheet.
 * @param {number} index - Specifies the index.
 * @returns {boolean} - returns the boolean value.
 */
export  function isHiddenCol(sheet: SheetModel, index: number): boolean;
/**
 * @hidden
 * @param {ColumnModel} column - Specifies the column.
 * @param {number} rowIndex - Specifies the row index.
 * @param {number} colIndex - Specifies the column index.
 */
export  function checkColumnValidation(column: ColumnModel, rowIndex: number, colIndex: number): boolean;
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/base/data.d.ts
/**
 * Update data source to Sheet and returns Sheet
 *
 * @param {Workbook} context - Specifies the context.
 * @param {string} address - Specifies the address.
 * @param {boolean} columnWiseData - Specifies the bool value.
 * @param {boolean} valueOnly - Specifies the valueOnly.
 * @param {number[]} frozenIndexes - Specifies the freeze row and column start indexes, if it is scrolled.
 * @param {boolean} filterDialog - Specifies the bool value.
 * @param {string} formulaCellRef - Specifies the formulaCellRef.
 * @param {number} idx - Specifies the idx.
 * @param {boolean} skipHiddenRows - Specifies the skipHiddenRows.
 * @param {string} commonAddr - Specifies the common address for the address parameter specified with list of range separated by ','.
 * @param {number} dateValueForSpecificColIdx - Specify the dateValueForSpecificColIdx.
 * @returns {Promise<Map<string, CellModel> | Object[]>} - To get the data
 * @hidden
 */
export  function getData(context: Workbook, address: string, columnWiseData?: boolean, valueOnly?: boolean, frozenIndexes?: number[], filterDialog?: boolean, formulaCellRef?: string, idx?: number, skipHiddenRows?: boolean, commonAddr?: string, dateValueForSpecificColIdx?: number, dateColData?: {
    [key: string]: Object;
}[]): Promise<Map<string, CellModel> | {
    [key: string]: CellModel;
}[]>;
/**
 * @hidden
 * @param {Workbook} context - Specifies the context.
 * @param {number} cell - Specifies the cell model.
 * @param {boolean} getIntValueFromDate - Specify the getIntValueFromDate.
 * @returns {string | Date} - To get the value format.
 */
export  function getValueFromFormat(context: Workbook, cell: CellModel, getIntValueFromDate?: boolean): string | Date;
/**
 * @hidden
 * @param {SheetModel | RowModel | CellModel} model - Specifies the sheet model.
 * @param {number} idx - Specifies the index value.
 * @returns {SheetModel | RowModel | CellModel} - To process the index
 */
export  function getModel(model: (SheetModel | RowModel | CellModel)[], idx: number): SheetModel | RowModel | CellModel;
/**
 * @hidden
 * @param {SheetModel | RowModel | CellModel} model - Specifies the sheet model.
 * @param {boolean} isSheet - Specifies the bool value.
 * @param {Workbook} context - Specifies the Workbook.
 * @returns {void} - To process the index
 */
export  function processIdx(model: (SheetModel | RowModel | CellModel)[], isSheet?: true, context?: Workbook): void;
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/base/index.d.ts
/**
 * Export Spreadsheet library base modules
 */
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/base/row-model.d.ts
/**
 * Interface for a class Row
 */
export interface RowModel {
    /**
     * Specifies cell and its properties for the row.
     *
     * @default []
     */
    cells?: CellModel[];
    /**
     * Specifies the index to the row. Based on the index, row properties are applied.
     *
     * @default 0
     * @asptype int
     */
    index?: number;
    /**
     * Specifies height of the row.
     *
     * @default 20
     * @asptype int
     */
    height?: number;
    /**
     * specifies custom height of the row.
     *
     * @default false
     */
    customHeight?: boolean;
    /**
     * To hide/show the row in spreadsheet.
     *
     * @default false
     */
    hidden?: boolean;
    /**
     * Specifies format of the row.
     *
     * @default {}
     */
    format?: FormatModel;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/base/row.d.ts
/**
 * Configures the Row behavior for the spreadsheet.
 *  ```html
 * <div id='Spreadsheet'></div>
 * ```
 * ```typescript
 * let spreadsheet$: Spreadsheet = new Spreadsheet({
 *      sheets: [{
 *                rows: [{
 *                        index: 30,
 *                        cells: [{ index: 4, value: 'Total Amount:' },
 *                               { formula: '=SUM(F2:F30)', style: { fontWeight: 'bold' } }]
 *                }]
 * ...
 * });
 * spreadsheet.appendTo('#Spreadsheet');
 * ```
 */
export  class Row extends base.ChildProperty<SheetModel> {
    /**
     * Specifies cell and its properties for the row.
     *
     * @default []
     */
    cells: CellModel[];
    /**
     * Specifies the index to the row. Based on the index, row properties are applied.
     *
     * @default 0
     * @asptype int
     */
    index: number;
    /**
     * Specifies height of the row.
     *
     * @default 20
     * @asptype int
     */
    height: number;
    /**
     * specifies custom height of the row.
     *
     * @default false
     */
    customHeight: boolean;
    /**
     * To hide/show the row in spreadsheet.
     *
     * @default false
     */
    hidden: boolean;
    /**
     * Specifies format of the row.
     *
     * @default {}
     */
    format: FormatModel;
    /** @hidden */
    isFiltered: boolean;
}
/**
 * @hidden
 * @param {SheetModel} sheet - Specifies the sheet.
 * @param {number} rowIndex - Specifies the rowIndex.
 * @returns {RowModel} - To get the row.
 */
export  function getRow(sheet: SheetModel, rowIndex: number): RowModel;
/**
 * @hidden
 * @param {SheetModel} sheet - Specifies the sheet.
 * @param {number} rowIndex - Specifies the rowIndex.
 * @param {RowModel} row - Specifies the row.
 * @returns {void} - To set the row.
 */
export  function setRow(sheet: SheetModel, rowIndex: number, row: RowModel): void;
/**
 * @hidden
 * @param {SheetModel} sheet - Specifies the sheet.
 * @param {number} index - Specifies the index.
 * @returns {boolean} - To return the bool value.
 */
export  function isHiddenRow(sheet: SheetModel, index: number): boolean;
/**
 * @hidden
 * @param {SheetModel} sheet - Specifies the sheet.
 * @param {number} index - Specifies the index.
 * @returns {boolean} - To return the bool value.
 */
export  function isFilterHidden(sheet: SheetModel, index: number): boolean;
/**
 * @hidden
 * @param {SheetModel} sheet - Specifies the sheet.
 * @param {number} rowIndex - Specifies the rowIndex.
 * @param {boolean} checkDPR - Specifies the bool value.
 * @param {boolean} addHidden - By default hidden rows are considered as 0, set `true` if you want to add the hidden rows height.
 * @returns {number} - To get the row height.
 */
export  function getRowHeight(sheet: SheetModel, rowIndex: number, checkDPR?: boolean, addHidden?: boolean): number;
/**
 * @hidden
 * @param {SheetModel} sheet - Specifies the sheet.
 * @param {number} rowIndex - Specifies the rowIndex.
 * @param {number} height - Specifies the height.
 * @returns {void} - To set the row height.
 */
export  function setRowHeight(sheet: SheetModel, rowIndex: number, height: number): void;
/**
 * @hidden
 * @param {SheetModel} sheet - Specifies the sheet.
 * @param {number} startRow - Specifies the startRow.
 * @param {number} endRow - Specifies the endRow.
 * @param {boolean} checkDPR - Specifies the boolean value.
 * @param {boolean} addHidden - By default hidden rows are considered as 0, set `true` if you want to add the hidden rows height.
 * @returns {number} - To get the rows height.
 */
export  function getRowsHeight(sheet: SheetModel, startRow: number, endRow?: number, checkDPR?: boolean, addHidden?: boolean): number;
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/base/sheet-model.d.ts
/**
 * Interface for a class Range
 */
export interface RangeModel {
    /**
     * Specifies the data as JSON / Data manager to the sheet.
     *
     * @default null
     */
    dataSource?: Object[] | data.DataManager;
    /**
     * Specifies the start cell from which the datasource will be populated.
     *
     * @default 'A1'
     */
    startCell?: string;
    /**
     * Defines the external [`data.Query`](https://ej2.syncfusion.com/documentation/data/api-query.html)
     * that will be executed along with data processing.
     *
     * @default null
     */
    query?: data.Query;
    /**
     * Show/Hide the field of the datasource as header.
     *
     * @default true
     */
    showFieldAsHeader?: boolean;
    /**
     * Template helps to compiles the given HTML String (or HTML Element ID) into HtML Element and append to the Cell.
     *
     *  @default ''
     */
    template?: string;
    /**
     * Specifies the address for updating the dataSource or template.
     *
     * @default 'A1'
     */
    address?: string;
}
/**
 * Interface for a class UsedRange
 */
export interface UsedRangeModel {
    /**
     * Specifies the last used row index of the sheet.
     *
     * @default 0
     * @asptype int
     */
    rowIndex?: number;
    /**
     * Specifies the last used column index of the sheet.
     *
     * @default 0
     * @asptype int
     */
    colIndex?: number;
}
/**
 * Interface for a class Sheet
 */
export interface SheetModel {
    /**
     * Represents sheet unique id.
     *
     * @default 0
     * @hidden
     */
    id?: number;
    /**
     * Configures row and its properties for the sheet.
     *
     * @default null
     */
    rows?: RowModel[];
    /**
     * Configures column and its properties for the sheet.
     *
     * @default null
     */
    columns?: ColumnModel[];
    /**
     * Configures protect and its options.
     *
     * @default { selectCells: false, formatCells: false, formatRows: false, formatColumns: false, insertLink: false  }
     */
    protectSettings?: ProtectSettingsModel;
    /**
     * Specifies the collection of range for the sheet.
     *
     * @default []
     */
    ranges?: RangeModel[];
    /**
     * Specifies the conditional formatting for the sheet.
     *
     * @default []
     */
    conditionalFormats?: ConditionalFormatModel[];
    /**
     * Specifies index of the sheet. Based on the index, sheet properties are applied.
     *
     * @default 0
     * @asptype int
     */
    index?: number;
    /**
     * Specifies the name of the sheet, the name will show in the sheet tabs.
     *
     * @default ''
     */
    name?: string;
    /**
     * Defines the number of rows to be rendered in the sheet.
     *
     * @default 100
     * @asptype int
     */
    rowCount?: number;
    /**
     * Defines the number of columns to be rendered in the sheet.
     *
     * @default 100
     * @asptype int
     */
    colCount?: number;
    /**
     * Specifies selected range in the sheet.
     *  ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * let spreadsheet$: Spreadsheet = new Spreadsheet({
     *      sheets: [{
     *                selectedRange: 'A1:B5'
     *          }],
     *      ...
     * });
     * spreadsheet.appendTo('#Spreadsheet');
     * ```
     *
     * @default 'A1:A1'
     */
    selectedRange?: string;
    /**
     * Specifies active cell within `selectedRange` in the sheet.
     *
     * @default 'A1'
     */
    activeCell?: string;
    /**
     * Defines the used range of the sheet.
     *
     * @default { rowIndex: 0, colIndex: 0 }
     */
    usedRange?: UsedRangeModel;
    /**
     * Specified cell will be positioned at the upper-left corner of the sheet.
     *
     * @default 'A1'
     */
    topLeftCell?: string;
    /**
     * Specifies to show / hide column and row headers in the sheet.
     *
     * @default true
     */
    showHeaders?: boolean;
    /**
     * Specifies to show / hide grid lines in the sheet.
     *
     * @default true
     */
    showGridLines?: boolean;
    /**
     * Specifies to  protect the cells in the sheet.
     *
     * @default false
     */
    isProtected?: boolean;
    /**
     * Specifies the sheet visibility state. There must be at least one visible sheet in Spreadsheet.
     *
     * @default 'Visible'
     */
    state?: SheetState;
    /**
     * Gets or sets the number of frozen rows.
     *
     * @default 0
     * @asptype int
     */
    frozenRows?: number;
    /**
     * Gets or sets the number of frozen columns.
     *
     * @default 0
     * @asptype int
     */
    frozenColumns?: number;
    /**
     * Represents the maximum row height collection.
     *
     * @default []
     * @hidden
     */
    maxHgts?: object[];
    /**
     * Represents the freeze pane top left cell. Its default value would be based on the number of freeze rows and columns.
     *
     * @default 'A1'
     */
    paneTopLeftCell?: string;
    /**
     * Specifies the password.
     *
     * @default ''
     */
    password?: string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/base/sheet.d.ts
/**
 * Configures the range processing for the spreadsheet.
 *  ```html
 * <div id='Spreadsheet'></div>
 * ```
 * ```typescript
 * let spreadsheet$: Spreadsheet = new Spreadsheet({
 *      sheets: [{
 *                  name: 'First Sheet',
 *                  ranges: [{ dataSource: defaultData }],
 *                  rows: [{
 *                          index: 30,
 *                          cells: [{ index: 4, value: 'Total Amount:' },
 *                                  { formula: '=SUM(F2:F30)', style: { fontWeight: 'bold' } }]
 *                  }]
 * ...
 * });
 * spreadsheet.appendTo('#Spreadsheet');
 * ```
 */
export  class Range extends base.ChildProperty<Sheet> {
    /**
     * Specifies the data as JSON / Data manager to the sheet.
     *
     * @default null
     */
    dataSource: Object[] | data.DataManager;
    /**
     * Specifies the start cell from which the datasource will be populated.
     *
     * @default 'A1'
     */
    startCell: string;
    /**
     * Defines the external [`data.Query`](https://ej2.syncfusion.com/documentation/data/api-query.html)
     * that will be executed along with data processing.
     *
     * @default null
     */
    query: data.Query;
    /**
     * Show/Hide the field of the datasource as header.
     *
     * @default true
     */
    showFieldAsHeader: boolean;
    /**
     * Template helps to compiles the given HTML String (or HTML Element ID) into HtML Element and append to the Cell.
     *
     *  @default ''
     */
    template: string;
    /**
     * Specifies the address for updating the dataSource or template.
     *
     * @default 'A1'
     */
    address: string;
    protected setProperties(prop: object, muteOnChange: boolean): void;
}
/**
 * Used range which contains end row index and end column index of the last used cell in sheet .
 */
export  class UsedRange extends base.ChildProperty<UsedRange> {
    /**
     * Specifies the last used row index of the sheet.
     *
     * @default 0
     * @asptype int
     */
    rowIndex: number;
    /**
     * Specifies the last used column index of the sheet.
     *
     * @default 0
     * @asptype int
     */
    colIndex: number;
}
/**
 * Configures the sheet behavior for the spreadsheet.
 */
export  class Sheet extends base.ChildProperty<WorkbookModel> {
    /**
     * Represents sheet unique id.
     *
     * @default 0
     * @hidden
     */
    id: number;
    /**
     * Configures row and its properties for the sheet.
     *
     * @default null
     */
    rows: RowModel[];
    /**
     * Configures column and its properties for the sheet.
     *
     * @default null
     */
    columns: ColumnModel[];
    /**
     * Configures protect and its options.
     *
     * @default { selectCells: false, formatCells: false, formatRows: false, formatColumns: false, insertLink: false  }
     */
    protectSettings: ProtectSettingsModel;
    /**
     * Specifies the collection of range for the sheet.
     *
     * @default []
     */
    ranges: RangeModel[];
    /**
     * Specifies the conditional formatting for the sheet.
     *
     * @default []
     */
    conditionalFormats: ConditionalFormatModel[];
    /**
     * Specifies index of the sheet. Based on the index, sheet properties are applied.
     *
     * @default 0
     * @asptype int
     */
    index: number;
    /**
     * Specifies the name of the sheet, the name will show in the sheet tabs.
     *
     * @default ''
     */
    name: string;
    /**
     * Defines the number of rows to be rendered in the sheet.
     *
     * @default 100
     * @asptype int
     */
    rowCount: number;
    /**
     * Defines the number of columns to be rendered in the sheet.
     *
     * @default 100
     * @asptype int
     */
    colCount: number;
    /**
     * Specifies selected range in the sheet.
     *  ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * let spreadsheet$: Spreadsheet = new Spreadsheet({
     *      sheets: [{
     *                selectedRange: 'A1:B5'
     *          }],
     *      ...
     * });
     * spreadsheet.appendTo('#Spreadsheet');
     * ```
     *
     * @default 'A1:A1'
     */
    selectedRange: string;
    /**
     * Specifies active cell within `selectedRange` in the sheet.
     *
     * @default 'A1'
     */
    activeCell: string;
    /**
     * Defines the used range of the sheet.
     *
     * @default { rowIndex: 0, colIndex: 0 }
     */
    usedRange: UsedRangeModel;
    /**
     * Specified cell will be positioned at the upper-left corner of the sheet.
     *
     * @default 'A1'
     */
    topLeftCell: string;
    /**
     * Specifies to show / hide column and row headers in the sheet.
     *
     * @default true
     */
    showHeaders: boolean;
    /**
     * Specifies to show / hide grid lines in the sheet.
     *
     * @default true
     */
    showGridLines: boolean;
    /**
     * Specifies to  protect the cells in the sheet.
     *
     * @default false
     */
    isProtected: boolean;
    /**
     * Specifies the sheet visibility state. There must be at least one visible sheet in Spreadsheet.
     *
     * @default 'Visible'
     */
    state: SheetState;
    /**
     * Gets or sets the number of frozen rows.
     *
     * @default 0
     * @asptype int
     */
    frozenRows: number;
    /**
     * Gets or sets the number of frozen columns.
     *
     * @default 0
     * @asptype int
     */
    frozenColumns: number;
    /**
     * Represents the maximum row height collection.
     *
     * @default []
     * @hidden
     */
    maxHgts: object[];
    /**
     * Represents the freeze pane top left cell. Its default value would be based on the number of freeze rows and columns.
     *
     * @default 'A1'
     */
    paneTopLeftCell: string;
    /**
     * Specifies the password.
     *
     * @default ''
     */
    password: string;
}
/**
 * To get sheet index from address.
 *
 * @hidden
 * @param {Workbook} context - Specifies the context.
 * @param {string} name - Specifies the name.
 * @returns {number} - To gget sheet index from address.
 */
export  function getSheetIndex(context: Workbook, name: string): number;
/**
 * To get sheet index from sheet id.
 *
 * @hidden
 * @param {Workbook} context - Specifies the context.
 * @param {number} id - Specifies the id.
 * @returns {number} - To get the sheet index from id.
 */
export  function getSheetIndexFromId(context: Workbook, id: number): number;
/**
 * To get sheet name from address.
 *
 * @hidden
 * @param {string} address - Specifies the address.
 * @returns {address} - To get Sheet Name From Address.
 */
export  function getSheetNameFromAddress(address: string): string;
/**
 * To get sheet index from sheet name.
 *
 * @hidden
 * @param {Workbook} context - Specifies the context.
 * @param {string} name - Specifies the name.
 * @param {SheetModel} info - Specifies the sheet info.
 * @returns {number} - To get the sheet index by name.
 */
export  function getSheetIndexByName(context: Workbook, name: string, info: {
    visibleName: string;
    sheet: string;
    index: number;
}[]): number;
/**
 * update selected range
 *
 * @hidden
 * @param {Workbook} context - Specifies the context.
 * @param {string} range - Specifies the range.
 * @param {SheetModel} sheet - Specifies the sheet.
 * @param {boolean} isMultiRange - Specifies the boolean value.
 * @returns {void} - Update the selected range.
 */
export  function updateSelectedRange(context: Workbook, range: string, sheet?: SheetModel, isMultiRange?: boolean): void;
/**
 * get selected range
 *
 * @hidden
 * @param {SheetModel} sheet - Specifies the sheet.
 * @returns {string} - Get selected range.
 */
export  function getSelectedRange(sheet: SheetModel): string;
/**
 * @hidden
 * @param {SheetModel} sheet - Specifies the sheet.
 * @returns {string} - To get single selected range.
 */
export  function getSingleSelectedRange(sheet: SheetModel): string;
/**
 * @hidden
 * @param {Workbook} context - Specifies the context.
 * @param {number} idx - Specifies the idx.
 * @returns {SheetModel} - To get sheet.
 */
export  function getSheet(context: Workbook, idx: number): SheetModel;
/**
 * @hidden
 * @param {Workbook} context - Specifies the context.
 * @returns {number} - To get sheet name count.
 */
export  function getSheetNameCount(context: Workbook): number;
/**
 * @hidden
 * @param {SheetModel[]} sheets - Specifies the sheets.
 * @returns {number} - To get sheet id.
 */
export  function getMaxSheetId(sheets: SheetModel[]): number;
/**
 * @hidden
 * @param {Workbook} context - Specifies the context.
 * @param {SheetModel[]} sheet - Specifies the sheet.
 * @returns {void} - To initiate sheet.
 */
export  function initSheet(context: Workbook, sheet?: SheetModel[]): void;
/**
 * get sheet name
 *
 * @param {Workbook} context - Specifies the context.
 * @param {number} idx - Specifies the idx.
 * @returns {string} - To get sheet name.
 * @hidden
 */
export  function getSheetName(context: Workbook, idx?: number): string;
/**
 * @param {Workbook} context - Specifies context
 * @param {number} position - position to move a sheet in the list of sheets
 * @param {number[]} sheetIndexes - Specifies the sheet indexes of the sheets which is to be moved
 * @param {boolean} action - Specifies to trigger events
 * @returns {void}
 * @hidden
 */
export  function moveSheet(context: Workbook, position: number, sheetIndexes?: number[], action?: boolean, isFromUpdateAction?: boolean): void;
/**
 * @param {Workbook} context - Specifies context
 * @param {number} sheetIndex - Specifies sheetIndex to be duplicated
 * @param {boolean} action - Specifies to trigger events
 * @returns {void}
 * @hidden
 */
export  function duplicateSheet(context: Workbook, sheetIndex?: number, action?: boolean, isFromUpdateAction?: boolean): void;
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/base/workbook-model.d.ts
/**
 * Interface for a class Workbook
 */
export interface WorkbookModel extends base.ComponentModel{
    /**
     * Configures sheets and its options.
     *  ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *      sheets: [{
     *                  name: 'First Sheet',
     *                  range: [{ dataSource: data }],
     *                  rows: [{
     *                          index: 5,
     *                          cells: [{ index: 4, value: 'Total Amount:' },
     *                                  { formula: '=SUM(F2:F30)', style: { fontWeight: 'bold' } }]
     *                  }]
     *              }, {
     *                  name: 'Second Sheet',
     *                  columns: [{ width: 180 }, { index: 4, width: 130 }]
     *              }]
     * ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @default []
     */
    sheets?: SheetModel[];
    /**
     * Specifies active sheet index in workbook.
     *  ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *      activeSheetIndex: 2
     * ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @default 0
     * @asptype int
     */
    activeSheetIndex?: number;
    /**
     * Defines the height of the Spreadsheet. It accepts height as pixels, number, and percentage.
     *
     *  ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *      height: '550px'
     * ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @default '100%'
     */
    height?: string | number;
    /**
     * It allows to enable/disable find and replace with its functionalities.
     *
     * @default true
     */
    allowFindAndReplace?: boolean;
    /**
     * It stores the filtered range collection.
     *
     * @hidden
     */
    filterCollection?: FilterCollectionModel[];
    /**
     * It stores the filtered range collection.
     *
     * @hidden
     */
    sortCollection?: SortCollectionModel[];
    /**
     * Defines the width of the Spreadsheet. It accepts width as pixels, number, and percentage.
     *  ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *      width: '550px'
     * ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @default '100%'
     */
    width?: string | number;
    /**
     * It shows or hides the ribbon in spreadsheet.
     *
     * @default true
     */
    showRibbon?: boolean;
    /**
     * It shows or hides the formula bar and its features.
     *
     * @default true
     */
    showFormulaBar?: boolean;
    /**
     * It shows or hides the sheets tabs, this is used to navigate among the sheets and create or delete sheets by UI interaction.
     *
     * @default true
     */
    showSheetTabs?: boolean;
    /**
     * It allows you to add new data or update existing cell data. If it is false, it will act as read only mode.
     *
     * @default true
     */
    allowEditing?: boolean;
    /**
     * It allows you to open an Excel file (.xlsx, .xls, and .csv) in Spreadsheet.
     *
     * @default true
     */
    allowOpen?: boolean;
    /**
     * It allows you to save Spreadsheet with all data as Excel file (.xlsx, .xls, and .csv).
     *
     * @default true
     */
    allowSave?: boolean;
    /**
     * It allows to enable/disable sort and its functionalities.
     *
     * @default true
     */
    allowSorting?: boolean;
    /**
     * It allows to enable/disable filter and its functionalities.
     *
     * @default true
     */
    allowFiltering?: boolean;
    /**
     * It allows formatting a raw number into different types of formats (number, currency, accounting, percentage, short date,
     * long date, time, fraction, scientific, and text) with built-in format codes.
     *
     * @default true
     */
    allowNumberFormatting?: boolean;
    /**
     * It allows you to apply styles (font size, font weight, font family, fill color, and more) to the spreadsheet cells.
     *
     * @default true
     */
    allowCellFormatting?: boolean;
    /**
     * It allows to enable/disable Hyperlink and its functionalities.
     *
     * @default true
     */
    allowHyperlink?: boolean;
    /**
     * It allows you to insert rows, columns and sheets in to the spreadsheet.
     *
     * @default true
     */
    allowInsert?: boolean;
    /**
     * It allows you to delete rows, columns and sheets from spreadsheet.
     *
     * @default true
     */
    allowDelete?: boolean;
    /**
     * It allows you to base.merge the range of cells.
     *
     * @default true
     */
    allowMerge?: boolean;
    /**
     * It allows you to apply validation to the spreadsheet cells.
     *
     * @default true
     */
    allowDataValidation?: boolean;
    /**
     * It allows you to insert the image in spreadsheet.
     *
     * @default true
     */
    allowImage?: boolean;
    /**
     * It allows you to insert the chart in spreadsheet.
     *
     * @default true
     */
    allowChart?: boolean;
    /**
     * It allows to enable/disable AutoFill functionalities.
     *
     * @default true
     */
    allowAutoFill?: boolean;
    /**
     * Configures the auto fill settings.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *      autoFillSettings: {
     *          fillType: 'FillSeries',
     *          showFillOptions: true
     *      }
     * ...
     * }, '#Spreadsheet');
     *
     * The autoFillSettings `fillType` property has FOUR values and it is described below:
     *
     * * CopyCells: To update the copied cells of the selected range.
     * * FillSeries: To update the filled series of the selected range.
     * * FillFormattingOnly: To fill the formats only for the selected range.
     * * FillWithoutFormatting: To fill without the format of the selected range.
     *
     * ```
     *
     * @default { fillType: 'FillSeries', showFillOptions: true }
     */
    autoFillSettings?: AutoFillSettingsModel;
    /**
     * It allows you to apply conditional formatting to the sheet.
     *
     * @default true
     */
    allowConditionalFormat?: boolean;
    /**
     * Specifies the cell style options.
     *  ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *      ...
     *          cellStyle: { fontWeight: 'bold', fontSize: 12,
     *              fontStyle: 'italic', textIndent: '2pt'
     *              backgroundColor: '#4b5366', color: '#ffffff'
     *      },
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @default {}
     */
    cellStyle?: CellStyleModel;
    /**
     * Specifies the service URL to open excel file in spreadsheet.
     *
     * @default ''
     */
    openUrl?: string;
    /**
     * Specifies the service URL to save spreadsheet as Excel file.
     *
     * @default ''
     */
    saveUrl?: string;
    /**
     * Specifies the password.
     *
     * @default ''
     */
    password?: string;
    /**
     * Specifies to  protect the workbook.
     *
     * @default false
     */
    isProtected?: boolean;
    /**
     * Specifies the name for a range and uses it in formula for calculation.
     *  ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *      ...
     *      definedNames: [{ name: 'namedRange1', refersTo: 'Sheet1!A1:B5' }],
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @default []
     */
    definedNames?: DefineNameModel[];
    /**
     * Triggers before opening an Excel file.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       beforeOpen: (args: BeforeOpenEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event beforeOpen
     */
    beforeOpen?: base.EmitType<BeforeOpenEventArgs>;
    /**
     * Triggers when the opened Excel file fails to load.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       openFailure: (args: OpenFailureArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event openFailure
     */
    openFailure?: base.EmitType<OpenFailureArgs>;
    /**
     * Triggers before saving the Spreadsheet as Excel file.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       beforeSave: (args: BeforeSaveEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event beforeSave
     */
    beforeSave?: base.EmitType<BeforeSaveEventArgs>;
    /**
     * Triggers after saving the Spreadsheet as Excel file.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       saveComplete: (args: SaveCompleteEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event saveComplete
     */
    saveComplete?: base.EmitType<SaveCompleteEventArgs>;
    /**
     * Triggers before the cell format applied to the cell.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       beforeCellFormat: (args: BeforeCellFormatArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event beforeCellFormat
     */
    beforeCellFormat?: base.EmitType<BeforeCellFormatArgs>;
    /**
     * Triggered every time a request is made to access cell information.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *      queryCellInfo: (args: CellInfoEventArgs) => {
     *      }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event queryCellInfo
     */
    queryCellInfo?: base.EmitType<CellInfoEventArgs>;
    /**
     * Triggers before changing any cell properties.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     *  new Spreadsheet({
     *      beforeCellUpdate: (args: BeforeCellUpdateArgs) => {
     *      }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event beforeCellUpdate
     */
    beforeCellUpdate?: base.EmitType<BeforeCellUpdateArgs>;
    /**
     * It allows to enable/disable freeze pane functionality in spreadsheet.
     *
     * @default true
     */
    allowFreezePane?: boolean;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/base/workbook.d.ts
/**
 * Represents the Workbook.
 */
export  class Workbook extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    /**
     * Configures sheets and its options.
     *  ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *      sheets: [{
     *                  name: 'First Sheet',
     *                  range: [{ dataSource: data }],
     *                  rows: [{
     *                          index: 5,
     *                          cells: [{ index: 4, value: 'Total Amount:' },
     *                                  { formula: '=SUM(F2:F30)', style: { fontWeight: 'bold' } }]
     *                  }]
     *              }, {
     *                  name: 'Second Sheet',
     *                  columns: [{ width: 180 }, { index: 4, width: 130 }]
     *              }]
     * ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @default []
     */
    sheets: SheetModel[];
    /**
     * Specifies active sheet index in workbook.
     *  ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *      activeSheetIndex: 2
     * ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @default 0
     * @asptype int
     */
    activeSheetIndex: number;
    /**
     * Defines the height of the Spreadsheet. It accepts height as pixels, number, and percentage.
     *
     *  ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *      height: '550px'
     * ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @default '100%'
     */
    height: string | number;
    /**
     * It allows to enable/disable find and replace with its functionalities.
     *
     * @default true
     */
    allowFindAndReplace: boolean;
    /**
     * It stores the filtered range collection.
     *
     * @hidden
     */
    filterCollection: FilterCollectionModel[];
    /**
     * It stores the filtered range collection.
     *
     * @hidden
     */
    sortCollection: SortCollectionModel[];
    /** @hidden */
    isEdit: boolean;
    /**
     * Defines the width of the Spreadsheet. It accepts width as pixels, number, and percentage.
     *  ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *      width: '550px'
     * ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @default '100%'
     */
    width: string | number;
    /**
     * It shows or hides the ribbon in spreadsheet.
     *
     * @default true
     */
    showRibbon: boolean;
    /**
     * It shows or hides the formula bar and its features.
     *
     * @default true
     */
    showFormulaBar: boolean;
    /**
     * It shows or hides the sheets tabs, this is used to navigate among the sheets and create or delete sheets by UI interaction.
     *
     * @default true
     */
    showSheetTabs: boolean;
    /**
     * It allows you to add new data or update existing cell data. If it is false, it will act as read only mode.
     *
     * @default true
     */
    allowEditing: boolean;
    /**
     * It allows you to open an Excel file (.xlsx, .xls, and .csv) in Spreadsheet.
     *
     * @default true
     */
    allowOpen: boolean;
    /**
     * It allows you to save Spreadsheet with all data as Excel file (.xlsx, .xls, and .csv).
     *
     * @default true
     */
    allowSave: boolean;
    /**
     * It allows to enable/disable sort and its functionalities.
     *
     * @default true
     */
    allowSorting: boolean;
    /**
     * It allows to enable/disable filter and its functionalities.
     *
     * @default true
     */
    allowFiltering: boolean;
    /**
     * It allows formatting a raw number into different types of formats (number, currency, accounting, percentage, short date,
     * long date, time, fraction, scientific, and text) with built-in format codes.
     *
     * @default true
     */
    allowNumberFormatting: boolean;
    /**
     * It allows you to apply styles (font size, font weight, font family, fill color, and more) to the spreadsheet cells.
     *
     * @default true
     */
    allowCellFormatting: boolean;
    /**
     * It allows to enable/disable Hyperlink and its functionalities.
     *
     * @default true
     */
    allowHyperlink: boolean;
    /**
     * It allows you to insert rows, columns and sheets in to the spreadsheet.
     *
     * @default true
     */
    allowInsert: boolean;
    /**
     * It allows you to delete rows, columns and sheets from spreadsheet.
     *
     * @default true
     */
    allowDelete: boolean;
    /**
     * It allows you to merge the range of cells.
     *
     * @default true
     */
    allowMerge: boolean;
    /**
     * It allows you to apply validation to the spreadsheet cells.
     *
     * @default true
     */
    allowDataValidation: boolean;
    /**
     * It allows you to insert the image in spreadsheet.
     *
     * @default true
     */
    allowImage: boolean;
    /**
     * It allows you to insert the chart in spreadsheet.
     *
     * @default true
     */
    allowChart: boolean;
    /**
     * It allows to enable/disable AutoFill functionalities.
     *
     * @default true
     */
    allowAutoFill: boolean;
    /**
     * Configures the auto fill settings.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *      autoFillSettings: {
     *          fillType: 'FillSeries',
     *          showFillOptions: true
     *      }
     * ...
     * }, '#Spreadsheet');
     *
     * The autoFillSettings `fillType` property has FOUR values and it is described below:
     *
     * * CopyCells: To update the copied cells of the selected range.
     * * FillSeries: To update the filled series of the selected range.
     * * FillFormattingOnly: To fill the formats only for the selected range.
     * * FillWithoutFormatting: To fill without the format of the selected range.
     *
     * ```
     *
     * @default { fillType: 'FillSeries', showFillOptions: true }
     */
    autoFillSettings: AutoFillSettingsModel;
    /**
     * It allows you to apply conditional formatting to the sheet.
     *
     * @default true
     */
    allowConditionalFormat: boolean;
    /**
     * Specifies the cell style options.
     *  ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *      ...
     *          cellStyle: { fontWeight: 'bold', fontSize: 12,
     *              fontStyle: 'italic', textIndent: '2pt'
     *              backgroundColor: '#4b5366', color: '#ffffff'
     *      },
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @default {}
     */
    cellStyle: CellStyleModel;
    /**
     * Specifies the service URL to open excel file in spreadsheet.
     *
     * @default ''
     */
    openUrl: string;
    /**
     * Specifies the service URL to save spreadsheet as Excel file.
     *
     * @default ''
     */
    saveUrl: string;
    /**
     * Specifies the password.
     *
     * @default ''
     */
    password: string;
    /**
     * Specifies to  protect the workbook.
     *
     * @default false
     */
    isProtected: boolean;
    /**
     * Specifies the name for a range and uses it in formula for calculation.
     *  ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *      ...
     *      definedNames: [{ name: 'namedRange1', refersTo: 'Sheet1!A1:B5' }],
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @default []
     */
    definedNames: DefineNameModel[];
    /**
     * Triggers before opening an Excel file.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       beforeOpen: (args: BeforeOpenEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event beforeOpen
     */
    beforeOpen: base.EmitType<BeforeOpenEventArgs>;
    /**
     * Triggers when the opened Excel file fails to load.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       openFailure: (args: OpenFailureArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event openFailure
     */
    openFailure: base.EmitType<OpenFailureArgs>;
    /**
     * Triggers before saving the Spreadsheet as Excel file.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       beforeSave: (args: BeforeSaveEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event beforeSave
     */
    beforeSave: base.EmitType<BeforeSaveEventArgs>;
    /**
     * Triggers after saving the Spreadsheet as Excel file.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       saveComplete: (args: SaveCompleteEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event saveComplete
     */
    saveComplete: base.EmitType<SaveCompleteEventArgs>;
    /**
     * Triggers before the cell format applied to the cell.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       beforeCellFormat: (args: BeforeCellFormatArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event beforeCellFormat
     */
    beforeCellFormat: base.EmitType<BeforeCellFormatArgs>;
    /**
     * Triggered every time a request is made to access cell information.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *      queryCellInfo: (args: CellInfoEventArgs) => {
     *      }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event queryCellInfo
     */
    queryCellInfo: base.EmitType<CellInfoEventArgs>;
    /**
     * Triggers before changing any cell properties.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     *  new Spreadsheet({
     *      beforeCellUpdate: (args: BeforeCellUpdateArgs) => {
     *      }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     *
     * @event beforeCellUpdate
     */
    beforeCellUpdate: base.EmitType<BeforeCellUpdateArgs>;
    /**
     * It allows to enable/disable freeze pane functionality in spreadsheet.
     *
     * @default true
     */
    allowFreezePane: boolean;
    /** @hidden */
    commonCellStyle: CellStyleModel;
    /**
     * To generate sheet name based on sheet count.
     *
     * @hidden
     */
    sheetNameCount: number;
    /** @hidden */
    serviceLocator: ServiceLocator;
    /**
     * @hidden
     */
    dataValidationRange: string;
    /**
     * @hidden
     */
    isOpen: boolean;
    /**
     * @hidden
     */
    chartColl: ChartModel[];
    /**
     * @hidden
     */
    chartCount: number;
    /** @hidden */
    formulaRefCell: string;
    /**
     * Constructor for initializing the library.
     *
     * @param {WorkbookModel} options - Configures Workbook model.
     */
    constructor(options: WorkbookModel);
    /**
     * For internal use only.
     *
     * @returns {void} - For internal use only.
     * @hidden
     */
    protected preRender(): void;
    private initWorkbookServices;
    /**
     * For internal use only.
     *
     * @returns {void} - For internal use only.
     * @hidden
     */
    protected render(): void;
    /**
     * To provide the array of modules needed for workbook.
     *
     * @returns {base.ModuleDeclaration[]} - To provide the array of modules needed for workbook.
     * @hidden
     */
    requiredModules(): base.ModuleDeclaration[];
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @returns {string} - Get the properties to be maintained in the persisted state.
     * @hidden
     */
    getPersistData(): string;
    /**
     * Applies the style (font family, font weight, background color, etc...) to the specified range of cells.
     *
     * {% codeBlock src='spreadsheet/cellFormat/index.md' %}{% endcodeBlock %}
     *
     * @param {CellStyleModel} style - Specifies the cell style.
     * @param {string} range - Specifies the address for the range of cells.
     * @returns {void} - Applies the style (font family, font weight, background color, etc...) to the specified range of cells.
     */
    cellFormat(style: CellStyleModel, range?: string): void;
    /**
     * Applies cell lock to the specified range of cells.
     *
     * {% codeBlock src='spreadsheet/lockCells/index.md' %}{% endcodeBlock %}
     *
     * @param {string} range - Specifies the address for the range of cells.
     * @param {boolean} isLocked -Specifies the cell is locked or not.
     * @returns {void} - To Applies cell lock to the specified range of cells.
     */
    lockCells(range?: string, isLocked?: boolean): void;
    /**
     * @hidden
     * @param {Workbook} cssProps - Specifies the cssProps.
     * @param {number[]} indexes - Specifies the indexes.
     * @returns {CellStyleModel} - To get Cell Style Value.
     */
    getCellStyleValue(cssProps: string[], indexes: number[]): CellStyleModel;
    /**
     * Applies the number format (number, currency, percentage, short date, etc...) to the specified range of cells.
     *
     * {% codeBlock src='spreadsheet/numberFormat/index.md' %}{% endcodeBlock %}
     *
     * @param {string} format - Specifies the number format code.
     * @param {string} range - Specifies the address for the range of cells.
     * @returns {void} - Applies the number format (number, currency, percentage, short date, etc...) to the specified range of cells.
     */
    numberFormat(format: string, range?: string): void;
    /**
     * Used to create new sheet.
     *
     * @hidden
     * @param {number} index - Specifies the index.
     * @param {SheetModel[]} sheets - Specifies the sheets.
     * @returns {void} - To create new sheet.
     */
    createSheet(index?: number, sheets?: SheetModel[]): void;
    /**
     * Used to remove sheet.
     *
     * @hidden
     * @param  {number} idx - Specifies the index.
     * @returns {void} - To remove sheet
     */
    removeSheet(idx: number): void;
    /**
     * Destroys the Workbook library.
     *
     * @returns {void} - To destroy sheet
     */
    destroy(): void;
    /**
     * Called internally if any of the property value changed.
     *
     * @param {WorkbookModel} newProp - To set the properties
     * @param {WorkbookModel} oldProp - To get the properties
     * @returns {void} - property value changed
     * @hidden
     */
    onPropertyChanged(newProp: WorkbookModel, oldProp: WorkbookModel): void;
    /**
     * Not applicable for workbook.
     *
     * @hidden
     * @param {string | HTMLElement} selector - Specifies the selector.
     * @returns {void} - To append the element.
     */
    appendTo(selector: string | HTMLElement): void;
    /**
     * Used to hide/show the rows in spreadsheet.
     *
     * @param {number} startIndex - Specifies the start row index.
     * @param {number} endIndex - Specifies the end row index.
     * @param {boolean} hide - To hide/show the rows in specified range.
     * @returns {void} - To hide/show the rows in spreadsheet.
     */
    hideRow(startIndex: number, endIndex?: number, hide?: boolean): void;
    /**
     * Used to hide/show the columns in spreadsheet.
     *
     * @param {number} startIndex - Specifies the start column index.
     * @param {number} endIndex - Specifies the end column index.
     * @param {boolean} hide - Set `true` / `false` to hide / show the columns.
     * @returns {void} - To hide/show the columns in spreadsheet.
     */
    hideColumn(startIndex: number, endIndex?: number, hide?: boolean): void;
    /**
     * Sets the border to specified range of cells.
     *
     * {% codeBlock src='spreadsheet/setBorder/index.md' %}{% endcodeBlock %}
     *
     * @param {CellStyleModel} style - Specifies the style property which contains border value.
     * @param {string} range - Specifies the range of cell reference. If not specified, it will considered the active cell reference.
     * @param {BorderType} type - Specifies the range of cell reference. If not specified, it will considered the active cell reference.
     * @returns {void} - To Sets the border to specified range of cells.
     */
    setBorder(style: CellStyleModel, range?: string, type?: BorderType): void;
    /**
     * Used to insert rows in to the spreadsheet.
     *
     * {% codeBlock src='spreadsheet/insertRow/index.md' %}{% endcodeBlock %}
     *
     * @param {number | RowModel[]} startRow - Specifies the start row index / row model which needs to be inserted.
     * @param {number} endRow - Specifies the end row index.
     * @param {number | string} sheet - Specifies the sheet name or index in which the insert operation will perform. By default,
     * active sheet will be considered.
     * @returns {void} - To insert rows in to the spreadsheet.
     */
    insertRow(startRow?: number | RowModel[], endRow?: number, sheet?: number | string): void;
    /**
     * Used to insert columns in to the spreadsheet.
     *
     * {% codeBlock src='spreadsheet/insertColumn/index.md' %}{% endcodeBlock %}
     *
     * @param {number | ColumnModel[]} startColumn - Specifies the start column index / column model which needs to be inserted.
     * @param {number} endColumn - Specifies the end column index.
     * @param {number | string} sheet - Specifies the sheet name or index in which the insert operation will perform. By default,
     * active sheet will be considered.
     * @returns {void} - To insert columns in to the spreadsheet.
     */
    insertColumn(startColumn?: number | ColumnModel[], endColumn?: number, sheet?: number | string): void;
    /**
     * Used to insert sheets in to the spreadsheet.
     *
     * {% codeBlock src='spreadsheet/insertSheet/index.md' %}{% endcodeBlock %}
     *
     * @param {number | SheetModel[]} startSheet - Specifies the start sheet index / sheet model which needs to be inserted.
     * @param {number} endSheet - Specifies the end sheet index.
     * @returns {void} - To insert sheets in to the spreadsheet.
     */
    insertSheet(startSheet?: number | SheetModel[], endSheet?: number): void;
    /**
     * Used to delete rows, columns and sheets from the spreadsheet.
     *
     * {% codeBlock src='spreadsheet/delete/index.md' %}{% endcodeBlock %}
     *
     * @param {number} startIndex - Specifies the start sheet / row / column index.
     * @param {number} endIndex - Specifies the end sheet / row / column index.
     * @param {ModelType} model - Specifies the delete model type. By default, the model is considered as `Sheet`. The possible values are,
     * - Row: To delete rows.
     * - Column: To delete columns.
     * - Sheet: To delete sheets.
     * @param {number | string} sheet - Specifies the sheet name or index in which the delete operation will perform. By default,
     * active sheet will be considered. It is applicable only for model type Row and Column.
     * @returns {void} - To delete rows, columns and sheets from the spreadsheet.
     */
    delete(startIndex?: number, endIndex?: number, model?: ModelType, sheet?: number | string): void;
    /**
     * Used to move the sheets to the specified position in the list of sheets.
     *
     * {% codeBlock src='spreadsheet/moveSheet/index.md' %}{% endcodeBlock %}
     *
     * @param {number} position - Specifies the position to move a sheet in the list of sheets.
     * @param {number[]} sheetIndexes - Specifies the indexes of the sheet to be moved. By default, the active sheet will be moved.
     * @returns {void} - Used to move the sheets to the specified position in the list of sheets.
     */
    moveSheet(position: number, sheetIndexes?: number[]): void;
    /**
     * Used to make a duplicate/copy of the sheet in the spreadsheet.
     *
     * {% codeBlock src='spreadsheet/duplicateSheet/index.md' %}{% endcodeBlock %}
     *
     * @param {number} sheetIndex - Specifies the index of the sheet to be duplicated. By default, the active sheet will be duplicated.
     * @returns {void} - Used to make a duplicate/copy of the sheet in the spreadsheet.
     */
    duplicateSheet(sheetIndex?: number): void;
    private getSheetModel;
    /**
     * Used to merge the range of cells.
     *
     * {% codeBlock src='spreadsheet/merge/index.md' %}{% endcodeBlock %}
     *
     * @param {string} range - Specifies the range of cells as address.
     * @param {MergeType} type - Specifies the merge type. The possible values are,
     * - All: Merge all the cells between provided range.
     * - Horizontally: Merge the cells row-wise.
     * - Vertically: Merge the cells column-wise.
     * @returns {void} - To merge the range of cells.
     */
    merge(range?: string, type?: MergeType): void;
    /**
     * Used to split the merged cell into multiple cells.
     *
     * {% codeBlock src='spreadsheet/unMerge/index.md' %}{% endcodeBlock %}
     *
     * @param {string} range - Specifies the range of cells as address.
     * @returns {void} - To split the merged cell into multiple cells.
     */
    unMerge(range?: string): void;
    /** Used to compute the specified expression/formula.
     *
     * {% codeBlock src='spreadsheet/computeExpression/index.md' %}{% endcodeBlock %}
     *
     * @param {string} formula - Specifies the formula(=SUM(A1:A3)) or expression(2+3).
     * @returns {string | number} - to compute the specified expression/formula.
     */
    computeExpression(formula: string): string | number;
    private initEmptySheet;
    /** @hidden
     * @returns {SheetModel} - To get Active Sheet.
     */
    getActiveSheet(): SheetModel;
    /** @hidden
     * @param {number} index - Specifies the index.
     * @param {number} initIdx - Specifies the initIdx.
     * @param {number} hiddenCount - Specifies the initIdx.
     * @returns {number} - To skip Hidden Sheets.
     */
    skipHiddenSheets(index: number, initIdx?: number, hiddenCount?: number): number;
    /**
     * Used for setting the used range row and column index.
     *
     * @hidden
     * @param {number} rowIdx - Specifies the rowIndex.
     * @param {number} colIdx - Specifies the colIndex.
     * @param {SheetModel} sheet - Specifies the active sheet.
     * @param {boolean} preventRowColUpdate - To prevent updating row and column count.
     * @param {boolean} forceUpdate - To force updating row and column count.
     * @returns {void} - To setting the used range row and column index.
     */
    setUsedRange(rowIdx: number, colIdx: number, sheet?: SheetModel, preventRowColUpdate?: boolean, forceUpdate?: boolean): void;
    /**
     * Gets the range of data as JSON from the specified address.
     *
     * {% codeBlock src='spreadsheet/getData/index.md' %}{% endcodeBlock %}
     *
     * @param {string} address - Specifies the address for range of cells.
     * @returns {Promise<Map<string, CellModel>>} - Gets the range of data as JSON from the specified address.
     */
    getData(address: string): Promise<Map<string, CellModel>>;
    /**
     * Get component name.
     *
     * @returns {string} - Gets the module name.
     * @hidden
     */
    getModuleName(): string;
    /** @hidden
     * @param {string} address - Specifies the sheet id.
     * @returns {void} - To set the value for row and col.
     */
    goTo(address?: string): void;
    /** @hidden
     * @param {number} sheetId - Specifies the sheet id.
     * @param {number} rowIndex - Specifies the rowIndex.
     * @param {number} colIndex - Specifies the colIndex.
     * @param {string} formulaCellReference - Specifies the formulaCellReference.
     * @param {boolean} refresh - Specifies the refresh.
     * @returns {string | number} - To set the value for row and col.
     */
    getValueRowCol(sheetId: number, rowIndex: number, colIndex: number, formulaCellReference?: string, refresh?: boolean, isUnique?: boolean): string | number;
    /** @hidden
     * @param {number} sheetId - Specifies the sheet id.
     * @param {string | number} value - Specifies the value.
     * @param {number} rowIndex - Specifies the rowIndex.
     * @param {number} colIndex - Specifies the colIndex.
     * @param {string} formula - Specifies the colIndex.
     * @returns {void} - To set the value for row and col.
     */
    setValueRowCol(sheetId: number, value: string | number, rowIndex: number, colIndex: number, formula?: string): void;
    /**
     * Opens the specified excel file or stream.
     *
     * @param {OpenOptions} options - Options for opening the excel file.
     * @returns {void} - Opens the specified excel file or stream.
     */
    open(options: OpenOptions): void;
    /**
     * Opens the specified JSON object.
     *
     * {% codeBlock src='spreadsheet/openFromJson/index.md' %}{% endcodeBlock %}
     *
     * The available arguments in options are:
     * * file: Specifies the spreadsheet model as object or string. And the object contains the jsonObject,
     * which is saved from spreadsheet using saveAsJson method.
     *
     * @param {Object} options - Options for opening the JSON object.
     * @param {string | object} options.file - Options for opening the JSON object.
     * @returns {void} - Opens the specified JSON object.
     */
    openFromJson(options: {
        file: string | object;
    }): void;
    /**
     * Saves the Spreadsheet data to Excel file.
     *
     * {% codeBlock src='spreadsheet/save/index.md' %}{% endcodeBlock %}
     *
     * The available arguments in saveOptions are:
     * * url: Specifies the save URL.
     * * fileName: Specifies the file name.
     * * saveType: Specifies the file type need to be saved.
     *
     * @param {SaveOptions} saveOptions - Options for saving the excel file.
     * @returns {void} - To Saves the Spreadsheet data to Excel file.
     */
    save(saveOptions?: SaveOptions): void;
    /**
     * Saves the Spreadsheet data as JSON object.
     *
     * {% codeBlock src='spreadsheet/saveAsJson/index.md' %}{% endcodeBlock %}
     *
     * @returns {Promise<object>} - To Saves the Spreadsheet data as JSON object.
     */
    saveAsJson(): Promise<object>;
    addHyperlink(hyperlink: string | HyperlinkModel, cellAddress: string): void;
    /**
     * To find the specified cell value.
     *
     * @hidden
     * @param {FindOptions} args - options for find.
     * {% codeBlock src='spreadsheet/findHandler/index.md' %}{% endcodeBlock %}
     * @returns {void} - To find the specified cell value.
     */
    findHandler(args: FindOptions): void;
    /**
     * @hidden
     * @param {FindOptions} args - Specifies the FindOptions.
     * @returns {void} - To replace the value.
     */
    replaceHandler(args: FindOptions): void;
    /**
     * Protect the active sheet based on the protect sheetings.
     *
     * @param {number} sheet - Specifies the sheet to protect.
     * @param {ProtectSettingsModel} protectSettings - Specifies the protect settings of the sheet.
     * @param {string} password - Specifies the password to protect
     * @returns {void} - protect the active sheet.
     */
    protectSheet(sheet?: number | string, protectSettings?: ProtectSettingsModel, password?: string): void;
    /**
     * Unprotect the active sheet.
     *
     * @param {number} sheet - Specifies the sheet to Unprotect.
     * @returns {void} - Unprotect the active sheet.
     */
    unprotectSheet(sheet: number): void;
    /**
     * Sorts the range of cells in the active Spreadsheet.
     *
     * @param {SortOptions} sortOptions - options for sorting.
     * @param {string} range - address of the data range.
     * @returns {Promise<SortEventArgs>} - Sorts the range of cells in the active Spreadsheet.
     */
    sort(sortOptions?: SortOptions, range?: string): Promise<SortEventArgs>;
    addDataValidation(rules: ValidationModel, range?: string): void;
    removeDataValidation(range?: string): void;
    addInvalidHighlight(range: string): void;
    removeInvalidHighlight(range: string): void;
    /**
     * To determine whether the cell value in a data validation applied cell is valid or not.
     *
     * @param {string} cellAddress - Address of the cell.
     * @returns {boolean} - It return true if the cell value is valid;
 otherwise, false.
     */
    isValidCell(cellAddress?: string): boolean;
    conditionalFormat(conditionalFormat: ConditionalFormatModel): void;
    clearConditionalFormat(range: string): void;
    /**
     * To update a cell properties.
     *
     * @param {CellModel} cell - Cell properties.
     * @param {string} address - Address to update.
     * @returns {void} - To update a cell properties
     * {% codeBlock src='spreadsheet/updateCell/index.md' %}{% endcodeBlock %}
     */
    updateCell(cell: CellModel, address?: string): void;
    /**
     * Used to get a row data from the data source with updated cell value.
     *
     * {% codeBlock src='spreadsheet/getRowData/index.md' %}{% endcodeBlock %}
     *
     * @param {number} index - Specifies the row index.
     * @param {number} sheetIndex - Specifies the sheet index. By default, it consider the active sheet index.
     * @returns {Object[]} - Return row data.
     */
    getRowData(index?: number, sheetIndex?: number): Object[];
    /**
     * This method is used to update the Range property in specified sheetIndex.
     *
     * @param {RangeModel} range - Specifies the range properties to update.
     * @param {number} sheetIdx - Specifies the sheetIdx to update.
     * @returns {void} - To update a range properties.
     */
    updateRange(range: RangeModel, sheetIdx?: number): void;
    /**
     * This method is used to wrap/unwrap the text content of the cell.
     *
     * {% codeBlock src='spreadsheet/wrap/index.md' %}{% endcodeBlock %}
     *
     * @param {string} address - Address of the cell to be wrapped.
     * @param {boolean} wrap - Set `false` if the text content of the cell to be unwrapped.
     * @returns {void} - To wrap/unwrap the text content of the cell.
     * {% codeBlock src='spreadsheet/wrap/index.md' %}{% endcodeBlock %}
     */
    wrap(address: string, wrap?: boolean): void;
    /**
     * Adds the defined name to the Spreadsheet.
     *
     * @param {DefineNameModel} definedName - Specifies the name.
     * @returns {boolean} - Return the added status of the defined name.
     * {% codeBlock src='spreadsheet/addDefinedName/index.md' %}{% endcodeBlock %}
     */
    addDefinedName(definedName: DefineNameModel): boolean;
    /**
     * Removes the defined name from the Spreadsheet.
     *
     * @param {string} definedName - Specifies the name.
     * @param {string} scope - Specifies the scope of the defined name.
     * @returns {boolean} - Return the removed status of the defined name.
     * {% codeBlock src='spreadsheet/removeDefinedName/index.md' %}{% endcodeBlock %}
     */
    removeDefinedName(definedName: string, scope?: string): boolean;
    /** @hidden
     * @param {string} address - Specifies the address.
     * @param {number} sheetIndex - Specifies the sheetIndex.
     * @param {boolean} valueOnly - Specifies the bool value.
     * @returns {void} - To clear range.
     */
    clearRange(address?: string, sheetIndex?: number, valueOnly?: boolean): void;
    /**
     * Used to set the image in spreadsheet.
     *
     * @param {ImageModel} images - Specifies the options to insert image in spreadsheet.
     * @param {string} range - Specifies the range in spreadsheet.
     * @returns {void} - To set the image in spreadsheet.
     */
    insertImage(images: ImageModel[], range?: string): void;
    /**
     * Used to perform autofill action based on the specified range in spreadsheet.
     *
     * @param {string} fillRange - Specifies the fill range.
     * @param {string} dataRange - Specifies the data range.
     * @param {AutoFillDirection} direction - Specifies the direction("Down","Right","Up","Left") to be filled.
     * @param {AutoFillType} fillType - Specifies the fill type("FillSeries","CopyCells","FillFormattingOnly","FillWithoutFormatting") for autofill action.
     * @returns {void} - To perform autofill action based on the specified range in spreadsheet.
     */
    autoFill(fillRange: string, dataRange?: string, direction?: AutoFillDirection, fillType?: AutoFillType): void;
    /**
     * Used to set the chart in spreadsheet.
     *
     * {% codeBlock src='spreadsheet/insertChart/index.md' %}{% endcodeBlock %}
     *
     * @param {ChartModel} chart - Specifies the options to insert chart in spreadsheet
     * @returns {void} - To set the chart in spreadsheet.
     */
    insertChart(chart?: ChartModel[]): void;
    /**
     * Used to delete the chart from spreadsheet.
     *
     * {% codeBlock src='spreadsheet/deleteChart/index.md' %}{% endcodeBlock %}
     *
     * @param {string} id - Specifies the chart element id.
     * @returns {void} - To delete the chart from spreadsheet.
     */
    deleteChart(id?: string): void;
    /**
     * Filters the range of cells in the sheet.
     *
     * @param {FilterOptions} filterOptions - Specifies the filterOptions
     * @param {string} range - Specifies the range
     * @returns {Promise<FilterEventArgs>} - To Filters the range of cells in the sheet.
     */
    filter(filterOptions?: FilterOptions, range?: string): Promise<FilterEventArgs>;
    /**
     * To add custom library function.
     *
     * @param {string} functionHandler - Custom function handler name
     * @param {string} functionName - Custom function name
     * {% codeBlock src='spreadsheet/addCustomFunction/index.md' %}{% endcodeBlock %}
     * @returns {void} - To add custom library function.
     */
    addCustomFunction(functionHandler: string | Function, functionName?: string, formulaDescription?: string): void;
    /**
     * This method is used to Clear contents, formats and hyperlinks in spreadsheet.
     *
     * @param {ClearOptions} options - Options for clearing the content, formats and hyperlinks in spreadsheet.
     * @returns {void} - To Clear contents, formats and hyperlinks.
     */
    clear(options: ClearOptions): void;
    /**
     * Gets the formatted text of the cell.
     *
     * {% codeBlock src='spreadsheet/getDisplayText/index.md' %}{% endcodeBlock %}
     *
     * @param {CellModel} cell - Specifies the cell.
     * @returns {string} - To get Display Text.
     */
    getDisplayText(cell: CellModel): string;
    /**
     * This method is used to freeze rows and columns after the specified cell in the Spreadsheet.
     *
     * @param {number} row - Specifies the freezed row count.
     * @param {number} column - Specifies the freezed column count.
     * @param {number | string} sheet - Specifies the sheet name or index in which the freeze operation will perform. By default,
     * active sheet will be considered.
     * {% codeBlock src='spreadsheet/freezePanes/index.md' %}{% endcodeBlock %}
     * @returns {void}
     */
    freezePanes(row?: number, column?: number, sheet?: number | string): void;
    /**
     * This method is used to unfreeze the frozen rows and columns from the active sheet.
     *
     * @param {number | string} sheet - Specifies the sheet name or index in which the unfreeze operation will perform. By default,
     * active sheet will be considered.
     * {% codeBlock src='spreadsheet/unfreezePanes/index.md' %}{% endcodeBlock %}
     * @returns {void}
     * @deprecated This method is deprecated, use `unfreezePanes` method to unfreeze the frozen rows and columns.
     */
    Unfreeze(sheet?: number | string): void;
    /**
     * This method is used to unfreeze the frozen rows and columns from spreadsheet.
     *
     * @param {number | string} sheet - Specifies the sheet name or index in which the unfreeze operation will perform. By default,
     * active sheet will be considered.
     * {% codeBlock src='spreadsheet/unfreezePanes/index.md' %}{% endcodeBlock %}
     * @returns {void}
     */
    unfreezePanes(sheet?: number | string): void;
    /**
     * @param {number} top - Specifies the top.
     * @param {number} left - Specifies the fleft.
     * @param {string} model - Specifies the model.
     * @param {SheetModel} sheet - Specifies the sheet.
     * @returns {void}
     * @hidden
     */
    updateTopLeftCell(top?: number, left?: number, model?: string, sheet?: SheetModel): void;
    /**
     * @hidden
     * @param {string} address - Specifies the address.
     * @returns {number | number[]} - To get address info.
     */
    getAddressInfo(address: string): {
        sheetIndex: number;
        indices: number[];
    };
    /**
     * @hidden
     * @param {SheetModel} sheet - Specifies the sheet.
     * @param {string} prop - Specifies the prop.
     * @param {Object} value - Specifies the value.
     * @returns {void} - To set sheet properties.
     */
    setSheetPropertyOnMute(sheet: SheetModel, prop: string, value: Object): void;
    /**
     * To get frozen row count from top index.
     *
     * @hidden
     * @param {SheetModel} sheet - Specifies the sheet.
     * @returns {number} - to get the frozen count.
     */
    frozenRowCount(sheet: SheetModel): number;
    /**
     * To get frozen column count from left index.
     *
     * @hidden
     * @param {SheetModel} sheet - Specifies the sheet.
     * @returns {number} - to get the frozen count.
     */
    frozenColCount(sheet: SheetModel): number;
    /**
     * To update the provided range while inserting or deleting rows and columns.
     *
     * @param {InsertDeleteEventArgs} args - Insert / Detele event arguments.
     * @param {number[]} index - Existing range.
     * @returns {boolean} - It return `true`, if the insert / delete action happens between the provided range, otherwise `false`.
     * @hidden
     */
    updateRangeOnInsertDelete(args: InsertDeleteEventArgs, index: number[]): boolean;
    /**
     * Used in calculate to compute integer value of date
     */
    private dateToInt;
    /**
     * Used to update format from calculate.
     */
    private setDateFormat;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/common/address.d.ts
/**
 * To get range indexes.
 *
 * @param {string} range - Specifies the range.
 * @returns {number[]} - To get range indexes.
 */
export  function getRangeIndexes(range: string): number[];
/**
 * To get single cell indexes
 *
 * @param {string} address - Specifies the address.
 * @returns {number[]} - To get single cell indexes
 */
export  function getCellIndexes(address: string): number[];
/**
 * To get column index from text.
 *
 * @hidden
 * @param {string} text - Specifies the text.
 * @returns {number} - To get column index from text.
 */
export  function getColIndex(text: string): number;
/**
 * To get cell address from given row and column index.
 *
 * @param {number} sRow - Specifies the row.
 * @param {number} sCol - Specifies the col.
 * @returns {string} - To get cell address from given row and column index.
 */
export  function getCellAddress(sRow: number, sCol: number): string;
/**
 * To get range address from given range indexes.
 *
 * @param {number[]} range - Specifies the range.
 * @returns {string} - To get range address from given range indexes.
 */
export  function getRangeAddress(range: number[]): string;
/**
 * To get column header cell text
 *
 * @param {number} colIndex - Specifies the colIndex.
 * @returns {string} - Get Column Header Text
 */
export  function getColumnHeaderText(colIndex: number): string;
/**
 * @hidden
 * @param {SheetModel} address - Specifies the address.
 * @returns {number[]} - Get Indexes From Address
 */
export  function getIndexesFromAddress(address: string): number[];
/**
 * @hidden
 * @param {SheetModel} address - Specifies the address.
 * @returns {string} - Get Range From Address.
 */
export  function getRangeFromAddress(address: string): string;
/**
 * Get complete address for selected range
 *
 * @hidden
 * @param {SheetModel} sheet - Specifies the sheet.
 * @returns {string} - Get complete address for selected range
 */
export  function getAddressFromSelectedRange(sheet: SheetModel): string;
/**
 * @param {Workbook} context - Specifies the context.
 * @param {string} address - Specifies the address.
 * @returns {Object} - To get Address Info
 * @hidden
 */
export  function getAddressInfo(context: Workbook, address: string): {
    sheetIndex: number;
    indices: number[];
};
/**
 * @param {Workbook} context - Specifies the context.
 * @param {string} address - Specifies the address.
 * @returns {number} - return the sheet index.
 * @hidden
 */
export  function getSheetIndexFromAddress(context: Workbook, address: string): number;
/**
 * Given range will be swapped/arranged in increasing order.
 *
 * @hidden
 * @param {number[]} range - Specifies the range.
 * @returns {number[]} - Returns the bool value.
 */
export  function getSwapRange(range: number[]): number[];
/**
 * @hidden
 * @param {number[]} range - Specifies the range.
 * @returns {boolean} - Returns the bool value.
 */
export  function isSingleCell(range: number[]): boolean;
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/common/all-module.d.ts
/**
 * Workbook all module.
 *
 * @private
 */
export  class WorkbookAllModule {
    /**
     * Constructor for Workbook all module.
     *
     * @private
     */
    constructor();
    /**
     * For internal use only - Get the module name.
     *
     * @private
     * @returns {string} - Get the module name.
     */
    protected getModuleName(): string;
    /**
     * Destroys the Workbook all module.
     *
     * @returns {void} - Destroys the Workbook all module.
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/common/basic-module.d.ts
/**
 * Workbook basic module.
 *
 * @private
 */
export  class WorkbookBasicModule {
    /**
     * Constructor for Workbook basic module.
     *
     * @private
     */
    constructor();
    /**
     * For internal use only - Get the module name.
     *
     * @private
     * @returns {string} - Get the module name.
     */
    protected getModuleName(): string;
    /**
     * Destroys the Workbook basic module.
     *
     * @returns {void} - Destroys the Workbook basic module.
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/common/class-model.d.ts
/**
 * Interface for a class CellStyle
 */
export interface CellStyleModel {
    /**
     * Specifies font family to the cell.
     *
     * @default 'Calibri'
     * @hidden
     */
    fontFamily?: FontFamily;
    /**
     * Specifies vertical align to the cell.
     *
     * @default 'bottom'
     */
    verticalAlign?: VerticalAlign;
    /**
     * Specifies text align style to the cell.
     *
     * @default 'left'
     */
    textAlign?: TextAlign;
    /**
     * Specifies text indent style to the cell.
     *
     * @default '0pt'
     */
    textIndent?: string;
    /**
     * Specifies font color to the cell.
     *
     * @default '#000000'
     */
    color?: string;
    /**
     * Specifies background color to the cell.
     *
     * @default '#ffffff'
     */
    backgroundColor?: string;
    /**
     * Specifies font weight to the cell.
     *
     * @default 'normal'
     */
    fontWeight?: FontWeight;
    /**
     * Specifies font style to the cell.
     *
     * @default 'normal'
     */
    fontStyle?: FontStyle;
    /**
     * Specifies font size to the cell.
     *
     * @default '11pt'
     */
    fontSize?: string;
    /**
     * Specifies text decoration to the cell.
     *
     * @default 'none'
     * @aspIgnore
     */
    textDecoration?: TextDecoration;
    /**
     * Specifies border of the cell.
     *
     * @default ''
     */
    border?: string;
    /**
     * Specifies top border of the cell.
     *
     * @default ''
     */
    borderTop?: string;
    /**
     * Specifies bottom border of the cell.
     *
     * @default ''
     */
    borderBottom?: string;
    /**
     * Specifies left border of the cell.
     *
     * @default ''
     */
    borderLeft?: string;
    /**
     * Specifies right border of the cell.
     *
     * @default ''
     */
    borderRight?: string;
}
/**
 * Interface for a class FilterCollection
 */
export interface FilterCollectionModel {
    /**
     * Specifies the sheet index of the filter collection.
     *
     * @default null
     */
    sheetIndex?: number;
    /**
     * Specifies the range of the filter collection.
     *
     * @default []
     */
    filterRange?: string;
    /**
     * Specifies the sheet has filter or not.
     *
     * @default false
     */
    hasFilter?: boolean;
    /**
     * Specifies the filtered column collection.
     *
     * @default []
     */
    column?: number[];
    /**
     * Specifies the condition for column filtering.
     *
     * @default []
     */
    criteria?: string[];
    /**
     * Specifies the value for column filtering.
     *
     * @default []
     */
    value?: (string | number | boolean | Date)[];
    /**
     * Specifies the data type of column filtering.
     *
     * @default []
     */
    dataType?: string[];
    /**
     * Specifies the predicate type of column filtering.
     *
     * @default []
     */
    predicates?: string[];
}
/**
 * Interface for a class SortCollection
 */
export interface SortCollectionModel {
    /**
     * Specifies the range of the sort collection.
     *
     */
    sortRange?: string;
    /**
     * Specifies the sorted column collection.
     *
     */
    columnIndex?: number;
    /**
     * Specifies the order for sorting.
     *
     */
    order?: string;
    /**
     * Specifies the order for sorting.
     *
     */
    sheetIndex?: number;
}
/**
 * Interface for a class DefineName
 */
export interface DefineNameModel {
    /**
     * Specifies name for the defined name, which can be used in formula.
     *
     * @default ''
     */
    name?: string;
    /**
     * Specifies scope for the defined name.
     *
     * @default ''
     */
    scope?: string;
    /**
     * Specifies comment for the defined name.
     *
     * @default ''
     */
    comment?: string;
    /**
     * Specifies reference for the defined name.
     *
     * @default ''
     */
    refersTo?: string;
}
/**
 * Interface for a class ProtectSettings
 */
export interface ProtectSettingsModel {
    /**
     * Specifies to allow selection in spreadsheet.
     *
     * @default false
     */
    selectCells?: boolean;
    /**
     * Specifies to allow selection only for unlocked cells in spreadsheet.
     *
     * @default false
     */
    selectUnLockedCells?: boolean;
    /**
     * specifies to allow formating in cells.
     *
     * @default false
     */
    formatCells?: boolean;
    /**
     * Specifies to allow format rows in spreadsheet.
     *
     * @default false
     */
    formatRows?: boolean;
    /**
     * Specifies to allow format columns in spreadsheet.
     *
     * @default false
     */
    formatColumns?: boolean;
    /**
     * Specifies to allow insert Hyperlink in Spreadsheet.
     *
     * @default false
     */
    insertLink?: boolean;
}
/**
 * Interface for a class Hyperlink
 */
export interface HyperlinkModel {
    /**
     * Specifies Hyperlink Address.
     *
     * @default ''
     */
    address?: string;
}
/**
 * Interface for a class Validation
 */
export interface ValidationModel {
    /**
     * Specifies Validation Type.
     *
     * @default 'WholeNumber'
     */
    type?: ValidationType;
    /**
     * Specifies Validation Operator.
     *
     * @default 'Between'
     */
    operator?: ValidationOperator;
    /**
     * Specifies Validation Minimum Value.
     *
     * @default ''
     */
    value1?: string;
    /**
     * Specifies Validation Maximum Value.
     *
     * @default ''
     */
    value2?: string;
    /**
     * Specifies IgnoreBlank option in Data Validation.
     *
     * @default true
     */
    ignoreBlank?: boolean;
    /**
     * Specifies InCellDropDown option in Data Validation.
     *
     * @default true
     */
    inCellDropDown?: boolean;
    /**
     * specifies to allow Highlight Invalid Data.
     *
     * @default false
     */
    isHighlighted?: boolean;
    /**
     * Specifies address for validation within the same column.
     *
     * @default ''
     * @hidden
     */
    address?: string;
}
/**
 * Interface for a class Format
 */
export interface FormatModel {
    /**
     * Specifies the number format code to display value in specified number format.
     *
     * @default 'General'
     */
    format?: string;
    /**
     * Specifies the cell style options.
     *
     * @default {}
     */
    style?: CellStyleModel;
    /**
     * Specifies the range is locked or not, for allow edit range in spreadsheet protect option.
     *
     * @default true
     */
    isLocked?: boolean;
}
/**
 * Interface for a class ConditionalFormat
 */
export interface ConditionalFormatModel {
    /**
     * Specifies Conditional formatting Type.
     *
     * @default 'GreaterThan'
     * @aspIgnore
     */
    type?: HighlightCell | TopBottom | DataBar | ColorScale | IconSet;
    /**
     * Specifies format.
     *
     * @default {}
     */
    format?: FormatModel;
    /**
     * Specifies Conditional formatting Highlight Color.
     *
     * @default 'RedFT'
     */
    cFColor?: CFColor;
    /**
     * Specifies Conditional formatting Value.
     *
     * @default ''
     */
    value?: string;
    /**
     * Specifies Conditional formatting range.
     *
     * @default ''
     */
    range?: string;
}
/**
 * Interface for a class LegendSettings
 */
export interface LegendSettingsModel {
    /**
     * If set to true, legend will be visible.
     *
     * @default true
     */
    visible?: boolean;
    /**
     * Position of the legend in the chart are,
     * * Auto: Places the legend based on area type.
     * * Top: Displays the legend at the top of the chart.
     * * Left: Displays the legend at the left of the chart.
     * * Bottom: Displays the legend at the bottom of the chart.
     * * Right: Displays the legend at the right of the chart.
     *
     * @default 'Auto'
     */
    position?: LegendPosition;
}
/**
 * Interface for a class DataLabelSettings
 */
export interface DataLabelSettingsModel {
    /**
     * If set true, data label for series renders.
     *
     * @default false
     */
    visible?: boolean;
    /**
     * Specifies the position of the data label. They are,
     * * Outer: Positions the label outside the point.
     * * top: Positions the label on top of the point.
     * * Bottom: Positions the label at the bottom of the point.
     * * Middle: Positions the label to the middle of the point.
     * * Auto: Positions the label based on series.
     *
     * @default 'Auto'
     */
    position?: LabelPosition;
}
/**
 * Interface for a class MajorGridLines
 */
export interface MajorGridLinesModel {
    /**
     * The width of the line in pixels.
     *
     * @default 0
     */
    width?: number;
}
/**
 * Interface for a class MinorGridLines
 */
export interface MinorGridLinesModel {
    /**
     * The width of the line in pixels.
     *
     * @default 0
     */
    width?: number;
}
/**
 * Interface for a class Axis
 */
export interface AxisModel {
    /**
     * Specifies the title of an axis.
     *
     * @default ''
     */
    title?: string;
    /**
     * Options for customizing major grid lines.
     *
     * @default {}
     */
    majorGridLines?: MajorGridLinesModel;
    /**
     * Options for customizing minor grid lines.
     *
     * @default {}
     */
    minorGridLines?: MinorGridLinesModel;
    /**
     * If set to true, axis label will be visible.
     *
     * @default true
     */
    visible?: boolean;
}
/**
 * Interface for a class Chart
 */
export interface ChartModel {
    /**
     * Specifies the type of a chart.
     *
     * @default 'Line'
     */
    type?: ChartType;
    /**
     * Specifies the theme of a chart.
     *
     * @default 'Material'
     */
    theme?: ChartTheme;
    /**
     * Specifies to switch the row or a column.
     *
     * @default false
     */
    isSeriesInRows?: boolean;
    /**
     * Specifies the selected range or specified range.
     *
     * @default ''
     */
    range?: string;
    /**
     * Specifies chart element id.
     *
     * @default ''
     */
    id?: string;
    /**
     * Title of the chart
     *
     * @default ''
     */
    title?: string;
    /**
     * Specifies the height of the chart.
     *
     * @default 290
     */
    height?: number;
    /**
     * Specifies the width of the chart.
     *
     * @default 480
     */
    width?: number;
    /**
     * Specifies the top position of the chart.
     *
     * @default 0
     * @hidden
     */
    top?: number;
    /**
     * Specifies the left side of the chart.
     *
     * @default 0
     * @hidden
     */
    left?: number;
    /**
     * Options for customizing the legend of the chart.
     *
     * @default {}
     */
    legendSettings?: LegendSettingsModel;
    /**
     * Options to configure the horizontal axis.
     *
     * @default {}
     */
    primaryXAxis?: AxisModel;
    /**
     * Options to configure the vertical axis.
     *
     * @default {}
     */
    primaryYAxis?: AxisModel;
    /**
     * The data label for the series.
     *
     * @default {}
     */
    dataLabelSettings?: DataLabelSettingsModel;
}
/**
 * Interface for a class Image
 */
export interface ImageModel {
    /**
     * Specifies the image source.
     *
     * @default ''
     */
    src?: string;
    /**
     * Specifies image element id.
     *
     * @default ''
     */
    id?: string;
    /**
     * Specifies the height of the image.
     *
     * @default 300
     * @asptype int
     */
    height?: number;
    /**
     * Specifies the width of the image.
     *
     * @default 400
     * @asptype int
     */
    width?: number;
    /**
     * Specifies the height of the image.
     *
     * @default 0
     * @asptype int
     */
    top?: number;
    /**
     * Specifies the width of the image.
     *
     * @default 0
     * @asptype int
     */
    left?: number;
}
/**
 * Interface for a class AutoFillSettings
 */
export interface AutoFillSettingsModel {
    /**
     * Specifies the auto fill settings. The possible values are
     *
     * * CopyCells: To update the copied cells of the selected range.
     * * FillSeries: To update the filled series of the selected range.
     * * FillFormattingOnly: To fill the formats only for the selected range.
     * * FillWithoutFormatting: To fill without the format of the selected range.
     *
     * @default 'FillSeries'
     */
    fillType?: AutoFillType;
    /**
     * Specifies whether fill options need to shown or not.
     *
     * @default true
     */
    showFillOptions?: boolean;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/common/class.d.ts
/**
 * Represents the cell style.
 */
export  class CellStyle extends base.ChildProperty<CellStyle> {
    /**
     * Specifies font family to the cell.
     *
     * @default 'Calibri'
     * @hidden
     */
    fontFamily: FontFamily;
    /**
     * Specifies vertical align to the cell.
     *
     * @default 'bottom'
     */
    verticalAlign: VerticalAlign;
    /**
     * Specifies text align style to the cell.
     *
     * @default 'left'
     */
    textAlign: TextAlign;
    /**
     * Specifies text indent style to the cell.
     *
     * @default '0pt'
     */
    textIndent: string;
    /**
     * Specifies font color to the cell.
     *
     * @default '#000000'
     */
    color: string;
    /**
     * Specifies background color to the cell.
     *
     * @default '#ffffff'
     */
    backgroundColor: string;
    /**
     * Specifies font weight to the cell.
     *
     * @default 'normal'
     */
    fontWeight: FontWeight;
    /**
     * Specifies font style to the cell.
     *
     * @default 'normal'
     */
    fontStyle: FontStyle;
    /**
     * Specifies font size to the cell.
     *
     * @default '11pt'
     */
    fontSize: string;
    /**
     * Specifies text decoration to the cell.
     *
     * @default 'none'
     * @aspIgnore
     */
    textDecoration: TextDecoration;
    /**
     * Specifies border of the cell.
     *
     * @default ''
     */
    border: string;
    /**
     * Specifies top border of the cell.
     *
     * @default ''
     */
    borderTop: string;
    /**
     * Specifies bottom border of the cell.
     *
     * @default ''
     */
    borderBottom: string;
    /**
     * Specifies left border of the cell.
     *
     * @default ''
     */
    borderLeft: string;
    /**
     * Specifies right border of the cell.
     *
     * @default ''
     */
    borderRight: string;
    /** @hidden */
    bottomPriority: boolean;
}
/**
 * Represents the Filter Collection.
 *
 */
export  class FilterCollection extends base.ChildProperty<FilterCollection> {
    /**
     * Specifies the sheet index of the filter collection.
     *
     * @default null
     */
    sheetIndex: number;
    /**
     * Specifies the range of the filter collection.
     *
     * @default []
     */
    filterRange: string;
    /**
     * Specifies the sheet has filter or not.
     *
     * @default false
     */
    hasFilter: boolean;
    /**
     * Specifies the filtered column collection.
     *
     * @default []
     */
    column: number[];
    /**
     * Specifies the condition for column filtering.
     *
     * @default []
     */
    criteria: string[];
    /**
     * Specifies the value for column filtering.
     *
     * @default []
     */
    value: (string | number | boolean | Date)[];
    /**
     * Specifies the data type of column filtering.
     *
     * @default []
     */
    dataType: string[];
    /**
     * Specifies the predicate type of column filtering.
     *
     * @default []
     */
    predicates: string[];
}
/**
 * Represents the sort Collection.
 *
 */
export  class SortCollection extends base.ChildProperty<SortCollection> {
    /**
     * Specifies the range of the sort collection.
     *
     */
    sortRange: string;
    /**
     * Specifies the sorted column collection.
     *
     */
    columnIndex: number;
    /**
     * Specifies the order for sorting.
     *
     */
    order: string;
    /**
     * Specifies the order for sorting.
     *
     */
    sheetIndex: number;
}
/**
 * Represents the DefineName.
 */
export  class DefineName extends base.ChildProperty<DefineName> {
    /**
     * Specifies name for the defined name, which can be used in formula.
     *
     * @default ''
     */
    name: string;
    /**
     * Specifies scope for the defined name.
     *
     * @default ''
     */
    scope: string;
    /**
     * Specifies comment for the defined name.
     *
     * @default ''
     */
    comment: string;
    /**
     * Specifies reference for the defined name.
     *
     * @default ''
     */
    refersTo: string;
}
/**
 * Configures the Protect behavior for the spreadsheet.
 *
 */
export  class ProtectSettings extends base.ChildProperty<ProtectSettings> {
    /**
     * Specifies to allow selection in spreadsheet.
     *
     * @default false
     */
    selectCells: boolean;
    /**
     * Specifies to allow selection only for unlocked cells in spreadsheet.
     *
     * @default false
     */
    selectUnLockedCells: boolean;
    /**
     * specifies to allow formating in cells.
     *
     * @default false
     */
    formatCells: boolean;
    /**
     * Specifies to allow format rows in spreadsheet.
     *
     * @default false
     */
    formatRows: boolean;
    /**
     * Specifies to allow format columns in spreadsheet.
     *
     * @default false
     */
    formatColumns: boolean;
    /**
     * Specifies to allow insert Hyperlink in Spreadsheet.
     *
     * @default false
     */
    insertLink: boolean;
}
/**
 * Represents the Hyperlink.
 *
 */
export  class Hyperlink extends base.ChildProperty<Hyperlink> {
    /**
     * Specifies Hyperlink Address.
     *
     * @default ''
     */
    address: string;
}
/**
 * Represents the DataValidation.
 */
export  class Validation extends base.ChildProperty<Validation> {
    /**
     * Specifies Validation Type.
     *
     * @default 'WholeNumber'
     */
    type: ValidationType;
    /**
     * Specifies Validation Operator.
     *
     * @default 'Between'
     */
    operator: ValidationOperator;
    /**
     * Specifies Validation Minimum Value.
     *
     * @default ''
     */
    value1: string;
    /**
     * Specifies Validation Maximum Value.
     *
     * @default ''
     */
    value2: string;
    /**
     * Specifies IgnoreBlank option in Data Validation.
     *
     * @default true
     */
    ignoreBlank: boolean;
    /**
     * Specifies InCellDropDown option in Data Validation.
     *
     * @default true
     */
    inCellDropDown: boolean;
    /**
     * specifies to allow Highlight Invalid Data.
     *
     * @default false
     */
    isHighlighted: boolean;
    /**
     * Specifies address for validation within the same column.
     *
     * @default ''
     * @hidden
     */
    address: string;
}
/**
 * Represents the Format.
 */
export  class Format extends base.ChildProperty<FormatModel> {
    /**
     * Specifies the number format code to display value in specified number format.
     *
     * @default 'General'
     */
    format: string;
    /**
     * Specifies the cell style options.
     *
     * @default {}
     */
    style: CellStyleModel;
    /**
     * Specifies the range is locked or not, for allow edit range in spreadsheet protect option.
     *
     * @default true
     */
    isLocked: boolean;
}
/**
 * Represents the Conditional Formatting.
 *
 */
export  class ConditionalFormat extends base.ChildProperty<ConditionalFormat> {
    /**
     * Specifies Conditional formatting Type.
     *
     * @default 'GreaterThan'
     * @aspIgnore
     */
    type: HighlightCell | TopBottom | DataBar | ColorScale | IconSet;
    /**
     * Specifies format.
     *
     * @default {}
     */
    format: FormatModel;
    /**
     * Specifies Conditional formatting Highlight Color.
     *
     * @default 'RedFT'
     */
    cFColor: CFColor;
    /**
     * Specifies Conditional formatting Value.
     *
     * @default ''
     */
    value: string;
    /**
     * Specifies Conditional formatting range.
     *
     * @default ''
     */
    range: string;
    /** @hidden */
    result: string[] | number[];
}
/**
 * Represents the Legend.
 *
 */
export  class LegendSettings extends base.ChildProperty<ChartModel> {
    /**
     * If set to true, legend will be visible.
     *
     * @default true
     */
    visible: boolean;
    /**
     * Position of the legend in the chart are,
     * * Auto: Places the legend based on area type.
     * * Top: Displays the legend at the top of the chart.
     * * Left: Displays the legend at the left of the chart.
     * * Bottom: Displays the legend at the bottom of the chart.
     * * Right: Displays the legend at the right of the chart.
     *
     * @default 'Auto'
     */
    position: LegendPosition;
}
/**
 * Represents the DataLabelSettings.
 *
 */
export  class DataLabelSettings extends base.ChildProperty<ChartModel> {
    /**
     * If set true, data label for series renders.
     *
     * @default false
     */
    visible: boolean;
    /**
     * Specifies the position of the data label. They are,
     * * Outer: Positions the label outside the point.
     * * top: Positions the label on top of the point.
     * * Bottom: Positions the label at the bottom of the point.
     * * Middle: Positions the label to the middle of the point.
     * * Auto: Positions the label based on series.
     *
     * @default 'Auto'
     */
    position: LabelPosition;
}
/**
 * Specifies the major grid lines in the `axis`.
 *
 */
export  class MajorGridLines extends base.ChildProperty<AxisModel> {
    /**
     * The width of the line in pixels.
     *
     * @default 0
     */
    width: number;
}
/**
 * Specifies the minor grid lines in the `axis`.
 *
 */
export  class MinorGridLines extends base.ChildProperty<AxisModel> {
    /**
     * The width of the line in pixels.
     *
     * @default 0
     */
    width: number;
}
/**
 * Represents the axis.
 *
 */
export  class Axis extends base.ChildProperty<ChartModel> {
    /**
     * Specifies the title of an axis.
     *
     * @default ''
     */
    title: string;
    /**
     * Options for customizing major grid lines.
     *
     * @default {}
     */
    majorGridLines: MajorGridLinesModel;
    /**
     * Options for customizing minor grid lines.
     *
     * @default {}
     */
    minorGridLines: MinorGridLinesModel;
    /**
     * If set to true, axis label will be visible.
     *
     * @default true
     */
    visible: boolean;
}
/**
 * Represents the Chart.
 */
export  class Chart extends base.ChildProperty<CellModel> {
    /**
     * Specifies the type of a chart.
     *
     * @default 'Line'
     */
    type: ChartType;
    /**
     * Specifies the theme of a chart.
     *
     * @default 'Material'
     */
    theme: ChartTheme;
    /**
     * Specifies to switch the row or a column.
     *
     * @default false
     */
    isSeriesInRows: boolean;
    /**
     * Specifies the selected range or specified range.
     *
     * @default ''
     */
    range: string;
    /**
     * Specifies chart element id.
     *
     * @default ''
     */
    id: string;
    /**
     * Title of the chart
     *
     * @default ''
     */
    title: string;
    /**
     * Specifies the height of the chart.
     *
     * @default 290
     */
    height: number;
    /**
     * Specifies the width of the chart.
     *
     * @default 480
     */
    width: number;
    /**
     * Specifies the top position of the chart.
     *
     * @default 0
     * @hidden
     */
    protected top: number;
    /**
     * Specifies the left side of the chart.
     *
     * @default 0
     * @hidden
     */
    protected left: number;
    /**
     * Options for customizing the legend of the chart.
     *
     * @default {}
     */
    legendSettings: LegendSettingsModel;
    /**
     * Options to configure the horizontal axis.
     *
     * @default {}
     */
    primaryXAxis: AxisModel;
    /**
     * Options to configure the vertical axis.
     *
     * @default {}
     */
    primaryYAxis: AxisModel;
    /**
     * The data label for the series.
     *
     * @default {}
     */
    dataLabelSettings: DataLabelSettingsModel;
}
/**
 * Represents the Image.
 */
export  class Image extends base.ChildProperty<CellModel> {
    /**
     * Specifies the image source.
     *
     * @default ''
     */
    src: string;
    /**
     * Specifies image element id.
     *
     * @default ''
     */
    id: string;
    /**
     * Specifies the height of the image.
     *
     * @default 300
     * @asptype int
     */
    height: number;
    /**
     * Specifies the width of the image.
     *
     * @default 400
     * @asptype int
     */
    width: number;
    /**
     * Specifies the height of the image.
     *
     * @default 0
     * @asptype int
     */
    top: number;
    /**
     * Specifies the width of the image.
     *
     * @default 0
     * @asptype int
     */
    left: number;
}
/**
 * Represents the AutoFillSettings.
 */
export  class AutoFillSettings extends base.ChildProperty<AutoFillSettings> {
    /**
     * Specifies the auto fill settings. The possible values are
     *
     * * CopyCells: To update the copied cells of the selected range.
     * * FillSeries: To update the filled series of the selected range.
     * * FillFormattingOnly: To fill the formats only for the selected range.
     * * FillWithoutFormatting: To fill without the format of the selected range.
     *
     * @default 'FillSeries'
     */
    fillType: AutoFillType;
    /**
     * Specifies whether fill options need to shown or not.
     *
     * @default true
     */
    showFillOptions: boolean;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/common/constant.d.ts
/** @hidden */
export  const workbookLocale: string;
/**
 * Workbook locale text
 *
 * @hidden
 */
export  const localeData: object;
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/common/enum.d.ts
/**
 * Horizontal alignment type
 */
export  type TextAlign = 'left' | 'center' | 'right';
/**
 * Vertical alignment type
 */
export  type VerticalAlign = 'bottom' | 'middle' | 'top';
/**
 * Font weight type
 */
export  type FontWeight = 'bold' | 'normal';
/**
 * Font style type
 */
export  type FontStyle = 'italic' | 'normal';
/**
 * Text decoration type
 *
 * @hidden
 */
export  type TextDecoration = 'underline' | 'line-through' | 'underline line-through' | 'none';
/**
 * Font family type
 */
export  type FontFamily = 'Arial' | 'Arial Black' | 'Axettac Demo' | 'Batang' | 'Book Antiqua' | 'Calibri' | 'Comic Sans MS' | 'Courier' | 'Courier New' | 'Din Condensed' | 'Georgia' | 'Helvetica' | 'Helvetica New' | 'Roboto' | 'Tahoma' | 'Times New Roman' | 'Verdana';
/**
 * Specifies the number format types in Spreadsheet.
 */
export  type NumberFormatType = 'General' | 'Number' | 'Currency' | 'Accounting' | 'ShortDate' | 'LongDate' | 'Time' | 'Percentage' | 'Fraction' | 'Scientific' | 'Text';
/**
 * Specifies the option for save file type from Spreadsheet. By default, Excel save will be occur.
 */
export  type SaveType = 'Xlsx' | 'Xls' | 'Csv' | 'Pdf';
/**
 * Defines the order of Sorting. They are
 * * Ascending
 * * Descending
 */
export  type SortOrder = 
/**  Defines SortDirection as Ascending */
'Ascending' | 
/**  Defines SortDirection as Descending */
'Descending';
/**
 * Cell format type
 */
export  type FormatType = 'CellFormat' | 'NumberFormat';
/**
 * Border type
 */
export  type BorderType = 'Vertical' | 'Horizontal' | 'Outer' | 'Inner';
/**
 * Sheet visibility state
 */
export  type SheetState = 
/** Defines the state of sheet as visible. */
'Visible' | 
/** Defines the state of sheet as hidden. It can be unhidden later. */
'Hidden' | 
/** Defines the state of sheet as hidden. Once set, it cannot be unhidden. */
'VeryHidden';
/**
 * Workbook model type
 */
export  type ModelType = 'Sheet' | 'Row' | 'Column';
/**
 * validation type
 */
export  type ValidationType = 'WholeNumber' | 'Decimal' | 'Date' | 'TextLength' | 'List' | 'Time';
/**
 * validation operator
 */
export  type ValidationOperator = 'Between' | 'NotBetween' | 'EqualTo' | 'NotEqualTo' | 'LessThan' | 'GreaterThan' | 'GreaterThanOrEqualTo' | 'LessThanOrEqualTo';
/**
 * Merge type
 */
export  type MergeType = 
/** Merge all the cells between provided range. */
'All' | 
/** Merge the cells row-wise. */
'Horizontally' | 
/** Merge the cells column-wise. */
'Vertically';
/**
 * Conditional formatting HighlightCell Type
 *
 * @hidden
 */
export  type HighlightCell = 'GreaterThan' | 'LessThan' | 'Between' | 'EqualTo' | 'ContainsText' | 'DateOccur' | 'Duplicate' | 'Unique';
/**
 * Conditional formatting TopBottom Type
 *
 * @hidden
 */
export  type TopBottom = 'Top10Items' | 'Bottom10Items' | 'Top10Percentage' | 'Bottom10Percentage' | 'BelowAverage' | 'AboveAverage';
/**
 * Conditional formatting DataBar Type
 *
 * @hidden
 */
export  type DataBar = 'BlueDataBar' | 'GreenDataBar' | 'RedDataBar' | 'OrangeDataBar' | 'LightBlueDataBar' | 'PurpleDataBar';
/**
 * Conditional formatting ColorScale Type
 *
 * @hidden
 */
export  type ColorScale = 'GYRColorScale' | 'RYGColorScale' | 'GWRColorScale' | 'RWGColorScale' | 'BWRColorScale' | 'RWBColorScale' | 'WRColorScale' | 'RWColorScale' | 'GWColorScale' | 'WGColorScale' | 'GYColorScale' | 'YGColorScale';
/**
 * Conditional formatting IconSet Type
 *
 * @hidden
 */
export  type IconSet = 'ThreeArrows' | 'ThreeArrowsGray' | 'FourArrowsGray' | 'FourArrows' | 'FiveArrowsGray' | 'FiveArrows' | 'ThreeTrafficLights1' | 'ThreeTrafficLights2' | 'ThreeSigns' | 'FourTrafficLights' | 'FourRedToBlack' | 'ThreeSymbols' | 'ThreeSymbols2' | 'ThreeFlags' | 'FourRating' | 'FiveQuarters' | 'FiveRating' | 'ThreeTriangles' | 'ThreeStars' | 'FiveBoxes';
export  type CFColor = 'RedFT' | 'YellowFT' | 'GreenFT' | 'RedF' | 'RedT';
/**
 * Clear type
 */
export  type ClearType = 
/** Clear the content, formats and hyperlinks applied in the provided range. */
'Clear All' | 
/** Clear the formats applied in the provided range. */
'Clear Formats' | 
/** Clear the content in the provided range. */
'Clear Contents' | 
/** Clear the hyperlinks applied in the provided range. */
'Clear Hyperlinks';
/**
 * Chart type
 */
export  type ChartType = 
/**  Define the Column series. */
'Column' | 
/**  Define the StackingColumn series. */
'StackingColumn' | 
/** Define the StackingColumn100 series */
'StackingColumn100' | 
/**  Define the line series. */
'Line' | 
/**  Define the StackingLine series. */
'StackingLine' | 
/** Define the StackingLine100 series */
'StackingLine100' | 
/**  Define the Bar series. */
'Bar' | 
/**  Define the StackingBar series. */
'StackingBar' | 
/** Define the StackingBar100 series */
'StackingBar100' | 
/**  Define the Area series. */
'Area' | 
/**  Define the StackingArea series. */
'StackingArea' | 
/** Define the StackingArea100 series */
'StackingArea100' | 
/**  Define the Scatter series. */
'Scatter' | 
/**  Define the Pie series. */
'Pie' | 
/**  Define the Doughnut series. */
'Doughnut';
/**
 * Chart theme
 */
export  type ChartTheme = 
/**  Render a chart with Material theme. */
'Material' | 
/**  Render a chart with Fabric theme. */
'Fabric' | 
/**  Render a chart with Bootstrap theme. */
'Bootstrap' | 
/**  Render a chart with HighcontrastLight theme. */
'HighContrastLight' | 
/**  Render a chart with MaterialDark theme. */
'MaterialDark' | 
/**  Render a chart with FabricDark theme. */
'FabricDark' | 
/**  Render a chart with HighContrast theme. */
'HighContrast' | 
/**  Render a chart with BootstrapDark theme. */
'BootstrapDark' | 
/**  Render a chart with Bootstrap4 theme. */
'Bootstrap4' | 
/**  Render a chart with Bootstrap5Dark theme. */
'Bootstrap5Dark' | 
/**  Render a chart with Bootstrap5 theme. */
'Bootstrap5' | 
/**  Render a chart with Tailwind theme. */
'Tailwind' | 
/**  Render a chart with TailwindDark theme. */
'TailwindDark' | 
/**  Render a chart with Fluent theme. */
'Fluent' | 
/**  Render a chart with FluentDark theme. */
'FluentDark';
/**
 * Defines the position of the legend. They are
 * * auto - Places the legend based on area type.
 * * top - Displays the legend on the top of chart.
 * * left - Displays the legend on the left of chart.
 * * bottom - Displays the legend on the bottom of chart.
 * * right - Displays the legend on the right of chart.
 */
export  type LegendPosition = 
/** Places the legend based on area type. */
'Auto' | 
/** Places the legend on the top of chart. */
'Top' | 
/** Places the legend on the left of chart. */
'Left' | 
/** Places the legend on the bottom of chart. */
'Bottom' | 
/** Places the legend on the right of chart. */
'Right';
/**
 * Defines the LabelPosition, They are.
 * * outer - Position the label outside the point.
 * * top - Position the label on top of the point.
 * * bottom - Position the label on bottom of the point.
 * * middle - Position the label to middle of the point.
 * * auto - Position the label based on series.
 */
export  type LabelPosition = 
/** Position the label outside the point. */
'Outer' | 
/** Position the label on top of the point. */
'Top' | 
/** Position the label on bottom of the point. */
'Bottom' | 
/** Position the label to middle of the point. */
'Middle' | 
/** Position the label based on series. */
'Auto';
/**
 * Defines fill type options.
 */
export  type AutoFillType = 'FillSeries' | 'CopyCells' | 'FillFormattingOnly' | 'FillWithoutFormatting';
/**
 * Defines Auto fill direction options.
 */
export  type AutoFillDirection = 'Down' | 'Right' | 'Up' | 'Left';
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/common/event.d.ts
/**
 * Specifies Workbook internal events.
 */
/** @hidden */
export  const workbookDestroyed: string;
/** @hidden */
export  const updateSheetFromDataSource: string;
/** @hidden */
export  const dataSourceChanged: string;
/** @hidden */
export  const dataChanged: string;
/** @hidden */
export  const triggerDataChange: string;
/** @hidden */
export  const workbookOpen: string;
/** @hidden */
export  const beginSave: string;
/** @hidden */
export  const beginAction: string;
/** @hidden */
export  const sortImport: string;
/** @hidden */
export  const ribbonFind: string;
/** @hidden */
export  const exportDialog: string;
/** @hidden */
export  const getFilteredCollection: string;
/** @hidden */
export  const saveCompleted: string;
/** @hidden */
export  const applyNumberFormatting: string;
/** @hidden */
export  const getFormattedCellObject: string;
/** @hidden */
export  const refreshCellElement: string;
/** @hidden */
export  const setCellFormat: string;
/** @hidden */
export  const findAllValues: string;
/** @hidden */
export  const textDecorationUpdate: string;
/** @hidden */
export  const applyCellFormat: string;
/** @hidden */
export  const updateUsedRange: string;
/** @hidden */
export  const updateRowColCount: string;
/** @hidden */
export  const workbookFormulaOperation: string;
/** @hidden */
export  const workbookEditOperation: string;
/** @hidden */
export  const checkDateFormat: string;
/** @hidden */
export  const getFormattedBarText: string;
/** @hidden */
export  const activeCellChanged: string;
/** @hidden */
export  const openSuccess: string;
/** @hidden */
export  const openFailure: string;
/** @hidden */
export  const sheetCreated: string;
/** @hidden */
export  const sheetsDestroyed: string;
/** @hidden */
export  const aggregateComputation: string;
/** @hidden */
export  const getUniqueRange: string;
/** @hidden */
export  const removeUniquecol: string;
/** @hidden */
export  const checkUniqueRange: string;
/** @hidden */
export  const reApplyFormula: string;
/** @hidden */
export  const clearFormulaDependentCells: string;
/** @hidden */
export  const formulaInValidation: string;
/** @hidden */
export  const beforeSort: string;
/** @hidden */
export  const initiateSort: string;
/** @hidden */
export  const updateSortedDataOnCell: string;
/** @hidden */
export  const sortComplete: string;
/** @hidden */
export  const sortRangeAlert: string;
/** @hidden */
export  const initiatelink: string;
/** @hidden */
export  const beforeHyperlinkCreate: string;
/** @hidden */
export  const afterHyperlinkCreate: string;
/** @hidden */
export  const beforeHyperlinkClick: string;
/** @hidden */
export  const afterHyperlinkClick: string;
/** @hidden */
export  const addHyperlink: string;
/** @hidden */
export  const setLinkModel: string;
/** @hidden */
export  const beforeFilter: string;
/** @hidden */
export  const initiateFilter: string;
/** @hidden */
export  const filterComplete: string;
/** @hidden */
export  const filterRangeAlert: string;
/** @hidden */
export  const clearAllFilter: string;
/** @hidden */
export  const wrapEvent: string;
/** @hidden */
export  const onSave: string;
/** @hidden */
export  const insert: string;
/** @hidden */
export  const deleteAction: string;
/** @hidden */
export  const insertModel: string;
/** @hidden */
export  const deleteModel: string;
/** @hidden */
export  const isValidation: string;
/** @hidden */
export  const cellValidation: string;
/** @hidden */
export  const addHighlight: string;
/** @hidden */
export  const dataValidate: string;
/** @hidden */
export  const findNext: string;
/** @hidden */
export  const findPrevious: string;
/** @hidden */
export  const goto: string;
/** @hidden */
export  const findWorkbookHandler: string;
/** @hidden */
export  const replace: string;
/** @hidden */
export  const replaceAll: string;
/** @hidden */
export  const showDialog: string;
/** @hidden */
export  const findKeyUp: string;
/** @hidden */
export  const removeHighlight: string;
/** @hidden */
export  const queryCellInfo: string;
/** @hidden */
export  const count: string;
/** @hidden */
export  const findCount: string;
/** @hidden */
export  const protectSheetWorkBook: string;
/** @hidden */
export  const updateToggle: string;
/** @hidden */
export  const protectsheetHandler: string;
/** @hidden */
export  const replaceAllDialog: string;
/** @hidden */
export  const unprotectsheetHandler: string;
/** @hidden */
export  const workBookeditAlert: string;
/** @hidden */
export  const setLockCells: string;
/** @hidden */
export  const applyLockCells: string;
/** @hidden */
export  const setMerge: string;
/** @hidden */
export  const applyMerge: string;
/** @hidden */
export  const mergedRange: string;
/** @hidden */
export  const activeCellMergedRange: string;
/** @hidden */
export  const insertMerge: string;
/** @hidden */
export  const pasteMerge: string;
/** @hidden */
export  const hideShow: string;
/** @hidden */
export  const setCFRule: string;
/** @hidden */
export  const applyCF: string;
/** @hidden */
export  const clearCFRule: string;
/** @hidden */
export  const clear: string;
/** @hidden */
export  const clearCF: string;
/** @hidden */
export  const setImage: string;
/** @hidden */
export  const setChart: string;
/** @hidden */
export  const initiateChart: string;
/** @hidden */
export  const refreshRibbonIcons: string;
/** @hidden */
export  const refreshChart: string;
/** @hidden */
export  const refreshChartSize: string;
/** @hidden */
export  const updateChart: string;
/** @hidden */
export  const deleteChartColl: string;
/** @hidden */
export  const initiateChartModel: string;
/** @hidden */
export  const focusChartBorder: string;
/** @hidden */
export  const saveError: string;
/** @hidden */
export  const validationHighlight: string;
/** @hidden */
export  const updateFilter: string;
/** @hidden */
export  const beforeInsert: string;
/** @hidden */
export  const beforeDelete: string;
/** @hidden */
export  const deleteHyperlink: string;
/** @hidden */
export  const moveOrDuplicateSheet: string;
/** @hidden */
export  const setAutoFill: string;
/** @hidden */
export  const refreshCell: string;
/** @hidden */
export  const getFillInfo: string;
/** @hidden */
export  const getautofillDDB: string;
/** @hidden */
export  const rowFillHandler: string;
/** @hidden */
export  const getTextSpace: string;
/** @hidden */
export  const refreshClipboard: string;
/** @hidden */
export  const updateView: string;
/** @hidden */
export  const selectionComplete: string;
/** @hidden */
export  const refreshInsertDelete: string;
/** @hidden */
export  const getUpdatedFormulaOnInsertDelete: string;
/** @hidden */
export  const beforeCellUpdate: string;
/** @hidden */
export  const duplicateSheetFilterHandler: string;
/** @hidden */
export  const unMerge: string;
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/common/index.d.ts
/**
 * Common tasks.
 */
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/common/interface.d.ts
export interface SaveOptions {
    url?: string;
    fileName?: string;
    saveType?: SaveType;
    pdfLayoutSettings?: pdfLayoutSettings;
}
export interface pdfLayoutSettings {
    fitSheetOnOnePage?: boolean;
}
export interface BeforeSaveEventArgs extends SaveOptions {
    customParams: Object;
    isFullPost: boolean;
    needBlobData: boolean;
    cancel: boolean;
}
export interface SaveCompleteEventArgs extends SaveOptions {
    blobData: Blob;
    status: string;
    message: string;
}
/**
 * Specifies Before second Sheet create and click arguments.
 */
export interface FindOptions {
    value: string;
    isCSen: boolean;
    isEMatch: boolean;
    mode: string;
    searchBy: string;
    findOpt: string;
    sheetIndex: number;
    replaceValue?: string;
    replaceBy?: string;
    findCount?: string;
    isAction?: boolean;
}
/**@hidden */
export interface ReplaceAllEventArgs {
    addressCollection: string[];
    cancel?: boolean;
}
/**
 * Specifies FindAll options in arguments.
 */
export interface FindAllArgs {
    value: string;
    mode?: string;
    sheetIndex?: number;
    isCSen?: boolean;
    isEMatch?: boolean;
    findCollection?: string[];
}
export interface InvalidFormula {
    value: string;
    skip: boolean;
}
/**
 * Specifies find next arguments.
 */
export interface FindNext {
    rowIndex: number;
    colIndex: number;
    endRow: number;
    endColumn: number;
    startRow: number;
    usedRange?: UsedRangeModel;
    mode: string;
    loopCount: number;
    count: number;
    args?: FindOptions;
    val: string;
    stringValue: string;
    sheetIndex: number;
    startColumn: number;
    sheets: SheetModel[];
}
/**
 * Specifies find previous arguments.
 */
export interface FindPrevious {
    rowIndex: number;
    colIndex: number;
    endRow: number;
    endColumn: number;
    startRow: number;
    loopCount: number;
    count: number;
    args: FindOptions;
    val: string;
    stringValue: string;
    sheetIndex: number;
    startColumn: number;
    sheets: SheetModel[];
}
/**@hidden */
export interface ReplaceEventArgs {
    address: string;
    compareValue: string;
    replaceValue: string;
}
/**@hidden */
export interface BeforeReplaceEventArgs extends ReplaceEventArgs {
    cancel: boolean;
}
/**
 * @hidden
 */
export interface ToolbarFind {
    findOption?: string;
    countArgs?: {
        countOpt: string;
        findCount: string;
    };
}
/** @hidden */
export interface CellFormatArgs {
    style: CellStyleModel;
    rowIdx: number;
    colIdx: number;
    cell?: HTMLElement;
    pCell?: HTMLElement;
    row?: HTMLElement;
    hRow?: HTMLElement;
    pRow?: HTMLElement;
    pHRow?: HTMLElement;
    lastCell?: boolean;
    isHeightCheckNeeded?: boolean;
    manualUpdate?: boolean;
    onActionUpdate?: boolean;
    first?: string;
    checkHeight?: boolean;
    outsideViewport?: boolean;
}
/** @hidden */
export interface SetCellFormatArgs {
    style: CellStyleModel;
    range?: string | number[];
    refreshRibbon?: boolean;
    onActionUpdate?: boolean;
    cancel?: boolean;
    borderType?: BorderType;
}
/** @hidden */
export interface ExtendedRange extends RangeModel {
    info?: RangeInfo;
}
/** @hidden */
export interface CellStyleExtendedModel extends CellStyleModel {
    properties?: CellStyleModel;
    bottomPriority?: boolean;
}
interface RangeInfo {
    loadedRange?: number[][];
    insertRowRange?: number[][];
    insertColumnRange?: number[][];
    deleteColumnRange?: number[][];
    count?: number;
    fldLen?: number;
    flds?: string[];
}
/** @hidden */
export interface AutoDetectInfo {
    value: string;
    args: {
        sheet: Sheet;
        indexes: number[];
    };
    cell: CellModel;
    rowIndex: number;
    colIndex: number;
    i: number;
    j: number;
    k: number;
    sRanges: number[];
    range: ExtendedRange;
    sheetIndex?: number;
}
/**
 * @hidden
 */
export interface ExtendedSheet extends Sheet {
    isLocalData?: boolean;
    lastReqIdx?: number[];
}
/**
 * Specifies before cell formatting arguments.
 */
export interface BeforeCellFormatArgs {
    range: string;
    requestType: FormatType;
    format?: string;
    style?: CellStyleModel;
    sheetIndex?: number;
    borderType?: BorderType;
    cancel?: boolean;
}
/** @hidden */
export interface AggregateArgs {
    Count: number;
    Sum?: string;
    Avg?: string;
    Min?: string;
    Max?: string;
    countOnly?: boolean;
}
/**
 * Specifies the procedure for sorting.
 */
export interface SortDescriptor {
    field?: string;
    order?: SortOrder;
    sortComparer?: Function;
}
/**
 * Specifies the arguments for sorting.
 */
export interface SortEventArgs {
    range?: string;
    sortOptions?: SortOptions;
}
/**
 * Specifies the options for sorting.
 */
export interface SortOptions {
    sortDescriptors?: SortDescriptor | SortDescriptor[];
    containsHeader?: boolean;
    caseSensitive?: boolean;
}
/**
 * Specifies before sorting arguments.
 */
export interface BeforeSortEventArgs extends SortEventArgs {
    cancel?: boolean;
}
/**
 * Specifies before hyperlink create and click arguments.
 */
export interface BeforeHyperlinkArgs {
    hyperlink?: string | HyperlinkModel;
    address?: string;
    displayText?: string;
    target?: string;
    cancel?: boolean;
}
/**
 * Specifies after hyperlink create and click arguments.
 */
export interface AfterHyperlinkArgs {
    hyperlink?: string | HyperlinkModel;
    address?: string;
    displayText?: string;
}
/**
 * Specifies after cell formatting arguments.
 *
 * @hidden
 */
export interface CellFormatCompleteEvents {
    completeAction(eventArgs: BeforeCellFormatArgs, action: string): void;
}
/**
 * Specifies the arguments for filtering.
 */
export interface FilterEventArgs {
    range?: string;
    filterOptions?: FilterOptions;
}
/**
 * Specifies the options for filtering.
 */
export interface FilterOptions {
    datasource?: data.DataManager;
    predicates?: data.Predicate[];
}
/**
 * Specifies before filtering arguments.
 */
export interface BeforeFilterEventArgs extends FilterEventArgs {
    cancel?: boolean;
}
/**
 * Specifies the border options.
 */
export interface BorderOptions {
    /** Specifies the border property value to set border */
    border: string;
    /** Specifies the custom border type. */
    type: BorderType;
}
/** @hidden */
export interface InsertDeleteModelArgs {
    model: SheetModel;
    start?: number | RowModel[] | ColumnModel[] | SheetModel[];
    end?: number;
    isAction?: boolean;
    modelType: ModelType;
    insertType?: string;
    columnCellsModel?: RowModel[];
    activeSheetIndex?: number;
    checkCount?: number;
    definedNames?: DefineNameModel[];
    isUndoRedo?: boolean;
    refreshSheet?: boolean;
    conditionalFormats?: ConditionalFormatModel[];
    prevAction?: string;
}
/**
 * QueryCellInfo EventArgs
 */
export interface CellInfoEventArgs {
    /** Defines the cell model. */
    cell: CellModel;
    /** Defines the cell address. */
    address: string;
    /** Defines the row index of the cell. */
    rowIndex: number;
    /** Defines the column index of the cell. */
    colIndex: number;
    /** Defines the row element. */
    row?: HTMLElement;
}
/** @hidden */
export interface MergeArgs {
    range: string | number[];
    merge?: boolean;
    isAction?: boolean;
    type?: MergeType;
    isActiveCell?: boolean;
    activeCell?: number[];
    selectedRange?: number[];
    skipChecking?: boolean;
    model?: RowModel[];
    insertCount?: number;
    deleteCount?: number;
    insertModel?: ModelType;
    preventRefresh?: boolean;
    refreshRibbon?: boolean;
    sheetIndex?: number;
}
/**
 * ClearOptions
 */
export interface ClearOptions {
    type?: ClearType;
    range?: string;
}
/** @hidden */
export interface UnprotectArgs {
    sheet?: number;
}
/**
 * Insert event options.
 *
 * @hidden
 */
export interface InsertDeleteEventArgs {
    model?: RowModel[] | ColumnModel[] | CellModel[];
    sheet?: SheetModel;
    index?: number;
    modelType?: ModelType;
    insertType?: string;
    isAction?: boolean;
    startIndex?: number;
    endIndex?: number;
    deletedModel?: RowModel[] | ColumnModel[] | CellModel[] | SheetModel[];
    deletedCellsModel?: RowModel[];
    activeSheetIndex?: number;
    sheetCount?: number;
    isInsert?: boolean;
    freezePane?: boolean;
    definedNames?: DefineNameModel[];
    isMethod?: boolean;
    isUndoRedo?: boolean;
    refreshSheet?: boolean;
    cancel?: boolean;
}
/**
 * Action begin event options.
 *
 * @hidden
 */
export interface ActionEventArgs {
    eventArgs: object;
    action: string;
    isUndo?: boolean;
    isRedo?: boolean;
    preventAction?: boolean;
}
/**
 * CFormattingEventArgs
 *
 * @hidden
 */
export interface CFormattingEventArgs {
    range?: string;
    type?: HighlightCell | TopBottom | DataBar | ColorScale | IconSet;
    cFColor?: CFColor;
    value?: string;
    sheetIdx?: number;
    cancel: boolean;
}
/**
 * Data source changed event options.
 */
export interface DataSourceChangedEventArgs {
    data?: Object[];
    action?: string;
    rangeIndex?: number;
    sheetIndex?: number;
}
/**
 * Specifies the defineName arguments.
 *
 * @hidden
 */
export interface DefinedNameEventArgs {
    name?: string;
    scope?: string;
    comment?: string;
    refersTo?: string;
    cancel: boolean;
}
/** @hidden */
export interface ExtendedRowModel extends RowModel {
    isFiltered?: boolean;
}
/**
 * Before cell update event properties
 */
export interface BeforeCellUpdateArgs {
    cell: CellModel;
    rowIndex: number;
    colIndex: number;
    sheet: string;
    cancel: boolean;
}
/** @hidden */
export interface CellUpdateArgs {
    cell: CellModel;
    rowIdx: number;
    colIdx: number;
    preventEvt?: boolean;
    pvtExtend?: boolean;
    valChange?: boolean;
    uiRefresh?: boolean;
    td?: HTMLElement;
    lastCell?: boolean;
    checkCF?: boolean;
    checkWrap?: boolean;
    eventOnly?: boolean;
    requestType?: string;
    cellDelete?: boolean;
    isFormulaDependent?: boolean;
}
/** @hidden */
export interface NumberFormatArgs {
    value: string | number;
    format?: string;
    type?: string;
    rowIndex?: number;
    colIndex?: number;
    cell?: CellModel;
    sheetIndex?: number;
    result?: string;
    isRightAlign?: boolean;
    isRowFill?: boolean;
    onLoad?: boolean;
    formattedText?: string;
    curSymbol?: string;
    td?: HTMLElement;
    checkDate?: boolean;
    dateObj?: Date;
    skipRowFill?: boolean;
}
/** @hidden */
export interface DateFormatCheckArgs {
    value: string;
    cell?: CellModel;
    rowIndex?: number;
    colIndex?: number;
    sheetIndex?: number;
    isDate?: boolean;
    isTime?: boolean;
    dateObj?: Date;
    updatedVal?: string;
}
/** @hidden */
export interface checkCellValid {
    value?: string;
    range?: number[];
    isCell?: boolean;
    sheetIdx?: number;
    td?: HTMLElement;
    isValid?: boolean;
}
/** @hidden */
export interface ExtendedWorkbook extends Workbook {
    viewport: {
        topIndex: number;
        bottomIndex: number;
        leftIndex: number;
        rightIndex: number;
    };
}
/** @hidden */
export interface ApplyCFArgs {
    indexes?: number[];
    cell?: CellModel;
    ele?: HTMLElement;
    cfModel?: ConditionalFormatModel[];
    isAction?: boolean;
    prevVal?: string;
    isRender?: boolean;
    refreshAll?: boolean;
    isEdit?: boolean;
}
/** @hidden */
export interface CFArgs {
    range?: string | number[];
    sheetIdx?: number;
    isFromUpdateAction?: boolean;
    isAction?: boolean;
    isClear?: boolean;
    isUndo?: boolean;
    isUndoRedo?: boolean;
    cfModel?: ConditionalFormatModel;
    oldCFModel?: ConditionalFormatModel[];
    updatedCFModel?: ConditionalFormatModel[];
    cfClearActionArgs?: object;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/common/internalization.d.ts
/**
 * Check the value of the cell is number with thousand separator and currency symbol and returns the parsed value.
 * @hidden
 */
export  function checkIsNumberAndGetNumber(cell: CellModel, locale: string, groupSep: string, decimalSep: string, currencySymbol?: string): {
    isNumber: boolean;
    value: string;
};
/**
 * @hidden
 */
export  function parseThousandSeparator(value: string, locale: string, groupSep: string, decimalSep: string): boolean;
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/common/math.d.ts
/**
 * @hidden
 * @param {number} val - Specifies the val.
 * @returns {string} - To get Fraction.
 */
export  function toFraction(val: number): string;
/**
 * @hidden
 * @param {string | number} a - Specifies the a.
 * @param {string | number} b - Specifies the b.
 * @returns {number} - To get Gcd.
 */
export  function getGcd(a: string | number, b: string | number): number;
/**
 * @hidden
 * @param {number} val - Specifies the value.
 * @returns {Date} - Returns Date.
 */
export  function intToDate(val: number | string): Date;
/**
 * @hidden
 * @param {number} val - Specifies the value.
 * @param {boolean} isTime - Specifies the boolean value.
 * @param {boolean} isTimeOnly - Specifies the value is only a time without date.
 * @returns {number} - Returns number.
 */
export  function dateToInt(val: any, isTime?: boolean, isTimeOnly?: boolean): number;
/**
 * @hidden
 * @param {any} date - Specifies the date.
 * @returns {boolean} - Returns boolean value.
 */
export  function isDateTime(date: any): boolean;
/**
 * @hidden
 * @param {string} val - Specifies the value.
 * @returns {boolean} - Returns boolean value.
 */
export  function isNumber(val: string | number): boolean;
/**
 * @hidden
 * @param {Date | string | number} text - Specifies the text.
 * @param {base.Internationalization} intl - Specifies the base.Internationalization.
 * @param {string} locale - Specifies the locale.
 * @param {string} format - Specifies the string.
 * @param {CellModel} cell - Specify the cell.
 * @returns {ToDateArgs} - Returns Date format.
 */
export  function toDate(text: Date | string | number, intl: base.Internationalization, locale: string, format?: string, cell?: CellModel): ToDateArgs;
/**
 * @hidden
 * @param {string} value - Specifies the value.
 * @returns { string | number} - ReturnsparseIntValue.
 */
export  function parseIntValue(value: string): string | number;
export interface ToDateArgs {
    dateObj: Date;
    type: string;
    isCustom: boolean;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/common/module.d.ts
/**
 * To get Workbook required modules.
 *
 * @hidden
 * @param {Workbook} context - Specifies the context.
 * @param {base.ModuleDeclaration[]} modules - Specifies the modules.
 * @returns {base.ModuleDeclaration[]} - To get Workbook required modules.
 */
export  function getWorkbookRequiredModules(context: Workbook, modules?: base.ModuleDeclaration[]): base.ModuleDeclaration[];
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/common/util.d.ts
/**
 * Check whether the text is formula or not.
 *
 * @param {string} text - Specify the text.
 * @param {boolean} isEditing - Specify the isEditing.
 * @returns {boolean} - Check whether the text is formula or not.
 */
export  function checkIsFormula(text: string, isEditing?: boolean): boolean;
/**
 * Check whether the value is cell reference or not.
 *
 * @param {string} value - Specify the value to check.
 * @returns {boolean} - Returns boolean value
 */
export  function isCellReference(value: string): boolean;
/**
 * Check whether the value is character or not.
 *
 * @param {string} value - Specify the value to check.
 * @returns {boolean} - Returns boolean value
 */
export  function isChar(value: string): boolean;
/**
 * Check whether the range selection is on complete row.
 *
 * @param {SheetModel} sheet - Specify the sheet.
 * @param {number[]} range - Specify the range index.
 * @returns {boolean} - Returns boolean value
 * @hidden
 */
export  function isRowSelected(sheet: SheetModel, range: number[]): boolean;
/**
 * Check whether the range selection is on complete column.
 *
 * @param {SheetModel} sheet - Specify the sheet.
 * @param {number[]} range - Specify the range index.
 * @returns {boolean} - Returns boolean value
 * @hidden
 */
export  function isColumnSelected(sheet: SheetModel, range: number[]): boolean;
/**
 * @param {number[]} range - Specify the range
 * @param {number} rowIdx - Specify the row index
 * @param {number} colIdx - Specify the col index
 * @returns {boolean} - Returns boolean value
 */
export  function inRange(range: number[], rowIdx: number, colIdx: number): boolean;
/**
 * @param {number[]} address - Specify the address
 * @param {number} rowIdx - Specify the row index
 * @param {number} colIdx - Specify the col index
 * @returns {boolean} - Returns boolean value
 */
export  function isInMultipleRange(address: string, rowIdx: number, colIdx: number): boolean;
/** @hidden
 * @param {number[]} range - Specify the range
 * @param {number[]} testRange - Specify the test range
 * @param {boolean} isModify - Specify the boolean value
 * @returns {boolean} - Returns boolean value
 */
export  function isInRange(range: number[], testRange: number[], isModify?: boolean): boolean;
/**
 * @hidden
 * @param {string} address - Specifies the address for whole column.
 * @param {number[]} testRange - Specifies range used to split the address.
 * @param {number} colIdx - Specifies the column index.
 * @returns {string} - returns the modified address.
 */
export  function getSplittedAddressForColumn(address: string, testRange: number[], colIdx: number): string;
/**
 * Check whether the cell is locked or not
 *
 * @param {CellModel} cell - Specify the cell.
 * @param {ColumnModel} column - Specify the column.
 * @returns {boolean} - Returns boolean value
 * @hidden
 */
export  function isLocked(cell: CellModel, column: ColumnModel): boolean;
/**
 * Check whether the value is cell reference or not.
 *
 * @param {string} value - Specify the value to check.
 * @returns {boolean} - Returns boolean value
 * @hidden
 */
export  function isValidCellReference(value: string): boolean;
/**
 * @hidden
 * @param {SheetModel} sheet - Specify the sheet
 * @param {number} index - specify the index
 * @param {boolean} increase - specify the boolean value.
 * @param {string} layout - specify the string
 * @returns {number} - To skip the hidden index
 *
 */
export  function skipHiddenIdx(sheet: SheetModel, index: number, increase: boolean, layout?: string): number;
/**
 * @param {CellStyleModel} style - Cell style.
 * @param {boolean} onActionUpdate - Specifies the action.
 * @returns {boolean} - retruns `true` is height needs to be checked.
 * @hidden
 */
export  function isHeightCheckNeeded(style: CellStyleModel, onActionUpdate?: boolean): boolean;
/**
 * @param {number[]} currIndexes - current indexes in which formula get updated
 * @param {number[]} prevIndexes - copied indexes
 * @param {SheetModel} sheet - sheet model
 * @param {CellModel} prevCell - copied or prev cell
 * @param {Workbook} context - Represents workbook instance
 * @param {boolean} isSort - Represents sort action
 * @returns {string} - retruns updated formula
 * @hidden
 */
export  function getUpdatedFormula(currIndexes: number[], prevIndexes: number[], sheet: SheetModel, prevCell?: CellModel, context?: Workbook, isSort?: boolean): string;
/**@hidden */
export  function updateCell(context: Workbook, sheet: SheetModel, prop: CellUpdateArgs): boolean;
/**
 * @param {number} rowIdx - row index
 * @param {number} colIdx - column index
 * @param {SheetModel} sheet - sheet model
 * @returns {number[]} - retruns data range
 * @hidden
 */
export  function getDataRange(rowIdx: number, colIdx: number, sheet: SheetModel): number[];
/**
 * @param {InsertDeleteModelArgs} args - row index
 * @param {number[]} formatRange - format range index
 * @returns {number[]} - retruns updated range
 * @hidden
 */
export  function insertFormatRange(args: InsertDeleteModelArgs, formatRange: number[], isAction: boolean): number[];
/**
 * @param {InsertDeleteModelArgs} args - row index
 * @param {number[]} formatRange - cell range index
 * @returns {number[]} - retruns data range
 * @hidden
 */
export  function deleteFormatRange(args: InsertDeleteModelArgs, formatRange: number[]): number[];
/** @hidden */
export  function updateCFModel(curCF: ConditionalFormat[], cfRule: ConditionalFormatModel[], rowIdx: number, colIdx: number): void;
/** @hidden */
export  function checkRange(indexes: number[][], range: string): boolean;
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/common/worker.d.ts
/**
 * Worker task.
 *
 * @param {Object} context - Specify the context.
 * @param {Function | Object} taskFn - Specify the task.
 * @param {Function} callbackFn - Specify the callbackFn.
 * @param {Object[]} data - Specify the data.
 * @param {boolean} preventCallback - Specify the preventCallback.
 * @returns {WorkerHelper} - Worker task.
 */
export  function executeTaskAsync(context: Object, taskFn: Function | {
    [key: string]: Function | string[];
}, callbackFn: Function, data?: Object[], preventCallback?: boolean): WorkerHelper;
/**
 * @hidden
 *
 * The `WorkerHelper` module is used to perform multiple actions using Web Worker asynchronously.
 */
 class WorkerHelper {
    private context;
    private worker;
    private workerTask;
    private defaultListener;
    private workerData;
    private preventCallback;
    private workerUrl;
    /**
     * Constructor for WorkerHelper module in Workbook library.
     *
     * @private
     * @param {Object} context - Specify the context.
     * @param {Function | Object} task - Specify the task.
     * @param {Function} defaultListener - Specify the defaultListener.
     * @param {Object[]} taskData - Specify the taskData.
     * @param {boolean} preventCallback - Specify the preventCallback.
     */
    constructor(context: Object, task: Function | {
        [key: string]: Function | string[];
    }, defaultListener: Function, taskData?: Object[], preventCallback?: boolean);
    /**
     * To terminate the worker task.
     *
     * @private
     * @returns {void} - To terminate the worker task.
     */
    terminate(): void;
    /**
     * To initiate the worker.
     *
     * @private
     * @returns {void} - To initiate the worker.
     */
    private initWorker;
    /**
     * Method for getting response from worker.
     *
     * @param {MessageEvent} args - Specify the args.
     * @returns {void} - Method for getting response from worker.
     * @private
     */
    private messageFromWorker;
    /**
     * Method for getting error message from worker if failed.
     *
     * @param {ErrorEvent} args - Specify the args.
     * @returns {void} - Method for getting error message from worker if failed.
     * @private
     */
    private onError;
    /**
     * Construct function code for worker.
     *
     * @private
     * @returns {string} -  Construct function code for worker.
     */
    private getFnCode;
    /**
     * Get default worker task with callback.
     *
     * @private
     * @param {MessageEvent} args - Specify the args.
     * @returns {void} - Get default worker task without callback.
     */
    private getCallbackMessageFn;
    /**
     * Get default worker task without callback.
     *
     * @private
     * @param {MessageEvent} args - Specify the args.
     * @returns {void} - Get default worker task without callback.
     */
    private getMessageFn;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/index.d.ts
/**
 * Export Spreadsheet library modules
 */
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/integrations/chart.d.ts
/**
 * The `WorkbookChart` module is used to handle chart action in Spreadsheet.
 */
export  class WorkbookChart {
    private parent;
    /**
     * Constructor for WorkbookChart module.
     *
     * @param {Workbook} parent - Constructor for WorkbookChart module.
     */
    constructor(parent: Workbook);
    private addEventListener;
    private removeEventListener;
    private setChartHandler;
    private refreshChartData;
    private inRowColumnRange;
    private refreshChartSize;
    private focusChartBorder;
    private deleteChartColl;
    /**
     * To Remove the event listeners.
     *
     * @returns {void} - To Remove the event listeners.
     */
    destroy(): void;
    /**
     * Get the workbook chart module name.
     *
     * @returns {string} - Get the workbook chart module name.
     */
    getModuleName(): string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/integrations/data-bind.d.ts
/**
 * Data binding module
 */
export  class DataBind {
    private parent;
    private requestedInfo;
    constructor(parent: Workbook);
    private addEventListener;
    private removeEventListener;
    /**
     * Update given data source to sheet.
     *
     * @param {Object} args - Specify the args.
     * @param {ExtendedSheet} args.sheet - Specify the sheet.
     * @param {number[]} args.indexes - Specify the indexes.
     * @param {Promise<CellModel>} args.promise - Specify the promise.
     * @param {number} args.rangeSettingCount - Specify the rangeSettingCount.
     * @param {string} args.formulaCellRef - Specify the formulaCellRef.
     * @param {number} args.sheetIndex - Specify the sheetIndex.
     * @param {boolean} args.dataSourceChange - Specify the dataSourceChange.
     * @param {boolean} args.isFinite - Specify the isFinite.
     * @returns {void} - Update given data source to sheet.
     */
    private updateSheetFromDataSourceHandler;
    private notfyFormulaCellRefresh;
    private checkResolve;
    private getCellDataFromProp;
    private checkDataForFormat;
    private getLoadedInfo;
    private getMaxCount;
    private initRangeInfo;
    /**
     * Remove old data from sheet.
     *
     * @param {Object} args - Specify the args.
     * @param {Workbook} args.oldProp - Specify the oldProp.
     * @param {string} args.sheetIdx - Specify the sheetIdx.
     * @param {string} args.rangeIdx - Specify the rangeIdx.
     * @param {boolean} args.isLastRange - Specify the isLastRange.
     * @param {Object[]} args.changedData - Specify the changedData.
     * @returns {void} - Remove old data from sheet.
     */
    private dataSourceChangedHandler;
    private checkRangeHasChanges;
    /**
     * Triggers dataSourceChange event when cell data changes
     *
     * @param {Object} args - Specify the args.
     * @param {number} args.sheetIdx - Specify the sheetIdx.
     * @param {number} args.activeSheetIndex - Specify the activeSheetIndex.
     * @param {string} args.address - Specify the address.
     * @param {number} args.startIndex - Specify the startIndex.
     * @param {number} args.endIndex - Specify the endIndex.
     * @param {string} args.modelType - Specify the modelType.
     * @param {RowModel[]} args.deletedModel - Specify the deletedModel.
     * @param {RowModel[]} args.model - Specify the model.
     * @param {string} args.insertType - Specify the insertType.
     * @param {number} args.index - Specify the index.
     * @param {string} args.type - Specify the type.
     * @param {string} args.pastedRange - Specify the pasted range.
     * @param {string} args.range - Specify the range.
     * @param {string} args.requestType - Specify the requestType.
     * @param {Object[]} args.data - Specify the data.
     * @param {boolean}  args.isDataRequest - Specify the isDataRequest.
     * @param {boolean} args.isMethod - Specify the isMethod.
     * @returns {void} - Triggers dataSourceChange event when cell data changes
     */
    private dataChangedHandler;
    private getFormattedValue;
    private triggerDataChangeHandler;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} - Get the module name.
     * @private
     */
    protected getModuleName(): string;
    /**
     * Destroys the Data binding module.
     *
     * @returns {void} - Destroys the Data binding module.
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/integrations/filter.d.ts
/**
 * The `WorkbookFilter` module is used to handle filter action in Spreadsheet.
 */
export  class WorkbookFilter {
    private parent;
    /**
     * Constructor for WorkbookFilter module.
     *
     * @param {Workbook} parent - Constructor for WorkbookFilter module.
     */
    constructor(parent: Workbook);
    /**
     * To destroy the filter module.
     *
     * @returns {void} - To destroy the filter module.
     */
    protected destroy(): void;
    private addEventListener;
    private removeEventListener;
    /**
     * Filters a range of cells in the sheet.
     *
     * @param { {args: BeforeFilterEventArgs, promise: Promise<FilterEventArgs>}} eventArgs - Specify the event args.
     * @param {BeforeFilterEventArgs} eventArgs.args - arguments for filtering..
     * @param {Promise<FilterEventArgs>} eventArgs.promise - Specify the promise.
     * @param {boolean} refresh - Specify the refresh.
     * @returns {void} - Filters a range of cells in the sheet.
     */
    private initiateFilterHandler;
    /**
     * Hides or unhides the rows based on the filter predicates.
     *
     * @param {DataManager} dataManager - Specify the dataManager.
     * @param {Predicate[]} predicates - Specify the predicates.
     * @param {string} range - Specify the range.
     * @param {boolean} refresh - Specify the refresh.
     * @returns {void} - Hides or unhides the rows based on the filter predicates.
     */
    private setFilter;
    /**
     * Gets the module name.
     *
     * @returns {string} - Get the module name.
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/integrations/formula.d.ts
/**
 * @hidden
 * The `WorkbookFormula` module is used to handle the formula operation in Workbook.
 */
export  class WorkbookFormula {
    private parent;
    private calcID;
    uniqueOBracket: string;
    uniqueCBracket: string;
    uniqueCSeparator: string;
    uniqueCOperator: string;
    uniquePOperator: string;
    uniqueSOperator: string;
    uniqueMOperator: string;
    uniqueDOperator: string;
    uniqueModOperator: string;
    uniqueConcateOperator: string;
    uniqueEqualOperator: string;
    uniqueExpOperator: string;
    uniqueGTOperator: string;
    uniqueLTOperator: string;
    calculateInstance: Calculate;
    private sheetInfo;
    /**
     * Constructor for formula module in Workbook.
     *
     * @param {Workbook} workbook - Specifies the workbook.
     * @private
     */
    constructor(workbook: Workbook);
    private init;
    /**
     * To destroy the formula module.
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    private addEventListener;
    private removeEventListener;
    /**
     * Get the module name.
     *
     * @returns {string} - Get the module name.
     * @private
     */
    getModuleName(): string;
    private initCalculate;
    private clearFormulaDependentCells;
    private formulaInValidation;
    private performFormulaOperation;
    private referenceError;
    private getSheetInfo;
    private addCustomFunction;
    private updateSheetInfo;
    private sheetDeletion;
    private renameUpdation;
    private updateDataContainer;
    private parseSheetRef;
    private registerSheet;
    private unRegisterSheet;
    private getUniqueRange;
    private removeUniquecol;
    private refreshCalculate;
    private dollarFormulaDecimalHandler;
    private autoCorrectFormula;
    private initiateDefinedNames;
    /**
     * @hidden
     * Used to add defined name to workbook.
     *
     * @param {DefineNameModel} definedName - Define named range.
     * @param {boolean} isValidate - Specify the boolean value.
     * @param {number} index - Define named index.
     * @param {boolean} isEventTrigger - Specify the boolean value.
     * @returns {boolean} - Used to add defined name to workbook.
     */
    private addDefinedName;
    /**
     * @hidden
     * Used to remove defined name from workbook.
     *
     * @param {string} name - Specifies the defined name.
     * @param {string} scope - Specifies the scope of the define name.
     * @param {boolean} isEventTrigger - Specify the boolean value.
     * @returns {boolean} - To Return the bool value.
     */
    private removeDefinedName;
    private checkIsNameExist;
    private getIndexFromNameColl;
    private toFixed;
    private aggregateComputation;
    private refreshInsertDelete;
    private getUpdatedFormulaOnInsertDelete;
    private updateFormula;
    private clearUniqueRange;
    private clearAllUniqueFormulaValue;
    private parseFormula;
    private getUniqueCharVal;
    private isUniqueChar;
    private markSpecialChar;
    private refreshNamedRange;
    private updateDefinedNames;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/integrations/image.d.ts
/**
 * Specifies image.
 */
export  class WorkbookImage {
    private parent;
    constructor(parent: Workbook);
    private setImage;
    /**
     * Adding event listener for number format.
     *
     * @returns {void} - Adding event listener for number format.
     */
    private addEventListener;
    /**
     * Removing event listener for number format.
     *
     * @returns {void}
     */
    private removeEventListener;
    /**
     * To Remove the event listeners.
     *
     * @returns {void} - To Remove the event listeners.
     */
    destroy(): void;
    /**
     * Get the workbook number format module name.
     *
     * @returns {string} - Get the module name.
     */
    getModuleName(): string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/integrations/index.d.ts
/**
 * Export Spreadsheet library modules
 */
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/integrations/number-format.d.ts
/**
 * Specifies number format.
 */
export  class WorkbookNumberFormat {
    private parent;
    private localeObj;
    private decimalSep;
    private groupSep;
    private currentRange;
    private isRowFill;
    constructor(parent: Workbook);
    private numberFormatting;
    /**
     * @hidden
     *
     * @param {Object} args - Specifies the args.
     * @returns {string} - to get formatted cell.
     */
    getFormattedCell(args: NumberFormatArgs): string;
    private isCustomType;
    private processCustomFill;
    private processCustomDate;
    private processCustomFraction;
    private processCustomConditions;
    private processCustomAccounting;
    private processCustomText;
    private thousandSeparator;
    private getSeparatorCount;
    private processSeparator;
    private processDigits;
    private processSpace;
    private processCustomNumberFormat;
    private processText;
    private processCustomColor;
    private processFormats;
    private autoDetectGeneralFormat;
    private getPercentageFormat;
    private findSuffix;
    private applyNumberFormat;
    private isCustomFormat;
    private currencyFormat;
    private percentageFormat;
    private accountingFormat;
    private getFormatForOtherCurrency;
    private shortDateFormat;
    private longDateFormat;
    private timeFormat;
    private scientificFormat;
    private fractionFormat;
    private findDecimalPlaces;
    checkDateFormat(args: DateFormatCheckArgs): void;
    private checkCustomDateFormat;
    private formattedBarText;
    private getFormattedNumber;
    /**
     * Adding event listener for number format.
     *
     * @returns {void} - Adding event listener for number format.
     */
    private addEventListener;
    /**
     * Removing event listener for number format.
     *
     * @returns {void} -  Removing event listener for number format.
     */
    private removeEventListener;
    /**
     * To Remove the event listeners.
     *
     * @returns {void} - To Remove the event listeners.
     */
    destroy(): void;
    /**
     * Get the workbook number format module name.
     *
     * @returns {string} - Get the module name.
     */
    getModuleName(): string;
}
/**
 * To Get the number built-in format code from the number format type.
 *
 * @param {string} type - Specifies the type of the number formatting.
 * @returns {string} - To Get the number built-in format code from the number format type.
 */
export  function getFormatFromType(type: NumberFormatType): string;
/**
 * @hidden
 * @param {string} format -  Specidfies the format.
 * @returns {string} - To get type from format.
 */
export  function getTypeFromFormat(format: string): string;
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/integrations/open.d.ts
export  class WorkbookOpen {
    private parent;
    constructor(parent: Workbook);
    /**
     * To open the excel file stream or excel url into the spreadsheet.
     *
     * @param {OpenOptions} options - Options to open a excel file.
     * @returns {void} - To open the excel file stream or excel url into the spreadsheet.
     */
    open(options: OpenOptions): void;
    private fetchFailure;
    private fetchSuccess;
    private updateModel;
    private setSelectAllRange;
    /**
     * Adding event listener for workbook open.
     *
     * @returns {void} - Adding event listener for workbook open.
     */
    private addEventListener;
    /**
     * Removing event listener workbook open.
     *
     * @returns {void} - removing event listener workbook open.
     */
    private removeEventListener;
    /**
     * To Remove the event listeners
     *
     * @returns {void} - To Remove the event listeners
     */
    destroy(): void;
    /**
     * Get the workbook open module name.
     *
     * @returns {string} - Get the module name.
     */
    getModuleName(): string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/integrations/save.d.ts
/**
 * @hidden
 * The `WorkbookSave` module is used to handle the save action in Workbook library.
 */
export  class WorkbookSave extends SaveWorker {
    private isProcessCompleted;
    private saveSettings;
    private saveJSON;
    private isFullPost;
    private needBlobData;
    private customParams;
    private pdfLayoutSettings;
    /**
     * Constructor for WorkbookSave module in Workbook library.
     *
     * @private
     * @param {Workbook} parent - Specifies the workbook.
     */
    constructor(parent: Workbook);
    /**
     * Get the module name.
     *
     * @returns {string} - To Get the module name.
     * @private
     */
    getModuleName(): string;
    /**
     * To destroy the WorkbookSave module.
     *
     * @returns {void} - To destroy the WorkbookSave module.
     * @hidden
     */
    destroy(): void;
    /**
     * @hidden
     * @returns {void} - add Event Listener
     */
    private addEventListener;
    /**
     * @hidden
     * @returns {void} - remove Event Listener.
     */
    private removeEventListener;
    /**
     * Initiate save process.
     *
     * @hidden
     * @param {Object} args - Specify the args.
     * @returns {void} - Initiate save process.
     */
    private initiateSave;
    /**
     * Update save JSON with basic settings.
     *
     * @hidden
     * @returns {void} - Update save JSON with basic settings.
     */
    private updateBasicSettings;
    /**
     * Process sheets properties.
     *
     * @hidden
     * @returns {void} - Process sheets properties.
     */
    private processSheets;
    /**
     * Update processed sheet data.
     *
     * @hidden
     * @param {Object[]} data - Specifies the data.
     * @returns {void} - Update processed sheet data.
     */
    private updateSheet;
    private getSheetLength;
    /**
     * Save process.
     *
     * @hidden
     * @param {SaveOptions} saveSettings - Specifies the save settings props.
     * @returns {void} - Save process.
     */
    private save;
    /**
     * Update final save data.
     *
     * @hidden
     * @param {Object | Blob} result - specify the sve result.
     * @returns {void} - Update final save data.
     */
    private updateSaveResult;
    private ClientFileDownload;
    private initiateFullPostSave;
    /**
     * Get stringified workbook object.
     *
     * @hidden
     * @param {object} model - Specifies the workbook or sheet model.
     * @param {string[]} skipProp - specifies the skipprop.
     * @returns {string} - Get stringified workbook object.
     */
    private getStringifyObject;
    private getFileNameWithExtension;
    private getFileExtension;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/integrations/sort.d.ts
/**
 * The `WorkbookSort` module is used to handle sort action in Spreadsheet.
 */
export  class WorkbookSort {
    private parent;
    /**
     * Constructor for WorkbookSort module.
     *
     * @param {Workbook} parent - Specifies the workbook.
     */
    constructor(parent: Workbook);
    /**
     * To destroy the sort module.
     *
     * @returns {void} - To destroy the sort module.
     */
    protected destroy(): void;
    private addEventListener;
    private removeEventListener;
    /**
     * Sorts range of cells in the sheet.
     *
     * @param {{ args: BeforeSortEventArgs, promise: Promise<SortEventArgs> }} eventArgs - Specify the arguments.
     * @param {BeforeSortEventArgs} eventArgs.args - arguments for sorting.
     * @param {Promise<SortEventArgs>} eventArgs.promise - Specify the promise.
     * @param {SortCollectionModel} eventArgs.previousSort - Specify the previous sort model.
     * @returns {void} - Sorts range of cells in the sheet.
     */
    private initiateSortHandler;
    private updateSortedDataOnCell;
    private skipBorderOnSorting;
    private isSameStyle;
    /**
     * Compares the two cells for sorting.
     *
     * @param {SortDescriptor} sortDescriptor - protocol for sorting.
     * @param {boolean} caseSensitive - value for case sensitive.
     * @param {CellModel} x - first cell
     * @param {CellModel} y - second cell
     * @returns {number} - Compares the two cells for sorting.
     */
    private sortComparer;
    /**
     * Gets the module name.
     *
     * @returns {string} - Get the module name.
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/services/index.d.ts
/**
 * Export Workbook Services
 */
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/services/service-locator.d.ts
/**
 * ServiceLocator
 *
 * @hidden
 */
export  class ServiceLocator {
    private services;
    getService<T>(name: string): T;
    register<T>(name: string, type: T): void;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/workers/index.d.ts
/**
 * Export Worker library modules
 */
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/workers/save-worker.d.ts
/**
 * @hidden
 * The `SaveWorker` module is used to perform save functionality with Web Worker.
 */
export  class SaveWorker {
    protected parent: Workbook;
    /**
     * Constructor for SaveWorker module in Workbook library.
     *
     * @private
     * @param {Workbook} parent - Specifies the workbook.
     */
    constructor(parent: Workbook);
    /**
     * Process sheet.
     *
     * @param {string} sheet - specify the sheet
     * @param {number} sheetIndex - specify the sheetIndex
     * @returns {Object} - Process sheet.
     * @hidden
     */
    protected processSheet(sheet: string, sheetIndex: number): Object;
    /**
     * Process save action.
     *
     * @param {Object} saveJSON - specify the object
     * @param {SaveOptions | Object} saveSettings - specify the saveSettings
     * @param {Object} customParams - specify the customParams
     * @param {Object} pdfLayoutSettings - specify the pdfLayoutSettings
     * @returns {void} - Process save action.
     * @hidden
     */
    protected processSave(saveJSON: Object, saveSettings: SaveOptions | {
        [key: string]: string;
    }, customParams: Object, pdfLayoutSettings: pdfLayoutSettings): void;
}
 }
export namespace svgBase { 

//node_modules/@syncfusion/ej2-svg-base/src/index.d.ts
/**
 * Chart components exported.
 */
//node_modules/@syncfusion/ej2-svg-base/src/svg-render/canvas-renderer.d.ts
/**
 * @private
 */
export  class CanvasRenderer {
    private canvasObj;
    /**
     * Specifies root id of the canvas element
     *
     * @default null
     */
    private rootId;
    /**
     * Specifies the height of the canvas element.
     *
     * @default null
     */
    height: number;
    /**
     * Specifies the width of the canvas element.
     *
     * @default null
     */
    width: number;
    /**
     * Specifies the context of the canvas.
     *
     * @default null
     */
    ctx: CanvasRenderingContext2D;
    /**
     * Holds the context of the rendered canvas as string.
     *
     * @default null
     */
    dataUrl: string;
    constructor(rootID: string);
    private getOptionValue;
    /**
     * To create a Html5 canvas element
     *
     * @param {BaseAttibutes} options - Options to create canvas
     * @returns {HTMLCanvasElement} Creating a canvas
     */
    createCanvas(options: BaseAttibutes): HTMLCanvasElement;
    /**
     * To set the width and height for the Html5 canvas element
     *
     * @param {number} width - width of the canvas
     * @param {number} height - height of the canvas
     * @returns {void} Setting canvas size
     */
    setCanvasSize(width: number, height: number): void;
    private setAttributes;
    /**
     * To draw a line
     *
     * @param {LineAttributes} options - required options to draw a line on the canvas
     * @returns {void} To draw a line
     */
    drawLine(options: LineAttributes): void;
    /**
     * To draw a rectangle
     *
     * @param {RectAttributes} options - required options to draw a rectangle on the canvas.
     * @param {Int32Array} canvasTranslate TO get a translate value of canvas.
     * @returns {void} To draw rectangle.
     */
    drawRectangle(options: RectAttributes, canvasTranslate?: Int32Array): Element;
    private drawCornerRadius;
    /**
     * To draw a path on the canvas
     *
     * @param {PathAttributes} options - options needed to draw path.
     * @param {Int32Array} canvasTranslate - Array of numbers to translate the canvas.
     * @returns {Element} To draw a path.
     */
    drawPath(options: PathAttributes, canvasTranslate?: Int32Array): Element;
    /**
     * To draw a text
     *
     * @param {TextAttributes} options - options required to draw text
     * @param {string} label - Specifies the text which has to be drawn on the canvas
     * @param {number} transX - Specifies the text of translate X
     * @param {number} transY - Specifies the text of translate Y
     * @param {number} dy - Specifies the text of translate dy
     * @param {boolean} isTSpan - Specifies the boolean value of span value
     * @returns {void}
     */
    createText(options: TextAttributes, label: string, transX?: number, transY?: number, dy?: number, isTSpan?: boolean): Element;
    /**
     * To draw circle on the canvas
     *
     * @param {CircleAttributes} options - required options to draw the circle
     * @param {Int32Array} canvasTranslate Translate value of canvas
     * @returns {void}
     */
    drawCircle(options: CircleAttributes, canvasTranslate?: Int32Array): Element;
    /**
     * To draw polyline
     *
     * @param {PolylineAttributes} options - options needed to draw polyline
     * @returns {void}
     */
    drawPolyline(options: PolylineAttributes): void;
    /**
     * To draw an ellipse on the canvas
     *
     * @param {EllipseAttributes} options - options needed to draw ellipse
     * @param {Int32Array} canvasTranslate Translate value of canvas
     * @returns {void}
     */
    drawEllipse(options: EllipseAttributes, canvasTranslate?: Int32Array): void;
    /**
     * To draw an image
     *
     * @param {ImageAttributes} options - options required to draw an image on the canvas
     * @returns {void}
     */
    drawImage(options: ImageAttributes): void;
    /**
     * To create a linear gradient
     *
     * @param {string[]} colors - Specifies the colors required to create linear gradient
     * @returns {string} It returns color
     */
    createLinearGradient(colors: GradientColor[]): string;
    /**
     * To create a radial gradient
     *
     * @param {string[]} colors - Specifies the colors required to create linear gradient
     * @returns {string} It returns gradient color
     */
    createRadialGradient(colors: GradientColor[]): string;
    private setGradientValues;
    /**
     * To set the attributes to the element
     *
     * @param {SVGCanvasAttributes} options - Attributes to set for the element
     * @param {HTMLElement} element - The element to which the attributes need to be set
     * @returns {HTMLElement} It returns null value
     */
    setElementAttributes(options: SVGCanvasAttributes, element: HTMLElement | Element): HTMLElement | Element;
    /**
     * To update the values of the canvas element attributes
     *
     * @param {SVGCanvasAttributes} options - Specifies the colors required to create gradient
     * @returns {void}
     */
    updateCanvasAttributes(options: SVGCanvasAttributes): void;
    /**
     * This method clears the given rectangle region
     *
     * @param {Rect} rect The rect parameter as passed
     */
    clearRect(rect: Rect): void;
    /**
     * For canvas rendering in chart
     * Dummy method for using canvas/svg render in the same variable name in chart control
     */
    createGroup(): Element;
    /**
     * To render a clip path
     *
     * Dummy method for using canvas/svg render in the same variable name in chart control
     */
    drawClipPath(): Element;
    /**
     * To render a Circular clip path
     *
     * Dummy method for using canvas/svg render in the same variable name in chart control
     */
    drawCircularClipPath(): Element;
    /**
     * Clip method to perform clip in canvas mode
     *
     * @param {BaseAttibutes} options The canvas clip of options
     */
    canvasClip(options: BaseAttibutes): void;
    /**
     * Tp restore the canvas
     */
    canvasRestore(): void;
    /**
     * To draw a polygon
     * Dummy method for using canvas/svg render in the same variable name in chart control
     */
    drawPolygon(): Element;
    /**
     * To create defs element in SVG
     * Dummy method for using canvas/svg render in the same variable name in chart control
     *
     * @returns {Element} It returns null
     */
    createDefs(): Element;
    /**
     * To create clip path in SVG
     * Dummy method for using canvas/svg render in the same variable name in chart control
     */
    createClipPath(): Element;
    /**
     * To create a Html5 SVG element
     * Dummy method for using canvas/svg render in the same variable name in chart control
     *
     * @returns {Element} It returns null
     */
    createSvg(): Element;
}
//node_modules/@syncfusion/ej2-svg-base/src/svg-render/index.d.ts
/**
 * Base modules
 */
//node_modules/@syncfusion/ej2-svg-base/src/svg-render/svg-canvas-interface.d.ts
/**
 * This has the basic properties required for SvgRenderer and CanvasRenderer
 * @private
 */
export interface BaseAttibutes {
    /**
     * Specifies the ID of an element
     */
    id?: string;
    /**
     * Specifies the fill color value
     */
    fill?: string;
    /**
     * Specifies the border color value
     */
    stroke?: string;
    /**
     * Specifies the width of the border
     */
    'stroke-width'?: number;
    /**
     * Specifies the opacity value of an element
     */
    opacity?: number;
    /**
     * Height of the element
     */
    height?: number;
    /**
     * Width of the element
     */
    width?: number;
    /**
     * X value of the element
     */
    x?: number;
    /**
     * Y value of the element
     */
    y?: number;
    /**
     * Specifies the dash array value of an element
     */
    'stroke-dasharray'?: string;
    /**
     * Property to specify CSS styles for the elements
     */
    style?: string;
    /**
     * Color of the element
     */
    color?: string;
    /**
     * Specifies the name of the class
     */
    class?: string;
    /**
     * Specifies the transformation value
     */
    transform?: string;
    /**
     * Specifies the fill opacity of a shape/element
     */
    'fill-opacity'?: number;
    /**
     * Type of pointer for an element
     */
    pointer?: string;
    /**
     * Specifies the plot value
     */
    plot?: string;
    /**
     * Visibility of an element
     */
    visibility?: string;
    /**
     * Specifies the clip path of an element
     */
    'clip-path'?: string;
}
/**
 * This has the properties for a SVG element
 * @private
 */
export interface SVGAttributes extends BaseAttibutes {
    /**
     * View box property of an element
     */
    viewBox?: string;
    /**
     * Specifies the xmlns link property of a SVG element
     */
    xmlns?: string;
}
/**
 * Properties required to render a circle
 * @private
 */
export interface CircleAttributes extends BaseAttibutes {
    /**
     * Center x value of a circle
     */
    cx?: number;
    /**
     * Center y value of a circle
     */
    cy?: number;
    /**
     * Radius value of a circle
     */
    r?: number;
}
/**
 * Properties required to render a line
 * @private
 */
export interface LineAttributes extends BaseAttibutes {
    /**
     * Specifies the value of x1
     */
    x1?: number;
    /**
     * Specifies the value of x2
     */
    x2?: number;
    /**
     * Specifies the value of y1
     */
    y1?: number;
    /**
     * Specifies the value of y2
     */
    y2?: number;
}
/**
 * Properties required to render a rectangle
 * @private
 */
export interface RectAttributes extends BaseAttibutes {
    /**
     * Corner radius value of a rectangle
     */
    rx?: number;
}
/**
 * Properties required to render path
 * @private
 */
export interface PathAttributes extends BaseAttibutes {
    /**
     * Specifies the d value of a path
     */
    d?: string;
    /**
     * Inner radius value of a path
     */
    innerR?: number;
    /**
     * Value of cx in path
     */
    cx?: number;
    /**
     * Value of cy in path
     */
    cy?: number;
    /**
     * Radius value of a path
     */
    r?: number;
    /**
     * Specifies the start value
     */
    start?: number;
    /**
     * Specifies the end value
     */
    end?: number;
    /**
     * Specifies the radius value
     */
    radius?: number;
    /**
     * Specifies the direction of path
     */
    counterClockWise?: boolean;
}
/**
 * Properties required to render a polyline
 * @private
 */
export interface PolylineAttributes extends BaseAttibutes {
    /**
     * Points required to draw a polyline
     */
    points?: string;
}
/**
 * Properties required to render ellipse
 * @private
 */
export interface EllipseAttributes extends CircleAttributes {
    /**
     * Specifies the rx value
     */
    rx?: number;
    /**
     * Specifies the ry value
     */
    ry?: number;
}
/**
 * Properties required to render a pattern
 * @private
 */
export interface PatternAttributes extends BaseAttibutes {
    /**
     * Units to render a pattern
     */
    patternUnits?: string;
}
/**
 * Properties required to render an image
 * @private
 */
export interface ImageAttributes extends BaseAttibutes {
    /**
     * Specifies the link to render it as image
     */
    href?: string;
    /**
     * Ratio value to render an image
     */
    preserveAspectRatio?: string;
}
/**
 * Properties required to render text
 * @private
 */
export interface TextAttributes extends BaseAttibutes {
    /**
     * Size of the text
     */
    'font-size'?: string;
    /**
     * Font family of the text
     */
    'font-family'?: string;
    /**
     * Font style of the text
     */
    'font-style'?: string;
    /**
     * Weight of the text
     */
    'font-weight'?: string;
    /**
     * Specifies the text anchor value
     */
    'text-anchor'?: string;
    /**
     * Specifies the baseline value
     */
    'baseline'?: string;
    /**
     * Angle of rotation
     */
    'labelRotation'?: number;
}
/**
 * Properties required to render radial gradient
 * @private
 */
export interface RadialGradient {
    /**
     * Specifies the id of the radial gradient
     */
    id?: string;
    /**
     * Specifies the cx value
     */
    cx?: string;
    /**
     * Specifies the cy value
     */
    cy?: string;
    /**
     * Specifies the radius value
     */
    r?: string;
    /**
     * Specifies the fx value
     */
    fx?: string;
    /**
     * Specifies the fy value
     */
    fy?: string;
}
/**
 * Properties required to render linear gradient
 * @private
 */
export interface LinearGradient {
    /**
     * Id of the linear gradient
     */
    id?: string;
    /**
     * Specifies the x1 value
     */
    x1?: string;
    /**
     * Specifies the x2 value
     */
    x2?: string;
    /**
     * Specifies the y1 value
     */
    y1?: string;
    /**
     * Specifies the y2 value
     */
    y2?: string;
}
/**
 * Properties required to render a circle
 */
export interface SVGCanvasAttributes {
    /**
     * To specify a new property
     */
    [key: string]: string;
}
/**
 * Properties required to render a gradient
 * @private
 */
export interface GradientColor {
    /**
     * Specifies the color value of the gradient
     */
    color?: string;
    /**
     * Specifies the colorstop value of the gradient
     */
    colorStop?: string;
    /**
     * Specifies the opacity value of the gradient
     */
    opacity?: string;
     /**
     * Specifies the style for the gradient
     */
    style?: string;
    
}
//node_modules/@syncfusion/ej2-svg-base/src/svg-render/svg-renderer.d.ts
export  class SvgRenderer {
    private svgLink;
    private svgObj;
    private rootId;
    /**
     * Specifies the height of the canvas element.
     *
     * @default null
     */
    height: number;
    /**
     * Specifies the width of the canvas element.
     *
     * @default null
     */
    width: number;
    constructor(rootID: string);
    private getOptionValue;
    /**
     * To create a Html5 SVG element
     *
     * @param {SVGAttributes} options - Options to create SVG
     * @returns {Element} It returns a appropriate element
     */
    createSvg(options: SVGAttributes): Element;
    private setSVGSize;
    /**
     * To draw a path
     *
     * @param {PathAttributes} options - Options to draw a path in SVG
     * @returns {Element} It returns a appropriate path
     */
    drawPath(options: PathAttributes): Element;
    /**
     * To draw a line
     *
     * @param {LineAttributes} options - Options to draw a line in SVG
     * @returns {Element} It returns a appropriate element
     */
    drawLine(options: LineAttributes): Element;
    /**
     * To draw a rectangle
     *
     * @param {BaseAttibutes} options - Required options to draw a rectangle in SVG
     * @returns {Element} It returns a appropriate element
     */
    drawRectangle(options: RectAttributes): Element;
    /**
     * To draw a circle
     *
     * @param {CircleAttributes} options - Required options to draw a circle in SVG
     * @returns {Element} It returns a appropriate element
     */
    drawCircle(options: CircleAttributes): Element;
    /**
     * To draw a polyline
     *
     * @param {PolylineAttributes} options - Options required to draw a polyline
     * @returns {Element} It returns a appropriate element
     */
    drawPolyline(options: PolylineAttributes): Element;
    /**
     * To draw an ellipse
     *
     * @param {EllipseAttributes} options - Options required to draw an ellipse
     * @returns {Element} It returns a appropriate element
     */
    drawEllipse(options: EllipseAttributes): Element;
    /**
     * To draw a polygon
     *
     * @param {PolylineAttributes} options - Options needed to draw a polygon in SVG
     * @returns {Element} It returns a appropriate element
     */
    drawPolygon(options: PolylineAttributes): Element;
    /**
     * To draw an image
     *
     * @param {ImageAttributes} options - Required options to draw an image in SVG
     * @returns {Element} It returns a appropriate element
     */
    drawImage(options: ImageAttributes): Element;
    /**
     * To draw a text
     *
     * @param {TextAttributes} options - Options needed to draw a text in SVG
     * @param {string} label - Label of the text
     * @returns {Element} It returns a appropriate element
     */
    createText(options: TextAttributes, label: string): Element;
    /**
     * To create a tSpan
     *
     * @param {TextAttributes} options - Options to create tSpan
     * @param {string} label - The text content which is to be rendered in the tSpan
     * @returns {Element} It returns a appropriate element
     */
    createTSpan(options: TextAttributes, label: string): Element;
    /**
     * To create a title
     *
     * @param {string} text - The text content which is to be rendered in the title
     * @returns {Element} It returns a appropriate element
     */
    createTitle(text: string): Element;
    /**
     * To create defs element in SVG
     *
     * @returns {Element} It returns a appropriate element
     */
    createDefs(): Element;
    /**
     * To create clip path in SVG
     *
     * @param {BaseAttibutes} options - Options needed to create clip path
     * @returns {Element} It returns a appropriate element
     */
    createClipPath(options: BaseAttibutes): Element;
    /**
     * To create foreign object in SVG
     *
     * @param {BaseAttibutes} options - Options needed to create foreign object
     * @returns {Element} It returns a appropriate element
     */
    createForeignObject(options: BaseAttibutes): Element;
    /**
     * To create group element in SVG
     *
     * @param {BaseAttibutes} options - Options needed to create group
     * @returns {Element} It returns a appropriate element
     */
    createGroup(options: BaseAttibutes): Element;
    /**
     * To create pattern in SVG
     *
     * @param {PatternAttributes} options - Required options to create pattern in SVG
     * @param {string} element - Specifies the name of the pattern
     * @returns {Element} It returns a appropriate element
     */
    createPattern(options: PatternAttributes, element: string): Element;
    /**
     * To create radial gradient in SVG
     *
     * @param {string[]} colors - Specifies the colors required to create radial gradient
     * @param {string} name - Specifies the name of the gradient
     * @param {RadialGradient} options - value for radial gradient
     * @returns {string} It returns color name
     */
    createRadialGradient(colors: GradientColor[], name: string, options: RadialGradient): string;
    /**
     * To create linear gradient in SVG
     *
     * @param {GradientColor[]} colors - Array of string specifies the values for color
     * @param {string} name - Specifies the name of the gradient
     * @param {LinearGradient} options - Specifies the options for gradient
     * @returns {string} It returns color name
     */
    createLinearGradient(colors: GradientColor[], name: string, options: LinearGradient): string;
    /**
     * To render the gradient element in SVG
     *
     * @param {string} gradientType - Specifies the type of the gradient
     * @param {RadialGradient | LinearGradient} options - Options required to render a gradient
     * @param {string[]} colors - Array of string specifies the values for color
     * @returns {Element} It returns a appropriate element
     */
    drawGradient(gradientType: string, options: RadialGradient | LinearGradient, colors: GradientColor[]): Element;
    /**
     * To render a clip path
     *
     * @param {BaseAttibutes} options - Options required to render a clip path
     * @returns {Element} It returns a appropriate element
     */
    drawClipPath(options: BaseAttibutes): Element;
    /**
     * To create circular clip path in SVG
     *
     * @param {CircleAttributes} options - Options required to create circular clip path
     * @returns {Element} It returns a appropriate element
     */
    drawCircularClipPath(options: CircleAttributes): Element;
    /**
     * To set the attributes to the element
     *
     * @param {SVGCanvasAttributes} options - Attributes to set for the element
     * @param {Element} element - The element to which the attributes need to be set
     * @returns {Element} It returns a appropriate element
     */
    setElementAttributes(options: SVGCanvasAttributes, element: Element | HTMLElement): Element | HTMLElement;
    /**
     * To create a Html5 canvas element
     * Dummy method for using canvas/svg render in the same variable name in chart control
     */
    createCanvas(): HTMLCanvasElement;
}
//node_modules/@syncfusion/ej2-svg-base/src/tooltip/enum.d.ts
/**
 * Defines the shape of the marker. They are
 * * circle - Renders a circle.
 * * rectangle - Renders a rectangle.
 * * triangle - Renders a triangle.
 * * diamond - Renders a diamond.
 * * cross - Renders a cross.
 * * horizontalLine - Renders a horizontalLine.
 * * verticalLine - Renders a verticalLine.
 * * pentagon- Renders a pentagon.
 * * invertedTriangle - Renders a invertedTriangle.
 * * image - Renders a image
 */
export  type TooltipShape = 
/** Render a circle. */
'Circle' | 
/** Render a Rectangle. */
'Rectangle' | 
/** Render a Triangle. */
'Triangle' | 
/** Render a Diamond. */
'Diamond' | 
/** Render a Cross. */
'Cross' | 
/** Render a HorizontalLine. */
'HorizontalLine' | 
/** Render a VerticalLine. */
'VerticalLine' | 
/** Render a Pentagon. */
'Pentagon' | 
/** Render a InvertedTriangle. */
'InvertedTriangle' | 
/** Render a Image. */
'Image' | 
/** Render a None */
'None';
/**
 * Defines Theme of the chart. They are
 * * Material - Render a chart with Material theme.
 * * Fabric - Render a chart with Fabric theme
 */
export  type TooltipTheme = 
/**  Render a chart with Material theme. */
'Material' | 
/**  Render a chart with Fabric theme. */
'Fabric' | 
/**  Render a chart with Bootstrap theme. */
'Bootstrap' | 
/**  Render a chart with Highcontrast theme. */
'HighContrastLight' | 
/**  Render a chart with Material Dark theme. */
'MaterialDark' | 
/**  Render a chart with Fabric Dark theme. */
'FabricDark' | 
/**  Render a chart with Highcontrast Dark theme. */
'HighContrast' | 
/**  Render a chart with Bootstrap Dark theme. */
'BootstrapDark' | 
/**  Render a chart with Bootstrap4 theme. */
'Bootstrap4' | 
/**  Render a chart with Tailwind theme. */
'Tailwind' | 
/**  Render a chart with TailwindDark theme. */
'TailwindDark' | 
/**  Render a chart with Bootstrap5 theme. */
'Bootstrap5' | 
/**  Render a chart with Bootstrap5Dark theme. */
'Bootstrap5Dark' | 
/**  Render a chart with Fluent theme. */
'Fluent' | 
/**  Render a chart with FluentDark theme. */
'FluentDark';
/**
 * Defines the tooltip position.
 */
export  type TooltipPlacement = 
/** Render tooltip in Left position */
'Left' | 
/** Render tooltip in Right position */
'Right' | 
/** Render tooltip in Top position */
'Top' | 
/** Render tooltip in Bottom position */
'Bottom';
//node_modules/@syncfusion/ej2-svg-base/src/tooltip/helper.d.ts
/**
 * Function to measure the height and width of the text.
 *
 * @private
 * @param {string} text To get a text
 * @param {FontModel} font To get a font of the text
 * @returns {Size} measureText
 */
export  function measureText(text: string, font: TextStyleModel): Size;
/** @private */
export  function withInAreaBounds(x: number, y: number, areaBounds: Rect, width?: number, height?: number): boolean;
/** @private */
export  function findDirection(rX: number, rY: number, rect: Rect, arrowLocation: TooltipLocation, arrowPadding: number, top: boolean, bottom: boolean, left: boolean, tipX: number, tipY: number, controlName?: string): string;
/** @private */
export  class Size {
    height: number;
    width: number;
    constructor(width: number, height: number);
}
/** @private */
export  class Rect {
    x: number;
    y: number;
    height: number;
    width: number;
    constructor(x: number, y: number, width: number, height: number);
}
export  class Side {
    isRight: boolean;
    isBottom: boolean;
    constructor(bottom: boolean, right: boolean);
}
/** @private */
export  class CustomizeOption {
    id: string;
    constructor(id?: string);
}
/** @private */
export  class TextOption extends CustomizeOption {
    anchor: string;
    text: string | string[];
    transform: string;
    x: number;
    y: number;
    baseLine: string;
    labelRotation: number;
    constructor(id?: string, x?: number, y?: number, anchor?: string, text?: string | string[], transform?: string, baseLine?: string, labelRotation?: number);
}
/** @private */
export  function getElement(id: string): Element;
/** @private */
export  function removeElement(id: string): void;
/** @private */
export interface IShapes {
    renderOption?: Object;
    functionName?: string;
}
/** @private */
export  function drawSymbol(location: TooltipLocation, shape: string, size: Size, url: string, options: PathOption, label: string): Element;
/** @private */
export  function calculateShapes(location: TooltipLocation, size: Size, shape: string, options: PathOption, url: string): IShapes;
/** @private */
export  class PathOption extends CustomizeOption {
    opacity: number;
    fill: string;
    stroke: string;
    ['stroke-width']: number;
    ['stroke-dasharray']: string;
    d: string;
    constructor(id: string, fill: string, width: number, color: string, opacity?: number, dashArray?: string, d?: string);
}
/** @private */
export  function textElement(options: TextOption, font: TextStyleModel, color: string, parent: HTMLElement | Element): Element;
export  class TooltipLocation {
    x: number;
    y: number;
    constructor(x: number, y: number);
}
//node_modules/@syncfusion/ej2-svg-base/src/tooltip/index.d.ts
/**
 * Chart component exported items
 */
//node_modules/@syncfusion/ej2-svg-base/src/tooltip/interface.d.ts
/**
 * Specifies the Theme style for chart and accumulation.
 */
export interface ITooltipThemeStyle {
    tooltipFill: string;
    tooltipBoldLabel: string;
    tooltipLightLabel: string;
    tooltipHeaderLine: string;
}
export interface IBlazorTemplate {
    name: string;
    parent: object;
}
export interface ITooltipEventArgs {
    /** Defines the name of the event */
    name: string;
    /** Defines the event cancel status */
    cancel: boolean;
}
export interface ITooltipRenderingEventArgs extends ITooltipEventArgs {
    /** Defines tooltip text collections */
    text?: string;
    /** Defines tooltip text style */
    textStyle?: TextStyleModel;
    /** Defines the current Tooltip instance */
    tooltip: Tooltip;
}
export interface ITooltipAnimationCompleteArgs extends ITooltipEventArgs {
    /** Defines the current Tooltip instance */
    tooltip: Tooltip;
}
export interface ITooltipLoadedEventArgs extends ITooltipEventArgs {
    /** Defines the current Tooltip instance */
    tooltip: Tooltip;
}
/** @private */
export  function getTooltipThemeColor(theme: TooltipTheme): ITooltipThemeStyle;
//node_modules/@syncfusion/ej2-svg-base/src/tooltip/tooltip-model.d.ts
/**
 * Interface for a class TextStyle
 * @private
 */
export interface TextStyleModel {
    /**
     * Font size for the text.
     *
     * @default null
     */
    size?: string;
    /**
     * Color for the text.
     *
     * @default ''
     */
    color?: string;
    /**
     * FontFamily for the text.
     */
    fontFamily?: string;
    /**
     * FontWeight for the text.
     *
     * @default 'Normal'
     */
    fontWeight?: string;
    /**
     * FontStyle for the text.
     *
     * @default 'Normal'
     */
    fontStyle?: string;
    /**
     * Opacity for the text.
     *
     * @default 1
     */
    opacity?: number;
}
/**
 * Interface for a class TooltipBorder
 * @private
 */
export interface TooltipBorderModel {
    /**
     * The color of the border that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default ''
     */
    color?: string;
    /**
     * The width of the border in pixels.
     *
     * @default 1
     */
    width?: number;
    /**
     * The dash-array of the border.
     * @default ''
     */
    dashArray?: string;
}
/**
 * Interface for a class AreaBounds
 * @private
 */
export interface AreaBoundsModel {
    /**
     * The color of the border that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default ''
     */
    x?: number;
    /**
     * The width of the border in pixels.
     *
     * @default 1
     */
    y?: number;
    /**
     * The color of the border that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default ''
     */
    width?: number;
    /**
     * The width of the border in pixels.
     *
     * @default 1
     */
    height?: number;
}
/**
 * Interface for a class ToolLocation
 * @private
 */
export interface ToolLocationModel {
    /**
     * The color of the border that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default ''
     */
    x?: number;
    /**
     * The width of the border in pixels.
     *
     * @default 1
     */
    y?: number;
}
/**
 * Interface for a class Tooltip
 * @private
 */
export interface TooltipModel extends base.ComponentModel{
    /**
     * Enables / Disables the visibility of the tooltip.
     *
     * @default false.
     * @private
     */
    enable?: boolean;
    /**
     * If set to true, a single ToolTip will be displayed for every index.
     *
     * @default false.
     * @private
     */
    shared?: boolean;
    /**
     * To enable crosshair tooltip animation.
     *
     * @default false.
     * @private
     */
    crosshair?: boolean;
    /**
     * To enable shadow for the tooltip.
     *
     * @default true.
     * @private
     */
    enableShadow?: boolean;
    /**
     * The fill color of the tooltip that accepts value in hex and rgba as a valid CSS color string.
     *
     * @private
     */
    fill?: string;
    /**
     * Header for tooltip.
     *
     * @private
     */
    header?: string;
    /**
     * The fill color of the tooltip that accepts value in hex and rgba as a valid CSS color string.
     *
     * @private
     */
    opacity?: number;
    /**
     * Options to customize the ToolTip text.
     *
     * @private
     */
    textStyle?: TextStyleModel;
    /**
     * Custom template to format the ToolTip content. Use ${x} and ${y} as the placeholder text to display the corresponding data point.
     *
     * @default null.
     * @private
     */
    template?: string;
    /**
     * If set to true, ToolTip will animate while moving from one point to another.
     *
     * @default true.
     * @private
     */
    enableAnimation?: boolean;
    /**
     * Duration for Tooltip animation.
     *
     * @default 300
     * @private
     */
    duration?: number;
    /**
     * To rotate the tooltip.
     *
     * @default false.
     * @private
     */
    inverted?: boolean;
    /**
     * Negative value of the tooltip.
     *
     * @default true.
     * @private
     */
    isNegative?: boolean;
    /**
     * Options to customize tooltip borders.
     *
     * @private
     */
    border?: TooltipBorderModel;
    /**
     * Content for the tooltip.
     *
     * @private
     */
    content?: string[];
    /**
     * Content for the tooltip.
     *
     * @private
     */
    markerSize?: number;
    /**
     * Clip location.
     *
     * @private
     */
    clipBounds?: ToolLocationModel;
    /**
     * Palette for marker.
     *
     * @private
     */
    palette?: string[];
    /**
     * Shapes for marker.
     *
     * @private
     */
    shapes?: TooltipShape[];
    /**
     * Location for Tooltip.
     *
     * @private
     */
    location?: ToolLocationModel;
    /**
     * Location for Tooltip.
     *
     * @private
     */
    offset?: number;
    /**
     * Rounded corner for x.
     *
     * @private
     */
    rx?: number;
    /**
     * Rounded corner for y.
     *
     * @private
     */
    ry?: number;
    /**
     * Margin for left and right.
     *
     * @private
     */
    marginX?: number;
    /**
     *  Margin for top and bottom.
     *
     * @private
     */
    marginY?: number;
    /**
     * Padding for arrow.
     *
     * @private
     */
    arrowPadding?: number;
    /**
     * Data for template.
     *
     * @private
     */
    data?: Object;
    /**
     * Specifies the theme for the chart.
     *
     * @default 'Material'
     * @private
     */
    theme?: TooltipTheme;
    /**
     * Bounds for the rect.
     *
     * @private
     */
    areaBounds?: AreaBoundsModel;
    /**
     * Bounds for chart.
     *
     * @private
     */
    availableSize?: Size;
    /**
     * Blazor templates
     */
    blazorTemplate?: IBlazorTemplate;
    /**
     * To check chart is canvas.
     *
     * @default false.
     * @private
     */
    isCanvas?: boolean;
    /**
     * To check tooltip wrap for chart.
     *
     * @default false.
     * @private
     */
    isTextWrap?: boolean;
    /**
     * To place tooltip in a particular position.
     *
     * @default null.
     * @private
     */
    tooltipPlacement?: TooltipPlacement;
    /**
     * Control instance
     *
     * @default null.
     * @private
     */
    controlInstance?: object;
    /**
     * Specifies the control name.
     *
     * @default ''
     * @private
     */
    controlName?: string;
    /**
     * Triggers before each axis range is rendered.
     *
     * @event tooltipRender
     * @private
     */
    tooltipRender?: base.EmitType<ITooltipRenderingEventArgs>;
    /**
     * Triggers after chart load.
     *
     * @event loaded
     * @private
     */
    loaded?: base.EmitType<ITooltipLoadedEventArgs>;
    /**
     * Triggers after animation complete.
     *
     * @event animationComplete
     * @private
     */
    animationComplete?: base.EmitType<ITooltipAnimationCompleteArgs>;
    /**
     * Enables / Disables the rtl rendering of tooltip elements.
     *
     * @default false.
     * @private
     */
    enableRTL?: boolean;
}
//node_modules/@syncfusion/ej2-svg-base/src/tooltip/tooltip.d.ts
/**
 * Configures the fonts in charts.
 *
 * @private
 */
export  class TextStyle extends base.ChildProperty<TextStyle> {
    /**
     * Font size for the text.
     *
     * @default null
     */
    size: string;
    /**
     * Color for the text.
     *
     * @default ''
     */
    color: string;
    /**
     * FontFamily for the text.
     */
    fontFamily: string;
    /**
     * FontWeight for the text.
     *
     * @default 'Normal'
     */
    fontWeight: string;
    /**
     * FontStyle for the text.
     *
     * @default 'Normal'
     */
    fontStyle: string;
    /**
     * Opacity for the text.
     *
     * @default 1
     */
    opacity: number;
}
/**
 * Configures the borders in the chart.
 *
 * @private
 */
export  class TooltipBorder extends base.ChildProperty<TooltipBorder> {
    /**
     * The color of the border that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default ''
     */
    color: string;
    /**
     * The width of the border in pixels.
     *
     * @default 1
     */
    width: number;
    /**
     * The dash-array of the border.
     * @default ''
     */
    dashArray: string;
}
/**
 * Configures the borders in the chart.
 *
 * @private
 */
export  class AreaBounds extends base.ChildProperty<AreaBounds> {
    /**
     * The color of the border that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default ''
     */
    x: number;
    /**
     * The width of the border in pixels.
     *
     * @default 1
     */
    y: number;
    /**
     * The color of the border that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default ''
     */
    width: number;
    /**
     * The width of the border in pixels.
     *
     * @default 1
     */
    height: number;
}
/**
 * Configures the borders in the chart.
 *
 * @private
 */
export  class ToolLocation extends base.ChildProperty<ToolLocation> {
    /**
     * The color of the border that accepts value in hex and rgba as a valid CSS color string.
     *
     * @default ''
     */
    x: number;
    /**
     * The width of the border in pixels.
     *
     * @default 1
     */
    y: number;
}
/**
 * Represents the Tooltip control.
 * ```html
 * <div id="tooltip"/>
 * <script>
 *   var tooltipObj = new Tooltip({ isResponsive : true });
 *   tooltipObj.appendTo("#tooltip");
 * </script>
 * ```
 *
 * @private
 */
export  class Tooltip extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    /**
     * Enables / Disables the visibility of the tooltip.
     *
     * @default false.
     * @private
     */
    enable: boolean;
    /**
     * If set to true, a single ToolTip will be displayed for every index.
     *
     * @default false.
     * @private
     */
    shared: boolean;
    /**
     * To enable crosshair tooltip animation.
     *
     * @default false.
     * @private
     */
    crosshair: boolean;
    /**
     * To enable shadow for the tooltip.
     *
     * @default true.
     * @private
     */
    enableShadow: boolean;
    /**
     * The fill color of the tooltip that accepts value in hex and rgba as a valid CSS color string.
     *
     * @private
     */
    fill: string;
    /**
     * Header for tooltip.
     *
     * @private
     */
    header: string;
    /**
     * The fill color of the tooltip that accepts value in hex and rgba as a valid CSS color string.
     *
     * @private
     */
    opacity: number;
    /**
     * Options to customize the ToolTip text.
     *
     * @private
     */
    textStyle: TextStyleModel;
    /**
     * Custom template to format the ToolTip content. Use ${x} and ${y} as the placeholder text to display the corresponding data point.
     *
     * @default null.
     * @private
     */
    template: string;
    /**
     * If set to true, ToolTip will animate while moving from one point to another.
     *
     * @default true.
     * @private
     */
    enableAnimation: boolean;
    /**
     * Duration for Tooltip animation.
     *
     * @default 300
     * @private
     */
    duration: number;
    /**
     * To rotate the tooltip.
     *
     * @default false.
     * @private
     */
    inverted: boolean;
    /**
     * Negative value of the tooltip.
     *
     * @default true.
     * @private
     */
    isNegative: boolean;
    /**
     * Options to customize tooltip borders.
     *
     * @private
     */
    border: TooltipBorderModel;
    /**
     * Content for the tooltip.
     *
     * @private
     */
    content: string[];
    /**
     * Content for the tooltip.
     *
     * @private
     */
    markerSize: number;
    /**
     * Clip location.
     *
     * @private
     */
    clipBounds: ToolLocationModel;
    /**
     * Palette for marker.
     *
     * @private
     */
    palette: string[];
    /**
     * Shapes for marker.
     *
     * @private
     */
    shapes: TooltipShape[];
    /**
     * Location for Tooltip.
     *
     * @private
     */
    location: ToolLocationModel;
    /**
     * Location for Tooltip.
     *
     * @private
     */
    offset: number;
    /**
     * Rounded corner for x.
     *
     * @private
     */
    rx: number;
    /**
     * Rounded corner for y.
     *
     * @private
     */
    ry: number;
    /**
     * Margin for left and right.
     *
     * @private
     */
    marginX: number;
    /**
     *  Margin for top and bottom.
     *
     * @private
     */
    marginY: number;
    /**
     * Padding for arrow.
     *
     * @private
     */
    arrowPadding: number;
    /**
     * Data for template.
     *
     * @private
     */
    data: Object;
    /**
     * Specifies the theme for the chart.
     *
     * @default 'Material'
     * @private
     */
    theme: TooltipTheme;
    /**
     * Bounds for the rect.
     *
     * @private
     */
    areaBounds: AreaBoundsModel;
    /**
     * Bounds for chart.
     *
     * @private
     */
    availableSize: Size;
    /**
     * Blazor templates
     */
    blazorTemplate: IBlazorTemplate;
    /**
     * To check chart is canvas.
     *
     * @default false.
     * @private
     */
    isCanvas: boolean;
    /**
     * To check tooltip wrap for chart.
     *
     * @default false.
     * @private
     */
    isTextWrap: boolean;
    /**
     * To place tooltip in a particular position.
     *
     * @default null.
     * @private
     */
    tooltipPlacement: TooltipPlacement;
    /**
     * Control instance
     *
     * @default null.
     * @private
     */
    controlInstance: object;
    /**
     * Specifies the control name.
     *
     * @default ''
     * @private
     */
    controlName: string;
    /**
     * Triggers before each axis range is rendered.
     *
     * @event tooltipRender
     * @private
     */
    tooltipRender: base.EmitType<ITooltipRenderingEventArgs>;
    /**
     * Triggers after chart load.
     *
     * @event loaded
     * @private
     */
    loaded: base.EmitType<ITooltipLoadedEventArgs>;
    /**
     * Triggers after animation complete.
     *
     * @event animationComplete
     * @private
     */
    animationComplete: base.EmitType<ITooltipAnimationCompleteArgs>;
    /**
     * Enables / Disables the rtl rendering of tooltip elements.
     *
     * @default false.
     * @private
     */
    enableRTL: boolean;
    private elementSize;
    private toolTipInterval;
    private padding;
    private areaMargin;
    private textElements;
    private templateFn;
    private formattedText;
    private markerPoint;
    /** @private */
    private valueX;
    /** @private */
    private valueY;
    fadeOuted: boolean;
    /** @private */
    private renderer;
    /** @private */
    private themeStyle;
    private isFirst;
    private isWrap;
    private leftSpace;
    private rightSpace;
    private wrappedText;
    private revert;
    private outOfBounds;
    /**
     * Constructor for creating the widget
     *
     * @hidden
     */
    constructor(options?: TooltipModel, element?: string | HTMLElement);
    /**
     * Initialize the event handler.
     *
     * @private
     */
    protected preRender(): void;
    private initPrivateVariable;
    private removeSVG;
    /**
     * To Initialize the control rendering.
     */
    protected render(): void;
    private createTooltipElement;
    private drawMarker;
    private renderTooltipElement;
    private changeText;
    private findFormattedText;
    private renderText;
    private renderContentRTL;
    private getTooltipTextContent;
    private isValidHTMLElement;
    private isRTLText;
    private createTemplate;
    private sharedTooltipLocation;
    private getCurrentPosition;
    private tooltipLocation;
    private animateTooltipDiv;
    private updateDiv;
    private updateTemplateFn;
    /** @private */
    fadeOut(): void;
    private progressAnimation;
    private endAnimation;
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @private
     */
    getPersistData(): string;
    /**
     * Get component name
     *
     *  @private
     */
    getModuleName(): string;
    /**
     * To destroy the accumulationcharts
     *
     * @private
     */
    destroy(): void;
    /**
     * Called internally if any of the property value changed.
     *
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: TooltipModel, oldProp: TooltipModel): void;
}
 }
export namespace treegrid { 

//node_modules/@syncfusion/ej2-treegrid/src/index.d.ts
/**
 * Export TreeGrid component
 */
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/actions/batch-edit.d.ts
/**
 * `BatchEdit` module is used to handle batch editing actions.
 *
 * @hidden
 */
export  class BatchEdit {
    private parent;
    private isSelfReference;
    private addRowRecord;
    private batchChildCount;
    private addedRecords;
    private deletedRecords;
    private matrix;
    private batchRecords;
    private currentViewRecords;
    private batchAddedRecords;
    private batchDeletedRecords;
    private batchIndex;
    private batchAddRowRecord;
    private isAdd;
    private newBatchRowAdded;
    private selectedIndex;
    private addRowIndex;
    constructor(parent: TreeGrid);
    addEventListener(): void;
    /**
     * @hidden
     * @returns {void}
     */
    removeEventListener(): void;
    /**
     * To destroy the editModule
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    /**
     * @hidden
     * @returns {Object[]} Returns modified records in batch editing.
     */
    getBatchRecords(): Object[];
    /**
     * @hidden
     * @returns {number} Returns index of newly add row
     */
    getAddRowIndex(): number;
    /**
     * @hidden
     * @returns {number} Returns selected row index
     */
    getSelectedIndex(): number;
    /**
     * @hidden
     * @returns {number} Returns newly added child count
     */
    getBatchChildCount(): number;
    private batchPageAction;
    private cellSaved;
    private beforeBatchAdd;
    private batchAdd;
    private beforeBatchDelete;
    private updateRowIndex;
    private updateChildCount;
    private beforeBatchSave;
    private deleteUniqueID;
    private batchCancelAction;
    private batchSave;
    private getActualRowObjectIndex;
    private immutableBatchAction;
    private nextCellIndex;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/actions/clipboard.d.ts
/**
 * clipboard.ts file
 */
/**
 * The `Clipboard` module is used to handle clipboard copy action.
 *
 * @hidden
 */
export  class TreeClipboard extends grids.Clipboard {
    private treeGridParent;
    private treeCopyContent;
    private copiedUniqueIdCollection;
    protected serviceLocator: grids.ServiceLocator;
    constructor(parent?: TreeGrid, serviceLocator?: grids.ServiceLocator);
    protected setCopyData(withHeader?: boolean): void;
    private parentContentData;
    copy(withHeader?: boolean): void;
    paste(data: string, rowIndex: number, colIndex: number): void;
    /**
     * For internal use only - Get the module name.
     *
     * @private
     * @returns {string} Returns clipboard module name
     */
    protected getModuleName(): string;
    /**
     * To destroy the clipboard
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    private childContentData;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/actions/column-chooser.d.ts
/**
 * TreeGrid ColumnChooser module
 *
 * @hidden
 */
export  class ColumnChooser {
    private parent;
    /**
     * Constructor for render module
     *
     * @param {TreeGrid} parent - Tree Grid instance.
     */
    constructor(parent?: TreeGrid);
    /**
     * Column chooser can be displayed on screen by given position(X and Y axis).
     *
     * @param  {number} X - Defines the X axis.
     * @param  {number} Y - Defines the Y axis.
     * @returns {void}
     */
    openColumnChooser(X?: number, Y?: number): void;
    /**
     * Destroys the openColumnChooser.
     *
     * @function destroy
     * @returns {void}
     */
    destroy(): void;
    /**
     * For internal use only - Get the module name.
     *
     * @private
     * @returns {string} Returns ColumnChooser module name
     */
    private getModuleName;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/actions/column-menu.d.ts
/**
 * TreeGrid ColumnMenu module
 *
 * @hidden
 */
export  class ColumnMenu {
    private parent;
    /**
     * Constructor for render module
     *
     * @param {TreeGrid} parent - Tree Grid instance
     */
    constructor(parent?: TreeGrid);
    getColumnMenu(): HTMLElement;
    destroy(): void;
    /**
     * For internal use only - Get the module name.
     *
     * @private
     * @returns {string} Returns ColumnMenu module name
     */
    private getModuleName;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/actions/command-column.d.ts
/**
 * Command Column Module for TreeGrid
 *
 * @hidden
 */
export  class CommandColumn {
    private parent;
    constructor(parent: TreeGrid);
    /**
     * For internal use only - Get the module name.
     *
     * @private
     * @returns {string} Returns CommandColumn module name
     */
    protected getModuleName(): string;
    /**
     * Destroys the ContextMenu.
     *
     * @function destroy
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/actions/context-menu.d.ts
/**
 * ContextMenu Module for TreeGrid
 *
 * @hidden
 */
export  class ContextMenu {
    private parent;
    constructor(parent: TreeGrid);
    /**
     * @hidden
     * @returns {void}
     */
    addEventListener(): void;
    /**
     * @hidden
     * @returns {void}
     */
    removeEventListener(): void;
    private contextMenuOpen;
    private contextMenuClick;
    /**
     * For internal use only - Get the module name.
     *
     * @private
     * @returns {string} Returns ContextMenu module name
     */
    protected getModuleName(): string;
    /**
     * Destroys the ContextMenu.
     *
     * @function destroy
     * @returns {void}
     */
    destroy(): void;
    /**
     * Gets the context menu element from the TreeGrid.
     *
     * @returns {Element} Return Context Menu root element.
     */
    getContextMenu(): Element;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/actions/crud-actions.d.ts
/**
 * crud-actions.ts file
 */
/**
 * Performs CRUD update to Tree Grid data source
 *
 * @param {{value: ITreeData, action: string }} details - Gets modified record value and CRUD action type
 * @param {TreeGrid} details.value - Gets modified record value
 * @param {string} details.action - CRUD action type
 * @param {TreeGrid} control - Tree Grid instance
 * @param {boolean} isSelfReference - Denotes whether Self Referential data binding
 * @param {number} addRowIndex - New add row index
 * @param {number} selectedIndex - Selected Row index
 * @param {string} columnName - Column field name
 * @param {ITreeData} addRowRecord - Newly added record
 * @returns {void}
 */
export  function editAction(details: {
    value: ITreeData;
    action: string;
}, control: TreeGrid, isSelfReference: boolean, addRowIndex: number, selectedIndex: number, columnName?: string, addRowRecord?: ITreeData): void;
/**
 * Performs Add action to Tree Grid data source
 *
 * @param {{value: ITreeData, action: string }} details - Gets modified record value and CRUD action type
 * @param {TreeGrid} details.value - Gets modified record value
 * @param {string} details.action - CRUD action type
 * @param {Object[]} treeData - Tree Grid data source
 * @param {TreeGrid} control - Tree Grid instance
 * @param {boolean} isSelfReference - Denotes whether Self Referential data binding
 * @param {number} addRowIndex - New add row index
 * @param {number} selectedIndex - Selected Row index
 * @param {ITreeData} addRowRecord - Newly added record
 * @returns {void}
 */
export  function addAction(details: {
    value: ITreeData;
    action: string;
}, treeData: Object[], control: TreeGrid, isSelfReference: boolean, addRowIndex: number, selectedIndex: number, addRowRecord: ITreeData): {
    value: Object;
    isSkip: boolean;
};
/**
 * @param {ITreeData[]} childRecords - Child Records collection
 * @param {Object} modifiedData - Modified data in crud action
 * @param {string} action - crud action type
 * @param {string} key - Primary key field name
 * @param {TreeGrid} control - Tree Grid instance
 * @param {boolean} isSelfReference - Specified whether Self Referential data binding
 * @param {ITreeData} originalData - Non updated data from data source, of edited data
 * @param {string} columnName - column field name
 * @returns {boolean} Returns whether child records exists
 */
export  function removeChildRecords(childRecords: ITreeData[], modifiedData: Object, action: string, key: string, control: TreeGrid, isSelfReference: boolean, originalData?: ITreeData, columnName?: string): boolean;
/**
 * @param {string} key - Primary key field name
 * @param {ITreeData} record - Parent Record which has to be updated
 * @param {string} action - CRUD action type
 * @param {TreeGrid} control - Tree Grid instance
 * @param {boolean} isSelfReference - Specified whether self referential data binding
 * @param {ITreeData} child - Specifies child record
 * @returns {void}
 */
export  function updateParentRow(key: string, record: ITreeData, action: string, control: TreeGrid, isSelfReference: boolean, child?: ITreeData): void;
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/actions/detail-row.d.ts
/**
 * TreeGrid Detail Row module
 *
 * @hidden
 */
export  class DetailRow {
    private parent;
    constructor(parent: TreeGrid);
    /**
     * @hidden
     */
    /**
     * For internal use only - Get the module name.
     *
     * @private
     * @returns {string} Returns DetailRow module name
     */
    protected getModuleName(): string;
    addEventListener(): void;
    /**
     * @hidden
     * @returns {void}
     */
    removeEventListener(): void;
    private setIndentVisibility;
    private dataBoundArg;
    private childRowExpand;
    private rowExpandCollapse;
    private detaildataBound;
    private actioncomplete;
    /**
     * Destroys the DetailModule.
     *
     * @function destroy
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/actions/edit.d.ts
/**
 * TreeGrid Edit Module
 * The `Edit` module is used to handle editing actions.
 */
export  class Edit {
    private parent;
    private isSelfReference;
    private addedRecords;
    private deletedRecords;
    private addRowIndex;
    private addRowRecord;
    private isOnBatch;
    private keyPress;
    private selectedIndex;
    private doubleClickTarget;
    private internalProperties;
    private previousNewRowPosition;
    private batchEditModule;
    private isTabLastRow;
    private prevAriaRowIndex;
    private isAddedRowByMethod;
    private isAddedRowByContextMenu;
    /**
     * Constructor for Edit module
     *
     * @param {TreeGrid} parent - Tree Grid instance
     */
    constructor(parent: TreeGrid);
    /**
     * For internal use only - Get the module name.
     *
     * @private
     * @returns {string} Returns Edit module name
     */
    protected getModuleName(): string;
    /**
     * @hidden
     * @returns {void}
     */
    addEventListener(): void;
    private gridDblClick;
    private getRowPosition;
    private beforeStartEdit;
    private beforeBatchCancel;
    /**
     * @hidden
     * @returns {void}
     */
    removeEventListener(): void;
    /**
     * To destroy the editModule
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    /**
     * @param {grids.Column[]} cols - grids.Column property Collection
     * @hidden
     * @returns {void}
     */
    applyFormValidation(cols?: grids.Column[]): void;
    private editActionEvents;
    private infiniteAddAction;
    private updateInfiniteCurrentViewData;
    private recordDoubleClick;
    private updateGridEditMode;
    private resetIsOnBatch;
    private keyPressed;
    private deleteUniqueID;
    private cellEdit;
    private enableToolbarItems;
    private batchCancel;
    private customCellSave;
    private cellSave;
    private afterCellSave;
    private lastCellTab;
    private updateCell;
    private crudAction;
    private updateIndex;
    private beginAdd;
    private beginEdit;
    private savePreviousRowPosition;
    private beginAddEdit;
    /**
     * If the data,index and position given, Adds the record to treegrid rows otherwise it will create edit form.
     *
     * @returns {void}
     */
    addRecord(data?: Object, index?: number, position?: RowPosition): void;
    /**
     * Checks the status of validation at the time of editing. If validation is passed, it returns true.
     *
     * @returns {boolean} Returns form validation results
     */
    editFormValidate(): boolean;
    /**
     * @hidden
     * @returns {void}
     */
    destroyForm(): void;
    private contentready;
    /**
     * If the row index and field is given, edits the particular cell in a row.
     *
     * @returns {void}
     */
    editCell(rowIndex?: number, field?: string): void;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/actions/excel-export.d.ts
/**
 * TreeGrid Excel Export module
 *
 * @hidden
 */
export  class ExcelExport {
    private parent;
    private dataResults;
    private isCollapsedStatePersist;
    /**
     * Constructor for Excel Export module
     *
     * @param {TreeGrid} parent - Tree Grid instance
     */
    constructor(parent?: TreeGrid);
    /**
     * For internal use only - Get the module name.
     *
     * @private
     * @returns {string} Returns ExcelExport module name
     */
    protected getModuleName(): string;
    /**
     * @hidden
     * @returns {void}
     */
    addEventListener(): void;
    /**
     * To destroy the Excel Export
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    /**
     * @hidden
     * @returns {void}
     */
    removeEventListener(): void;
    private updateExcelResultModel;
    Map(excelExportProperties?: grids.ExcelExportProperties, isMultipleExport?: boolean, workbook?: any, isBlob?: boolean, isCsv?: boolean): Promise<Object>;
    protected generateQuery(query: data.Query, property?: grids.ExcelExportProperties): data.Query;
    protected manipulateExportProperties(property?: grids.ExcelExportProperties, dtSrc?: Object, queryResult?: base.Ajax): Object;
    /**
     * TreeGrid Excel Export cell modifier
     *
     * @param {ExcelQueryCellInfoEventArgs} args - current cell details
     * @hidden
     * @returns {void}
     */
    private excelQueryCellInfo;
    private exportRowDataBound;
    private finalPageSetup;
    private isLocal;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/actions/filter.d.ts
/**
 * TreeGrid Filter module will handle filtering action
 *
 * @hidden
 */
export  class Filter {
    private parent;
    filteredResult: Object[];
    private flatFilteredData;
    private filteredParentRecs;
    private isHierarchyFilter;
    /**
     * Constructor for Filter module
     *
     * @param {TreeGrid} parent - Tree Grid instance
     */
    constructor(parent?: TreeGrid);
    /**
     * For internal use only - Get the module name.
     *
     * @private
     * @returns {string} Returns Filter module name
     */
    protected getModuleName(): string;
    /**
     * To destroy the Filter module
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    /**
     * @hidden
     * @returns {void}
     */
    addEventListener(): void;
    /**
     * @hidden
     * @returns {void}
     */
    removeEventListener(): void;
    /**
     * Function to update filtered records
     *
     * @param {{data: Object} } dataDetails - Filtered data collection
     * @param {Object} dataDetails.data - Fliltered data collection
     * @hidden
     * @returns {void}
     */
    private updatedFilteredRecord;
    private updateParentFilteredRecord;
    private addParentRecord;
    private checkChildExsist;
    private updateFilterLevel;
    private clearFilterLevel;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/actions/freeze-column.d.ts
/**
 * TreeGrid Freeze module
 *
 * @hidden
 */
export  class Freeze {
    private parent;
    /**
     * Constructor for render module
     *
     * @param {TreeGrid} parent - Tree Grid instance
     */
    constructor(parent?: TreeGrid);
    addEventListener(): void;
    removeEventListener(): void;
    protected instantiateRenderer(): void;
    private rowExpandCollapse;
    private dblClickHandler;
    private dataBoundArg;
    destroy(): void;
    /**
     * For internal use only - Get the module name.
     *
     * @private
     * @returns {string} Returns Freeze module name
     */
    private getModuleName;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/actions/index.d.ts
/**
 * actions export
 */
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/actions/infinite-scroll.d.ts
/**
 * TreeGrid Infinite Scroll module will handle Infinite Scrolling.
 *
 * @hidden
 */
export  class InfiniteScroll {
    private parent;
    private visualData;
    /**
     * Constructor for VirtualScroll module
     *
     * @param {TreeGrid} parent - Tree Grid instance
     */
    constructor(parent?: TreeGrid);
    /**
     * For internal use only - Get the module name.
     *
     * @private
     * @returns {string} - Returns Logger module name
     */
    protected getModuleName(): string;
    /**
     * @hidden
     * @returns {void}
     */
    addEventListener(): void;
    /**
     * @hidden
     * @returns {void}
     */
    removeEventListener(): void;
    /**
     * Handles the Expand Collapse action for Remote data with infinite scrolling.
     *
     * @param {{ index: number, childData: ITreeData[] }} args - expanded row index and its child data
     * @param { number } args.index - expanded row index
     * @param { ITreeData[] } args.childData - child data of expanded row
     * @returns {void}
     */
    private infiniteRemoteExpand;
    /**
     * Resetted the row index for expand collapse action for cache support.
     *
     * @returns {void}
     */
    private contentready;
    private collapseExpandInfinitechilds;
    /**
     * Handles the page query for Data operations and CRUD actions.
     *
     * @param {{ result: ITreeData[], count: number, actionArgs: object }} pageingDetails - data, its count and action details
     * @param {ITreeData[]} pageingDetails.result - data on scroll action
     * @param {number} pageingDetails.count - data count on scroll action
     * @param {Object} pageingDetails.actionArgs - scroll action details
     * @returns {void}
     */
    private infinitePageAction;
    /**
     * Handles the currentviewdata for delete operation.
     *
     * @param {{ e: InfiniteScrollArgs, result: Object[] }} args - Scroller and data details
     * @param {InfiniteScrollArgs} args.e -  scroller details while CRUD
     * @param {Object[]} args.result - data details while CRUD
     * @returns {void}
     */
    private infiniteEditHandler;
    /**
     * Handles the row objects for delete operation.
     *
     * @param {ActionEventArgs} args - crud action details
     * @returns {void}
     */
    private infiniteDeleteHandler;
    /**
     * Handles the row objects for delete operation.
     *
     * @param {Element[]} rowElms - row elements
     * @param {Row<Column>[]} rows - Row object collection
     * @param {Object[]} data - data collection
     * @param {string} keyField - primary key name
     * @param { boolean} isFrozen - Specifies whether frozen column enabled
     * @returns {void}
     */
    private removeRows;
    /**
     * Handles the row objects for Add operation.
     */
    private createRows;
    /**
     * To destroy the infiniteScroll module
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/actions/logger.d.ts
export interface TreeItemDetails {
    type: string;
    logType: string;
    message?: string;
    check: (args: Object, parent: TreeGrid) => grids.CheckOptions;
    generateMessage: (args: Object, parent: TreeGrid, checkOptions?: Object) => string;
}
export  class Logger extends grids.Logger {
    private treeGridObj;
    constructor(parent: grids.IGrid);
    /**
     * For internal use only - Get the module name.
     *
     * @private
     * @returns {string} - Returns Logger module name
     */
    getModuleName(): string;
    log(types: string | string[], args: Object): void;
    treeLog(types: string | string[], args: Object, treeGrid: TreeGrid): void;
}
export  const treeGridDetails: {
    [key: string]: TreeItemDetails;
};
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/actions/page.d.ts
/**
 * The `Page` module is used to render pager and handle paging action.
 *
 * @hidden
 */
export  class Page {
    private parent;
    constructor(parent: TreeGrid);
    /**
     * @hidden
     * @returns {void}
     */
    addEventListener(): void;
    /**
     * @hidden
     * @returns {void}
     */
    removeEventListener(): void;
    /**
     * For internal use only - Get the module name.
     *
     * @private
     * @returns {string} Returns Pager module name
     */
    protected getModuleName(): string;
    /**
     * Refreshes the page count, pager information, and external message.
     *
     * @returns {void}
     */
    refresh(): void;
    /**
     * To destroy the pager
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    /**
     * Navigates to the target page according to the given number.
     *
     * @param  {number} pageNo - Defines the page number to navigate.
     * @returns {void}
     */
    goToPage(pageNo: number): void;
    /**
     * Defines the text of the external message.
     *
     * @param  {string} message - Defines the message to update.
     * @returns {void}
     */
    updateExternalMessage(message: string): void;
    /**
     * @param {{action: string, row: HTMLTableRowElement, record: ITreeData, args: RowCollapsedEventArgs}} rowDetails - Expand Collapse details arguments
     * @param {string} rowDetails.action - Expand Collapse action type
     * @param {HTMLTableRowElement} rowDetails.row - Row element
     * @param {ITreeData} rowDetails.record - Row object data
     * @param {RowCollapsedEventArgs} rowDetails.args - Expand Collapse event arguments
     * @hidden
     * @returns {void}
     */
    private collapseExpandPagedchilds;
    private pageRoot;
    private updatePageSize;
    private pageAction;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/actions/pdf-export.d.ts
/**
 * TreeGrid PDF Export module
 *
 * @hidden
 */
export  class PdfExport {
    private parent;
    private dataResults;
    /**
     * Constructor for PDF export module
     *
     * @param {TreeGrid} parent - Tree Grid instance
     */
    constructor(parent?: TreeGrid);
    /**
     * For internal use only - Get the module name.
     *
     * @private
     * @returns {string} PdfExport module name
     */
    protected getModuleName(): string;
    /**
     * @hidden
     * @returns {void}
     */
    addEventListener(): void;
    /**
     * @hidden
     * @returns {void}
     */
    removeEventListener(): void;
    /**
     * To destroy the PDF Export
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    private updatePdfResultModel;
    Map(pdfExportProperties?: grids.PdfExportProperties, isMultipleExport?: boolean, pdfDoc?: Object, isBlob?: boolean): Promise<Object>;
    protected generateQuery(query: data.Query, prop?: grids.PdfExportProperties): data.Query;
    protected manipulatePdfProperties(prop?: grids.PdfExportProperties, dtSrc?: Object, queryResult?: base.Ajax): Object;
    /**
     * TreeGrid PDF Export cell modifier
     *
     * @param {PdfQueryCellInfoEventArgs} args - Current cell details
     * @hidden
     * @returns {void}
     */
    private pdfQueryCellInfo;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/actions/print.d.ts
/**
 * TreeGrid Print module
 *
 * @hidden
 */
export  class Print {
    private parent;
    /**
     * Constructor for Print module
     *
     * @param {TreeGrid} parent - Tree Grid instance
     */
    constructor(parent?: TreeGrid);
    /**
     * For internal use only - Get the module name.
     *
     * @private
     * @returns {string} Returns Print module name
     */
    private getModuleName;
    /**
     * @hidden
     * @returns {void}
     */
    addEventListener(): void;
    removeEventListener(): void;
    private printTreeGrid;
    print(): void;
    /**
     * To destroy the Print
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/actions/reorder.d.ts
/**
 * TreeGrid Reorder module
 *
 * @hidden
 */
export  class Reorder {
    private parent;
    /**
     * Constructor for Reorder module
     *
     * @param {TreeGrid} parent - Tree Grid instance
     */
    constructor(parent?: TreeGrid);
    /**
     * For internal use only - Get the module name.
     *
     * @private
     * @returns {string} Returns Reorder module name
     */
    private getModuleName;
    /**
     * @hidden
     * @returns {void}
     */
    addEventListener(): void;
    removeEventListener(): void;
    /**
     * To destroy the Reorder
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    private getTreeColumn;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/actions/resize.d.ts
/**
 * TreeGrid Resize module
 *
 * @hidden
 */
export  class Resize {
    private parent;
    /**
     * Constructor for Resize module
     *
     * @param {TreeGrid} parent - Tree Grid instance
     */
    constructor(parent?: TreeGrid);
    /**
     * Resize by field names.
     *
     * @param  {string|string[]} fName - Defines the field name.
     * @returns {void}
     */
    autoFitColumns(fName?: string | string[]): void;
    /**
     * For internal use only - Get the module name.
     *
     * @private
     * @returns {string} Returns Resize module name
     */
    private getModuleName;
    /**
     * Destroys the Resize.
     *
     * @function destroy
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/actions/rowdragdrop.d.ts
/**
 * TreeGrid RowDragAndDrop module
 *
 * @hidden
 */
export  class RowDD {
    private parent;
    /** @hidden */
    private dropPosition;
    /** @hidden */
    private draggedRecord;
    /** @hidden */
    private droppedRecord;
    /** @hidden */
    treeGridData: ITreeData[];
    /** @hidden */
    private treeData;
    /** @hidden */
    private canDrop;
    /** @hidden */
    private isDraggedWithChild;
    /** @hidden */
    isMultipleGrid: string;
    /** @hidden */
    private modifiedRecords;
    /** @hidden */
    private selectedItem;
    /** @hidden */
    private selectedRecords;
    /** @hidden */
    private selectedRows;
    /** @hidden */
    private hasDropItem;
    /** @hidden */
    isaddtoBottom: boolean;
    private selectedRecord;
    private selectedRow;
    /**
     * Constructor for render module
     *
     * @param {TreeGrid} parent - Tree Grid instance
     */
    constructor(parent?: TreeGrid);
    private getChildrecordsByParentID;
    /**
     * @hidden
     * @returns {void}
     */
    private addEventListener;
    /**
     * Reorder the rows based on given indexes and position
     *
     * @returns {void}
     * @param {number[]} fromIndexes - source indexes of rows to be re-ordered
     * @param {number} toIndex - Destination row index
     * @param {string} position - Drop position as above or below or child
     */
    reorderRows(fromIndexes: number[], toIndex: number, position: string): void;
    private indentOutdentAction;
    private eventTrigger;
    private orderToIndex;
    private rowsAdded;
    private rowsRemoved;
    private refreshGridDataSource;
    private removeFirstrowBorder;
    private removeLastrowBorder;
    private updateIcon;
    private removeChildBorder;
    private addFirstrowBorder;
    private addLastRowborder;
    private getScrollWidth;
    private addErrorElem;
    private removeErrorElem;
    private topOrBottomBorder;
    private removetopOrBottomBorder;
    private addRemoveClasses;
    private getOffset;
    private Rowdraging;
    private rowDropped;
    private dragDropGrid;
    private getTargetIdx;
    private getParentData;
    private dropRows;
    private dropMiddle;
    private dropAtTop;
    private recordLevel;
    private deleteDragRow;
    private updateChildRecord;
    private updateChildRecordLevel;
    private removeRecords;
    private updateModifiedRecords;
    private removeChildItem;
    private getChildCount;
    private ensuredropPosition;
    destroy(): void;
    /**
     * @hidden
     * @returns {void}
     */
    removeEventListener(): void;
    /**
     * hidden
     */
    /**
     * For internal use only - Get the module name.
     *
     * @private
     * @returns {string} Returns RowDragAndDrop module name
     */
    private getModuleName;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/actions/selection.d.ts
/**
 * TreeGrid Selection module
 *
 * @hidden
 */
export  class Selection {
    private parent;
    private columnIndex;
    private selectedItems;
    private selectedIndexes;
    private filteredList;
    /**
     * Constructor for Selection module
     *
     * @param {TreeGrid} parent - Tree Grid instance
     */
    constructor(parent: TreeGrid);
    /**
     * For internal use only - Get the module name.
     *
     * @private
     * @returns {string} Returns Selection module name
     */
    private getModuleName;
    addEventListener(): void;
    removeEventListener(): void;
    /**
     * To destroy the Selection
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    private checkboxSelection;
    private triggerChkChangeEvent;
    private getCheckboxcolumnIndex;
    private headerCheckbox;
    private renderColumnCheckbox;
    private columnCheckbox;
    selectCheckboxes(rowIndexes: number[]): void;
    private traverSelection;
    private getFilteredChildRecords;
    private updateParentSelection;
    private headerSelection;
    private updateSelectedItems;
    private updateGridActions;
    getCheckedrecords(): Object[];
    getCheckedRowIndexes(): number[];
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/actions/sort.d.ts
/**
 * Internal dataoperations for TreeGrid
 *
 * @hidden
 */
export  class Sort {
    private flatSortedData;
    private taskIds;
    private storedIndex;
    private parent;
    private isSelfReference;
    constructor(grid: TreeGrid);
    /**
     * For internal use only - Get the module name.
     *
     * @private
     * @returns {string} Returns Sort module name
     */
    private getModuleName;
    /**
     * @hidden
     */
    addEventListener(): void;
    /**
     * @hidden
     * @returns {void}
     */
    removeEventListener(): void;
    private createdSortedRecords;
    private iterateSort;
    /**
     * Sorts a column with the given options.
     *
     * @param {string} columnName - Defines the column name to be sorted.
     * @param {grids.SortDirection} direction - Defines the direction of sorting field.
     * @param {boolean} isMultiSort - Specifies whether the previous sorted columns are to be maintained.
     * @returns {void}
     */
    sortColumn(columnName: string, direction: grids.SortDirection, isMultiSort?: boolean): void;
    removeSortColumn(field: string): void;
    /**
     * The function used to update sortSettings of TreeGrid.
     *
     * @returns {void}
     * @hidden
     */
    private updateModel;
    /**
     * Clears all the sorted columns of the TreeGrid.
     *
     * @returns {void}
     */
    clearSorting(): void;
    /**
     * Destroys the Sorting of TreeGrid.
     *
     * @function destroy
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/actions/summary.d.ts
/**
 * TreeGrid Aggregate module
 *
 * @hidden
 */
export  class Aggregate {
    private parent;
    private flatChildRecords;
    private summaryQuery;
    /**
     * Constructor for Aggregate module
     *
     * @param {TreeGrid} parent - Tree Grid instance
     */
    constructor(parent?: TreeGrid);
    /**
     * For internal use only - Get the module name.
     *
     * @private
     * @returns {string} Returns Summary module name
     */
    private getModuleName;
    removeEventListener(): void;
    /**
     * Function to calculate summary values
     *
     * @param {data.QueryOptions[]} summaryQuery - DataManager query for aggregate operations
     * @param {Object[]} filteredData - Filtered data collection
     * @param {boolean} isSort - Specified whether sorting operation performed
     * @hidden
     * @returns {Object[]} -  return flat records with summary values
     */
    calculateSummaryValue(summaryQuery: data.QueryOptions[], filteredData: Object[], isSort: boolean): Object[];
    private getChildRecordsLength;
    private createSummaryItem;
    private getSummaryValues;
    private getFormatFromType;
    /**
     * To destroy the Aggregate module
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/actions/toolbar.d.ts
/**
 * Toolbar Module for TreeGrid
 *
 * @hidden
 */
export  class Toolbar {
    private parent;
    constructor(parent: TreeGrid);
    /**
     * For internal use only - Get the module name.
     *
     * @private
     * @returns {string} - Returns Toolbar module name
     */
    private getModuleName;
    /**
     * @hidden
     * @returns {void}
     */
    addEventListener(): void;
    /**
     * @hidden
     * @returns {void}
     */
    removeEventListener(): void;
    private refreshToolbar;
    private toolbarClickHandler;
    /**
     * Gets the toolbar of the TreeGrid.
     *
     * @returns {Element} - Returns Toolbar element
     * @hidden
     */
    getToolbar(): Element;
    /**
     * Enables or disables ToolBar items.
     *
     * @param {string[]} items - Defines the collection of itemID of ToolBar items.
     * @param {boolean} isEnable - Defines the items to be enabled or disabled.
     * @returns {void}
     * @hidden
     */
    enableItems(items: string[], isEnable: boolean): void;
    /**
     * Destroys the ToolBar.
     *
     * @method destroy
     * @returns {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/actions/virtual-scroll.d.ts
/**
 * TreeGrid Virtual Scroll module will handle Virtualization
 *
 * @hidden
 */
export  class VirtualScroll {
    private parent;
    private expandCollapseRec;
    private prevstartIndex;
    private prevendIndex;
    private visualData;
    /**
     * Constructor for VirtualScroll module
     *
     * @param {TreeGrid} parent - Tree Grid instance
     */
    constructor(parent?: TreeGrid);
    private returnVisualData;
    /**
     * For internal use only - Get the module name.
     *
     * @private
     * @returns {string} - Returns VirtualScroll module name
     */
    protected getModuleName(): string;
    /**
     * @hidden
     * @returns {void}
     */
    addEventListener(): void;
    /**
     * @hidden
     * @returns {void}
     */
    removeEventListener(): void;
    private collapseExpandVirtualchilds;
    private virtualPageAction;
    /**
     * To destroy the virtualScroll module
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
}
export  class TreeVirtual extends grids.VirtualScroll {
    constructor(parent: grids.IGrid, locator?: grids.ServiceLocator);
    getModuleName(): string;
    protected instantiateRenderers(): void;
    ensurePageSize(): void;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/base/constant.d.ts
/**
 *  @hidden
 */
export  const load: string;
/** @hidden */
export  const rowDataBound: string;
/** @hidden */
export  const dataBound: string;
/** @hidden */
export  const queryCellInfo: string;
/** @hidden */
export  const beforeDataBound: string;
/** @hidden */
export  const actionBegin: string;
/** @hidden */
export  const dataStateChange: string;
/** @hidden */
export  const actionComplete: string;
/** @hidden */
export  const rowSelecting: string;
/** @hidden */
export  const rowSelected: string;
/** @hidden */
export  const checkboxChange: string;
/** @hidden */
export  const rowDeselected: string;
/** @hidden */
export  const toolbarClick: string;
/** @hidden */
export  const beforeExcelExport: string;
/** @hidden */
export  const beforePdfExport: string;
/** @hidden */
export  const resizeStop: string;
/** @hidden */
export  const expanded: string;
/** @hidden */
export  const expanding: string;
/** @hidden */
export  const collapsed: string;
/** @hidden */
export  const collapsing: string;
/** @hidden */
export  const remoteExpand: string;
/** @hidden */
export  const localPagedExpandCollapse: string;
/** @hidden */
export  const pagingActions: string;
/** @hidden */
export  const printGridInit: string;
/** @hidden */
export  const contextMenuOpen: string;
/** @hidden */
export  const contextMenuClick: string;
/** @hidden */
export  const beforeCopy: string;
/** @hidden */
export  const beforePaste: string;
/** @hidden */
export  const savePreviousRowPosition: string;
/** @hidden */
export  const crudAction: string;
/** @hidden */
export  const beginEdit: string;
/** @hidden */
export  const beginAdd: string;
/** @hidden */
export  const recordDoubleClick: string;
/** @hidden */
export  const cellSave: string;
/** @hidden */
export  const cellSaved: string;
/** @hidden */
export  const cellEdit: string;
/** @hidden */
export  const batchDelete: string;
/** @hidden */
export  const batchCancel: string;
/** @hidden */
export  const batchAdd: string;
/** @hidden */
export  const beforeBatchDelete: string;
/** @hidden */
export  const beforeBatchAdd: string;
/** @hidden */
export  const beforeBatchSave: string;
/** @hidden */
export  const batchSave: string;
/** @hidden */
export  const keyPressed: string;
/** @hidden */
export  const updateData: string;
/** @hidden */
export  const doubleTap: string;
/** @hidden */
export  const virtualColumnIndex: string;
/** @hidden */
export  const virtualActionArgs: string;
/** @hidden */
export  const destroy: string;
/** @hidden */
export  const dataListener: string;
/** @hidden */
export  const indexModifier: string;
/** @hidden */
export  const beforeStartEdit: string;
/** @hidden */
export  const beforeBatchCancel: string;
/** @hidden */
export  const batchEditFormRendered: string;
/** @hidden */
export  const detailDataBound: string;
/** @hidden */
export  const rowDrag: string;
/** @hidden */
export  const rowDragStartHelper: string;
/** @hidden */
export  const rowDrop: string;
/** @hidden */
export  const rowDragStart: string;
/** @hidden */
export  const rowsAdd: string;
/** @hidden */
export  const rowsRemove: string;
/** @hidden */
export  const rowdraging: string;
/** @hidden */
export  const rowDropped: string;
/** @hidden */
export  const autoCol: string;
/** @hidden */
export  const rowDeselecting: string;
/** @hidden */
export  const headerContent: string;
/** @hidden */
export  const movableContent: string;
/** @hidden */
export  const movableHeader: string;
/** @hidden */
export  const frozenContent: string;
/** @hidden */
export  const frozenHeader: string;
/** @hidden */
export  const content: string;
/** @hidden */
export  const table: string;
/** @hidden */
export  const leftRight: string;
/** @hidden */
export  const frozenRight: string;
/** @hidden */
export  const frozenLeft: string;
/** @hidden */
export  const dataColIndex: string;
/** @hidden */
export  const ariaColIndex: string;
/** @hidden */
export  const dataRowIndex: string;
/** @hidden */
export  const ariaRowIndex: string;
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/base/data.d.ts
/**
 * Internal dataoperations for tree grid
 *
 * @hidden
 */
export  class DataManipulation {
    private taskIds;
    private parentItems;
    private zerothLevelData;
    private storedIndex;
    private batchChanges;
    private addedRecords;
    private parent;
    private dataResults;
    private sortedData;
    private hierarchyData;
    private isSelfReference;
    private isSortAction;
    private infiniteScrollData;
    constructor(grid: TreeGrid);
    /**
     * @hidden
     * @returns {void}
     */
    addEventListener(): void;
    /**
     * @hidden
     * @returns {void}
     */
    removeEventListener(): void;
    /**
     * To destroy the dataModule
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    /**
     * @hidden
     * @returns {boolean} -Returns whether remote data binding
     */
    isRemote(): boolean;
    /**
     * Function to manipulate datasource
     *
     * @param {Object} data - Provide tree grid datasource to convert to flat data
     * @hidden
     * @returns {void}
     */
    convertToFlatData(data: Object): void;
    private convertJSONData;
    private selfReferenceUpdate;
    /**
     * Function to update the zeroth level parent records in remote binding
     *
     * @param {grids.BeforeDataBoundArgs} args - contains data before its bounds to tree grid
     * @hidden
     * @returns {void}
     */
    private updateParentRemoteData;
    /**
     * Function to manipulate datasource
     *
     * @param {{record: ITreeData, rows: HTMLTableRowElement[], parentRow: HTMLTableRowElement}} rowDetails - Row details for which child rows has to be fetched
     * @param {ITreeData} rowDetails.record - current expanding record
     * @param {HTMLTableRowElement[]} rowDetails.rows - Expanding Row element
     * @param {HTMLTableRowElement} rowDetails.parentRow  - Curent expanding row element
     * @param {boolean} isChild - Specified whether current record is already a child record
     * @hidden
     * @returns {void}
     */
    private collectExpandingRecs;
    private fetchRemoteChildData;
    private remoteVirtualAction;
    private beginSorting;
    private createRecords;
    /**
     * Function to perform filtering/sorting action for local data
     *
     * @param {grids.BeforeDataBoundArgs} args - data details to be processed before binding to grid
     * @hidden
     * @returns {void}
     */
    dataProcessor(args?: grids.BeforeDataBoundArgs): void;
    private paging;
    private updateData;
    private updateAction;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/base/index.d.ts
/**
 * Base export
 */
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/base/interface.d.ts
/**
 * Specifies FlatData interfaces.
 *
 * @hidden
 */
export interface ITreeData {
    /**
     * Specifies the childRecords of a parentData
     */
    childRecords?: ITreeData[];
    /**
     * Specifies whether the record contains child records
     */
    hasChildRecords?: boolean;
    /**
     * Specifies whether the record contains filtered child records
     */
    hasFilteredChildRecords?: boolean;
    /**
     * Specifies whether the child records are expanded
     */
    expanded?: boolean;
    /**
     * Specifies the parentItem of childRecords
     */
    parentItem?: ITreeData;
    /**
     * Specifies the index of current record
     */
    index?: number;
    /**
     * Specifies the hierarchy level of record
     */
    level?: number;
    /**
     * Specifies the hierarchy level of filtered record
     */
    filterLevel?: number;
    /**
     * Specifies the parentID
     */
    /**
     * Specifies the unique ID of a record
     */
    uniqueID?: string;
    /**
     * Specifies the parent Unique ID of a record
     */
    parentUniqueID?: string;
    /**
     * Specifies the checkbox state of a record
     */
    checkboxState?: string;
    /**
     * Specifies the summary of a record
     */
    isSummaryRow?: boolean;
    /**
     * Specifies the main data
     */
    taskData?: ITreeData;
    /**
     * Specifies the Primary data
     */
    primaryParent?: ITreeData;
}
/** Specifies the Tree Grid ExcelExport properties */
export interface TreeGridExcelExportProperties extends grids.ExcelExportProperties {
    /** Specifies the collapsed state persistence in exported file */
    isCollapsedStatePersist: boolean;
}
/** Specifies the Tree Grid PdfExport properties */
export interface TreeGridPdfExportProperties extends grids.PdfExportProperties {
    /** Specifies the collapsed state persistence in exported file */
    isCollapsedStatePersist: boolean;
}
export interface AggregateTemplateContext {
    /** Gets sum aggregate value */
    sum: string;
    /** Gets average aggregate value */
    average: string;
    /** Gets maximum aggregate value */
    max: string;
    /** Gets minimum aggregate value */
    min: string;
    /** Gets count aggregate value */
    count: string;
    /** Gets true count aggregate value */
    trueCount: string;
    /** Specifies false count aggregate value */
    falseCount: string;
    /** Gets custom aggregate value */
    custom: string;
    /** Gets the current group field name */
    field?: string;
    /** Gets header text of the grouped column */
    headerText?: string;
    /** Gets grouped data key value */
    key?: string;
}
/**
 * @hidden
 */
export interface ITreeGridCellFormatter {
    getValue(column: Column, data: Object): Object;
}
export interface RowExpandedEventArgs {
    /**
     * Defines the parent row data.
     *
     * @isGenericType true
     */
    data?: Object;
    /** Defines the parent row element. */
    row?: HTMLTableRowElement;
}
export interface RowExpandingEventArgs {
    /**
     * Defines the parent row data.
     *
     * @isGenericType true
     */
    data?: Object;
    /** Defines the parent row element. */
    row?: HTMLTableRowElement;
    /** Cancel the row expanding action */
    cancel?: boolean;
    /** Provides an option to ExpandAll the nested parent rows of the current row. */
    expandAll?: boolean;
}
export interface RowCollapsedEventArgs {
    /**
     * Defines the parent row data.
     *
     * @isGenericType true
     */
    data?: Object;
    /** Defines the parent row element. */
    row?: HTMLTableRowElement;
}
export interface RowCollapsingEventArgs {
    /**
     * Defines the parent row data.
     *
     * @isGenericType true
     */
    data?: Object;
    /** Defines the parent row element. */
    row?: HTMLTableRowElement;
    /** Cancel the row collapsing action */
    cancel?: boolean;
    /** Provides an option to CollapseAll the nested parent rows of the current row. */
    collapseAll?: boolean;
}
export interface CellSaveEventArgs extends grids.SaveEventArgs {
    /** Defines edited column */
    column?: Column;
}
export interface DataStateChangeEventArgs extends grids.DataStateChangeEventArgs {
    /** Defines the child records for the respective parent row */
    childData?: ITreeData[];
    /**
     * Defines the parent row data.
     *
     * @isGenericType true
     */
    data?: Object;
    /** Defines the parent row element. */
    row?: HTMLTableRowElement;
    /** Cancel the row expanding action */
    cancel?: boolean;
    /** Defines the expand or collapse request for the parent record. */
    requestType?: string;
    /** Defines the resolve function for the promise. */
    childDataBind?: Function;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/base/treegrid-model.d.ts
/**
 * Interface for a class TreeGrid
 */
export interface TreeGridModel extends base.ComponentModel{
    /**
     * Gets or sets the number of frozen rows.
     *
     * @default 0
     */
    frozenRows?: number;
    /**
     * Gets or sets the number of frozen columns.
     *
     * @default 0
     */
    frozenColumns?: number;
    /**
     *  Defines the mode of clip. The available modes are,
     * `Clip`: Truncates the cell content when it overflows its area.
     * `Ellipsis`: Displays ellipsis when the cell content overflows its area.
     * `EllipsisWithTooltip`:  Displays ellipsis when the cell content overflows its area,
     *  also it will display the tooltip while hover on ellipsis is applied..
     *
     * @default Syncfusion.EJ2.Grids.grids.ClipMode.Ellipsis
     * @aspType Syncfusion.EJ2.Grids.grids.ClipMode
     * @isEnumeration true
     */
    clipMode?: grids.ClipMode;
    /**
     * Defines the schema of dataSource.
     * If the `columns` declaration is empty or undefined then the `columns` are automatically generated from data source.
     * {% codeBlock src='treegrid/columns/index.md' %}{% endcodeBlock %}   
     *
     * @default []
     */
    columns?: ColumnModel[] | string[] | Column[];
    /**
     * Specifies the mapping property path for child records in data source
     * {% codeBlock src='treegrid/childMapping/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    childMapping?: string;
    /**
     * Specifies whether record is parent or not for the remote data binding
     *
     * @default null
     */
    hasChildMapping?: string;
    /**
     * Specifies the index of the column that needs to have the expander button.
     *
     * @default 0
     */
    treeColumnIndex?: number;
    /**
     * Specifies the name of the field in the dataSource, which contains the id of that row.
     * {% codeBlock src='treegrid/idMapping/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    idMapping?: string;
    /**
     * Specifies the name of the field in the dataSource, which contains the parent’s id
     * {% codeBlock src='treegrid/parentIdMapping/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    parentIdMapping?: string;
    /**
     * Specifies whether to load all the rows in collapsed state when the TreeGrid is rendered for the first time.
     *
     * @default false
     */
    enableCollapseAll?: boolean;
    /**
     * Specifies the mapping property path for the expand status of a record in data source.
     *
     * @default null
     */
    expandStateMapping?: string;
    /**
     * If `allowRowDragAndDrop` is set to true, you can drag and drop treegrid rows at another treegrid.
     *
     * @default false
     */
    allowRowDragAndDrop?: boolean;
    /**
     * It is used to render TreeGrid table rows.
     * {% codeBlock src='treegrid/dataSource/index.md' %}{% endcodeBlock %}
     *
     * @default []
     * @isGenericType true
     * @isDataSource true
     */
    dataSource?: Object | data.DataManager;
    /**
     * Defines the external [`data.Query`](https://ej2.syncfusion.com/documentation/data/api-query.html)
     * that will be executed along with data processing.
     *
     * @default null
     */
    query?: data.Query;
    /**
     * @hidden
     */
    cloneQuery?: data.Query;
    /**
     * Defines the print modes. The available print modes are
     * * `AllPages`: Prints all pages of the TreeGrid.
     * * `CurrentPage`: Prints the current page of the TreeGrid.
     *
     * @default Syncfusion.EJ2.Grids.grids.PrintMode.AllPages
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.PrintMode
     */
    printMode?: grids.PrintMode;
    /**
     * If `allowPaging` is set to true, pager renders.
     *
     * @default false
     */
    allowPaging?: boolean;
    /**
     * If `loadChildOnDemand` is enabled, parent records are render in expanded state.
     *
     * @default false
     */
    loadChildOnDemand?: boolean;
    /**
     * If `allowTextWrap` set to true,
     * then text content will wrap to the next line when its text content exceeds the width of the Column Cells.
     *
     * @default false
     */
    allowTextWrap?: boolean;
    /**
     * Configures the text wrap in the TreeGrid.
     *
     * @default {wrapMode:"Both"}
     */
    textWrapSettings?: TextWrapSettingsModel;
    /**
     * If `allowReordering` is set to true, TreeGrid columns can be reordered.
     * Reordering can be done by drag and drop of a particular column from one index to another index.
     * > If TreeGrid is rendered with stacked headers, reordering is allowed only at the same level as the column headers.
     *
     * @default false
     */
    allowReordering?: boolean;
    /**
     * If `allowResizing` is set to true, TreeGrid columns can be resized.
     *
     * @default false
     */
    allowResizing?: boolean;
    /**
     * If `autoCheckHierarchy` is set to true, hierarchy checkbox selection is enabled in TreeGrid.
     *
     * @default false
     */
    autoCheckHierarchy?: boolean;
    /**
     * Configures the pager in the TreeGrid.
     *
     * @default {currentPage: 1, pageSize: 12, pageCount: 8, enableQueryString: false, pageSizes: false, template: null}
     */
    pageSettings?: PageSettingsModel;
    /**
     * Configures the row drop settings of the TreeGrid.
     */
    rowDropSettings?: grids.RowDropSettingsModel;
    /**
     * @hidden
     * It used to render pager template
     * @default null
     */
    pagerTemplate?: string;
    /**
     * If `showColumnMenu` set to true, then it will enable the column menu options in each columns.
     *
     * > Check the [`Column menu`](../../treegrid/columns/#column-menu/) for its configuration.
     *
     * @default false
     */
    showColumnMenu?: boolean;
    /**
     * If `showColumnChooser` is set to true, it allows you to dynamically show or hide columns.
     *
     * @default false
     */
    showColumnChooser?: boolean;
    /**
     * If `allowSorting` is set to true, it allows sorting of treegrid records when column header is clicked.
     *
     * @default false
     */
    allowSorting?: boolean;
    /**
     * If `allowMultiSorting` set to true, then it will allow the user to sort multiple column in the treegrid.
     * > `allowSorting` should be true.
     *
     * @default true
     */
    allowMultiSorting?: boolean;
    /**
     * Configures the sort settings of the TreeGrid.
     *
     * @default {columns:[]}
     */
    sortSettings?: SortSettingsModel;
    /**
     * Configures the TreeGrid aggregate rows.
     * > Check the [`Aggregates`](../../treegrid/aggregate/) for its configuration.
     *
     * @default []
     */
    aggregates?: AggregateRowModel[];
    /**
     * Configures the edit settings.
     *
     * @default { allowAdding: false, allowEditing: false, allowDeleting: false, mode:'Normal',
     * allowEditOnDblClick: true, showConfirmDialog: true, showDeleteConfirmDialog: false }
     */
    editSettings?: EditSettingsModel;
    /**
     * If `allowFiltering` is set to true the filter bar will be displayed.
     * If set to false the filter bar will not be displayed.
     * Filter bar allows the user to filter tree grid records with required criteria.
     *
     * @default false
     */
    allowFiltering?: boolean;
    /**
     * The detail template allows you to show or hide additional information about a particular row.
     *
     * > It accepts either the [template string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals)
     * or the HTML element ID.
     *
     */
    detailTemplate?: string;
    /**
     * Configures the filter settings of the TreeGrid.
     *
     * @default {columns: [], type: 'FilterBar', mode: 'Immediate', showFilterBarStatus: true, immediateModeDelay: 1500 , operators: {}}
     */
    filterSettings?: FilterSettingsModel;
    /**
     * Configures the search settings of the TreeGrid.
     *
     * @default {search: [] , operators: {}}
     */
    searchSettings?: SearchSettingsModel;
    /**
     * `toolbar` defines the ToolBar items of the TreeGrid.
     * It contains built-in and custom toolbar items.
     * If a string value is assigned to the `toolbar` option, it is considered as the template for the whole TreeGrid ToolBar.
     * If an array value is assigned, it is considered as the list of built-in and custom toolbar items in the TreeGrid's Toolbar.
     * <br><br>
     * The available built-in ToolBar items are:
     * * Search: Searches records by the given key.
     * * ExpandAll: Expands all the rows in TreeGrid
     * * CollapseAll: Collapses all the rows in TreeGrid
     * * ExcelExport - Export the TreeGrid to Excel(excelExport() method manually to make export.)
     * * PdfExport - Export the TreeGrid to PDF(pdfExport() method manually to make export.)
     * * CsvExport - Export the TreeGrid to CSV(csvExport() method manually to make export.)<br><br>
     * The following code example implements the custom toolbar items.
     *
     * @default null
     */
    toolbar?: (ToolbarItems | string| navigations.ItemModel | ToolbarItem)[];
    /**
     * @hidden
     * It used to render toolbar template
     * @default null
     */
    toolbarTemplate?: string;
    /**
     * Defines the mode of TreeGrid lines. The available modes are,
     * * `Both`: Displays both horizontal and vertical TreeGrid lines.
     * * `None`: No TreeGrid lines are displayed.
     * * `Horizontal`: Displays the horizontal TreeGrid lines only.
     * * `Vertical`: Displays the vertical TreeGrid lines only.
     * * `Default`: Displays TreeGrid lines based on the theme.
     *
     * @default Syncfusion.EJ2.Grids.grids.GridLine.Default
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.GridLine
     */
    gridLines?: grids.GridLine;
    /**
     * `contextMenuItems` defines both built-in and custom context menu items.
     * <br><br>
     * The available built-in items are,
     * * `AutoFitAll` - Auto fit the size of all columns.
     * * `AutoFit` - Auto fit the current column.
     * * `Edit` - Edit the current record.
     * * `Delete` - Delete the current record.
     * * `Save` - Save the edited record.
     * * `Cancel` - Cancel the edited state.
     * * `PdfExport` - Export the grid as Pdf format.
     * * `ExcelExport` - Export the grid as Excel format.
     * * `CsvExport` - Export the grid as CSV format.
     * * `SortAscending` - Sort the current column in ascending order.
     * * `SortDescending` - Sort the current column in descending order.
     * * `FirstPage` - Go to the first page.
     * * `PrevPage` - Go to the previous page.
     * * `LastPage` - Go to the last page.
     * * `NextPage` - Go to the next page.
     *
     * @default null
     */
    contextMenuItems?: ContextMenuItem[] | grids.ContextMenuItemModel[];
    /**
     * `columnMenuItems` defines both built-in and custom column menu items.
     * <br><br>
     * The available built-in items are,
     * * `AutoFitAll` - Auto fit the size of all columns.
     * * `AutoFit` - Auto fit the current column.
     * * `SortAscending` - Sort the current column in ascending order.
     * * `SortDescending` - Sort the current column in descending order.
     * * `Filter` - Filter options will show based on filterSettings property like filterbar, menu filter.
     *
     * @default null
     */
    columnMenuItems?: grids.ColumnMenuItem[] | grids.ColumnMenuItemModel[];
    /**
     * The row template that renders customized rows from the given template.
     * By default, TreeGrid renders a table row for every data source item.
     * > * It accepts either [template string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals)
     * or HTML element ID.
     * > * The row template must be a table row.
     *
     * > Check the [`grids.Row Template`](../../treegrid/row) customization.
     */
    rowTemplate?: string;
    /**
     * `copyHierarchyMode` Defines the copy clipboard types.
     * <br><br>
     * The available built-in items are,
     * * `Parent` - Copy the selected data with parent record.
     * * `Child` - Copy the selected data with child record.
     * * `Both` - Copy the selected data with both parent and child record.
     * * `None` - Copy only the selected record.
     *
     * @default Parent
     */
    copyHierarchyMode?: CopyHierarchyType;
    /**
     * Defines the height of TreeGrid rows.
     *
     * @default null
     */
    rowHeight?: number;
    /**
     * If `enableAltRow` is set to true, the TreeGrid will render with `e-altrow` CSS class to the alternative tr elements.   
     * > Check the [`AltRow`](../../treegrid/row/#styling-alternate-rows/) to customize the styles of alternative rows.
     *
     * @default true 
     */
    enableAltRow?: boolean;
    /**
     * Enables or disables the key board interaction of TreeGrid.    
     *
     * @hidden
     * @default true
     */
    allowKeyboard?: boolean;
    /**
     * If `enableHover` is set to true, the row hover is enabled in the TreeGrid.
     *
     * @default false
     */
    enableHover?: boolean;
    /**
     * If `enableAutoFill` is set to true, then the auto fill icon will displayed on cell selection for copy cells.
     * It requires the selection `mode` to be Cell and `cellSelectionMode` to be `Box`.
     *
     * @default false
     */
    enableAutoFill?: boolean;
    /**
     * If `enableAdaptiveUI` is set to true, the pop-up UI will become adaptive to small screens,
     * and be used for filtering and other features.
     * ```html
     * <div id='treegrid'></div>
     * <script>
     *  var treegridObj = new TreeGrid({ enableAdaptiveUI: true });
     *  treegridObj.appendTo('#treegrid');
     * </script>
     * ```
     *
     * @default false
     */
    enableAdaptiveUI?: boolean;
    /**
     * If `enableImmutableMode`  is set to true, the TreeGrid will reuse old rows if it exists in the new result instead of
     * full refresh while performing the TreeGrid actions.
     *
     * @default false
     */
    enableImmutableMode?: boolean;
    /**
     * Defines the scrollable height of the TreeGrid content.
     *
     * @default 'auto'
     */
    height?: string | number;
    /**
     * Defines the TreeGrid width.
     *
     * @default 'auto'
     */
    width?: string | number;
    /**
     * If `enableVirtualization` set to true, then the TreeGrid will render only the rows visible within the view-port
     * and load subsequent rows on vertical scrolling. This helps to load large dataset in TreeGrid.
     *
     * @default false
     */
    enableVirtualization?: boolean;
    /**
     * If `enableColumnVirtualization` set to true, then the Tree grids.Grid will render only the columns visible within the view-port
     * and load subsequent columns on horizontal scrolling. This helps to load large dataset of columns in Tree grids.Grid.
     *
     * @default false
     */
    enableColumnVirtualization?: boolean;
    /**
     * If `enableInfiniteScrolling` set to true, then the data will be loaded in TreeGrid when the scrollbar reaches the end.
     * This helps to load large dataset in TreeGrid.
     *
     * @default false
     * @deprecated
     */
    enableInfiniteScrolling?: boolean;
    /**
     * Configures the infinite scroll settings.
     *
     * @default { enableCache: false, maxBlocks: 5, initialBlocks: 5 }
     * @deprecated
     */
    infiniteScrollSettings?: InfiniteScrollSettingsModel;
    /**
     * `columnQueryMode`provides options to retrieves data from the data source.Their types are
     * * `All`: It retrieves whole data source.
     * * `Schema`: retrieves data for all the defined columns in TreeGrid from the data source.
     * * `ExcludeHidden`: retrieves data only for visible columns of TreeGrid from the data Source.
     *
     * @default All
     */
    columnQueryMode?: grids.ColumnQueryModeType;
    /**
     * Triggers when the component is created.
     *
     * @event created
     */
    created?: base.EmitType<Object>;
    /**
     * This event allows customization of TreeGrid properties before rendering.
     *
     * @event load
     */
    load?: base.EmitType<Object>;
    /**
     * Triggers while expanding the TreeGrid record
     *
     * @event expanding
     */
    expanding?: base.EmitType<RowExpandingEventArgs>;
    /**
     * Triggers after the record is expanded
     *
     * @event expanded
     */
    expanded?: base.EmitType<RowExpandedEventArgs>;
    /**
     * Triggers while collapsing the TreeGrid record
     *
     * @event collapsing
     */
    collapsing?: base.EmitType<RowExpandingEventArgs>;
    /**
     * Triggers after the record is collapsed.
     *
     * @event collapsed
     */
    collapsed?: base.EmitType<RowExpandingEventArgs>;
    /**
     * Triggers when cell is saved.
     *
     * @event cellSave
     */
    cellSave?: base.EmitType<grids.CellSaveArgs>;
    /**
     * Triggers when cell is saved.
     *
     * @event cellSaved
     */
    cellSaved?: base.EmitType<grids.CellSaveArgs>;
    /**
   * Triggers when TreeGrid actions such as sorting, filtering, paging etc., starts.
   * @event actionBegin
   */
    actionBegin?: base.EmitType<grids.PageEventArgs | grids.FilterEventArgs | grids.SortEventArgs | grids.SearchEventArgs | grids.AddEventArgs | grids.SaveEventArgs | grids.EditEventArgs | grids.DeleteEventArgs>;
    /**
   * Triggers when TreeGrid actions such as sorting, filtering, paging etc. are completed.
   * @event actionComplete
   */
    actionComplete?: base.EmitType<grids.PageEventArgs | grids.FilterEventArgs | grids.SortEventArgs| grids.SearchEventArgs | grids.AddEventArgs | grids.SaveEventArgs | grids.EditEventArgs | grids.DeleteEventArgs | CellSaveEventArgs>;
    /**
   * Triggers before the record is to be edit.
   * @event beginEdit
   */
    beginEdit?: base.EmitType<grids.BeginEditArgs>;
    /**
   * Triggers when records are added in batch mode.
   * @event batchAdd
   */
    batchAdd?: base.EmitType<grids.BatchAddArgs>;
    /**
   * Triggers when records are deleted in batch mode.
   * @event batchDelete
   */
    batchDelete?: base.EmitType<grids.BatchDeleteArgs>;
    /**
   * Triggers before records are added in batch mode.
   * @event batchCancel
   */
    batchCancel?: base.EmitType<grids.BatchCancelArgs>;
    /**
   * Triggers before records are added in batch mode.
   * @event beforeBatchAdd
   */
    beforeBatchAdd?: base.EmitType<grids.BeforeBatchAddArgs>;
    /**
   * Triggers before records are deleted in batch mode.
   * @event beforeBatchDelete
   */
    beforeBatchDelete?: base.EmitType<grids.BeforeBatchDeleteArgs>;
    /**
   * Triggers before records are saved in batch mode.
   * @event beforeBatchSave
   */
    beforeBatchSave?: base.EmitType<grids.BeforeBatchSaveArgs>;
    /**
   * Triggers when the cell is being edited.
   * @event cellEdit
   */
    cellEdit?: base.EmitType<grids.CellEditArgs>;
    /**
     * Triggers when any TreeGrid action failed to achieve the desired results.
     *
     * @event actionFailure
     */
    actionFailure?: base.EmitType<grids.FailureEventArgs>;
    /**
     * Triggers when data source is populated in the TreeGrid.
     *
     * @event dataBound
     */
    dataBound?: base.EmitType<Object>;
    /**
     * Triggers when the TreeGrid data is added, deleted and updated.
     * Invoke the done method from the argument to start render after edit operation.
     *
     * @event dataSourceChanged
     * @deprecated
     */
    dataSourceChanged?: base.EmitType<grids.DataSourceChangedEventArgs>;
    /**
     * Triggers when the TreeGrid actions such as Sorting, Paging etc., are done.
     * In this event,the current view data and total record count should be assigned to the `dataSource` based on the action performed.
     *
     * @event dataStateChange
     * @deprecated
     */
    dataStateChange?: base.EmitType<DataStateChangeEventArgs>;
    /**
     * Triggers when record is double clicked.
     *
     * @event recordDoubleClick
     */
    recordDoubleClick?: base.EmitType<grids.RecordDoubleClickEventArgs>;
    /**
     * Triggered every time a request is made to access row information, element, or data.
     * This will be triggered before the row element is appended to the TreeGrid element.
     *
     * @event rowDataBound
     */
    rowDataBound?: base.EmitType<grids.RowDataBoundEventArgs>;
    /**
     * Triggers after detail row expands.
     * > This event triggers at initial expand.
     *
     * @event detailDataBound
     */
    detailDataBound?: base.EmitType<grids.DetailDataBoundEventArgs>;
    /**
     * Triggered every time a request is made to access cell information, element, or data.
     * This will be triggered before the cell element is appended to the TreeGrid element.
     *
     * @event queryCellInfo
     */
    queryCellInfo?: base.EmitType<grids.QueryCellInfoEventArgs>;
    /**
     * If `allowSelection` is set to true, it allows selection of (highlight row) TreeGrid records by clicking it.
     *
     * @default true
     */
    allowSelection?: boolean;
    /**
     * Triggers before row selection occurs.
     *
     * @event rowSelecting
     */
    rowSelecting?: base.EmitType<grids.RowSelectingEventArgs>;
    /**
     * Triggers after a row is selected.
     *
     * @event rowSelected
     */
    rowSelected?: base.EmitType<grids.RowSelectEventArgs>;
    /**
     * Triggers before deselecting the selected row.
     *
     * @event rowSelected
     * @deprecated
     */
    rowDeselecting?: base.EmitType<grids.RowDeselectEventArgs>;
    /**
     * Triggers when a selected row is deselected.
     *
     * @event rowDeselected
     */
    rowDeselected?: base.EmitType<grids.RowDeselectEventArgs>;
    /**
     * Triggered for stacked header.
     *
     * @event headerCellInfo
     */
    headerCellInfo?: base.EmitType<grids.HeaderCellInfoEventArgs>;
    /**
     * Triggers before any cell selection occurs.
     *
     * @event cellSelecting
     */
    cellSelecting?: base.EmitType<grids.CellSelectingEventArgs>;
    /**
     * Triggers before column menu opens.
     *
     * @event columnMenuOpen
     * @deprecated
     */
    columnMenuOpen?: base.EmitType<grids.ColumnMenuOpenEventArgs>;
    /**
     * Triggers when click on column menu.
     *
     * @event columnMenuClick
     */
    columnMenuClick?: base.EmitType<navigations.MenuEventArgs>;
    /**
     * Triggers after a cell is selected.
     *
     * @event cellSelected
     */
    cellSelected?: base.EmitType<grids.CellSelectEventArgs>;
    /**
     * Triggers before the selected cell is deselecting.
     *
     * @event cellDeselecting
     * @deprecated
     */
    cellDeselecting?: base.EmitType<grids.CellDeselectEventArgs>;
    /**
     * Triggers when a particular selected cell is deselected.
     *
     * @event cellDeselected
     * @deprecated
     */
    cellDeselected?: base.EmitType<grids.CellDeselectEventArgs>;
    /**
     * Triggers when column resize starts.
     *
     * @event resizeStart
     * @deprecated
     */
    resizeStart?: base.EmitType<grids.ResizeArgs>;
    /**
     * Triggers on column resizing.
     *
     * @event resizing
     * @deprecated
     */
    resizing?: base.EmitType<grids.ResizeArgs>;
    /**
     * Triggers when column resize ends.
     *
     * @event resizeStop
     * @deprecated
     */
    resizeStop?: base.EmitType<grids.ResizeArgs>;
    /**
     * Triggers when column header element drag (move) starts.
     *
     * @event columnDragStart
     * @deprecated
     */
    columnDragStart?: base.EmitType<grids.ColumnDragEventArgs>;
    /**
     * Triggers when column header element is dragged (moved) continuously.
     *
     * @event columnDrag
     * @deprecated
     */
    columnDrag?: base.EmitType<grids.ColumnDragEventArgs>;
    /**
     * Triggers when a column header element is dropped on the target column.
     *
     * @event columnDrop
     * @deprecated
     */
    columnDrop?: base.EmitType<grids.ColumnDragEventArgs>;
    /**
     * Triggers when the check box state change in checkbox column.
     *
     * @event checkboxChange
     * @deprecated
     */
    checkboxChange?: base.EmitType<grids.CheckBoxChangeEventArgs>;
    /**
     * Triggers after print action is completed.
     *
     * @event printComplete
     * @deprecated
     */
    printComplete?: base.EmitType<grids.PrintEventArgs>;
    /**
     * Triggers before the print action starts.
     *
     * @event beforePrint
     * @deprecated
     */
    beforePrint?: base.EmitType<grids.PrintEventArgs>;
    /**
     * Triggers when toolbar item is clicked.
     *
     * @event toolbarClick
     */
    toolbarClick?: base.EmitType<navigations.ClickEventArgs>;
    /**
     * Triggers before data is bound to Tree grids.Grid.
     *
     * @event beforeDataBound
     */
    beforeDataBound?: base.EmitType<grids.BeforeDataBoundArgs>;
    /**
     * Triggers before context menu opens.
     *
     * @event contextMenuOpen
     * @deprecated
     */
    contextMenuOpen?: base.EmitType<navigations.BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers when click on context menu.
     *
     * @event contextMenuClick
     */
    contextMenuClick?: base.EmitType<navigations.MenuEventArgs>;
    /**
     * Triggers before TreeGrid copy action.
     *
     * @event beforeCopy
     * @deprecated
     */
    beforeCopy?: base.EmitType<grids.BeforeCopyEventArgs>;
    /**
     * Triggers before TreeGrid paste action.
     *
     * @event beforePaste
     * @deprecated
     */
    beforePaste?: base.EmitType<grids.BeforePasteEventArgs>;
    /**
     * Triggers when row elements are dragged (moved) continuously.
     *
     * @event rowDrag
     * @deprecated
     */
    rowDrag?: base.EmitType<grids.RowDragEventArgs>;
    /**
     * Triggers when row element’s drag(move) starts.
     *
     * @event rowDragStart
     * @deprecated
     */
    rowDragStart?: base.EmitType<grids.RowDragEventArgs>;
    /**
     * Triggers when row element’s before drag(move).
     *
     * @event rowDragStartHelper
     * @deprecated
     */
    rowDragStartHelper?: base.EmitType<grids.RowDragEventArgs>;
    /**
     * Triggers when row elements are dropped on the target row.
     *
     * @event rowDrop
     * @deprecated
     */
    rowDrop?: base.EmitType<grids.RowDragEventArgs>;
    /**
     * The `selectedRowIndex` allows you to select a row at initial rendering.
     * You can also get the currently selected row index.
     *
     * @default -1
     */
    selectedRowIndex?: number;
    /**
     * Configures the selection settings.
     *
     * @default {mode: 'grids.Row', cellSelectionMode: 'Flow', type: 'Single'}
     */
    selectionSettings?: SelectionSettingsModel;
    /**
     * If `allowExcelExport` set to true, then it will allow the user to export treegrid to Excel file.
     *
     * > Check the [`ExcelExport`](../../treegrid/excel-export/) to configure exporting document.
     *
     * @default false
     */
    allowExcelExport?: boolean;
    /**
     * If `allowPdfExport` set to true, then it will allow the user to export treegrid to Pdf file.
     *
     * > Check the [`Pdfexport`](../../treegrid/pdf-export/) to configure the exporting document.
     *
     * @default false
     */
    allowPdfExport?: boolean;
    /**
     * Triggers before exporting each cell to PDF document.
     * You can also customize the PDF cells.
     *
     * @event pdfQueryCellInfo
     * @deprecated
     */
    pdfQueryCellInfo?: base.EmitType<grids.PdfQueryCellInfoEventArgs>;
    /**
     * Triggers before exporting each header cell to PDF document.
     * You can also customize the PDF cells.
     *
     * @event pdfHeaderQueryCellInfo
     * @deprecated
     */
    pdfHeaderQueryCellInfo?: base.EmitType<grids.PdfHeaderQueryCellInfoEventArgs>;
    /**
     * Triggers before exporting each cell to Excel file.
     * You can also customize the Excel cells.
     *
     * @event excelQueryCellInfo
     * @deprecated
     */
    excelQueryCellInfo?: base.EmitType<grids.ExcelQueryCellInfoEventArgs>;
    /**
     * Triggers before exporting each header cell to Excel file.
     * You can also customize the Excel cells.
     *
     * @event excelHeaderQueryCellInfo
     * @deprecated
     */
    excelHeaderQueryCellInfo?: base.EmitType<grids.ExcelHeaderQueryCellInfoEventArgs>;
    /**
     * Triggers before TreeGrid data is exported to Excel file.
     *
     * @event beforeExcelExport
     */
    beforeExcelExport?: base.EmitType<Object>;
    /**
     * Triggers after TreeGrid data is exported to Excel file.
     *
     * @event excelExportComplete
     * @deprecated
     */
    excelExportComplete?: base.EmitType<grids.ExcelExportCompleteArgs>;
    /**
     * Triggers before TreeGrid data is exported to PDF document.
     *
     * @event beforePdfExport
     */
    beforePdfExport?: base.EmitType<Object>;
    /**
     * Triggers after TreeGrid data is exported to PDF document.
     *
     * @event pdfExportComplete
     * @deprecated
     */
    pdfExportComplete?: base.EmitType<grids.PdfExportCompleteArgs>;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/base/treegrid.d.ts
/**
 * Represents the TreeGrid component.
 * ```html
 * <div id='treegrid'></div>
 * <script>
 *  var treegridObj = new TreeGrid({ allowPaging: true });
 *  treegridObj.appendTo('#treegrid');
 * </script>
 * ```
 */
export  class TreeGrid extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    constructor(options?: TreeGridModel, element?: Element);
    private defaultLocale;
    private dataResults;
    private l10n;
    dataModule: DataManipulation;
    private registeredTemplate;
    private uniqueIDCollection;
    private uniqueIDFilterCollection;
    private changedRecords;
    private deletedRecords;
    private addedRecords;
    private targetElement;
    private isGantt;
    private isIndentEnabled;
    private indentOutdentAction;
    /**
     * The `sortModule` is used to manipulate sorting in TreeGrid.
     */
    sortModule: Sort;
    private action;
    private dropIndex;
    private dropPosition;
    private modifiedRecords;
    private selectedRecords;
    private selectedRows;
    private loggerModule;
    private isSelfReference;
    private columnModel;
    private isExpandAll;
    private isCollapseAll;
    private isExpandRefresh;
    private gridSettings;
    private isEditCollapse;
    private treeColumnTextAlign;
    private treeColumnField;
    private stackedHeader;
    /** @hidden */
    initialRender: boolean;
    /** @hidden */
    flatData: Object[];
    /** @hidden */
    private infiniteScrollData;
    /** @hidden */
    isLocalData: boolean;
    /** @hidden */
    parentData: Object[];
    /**
     * @hidden
     */
    renderModule: Render;
    /** @hidden */
    summaryModule: Aggregate;
    /**
     * The `reorderModule` is used to manipulate reordering in TreeGrid.
     */
    reorderModule: Reorder;
    /**
     * The `columnMenuModule` is used to manipulate column menu items and its action in TreeGrid.
     */
    columnMenuModule: ColumnMenu;
    /**
     * The `rowDragandDrop` is used to manipulate Row Reordering in TreeGrid.
     */
    rowDragAndDropModule: RowDD;
    /**
     * The `contextMenuModule` is used to handle context menu items and its action in the TreeGrid.
     */
    contextMenuModule: ContextMenu;
    /**
     * `detailRowModule` is used to handle detail rows rendering in the TreeGrid.
     *
     * @hidden
     */
    detailRowModule: DetailRow;
    /**
     * `freezeModule` is used to freeze the rows and columns in the TreeGrid.
     *
     * @hidden
     */
    freezeModule: Freeze;
    /**
     * Gets or sets the number of frozen rows.
     *
     * @default 0
     */
    frozenRows: number;
    /**
     * Gets or sets the number of frozen columns.
     *
     * @default 0
     */
    frozenColumns: number;
    /**
     *  Defines the mode of clip. The available modes are,
     * `Clip`: Truncates the cell content when it overflows its area.
     * `Ellipsis`: Displays ellipsis when the cell content overflows its area.
     * `EllipsisWithTooltip`:  Displays ellipsis when the cell content overflows its area,
     *  also it will display the tooltip while hover on ellipsis is applied..
     *
     * @default Syncfusion.EJ2.Grids.grids.ClipMode.Ellipsis
     * @aspType Syncfusion.EJ2.Grids.grids.ClipMode
     * @isEnumeration true
     */
    clipMode: grids.ClipMode;
    /**
     * `resizeModule` is used to manipulate resizing in the TreeGrid.
     *
     * @hidden
     */
    resizeModule: Resize;
    /**
     * The `keyboardModule` is used to manipulate keyboard interactions in TreeGrid.
     */
    keyboardModule: base.KeyboardEvents;
    /**
     * The `printModule` is used to handle the printing feature of the TreeGrid.
     */
    printModule: Print;
    /**
     * `clipboardModule` is used to handle TreeGrid copy action.
     */
    clipboardModule: TreeClipboard;
    private keyConfigs;
    /** @hidden */
    filterModule: Filter;
    excelExportModule: ExcelExport;
    pdfExportModule: PdfExport;
    selectionModule: Selection;
    /** @hidden */
    /** @hidden */
    grid: grids.Grid;
    /**
     * Defines the schema of dataSource.
     * If the `columns` declaration is empty or undefined then the `columns` are automatically generated from data source.
     * {% codeBlock src='treegrid/columns/index.md' %}{% endcodeBlock %}
     *
     * @default []
     */
    columns: ColumnModel[] | string[] | Column[];
    /**
     * Specifies the mapping property path for child records in data source
     * {% codeBlock src='treegrid/childMapping/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    childMapping: string;
    /**
     * Specifies whether record is parent or not for the remote data binding
     *
     * @default null
     */
    hasChildMapping: string;
    /**
     * Specifies the index of the column that needs to have the expander button.
     *
     * @default 0
     */
    treeColumnIndex: number;
    /**
     * Specifies the name of the field in the dataSource, which contains the id of that row.
     * {% codeBlock src='treegrid/idMapping/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    idMapping: string;
    /**
     * Specifies the name of the field in the dataSource, which contains the parent’s id
     * {% codeBlock src='treegrid/parentIdMapping/index.md' %}{% endcodeBlock %}
     *
     * @default null
     */
    parentIdMapping: string;
    /**
     * Specifies whether to load all the rows in collapsed state when the TreeGrid is rendered for the first time.
     *
     * @default false
     */
    enableCollapseAll: boolean;
    /**
     * Specifies the mapping property path for the expand status of a record in data source.
     *
     * @default null
     */
    expandStateMapping: string;
    /**
     * If `allowRowDragAndDrop` is set to true, you can drag and drop treegrid rows at another treegrid.
     *
     * @default false
     */
    allowRowDragAndDrop: boolean;
    /**
     * It is used to render TreeGrid table rows.
     * {% codeBlock src='treegrid/dataSource/index.md' %}{% endcodeBlock %}
     *
     * @default []
     * @isGenericType true
     * @isDataSource true
     */
    dataSource: Object | data.DataManager;
    /**
     * Defines the external [`data.Query`](https://ej2.syncfusion.com/documentation/data/api-query.html)
     * that will be executed along with data processing.
     *
     * @default null
     */
    query: data.Query;
    /**
     * @hidden
     */
    cloneQuery: data.Query;
    /**
     * Defines the print modes. The available print modes are
     * * `AllPages`: Prints all pages of the TreeGrid.
     * * `CurrentPage`: Prints the current page of the TreeGrid.
     *
     * @default Syncfusion.EJ2.Grids.grids.PrintMode.AllPages
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.PrintMode
     */
    printMode: grids.PrintMode;
    /**
     * If `allowPaging` is set to true, pager renders.
     *
     * @default false
     */
    allowPaging: boolean;
    /**
     * If `loadChildOnDemand` is enabled, parent records are render in expanded state.
     *
     * @default false
     */
    loadChildOnDemand: boolean;
    /**
     * If `allowTextWrap` set to true,
     * then text content will wrap to the next line when its text content exceeds the width of the Column Cells.
     *
     * @default false
     */
    allowTextWrap: boolean;
    /**
     * Configures the text wrap in the TreeGrid.
     *
     * @default {wrapMode:"Both"}
     */
    textWrapSettings: TextWrapSettingsModel;
    /**
     * If `allowReordering` is set to true, TreeGrid columns can be reordered.
     * Reordering can be done by drag and drop of a particular column from one index to another index.
     * > If TreeGrid is rendered with stacked headers, reordering is allowed only at the same level as the column headers.
     *
     * @default false
     */
    allowReordering: boolean;
    /**
     * If `allowResizing` is set to true, TreeGrid columns can be resized.
     *
     * @default false
     */
    allowResizing: boolean;
    /**
     * If `autoCheckHierarchy` is set to true, hierarchy checkbox selection is enabled in TreeGrid.
     *
     * @default false
     */
    autoCheckHierarchy: boolean;
    /**
     * Configures the pager in the TreeGrid.
     *
     * @default {currentPage: 1, pageSize: 12, pageCount: 8, enableQueryString: false, pageSizes: false, template: null}
     */
    pageSettings: PageSettingsModel;
    /**
     * Configures the row drop settings of the TreeGrid.
     */
    rowDropSettings: grids.RowDropSettingsModel;
    /**
     * @hidden
     * It used to render pager template
     * @default null
     */
    pagerTemplate: string;
    /**
     * If `showColumnMenu` set to true, then it will enable the column menu options in each columns.
     *
     * > Check the [`Column menu`](../../treegrid/columns/#column-menu/) for its configuration.
     *
     * @default false
     */
    showColumnMenu: boolean;
    /**
     * If `showColumnChooser` is set to true, it allows you to dynamically show or hide columns.
     *
     * @default false
     */
    showColumnChooser: boolean;
    /**
     * If `allowSorting` is set to true, it allows sorting of treegrid records when column header is clicked.
     *
     * @default false
     */
    allowSorting: boolean;
    /**
     * If `allowMultiSorting` set to true, then it will allow the user to sort multiple column in the treegrid.
     * > `allowSorting` should be true.
     *
     * @default true
     */
    allowMultiSorting: boolean;
    /**
     * Configures the sort settings of the TreeGrid.
     *
     * @default {columns:[]}
     */
    sortSettings: SortSettingsModel;
    /**
     * Configures the TreeGrid aggregate rows.
     * > Check the [`Aggregates`](../../treegrid/aggregate/) for its configuration.
     *
     * @default []
     */
    aggregates: AggregateRowModel[];
    /**
     * Configures the edit settings.
     *
     * @default { allowAdding: false, allowEditing: false, allowDeleting: false, mode:'Normal',
     * allowEditOnDblClick: true, showConfirmDialog: true, showDeleteConfirmDialog: false }
     */
    editSettings: EditSettingsModel;
    /**
     * If `allowFiltering` is set to true the filter bar will be displayed.
     * If set to false the filter bar will not be displayed.
     * Filter bar allows the user to filter tree grid records with required criteria.
     *
     * @default false
     */
    allowFiltering: boolean;
    /**
     * The detail template allows you to show or hide additional information about a particular row.
     *
     * > It accepts either the [template string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals)
     * or the HTML element ID.
     *
     */
    detailTemplate: string;
    /**
     * Configures the filter settings of the TreeGrid.
     *
     * @default {columns: [], type: 'FilterBar', mode: 'Immediate', showFilterBarStatus: true, immediateModeDelay: 1500 , operators: {}}
     */
    filterSettings: FilterSettingsModel;
    /**
     * Configures the search settings of the TreeGrid.
     *
     * @default {search: [] , operators: {}}
     */
    searchSettings: SearchSettingsModel;
    /**
     * `toolbar` defines the ToolBar items of the TreeGrid.
     * It contains built-in and custom toolbar items.
     * If a string value is assigned to the `toolbar` option, it is considered as the template for the whole TreeGrid ToolBar.
     * If an array value is assigned, it is considered as the list of built-in and custom toolbar items in the TreeGrid's Toolbar.
     * <br><br>
     * The available built-in ToolBar items are:
     * * Search: Searches records by the given key.
     * * ExpandAll: Expands all the rows in TreeGrid
     * * CollapseAll: Collapses all the rows in TreeGrid
     * * ExcelExport - Export the TreeGrid to Excel(excelExport() method manually to make export.)
     * * PdfExport - Export the TreeGrid to PDF(pdfExport() method manually to make export.)
     * * CsvExport - Export the TreeGrid to CSV(csvExport() method manually to make export.)<br><br>
     * The following code example implements the custom toolbar items.
     *
     * @default null
     */
    toolbar: (ToolbarItems | string | navigations.ItemModel | ToolbarItem)[];
    /**
     * @hidden
     * It used to render toolbar template
     * @default null
     */
    toolbarTemplate: string;
    /**
     * Defines the mode of TreeGrid lines. The available modes are,
     * * `Both`: Displays both horizontal and vertical TreeGrid lines.
     * * `None`: No TreeGrid lines are displayed.
     * * `Horizontal`: Displays the horizontal TreeGrid lines only.
     * * `Vertical`: Displays the vertical TreeGrid lines only.
     * * `Default`: Displays TreeGrid lines based on the theme.
     *
     * @default Syncfusion.EJ2.Grids.grids.GridLine.Default
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.GridLine
     */
    gridLines: grids.GridLine;
    /**
     * `contextMenuItems` defines both built-in and custom context menu items.
     * <br><br>
     * The available built-in items are,
     * * `AutoFitAll` - Auto fit the size of all columns.
     * * `AutoFit` - Auto fit the current column.
     * * `Edit` - Edit the current record.
     * * `Delete` - Delete the current record.
     * * `Save` - Save the edited record.
     * * `Cancel` - Cancel the edited state.
     * * `PdfExport` - Export the grid as Pdf format.
     * * `ExcelExport` - Export the grid as Excel format.
     * * `CsvExport` - Export the grid as CSV format.
     * * `SortAscending` - Sort the current column in ascending order.
     * * `SortDescending` - Sort the current column in descending order.
     * * `FirstPage` - Go to the first page.
     * * `PrevPage` - Go to the previous page.
     * * `LastPage` - Go to the last page.
     * * `NextPage` - Go to the next page.
     *
     * @default null
     */
    contextMenuItems: ContextMenuItem[] | grids.ContextMenuItemModel[];
    /**
     * `columnMenuItems` defines both built-in and custom column menu items.
     * <br><br>
     * The available built-in items are,
     * * `AutoFitAll` - Auto fit the size of all columns.
     * * `AutoFit` - Auto fit the current column.
     * * `SortAscending` - Sort the current column in ascending order.
     * * `SortDescending` - Sort the current column in descending order.
     * * `Filter` - Filter options will show based on filterSettings property like filterbar, menu filter.
     *
     * @default null
     */
    columnMenuItems: grids.ColumnMenuItem[] | grids.ColumnMenuItemModel[];
    /**
     * The row template that renders customized rows from the given template.
     * By default, TreeGrid renders a table row for every data source item.
     * > * It accepts either [template string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals)
     * or HTML element ID.
     * > * The row template must be a table row.
     *
     * > Check the [`Row Template`](../../treegrid/row) customization.
     */
    rowTemplate: string;
    /**
     * `copyHierarchyMode` Defines the copy clipboard types.
     * <br><br>
     * The available built-in items are,
     * * `Parent` - Copy the selected data with parent record.
     * * `Child` - Copy the selected data with child record.
     * * `Both` - Copy the selected data with both parent and child record.
     * * `None` - Copy only the selected record.
     *
     * @default Parent
     */
    copyHierarchyMode: CopyHierarchyType;
    /**
     * Defines the height of TreeGrid rows.
     *
     * @default null
     */
    rowHeight: number;
    /**
     * If `enableAltRow` is set to true, the TreeGrid will render with `e-altrow` CSS class to the alternative tr elements.
     * > Check the [`AltRow`](../../treegrid/row/#styling-alternate-rows/) to customize the styles of alternative rows.
     *
     * @default true
     */
    enableAltRow: boolean;
    /**
     * Enables or disables the key board interaction of TreeGrid.
     *
     * @hidden
     * @default true
     */
    allowKeyboard: boolean;
    /**
     * If `enableHover` is set to true, the row hover is enabled in the TreeGrid.
     *
     * @default false
     */
    enableHover: boolean;
    /**
     * If `enableAutoFill` is set to true, then the auto fill icon will displayed on cell selection for copy cells.
     * It requires the selection `mode` to be Cell and `cellSelectionMode` to be `Box`.
     *
     * @default false
     */
    enableAutoFill: boolean;
    /**
     * If `enableAdaptiveUI` is set to true, the pop-up UI will become adaptive to small screens,
     * and be used for filtering and other features.
     * ```html
     * <div id='treegrid'></div>
     * <script>
     *  var treegridObj = new TreeGrid({ enableAdaptiveUI: true });
     *  treegridObj.appendTo('#treegrid');
     * </script>
     * ```
     *
     * @default false
     */
    enableAdaptiveUI: boolean;
    /**
     * If `enableImmutableMode`  is set to true, the TreeGrid will reuse old rows if it exists in the new result instead of
     * full refresh while performing the TreeGrid actions.
     *
     * @default false
     */
    enableImmutableMode: boolean;
    /**
     * Defines the scrollable height of the TreeGrid content.
     *
     * @default 'auto'
     */
    height: string | number;
    /**
     * Defines the TreeGrid width.
     *
     * @default 'auto'
     */
    width: string | number;
    /**
     * If `enableVirtualization` set to true, then the TreeGrid will render only the rows visible within the view-port
     * and load subsequent rows on vertical scrolling. This helps to load large dataset in TreeGrid.
     *
     * @default false
     */
    enableVirtualization: boolean;
    /**
     * If `enableColumnVirtualization` set to true, then the Tree grids.Grid will render only the columns visible within the view-port
     * and load subsequent columns on horizontal scrolling. This helps to load large dataset of columns in Tree grids.Grid.
     *
     * @default false
     */
    enableColumnVirtualization: boolean;
    /**
     * If `enableInfiniteScrolling` set to true, then the data will be loaded in TreeGrid when the scrollbar reaches the end.
     * This helps to load large dataset in TreeGrid.
     *
     * @default false
     * @deprecated
     */
    enableInfiniteScrolling: boolean;
    /**
     * Configures the infinite scroll settings.
     *
     * @default { enableCache: false, maxBlocks: 5, initialBlocks: 5 }
     * @deprecated
     */
    infiniteScrollSettings: InfiniteScrollSettingsModel;
    /**
     * `columnQueryMode`provides options to retrieves data from the data source.Their types are
     * * `All`: It retrieves whole data source.
     * * `Schema`: retrieves data for all the defined columns in TreeGrid from the data source.
     * * `ExcludeHidden`: retrieves data only for visible columns of TreeGrid from the data Source.
     *
     * @default All
     */
    columnQueryMode: grids.ColumnQueryModeType;
    /**
     * Triggers when the component is created.
     *
     * @event created
     */
    created: base.EmitType<Object>;
    /**
     * This event allows customization of TreeGrid properties before rendering.
     *
     * @event load
     */
    load: base.EmitType<Object>;
    /**
     * Triggers while expanding the TreeGrid record
     *
     * @event expanding
     */
    expanding: base.EmitType<RowExpandingEventArgs>;
    /**
     * Triggers after the record is expanded
     *
     * @event expanded
     */
    expanded: base.EmitType<RowExpandedEventArgs>;
    /**
     * Triggers while collapsing the TreeGrid record
     *
     * @event collapsing
     */
    collapsing: base.EmitType<RowExpandingEventArgs>;
    /**
     * Triggers after the record is collapsed.
     *
     * @event collapsed
     */
    collapsed: base.EmitType<RowExpandingEventArgs>;
    /**
     * Triggers when cell is saved.
     *
     * @event cellSave
     */
    cellSave: base.EmitType<grids.CellSaveArgs>;
    /**
     * Triggers when cell is saved.
     *
     * @event cellSaved
     */
    cellSaved: base.EmitType<grids.CellSaveArgs>;
    /**
     * Triggers when TreeGrid actions such as sorting, filtering, paging etc., starts.
     * @event actionBegin
     */
    actionBegin: base.EmitType<grids.PageEventArgs | grids.FilterEventArgs | grids.SortEventArgs | grids.SearchEventArgs | grids.AddEventArgs | grids.SaveEventArgs | grids.EditEventArgs | grids.DeleteEventArgs>;
    /**
     * Triggers when TreeGrid actions such as sorting, filtering, paging etc. are completed.
     * @event actionComplete
     */
    actionComplete: base.EmitType<grids.PageEventArgs | grids.FilterEventArgs | grids.SortEventArgs | grids.SearchEventArgs | grids.AddEventArgs | grids.SaveEventArgs | grids.EditEventArgs | grids.DeleteEventArgs | CellSaveEventArgs>;
    /**
     * Triggers before the record is to be edit.
     * @event beginEdit
     */
    beginEdit: base.EmitType<grids.BeginEditArgs>;
    /**
     * Triggers when records are added in batch mode.
     * @event batchAdd
     */
    batchAdd: base.EmitType<grids.BatchAddArgs>;
    /**
     * Triggers when records are deleted in batch mode.
     * @event batchDelete
     */
    batchDelete: base.EmitType<grids.BatchDeleteArgs>;
    /**
     * Triggers before records are added in batch mode.
     * @event batchCancel
     */
    batchCancel: base.EmitType<grids.BatchCancelArgs>;
    /**
     * Triggers before records are added in batch mode.
     * @event beforeBatchAdd
     */
    beforeBatchAdd: base.EmitType<grids.BeforeBatchAddArgs>;
    /**
     * Triggers before records are deleted in batch mode.
     * @event beforeBatchDelete
     */
    beforeBatchDelete: base.EmitType<grids.BeforeBatchDeleteArgs>;
    /**
     * Triggers before records are saved in batch mode.
     * @event beforeBatchSave
     */
    beforeBatchSave: base.EmitType<grids.BeforeBatchSaveArgs>;
    /**
     * Triggers when the cell is being edited.
     * @event cellEdit
     */
    cellEdit: base.EmitType<grids.CellEditArgs>;
    /**
     * Triggers when any TreeGrid action failed to achieve the desired results.
     *
     * @event actionFailure
     */
    actionFailure: base.EmitType<grids.FailureEventArgs>;
    /**
     * Triggers when data source is populated in the TreeGrid.
     *
     * @event dataBound
     */
    dataBound: base.EmitType<Object>;
    /**
     * Triggers when the TreeGrid data is added, deleted and updated.
     * Invoke the done method from the argument to start render after edit operation.
     *
     * @event dataSourceChanged
     * @deprecated
     */
    dataSourceChanged: base.EmitType<grids.DataSourceChangedEventArgs>;
    /**
     * Triggers when the TreeGrid actions such as Sorting, Paging etc., are done.
     * In this event,the current view data and total record count should be assigned to the `dataSource` based on the action performed.
     *
     * @event dataStateChange
     * @deprecated
     */
    dataStateChange: base.EmitType<DataStateChangeEventArgs>;
    /**
     * Triggers when record is double clicked.
     *
     * @event recordDoubleClick
     */
    recordDoubleClick: base.EmitType<grids.RecordDoubleClickEventArgs>;
    /**
     * Triggered every time a request is made to access row information, element, or data.
     * This will be triggered before the row element is appended to the TreeGrid element.
     *
     * @event rowDataBound
     */
    rowDataBound: base.EmitType<grids.RowDataBoundEventArgs>;
    /**
     * Triggers after detail row expands.
     * > This event triggers at initial expand.
     *
     * @event detailDataBound
     */
    detailDataBound: base.EmitType<grids.DetailDataBoundEventArgs>;
    /**
     * Triggered every time a request is made to access cell information, element, or data.
     * This will be triggered before the cell element is appended to the TreeGrid element.
     *
     * @event queryCellInfo
     */
    queryCellInfo: base.EmitType<grids.QueryCellInfoEventArgs>;
    /**
     * If `allowSelection` is set to true, it allows selection of (highlight row) TreeGrid records by clicking it.
     *
     * @default true
     */
    allowSelection: boolean;
    /**
     * Triggers before row selection occurs.
     *
     * @event rowSelecting
     */
    rowSelecting: base.EmitType<grids.RowSelectingEventArgs>;
    /**
     * Triggers after a row is selected.
     *
     * @event rowSelected
     */
    rowSelected: base.EmitType<grids.RowSelectEventArgs>;
    /**
     * Triggers before deselecting the selected row.
     *
     * @event rowSelected
     * @deprecated
     */
    rowDeselecting: base.EmitType<grids.RowDeselectEventArgs>;
    /**
     * Triggers when a selected row is deselected.
     *
     * @event rowDeselected
     */
    rowDeselected: base.EmitType<grids.RowDeselectEventArgs>;
    /**
     * Triggered for stacked header.
     *
     * @event headerCellInfo
     */
    headerCellInfo: base.EmitType<grids.HeaderCellInfoEventArgs>;
    /**
     * Triggers before any cell selection occurs.
     *
     * @event cellSelecting
     */
    cellSelecting: base.EmitType<grids.CellSelectingEventArgs>;
    /**
     * Triggers before column menu opens.
     *
     * @event columnMenuOpen
     * @deprecated
     */
    columnMenuOpen: base.EmitType<grids.ColumnMenuOpenEventArgs>;
    /**
     * Triggers when click on column menu.
     *
     * @event columnMenuClick
     */
    columnMenuClick: base.EmitType<navigations.MenuEventArgs>;
    /**
     * Triggers after a cell is selected.
     *
     * @event cellSelected
     */
    cellSelected: base.EmitType<grids.CellSelectEventArgs>;
    /**
     * Triggers before the selected cell is deselecting.
     *
     * @event cellDeselecting
     * @deprecated
     */
    cellDeselecting: base.EmitType<grids.CellDeselectEventArgs>;
    /**
     * Triggers when a particular selected cell is deselected.
     *
     * @event cellDeselected
     * @deprecated
     */
    cellDeselected: base.EmitType<grids.CellDeselectEventArgs>;
    /**
     * Triggers when column resize starts.
     *
     * @event resizeStart
     * @deprecated
     */
    resizeStart: base.EmitType<grids.ResizeArgs>;
    /**
     * Triggers on column resizing.
     *
     * @event resizing
     * @deprecated
     */
    resizing: base.EmitType<grids.ResizeArgs>;
    /**
     * Triggers when column resize ends.
     *
     * @event resizeStop
     * @deprecated
     */
    resizeStop: base.EmitType<grids.ResizeArgs>;
    /**
     * Triggers when column header element drag (move) starts.
     *
     * @event columnDragStart
     * @deprecated
     */
    columnDragStart: base.EmitType<grids.ColumnDragEventArgs>;
    /**
     * Triggers when column header element is dragged (moved) continuously.
     *
     * @event columnDrag
     * @deprecated
     */
    columnDrag: base.EmitType<grids.ColumnDragEventArgs>;
    /**
     * Triggers when a column header element is dropped on the target column.
     *
     * @event columnDrop
     * @deprecated
     */
    columnDrop: base.EmitType<grids.ColumnDragEventArgs>;
    /**
     * Triggers when the check box state change in checkbox column.
     *
     * @event checkboxChange
     * @deprecated
     */
    checkboxChange: base.EmitType<grids.CheckBoxChangeEventArgs>;
    /**
     * Triggers after print action is completed.
     *
     * @event printComplete
     * @deprecated
     */
    printComplete: base.EmitType<grids.PrintEventArgs>;
    /**
     * Triggers before the print action starts.
     *
     * @event beforePrint
     * @deprecated
     */
    beforePrint: base.EmitType<grids.PrintEventArgs>;
    /**
     * Triggers when toolbar item is clicked.
     *
     * @event toolbarClick
     */
    toolbarClick: base.EmitType<navigations.ClickEventArgs>;
    /**
     * Triggers before data is bound to Tree grids.Grid.
     *
     * @event beforeDataBound
     */
    beforeDataBound: base.EmitType<grids.BeforeDataBoundArgs>;
    /**
     * Triggers before context menu opens.
     *
     * @event contextMenuOpen
     * @deprecated
     */
    contextMenuOpen: base.EmitType<navigations.BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers when click on context menu.
     *
     * @event contextMenuClick
     */
    contextMenuClick: base.EmitType<navigations.MenuEventArgs>;
    /**
     * Triggers before TreeGrid copy action.
     *
     * @event beforeCopy
     * @deprecated
     */
    beforeCopy: base.EmitType<grids.BeforeCopyEventArgs>;
    /**
     * Triggers before TreeGrid paste action.
     *
     * @event beforePaste
     * @deprecated
     */
    beforePaste: base.EmitType<grids.BeforePasteEventArgs>;
    /**
     * Triggers when row elements are dragged (moved) continuously.
     *
     * @event rowDrag
     * @deprecated
     */
    rowDrag: base.EmitType<grids.RowDragEventArgs>;
    /**
     * Triggers when row element’s drag(move) starts.
     *
     * @event rowDragStart
     * @deprecated
     */
    rowDragStart: base.EmitType<grids.RowDragEventArgs>;
    /**
     * Triggers when row element’s before drag(move).
     *
     * @event rowDragStartHelper
     * @deprecated
     */
    rowDragStartHelper: base.EmitType<grids.RowDragEventArgs>;
    /**
     * Triggers when row elements are dropped on the target row.
     *
     * @event rowDrop
     * @deprecated
     */
    rowDrop: base.EmitType<grids.RowDragEventArgs>;
    /**
     * The `selectedRowIndex` allows you to select a row at initial rendering.
     * You can also get the currently selected row index.
     *
     * @default -1
     */
    selectedRowIndex: number;
    /**
     * Configures the selection settings.
     *
     * @default {mode: 'Row', cellSelectionMode: 'Flow', type: 'Single'}
     */
    selectionSettings: SelectionSettingsModel;
    /**
     * If `allowExcelExport` set to true, then it will allow the user to export treegrid to Excel file.
     *
     * > Check the [`ExcelExport`](../../treegrid/excel-export/) to configure exporting document.
     *
     * @default false
     */
    allowExcelExport: boolean;
    /**
     * If `allowPdfExport` set to true, then it will allow the user to export treegrid to Pdf file.
     *
     * > Check the [`Pdfexport`](../../treegrid/pdf-export/) to configure the exporting document.
     *
     * @default false
     */
    allowPdfExport: boolean;
    /**
     * Triggers before exporting each cell to PDF document.
     * You can also customize the PDF cells.
     *
     * @event pdfQueryCellInfo
     * @deprecated
     */
    pdfQueryCellInfo: base.EmitType<grids.PdfQueryCellInfoEventArgs>;
    /**
     * Triggers before exporting each header cell to PDF document.
     * You can also customize the PDF cells.
     *
     * @event pdfHeaderQueryCellInfo
     * @deprecated
     */
    pdfHeaderQueryCellInfo: base.EmitType<grids.PdfHeaderQueryCellInfoEventArgs>;
    /**
     * Triggers before exporting each cell to Excel file.
     * You can also customize the Excel cells.
     *
     * @event excelQueryCellInfo
     * @deprecated
     */
    excelQueryCellInfo: base.EmitType<grids.ExcelQueryCellInfoEventArgs>;
    /**
     * Triggers before exporting each header cell to Excel file.
     * You can also customize the Excel cells.
     *
     * @event excelHeaderQueryCellInfo
     * @deprecated
     */
    excelHeaderQueryCellInfo: base.EmitType<grids.ExcelHeaderQueryCellInfoEventArgs>;
    /**
     * Triggers before TreeGrid data is exported to Excel file.
     *
     * @event beforeExcelExport
     */
    beforeExcelExport: base.EmitType<Object>;
    /**
     * Triggers after TreeGrid data is exported to Excel file.
     *
     * @event excelExportComplete
     * @deprecated
     */
    excelExportComplete: base.EmitType<grids.ExcelExportCompleteArgs>;
    /**
     * Triggers before TreeGrid data is exported to PDF document.
     *
     * @event beforePdfExport
     */
    beforePdfExport: base.EmitType<Object>;
    /**
     * Triggers after TreeGrid data is exported to PDF document.
     *
     * @event pdfExportComplete
     * @deprecated
     */
    pdfExportComplete: base.EmitType<grids.PdfExportCompleteArgs>;
    /**
     * Export TreeGrid data to Excel file(.xlsx).
     *
     * @param  {grids.ExcelExportProperties | TreeGridExcelExportProperties} excelExportProperties - Defines the export properties of the Tree grids.Grid.
     * @param  {boolean} isMultipleExport - Define to enable multiple export.
     * @param  {workbook} workbook - Defines the Workbook if multiple export is enabled.
     * @param  {boolean} isBlob - If 'isBlob' set to true, then it will be returned as blob data.
     * @returns {Promise<any>} - Returns promise object of export action
     */
    excelExport(excelExportProperties?: grids.ExcelExportProperties | TreeGridExcelExportProperties, isMultipleExport?: boolean, workbook?: any, isBlob?: boolean): Promise<any>;
    /**
     * Export TreeGrid data to CSV file.
     *
     * @param  {grids.ExcelExportProperties} excelExportProperties - Defines the export properties of the TreeGrid.
     * @param  {boolean} isMultipleExport - Define to enable multiple export.
     * @param  {workbook} workbook - Defines the Workbook if multiple export is enabled.
     * @param  {boolean} isBlob - If 'isBlob' set to true, then it will be returned as blob data.
     * @returns {Promise<any>} - Returns promise object of export action
     */
    csvExport(excelExportProperties?: grids.ExcelExportProperties, isMultipleExport?: boolean, workbook?: any, isBlob?: boolean): Promise<any>;
    /**
     * Export TreeGrid data to PDF document.
     *
     * @param {grids.PdfExportProperties | TreeGridPdfExportProperties} pdfExportProperties - Defines the export properties of the Tree grids.Grid.
     * @param {boolean} isMultipleExport - Define to enable multiple export.
     * @param {Object} pdfDoc - Defined the Pdf Document if multiple export is enabled.
     * @param {boolean} isBlob - If 'isBlob' set to true, then it will be returned as blob data.
     * @returns {Promise<any>} - Returns promise object of export action
     */
    pdfExport(pdfExportProperties?: grids.PdfExportProperties | TreeGridPdfExportProperties, isMultipleExport?: boolean, pdfDoc?: Object, isBlob?: boolean): Promise<Object>;
    /**
     * For internal use only - Get the module name.
     *
     * @private
     * @returns {string} Returns TreeGrid module name
     */
    protected getModuleName(): string;
    /**
     * For internal use only - Initialize the event handler;
     *
     * @private
     * @returns {void}
     */
    protected preRender(): void;
    /**
     * Sorts a column with the given options.
     *
     * @param {string} columnName - Defines the column name to be sorted.
     * @param {grids.SortDirection} direction - Defines the direction of sorting field.
     * @param {boolean} isMultiSort - Specifies whether the previous sorted columns are to be maintained.
     * @returns {void}
     */
    sortByColumn(columnName: string, direction: grids.SortDirection, isMultiSort?: boolean): void;
    /**
     * Clears all the sorted columns of the TreeGrid.
     *
     * @returns {void}
     */
    clearSorting(): void;
    /**
     * Remove sorted column by field name.
     *
     * @param {string} field - Defines the column field name to remove sort.
     * @returns {void}
     * @hidden
     */
    removeSortColumn(field: string): void;
    /**
     * Searches TreeGrid records using the given key.
     * You can customize the default search option by using the
     * [`searchSettings`](./#searchsettings/).
     *
     * @param  {string} searchString - Defines the key.
     * @returns {void}
     */
    search(searchString: string): void;
    /**
     * Changes the column width to automatically fit its content to ensure that the width shows the content without wrapping/hiding.
     * > * This method ignores the hidden columns.
     * > * Uses the `autoFitColumns` method in the `dataBound` event to resize at initial rendering.
     *
     * @param  {string |string[]} fieldNames - Defines the column names.
     * @returns {void}
     *
     *
     *
     */
    autoFitColumns(fieldNames?: string | string[]): void;
    /**
     * Changes the TreeGrid column positions by field names.
     *
     * @param  {string} fromFName - Defines the origin field name.
     * @param  {string} toFName - Defines the destination field name.
     * @returns {void}
     */
    reorderColumns(fromFName: string | string[], toFName: string): void;
    private TreeGridLocale;
    /**
     * By default, prints all the pages of the TreeGrid and hides the pager.
     * > You can customize print options using the
     * [`printMode`](./#printmode).
     *
     * @returns {void}
     */
    print(): void;
    private treeGridkeyActionHandler;
    private findnextRowElement;
    private findPreviousRowElement;
    private initProperties;
    /**
     * Binding events to the element while component creation.
     *
     * @hidden
     * @returns {void}
     */
    wireEvents(): void;
    /**
     * To provide the array of modules needed for component rendering
     *
     * @returns {base.ModuleDeclaration[]} - Returns TreeGrid modules collection
     * @hidden
     */
    requiredModules(): base.ModuleDeclaration[];
    extendRequiredModules(modules: base.ModuleDeclaration[]): void;
    private isCommandColumn;
    /**
     * Unbinding events from the element while component destroy.
     *
     * @hidden
     * @returns {void}
     */
    unwireEvents(): void;
    /**
     * Logs tree grid error message on console
     *
     * @param {string | string[]} types - Tree grids.Grid error type
     * @param {object} args - Error details
     * @hidden
     * @private
     * @returns {void}
     */
    log(types: string | string[], args?: Object): void;
    /**
     * For internal use only - To Initialize the component rendering.
     *
     * @private
     * @returns {void}
     */
    protected render(): void;
    private refreshToolbarItems;
    private afterGridRender;
    private convertTreeData;
    private bindGridProperties;
    private triggerEvents;
    private IsExpandCollapseClicked;
    private bindGridEvents;
    private lastRowBorder;
    private isPixelHeight;
    private extendedGridDataBoundEvent;
    private objectEqualityChecker;
    private bindCallBackEvents;
    private extendedGridEditEvents;
    private updateRowTemplate;
    private bindedDataSource;
    private extendedGridActionEvents;
    private extendedGridEvents;
    private bindGridDragEvents;
    /**
     * Renders TreeGrid component
     *
     * @private
     * @returns {void}
     */
    protected loadGrid(): void;
    /**
     * AutoGenerate TreeGrid columns from first record
     *
     * @hidden
     * @returns {void}
     */
    private autoGenerateColumns;
    private getGridEditSettings;
    /**
     * Defines grid toolbar from treegrid toolbar model
     *
     * @hidden
     * @returns {Object[]} - returns context menu items
     */
    private getContextMenu;
    /**
     * Defines grid toolbar from treegrid toolbar model
     *
     * @hidden
     * @returns {Object[]} - Returns toolbar items
     */
    private getGridToolbar;
    private getGridColumns;
    /**
     * Called internally if any of the property value changed.
     *
     * @param {TreeGridModel} newProp - properties details which has to be modified
     * @hidden
     * @returns {void}
     */
    onPropertyChanged(newProp: TreeGridModel): void;
    private updateTreeColumnTextAlign;
    /**
     * Destroys the component (detaches/removes all event handlers, attributes, classes, and empties the component element).
     *
     * @method destroy
     * @returns {void}
     */
    destroy(): void;
    /**
     * Update the TreeGrid model
     *
     * @method dataBind
     * @returns {void}
     * @private
     */
    dataBind(): void;
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @returns {string} - Returns persist properties details
     * @hidden
     */
    getPersistData(): string;
    private ignoreInArrays;
    private ignoreInColumn;
    private mouseClickHandler;
    /**
     * Returns TreeGrid rows
     *
     * @returns {HTMLTableRowElement[]} - Returns row elements collection
     */
    getRows(): HTMLTableRowElement[];
    /**
     * Gets the pager of the TreeGrid.
     *
     * @returns {Element} - Returns pager element
     */
    getPager(): Element;
    /**
     * Adds a new record to the TreeGrid. Without passing parameters, it adds empty rows.
     * > `editSettings.allowEditing` should be true.
     *
     * @param {Object} data - Defines the new add record data.
     * @param {number} index - Defines the row index to be added.
     * @param {RowPosition} position - Defines the new row position to be added.
     * @returns {void}
     */
    addRecord(data?: Object, index?: number, position?: RowPosition): void;
    /**
     * Cancels edited state.
     *
     * @returns {void}
     */
    closeEdit(): void;
    /**
     * Saves the cell that is currently edited. It does not save the value to the DataSource.
     *
     * @returns {void}
     */
    saveCell(): void;
    /**
     * To update the specified cell by given value without changing into edited state.
     *
     * @param {number} rowIndex Defines the row index.
     * @param {string} field Defines the column field.
     * @param {string | number | boolean | Date} value - Defines the value to be changed.
     * @returns {void}
     */
    updateCell(rowIndex: number, field: string, value: string | number | boolean | Date): void;
    /**
     * To update the specified row by given values without changing into edited state.
     *
     * @param {number} index Defines the row index.
     * @param {Object} data Defines the data object to be updated.
     * @returns {void}
     */
    updateRow(index: number, data: Object): void;
    /**
     * Delete a record with Given options. If fieldName and data is not given then TreeGrid will delete the selected record.
     * > `editSettings.allowDeleting` should be true.
     *
     * @param {string} fieldName - Defines the primary key field, 'Name of the column'.
     * @param {Object} data - Defines the JSON data of the record to be deleted.
     * @returns {void}
     */
    deleteRecord(fieldName?: string, data?: Object): void;
    /**
     * To edit any particular row by TR element.
     *
     * @param {HTMLTableRowElement} row - Defines the table row to be edited.
     * @returns {void}
     */
    startEdit(row?: HTMLTableRowElement): void;
    /**
     * To edit any particular cell using row index and cell index.
     *
     * @param {number} rowIndex - Defines row index to edit a particular cell.
     * @param {string} field - Defines the field name of the column to perform cell edit.
     * @returns {void}
     */
    editCell(rowIndex?: number, field?: string): void;
    /**
     * Enables or disables ToolBar items.
     *
     * @param {string[]} items - Defines the collection of itemID of ToolBar items.
     * @param {boolean} isEnable - Defines the items to be enabled or disabled.
     * @returns {void}
     */
    enableToolbarItems(items: string[], isEnable: boolean): void;
    /**
     * If TreeGrid is in editable state, you can save a record by invoking endEdit.
     *
     * @returns {void}
     */
    endEdit(): void;
    /**
     * Column chooser can be displayed on screen by given position(X and Y axis).
     *
     * @param {number} x - Defines the X axis.
     * @param {number} y - Defines the Y axis.
     * @returns {void}
     */
    openColumnChooser(x?: number, y?: number): void;
    /**
     * Delete any visible row by TR element.
     *
     * @param {HTMLTableRowElement} tr - Defines the table row element.
     * @returns {void}
     */
    deleteRow(tr: HTMLTableRowElement): void;
    /**
     * Get the names of the primary key columns of the TreeGrid.
     *
     * @returns {string[]} - Returns primary key collection
     */
    getPrimaryKeyFieldNames(): string[];
    /**
     * Updates particular cell value based on the given primary key value.
     * > Primary key column must be specified using `columns.isPrimaryKey` property.
     *
     * @param {string| number} key - Specifies the PrimaryKey value of dataSource.
     * @param {string } field - Specifies the field name which you want to update.
     * @param {string | number | boolean | Date} value - To update new value for the particular cell.
     * @returns {void}
     */
    setCellValue(key: string | number, field: string, value: string | number | boolean | Date): void;
    /**
     * Updates and refresh the particular row values based on the given primary key value.
     * > Primary key column must be specified using `columns.isPrimaryKey` property.
     *
     *  @param {string| number} key - Specifies the PrimaryKey value of dataSource.
     *  @param {Object} rowData - To update new data for the particular row.
     * @returns {void}
     */
    setRowData(key: string | number, rowData?: ITreeData): void;
    /**
     * Navigates to the specified target page.
     *
     * @param  {number} pageNo - Defines the page number to navigate.
     * @returns {void}
     */
    goToPage(pageNo: number): void;
    /**
     * Defines the text of external message.
     *
     * @param  {string} message - Defines the message to update.
     * @returns {void}
     */
    updateExternalMessage(message: string): void;
    /**
     * Gets a cell by row and column index.
     *
     * @param  {number} rowIndex - Specifies the row index.
     * @param  {number} columnIndex - Specifies the column index.
     * @returns {Element} - Returns cell element in grid content
     */
    getCellFromIndex(rowIndex: number, columnIndex: number): Element;
    /**
     * Gets a Column by column name.
     *
     * @param  {string} field - Specifies the column name.
     * @returns {Column} - Returns tree grid column
     */
    getColumnByField(field: string): Column;
    /**
     * Gets a column by UID.
     *
     * @param  {string} uid - Specifies the column UID.
     * @returns {Column} - Returns tree grid column
     */
    getColumnByUid(uid: string): Column;
    /**
     * Gets the collection of column fields.
     *
     * @returns {string[]} - Returns column field name as collection
     */
    getColumnFieldNames(): string[];
    /**
     * Gets the footer div of the TreeGrid.
     *
     * @returns {Element} - Returns footer content div element
     */
    getFooterContent(): Element;
    /**
     * Gets the footer table element of the TreeGrid.
     *
     * @returns {Element} - Returns footer content table element
     */
    getFooterContentTable(): Element;
    /**
     * Shows a column by its column name.
     *
     * @param  {string|string[]} keys - Defines a single or collection of column names.
     * @param  {string} showBy - Defines the column key either as field name or header text.
     * @returns {void}
     */
    showColumns(keys: string | string[], showBy?: string): void;
    /**
     * Hides a column by column name.
     *
     * @param  {string|string[]} keys - Defines a single or collection of column names.
     * @param  {string} hideBy - Defines the column key either as field name or header text.
     * @returns {void}
     */
    hideColumns(keys: string | string[], hideBy?: string): void;
    /**
     * Gets a column header by column name.
     *
     * @param  {string} field - Specifies the column name.
     * @returns {Element} - Returns column header element
     */
    getColumnHeaderByField(field: string): Element;
    /**
     * Gets a column header by column index.
     *
     * @param  {number} index - Specifies the column index.
     * @returns {Element} - Returns column header element
     */
    getColumnHeaderByIndex(index: number): Element;
    /**
     * Gets a column header by UID.
     *
     * @param {string} uid - Specifies the column uid.
     * @returns {Element} - Returns column header element
     */
    getColumnHeaderByUid(uid: string): Element;
    /**
     * Gets a column index by column name.
     *
     * @param  {string} field - Specifies the column name.
     * @returns {number} - Returns column index
     */
    getColumnIndexByField(field: string): number;
    private getVirtualColIndexByUid;
    /**
     * Gets a column index by UID.
     *
     * @param  {string} uid - Specifies the column UID.
     * @returns {number} - Returns column index
     */
    getColumnIndexByUid(uid: string): number;
    /**
     * Gets the columns from the TreeGrid.
     *
     * @param {boolean} isRefresh - Defined whether to update DOM
     * @returns {Column[]} - Returns treegrid columns collection
     */
    getColumns(isRefresh?: boolean): Column[];
    private updateColumnModel;
    /**
     * Gets the content div of the TreeGrid.
     *
     * @returns {Element} - Return tree grid content element
     */
    getContent(): Element;
    private mergePersistTreeGridData;
    private mergeColumns;
    private updateTreeGridModel;
    /**
     * Gets the content table of the TreeGrid.
     *
     * @returns {Element} - Returns content table element
     */
    getContentTable(): Element;
    /**
     * Gets all the TreeGrid's data rows.
     *
     * @returns {Element[]} - Returns row elements
     */
    getDataRows(): Element[];
    /**
     * Get current visible data of TreeGrid.
     *
     * @returns {Object[]} - Returns current view records
     * @isGenericType true
     */
    getCurrentViewRecords(): Object[];
    /**
     * Gets the added, edited,and deleted data before bulk save to the DataSource in batch mode.
     *
     * @returns {Object} - Returns batch changes
     */
    getBatchChanges(): Object;
    /**
     * Gets the header div of the TreeGrid.
     *
     * @returns {Element} - Returns Header content element
     */
    getHeaderContent(): Element;
    /**
     * Gets the header table element of the TreeGrid.
     *
     * @returns {Element} - Return header table element
     */
    getHeaderTable(): Element;
    /**
     * Gets a row by index.
     *
     * @param  {number} index - Specifies the row index.
     * @returns {Element} - Returns row element
     */
    getRowByIndex(index: number): Element;
    /**
     * Get a row information based on cell
     *
     * @param {Element | EventTarget} target - Target row element
     * @returns {grids.RowInfo} - Returns row information in a JSON object
     */
    getRowInfo(target: Element | EventTarget): grids.RowInfo;
    /**
     * Gets UID by column name.
     *
     * @param  {string} field - Specifies the column name.
     * @returns {string} - Returns unique id based on column field name given
     */
    getUidByColumnField(field: string): string;
    /**
     * Gets the visible columns from the TreeGrid.
     *
     * @returns {Column[]} - Returns visible columns collection
     */
    getVisibleColumns(): Column[];
    /**
     * By default, TreeGrid shows the spinner for all its actions. You can use this method to show spinner at your needed time.
     *
     * @returns {void}
     */
    showSpinner(): void;
    /**
     * Manually shown spinner needs to hide by `hideSpinnner`.
     *
     * @returns {void}
     */
    hideSpinner(): void;
    /**
     * Refreshes the TreeGrid header and content.
     *
     * @returns {void}
     */
    refresh(): void;
    /**
     * Get the records of checked rows.
     *
     * @returns {Object[]} - Returns records that has been checked
     * @isGenericType true
     */
    getCheckedRecords(): Object[];
    /**
     * Get the visible records corresponding to rows visually displayed.
     *
     * @returns {Object[]} - Returns visible records based on collapse state of rows
     * @isGenericType true
     */
    getVisibleRecords(): Object[];
    /**
     * Get the indexes of checked rows.
     *
     * @returns {number[]} - Returns checked row indexes
     */
    getCheckedRowIndexes(): number[];
    /**
     * Checked the checkboxes using rowIndexes.
     *
     * @param {number[]} indexes - row indexes
     * @returns {void}
     */
    selectCheckboxes(indexes: number[]): void;
    /**
     * Refreshes the TreeGrid column changes.
     *
     * @param {boolean} refreshUI - Defined whether to refresh the DOM
     * @returns {void}
     */
    refreshColumns(refreshUI?: boolean): void;
    /**
     * Refreshes the TreeGrid header.
     *
     * @returns {void}
     */
    refreshHeader(): void;
    /**
     * Expands or collapse child records
     *
     * @param {HTMLElement} target - Expand collapse icon cell as target element
     * @returns {void}
     * @hidden
     */
    private expandCollapseRequest;
    /**
     * Expands child rows
     *
     * @param {HTMLTableRowElement} row - Expands the given row
     * @param {Object} record - Expands the given record
     * @param {Object} key - Primary key value
     * @param {number} level - Specifies the hierarchical level of the record
     * @returns {void}
     */
    expandRow(row: HTMLTableRowElement, record?: Object, key?: Object, level?: number): void;
    private expandCollapseAllChildren;
    private setHeightForFrozenContent;
    private getCollapseExpandRecords;
    /**
     * Collapses child rows
     *
     * @param {HTMLTableRowElement} row - Collapse the given row
     * @param {Object} record - Collapse the given record
     * @param {Object} key - Primary key value
     * @returns {void}
     */
    collapseRow(row: HTMLTableRowElement, record?: Object, key?: Object): void;
    private updateExpandStateMapping;
    /**
     * Expands the records at specific hierarchical level
     *
     * @param {number} level - Expands the parent rows at given level
     * @returns {void}
     */
    expandAtLevel(level: number): void;
    /**
     * Expands the records by given primary key value
     *
     * @param {Object} key - Expands the parent rows with given primary key value
     * @returns {void}
     */
    expandByKey(key: Object): void;
    private expandAction;
    private getRecordDetails;
    /**
     * Collapses the records at specific hierarchical level
     *
     * @param {number} level - Define the parent row level which needs to be collapsed
     * @returns {void}
     */
    collapseAtLevel(level: number): void;
    /**
     * Collapses the records by given primary key value
     *
     * @param {Object} key - Collapses the parent rows with given primary key value
     * @returns {void}
     */
    collapseByKey(key: Object): void;
    private expandCollapseActionByKey;
    private collapseAction;
    /**
     * Expands All the rows
     *
     * @returns {void}
     */
    expandAll(): void;
    /**
     * Collapses All the rows
     *
     * @returns {void}
     */
    collapseAll(): void;
    private expandCollapseAll;
    private expandCollapse;
    private updateChildOnDemand;
    private remoteExpand;
    private localExpand;
    private updateAltRow;
    private treeColumnRowTemplate;
    private collapseRemoteChild;
    /**
     * Updates the rows and cells
     *
     * @param {Object[]} records - Updates the given records
     * @param {HTMLTableRowElement[]} rows - Updates the given rows
     * @param {number} index -  Updates the given cell index
     * @returns {void}
     */
    private updateRowAndCellElements;
    /**
     * @hidden
     * @returns {void}
     */
    addListener(): void;
    private updateResultModel;
    /**
     * @hidden
     * @returns {void}
     */
    private removeListener;
    /**
     * Filters TreeGrid row by column name with the given options.
     *
     * @param  {string} fieldName - Defines the field name of the column.
     * @param  {string} filterOperator - Defines the operator to filter records.
     * @param  {string | number | Date | boolean} filterValue - Defines the value used to filter records.
     * @param  {string} predicate - Defines the relationship between one filter query and another by using AND or OR predicate.
     * @param  {boolean} matchCase - If match case is set to true, the TreeGrid filters the records with exact match. if false, it filters
     * case insensitive records (uppercase and lowercase letters are treated the same).
     * @param  {boolean} ignoreAccent - If ignoreAccent is set to true,
     * then filter ignores diacritic characters or accents while filtering.
     * @param  {string} actualFilterValue - Defines the actual filter value for filter column.
     * @param  {string} actualOperator - Defines the actual filter operator for filter column.
     * @returns {void}
     */
    filterByColumn(fieldName: string, filterOperator: string, filterValue: string | number | Date | boolean | number[] | string[] | Date[] | boolean[], predicate?: string, matchCase?: boolean, ignoreAccent?: boolean, actualFilterValue?: string, actualOperator?: string): void;
    /**
     * Clears all the filtered rows of the TreeGrid.
     *
     * @returns {void}
     */
    clearFiltering(): void;
    /**
     * Removes filtered column by field name.
     *
     * @param  {string} field - Defines column field name to remove filter.
     * @param  {boolean} isClearFilterBar -  Specifies whether the filter bar value needs to be cleared.
     * @returns {void}
     * @hidden
     */
    removeFilteredColsByField(field: string, isClearFilterBar?: boolean): void;
    /**
     * Selects a row by given index.
     *
     * @param  {number} index - Defines the row index.
     * @param  {boolean} isToggle - If set to true, then it toggles the selection.
     * @returns {void}
     */
    selectRow(index: number, isToggle?: boolean): void;
    /**
     * Selects a collection of rows by indexes.
     *
     * @param  {number[]} rowIndexes - Specifies the row indexes.
     * @returns {void}
     */
    selectRows(rowIndexes: number[]): void;
    /**
     * Deselects the current selected rows and cells.
     *
     * @returns {void}
     */
    clearSelection(): void;
    /**
     * Copy the selected rows or cells data into clipboard.
     *
     * @param {boolean} withHeader - Specifies whether the column header text needs to be copied along with rows or cells.
     * @returns {void}
     */
    copy(withHeader?: boolean): void;
    /**
     * Paste data from clipboard to selected cells.
     *
     * @param {boolean} data - Specifies the date for paste.
     * @param {boolean} rowIndex - Specifies the row index.
     * @param {boolean} colIndex - Specifies the column index.
     * @returns {void}
     */
    paste(data: string, rowIndex: number, colIndex: number): void;
    /**
     * Selects a cell by the given index.
     *
     * @param  {grids.IIndex} cellIndex - Defines the row and column indexes.
     * @param  {boolean} isToggle - If set to true, then it toggles the selection.
     * @returns {void}
     */
    selectCell(cellIndex: grids.IIndex, isToggle?: boolean): void;
    /**
     * Gets the collection of selected rows.
     *
     * @returns {Element[]} - Returns selected row elements collection
     */
    getSelectedRows(): Element[];
    /**
     * Gets a movable table cell by row and column index.
     *
     * @param  {number} rowIndex - Specifies the row index.
     * @param  {number} columnIndex - Specifies the column index.
     * @returns {Element} - Returns movable cell element from the indexes passed
     */
    getMovableCellFromIndex(rowIndex: number, columnIndex: number): Element;
    /**
     * Gets all the TreeGrid's movable table data rows.
     *
     * @returns {Element[]} - Returns element collection of movable rows
     */
    getMovableDataRows(): Element[];
    /**
     * Gets a movable tables row by index.
     *
     * @param  {number} index - Specifies the row index.
     * @returns {Element} - Returns movable row based on index passed
     */
    getMovableRowByIndex(index: number): Element;
    /**
     * Gets the TreeGrid's movable content rows from frozen treegrid.
     *
     * @returns {Element[]}: Returns movable row element
     */
    getMovableRows(): Element[];
    /**
     * Gets a frozen right tables row element by index.
     *
     * @param  {number} index - Specifies the row index.
     * @returns {Element} returns the element
     */
    getFrozenRightRowByIndex(index: number): Element;
    /**
     * Gets the Tree grids.Grid's frozen right content rows from frozen Tree grids.Grid.
     *
     * @returns {Element[]} returns the element
     */
    getFrozenRightRows(): Element[];
    /**
     * Gets all the Tree grids.Grid's frozen right table data rows.
     *
     * @returns {Element[]} Returns the Element
     */
    getFrozenRightDataRows(): Element[];
    /**
     * Gets a frozen right table cell by row and column index.
     *
     * @param  {number} rowIndex - Specifies the row index.
     * @param  {number} columnIndex - Specifies the column index.
     * @returns {Element} Returns the Element
     */
    getFrozenRightCellFromIndex(rowIndex: number, columnIndex: number): Element;
    /**
     * Gets a frozen left column header by column index.
     *
     * @param  {number} index - Specifies the column index.
     * @returns {Element} Returns the Element
     */
    getFrozenLeftColumnHeaderByIndex(index: number): Element;
    /**
     * Gets a frozen right column header by column index.
     *
     * @param  {number} index - Specifies the column index.
     * @returns {Element} Returns the Element
     */
    getFrozenRightColumnHeaderByIndex(index: number): Element;
    /**
     * Gets a movable column header by column index.
     *
     * @param  {number} index - Specifies the column index.
     * @returns {Element} Returns the Element
     */
    getMovableColumnHeaderByIndex(index: number): Element;
    /**
     * @hidden
     * @returns {number} Returns the movable column count
     */
    getMovableColumnsCount(): number;
    /**
     * @hidden
     * @returns {number} Returns the Frozen Left column
     */
    getFrozenLeftColumnsCount(): number;
    /**
     * @hidden
     * @returns {number} Returns the Frozen Right column count
     */
    getFrozenRightColumnsCount(): number;
    /**
     * @hidden
     * @returns {Column[]} Returns the column
     */
    getFrozenLeftColumns(): Column[];
    /**
     * @hidden
     * @returns {Column[]} Returns the column
     */
    getFrozenRightColumns(): Column[];
    /**
     * @hidden
     * @returns {number} Returns the visible movable count
     */
    getVisibleMovableCount(): number;
    /**
     * @hidden
     * @returns {number} Returns the visible Frozen Right count
     */
    getVisibleFrozenRightCount(): number;
    /**
     * @hidden
     * @returns {number} Returns the visible Frozen left count
     */
    getVisibleFrozenLeftCount(): number;
    /**
     * @hidden
     * @returns {Column[]} Returns the column
     */
    getMovableColumns(): Column[];
    /**
     * Gets the number of frozen column in tree grid
     *
     * @hidden
     * @returns {number} - Returns frozen column count
     */
    getFrozenColumns(): number;
    private getFrozenCount;
    /**
     * Gets the collection of selected row indexes.
     *
     * @returns {number[]} - Returns selected rows index collection
     */
    getSelectedRowIndexes(): number[];
    /**
     * Gets the collection of selected row and cell indexes.
     *
     * @returns {grids.ISelectedCell[]} - Returns selected cell's index details
     */
    getSelectedRowCellIndexes(): grids.ISelectedCell[];
    /**
     * Gets the collection of selected records.
     *
     * @isGenericType true
     * @returns {Object[]} - Returns selected records collection
     */
    getSelectedRecords(): Object[];
    /**
     * Gets the data module.
     *
     * @returns {{baseModule: grids.Data, treeModule: DataManipulation}}: Returns grid and treegrid data module
     */
    getDataModule(): {
        baseModule: grids.Data;
        treeModule: DataManipulation;
    };
    /**
     * Reorder the rows based on given indexes and position
     *
     * @param {number[]} fromIndexes - Source indexes of rows
     * @param {number} toIndex - Destination index of row
     * @param {string} position - Defines drop position as above or below or child
     * @returns {void}
     */
    reorderRows(fromIndexes: number[], toIndex: number, position: string): void;
    /**
     * Indents the record to one level of hierarchy. Moves the selected row as the last child of its previous row.
     *
     * @param {Object} record – specifies the record to do indented
     * @returns {void}
     */
    indent(record?: Object): void;
    /**
     * Outdent the record to one level of hierarchy. Moves the selected row as sibling to its parent row.
     *
     * @param {Object} record – specifies the record to do outdented
     * @returns {void}
     */
    outdent(record?: Object): void;
    /**
     * `columnchooserModule` is used to dynamically show or hide the TreeGrid columns.
     *
     * @hidden
     */
    columnChooserModule: grids.ColumnChooser;
    /**
     * The `toolbarModule` is used to manipulate ToolBar items and its action in the TreeGrid.
     */
    toolbarModule: Toolbar;
    /**
     * The `editModule` is used to handle TreeGrid content manipulation.
     */
    editModule: Edit;
    /**
     * The `pagerModule` is used to manipulate paging in the TreeGrid.
     */
    pagerModule: Page;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/enum.d.ts
/**
 * Defines types of Filter Hierarchy
 * * Parent - Specifies the filter type as Parent.
 * * Child - Specifies the filter type as excel.
 * * Both - Specifies the filter type as filter bar
 * * None - Specifies the filter type as check box.
 */
export  type FilterHierarchyMode = 
/** Shows filtered records with its Parent records */
'Parent' | 
/** Shows filtered records with its Child records */
'Child' | 
/** Shows filtered records with its Parent and Child records */
'Both' | 
/** Shows only filetred records */
'None';
/**
 * Defines Predefined toolbar items.
 *
 * @hidden
 */
export  type ToolbarItems = 
/** Add new record */
'Add' | 
/** Delete selected record */
'Delete' | 
/** Update edited record */
'Update' | 
/** Cancel the edited state */
'Cancel' | 
/** Edit the selected record */
'Edit' | 
/** Searches the TreeGrid records by given key */
'Search' | 
/** Expands all the rows in TreeGrid */
'ExpandAll' | 
/** Collapses all the rows in TreeGrid */
'CollapseAll' | 
/** Export the TreeGrid to Excel */
'ExcelExport' | 
/** Export the TreeGrid to Pdf */
'PdfExport' | 
/** Export the TreeGrid to Csv */
'CsvExport' | 
/** Print the TreeGrid */
'Print';
/**
 * Defines Predefined toolbar items.
 *
 * @hidden
 */
export  enum ToolbarItem {
    Add = 0,
    Edit = 1,
    Update = 2,
    Delete = 3,
    Cancel = 4,
    Search = 5,
    ExpandAll = 6,
    CollapseAll = 7,
    ExcelExport = 8,
    PdfExport = 9,
    CsvExport = 10,
    Print = 11,
    RowIndent = 12,
    RowOutdent = 13
}
/**
 * Defines different PageSizeMode
 * * All - Specifies the PageSizeMode as All
 * * Root - Specifies the PageSizeMode as Root
 */
export  type PageSizeMode = 
/**  Defines the pageSizeMode as All */
'All' | 
/**  Defines the pageSizeMode as Root */
'Root';
/**
 * Defines predefined contextmenu items.
 *
 * @hidden
 */
export  type ContextMenuItem = 
/** `AutoFitAll` - Auto fit the size of all columns. */
'AutoFitAll' | 
/**  `AutoFit` - Auto fit the current column. */
'AutoFit' | 
/**  `SortAscending` - Sort the current column in ascending order. */
'SortAscending' | 
/** `SortDescending` - Sort the current column in descending order. */
'SortDescending' | 
/**  `Edit` - Edit the current record. */
'Edit' | 
/** `Delete` - Delete the current record. */
'Delete' | 
/** `Save` - Save the edited record. */
'Save' | 
/** `Cancel` - Cancel the edited state. */
'Cancel' | 
/** `PdfExport` - Export the TreeGrid as Pdf format. */
'PdfExport' | 
/** `ExcelExport` - Export the TreeGrid as Excel format. */
'ExcelExport' | 
/** `CsvExport` - Export the TreeGrid as CSV format. */
'CsvExport' | 
/** `FirstPage` - Go to the first page. */
'FirstPage' | 
/** `PrevPage` - Go to the previous page. */
'PrevPage' | 
/** `LastPage` - Go to the last page. */
'LastPage' | 
/** `NextPage` - Go to the next page. */
'NextPage' | 
/** AddRow to the TreeGrid */
'AddRow' | 
/** `Indent` - Indents the record to one level of hierarchy */
'Indent' | 
/** `Outdent` - Outdent the record to one level of hierarchy */
'Outdent';
/**
 * Defines predefined contextmenu items.
 *
 * @hidden
 */
export  enum ContextMenuItems {
    AutoFit = 0,
    AutoFitAll = 1,
    SortAscending = 2,
    SortDescending = 3,
    Edit = 4,
    Delete = 5,
    Save = 6,
    Cancel = 7,
    PdfExport = 8,
    ExcelExport = 9,
    CsvExport = 10,
    FirstPage = 11,
    PrevPage = 12,
    LastPage = 13,
    NextPage = 14,
    AddRow = 15,
    RowIndent = 16,
    RowOutdent = 17
}
/**
 * Defines modes of editing.
 */
export  type EditMode = 
/**  Defines EditMode as Cell */
'Cell' | 
/**  Defines EditMode as Row */
'Row' | 
/**  Defines EditMode as Dialog */
'Dialog' | 
/**  Defines EditMode as Batch */
'Batch';
/**
 * Defines the position where the new row has to be added.
 */
export  type RowPosition = 
/**  Defines new row position as top of all rows */
'Top' | 
/**  Defines new row position as bottom of all rows */
'Bottom' | 
/**  Defines new row position as above the selected row */
'Above' | 
/**  Defines new row position as below the selected row */
'Below' | 
/**  Defines new row position as child to the selected row */
'Child';
/**
 * Defines types of Filter
 * * Menu - Specifies the filter type as menu.
 * * Excel - Specifies the filter type as excel.
 * * FilterBar - Specifies the filter type as filter bar.
 */
export  type FilterType = 
/**  Defines FilterType as filterbar */
'FilterBar' | 
/**  Defines FilterType as excel */
'Excel' | 
/**  Defines FilterType as menu */
'Menu';
/**
 * Defines the wrap mode.
 * * Both -  Wraps both header and content.
 * * Header - Wraps header alone.
 * * Content - Wraps content alone.
 */
export  type WrapMode = 
/** Wraps both header and content */
'Both' | 
/** Wraps  header alone */
'Header' | 
/** Wraps  content alone */
'Content';
/**
 * Defines types of CopyHierarchyMode. They are
 * * Parent
 * * Child
 * * Both
 * * None
 */
export  type CopyHierarchyType = 
/**  Defines CopyHiearchyMode as Parent */
'Parent' | 
/**  Defines CopyHiearchyMode as Child */
'Child' | 
/**  Defines CopyHiearchyMode as Both */
'Both' | 
/**  Defines CopyHiearchyMode as None */
'None';
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/index.d.ts
/**
 * TreeGrid component exported items
 */
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/models/column.d.ts
/**
 * Represents TreeGrid `Column` model class.
 */
export  class Column {
    /**
     * Defines the field name of column which is mapped with mapping name of DataSource.
     * The bounded columns can be sort, filter etc.,
     * The `field` name must be a valid JavaScript identifier,
     * the first character must be an alphabet and should not contain spaces and special characters.
     *
     * @default 'undefined'
     */
    field: string;
    /**
     * Defines the header text of column which is used to display in column header.
     * If `headerText` is not defined, then field name value will be assigned to header text.
     *
     * @default 'undefined'
     */
    headerText: string;
    /**
     * Gets the unique identifier value of the column. It is used to get the column object.
     *
     * @default 'undefined'
     */
    uid: string;
    /**
     * If `allowEditing` set to false, then it disables editing of a particular column.
     * By default all columns are editable.
     *
     * @default true
     */
    allowEditing: boolean;
    /**
     * If `showCheckbox` set to true, then the checkboxes will be displayed in particular column.
     *
     * @default false
     */
    showCheckbox: boolean;
    /**
     * Defines the custom sort comparer function.
     * The sort comparer function has the same functionality like
     * [`Array.sort`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort) sort comparer.
     * {% codeBlock src="grid/sort-comparer-api/index.ts" %}{% endcodeBlock %}
     */
    sortComparer: grids.SortComparer | string;
    /**
     * If `isPrimaryKey` is set to true, considers this column as the primary key constraint.
     *
     * @default false
     */
    isPrimaryKey: boolean;
    /**
     * @hidden
     * Defines the commands column template as string or HTML element ID which is used to add
     * customized command buttons in each cells of the column.
     */
    commandsTemplate: string;
    /**
     * `commands` provides an option to display command buttons in every cell.
     * The available built-in command buttons are
     * * Edit - Edit the record.
     * * Delete - Delete the record.
     * * Save - Save the record.
     * * Cancel - Cancel the edit state.
     *
     * @default null
     */
    commands: grids.CommandModel[];
    /**
     * Defines the width of the column in pixels or percentage.
     *
     * @default 'undefined'
     */
    width: string | number;
    /**
     * Defines the type of component for editable.
     *
     * @default 'stringedit'
     */
    editType: string;
    /**
     * Defines rules to validate data before creating and updating.
     *
     * @default null
     */
    validationRules: Object;
    /**
     * Defines default values for the component when adding a new record to the TreeGrid.
     *
     * @default null
     */
    defaultValue: string;
    /**
     * Defines the `grids.IEditCell` object to customize default edit cell.
     *
     * @default {}
     */
    edit: grids.IEditCell;
    /**
     * Defines the cell edit template that used as editor for a particular column.
     * It accepts either template string or HTML element ID.
     *
     * @default null
     * @aspIgnore
     */
    editTemplate: string;
    /**
     * Defines the filter template/UI that used as filter for a particular column.
     * It accepts either template string or HTML element ID.
     *
     * @default null
     * @aspIgnore
     */
    filterTemplate: string;
    /**
     * If `isIdentity` is set to true, then this column is considered as identity column.
     *
     * @default false
     */
    isIdentity: boolean;
    /**
     * Defines the minimum Width of the column in pixels or percentage.
     *
     * @default 'undefined'
     */
    minWidth: string | number;
    /**
     * Defines the maximum width of the column in pixel or percentage, which will restrict resizing beyond this pixel or percentage.
     *
     * @default 'undefined'
     */
    maxWidth: string | number;
    /**
     * Defines the alignment of the column in both header and content cells.
     *
     * @default Left
     */
    textAlign: grids.TextAlign;
    /**
     * Defines the cell content's overflow mode. The available modes are
     * * `Clip` -  Truncates the cell content when it overflows its area.
     * * `Ellipsis` -  Displays ellipsis when the cell content overflows its area.
     * * `EllipsisWithTooltip` - Displays ellipsis when the cell content overflows its area
     * also it will display tooltip while hover on ellipsis applied cell.
     *
     * @default Ellipsis
     */
    clipMode: grids.ClipMode;
    /**
     * Define the alignment of column header which is used to align the text of column header.
     *
     * @default null
     */
    headerTextAlign: grids.TextAlign;
    /**
     * If `disableHtmlEncode` is set to true, it encodes the HTML of the header and content cells.
     *
     * @default true
     */
    disableHtmlEncode: boolean;
    /**
     * Defines the data type of the column.
     *
     * @default null
     */
    type: string;
    /**
     * It is used to change display value with the given format and does not affect the original data.
     * Gets the format from the user which can be standard or custom
     * [`number`](../../../common/internationalization/#supported-format-string)
     * and [`date`](../../../common/internationalization/#supported-format-string-1) formats.
     *
     * @default null
     * @aspType string
     */
    format: string | base.NumberFormatOptions | base.DateFormatOptions;
    /**
     * If `visible` is set to false, hides the particular column. By default, columns are displayed.
     *
     * @default true
     */
    visible: boolean;
    /**
     * Defines the column template that renders customized element in each cell of the column.
     * It accepts either [template string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals)
     * or HTML element ID.
     *
     * @default null
     */
    template: string;
    /**
     * Defines the header template as string or HTML element ID which is used to add customized element in the column header.
     *
     * @default null
     */
    headerTemplate: string;
    /**
     * You can use this property to freeze selected columns in treegrid
     *
     * @default false
     */
    isFrozen: boolean;
    /**
     * The CSS styles and attributes of the content cells of a particular column can be customized.
     *
     * @default null
     */
    customAttributes: {
        [x: string]: Object;
    };
    /**
     * If `displayAsCheckBox` is set to true, it displays the column value as a check box instead of Boolean value.
     *
     * @default false
     */
    displayAsCheckBox: boolean;
    /**
     * If `allowReordering` set to false, then it disables reorder of a particular column.
     * By default all columns can be reorder.
     *
     * @default true
     */
    allowReordering: boolean;
    /**
     * If `showColumnMenu` set to false, then it disable the column menu of a particular column.
     * By default column menu will show for all columns
     *
     * @default true
     */
    showColumnMenu: boolean;
    /**
     * If `allowFiltering` set to false, then it disables filtering option and filter bar element of a particular column.
     * By default all columns are filterable.
     *
     * @default true
     */
    allowFiltering: boolean;
    /**
     * If `allowSorting` set to false, then it disables sorting option of a particular column.
     * By default all columns are sortable.
     *
     * @default true
     */
    allowSorting: boolean;
    /**
     * If `allowResizing` is set to false, it disables resize option of a particular column.
     * By default all the columns can be resized.
     *
     * @default true
     */
    allowResizing: boolean;
    /**
     * Defines the method which is used to achieve custom formatting from an external function.
     * This function triggers before rendering of each cell.
     *
     * @default null
     */
    formatter: {
        new (): ITreeGridCellFormatter;
    } | ITreeGridCellFormatter | Function;
    /**
     * Defines the method used to apply custom cell values from external function and display this on each cell rendered.
     *
     * @default null
     */
    valueAccessor: grids.ValueAccessor | string;
    /**
     * Used to render multiple header rows(stacked headers) on the TreeGrid header.
     *
     * @default null
     */
    columns: Column[] | string[] | ColumnModel[];
    /**
     * Column visibility can change based on [`Media Queries`](http://cssmediaqueries.com/what-are-css-media-queries.html).
     * `hideAtMedia` accepts only valid Media Queries.
     *
     * @default 'undefined'
     */
    hideAtMedia: string;
    /**
     * If `showInColumnChooser` set to false, then hide the particular column in column chooser.
     *  By default all columns are displayed in column Chooser.
     *
     * @default true
     */
    showInColumnChooser?: boolean;
    /**
     * The `filterBarTemplate` is used to add a custom component instead of default input component for filter bar.
     * It have create and read functions.
     * * create: It is used for creating custom components.
     * * read: It is used to perform custom filter action.
     *
     *
     * @default null
     */
    filterBarTemplate: grids.IFilterUI;
    /**
     *  It is used to customize the default filter options for a specific columns.
     * * type -  Specifies the filter type as menu.
     * * ui - to render custom component for specific column it has following functions.
     * * ui.create – It is used for creating custom components.
     * * ui.read -  It is used for read the value from the component.
     * * ui.write - It is used to apply component model as dynamically.
     *
     *  @default null
     */
    filter: grids.IFilter;
    /**
     * If `lockColumn` set to true, then it disables Reordering of a particular column.
     * The locked column will be moved to first position.
     *
     * @default false
     */
    lockColumn: boolean;
    /**
     * defines which side the column need to freeze
     * The available built-in freeze directions are
     * * Left - Freeze the column at left side.
     * * Right - Freeze the column at right side.
     *
     * @default null
     */
    freeze: grids.freezeDirection;
    private parent;
    constructor(options: ColumnModel);
    /**
     * Update the State changes reflected for TreeGrid columndirective in react platform.
     *
     * @param {Column} column - specifies the column
     * @returns {void}
     * @hidden
     */
    private setProperties;
}
/**
 * Interface for a TreeGrid class Column
 */
export interface ColumnModel {
    /**
     * Defines the field name of column which is mapped with mapping name of DataSource.
     * The bounded columns can be sort, filter etc.,
     * The `field` name must be a valid JavaScript identifier,
     * the first character must be an alphabet and should not contain spaces and special characters.
     *
     * @default 'undefined'
     */
    field?: string;
    /**
     * Gets the unique identifier value of the column. It is used to get the object.
     *
     * @default 'undefined'
     */
    uid?: string;
    /**
     * Defines the header text of column which is used to display in column header.
     * If `headerText` is not defined, then field name value will be assigned to header text.
     *
     * @default 'undefined'
     */
    headerText?: string;
    /**
     * Defines the width of the column in pixels or percentage.
     *
     * @default 'undefined'
     */
    width?: string | number;
    /**
     * Defines the minimum width of the column in pixels or percentage.
     *
     * @default 'undefined'
     */
    minWidth?: string | number;
    /**
     * Defines the sort comparer property.
     *
     * @default 'undefined'
     */
    sortComparer?: grids.SortComparer | string;
    /**
     * Defines the maximum width of the column in pixels or percentage, which will restrict resizing beyond this pixels or percentage.
     *
     * @default 'undefined'
     */
    maxWidth?: string | number;
    /**
     * Defines the alignment of the column in both header and content cells.
     *
     * @default Syncfusion.EJ2.Grids.grids.TextAlign.Left
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.TextAlign
     */
    textAlign?: grids.TextAlign;
    /**
     * Used to render multiple header rows(stacked headers) on TreeGrid header.
     *
     * @default null
     */
    columns?: Column[] | string[] | ColumnModel[];
    /**
     * Defines the cell content's overflow mode. The available modes are
     * * `Clip` -  Truncates the cell content when it overflows its area.
     * * `Ellipsis` -  Displays ellipsis when the cell content overflows its area.
     * * `EllipsisWithTooltip` - Displays ellipsis when the cell content overflows its area
     * also it will display tooltip while hover on ellipsis applied cell.
     *
     * @default Syncfusion.EJ2.Grids.grids.ClipMode.Ellipsis
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.ClipMode
     */
    clipMode?: grids.ClipMode;
    /**
     * Define the alignment of column header which is used to align the text of column header.
     *
     * @default null
     * @aspDefaultValueIgnore
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.TextAlign
     */
    headerTextAlign?: grids.TextAlign;
    /**
     * If `disableHtmlEncode` is set to true, it encodes the HTML of the header and content cells.
     *
     * @default true
     */
    disableHtmlEncode?: boolean;
    /**
     * Defines the data type of the column.
     *
     * @default null
     */
    type?: string;
    /**
     * If `allowReordering` set to false, then it disables reorder of a particular column.
     * By default all columns can be reorder.
     *
     * @default true
     */
    allowReordering?: boolean;
    /**
     * If `allowFiltering` set to false, then it disables filtering option and filter bar element of a particular column.
     * By default all columns are filterable.
     *
     * @default true
     */
    allowFiltering?: boolean;
    /**
     * If `allowSorting` set to false, then it disables sorting option of a particular column.
     * By default all columns are sortable.
     *
     * @default true
     */
    allowSorting?: boolean;
    /**
     * If `showColumnMenu` set to false, then it disable the column menu of a particular column.
     * By default column menu will show for all columns
     *
     * @default true
     */
    showColumnMenu?: boolean;
    /**
     * If `allowResizing` set to false, it disables resize option of a particular column.
     *
     * @default true
     */
    allowResizing?: boolean;
    /**
     * It is used to change display value with the given format and does not affect the original data.
     * Gets the format from the user which can be standard or custom
     * [`number`](../../../common/internationalization/#supported-format-string)
     * and [`date`](../../../common/internationalization/#supported-format-string-1) formats.
     *
     * @default null
     * @aspType string
     */
    format?: string | base.NumberFormatOptions | base.DateFormatOptions;
    /**
     * If `visible` is set to false, hides the particular column. By default, columns are displayed.
     *
     * @default true
     */
    visible?: boolean;
    /**
     * @hidden
     * Defines the commands column template as string or HTML element ID which is used to add
     * customized command buttons in each cells of the column.
     */
    commandsTemplate?: string;
    /**
     * `commands` provides an option to display command buttons in every cell.
     * The available built-in command buttons are
     * * Edit - Edit the record.
     * * Delete - Delete the record.
     * * Save - Save the record.
     * * Cancel - Cancel the edit state.
     *
     * The following code example implements the custom command column.
     * ```html
     * <style type="text/css" class="cssStyles">
     * .details-icon:before
     * {
     *    content:"\e74d";
     * }
     * </style>
     * <div id="TreeGrid"></div>
     * ```
     * ```typescript
     * var gridObj = new TreeGrid({
     * datasource: window.gridData,
     * columns : [
     *  { field: 'CustomerID', headerText: 'Customer ID' },
     *  { field: 'CustomerName', headerText: 'Customer Name' },
     *  {commands: [{buttonOption:{content: 'Details', click: onClick, cssClass: details-icon}}], headerText: 'Customer Details'}
     * ]
     * gridObj.appendTo("#TreeGrid");
     * ```
     *
     * @default null
     */
    commands?: grids.CommandModel[];
    /**
     * Defines the column template that renders customized element in each cell of the column.
     * It accepts either [template string](../../../common/template-engine/) or HTML element ID.
     *
     * @default null
     */
    template?: string;
    /**
     * Defines the header template as string or HTML element ID which is used to add customized element in the column header.
     *
     * @default null
     */
    headerTemplate?: string;
    /**
     * You can use this property to freeze selected columns in grid.
     *
     * @default false
     */
    isFrozen?: boolean;
    /**
     * The CSS styles and attributes of the content cells of a particular column can be customized.
     *
     * @default null
     */
    customAttributes?: {
        [x: string]: Object;
    };
    /**
     * If `displayAsCheckBox` is set to true, it displays the column value as a check box instead of Boolean value.
     *
     * @default false
     */
    displayAsCheckBox?: boolean;
    /**
     * Defines the method which is used to achieve custom formatting from an external function.
     * This function triggers before rendering of each cell.
     *
     * @default null
     */
    formatter?: {
        new (): ITreeGridCellFormatter;
    } | ITreeGridCellFormatter | Function;
    /**
     * If `showInColumnChooser` set to false, then hide the particular column in column chooser.
     *  By default all columns are displayed in column Chooser.
     *
     * @default true
     */
    showInColumnChooser?: boolean;
    /**
     * Defines the method used to apply custom cell values from external function and display this on each cell rendered.
     *
     * @default null
     */
    valueAccessor?: grids.ValueAccessor | string;
    /**
     * Column visibility can change based on [`Media Queries`](http://cssmediaqueries.com/what-are-css-media-queries.html).
     * `hideAtMedia` accepts only valid Media Queries.
     *
     * @default 'undefined'
     */
    hideAtMedia?: string;
    /**
     * The `filterBarTemplate` is used to add a custom component instead of default input component for filter bar.
     * It have create and read functions.
     * * create: It is used for creating custom components.
     * * read: It is used to perform custom filter action.
     *
     * ```html
     * <div id="TreeGrid"></div>
     * ```
     * ```typescript
     * let gridObj: TreeGrid = new TreeGrid({
     * dataSource: filterData,
     * columns: [
     *   { field: 'OrderID', headerText: 'Order ID' },
     *   {
     *      field: 'EmployeeID', filterBarTemplate: {
     *         create: (args: { element: Element, column: Column }) => {
     *              let input: HTMLInputElement = document.createElement('input');
     *              input.id = 'EmployeeID';
     *              input.type = 'text';
     *              return input;
     *         },
     *         write: (args: { element: Element, column: Column }) => {
     *             args.element.addEventListener('input', args.column.filterBarTemplate.read as EventListener);
     *         },
     *         read: (args: { element: HTMLInputElement, columnIndex: number, column: Column }) => {
     *             gridObj.filterByColumn(args.element.id, 'equal', args.element.value);
     *        }
     *     }
     *  }],
     *   allowFiltering: true
     * });
     * gridObj.appendTo('#TreeGrid');
     * ```
     *
     * @default null
     */
    filterBarTemplate?: grids.IFilterUI;
    /**
     *  Defines the filter options to customize filtering for the particular column.
     *
     *  @default null
     */
    filter?: grids.IFilter;
    /**
     * If `isPrimaryKey` is set to true, considers this column as the primary key constraint.
     *
     * @default false
     */
    isPrimaryKey?: boolean;
    /**
     * If `showCheckbox` set to true, then the checkboxes will be displayed in particular column.
     *
     * @default false
     */
    showCheckbox?: boolean;
    /**
     * Defines the type of component for editing.
     *
     * @default 'stringedit'
     */
    editType?: string;
    /**
     * Defines default values for the component when adding a new record to the TreeGrid.
     *
     * @default null
     */
    defaultValue?: string;
    /**
     * Defines the `grids.IEditCell` object to customize default edit cell.
     *
     * @default {}
     */
    edit?: grids.IEditCell;
    /**
     * Defines the cell edit template that used as editor for a particular column.
     * It accepts either template string or HTML element ID.
     *
     * @aspIgnore
     */
    editTemplate?: string;
    /**
     * Defines the filter template/UI that is used as filter for a particular column.
     * It accepts either template string or HTML element ID.
     *
     * @aspIgnore
     */
    filterTemplate?: string;
    /**
     * If `isIdentity` is set to true, then this column is considered as identity column.
     *
     * @default false
     */
    isIdentity?: boolean;
    /**
     * Defines rules to validate data before creating and updating.
     *
     * @default null
     */
    validationRules?: Object;
    /**
     * If `allowEditing` set to false, then it disables editing of a particular column.
     * By default all columns are editable.
     *
     * @default true
     */
    allowEditing?: boolean;
    /**
     * If `lockColumn` set to true, then it disables Reordering of a particular column.
     * The locked column will be moved to first position.
     *
     * @default false
     */
    lockColumn?: boolean;
    /**
     * Defines which side the column need to freeze
     *
     * @default Syncfusion.EJ2.Grids.FreezeDirection.None
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.FreezeDirection
     */
    freeze?: grids.freezeDirection;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/models/edit-settings-model.d.ts
/**
 * Interface for a class EditSettings
 */
export interface EditSettingsModel {
    /**
     * If `allowAdding` is set to true, new records can be added to the TreeGrid.
     *
     * @default false
     */
    allowAdding?: boolean;
    /**
     * If `allowEditing` is set to true, values can be updated in the existing record.
     *
     * @default false
     */
    allowEditing?: boolean;
    /**
     * If `allowDeleting` is set to true, existing record can be deleted from the TreeGrid.
     *
     * @default false
     */
    allowDeleting?: boolean;
    /**
     * Defines the mode to edit. The available editing modes are:
     * * Cell
     * * Row
     * * Dialog
     * * Batch
     *
     * @default Cell
     * @isEnumeration true
     */
    mode?: EditMode;
    /**
     * Defines the row position for new records. The available row positions are:
     * * Top
     * * Bottom
     * * Above
     * * Below
     * * Child
     * {% codeBlock src='treegrid/newRowPosition/index.md' %}{% endcodeBlock %}
     *
     * @default Top
     */
    newRowPosition?: RowPosition;
    /**
     * If `allowEditOnDblClick` is set to false, TreeGrid will not allow editing of a record on double click.
     *
     * @default true
     */
    allowEditOnDblClick?: boolean;
    /**
     * if `showConfirmDialog` is set to false, confirm dialog does not show when batch changes are saved or discarded.
     *
     * @default true
     */
    showConfirmDialog?: boolean;
    /**
     * If `showDeleteConfirmDialog` is set to true, confirm dialog will show delete action. You can also cancel delete command.
     *
     * @default false
     */
    showDeleteConfirmDialog?: boolean;
    /**
     * Defines the custom edit elements for the dialog template.
     *
     * @default ''
     */
    template?: string;
    /**
     * Defines the dialog params to edit.
     *
     * @default {}
     */
    dialog?: grids.IDialogUI;
    /**
     * If `allowNextRowEdit` is set as true, editing is continued to next row with keyboard navigation.
     *
     * @default false
     */
    allowNextRowEdit?: boolean;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/models/edit-settings.d.ts
/**
 * Configures the edit behavior of the TreeGrid.
 */
export  class EditSettings extends base.ChildProperty<EditSettings> {
    /**
     * If `allowAdding` is set to true, new records can be added to the TreeGrid.
     *
     * @default false
     */
    allowAdding: boolean;
    /**
     * If `allowEditing` is set to true, values can be updated in the existing record.
     *
     * @default false
     */
    allowEditing: boolean;
    /**
     * If `allowDeleting` is set to true, existing record can be deleted from the TreeGrid.
     *
     * @default false
     */
    allowDeleting: boolean;
    /**
     * Defines the mode to edit. The available editing modes are:
     * * Cell
     * * Row
     * * Dialog
     * * Batch
     *
     * @default Cell
     * @isEnumeration true
     */
    mode: EditMode;
    /**
     * Defines the row position for new records. The available row positions are:
     * * Top
     * * Bottom
     * * Above
     * * Below
     * * Child
     * {% codeBlock src='treegrid/newRowPosition/index.md' %}{% endcodeBlock %}
     *
     * @default Top
     */
    newRowPosition: RowPosition;
    /**
     * If `allowEditOnDblClick` is set to false, TreeGrid will not allow editing of a record on double click.
     *
     * @default true
     */
    allowEditOnDblClick: boolean;
    /**
     * if `showConfirmDialog` is set to false, confirm dialog does not show when batch changes are saved or discarded.
     *
     * @default true
     */
    showConfirmDialog: boolean;
    /**
     * If `showDeleteConfirmDialog` is set to true, confirm dialog will show delete action. You can also cancel delete command.
     *
     * @default false
     */
    showDeleteConfirmDialog: boolean;
    /**
     * Defines the custom edit elements for the dialog template.
     *
     * @default ''
     */
    template: string;
    /**
     * Defines the dialog params to edit.
     *
     * @default {}
     */
    dialog: grids.IDialogUI;
    /**
     * If `allowNextRowEdit` is set as true, editing is continued to next row with keyboard navigation.
     *
     * @default false
     */
    allowNextRowEdit: boolean;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/models/filter-settings-model.d.ts
/**
 * Interface for a class Predicate
 */
export interface PredicateModel {
    /**
     * Defines the field name of the filter column in Tree Grid.
     *
     * @default ''
     */
    field?: string;
    /**
     * Defines the operator to filter Tree Grid records. The available operators and its supported data types are:
     * <table>
     * <tr>
     * <td colspan=1 rowspan=1>
     * Operator<br/></td><td colspan=1 rowspan=1>
     * Description<br/></td><td colspan=1 rowspan=1>
     * Supported Types<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * startswith<br/></td><td colspan=1 rowspan=1>
     * Checks whether the value begins with the specified value.<br/></td><td colspan=1 rowspan=1>
     * String<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * endswith<br/></td><td colspan=1 rowspan=1>
     * Checks whether the value ends with the specified value.<br/><br/></td><td colspan=1 rowspan=1>
     * <br/>String<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * contains<br/></td><td colspan=1 rowspan=1>
     * Checks whether the value contains the specified value.<br/><br/></td><td colspan=1 rowspan=1>
     * <br/>String<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * equal<br/></td><td colspan=1 rowspan=1>
     * Checks whether the value is equal to the specified value.<br/><br/></td><td colspan=1 rowspan=1>
     * <br/>String | Number | Boolean | Date<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * notequal<br/></td><td colspan=1 rowspan=1>
     * Checks for values that are not equal to the specified value.<br/><br/></td><td colspan=1 rowspan=1>
     * <br/>String | Number | Boolean | Date<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * greaterthan<br/></td><td colspan=1 rowspan=1>
     * Checks whether the value is greater than the specified value.<br/><br/></td><td colspan=1 rowspan=1>
     * Number | Date<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * greaterthanorequal<br/></td><td colspan=1 rowspan=1>
     * Checks whether the value is greater than or equal to the specified value.<br/><br/></td><td colspan=1 rowspan=1>
     * <br/>Number | Date<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * lessthan<br/></td><td colspan=1 rowspan=1>
     * Checks whether the value is less than the specified value.<br/><br/></td><td colspan=1 rowspan=1>
     * <br/>Number | Date<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * lessthanorequal<br/></td><td colspan=1 rowspan=1>
     * Checks whether the value is less than or equal to the specified value.<br/><br/></td><td colspan=1 rowspan=1>
     * <br/>Number | Date<br/></td></tr>
     * </table>
     *
     * @default null
     */
    operator?: string;
    /**
     * Defines the value used to filter records in Tree Grid.
     *
     * @default ''
     */
    value?: string | number | Date | boolean;
    /**
     * If match case set to true, then filter records with exact match or else
     * filter records with case insensitive(uppercase and lowercase letters treated as same) in Tree Grid.
     *
     * @default null
     */
    matchCase?: boolean;
    /**
     * If ignoreAccent is set to true, then filter ignores the diacritic characters or accents while filtering in Tree Grid.
     *
     * @default false
     */
    ignoreAccent?: boolean;
    /**
     * Defines relationship between one filter query and another by using AND or OR predicate.
     *
     * @default null
     */
    predicate?: string;
    /**
     * @hidden
     * Defines the actual filter value for the filter column in Tree Grid.
     */
    actualFilterValue?: Object;
    /**
     * @hidden
     * Defines the actual filter operator for the filter column in Tree Grid.
     */
    actualOperator?: Object;
    /**
     * @hidden
     * Defines the type of the filter column in Tree Grid.
     */
    type?: string;
    /**
     * @hidden
     * Defines the predicate of filter column in Tree Grid.
     */
    ejpredicate?: Object;
    /**
     * @hidden
     * Defines the UID of filter column.
     */
    uid?: string;
    /**
     * @hidden
     * Defines the foreignKey availability in filtered columns.
     */
    isForeignKey?: boolean;
}
/**
 * Interface for a class FilterSettings
 */
export interface FilterSettingsModel {
    /**
     * Specifies the columns to be filtered at initial rendering of the TreeGrid. You can also get the columns that were currently filtered.
     *
     * @default []
     */
    columns?: PredicateModel[];
    /**
     * Defines options for filtering type. The available options are
     * * `Menu` - Specifies the filter type as menu.
     * * `FilterBar` - Specifies the filter type as filterbar.
     *
     * @default FilterBar
     */
    type?: grids.FilterType;
    /**
     * Defines the filter bar modes. The available options are,
     * * `OnEnter`: Initiates filter operation after Enter key is pressed.
     * * `Immediate`: Initiates filter operation after a certain time interval. By default, time interval is 1500 ms.
     *
     * @default Syncfusion.EJ2.Grids.grids.FilterBarMode.OnEnter
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.FilterBarMode
     */
    mode?: grids.FilterBarMode;
    /**
     * Shows or hides the filtered status message on the pager.
     *
     * @default true
     */
    showFilterBarStatus?: boolean;
    /**
     * Defines the time delay (in milliseconds) in filtering records when the `Immediate` mode of filter bar is set.
     *
     * @default 1500
     */
    immediateModeDelay?: number;
    /**
     * The `operators` is used to override the default operators in filter menu. This should be defined by type wise
     * (string, number, date and boolean). Based on the column type, this customize operator list will render in filter menu.
     *
     * > Check the `Filter Menu Operator` customization.
     *
     * @default null
     */
    operators?: grids.ICustomOptr;
    /**
     * If ignoreAccent set to true, then filter ignores the diacritic characters or accents while filtering.
     *
     * > Check the [`Diacritics`](../../treegrid/filtering/#diacritics/) filtering.
     *
     * @default false
     */
    ignoreAccent?: boolean;
    /**
     * Defines the filter types. The available options are,
     * `Parent`: Shows the filtered record with parent record.
     * `Child`: Shows the filtered record with child record.
     * `Both` : shows the filtered record with both parent and child record.
     * `None` : Shows only filtered record.
     * {% codeBlock src='treegrid/hierarchyMode/index.md' %}{% endcodeBlock %}
     *
     * @default Parent
     */
    hierarchyMode?: FilterHierarchyMode;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/models/filter-settings.d.ts
/**
 * Represents the Tree Grid predicate for the filter column.
 */
export  class Predicate extends base.ChildProperty<Predicate> {
    /**
     * Defines the field name of the filter column in Tree Grid.
     *
     * @default ''
     */
    field: string;
    /**
     * Defines the operator to filter Tree Grid records. The available operators and its supported data types are:
     * <table>
     * <tr>
     * <td colspan=1 rowspan=1>
     * Operator<br/></td><td colspan=1 rowspan=1>
     * Description<br/></td><td colspan=1 rowspan=1>
     * Supported Types<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * startswith<br/></td><td colspan=1 rowspan=1>
     * Checks whether the value begins with the specified value.<br/></td><td colspan=1 rowspan=1>
     * String<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * endswith<br/></td><td colspan=1 rowspan=1>
     * Checks whether the value ends with the specified value.<br/><br/></td><td colspan=1 rowspan=1>
     * <br/>String<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * contains<br/></td><td colspan=1 rowspan=1>
     * Checks whether the value contains the specified value.<br/><br/></td><td colspan=1 rowspan=1>
     * <br/>String<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * equal<br/></td><td colspan=1 rowspan=1>
     * Checks whether the value is equal to the specified value.<br/><br/></td><td colspan=1 rowspan=1>
     * <br/>String | Number | Boolean | Date<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * notequal<br/></td><td colspan=1 rowspan=1>
     * Checks for values that are not equal to the specified value.<br/><br/></td><td colspan=1 rowspan=1>
     * <br/>String | Number | Boolean | Date<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * greaterthan<br/></td><td colspan=1 rowspan=1>
     * Checks whether the value is greater than the specified value.<br/><br/></td><td colspan=1 rowspan=1>
     * Number | Date<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * greaterthanorequal<br/></td><td colspan=1 rowspan=1>
     * Checks whether the value is greater than or equal to the specified value.<br/><br/></td><td colspan=1 rowspan=1>
     * <br/>Number | Date<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * lessthan<br/></td><td colspan=1 rowspan=1>
     * Checks whether the value is less than the specified value.<br/><br/></td><td colspan=1 rowspan=1>
     * <br/>Number | Date<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * lessthanorequal<br/></td><td colspan=1 rowspan=1>
     * Checks whether the value is less than or equal to the specified value.<br/><br/></td><td colspan=1 rowspan=1>
     * <br/>Number | Date<br/></td></tr>
     * </table>
     *
     * @default null
     */
    operator: string;
    /**
     * Defines the value used to filter records in Tree Grid.
     *
     * @default ''
     */
    value: string | number | Date | boolean;
    /**
     * If match case set to true, then filter records with exact match or else
     * filter records with case insensitive(uppercase and lowercase letters treated as same) in Tree Grid.
     *
     * @default null
     */
    matchCase: boolean;
    /**
     * If ignoreAccent is set to true, then filter ignores the diacritic characters or accents while filtering in Tree Grid.
     *
     * @default false
     */
    ignoreAccent: boolean;
    /**
     * Defines relationship between one filter query and another by using AND or OR predicate.
     *
     * @default null
     */
    predicate: string;
    /**
     * @hidden
     * Defines the actual filter value for the filter column in Tree Grid.
     */
    actualFilterValue: Object;
    /**
     * @hidden
     * Defines the actual filter operator for the filter column in Tree Grid.
     */
    actualOperator: Object;
    /**
     * @hidden
     * Defines the type of the filter column in Tree Grid.
     */
    type: string;
    /**
     * @hidden
     * Defines the predicate of filter column in Tree Grid.
     */
    ejpredicate: Object;
    /**
     * @hidden
     * Defines the UID of filter column.
     */
    uid: string;
    /**
     * @hidden
     * Defines the foreignKey availability in filtered columns.
     */
    isForeignKey: boolean;
}
/**
 * Configures the filtering behavior of the TreeGrid.
 */
export  class FilterSettings extends base.ChildProperty<FilterSettings> {
    /**
     * Specifies the columns to be filtered at initial rendering of the TreeGrid. You can also get the columns that were currently filtered.
     *
     * @default []
     */
    columns: PredicateModel[];
    /**
     * Defines options for filtering type. The available options are
     * * `Menu` - Specifies the filter type as menu.
     * * `FilterBar` - Specifies the filter type as filterbar.
     *
     * @default FilterBar
     */
    type: grids.FilterType;
    /**
     * Defines the filter bar modes. The available options are,
     * * `OnEnter`: Initiates filter operation after Enter key is pressed.
     * * `Immediate`: Initiates filter operation after a certain time interval. By default, time interval is 1500 ms.
     *
     * @default Syncfusion.EJ2.Grids.grids.FilterBarMode.OnEnter
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.FilterBarMode
     */
    mode: grids.FilterBarMode;
    /**
     * Shows or hides the filtered status message on the pager.
     *
     * @default true
     */
    showFilterBarStatus: boolean;
    /**
     * Defines the time delay (in milliseconds) in filtering records when the `Immediate` mode of filter bar is set.
     *
     * @default 1500
     */
    immediateModeDelay: number;
    /**
     * The `operators` is used to override the default operators in filter menu. This should be defined by type wise
     * (string, number, date and boolean). Based on the column type, this customize operator list will render in filter menu.
     *
     * > Check the `Filter Menu Operator` customization.
     *
     * @default null
     */
    operators: grids.ICustomOptr;
    /**
     * If ignoreAccent set to true, then filter ignores the diacritic characters or accents while filtering.
     *
     * > Check the [`Diacritics`](../../treegrid/filtering/#diacritics/) filtering.
     *
     * @default false
     */
    ignoreAccent: boolean;
    /**
     * Defines the filter types. The available options are,
     * `Parent`: Shows the filtered record with parent record.
     * `Child`: Shows the filtered record with child record.
     * `Both` : shows the filtered record with both parent and child record.
     * `None` : Shows only filtered record.
     * {% codeBlock src='treegrid/hierarchyMode/index.md' %}{% endcodeBlock %}
     *
     * @default Parent
     */
    hierarchyMode: FilterHierarchyMode;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/models/index.d.ts
/**
 * Models export
 */
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/models/infinite-scroll-settings-model.d.ts
/**
 * Interface for a class InfiniteScrollSettings
 */
export interface InfiniteScrollSettingsModel {
    /**
     * If `enableCache` is set to true, the Tree Grid will cache the loaded data to be reused next time it is needed.
     *
     * @default false
     */
    enableCache?: boolean;
    /**
     * Defines the number of blocks to be maintained in Tree Grid while settings enableCache as true.
     *
     * @default 3
     */
    maxBlocks?: number;
    /**
     * Defines the number of blocks will render at the initial Tree Grid rendering while enableCache is enabled.
     *
     * @default 3
     */
    initialBlocks?: number;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/models/infinite-scroll-settings.d.ts
/**
 * Configures the infinite scroll behavior of Tree Grid.
 */
export  class InfiniteScrollSettings extends base.ChildProperty<grids.InfiniteScrollSettings> {
    /**
     * If `enableCache` is set to true, the Tree Grid will cache the loaded data to be reused next time it is needed.
     *
     * @default false
     */
    enableCache: boolean;
    /**
     * Defines the number of blocks to be maintained in Tree Grid while settings enableCache as true.
     *
     * @default 3
     */
    maxBlocks: number;
    /**
     * Defines the number of blocks will render at the initial Tree Grid rendering while enableCache is enabled.
     *
     * @default 3
     */
    initialBlocks: number;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/models/page-settings-model.d.ts
/**
 * Interface for a class PageSettings
 */
export interface PageSettingsModel {
    /**
     * Defines the number of records to be displayed in TreeGrid per page.
     *
     * @default 12
     */
    pageSize?: number;
    /**
     * Defines the number of pages to be displayed in the TreeGrid pager container.
     *
     * @default 8
     */
    pageCount?: number;
    /**
     * Defines the current page number of the pager in TreeGrid.
     *
     * @default 1
     */
    currentPage?: number;
    /**
     * @hidden
     * Gets the total records count of the TreeGrid.
     */
    totalRecordsCount?: number;
    /**
     * If `enableQueryString` set to true,
     * then it pass current page information as a query string along with the URL while navigating to other page in TreeGrid.
     *
     * @default false
     */
    enableQueryString?: boolean;
    /**
     * If `pageSizes` set to true or Array of values,
     * It renders DropDownList in the pager of TreeGrid which allow us to select pageSize from DropDownList.
     *
     * @default false
     */
    pageSizes?: boolean | (number | string)[];
    /**
     * Defines the template which renders customized elements in pager of TreeGrid instead of default elements.
     * It accepts either [template string](../../../common/template-engine/) or HTML element ID.
     *
     * @default null
     */
    template?: string;
    /**
     * Specifies the mode of record count in a page. The options are,
     * * `All`: Count all the records.
     * * `Root`: Count only zeroth level parent records.
     *
     * @default All
     */
    pageSizeMode?: PageSizeMode;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/models/page-settings.d.ts
/**
 * Configures the paging behavior of the TreeGrid.
 */
export  class PageSettings extends base.ChildProperty<PageSettings> {
    /**
     * Defines the number of records to be displayed in TreeGrid per page.
     *
     * @default 12
     */
    pageSize: number;
    /**
     * Defines the number of pages to be displayed in the TreeGrid pager container.
     *
     * @default 8
     */
    pageCount: number;
    /**
     * Defines the current page number of the pager in TreeGrid.
     *
     * @default 1
     */
    currentPage: number;
    /**
     * @hidden
     * Gets the total records count of the TreeGrid.
     */
    totalRecordsCount: number;
    /**
     * If `enableQueryString` set to true,
     * then it pass current page information as a query string along with the URL while navigating to other page in TreeGrid.
     *
     * @default false
     */
    enableQueryString: boolean;
    /**
     * If `pageSizes` set to true or Array of values,
     * It renders DropDownList in the pager of TreeGrid which allow us to select pageSize from DropDownList.
     *
     * @default false
     */
    pageSizes: boolean | (number | string)[];
    /**
     * Defines the template which renders customized elements in pager of TreeGrid instead of default elements.
     * It accepts either [template string](../../../common/template-engine/) or HTML element ID.
     *
     * @default null
     */
    template: string;
    /**
     * Specifies the mode of record count in a page. The options are,
     * * `All`: Count all the records.
     * * `Root`: Count only zeroth level parent records.
     *
     * @default All
     */
    pageSizeMode: PageSizeMode;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/models/rowdrop-settings-model.d.ts
/**
 * Interface for a class RowDropSettings
 */
export interface RowDropSettingsModel {
    /**
     * Defines the ID of droppable component on which row drop should occur.
     *
     * @default null
     */
    targetID?: string;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/models/rowdrop-settings.d.ts
/**
 * Configures the row drop settings of the TreeGrid.
 */
export  class RowDropSettings extends base.ChildProperty<RowDropSettings> {
    /**
     * Defines the ID of droppable component on which row drop should occur.
     *
     * @default null
     */
    targetID: string;
}
export interface TreeActionEventArgs {
    requestType?: string;
    data?: ITreeData | ITreeData[];
    row?: Object[];
    cancel?: boolean;
    /** Defines the corresponding action */
    action?: string;
    /** Defines the target element from index. */
    dropIndex?: number;
    /** Defines drop position of the dragged record */
    dropPosition?: string;
    /** Defines the modified records. */
    modifiedRecords?: ITreeData[];
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/models/search-settings-model.d.ts
/**
 * Interface for a class SearchSettings
 */
export interface SearchSettingsModel {
    /**
     * Specifies the columns to be searched at initial rendering of the TreeGrid. You can also get the columns that were currently filtered.
     *
     * @default []
     */
    fields?: string[];
    /**
     * If ignoreCase set to true, then search ignores the diacritic characters or accents while filtering.
     *
     * > Check the [`Diacritics`](../../treegrid/filtering/#diacritics/) filtering.
     *
     * @default false
     */
    ignoreCase?: boolean;
    /**
     * Defines the operator to search records. The available operators are:
     * <table>
     * <tr>
     * <td colspan=1 rowspan=1>
     * Operator<br/></td><td colspan=1 rowspan=1>
     * Description<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * startswith<br/></td><td colspan=1 rowspan=1>
     * Checks whether the string begins with the specified string.<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * endswith<br/></td><td colspan=1 rowspan=1>
     * Checks whether the string ends with the specified string.<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * contains<br/></td><td colspan=1 rowspan=1>
     * Checks whether the string contains the specified string. <br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * equal<br/></td><td colspan=1 rowspan=1>
     * Checks whether the string is equal to the specified string.<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * notequal<br/></td><td colspan=1 rowspan=1>
     * Checks for strings not equal to the specified string. <br/></td></tr>
     * </table>
     *
     * @default 'contains'
     */
    operator?: string;
    /**
     * A key word for searching the TreeGrid content.
     */
    key?: string;
    /**
     * Defines the filter types. The available options are,
     * * `Parent`: Initiates filter operation after Enter key is pressed.
     * * `Child`: Initiates filter operation after a certain time interval. By default, time interval is 1500 ms.
     *
     * @default Parent
     */
    hierarchyMode?: FilterHierarchyMode;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/models/search-settings.d.ts
/**
 * Configures the filtering behavior of the TreeGrid.
 */
export  class SearchSettings extends base.ChildProperty<SearchSettings> {
    /**
     * Specifies the columns to be searched at initial rendering of the TreeGrid. You can also get the columns that were currently filtered.
     *
     * @default []
     */
    fields: string[];
    /**
     * If ignoreCase set to true, then search ignores the diacritic characters or accents while filtering.
     *
     * > Check the [`Diacritics`](../../treegrid/filtering/#diacritics/) filtering.
     *
     * @default false
     */
    ignoreCase: boolean;
    /**
     * Defines the operator to search records. The available operators are:
     * <table>
     * <tr>
     * <td colspan=1 rowspan=1>
     * Operator<br/></td><td colspan=1 rowspan=1>
     * Description<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * startswith<br/></td><td colspan=1 rowspan=1>
     * Checks whether the string begins with the specified string.<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * endswith<br/></td><td colspan=1 rowspan=1>
     * Checks whether the string ends with the specified string.<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * contains<br/></td><td colspan=1 rowspan=1>
     * Checks whether the string contains the specified string. <br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * equal<br/></td><td colspan=1 rowspan=1>
     * Checks whether the string is equal to the specified string.<br/></td></tr>
     * <tr>
     * <td colspan=1 rowspan=1>
     * notequal<br/></td><td colspan=1 rowspan=1>
     * Checks for strings not equal to the specified string. <br/></td></tr>
     * </table>
     *
     * @default 'contains'
     */
    operator: string;
    /**
     * A key word for searching the TreeGrid content.
     */
    key: string;
    /**
     * Defines the filter types. The available options are,
     * * `Parent`: Initiates filter operation after Enter key is pressed.
     * * `Child`: Initiates filter operation after a certain time interval. By default, time interval is 1500 ms.
     *
     * @default Parent
     */
    hierarchyMode: FilterHierarchyMode;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/models/selection-settings-model.d.ts
/**
 * Interface for a class SelectionSettings
 */
export interface SelectionSettingsModel {
    /**
     * TreeGrid supports row, cell, and both (row and cell) selection mode.
     *
     * @default Syncfusion.EJ2.Grids.grids.SelectionMode.Row
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.SelectionMode
     */
    mode?: grids.SelectionMode;
    /**
     * The cell selection modes are flow and box. It requires the selection
     * [`mode`](#mode) to be either cell or both.
     * * `Flow`: Selects the range of cells between start index and end index that also includes the other cells of the selected rows.
     * * `Box`: Selects the range of cells within the start and end column indexes that includes in between cells of rows within the range.
     *
     * @default Syncfusion.EJ2.Grids.grids.CellSelectionMode.Flow
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.CellSelectionMode
     */
    cellSelectionMode?: grids.CellSelectionMode;
    /**
     * Defines options for selection type. They are
     * * `Single`: Allows selection of only a row or a cell.
     * * `Multiple`: Allows selection of multiple rows or cells.
     *
     * @default Syncfusion.EJ2.Grids.grids.SelectionType.Single
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.SelectionType
     */
    type?: grids.SelectionType;
    /**
     * If 'persistSelection' set to true, then the TreeGrid selection is persisted on all operations.
     * For persisting selection in the TreeGrid, any one of the column should be enabled as a primary key.
     *
     * @default false
     */
    persistSelection?: boolean;
    /**
     * Defines options for checkbox selection Mode. They are
     * * `Default`: This is the default value of the checkboxMode. In this mode, user can select multiple rows by clicking rows one by one.
     * * `ResetOnRowClick`: In ResetOnRowClick mode, on clicking a row it will reset previously selected row and also multiple
     *  rows can be selected by using CTRL or SHIFT key.
     *
     * @default Syncfusion.EJ2.Grids.grids.CheckboxSelectionType.Default
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.CheckboxSelectionType
     */
    checkboxMode?: grids.CheckboxSelectionType;
    /**
     * If 'checkboxOnly' set to true, then the TreeGrid selection is allowed only through checkbox.
     *
     * > To enable checkboxOnly selection, should specify the column type as `checkbox`.
     *
     * @default false
     */
    checkboxOnly?: boolean;
    /**
     * If ‘enableToggle’ set to true, then the user can able to perform toggle for the selected row.
     *
     * @default true
     */
    enableToggle?: boolean;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/models/selection-settings.d.ts
/**
 * Configures the selection behavior of the TreeGrid.
 */
export  class SelectionSettings extends base.ChildProperty<SelectionSettings> {
    /**
     * TreeGrid supports row, cell, and both (row and cell) selection mode.
     *
     * @default Syncfusion.EJ2.Grids.grids.SelectionMode.Row
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.SelectionMode
     */
    mode: grids.SelectionMode;
    /**
     * The cell selection modes are flow and box. It requires the selection
     * [`mode`](#mode) to be either cell or both.
     * * `Flow`: Selects the range of cells between start index and end index that also includes the other cells of the selected rows.
     * * `Box`: Selects the range of cells within the start and end column indexes that includes in between cells of rows within the range.
     *
     * @default Syncfusion.EJ2.Grids.grids.CellSelectionMode.Flow
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.CellSelectionMode
     */
    cellSelectionMode: grids.CellSelectionMode;
    /**
     * Defines options for selection type. They are
     * * `Single`: Allows selection of only a row or a cell.
     * * `Multiple`: Allows selection of multiple rows or cells.
     *
     * @default Syncfusion.EJ2.Grids.grids.SelectionType.Single
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.SelectionType
     */
    type: grids.SelectionType;
    /**
     * If 'persistSelection' set to true, then the TreeGrid selection is persisted on all operations.
     * For persisting selection in the TreeGrid, any one of the column should be enabled as a primary key.
     *
     * @default false
     */
    persistSelection: boolean;
    /**
     * Defines options for checkbox selection Mode. They are
     * * `Default`: This is the default value of the checkboxMode. In this mode, user can select multiple rows by clicking rows one by one.
     * * `ResetOnRowClick`: In ResetOnRowClick mode, on clicking a row it will reset previously selected row and also multiple
     *  rows can be selected by using CTRL or SHIFT key.
     *
     * @default Syncfusion.EJ2.Grids.grids.CheckboxSelectionType.Default
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.CheckboxSelectionType
     */
    checkboxMode: grids.CheckboxSelectionType;
    /**
     * If 'checkboxOnly' set to true, then the TreeGrid selection is allowed only through checkbox.
     *
     * > To enable checkboxOnly selection, should specify the column type as `checkbox`.
     *
     * @default false
     */
    checkboxOnly: boolean;
    /**
     * If ‘enableToggle’ set to true, then the user can able to perform toggle for the selected row.
     *
     * @default true
     */
    enableToggle: boolean;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/models/sort-settings-model.d.ts
/**
 * Interface for a class SortDescriptor
 */
export interface SortDescriptorModel {
    /**
     * Defines the field name of sort column.
     *
     * @default ''
     */
    field?: string;
    /**
     * Defines the direction of sort column.
     *
     * @default ''
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.SortDirection
     */
    direction?: grids.SortDirection;
}
/**
 * Interface for a class SortSettings
 */
export interface SortSettingsModel {
    /**
     * Specifies the columns to sort at initial rendering of TreeGrid.
     * Also user can get current sorted columns.
     *
     * @default []
     */
    columns?: SortDescriptorModel[];
    /**
     * If `allowUnsort` set to false the user can not get the TreeGrid in unsorted state by clicking the sorted column header.
     *
     * @default true
     */
    allowUnsort?: boolean;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/models/sort-settings.d.ts
/**
 * Represents the field name and direction of sort column.
 */
export  class SortDescriptor extends base.ChildProperty<SortDescriptor> {
    /**
     * Defines the field name of sort column.
     *
     * @default ''
     */
    field: string;
    /**
     * Defines the direction of sort column.
     *
     * @default ''
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.SortDirection
     */
    direction: grids.SortDirection;
}
/**
 * Configures the sorting behavior of TreeGrid.
 */
export  class SortSettings extends base.ChildProperty<SortSettings> {
    /**
     * Specifies the columns to sort at initial rendering of TreeGrid.
     * Also user can get current sorted columns.
     *
     * @default []
     */
    columns: SortDescriptorModel[];
    /**
     * If `allowUnsort` set to false the user can not get the TreeGrid in unsorted state by clicking the sorted column header.
     *
     * @default true
     */
    allowUnsort: boolean;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/models/summary-model.d.ts
/**
 * Interface for a class AggregateColumn
 */
export interface AggregateColumnModel {
    /**
     * Defines the aggregate type of a particular column.
     * To use multiple aggregates for single column, specify the `type` as array.
     * Types of aggregate are,
     * * sum
     * * average
     * * max
     * * min
     * * count
     * * falsecount
     * * truecount
     * * custom
     * > Specify the `type` value as `custom` to use custom aggregation.
     *
     * @aspType string
     * @default null
     */
    type?: grids.AggregateType | grids.AggregateType[] | string;
    /**
     * Defines the footer cell template as a string for the aggregate column.
     * The `type` name should be used to access aggregate values inside the template.
     *
     * {% codeBlock src="grid/footer-template-api/index.ts" %}{% endcodeBlock %}
     *
     * @default null
     */
    footerTemplate?: string;
    /**
     * Defines the column name to perform aggregation.
     *
     * @default null
     */
    field?: string;
    /**
     * Format is applied to a calculated value before it is displayed.
     * Gets the format from the user, which can be standard or custom
     * [`number`](../../../common/internationalization/#supported-format-string)
     * and [`date`](../../../common/internationalization/#supported-format-string-1) formats.
     *
     * @aspType string
     * @default null
     */
    format?: string | base.NumberFormatOptions | base.DateFormatOptions;
    /**
     * Defines the column name to display the aggregate value. If `columnName` is not defined,
     * then `field` name value will be assigned to the `columnName` property.
     *
     * @default null
     */
    columnName?: string;
    /**
     * Defines a function to calculate custom aggregate value. The `type` value should be set to `custom`.
     * To use custom aggregate value in the template, use the key as `${custom}`.
     * **Total aggregation**: The custom function will be called with the whole data and the current `AggregateColumn` object.
     * **Group aggregation**: This will be called with the current group details and the `AggregateColumn` object.
     *
     * @default null
     */
    customAggregate?: grids.CustomSummaryType | string;
}
/**
 * Interface for a class AggregateRow
 */
export interface AggregateRowModel {
    /**
     * Configures the aggregate columns.
     *
     * @default []
     */
    columns?: AggregateColumnModel[];
    /**
     * Display the childSummary for each parent.
     */
    showChildSummary?: boolean;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/models/summary.d.ts
/**
 * Configures the TreeGrid's aggregate column.
 */
export  class AggregateColumn extends base.ChildProperty<AggregateColumn> {
    private formatFn;
    private intl;
    private templateFn;
    /**
     * Defines the aggregate type of a particular column.
     * To use multiple aggregates for single column, specify the `type` as array.
     * Types of aggregate are,
     * * sum
     * * average
     * * max
     * * min
     * * count
     * * falsecount
     * * truecount
     * * custom
     * > Specify the `type` value as `custom` to use custom aggregation.
     *
     * @aspType string
     * @default null
     */
    type: grids.AggregateType | grids.AggregateType[] | string;
    /**
     * Defines the footer cell template as a string for the aggregate column.
     * The `type` name should be used to access aggregate values inside the template.
     *
     * {% codeBlock src="grid/footer-template-api/index.ts" %}{% endcodeBlock %}
     *
     * @default null
     */
    footerTemplate: string;
    /**
     * Defines the column name to perform aggregation.
     *
     * @default null
     */
    field: string;
    /**
     * Format is applied to a calculated value before it is displayed.
     * Gets the format from the user, which can be standard or custom
     * [`number`](../../../common/internationalization/#supported-format-string)
     * and [`date`](../../../common/internationalization/#supported-format-string-1) formats.
     *
     * @aspType string
     * @default null
     */
    format: string | base.NumberFormatOptions | base.DateFormatOptions;
    /**
     * Defines the column name to display the aggregate value. If `columnName` is not defined,
     * then `field` name value will be assigned to the `columnName` property.
     *
     * @default null
     */
    columnName: string;
    /**
     * Defines a function to calculate custom aggregate value. The `type` value should be set to `custom`.
     * To use custom aggregate value in the template, use the key as `${custom}`.
     * **Total aggregation**: The custom function will be called with the whole data and the current `AggregateColumn` object.
     * **Group aggregation**: This will be called with the current group details and the `AggregateColumn` object.
     *
     * @default null
     */
    customAggregate: grids.CustomSummaryType | string;
    /**
     * Custom format function
     *
     * @hidden
     * @param {string} cultureName - culture name to format
     * @returns {void}
     */
    setFormatter(cultureName: string): void;
    /**
     * @param {base.NumberFormatOptions | base.DateFormatOptions} format - formatting options for number and date values
     * @hidden
     * @returns {Function} - return formatter function
     */
    getFormatFunction(format: base.NumberFormatOptions | base.DateFormatOptions): Function;
    /**
     * @hidden
     * @returns {Function} - Returns formatter function
     */
    getFormatter(): Function;
    /**
     * @param {Object} helper - Specified the helper
     * @hidden
     * @returns {void}
     */
    setTemplate(helper?: Object): void;
    /**
     * @param {grids.CellType} type - specifies the cell type
     * @returns {Object} returns the object
     * @hidden
     */
    getTemplate(type: grids.CellType): {
        fn: Function;
        property: string;
    };
    /**
     * @param {Object} prop - updates aggregate properties without change detection
     * @hidden
     * @returns {void}
     */
    setPropertiesSilent(prop: Object): void;
}
export  class AggregateRow extends base.ChildProperty<AggregateRow> {
    /**
     * Configures the aggregate columns.
     *
     * @default []
     */
    columns: AggregateColumnModel[];
    /**
     * Display the childSummary for each parent.
     */
    showChildSummary: boolean;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/models/textwrap-settings-model.d.ts
/**
 * Interface for a class TextWrapSettings
 */
export interface TextWrapSettingsModel {
    /**
     * Defines the `wrapMode` of the TreeGrid. The available modes are:
     * * `Both`: Wraps both the header and content.
     * * `Content`: Wraps the header alone.
     * * `Header`: Wraps the content alone.
     *
     * @default Both
     */
    wrapMode?: WrapMode;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/models/textwrap-settings.d.ts
/**
 * Configures the textwrap behavior of the TreeGrid.
 */
export  class TextWrapSettings extends base.ChildProperty<TextWrapSettings> {
    /**
     * Defines the `wrapMode` of the TreeGrid. The available modes are:
     * * `Both`: Wraps both the header and content.
     * * `Content`: Wraps the header alone.
     * * `Header`: Wraps the content alone.
     *
     * @default Both
     */
    wrapMode: WrapMode;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/renderer/index.d.ts
/**
 * Renderer export
 */
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/renderer/render.d.ts
/**
 * TreeGrid render module
 *
 * @hidden
 */
export  class Render {
    private parent;
    private templateResult;
    /**
     * Constructor for render module
     *
     * @param {TreeGrid} parent - Tree Grid instance
     */
    constructor(parent?: TreeGrid);
    /**
     * Updated row elements for TreeGrid
     *
     * @param {grids.RowDataBoundEventArgs} args - Row details before its bound to DOM
     * @returns {void}
     */
    RowModifier(args: grids.RowDataBoundEventArgs): void;
    /**
     * cell renderer for tree column index cell
     *
     * @param {grids.QueryCellInfoEventArgs} args - Cell detail before its bound to DOM
     * @returns {void}
     */
    cellRender(args: grids.QueryCellInfoEventArgs): void;
    private updateTreeCell;
    /**
     * @param {string} columnUid - Defines column uid
     * @returns {void}
     * @hidden
     */
    private refreshReactColumnTemplateByUid;
    private columnTemplateResult;
    private reactTemplateRender;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/renderer/virtual-row-model-generator.d.ts
/**
 * RowModelGenerator is used to generate grid data rows.
 *
 * @hidden
 */
export  class TreeVirtualRowModelGenerator extends grids.VirtualRowModelGenerator {
    private visualData;
    constructor(parent: grids.IGrid);
    addEventListener(): void;
    private getDatas;
    private getDataInfo;
    generateRows(data: Object[], notifyArgs?: grids.NotifyArgs): grids.Row<grids.Column>[];
    checkAndResetCache(action: string): boolean;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/renderer/virtual-tree-content-render.d.ts
export  class VirtualTreeContentRenderer extends grids.VirtualContentRenderer {
    getModelGenerator(): grids.IModelGenerator<grids.Column>;
    constructor(parent: grids.IGrid, locator?: grids.ServiceLocator);
    private isExpandCollapse;
    private observers;
    private translateY;
    private maxiPage;
    private rowPosition;
    private addRowIndex;
    private dataRowIndex;
    private recordAdded;
    /** @hidden */
    startIndex: number;
    private endIndex;
    private totalRecords;
    private contents;
    private fn;
    private preTranslate;
    private isRemoteExpand;
    private previousInfo;
    /** @hidden */
    isDataSourceChanged: boolean;
    getRowByIndex(index: number): Element;
    getMovableVirtualRowByIndex(index: number): Element;
    getFrozenRightVirtualRowByIndex(index: number): Element;
    getRowCollection(index: number, isMovable: boolean, isRowObject?: boolean, isFrozenRight?: boolean): Element | Object;
    addEventListener(): void;
    private virtualOtherAction;
    private indexModifier;
    eventListener(action: string): void;
    private cellFocus;
    protected onDataReady(e?: grids.NotifyArgs): void;
    renderTable(): void;
    protected getTranslateY(sTop: number, cHeight: number, info?: grids.VirtualInfo, isOnenter?: boolean): number;
    private dataBoundEvent;
    private rowSelectedEvent;
    private toSelectVirtualRow;
    private refreshCell;
    generateCells(): grids.Cell<grids.Column>[];
    generateCell(col: grids.Column, rowId?: string, cellType?: grids.CellType, colSpan?: number, oIndex?: number, foreignKeyData?: Object): grids.Cell<grids.Column>;
    private beginEdit;
    private beginAdd;
    private restoreEditState;
    private resetIseditValue;
    private virtualEditSuccess;
    private cancelEdit;
    private toSelectRowOnContextOpen;
    private restoreNewRow;
    private getData;
    private onActionComplete;
    private onEnteredAction;
    scrollListeners(scrollArgs: ScrollArg): void;
    appendContent(target: HTMLElement, newChild: DocumentFragment, e: grids.NotifyArgs): void;
    removeEventListener(): void;
}
export  class TreeInterSectionObserver extends grids.InterSectionObserver {
    private isWheeling;
    private newPos;
    private lastPos;
    private timer;
    observes(callback: Function, onEnterCallback: Function): void;
    private clear;
    private virtualScrollHandlers;
}
 type ScrollArg = {
    direction: string;
    isWheel: boolean;
    sentinel: grids.SentinelType;
    offset: grids.Offsets;
    focusElement: HTMLElement;
};
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/renderer/virtual-tree-freeze-render.d.ts
/**
 * VirtualTreeFreezeRenderer is used to render the virtual table within the frozen and movable content table
 *
 * @hidden
 */
export  class VirtualTreeFreezeRenderer extends grids.VirtualFreezeRenderer {
    protected serviceLoc: grids.ServiceLocator;
    constructor(parent: grids.IGrid, locator?: grids.ServiceLocator);
    /**
     * @returns {void}
     * @hidden
     */
    renderTable(): void;
    /**
     * @param {HTMLElement} target - specifies the target
     * @param {DocumentFragment} newChild - specifies the newChild
     * @param {grids.NotifyArgs} e - specifies the notifyargs
     * @returns {void}
     * @hidden
     */
    appendContent(target: HTMLElement, newChild: DocumentFragment, e: grids.NotifyArgs): void;
    /**
     * @param {Object[]} data - specifies the data
     * @param {grids.NotifyArgs} e - specifies the notifyargs
     * @returns {grids.Row<grids.Column>[]} returns the row
     * @hidden
     */
    generateRows(data: Object[], e?: grids.NotifyArgs): grids.Row<grids.Column>[];
}
/**
 * ColumnVirtualTreeFreezeRenderer is used to render the virtual table within the frozen and movable content table
 *
 * @hidden
 */
export  class ColumnVirtualTreeFreezeRenderer extends grids.ColumnVirtualFreezeRenderer {
    protected serviceLoc: grids.ServiceLocator;
    constructor(parent?: grids.IGrid, locator?: grids.ServiceLocator);
    /**
     * @returns {void}
     * @hidden
     */
    renderTable(): void;
    appendContent(target: HTMLElement, newChild: DocumentFragment, e: grids.NotifyArgs): void;
}
/**
 * VirtualTreeFreezeHdrRenderer is used to render the virtual table within the frozen and movable header table
 *
 * @hidden
 */
export  class VirtualTreeFreezeHdrRenderer extends grids.VirtualFreezeHdrRenderer {
    /**
     * @returns {void}
     * @hidden
     */
    renderTable(): void;
    protected rfshMovable(): void;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/utils.d.ts
/**
 * @param {TreeGrid} parent - Tree Grid instance
 * @returns {boolean} - Specifies whether remote data binding
 */
export  function isRemoteData(parent: TreeGrid): boolean;
/**
 * @param {TreeGrid | grids.IGrid} parent - Tree Grid or Grid instance
 * @returns {boolean} - Returns whether custom binding
 */
export  function isCountRequired(parent: TreeGrid | grids.IGrid): boolean;
/**
 * @param {TreeGrid} parent - Tree Grid instance
 * @returns {boolean} - Returns whether checkbox column is enabled
 */
export  function isCheckboxcolumn(parent: TreeGrid): boolean;
/**
 * @param {TreeGrid} parent - Tree Grid instance
 * @returns {boolean} - Returns whether filtering and searching done
 */
export  function isFilterChildHierarchy(parent: TreeGrid): boolean;
/**
 * @param {Object} records - Define records for which parent records has to be found
 * @hidden
 * @returns {Object} - Returns parent records collection
 */
export  function findParentRecords(records: Object): Object;
/**
 * @param {TreeGrid} parent - Tree Grid instance
 * @returns {boolean} - Returns the expand status of record
 * @param {ITreeData} record - Define the record for which expand status has be found
 * @param {ITreeData[]} parents - Parent Data collection
 * @hidden
 */
export  function getExpandStatus(parent: TreeGrid, record: ITreeData, parents: ITreeData[]): boolean;
/**
 * @param {ITreeData} records - Define the record for which child records has to be found
 * @returns {Object[]} - Returns child records collection
 * @hidden
 */
export  function findChildrenRecords(records: ITreeData): Object[];
/**
 * @param {TreeGrid} parent - Tree Grid instance
 * @returns {boolean} - Returns whether local data binding
 */
export  function isOffline(parent: TreeGrid): boolean;
/**
 * @param {Object[]} array - Defines the array to be cloned
 * @returns {Object[]} - Returns cloned array collection
 */
export  function extendArray(array: Object[]): Object[];
/**
 * @param {ITreeData} value - Defined the dirty data to be cleaned
 * @returns {ITreeData} - Returns cleaned original data
 */
export  function getPlainData(value: ITreeData): ITreeData;
/**
 * @param {TreeGrid} parent - TreeGrid instance
 * @param {string} value - IdMapping field name
 * @param {boolean} requireFilter - Specified whether treegrid data is filtered
 * @returns {ITreeData} - Returns IdMapping matched record
 */
export  function getParentData(parent: TreeGrid, value: string, requireFilter?: boolean): ITreeData;
/**
 * @param {HTMLTableRowElement} el - Row element
 * @returns {boolean} - Returns whether hidden
 */
export  function isHidden(el: HTMLTableRowElement): boolean;
 }
export namespace treemap { 

//node_modules/@syncfusion/ej2-treemap/src/index.d.ts
/**
 * exporting all modules from tree map index
 */
//node_modules/@syncfusion/ej2-treemap/src/treemap/index.d.ts
/**
 * export all modules from treemap component
 */
//node_modules/@syncfusion/ej2-treemap/src/treemap/layout/legend.d.ts
/**
 * Legend module class
 */
export  class TreeMapLegend {
    private treemap;
    /** collection of rendering legends */
    legendRenderingCollections: any[];
    /** collection of legends */
    legendCollections: any[];
    outOfRangeLegend: any;
    private legendHeight;
    private legendWidth;
    private totalPages;
    private page;
    private translate;
    legendBorderRect: Rect;
    private currentPage;
    heightIncrement: number;
    widthIncrement: number;
    private textMaxWidth;
    /** group of legend */
    legendGroup: Element;
    private legendNames;
    private defsElement;
    private gradientCount;
    private legendLinearGradient;
    private legendInteractiveGradient;
    private clearTimeout;
    private legendItemRect;
    constructor(treemap: TreeMap);
    /**
     * method for legend
     */
    renderLegend(): void;
    calculateLegendBounds(): void;
    private getPageChanged;
    private findColorMappingLegendItems;
    private findPaletteLegendItems;
    private calculateLegendItems;
    private removeDuplicates;
    private isAddNewLegendData;
    /**
     * To draw the legend
     */
    drawLegend(): void;
    private defaultLegendRtlLocation;
    private drawLegendItem;
    private renderLegendBorder;
    private renderLegendTitle;
    /**
     * To rendered the interactive pointer
     */
    renderInteractivePointer(e: PointerEvent | TouchEvent): void;
    private drawInteractivePointer;
    private getLegendAlignment;
    mouseUpHandler(e: PointerEvent): void;
    /**
     * To remove the interactive pointer
     */
    removeInteractivePointer(): void;
    /**
     * To change the next page
     */
    changeNextPage(e: PointerEvent): void;
    /**
     * Wire events for event handler
     */
    wireEvents(element: Element): void;
    /**
     * To add the event listener
     */
    addEventListener(): void;
    /**
     * To remove the event listener
     */
    removeEventListener(): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the legend.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
    /**
     * Get the gradient color for interactive legend.
     */
    legendGradientColor(colorMap: ColorMappingModel, legendIndex: number): string;
}
//node_modules/@syncfusion/ej2-treemap/src/treemap/layout/render-panel.d.ts
/**
 * To calculate and render the shape layer
 */
export  class LayoutPanel {
    private treemap;
    private currentRect;
    layoutGroup: Element;
    private renderer;
    renderItems: any[];
    private parentData;
    constructor(treemap: TreeMap);
    processLayoutPanel(): void;
    private getDrilldownData;
    calculateLayoutItems(data: any, rect: Rect): void;
    private computeSliceAndDiceDimensional;
    private sliceAndDiceProcess;
    private computeSquarifyDimensional;
    private calculateChildrenLayout;
    private performRowsLayout;
    private aspectRatio;
    private findMaxAspectRatio;
    private cutArea;
    private getCoordinates;
    private computeTotalArea;
    onDemandProcess(childItems: any): void;
    renderLayoutItems(renderData: any): void;
    private renderItemText;
    private getItemColor;
    /**
     * To find saturated color for datalabel
     *
     * @param {string} color - Specifies the color
     * @returns {string} - Returns the color
     */
    private getSaturatedColor;
    private renderTemplate;
    private labelInterSectAction;
    /**
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-treemap/src/treemap/model/base-model.d.ts
/**
 * Interface for a class Border
 */
export interface BorderModel {
    /**
     * Sets and gets the color of the border. This property accepts the value in hex code and rgba string as a valid CSS color string.
     *
     * @default '#808080'
     */
    color?: string;
    /**
     * Defines the width of the border in the treemap component.
     *
     * @default 0
     */
    width?: number;
}
/**
 * Interface for a class Margin
 */
export interface MarginModel {
    /**
     * Sets and gets the left margin for the treemap component.
     *
     * @default 10
     */
    left?: number;
    /**
     * Sets and gets the right margin for the treemap component.
     *
     * @default 10
     */
    right?: number;
    /**
     * Sets and gets the top margin for the treemap component.
     *
     * @default 10
     */
    top?: number;
    /**
     * Sets and gets the bottom margin for the treemap component.
     *
     * @default 10
     */
    bottom?: number;
}
/**
 * Interface for a class Font
 */
export interface FontModel {
    /**
     * Sets and gets the size for the text in the treemap component.
     *
     * @default null
     */
    size?: string;
    /**
     * Sets and gets the color for the text in the treemap component.
     *
     * @default null
     */
    color?: string;
    /**
     * Sets and gets the font family for the text in the treemap component.
     *
     * @default ''
     */
    fontFamily?: string;
    /**
     * Sets and gets the font weight for the text in the treemap component.
     *
     * @default 'Normal'
     */
    fontWeight?: string;
    /**
     * Sets and gets the font style for the text in the treemap component.
     *
     * @default 'Normal'
     */
    fontStyle?: string;
    /**
     * Sets and gets the opacity of the text in the treemap component.
     *
     * @default 1
     */
    opacity?: number;
}
/**
 * Interface for a class CommonTitleSettings
 */
export interface CommonTitleSettingsModel {
    /**
     * Sets and gets the text for the title in the treemap component.
     *
     * @default ''
     */
    text?: string;
    /**
     * Define the description of the title for the accessibility in the treemap component.
     *
     * @default ''
     */
    description?: string;
}
/**
 * Interface for a class SubTitleSettings
 */
export interface SubTitleSettingsModel extends CommonTitleSettingsModel{
    /**
     * Sets and gets the text style for the subtitle in the treemap component.
     */
    textStyle?: FontModel;
    /**
     * Sets and gets the alignment of the subtitle text in the treemap component.
     *
     * @default 'Center'
     */
    alignment?: Alignment;
}
/**
 * Interface for a class TitleSettings
 */
export interface TitleSettingsModel extends CommonTitleSettingsModel{
    /**
     * Sets and gets the options to customizing the text styles of the treemap component.
     */
    textStyle?: FontModel;
    /**
     * Sets and gets the text position of the title text in the treemap component.
     *
     * @default 'Center'
     */
    alignment?: Alignment;
    /**
     * Sets and gets the options to customize the subtitle for the treemap.
     */
    subtitleSettings?: SubTitleSettingsModel;
}
/**
 * Interface for a class ColorMapping
 */
export interface ColorMappingModel {
    /**
     * Sets and gets the value from which the range of color mapping starts.
     *
     * @default null
     */
    from?: number;
    /**
     * Sets and gets the value to which the range of color mapping ends.
     *
     * @default null
     */
    to?: number;
    /**
     * Sets and gets the color for the color-mapping in treemap.
     *
     * @default null
     */
    color?: string | string[];
    /**
     * Sets and gets the label text for the legend based on color mapping.
     *
     * @default null
     */
    label?: string;
    /**
     * Sets and gets the value for the color-mapping from the data source.
     *
     * @default null
     */
    value?: string | number;
    /**
     * Sets and gets the minimum opacity for the color-mapping in the treemap component.
     *
     * @default null
     */
    minOpacity?: number;
    /**
     * Sets and gets the maximum opacity for the color-mapping in the treemap component.
     *
     * @default null
     */
    maxOpacity?: number;
    /**
     * Enables or disables the visibility of the legend for color mapping in the treemap component.
     *
     * @default true
     */
    showLegend?: boolean;
}
/**
 * Interface for a class LegendSettings
 */
export interface LegendSettingsModel {
    /**
     * Enables or disables the visibility of legend in the treemap component.
     *
     * @default false
     */
    visible?: boolean;
    /**
     * Sets and gets the mode of legend in the treemap component. The modes available are default and interactive modes.
     *
     * @default 'Default'
     */
    mode?: LegendMode;
    /**
     * Sets and gets the background color of legend in the treemap component.
     *
     * @default 'transparent'
     */
    background?: string;
    /**
     * Sets and gets the shape of legend in the treemap component.
     *
     * @default 'Circle'
     */
    shape?: LegendShape;
    /**
     * Sets and gets the width of legend in the treemap component.
     *
     * @default ''
     */
    width?: string;
    /**
     * Sets and gets the height of legend in the treemap component.
     *
     * @default ''
     */
    height?: string;
    /**
     * Sets and gets the options to customize the text style of legend in the treemap component.
     */
    textStyle?: FontModel;
    /**
     * Sets and gets the shape color of legend in the treemap component.
     *
     * @default null
     */
    fill?: string;
    /**
     * Sets and gets the opacity of legends in the treemap component.
     *
     * @default 1
     */
    opacity?: number;
    /**
     * Sets and gets the width of the shapes in legend in the treemap component.
     *
     * @default 15
     */
    shapeWidth?: number;
    /**
     * Sets and gets the height of the shapes of legend in the treemap component.
     *
     * @default 15
     */
    shapeHeight?: number;
    /**
     * Sets and gets the shape padding of legend in the treemap component.
     *
     * @default 10
     */
    shapePadding?: number;
    /**
     * Sets and gets the URL path of the legend shapes rendered as image in the treemap component.
     *
     * @default null
     */
    imageUrl?: string;
    /**
     * Sets and gets the options for customizing the color and width of the border of the legend in the treemap component.
     */
    border?: BorderModel;
    /**
     * Sets and gets the options for customizing the color and width of the border of the legend shape in the treemap.
     */
    shapeBorder?: BorderModel;
    /**
     * Sets and gets the options to customize the title of the legend in the treemap component.
     */
    title?: CommonTitleSettingsModel;
    /**
     * Sets and gets the options to customize the text style of the legend in the treemap component.
     */
    titleStyle?: FontModel;
    /**
     * Sets and gets the position of legend in the treemap component.
     *
     * @default 'Bottom'
     */
    position?: LegendPosition;
    /**
     * Sets and gets the orientation of legend in the treemap component.
     *
     * @default 'None'
     */
    orientation?: LegendOrientation;
    /**
     * Enables or disables the pointer for interactive legend in the treemap component.
     *
     * @default false
     */
    invertedPointer?: boolean;
    /**
     * Sets and gets the label position for interactive legend in the treemap component.
     *
     * @default 'After'
     */
    labelPosition?: LabelPlacement;
    /**
     * Sets and gets the label intersect action of legend in the treemap component.
     *
     * @default 'None'
     */
    labelDisplayMode?: LabelIntersectAction;
    /**
     * Sets and gets the alignment of legend in the treemap component.
     *
     * @default 'Center'
     */
    alignment?: Alignment;
    /**
     * Sets and gets the location of the legend using x and y values in the treemap component.
     */
    location?: Location;
    /**
     * Sets and gets the visibility state of the legend in the treemap component.
     *
     * @default null
     */
    showLegendPath?: string;
    /**
     * Sets and gets the value path from the data source to render legend in the treemap component.
     *
     * @default null
     */
    valuePath?: string;
    /**
     * Enables or disables to remove the duplicate legend item.
     *
     * @default false
     */
    removeDuplicateLegend?: boolean;
}
/**
 * Interface for a class InitialDrillSettings
 */
export interface InitialDrillSettingsModel {
    /**
     * Sets and gets the initial rendering level index in the treemap component.
     *
     * @default null
     */
    groupIndex?: number;
    /**
     * Sets and gets the initial rendering level name in the treemap component.
     *
     * @default null
     */
    groupName?: string;
}
/**
 * Interface for a class LeafItemSettings
 */
export interface LeafItemSettingsModel {
    /**
     * Sets and gets the fill color of leaf items in the treemap component.
     *
     * @default null
     */
    fill?: string;
    /**
     * Enables or disables automatic filling of colors in leaf items of the treemap component.
     *
     * @default false
     */
    autoFill?: boolean;
    /**
     * Sets and gets the options for customizing the color and width of the border of the leaf item in the treemap component.
     */
    border?: BorderModel;
    /**
     * Sets and gets the gap between the leaf item in the treemap component.
     *
     * @default 0
     */
    gap?: number;
    /**
     * Sets and gets the padding of leaf item in the treemap component.
     *
     * @default 10
     */
    padding?: number;
    /**
     * Sets and gets the opacity of leaf item in the treemap component.
     *
     * @default 1
     */
    opacity?: number;
    /**
     * Shows or hides the labels in the treemap component.
     *
     * @default true
     */
    showLabels?: boolean;
    /**
     * Sets and gets the value path from the data source for label of leaf item in the treemap component.
     *
     * @default null
     */
    labelPath?: string;
    /**
     * Sets and gets the label text format of leaf item in the treemap component.
     *
     * @default null
     */
    labelFormat?: string;
    /**
     * Sets and gets the position of the labels in the treemap component.
     *
     * @default 'TopLeft'
     */
    labelPosition?: LabelPosition;
    /**
     * Sets and gets the style of the labels of leaf item in the treemap component.
     */
    labelStyle?: FontModel;
    /**
     * Sets and gets the label template of leaf item in the treemap component.
     *
     * @default null
     */
    labelTemplate?: string;
    /**
     * Sets and gets the position of the template of leaf item in the treemap component.
     *
     * @default 'Center'
     */
    templatePosition?: LabelPosition;
    /**
     * Sets and gets the label intersect action of leaf item in the treemap component.
     *
     * @default 'Trim'
     */
    interSectAction?: LabelAlignment;
    /**
     * Sets and gets the options to customize color-mapping of the treemap component.
     */
    colorMapping?: ColorMappingModel[];
}
/**
 * Interface for a class TooltipSettings
 */
export interface TooltipSettingsModel {
    /**
     * Enables or disables the visibility state of tooltip in the treemap component.
     *
     * @default false
     */
    visible?: boolean;
    /**
     * Sets and gets the template for tooltip in the treemap component.
     *
     * @default ''
     */
    template?: string;
    /**
     * Sets and gets the format of the tooltip in the treemap component.
     *
     * @default null
     */
    format?: string;
    /**
     * Sets and gets the background color of tooltip in the treemap component.
     *
     * @default null
     */
    fill?: string;
    /**
     * Sets and gets the opacity of tooltip in the treemap component.
     *
     * @default 0.75
     */
    opacity?: number;
    /**
     * Sets and gets the marker shapes in the treemap component.
     *
     * @default '[Circle]'
     */
    markerShapes?: MarkerShape[];
    /**
     * Sets and gets the options for customizing the color and width of the border of the tooltip.
     */
    border?: BorderModel;
    /**
     * Sets and gets the options for customizing the text style of tooltip of the treemap component.
     */
    textStyle?: FontModel;
}
/**
 * Interface for a class SelectionSettings
 */
export interface SelectionSettingsModel {
    /**
     * Enables or disables the selection functionality in the treemap component.
     *
     * @default false
     */
    enable?: boolean;
    /**
     * Sets and gets the color of the selection when the leaf item is selected in the treemap component.
     *
     * @default null
     */
    fill?: string;
    /**
     * Sets and gets the opacity of the selection when the leaf item is selected in the treemap component.
     *
     * @default '0.5'
     */
    opacity?: string;
    /**
     * Sets and gets the border of the selected items in the treemap component.
     */
    border?: BorderModel;
    /**
     * Sets and gets the element in which selection must be done in the treemap component.
     *
     * @default 'Item'
     */
    mode?: SelectionMode;
}
/**
 * Interface for a class HighlightSettings
 */
export interface HighlightSettingsModel {
    /**
     * Enables or disables the highlight functionality of the treemap component.
     *
     * @default false
     */
    enable?: boolean;
    /**
     * Sets and gets the highlight color of the treemap component.
     *
     * @default '#808080'
     */
    fill?: string;
    /**
     * Sets and gets the opacity of the treemap component.
     *
     * @default '0.5'
     */
    opacity?: string;
    /**
     * Sets and gets the options for customizing the color and width of the border of the
     * highlighted item in the treemap component.
     */
    border?: BorderModel;
    /**
     * Sets and gets the element in which highlight must be done in the treemap component.
     *
     * @default 'Item'
     */
    mode?: HighLightMode;
}
/**
 * Interface for a class LevelSettings
 */
export interface LevelSettingsModel {
    /**
     * Sets and gets the value path from the data source in the treemap component to render the item.
     *
     * @default null
     */
    groupPath?: string;
    /**
     * Sets and gets the gap between the levels in the treemap component.
     *
     * @default 0
     */
    groupGap?: number;
    /**
     * Sets and gets the padding of levels in the treemap component.
     *
     * @default 10
     */
    groupPadding?: number;
    /**
     * Sets and gets the options for customizing the color and width of the border of
     * the levels of the treemap component.
     */
    border?: BorderModel;
    /**
     * Sets and gets the fill color of the level in the treemap component.
     *
     * @default null
     */
    fill?: string;
    /**
     * Enables or disables the automatic filling of the colors in the items in the treemap component.
     *
     * @default false
     */
    autoFill?: boolean;
    /**
     * Sets and gets the opacity in the treemap component.
     *
     * @default 1
     */
    opacity?: number;
    /**
     * Shows or hides the header in level of the treemap component.
     *
     * @default true
     */
    showHeader?: boolean;
    /**
     * Sets and gets the height of header in the treemap component.
     *
     * @default 20
     */
    headerHeight?: number;
    /**
     * Sets and gets the template for header in the treemap component.
     *
     * @default null
     */
    headerTemplate?: string;
    /**
     * Sets and gets the format of header of the levels in the treemap component.
     *
     * @default null
     */
    headerFormat?: string;
    /**
     * Sets and gets the alignment of the header of the treemap component.
     *
     * @default 'Near'
     */
    headerAlignment?: Alignment;
    /**
     * Sets and gets the options for customizing the style of header of the treemap component.
     */
    headerStyle?: FontModel;
    /**
     * Sets and gets the options for customizing the template position of the treemap component.
     *
     * @default 'TopLeft'
     */
    templatePosition?: LabelPosition;
    /**
     * Sets and gets the options for customizing the color-mapping in the treemap component.
     */
    colorMapping?: ColorMappingModel[];
}
//node_modules/@syncfusion/ej2-treemap/src/treemap/model/base.d.ts
/**
 * Maps base doc
 */
/**
 * Sets and gets the shape of the marker in the treemap.
 */
export  type MarkerShape = 'Circle' | 'Rectangle' | 'Triangle' | 'Diamond' | 'Cross' | 'HorizontalLine' | 'VerticalLine' | 'Pentagon' | 'InvertedTriangle' | 'Image';
/**
 * Sets and gets the options for customizing the color and width of the border in treemap component.
 */
export  class Border extends base.ChildProperty<Border> {
    /**
     * Sets and gets the color of the border. This property accepts the value in hex code and rgba string as a valid CSS color string.
     *
     * @default '#808080'
     */
    color: string;
    /**
     * Defines the width of the border in the treemap component.
     *
     * @default 0
     */
    width: number;
}
/**
 * Sets and gets the margin for the treemap component.
 */
export  class Margin extends base.ChildProperty<Margin> {
    /**
     * Sets and gets the left margin for the treemap component.
     *
     * @default 10
     */
    left: number;
    /**
     * Sets and gets the right margin for the treemap component.
     *
     * @default 10
     */
    right: number;
    /**
     * Sets and gets the top margin for the treemap component.
     *
     * @default 10
     */
    top: number;
    /**
     * Sets and gets the bottom margin for the treemap component.
     *
     * @default 10
     */
    bottom: number;
}
/**
 * Sets and gets the options to customize the style of the text contents in the treemap component.
 */
export  class Font extends base.ChildProperty<Font> {
    /**
     * Sets and gets the size for the text in the treemap component.
     *
     * @default null
     */
    size: string;
    /**
     * Sets and gets the color for the text in the treemap component.
     *
     * @default null
     */
    color: string;
    /**
     * Sets and gets the font family for the text in the treemap component.
     *
     * @default ''
     */
    fontFamily: string;
    /**
     * Sets and gets the font weight for the text in the treemap component.
     *
     * @default 'Normal'
     */
    fontWeight: string;
    /**
     * Sets and gets the font style for the text in the treemap component.
     *
     * @default 'Normal'
     */
    fontStyle: string;
    /**
     * Sets and gets the opacity of the text in the treemap component.
     *
     * @default 1
     */
    opacity: number;
}
/**
 * Sets and gets the options for customizing the common title of the treemap component.
 */
export  class CommonTitleSettings extends base.ChildProperty<CommonTitleSettings> {
    /**
     * Sets and gets the text for the title in the treemap component.
     *
     * @default ''
     */
    text: string;
    /**
     * Define the description of the title for the accessibility in the treemap component.
     *
     * @default ''
     */
    description: string;
}
/**
 * Sets and gets the options for customizing the subtitle of the treemap component.
 */
export  class SubTitleSettings extends CommonTitleSettings {
    /**
     * Sets and gets the text style for the subtitle in the treemap component.
     */
    textStyle: FontModel;
    /**
     * Sets and gets the alignment of the subtitle text in the treemap component.
     *
     * @default 'Center'
     */
    alignment: Alignment;
}
/**
 * Sets and gets the options for customizing the title of the treemap component.
 */
export  class TitleSettings extends CommonTitleSettings {
    /**
     * Sets and gets the options to customizing the text styles of the treemap component.
     */
    textStyle: FontModel;
    /**
     * Sets and gets the text position of the title text in the treemap component.
     *
     * @default 'Center'
     */
    alignment: Alignment;
    /**
     * Sets and gets the options to customize the subtitle for the treemap.
     */
    subtitleSettings: SubTitleSettingsModel;
}
/**
 * Sets and gets the options to customize the color-mapping in treemap component.
 */
export  class ColorMapping extends base.ChildProperty<ColorMapping> {
    /**
     * Sets and gets the value from which the range of color mapping starts.
     *
     * @default null
     */
    from: number;
    /**
     * Sets and gets the value to which the range of color mapping ends.
     *
     * @default null
     */
    to: number;
    /**
     * Sets and gets the color for the color-mapping in treemap.
     *
     * @default null
     */
    color: string | string[];
    /**
     * Sets and gets the label text for the legend based on color mapping.
     *
     * @default null
     */
    label: string;
    /**
     * Sets and gets the value for the color-mapping from the data source.
     *
     * @default null
     */
    value: string | number;
    /**
     * Sets and gets the minimum opacity for the color-mapping in the treemap component.
     *
     * @default null
     */
    minOpacity: number;
    /**
     * Sets and gets the maximum opacity for the color-mapping in the treemap component.
     *
     * @default null
     */
    maxOpacity: number;
    /**
     * Enables or disables the visibility of the legend for color mapping in the treemap component.
     *
     * @default true
     */
    showLegend: boolean;
}
/**
 * Sets and gets the options for customizing the legend of the treemap component.
 */
export  class LegendSettings extends base.ChildProperty<LegendSettings> {
    /**
     * Enables or disables the visibility of legend in the treemap component.
     *
     * @default false
     */
    visible: boolean;
    /**
     * Sets and gets the mode of legend in the treemap component. The modes available are default and interactive modes.
     *
     * @default 'Default'
     */
    mode: LegendMode;
    /**
     * Sets and gets the background color of legend in the treemap component.
     *
     * @default 'transparent'
     */
    background: string;
    /**
     * Sets and gets the shape of legend in the treemap component.
     *
     * @default 'Circle'
     */
    shape: LegendShape;
    /**
     * Sets and gets the width of legend in the treemap component.
     *
     * @default ''
     */
    width: string;
    /**
     * Sets and gets the height of legend in the treemap component.
     *
     * @default ''
     */
    height: string;
    /**
     * Sets and gets the options to customize the text style of legend in the treemap component.
     */
    textStyle: FontModel;
    /**
     * Sets and gets the shape color of legend in the treemap component.
     *
     * @default null
     */
    fill: string;
    /**
     * Sets and gets the opacity of legends in the treemap component.
     *
     * @default 1
     */
    opacity: number;
    /**
     * Sets and gets the width of the shapes in legend in the treemap component.
     *
     * @default 15
     */
    shapeWidth: number;
    /**
     * Sets and gets the height of the shapes of legend in the treemap component.
     *
     * @default 15
     */
    shapeHeight: number;
    /**
     * Sets and gets the shape padding of legend in the treemap component.
     *
     * @default 10
     */
    shapePadding: number;
    /**
     * Sets and gets the URL path of the legend shapes rendered as image in the treemap component.
     *
     * @default null
     */
    imageUrl: string;
    /**
     * Sets and gets the options for customizing the color and width of the border of the legend in the treemap component.
     */
    border: BorderModel;
    /**
     * Sets and gets the options for customizing the color and width of the border of the legend shape in the treemap.
     */
    shapeBorder: BorderModel;
    /**
     * Sets and gets the options to customize the title of the legend in the treemap component.
     */
    title: CommonTitleSettingsModel;
    /**
     * Sets and gets the options to customize the text style of the legend in the treemap component.
     */
    titleStyle: FontModel;
    /**
     * Sets and gets the position of legend in the treemap component.
     *
     * @default 'Bottom'
     */
    position: LegendPosition;
    /**
     * Sets and gets the orientation of legend in the treemap component.
     *
     * @default 'None'
     */
    orientation: LegendOrientation;
    /**
     * Enables or disables the pointer for interactive legend in the treemap component.
     *
     * @default false
     */
    invertedPointer: boolean;
    /**
     * Sets and gets the label position for interactive legend in the treemap component.
     *
     * @default 'After'
     */
    labelPosition: LabelPlacement;
    /**
     * Sets and gets the label intersect action of legend in the treemap component.
     *
     * @default 'None'
     */
    labelDisplayMode: LabelIntersectAction;
    /**
     * Sets and gets the alignment of legend in the treemap component.
     *
     * @default 'Center'
     */
    alignment: Alignment;
    /**
     * Sets and gets the location of the legend using x and y values in the treemap component.
     */
    location: Location;
    /**
     * Sets and gets the visibility state of the legend in the treemap component.
     *
     * @default null
     */
    showLegendPath: string;
    /**
     * Sets and gets the value path from the data source to render legend in the treemap component.
     *
     * @default null
     */
    valuePath: string;
    /**
     * Enables or disables to remove the duplicate legend item.
     *
     * @default false
     */
    removeDuplicateLegend: boolean;
}
/**
 * Sets and gets the settings for drill to visualize the treemap rendered in the initial state.
 */
export  class InitialDrillSettings extends base.ChildProperty<InitialDrillSettings> {
    /**
     * Sets and gets the initial rendering level index in the treemap component.
     *
     * @default null
     */
    groupIndex: number;
    /**
     * Sets and gets the initial rendering level name in the treemap component.
     *
     * @default null
     */
    groupName: string;
}
/**
 * Sets and gets the options for customizing the leaf item of the treemap component.
 */
export  class LeafItemSettings extends base.ChildProperty<LeafItemSettings> {
    /**
     * Sets and gets the fill color of leaf items in the treemap component.
     *
     * @default null
     */
    fill: string;
    /**
     * Enables or disables automatic filling of colors in leaf items of the treemap component.
     *
     * @default false
     */
    autoFill: boolean;
    /**
     * Sets and gets the options for customizing the color and width of the border of the leaf item in the treemap component.
     */
    border: BorderModel;
    /**
     * Sets and gets the gap between the leaf item in the treemap component.
     *
     * @default 0
     */
    gap: number;
    /**
     * Sets and gets the padding of leaf item in the treemap component.
     *
     * @default 10
     */
    padding: number;
    /**
     * Sets and gets the opacity of leaf item in the treemap component.
     *
     * @default 1
     */
    opacity: number;
    /**
     * Shows or hides the labels in the treemap component.
     *
     * @default true
     */
    showLabels: boolean;
    /**
     * Sets and gets the value path from the data source for label of leaf item in the treemap component.
     *
     * @default null
     */
    labelPath: string;
    /**
     * Sets and gets the label text format of leaf item in the treemap component.
     *
     * @default null
     */
    labelFormat: string;
    /**
     * Sets and gets the position of the labels in the treemap component.
     *
     * @default 'TopLeft'
     */
    labelPosition: LabelPosition;
    /**
     * Sets and gets the style of the labels of leaf item in the treemap component.
     */
    labelStyle: FontModel;
    /**
     * Sets and gets the label template of leaf item in the treemap component.
     *
     * @default null
     */
    labelTemplate: string;
    /**
     * Sets and gets the position of the template of leaf item in the treemap component.
     *
     * @default 'Center'
     */
    templatePosition: LabelPosition;
    /**
     * Sets and gets the label intersect action of leaf item in the treemap component.
     *
     * @default 'Trim'
     */
    interSectAction: LabelAlignment;
    /**
     * Sets and gets the options to customize color-mapping of the treemap component.
     */
    colorMapping: ColorMappingModel[];
}
/**
 * Sets and gets the options for customizing the tooltip of the treemap component.
 */
export  class TooltipSettings extends base.ChildProperty<TooltipSettings> {
    /**
     * Enables or disables the visibility state of tooltip in the treemap component.
     *
     * @default false
     */
    visible: boolean;
    /**
     * Sets and gets the template for tooltip in the treemap component.
     *
     * @default ''
     */
    template: string;
    /**
     * Sets and gets the format of the tooltip in the treemap component.
     *
     * @default null
     */
    format: string;
    /**
     * Sets and gets the background color of tooltip in the treemap component.
     *
     * @default null
     */
    fill: string;
    /**
     * Sets and gets the opacity of tooltip in the treemap component.
     *
     * @default 0.75
     */
    opacity: number;
    /**
     * Sets and gets the marker shapes in the treemap component.
     *
     * @default '[Circle]'
     */
    markerShapes: MarkerShape[];
    /**
     * Sets and gets the options for customizing the color and width of the border of the tooltip.
     */
    border: BorderModel;
    /**
     * Sets and gets the options for customizing the text style of tooltip of the treemap component.
     */
    textStyle: FontModel;
}
/**
 * Sets and gets the options for customizing the selection of the leaf items in treemap component.
 */
export  class SelectionSettings extends base.ChildProperty<SelectionSettings> {
    /**
     * Enables or disables the selection functionality in the treemap component.
     *
     * @default false
     */
    enable: boolean;
    /**
     * Sets and gets the color of the selection when the leaf item is selected in the treemap component.
     *
     * @default null
     */
    fill: string;
    /**
     * Sets and gets the opacity of the selection when the leaf item is selected in the treemap component.
     *
     * @default '0.5'
     */
    opacity: string;
    /**
     * Sets and gets the border of the selected items in the treemap component.
     */
    border: BorderModel;
    /**
     * Sets and gets the element in which selection must be done in the treemap component.
     *
     * @default 'Item'
     */
    mode: SelectionMode;
}
/**
 * Sets and gets the options for customizing the highlighting of the treemap item,
 * when the mouse hover is performed in it.
 */
export  class HighlightSettings extends base.ChildProperty<HighlightSettings> {
    /**
     * Enables or disables the highlight functionality of the treemap component.
     *
     * @default false
     */
    enable: boolean;
    /**
     * Sets and gets the highlight color of the treemap component.
     *
     * @default '#808080'
     */
    fill: string;
    /**
     * Sets and gets the opacity of the treemap component.
     *
     * @default '0.5'
     */
    opacity: string;
    /**
     * Sets and gets the options for customizing the color and width of the border of the
     * highlighted item in the treemap component.
     */
    border: BorderModel;
    /**
     * Sets and gets the element in which highlight must be done in the treemap component.
     *
     * @default 'Item'
     */
    mode: HighLightMode;
}
/**
 * Sets and gets the options for customizing the levels of the treemap component.
 */
export  class LevelSettings extends base.ChildProperty<LevelSettings> {
    /**
     * Sets and gets the value path from the data source in the treemap component to render the item.
     *
     * @default null
     */
    groupPath: string;
    /**
     * Sets and gets the gap between the levels in the treemap component.
     *
     * @default 0
     */
    groupGap: number;
    /**
     * Sets and gets the padding of levels in the treemap component.
     *
     * @default 10
     */
    groupPadding: number;
    /**
     * Sets and gets the options for customizing the color and width of the border of
     * the levels of the treemap component.
     */
    border: BorderModel;
    /**
     * Sets and gets the fill color of the level in the treemap component.
     *
     * @default null
     */
    fill: string;
    /**
     * Enables or disables the automatic filling of the colors in the items in the treemap component.
     *
     * @default false
     */
    autoFill: boolean;
    /**
     * Sets and gets the opacity in the treemap component.
     *
     * @default 1
     */
    opacity: number;
    /**
     * Shows or hides the header in level of the treemap component.
     *
     * @default true
     */
    showHeader: boolean;
    /**
     * Sets and gets the height of header in the treemap component.
     *
     * @default 20
     */
    headerHeight: number;
    /**
     * Sets and gets the template for header in the treemap component.
     *
     * @default null
     */
    headerTemplate: string;
    /**
     * Sets and gets the format of header of the levels in the treemap component.
     *
     * @default null
     */
    headerFormat: string;
    /**
     * Sets and gets the alignment of the header of the treemap component.
     *
     * @default 'Near'
     */
    headerAlignment: Alignment;
    /**
     * Sets and gets the options for customizing the style of header of the treemap component.
     */
    headerStyle: FontModel;
    /**
     * Sets and gets the options for customizing the template position of the treemap component.
     *
     * @default 'TopLeft'
     */
    templatePosition: LabelPosition;
    /**
     * Sets and gets the options for customizing the color-mapping in the treemap component.
     */
    colorMapping: ColorMappingModel[];
}
//node_modules/@syncfusion/ej2-treemap/src/treemap/model/constants.d.ts
/**
 * TreeMap constants doc
 */
/**
 * Triggers when the treemap is on load.
 *
 * @private
 */
export  const load: string;
/**
 * Triggers after treemap rendered.
 *
 * @private
 */
export  const loaded: string;
/**
 * Trigger before call the print method.
 *
 * @private
 */
export  const beforePrint: string;
/**
 * Trigger before each treemap item rendered.
 *
 * @private
 */
export  const itemRendering: string;
/**
 * Trigger after click on treemap item.
 *
 * @private
 */
export  const drillStart: string;
/**
 * Trigger after drill start event completed.
 *
 * @private
 */
export  const drillEnd: string;
/**
 * Trigger after select the treemap item.
 *
 * @private
 */
export  const itemSelected: string;
/**
 * Trigger after hover on the treemap item.
 *
 * @private
 */
export  const itemHighlight: string;
/**
 * Trigger after mouse hover on the treemap item.
 *
 * @private
 */
export  const tooltipRendering: string;
/**
 * Trigger after click on the treemap item.
 *
 * @private
 */
export  const itemClick: string;
/**
 * Trigger after mouse hover on the treemap item.
 *
 * @private
 */
export  const itemMove: string;
/**
 * Trigger after click on the treemap item.
 *
 * @private
 */
export  const click: string;
/**
 * Trigger after double click on the treemap item.
 *
 * @private
 */
export  const doubleClick: string;
/**
 * Trigger after right click on the treemap item.
 *
 * @private
 */
export  const rightClick: string;
/**
 * Trigger after mouse hover on the treemap item.
 *
 * @private
 */
export  const mouseMove: string;
/**
 * Trigger before each treemap item.
 *
 * @private
 */
export  const legendItemRendering: string;
/**
 * Trigger before legend items.
 *
 * @private
 */
export  const legendRendering: string;
/**
 * Trigger after resize the treemap.
 *
 * @private
 */
export  const resize: string;
/**
 * Define the font family in treemap component.
 *
 * @private
 */
export  const defaultFont: string;
//node_modules/@syncfusion/ej2-treemap/src/treemap/model/image-export.d.ts
/**
 * ImageExport module handles the export to image functionality for treemap.
 *
 * @hidden
 */
export  class ImageExport {
    /**
     * Constructor for Maps
     *
     * @param {TreeMap} control - Specifies the treemap instance
     */
    constructor(control: TreeMap);
    /**
     * This method is used to perform the export functionality for the rendered treemap.
     *
     * @param {ExportType} type - Specifies the type of the image file.
     * @param {string} fileName - Specifies the file name of the image file.
     * @param {boolean} allowDownload - Specifies whether to download the file or not.
     * @returns {Promise} - Returns the promise string.
     * @private
     */
    export(treeMap: TreeMap, type: ExportType, fileName: string, allowDownload?: boolean): Promise<string>;
    protected getModuleName(): string;
    /**
     * To destroy the ImageExport.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-treemap/src/treemap/model/interface.d.ts
/**
 * Specifies the event argument for the treemap component.
 *
 * @private
 */
export interface ITreeMapEventArgs {
    /** Defines the name of the event. */
    name: string;
    /**
     * Specifies the cancel state for the event. The default value is false.
     * If set as true, the event progress will be stopped.
     */
    cancel: boolean;
}
/**
 * Specifies the event arguments for print event in treemap.
 */
export interface IPrintEventArgs extends ITreeMapEventArgs {
    /**
     * Specifies the html content that is printed. The html content returned is usually the id string of the treemap.
     */
    htmlContent: Element;
}
/**
 * Specifies the event arguments for on load event in treemap.
 */
export interface ILoadEventArgs extends ITreeMapEventArgs {
    /** Defines the current treemap instance.
     *
     * @deprecated
     */
    treemap?: TreeMap;
}
/**
 * Specifies the event arguments for loaded event in treemap.
 */
export interface ILoadedEventArgs extends ITreeMapEventArgs {
    /** Defines the current treemap instance.
     *
     * @deprecated
     */
    treemap?: TreeMap;
    /** Defines isResized argument.
     */
    isResized: boolean;
}
/**
 * Specifies the event arguments in item rendering event in treemap.
 */
export interface IItemRenderingEventArgs extends ITreeMapEventArgs {
    /** Defines the current treemap instance
     *
     * @deprecated
     */
    treemap?: TreeMap;
    /**
     * Defines the current rendering item.
     */
    currentItem: Object;
    /**
     * Defines all the items for rendering.
     */
    RenderItems?: Object[];
    /**
     * Defines the options for the treemap item rendering.
     */
    options: Object;
    /**
     * Defines the header text of the treemap item.
     */
    text: string;
}
/**
 * Specifies the event arguments for the drill down start event of treemap.
 */
export interface IDrillStartEventArgs extends ITreeMapEventArgs {
    /** Defines the current treemap instance.
     *
     * @deprecated
     */
    treemap?: TreeMap;
    /**
     * Defines the current drill-down.
     */
    item: Object;
    /**
     * Defines the current element of drill-down.
     */
    element: Element;
    /**
     * Defines the level of the treemap item.
     */
    groupIndex: number;
    /**
     * Defines the parent name of the treemap item.
     */
    groupName: string;
    /**
     * Returns a boolean value whether it is right click or not.
     */
    rightClick: boolean;
    /**
     * Defines the child values of the item in the drill start event.
     */
    childItems: Object;
}
/**
 * Specifies the event arguments for the drill down end event of the treemap.
 */
export interface IDrillEndEventArgs extends ITreeMapEventArgs {
    /** Defines the current treemap instance.
     *
     * @deprecated
     */
    treemap?: TreeMap;
    /**
     * Defines all the items for rendering.
     */
    renderItems: Object[];
}
/**
 * Defines the event arguments for treemap item click event.
 */
export interface IItemClickEventArgs extends ITreeMapEventArgs {
    /** Defines the current treemap instance.
     *
     * @deprecated
     */
    treemap?: TreeMap;
    /**
     * Defines the current item in the click event.
     *
     * @isGenericType true
     */
    item: Object;
    /**
     * Defines the original mouse event arguments.
     */
    mouseEvent: PointerEvent;
    /**
     * Defines the level of the current treemap item.
     */
    groupIndex: number;
    /**
     * Defines the parent name of the current treemap item.
     */
    groupName: string;
    /**
     * Defines the header name of the current treemap item.
     */
    text: string;
    /**
     * Defines the template of the treemap item which is used to add it in the treemap control.
     */
    contentItemTemplate: string;
}
/**
 * Defines the event argument of the treemap item data.
 */
export interface IItemDataEventArgs {
    /**
     * Defines the name of the treemap item.
     */
    name: string;
    /**
     * Defines the level of the current treemap item.
     */
    groupIndex: number;
    /**
     * Defines the parent name of the current treemap item.
     */
    groupName: string;
    /**
     * Specifies whether the drill down is performed or not.
     */
    isDrilled: boolean;
    /**
     * Specifies whether the item is leaf item or not.
     */
    isLeafItem: boolean;
    /**
     * Defines the item area in the treemap.
     */
    itemArea: number;
    /**
     * Defines the name of the parent level of the treemap item.
     */
    levelOrderName: string;
    /**
     * Defines the options provided in the event arguments
     */
    options?: Object;
    /**
     * Specifies the rect element in the event.
     */
    rect?: Object;
}
/**
 * Specifies the event arguments available on performing mouse move on the treemap items.
 */
export interface IItemMoveEventArgs extends ITreeMapEventArgs {
    /** Defines the current treemap instance.
     *
     * @deprecated
     */
    treemap?: TreeMap;
    /**
     * Defines the current item move.
     *
     * @isGenericType true
     */
    item: Object;
    /**
     * Defines the original mouse event arguments.
     */
    mouseEvent: PointerEvent;
}
/**
 * Specifies the event arguments available on performing click event on the treemap items.
 */
export interface IClickEventArgs extends ITreeMapEventArgs {
    /** Defines the current treemap instance.
     *
     * @deprecated
     */
    treemap?: TreeMap;
    /**
     * Defines the original mouse event arguments.
     */
    mouseEvent: PointerEvent;
}
/**
 * Specifies the event arguments available on performing double click event on the treemap items.
 */
export interface IDoubleClickEventArgs extends ITreeMapEventArgs {
    /** Defines the current treemap instance.
     *
     * @deprecated
     */
    treemap?: TreeMap;
    /**
     * Defines the original mouse event arguments.
     */
    mouseEvent: PointerEvent;
}
/**
 * Specifies the event arguments available on performing right click event on the treemap items.
 */
export interface IRightClickEventArgs extends ITreeMapEventArgs {
    /** Defines the current treemap instance.
     *
     * @deprecated
     */
    treemap?: TreeMap;
    /**
     * Defines the original mouse event arguments.
     */
    mouseEvent: PointerEvent;
}
/**
 * Specifies the event arguments available on performing mouse over on the treemap items.
 */
export interface IMouseMoveEventArgs extends ITreeMapEventArgs {
    /** Defines the current treemap instance.
     *
     * @deprecated
     */
    treemap?: TreeMap;
    /**
     * Defines the original mouse event arguments.
     */
    mouseEvent: PointerEvent;
}
/**
 * Specifies the event arguments available when the item is selected in the treemap component.
 */
export interface IItemSelectedEventArgs extends ITreeMapEventArgs {
    /** Defines the current treemap instance.
     *
     * @deprecated
     */
    treemap?: TreeMap;
    /**
     * Specifies the current selected item.
     */
    items: Object[];
    /**
     * Specifies the current selected elements.
     */
    elements: Element[];
    /**
     * Defines the text used in the label contents.
     */
    text: string;
    /**
     * Defines the template of the treemap item which is used to add it in the treemap control.
     */
    contentItemTemplate: string;
}
/**
 * Specifies the event arguments available when the item is highlighted in the treemap component.
 */
export interface IItemHighlightEventArgs extends ITreeMapEventArgs {
    /**
     * Defines the current treemap instance.
     *
     * @deprecated
     */
    treemap?: TreeMap;
    /**
     * Defines the current item which is highlighted.
     */
    items: Object[];
    /**
     * Defines the current highlighted elements.
     */
    elements: Element[];
}
/**
 * Specifies the event arguments available when the tooltip is rendered in the treemap component.
 */
export interface ITreeMapTooltipRenderEventArgs extends ITreeMapEventArgs {
    /** Defines the current treemap instance.
     *
     * @deprecated
     */
    treemap?: TreeMap;
    /**
     * Defines the current treemap item in which the tooltip appears.
     */
    item: Object;
    /**
     * Defines the options for customizing the tooltip.
     */
    options: Object;
    /**
     * Defines the current tooltip element.
     */
    element?: Element;
    /**
     * Defines the original mouse event arguments.
     */
    eventArgs: PointerEvent;
}
/**
 * Specifies the event arguments available for the tooltip events in the treemap component.
 */
export interface ITreeMapTooltipArgs extends ITreeMapEventArgs {
    /**
     * Defines the location of the tooltip rendering event.
     */
    location: Object;
    /**
     * Defines the text rendered in the tooltip.
     */
    text: string[];
    /**
     * Defines the data for rendering the tooltip.
     */
    data: Object;
    /**
     * Defines the text style for customizing the tooltip text.
     */
    textStyle: FontModel;
    /**
     * Defines the template for rendering the tooltip.
     */
    template: string;
}
/**
 * Specifies the event arguments available when rendering each legend item in the treemap component.
 */
export interface ILegendItemRenderingEventArgs extends ITreeMapEventArgs {
    /**
     * Defines the current treemap instance.
     *
     * @deprecated
     */
    treemap?: TreeMap;
    /**
     * Specifies the shape color of the legend.
     */
    fill?: string;
    /**
     * Specifies the options for customizing the color and width of the shape border.
     */
    shapeBorder?: BorderModel;
    /**
     * Defines the legend shape of the treemap.
     */
    shape?: LegendShape;
    /**
     * Defines the URL of the legend if the shape is rendered as image.
     */
    imageUrl?: string;
}
/**
 * Specifies the event arguments available when rendering the legend in the treemap component.
 */
export interface ILegendRenderingEventArgs extends ITreeMapEventArgs {
    /**
     * Defines the current treemap instance.
     *
     * @deprecated
     */
    treemap?: TreeMap;
    /**
     * Specifies the position of the legend in the treemap component.
     */
    position?: LegendPosition;
    /**
     * Specifies the position of the legend in the treemap component.
     */
    _changePosition?: LegendPosition;
}
/**
 * Specifies the event arguments available for resize event of the treemap component.
 */
export interface IResizeEventArgs extends ITreeMapEventArgs {
    /** Defines the size of the treemap before resizing. */
    previousSize: Size;
    /** Defines the size of the treemap after resizing. */
    currentSize: Size;
    /** Defines the treemap instance.
     *
     * @deprecated
     */
    treemap?: TreeMap;
}
/**
 * @private
 */
export interface IFontMapping {
    size?: string;
    color?: string;
    fontWeight?: string;
    fontStyle?: string;
    fontFamily?: string;
}
/**
 * @private
 */
export interface IShapes {
    renderOption?: Object;
    functionName?: string;
}
/**
 * Defines the theme supported for treemap component.
 */
export interface IThemeStyle {
    /**
     * Defines the background color of the treemap, supporting the theme.
     */
    backgroundColor: string;
    /**
     * Defines the title text color of the treemap, supporting the theme.
     */
    titleFontColor: string;
    /**
     * Defines the subtitle text color of the treemap, supporting the theme.
     */
    subTitleFontColor: string;
    /**
     * Defines the tooltip fill color of the treemap, supporting the theme.
     */
    tooltipFillColor: string;
    /**
     * Defines the tooltip text color of the treemap supporting the theme.
     */
    tooltipFontColor: string;
    /**
     * Defines the opacity of tooltip in the treemap, supporting the theme.
     */
    tooltipFillOpacity?: number;
    /**
     * Defines the opacity of tooltip text in the treemap, supporting the theme.
     */
    tooltipTextOpacity?: number;
    /**
     * Defines the color of the legend title in the treemap, supporting the theme.
     */
    legendTitleColor: string;
    /**
     * Defines the color of the legend text in the treemap, supporting the theme.
     */
    legendTextColor: string;
    /**
     * Defines the font family of texts in the treemap, supporting the theme.
     */
    fontFamily?: string;
    /**
     * Defines the font size of the texts in the treemap, supporting the theme.
     */
    fontSize?: string;
    /**
     * Defines the font size of the texts in the subtitle of the TreeMap, supporting the theme.
     */
    subtitleFontSize?: string;
    /**
     * Defines the font size of the legend texts in the treemap, supporting the theme.
     */
    legendFontSize?: string;
    /**
     * Defines the font family of the label contents in the treemap, supporting the theme.
     */
    labelFontFamily?: string;
}
//node_modules/@syncfusion/ej2-treemap/src/treemap/model/pdf-export.d.ts
/**
 * PdfExport module1 handles the export to pdf functionality for treemap.
 *
 * @hidden
 */
export  class PdfExport {
    /**
     * Constructor for Maps
     *
     * @param {TreeMap} control - Specifies the treemap instance
     */
    constructor(control: TreeMap);
    /**
     * This method1 is used to perform the export functionality for the rendered treemap.
     *
     * @param {ExportType} type - Specifies the type of the document.
     * @param {string} fileName - Specifies the name of the document.
     * @param {pdfExport.PdfPageOrientation} orientation - Specifies the orientation of the PDF document to export the component.
     * @param {boolean} allowDownload - Specifies whether to download the document or not.
     * @returns {Promise} - Returns the string.
     * @private
     */
    export(treeMap: TreeMap, type: ExportType, fileName: string, orientation?: pdfExport.PdfPageOrientation, allowDownload?: boolean): Promise<string>;
    protected getModuleName(): string;
    /**
     * To destroy the PdfExport.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-treemap/src/treemap/model/print.d.ts
/**
 * Print module handles the print functionality for treemap.
 *
 * @hidden
 */
export  class Print {
    /**
     * Constructor for Maps
     *
     * @param {TreeMap} control - Specifies the treemap instance.
     */
    constructor(control: TreeMap);
    /**
     * This method is used to perform the print functionality in treemap.
     *
     * @param { string[] | string | Element} elements - Specifies the element.
     * @returns {void}
     * @private
     */
    print(treeMap: TreeMap, elements?: string[] | string | Element): void;
    /**
     * To get the html string of the Maps
     *
     * @param {string[] | string | Element} elements - Specifies the element
     * @returns {Element} - Returns the element
     * @private
     */
    getHTMLContent(treeMap: TreeMap, elements?: string[] | string | Element): Element;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the Print module.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-treemap/src/treemap/model/theme.d.ts
/**
 * Maps Themes doc
 */
export  namespace Theme {
    /**
     * @private
     */
    const mapsTitleFont: IFontMapping;
}
/**
 * To get the theme style based on treemap theme.
 *
 * @param {TreeMapTheme} theme Specifies the theme of the treemap control.
 * @returns {IThemeStyle} Returns the theme.
 * @private
 */
export  function getThemeStyle(theme: TreeMapTheme): IThemeStyle;
//node_modules/@syncfusion/ej2-treemap/src/treemap/treemap-model.d.ts
/**
 * Interface for a class TreeMap
 */
export interface TreeMapModel extends base.ComponentModel{
    /**
     * Enables and disables the print functionality in treemap.
     *
     * @default false
     */
    allowPrint?: boolean;
    /**
     * Enables and disables the export to image functionality in treemap.
     *
     * @default false
     */
    allowImageExport?: boolean;
    /**
     * Enables and disables the export to pdf functionality in treemap.
     *
     * @default false
     */
    allowPdfExport?: boolean;
    /**
     * Sets and gets the width of the treemap component.
     *
     * @default null
     */
    width?: string;
    /**
     * Sets and gets the height of the treemap component.
     *
     * @default null
     */
    height?: string;
    /**
     * Sets and gets the options for customizing the color and width of the treemap border.
     */
    border?: BorderModel;
    /**
     * Sets and gets the options for customizing the margin in the treemap component.
     */
    margin?: MarginModel;
    /**
     * Sets and gets the background color of the treemap.
     */
    background?: string;
    /**
     * Sets and gets the options for customizing the theme of the treemap component.
     */
    theme?: TreeMapTheme;
    /**
     * Sets and gets the options for customizing the title of the treemap component.
     */
    titleSettings?: TitleSettingsModel;
    /**
     * Specifies the rendering type of layout of the treemap component.
     */
    layoutType?: LayoutMode;
    /**
     * Sets and gets the data source for the treemap component.
     *
     * @isGenericType true
     * @isObservable true
     * @default null
     */
    dataSource?: data.DataManager | TreeMapAjax | Object[];
    /**
     * Sets and gets the query to select particular data from the shape data.
     * This property is applicable only when the data source is created by data manager.
     *
     * @default null
     */
    query?: data.Query;
    /**
     * Sets and gets the value path of the weight from the data source, based on which the map item is rendered.
     */
    weightValuePath?: string;
    /**
     * Sets and gets the value path from the data source, based on it color is filled in treemap.
     */
    rangeColorValuePath?: string;
    /**
     * Sets and gets the value path from the data source, based on it color is filled in treemap.
     */
    equalColorValuePath?: string;
    /**
     * Sets and gets the value path from the data source, based on it color is filled in treemap.
     */
    colorValuePath?: string;
    /**
     * Sets and gets the set of colors to apply in the treemap items.
     */
    palette?: string[];
    /**
     * Specifies the rendering direction of layout of the treemap items.
     *
     * @default TopLeftBottomRight
     */
    renderDirection?: RenderingMode;
    /**
     * Enables or disables the drill down functionality in treemap.
     */
    enableDrillDown?: boolean;
    /**
     * Enables or disables the connection text in the header of the treemap.
     */
    enableBreadcrumb?: boolean;
    /**
     * Specifies the connection between the two words.
     */
    breadcrumbConnector?: string;
    /**
     * Enables or disables the initial drill in the treemap.
     */
    drillDownView?: boolean;
    /**
     * Specifies the options for customizing the initial drill down in treemap.
     */
    initialDrillDown?: InitialDrillSettingsModel;
    /**
     * Sets and gets the options for customizing the leaf item of the treemap.
     */
    leafItemSettings?: LeafItemSettingsModel;
    /**
     * Sets and gets the options for customizing the levels of the treemap.
     */
    levels?: LevelSettingsModel[];
    /**
     * Sets and gets the options for customizing the highlight of the treemap item on mouse over on the treemap component.
     */
    highlightSettings?: HighlightSettingsModel;
    /**
     * Sets and gets the options for customizing the selection of the treemap item on click event on the treemap component.
     */
    selectionSettings?: SelectionSettingsModel;
    /**
     * Sets and gets the options for customizing the tooltip of the treemap.
     */
    tooltipSettings?: TooltipSettingsModel;
    /**
     * Sets and gets the options for customizing the legend of the treemap.
     */
    legendSettings?: LegendSettingsModel;
    /**
     * Enables or disables the visibility state of the separator for grouping.
     *
     * @default false
     */
    useGroupingSeparator?: boolean;
    /**
     * Sets and gets the description for treemap.
     *
     * @default null
     */
    description?: string;
    /**
     * Sets and gets the tab index value for treemap.
     *
     * @default 1
     */
    tabIndex?: number;
    /**
     * Sets and gets format for the texts in the treemap.
     *
     * @default null
     */
    format?: string;
    /**
     * Triggers when the treemap is on load.
     *
     * @event
     */
    load?: base.EmitType<ILoadEventArgs>;
    /**
     * Triggers before the prints gets started.
     *
     * @event
     */
    beforePrint?: base.EmitType<IPrintEventArgs>;
    /**
     * Triggers after treemap is rendered.
     *
     * @event
     */
    loaded?: base.EmitType<ILoadedEventArgs>;
    /**
     * Triggers before item rendering in the treemap component.
     *
     * @event
     */
    itemRendering?: base.EmitType<IItemRenderingEventArgs>;
    /**
     * Triggers on performing drill down functionality in the treemap.
     *
     * @event
     */
    drillStart?: base.EmitType<IDrillStartEventArgs>;
    /**
     * Triggers after drill down functionality gets completed in the treemap.
     *
     * @event
     */
    drillEnd?: base.EmitType<IDrillEndEventArgs>;
    /**
     * Triggers after selecting a treemap item.
     *
     * @event
     */
    itemSelected?: base.EmitType<IItemSelectedEventArgs>;
    /**
     * Triggers after highlighting on the treemap item.
     *
     * @event
     */
    itemHighlight?: base.EmitType<IItemHighlightEventArgs>;
    /**
     * Triggers on rendering of the tooltip in the treemap component.
     *
     * @event
     */
    tooltipRendering?: base.EmitType<ITreeMapTooltipRenderEventArgs>;
    /**
     * Triggers after clicking an item in the treemap.
     *
     * @event
     */
    itemClick?: base.EmitType<IItemClickEventArgs>;
    /**
     * Triggers after mouse hover on the treemap item.
     *
     * @event
     */
    itemMove?: base.EmitType<IItemMoveEventArgs>;
    /**
     * Triggers after clicking on the treemap.
     *
     * @event
     */
    click?: base.EmitType<IItemClickEventArgs>;
    /**
     * Triggers after double clicking on the treemap.
     *
     * @event
     */
    doubleClick?: base.EmitType<IDoubleClickEventArgs>;
    /**
     * Triggers after right clicking on the treemap.
     *
     * @event
     */
    rightClick?: base.EmitType<IMouseMoveEventArgs>;
    /**
     * Triggers after mouse hover on the treemap.
     *
     * @event
     */
    mouseMove?: base.EmitType<IMouseMoveEventArgs>;
    /**
     * Triggers after resizing the treemap component.
     *
     * @event
     */
    resize?: base.EmitType<IResizeEventArgs>;
    /**
     * Triggers before rendering each legend item in the treemap.
     *
     * @event
     */
    legendItemRendering?: base.EmitType<ILegendItemRenderingEventArgs>;
    /**
     * Triggers before rendering the legend items in the treemap.
     *
     * @event
     * @deprecated
     */
    legendRendering?: base.EmitType<ILegendRenderingEventArgs>;
}
/**
 * Interface for a class LevelsData
 * @private
 */
export interface LevelsDataModel {
}
//node_modules/@syncfusion/ej2-treemap/src/treemap/treemap.d.ts
/**
 * Tree Map Components
 */
/**
 * Represents the treemap component.
 * ```html
 * <div id="container"/>
 * <script>
 *   var treemap = new TreeMap();
 *   treemap.appendTo("#container");
 * </script>
 * ```
 */
export  class TreeMap extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    /**
     * Sets and gets the module that is used to add tooltip in the treemap.
     */
    treeMapTooltipModule: TreeMapTooltip;
    /**
     * Sets and gets the module that is used to add highlight functionality in the treemap.
     */
    treeMapHighlightModule: TreeMapHighlight;
    /**
     * Sets and gets the module that is used to add selection functionality in the treemap.
     */
    treeMapSelectionModule: TreeMapSelection;
    /**
     * Sets and gets the module that is used to add legend in the treemap.
     */
    treeMapLegendModule: TreeMapLegend;
    /**
     * Sets and gets the module that is used to add print functionality in the treemap.
     *
     * @private
     */
    printModule: Print;
    /**
     * Sets and gets the module that is used to add imageExport functionality in the treemap.
     *
     * @private
     */
    imageExportModule: ImageExport;
    /**
     * Sets and1 gets the module that is used to add pdf export functionality in the treemap.
     *
     * @private
     */
    pdfExportModule: PdfExport;
    /**
     * Enables and disables the print functionality in treemap.
     *
     * @default false
     */
    allowPrint: boolean;
    /**
     * Enables and1 disables the export to image functionality in treemap.
     *
     * @default false
     */
    allowImageExport: boolean;
    /**
     * Enables and1 disables the export to pdf functionality in treemap.
     *
     * @default false
     */
    allowPdfExport: boolean;
    /**
     * Sets and gets the width of the treemap component.
     *
     * @default null
     */
    width: string;
    /**
     * Sets and gets the height of the treemap component.
     *
     * @default null
     */
    height: string;
    /**
     * Sets and gets the options for customizing the color and width of the treemap border.
     */
    border: BorderModel;
    /**
     * Sets and gets the options for customizing the margin in the treemap component.
     */
    margin: MarginModel;
    /**
     * Sets and gets the background color of the treemap.
     */
    background: string;
    /**
     * Sets and gets the options for customizing the theme of the treemap component.
     */
    theme: TreeMapTheme;
    /**
     * Sets and gets the options for customizing the title of the treemap component.
     */
    titleSettings: TitleSettingsModel;
    /**
     * Specifies the rendering type of layout of the treemap component.
     */
    layoutType: LayoutMode;
    /**
     * Sets and gets the data source for the treemap component.
     *
     * @isGenericType true
     * @isObservable true
     * @default null
     */
    dataSource: data.DataManager | TreeMapAjax | Object[];
    /**
     * Sets and gets the query to select particular data from the shape data.
     * This property is applicable only when the data source is created by data manager.
     *
     * @default null
     */
    query: data.Query;
    /**
     * Sets and gets the value path of the weight from the data source, based on which the map item is rendered.
     */
    weightValuePath: string;
    /**
     * Sets and gets the value path from the data source, based on it color is filled in treemap.
     */
    rangeColorValuePath: string;
    /**
     * Sets and gets the value path from the data source, based on it color is filled in treemap.
     */
    equalColorValuePath: string;
    /**
     * Sets and gets the value path from the data source, based on it color is filled in treemap.
     */
    colorValuePath: string;
    /**
     * Sets and gets the set of colors to apply in the treemap items.
     */
    palette: string[];
    /**
     * Specifies the rendering direction of layout of the treemap items.
     *
     * @default TopLeftBottomRight
     */
    renderDirection: RenderingMode;
    /**
     * Enables or disables the drill down functionality in treemap.
     */
    enableDrillDown: boolean;
    /**
     * Enables or disables the connection text in the header of the treemap.
     */
    enableBreadcrumb: boolean;
    /**
     * Specifies the connection between the two words.
     */
    breadcrumbConnector: string;
    /**
     * Enables or disables the initial drill in the treemap.
     */
    drillDownView: boolean;
    /**
     * Specifies the options for customizing the initial drill down in treemap.
     */
    initialDrillDown: InitialDrillSettingsModel;
    /**
     * Sets and gets the options for customizing the leaf item of the treemap.
     */
    leafItemSettings: LeafItemSettingsModel;
    /**
     * Sets and gets the options for customizing the levels of the treemap.
     */
    levels: LevelSettingsModel[];
    /**
     * Sets and gets the options for customizing the highlight of the treemap item on mouse over on the treemap component.
     */
    highlightSettings: HighlightSettingsModel;
    /**
     * Sets and gets the options for customizing the selection of the treemap item on click event on the treemap component.
     */
    selectionSettings: SelectionSettingsModel;
    /**
     * Sets and gets the options for customizing the tooltip of the treemap.
     */
    tooltipSettings: TooltipSettingsModel;
    /**
     * Sets and gets the options for customizing the legend of the treemap.
     */
    legendSettings: LegendSettingsModel;
    /**
     * Enables or disables the visibility state of the separator for grouping.
     *
     * @default false
     */
    useGroupingSeparator: boolean;
    /**
     * Sets and gets the description for treemap.
     *
     * @default null
     */
    description: string;
    /**
     * Sets and gets the tab index value for treemap.
     *
     * @default 1
     */
    tabIndex: number;
    /**
     * Sets and gets format for the texts in the treemap.
     *
     * @default null
     */
    format: string;
    /**
     * Triggers when the treemap is on load.
     *
     * @event
     */
    load: base.EmitType<ILoadEventArgs>;
    /**
     * Triggers before the prints gets started.
     *
     * @event
     */
    beforePrint: base.EmitType<IPrintEventArgs>;
    /**
     * Triggers after treemap is rendered.
     *
     * @event
     */
    loaded: base.EmitType<ILoadedEventArgs>;
    /**
     * Triggers before item rendering in the treemap component.
     *
     * @event
     */
    itemRendering: base.EmitType<IItemRenderingEventArgs>;
    /**
     * Triggers on performing drill down functionality in the treemap.
     *
     * @event
     */
    drillStart: base.EmitType<IDrillStartEventArgs>;
    /**
     * Triggers after drill down functionality gets completed in the treemap.
     *
     * @event
     */
    drillEnd: base.EmitType<IDrillEndEventArgs>;
    /**
     * Triggers after selecting a treemap item.
     *
     * @event
     */
    itemSelected: base.EmitType<IItemSelectedEventArgs>;
    /**
     * Triggers after highlighting on the treemap item.
     *
     * @event
     */
    itemHighlight: base.EmitType<IItemHighlightEventArgs>;
    /**
     * Triggers on rendering of the tooltip in the treemap component.
     *
     * @event
     */
    tooltipRendering: base.EmitType<ITreeMapTooltipRenderEventArgs>;
    /**
     * Triggers after clicking an item in the treemap.
     *
     * @event
     */
    itemClick: base.EmitType<IItemClickEventArgs>;
    /**
     * Triggers after mouse hover on the treemap item.
     *
     * @event
     */
    itemMove: base.EmitType<IItemMoveEventArgs>;
    /**
     * Triggers after clicking on the treemap.
     *
     * @event
     */
    click: base.EmitType<IItemClickEventArgs>;
    /**
     * Triggers after double clicking on the treemap.
     *
     * @event
     */
    doubleClick: base.EmitType<IDoubleClickEventArgs>;
    /**
     * Triggers after right clicking on the treemap.
     *
     * @event
     */
    rightClick: base.EmitType<IMouseMoveEventArgs>;
    /**
     * Triggers after mouse hover on the treemap.
     *
     * @event
     */
    mouseMove: base.EmitType<IMouseMoveEventArgs>;
    /**
     * Triggers after resizing the treemap component.
     *
     * @event
     */
    resize: base.EmitType<IResizeEventArgs>;
    /**
     * Triggers before rendering each legend item in the treemap.
     *
     * @event
     */
    legendItemRendering: base.EmitType<ILegendItemRenderingEventArgs>;
    /**
     * Triggers before rendering the legend items in the treemap.
     *
     * @event
     * @deprecated
     */
    legendRendering: base.EmitType<ILegendRenderingEventArgs>;
    /**
     * resize the treemap
     */
    private isResize;
    /**
     * svg renderer object.
     *
     * @private
     */
    renderer: svgBase.SvgRenderer;
    /**
     * treemap svg element object
     *
     * @private
     */
    svgObject: Element;
    /**
     * Stores the exact size of treemap.
     *
     * @private
     */
    availableSize: Size;
    /**
     * Internal use of internationalization instance.
     *
     * @private
     */
    intl: base.Internationalization;
    /**
     * @private
     * Stores the area bounds.
     */
    areaRect: Rect;
    /**
     * Define the theme style for treemap components
     *
     * @private
     */
    themeStyle: IThemeStyle;
    /**
     * @private
     * Stores the legend bounds.
     */
    totalRect: Rect;
    /** @private */
    layout: LayoutPanel;
    /** @private */
    orientation: string;
    /** @private */
    drilledItems: any[];
    /** @private */
    drilledLegendItems: any;
    /** @private */
    currentLevel: number;
    /** @private */
    isHierarchicalData: boolean;
    /** @private */
    private resizeTo;
    /** @private */
    private mouseDown;
    /** @private */
    private drillMouseMove;
    /** @private */
    doubleTapTimer: any;
    /** @private */
    levelSelection: string[];
    /** @private */
    legendId: string[];
    /** @private */
    selectionId: string;
    /**s
     * Constructor for TreeMap component.
     */
    constructor(options?: TreeMapModel, element?: string | HTMLElement);
    protected preRender(): void;
    protected render(): void;
    private renderElements;
    private processDataManager;
    private renderTreeMapElements;
    protected createSvg(): void;
    /**
     * To initilize the private varibales of treemap.
     *
     * @returns {void}
     */
    private initPrivateVariable;
    private createSecondaryElement;
    private elementChange;
    /**
     * @private
     * Render the treemap border
     *
     * @returns {void}
     */
    private renderBorder;
    private renderTitle;
    protected processingData(): void;
    private checkIsHierarchicalData;
    private processHierarchicalData;
    /**
     * This method is used to perform the print functionality in treemap.
     *
     * @param id - Specifies the element to print the treemap.
     */
    print(id?: string[] | string | Element): void;
    /**
     * This method11 is used to perform the export functionality for the rendered treemap.
     *
     * @param type - Specifies the index of the axis.
     * @param fileName - Specifies file name for exporting the rendered treemap.
     * @param orientation - Specifies the orientation of the pdf document.
     */
    export(type: ExportType, fileName: string, orientation?: pdfExport.PdfPageOrientation, allowDownload?: boolean): Promise<string>;
    private processFlatJsonData;
    /**
     * This method orders the treemap level data.
     *
     * @param start - Specifies the start value of the treemap level.
     */
    reOrderLevelData(start: number): void;
    private IsChildHierarchy;
    /**
     * This method finds the weight value of the treemap level.
     *
     * @param processData - Specifies the treemap data.
     * @param type - Specifies the type of the data.
     */
    findTotalWeight(processData: any[], type: string): void;
    /**
     * To unbind event handlers for treemap.
     *
     * @returns {void}
     */
    private unWireEVents;
    /**
     * To bind event handlers for treemap.
     *
     * @returns {void}
     */
    private wireEVents;
    /**
     * Method to set culture for maps
     *
     * @returns {void}
     */
    private setCulture;
    /**
     * To add tab index for treemap element
     *
     * @returns {void}
     */
    private addTabIndex;
    /**
     * This method handles the window resize event on treemap.
     *
     * @param e - Specifies the pointer event.
     */
    resizeOnTreeMap(e: Event): void;
    /**
     * This method handles the click event on the treemap.
     *
     * @param e - Specifies the mouse click event in the treemap.
     */
    clickOnTreeMap(e: PointerEvent): void;
    /**
     * This method handles the double click event in the treemap.
     *
     * @param e - Specifies the pointer event of mouse click.
     */
    doubleClickOnTreeMap(e: PointerEvent): void;
    /**
     * This method handles the right click event in the treemap.
     *
     * @param e - Specifies the pointer event of mouse click.
     */
    rightClickOnTreeMap(e: PointerEvent): void;
    /**
     * This method handles the mouse down event in the treemap.
     *
     * @param e - Specifies the pointer event of mouse click.
     */
    mouseDownOnTreeMap(e: PointerEvent): void;
    /**
     * This method handles the mouse move event in the treemap.
     *
     * @param e - Specifies the pointer event of mouse click.
     */
    mouseMoveOnTreeMap(e: PointerEvent): void;
    /**
     * This method calculates the selected treemap levels.
     *
     * @param labelText - Specifies the label text.
     * @param item - Specifies the treemap item.
     */
    calculateSelectedTextLevels(labelText: string, item: any): any;
    /**
     * This method calculates the previous level of child items in treemap.
     *
     * @param labelText - Specifies the label text in treemap
     * @param drillLevelValues - Specifies the values of drill level.
     * @param item - Specifies the treemap item.
     * @param directLevel - Specifies the current level.
     */
    calculatePreviousLevelChildItems(labelText: string, drillLevelValues: any, item: any, directLevel: boolean): boolean;
    /**
     * This method compares the selected labels with the drill down items.
     *
     * @param drillLevelValues - Specifies the values of drill level.
     * @param item - Specifies the treemap item.
     * @param i - Specifies the treemap item.
     */
    compareSelectedLabelWithDrillDownItems(drillLevelValues: any, item: any, i: number): any;
    /**
     * This method handles mouse end event in treemap.
     *
     * @param e - Specifies the pointer event of mouse.
     */
    mouseEndOnTreeMap(e: PointerEvent): void;
    /**
     * This method handles mouse leave event in treemap.
     *
     * @param e - Specifies the pointer event of mouse.
     */
    mouseLeaveOnTreeMap(e: PointerEvent): void;
    /**
     * This method is used to select or remove the selection of treemap item based on the provided selection settings.
     */
    selectItem(levelOrder: string[], isSelected?: boolean): void;
    /**
     * To provide the array of modules needed for maps rendering
     *
     * @returns {base.ModuleDeclaration[]} Returns the modules
     * @private
     */
    requiredModules(): base.ModuleDeclaration[];
    /**
     * Called internally if any of the property value changed.
     *
     * @param {TreeMapModel} newProp - Specifies the new property
     * @param {TreeMapModel} oldProp - Specifies the old property
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: TreeMapModel, oldProp: TreeMapModel): void;
    /**
     * Gets component name.
     */
    getModuleName(): string;
    /**
     * This method is used to dispose the treemap component.
     */
    destroy(): void;
    private removeSvg;
    /**
     * Get the properties to be maintained in the persisted state.
     *
     * @returns {string} - Returns the string value.
     * @private
     */
    getPersistData(): string;
}
/**
 * @private
 */
export  class LevelsData {
    static levelsData: any[];
    static defaultLevelsData: any[];
    static hierarchyData: any[];
}
//node_modules/@syncfusion/ej2-treemap/src/treemap/user-interaction/highlight-selection.d.ts
/**
 * Performing treemap highlight
 */
export  class TreeMapHighlight {
    private treemap;
    highLightId: string;
    private target;
    shapeTarget: string;
    private shapeElement;
    shapeHighlightCollection: any[];
    legendHighlightCollection: any[];
    currentElement: any[];
    constructor(treeMap: TreeMap);
    /**
     * Mouse down event in highlight
     */
    mouseMove(e: PointerEvent): boolean;
    /**
     * To bind events for highlight
     *
     * @returns {void}
     */
    private addEventListener;
    /**
     * To unbind events for highlight
     *
     * @returns {void}
     */
    private removeEventListener;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name
     */
    protected getModuleName(): string;
    /**
     * To destroy the hightlight.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
/**
 * Performing treemap selection
 */
export  class TreeMapSelection {
    private treemap;
    legendSelectId: string;
    shapeSelectId: string;
    shapeElement: Element;
    shapeSelectionCollection: any[];
    legendSelectionCollection: any[];
    shapeSelect: boolean;
    legendSelect: boolean;
    constructor(treeMap: TreeMap);
    /**
     * Mouse down event in selection
     */
    mouseDown(e: PointerEvent): void;
    /**
     * @param {string} levelOrder - Specifies the level order of treemap item
     * @param {boolean} enable - Specifies the boolean value
     * @returns {void}
     * @private
     */
    selectTreemapItem(levelOrder: string, enable: boolean): void;
    /**
     * To bind events for selection
     *
     * @returns {void}
     */
    private addEventListener;
    /**
     * To unbind events for selection
     *
     * @returns {void}
     */
    private removeEventListener;
    /**
     * Get module name.
     *
     * @returns {string} - Returns the module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the selection.
     *
     * @param {TreeMap} treeMap - Specifies the treemap instance.
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-treemap/src/treemap/user-interaction/tooltip.d.ts
/**
 * Render Tooltip
 */
export  class TreeMapTooltip {
    private treemap;
    private tooltipSettings;
    private svgTooltip;
    private isTouch;
    private tooltipId;
    private clearTimeout;
    constructor(treeMap: TreeMap);
    renderTooltip(e: PointerEvent): void;
    private addTooltip;
    mouseUpHandler(e: PointerEvent): void;
    removeTooltip(): void;
    /**
     * To bind events for tooltip module
     */
    addEventListener(): void;
    /**
     * To unbind events for tooltip module
     */
    removeEventListener(): void;
    /**
     * Get module name.
     *
     * @returns {string} returns string
     */
    protected getModuleName(): string;
    /**
     * To destroy the tooltip.
     *
     * @returns {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-treemap/src/treemap/utils/enum.d.ts
/**
 * Defines the position of the label in treemap leaf node.
 */
export  type LabelPosition = 
/** To show the position of the label based on the top and left of the treemap leaf nodes.  */
'TopLeft' | 
/** To show the position of the label based on the top and center of the treemap leaf nodes. */
'TopCenter' | 
/** To show the position of the label based on the top and right of the treemap leaf nodes. */
'TopRight' | 
/** To show the position of the label based on the center and left of the treemap leaf nodes. */
'CenterLeft' | 
/** To show the position of the label based on the center of the treemap leaf nodes. */
'Center' | 
/** To show the position of the label based on the center and right of the treemap leaf nodes. */
'CenterRight' | 
/** To show the position of the label based on the bottom and left of the treemap leaf nodes. */
'BottomLeft' | 
/** To show the position of the label based on the bottom and center of the treemap leaf nodes. */
'BottomCenter' | 
/** To show the position of the label based on the bottom and right of the treemap leaf nodes. */
'BottomRight';
/**
 * Specifies the layout rendering mode of the treemap.
 */
export  type LayoutMode = 
/** This visualizes the treemap as the nested rectangles having size proportionate to weight value */
'Squarified' | 
/** This visualizes the treemap as the horizontal rectangles having size proportionate to weight value */
'SliceAndDiceHorizontal' | 
/** This visualizes the treemap as the vertical rectangles having size proportionate to weight value */
'SliceAndDiceVertical' | 
/** This visualizes the treemap as the auto rectangles having size proportionate to weight value */
'SliceAndDiceAuto';
/**
 * Specifies the alignment of the elements in the treemap.
 */
export  type Alignment = 
/** Defines the alignment is near the treemap with respect the element position. */
'Near' | 
/** Defines the alignment is at center of the treemap with respect the element position. */
'Center' | 
/** Defines the alignment is far from the treemap with respect the element position. */
'Far';
/**
 * Specifies the element which must be highlighted when mouse over is performed in treemap.
 */
export  type HighLightMode = 
/** Highlights the treemap item when the mouse over is done on the treemap item. */
'Item' | 
/** Highlights the treemap item and level when the mouse over is done on the treemap item. */
'Child' | 
/** Highlights the treemap item and parent level when the mouse over is done on the treemap item. */
'Parent' | 
/** Highlights all the related nodes when the mouse over is done on the treemap item. */
'All';
/**
 * Specifies the element which must be selected when click event is performed in treemap.
 */
export  type SelectionMode = 
/** Selects the treemap item when the click operation is done on the treemap item. */
'Item' | 
/** Selects the treemap item and level when the click operation is done on the treemap item. */
'Child' | 
/** Selects the treemap item and parent level when the click operation is done on the treemap item.. */
'Parent' | 
/** Selects all the related nodes when the click operation is done on the treemap item. */
'All';
/**
 * Specifies the export type for the treemap
 */
export  type ExportType = 
/** Specifies the rendered treemap to be exported in the png format. */
'PNG' | 
/** Specifies the rendered treemap to be exported in the jpeg format. */
'JPEG' | 
/** Specifies the rendered treemap to be exported in the svg format. */
'SVG' | 
/** Specifies the rendered treemap to be exported in the pdf format. */
'PDF';
/**
 * Defines the text to be placed within the defined margins.
 */
export  type LabelAlignment = 
/** Specifies that the data label will trim if exceeded the defined margins. */
'Trim' | 
/** Specifies that the data label will hide if exceeded the defined margins. */
'Hide' | 
/** Specifies the word to force all text to fit within the defined margins. */
'WrapByWord' | 
/** Specifies to wrap the data label if exceed the defined margins. */
'Wrap';
/**
 * Defines the shape of legend in the treemap component.
 */
export  type LegendShape = 
/** Defines the legend shape as circle. */
'Circle' | 
/** Defines the legend shape as rectangle. */
'Rectangle' | 
/** Defines the legend shape as triangle. */
'Triangle' | 
/** Defines the legend shape as diamond. */
'Diamond' | 
/** Defines the legend shape as cross. */
'Cross' | 
/** Defines the legend shape as star. */
'Star' | 
/** Defines the legend shape as horizontal line. */
'HorizontalLine' | 
/** Defines the legend shape as vertical line. */
'VerticalLine' | 
/** Defines the legend shape as pentagon. */
'Pentagon' | 
/** Defines the legend shape as inverted triangle. */
'InvertedTriangle' | 
/** Defines the legend shape as image. */
'Image';
/**
 * Defines the position of the legend in the treemap component.
 */
export  type LegendPosition = 
/** Specifies to place the legend at the top of the treemap. */
'Top' | 
/** Specifies to place the legend on the left of the treemap. */
'Left' | 
/** Specifies to place the legend at the bottom of the treemap. */
'Bottom' | 
/** Specifies to place the legend on the right of the treemap. */
'Right' | 
/** Specifies to place the legend based on given x and y positions. */
'Float' | 
/** Specifies to place the legend based on width and height. */
'Auto';
/**
 * Defines the legend rendering modes. The modes are default and interactive modes.
 */
export  type LegendMode = 
/** Specifies the legend as static. */
'Default' | 
/** Specifies the legend as interactive. */
'Interactive';
/**
 * Specifies the orientation of the legend in the treemap.
 */
export  type LegendOrientation = 
/** Defines the legend renders with default behavior. */
'None' | 
/** Defines the legend renders with items places horizontally. */
'Horizontal' | 
/** Defines the legend renders with items places vertically. */
'Vertical';
/**
 * Defines the label intersect action in treemap component.
 */
export  type LabelIntersectAction = 
/** Specifies that no action will be taken when the label contents intersect. */
'None' | 
/** Specifies the data label to be trimmed when it intersects. */
'Trim' | 
/** Specifies the data label to be hidden when it intersects. */
'Hide';
/**
 * Defines the placement type of the label.
 */
export  type LabelPlacement = 
/** Specifies the label placement as before. */
'Before' | 
/** Specifies the label placement as after */
'After';
/**
 * Defines the theme supported for treemap.
 */
export  type TreeMapTheme = 
/** Render a treemap with material theme. */
'Material' | 
/** Render a treemap with fabric theme. */
'Fabric' | 
/** Render a treemap with highcontrast light theme. */
'HighContrastLight' | 
/** Render a treemap with bootstrap theme. */
'Bootstrap' | 
/** Render a treemap with material dark theme. */
'MaterialDark' | 
/** Render a treemap with fabric dark theme. */
'FabricDark' | 
/** Render a treemap with highcontrast dark theme. */
'HighContrast' | 
/** Render a treemap with bootstrap dark theme. */
'BootstrapDark' | 
/** Render a treemap with bootstrap4 theme. */
'Bootstrap4' | 
/**  Render a treemap with Tailwind theme. */
'Tailwind' | 
/**  Render a treemap with TailwindDark theme. */
'TailwindDark' | 
/** Render a treemap with Bootstrap5 theme. */
'Bootstrap5' | 
/**  Render a treemap with Bootstrap5 dark theme. */
'Bootstrap5Dark' | 
/** Render a treemap with Fluent theme. */
'Fluent' | 
/**  Render a treemap with Fluent dark theme. */
'FluentDark';
/**
 * Defines the rendering directions to render the treemap items in the treemap.
 */
export  type RenderingMode = 
/** Renders the treemap items from top right to bottom left direction */
'TopRightBottomLeft' | 
/** Renders the treemap items from bottom left to top right direction */
'BottomLeftTopRight' | 
/** Renders the treemap items from bottom right to top left direction */
'BottomRightTopLeft' | 
/** Renders the treemap items from top left to bottom right direction */
'TopLeftBottomRight';
//node_modules/@syncfusion/ej2-treemap/src/treemap/utils/helper.d.ts
/**
 * Create the class for size
 */
export  class Size {
    /**
     * height of the size
     */
    height: number;
    /**
     * width of the size
     */
    width: number;
    constructor(width: number, height: number);
}
export  function stringToNumber(value: string, containerSize: number): number;
/**
 * Internal use of type rect
 *
 * @private
 */
export  class Rect {
    x: number;
    y: number;
    height: number;
    width: number;
    constructor(x: number, y: number, width: number, height: number);
}
/**
 * Internal use of rectangle options
 *
 * @private
 */
export  class RectOption {
    id: string;
    fill: string;
    x: number;
    y: number;
    height: number;
    width: number;
    opacity: number;
    stroke: string;
    ['stroke-width']: number;
    ['stroke-dasharray']: string;
    constructor(id: string, fill: string, border: BorderModel, opacity: number, rect: Rect, dashArray?: string);
}
export  class PathOption {
    id: string;
    opacity: number;
    fill: string;
    stroke: string;
    ['stroke-width']: number;
    ['stroke-dasharray']: string;
    d: string;
    constructor(id: string, fill: string, width: number, color: string, opacity?: number, dashArray?: string, d?: string);
}
/**
 * Function to measure the height and width of the text.
 *
 * @param  {string} text - Specifies the text.
 * @param  {FontModel} font - Specifies the font.
 * @param  {string} id - Specifies the id.
 * @returns {Size} - Returns the size.
 * @private
 */
export  function measureText(text: string, font: FontModel): Size;
/**
 * Internal use of text options
 *
 * @private
 */
export  class TextOption {
    anchor: string;
    id: string;
    transform: string;
    x: number;
    y: number;
    text: string | string[];
    baseLine: string;
    connectorText: string;
    constructor(id?: string, x?: number, y?: number, anchor?: string, text?: string | string[], transform?: string, baseLine?: string, connectorText?: string);
}
/**
 * Trim the title text
 *
 * @param {number} maxWidth - Specifies the maximum width
 * @param {string} text - Specifies the text
 * @param {FontModel} font - Specifies the font
 * @returns {string} - Returns the string
 * @private
 */
export  function textTrim(maxWidth: number, text: string, font: FontModel): string;
/**
 * Map internal class for Point
 */
export  class Location {
    /**
     * To calculate x value for location
     */
    x: number;
    /**
     * To calculate y value for location
     */
    y: number;
    constructor(x: number, y: number);
}
/**
 * Method to calculate x position of title
 */
export  function findPosition(location: Rect, alignment: Alignment, textSize: Size, type: string): Location;
export  function createTextStyle(renderer: svgBase.SvgRenderer, renderOptions: any, text: string): HTMLElement;
/**
 * Internal rendering of text
 *
 * @param {TextOption} options - Specifies the text option
 * @param {FontModel} font - Specifies the font model
 * @param {string} color - Specifies the color
 * @param {HTMLElement | Element} parent - Specifes the html element
 * @param {boolean} isMinus - Specifies the boolean value
 * @returns {Element} - Returns the element
 * @private
 */
export  function renderTextElement(options: TextOption, font: FontModel, color: string, parent: HTMLElement | Element, isMinus?: boolean): Element;
export  function setItemTemplateContent(targetId: string, targetElement: Element, contentItemTemplate: string): void;
export  function getElement(id: string): Element;
export  function itemsToOrder(a: any, b: any): number;
export  function isContainsData(source: string[], pathName: string, processData: any, treemap: TreeMap): boolean;
export  function findChildren(data: any): any;
export  function findHightLightItems(data: any, items: string[], mode: string, treeMap: TreeMap): string[];
/**
 * Function to compile the template function for maps.
 *
 * @param {string} template - Specifies the template
 * @returns {Function} - Returns the template function
 * @private
 */
export  function getTemplateFunction(template: string): any;
/**
 * @private
 * @param {HTMLCollection} element - Specifies the element
 * @param {string} labelId - Specifies the label id
 * @param {Object} data - Specifies the data
 * @returns {HTMLElement} - Returns the element
 */
export  function convertElement(element: HTMLCollection, labelId: string, data: any): HTMLElement;
export  function findLabelLocation(rect: Rect, position: LabelPosition, labelSize: Size, type: string, treemap: TreeMap): Location;
export  function measureElement(element: HTMLElement, parentElement: HTMLElement): Size;
export  function getArea(rect: Rect): number;
export  function getShortestEdge(input: Rect): number;
export  function convertToContainer(rect: Rect): Rect;
export  function convertToRect(container: Rect): Rect;
export  function getMousePosition(pageX: number, pageY: number, element: Element): Location;
export  function colorMap(colorMapping: ColorMappingModel[], equalValue: string, value: number | string, weightValuePath: number): any;
export  function deSaturationColor(weightValuePath: number, colorMapping: ColorMappingModel, color: string, rangeValue: number): string;
export  function colorCollections(colorMap: ColorMappingModel, value: number): string;
export  function rgbToHex(r: number, g: number, b: number): string;
export  function getColorByValue(colorMap: ColorMappingModel, value: number): string;
export  function getGradientColor(value: number, colorMap: ColorMappingModel): ColorValue;
export  function getPercentageColor(percent: number, previous: string, next: string): ColorValue;
export  function getPercentage(percent: number, previous: number, next: number): number;
export  function wordWrap(maximumWidth: number, dataLabel: string, font: FontModel): string[];
export  function textWrap(maxWidth: number, label: string, font: FontModel): string[];
/**
 * hide function
 *
 * @param {number} maxWidth - Specifies the maximum width
 * @param {number} maxHeight - Specifies the maximum height
 * @param {string} text - Specifies the text
 * @param {FontModel} font - Specifies the font
 * @returns {string} - Returns the hideText
 */
export  function hide(maxWidth: number, maxHeight: number, text: string, font: FontModel): string;
export  function orderByArea(a: number, b: number): number;
export  function maintainSelection(treemap: TreeMap, element: Element, className: string): void;
export  function legendMaintain(treemap: TreeMap, legendGroup: Element): void;
export  function removeClassNames(elements: HTMLCollection, type: string, treemap: TreeMap): void;
export  function applyOptions(element: SVGPathElement, options: any): void;
export  function textFormatter(format: string, data: any, treemap: TreeMap): string;
export  function formatValue(value: number, treemap: TreeMap): string | number;
/**
 * @private
 */
export  class ColorValue {
    r: number;
    g: number;
    b: number;
    constructor(r?: number, g?: number, b?: number);
}
/**
 * @param {ColorValue} value - Specfies the color value
 * @returns {string} - Returns the string
 * @private
 */
export  function convertToHexCode(value: ColorValue): string;
/**
 * @param {number} value - Specifes the value
 * @returns {string} - Returns the string
 * @private */
export  function componentToHex(value: number): string;
/**
 * @param {string} hex - Specifies the hex value
 * @returns {ColorValue} - Returns the color value
 * @private
 */
export  function convertHexToColor(hex: string): ColorValue;
/**
 * @param {string} color - Specifies the color
 * @returns {string} - Returns the string
 * @private
 */
export  function colorNameToHex(color: string): string;
/**
 * @param {Location} location - Specifies the location
 * @param {string} shape - Specifies the shape
 * @param {Size} size - Specifies the size
 * @param {string} url - Specifies the url
 * @param {PathOption} options - Specifies the options
 * @param {string} label - Specifies the label
 * @returns {Element} - Returns the element
 * @private
 */
export  function drawSymbol(location: Location, shape: string, size: Size, url: string, options: PathOption, label: string): Element;
/**
 * @param {Location} location - Specifies the location
 * @param {Size} size - Specifies the size
 * @param {string} shape - Specifies the shape
 * @param {PathOption} options - Specifies the path option
 * @param {string} url - Specifies the string
 * @returns {IShapes} - Returns the shapes
 * @private
 */
export  function renderLegendShape(location: Location, size: Size, shape: string, options: PathOption, url: string): IShapes;
export  function isParentItem(data: any[], item: any): boolean;
/**
 * Ajax support for treemap
 */
export  class TreeMapAjax {
    /** options for data */
    dataOptions: string | any;
    /** type of data */
    type: string;
    /** async value */
    async: boolean;
    /** type of the content */
    contentType: string;
    /** sending data */
    sendData: string | any;
    constructor(options: string | any, type?: string, async?: boolean, contentType?: string, sendData?: string | any);
}
export  function removeShape(collection: any[], value: string): void;
export  function removeLegend(collection: any[], value: string): void;
export  function setColor(element: Element, fill: string, opacity: string, borderColor: string, borderWidth: string): void;
export  function removeSelectionWithHighlight(collection: any[], element: any[], treemap: TreeMap): void;
export  function getLegendIndex(length: number, item: any, treemap: TreeMap): number;
export  function pushCollection(collection: any[], index: number, number: number, legendElement: Element, shapeElement: Element, renderItems: any[], legendCollection: any[]): void;
/**
 * To trigger the download element
 *
 * @param {string} fileName - Specifies the file name
 * @param {ExportType} type - Specifies the type
 * @param {string} url - Specifies the url
 * @param {boolean} isDownload - Specifies the boolean value
 * @returns {void}
 */
export  function triggerDownload(fileName: string, type: ExportType, url: string, isDownload: boolean): void;
export  function removeElement(id: string): void;
 }
}